From 82ed6df5e6098a5cd472c1c76d3b5c439af50b95 Mon Sep 17 00:00:00 2001 From: "Alice (VasinaEY)" Date: Sun, 1 Jun 2025 18:04:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8=20laba34?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + curl/BUILD-HASHES.txt | 120 + curl/BUILD-MANIFEST.txt | 13 + curl/BUILD-README.url | 2 + curl/COPYING.txt | 22 + curl/README.txt | 55 + curl/RELEASE-NOTES.txt | 520 + curl/bin/curl-ca-bundle.crt | 3480 ++++++ curl/bin/curl.exe | Bin 0 -> 3571304 bytes curl/bin/libcurl.def | 97 + curl/bin/libcurl.dll | Bin 0 -> 3135592 bytes curl/dep/brotli/LICENSE.txt | 19 + curl/dep/brotli/README.md | 95 + curl/dep/cacert/LICENSE.url | 2 + curl/dep/libpsl/AUTHORS.txt | 24 + curl/dep/libpsl/COPYING.txt | 19 + curl/dep/libpsl/NEWS.txt | 237 + curl/dep/libressl/COPYING.txt | 133 + curl/dep/libressl/ChangeLog.txt | 3239 +++++ curl/dep/libressl/README.md | 238 + curl/dep/libssh2/COPYING.txt | 43 + curl/dep/libssh2/NEWS.txt | 10896 +++++++++++++++++ curl/dep/libssh2/README.txt | 19 + curl/dep/libssh2/RELEASE-NOTES.txt | 325 + curl/dep/libssh2/docs/AUTHORS.txt | 80 + curl/dep/libssh2/docs/HACKING-CRYPTO.txt | 989 ++ curl/dep/libssh2/docs/INSTALL_AUTOTOOLS.txt | 316 + curl/dep/libssh2/docs/TODO.txt | 180 + curl/dep/nghttp2/AUTHORS.txt | 168 + curl/dep/nghttp2/COPYING.txt | 23 + curl/dep/nghttp2/ChangeLog.txt | 927 ++ curl/dep/nghttp2/README.rst | 1466 +++ curl/dep/nghttp3/AUTHORS.txt | 29 + curl/dep/nghttp3/COPYING.txt | 22 + curl/dep/nghttp3/ChangeLog.txt | 15 + curl/dep/nghttp3/README.rst | 73 + curl/dep/ngtcp2/AUTHORS.txt | 67 + curl/dep/ngtcp2/COPYING.txt | 22 + curl/dep/ngtcp2/ChangeLog.txt | 620 + curl/dep/ngtcp2/README.rst | 379 + curl/dep/zlibng/LICENSE.md | 19 + curl/dep/zlibng/README.md | 228 + curl/dep/zstd/CHANGELOG.txt | 863 ++ curl/dep/zstd/LICENSE.txt | 30 + curl/dep/zstd/README.md | 237 + curl/docs/ALTSVC.md | 43 + curl/docs/BINDINGS.md | 148 + curl/docs/BUG-BOUNTY.md | 94 + curl/docs/BUGS.md | 270 + curl/docs/CIPHERS-TLS12.md | 336 + curl/docs/CIPHERS.md | 273 + curl/docs/CODE_OF_CONDUCT.md | 38 + curl/docs/CODE_REVIEW.md | 174 + curl/docs/CONTRIBUTE.md | 367 + curl/docs/CURL-DISABLE.md | 191 + curl/docs/CURLDOWN.md | 168 + curl/docs/DEPRECATE.md | 77 + curl/docs/DISTROS.md | 287 + curl/docs/EARLY-RELEASE.md | 73 + curl/docs/ECH.md | 496 + curl/docs/EXPERIMENTAL.md | 90 + curl/docs/FAQ.txt | 1560 +++ curl/docs/FEATURES.md | 249 + curl/docs/GOVERNANCE.md | 202 + curl/docs/HELP-US.md | 94 + curl/docs/HISTORY.md | 486 + curl/docs/HSTS.md | 48 + curl/docs/HTTP-COOKIES.md | 171 + curl/docs/HTTP3.md | 481 + curl/docs/HTTPSRR.md | 100 + curl/docs/INFRASTRUCTURE.md | 209 + curl/docs/INSTALL-CMAKE.md | 605 + curl/docs/INSTALL.md | 665 + curl/docs/INSTALL.txt | 9 + curl/docs/INTERNALS.md | 63 + curl/docs/IPFS.md | 133 + curl/docs/KNOWN_BUGS.txt | 661 + curl/docs/MAIL-ETIQUETTE.md | 258 + curl/docs/MANUAL.md | 1008 ++ curl/docs/README.md | 18 + curl/docs/RELEASE-PROCEDURE.md | 145 + curl/docs/RELEASE-TOOLS.md | 28 + curl/docs/ROADMAP.md | 17 + curl/docs/RUSTLS.md | 85 + curl/docs/SECURITY-ADVISORY.md | 135 + curl/docs/SPONSORS.md | 55 + curl/docs/SSL-PROBLEMS.md | 97 + curl/docs/SSLCERTS.md | 124 + curl/docs/THANKS.txt | 3433 ++++++ curl/docs/TODO.txt | 1375 +++ curl/docs/TheArtOfHttpScripting.md | 712 ++ curl/docs/URL-SYNTAX.md | 396 + curl/docs/VERSIONS.md | 338 + curl/docs/VULN-DISCLOSURE-POLICY.md | 349 + curl/docs/curl-config.md | 124 + curl/docs/examples/10-at-a-time.c | 153 + curl/docs/examples/address-scope.c | 62 + curl/docs/examples/altsvc.c | 58 + curl/docs/examples/anyauthput.c | 164 + curl/docs/examples/block_ip.c | 356 + curl/docs/examples/certinfo.c | 87 + curl/docs/examples/chkspeed.c | 224 + curl/docs/examples/connect-to.c | 70 + curl/docs/examples/cookie_interface.c | 139 + curl/docs/examples/debug.c | 155 + curl/docs/examples/default-scheme.c | 57 + curl/docs/examples/externalsocket.c | 182 + curl/docs/examples/fileupload.c | 103 + curl/docs/examples/ftp-wildcard.c | 153 + curl/docs/examples/ftpget.c | 94 + curl/docs/examples/ftpgetinfo.c | 93 + curl/docs/examples/ftpgetresp.c | 85 + curl/docs/examples/ftpsget.c | 101 + curl/docs/examples/ftpupload.c | 150 + curl/docs/examples/ftpuploadfrommem.c | 126 + curl/docs/examples/ftpuploadresume.c | 167 + curl/docs/examples/getinfo.c | 54 + curl/docs/examples/getinmemory.c | 118 + curl/docs/examples/getredirect.c | 72 + curl/docs/examples/getreferrer.c | 59 + curl/docs/examples/headerapi.c | 81 + curl/docs/examples/hsts-preload.c | 118 + curl/docs/examples/http-options.c | 59 + curl/docs/examples/http-post.c | 61 + curl/docs/examples/http2-download.c | 236 + curl/docs/examples/http2-pushinmemory.c | 186 + curl/docs/examples/http2-serverpush.c | 273 + curl/docs/examples/http2-upload.c | 342 + curl/docs/examples/http3-present.c | 49 + curl/docs/examples/http3.c | 55 + curl/docs/examples/httpcustomheader.c | 72 + curl/docs/examples/httpput-postfields.c | 104 + curl/docs/examples/httpput.c | 130 + curl/docs/examples/https.c | 83 + curl/docs/examples/imap-append.c | 130 + curl/docs/examples/imap-authzid.c | 73 + curl/docs/examples/imap-copy.c | 73 + curl/docs/examples/imap-create.c | 69 + curl/docs/examples/imap-delete.c | 69 + curl/docs/examples/imap-examine.c | 69 + curl/docs/examples/imap-fetch.c | 67 + curl/docs/examples/imap-list.c | 68 + curl/docs/examples/imap-lsub.c | 70 + curl/docs/examples/imap-multi.c | 83 + curl/docs/examples/imap-noop.c | 69 + curl/docs/examples/imap-search.c | 73 + curl/docs/examples/imap-ssl.c | 94 + curl/docs/examples/imap-store.c | 84 + curl/docs/examples/imap-tls.c | 94 + curl/docs/examples/interface.c | 52 + curl/docs/examples/ipv6.c | 48 + curl/docs/examples/keepalive.c | 58 + curl/docs/examples/localport.c | 53 + curl/docs/examples/maxconnects.c | 66 + curl/docs/examples/multi-app.c | 115 + curl/docs/examples/multi-debugcallback.c | 161 + curl/docs/examples/multi-double.c | 93 + curl/docs/examples/multi-formadd.c | 120 + curl/docs/examples/multi-legacy.c | 191 + curl/docs/examples/multi-post.c | 104 + curl/docs/examples/multi-single.c | 80 + curl/docs/examples/netrc.c | 49 + curl/docs/examples/parseurl.c | 80 + curl/docs/examples/persistent.c | 70 + curl/docs/examples/pop3-authzid.c | 72 + curl/docs/examples/pop3-dele.c | 72 + curl/docs/examples/pop3-list.c | 66 + curl/docs/examples/pop3-multi.c | 84 + curl/docs/examples/pop3-noop.c | 72 + curl/docs/examples/pop3-retr.c | 66 + curl/docs/examples/pop3-ssl.c | 93 + curl/docs/examples/pop3-stat.c | 72 + curl/docs/examples/pop3-tls.c | 93 + curl/docs/examples/pop3-top.c | 69 + curl/docs/examples/pop3-uidl.c | 69 + curl/docs/examples/post-callback.c | 156 + curl/docs/examples/postinmemory.c | 113 + curl/docs/examples/postit2-formadd.c | 119 + curl/docs/examples/postit2.c | 104 + curl/docs/examples/progressfunc.c | 97 + curl/docs/examples/protofeats.c | 52 + curl/docs/examples/range.c | 45 + curl/docs/examples/resolve.c | 58 + curl/docs/examples/rtsp-options.c | 55 + curl/docs/examples/sendrecv.c | 179 + curl/docs/examples/sepheaders.c | 95 + curl/docs/examples/sftpget.c | 112 + curl/docs/examples/sftpuploadresume.c | 139 + curl/docs/examples/shared-connection-cache.c | 87 + curl/docs/examples/simple.c | 53 + curl/docs/examples/simplepost.c | 58 + curl/docs/examples/simplessl.c | 154 + curl/docs/examples/smtp-authzid.c | 162 + curl/docs/examples/smtp-expn.c | 81 + curl/docs/examples/smtp-mail.c | 150 + curl/docs/examples/smtp-mime.c | 168 + curl/docs/examples/smtp-multi.c | 153 + curl/docs/examples/smtp-ssl.c | 170 + curl/docs/examples/smtp-tls.c | 173 + curl/docs/examples/smtp-vrfy.c | 81 + curl/docs/examples/sslbackend.c | 79 + curl/docs/examples/unixsocket.c | 67 + curl/docs/examples/url2file.c | 87 + curl/docs/examples/urlapi.c | 77 + curl/docs/examples/websocket-cb.c | 68 + curl/docs/examples/websocket.c | 135 + curl/docs/libcurl/symbols-in-versions.txt | 1171 ++ curl/docs/mk-ca-bundle.md | 127 + curl/docs/options-in-versions.txt | 281 + curl/docs/wcurl.md | 145 + curl/include/brotli/decode.h | 409 + curl/include/brotli/encode.h | 501 + curl/include/brotli/port.h | 305 + curl/include/brotli/shared_dictionary.h | 100 + curl/include/brotli/types.h | 83 + curl/include/curl/curl.h | 3348 +++++ curl/include/curl/curlver.h | 79 + curl/include/curl/easy.h | 125 + curl/include/curl/header.h | 74 + curl/include/curl/mprintf.h | 85 + curl/include/curl/multi.h | 481 + curl/include/curl/options.h | 70 + curl/include/curl/stdcheaders.h | 35 + curl/include/curl/system.h | 450 + curl/include/curl/typecheck-gcc.h | 867 ++ curl/include/curl/urlapi.h | 155 + curl/include/curl/websockets.h | 85 + curl/include/libpsl.h | 210 + curl/include/libssh2.h | 1516 +++ curl/include/libssh2_publickey.h | 128 + curl/include/libssh2_sftp.h | 382 + curl/include/nghttp2/nghttp2.h | 6838 +++++++++++ curl/include/nghttp2/nghttp2ver.h | 42 + curl/include/nghttp3/nghttp3.h | 2939 +++++ curl/include/nghttp3/version.h | 46 + curl/include/ngtcp2/ngtcp2.h | 5969 +++++++++ curl/include/ngtcp2/ngtcp2_crypto.h | 963 ++ curl/include/ngtcp2/ngtcp2_crypto_quictls.h | 147 + curl/include/ngtcp2/version.h | 51 + curl/include/openssl/aes.h | 120 + curl/include/openssl/asn1.h | 1124 ++ curl/include/openssl/asn1t.h | 904 ++ curl/include/openssl/bio.h | 717 ++ curl/include/openssl/blowfish.h | 106 + curl/include/openssl/bn.h | 520 + curl/include/openssl/buffer.h | 102 + curl/include/openssl/camellia.h | 121 + curl/include/openssl/cast.h | 99 + curl/include/openssl/chacha.h | 54 + curl/include/openssl/cmac.h | 81 + curl/include/openssl/cms.h | 534 + curl/include/openssl/comp.h | 7 + curl/include/openssl/conf.h | 189 + curl/include/openssl/crypto.h | 458 + curl/include/openssl/ct.h | 567 + curl/include/openssl/curve25519.h | 104 + curl/include/openssl/des.h | 206 + curl/include/openssl/dh.h | 245 + curl/include/openssl/dsa.h | 263 + curl/include/openssl/dtls1.h | 107 + curl/include/openssl/ec.h | 675 + curl/include/openssl/ecdh.h | 6 + curl/include/openssl/ecdsa.h | 6 + curl/include/openssl/engine.h | 215 + curl/include/openssl/err.h | 396 + curl/include/openssl/evp.h | 1292 ++ curl/include/openssl/hkdf.h | 65 + curl/include/openssl/hmac.h | 101 + curl/include/openssl/idea.h | 94 + curl/include/openssl/kdf.h | 137 + curl/include/openssl/lhash.h | 179 + curl/include/openssl/md4.h | 105 + curl/include/openssl/md5.h | 99 + curl/include/openssl/modes.h | 118 + curl/include/openssl/obj_mac.h | 4643 +++++++ curl/include/openssl/objects.h | 137 + curl/include/openssl/ocsp.h | 484 + curl/include/openssl/opensslconf.h | 154 + curl/include/openssl/opensslfeatures.h | 153 + curl/include/openssl/opensslv.h | 18 + curl/include/openssl/ossl_typ.h | 196 + curl/include/openssl/pem.h | 546 + curl/include/openssl/pkcs12.h | 284 + curl/include/openssl/pkcs7.h | 522 + curl/include/openssl/poly1305.h | 45 + curl/include/openssl/posix_time.h | 54 + curl/include/openssl/rand.h | 118 + curl/include/openssl/rc2.h | 96 + curl/include/openssl/rc4.h | 83 + curl/include/openssl/ripemd.h | 107 + curl/include/openssl/rsa.h | 603 + curl/include/openssl/safestack.h | 1739 +++ curl/include/openssl/sha.h | 190 + curl/include/openssl/sm3.h | 49 + curl/include/openssl/sm4.h | 47 + curl/include/openssl/srtp.h | 148 + curl/include/openssl/ssl.h | 2343 ++++ curl/include/openssl/ssl3.h | 441 + curl/include/openssl/stack.h | 99 + curl/include/openssl/tls1.h | 764 ++ curl/include/openssl/ts.h | 660 + curl/include/openssl/txt_db.h | 112 + curl/include/openssl/ui.h | 397 + curl/include/openssl/x509.h | 1053 ++ curl/include/openssl/x509_vfy.h | 463 + curl/include/openssl/x509v3.h | 1041 ++ curl/include/zconf.h | 206 + curl/include/zdict.h | 481 + curl/include/zlib.h | 1859 +++ curl/include/zlib_name_mangling.h | 8 + curl/include/zstd.h | 3198 +++++ curl/include/zstd_errors.h | 107 + curl/lib/libbrotlicommon.a | Bin 0 -> 134428 bytes curl/lib/libbrotlidec.a | Bin 0 -> 57034 bytes curl/lib/libcrypto.a | Bin 0 -> 3341988 bytes curl/lib/libcurl.a | Bin 0 -> 1866372 bytes curl/lib/libcurl.dll.a | Bin 0 -> 21434 bytes curl/lib/libnghttp2.a | Bin 0 -> 310750 bytes curl/lib/libnghttp3.a | Bin 0 -> 273718 bytes curl/lib/libngtcp2.a | Bin 0 -> 533382 bytes curl/lib/libngtcp2_crypto_quictls.a | Bin 0 -> 45592 bytes curl/lib/libpsl.a | Bin 0 -> 70452 bytes curl/lib/libssh2.a | Bin 0 -> 453834 bytes curl/lib/libssl.a | Bin 0 -> 703884 bytes curl/lib/libz.a | Bin 0 -> 232170 bytes curl/lib/libzstd.a | Bin 0 -> 880584 bytes curl/mk-ca-bundle.pl | 667 + histogram.cpp | 8 +- histogram_internal.h | 2 +- laba01.cbp | 2 + unittest.cpp | 8 +- unittest/.gitignore | 4 + unittest/bin/Debug/unittest.exe | Bin 1775519 -> 4769377 bytes unittest/obj/Debug/histogram.o | Bin 115172 -> 163509 bytes unittest/obj/Debug/svg.o | Bin 77634 -> 117193 bytes unittest/obj/Debug/unittest.o | Bin 2074048 -> 2971754 bytes unittest/unittest.cbp | 6 +- unittest/unittest.depend | 91 +- unittest/unittest.layout | 23 +- 339 files changed, 118277 insertions(+), 26 deletions(-) create mode 100644 curl/BUILD-HASHES.txt create mode 100644 curl/BUILD-MANIFEST.txt create mode 100644 curl/BUILD-README.url create mode 100644 curl/COPYING.txt create mode 100644 curl/README.txt create mode 100644 curl/RELEASE-NOTES.txt create mode 100644 curl/bin/curl-ca-bundle.crt create mode 100644 curl/bin/curl.exe create mode 100644 curl/bin/libcurl.def create mode 100644 curl/bin/libcurl.dll create mode 100644 curl/dep/brotli/LICENSE.txt create mode 100644 curl/dep/brotli/README.md create mode 100644 curl/dep/cacert/LICENSE.url create mode 100644 curl/dep/libpsl/AUTHORS.txt create mode 100644 curl/dep/libpsl/COPYING.txt create mode 100644 curl/dep/libpsl/NEWS.txt create mode 100644 curl/dep/libressl/COPYING.txt create mode 100644 curl/dep/libressl/ChangeLog.txt create mode 100644 curl/dep/libressl/README.md create mode 100644 curl/dep/libssh2/COPYING.txt create mode 100644 curl/dep/libssh2/NEWS.txt create mode 100644 curl/dep/libssh2/README.txt create mode 100644 curl/dep/libssh2/RELEASE-NOTES.txt create mode 100644 curl/dep/libssh2/docs/AUTHORS.txt create mode 100644 curl/dep/libssh2/docs/HACKING-CRYPTO.txt create mode 100644 curl/dep/libssh2/docs/INSTALL_AUTOTOOLS.txt create mode 100644 curl/dep/libssh2/docs/TODO.txt create mode 100644 curl/dep/nghttp2/AUTHORS.txt create mode 100644 curl/dep/nghttp2/COPYING.txt create mode 100644 curl/dep/nghttp2/ChangeLog.txt create mode 100644 curl/dep/nghttp2/README.rst create mode 100644 curl/dep/nghttp3/AUTHORS.txt create mode 100644 curl/dep/nghttp3/COPYING.txt create mode 100644 curl/dep/nghttp3/ChangeLog.txt create mode 100644 curl/dep/nghttp3/README.rst create mode 100644 curl/dep/ngtcp2/AUTHORS.txt create mode 100644 curl/dep/ngtcp2/COPYING.txt create mode 100644 curl/dep/ngtcp2/ChangeLog.txt create mode 100644 curl/dep/ngtcp2/README.rst create mode 100644 curl/dep/zlibng/LICENSE.md create mode 100644 curl/dep/zlibng/README.md create mode 100644 curl/dep/zstd/CHANGELOG.txt create mode 100644 curl/dep/zstd/LICENSE.txt create mode 100644 curl/dep/zstd/README.md create mode 100644 curl/docs/ALTSVC.md create mode 100644 curl/docs/BINDINGS.md create mode 100644 curl/docs/BUG-BOUNTY.md create mode 100644 curl/docs/BUGS.md create mode 100644 curl/docs/CIPHERS-TLS12.md create mode 100644 curl/docs/CIPHERS.md create mode 100644 curl/docs/CODE_OF_CONDUCT.md create mode 100644 curl/docs/CODE_REVIEW.md create mode 100644 curl/docs/CONTRIBUTE.md create mode 100644 curl/docs/CURL-DISABLE.md create mode 100644 curl/docs/CURLDOWN.md create mode 100644 curl/docs/DEPRECATE.md create mode 100644 curl/docs/DISTROS.md create mode 100644 curl/docs/EARLY-RELEASE.md create mode 100644 curl/docs/ECH.md create mode 100644 curl/docs/EXPERIMENTAL.md create mode 100644 curl/docs/FAQ.txt create mode 100644 curl/docs/FEATURES.md create mode 100644 curl/docs/GOVERNANCE.md create mode 100644 curl/docs/HELP-US.md create mode 100644 curl/docs/HISTORY.md create mode 100644 curl/docs/HSTS.md create mode 100644 curl/docs/HTTP-COOKIES.md create mode 100644 curl/docs/HTTP3.md create mode 100644 curl/docs/HTTPSRR.md create mode 100644 curl/docs/INFRASTRUCTURE.md create mode 100644 curl/docs/INSTALL-CMAKE.md create mode 100644 curl/docs/INSTALL.md create mode 100644 curl/docs/INSTALL.txt create mode 100644 curl/docs/INTERNALS.md create mode 100644 curl/docs/IPFS.md create mode 100644 curl/docs/KNOWN_BUGS.txt create mode 100644 curl/docs/MAIL-ETIQUETTE.md create mode 100644 curl/docs/MANUAL.md create mode 100644 curl/docs/README.md create mode 100644 curl/docs/RELEASE-PROCEDURE.md create mode 100644 curl/docs/RELEASE-TOOLS.md create mode 100644 curl/docs/ROADMAP.md create mode 100644 curl/docs/RUSTLS.md create mode 100644 curl/docs/SECURITY-ADVISORY.md create mode 100644 curl/docs/SPONSORS.md create mode 100644 curl/docs/SSL-PROBLEMS.md create mode 100644 curl/docs/SSLCERTS.md create mode 100644 curl/docs/THANKS.txt create mode 100644 curl/docs/TODO.txt create mode 100644 curl/docs/TheArtOfHttpScripting.md create mode 100644 curl/docs/URL-SYNTAX.md create mode 100644 curl/docs/VERSIONS.md create mode 100644 curl/docs/VULN-DISCLOSURE-POLICY.md create mode 100644 curl/docs/curl-config.md create mode 100644 curl/docs/examples/10-at-a-time.c create mode 100644 curl/docs/examples/address-scope.c create mode 100644 curl/docs/examples/altsvc.c create mode 100644 curl/docs/examples/anyauthput.c create mode 100644 curl/docs/examples/block_ip.c create mode 100644 curl/docs/examples/certinfo.c create mode 100644 curl/docs/examples/chkspeed.c create mode 100644 curl/docs/examples/connect-to.c create mode 100644 curl/docs/examples/cookie_interface.c create mode 100644 curl/docs/examples/debug.c create mode 100644 curl/docs/examples/default-scheme.c create mode 100644 curl/docs/examples/externalsocket.c create mode 100644 curl/docs/examples/fileupload.c create mode 100644 curl/docs/examples/ftp-wildcard.c create mode 100644 curl/docs/examples/ftpget.c create mode 100644 curl/docs/examples/ftpgetinfo.c create mode 100644 curl/docs/examples/ftpgetresp.c create mode 100644 curl/docs/examples/ftpsget.c create mode 100644 curl/docs/examples/ftpupload.c create mode 100644 curl/docs/examples/ftpuploadfrommem.c create mode 100644 curl/docs/examples/ftpuploadresume.c create mode 100644 curl/docs/examples/getinfo.c create mode 100644 curl/docs/examples/getinmemory.c create mode 100644 curl/docs/examples/getredirect.c create mode 100644 curl/docs/examples/getreferrer.c create mode 100644 curl/docs/examples/headerapi.c create mode 100644 curl/docs/examples/hsts-preload.c create mode 100644 curl/docs/examples/http-options.c create mode 100644 curl/docs/examples/http-post.c create mode 100644 curl/docs/examples/http2-download.c create mode 100644 curl/docs/examples/http2-pushinmemory.c create mode 100644 curl/docs/examples/http2-serverpush.c create mode 100644 curl/docs/examples/http2-upload.c create mode 100644 curl/docs/examples/http3-present.c create mode 100644 curl/docs/examples/http3.c create mode 100644 curl/docs/examples/httpcustomheader.c create mode 100644 curl/docs/examples/httpput-postfields.c create mode 100644 curl/docs/examples/httpput.c create mode 100644 curl/docs/examples/https.c create mode 100644 curl/docs/examples/imap-append.c create mode 100644 curl/docs/examples/imap-authzid.c create mode 100644 curl/docs/examples/imap-copy.c create mode 100644 curl/docs/examples/imap-create.c create mode 100644 curl/docs/examples/imap-delete.c create mode 100644 curl/docs/examples/imap-examine.c create mode 100644 curl/docs/examples/imap-fetch.c create mode 100644 curl/docs/examples/imap-list.c create mode 100644 curl/docs/examples/imap-lsub.c create mode 100644 curl/docs/examples/imap-multi.c create mode 100644 curl/docs/examples/imap-noop.c create mode 100644 curl/docs/examples/imap-search.c create mode 100644 curl/docs/examples/imap-ssl.c create mode 100644 curl/docs/examples/imap-store.c create mode 100644 curl/docs/examples/imap-tls.c create mode 100644 curl/docs/examples/interface.c create mode 100644 curl/docs/examples/ipv6.c create mode 100644 curl/docs/examples/keepalive.c create mode 100644 curl/docs/examples/localport.c create mode 100644 curl/docs/examples/maxconnects.c create mode 100644 curl/docs/examples/multi-app.c create mode 100644 curl/docs/examples/multi-debugcallback.c create mode 100644 curl/docs/examples/multi-double.c create mode 100644 curl/docs/examples/multi-formadd.c create mode 100644 curl/docs/examples/multi-legacy.c create mode 100644 curl/docs/examples/multi-post.c create mode 100644 curl/docs/examples/multi-single.c create mode 100644 curl/docs/examples/netrc.c create mode 100644 curl/docs/examples/parseurl.c create mode 100644 curl/docs/examples/persistent.c create mode 100644 curl/docs/examples/pop3-authzid.c create mode 100644 curl/docs/examples/pop3-dele.c create mode 100644 curl/docs/examples/pop3-list.c create mode 100644 curl/docs/examples/pop3-multi.c create mode 100644 curl/docs/examples/pop3-noop.c create mode 100644 curl/docs/examples/pop3-retr.c create mode 100644 curl/docs/examples/pop3-ssl.c create mode 100644 curl/docs/examples/pop3-stat.c create mode 100644 curl/docs/examples/pop3-tls.c create mode 100644 curl/docs/examples/pop3-top.c create mode 100644 curl/docs/examples/pop3-uidl.c create mode 100644 curl/docs/examples/post-callback.c create mode 100644 curl/docs/examples/postinmemory.c create mode 100644 curl/docs/examples/postit2-formadd.c create mode 100644 curl/docs/examples/postit2.c create mode 100644 curl/docs/examples/progressfunc.c create mode 100644 curl/docs/examples/protofeats.c create mode 100644 curl/docs/examples/range.c create mode 100644 curl/docs/examples/resolve.c create mode 100644 curl/docs/examples/rtsp-options.c create mode 100644 curl/docs/examples/sendrecv.c create mode 100644 curl/docs/examples/sepheaders.c create mode 100644 curl/docs/examples/sftpget.c create mode 100644 curl/docs/examples/sftpuploadresume.c create mode 100644 curl/docs/examples/shared-connection-cache.c create mode 100644 curl/docs/examples/simple.c create mode 100644 curl/docs/examples/simplepost.c create mode 100644 curl/docs/examples/simplessl.c create mode 100644 curl/docs/examples/smtp-authzid.c create mode 100644 curl/docs/examples/smtp-expn.c create mode 100644 curl/docs/examples/smtp-mail.c create mode 100644 curl/docs/examples/smtp-mime.c create mode 100644 curl/docs/examples/smtp-multi.c create mode 100644 curl/docs/examples/smtp-ssl.c create mode 100644 curl/docs/examples/smtp-tls.c create mode 100644 curl/docs/examples/smtp-vrfy.c create mode 100644 curl/docs/examples/sslbackend.c create mode 100644 curl/docs/examples/unixsocket.c create mode 100644 curl/docs/examples/url2file.c create mode 100644 curl/docs/examples/urlapi.c create mode 100644 curl/docs/examples/websocket-cb.c create mode 100644 curl/docs/examples/websocket.c create mode 100644 curl/docs/libcurl/symbols-in-versions.txt create mode 100644 curl/docs/mk-ca-bundle.md create mode 100644 curl/docs/options-in-versions.txt create mode 100644 curl/docs/wcurl.md create mode 100644 curl/include/brotli/decode.h create mode 100644 curl/include/brotli/encode.h create mode 100644 curl/include/brotli/port.h create mode 100644 curl/include/brotli/shared_dictionary.h create mode 100644 curl/include/brotli/types.h create mode 100644 curl/include/curl/curl.h create mode 100644 curl/include/curl/curlver.h create mode 100644 curl/include/curl/easy.h create mode 100644 curl/include/curl/header.h create mode 100644 curl/include/curl/mprintf.h create mode 100644 curl/include/curl/multi.h create mode 100644 curl/include/curl/options.h create mode 100644 curl/include/curl/stdcheaders.h create mode 100644 curl/include/curl/system.h create mode 100644 curl/include/curl/typecheck-gcc.h create mode 100644 curl/include/curl/urlapi.h create mode 100644 curl/include/curl/websockets.h create mode 100644 curl/include/libpsl.h create mode 100644 curl/include/libssh2.h create mode 100644 curl/include/libssh2_publickey.h create mode 100644 curl/include/libssh2_sftp.h create mode 100644 curl/include/nghttp2/nghttp2.h create mode 100644 curl/include/nghttp2/nghttp2ver.h create mode 100644 curl/include/nghttp3/nghttp3.h create mode 100644 curl/include/nghttp3/version.h create mode 100644 curl/include/ngtcp2/ngtcp2.h create mode 100644 curl/include/ngtcp2/ngtcp2_crypto.h create mode 100644 curl/include/ngtcp2/ngtcp2_crypto_quictls.h create mode 100644 curl/include/ngtcp2/version.h create mode 100644 curl/include/openssl/aes.h create mode 100644 curl/include/openssl/asn1.h create mode 100644 curl/include/openssl/asn1t.h create mode 100644 curl/include/openssl/bio.h create mode 100644 curl/include/openssl/blowfish.h create mode 100644 curl/include/openssl/bn.h create mode 100644 curl/include/openssl/buffer.h create mode 100644 curl/include/openssl/camellia.h create mode 100644 curl/include/openssl/cast.h create mode 100644 curl/include/openssl/chacha.h create mode 100644 curl/include/openssl/cmac.h create mode 100644 curl/include/openssl/cms.h create mode 100644 curl/include/openssl/comp.h create mode 100644 curl/include/openssl/conf.h create mode 100644 curl/include/openssl/crypto.h create mode 100644 curl/include/openssl/ct.h create mode 100644 curl/include/openssl/curve25519.h create mode 100644 curl/include/openssl/des.h create mode 100644 curl/include/openssl/dh.h create mode 100644 curl/include/openssl/dsa.h create mode 100644 curl/include/openssl/dtls1.h create mode 100644 curl/include/openssl/ec.h create mode 100644 curl/include/openssl/ecdh.h create mode 100644 curl/include/openssl/ecdsa.h create mode 100644 curl/include/openssl/engine.h create mode 100644 curl/include/openssl/err.h create mode 100644 curl/include/openssl/evp.h create mode 100644 curl/include/openssl/hkdf.h create mode 100644 curl/include/openssl/hmac.h create mode 100644 curl/include/openssl/idea.h create mode 100644 curl/include/openssl/kdf.h create mode 100644 curl/include/openssl/lhash.h create mode 100644 curl/include/openssl/md4.h create mode 100644 curl/include/openssl/md5.h create mode 100644 curl/include/openssl/modes.h create mode 100644 curl/include/openssl/obj_mac.h create mode 100644 curl/include/openssl/objects.h create mode 100644 curl/include/openssl/ocsp.h create mode 100644 curl/include/openssl/opensslconf.h create mode 100644 curl/include/openssl/opensslfeatures.h create mode 100644 curl/include/openssl/opensslv.h create mode 100644 curl/include/openssl/ossl_typ.h create mode 100644 curl/include/openssl/pem.h create mode 100644 curl/include/openssl/pkcs12.h create mode 100644 curl/include/openssl/pkcs7.h create mode 100644 curl/include/openssl/poly1305.h create mode 100644 curl/include/openssl/posix_time.h create mode 100644 curl/include/openssl/rand.h create mode 100644 curl/include/openssl/rc2.h create mode 100644 curl/include/openssl/rc4.h create mode 100644 curl/include/openssl/ripemd.h create mode 100644 curl/include/openssl/rsa.h create mode 100644 curl/include/openssl/safestack.h create mode 100644 curl/include/openssl/sha.h create mode 100644 curl/include/openssl/sm3.h create mode 100644 curl/include/openssl/sm4.h create mode 100644 curl/include/openssl/srtp.h create mode 100644 curl/include/openssl/ssl.h create mode 100644 curl/include/openssl/ssl3.h create mode 100644 curl/include/openssl/stack.h create mode 100644 curl/include/openssl/tls1.h create mode 100644 curl/include/openssl/ts.h create mode 100644 curl/include/openssl/txt_db.h create mode 100644 curl/include/openssl/ui.h create mode 100644 curl/include/openssl/x509.h create mode 100644 curl/include/openssl/x509_vfy.h create mode 100644 curl/include/openssl/x509v3.h create mode 100644 curl/include/zconf.h create mode 100644 curl/include/zdict.h create mode 100644 curl/include/zlib.h create mode 100644 curl/include/zlib_name_mangling.h create mode 100644 curl/include/zstd.h create mode 100644 curl/include/zstd_errors.h create mode 100644 curl/lib/libbrotlicommon.a create mode 100644 curl/lib/libbrotlidec.a create mode 100644 curl/lib/libcrypto.a create mode 100644 curl/lib/libcurl.a create mode 100644 curl/lib/libcurl.dll.a create mode 100644 curl/lib/libnghttp2.a create mode 100644 curl/lib/libnghttp3.a create mode 100644 curl/lib/libngtcp2.a create mode 100644 curl/lib/libngtcp2_crypto_quictls.a create mode 100644 curl/lib/libpsl.a create mode 100644 curl/lib/libssh2.a create mode 100644 curl/lib/libssl.a create mode 100644 curl/lib/libz.a create mode 100644 curl/lib/libzstd.a create mode 100644 curl/mk-ca-bundle.pl create mode 100644 unittest/.gitignore diff --git a/.gitignore b/.gitignore index 45cf9a5..2d8aad5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /obj /*.depend /*.layout + diff --git a/curl/BUILD-HASHES.txt b/curl/BUILD-HASHES.txt new file mode 100644 index 0000000..ed2de84 --- /dev/null +++ b/curl/BUILD-HASHES.txt @@ -0,0 +1,120 @@ +SHA2-256(./bin/curl-ca-bundle.crt)= ab3ee3651977a4178a702b0b828a4ee7b2bbb9127235b0ab740e2e15974bf5db +SHA2-256(./bin/curl.exe)= 36349c859b8b9e44a6c0140d17c1742a7a12371f20efd48170d93758fcdc76a8 +SHA2-256(./bin/libcurl.def)= fc8449996b7661b9ae9c0ed67c847f1c7241a9ef3db717a5d578012f34fb00da +SHA2-256(./bin/libcurl.dll)= 01f487592e94c9b99ff247a4fe976aa1adc012e9c1769b2778719f045f15eaa1 +SHA2-256(./include/brotli/decode.h)= 20d0a87a96bc25a3af7557075be87be4393e88a5fb564db08e92884dee17d841 +SHA2-256(./include/brotli/encode.h)= 3403a597eff24ff45903128feb471e4dd5138f624104ebe058a9d90ed905550c +SHA2-256(./include/brotli/port.h)= d87dae6cce00aff76192a1db4fedc2a817967e14e652829349b8a75088f9e467 +SHA2-256(./include/brotli/shared_dictionary.h)= 86230f0aaf533044d85d92f84b5aec8b7e4e231d4b64b098604083e7866e8097 +SHA2-256(./include/brotli/types.h)= 96c9330e790aa6fe53f4cdd328d0a4b98e361b82913baa3219db73aadb11272c +SHA2-256(./include/curl/curl.h)= 6452473ab94ffe4a15f148b94c2b9f6b9faadc55a541923d974471d3e5273696 +SHA2-256(./include/curl/curlver.h)= b5f1670b94bdc5f60501bbe9cf24fcabaa9fa88ec8f81f77e51443bfc82a46fb +SHA2-256(./include/curl/easy.h)= 3a9a663e57fa4104ae479e513a41d99b069f735543d118c90f73c5b5b0f37291 +SHA2-256(./include/curl/header.h)= 614be48a86f4e5d304c5aa40ef1c85245e25b97732921c3631840146669d992f +SHA2-256(./include/curl/mprintf.h)= 5254b33e5e351298cdc25303381edc15889a41e129d41821bbd186dc2ddcbd40 +SHA2-256(./include/curl/multi.h)= 83ae673f7655768bf70b141c9cf845b09695aa801d4d1d56362c3928c38e397c +SHA2-256(./include/curl/options.h)= 5716018d27e783283825bed2a8a051190487722fdeb64b7aa2d03a997e99b8d1 +SHA2-256(./include/curl/stdcheaders.h)= d7588b86814a35ffc3766ff6242e6f6705e04401fc9c208a195caff3503af81c +SHA2-256(./include/curl/system.h)= ad9637bbe3988e08745b9a6edf53b9651b240cd15b60da60e54ac7c61439cc57 +SHA2-256(./include/curl/typecheck-gcc.h)= 907a5e676377c5a4849d55bc38614b21750e85f7278cb057daedb1f9fc2e7918 +SHA2-256(./include/curl/urlapi.h)= 4366e8eead1d92742c679b14dd3c65b92087226e1cebecc7803d619eded6a868 +SHA2-256(./include/curl/websockets.h)= e5e4883b6de1a62d28cbfad75b45e4a428e160871715ebc34dc696b7c38efb48 +SHA2-256(./include/libpsl.h)= c18414f8fbcf2c16ce4cf4038dd27a0e8b64d8dc9c117d5b982016d830852f4e +SHA2-256(./include/libssh2.h)= 86cc9fcfd0daa10ba25442e5ecea23db618027362bc85fdc591ec7f5d9d39a91 +SHA2-256(./include/libssh2_publickey.h)= f1cd086f3950e65635827ee3332c1c6ca62887c0f84369ec58e31974debb36e9 +SHA2-256(./include/libssh2_sftp.h)= b5d864f19af69521278ed953b20b76a32cfdc08014da81d38f59964e7e2e2575 +SHA2-256(./include/nghttp2/nghttp2.h)= 711ec7c2f6851f6c744cc54e279bdda113824adbd0e4e7d8a62703ca9c7b90ec +SHA2-256(./include/nghttp2/nghttp2ver.h)= d487680fae998aedc5527ea49a264a1d2ffbf850700510ab1bbf17645b1be168 +SHA2-256(./include/nghttp3/nghttp3.h)= 0105d267ae01429f21fa45966652d5df6f7dc37a66ba0e6108ec3cd0b0785741 +SHA2-256(./include/nghttp3/version.h)= bea9967f40d23eb49e9d15abc02866344330150d8ab9ce7ef77cc8afa6f61976 +SHA2-256(./include/ngtcp2/ngtcp2.h)= 29b826058cdd7124d140dc1df37a02cced4ca483efde3fadb9dd52fde8fb126f +SHA2-256(./include/ngtcp2/ngtcp2_crypto.h)= 998aed2a9b3c866ca1fb29aa766f2d1eaeebb58aa79dc9335c8fa40eb0f60886 +SHA2-256(./include/ngtcp2/ngtcp2_crypto_quictls.h)= 1790e0356644fe51c2239839c68cd1ded53cd729b4730c6f7068db14845216b2 +SHA2-256(./include/ngtcp2/version.h)= 12f43f12ce8463922e49288d94f90d249249077a6d12803f87154f6ec97401c0 +SHA2-256(./include/openssl/aes.h)= 61a5846af3aabc2eaf0fffd0109b82982d6e70c2e58a874e0713907d2c649dec +SHA2-256(./include/openssl/asn1.h)= 687538926de7e7abb5e633e496352f28cd8850bcfa6299f80f460f1166a511f3 +SHA2-256(./include/openssl/asn1t.h)= ff2f110c85b1389ebed09059eb47a5337cc57c67c4e84bd7ae897124886c27fc +SHA2-256(./include/openssl/bio.h)= 1bcab470bff5f8834effa967eea18ef1a2cf70c2cefb9d5d00f5b85e0d8d6ff0 +SHA2-256(./include/openssl/blowfish.h)= 436eea2ac8bd10f5bfd320bb11bfdd1c982bfdaac507f45db6a064915fc2ca17 +SHA2-256(./include/openssl/bn.h)= 4331c86e4e8b3ea9e1bac19a648b71926001e91f7e37b3be29c8012a8a918a7e +SHA2-256(./include/openssl/buffer.h)= a60e861037ec534a80289dce8a5fda46ef72cb3248a29fdc86bd12559c0dfb93 +SHA2-256(./include/openssl/camellia.h)= 8dc3a54e09392f539b38a6dabcd54daed7bec233de0b42b3d81986a58bc8d033 +SHA2-256(./include/openssl/cast.h)= 3abc7cd1651f36958c013c12934119e545633be4a1c80c79dfc124690d24cfc9 +SHA2-256(./include/openssl/chacha.h)= df0728ed1a2678969a7a40a83290a26173b396154a873f2d408343a4ef0d34c7 +SHA2-256(./include/openssl/cmac.h)= 1e298a02b96233ae382ff8fad42ec6b7e04bdbc62ee7faab3479dbe7c7962c7e +SHA2-256(./include/openssl/cms.h)= df710537b6d99b10ff98576c89def33a8bfe4d0c7781da41a6f35932a6669622 +SHA2-256(./include/openssl/comp.h)= 827b2d6d9ddebb4345aef8ff92e4a350e7bfa01de0f684fadf354ff891389f97 +SHA2-256(./include/openssl/conf.h)= 49e7d1603fc727d252b9f876f2ebe0fbfcfd2ff238ed55d922747b70f62666b2 +SHA2-256(./include/openssl/crypto.h)= 0e3cc0d17c8adccefec9494cafd6db230df62f504edee93e5b4c900e7b91bbce +SHA2-256(./include/openssl/ct.h)= 059a0cf146e35736dac7c2d34ad344f8b00fe364324112de4fe1c7a10a13edc3 +SHA2-256(./include/openssl/curve25519.h)= d7534da0a98ef1827761beae60ca00d67b1acc0c6977e919591401f2777dd4d2 +SHA2-256(./include/openssl/des.h)= c8ea5e61f053b10cf55f20b4d7c9b9481acd17c07b096cf75e56809add2a37c4 +SHA2-256(./include/openssl/dh.h)= 8f4ec3a8703935fab16ddddbf4a6ea9214a41cc8a16cf4833643ca69cc06bf50 +SHA2-256(./include/openssl/dsa.h)= ee29903a3f30967ad3e0e7b260d41fc92c5c5e7f3985e98346c2ce40ba872b6b +SHA2-256(./include/openssl/dtls1.h)= 9c9837a45861f79f4ecd54761bc74aa503265778be1dd76c68433d7994fabb3b +SHA2-256(./include/openssl/ec.h)= 3b2a21eadbed07db95a825aedca03d14410c1211b3e7f0acb5e170050253d1b9 +SHA2-256(./include/openssl/ecdh.h)= bfef80e1a0152c23c29a04323302c6a592e55104a5add4c458301ef1da45bade +SHA2-256(./include/openssl/ecdsa.h)= 298d675ce2985b1ba12d7da1245fbc5327f193dc3a477a9aada2208162fdd542 +SHA2-256(./include/openssl/engine.h)= e8bfa460b4ab7f443e1e43151f814db001d0c6c2a6f5d692b1d4ec8e9035ca76 +SHA2-256(./include/openssl/err.h)= 36756914d0c756c4bfbd30a02372eff0f41fcdca7d6e1e5e9b727d492d5af72b +SHA2-256(./include/openssl/evp.h)= 153c2259c8de3e848b9bf7f3829f09125aee342289f47ed59fa17d10e16758e7 +SHA2-256(./include/openssl/hkdf.h)= 47294d3c2c3df67590090a7262032d2ed83a249d053f9c81be01878faffdc4d2 +SHA2-256(./include/openssl/hmac.h)= 69eb59fcb034781a014a11f8d2c22335ac32a37cb4a6887ca466f8233da8beb9 +SHA2-256(./include/openssl/idea.h)= 610d9932439efb64d8898938d4b044e608ed16ed1ad0754ae4925ea32b8b8a08 +SHA2-256(./include/openssl/kdf.h)= c7ecfc60364c4a47d86fb55c6087f4c8e8ae59b9ee60b9fce7e4c70c7d903141 +SHA2-256(./include/openssl/lhash.h)= 053f21efa3da78055e2763b90fd69a4b810606c91b36bbc055290685eeee6f71 +SHA2-256(./include/openssl/md4.h)= 8dc31cf435f33e35905a6369f5a87591ad176c5c4df5ce0913b30ff5965568ed +SHA2-256(./include/openssl/md5.h)= 20a6ed75c52e68e82438140604f921e04367a148814c494e222117b327040c5d +SHA2-256(./include/openssl/modes.h)= a8993a5bdfad225b207971039657000250b3239d7ca095238fabb895d73bafc6 +SHA2-256(./include/openssl/obj_mac.h)= 4270ca80a060fdcaf77e31ce3dcd85ed92cceeb23aed7a6af8d92c84aff54075 +SHA2-256(./include/openssl/objects.h)= dcf127aedcc6a9fbf4abc6dfacbf6d234a003d5c390025f4785c3407cbe99cf2 +SHA2-256(./include/openssl/ocsp.h)= 74bf587344a632fee6721e93a3991de1c5cdafe762fc7ff3d22ea614ea8505f7 +SHA2-256(./include/openssl/opensslconf.h)= 751f7b5926ce8c0b754371863012ed31d54305d4e15bdd89449b07862b6a4181 +SHA2-256(./include/openssl/opensslfeatures.h)= b6cb250da81ac43dfe8fe76f512f7b4ee81c036a76a98a0f9f656bcf218d86e7 +SHA2-256(./include/openssl/opensslv.h)= 223b94f36e5212aa3ea042e56ef39787f6ec316f9e622bcba0fb5c48907598be +SHA2-256(./include/openssl/ossl_typ.h)= 74a337679d1a99aee06bdd11a3b7d814932f0ed772a1c09cbf799c6b7297158c +SHA2-256(./include/openssl/pem.h)= fd8e0bf923e6878d03a07b6401266a6cff4089082dca60db3426b8640fb5e6f6 +SHA2-256(./include/openssl/pkcs12.h)= 144bf41de4f93ddcbfb44a3ebb82611e776205d744524a94c2c760dea6c997be +SHA2-256(./include/openssl/pkcs7.h)= 4966b5892e545b20553ca746739dba0d4a1a6684934433d7eb095984ad2edf56 +SHA2-256(./include/openssl/poly1305.h)= b751992c10df319c0309b31e0206aad4597edc9d1496267002b433537419e7ec +SHA2-256(./include/openssl/posix_time.h)= 9b403139b6e0a2212b5c3ad5d387631f19f5bec74d8831d3fc4c3ab34f58840b +SHA2-256(./include/openssl/rand.h)= 9e4957207431d97886e6589aef8ce9cd15579bda226baf5c980dcb47876068cd +SHA2-256(./include/openssl/rc2.h)= a6bccbf74dd468343b127f80f1d04f69680860d5283c85a460325969bdf50e76 +SHA2-256(./include/openssl/rc4.h)= e4b7f178300a7978f5904f06b559569c9aef128adf65dcd2b2a686ce36c439ed +SHA2-256(./include/openssl/ripemd.h)= 4c2c3459de4a53949fb92dba4fc76b253deaea6ca673b8150f2031b16031534f +SHA2-256(./include/openssl/rsa.h)= 2c14f09faefcd786eb62aa1343524dc94714b7962c790d145f5317fea94f74da +SHA2-256(./include/openssl/safestack.h)= 3ba8e3cf36e174528a5d581dfa897012dba82d820d2da07b2e4705ec6547ad22 +SHA2-256(./include/openssl/sha.h)= 0c0076f1213121540ea71da9d583262b09ed02a113e26d84b28efee621a3492f +SHA2-256(./include/openssl/sm3.h)= dfc2175a2ed2d8a7ae3cd867f989fb154f1f8652564a97e3080f575835ec733f +SHA2-256(./include/openssl/sm4.h)= 6030457a506d6fbde00aebbff45b345a831a0673f4517bc278f7d5f72cf482ea +SHA2-256(./include/openssl/srtp.h)= ae58c4d9c667f74b8f3c44039072c6d45232a2af09539c414028aa6e9eb57f90 +SHA2-256(./include/openssl/ssl.h)= d3956af6322899a607665a5a4841ad69aac79a4fe66835024787afdd6b927f45 +SHA2-256(./include/openssl/ssl3.h)= 1b874f840ab4a34ff78de5009bf432e42d088716c17c43b6e45bbfde58d6c30a +SHA2-256(./include/openssl/stack.h)= cec4d77b15c66fcbadc05d6946ad6fb8a77430472302798ac25b52aeaa990b92 +SHA2-256(./include/openssl/tls1.h)= 70a7c812a910dbe74a36a2725596413ed9da2a22e805de65b714d5346f2689bf +SHA2-256(./include/openssl/ts.h)= 28cb12962438d5c655fe5a46cad53e9f4a334497d4411446d5974601485a28cc +SHA2-256(./include/openssl/txt_db.h)= 7c50364dd59d167b14db35ff210327d57cabfb14be2ae40e440de2aad14d5b27 +SHA2-256(./include/openssl/ui.h)= 42762d29440f35fc4bfac041716a7e4d6034e74b3a1f8b77ff4e7074ea6784dd +SHA2-256(./include/openssl/x509.h)= 0f8c800eef16ae00047f8a01f97dc48b8489e814c965340e562197278187dbe4 +SHA2-256(./include/openssl/x509_vfy.h)= aa9c34d6eb48543408cb97a9859a7c40bddaaa0d903d2c678d4cb0b9e3834321 +SHA2-256(./include/openssl/x509v3.h)= ba90f7955cb292501715d0d0756d5b057a06c6afaaab95a3fa6780ac9c99458a +SHA2-256(./include/zconf.h)= dcb0a2b20ac38181012fbc430d1c229cf6eb7758ce8ab26a618c8a0808c3e76e +SHA2-256(./include/zdict.h)= abacadb94e3f79e591f4b1648e839b0160fbf4291211fd01bdba1380269b245c +SHA2-256(./include/zlib.h)= 0f502ab19b9200f6c390945c0fc860816fd0a082e6a01925f7322564f9445565 +SHA2-256(./include/zlib_name_mangling.h)= 38e51a846d6c2bd6100298c55328dba4437c08fa1dceda4eb2e06ecb1d142058 +SHA2-256(./include/zstd.h)= 9b4bc8245565c98ccfc61c07749928b57e7c0f6fddb0530c4f6aa1971893d88b +SHA2-256(./include/zstd_errors.h)= 66a8c3f71d12ea6e797e4f622f31f3f8f81c41b36f48cad4f5de7d8bfb6aac0a +SHA2-256(./lib/libbrotlicommon.a)= c4ace1c46440e01236addfc1d1ec8f05955766343d972623a90efcdbb499e034 +SHA2-256(./lib/libbrotlidec.a)= 835885e909672a7af460810e68963b020149578f11be9b8d8390b3081c6c38dd +SHA2-256(./lib/libcrypto.a)= d671d623b917d5f66039c3e4a78bd306c12704a3069af62a9103ce13e7d7ab1e +SHA2-256(./lib/libcurl.a)= 9665a6fb4e99307bb7ebde5749ef5baacac66d6921b68ddb9abc9a50111377d1 +SHA2-256(./lib/libcurl.dll.a)= ef73ac11d2dd1edda3266b0a9f6e1560f9367ac0d898f62ff2f38d4ba129986b +SHA2-256(./lib/libnghttp2.a)= 52e9b6c87330aed345697c2ef122d9d0f7c6742521081bd3a8012700c4325ef6 +SHA2-256(./lib/libnghttp3.a)= c5f17db65999032e3b4defbfc418b9d0634e5a5408b6d9e44f39fb3e27e4ece9 +SHA2-256(./lib/libngtcp2.a)= 0e789e9c9c7da8df68c321218ad160606aa3e7e5f4267130810059b9c961188c +SHA2-256(./lib/libngtcp2_crypto_quictls.a)= c51a5af666309ed3330ee5c555961dd21bf78eb383ad9a79f02e58cf3eb17844 +SHA2-256(./lib/libpsl.a)= a6bc60a2ba23a7fa11c34b36aecdc15da657914df7af331ac578597aa7e7072d +SHA2-256(./lib/libssh2.a)= 78d6fb6b0f4cd27db4ac4a58f3b2a21168c4fd510406ad9423f41a1faff4dbbe +SHA2-256(./lib/libssl.a)= 9d0d2fd377afe2cfcaeaa93e00a75e41d34bc902ac96292cb6cbb6ddfd239b0b +SHA2-256(./lib/libz.a)= 2b3286c15298057dbe5899c9fe8aeb4021969863cbcf1c8142750c06114f73c9 +SHA2-256(./lib/libzstd.a)= ad185e0aa92a054d7260a119079b97a71eea37227221bba93b4c1b0380ec90ff diff --git a/curl/BUILD-MANIFEST.txt b/curl/BUILD-MANIFEST.txt new file mode 100644 index 0000000..3c63b8d --- /dev/null +++ b/curl/BUILD-MANIFEST.txt @@ -0,0 +1,13 @@ +.clang 19.1.7 +.mingw-w64 12.0.0-5 +zlibng 2.2.4 https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.2.4.tar.gz +zstd 1.5.7 https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz +brotli 1.1.0 https://github.com/google/brotli/archive/v1.1.0.tar.gz +libpsl 0.21.5 https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz +nghttp3 1.10.1 https://github.com/ngtcp2/nghttp3/releases/download/v1.10.1/nghttp3-1.10.1.tar.xz +libressl 4.1.0 https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-4.1.0.tar.gz +ngtcp2 1.13.0 https://github.com/ngtcp2/ngtcp2/releases/download/v1.13.0/ngtcp2-1.13.0.tar.xz +nghttp2 1.65.0 https://github.com/nghttp2/nghttp2/releases/download/v1.65.0/nghttp2-1.65.0.tar.xz +libssh2 1.11.1 https://libssh2.org/download/libssh2-1.11.1.tar.xz +cacert 2025-05-20 https://curl.se/ca/cacert-2025-05-20.pem +curl 8.14.0 https://curl.se/download/curl-8.14.0.tar.xz diff --git a/curl/BUILD-README.url b/curl/BUILD-README.url new file mode 100644 index 0000000..36278f8 --- /dev/null +++ b/curl/BUILD-README.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://github.com/curl/curl-for-win diff --git a/curl/COPYING.txt b/curl/COPYING.txt new file mode 100644 index 0000000..3fa85eb --- /dev/null +++ b/curl/COPYING.txt @@ -0,0 +1,22 @@ +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1996 - 2025, Daniel Stenberg, , and many +contributors, see the THANKS file. + +All rights reserved. + +Permission to use, copy, modify, and distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright +notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization of the copyright holder. diff --git a/curl/README.txt b/curl/README.txt new file mode 100644 index 0000000..f5efbd7 --- /dev/null +++ b/curl/README.txt @@ -0,0 +1,55 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + +README + + Curl is a command line tool for transferring data specified with URL + syntax. Find out how to use curl by reading the curl.1 man page or the + MANUAL document. Find out how to install Curl by reading the INSTALL + document. + + libcurl is the library curl is using to do its job. It is readily + available to be used by your software. Read the libcurl.3 man page to + learn how. + + You find answers to the most frequent questions we get in the FAQ document. + + Study the COPYING file for distribution terms. + + Those documents and more can be found in the docs/ directory. + +CONTACT + + If you have problems, questions, ideas or suggestions, please contact us + by posting to a suitable mailing list. See https://curl.se/mail/ + + All contributors to the project are listed in the THANKS document. + +WEBSITE + + Visit the curl website for the latest news and downloads: + + https://curl.se/ + +GIT + + To download the latest source code off the GIT server, do this: + + git clone https://github.com/curl/curl.git + + (you will get a directory named curl created, filled with the source code) + +SECURITY PROBLEMS + + Report suspected security problems via our HackerOne page and not in public. + + https://hackerone.com/curl + +NOTICE + + Curl contains pieces of source code that is Copyright (c) 1998, 1999 + Kungliga Tekniska Högskolan. This notice is included here to comply with the + distribution terms. diff --git a/curl/RELEASE-NOTES.txt b/curl/RELEASE-NOTES.txt new file mode 100644 index 0000000..832e4a6 --- /dev/null +++ b/curl/RELEASE-NOTES.txt @@ -0,0 +1,520 @@ +curl and libcurl 8.14.0 + + Public curl releases: 267 + Command line options: 269 + curl_easy_setopt() options: 308 + Public functions in libcurl: 96 + Contributors: 3427 + +This release includes the following changes: + + o mqtt: send ping at upkeep interval [49] + o schannel: handle pkcs12 client certificates containing CA certificates [58] + o TLS: add CURLOPT_SSL_SIGNATURE_ALGORITHMS and --sigalgs [113] + o vquic: ngtcp2 + openssl support [96] + o wcurl: import v2025.04.20 script + docs [97] + o websocket: add option to disable auto-pong reply [52] + +This release includes the following bugfixes: + + o _SEEALSO.md: remove spaces around command and man page section [166] + o asny-thrdd: fix detach from running thread [191] + o asnyc-thrdd: explain how this is okay with a comment [200] + o asyn resolver code improvements [50] + o async-threaded resolver: use ref counter [10] + o async: DoH improvements [99] + o autotools: detect `wolfSSL_set_quic_use_legacy_code` like cmake does [104] + o autotools: install shell completion files on cross build [119] + o aws-sigv4: allow a blank string [86] + o build: check required rustls-ffi version [46] + o build: enable gcc-12/13+, clang-10+ picky warnings [147] + o build: enable gcc-15 picky warnings [133] + o certs: drop unused `default_bits` from `.prm` files [45] + o cf-https-connect: use the passed in dns struct pointer [64] + o cf-socket: fix FTP accept connect [153] + o cfilters: remove assert [120] + o cmake/FindNGTCP2: simplify multi-pkg-config detection [27] + o cmake: append picky warnings to `CMAKE_REQUIRED_FLAGS` as string [68] + o cmake: avoid 'target is imported but not globally visible' when consuming libcurl with old cmake [125] + o cmake: do not install `mk-ca-bundle` script and manpage [101] + o cmake: enable `-Wall` for MSVC when `PICKY_COMPILER=ON` [100] + o cmake: extend integration tests [139] + o cmake: fix `fish` install directory detection via `pkg-config` [123] + o cmake: fix nghttp3 static linking with `USE_OPENSSL_QUIC=ON` [79] + o cmake: fix option() and mark_as_advanced() mixed order [111] + o cmake: fix shell completion install when just one flavor is enabled [73] + o cmake: honor individual picky option overrides found in `CMAKE_C_FLAGS` [146] + o cmake: install shell completions for cross-builds [112] + o cmake: link `crypt32` for OpenSSL feature detection [105] + o cmake: merge `CURL_WERROR` logic into `PickyWarnings.cmake` [66] + o cmake: prefer `COMPILE_OPTIONS` over `CMAKE_C_FLAGS` for custom C options [72] + o cmake: quotes, whitespace, use `VERSION_GREATER_EQUAL` [33] + o cmake: revert `CURL_LTO` behavior for multi-config generators [74] + o cmake: set `BUILDING_LIBCURL` directly for unit test targets [174] + o cmake: stop deleting `-W` from `CMAKE_C_FLAGS` (MSVC) [155] + o cmake: tidy up and document feature detections in dependencies [107] + o cmake: use `CMAKE_COMPILE_WARNING_AS_ERROR` if available [154] + o cmake: use `INCLUDE_DIRECTORIES` prop to specify local header dirs [47] + o cmake: use `LIB_NAME` in `curl-config.cmake.in` [148] + o cmake: use absolute paths for completion targets [40] + o cmake: use the `LINK_OPTIONS` property with CMake 3.13+ [78] + o configure: catch asking for double resolver without https-rr [82] + o configure: fix --disable-rt [20] + o configure: restore link checks [25] + o configure: suppress command not found for brew [235] + o conncache: make Curl_cpool_init return void [15] + o connect: shutdown timer fix [132] + o content_encoding: Transfer-Encoding parser improvements [31] + o CONTRIBUTE: add project guidelines for AI use [76] + o contrithanks.sh: drop set -e [6] + o cpool/cshutdown: force close connections under pressure [80] + o curl: fix memory leak when -h is used in config file [161] + o curl: only warn once for --manual in manual-disabled build [205] + o curl_get_line: handle lines ending on the buffer boundary [62] + o curl_krb5: only use functions if FTP is still enabled [21] + o curl_multibyte: fixup low-level calls, include in unity builds [55] + o curl_osslq: remove a leftover debug fprintf() call [140] + o curl_url_get.md: don't call it normalized [212] + o curl_version_info.md: clarify ssl_version for MultiSSL [145] + o CURLMOPT_TIMERFUNCTION.md: correct the example [162] + o CURLOPT_ERRORBUFFER.md: buffer is read only after curl takes ownership [93] + o CURLOPT_FOLLOWLOCATION.md: switch to GET => no body [208] + o CURLOPT_READFUNCTION.md: mention the seek callback [209] + o CURLOPT_XFERINFOFUNCTION.md: fix the callback return type in example [122] + o curlx: move the docs to docs/internals/ [184] + o DEPRECATE.md: drop support for VS2008 [214] + o DEPRECATE.md: drop Windows CE support [216] + o dist: drop duplicate entry from `CMAKE_DIST` [88] + o dns_entry: move from conn to data->state [178] + o Dockerfile: update debian:bookworm-slim Docker digest to 90522ee [211] + o docs/INSTALL.md: drop reference to removed configure option [83] + o docs/libcurl: fix type and prototype problems in examples [121] + o docs/libcurl: make examples build with picky compiler options [84] + o docs/libcurl: mention sensitive data/headers [206] + o docs: add missing return statement in examples [85] + o docs: fix incorrect shell substitution in docker run example command [51] + o docs: fix typo in retry.md [192] + o docs: update distros links + o doh: httpsrr fix [71] + o doh: make sure CURLOPT_PROTOCOLS is set a with a "long" arg [124] + o doh: reduce the DNS request buffer size [70] + o easy_reset: fix dohfor_mid member [63] + o ECH: reference the OpenSSL ECH feature branch [186] + o etag-save.md: mention how using both options is a good idea [108] + o eventfd: fix feature guards [24] + o formdata: cleanups [219] + o ftp: fix bug in failed init [179] + o ftp: fix race in upload handling [207] + o ftplistparser: add two overflow preventions [173] + o ftplistparser: split up into more functions [215] + o generate.bat: exclude curlinfo.c from legacy VS projects [175] + o genserv.pl: fail with a message if `openssl` is missing or failing [14] + o headers: enforce a max number of response header to accept [163] + o headers: set an error message on illegal response headers [181] + o hostip: fix build without threaded-resolver and without DoH [17] + o hostip: show the correct name on proxy resolve error [37] + o http2: fix stream window size after unpausing [34] + o HTTP3.md: fix incorrect variable placeholders [30] + o http: fix a build error when all auths are disabled [16] + o http: fix HTTP/2 handling of TE request header using "trailers" [130] + o http: in alt-svc negotiation only allow supported HTTP versions [59] + o http_aws_sigv4: add additional verbose log statements [39] + o http_aws_sigv4: improve sigv4 url encoding and canonicalization [240] + o http_chunks: narrow variable scope for 'trlen' [199] + o http_negotiate: fix non-SSL build with GSSAPI [23] + o https-connect: fix httpsrr target check [36] + o HTTPSRR.md: clarify somewhat [137] + o if2ip: build the function also if FTP is present [19] + o imap: remove redundant condition [196] + o INSTALL-CMAKE.md: fix typo + o INSTALL.md: update the minimal libcurl size example + o KNOWN_BUGS: fix link in sivg4 issue 16.3 [26] + o lib/src/docs/test: improve curl_easy_setopt() calls [116] + o lib1560: use hex notation, drop non-ASCII exception [182] + o lib3026: drop DLL pre-load perf mitigation for old mingw [222] + o lib: add const to clientwriter tables + o lib: drop curlx_getpid, use fake pid in SMB [172] + o lib: include files using known path [48] + o lib: make Curl_easyopts const [44] + o lib: unify conversions to/from hex [3] + o libcurl-tutorial.md: fix read callback explanation [118] + o libssh: add NULL check for Curl_meta_get() [201] + o libssh: fix memory leak [168] + o libssh: remove a condition that always equals false [202] + o libtest/first: stop defining MEMDEBUG_NODEFINES [32] + o libtests: define CURL_DISABLE_DEPRECATION first [177] + o make: clean tests better [60] + o mbedtls: TLS 1.3 is max when mbedtls has 1.3 support [109] + o metahash: add asserts to help analyzers [171] + o mk-ca-bundle.pl: follow redirects [53] + o mk-ca-bundle: switch URLs to GitHub versions [195] + o mkhelp: fix to not generate a line-ending space in some cases [103] + o mqtt: use conn/easy meta hash [141] + o multi: do transfer book keeping using mid [91] + o multi: init_do(): check result [114] + o netrc: avoid NULL deref on weird input [167] + o netrc: avoid strdup NULL [198] + o netrc: deal with null token better [150] + o ngtcp2: clarify ignoring of result [131] + o openssl-quic: avoid potential `-Wnull-dereference`, add assert [126] + o openssl-quic: fix printf mask [102] + o openssl-quic: fix shutdown when stream not open [11] + o openssl: enable builds for *both* engines and providers [115] + o openssl: set the cipher string before doing private cert [138] + o parsedate: provide Curl_wkday also for GnuTLS builds [13] + o processhelp.pm: always call `taskkill` with `-f` (force) [69] + o processhelp.pm: avoid potential endless loop, log more (Windows) [5] + o progress: avoid integer overflow when gathering total transfer size [128] + o pytest tls: extend coverage [217] + o pytest-xdist: pytest in parallel [204] + o pytest: add pinnedpubkey test cases [232] + o pytest: give parameterised tests better ids for read- and parsability [142] + o pytest: make test_07_22 more lenient to exit codes [90] + o quic: no local idle connection timeout, ngtcp2 keep-alive [61] + o rand: update comment on Curl_rand_bytes weak random [35] + o RELEASE-PROCEDURE.md: release candidate git tagging explained [143] + o rtsp: remove redundant condition [197] + o runtests: add retry option to reduce flakiness [106] + o runtests: fix indentation + o runtests: recognize lowercase `windows` in `curl -V` [77] + o runtests: remove server verification after start [89] + o runtests: split `SSH_PWD` into `SCP_PWD` and `SFTP_PWD`, and more [75] + o rustls: make max size of cert and key reasonable [41] + o sasl: give help when unable to select AUTH [213] + o scripts: completion.pl: sort the completion file for all shells [9] + o scripts: drop unused import, formatting [95] + o scripts: fix --opts-dir help in completion.pl + o scripts: fix perl indentation, whitespace, semicolons [127] + o sectransp: fix building for macOS Sierra and older [151] + o setopt: provide info for CURLE_BAD_FUNCTION_ARGUMENT [180] + o smb: avoid integer overflow on weird input date [129] + o socket: use accept4 when available [7] + o socketpair: support pipe2 where available [56] + o spacecheck.pl: check for non-ASCII chars, fix fallouts [187] + o spacecheck.pl: verify `tests/data/test*` for non-ASCII chars [189] + o src: drop strcase.[ch] from tool builds [157] + o src: include memdebug.h consistently with angle brackets <> [160] + o src: rename curlx_safefree to tool_safefree [164] + o test1173.pl: whitelist some option-looking names that aren't options [203] + o test1658: add unit test for the HTTPS RR decoder [28] + o test: make unittest 1308 into a libtest [4] + o tests/ech_tests.sh: sync shebang with rest of bash scripts [42] + o tests/FILEFORMAT.md: clarify %hex[] formatting [188] + o tests/FILEFORMAT.md: document the aws feature [156] + o tests/README.md: document --test-duphandle [8] + o tests/README.md: list the openssl tool among the prerequisites [12] + o tests/server/dnsd: basic DNS server for test suite [92] + o tests/server: check for `stream != NULL` in mqttd [194] + o tests/server: fix typo in comment + o tests/server: stop using libcurl string comparisons [185] + o tests/server: stop using libcurl's printf functions [190] + o tests/serverhelp: remove last remnants of http-pipe server [1] + o tests/tunit: make a separate directory for tool-based unit tests [54] + o tests: add aws feature to the related tests [159] + o tests: Add https-mtls server to force client auth [57] + o tests: fix some test tag mismatches + o tests: mark ipfs tests to require ipfs [2] + o tests: move a boolean variable out of the path section + o tests: prefer `--insecure` over `-k` [43] + o tests: provide all non-ascii data hex encoded [183] + o tests: remove some unused test case sections + o tests: require IPv6 for 1265, 1324, 2086 [87] + o tests: separate tunit tests from unit tests more [176] + o tests: stop using libcurl's strdup [170] + o tests: unify test case keywords + o tests: use a more portable null device path [38] + o TODO: remove "nicer lacking perl message" [117] + o tool_cb_write.c: handle EINTR on flush [65] + o tool_getparam: clear argument only when needed [98] + o tool_operate: make retrycheck() a separate function [218] + o tool_operate: when retrying, only truncate regular files [165] + o tool_paramhlp: avoid integer overflow in secs2ms() [152] + o tool_parsecfg: make get_line handle lines ending on the buffer boundary [81] + o typecheck-gcc.h: fix the typechecks [110] + o urlapi: redirecting to "" is considered fine [149] + o urlapi: remove unneeded guards around PUNY2IDN [193] + o urldata: remove the unused struct field 'hide_progress' [220] + o VERSIONS: list all past releases [22] + o vquic: consistent name for the stream struct across backends [135] + o vquic: init for every call to recvmsg [134] + o vtls: avoid NULL deref on bad PEM input [169] + o vtls: fix build with ssl but without http [18] + o VULN-DISCLOSURE-POLICY: use of weak algos [94] + o winbuild: add the deprecation warning to the README [29] + o winbuild: curl_get_line is not used for tool builds [158] + o windows: fix builds targeting WinXP, test it in CI [227] + o wolfssl: fix to enable ALPN when available [67] + o ws: fix the header replace check [144] + o ws: store protocol context as connection meta data [136] + +This release includes the following known bugs: + + See https://curl.se/docs/knownbugs.html + +For all changes ever done in curl: + + See https://curl.se/changes.html + +Planned upcoming removals include: + + o Support for the msh3 HTTP/3 backend + o Supporting curl builds using VS2008 + o The Secure Transport and BearSSL TLS backends + o The winbuild build system + o Windows CE support + + See https://curl.se/dev/deprecate.html + +This release would not have looked like this without help, code, reports and +advice from friends like these: + + Abhinav Singhal, Aditya Garg, Alberto Leiva Popper, Andreas Westin, + Andrei Florea, Andrew Kirillov, Andy Pan, antypanty on hackerone, + Arian van Putten, bo0tzz on github, Bo Anderson, Brendan Dolan-Gavitt, + Brian Chrzanowski, bruce.yoon, bsr13 on hackerone, calvin2021y on github, + Calvin Ruocco, Carlos Henrique Lima Melara, Christian Schmitz, + Christoph Jabs, Cole Helbling, Corinna Brandt, Dagobert Michelsen, + Dan Fandrich, Daniel Engberg, Daniel Fosco, Daniel McCarney, Daniel Stenberg, + Demi Marie Obenour, dependabot[bot], Dirk Feytons, epicmkirzinger on github, + Eric Knibbe, Fujii Hironori, gkarracer on github, Gordon Parke, + Graham Christensen, Harry Sintonen, Helmut Grohne, Hiroki Kurosawa, + Int64x86 on github, Jacob Mealey, Jake Yuesong Li, James Fuller, + Jean-Christophe Amiel, Jeroen Ooms, Jimmy Sjölund, Jixinqi, + Jochen Sprickerhof, Joe Cise, JoelAtWisetech on github, Joel Depooter, + Johan Eliasson, John Bampton, John Haugabook, Jonathan Rosa, Kai Pastor, + kkalganov on github, Maksim Ściepanienka, Manuel Strehl, Marius Kleidl, + Mathieu Garaud, Matt Jolly, Max Eliaser, mschroeder-fzj on github, NeimadTL, + Niall O'Reilly, Nigel Brittain, Nils Goroll, Pavel Kropachev, PleaseJustDont, + Rasmus Melchior Jacobsen, Ray Satiro, renovate[bot], Samuel Henrique, + Sarah Gooding, sbernatsky on github, Sergey, Sören Tempel, Stefan Eissing, + Stephen Farrell, Tal Regev, Thomas Klausner, Tomas Volf, Travis Lane, + Viktor Szakats, wolfsage on hackerone, x1sc0 on github, xiadnoring on github, + Yedaya Katsman, zopsicle on github + (91 contributors) + +References to bug reports and discussions on issues: + + [1] = https://curl.se/bug/?i=16924 + [2] = https://curl.se/bug/?i=16947 + [3] = https://curl.se/bug/?i=16888 + [4] = https://curl.se/bug/?i=16891 + [5] = https://curl.se/bug/?i=16908 + [6] = https://curl.se/bug/?i=16914 + [7] = https://curl.se/bug/?i=16979 + [8] = https://curl.se/bug/?i=16944 + [9] = https://curl.se/bug/?i=16985 + [10] = https://curl.se/bug/?i=16916 + [11] = https://curl.se/bug/?i=16998 + [12] = https://curl.se/bug/?i=16942 + [13] = https://curl.se/bug/?i=16943 + [14] = https://curl.se/bug/?i=16926 + [15] = https://curl.se/bug/?i=16936 + [16] = https://curl.se/bug/?i=16939 + [17] = https://curl.se/bug/?i=16938 + [18] = https://curl.se/bug/?i=16935 + [19] = https://curl.se/bug/?i=16933 + [20] = https://curl.se/bug/?i=16932 + [21] = https://curl.se/bug/?i=16925 + [22] = https://curl.se/bug/?i=16907 + [23] = https://curl.se/bug/?i=16919 + [24] = https://curl.se/mail/lib-2025-04/0000.html + [25] = https://curl.se/mail/lib-2025-04/0004.html + [26] = https://curl.se/bug/?i=17007 + [27] = https://curl.se/bug/?i=16980 + [28] = https://curl.se/bug/?i=16972 + [29] = https://curl.se/bug/?i=16957 + [30] = https://curl.se/bug/?i=17008 + [31] = https://curl.se/bug/?i=16956 + [32] = https://curl.se/bug/?i=16978 + [33] = https://curl.se/bug/?i=17002 + [34] = https://curl.se/bug/?i=16955 + [35] = https://curl.se/bug/?i=16965 + [36] = https://curl.se/bug/?i=16966 + [37] = https://curl.se/bug/?i=16958 + [38] = https://curl.se/bug/?i=16929 + [39] = https://curl.se/bug/?i=16952 + [40] = https://curl.se/bug/?i=16946 + [41] = https://curl.se/bug/?i=16951 + [42] = https://curl.se/bug/?i=17001 + [43] = https://curl.se/bug/?i=16878 + [44] = https://curl.se/bug/?i=16950 + [45] = https://curl.se/bug/?i=16999 + [46] = https://curl.se/bug/?i=16922 + [47] = https://curl.se/bug/?i=16993 + [48] = https://curl.se/bug/?i=16991 + [49] = https://curl.se/bug/?i=16975 + [50] = https://curl.se/bug/?i=16963 + [51] = https://curl.se/bug/?i=16990 + [52] = https://curl.se/bug/?i=16744 + [53] = https://curl.se/bug/?i=16995 + [54] = https://curl.se/bug/?i=16983 + [55] = https://curl.se/bug/?i=16742 + [56] = https://curl.se/bug/?i=16987 + [57] = https://curl.se/bug/?i=16923 + [58] = https://curl.se/bug/?i=16825 + [59] = https://curl.se/bug/?i=17037 + [60] = https://curl.se/bug/?i=16986 + [61] = https://curl.se/bug/?i=17057 + [62] = https://curl.se/bug/?i=17036 + [63] = https://curl.se/bug/?i=17052 + [64] = https://curl.se/bug/?i=17092 + [65] = https://curl.se/bug/?i=17061 + [66] = https://curl.se/bug/?i=17062 + [67] = https://curl.se/bug/?i=17056 + [68] = https://curl.se/bug/?i=17055 + [69] = https://curl.se/bug/?i=17054 + [70] = https://curl.se/bug/?i=17087 + [71] = https://curl.se/bug/?i=17099 + [72] = https://curl.se/bug/?i=17047 + [73] = https://curl.se/bug/?i=16946 + [74] = https://curl.se/bug/?i=17042 + [75] = https://curl.se/bug/?i=17041 + [76] = https://curl.se/bug/?i=17325 + [77] = https://curl.se/bug/?i=17088 + [78] = https://curl.se/bug/?i=17039 + [79] = https://curl.se/bug/?i=17010 + [80] = https://curl.se/bug/?i=17020 + [81] = https://curl.se/bug/?i=17030 + [82] = https://curl.se/bug/?i=17025 + [83] = https://curl.se/bug/?i=17023 + [84] = https://curl.se/bug/?i=17028 + [85] = https://curl.se/bug/?i=17024 + [86] = https://curl.se/bug/?i=17176 + [87] = https://curl.se/bug/?i=17014 + [88] = https://curl.se/bug/?i=17012 + [89] = https://curl.se/bug/?i=17005 + [90] = https://curl.se/bug/?i=17083 + [91] = https://curl.se/bug/?i=16761 + [92] = https://curl.se/bug/?i=17015 + [93] = https://curl.se/bug/?i=17105 + [94] = https://curl.se/bug/?i=17220 + [95] = https://curl.se/bug/?i=17077 + [96] = https://curl.se/bug/?i=17027 + [97] = https://curl.se/bug/?i=17035 + [98] = https://curl.se/bug/?i=17112 + [99] = https://curl.se/bug/?i=16384 + [100] = https://curl.se/bug/?i=17050 + [101] = https://curl.se/bug/?i=17035 + [102] = https://curl.se/bug/?i=17106 + [103] = https://curl.se/bug/?i=17240 + [104] = https://curl.se/bug/?i=17172 + [105] = https://curl.se/bug/?i=17101 + [106] = https://curl.se/bug/?i=17091 + [107] = https://curl.se/bug/?i=17082 + [108] = https://curl.se/bug/?i=17217 + [109] = https://curl.se/bug/?i=17048 + [110] = https://curl.se/bug/?i=17143 + [111] = https://curl.se/bug/?i=17163 + [112] = https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1103938 + [113] = https://curl.se/bug/?i=12982 + [114] = https://curl.se/bug/?i=17139 + [115] = https://curl.se/bug/?i=17165 + [116] = https://curl.se/bug/?i=17160 + [117] = https://curl.se/bug/?i=17233 + [118] = https://curl.se/bug/?i=17138 + [119] = https://curl.se/bug/?i=17159 + [120] = https://curl.se/bug/?i=17211 + [121] = https://curl.se/bug/?i=17231 + [122] = https://curl.se/bug/?i=17228 + [123] = https://curl.se/bug/?i=17147 + [124] = https://curl.se/bug/?i=17142 + [125] = https://curl.se/bug/?i=17140 + [126] = https://curl.se/bug/?i=17107 + [127] = https://curl.se/bug/?i=17209 + [128] = https://curl.se/bug/?i=17207 + [129] = https://curl.se/bug/?i=17206 + [130] = https://curl.se/bug/?i=17122 + [131] = https://curl.se/bug/?i=17354 + [132] = https://curl.se/bug/?i=17130 + [133] = https://curl.se/bug/?i=17199 + [134] = https://curl.se/bug/?i=17120 + [135] = https://curl.se/bug/?i=17113 + [136] = https://curl.se/bug/?i=17146 + [137] = https://curl.se/bug/?i=17204 + [138] = https://curl.se/bug/?i=17227 + [139] = https://curl.se/bug/?i=17203 + [140] = https://curl.se/bug/?i=17198 + [141] = https://curl.se/bug/?i=17221 + [142] = https://curl.se/bug/?i=17340 + [143] = https://curl.se/bug/?i=17177 + [144] = https://curl.se/bug/?i=17170 + [145] = https://curl.se/bug/?i=17308 + [146] = https://curl.se/bug/?i=17197 + [147] = https://curl.se/bug/?i=17196 + [148] = https://curl.se/bug/?i=17195 + [149] = https://curl.se/bug/?i=17188 + [150] = https://curl.se/bug/?i=17351 + [151] = https://curl.se/bug/?i=16581 + [152] = https://curl.se/bug/?i=17184 + [153] = https://curl.se/bug/?i=17186 + [154] = https://curl.se/bug/?i=17183 + [155] = https://curl.se/bug/?i=17179 + [156] = https://curl.se/bug/?i=17350 + [157] = https://curl.se/bug/?i=17289 + [158] = https://curl.se/bug/?i=17286 + [159] = https://curl.se/bug/?i=17347 + [160] = https://curl.se/bug/?i=17284 + [161] = https://curl.se/bug/?i=17306 + [162] = https://curl.se/bug/?i=17301 + [163] = https://curl.se/bug/?i=17281 + [164] = https://curl.se/bug/?i=17270 + [165] = https://curl.se/bug/?i=17371 + [166] = https://curl.se/bug/?i=17348 + [167] = https://curl.se/bug/?i=17275 + [168] = https://curl.se/bug/?i=17346 + [169] = https://curl.se/bug/?i=17274 + [170] = https://curl.se/bug/?i=17297 + [171] = https://curl.se/bug/?i=17268 + [172] = https://curl.se/bug/?i=17298 + [173] = https://curl.se/bug/?i=17397 + [174] = https://curl.se/bug/?i=17264 + [175] = https://curl.se/bug/?i=17263 + [176] = https://curl.se/bug/?i=17259 + [177] = https://curl.se/bug/?i=17373 + [178] = https://curl.se/bug/?i=17383 + [179] = https://curl.se/bug/?i=17258 + [180] = https://curl.se/bug/?i=17337 + [181] = https://curl.se/bug/?i=17330 + [182] = https://curl.se/bug/?i=17334 + [183] = https://curl.se/bug/?i=17331 + [184] = https://curl.se/bug/?i=17333 + [185] = https://curl.se/bug/?i=17328 + [186] = https://curl.se/bug/?i=17251 + [187] = https://curl.se/bug/?i=17247 + [188] = https://curl.se/bug/?i=17332 + [189] = https://curl.se/bug/?i=17329 + [190] = https://curl.se/bug/?i=17294 + [191] = https://curl.se/bug/?i=17256 + [192] = https://curl.se/bug/?i=17443 + [193] = https://curl.se/bug/?i=17364 + [194] = https://curl.se/bug/?i=17294 + [195] = https://curl.se/bug/?i=17321 + [196] = https://curl.se/bug/?i=17318 + [197] = https://curl.se/bug/?i=17317 + [198] = https://curl.se/bug/?i=17319 + [199] = https://curl.se/bug/?i=17316 + [200] = https://curl.se/bug/?i=17365 + [201] = https://curl.se/bug/?i=17359 + [202] = https://curl.se/bug/?i=17358 + [203] = https://curl.se/bug/?i=17361 + [204] = https://curl.se/bug/?i=17295 + [205] = https://curl.se/bug/?i=17441 + [206] = https://curl.se/bug/?i=17353 + [207] = https://curl.se/bug/?i=17394 + [208] = https://curl.se/bug/?i=17454 + [209] = https://curl.se/bug/?i=17455 + [211] = https://curl.se/bug/?i=17416 + [212] = https://curl.se/bug/?i=16829 + [213] = https://curl.se/bug/?i=17420 + [214] = https://curl.se/bug/?i=17380 + [215] = https://curl.se/bug/?i=17384 + [216] = https://curl.se/bug/?i=17379 + [217] = https://curl.se/bug/?i=17382 + [218] = https://curl.se/bug/?i=17381 + [219] = https://curl.se/bug/?i=17370 + [220] = https://curl.se/bug/?i=17430 + [222] = https://curl.se/bug/?i=17414 + [227] = https://curl.se/bug/?i=17415 + [232] = https://curl.se/bug/?i=17412 + [235] = https://curl.se/bug/?i=17407 + [240] = https://curl.se/bug/?i=17129 diff --git a/curl/bin/curl-ca-bundle.crt b/curl/bin/curl-ca-bundle.crt new file mode 100644 index 0000000..4acd8e5 --- /dev/null +++ b/curl/bin/curl-ca-bundle.crt @@ -0,0 +1,3480 @@ +## +## Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Tue May 20 03:12:02 2025 GMT +## +## Find updated versions here: https://curl.se/docs/caextract.html +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/release/security/nss/lib/ckfw/builtins/certdata.txt +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## +## Conversion done with mk-ca-bundle.pl version 1.29. +## SHA256: 8944ec6b572b577daee4fc681a425881f841ec2660e4cb5f0eee727f84620697 +## + + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +======================================== +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe +Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE +LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD +ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA +BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv +KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z +p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC +AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ +4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y +eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw +MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G +PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw +OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm +2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV +dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph +X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 EV 2009 +================================= +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS +egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh +zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T +7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 +sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 +11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv +cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v +ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El +MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp +b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh +c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ +PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX +ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA +NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv +w9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +CA Disig Root R2 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC +w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia +xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 +A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S +GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV +g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa +5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE +koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A +Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i +Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u +Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV +sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je +dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 +1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx +mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 +utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 +sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg +UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV +7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +ACCVRAIZ1 +========= +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB +SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 +MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH +UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM +jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 +RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD +aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ +0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG +WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 +8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR +5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J +9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK +Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw +Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu +Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM +Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA +QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh +AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA +YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj +AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA +IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk +aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 +dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 +MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI +hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E +R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN +YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 +nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ +TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 +sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg +Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd +3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p +EfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +TWCA Global Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT +CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD +QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK +EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C +nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV +r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR +Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV +tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W +KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 +sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p +yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn +kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI +zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g +cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M +8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg +/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg +lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP +A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m +i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 +EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 +zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= +-----END CERTIFICATE----- + +TeliaSonera Root CA v1 +====================== +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE +CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 +MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW +VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ +6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA +3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k +B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn +Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH +oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 +F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ +oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 +gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc +TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB +AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW +DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm +zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW +pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV +G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc +c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT +JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 +qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 +Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems +WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 2 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx +MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ +SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F +vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 +2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV +WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy +YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 +r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf +vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR +3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== +-----END CERTIFICATE----- + +Atos TrustedRoot 2011 +===================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU +cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 +MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG +A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV +hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr +54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ +DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 +HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR +z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R +l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ +bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h +k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh +TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 +61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G +3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +QuoVadis Root CA 1 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE +PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm +PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 +Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN +ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l +g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV +7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX +9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f +iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg +t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI +hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 +GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct +Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP ++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh +3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa +wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 +O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 +FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV +hMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +QuoVadis Root CA 2 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh +ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY +NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t +oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o +MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l +V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo +L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ +sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD +6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh +lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI +hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K +pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 +x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz +dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X +U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw +mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD +zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN +JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr +O3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +QuoVadis Root CA 3 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 +IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL +Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe +6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 +I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U +VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 +5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi +Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM +dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt +rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI +hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS +t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ +TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du +DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib +Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD +hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX +0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW +dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 +PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +DigiCert Assured ID Root G2 +=========================== +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw +MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH +35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq +bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw +VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP +YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn +lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO +w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv +0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz +d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW +hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M +jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +DigiCert Assured ID Root G3 +=========================== +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD +VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb +RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs +KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF +UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy +YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy +1vUhZscv6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +DigiCert Global Root G2 +======================= +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx +MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ +kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO +3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV +BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM +UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu +5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr +F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U +WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH +QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ +iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +DigiCert Global Root G3 +======================= +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD +VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw +MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k +aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C +AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O +YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp +Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y +3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 +VOKa5Vt8sycX +-----END CERTIFICATE----- + +DigiCert Trusted Root G4 +======================== +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw +HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp +pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o +k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa +vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY +QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 +MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm +mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 +f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH +dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 +oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY +ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr +yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy +7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah +ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN +5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb +/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa +5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK +G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP +82Z+ +-----END CERTIFICATE----- + +COMODO RSA Certification Authority +================================== +-----BEGIN CERTIFICATE----- +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 +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- + +USERTrust RSA Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +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 +Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +USERTrust ECC Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 +0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez +nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV +HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB +HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu +9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R5 +=========================== +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 +SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS +h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx +uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 +yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +IdenTrust Commercial Root CA 1 +============================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS +b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES +MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB +IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld +hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ +mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi +1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C +XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl +3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy +NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV +WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg +xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix +uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI +hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg +ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt +ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV +YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX +feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro +kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe +2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz +Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R +cGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +IdenTrust Public Sector Root CA 1 +================================= +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv +ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV +UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS +b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy +P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 +Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI +rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf +qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS +mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn +ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh +LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v +iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL +4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B +Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw +DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A +mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt +GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt +m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx +NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 +Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI +ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC +ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ +3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy +bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug +b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw +HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT +DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx +OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP +/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz +HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU +s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y +TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx +AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 +0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z +iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi +nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ +vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO +e4pIb4tF9g== +-----END CERTIFICATE----- + +Entrust Root Certification Authority - EC1 +========================================== +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx +FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn +YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw +FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs +LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy +AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef +9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h +vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 +kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +CFCA EV ROOT +============ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE +CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB +IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw +MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD +DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV +BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD +7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN +uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW +ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 +xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f +py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K +gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol +hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ +tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf +BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q +ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua +4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG +E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX +BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn +aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy +PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX +kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C +ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GB CA +=============================== +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG +EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw +MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds +b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX +scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP +rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk +9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o +Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg +GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI +hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD +dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 +VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui +HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +SZAFIR ROOT CA2 +=============== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV +BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ +BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD +VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q +qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK +DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE +2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ +ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi +ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC +AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 +O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 +oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul +4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 ++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +Certum Trusted Network CA 2 +=========================== +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE +BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 +bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y +ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ +TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB +IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 +7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o +CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b +Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p +uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 +GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ +9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB +Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye +hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM +BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI +hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW +Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA +L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo +clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM +pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb +w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo +J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm +ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX +is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 +zAYspsbiDrW5viSP +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2015 +======================================================= +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT +BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 +aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl +YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx +MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg +QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV +BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw +MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv +bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh +iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ +6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd +FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr +i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F +GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 +fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu +iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI +hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ +D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM +d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y +d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn +82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb +davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F +Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt +J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa +JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q +p/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions ECC RootCA 2015 +=========================================================== +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 +aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj +aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw +MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj +IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD +VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 +Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP +dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK +Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA +GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn +dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +ISRG Root X1 +============ +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE +BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD +EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG +EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT +DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r +Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 +3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K +b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN +Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ +4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf +1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu +hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH +usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r +OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G +A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY +9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV +0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt +hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw +TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx +e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA +JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD +YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n +JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ +m+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM +================ +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT +AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw +MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD +TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf +qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr +btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL +j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou +08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw +WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT +tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ +47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC +ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa +i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o +dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s +D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ +j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT +Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW ++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 +Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d +8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm +5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG +rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +Amazon Root CA 1 +================ +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 +MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH +FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ +gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t +dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce +VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 +DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM +CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy +8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa +2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 +xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +Amazon Root CA 2 +================ +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 +MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 +kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp +N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 +AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd +fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx +kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS +btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 +Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN +c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ +3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw +DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA +A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE +YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW +xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ +gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW +aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV +Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 +KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi +JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= +-----END CERTIFICATE----- + +Amazon Root CA 3 +================ +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB +f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr +Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 +rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc +eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +Amazon Root CA 4 +================ +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN +/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri +83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA +MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 +AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT +D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr +IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g +TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp +ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD +VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt +c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth +bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 +IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 +6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc +wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 +3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 +WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU +ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc +lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R +e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j +q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +GDCA TrustAUTH R5 ROOT +====================== +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw +BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD +DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow +YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs +AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p +OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr +pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ +9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ +xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM +R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ +D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 +oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx +9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 +H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 +6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd ++PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ +HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD +F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ +8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv +/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT +aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +SSL.com Root Certification Authority RSA +======================================== +-----BEGIN CERTIFICATE----- +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 +WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +SSL.com Root Certification Authority ECC +======================================== +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv +BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy +MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO +BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ +8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR +hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT +jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW +e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z +5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority RSA R2 +============================================== +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w +DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u +MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI +DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD +VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh +hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w +cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO +Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ +B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh +CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim +9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto +RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm +JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 ++qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp +qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 +++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx +Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G +guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz +OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 +CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq +lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR +rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 +hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX +9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority ECC +=========================================== +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy +BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw +MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM +LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy +3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O +BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe +5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ +N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm +m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +GlobalSign Root CA - R6 +======================= +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX +R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i +YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs +U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss +grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE +3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF +vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM +PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+ +azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O +WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy +CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP +0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN +b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE +AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV +HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0 +lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY +BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym +Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr +3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1 +0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T +uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK +oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t +JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GC CA +=============================== +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD +SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo +MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa +Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL +ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr +VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab +NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E +AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk +AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +UCA Global G2 Root +================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG +EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x +NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU +cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT +oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV +8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS +h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o +LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/ +R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe +KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa +4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc +OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97 +8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo +5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A +Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9 +yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX +c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo +jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk +bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x +ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn +RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A== +-----END CERTIFICATE----- + +UCA Extended Validation Root +============================ +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG +EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u +IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G +A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs +iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF +Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu +eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR +59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH +0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR +el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv +B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth +WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS +NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS +3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL +BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM +aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4 +dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb ++7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW +F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi +GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc +GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi +djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr +dhh2n1ax +-----END CERTIFICATE----- + +Certigna Root CA +================ +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE +BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ +MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda +MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz +MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX +stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz +KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8 +JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16 +XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq +4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej +wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ +lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI +jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/ +/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy +dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h +LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl +cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt +OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP +TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq +7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3 +4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd +8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS +6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY +tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS +aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde +E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- + +emSign Root CA - G1 +=================== +-----BEGIN CERTIFICATE----- +MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET +MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl +ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx +ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk +aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN +LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1 +cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW +DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ +6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH +hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2 +vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q +NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q ++Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih +U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx +iN66zB+Afko= +-----END CERTIFICATE----- + +emSign ECC Root CA - G3 +======================= +-----BEGIN CERTIFICATE----- +MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG +A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg +MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4 +MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11 +ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g +RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc +58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr +MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D +CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7 +jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj +-----END CERTIFICATE----- + +emSign Root CA - C1 +=================== +-----BEGIN CERTIFICATE----- +MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx +EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp +Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE +BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD +ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up +ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/ +Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX +OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V +I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms +lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+ +XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD +ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp +/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1 +NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9 +wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ +BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI= +-----END CERTIFICATE----- + +emSign ECC Root CA - C3 +======================= +-----BEGIN CERTIFICATE----- +MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG +A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF +Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE +BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD +ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd +6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9 +SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA +B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA +MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU +ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== +-----END CERTIFICATE----- + +Hongkong Post Root CA 3 +======================= +-----BEGIN CERTIFICATE----- +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 +dBb9HxEGmpv0 +-----END CERTIFICATE----- + +Microsoft ECC Root Certificate Authority 2017 +============================================= +-----BEGIN CERTIFICATE----- +MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQgRUND +IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4 +MjMxNjA0WjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw +NAYDVQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZRogPZnZH6 +thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYbhGBKia/teQ87zvH2RPUB +eMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIy5lycFIM ++Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlf +Xu5gKcs68tvWMoQZP3zVL8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaR +eNtUjGUBiudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= +-----END CERTIFICATE----- + +Microsoft RSA Root Certificate Authority 2017 +============================================= +-----BEGIN CERTIFICATE----- +MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG +EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQg +UlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIw +NzE4MjMwMDIzWjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +MTYwNAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZNt9GkMml +7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0ZdDMbRnMlfl7rEqUrQ7e +S0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw7 +1VdyvD/IybLeS2v4I2wDwAW9lcfNcztmgGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+ +dkC0zVJhUXAoP8XFWvLJjEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49F +yGcohJUcaDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaGYaRS +MLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6W6IYZVcSn2i51BVr +lMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4KUGsTuqwPN1q3ErWQgR5WrlcihtnJ +0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJ +ClTUFLkqqNfs+avNJVgyeY+QW5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZCLgLNFgVZJ8og +6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OCgMNPOsduET/m4xaRhPtthH80 +dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk ++ONVFT24bcMKpBLBaYVu32TxU5nhSnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex +/2kskZGT4d9Mozd2TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDy +AmH3pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGRxpl/j8nW +ZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiAppGWSZI1b7rCoucL5mxAyE +7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKT +c0QWbej09+CVgI+WXTik9KveCjCHk9hNAHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D +5KbvtwEwXlGjefVwaaZBRA+GsCyRxj3qrg+E +-----END CERTIFICATE----- + +e-Szigno Root CA 2017 +===================== +-----BEGIN CERTIFICATE----- +MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNVBAYTAkhVMREw +DwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUt +MjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJvb3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZa +Fw00MjA4MjIxMjA3MDZaMHExCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UE +CgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3pp +Z25vIFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtvxie+RJCx +s1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+HWyx7xf58etqjYzBhMA8G +A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSHERUI0arBeAyxr87GyZDv +vzAEwDAfBgNVHSMEGDAWgBSHERUI0arBeAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEA +tVfd14pVCzbhhkT61NlojbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxO +svxyqltZ+efcMQ== +-----END CERTIFICATE----- + +certSIGN Root CA G2 +=================== +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAlJPMRQw +EgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjAeFw0xNzAy +MDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lH +TiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAMDFdRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05 +N0IwvlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZuIt4Imfk +abBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhpn+Sc8CnTXPnGFiWeI8Mg +wT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKscpc/I1mbySKEwQdPzH/iV8oScLumZfNp +dWO9lfsbl83kqK/20U6o2YpxJM02PbyWxPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91Qqh +ngLjYl/rNUssuHLoPj1PrCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732 +jcZZroiFDsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fxDTvf +95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgyLcsUDFDYg2WD7rlc +z8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6CeWRgKRM+o/1Pcmqr4tTluCRVLERL +iohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1Ud +DgQWBBSCIS1mxteg4BXrzkwJd8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOB +ywaK8SJJ6ejqkX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC +b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQlqiCA2ClV9+BB +/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0OJD7uNGzcgbJceaBxXntC6Z5 +8hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+cNywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5 +BiKDUyUM/FHE5r7iOZULJK2v0ZXkltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklW +atKcsWMy5WHgUyIOpwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tU +Sxfj03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZkPuXaTH4M +NMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE1LlSVHJ7liXMvGnjSG4N +0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MXQRBdJ3NghVdJIgc= +-----END CERTIFICATE----- + +Trustwave Global Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +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 +29FpHOTKyeC2nOnOcXHebD8WpHk= +-----END CERTIFICATE----- + +Trustwave Global ECC P256 Certification Authority +================================================= +-----BEGIN CERTIFICATE----- +MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYDVQQGEwJVUzER +MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI +b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYD +VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy +dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1 +NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH77bOYj +43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoNFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqm +P62jQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt +0UrrdaVKEJmzsaGLSvcwCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjz +RM4q3wghDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 +-----END CERTIFICATE----- + +Trustwave Global ECC P384 Certification Authority +================================================= +-----BEGIN CERTIFICATE----- +MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzER +MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI +b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYD +VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy +dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4 +NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGvaDXU1CDFH +Ba5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr +/TklZvFe/oyujUF5nQlgziip04pt89ZF1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNV +HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn +ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl +CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw== +-----END CERTIFICATE----- + +NAVER Global Root Certification Authority +========================================= +-----BEGIN CERTIFICATE----- +MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG +A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD +DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4 +NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT +UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb +UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW ++j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7 +XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2 +aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4 +Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z +VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B +A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai +cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy +YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV +HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB +Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK +21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB +jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx +hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg +E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH +D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ +A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY +qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG +I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg +kpzNNIaRkPpkUZ3+/uul9XXeifdy +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM SERVIDORES SEGUROS +=================================== +-----BEGIN CERTIFICATE----- +MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQswCQYDVQQGEwJF +UzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgwFgYDVQRhDA9WQVRFUy1RMjgy +NjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1SQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4 +MTIyMDA5MzczM1oXDTQzMTIyMDA5MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt +UkNNMQ4wDAYDVQQLDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNB +QyBSQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LHsbI6GA60XYyzZl2hNPk2 +LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oKUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqG +SM49BAMDA2kAMGYCMQCuSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoD +zBOQn5ICMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJyv+c= +-----END CERTIFICATE----- + +GlobalSign Root R46 +=================== +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUAMEYxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJv +b3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAX +BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08Es +CVeJOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQGvGIFAha/ +r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud316HCkD7rRlr+/fKYIje +2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo0q3v84RLHIf8E6M6cqJaESvWJ3En7YEt +bWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSEy132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvj +K8Cd+RTyG/FWaha/LIWFzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD4 +12lPFzYE+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCNI/on +ccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzsx2sZy/N78CsHpdls +eVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqaByFrgY/bxFn63iLABJzjqls2k+g9 +vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEM +BQADggIBAHx47PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg +JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti2kM3S+LGteWy +gxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIkpnnpHs6i58FZFZ8d4kuaPp92 +CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRFFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZm +OUdkLG5NrmJ7v2B0GbhWrJKsFjLtrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qq +JZ4d16GLuc1CLgSkZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwye +qiv5u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP4vkYxboz +nxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6N3ec592kD3ZDZopD8p/7 +DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3vouXsXgxT7PntgMTzlSdriVZzH81Xwj3 +QEUxeCp6 +-----END CERTIFICATE----- + +GlobalSign Root E46 +=================== +-----BEGIN CERTIFICATE----- +MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT +AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3Qg +RTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNV +BAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkB +jtjqR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGddyXqBPCCj +QjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQxCpCPtsad0kRL +gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk +vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+ +CAezNIm8BZ/3Hobui3A= +-----END CERTIFICATE----- + +GLOBALTRUST 2020 +================ +-----BEGIN CERTIFICATE----- +MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQx +IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT +VCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYxMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAh +BgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAy +MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi +D59bRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9ZYybNpyrO +VPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3QWPKzv9pj2gOlTblzLmM +CcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPwyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCm +fecqQjuCgGOlYx8ZzHyyZqjC0203b+J+BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKA +A1GqtH6qRNdDYfOiaxaJSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9OR +JitHHmkHr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj04KlG +DfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9MedKZssCz3AwyIDMvU +clOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIwq7ejMZdnrY8XD2zHc+0klGvIg5rQ +mjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1Ud +IwQYMBaAFNwuH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA +VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJCXtzoRlgHNQIw +4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd6IwPS3BD0IL/qMy/pJTAvoe9 +iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS +8cE54+X1+NZK3TTN+2/BT+MAi1bikvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2 +HcqtbepBEX4tdJP7wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxS +vTOBTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6CMUO+1918 +oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn4rnvyOL2NSl6dPrFf4IF +YqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+IaFvowdlxfv1k7/9nR4hYJS8+hge9+6jl +gqispdNpQ80xiEmEU5LAsTkbOYMBMMTyqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== +-----END CERTIFICATE----- + +ANF Secure Server Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNVBAUTCUc2MzI4 +NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lv +bjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNVBAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3Qg +Q0EwHhcNMTkwOTA0MTAwMDM4WhcNMzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEw +MQswCQYDVQQGEwJFUzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQw +EgYDVQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9vdCBDQTCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCjcqQZAZ2cC4Ffc0m6p6zz +BE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9qyGFOtibBTI3/TO80sh9l2Ll49a2pcbnv +T1gdpd50IJeh7WhM3pIXS7yr/2WanvtH2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcv +B2VSAKduyK9o7PQUlrZXH1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXse +zx76W0OLzc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyRp1RM +VwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQzW7i1o0TJrH93PB0j +7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/SiOL9V8BY9KHcyi1Swr1+KuCLH5z +JTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJnLNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe +8TZBAQIvfXOn3kLMTOmJDVb3n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVO +Hj1tyRRM4y5Bu8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj +o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAOBgNVHQ8BAf8E +BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEATh65isagmD9uw2nAalxJ +UqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzx +j6ptBZNscsdW699QIyjlRRA96Gejrw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDt +dD+4E5UGUcjohybKpFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM +5gf0vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjqOknkJjCb +5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ/zo1PqVUSlJZS2Db7v54 +EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ92zg/LFis6ELhDtjTO0wugumDLmsx2d1H +hk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGy +g77FGr8H6lnco4g175x2MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3 +r5+qPeoott7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= +-----END CERTIFICATE----- + +Certum EC-384 CA +================ +-----BEGIN CERTIFICATE----- +MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQswCQYDVQQGEwJQ +TDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2 +MDcyNDU0WhcNNDMwMzI2MDcyNDU0WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERh +dGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +GTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATEKI6rGFtq +vm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7TmFy8as10CW4kjPMIRBSqn +iBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68KjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFI0GZnQkdjrzife81r1HfS+8EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNo +ADBlAjADVS2m5hjEfO/JUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0 +QoSZ/6vnnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= +-----END CERTIFICATE----- + +Certum Trusted Root CA +====================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +TunTrust Root CA +================ +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +HARICA TLS RSA Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQG +EwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUz +OFoXDTQ1MDIxMzEwNTUzN1owbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRl +bWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNB +IFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569lmwVnlskN +JLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE4VGC/6zStGndLuwRo0Xu +a2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uva9of08WRiFukiZLRgeaMOVig1mlDqa2Y +Ulhu2wr7a89o+uOkXjpFc5gH6l8Cct4MpbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K +5FrZx40d/JiZ+yykgmvwKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEv +dmn8kN3bLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcYAuUR +0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqBAGMUuTNe3QvboEUH +GjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYqE613TBoYm5EPWNgGVMWX+Ko/IIqm +haZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHrW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQ +CPxrvrNQKlr9qEgYRtaQQJKQCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAUX15QvWiWkKQU +EapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3f5Z2EMVGpdAgS1D0NTsY9FVq +QRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxajaH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxD +QpSbIPDRzbLrLFPCU3hKTwSUQZqPJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcR +j88YxeMn/ibvBZ3PzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5 +vZStjBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0/L5H9MG0 +qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pTBGIBnfHAT+7hOtSLIBD6 +Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79aPib8qXPMThcFarmlwDB31qlpzmq6YR/ +PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YWxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnn +kf3/W9b3raYvAwtt41dU63ZTGI0RmLo= +-----END CERTIFICATE----- + +HARICA TLS ECC Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH +UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD +QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX +DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj +IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv +b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l +AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b +ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW +0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi +rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw +CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1Ud +DgQWBBRlzeurNR4APn7VdMActHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4w +gZswgZgGBFUdIAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j +b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABCAG8AbgBhAG4A +bwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAwADEANzAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9miWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL +4QjbEwj4KKE1soCzC1HA01aajTNFSa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDb +LIpgD7dvlAceHabJhfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1il +I45PVf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZEEAEeiGaP +cjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV1aUsIC+nmCjuRfzxuIgA +LI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2tCsvMo2ebKHTEm9caPARYpoKdrcd7b/+A +lun4jWq9GJAd/0kakFI3ky88Al2CdgtR5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH +9IBk9W6VULgRfhVwOEqwf9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpf +NIbnYrX9ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNKGbqE +ZycPvEJdvSRUDewdcAZfpLz6IHxV +-----END CERTIFICATE----- + +vTrus ECC Root CA +================= +-----BEGIN CERTIFICATE----- +MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMwRzELMAkGA1UE +BhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBS +b290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDczMTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAa +BgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYw +EAYHKoZIzj0CAQYFK4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+c +ToL0v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUde4BdS49n +TPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIwV53dVvHH4+m4SVBrm2nDb+zDfSXkV5UT +QJtS0zvzQBm8JsctBp61ezaf9SXUY2sAAjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQL +YgmRWAD5Tfs0aNoJrSEGGJTO +-----END CERTIFICATE----- + +vTrus Root CA +============= +-----BEGIN CERTIFICATE----- +MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQELBQAwQzELMAkG +A1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xFjAUBgNVBAMTDXZUcnVzIFJv +b3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMxMDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoG +A1UEChMTaVRydXNDaGluYSBDby4sTHRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZots +SKYcIrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykUAyyNJJrI +ZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+GrPSbcKvdmaVayqwlHeF +XgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z98Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KA +YPxMvDVTAWqXcoKv8R1w6Jz1717CbMdHflqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70 +kLJrxLT5ZOrpGgrIDajtJ8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2 +AXPKBlim0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZNpGvu +/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQUqqzApVg+QxMaPnu +1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHWOXSuTEGC2/KmSNGzm/MzqvOmwMVO +9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMBAAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYg +scasGrz2iTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOC +AgEAKbqSSaet8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd +nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1jbhd47F18iMjr +jld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvMKar5CKXiNxTKsbhm7xqC5PD4 +8acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIivTDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJn +xDHO2zTlJQNgJXtxmOTAGytfdELSS8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554Wg +icEFOwE30z9J4nfrI8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4 +sEb9b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNBUvupLnKW +nyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1PTi07NEPhmg4NpGaXutIc +SkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929vensBxXVsFy6K2ir40zSbofitzmdHxghm+H +l3s= +-----END CERTIFICATE----- + +ISRG Root X2 +============ +-----BEGIN CERTIFICATE----- +MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQswCQYDVQQGEwJV +UzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElT +UkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVT +MSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNS +RyBSb290IFgyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0H +ttwW+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9ItgKbppb +d9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZIzj0EAwMDaAAwZQIwe3lORlCEwkSHRhtF +cP9Ymd70/aTSVaYgLXTWNLxBo1BfASdWtL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5 +U6VR5CmD1/iQMVtCnwr1/q4AaOeMSQ+2b1tbFfLn +-----END CERTIFICATE----- + +HiPKI Root CA - G1 +================== +-----BEGIN CERTIFICATE----- +MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBPMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xGzAZBgNVBAMMEkhpUEtJ +IFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRaFw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYT +AlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kg +Um9vdCBDQSAtIEcxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0 +o9QwqNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twvVcg3Px+k +wJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6lZgRZq2XNdZ1AYDgr/SE +YYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnzQs7ZngyzsHeXZJzA9KMuH5UHsBffMNsA +GJZMoYFL3QRtU6M9/Aes1MU3guvklQgZKILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfd +hSi8MEyr48KxRURHH+CKFgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj +1jOXTyFjHluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDry+K4 +9a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ/W3c1pzAtH2lsN0/ +Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgMa/aOEmem8rJY5AIJEzypuxC00jBF +8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQD +AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi +7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqcSE5XCV0vrPSl +tJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6FzaZsT0pPBWGTMpWmWSBUdGSquE +wx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9TcXzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07Q +JNBAsNB1CI69aO4I1258EHBGG3zgiLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv +5wiZqAxeJoBF1PhoL5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+Gpz +jLrFNe85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wrkkVbbiVg +hUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+vhV4nYWBSipX3tUZQ9rb +yltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQUYDksswBVLuT1sw5XxJFBAJw/6KXf6vb/ +yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R4 +=========================== +-----BEGIN CERTIFICATE----- +MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYDVQQLExtHbG9i +YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgwMTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9i +YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkW +ymOxuYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNVHQ8BAf8E +BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/+wpu+74zyTyjhNUwCgYI +KoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147bmF0774BxL4YSFlhgjICICadVGNA3jdg +UM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm +-----END CERTIFICATE----- + +GTS Root R1 +=========== +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV +UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg +UjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE +ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7raKb0 +xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnWr4+w +B7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXW +nOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk +9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zq +kUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92wO1A +K/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om3xPX +V2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDW +cfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQAD +ggIBAJ+qQibbC5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe +QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuyh6f88/qBVRRi +ClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM47HLwEXWdyzRSjeZ2axfG34ar +J45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8JZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYci +NuaCp+0KueIHoI17eko8cdLiA6EfMgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5me +LMFrUKTX5hgUvYU/Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJF +fbdT6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ0E6yove+ +7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm2tIMPNuzjsmhDYAPexZ3 +FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bbbP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3 +gm3c +-----END CERTIFICATE----- + +GTS Root R2 +=========== +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV +UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg +UjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE +ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo7JUl +e3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWIm8Wb +a96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS ++LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7M +kogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJG +r61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RWIr9q +S34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73VululycslaVNV +J1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy5okL +dWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQAD +ggIBAB/Kzt3HvqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 +0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyCB19m3H0Q/gxh +swWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2uNmSRXbBoGOqKYcl3qJfEycel +/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMgyALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVn +jWQye+mew4K6Ki3pHrTgSAai/GevHyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y5 +9PYjJbigapordwj6xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M +7YNRTOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924SgJPFI/2R8 +0L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV7LXTWtiBmelDGDfrs7vR +WGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjW +HYbL +-----END CERTIFICATE----- + +GTS Root R3 +=========== +-----BEGIN CERTIFICATE----- +MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi +MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMw +HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ +R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjO +PQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24CejQjBA +MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP0/Eq +Er24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azT +L818+FsuVbu/3ZL3pAzcMeGiAjEA/JdmZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV +11RZt+cRLInUue4X +-----END CERTIFICATE----- + +GTS Root R4 +=========== +-----BEGIN CERTIFICATE----- +MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi +MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQw +HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ +R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjO +PQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqjQjBA +MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV2Py1 +PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/C +r8deVl5c1RxYIigL9zC2L7F8AjEA8GE8p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh +4rsUecrNIdSUtUlD +-----END CERTIFICATE----- + +Telia Root CA v2 +================ +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQxCzAJBgNVBAYT +AkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2 +MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQK +DBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ7 +6zBqAMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9vVYiQJ3q +9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9lRdU2HhE8Qx3FZLgmEKn +pNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTODn3WhUidhOPFZPY5Q4L15POdslv5e2QJl +tI5c0BE0312/UqeBAMN/mUWZFdUXyApT7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW +5olWK8jjfN7j/4nlNW4o6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNr +RBH0pUPCTEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6WT0E +BXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63RDolUK5X6wK0dmBR4 +M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZIpEYslOqodmJHixBTB0hXbOKSTbau +BcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGjYzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7W +xy+G2CQ5MB0GA1UdDgQWBBRyrOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ +8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi0f6X+J8wfBj5 +tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMMA8iZGok1GTzTyVR8qPAs5m4H +eW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBSSRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+C +y748fdHif64W1lZYudogsYMVoe+KTTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygC +QMez2P2ccGrGKMOF6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15 +h2Er3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMtTy3EHD70 +sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pTVmBds9hCG1xLEooc6+t9 +xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAWysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQ +raVplI/owd8k+BsHMYeB2F326CjYSlKArBPuUBQemMc= +-----END CERTIFICATE----- + +D-TRUST BR Root CA 1 2020 +========================= +-----BEGIN CERTIFICATE----- +MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE +RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0EgMSAy +MDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNV +BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7 +dPYSzuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0QVK5buXu +QqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/VbNafAkl1bK6CKBrqx9t +MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu +bmV0L2NybC9kLXRydXN0X2JyX3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP +PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD +AwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFWwKrY7RjEsK70Pvom +AjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHVdWNbFJWcHwHP2NVypw87 +-----END CERTIFICATE----- + +D-TRUST EV Root CA 1 2020 +========================= +-----BEGIN CERTIFICATE----- +MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE +RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0EgMSAy +MDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNV +BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8 +ZRCC/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rDwpdhQntJ +raOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3OqQo5FD4pPfsazK2/umL +MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu +bmV0L2NybC9kLXRydXN0X2V2X3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP +PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD +AwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CAy/m0sRtW9XLS/BnR +AjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJbgfM0agPnIjhQW+0ZT0MW +-----END CERTIFICATE----- + +DigiCert TLS ECC P384 Root G5 +============================= +-----BEGIN CERTIFICATE----- +MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURpZ2lDZXJ0IFRMUyBFQ0MgUDM4 +NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQg +Um9vdCBHNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1Tzvd +lHJS7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp0zVozptj +n4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICISB4CIfBFqMA4GA1UdDwEB +/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQCJao1H5+z8blUD2Wds +Jk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQLgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIx +AJSdYsiJvRmEFOml+wG4DXZDjC5Ty3zfDBeWUA== +-----END CERTIFICATE----- + +DigiCert TLS RSA4096 Root G5 +============================ +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBNMQswCQYDVQQG +EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0 +MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2 +IFJvb3QgRzUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS8 +7IE+ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG02C+JFvuU +AT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgpwgscONyfMXdcvyej/Ces +tyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZMpG2T6T867jp8nVid9E6P/DsjyG244gXa +zOvswzH016cpVIDPRFtMbzCe88zdH5RDnU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnV +DdXifBBiqmvwPXbzP6PosMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9q +TXeXAaDxZre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cdLvvy +z6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvXKyY//SovcfXWJL5/ +MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNeXoVPzthwiHvOAbWWl9fNff2C+MIk +wcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPLtgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4E +FgQUUTMc7TZArxfTJc1paPKvTiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw +GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7HPNtQOa27PShN +lnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLFO4uJ+DQtpBflF+aZfTCIITfN +MBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQREtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/ +u4cnYiWB39yhL/btp/96j1EuMPikAdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9G +OUrYU9DzLjtxpdRv/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh +47a+p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilwMUc/dNAU +FvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WFqUITVuwhd4GTWgzqltlJ +yqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCKovfepEWFJqgejF0pW8hL2JpqA15w8oVP +bEtoL8pU9ozaMv7Da4M/OMZ+ +-----END CERTIFICATE----- + +Certainly Root R1 +================= +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAwPTELMAkGA1UE +BhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2VydGFpbmx5IFJvb3QgUjEwHhcN +MjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2Vy +dGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBANA21B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O +5MQTvqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbedaFySpvXl +8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b01C7jcvk2xusVtyWMOvwl +DbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGI +XsXwClTNSaa/ApzSRKft43jvRl5tcdF5cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkN +KPl6I7ENPT2a/Z2B7yyQwHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQ +AjeZjOVJ6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA2Cnb +rlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyHWyf5QBGenDPBt+U1 +VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMReiFPCyEQtkA6qyI6BJyLm4SGcprS +p6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTgqj8ljZ9EXME66C6ud0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAsz +HQNTVfSVcOQrPbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d +8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi1wrykXprOQ4v +MMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrdrRT90+7iIgXr0PK3aBLXWopB +GsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9ditaY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+ +gjwN/KUD+nsa2UUeYNrEjvn8K8l7lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgH +JBu6haEaBQmAupVjyTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7 +fpYnKx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLyyCwzk5Iw +x06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5nwXARPbv0+Em34yaXOp/S +X3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6OV+KmalBWQewLK8= +-----END CERTIFICATE----- + +Certainly Root E1 +================= +-----BEGIN CERTIFICATE----- +MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQswCQYDVQQGEwJV +UzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBFMTAeFw0yMTA0 +MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlu +bHkxGjAYBgNVBAMTEUNlcnRhaW5seSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4 +fxzf7flHh4axpMCK+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9 +YBk2QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4hevIIgcwCgYIKoZIzj0E +AwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozmut6Dacpps6kFtZaSF4fC0urQe87YQVt8 +rgIwRt7qy12a7DLCZRawTDBcMPPaTnOGBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR +-----END CERTIFICATE----- + +Security Communication ECC RootCA1 +================================== +-----BEGIN CERTIFICATE----- +MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYTAkpQMSUwIwYD +VQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYDVQQDEyJTZWN1cml0eSBDb21t +dW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYxNjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTEL +MAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNV +BAMTIlNlY3VyaXR5IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+CnnfdldB9sELLo +5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpKULGjQjBAMB0GA1UdDgQW +BBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAK +BggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3L +snNdo4gIxwwCMQDAqy0Obe0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70e +N9k= +-----END CERTIFICATE----- + +BJCA Global Root CA1 +==================== +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQG +EwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJK +Q0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAzMTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkG +A1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQD +DBRCSkNBIEdsb2JhbCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFm +CL3ZxRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZspDyRhyS +sTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O558dnJCNPYwpj9mZ9S1Wn +P3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgRat7GGPZHOiJBhyL8xIkoVNiMpTAK+BcW +yqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRj +eulumijWML3mG90Vr4TqnMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNn +MoH1V6XKV0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/pj+b +OT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZOz2nxbkRs1CTqjSSh +GL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXnjSXWgXSHRtQpdaJCbPdzied9v3pK +H9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMB +AAGjQjBAMB0GA1UdDgQWBBTF7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 +YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3KliawLwQ8hOnThJ +dMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u+2D2/VnGKhs/I0qUJDAnyIm8 +60Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuh +TaRjAv04l5U/BXCga99igUOLtFkNSoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW +4AB+dAb/OMRyHdOoP2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmp +GQrI+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRzznfSxqxx +4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9eVzYH6Eze9mCUAyTF6ps +3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4S +SPfSKcOYKMryMguTjClPPGAyzQWWYezyr/6zcCwupvI= +-----END CERTIFICATE----- + +BJCA Global Root CA2 +==================== +-----BEGIN CERTIFICATE----- +MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQswCQYDVQQGEwJD +TjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJKQ0Eg +R2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgyMVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UE +BhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRC +SkNBIEdsb2JhbCBSb290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jl +SR9BIgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK++kpRuDCK +/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJKsVF/BvDRgh9Obl+rg/xI +1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8 +W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8g +UXOQwKhbYdDFUDn9hf7B43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w== +-----END CERTIFICATE----- + +Sectigo Public Server Authentication Root E46 +============================================= +-----BEGIN CERTIFICATE----- +MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQswCQYDVQQGEwJH +QjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBTZXJ2 +ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5 +WjBfMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0 +aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUr +gQQAIgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccCWvkEN/U0 +NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+6xnOQ6OjQjBAMB0GA1Ud +DgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAKBggqhkjOPQQDAwNnADBkAjAn7qRaqCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RH +lAFWovgzJQxC36oCMB3q4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21U +SAGKcw== +-----END CERTIFICATE----- + +Sectigo Public Server Authentication Root R46 +============================================= +-----BEGIN CERTIFICATE----- +MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBfMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT +ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1 +OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T +ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3 +DQEBAQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDaef0rty2k +1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnzSDBh+oF8HqcIStw+Kxwf +GExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xfiOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMP +FF1bFOdLvt30yNoDN9HWOaEhUTCDsG3XME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vu +ZDCQOc2TZYEhMbUjUDM3IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5Qaz +Yw6A3OASVYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgESJ/A +wSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu+Zd4KKTIRJLpfSYF +plhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt8uaZFURww3y8nDnAtOFr94MlI1fZ +EoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+LHaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW +6aWWrL3DkJiy4Pmi1KZHQ3xtzwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWI +IUkwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c +mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQYKlJfp/imTYp +E0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52gDY9hAaLMyZlbcp+nv4fjFg4 +exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZAFv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M +0ejf5lG5Nkc/kLnHvALcWxxPDkjBJYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI +84HxZmduTILA7rpXDhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9m +pFuiTdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5dHn5Hrwd +Vw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65LvKRRFHQV80MNNVIIb/b +E/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmm +J1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAYQqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL +-----END CERTIFICATE----- + +SSL.com TLS RSA Root CA 2022 +============================ +-----BEGIN CERTIFICATE----- +MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQG +EwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0Eg +Um9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloXDTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMC +VVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJv +b3QgQ0EgMjAyMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u +9nTPL3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OYt6/wNr/y +7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0insS657Lb85/bRi3pZ7Qcac +oOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3PnxEX4MN8/HdIGkWCVDi1FW24IBydm5M +R7d1VVm0U3TZlMZBrViKMWYPHqIbKUBOL9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDG +D6C1vBdOSHtRwvzpXGk3R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEW +TO6Af77wdr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS+YCk +8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYSd66UNHsef8JmAOSq +g+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoGAtUjHBPW6dvbxrB6y3snm/vg1UYk +7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2fgTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsu +N+7jhHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt +hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsMQtfhWsSWTVTN +j8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvfR4iyrT7gJ4eLSYwfqUdYe5by +iB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJDPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjU +o3KUQyxi4U5cMj29TH0ZR6LDSeeWP4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqo +ENjwuSfr98t67wVylrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7Egkaib +MOlqbLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2wAgDHbICi +vRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3qr5nsLFR+jM4uElZI7xc7 +P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sjiMho6/4UIyYOf8kpIEFR3N+2ivEC+5BB0 +9+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA= +-----END CERTIFICATE----- + +SSL.com TLS ECC Root CA 2022 +============================ +-----BEGIN CERTIFICATE----- +MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV +UzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBFQ0MgUm9v +dCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMx +GDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3Qg +Q0EgMjAyMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWy +JGYmacCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFNSeR7T5v1 +5wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSJjy+j6CugFFR7 +81a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NWuCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGG +MAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w +7deedWo1dlJF4AIxAMeNb0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5 +Zn6g6g== +-----END CERTIFICATE----- + +Atos TrustedRoot Root CA ECC TLS 2021 +===================================== +-----BEGIN CERTIFICATE----- +MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4wLAYDVQQDDCVB +dG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0wCwYDVQQKDARBdG9zMQswCQYD +VQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3Mg +VHJ1c3RlZFJvb3QgUm9vdCBDQSBFQ0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYT +AkRFMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6K +DP/XtXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4AjJn8ZQS +b+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2KCXWfeBmmnoJsmo7jjPX +NtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIwW5kp85wxtolrbNa9d+F851F+ +uDrNozZffPc8dz7kUK2o59JZDCaOMDtuCCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGY +a3cpetskz2VAv9LcjBHo9H1/IISpQuQo +-----END CERTIFICATE----- + +Atos TrustedRoot Root CA RSA TLS 2021 +===================================== +-----BEGIN CERTIFICATE----- +MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBMMS4wLAYDVQQD +DCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIxMQ0wCwYDVQQKDARBdG9zMQsw +CQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0 +b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNV +BAYTAkRFMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BB +l01Z4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYvYe+W/CBG +vevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZkmGbzSoXfduP9LVq6hdK +ZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDsGY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt +0xU6kGpn8bRrZtkh68rZYnxGEFzedUlnnkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVK +PNe0OwANwI8f4UDErmwh3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMY +sluMWuPD0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzygeBY +Br3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8ANSbhqRAvNncTFd+ +rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezBc6eUWsuSZIKmAMFwoW4sKeFYV+xa +fJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lIpw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUdEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0G +CSqGSIb3DQEBDAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS +4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPso0UvFJ/1TCpl +Q3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJqM7F78PRreBrAwA0JrRUITWX +AdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuywxfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9G +slA9hGCZcbUztVdF5kJHdWoOsAgMrr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2Vkt +afcxBPTy+av5EzH4AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9q +TFsR0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuYo7Ey7Nmj +1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5dDTedk+SKlOxJTnbPP/l +PqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcEoji2jbDwN/zIIX8/syQbPYtuzE2wFg2W +HYMfRsCbvUOZ58SWLs5fyQ== +-----END CERTIFICATE----- + +TrustAsia Global Root CA G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEMBQAwWjELMAkG +A1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJDAiBgNVBAMM +G1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAeFw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEw +MTlaMFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMu +MSQwIgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNST1QY4Sxz +lZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqKAtCWHwDNBSHvBm3dIZwZ +Q0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/V +P68czH5GX6zfZBCK70bwkPAPLfSIC7Epqq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1Ag +dB4SQXMeJNnKziyhWTXAyB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm +9WAPzJMshH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gXzhqc +D0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAvkV34PmVACxmZySYg +WmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msTf9FkPz2ccEblooV7WIQn3MSAPmea +mseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jAuPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCF +TIcQcf+eQxuulXUtgQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj +7zjKsK5Xf/IhMBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E +BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4wM8zAQLpw6o1 +D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2XFNFV1pF1AWZLy4jVe5jaN/T +G3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNj +duMNhXJEIlU/HHzp/LgV6FL6qj6jITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstl +cHboCoWASzY9M/eVVHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys ++TIxxHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1onAX1daBli +2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d7XB4tmBZrOFdRWOPyN9y +aFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2NtjjgKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsAS +ZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFR +JQJ6+N1rZdVtTTDIZbpoFGWsJwt0ivKH +-----END CERTIFICATE----- + +TrustAsia Global Root CA G4 +=========================== +-----BEGIN CERTIFICATE----- +MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMwWjELMAkGA1UE +BhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJDAiBgNVBAMMG1Ry +dXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0yMTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJa +MFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQw +IgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi +AATxs8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbwLxYI+hW8 +m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJijYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mDpm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/ +pDHel4NZg6ZvccveMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AA +bbd+NvBNEU/zy4k6LHiRUKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xk +dUfFVZDj/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA== +-----END CERTIFICATE----- + +CommScope Public Trust ECC Root-01 +================================== +-----BEGIN CERTIFICATE----- +MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMwTjELMAkGA1UE +BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz +dCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNaFw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYT +AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg +RUNDIFJvb3QtMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLx +eP0CflfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJEhRGnSjot +6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggqhkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2 +Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liW +pDVfG2XqYZpwI7UNo5uSUm9poIyNStDuiw7LR47QjRE= +-----END CERTIFICATE----- + +CommScope Public Trust ECC Root-02 +================================== +-----BEGIN CERTIFICATE----- +MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMwTjELMAkGA1UE +BhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBUcnVz +dCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRaFw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYT +AlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3Qg +RUNDIFJvb3QtMDIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/M +MDALj2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmUv4RDsNuE +SgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggqhkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9 +Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/nich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs7 +3u1Z/GtMMH9ZzkXpc2AVmkzw5l4lIhVtwodZ0LKOag== +-----END CERTIFICATE----- + +CommScope Public Trust RSA Root-01 +================================== +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQELBQAwTjELMAkG +A1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBU +cnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNV +BAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1 +c3QgUlNBIFJvb3QtMDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45Ft +nYSkYZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslhsuitQDy6 +uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0alDrJLpA6lfO741GIDuZNq +ihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3OjWiE260f6GBfZumbCk6SP/F2krfxQapWs +vCQz0b2If4b19bJzKo98rwjyGpg/qYFlP8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/c +Zip8UlF1y5mO6D1cv547KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTif +BSeolz7pUcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/kQO9 +lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JOHg9O5j9ZpSPcPYeo +KFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkBEa801M/XrmLTBQe0MXXgDW1XT2mH ++VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6UCBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm4 +5P3luG0wDQYJKoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6 +NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQnmhUQo8mUuJM +3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+QgvfKNmwrZggvkN80V4aCRck +jXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2vtrV0KnahP/t1MJ+UXjulYPPLXAziDslg+Mkf +Foom3ecnf+slpoq9uC02EJqxWE2aaE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/W +NyVntHKLr4W96ioDj8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+ +o/E4Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0wlREQKC6/ +oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHnYfkUyq+Dj7+vsQpZXdxc +1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVocicCMb3SgazNNtQEo/a2tiRc7ppqEvOuM +6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw +-----END CERTIFICATE----- + +CommScope Public Trust RSA Root-02 +================================== +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQELBQAwTjELMAkG +A1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29tbVNjb3BlIFB1YmxpYyBU +cnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNV +BAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1 +c3QgUlNBIFJvb3QtMDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3V +rCLENQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0kyI9p+Kx +7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1CrWDaSWqVcN3SAOLMV2MC +e5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxzhkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2W +Wy09X6GDRl224yW4fKcZgBzqZUPckXk2LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rp +M9kzXzehxfCrPfp4sOcsn/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIf +hs1w/tkuFT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5kQMr +eyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3wNemKfrb3vOTlycE +VS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6vwQcQeKwRoi9C8DfF8rhW3Q5iLc4t +Vn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7Gx +cJXvYXowDQYJKoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB +KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3+VGXu6TwYofF +1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbymeAPnCKfWxkxlSaRosTKCL4BWa +MS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3NyqpgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xd +gSGn2rtO/+YHqP65DSdsu3BaVXoT6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2O +HG1QAk8mGEPej1WFsQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+Nm +YWvtPjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2dlklyALKr +dVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670v64fG9PiO/yzcnMcmyiQ +iRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17Org3bhzjlP1v9mxnhMUF6cKojawHhRUzN +lM47ni3niAIi9G7oyOzWPPO5std3eqx7 +-----END CERTIFICATE----- + +Telekom Security TLS ECC Root 2020 +================================== +-----BEGIN CERTIFICATE----- +MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQswCQYDVQQGEwJE +RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJUZWxl +a29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIwMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIz +NTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkg +R21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqG +SM49AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/OtdKPD/M1 +2kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDPf8iAC8GXs7s1J8nCG6NC +MEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6fMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZ +Mo7k+5Dck2TOrbRBR2Diz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdU +ga/sf+Rn27iQ7t0l +-----END CERTIFICATE----- + +Telekom Security TLS RSA Root 2023 +================================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +FIRMAPROFESIONAL CA ROOT-A WEB +============================== +-----BEGIN CERTIFICATE----- +MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQswCQYDVQQGEwJF +UzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4 +MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENBIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2 +WhcNNDcwMzMxMDkwMTM2WjBuMQswCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25h +bCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFM +IENBIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zfe9MEkVz6 +iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6CcyvHZpsKjECcfIr28jlg +st7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FD +Y1w8ndYn81LsF7Kpryz3dvgwHQYDVR0OBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB +/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgL +cFBTApFwhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dGXSaQ +pYXFuXqUPoeovQA= +-----END CERTIFICATE----- + +TWCA CYBER Root CA +================== +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQMQswCQYDVQQG +EwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NB +IENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQG +EwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NB +IENZQkVSIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1s +Ts6P40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxFavcokPFh +V8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/34bKS1PE2Y2yHer43CdT +o0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684iJkXXYJndzk834H/nY62wuFm40AZoNWDT +Nq5xQwTxaWV4fPMf88oon1oglWa0zbfuj3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK +/c/WMw+f+5eesRycnupfXtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkH +IuNZW0CP2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDAS9TM +fAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDAoS/xUgXJP+92ZuJF +2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzCkHDXShi8fgGwsOsVHkQGzaRP6AzR +wyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83 +QOGt4A1WNzAdBgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB +AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0ttGlTITVX1olN +c79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn68xDiBaiA9a5F/gZbG0jAn/x +X9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNnTKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDR +IG4kqIQnoVesqlVYL9zZyvpoBJ7tRCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq +/p1hvIbZv97Tujqxf36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0R +FxbIQh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz8ppy6rBe +Pm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4NxKfKjLji7gh7MMrZQzv +It6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzXxeSDwWrruoBa3lwtcHb4yOWHh8qgnaHl +IhInD0Q9HWzq1MKLL295q39QpsQZp6F6t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X +-----END CERTIFICATE----- + +SecureSign Root CA12 +==================== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT +ZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgwNTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJ +BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU +U2VjdXJlU2lnbiBSb290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3 +emhFKxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mtp7JIKwcc +J/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zdJ1M3s6oYwlkm7Fsf0uZl +fO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gurFzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBF +EaCeVESE99g2zvVQR9wsMJvuwPWW0v4JhscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1Uef +NzFJM3IFTQy2VYzxV4+Kh9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsFAAOC +AQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6LdmmQOmFxv3Y67ilQi +LUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJmBClnW8Zt7vPemVV2zfrPIpyMpce +mik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPS +vWKErI4cqc1avTc7bgoitPQV55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhga +aaI5gdka9at/yOPiZwud9AzqVN/Ssq+xIvEg37xEHA== +-----END CERTIFICATE----- + +SecureSign Root CA14 +==================== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEMBQAwUTELMAkG +A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT +ZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgwNzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJ +BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU +U2VjdXJlU2lnbiBSb290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh +1oq/FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOgvlIfX8xn +bacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy6pJxaeQp8E+BgQQ8sqVb +1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa +/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9JkdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOE +kJTRX45zGRBdAuVwpcAQ0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSx +jVIHvXiby8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac18iz +ju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs0Wq2XSqypWa9a4X0 +dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIABSMbHdPTGrMNASRZhdCyvjG817XsY +AFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVLApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeq +YR3r6/wtbyPk86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E +rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ibed87hwriZLoA +ymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopTzfFP7ELyk+OZpDc8h7hi2/Ds +Hzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHSDCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPG +FrojutzdfhrGe0K22VoF3Jpf1d+42kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6q +nsb58Nn4DSEC5MUoFlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/ +OfVyK4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6dB7h7sxa +OgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtlLor6CZpO2oYofaphNdgO +pygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB365jJ6UeTo3cKXhZ+PmhIIynJkBugnLN +eLLIjzwec+fBH7/PzqUqm9tEZDKgu39cJRNItX+S +-----END CERTIFICATE----- + +SecureSign Root CA15 +==================== +-----BEGIN CERTIFICATE----- +MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMwUTELMAkGA1UE +BhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRTZWN1 +cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMyNTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNV +BAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2Vj +dXJlU2lnbiBSb290IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5G +dCx4wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSRZHX+AezB +2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT9DAKBggqhkjOPQQDAwNoADBlAjEA2S6J +fl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJ +SwdLZrWeqrqgHkHZAXQ6bkU6iYAZezKYVWOr62Nuk22rGwlgMU4= +-----END CERTIFICATE----- + +D-TRUST BR Root CA 2 2023 +========================= +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG +EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0Eg +MiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUwOTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTAT +BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCT +cfKri3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNEgXtRr90z +sWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8k12b9py0i4a6Ibn08OhZ +WiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCTRphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6 +++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LUL +QyReS2tNZ9/WtT5PeB+UcSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIv +x9gvdhFP/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bSuREV +MweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+0bpwHJwh5Q8xaRfX +/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4NDfTisl01gLmB1IRpkQLLddCNxbU9 +CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUZ5Dw1t61GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC +MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y +XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tIFoE9c+CeJyrr +d6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67nriv6uvw8l5VAk1/DLQOj7aRv +U9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTRVFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4 +nj8+AybmTNudX0KEPUUDAxxZiMrcLmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdij +YQ6qgYF/6FKC0ULn4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff +/vtDhQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsGkoHU6XCP +pz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46ls/pdu4D58JDUjxqgejB +WoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aSEcr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/ +5usWDiJFAbzdNpQ0qTUmiteXue4Icr80knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jt +n/mtd+ArY0+ew+43u3gJhJ65bvspmZDogNOfJA== +-----END CERTIFICATE----- + +D-TRUST EV Root CA 2 2023 +========================= +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG +EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0Eg +MiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUwOTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTAT +BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1 +sJkKF8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE7CUXFId/ +MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFeEMbsh2aJgWi6zCudR3Mf +vc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6lHPTGGkKSv/BAQP/eX+1SH977ugpbzZM +lWGG2Pmic4ruri+W7mjNPU0oQvlFKzIbRlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3 +YG14C8qKXO0elg6DpkiVjTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq910 +7PncjLgcjmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZxTnXo +nMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+ARZZaBhDM7DS3LAa +QzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nkhbDhezGdpn9yo7nELC7MmVcOIQxF +AZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knFNXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUqvyREBuHkV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC +MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y +XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14QvBukEdHjqOS +Mo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4pZt+UPJ26oUFKidBK7GB0aL2 +QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xD +UmPBEcrCRbH0O1P1aa4846XerOhUt7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V +4U/M5d40VxDJI3IXcI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuo +dNv8ifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT2vFp4LJi +TZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs7dpn1mKmS00PaaLJvOwi +S5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNPgofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/ +HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAstNl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L ++KIkBI3Y4WNeApI02phhXBxvWHZks/wCuPWdCg== +-----END CERTIFICATE----- diff --git a/curl/bin/curl.exe b/curl/bin/curl.exe new file mode 100644 index 0000000000000000000000000000000000000000..92bb951a9b3350f020e0a8bd99eb4b5ea668a89e GIT binary patch literal 3571304 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 z z%w{oa`M*Yw#EI`g=Y-J>u-9|YD9oS+=xf*s-c2}$o!r9C)9U0b*N_Pyrk&8#vY{i0 z6>>14)$PXGkTL|#YLhVz5#=Ko8lf0$;C{J{D3cF>NAHrWX<0xEwqXyX8Vg2Ios@F8 z<#xfT8VN8m%N|8fAfSR1!a5zr%$yzzi2iEi1j}fJnez?g#01#|biW}Vc?FPpA46$- zb!_QEn#Q&Rmy&C>IZm$=Sh=Y(O0k*3?ohHhuuVaO_pVOLiJ;JoiWn?nIli7rzBJlF zWeoI{?g2J>HR{B3@Rz@g9WMJGZuj7KQ6tufDW)QWvZ9n$W-v{~zJUzY zo>~Qe>Tz$pm2LL)rdsu;c( z8csQV-T^Xo-ZRv+1#7THOhEjjHL=XBA12W6kh{#2XcMexEO6eq^{=4UfN0}KrGU`d zV_ch!{G(0Ui)AjtkO|C1)s+zJt*ET1N^WRqLlL=wZDgu;LkCbt5oy66A^}q!I9lO* z_>a~=s|DKyaQQE=B(O;e(k6J;B3hZ?F|Occn>Z4Jog!dI)Ba8o_S0yL+J*TZQ>DKL zTRx@LF!Q*&jl5K+zD3_lD?D#t%Q?C}ggKi}Q)V7V!^|TzY6iX0V~6JriiWs3#mwV) z0IL(0c&;+5%CyAu^|l?w5)V2va>S#LVuXWVd<=h;MV|f2B2Ncz8roXwSJxiz3$r|W z$JsQ?qpdv(aihLJWta!XgQT8@CplAT>pbm5C)WKZS?94HW1ss+AR-&Lo>R$20&iKg zwa=i^_(N!{c(=K>@pWJe1l#T};!df?TrPLVE>Jrce2PMW(fIAiBPCGM5}$`Jnqw|C zAq8e7fO=+dtx!j-(3cBW5jOM_d^$v?8oB_*{%AGJ#0&A23in4Y&o8lKu+gew%dZsK zD-v;{5N81s5t~9~_L7te(fKENjTo51`@fZa_ouT2@9S^10G`EgAWTJDXf8U|7g!c7 zCIc8?5gy!Bdivq$uZrbLqYgAWiv9j4j_;n!YW!V%p2Q!ahQd-f7W3YpT$*MaxP@^r z9*hI?pMF9t9NrX~pXMGcb5x;h(rq#j{$}*idoyC{LTGSf%3a0{bWRD~PUKXcDf?2p zI_aJZ;sXWe!de{HX?Ms}NL)La~ojpAqUviHneudhHwFLTGv zNyT}GwPV{gmiET0Dw5HG?(6AOY=SS(|6nmLz@>>k{$DY$iOs^WP6of|2w6llDF~wC zUS*utJ5$+w?5aWY*@kJ&`H|VVP}!=JT;lu6v{iQ)zOV3f16_h^!euaEBVlOa^(GdS z7aYM4Fc~m}8=it+@;>M#{u>%q_VHdorc<;@e_Qb7!s?V-E*!e0hqL4xYE}c1@tF23 zzh*qkY<$+$hYyln`lrRaV{38i3tW>+mH9TP%-gqnivZ>Y3D}O}xP@>54~5;qfQ6e` zQx*F_jh`y)yxi$mG=X%r5v$7Z{9ZOjZOhIZ!|4&|zl)PHO%W+( zj1llYO2!~L;%8$Fo;%OF4Zuo5FE;ZEG0UHs-?tN{G=C?Xu?OCv9{~9iN+=hC9yfwt z&zO7!DWOU5no~y3;6M-O!X5k9U1`oBWe1QD8=GE0Aed~mV6L^Y@K^$hVeY3PscCpQsb}1_pQJdTUAyr#)Cae3SO)0gAY6oHER8+ z{JA1nu7+14`M@sHZ*dy6!fu^hpj^I2C)*$60lj8CD@PH1V<|%V8^(kgS`%((lSk>F z#=<|$g$0S#NQQxf4amqBd83RQW+d+hQu%&?vNVX9_bQ|r3XvHv%txr!{YI3gp)~8b zk$5p77Gxdr;5>12vXO&Kv-qMiX0(9y;pa}A=4O{5f=Atoe15BjrpT@T#PPN^NkVW5L`zpsMa}b?k{{@%2 z56*WB+~?5J;&pm(D^JZJyiq4<;w|(iehY06_gnt$>@8^G`!CR%g7AWki-*{AqjBvy zHnI7pmAwU{Wsby;z;0QmZ-G{>9yp%#jaHDL7|`z6uioXl00w9QlqzlixI`ubK74Sw z!8qbDaf^PibwB%8Pk;pfB(&~Dd{#qtV|d4)5srRBt8!QL3=~M9R_1|KTj8}LHklVnN4IBg4 zeHioCQ?s{JYq~y1j82to)q=z(&;to<{*q{M%~muJY}04Iqt$(fCFUK$J~ix>*s5+Q z?&6V6fxgAG7y+j-z)?8uvu%!^9k|*feyR$ppo;DJ+m9*4vd2c0ia3Z5JPJ{>2m-aH z$>@pnJeNx-y zm7XUsWo+-Y{zsFE%k)qA7HA4w$j73x7DNu9ZC4(|7)3DZ`8^8AdRD~FyjWI~#lPH4 z#7DB@3_vUwH+FP+uBDZzJAONKRE!!2Tx|XWamdq0-x9AzWCkE>!E)xBY5yvv^(3xJ zptRyHWB^(^Gz0l&zXPCymA+JCYf*7Lmo=Dcq6O~)P_>?k_Iu`E3&K51GX87)p}!Sh zhi3o?n(EjNr$D?R-s%E}j^phi{XA$tZ423Ig(s&?-K9M6@jWKP;*(F#A;b56u5T-P zRI*nK5CiJ_hIiHQNkGkCWl8ic!#~H?EqgC?9c(u1Cx-9P)_e+b$_fjRN2(!q)63tF zjWF{@M!@kaGVci4^6^v)m6vpD^_!7hFW*`nD|=IL2j2gOhV-65wh)PdswPmev}3*Wp>^L0oGwFJNa<$^h0i<)6#}R1i}O=IkYq*TnxV5S6O#;HzFNI+KJkUt*WqgdZ&Q zF7z_T)++w-K>%f9E@q&mg_#b-pU1>Bzl?CAl(DTUmXd_#KQZ@NO8o*YSG0(=WbTwIGd>YK^%)oa%2Q!sJvp2&WpCRny?c6}1!gK&Rs1l#4>z%E=DTfVz!(W0)yyFLop9v;3m9LP*X4f3%@0^cP@^QzJl3A+&@i5@-8b4h=oQE2n}h(^7ns@#v*3! zF9Go~bEh%y&CuFGmtTJQy@Pfc^Iq51K8*__ouAo} zKl6xIw+*u+9+kDa5h$KE1$PcUQZ{?wWE&UQz;fI-*L}vTtQCnZ8#&RvS~kfnD+sJR zfPpE+?yPC;hel2o035|s!1JXs6T`CukBR^QcEu0IJkrvcs8MIwn`z!o@Ggtj_Sap3%nFnm3l2ley{jK zQSg~;U>4cC{;nU*Z~^ify7Y}+K$Hg%uqhm14GmGXB`!)i{QxISF6>`xs99WpKwY3v zIOsFPF-Z}^F7Rs#!NM6*;jXEyie30QZ$SkqA$of95HRQOEB-{Oc*1;NnO~TDZ+!4# z+~CP|`zz;b%`5o(9C*{4>vs7D?TkN1rfbpm=SJaDYTpIR{CK2^%U$~#ma@QAOOV%R z<3R^Nvp5M~=2~zs2nTv=xrkbcbvyAz$2%Zs&Vc6|WF|YqsIZT#fbXL}GVgJ^3u}G` zSig9808IJ3am|XGxY=0y&`wm0X%ijp;5Pj|Sb;_v!wNQHA)W^;=~Io@0en7=n{qyw zp)ma%oXZ?ClK8ZA5Phwig}n<`)MUN_8b;x5L6N(nI`%~)r_=#bL^G~03p_FWUs+vPuC~hsnhfO#R?lYNr8REu+^n4W zYGs@0!mkoVZOB?c7525P?!m2S*ZA@4_)EuLI|KW13s_NzW`^aXeJz*=^1tM*z}sM| zzNT*lOWbDl-V&!*O!K~O`k9A^3`{2LKIuMBBYB+>ysqVBcSdr3eZ;1-?}Jp=NvYDA zD4Z&>b~vVA!?swV``(Mev?K;z2)}9sJ`u{AFkN1P*|q_!_=SBJAMA zNTOmr))k9A&G_k)XpY6MDc(Kqr{>y54%>Ra>G*y@iHSAo=GxE)D6C+C%oD z9O$RoEja+=v(OLYL2k&vp*M92Ja0jq@7wU7$FB2P#pC-CGUrF%X$;Wu`WT)=zlg43 z7XH)MFpFv;y5>!Zvsn6}2_$iKRn;KMUpX(;6<~lMMI*%rXtJ9#SRFg9Kc|mUmf&7F zg<1AFZ1~?G<8yX^dSA*XW#84k2JQtNOS1Re4}pXIA(`?`#L}>sCGd$=3%rAB;yfKw z;Ad`!;HOMjj){RII=~^J@?A#VhNx5x!Q}my(5-w!17UsIjLwL|d$Hk%S1Mdi*reA( z`xCx#3dBE8%wc3=>?SrZYup(b#VFr}xKK$cST$yeyi|z`l?e?OjvmmXgVfLh2QQ*^ z#tm(jHrR_0JeW#=n*~e?Rxq*bL^F>|pqfo9ehH%(YxEhrr1qrMiZ!Lx4V0 z_}<+_|FC*+68c{P1P1=iy?8J2^2rp!0CWnkp^Zrn<2t)>Iy|Mq^k8LmY*#`~RgU2k zVA;S%&JcKVgid1(r6x$Ks{p7GT^~U#0W&m-ua4|SF6xPsIY$pVPq4R%-dH7gzX4C> zTSzV)b@ixoCR)7z6!uK7>MA+}#*yWHC+WmaO1~*83R`Z?!3_J;w^f2@y@*cUbtBn!HiZ% zL;uyWFaK!X|Ako#=Uf(q1rl}rAB~Q_#8tXBAUaXMAw6KS?;`65h;8>os4&V+O z9jiH?Rg@JDQ+;38LQEPY-SmF}X&Ol^JpB>EszAJ7IC`9`flQMpS#+&t!~Z0#wmhRM zBPMqyTq*LZIGG}>c1B{o7w@DvZ1^ta0Rw$1G9HwL1g+D+$w1qr0Pt%cv1S42?!g-u z;;+8BcC*OdR=AwC`zU@3Y)%IDC7TD_Sn_houI8=Z-Ym`p=DHj$;^|{^i+K9j-U<*} zB}|zWRe{acz#dRA;`M_|rN7b4Q4V@z#Z^55#$A|N#|R8TP3cFALFjNa)~y+1*%LW_ zF2=G2%c5RGHxkN{jeh*Cs`TWvkb%-D;gieyJI?Oyv$RV0_DlC( zQ{8*5r+ZuUeW&VPrf-sck>t77xBEwv8QrR>^i)Z=&XsNzO1DzP^zeOy0TdNAo<}9i zmxJW)6CQw`Ck~|PXR`kqinu)MXW_5Dp85xR19cLLxB0^(K^fa{8b%JCjv4Ptp0|D! zV)C{lAAY~y{{#%l+l~5BBv#jz3bOI`hM22&ViL%W3qwsz!3HyxX)&ufl$)3_)_pTg z8sb#;7J9a$*EO-p(raafDn5@@*0W(CUighGN;b_!Khss=HhUs@o@4+U7TJt-Y)fCq zT!BraF+Pj;0%ILDYWxfY3JQS&W=4ig6sM(;?;H3YtgsY9<~%&Ea&gL77kzz zS^VHkJ1X+v$h&?%k{jwdKhb)>9mVi3TED^!>Fd~jsNRLYa9;342?u8P|C+I@jCx__ zt{aIS==Cq6h`z23f0Iqik(?e*w4R@;-Xe@Zg%o+twuYtSMw%gXiygxJ4GVPl@}4J_ zQZD6a>R&`##=4i;;yOCy)$8ebH&GC+=a;IQG5iO8@)4qwAK0{zQQk9aV&6-s)2H2d z;zo28toG9qD~mf*U*5ZoDKpUS@Xk`3-+P`h)q%Ahl3ZE<^?$s^+J#j;`8=riVg`-; zz!3+L7IAQFc?lbF$Wh~aSJhZ3H4ZSQI#FXjYgF|)AZZ+cMa2Sxyc~{!#R)&|3XjHp$?;-e=#)I$?Lz=kzCp{ zO1%RUm5A2AiroAcog{(iBsDDMP**vhg>W@ao^Z0siTOed=L}P2QhlWGwWml*2$ZJ@x)ZA zb4Yfb{OqYS_p5cj48Y2)lLc637^RFSW=Ney*>&>Mtn=ck*nhq9m9Z~4sZJKavUu<& zu^dSv!vwU6h|W*~E#c7_KcUP?|A`=tbwm;9$s=2a?t)D^91KNo2_Iz}_;Bvn7}c!8 zEj^ee{#&GOq+B@uHZDDi%hSWZfuNA0tNVvUWdz29+)*Z*<#eN-SE8=c8Mzi4W}pCl z0T*-kh#xz9KgyMQhnl1$xFJ80nkJ$qOPiOT zlrfL_zH2)pP^zQWR_Z?EI_W-B;OW=Ovwv(CCl&V@_AhYg6I}wvgI<7WXo6K=!$9C@ zuN6a=^zvLOMe1SC76>gWNoYd(X-HJ1nmYF+|H-fy^j#^qL*BePl8rpN()zKq8)3zw z71oLe>7vpUh2=MOWt1fP3(hd?7tpownC&#~1Gj--*|~*RKHq7^A9yhc zd~i|VM2>GhbWDN=@y**|!{-hAD01r1_mU6`o{v)T0r;~K(4HjM81{TSlCVkvt(ZEo z6sXrfi3vB#DbK}w4OC>B5X9}N3twGZ%*)ar(+%1lK>WwD3DYXSokOk6Y zG9XZ`+?13U0D~?!M#29<$ajPkL!Szm3)c5EbV1YrmRZAzhPNRplowDNwggrlfj6_Z zqWwk_s{ms8R{R2V`9*7DDMn>RYIOq;m&QuQIXHGYx7d6GJGVe7w-b9p-q!d&h<}7I zXCwfhec&LDwifM7O${b-c7d8Cd97r;+{CL>!?A{U^(Ib;E`x)<{ibAcNAkR8&VS?s zXI_`qIIl4BcRZHqjC?RK@7=r;xXI~ryr7-*`g!DXxc0K~ba7TR_>plW1s`uKIOFN94#GnfNdlnpM+7_Y|o)n>%s zp8fd1_r#heE|#FT4^Bo*VgmBNbqVvUYYVDFO^GS| zGtq1ngSmeY3`KGL>9*f2ItFD()i5!unnpZtpY4Qh+B(8PA#PRmiq~>QLn1XQ?NR8eeyN^|OplVrjGnf9>s{M(NvxY=})Y(JYjF@;yCU|7P z2aFv$`Rskd5aUIHIBu#KkcHbfA3V_)O`fRnhf)wOCGTnz-!(;gAzufW1wKb*MRLRX zHVjN{*c-ZmHS{q+C8_g=Kxx7w^!;YSg;^rU$Rl6>Q{f zJo=90AI8gxXx<*7FeY>&4#~#S>;!)DU$U_*JAt1nVQO{)KUKnv>;!(Q1b21mB(uhn~{>tpY&#f>|+=B8->;Ic?&rvW%D~8 zR7_uRTlFnnAJAj6aF4-Ac2Go5-^t(}<7r#rpdCH@;~ny9!{-pmJQ>IZU?8tXUHaQ7 z3C;nZP}&j~q?pJi3pw&p@5P(R@PrFxC7DOA;%%*DtAZh0sP7z6{~S(MFk&2o*S&yH z$rh8@DnBb1O-kKZicY#5IYH0eCE}jJAMtwRe93BNg^mhZOlLP;9YSdo3aBHK%Z7Qj z%T4F~xD<s7^m#&>d%QU$FVUWi4_WbJ|zG24o&iv~Od_~6fh56SH@f8}^7v*2?@;PZr!}oSH z-~^2EA0|IKnGyogDM?V+yBZ%92uKeaxcmNtUN}@QXk!zvEA0ROy0H-5!1M3@De-`L zo(qqlfKtSjumn05{%wED{pbL@P&|*nhmKb*8CMe08f6=y7gU~n) zO@WuAltp9SqyCO|Ap7i3-zIKc(+2&fTdqoucH0=->Y;n*U1rRSLE|pF+*6$FC^&Z7 z(qhyIdyS~XyHHGkm(!teIz;9K{~7g^ z5=3H-^U05CUR@MRo+nrNyofHpIO)om5%}lS$^%&)c>NJqb*#LeHc^r6VPxl*W>hQ9rq-DpZE588ZBSkupmQiDpNaxws`xTB7F4J0KAdjUk- zUITJ~mWK9UC#?HG=adSaGj-4jlgk%r`pp)t}?K=EbqUT4cLtHm_i0c8Ky{OG@&I0TKPuDq?;(K$+7d46(LGWm6B*jwjQUYbh70O{GgLEPHo zgO$6i4S_irb$fu1EpwxRgBT$HMFa1rL$P$|NIKM!4tSbSBhFE_r7`sG~gNkvBe3JFjL z)ox70f{RcTYj4v7LP!}TeT|7&cnV6RlSa!}CyjaW7ZdR{-tstqN=MC_fuE@=t&HzE zAQnS=7Vl+R;}aAPfEPIP6DWFbvHLD~34%BgZYM4#!^;NYAD|R$#o_TP$l{UpTgVFC zv{9KdLNk+AcPaCLaNvG4>c5mRd+#(vq^&jf_aA=Gzj>4Y*q~*7{r6eNYQb|c8&HUz zb<6FR*nQVinCIXm#h~v7X}Bp^f$V&clAY6F1(^Y469S&4^Yz3*P_Y7pC^0s4{@{fV z+GScDZ4Kfb4l?kcF_^UAW`sf#hfacWyzG}e>1=wmH2YYl)keJ?2YP-DEP&3CTsV@i z;nPOFiFHQnQ%oD661#Dulhuzxv8veLp8EPqySSw3O1mUiPo=D`I`)(*3wr?Y!L)if z>hsVto9BC&q?*{@#o(-i)VSc__(*X&RE`H?oI(0E*ms#IGz7ZO)#~Q}nw#%~$xc4&+KFdf#Go4q;&@ZW%*V!> znc>Bb)^?cB{TDnP7g?)Pc^G(-%7aS7#iUSaIbeaYYEs~&WeUy#nIAs`IKKsb{HlId zU~`VvIJbYY4pZI=DP6;R{^(ABvhO|TBlICYHu;lh-2)c$=YjUW22Q}kcMz&NffLX~ zUctbzVO|*j9@3xXf0$YRSDEF1nl8WWLX`FCi6Sb$D9NA9E`T9^Eqsx{irBE0Vd$y< zIKX;1YV@z@Z@p9to`Ya~G5#QD2EYgakvjc1{H)$>hHIs6Q|0NHA4NL4f+UlS6MOSmJ@rUuN z-f*Y+ookRa&F{1;mD#V}1Nah&_W)aUjeY{RfWr_|f?kJxntiwdI8)qCyV8|ayiSMQ z0c>C4bqeuMbxblke`;2gX`LpmCA%k*=)HK0$>dblY0B**9;Jrq;4sxop}&}16{f$0 zlKtUZfp`aXiz35{iD2Y`hgW-?ZUyucweQlaz>1OLL;*~>!;8B_XLqko=LOhw5Pj-Y zQ|Xy&*pX8n!1Z6x*Wb97!@g|%3d}dm z^}J=sa(8ZV`ldla0(FGlsG!AzKd_<|N%RT)-DcF~^SY+j^7@8Lj{WBQZiDu7qKZdl zAqFyCj>z74R~FyjjdQWtkK&-S3YYY)@mR6)v8JEOsuPU10!E5=iwel*$l+dr&C6Nk z0#r$`ruuKvdpg8UDLQ-70y=&N>BkF!VXzNc6s)l00Ec-9qr z_)jD|`6#9CJAh?A45_2t??5-$?6c84Pkf^+mo%+24O{b&L)|ZVef%nHffH`RRcTcX zu8(DSoYJr?1zG5J*N2LWKE}G8j9RgMG`t;nyL8YS>So!2Yo)S#v=YDvpi12;OI1Db zT=oI85ykvv>ZoG;oE$~{{R;C?yqoGQ(2OnL8Y+d2lg&`lBLINi!5@9HGw|7YdWUsq zMU6Z5ouA0$lT^@)qZ6ExgQlFsID=Vtd>W$BcA-9L7U_he#wO8^6mcgp$n)qMoHBZr zo`0Jq_Fk8$t8$7TLVQ(hFHxVpxy3)|(kj&`_TNTu;F!(6bPS$Pq?7A$sY6 zslh)X=GaKg(JUF@Te13gH43qy7)DCgcDg(^`m@yXlOv5BxH3(^=A za9_ca@r7t5ut_v4do)Sqy^(1AhngsFr-iu9Rz6!wzu;~xfp-z~G zxen@JLVJ7j^axl>9sk0lrqo*9eXPnW~nAB zDl93jULrEX*!q#?jP}#&pF)??Gg`C*iwQ;J6!H%=pnfde?V);VG|WAG26tVm z6729z9hfV0C|%Kws3_D#O$!(`T+&+#oTUozCIlFBBu9BhPlL+w>7Sdp%(qP3ASf(b ziiVpBsNyD2>Wz;?9F|XO^3MVeMm_Yt(OFBTMJXP>^~QNJnkWcMKN^^gcYKf^0T}zl z4#3)UV+fjc?h!&kfGzaj( zf%f8KLRMo^>^&Zm(4Ng?U)#L5k}9huo7DKJ(rn%&xA3y)$#eQ5DwRWoWDi^5bbQR; z16uiUXvCPXuU3FeerC7;t0T)rjxS0&S+b`F?-@PKU{2%$|7+xsBEr^%8Jeste0o~< zdsPV_PqGHW?*GHuyTC_Pod3hS$pQ;3oK*rO8Zly2qEw0ECEN^TU%{wtF5;h!^Mz5nhi)15G4vi1k_nK)qpk$P}%?YdFJdT z(YF5H&x;?kbLPyM%QMeB^UO2P1+_!^uoA5?z~L78>UP9U!tLwe7vPfz^oc-D-_nFq z1UtLuygRXIKcKunBM;750>8uWc(V^x`G1ZiR;I0>OA9Zmt);S&{m6@tA#x42B+me< z0z`cOr?ghA-QbfbN$hK)BUEUcyzC}|LV{5LZ_v~!wCMF9~VeEy!rAOl16g@3WNn+$wYvLhtE2^Q- z`vZTJ;Qd5P7>DU3N!t}D;!O0bA_EIGyHwoxcfxwR1WSh-3|tZgfMMRz1eUmuP{I=A zodeLo+n;@&Y7pf%5Uv+~FqgQgTN# z%>oG``!TPcWy!>4M?X5db`8>+)gyJldN3r2IhhGH(Vl}P$GtWzPh+6N3fjHr$bk+5 z4p?yo-L$BgEC(aC0H+*m61S)~G*~$5Clyk3Bp0r>F;qDBfiIU6Wz~(oZ|=12lNQhP zhDWXhDKrp0X5(YHyr+8sdL$^oNBr-NM}h=g*gs`F5;WikpO!Jko`V%lHxF`rF=$SA z9~)db;4P2Oa~t8MF-9do5poOQ?B#O&@>mr=g#yA7ljHqcWG5bdC*ebg1b%20DH8ah z)pHSkpf{57&O4PLso}>vkFf~jkvfmDd}usU=P?#ipP<4tofr$5TAL(yzh+>Ita;mO6np0uX-2$fO=^|`oZ-U$o?)%t@nKN_gslv83|Z7 z678a5@D<1_=?8Rrk*vHrwenj~dAY27diTny7}Kxm*f!!0(kAKMowHp@jpP4}1POb- zk@*`YVOZeFZlS}x!NrL#zDg3K{0?@u>>WlV$X`pGhDix*F_un(NT3k>Mcjx&cHea- zFS#GarW+T1ft$v2sG4|R(j8N3o_-lgc65Lc-RjuLpJjzfib$Fg-}_O#m+@ZHh7SG) zH$}^*(fPrug_E?44#ZPYwRR?6Jo=#Q8gWA~OABTE9UU?GkJw){Z=lVI)KcKb<*U9s zKo%|9Q&cYgZM)x^%(2i7CHM^HQSSW= z{({9FaCh%-v>0}DWymAikZIXHuCKDPh#%|WS(p8Jff2b9IiTd;+$`v?fcwaW!>MLs zKRb3Sb@kl>IwbsXZA%9k*SbREt`Cjda@PK_z$fWAszF(O zz-by+miijvVD%M*T-qA?BD{if=pRfsBm1Bg#z1)}-U_+yD;KkHUZiZqqrE>L=;(E`3=a7_ih8Ouj7)n0WpW_+b_ zRpPnBM*>s$lzJb}IF$~?YPbr#O_9-kCp6QVF#><1jePmNLSJEs zx-U*BlpxPN=k3N@V(`bIJ9Tuh(WUnzcxc%JSiuF868r}e(%H+ANCVO!EdFLQftxT1 zzKSv3pPqu8p!M6x$M{97!Bs~P2D{8-yA9{?n=WT*88x#A*&2yX?Xe|Ek({<9bFOyh zh{%Jm=9F{qfq&u3#N0n+TSM5mR2g|tgC2=L6Y1q;MQM+tI#K>7mnhPgN1%ejrb zPm@Vks@ke=aGJw3#L_REI!#;Eg(toxof&gx(00&7X!#Tdf__@um_V1f8IE1>%Iy-< zpER0L#{u5rl|rVH@FBbr6?S)<{$3NwPUrxDiM{3`=IRLuPXmSk0>huyD#SWCBE_6= zp=yf^qjnRoItt6p-l06{_hHhl-v0E?SMA4VX3&=&&9LBS4^NT z&?)S}Aa@?OG2R7mG=!K_SdA&)=k)mA?wNz{>C2z90WR?eTu~QC0JUzo1>Z-ul8h#a ze{L~mB5x9mPhgxa><1Ff_#euEUKn972s!2ung^yr5J!@Gu=KCqaP*VqAK$vyYcegf zdjduWF20+)9`C>soN(oA2OlCCWn!lOIwC$(FFX-Ph#*3}!wV!<4jJ8By-wY?83}BX zQ!s~d5oB(U16_uv18uv+Gn@G63NJtS2Ia$5R15th-%VAVOLaF=-AaJOak_6O*AMT4 z^z`4_7!E0?OI#OkgTCW7sJ28KlpATqBSTCHsD#=nP%~8E@1Sh5pDT*JIt>kbnlOM; zabP12z!te4uj>XOizf@tvOgq3<`z2kJb$BwW(umUBw>p4hzokm%N&BU{x}m7HiNcr zq${IZy5xbwHofo006OX4;=^APBrvGnzwtSG*m67mYoTSDfGk% zzpmvz@>-!s>+tw$3H|~CWDH6;5cP=`rbf@GSgH9X(a?JMxL;1I2x}X%;m5nJ?Z;_t z>ny<1AGZ!9#mRK2n)yHZmeeIF!!6!c2~FU8J#up^c#Dq6GuVSuHDKfR&f~OQVMikk zChVw}Kl|th{jDg}%8$(yGnX--wXk892zSXU+$B?p6{sM?k*z)~ctEQZO2C7xGVzm2 z=6y6r%T&!#>+eFyJi3X1_f4hl)wh3x7`#n|k6-}hE&fx`7Vx7nt-YbOmr`?+S*d%C zN|>AAKhQfro}HGGo$f7Q!8m_$dd@*n9WL$(<-n@A;;)*#o6LDLEPU?=$I^r=%3p9)d8^SurQ4E8uc^muP zb5xz2zc(QfOm!tY`m8Z4$d{~oBe=jp=Fmbj#2|eN%4@X~>V8y^cf!0YYRx|Y4H~z$ z3$EP;r+z(T%yRyCfbMAVje|;7;9CoNGy53yobwLn*N0}rLgn=#wb41#Raz#>_7Hu} zs3S!?eRd;+9L0L2NFMEDYJGy;iK+V%X?^y=u;Df$?nHtmIygH7e}}rFcaq}v0azV4 zY<0AZU(7+h>K}CVV5<8K?GB5sLPH$Yd6n3rq@YJzWc63>!#zN3QSw-&!?P^haXH$c zoDPL;Vk^qq^FE-6?+@F6TITk`g097*V)?LSjPq#njy~bQ1F*m*e?I<@Qr!?TNic}oKhy8qNd8*qjrBRXJLPT*9BX0@VPR%OE(uB_6~D{A2dWq zH1}hHyi%F`Vd@=RgonmmRZwol4pwpuY9%c$+=l$+5h%@<*g=qVv-YrsH172R-}Set zqbg>*#n4BY*ivm-ycDLwenU!0>!|~-|uKAueNx9jJ?`^ z^dH08wP>dkM~jkU@?`O$vifNv#^ek-;nG)GPJ}b=)0czWO@^yu7~}sk!lpE;{d;_| z@IGL;YN>;u)D)RObbJVk8eMYGDe`WIOL02i)qx};o- zFMOxAE6cx48PzZNpoZ%KflPmWI;sih?3o;q6I3;=`_?0sHFdP zA2JK`w`)z9LA9M{a4V*gCUI-rZ}SJ*I}Kl^BQOy3QOHGELwd=veWOxi z^`E?4twb;YCGZ$6I<;+zf;ba}@##7QOo&V)bTEh?k>shf8a^2ei>{Dk-v!N)uZUBJ zGFm$^*Rv1K)h3UKEy|3m?P5oCyCnO*dbqsoo}5YB?=!%Sh!=lIku9CtcC>L^ft!)0 zyVIq(po8y>CcLS%8=-e}ML&Oe$01a z*oFvV#)6XlSyRqQ`i z%58;pbvN8vaJt^wWo=QfHTvza8?gYkjNL@=+O{iHM4lTFqS=yY!vLvBq6QxA=n zl7j#eG4U{yvBMFOSdGnr7>uS!kh04~Q(6jWp!@R$!0|6Yq|^n&IT{4cZ|@Tq%K*2M zc~wW`27D{IlB7LOH_h&R_7K5{)I=_!(?J6=K%e6`uDyw-va{65L>>mGyqbaxC2)oS zH<{%B-QMwu>IlEX^-%YBd|!l_#&;0ubbrS(9=bQu330l=qk&0IVRAO!ot4@b%2=#V z&gq#?8F%QDb9?4f#uR-ruHd`ZLm8JVZ%rP75HBP2n@0LSNz*vdS);;Zg|E_P(n^j&Ui4msR8l;TK!;-{2##3g#nxJmz1;F9AQXPb+T?71_;Ni7S0=aXeF}D|7VU%Rxh~*C3R~eo^;#coiB(s@`s~xoTge8nr9f@- z4mLN()K(W<_K5O@%zW#8qG{SLbOYR?=C+vI(;Ww!Ea{|Nt6J05_PkwrhrpOXpL^X_ zfM{KVvi|SZ_Yvm-yPr~1ZilCtB&awA26kKyHW7I5SIZFm8}NaXY9+7^-9|toT%)W+ z^fr_J7&KEzd^`bjl3GQApQ71X@IqbB`O5*QzguA-a7MfxyXi-+Ygp3~o z^oR|+Q=-YxiCncp%+J5uif-v~IPGwSOgzWMXpK>DJg|vc}#pOSw zd4MzWIjTvtM*85%Iuq?3Rwf;04e><53M$zB{e8#+axBaOv$-J$0DzNhttnX>?)wpU zz*KNX?FC%=4z5h2QCA*gbP3&*-c*#CHfnCzl6ldUh#5D-f@eYn1hSYxjliYU1si1} zTN8~CiUJkAnLW_(3-rvW*W6^uyewX!8A^MEUBvG)Mj_z!m*{w83Jv9S&cXqyt!%@7 zN%57pHhh62?9Z%g5izb+S@kLI8Povgwc0ic z_NTg{6$5zr7%N;Z3E$Z3VKbJq1A~?=cxO*WBCrR0RdnY6!WmKzi`+uuvTGCc@Oudg z6+|zhA%EB1wRCRb07pkT*mx=F`mosD=(ZIZRjoM?p4>B?7h=ED^KX(HHoK z5bc)J?z`I#drFgg{}Ur z?}PDMG88fa^}Q%0#O=O0BN4|3G4FcOEE}%&di2-d2E0kL?A}7On(kJ%;a5Wt@cNX4 z52Vo8TG}V$;M0-l4-S{iKcD)KC!j8^Gc@{|(CC`8J{VilCb|5ROV3X^`Yg=q#-UFJ zxBMdaBzk>dJ15j@a9DC_VFXblneos}LuTyF0!z9mxuI%{AS-@!M1BlU}QJ*o!r_5I6(Wom8EI6woKtk{S-^0?49Det{yS9$<}Pu&$q{z$y+g#-g1A}2yebpV?$VY@ASksucv9*= z4GN9BDj1<56u3hBC}d0bH>4{y=lf4z2nGYrUr%45-dKADwf7iWxWpe$%Ri8}Cqf5I zwm1Vw?m=C(7b3&IEZ3w2UO)=Uauepod6PHHxMsXDvKsl?>|+SOrM;t1A?~iikI?#hMn{9bRy2CB$6#^mh>fz2uIo7Go&?0QuJ`#?2$i?xQlJ<;jpM6KOx$!m$i zP_Qow;t@*$1un*tHaCPU{V*|v)CDaI2Zg4_eAit8-H;RhhO{@#s9?Yw=9yy8eR4H7 zgdMHq*b~kd$D8rHNTr^>122If<#B$6ybCAkGa^-hX;Ker2o~oZREmIGPB==dM}>%k z^&zAkT1iWj#R}ejzHCIPQICa6_GzbpYfdo~LPrvbRPIBM$4KIHc8aYa=j6wdcktLo zK(md@xFm^#$jRUO6;x!)g;TsfT?%%aqT%@Bz%SMZ`C7tNvduT9KEtJN99vV)t_-Y_$vP={~qSZir;kK4_~t5>wy`nf`>{B;Se7 znWdf&(T$2>F7YgXk}1{?u;PHV;g+Fq?ZH_cp27#*ce1@D7BhElJUaLg!oB7rb=~FpqvwWuEkN?} zQDq|QUSk&mif>tn%<<=8Vw9B`pj=J8C?m&1Ij%C#B0Pv2Zea6<&UA8Wiopl1SU@!ghIy%nRJGfTkNov#<#%ivNe$2+>_2%8%A{ST zh@s^&s+uWQ7%g>DOE|Zi+qaOW5;YhO1$q8On$aF?n|K^)XiY|~GB+1;RM{M=d>hMQ zlu0cZS(z&oqK`3_-0!roiH^_I!ZwLWPVwA55>jDmVVknzITXM?)|8$D-ywQQn|aq1 zNWXX#YFplMWzvpPcPK7e~{1;&EC9&Q&!M0qb$*Ht3t%#e}WG z>G7TNnj}pN_gV^CN6%u&AN!b|58w&w_#BwJVNDz4!08!91wQ>1lZ0@uXHbZ926f<* z=kO%@BK5uGFG2X6p0y`Y@Hws|Gu-P1e8xFztX9+Wo2iljQa_L&QngG9ou1v)w;STs z)}tcI!5}{U1rsiKB+~}Gh-~;Jd;Vqo;#CD&iqouRGM!4WoSs(d>o>oo0fT70imxaq z+-pvM)l__K1yXk-HS{J*d62q*Q}dC!fl~{Rn$9UNQnQc}i`{(P7a)8L_j(A~w<4Rj zL0m8Xc92lHfcNaGcTHev!6xBB+o+Loc2K24uMI_9XfL)c85Yb5O{n&G3Ya@1|5j1Oy=` zJ=x_?hWyEtKdf&bE*>eLM#-Pi^5;7FGfnee zNLvg1*46PC_al46xX<>Fe~u&04w8-;)&WjsV$5QauG+%I3uJR1`C|-dj(mEEtUSWS zUhEn8nJ+U*+ZN6weDs8W;gtcIK&m>CTAN6%PNbejiYr`6Q06*UK7$n37Z;=1sQ7<} zp#d%fcm^m(%I~JhpPn$(CujTXM|)l^zQN=+rr#;9WoJr|kxKgzCUtrtWT`S1cc`Sj z!cxldcSyz?+>d_Zpjll!i^!H0XT<6m<&?B@(gmqL*of+4Hzs3jd@`==F&V>^n&MeF zu#_t`ZkJNC#0~Mf)AJXel52lS+fZgVi8gg+E*cJ-1j=ZI)^MQ>^KA+j+Iggf63YrD zmKEm6OspL$lFN`Sl&DuodjcH0HRG?Y)8CC$5lP1S;!OeEH~L8-g>fFo#v2gNUI`FC zfmaK^j0{4G&A%eMsGcQrbV$>^SIZ@$TeX2nR-E3bZPBd6@>z@bGdw8;iajXtMPmIh z4(g0jsIy2rirk;a) z{=f-*J`>U2%fzql;!|hj2y*BRi8aA@g^K5Bj@JBos7`?8(Mwvz);GJ*viD|fo4x>k zF>QHG-h0h0{(ATuJ65nunS302Qf*E#?{>l!n|Tqg!@>8N!C9%t)J@Sz`ar}!Y>{z` zbf*opl4f@KWpo)<25PF$SinObJHx9iC%<7G#Y>?Cb&BrE9FUcH?+VsGbTd8!7GEQW zgTdw3cQ&BMg>YG>ce7C(Jkw*UCwlS->~P6@nk|Yed+i|EjJDSDrZUsEK0O_Ahm zio~xKK6D6mkLLQ;&{Im4##{AR6tNId-98T{NwZCZO@7$QA_x9~-8QqPUtg74$7pkG}P3z6LmA^@Et8tqR-)NA2 zE5XlDON88xCFg=t@rtu##Xpi2W8^4_E2ZKr0IYg6Is{F1Y9}z6=KSO`CD@A8ghWinYqz?Hx&6JzHtD^urhlV2)ONi1jd%D=-Khuf5;^TtPI!M`*~= ziUnYYScw0NEwaR}LMU(|Y6eYus84wENUBG7v_`5hN1h6_;S%?}%{XswT$P}`%Bn)+K8c&$#)4zv@6lR%}^ z^Er|{OJ7N6uEtUa$Y2O^9rx#b`6eT)|P;Nz>`l0N$AXItRrA+Wu6+T3}j z4Q#)ALvyLi?YRQaGsU0ZmUQ-?G{lET6r8Dih}x#3XQJ&r^sYzSZzC_!_N#bEv|XEQ z+hVk>ZR^&$8ybk9LmoHxUt-o-OqLnBGcar2eoQWOwEp|nZQ=h)yx*X=b>X(wp9J}@6srrm*+ExTms{|!_h7joI_0({s z9r}$c>X9+i?b*-$z3NZ2V(buZUWO9dDZs)2f)a3}V1#bb!CVo`*N4lJ6XI*BwsNoz z6rwtK6i<;$QLe+!RvPL#p85R22QNzUB|nJN(pUcLK(=&!9R6xsIS{E5ScMm*&NAV8 zfM$p^ZtnHh648!%7fKigH)92%MB_;+LE-=aHuy(mMxR6=pAR8C`4DgbfdP|EE_O21 z65Wy6-;v$lkz+W3{WbS#lI#=5CX7BB_ESf&4aLITF-m#L|3#zCN^~9_q0z>XV{#AV zxGIhum!={I?p?vRCop8D=l5`&UMAj{OZWl58EyW?(Ts}v&wZ#LYrv*2w2oZ}-hDcT zrB5#6VaU*DFb4CX7rB;tk;d8t=H1}C!j5D35;p4E4g}W5n3a%&XF(c9T&O?EWMeN3 z3?9K!8boY`-7}8+u}PM0Z;-fFggT-J}FI zV?%;7=gJIk29Lr!po4o4ZlVFNc(O*~))tdRr`>hPqvMpLE%FLf>~R^=#`mDQKkJtHCy{I zL`nj?%V05t$q`p!`T+-GbC-er!Ms3Y64ZbM^DC($+;9=5<1Y>aP+5V`o~c%SOFdp8 zIPszjv@-=*H0?_+imb(srmv(Iq=Q+ob;-q%98_r(P*x1WL;iNjM_o46nm*M=RjS`; zC5?#dhtGibx&AHHNP)%IOWJjfcvi|VygABA>%JJ%lpiNdefDbA=QqoT|FNLp}MnS9y}LG{NaG&?r)GWZN>F`vZ!g1Ia2w7MZ$U{pxGucA(G zBz=alRWuM~Ihk8`RIvz136gLdU(;#m3%tc|^*i{*C^3RUe`~r{?1b9Wq_O4AP#IT( z1++*d#_Nt|Oc5PCapkAan5r+ChEsK3gZ~hubW^n@(?H7~jxW~*J(j_2@Ni1a%$pII z{;2YuJqvaTfxWzwY&@@Go=Lgk6p%$v)3)WkqtCQxd$Nwtbe5I@by_?Zl!C2AI6%lZjr9=l9;h7)vRQ7r2IRD%&Gh zVSpPc3&H{NNCFL2dKIjHxSzlB7~;Y2rQ$$D=)-~S&5X|-{a!ZFnm*CSQ8vE0jFdLp z%~ka%4nPc+i*R5n4I$9URaDuoopOq2F&DfX)hi?h>m?axvrL*DJJE~0t>KkaA^kIE zA@VsiUw}ApNrnPYBz@e6m&OX%iyqztsZwReWiD&F%f_BhzA4zf_!fj4EVZVW8l8>) z2*^WA`&BYmq5;#clGuXwK?5|h8h@A=db9I(oBLpJc|14}FX|2&kHDTK2AYHAnIabL zF1bjGMWJ!Jh>76EKc+}!@MTZ?A3;9yBh&+##VT;3FoLs#d%(^51Mea7*9nwD(9XQ* zPe8!TVjfCM0v5a;g+Y(X5qA-mzgvr-6N|!@IR0JPLxM6qzFlPDoITU?>b>(!Ww@^S zRmWmoC zqI7r-JObk6tHkBW>|;tGj0$M~)bSg=gz(2*Cho(+$JUCkS$qmXf$@0+!}) zcZdwxsM zn9r3OCZ*2-3W#x!;UqUIlFuZ=&L3d)9*UXXKY#n!wVUx0N|e-HglKgLd~XU>3bzK{ z8{%DEJ?M(9tEP_QRH$v$8iMtYr9md;NLTci8~*nww#*<$vmS{55Is zfSX!Z4?b~yL!cR)8}cH1@CWDZ70foRiL*^OMiH07alPpPK$>rr?WInaID4+aLn#4b z2@O69f+i|8JsSr315j#dyX2#$XUF>wu@RK8%P@l26Y;LcI}ReWx0ZHd=%4vdm3j-& z(|R>OakA2hVOb&1C`#a`c%tc19={u@2t8s+{h2yL*s=x*#*)P6k0U2>Fw2mE3Xd&Y zYOIsT21XHRkZ&}w6D_+(Ck2>$;~OaZ4_^t%}(22@uk^-4`(0IzNvn68gfXK<5@sC=cBM`I~AubMG3B^Hl1kc z#a`1Qzs3(T$~;HoMZbK8$HyoV{eVQ2UJ5`Mx2PPMDg%_qx-8G5=sdNfo!0h?A5}qR zh~jZJT3_=;3x8M*AEnk1^(ATm_f@jbe?6EBl7@SSm3d|w^DxEeC!s@JKN9gty=OH< z)BH!x4CXU^TeL~p*k-FIWmY>rf^7!wtKg#;Q6*bU3nztWw}O=JC}?z(;{YP4;2Nmf zagcuP)sBy=D-TuAKCCr!ZY%vF_mk@Tk8B~ioz@&32Pv5UfN5cN$Z?2k`dHReZoRbE2T-dipuX?BpmxD94-t}} zbp=g4gW);VZ%IFxf9aN>lo2qmvq{PbKEfdZ*h#XNGHjFp9WyzEs4E_$dCsL%Vq0iZ z#)g6DRo=YOhjlB2wjOE7+<8PT?>SHuI7s<9S}% zD65$x2k_WUTob>qD8q#XxykeWb_59a*K@;F7vUG25_>>FV9~8P-r2-h9@c*C!<_jx z(0hw|L+u>2@2jK0552u(^%d24S+@q7Ptu7=-D{NGnx>xBxwq~h(sWctMqgENm5RsN z->j8YGVi#J71EOOi;Z-rLk4i@7j2o%)z1u}JpWeckj0x-wNUoZ zs%_M!`9#%L`i1F_Z|r#Q9T6*Lf#1?s^p<{&w}lZp1n^tx551*d z@~skl1?kYE=2eRjFxPixIQGz0vog)0MQK`>Qq&aK>n%sFI%`XePGAS3_O)xP&zeYP zA};e3yq)j=%DnJi_{UHM7KOj-w#VRUb-0=VecOWu#`?Q%SKoQV9Nh`|u6MG(Yk>N8 z6zCcqS4VY5?Wm7T+1%!0joQ1&|D}0hj#BfHe_MzD^zbFP@gv&3^WAwSt&{wMAYxUt zUlRxm#cF-k+(R2DaX*H5QdMmxoRx{YEV23@fnOCHgw2oGK(#q;*V|;z8JdlWH~YJC zR1A&(O_a~xPJdTl?+LBMS_VBgu+dIK-K|t?1dfBHC2ok=L8WFr>A}@*+FF4~$=)An zCykoq56sP=xKD=0O3kP-PqD@EU4`(w4}bgW5mH|*HyRL66w(sK(cb%*)`a^u!xjtA zbFsc>+qzl(K5BIf=k@#nEPXMK5D&;Do|Kswbd==tay)%$JUQMI{;rX#c_Kz7M~Sl} z)rZ|Tt3<;prZ;m$kUc|e=pn!guA^DP}lxmzJ7$a`#U&&0 zUP?_Be@;NNWsTtnEEJB;T#Wjyh0wvi7kdQhZTDR=0SrC3Q1GLF4@6XGFuW78X~2R| z_Kj7iY27X<#5t@wE7-wK#?(50%(C>Y=w$}h_+YAeKD2GmMYeYcN;XY2n=oVTY{vcs zaw~^~96OyDo4aDD`1V_aX^G7!pe6(;tXkpAZ=5iR#pO~T@N5O&yC{HSZ5K04*Gb=84YafW`<28Ao$_tx2 z_3~rpkLWIH z-g84f7F#{e>+-A7gQR}|CD@9uA;}qP_z37-um_{v2bIgbyJGS(THSt`j6id9oqoe%F6$xAL>C`3HyykP;LOjYFY4OuC1_1fIuQs)fbz zY-V||uz_Vwf$>xzrw-tb<(&y-Tv4@^Zn7cs$FhTV0D@s798?wzpQ7^Twv+tU0^|AtwU`cmg1aC>Iai&|{5+?)f-L~=l4 z)5%g|AdZ}s_NWT)%XO4>WCCaKyut`l(ZbxB-*C;(Turs4G!?j7_8auD$ZAe4i%P4X zxtb#Ubt_K6(V!dy+k%1}>Tf{7;A-YFZYOm-tG~Y;e^c7raDdd=!r z@%P1kWG5Qym^cp3Ysh0YoeDF=#YYLvq{CKeTI|6)>|yiSTdW1bLBjqr!UYIf94(+< zuy^|E2!BSej-!h(Ds_vog7WZ1tG_Y_hqHQrWiFl3^7q06*HwCDF7PE;F@0KtPe~;0 z1Wr|6N2eJ`SanBklcf)~r3|gS4VN5k3=dR$410`QT+}IB30GW~qAQ4H@*rZwbv1OI zPxKAkx;QJ0+YoJ{T`RR}52MyrZDJ;nM+4Fw)Zk77#|#9ZcjRglb96^GDj4k4-j#c| zc9Oj)-07rt1TD1k>`)v`rt1I&i^U>ArogwOijl2|Q&^GidoI3R4T#N}i zN zM~n`vN_K$NJbQM4+|E%4Z0K`7STD!1YN&@m<4+(g8L6^{)K=&=d<1h@)h;Idiq-;R zPh)KB>Ji3NGEdE#ddzzZ@gf<5HT@^@4eN4{SK=A zJ3~h%4V@HVx;Y0(S;32wD>$hM7s)`U{!d>3DjYNG|MU^IvzO2{-Nkt4onqizv?!i) zZ#?H7BS)I2$8nRCCxDw#EFMdA5@G2j$Vr(D%+}2RF&`1K9Wp+_AZQAIz*ks+*7ywK zAUzax)b9ByBk0Q-Em=EDd-D$%Gb@7uCT7=A{`f2A$CzPd&2MQ2L05_?Xx3$pwyfj+ z$FfZuS3d)@fr~KrO3?{~wIbr+NG03+b=T37@m{LCZPg$8w_CAVJBs>^GkY`r z^-ry->S|saw08R#|l@n;&zs!PO2&BOE z`D?lFO7;DCPK5ATjSqiYbON?&Mesj2zK~K&b2H%law-@HFM_nf8|75EfwjXu;xrV> zB|m{~n4NA>m?K5RvVn4<0x; z6Gii(*cO=x6SYuQ7QHkj;tSI#87%&Yw!h)4-uHzCCL^!mJ{j?4895uap6jy7FfS)L z%u5!0Aa!C)RWXi7zeh%PsT{Edc|I6}-`P>rdyWtE6GO=)Strj)a6UNc2$iA1aNK%g zZ90z-RJ8qQ?@{2W zeszS)nv#mJGm~*(Z|{GGfFSA zj{`hrVae)6=jR|fBEC6H0e&U)Z{_ZImH%O@Y1xl(&_-=0bRUzI6WqID=R*`|afh?i zGntSb-Z@p9xa(6IHSgblM+Z94iWzaoY)Y^mkEme;@c2n2g?7Hxgqx+;5o!@*rX7n^ zg20w~b4NPGJ2?aj8)cJW0eTwm;jjdOlieHW`EVZX*;)57yen)ju?v>7s5Ab>CEp!W z23i^6>BNWB=|dj+)W)4vg0TA}01|mHMG%|H#IbrJz58Hm$7YRU!{+!EyhZn`$#lsX%NKnwMA+``wUTc3BAH`6htX={+c=7L;5f} zq9^@9Cf{XY%(-U1u7tyT9HBrTav|pTVn)%8ak%4)4PN&&MK^$c7cfiPhA=I$!2x7x zP3&s?cA`;q#fb(-6G-rTv+>I!eRRMY&F$U+3K~FR24p={IZ4g*DHb$32dm*IeDzKR zvpF^@=o5xf`A2cj%hf;I-UcYQftV!<%C9 zu8;PM4Yr{wEJh7Q3o$IZxE#FN7}7@)C?*yvi%sQFNJefLtvTogU8 zxBzZH)lVWMxshESZ^`NFQ-beO#$qelyBnPsFJGBh9&h4}6Ubo4Ij~$VCURQ~z7m0W ztPSYxXt&tRqF6sBI}cVLzn!)X-JjFh?KT#_{=&su;~H6Voxp4ea?5^$<}yGaS$ z27my-qs>?p-tmkKBaKU1KtEdv{1P%_c~M)t6bJ>vIO%mW=<>+u6-iKVDsi`aSMrnR z`4g(in?skpkDU{_0dHS3V@M-=e2?*u12GxQmcX{i1t{m~1=!N+_Tj1z)PM#|%0>9S zozOFqO_PMxG}$HYAH{18*2$rdfaGv{|0w6cs)uy0yh9kkqT|a1t@=I2UJQK2%T4lS z-#8(oI;E7LIQqQD?z*dA9x#%5a+`3tRq)4(i2OyhZ9e_YK-c@6e`a~Ph&8olEh*9FOc2n%FRHo$T zai(PSiX;$8-NrjSG=*#*nHO0MUgYOVUgR)uUFx+Jq+~yMCt_9uqO@%P2smg>Rbgt& z<9luzVmQef+@fnU@q#1=n2+hPiKo9X_Bz^~fj)2IQwWQ4E!ErLVZ7mJZ!8Kp8qXw{ z-Ub?zxCl^Z@b@o9`1=T%2}qJmhL3n<5wi{So{5Z<14chQ5>X}`VtUL`FQ9);P~y4E zaEek{ZOWMr2(1^4>6@r<%NLKcrnJKvTOUB(~W=gw*A{xNl$%Z(H zfGB<}__1icaXsaL8c>WOq0H!tL&js;P)cC5iQYe=Wxx)sMZbKx{lvWIc=q%DZWGs3 z@=AjL$9ukE1{@n}{L=orZm~}rU-^E_U!fB@{flx(LC*xv-MRML(EBJ+(#3Q6|pp^utCE$z(xlziuYV5$~5#ZxQl59;2cVS7eP`K?Rvxk{vGE zEt^&x4bGXKi;U8T*`KRjV(4!`p;ON@Rc&;zCc8ICEz=W6np$E5w@5ayOP>rTkmU`t zCfGFSAI_SPtCjD=&or&P6}Ko5DCq$!X=OnqDRr0nN+nyXI#e7UV;sJI-XhScxbneaH-mw)Fhg)-H`cL)pP9ztb%m(4s*IIx^{HOb%!^+AK zKCS(l7W?xpGMJ=zgWFQCiUg7EnFJE;imC{APjs!wIvU;RGu~wCV^VM41U||no=|WUN;$ng`W3|6-4vpEHXY5Me98Y`T22<=R5jrFgH1T_)o-w+km_w9bQ=6$)~wEAP@U|vT8B zw_Wnb4ag-SA_*mrN*=C1zt^G&Y z&W|gR87}c5z*@z?88DlHL&_~BsL>3w1Me*8NSuV`Lp!ee(u?|y2AZ9WC0dx5Y=Q1| z|4R#DZsDcdWeX*{wPwA1U*FyR9j&B2bQRPqG5L0_Svwx{PPiTa-;Dof;eUXtwTv8|q!ehhHV0hr1-g z_n3DW0Br`2RE$J+_O}dW`u;4w3$yy`UdBt4w*sP(j^a!hAjhtygbO(8Q!CQ|@3|c~Pu|{4(Rm7;2 z+hXd-m^y-uUJ%yh`TjVgHeQFXB5P5k%rg(*jApt$$LQC-X$+zBPx;Mn7|>f6OFSP- zFUs+PZzZLEs}njzn9oWp6g$8ae|{Iig4l=YxS!77iwo)-3>GJO9}buJ_cvFV%Bp>&?%UWGP5Dpv^YUnFPd#!CU-wBn3v;3#}dcX0X%JF`MaEo7t z?mUyXZSmP~z1Vw9PE%3uH1bs6lm_3Nr=d7h+3prs7xC=+CYaPqY3s(}J7n?s>#YSX zi?V{T+P9ypFm0IkGRf^=swM8|C9g)?0fp`YvgCb8Roe()pYF&Z>^q2gfVfy+FoF(o z6ez}^eM*4rF5wW)tgL*C3YEhNHmsg(A-@T{H7pgEWNb0tbr0Ep1|I_1+VXcIJhzY? z2bf1SxDa%Y+6 zQzR>L+~V&DN`ZDkVPTq7b(9Qms!p4LgphfVAfnPv400p4Vr^7Mhum%C_V1C}QTNX? zZMqnLps1aJA3zg5UB4PVt(|~prLKVXL>L9+YX}D1j*cM`z-)MF&QJ%C8B|?C?HAOa z+l+^PKZR`^bT+KsY5v#{WhGr4)w)p=s(t$zs`ef{!0@kY(@jXcZkCm*FY)*0hE}Um z_psR0>6eJ5ejiG0E;&?C<)S`_%qZkoEkj-U*v=W zqf2{7Jj>gx)idgM(@f+8K+H!5>HNXu+!~tr0U69L{|qRFo4}K4xVcjT)G}Gj2Op#^ zl(b?V=$7v{*uL06R6LyA>&OBLr{~WLtT-^{a4U2T^41)hDHh9+s=QXY6Wo&%s?%lS zWhOOHLJ&vBTS>X3J}mXR6~{@fvYEue0en&>j+PrVNw3_g1RkPl&LrD#i3{&dv@wTX zhGDe!IDdoVmHNJ0q+KY{rIYR>9W9ZcP$?dcVOD`9N8^18qn87F&Q4#TZ&=|RyhiK- ziyd0uoWe}tXa?i~GjS4BJ94ZWh@QritjQ&7B1-Wv;HHJK=ZHOXW%YD<6(F-_TuZcx zU;RYpIz;4hBA)=i z=6<6Ix9}TZVd{2cgd!cXNa)nUDPX94x3hF6U|A;afSwzlG_mMp9E37)tB;#QObVW` z)4b}eBpC@(V8@ucyG-9@{1||Vko-)13JmT((eJ@5geQ6g zCYp3|7e2uIX@s1+h&R7ep3F$N{5Qf@kpYy1`8!?s zijHeQW|!x8M2N^Gjmz^Hb>~SWv1qXN$Zn`5IzlYMdEz2CQH+hBkJw_Gv8q%BK3&As zFn57XTQd}gonn=oS+_9v=n)$vK<}4yEV}wOLpQ>!kTdOUac>4l8w~Z&gr%eukmlWTk8z`GrB_?!*+(8S!&9(nB%62SzpWn5h#2Rxm>SyPqW=#lO17ze3?ir=B%G%M9c@}5v>=Nw-AR3e{LGEo z#efjce{`l^Zt>H##`jJ!`4=*| z%`IB~%t@E{>T~V{^m@@J?~T#&V242in)LE)+^i@7K5kav_~{5!Q3_Jwxfhvk@djMP z(opNG8fk~)tsVY9WsPOx?lxn5-afp=Mq4}@zQdeH8{MLY;big5L9K)ab7f@_74;{! z?iBvIs_k~PK~9`;p#jkJb&9KGOW1O7w5VbICyPeG5)i%=K!#Qn?GgWA$k=cN3!g8f zOqIWv#FTVT)e$(0fH;7V@8PLLSmdhA1d=m?cOU6G4R&RYjD#zAw*Hz)I3+~JI~ zs<4EpMMc5;P*LQ1eCXK;U?F~;^r6f8z>z$rS*&0mcKnTc6?VKTe_ob9FUp@6ea)J&6F8(Y<6ONu?057BHa8SCgLkH?rHUU(vikM-n?B%tGl#V9eVDL%uL0(=7-ePI;RA%MGr>Fp z6_O0$!3F~bmB8o7!Ud(T_7-e)kbCc^XW6MoO}rS!TL4`pNcx7_*HAfY3Q|ZQ^wN8E zC`8GS`ZRIDE|}0lu7i%jmIpMS07#!VY6S8mrS-tA7K+(W;;Y@CLx3mEbPd-m$V72x!($ zpm5y9rD=ottDVrs3pX^3noto#2xfR+)sd?nC?ij*~EAcJ6Q31?%F zIfN~*A=5Oaps8}HuA5-^q>p@f#N2fR88k&Mnr<`!7kjewl@?zd>y$)F;D!dZd40u9;GFGOKJR<(kxc zo!%I?wuy$S@i$@&1WitHcP4`YCUcH?0Vv#AnQRLFNLLMI~5-4kjoS6D4>V+X-Xv z7N=;-;0ATaPLPTR48wbxQ*3+iPWUmy$PR9iL3Vi^k0YgLZt;k0D-N+efgCY2a$I{ zs-Qo_AY{&p*jFuFCgz5@W_Vjhh5;?{$tKE__LpvP)pmNqX<8iw|2Rf@x0tqzvSHlb zM(|kV7U#--({4NpOoCAvkdj6@46<=rTwq$$dG#XZsS+&3CO!qu_uXOwi%u*BP0DKW z(?)~tF9!{QO}k6{bhm8nZCbQ+4o=5?1>U=Y=kFGJM)Q=R%t9PR?GDeT~_ z*ePD*^Ss61opE*8n^#X)6tdXxvZ%>-`+% z+I6OAw42a*6#mLT;KGrWc*1p>pOum!-BIn4c4X=PZpz8Ra}kD9CJKt+Kyy1Lk;*lr zoJ)Mb2SAIaHfl|B>9skHnRJOi9p%O)>bu0P$LP^!IKnaL>20Xlb07Y=#g0DA0KmKH z2`o#`?BttQQ{U|L+?jmyRO*|}o*&2GM1BbiKFH!MQ z>PeY6ahCN%r1DcY{Qt&J{V?W;c*4*@$rDat=^m-!(iLUgW6Rhc9$PM>8$gN% z-?|FKec-5EnsQTOu&!PfQ zcNp)zSn65JwVf|(gL;?Ciy&|G~BZw+>8_I{&Tw^;N&ZN4H4{-8E%xXlvTW=do8WF2m?a3JFl?2z=5 z-5o{dad3kh03uO0K9B@Qg7Qy@ltMK3X3Q31O=Bl8bvWwNy#qblxsCg7<+C3Yn_S}C zq}cagOj&n+)W^icn9g;v0o){gtptb#^UUBHE|E3VQq_@>#N$J=ehP?0t$r=&ZyKM* z$RAiS_G4VO0eo~(5qOCcINBe<7DNs#m70NMEu06I8KE#jm2HMx6t?H*$^%1FvDs9N z5NfbNA2@}|+Q58O|HJq9-M(-8E-A(K4C7leXbUtbL0tHv%B{F5RBHYa%9vPnDux~^ zE4L%RdT8(fyYo`t^j8Xt68al4vJMgbgK;vEKd{F|xIet2JCi5y%Y}m~)^TJx9^s&6 zEFFUmcrT5k(FHyBt+Qh4i=KZnpq5D^T4W?oBJopNswhQHs(+~&0?;D!NC+6fasYHe z`W3ZKVvCOSmox+b1*(B9k{`vqW-Hw%xW&XlRDdA<_~(Ex&pB+@2wkX<=K?STWn$jV zG&?r87>7nM2Cw**@A8mS z3{U-VwBadHX-}|;$Jq8XXL11)Sl}`s@HA?u03Q~T{E=8<=DrwQvT;y?4q|5?8VO{m z>|hBpo~Qa!24oE|?W27ijP{d%;?dHHrKJK=$}+*vF0o@dC726+K$XcRw^%2W&`as4 zVzxsG+=DsQHD)=0SL9TTlr5FV$)GYa6@TI!Ma57Yo(;QeC9o9SE=QVxlmbM{6b0Tl z*I{ImM3mFf@0x#dX9)Qz0yA;M={zQjJczI1m2f6as{~x{z-0N)^ihH{P;){^(vAwj zBmv-OLBSOA@#6p^V0ZwfwOzP+Iwp4ardHrY8!~tANB)z2)Q`Z?LIz#DO^(~q2q)E| zuY7{~C{zYYnhToMH%g76#neXedaRQW0)1WApq;Sp(Du-zd!GQU4N=SONd+)O%Ze+1 zNu{(QFs(zAp5J3jqzPX$h9~qjGhdlHJ=MrB6J6z;%T{nHM>WPHMu%sKZ7dTW*^}<* z0DS@hkw-UlSjn*Lh7N&0GQ^gJ4bf@tXkV%9@WyfN`+|5yH zlb{>;oq-AWwQ)Bn>tYZyiUc;~E7>zdV8PNU6HT)SV)n>m_=L(G$D{+!P#N0%H7!+n z#~BF3kq#`@dpA%OOmErfya|0r92S?jw3A-&{ypdW$ih4(3$wUIkcIw|0Jy|*hPnmg zjH=j12ptXNbc;Wn;r$IJO?;M$g3OZbGowTbMyj7I*kt;@zse&O_6*5 z9gDG{e)p9XCt{&u=#XPA1=1NxaxK|tE#1S&AH9Q?)HdXWsOxDF`5zy-fJ#MdowF3#wYy3K0skte@PP7kDp-rxz4 zMD8`%31r!$N9r1#EioOEK z=f^pN5j{AA)ZKVJWB=@{4eVbh5#1&F%OM%$Wwx}A*Gpc|iuxB4DIj$RT%W?(CR^<( z!M_6ajrD1?s|0dz@tI(t`|-B6#)dqiH5KN*w4_Lz#OXQ8z1Tlm&UWNq5H)UO3RL7| zV8hs4WPQ#vR(D$x?sFMXakvB4mtd{+?8L87TLJ)vvhYf3AqTo*W#T7jG~&gx7;#Qd z>M`U)gL;s37x%q07)nGC+8`oIAqXUdjri&rhe*9F;_8@du|M(i4#>TDZ$xstb^WkgeG(E?KcmD_9cq%+LcUd7!6 zMS?ZdJ>S4#x{0|Wuq`6PL{PUyrXxFrDOUn2GH6=fi}AqZv~1#Osh=*VWhRQa#Z2DO z3=ae#$C(9Q!E!|6$ z^hQ=$vUqM^ESK#mzCg1w`jDl4I~yr_?lo5R0r@(bXCU4?@;MT~l0-jAkg(Y(`YOM& zGXao5{udO+Qh@x5q(YHH$d0eU;RzI!EX&!r({J_+;|V*Q&j6-g@8ez45_tmpL7oo0 zjoLitVgyhr9*>_gaaFfr5KyaFuw;R~$5Dxsa+8Ew0oaAWUhF$?$Ls$rU2&-3q3B>t z_LCw13s@_mCtGMsY=A$7t=iWlMEw)3F4!yr*%bDypf5%gP9^Xh^5L)l8E%3uf^K~! zJ^^b2cn6xAbi2XZAG4U=c`h+ZeiUcXMUMP3za_z~tcOvs$UC0@AtD*z2({aLS(yuZ z3t$6sFU8i1ZEIW7s)QGUIt(1?2y`-fVe-wUTdDJOonrHh!{T;}Uh;mCR_qwo$c=B| zq;F35V0=?1hP`Srp}k|chbv3x1p>VZVU=Id=xcxlA;)u}l4nBYn?tjAhALa2`vh-a zGy%^s+_TX~arF^~kN-3dm#fg3ikOGA1Y+uQG4&a-gl7uq?|l>&TQK;!CVoHqqaOF3 z=ixLVYCq-5kaT+9#^k$1%@vF&y4r$|CqlVG363QERCkJ(;)QoQJs%q=-{&T|aIGlg z@gg(wHL$_+Jf$K?yKu&d$b2{9pyWy>tbx z(2Vd29*QFbeMll6e_+iF@B>i4`+vl}3w%`7wfLVQ0}MJkg9Z&4HR@=CVkL@7c-TM! zL3vFGB-n~ri*}^6MVJ9p9to2G$HO44&$hPJYH#gr?=4n~JQNeK89=LmR6)IpO6?hk zYLs4Hw#@&#);VWp67*N^{eS+yKOfEPv)_-k*Is+=_1Mqw#W4gorMVd5skizoIR&d} zpE=N+s2=2t%12hbF>k;LFL7D#D*z|b1T*-99C>O5zxcQ}=L3<*2#K`@*Tt0aiRVzo zPW;914U801mW${n4{IPdhslue2SCkGFU~ zPLz~0!vW9MdX#`3`BZNv2vdwdU`+SoR-OB2t#z9{JvnXoe>Ds_B&Z_&LZ|mwd25aN zAUA(~l`c2X5q71g$GYSp_P%mr&;PgNr?>W3`RQ~|dePov`e;}m@uMO?eN^P9x5Yln zduDdtm*rY4lz5{xw43fDtLhKPrxH_O`{fl_lYf%`Q85L@aL)wz!q)jZ%if%Us7?j) z->-{-3gPr%e0r=8mmI1|7HGboOU$9FBG^$TA!Gdh~O?4U(OrfB;zRAuT8LgEeO@CV_;|Wh}q%{|I9^44IG7hGaELY;Ylro#_hmb&XHDAJs z!kuM-Z7TRGLa8y5X_P;)LL^(*k%<*jfNQ7FJEJ}g+&Ai=Adat4ahD6X^%*=p9crRQ zre6kV9o}kB^?2*hh{8&&-k>|u3#HXlm2&)fTl4r&@fSX*anZqo*jICtenB|$q&?}7 z=iHHQ!jQD=%3$97ih+y3s$DEEURdLqUdAhdr3-)sB?4I6mR&#;GN*u6)|*PTz?th! z1u^MB^X0_o@K>n}|HVT*O0pVyI7U{S@R_~Mh?am?ARbNAV6l13vvWFX65Wu&4S zaAXH!^H2glOfd&qB2Y?5b{?uMtVDZQKMsg~Ez;V2=*WKF+RVbWh#YB3^rK{8&+EGA zz*?TAV!J|7hdoaLz^SlEKb#8x(4|7*G^IY}Pp&tY@RjY&Ir`xg{uqGC?~PdZN&SOA zFrcg^AXY00wERK}+0erN*AIml*i%x2u+bE10xf@*8s?HC*Y{hrMW^p-Nd$!ioeUo- z`OP1f!dGeb{f%Q5cEeU9k4u1y%u*Iy`bY*BT%3D`N8(OiH(tO*ZvWiM&NK_-3$W)9 zh|D0iuGV@IkzZC-Cc0i1SSC7lWj>2g<+ie$@jqDtfyOp|wVU@mLMZin{wT~=t* zuyZYH$01wGhh&#p{>iUh%Ue>*NBqg((%p4O=Ywdf9GXG*V2Lx7qR7WG6uBJl{{>F% z$M0u6U|$AYpa!lx4f{@e*c-@6Hs&$)Ci%Kl7+By`cyE4%%w|DK7}kNk7x4 z=;v@gxACbseqgw6lJ$>AwfE@@#3kesSk!Q2`fPnTibah`f4A?iYo?<1o*qm`nq!ON z@BTC49br@ziJX?4Vz~pFbtnoy?H!JkdG7Ikwk$oKrggd=>&gWI{nYclqK=W);SIm2dmKCp8X{ zCQxlVSM(Y^na!Hn^bza49LN@260u75GR2&^Q0ig+7)P;< zHq0q!9F3N{rLdB@z)SMtb8T29)F(3W4uETtHTV%=RUDN0p(Bj9&Fe#n5#Gp-$53&J z%;v8UGnv~U@8ogWBcQhZsCyq$nbl$=B)5SHTnVb)oZBsb5#yU(m3|V(vnbPi0>N7dT*I z%n%t;`7dlvY=dt7UvAP90-R`GU&=)Z9Ie)Z<9E#BP64@^1%-@Y4 zc_*+`w97H%^DuNjPJ zRQb#WA;*(49Z1Zs=Dw5|zcP#_;crK3S)t#AL+}Zy2!7AV5L{LSYM&TLO2x*t#mCjN{)KVQzczNbZH;Y zU@OsW3ugPK?~&=LIt?sJ>IOD(V%mPEbM$JT)3Nb($E4m*6m+Tg*IG?pz3WCeW5zhK zJpEk$e}3^n?l=+|dza1KdAQV`>rn@il~H;Q$INFII`;!d5a1=^U5$O-pq%T0b$cON zXB@tFJg3|1&}ejX%P=GiqvK&F+ea69!p;Ve z$&UPPA;K>oKOr4ZgevT6uw{Y3&!UcG&1^a&NEP(=ZFkLY?6RXK$mllO3_3a}U;k8* zbZ^*t`XuGT!mZ;5`uZRB1{#k1idJowU8GTierxEt4zetcFDaEB7_Fd#iG=P|y;aFbTyi*8>P9Is6YDh43_qlqRGe^FcIVU= zwWC<14=jI_Y1nip2ija;Vl-YJ=7lEJq0w}FrveZVT$Y)q=3rsgtiP5yL{k~_rt1MB zMvAkSAJf^?WBdWMXa#-`cBbB7a=_CyAzmD;InQ#T5p3*57>>!guPy#bcVl8y7Zp1c z^%RzALSVw3ra-gaPqT~KTe7gIV(`IU)IvfjS!;d3W*uiZ>&Og8zmc6?`-B+F%>D;6 zn;zh-34FAr`j{@cFYS{1Y;tcUx6*Dwq1`GUQe2TPB)c(x0a6{?l&A!t?5&p-cE9mm zoAV1du_uN;Z}vCrsFqw3yNZAg(D$nPybb)-2CfqrgC<4`jK#? z!by6`NxFa}=!iuJV(~<5rM!~YTVwX=tl0D}Cf+&C`^ArTkM)@ut`A!yKR7N2Hr;Mq zw6Y-9)B5H+LLIA~NHG9ZADQU15z#h^RCggI7P~h6oDGo@3;UY_OhBqh`XzI(H;J^I z*AAs_`~CnKS917odXHjh#OHyE1e@r+tMmRE{JhRf>ON`k zC8^`|O(EJ%`!^kxukM?M^OYs*&t<8ESbkF9%7W@VhbB_b2~V|vF-0!#FJj?->mK_x zP34j#hd8aZAq!f)w=N3DXkRRRFiYv;$Oc-|!gi81@eEq)}UxzJ{EzbnY+(*{RW(pqy8>^u#Vm9l^f+qPL9BXUa=gxXO&vJ zAQF$fK>!~zvfjFUwZ!@pqy8S|`Tc48tKNE(;&NuRru!(lC~iNJcAVZU6%w=E&x7Zt z175+L%p2B_r*b#O8E=PqSIAm_v}ZxGN-vV)Q983k1Ob)=M&iQ+nHbL7ClIZpCzva| zQO;jF{+f~~+;hcDL67-YaQG%FIee)`=qMhP@Y!-lupo9RZvgo1Bl1vNY3$tiwo*gC z(nW$;Vtvt+OBM*8QQ?E87o>|e25vWAvEIS_rLm<~`#PDp=(`T0d^1{NBop^{&{xC3 z%xgC&1~OyC=?T!r_ic`6x(DuW_q|3;tZyPAc@-z%w;*g;7$p>haRG*`lh#QX%CmEX zbGW0{I{h>UcSzZWaO5=y*?u-qAvf7$Fnv<{5uXRYw*MNL?`ddhV3)*aE)H1}k1*4t z?U{zTlAURu{Op;2`zf7iVX`jniRZFE(T0*dw``UK?rD%b_Yk>3NS=){alCJ5GD7^^ zAjHpq9P0`3BMxm`;^!y&0L}?{<{}&I4q*UVNTy)s201Fy)f?oTNDrrT^tm8Cb%P!S zm)bL~OVyxd(${RT5&Q-l!Edk;{02er#%oy=f5@4vmw9J%+6r#GnwrHJf3Y03LU=n1 zZ5;ss0sb>PclGhVPpGl03V~oe7b1|eN4L#V-8lf-$=mn*fEZN8+-WD^A96WjFqR{S6-I`9nq{9 zw#kJ1L|T>5dS}?U$!N#+&7mlE8vnRY(GpT+GjRZIwc8KfWWNllr}&Y|Xm>2r#QIx* z`=PfWJveeHYgcDA+J<=7UBX1hUkK~;MaGhpzA0>dYrTEvur}E8Ak_8s#Q6P*DUa7q z0>|tQNwPedUWPShbGkn<`izP_f#rK-Q6~CeiB01ww|cd)-LtJ?Gw*+I1V)N~m~?&Q zS#7+~XVd)U-}b#Izy9ydxO6tZzFX#8dJDhaxwp)jm-G&d z&YF8E)=4LNDbNR^a6bl0WoZ6^BP#aJ>;Es_5pAZ!QvizDfD;X{Ve}%5gd02Z4`5@n zr?q0cJ0Bp-DONgY59X*ln7wA8;?-#1y4pM|tI?$($DYP?Or7uuI*?UA&C`Zj+2d$% zKlEpt8V+EMWE$5!673C4IMcs(DEc<5(W<$IXKYr zxFn1mcEyNcPxK75JfPV^=A4l63Jt$%d}@sZuL;}ZE=ihLX4aKimpM_&Se!V(tQ%mJ zI8jr`B?2QoxujenD7209`@TQ={uC>Q7Cp54Ft}D6a{%0dmNGJ@PwCZR>;%0BTKY;0 zBfZ9U^LAmXbuPNGbJ4#E_~eSdE#NoOCq<>^&P5wL7ZtvIUeU+2s9%b5H02d7qQj%| zi^lFs_i{QLo1M8mn3)r__74(7L7UMVGjoeF^NXxq*_d&exdSuv2U@M!m?4?D#hLlV z)_-PW$})3HGxJNWhqEzfWagIOI>Nf!jxm(c97B~@Ph{JBU6$W0XTpkyp;XM(kMP%6 z5#eHDte(YRa|J>a#H`Tp(;Aj5q`9IMu8^_fJ`F#i@nVL@T=82CFSNs&r%}Tqm}0DG z*6=!wU#a02G`w2F4{7)z4X+@-xq79PTK%-dtcK_yyiUUpX}DFx;=0^e{Q_ZQg>Z?? z70+rt&uVywq^@{L!@D)SL&I-rShV2G75g;2Ps4jOY-t!L6O`@H@NNzNUBi~<*{$In z8h=E?`!)W6hFdi(?*ZnD7c^X=;g>WV((qOdmudJ}4e!yiFKL~n#AHb~-H#6a*T4gT zxEV~`BMX&yKr~3Kfj}S@phO%2DbVw5pDIo5m83ygd};+rDBsrHsyVQfdE@kHTkQRf zxwltji?0}2!R9tb4l=JD7JnB%oWrob*lVjXa+o=h2s|MDGxz0<@B1wG<%{n-tY3k( zHG@}-9BfVxaq}I{<8{0hleezt9(G3aVmf4w^%`Tm$x0u4wE(vwoBc+xHgkorZhGxh zbY$EZGN+e)Q5{46&vpE9hf_zHIeowv)p1Dh#25FY$*p66*;BeLXeDPo*MOi$;a#ez z5iFwy2lJA}3a+h}h))O!%6nXXx<-n0Ach1bA(}R-!ZkKe8yh789Bwb#H z^UG`G>6%_5>3{5!u8{|cG;0P*`ZHb9HBu@yYlLsyECOWt^-HAMe@V%^Wl}FR_EfaU zwadNt=-^ulIdUB#YkRmYy){PfI<^{5%efjOKuVL+`<6>JrpS(w{m2YilGIP+}r^@hK2 zq~sn~r&tP4OR22^%7IJoV#sSux<|i@Gq~GqXK*(|Kp8LF{@@;!ibDg7$Hs?sw(MKq_PW}W&wpAR7oy?OD6=NbWU4o>C z>b&Rmg!n-77AnCA<-j2Y3IFLM>?-CJhSMt&!%oKlpU`#2r^vTK&ov#Bs@L1~Zy!4T zK&&UcHJomqRV&Mxt=VW7#+(n%D^Skug@roJbCCO5QJuBp#lvvu;Qjd9QKvVX)H()g zpu--T>B~dF$jP@kUSy1cYW%YK4jJvD4(ZP^a|z2HJ8WF14l<^6q-QjwcFXN0J6W7N z=5nok&_gqJOYJOuV)OU?8}E?_&=TlX<1$}7Nb zHR+BHSh8g|_g%iZoJt7uiQoD$H9jXF5UHaMNA|3^h2q_xlvhQuwq@PDT>(+pNWY*U zR(46BW>=5yhqSK3NX^1_#Gb$Fa4ohc8^(^l=Eu$3zVt1yOum`xh@+YKsO*&Zf^b2! za%O3E(Tt?d8QbwP%`meR3m`>xnQ&O|P`Jop%nc%{Agv1X-<$5P6Vmj8%$j1mdg~Q? z2x4wfI{%1%`iCO%vUDuq)WnPgQD^)bVL`1|^NTE|qn`mgy%nPh#&K75QrFw_M!WaS z0^>;kw*$=|(Fq=$5Ws9YUO=lG0h->AWC$9P?%&EwxrK$?>SUKxxwncO#l!(7LxV9=~LudYOAw) zJMj!L+6SS?_!bJGIcC{Kkh9E0@;^mIK( zl9K)3iJsiJaA@YFK+7paB)mi8t^Fbg$Q-s>a+yDoQ6~HK--8xNd_N!MyBrM`G4f-j zFE$_|{6hh|75-p*bznB#6rPP@pqlZ-*xl@xxvrw#un4f zdKc+p2zEPwc0T)M2j^9XvtKsY`(?Ad(j2IGIhshH5kKy37IX%PLqP<9$9rBL711(- zC{<~}qIddy^=*F%n15`L%}YMeF6DmN!Sy&}$r8fFD@`pkHTa89mm^eMq*Nk?hpJ0nYwMEFAG6|2DL}1sp&+&<{+V~-FVmN6 z-SS8LIfryb&LJt<*U?{hd(lW_Ai=t;5;I!^-Qxbu!dmd#GX+|IlvJ}var zi{c8Pi1td%_f#A+4#(b?WrQy|4f3qGARW-^(&w$0 zksA|&iP78}V?jtczZD}&5U(5yx8Tln9t4eZz`ECp9_9pZMO)OL+x#*}fJm<`Zf3ov zh(DuTalL~$(_tKO9iDPJ{~Z{1@P)!}shEW3#chiCDzjxz%sKw{QSUqcAsz7;=OoXn z8Fv&QuEfG4&;ws5b9JN$J6OCAov&u584#478gN}9*4FlL-Aat%Ex0hS{7L#ASUc@4 zdCph?I~`>jp0*RCyH^|uEdLvjk07<6tgkX-7(0;(&+t!7CWR&0fX<+21*d$7St5aclPO%Fwvt_PiS~n?`gX=b&B`*tzb+_Ye)sn3!QQH* zckqzfDc7d&`f?S-1%u>QFjXp;GU3|vka))Kfpd*GB0YE|+SjEUIA#T7h+9>u0J{+o z@l&e9@pfziS%tCv?LFY6xb6+b5N@?^*b^Q^q{IV7%TF1WyH=;lTB+=dIt4$^c(K!j z8*g~t)cKb6qCCvpFV(eQaS^q}LNY;YVK@9yLn%(e;x?UoTyrFcIs#^vNQ} zDJ%LU~uz@L;CwCH0sW>uk7{^a; z*N)mxGHCLE{bR|Go<;e&gb*&()5soI5$F2hcQn(qPMQ9Wa-_Lv&!OtTFl6C`A!b$wga>nO;*!hEa=S z1JW9oOP@zNUMoY)Vqa;-ls;IdW)Nm(3qB*5Y3#iK5S}tO+kKjCMlRb|B^%JSh-`rY zEv;ZR%%5;Ul1hKBxvwI(LYdb4&m)`*r`gy3+<7a+0al9fx^=R7SD8^&7Ov0K4rVHn zRkLKbXXfS|;#GQxi>B0AA4I?@c|<^!H(BMA0?@cF6;Q=Sk{W_}QA!RatCZW=cxw@Y z89rk{nYkFPtbpo|W#(7rve#5f4Q5R>(=a3tqnkcsVs)-1%@F%AXTns{$K|JwW3PUg ztQjNKC2Jt`awhx*HDkuo@s^^>gM&vu0t+u@;zdTFg$v+xP8eewj>-Yue%;;gTh{CIl9 z%1qCBGjLtzon&1Uw53`uptmV5It5grEV-22s@e-Zm`VC8p~Q5wJ`;G}ojI{K6D|fg zW)|Yfu_#=RKcJws>{yUY6~JQE{1sulD<-B4Ql+(?~7_7a$GX|lXc#+Ug796C|xFP zCE15EX@RBN**K}MfoAl^mA8Lzkp(2Me+p&)j4i8WT>n@151TuRd>ZsSAcn6QA@ zSz9KT=j+QFW_s!vX^E`*n@qoL1u{A?Yp=p)$K*|afa%{X(=Qjp&%SHR%Iow~VQran zaf)>htPOa!(X;q_|LnEh;J2$Ypxl1seGc5EqcMA%ca#|;5JBQBuFp&w2xz$zF>On3 z{4xp(a34Z_pv;(BW{!}@ivWY!!Q9FFEw|BA*vD*ICNv}yI>Be$(P=_+_3>6<#@s9S z9X|Jgri{C*IenJVP{utRefHQz?V}DN+<%Zd;ouB=t{caVUtYIjGet)#dL#Md);>Q1 zlefh9wEyP0!_6r{&!_znQ;)C|T&`m$b6vWCSUUXQ=DC?zNf-wr{#tHobyJO_05dG& z*1(ugJsoh%8zNZaPeRu4etv4Qhe!>nxRtbWEg0tjlg{82PCAcAoI|)!T_qzi?kY=y zsDO;SW_fV^9=ljaGwL9$lw+czUSQ39wi{;+xWR9rUm3eh2Ss0t%tG;U666IXJXysi zW7tnY{7e2ZoRgEDY|mgD40oL#56X%#+JF>t_HhY~WXgpTADOrWU}|75|0jL`WG@#h zCe0t0Zq^*UD9I=LrMK*tpuJ@V(PvjLtV@2}STPsqVogB?t9$HnHp@ux{YB>GFyIfr ziaTqh$S3*CIm3+G{pOs(#_fa$nv(_@wO*tAMqdBTNnWs1AMq!g{V7u)So^?*7^q8(@5nqO)T}j=yzB&~wiW>3LC1XfL6KB4uJ;;uaB2jN zmHO?PM7YF!Kt(`z!576-%i^=l-tjv*I8Ki|HV5IOdc^tW<0e38cM(SKge_cq24T3Q zhen<3*(7TfJqw$Bo1SLQpXe41JmFcln&75c{DF@dX(UG;-$MPH0*d+^Yiv<&x>0D% zElpNcOJ&I_`y{R!XMgE|oUFP5Tjr!q6ALRLU8oSH{2$hJI?Z)Aw{vHA2w zl}%5$qp<0TxjA|w_b^eu4Mw8j6Y$KNttr1B?8S=%uL${ zJ=>0-yG~Z(ypG1t3fJozjM{2XGICL+$r^i-U2?~sWSim*ks3rhdYBrgE>fgQbOy}D_g7j#K9BWZ;F#_XW#Va7f|Rtr*M88v+&bvMj7 z?ySX^T#x@HeW$GIF3_I8|KdX5g+={oYzeP+uziLiBO>(K(?5{?CJ!6^i7^hlW0l{g zuL;m`4C|}jC#jy~;8^@(6H+KXQ9#s~H}SfF#i9>y)yE2a%@<|;_lhXL3%?7uNe_!HD55I4G68IfNje776 z27dRVdhiYP-`p3{W_{(zK!LG?5#z#_Z~0UwzFzTfi~Ww9?D{%6@l`5*!>i+O4jz8b zc&+WD9=Eky5PSXGZnK^E;zF8{48%omkYDNHVCIuqYE!B(v5thO;eW%*$c_iUL7hdSdaZIB;ZE{=~F0usuhc=bZQk=>+%L-|(0DEzPc#(6;84)vVH^vQ$FKpSWDr&T@@mQi|)D z-yrK%kg(TlGER=Gp>x{;zk6AH8z25a*UQVNu2*&c%|wss`?9e^*No+QIlEZJQW=Z& z)JnTDny0OjwEbL+zjT}nZKsQwK7)ZCUZ$%>FbaucXAO6>Sv_vsp=-GFwr%pup#4Bu zsprL}EixCE6wPpx>m>FuraHe~`!Q&O$e z0BFc~CWngYivN--pYif~Z7y{itxJx=Y6$wBZK-qHj`i?hva;>yxrLKMCB56sWiro3 zd;ixqN-z7qSiZT}_CT``r@TU}5KJQQV-^4jg|&>mjE9p3ha7E<%@Dubh0U!oxho)& zzCiX1OV|e@o-=)#4=Zuk|3YO|TUr-1L~qypPk8KHAHyOL;F%mMgG4HTt=b9}$JgTb z1cE$-*`(>H#EgyX0S!xq*4}P)M7R$9lY6SD55_D%&L-Pb5J&l{39qk$q5RiIzd@4`B%Q{ko0(+ zAo;+k&0w=p7zYLB5#dzAq<_Vyv4duV7kb69M`Q--Wpz2{o*iKSx2655vW}CPOy0o?VZC@yEGFB-%`m%JKmngW17aZFR=7`hTN za|CR=7~%#PX>9wo2)S}PSL})PsioxzElY%7NDSFC^|cL=o41QiQonVuKvuaZUBi=B zlGhui^u9Jpr-YB^sz&=BzuHOcySjqt1XmL5m#-Ya;L z55^bF;_TYq?XTq3j^9zjStIXL=4cf( ze4L;hSxo#wQ^fb@Rd}Ljm|^a+!UZWb?i3+|GmQpcdVmQ9)|<#vlOvTem+r?dPxncV zP{i*Xe9lh>AKziGeJMj)lvWBH9eqcH$s7T1H0nbGPOr)F#c%{l>`t}JW&YBC>r`PH zzMfpGx!#B9Wsh)XCp*j$1Wb+&NdqW&W@o^8LCl*g`y!njJxj7S-a7kuClp}I6EqzV zxmHL}*6dL98r%%yHT`uiEs38VU=<=>QW3!DGx^5|`^bKVSRI7{4UciKt|4+-qiDu- zSd~4LW8d_GROV2IuDn8s%0=fR(EPp}iLXqG^rcj-<<~NTAzEIN1Vrf1!4kVwbfai_ z;Y&^;lh%db^l~@Gto04ot5%mJ{e~pmfmzpn-BI+~p*gnOpAFV0(^S(75@m<&{)RWj zdg~|Mvpn-}Pywks?bLd!F_%}Dj?IvB8OZpg;N?U(+ zlZtXlyX~ac+@z!4Y!8K%L#fx@q_=ZPKeLlC$tRwD>a8ugq_~~5*G`g^`L|r+t#;xY zxkMwEc&(lIW-f77E>TP~(V4e$i4${)0Xy-(a*3Dc5~hEFzKkPA>6C zVRi!6*@^pdiEri-#rGX0-_0d%$|Wwg6W_}vKAKAuvlo?8;eoRXmKn;2U}LOPf5NHzho4iQj=908Bz*@Uqq{4JO8y==neBz%-hn37HCOTx#wgkg4q zxPXhl5K<(dM^E~b2J0r>nO-Hy((l?tNFM!C1nRlDX>riYE?NXPZCdJUGdW~Nb9s)Q zotO}+@I`CP`T^$RfjI;{MiBJGJZ$$RPKN0)lj;W=!F-JFH^Sa@PX|S3#`w+pvg8Oq zQ(KT6VIy%H+1t!JOe4{!wJr|NN2ob^Dt-WEIA#6`k0W}L+4x(k19b-BnTT1MD8`j$ z%h;L**Y-KJAckSRbnkHF9PnZt_E(h#C`bJlja#$Udl>5gB35+YX6F$ZHB=k5%X`ln zs$Q|P?cE-ULB6K;0yd+mt@b-q=?!vtjKQ#8^b{NY7VU@cDALE4 z2shfa8XjmCiMe3$KvRAQA2eX)K+Df)VkU3O*cp9PsZ8Tlb7Iig%*%z}x<#(`*aYE) zVPcS`q9z9>hD@WC6(>c{Mmfp6UdW|F<3{WUN6$Cr`qHIPCTG(o>PN=q!VDS{{Ou8q-PhxSr$EfX>Eit5w>E7aosF)>^Pb(IW&SHpJCR@0tYg;7cpQ= zsO%EPk@R7Zymh+#gh2C;8CI4GuNCEPL{Qz5 z7RwYy`u~a7aY*)GJ$=;X2d2N~q*LeOE99(Szw%)uG%qA0_Q_Fqnv|JWEELQx%@NIF&`c#(M8527ww5T|g=l`9k=!LIzHzN^#g8Xud#J zZ`6J+32?T>QVtIqTp<#bJcHavZ-Etj_MFp+o{{J7v7=e9iq`_o?~&;{Z$}aAGrb}i z{#Q8afwjGxcSZ5OY-u?}&H`(HC}R78wS$K|sPg-*m1G*xybJmLHHEl+2m+_G&DV{(i5mvE}L8q)*$@XJq@-IE4O;kpAq9)_-TO_NAy8 z$VoGjz*;l_qeze1eUU<3VFPO$?fwiIvfS>^$iUhjqq!v8{fXb@Er|V=^)QN4-*TpC zwznKJ*9T+`5lkKLPoK_kClRQMC!-aw2IBH)7$0^`LF}VL)z{4SFcsC;h)Bd9nbR&q zJDs6D{;)GNx*mHb-4p-Q1pYI==s-d2R2I^@LNmz9B)r$eTgzsah9gCH^S*H1lX|f5 z{_hGJBFHa>F`(fNh}0z1WZ27IF?%4%&sSnpYZ%sRCXA#$WS_WMl_+G|G*+?_?vyJ> zhYNh*RZhAvW@c$(d@FqqYu8vVURX&E`%(u1Ypzt|_c7utU05B^1y=jHu!>}|FVY}@ zY7KuIyYq?mFlQG(RCT49t^b@mX$Fr%_d1~1Q44$;?={r5U7!Wolyn@@)i;58>=i)tC|$_`(am(jIaYcW`nmsbcsxpd_#qWLU}OE5buzZc z-zW$?yt$&|EcWA1TYWpsCH~l-O?fMbK9CqIC-E65znXLHlX#Ax)iaHHU%HQ3XCJI% z+^bR#4p!)HIa2HX<&larbjIl(tErp#aE|2kCXN>8N|BHLvi72V#%s3rxhrA?yHi+P zxDV!>`&1r`>a16gfU%FbmaAoBPLTT!6MC_HOgX@=Kg~E(Z90)82?0r%=PlobwP!4@ zoeaO{@W^<3^x9}SzBXe$4vl83_KPnrC9F5O)3`LgWsaUTv}V@A-Ra%N;k55N+oNEA z&nw1J>-%^NRy7=f{Tc+U=-+5I87t$;^Y$cVh&g{Ys#wPS*}P7%BSxrfGa@2xCQ;yv z_9Yj#$EP!dH)9(%UBYk?Z}}}^NP2t_AtAP!{nV-JkWcUMh9NpK=IE~U z&gg1+PCb#{+3eCg_16B6q$8Ms!h?5>-@KkjLFk<=&^uckSz$SQmNGh)dBt9#bV__p zTa?n#_DYq~>1R_qr#qBRJ(A`bl&lXZz0+ZQ66U_R4e=ct3UIM46D)+zW^uLG-TKqV zLUBs}vy_vNGfFvm>xFJAN*Cr&KB zqIT2&EJH%Vytq7*N^!K7zxjMWjS>g(IE?<=EaU6eD5T?7Uj>~9bg_+$UAVnPuu zS8KGoSwr?_o!Diw^87_hY}ix{zyBlDks3t_XP0BUh7V__t65w+ud-p+uyZ}fYY?$c zUnH{9Of%1`o_COE^yDEQf)$4Y@qdE-jgJ0Dn3+|GxA3SCh_@Zbl2c&07!OI*ctoK1 zAq0wzPx`mv+$pefk7RqM#&c_1t1s|OYdl$KR0Y$&x6{3WmFq}1YdnFi@nmqzyK5y@!rFqHbed`#Dqu&#>^ihoV;bq)CX95EaSzFq?7 z?F>$?w-7HGdZXfNN}h(oSkLcli+Z*i?Woy3n-+HUi5iKEk$LBiUL?#l zs73)BdDQ}t+~m<-Rkdpo8pPfq|3Qc&9|{os1Jw%Y+Wx%YaNlczmerD2TVm8#o3+J8 zeI;hFjQU~RXpH*7X06|-AH;x-`hke*T7<(0C2iKNxGJai@6%Qw7 z`_VH1h^r5pR~hpM8Z`sB-C%=sU;@3HLpXJTqX2n}@t0AFnvk)i%$OcBMhBBM0~j-M zqyyy#^{C`%v8Y*~!ji_&4?~isT&eTqv(0=eswR-6Zt$K5< z!e~M`F=*@+Q&7JlCuo6va+NOzLvU6x1OB;hLpYqoH8 z(iW+9DtH_2O6pXpV64pNxgaEGN;{7SVP!5`Cl0AlCenDl(^N)pMWk0mwS300#C1$$ zu$x(EjAbHGon%0PXTl80`ixd(43_~K=2-3i2)Fyj8-e9#(KX{mdy3EFve!x9iS<2O z&l8$TiG_+UHQB99MCTucw0>XWKCSr1;?IK zo^dLc3yG%LezO}^s?I`EGf!Kyc|^APuloY8aKsx6i@kxDjX}i;ZlEU_BblPUI0F&j zM^nC8tlyppc!g4n)1?z<<-{fWJXn85XxUD%-aT(37{t^f5sR_z)FaFwb*OU6C)0uBb5~$^RDJfkjJ2QpW|$sFa(Q^A7_=Aur_?*2w+OEd%h&UyWdDy_(7Ci$evs}ny2g24w z9T;7er+(&P4#uYmZ}vwD z7&5!@*6vwI)a$s@bZ0R9d>EXqBBuqP1B1`W(BwL6T#qg7j>JR-Kn|#&(*@QP04&eM z7sw$kW@q9HN(qTfPS-h^f9L;jKB8xK#uS&^UAf(ts1t;Xf2W}7;f>kGxxit#Bs06z zS|h!9!JG1;n`H0$DZ$L;Vm8p#69LI*dFZY|8`bi^5_0WJT_#`C%j5??)yrg#ME?>n zEEhk8;n=*Ck%L_9Pk8%QqDFVo zzt}tL7o7h%1<0ZZ21m8I&%#gk$o5QO``f?$%fv(7G zcAPh4$611KO*B-B^MLrb?13g}9*Ilis0hmXbfA6}yzIXPF}#w#FWbZ1(@E&khu~oe z&ko?>idRU6VzeHlOsZxj@sz6H0_;W?hB| zqk6fBMvN`Sr>RCV(eF}Y*-g@7H6XH#m6uS^SQa6aY^tO^S#T9n$3*Hzhz~)Y&3IfX zF#MqeKseLeFiE6~{1SgM1>i0ru(!yUzEEED-0oPJm7+Z3m0W+z=3<<3X}%uXA^zFm z*oEdY88r0vH^bJcH}&GkMxv22Du20A$e2JiMgWMxQJSym=)=2^-!5)CdV~B1n~uJ< zlV9RX_>T3*k}n(l{HAu9Z0YOzz61{bQab0~$b6uqNL8^v2)oxyAF>i>hv`LDhtF|u z@V>-79g;m+XFXabhn5#XR#Y!*BX{wrBYcFDo)cR+^tmYYv}CUac>N)xNyI$dNt78l zz&8^|5qIiZ{s@aJn}1A~{Lh}4U#;r6^^fb4f8~k!Z^^Ge+$ldj4m78^8|1HL%b@%M zlPQpFn#$jNcwia&bRI^tyt3O6z}hm=sS>G%aAvJ6tu=L@V~CbUF{Adg9RM02(DL8V zv+%hFx^j_U$xgrhczmYW)A1noUFN!BlJ)(o6-_rzEb_p_Z*LTN(Q_bX+C3g&QHPf} z8kRn1BL$j&!U!F3G>+1I*xGm>>Q4${w&9>VuKnAplhb)L)?wRh{T@l9Rw zi(8^D`Q!OZHls`a$cg#u^7BW!j8%{5_v6lYa@o__&>9VSsSR~H{g+&( zf=2}s_d+(V)d`8$fs>e_qGZA9)^P=FA<}iiJq|3lSk2A0yA#xYY9rz)_aIM0tKDUR=tFN@!2YPa(yekMq=J) z{NM#bMw6VG(D_JxY`lq}pw36dSb~fCOB~c+g2|=ww~_zjn|-xHMxg55$Ny7APQ{P!FexK|Ude3A>?D>6?jux^SXO3-iZg4a z4yXw*No~)Q7_dLFY#@m+isQ-RhOjl%jTO|#TR(ERC_V5#hmOw7ZjndO#+vET&tXJW z^Z&50HTns`kb|%Q2GRg=#wOG6#L~gQcvAm1J_pRie8%sG$@aS2Pu)$MJLpQJbQ8YU zY9o)3A@VqAQuIvgsUuWtbwIi*stXCK6Q@qTR1=SrGnLrLtPN6&^^I9-x!(SA5cZkh z*Uj0~UQBEC)`EKVoy4LjL3=^MCO4=KoQkKHPs3K97JQ!|$|Dae{b+);JPbW5h$yc! zG#53u+`?lyuNI1W(Z?DU6!Q};i-<+L!dO#D)5e|?bQ1FD?*kama+O~t?I3RBgj%6itix<(nD&~jEi7gi}CUt7qlgNv{%?Fzf;*UNsWW&l}T)r z`8MM+U(6#}9vG+Q;l&QFeD<8EpUIkH8iv~}=OsTu`$q}P&Yqref5|^HE_<9R#IT?9 z5B)_`Vu4KO((UHr=^`$80w7srMK8$9FR}Ug?OYftjAyY)+{HC!yqb~HCcZZw=_LT{ zO==W%&>@*RJ8|wG^w3UflqMqQp!20~N?fy=?5E@MtQgG~U$ge_=9*P&{Z6g?`(0}i z>vXxC+pTkN&0Al&Uk%oSGzd7^Dr5g8y_}yr-~S}vK*2IyNKs;9_ZX|>s~w132(8OO zrTSe~+hg`U1n6RSXD?hbTlQtdxo|ay8i{i6Tuf~wkg`Ah)%I>;%i;I*-&FuB z&$tNmMAa`Yc0nWFO3(C)!Ud(>*r;gK6f}BUMsFss>&?X2%B`fM_c3}}2J#y~N4@4f zvLOz&AxY{Bv{)>D;u(QHX3=MANCYRB5`zVep^N=mCgz_z4;p)*tD5qaEX;_BHpZbQ@`U6W}QSb}26miJeePdS2M4u{M z2&Rc|3mV$v#65zU5)X$O>DnaFpPFP>(n7FnLFO3&Wb3jzL0qAhLkurkR)LhQome=fXL**0k)b{2?x@uO*G3(uw0;$?#{J;0XI>` z^I7qi4~q;gZe+}Wp?5z*FtAjl(+@3uf-qc!ReZ!3hQzhE2&T(AHQsZ8 zv~Embk+FOq!Q}G&{FQ%9hk1|Uo^8x(p!t}@jqnW};kPX_e!10c*Qv4IxI~HahWa|| z`HK|I%8`99RpMwZHeNJ7Y=IPK{%uE{*)?!<$}RtQO%cfNsvPFE`qKc7G0BtfS?) z;z&cJ5XbE3LE2Y%_pq{^cB!?KA0eSL z{Ya6yF@KmE*0=2>;OASkTWRX1oM+4@mt1J9Jj$TxSh8%jN2smspUhqiD!DzU@qINt9FyRk)U%uSE5 zAKbuW#d;$szKPoHDLKHJ9z`oL^Zd1zpawH3H^v zD%pT_P^#eJBBu8DI<;&Qk1Qxc?^}&mncb&kcFCIXK9HSY+i~~%R3mfziOexwOT8iW z{$4tiTq=L%A6Kn0Xb+E*Ft~Rr_P-ytPrz^ZoYPM(0D%^@F?=FBuGBdKsVB%mQwk;t z$ppZXJ50eMm~tOYw2#1cqbPLvueS2K@Z|gsirL@>M!)!Cw)$1SI!Qx#fnTF7wwlA8)SqsI`HH;dt`t4Ntcn?{tB~9MsJqM z_ywc#JEIa-WAW#VN>uXmN9F(GQHeUfFdKJHuqUT2eS>?JC%qvVnR}pj(#Ka_?sU1E zHJisNldrn3S>4Go-Z7qPrBV~l{ox4D%aN(>y~31o$k0$CE^wilHqI0`ASo!JZn zf|JcrB}wv72Zx2ZTKO}(0xjpW3<9ZheTSBXSQxgdKNiZY6>1nMvQLIN49RFOF|5NC zEWRw(4BoyIS5{FpHNlZzz7}EY7e8IR87d z@*nJEBjr4i;yF#tq?}R5bbBK;D})>8Yp}*%CJshf2!@DG4_w5mE>q5nS?K_C5Yg6(0JXvTc>1O?7W%&%rk=4GJRgcGJ70` zP@Az_6B+T@Bp7?Ze3~WU{Q(jfUz3@Ah!v`sF8EIQz-O@)P2+KLb29bBD>QPmK1VIy zz$eykc&rccjn-A>Rdh#wUA-M>Mvd&ib^X z6c0!R94BghOI3aIf#^k=0;+uRRv&f?it5lqXjMDHVx%_%SVTv=y%^r57uY0qdvSi| zs@ggMPDD{M10(OcU5cI0nZw%-$4v{O{h^}3iVtP74ho2iM#WW`HPu8|3oki|i#Sf+ zr(urEpZYp+Dk7KqF2E@U#9D5%=OoX5Q|G-E%I&SbXj{wn@8H1r2O0I_ccM(JrBv;M#y z&0(REkolCehra9Vq1*}*(mC`)GN%j37Be9#@ zik4|bj{Y4TF-k(IWAuuZ466sz+>3Ja{%Y z6F7W&390naT8XiuQntEs%v=YQ<0@`=u1`-5F2x z20HAIzk3{FK1k4;xFZCJmaH&OHyYl87B?F9Biv^+>@(~9MuXK}a{#9F3a{DEnBHN2 z-DgZc0+nJ+|GPPfWLX8(#nxfF#qWvsH@z#&V8U+*(Q6dlgW{Pn`5u*< zo_vq60F3H;{O#5E1O+H60lbDV6tOS!l=3Q`N(%+ci)yqiay8T5V3j{Bd;y>Bmy<51 z{vEds<=b>mr+!A5(N!{*Y9$gxjv^jk$AWm`_dd%H3XKmAIHjQA`1ZzQh4TlQ4;C}M z=JO@|HC{dMv-oG6i$?uT#^M>~jkDwLA1-h0b&Ok9!n*~D?AQQ2(F{tCoEU0 zGTq{z<~(8rLWq?ggwhW~1Pu%B8&{B+92&;B=$F3%-a5p+So{&wSH;fp^dF_dax5|L znSm&g?8Nwy9|T%nqjs!7b2bE;1q~xakkhN%N4x+n_Pt0_qUoMp#H9xC>6ThfL|!RJ z`xI?Ue`d`Mj98Dz$m7gw*t-7bGOtC-E^xUSLY_~p+)*-+V4DwrZVXM>YbcN=n)39KI5FmSBkv9T>KpZ?Sb-L zd1s3R^*r{u_*Iq!yNo|qJh5ElN5Db8|iTcneDA~Kwgf_R+kD#H|}ul*beK_*vKedHQ}U?`ZBGeRUtxXbQ!U%3z< z@rTrOS5W!2zR%~^7RgP6i`@|hLPeckx)gP}cQ%*}J#O1#G2E<#j5lOo%l4?PEkU2f z#*bQMAZ!)`f4gvN_vp>+Ra=f^P{`;w{2_L?e7)Z=p4>`0^D>aGqYa8hu;_OVE!XQy z?B>o_wDJDfIrbF|>)aEN`co#xk29RhS)ln>(kC(dDR+QPvcuE8 zJAX@icz{E;!r0qjo%J0(jqtN5)H1~B_~KX}*e+B24c5e%V`|h36!kPbS{*PUx0@a0 zc6O0t+rH6})^gt3eM;qU{05M4VT|G{Ws)~NpQ-a=g$c|cYDJ8UqpZSx zmKd0Qmas|vQoF9j^7!esscX42*40{l&(xizeTJy;)?4#`;>rk^TpGt08=mxdJr?yC z!x&QL>iY1c+Q@;ssX#X8YiCFmrJ~`QI~P0LbMa8+>~73Q>~x(+F`}vykyNF~Yt8AB!!HWOf#y@mbf{`JW+1(U z#5^&!1J1EYWbwKqc|K$Y-7a5gcNxfMxn!q@wAVe-q9s)9(9OZR$m6sH*<7t{1&uwa zU&;!jbKzt;(>_|a+u6=08&z_!8prCbB@fzSs9qP`qBnN}wer@)pd2e!0mk^$yo#|7 zshHryK3@-`TgH@2u3DF;TlYTB2Pms&xHhv3V$Kno&RuHQv>T-WB5ks%G4~9wv-5KT z@qpI7KkinL5))}Ir`i7P!e6$}Zw&1zi}@~}`Jkc*J$lkrkv|I3QK>woe>X+htei~Mpe zTB4{wJ+0}plf8O@tXSmQyan1T2MEy4rgn!=GJ%frHyG0_fP^-Qx(S7}<#iml$5 z^c~;?ZaLVbl!G%wT_s$viW}D2$*tUhL{Qr_1r(7-9=Ggzm z^(@VJD489km)|pYMuAM7cJ)JJc)Av8p~Q4z567dloQ`rCM1@zN(iY=0=xPw zegt7%hq~fE0GhPf-7$actjsgQ?&fi`+eI!dbzb8=n%;$wk{8hDpaWqqff2sUJLO+M zLi)J;z^Tr&A1i!cYwBojo9FFs>^<2w&SSnrI1@kS3oI9=9xwB9)VGR1tb1g)Luweh z?a{h@UiLd1_if@Gf-%stQ!*`YmA^lKfxl?M^xA`ff1r5~JH^0h(;{o#KB_JpjlqO; zv3s`4uW?+?#z6BVDRJvTSw|l)D{hsmm&X1Ztn8LsQ2aUIzKDdH^ZRu`J?@Pc# zRNF^h5Agy1-FC>szqXHxjTd*Oo8H$#dyN9;=tV7*D)xK= zjA61Gt>c5eUZmxN*-G9v4my>5)XnaKhbXCpc&+5%|NEAU%`qka|Fm3cjtNQ2f##^t zj{jH3o$}D6Sq}k@w;+J3tEK!h5+Y-&+=i^`ppN|X@C=HjTC<7 zY5t}cC{>*;A!<!Hpf?{}C?F~=FVFxj&z3r$iOT2gUZZy^D)~ksl6ek=Q#1HdOaG}G2*o$+b!AEX zwSwV_^7q;(U;DAJa=qN{4!_IR!7$8n8QUexBSg7&llAuJ>B!kk)^b?jK7MZDl#br* zxHqKN@wW>C=go#?afd6qz6h*{*b7CKZ@l<;gv4JINM;Bc{lHqU|q?EUVt z_i-t3z19Bp_{NEQ3Cpbi8->`Y?Rq#KIERp8#)#_ z&~7^5_M~MV{WcUoi8x2rCuR=6g*oFQ`xtHBTbR+VdT7F}=h8s^NtO7es!Vd(Y`*!A zxHXg#!Pw-oMh!{aifpJ^LX{G?l912>NF8TW@5_cB%7z}6&}sy3mAy=u(Bs4f|1yq{ zl4~0G1aV&@)VN9rDNoM$K0HU;W1gJW$%3221V4~6+ZPGbLsX!{E$mK+=P#oQhfjVM2ueS0;=q90 zb7@KbCAE18WqyA|{wgH7xg+pYS*^LUqWxqp+fNaY zJj+&WK49@t(H5w}NA&)*>+WE+`M^HOvVx+nt_n1FrKI4>Ap+PdUsHb8mT(?3q`G7kx#VJ`jB;^Xl`$kt*L6KXP)QMN9>; zCsMBvr8RgCilTYajO`XnO7|1p|9C}vpsFKVe|-ajQJI0+CSoty=Jd6R=sS z?ajZHw);rL@GEE^^_*-(cxEP2!Pz3*w84+b90#48gEgnvH+fz-j0kLv@5ng-Hm4oH z7Az(Y-!ezQv)*Hj#6O$Q7|BbT*si(GYjh(&9%kMU1ClJLy*|GwX~nVxzQJS{Fs8=z0BS6Al;lbyQ^|^; z)phtQAT>xm>68B-;@$;3s_JU^p9upD5IBQG4U%HOsGwMhVkLqaE&&w5gh)cIQCn|g zYFmUEu}EOTB*5`FsI8aUdh6wTU)%b&R@)e;#RO=Ac;i+KND(cyXPmSRU_%1R{C{ij zb7m$%``Yh${?A8i=A3=@W$m@sUVH7e*ItY85#+6syO~@vpTkbrKL~7wrnwGhFLOae zrQ#{uf2MpEWS7`O$OUa8Y!N*Hp~OTGb?Au2p;P zRWI;tuKlf~tdjk=xvEh;zoDLA$#~wUo^_r!_1q+Xbv;TsVk(Aan>fT*5Uk!M1zRw!HMgV9%n0ylZt=cW)V8Qgb$Xr3JgwQ> zRJ4;=nsa0;lbFz>htcDs8uO`){Y=r$&_1=Ta65w%X)iOns)L9h81Zs$a0SDMpN0x# z!`Pg^Vp8>KiFmFDnj-0%?& ztT#mLu;Q=5_)n5Y#Mw7SV)*TtpCg)DIIG;IxBqZhlu`kSOsD^4&IjWC*^^CmH3=Zg zjRuZ$>t4$ch8YW{9;JRIJ&egFd( zJux8k<=A7AH8F^VaP)e4EToonMW+gvQP40A8~F_SiEe6A=?j^%lfMjrw))Q&~}cbH+Bz*%BFbvK4{OOR^(# zZ}3K&CImYs&GA%J=L9eM#y2q?SlcFpm?Qk;HEO0NFN z(?9th%DB6f89d9IS~q1s1HD9>N`v{6b*rDia7*o6-Ky}h@S>BPV`RoBNww)Trka)m z50}(Z4LdEW_7g+QLxnrIlzZko>MS=+nF=rBk}pMIY5FP!OE5=P7VD-wYw-k`uMdE} zZf>&!rAI3EJ*az=G4! z7GD$4oeJL~;Qo$wKBrr{KaY^%3-l)xZY>T7RWQ#hZSnXoi?qZMt@xbk6~00fKd0^w zGH?|dPTk|Fn{`j?(^V_)^y-5 zTpxxJ{U9&_K;$02Y;P5ipK`eSS@RSBbfp=T6`J#Tkf`=A{Ji!h(#v^|_VvVOC2{w< z=roR#AKjQZr?At`Nu@6SNDi5=0Y@)-ox?_>{wiK&g3X({Ub5vI;bv{W+%=k_qlHFk*Q-?ZKE(GctmA>S!MPU z-U&Vsd{+KE#2@>;Q~NTG0dvL#nH%bWuGw0h4GA-Ga-0J$JhaR!vkT6Vtp3RFp9kex z;aeh%#J_9!%qIoPD|ExbZM0V1FL}=d`>xZZp6sCK3R3z?%Jn+MiZ+1)bH;QFsZSne zrRPp#V9FfNy75=e!F9)$#{8*sJnK8u%Qn+erM@pkI#=HYdv zO|XE-AusW|{tdFmE12*9uE;C?=&K7wLl(M4YU;;*KuFA-u|NKZ%^{EG}x-j{qf$T$rrsKT1r_`>J;h6$UMOa;h1FNeC9mv!Hb z0%ynaq>_w()(APMUq#l~G^tZ%U7QUw@h3|cXqNu2VnA@YJFKs9(<5{<7A$TRa=3k1 zZfTd>4=X`;24DE4ISM<7jVQuH zr$pcHlL++Sbr!B`ADj%EP5j+uG7i3~;+qioNOay&VTgI&!;M190jpLDaVYz~7d1=s z0b{@xcLB`AH`}VPAABowbI>~BGf=MZUG=&6z7|hpAUiZ22{(C93fC0`VAi-6{Dv;> ziQ8m_gV+x^6HZ{uuIdQCg3-ilVFI#2F^M7$Qk8S}j_7wMctRs#5NEVb2^29XLTG;6zrQO02znS{^XL>f?uf?{Jf|; zy3m`zU#Q_187c{FBrBb@Uf>6?Q>Brd{?&C7!gq6JFg!*gVTXrDH{8nL<65XQS_}6t4zqCOoJtDo z*O&RhS^ptWre^*X`?K6x>1Y!jc&p;KV4$0(FSVY1VS2g!bK!OAWzJ{Q3)?=y_lVD> z7rYdszIqor8J3vl63$D7;)vn3&_#+=@*&4ONaaHMif70}=H6;=rG0A~q_Rgy1xHd4 z%g1kMv%fZn3A%Dc=6In$C2U7Wtg5}510+QChU*YJ?K`)*LUg@Mx7HHb_48vtOP~;I zMxGTBDzl2OF`Jv>65Jtr!e@M+SV7`KKMzfs@v>2S=)&bP{FPbJ!x!Ez5l4}8JkRB0 zrAC#Kr=fq;zA!x4Xqf4Z+RMW}9cE4^d6CQ7^uX zL=LR&JISmz!v|V?7l~v>Py}P;Q{uS}!_~7hVCo1}ASJpij#Bz+W zTViweVbW+X>!-G3rhCPC4SfDpOTW7N&(p|zwYhKA$Ex7#AMH99 zS*&ZcQ7@ji&5~Wy3U@d`98ytm%qlx^4Q$B7(XLstMJ`0yMnevE(;aJa{4LY{UJriq z&5}1}l-t2eoUz_!&40t(hERu9S9lAgA8wyCf19zoOo*kyH|(;KT}IvIyhOWh2%U=f zhx?QE@Z`AoiE&sS@o9&7rvjYW&5G1@0~tai1mM%+7m(-Y!|Jxy-@oGvhYtLZkiz zhAMKOcezn7V;8wEi!`+Xt|1cQP`9Gu%cXaVu0j3PM7F7NV9i;@TQV8FI~^$gqH_Da z9B0!ADoe8?el|d+H=~Md;u1@xB5@z%%k21lKJ{@9F3iQ%B8kNJFOr#d_;!bx8SEvv zTEFpP4pl{SWY+8x$C|N{wrX$iuUCubuvL8=suwD$7g~*O>LX_ggb%{^<%zNTV>v^n z7Hz!ev}Cv~HMx{)(D)P57MZHhb{&BEo+$_Cd)zTG-$wuR4*oJ*jj6449A}wb`HKcc zk2%9M4bSCmT-Wb!cG2g=X{D9s>$)q7+lo3YJ9JKL@(_HR7qQzI>TRx=S0?@_E^@jf zeKGqKHYJ8tCbBZ7zMAmS&Erx_shXs&e|*2VF?~zU>d`6HWb28kCn-m}VC|H3qOq)% zE%%l8jEc_!?dA3rGz!BvTQfcytK}j_Y-ZNFU;g43zc~7S^n(*I-+Yqfq)zVWsJxVt zfsqUD(PSU=24?f3TS1c1Fs%8bEN13uYlh162fpYBtY!Ui0s(CL{Fw zl-Tg3;dMygPYVUkKZxyIY`)F7vYdA&0-6HNHZo1AdpERX&HhNsw#bPAORjJO2oUTB>fZj$PY*3`82M53x4Hd~nQf6PGtAL+2p_R6$l$XT?RD8$&imbQe{r*Z2B_nnI-Tl%db%EIeWe^wY za<}f#8K9+HrFnHuhG~c_53t^Fd;BJ<<5v>;#plV3K-;CDoyIHB4pGo1E=WOpzA9sT zJFES{UG!Mh9zCLvitfqW7Hz^azOadw6Wjk$R$=ajQ~5b@gQ8di1LgLwbY6(6$Gb;h=oo=Vm#X$<6EXl;blPV&{)Ft%{N}yN zs3;e1(6_Na^`zNgN`TD7uZjYX@HkuoqdEV~;T#W4OUlsz=K}*m|8yc(YSv*i%;v-= zva!WMey6c=5AB?U{LLf^zL5`W4ygVgBU0(nceejC_Oj%!ZDH82#PrYXSbxXux8HvB zgY6&1eBT?3i~IhyveSqlRd%d<6R^bwP?+wW$|pIb#^QBioy;JFB(|%R_$j$v^ z&N%j8B2&N3@vJ_ovA=SQw9j5r!kXG+^c&DT%CV{n3oBc_FDXqihddnd;7FWn#T@Rm z-zFvV5`C4Lqo-_>(SNo75Vzd1n!hFQxhr@Y3raON(*FE)IdBTZW{iu?9a9D_P!K=y zp-N-PIEy&0>gb(kf;7q@d?L&2s&85+bJ<`UF?V5XIqtkq-TZ@)$GR~TJ)X7fd}~I5 zoa&v`QgXx_n{xytdCOoZVsTU7^xXlv9`4kVKQ=9C&InQdIxsdnJeQ{?YRWvJv1W{s z#ml94>)t%-N*xqpKJs^`z5b+sEM@|!&nd&ojXsxMy&;Bod9WHi4&nq}ImqlwQgp?_ zzG#u@87j63j-h7g{FJ$<)=7_Wj6{b8{~^B8=b1Zg`#nU@z0gnVOr>*`*nb>q_Ge-^ zPB@|~ay+4a)=Zpakt8P`;+Kfa$nr1wVlGeS&J^6OQAtprE=?y2gP^cr-mNydB#{2@ zx>wBA8B`<5B@;6;Ow?bB_0MGa0pV^e1AX?^n}Rf+IC>~rx)5=deJKZ**w_Ezpj@S6 z&l*I|NO>~*8ZWN*JEQK)ya~QV6cIxT;xSoA( zfpae_FZeR_#bUhEUh`*%zT8?yyR|s?x=#u27Fr~0?CUx!R#b05DbWL;6r1YFT)I#^ zfI*g7LW5I9rRRw*Rb)9;k>ylPma9@^*&tMyrjJ!FQO1u`6i7!nkPZt*G^D%j{rhMh zrwG}tQx`JIp14>8_Q?7pH|t9oS)nSAdoL|r>l`=h8aL|~>%r88R7V$Y2BrMmrQd?` z6ZuBy)5MiM0J_a>WwhH0u9UX5mT25!8t7e%BeXcpd4& zhuwea^<2&ul>tMpwbai+gQKy*i9)QZqkLX)Tm97@II?~JO5yOBcHKL0ouAr_>CK6e zjq=24Vp(WdFn>2=Zx6dqEg_9d(X(dgAk*#DwrA5V0vCyt#!WbmHp+Z#R+hR{b$2hS z`nq#N_^Yhuu}5thw4d(BC91l<@|+^+3B8IHIK}c}^^#Az$@Svk%|MCo%UAXanC!CI z-=SpIk^3e+{t$y>C|gWvZ00QF2BSed63VrnI@x}4E6k`D&W*&XFSQQj#hh=`h0EM7 z6k3ld7P5nh0ktn5WernKv4*qR!Xy)O#QQZEmjH$=4>{I@Pf|IDC`SFOJgCa?q_y$M z=&@Ukm2y}Zea&mCOmW#)x={5G-5NdSGwRiag2!Hwd>@<_J(d+-7Hyp+UOg)lUsq!R zcz3$s-HiEJPXOmS0L~~2ep5sCqdiBH&L9R77e*d@j;gZ~=UAC-@S0Z**0G-TIxtYCCMt`9T+a0}zvCh0TsZEXi#x^zbg-u-UPXn2TFWR1iiyWMUSoaGxsQyfvgFCWc z^Ttha5hsuYz9IHn;T-n&v8mUXB?q`;o%s*>ov_ySsT|yrxd?|@uD8)?-Y)hzY?q2& zH>T|=$GWg7Um(i%-o&n@-P`8fKeoyaZ%B+ooE&2jfBotk+NZGTZk#M#=PwQzXgs;#Y`K})cNZ5PlDyfc1@eDs)>FyscSa;dt z(AT+cfAK)hTGoF(6kbfr7nk)J#C)8OkE=JxY0aG_j8P5%&E3&vtbWB339nheU1k?A zQ<5^S5d>jmRDm}U$uoR!xglya0ty^qOV`5RfOy~vHqv{npBCoA|kJU{bFVRlD zty8p6H-*z6R;(!j{iE08DO#SJlBXQYP082a3iQty{WDJgjMqOC^bgV=p6I4bmN%?sTs3N1Uaf79P^Zx_#UJhBTBw*pBeT|j zg3L-Hb}QcG-JH7?27gK|aZ$o{P8k5T59W!~uf9X7Tnv!RlI^f$lc^vHPSG66ge--p z;M{1}iVZ8|^VAOdoFA(f3$0*;l#1ltIi)zAeBEAjLQV|j8dIR9?h?u1(fL$;cL#zm zQeom=X~Ar1{zq2yLk`=$*tQl1x6*v#M)}fgXGtPycS~**6{>MBp}zls?+Ts4sp+D>QJ)@=qJMG4 z88;sM!7hAp;McIk|B|<}__}`K)9@#3&AW@8)Ij*nOMNCS%3hT9l6T@W7a&v`b#hH5vyx@FJu!n512j}AU z;ciu7Vr=SewolE{&%bBSCG=d2kPqS_WqL2~5syq(mY}X#cW->R=OOuUu!7eUM{Z9b}wJcljO`v`%4;M_*%vSdj2ebA1=MIQxAV!7Cd{e%v>}y zc7>g_UCZ_Xj<6|RYX62EsXoS7lSJ4jm?Sz%j+ioP<2=t20Y=GJKOj@5a=ed|3yT*y zO%gRW@%H?aN^y5Cm*A{vr6i4s-gljcP+{da7nR?z=nP}E+F6!nPb&2p(QC=(HbU>^ zx(=Fjd(i?M8!pX|&nvjx(pH+BH%^^m6D=HriD8Mdhp1n+*}oUTfdMFX z2jJ3PY6LkLa6E0Y7*SvFrgs&t=h;uZEp+bOGOvGkd5s7t;eB3?Y!6t|L`kKhqjS-G z(k!rX9xZY6oKU}aft12dYg+E4X?e=$wmNCTT%L~z)UPU-IzuJ+ArD=exI&@Oy4F|N zsWMNx7Wu#q?M~>jJkw}`n@;x~o%U$dT&Vft{j9@cb$MK3r77>wWlRIS?ofmS)i0TAaqqelmUKzCL;HS3+`P z3Kf>xU&eyXIZ6Az7>O-qmDO-Moi*wWdL6%(KeAg2&(`#qF!Zm;_KHBcDUBV~6_Al~ z!0*=%_!nIu)8s1bpdv!M8}q|?(XIJhVB{?^G?e|$gRA)m| zv~MZaa&cXhTFVde;;!ZR9O6yvOARwTIhUvSA0!($k{1)tZ;XtEQTGc;(lH03 zqPxH?DDPo`D87E5nZ7C240*vTipJKt;Rvfriol7 z&?knbr^VNW;dADG=uh-y8`&0!$AU>FU z?og;-;D|d6zmKfMq7!oA5DT|7em=NMjX_;gs7CHkxriBbm4g`0LS6)`sMag&b5<+f zQd$vwQ6Ztjo_>d#7p?t8noygg#6)&yc=pU%5u`W9nce%UTrx!Y}mR zNaic!k7xh4xDBlM^XaAb^$2f?Y@tJcCY>=|p+iH`|2O~0`iLe?&*JXN4b~*5H@)e3 zeCGG@nx4neP3DL6))SjM%dSI15PY5&A?LRZ)e|BB_dJZ#{gJaRz5m!P*T4|kkf!q- z6?bZ%AWXbRSR*8E;1JJq>W;4zOP;%{Fm1R1AL)A2MfSGLjgWK68^xu;M;L%2QIVD8 zfdV-~=Tzr>{qCTl{0bBBvYoc!X8gB)z% z0x8Cu&qPj&+lM=16IL{T==1I_+8_ESU1SN_%U}}#9G_mesZW;TDBf>QC_qQXQu+*- za@>0B_WFyeex?s_SgDhx#5tAoPxnCbD83~2#qXdkWy%d2a!^Izm+!gva%(or6)@%9 zd##)b<#Xua=w6MwVREkKoD7Akh3Cpio06h$jdvn##%AYR0cLe|7B0@_VJ@DNs_whL zk?OXKfVxV_PDY)CTXd^4>b3|9sq$B(>cgfDq{N@$Rg&c*up7fuc4eSHVD$m}*{QiB z4h;1k8v^rNmpgHo-T4FN^T|I31Qt}7CkO^+|Meq1XPV7-m@YC;pajBzvB@@meZu<= z<1+>)cE{5$?3BAk896ZI-70%(iP|S|L!Que#oL^I$Vr?F@LqWqVAJu-&d&ta_j$nj zGk~4=8Nd?X1YmK5tARxW@Na?jxxlu^RmauAS4t5uy+F}R`a%*qhm#^k`MJUiG7l;QY$K~EAO8C#8mg{(0O1sp%ll!nxk$0Q0 z9`Qb%6TDQyvR2raHVZ$^jf;*q14v{l$4lSQ4KxzQLp#glX zNdU}Y4w*B37*7dc#7~SgN`%`!;V&V5m){@`(?zH>gfFzpgz=bDaub3<-1S1q9tn(_ zz8WvfUs_*P+rCAJ{W?@a6vqs}p>{>0^^Zz}+V!7~I$l@MM3S>$5R_HkDCoE93O38* zbiC|AxzIj#dVkZz-=c0N<7toxqK8~hfRL1SSt?2;7Mb*tfyZrk$>0M7$dKjn-#F&L zqq@pOfjeCP)+Oo7a=>CfBb?q`jb*ndwnXSXU`6F*6O_%iW>1Il4UU)*5_~$ng8kG> z;WfTP$%DyCEsx!LiAN-s)UP*F>%~s5a~0JT#}t!f`Q02n0V-NZXToVJ+Na< z;}XL)3>{5pN3S?N+@B%ynN!BgP!XauHZwP-j@V+4caeQwS#n8EsXg=(Wrur^S7$cGLKye?y8goXW+m(*Atqk*!_USc>Ow7;Rc4yp~aVY z_9b7C7Ak{nv=3Djl-mo5w9PCryWEA0otFAJK>5aO$* zsBUn~(sjDrAwV;?8azZ-WTOqQ;i)qkYqoJ01U+Fr;j2;i z7E7&sC-k8=fF-|J-)kJeAz0Fbx9Be%GB5LQ+Yx>AHM&)HGkbLPb-qak@v#fta&mO^U-6nFpdLDnMs$P8B&>O{f z6=lmX81*9d#$Vvi|066YP~8632O!!MkOE-XNSyY9R|JGivbl+wK${4NqE=53cDE*WBhU!-a7`5c(3QEcUOm*tm1T;(PUcTDx2fkd4&| zRtDqcjkH#PllJ1mrgizGANgfuS;1Md08B9IB-)}_+HGPgk3pPzq%{V`kf`Rr+_<@> zkD^Qed-`S-w+UhX(e5k^2BY1lucPx~59jtX2G@q2mQ~BDRxF}MxxMJjV^B6nMP)|) z*8z#0qvbpJhN?n$F)G5e zM6Q#>Jn3h+1}_{1#iuJ~VYVbs&1Ev&4i=`G9UC}J^hg*sG3n!soU*2H8c&S50g6?( zu|4@VW+u$W(#ne938rUU+@`8pvsA4ab#7qRd88h<`3kgsr*=?1om%sA>IAhDT-GqU z7i&1hc)5kBj~@sJ*g9Er0AgrF)~p1v68h7ps#f&mFa>J##D1#=sUo=ic3*_%^3`-V z*1RpStd=VpI38S)odtTM2ad*kTTGppWauR{=t7)M0x$kc{pMb~3^Trz$omtjaGg2l zXlKrBa+II)M^vK_jvqNdE&gm+80Q?ei)HidkKWU(zY41WF^|#vMW|GH0%rZ!TSk4T zl=u0e6=dCiN>`RBc7{r=Qm;zi{(`gk#Gl5qxkb#$e5Ry_xR%TS4@}la&+(nhHEVUP$ zDl?Jj*ILy)Ce^rJr*bPQ=|X`2CI`o>>My-as?Vi&<5)9)uKXJbqx0kWtzImE3Of~Z zmoO}fgC9kEQGIr${o#pD3i@$ePy7y;)Ie@v$YV=C6$q)cvifxU7aK&($p+H3f1-TG zq|KOKvc(fi?3kXPv1YjD`Z$sI$nR1h07YQ3BEYbUa6`@12ZC#@xl@ zTJ)l{%^`EBU}Eql)!D7rNoR8uF5{!9NDXRbb(ZZ(LwXt={5Oms-icdQOT$Wk7bt!c zf1gCHf2?g65dw<=r1K4Lwkg6`v>xOMV{*RJ zexr}>L3!{!ps%zan5d~UVE#tcj(Pd4XoH;)MOp)I`7W_Msg*j(5o#0S9iLsh#Rc+#=oxxJ;pZDj?9Df^!Tgmodxd zztV~_`-uDp(gGfp(MWa~85p~&oOQhISX^2dpPXujb7b@;2CZ-@!OTf!S$J3&=J&)arW zB}TLo1zn8sE1PAB+bTao6u;-!Du&w`b!wOCH$PAodfD76Dihr@U+N!|OazV-uf?6>VI93xEvYx@^wngZ|Hjb>`OEy-y-FEL*T% zLXsT);Lg`nXp-#^T`ohDgA4fXGjV}eA%m1N%t>uNcINp^rQzF&gQ{bH&<_(o?81Cz z_+3cm`iPP|Gw=mEsSf6JC*=+x=U69oGF&6ovbmsx$LOekz}8STJzL(hXUCRJ(mgxo z^lXOPv!v?TJLXoP_in-Fap*Dg?dIf}W48=HCjHneF-$(UAFkHM9cuOKoTpcad%#t> z#f;mkiTqvo!qq%Y=IJ4xswV~;et$bxQrA8yGY`(jwGk%x+VNz7AkQib?uyGj{u5UV zr^;@`;edxzV8>4r=D}5)f>|F)j(sYJ-_4P6o^OS7mB}(L7R6-+66m9w>e{$Qyk5XE zU(DlgbZMYZ_)J;W;yYpTXu2C0;p)BRPpvs{-{ z`Wsyy@PuaQUYFWup`Jz9pljnYyEfGA+F815i6Kr$hUt!o(?Ds#J@R(&sm)JQL6+UG zsrKbIoqLFr{>X^9^5QmYeNHhwRNXE*!P+x*HwHcCakG2uPV?y4cf1cNwERGFaY)uE z=!vPcqPOlDp}HNtj}Cr&o;{1pnK}W-M3svN;JBVu-IFL(8P4Y@d!AiD9^L&jt*9DS zBHWg$VXd^!RqkBzj(`R2Nd6n9a8PL*DqRmIl~SkFk%4WuKiJxHzkE(dY^4I4WB8Q< zuiPcm&tW~-5)Nf=}NGGu2p8u35!DwRCQp=-4^Mf66zN0NB{7Wye>MV9gCM+g4DZD$~v#^#6pPR9{$X--VSXtMBJ>l;@Q<+)R!l zNX+CY_p2Ofj?#m@W%3uiR?C$LZlx;zf|gJC%emH#azo{s=y6}T(A=Qt^D#x7htb&D zlfkJll0sY=BFLR>jht7>%I@%*5ia-m>n1gX4u;ggX^dpxqbI+4NtgIse)E#j)n%vn z%}=%N&S{}HzY%`M2A%)edkfWte{)r!SoBf#P0A68QPQl+IPj?Zxu79eMGFxRBup@l zDjwZfx6`Qm11OHZD&;*!-B$j_ZVEU8hgsDwCYgNVZac1!#kNY@pkM+0vJ|n4E)oE8 zal$Izz4Q&&byDJd3=#unxE$tm5VvLXgk2+p+|8zZ?g@08i_VLl@P@0MYBs8V_*z#h zH~@k>Iot#meokkiHMwer<4ej>VTQ*_V>d9n5@%YKvM>xIM2^_*$Pz{H<2#?Mk1Wx$4&+Gjh!sU#puEdUw$?H9HT zz%OIqq%p{((9H3GKGk^47mwi_l|R~Chhwd0sJ*r1pfn=>t!fU$7U#HDv0?0E+Xc0; zl6|o`c4=8+j4K#Azn_&;4Ont!c1!@x*G1% zWRBORMKuS*|4qJ0CGCr!f&HALGoN7%MF*Rad0fI!tixG_p$V5uq%n|zFBLI86ezW~ zfH%gYH>s;aPX3fzmNfoq+vWUGhv?Fjyv?Y)kfc_n#QA#YHl8|A=iGYR?RUl0Q>p#; zk3?bS!%T4UnA%qPdV6bKU-=!E-*^I)<8olF7n&;EQQMs)Iriiwhxsw4ZY-_t8@vIT zrrh?wsdyOrbzNI5dm>(ESnkkRP0SjXAG=|qFE)9+x1(<#YFhV+RNH;I)YizOL>EH0 z6AY@lUQvGC0_AqOu50}<$$gAvN>%5V>L&Q3Em^TVe{_@2+ts%(b!Jw!Z61Ji%of1D z<5t#BR|Y)evpo4u=Yt_yWMJ)C>QGMe*u>c)ekr-?G$+E8Gkt0|i}p4#NKKO3&4TQc zhtuV^DVfF@AGwK!Cy4=8z`BYPkx5qg8LV-#BC41Lj_~Edv`J^hG&);bXlz` zT)&uM5Wx}WQ&ZFx|L1@SfYYYr3Uc5bkb?J(p77pm|38A)=Q6~!yq3+@uf`wyYCx&M z#LsR?(Y-n0u_j_qKyFsqry$p;y#VKmbk#h>T~^Lhd1OK*ZZ;3$*GIp=R^~@1$z9iQ z6KjQes8qryiUbU- zCo(rD%UT}5Y-&1cI)z`0@ZlNmwzc6@&&c)}=2I7Qub?yhI^-qJH_}*esWFWY{B;4C z-x@Ctmy9~`3}C+AIfZCv^>Y6sMU^UO(ggF6n}E`|S>0~wl=#M2kN*-n0YM@$HVJyJ z^n_lI|5kcFLySwl8zans%87}v58vYUR)uFIB%}U8$%f(Oa?t|J9{YCqtW3`pj+Qg! z&0KBQ6Jr|XXmU{{)^XnEN?iD#@i(EeY;(DvBynCQ)g{9d{@1F~YEuxQwN8Swo?1qC z|ME7MHCciy-76b&Q&%?hp~n@`%Y&Hyd6r*7gjaPzL#yHXOo2-v@E#2UwXc-xfBB1-}YWTC>QG_pZ@syyv`x5z%!w`2kPfY3LKZp;bajurrU zFXkIqT-0W){u!TTT$jsgTPNbU+3gOT^XtYhDB5dGCGt%mF1LegyBU7pqTJwgfz0-+ z6GXpuM<>dT-gb_6a3HfF$1&?`Emi~5TCCM3#UfMt&@q_(%q4-s9a0`IGcJs)M4n5KP9PL3WI4|i$re2jC^@$dzZUo3ARlyi!A8w)y-y)HbcNP+L>js6y2E^;-b zskl0-nY2ScN`_9sFw?vdE*?;ognyrS{eK5*1f5AdpPo%`yrEVP<_(4)D?y^m?(;=7 z$5lWH=gZ#ECCV_QlJC~aYxpaI-6(!V*x{eqf;j+=emXW3sE^@u;$np7h(a6W(!L}1 zSS#gFR*K8zeQUx+X1J|Y%!%amy{=2@D%mHhfEvHI@lgiz)jwQTjnnKd#4K)nbMID9 zaq+2$BhI4Z#?<5D$=j^jWt1Ez>K-$;e`HOB%DF1tR$1+>NY38}J7Xuxg>L8jv-178 zI}E^EPoZYM7GUQ3+E9K}N} zKD%(_&RASQI*Q6A0o#_hY%Mwibv9)h@a7?dS*y9cu!GW zRGgXdS6&Z2Uk+1EhqbwvFftQwAX>~G1X35$CEqy7AL(bo$K5OjHsj`@hNDM&M%|m_ z>CvW9zk#GQYfp24!Y1)4oSvX1*|Bhd0B79N;?OPSEp{KBV!9pBKLXm8BNR9-lLdUTy~w}7mKSoBRQixEnx>c@gbEw zbs?*UNbH-C@phHl(T8r} zFENBF%Bz|4e*2@pE3?6|M??L+N8-yM+rk|ZU~IQm@X1wiL1?U_=KtEypS_SqXVDRu^Wb|_7jy&Z*-l&r;g!rg-zAGQ{3$z+#zjYHn z9&i~*7Ryow7cb>Y#WnZ?C@RLg--P5#VvUi~Kek5YRsOX`g?H*FDJlO7JL7WYSuXEb z@|E@DOXk}tA~%nDlM>&j=&&*MFm2#p^@Lu1Hsn(bN6nV1zUZycnV6ENiJf5PblX%P z&6lKRB%9cTB80h9y<0@y!$10;_4?#w5|CPa<2`sD1*ux@NbmnRs6!s8wl;{-3AKz> zFoKQbrRlCJ-k%`=zNgNA8+zhnRSF-gQutWq;v+p(6!%OsC80e3L$R-V8zDVU(at4T zAyyg!{yWcJ#w~1R71g|&ot^>rL+7l|%Ft(05*Y+j-C6_p*Nh?*; z^N|HJj7?gV-*~wsJKB|J)ZxD$ooQdWaEn-qLf50>tlW-j%cx(^tF<~`WjWn=@aH_l zaw4tMA1{{1tqFx@=<(^rrpgglcKOGxSI0>9q|c~ZD%odx&8Va_|IO!pkE=wlMkr~* z4(9Jm%yKBA4_mD&oSRrRyS&G7{A<7dZYLL^#Pha@_F3lj$eg)|`7FCOuHBM^Ry69) zrq*kXx{>_ozV9}o19-s~GYj!nqanM{Xy{gGioD+xx*AuGwcUa)Tp$C!x!v45Ll@j{ zM7K#wSMCElxY(Csknj6z$4`%)6(gKsUsz)JEnUoJ{|Sx?@*oSvO^) z@G9D4tllqqxT0K%;Q^8XqOHC%r|5s{BAf@eD-kgT7d$u-Mgi@sLNRW7fA)yazBVsu%x9_YrIstB?pYclgW1Qt&mYg?yGw5Y^hhqPt(fA_S)PFP zI*6WpF{5fNyV$3$qa84pJv?3dz3kyxB>MTi#tL1WZH68$EjDX~V$;G(;cIN)A8n5L zu1d5gFHX;EHj%I|eZ=Y5@2fjYi57%||82p+7Sxk?>LfPN)AyaKE-r2~GR0X}-+}%$ z@LA$81~Q;%22yQOG+PyW)M~|oCpM?b(Du)HL@&CWLC%2vXr746>nptj-Q}1^^9*q{ABED zB;-aokocA>rK=DeH|h8rIbGDO<8MgKs=n#EKJ`iJOUK_>fg7_n!LgeCa2O`$2%tS( zuBnBF&#SPHZxts%W6=CUNUZRBA&%jk{1AH3U8VEvtKN_t9BPK&XKJavs7N?eW;Cpn zAyDU1`Nrx?kxw`XicRJqh{dY5`yuA+vcb{yvXAr_brpO^H$=r^8TJhk76>o(fKC!6 zhQ0q(m8OK=jO52p)5$kN6dB3+Y@ethK9gjn1+kwd0$lt(=rtqP(y=<%C^uK7efk(l z^2djeB&%xeL>{7DI2fxFZObp716;2W<(jmoEcjTrScy%)KuiBL;EC^MD(eRSJc!qC z(_n2)`#aLf`uizlO`RBR!WnLWYvKh!DF=XP{%d@nS_Xt>Vrouc2uhtW1E)J zIj)<=;%ja)8UiAekETv@&y>bdw5}blY8~9f%O2PIG=mJqNdHsnc7*rGyFe|scP|%d z6aN{&aQTM{oFYC%Hr&8G%UU$JGb;AGELXoHgLx<@S?p@I+wotLP5GpaE}cau{>7<| zR5zCa3=O*cBUM!;c@QcKFwZ2J-Om}8pBT2C&Fob_;Ts+sxJaVzA%2KbOj`K^{u;6AGB{T+Oiri`J_usx z#eWAF4tg4=k!4+}wEcjy@oL7Mj`(-CYJXiXq{n&}9*fjm)7ttITQtcZJYX!m4 zu3L=N?@?i4Qv^fwN1K`t3|*H@ewsYXijaFiv#EaLTgjr8cJ{Z2XhN)46<6a7tKI(L zc{=TG(m<5xw~hKo_)G9|q3^<`c!mBX7xA%~SUNG<$~2du&)jIJH`}Ji#2R6=PK$O8 z3=NgA6m>HJhixFK;g1TFX>m_9cX#m3H9{QO%XD%`@Iy5WFAq_}z#y4ySnVKY+lXLJ zDWm=cs)+xEKSDxVfJ5IE5{+lga6VnZCp~?>eFm==s#ogCryhEDrg}HusSemfbj{Yx zh1xG*GPLFsHF8{<`^hJ2T;f+@#ab4;RL#<-$Ld)M8}Y=)^FhJ41tV(Ui}#~q#_DT~ z6;UHk*E9lV(j4l?;KLR!OQt8|BQxJRZJm?*b*H@AFS+pIi4f1*OT(YINdKZ!(90+f0GmH$1se+ zClrO-*B?*O_X)8!7d>@#R=fl?_T0^4+r4h<64whKy~nP`iw$Qo_bzs*auH7oI&>>@kj7z`&Z)e~~AUB*X^ zV8yh&u9{4~BzhuyD~wM@vy4Q=9wQS$j#B#6bR=J1BRzCYN6csBRpH)abIDT3 zfK8BVf7{4M%J!$GUX(t@l@-oZo0NzwbKp(M3LZ61eg3Mt%SdkN;@GQXAGgbdMGg9$ zjGtl`zve?@GTEIxO9ka)z4Li=d_INb`1znXIELC3)nH>#VZYg}2E!UG7nlWe6X~+q zS}w8deXzY7s8Vw|(mm!og*${0AK7R=E~H>xyD%B5{UkV_I+-C6U73(z0p;|_4vjB? zb(RM2R3rPXb2PP$r*xdK$;o2Qam-p(S?#kV_Ni5bqnJt*v@X<<-&F~A4E=1y3J`gvUn_2#A@E8M>u z8eA!t#(ZX5{KHNv(;ZMLUl90*2K*<$*NMj)Jw^lLJL!m$qto(cDQ+Kq#>!uUSB{6^ z-o9;<2N&1tBq?>n3zh~+9B`YE;`s9bdi#+5w+-HZdBlOLguA5H8P32$y z@cO^8Qj9%(=iVQ}qMH+e^-OQ91;x#NEPFsK+Z?)mQk4$nKK$^qF-F7bDW~wK^l%D4 z6M^LC95b8V-*`DSQqe@xHc!a!_e&?^)kEq81L=%`Vra&m~r)lKqp&{&@dhezrTG z^MY40>d6VQl-OTtPki4I`dgGZ>x+x)>DUVsMJPOR%MuhRRq;>(B9-Xc9Ydzt0BlGm zsMvy(26v|+9GHf%o^Kft_WgnoPCp64#}4#>uy6b&YPNnud_l3EKD%?Jus?#2RVYs4 zpsMy?4yr=L*s0o78uT1vlVdL(t*5+*JCYvU5A0?3Eh^cc_?y|GS3DxxJf<*vtPgN^ zr!l+k^Dujvg8R`FX3OmT?*TWGT%bj9P@(|!b{L}Q0oyl@un~gS=^;n_$^%v$f&SrR zw-1m|)uzaQNk>nl#$1eB&`> z58;3_Xf(7SCp;%|LXBTE z4nBf9god@QdX|34KcvJ<vSix7t#FqV0|--V$owmLf?rVGcc#*Tjwev zF27MP*S=a;3AFMLj?@_u0lqji+L{qWUK|nKAlnHfhg&FSRV=hliCo4yCu}42sXs5R z+H0>=GGk$KeEdq%h)yVO((GGcC=gv-Rl#mY_T%4jrkunV-6R@~R{wk9D_niXCD!N8 zyfG)uyj%BmAxo#I+7s^r3ejvRwXpKsZ$0*qK(^`;`SQ-F)@U*ry2V;2hW*jM9ml*t zymyI-g2$NEYRr1acw!T0e6h*Tm=B8{%dCAx{;K?VziyCfk_}R&bZqlv&?R=m7AEW@kn{dNA_(h z-%nEc@>RY-;vA`Gs$0)W_j}0iD#KO2e7o`QdOu(z2x)y1Q@pcQqW$_2S=QaigD14i zT67o8HCz$A<9KTMxxlT|sF#H}gSnsb1)2K;y{2%fy>4$0=6(tmWAi#|hd?V?1cO|9 zmnSp=uY?*`(1o#K(X!a&KTo0gqN8D^JI3B0o&&KJ`zgYzAlD3=|1kuAwbjE=Fkg1I z!n>o&(*4ChQ*HaR(g8f-VtaJ?IWht3{z}T_Lj6X)*miNhz-QewF*Xf5&x4zlW-i(_ z#E7bB3w-O0Dj@Z7OLWCu)Nq($ol%8JU7Z!Z4sc)C|4=O)m;Q z{VA?|N0aAVH_ymkd4>cdUe$TSo zte0+9s2fKE zDS!ql7eZ@uNek{-$DQ!LJULn2;_7&~cZsi2W$=B~jlbz@u_}n3v0<9u*f4uQ%omCI zru6M#jxb(C1Zv%}D<%5t2W7${NHcN(R_nF3nAMwD4Y-7XX!Lgk0#d0cY zH>!`vI8J#}eOx?*+Kt$RhL~@mTQe8%Cm9d^kNQ3>K;faP~Q;KO_agdEEH z_}*84|7O#zy!10Re67D!IAL+DZu|=uvJ<;OU;gHXQ66_5xNB4zyqR8B=a$Y=iM|GNgS3i7c5syDq&q*KJYRqk%5CFQMV{0JO?V=fe~9Qc8&=DL z$T~LJEq}50O~TQoc1v=WD>0oB)GLeL_{y?cZV%k8mem$ji>#|xfg~3(f+|x_^6$&U zkMEKl+4-~=A5FIOc{%=Bvt1GU*2Q;;Y_g{62op&wj8Y2y@I~(OH@4UE$L))p6QZ>z zP~_Wo!6%*Ef+vOrOAMz2N1{!CM;o$aj<^|bLLXgWZ*;IWHh2tjD6MwWxvPbrC27P6pNj9kw_1TKlM1>aQjo+E?P!Wio;8VfpV;5)L+5~ zYVBN-;G%;o?VFlpJmh-N_*f|c>!QskBKIZ-8YNp(=L4}R$)fIi&=Z#>*;Sd%kz)fF zC5k1IWPe_oTYfJj$+>|1;Q!uODW|zkOtXlJ-3A~17ZA)WeAhWXNYyP51-K~hFvIrI z-P`{WTT8x3Z8KF}8QtzNxAcf5w#D00+aeh<0*PVt({|@uf&z2SKC{i-zfSEE-#0h) zA-pJewzEBIr-*HDQTPDInw(?C9vG@(i8UJ!{2yR-J0i~eD>DI~$;nlH6|f|V^>XxR zQ=}#^9D@YaXFqlcs@LIB!C8#Es7il*sv5#q=K^M2&U2kC5_Ws?aHDRHYOg8Um8+x0 z7c#%`=kgRexh6ZOW7HOz!gV&qW4~KK(`C5JE)TwxUPk70N((v2J=Qa~!r#q3wXc!e zXFe!z*5g}vso#O=tz$tou(YDu$9qLw+WbE{F1Yi+Re{NjsGJxBEdZ<;#+LBWb1ib(I0*Pczi!uGpWo$X8lW| zr^9;pi34nS7;Cfkpghb!hHT?sOhxEFV!>R_zP^`7u`YaC?PabdE5b9BY+eQde@eR5AeSYByI( zDtkZ`6*qRj>e@<$0l}2{jW61V|tcKmMiWOQWZPovb z^!R?ps3(JR?MsRM_OXTR}A}uwm(~fKYn%b0YmK=JqAe>=F zzbB`Ay;c+R$?Ha8~Lmow^F|YhA39x<6Q0<3`5~I$9F@wEyieS@n!kn z;AG?L-@fBE&M_B;E?CrBvTMpMx7-%1*;Q$mu2(Xt^|X*cYG$sLH|sG6X_%PQ)e5c# z;@rbGuR_mEOJzFR%!gu#NIM+DV}ctDXrM$ZGS-T2&7n&!7_Jp|$psGlIVj?+KzC+8 zc^1O^F;RI!p{mwIb?|2R6Y-^o>ILRZiY1nEdQ)8ZsRY3pp=nqojN@miA_MlAy6AN- z+*D}P&mxC10_+WLy(s62{C7;(RQtYE)7YCYZ%8CZHvak%>Xh1Di6- zt#hU2QlR5k_}ic&xJ>Ym-)Q4wgaSs!AFm`iqyM$-isIz{_LMvfLmc}&&TY+-&9Mc( zGiDf7^B@!XgL3~)c^% z*l4`mbZ5t#Z^#aBnAx^oD{0O7Tl&C|kHscmNgU5%HCu}IZvZmS@ZH7(RaAF>;hMt) z9gQ68Tr^CcwiykF?|)3B1vx!_^0Kf9E9Apt^zG(q(dqnHRO@ix&Q(Go1M%7?pXV-! zkK`A@<&d}bu(0z1TiFQvNOC&Thef=ufdp&*=GdZsX88HoBEK1aA+~6s8UAf-QMMUw zj4c{shF^(pG|c&%6NNpb6YLqPo+Ey$cUrRK`DDop$&%kDOB$0UuOv%0OU*Y(Q&rC? zNk{~U?T!GULdl}FYQ_)PoXuD$S#w@7=WMg)G@5hXu;%<0BP?sq3ntM7!q2BvRjOsP zWQ#)ZRzwyM+_3e|J#W&l=ENWux7!7^hs_fjxkKNcRJCOtIXrm1cwjDMC5pAHbyQbD z@Hst#xz0$I988w9B}?8&mTXIw>;m1fxGYGK?r}O6f)kEc28RgE@b4bwg&^W25)8J} zENQ}?m&ivd9^}#YTU<%3*}KO)5}WW9Hbp~sPpWY=_Ir&7ej@8PhDr^U z$&}{)oSvF{V$Aje_M!MU1*BsD`wb~yLU|a5CMIL$T+(_Dfl+rEX%br7oU_F}T-d8I z+wB1Bfa-1gY(TqN$p|{%1JJX21KI1zqD1dOK>4u9GTd| zGV!42&5tdvB1B|yN16^GyNDAzE*0R(JsIAT3^xTQBrzfwgv&J6;`l%L8hk}9#B08r(yHWO$!F-zhSLBDI@kvCzxhA@i7QJpSu! zNiHQh@wea)b(zHDv9)rbT&7PAXNF`ocp5E_wN`j&C&6lJkl)r)sP_G0*4Wx^HdpZ6 zec{O*VTUipcF=KKt+=nldWjG^cR`|GX5DhBe2S|6N~xah!^@^HZM4T?qvI@QvG9Qk z&QK&|}PM$ul|oW^+?FXw`A_IJ(i`>{XW zs+P6K1$K$lo;ezIixjgG6Q)Nn*Xe6L(k~*}l!Y^=G$*06td#pu^Dr_kw=a4#h14Q^ zN8WPeGm(0&`Cg{iNB{^AOJmm0S8xkd%ETJc?R(n8FSh} zs~BKYl!!?83vD&WheqEgsB<;08tm(bsO=JDeqn8m|F0A@>Wif0d^@`SSzdV`%e(A3 z+U(vF@9AFN&C-1p6Md_IE8ZSp>Xl^%G&4YN8i;=wCbNv~&(u*4-YisFa zz})X_!bqF!wtjK1Xet@|uHKp}_6wWz4n&>8=>zYS;8~t;qJ?_f{xR2S#Sx>Qb2R5L3s8&Qf|vF>z{(JRdxKg= zc)Fi%MEu>8KER2t;DD%DX(W{+1JGKXtWMfLI{YaElAE~5TJ<%1wQGcA;GiCT&g(;~RbqWN&xP~k4t_#g0#XzAZv`ZO`)~;0!^`oB8lzqgw9&`rfOXN! zij&)95FLYgWz%DWLVWuie|%Dh(joiw=I~ zz1B_3aBP%aw9VW*{IKy9H<8e!;?fA8W&Z8qk><>W=1n1WB(dM2Dx-cU(8NW!XTyA^ zQ7_{!wWYobwDBGC{lu9t(b^LmnUFY#@FNb(wLH#Z1ji|YW%G=4E=-TK;$Vh($lbt9 zO6!BZLlLD90xQe^4I!7=tD7rUjS^Ls@{8X<1n0>LG!;QvriN;rj4|K_dv zzFYxSZkD1Ep3Il(_}jVqc2;h0cnC_dz4q?W;O{8O903i&=o14nd&h%{)yeYmXTIPP zc917@W#p%FDEpptF0r{H_zJDkeD<0n_KRN0pB*`#-#C{n>xS_M#}~CH)LB+ZbNq1< z#9h|s6ZRu&hQ$9$=kXr~VW$QxG|Me@WqN=PQekR<{@wJoKg2U9RSG^^l$HnOyYwTU zzVAgJ;A;7;#S?>708wFo@(XAA2;G1=wR!mH4)4~`h**VpYzxi|j0W%IF`;bPJ1&`g z)r{~z&Fxc|Jo%t6AnwfYk(pef+>hqHFZBcpJHg|0JpM^ka|~Lq!w0K~l4^#ixf1^~ zua2Hyuw*h4ms3_l~MkK}iL}i3= zhN#N^?-=$of5>Fmjc6D>aXCgrC7Hcul_E2xhZRMR*Q03bu)Q>&T)$Dd6r)$-jaKyl z5L5m?S~K!`fDkJ=>QHMz%%RrsRgs#b`1{eODetL3T<+8v*=yTQ zu6|!=>Ab3!@{agRuVjowzr?kv3I}|l3boxzS_fKbZ~lEog#*%dL9V`%$c`Nt1+iY> z>gBc26c?ovd!aOK1|ll6h8~8R^S}f0kZLL0T3w2GVLd1jEATJ36}l{HV-NpSlYd({ zH+b1|lJ`b^VAgo0P?}tbKv8Ti2$&0Vtkp{G{h;W)rFdw(xp&lIu1*?tV)%fu#+tYI zE!t!r9=_Fxeadr1d0A^lJ(dHhC^R@$NU z8TibPA7k1(C^PD=lGVWt&yHA#1 z-i<5y#U0<1r_4(V$muB{owZe6YIY|07s6R@A*<3ZUYCJ0Cw6d+A352q#L3=4vogoq zHuMlDCZ-yEQw_cg=y@rOYPt7}TeR3^!(Ug~Mi+04W1x;UvKEIEYoNzP8r>YpZQ-OSO$$EE1p@M5`dJf>1?8J>&4!0DVIM%lw~b z?Q>>^sQvnW-|wR}bIv~dzSmxR?R9;dk}Pwh)Es8bg(r>EgIbqA%g#TLgCgeITo#1> z#tt3+BlAZ*z|0q~l_`@PhU6%C^VGpXJG96@FhQGYWsz~yx!aG0?tC@5*Y8KO$;H0( zKU(beFD&-DmbAsbG&Y2j!)ukTM1}i)s=HMsK&4Gv6ia8T^G7-GPSAy$dE z4+!n;O~IIh#}IHuKktU$H!v1?tF6Yvf@h3_Uqk|LeI!W0R#Zr7C=@vw3fChjg~W^j zbks=bl%dAHuhvqiwC4R$&5@&}5FZe@485Rg+Okv9k4==zH16Wgkga0ZX6#$FF}^!_ zi*e2)kcM@>`&M|vr(D}V$qK(wJno+5TJw{rLX>|*aTshcYA=c{;&xA`)^av9%ON9g zF>uMZ?Gd%60az8e2t! z6It3?3Jam>@Ta|^>2LsVpp0Yeoz@cd2fmMy+e*QAzhc8;=(~u4q*N~Les3qSw#%~% zdUt0WEO&#sMb^^MqrTedY`)gA)9z)L{#IGm3+yU8`8Yvk-LmCGNatx-eEV--)UbG; zn^>7>VwlV&Flo2hXY^F`DB+CFa}^V8QP0ZcuwonMm`CLZLnACA*Uw z@O@-U4xHKmP_)Fbsc2c08uoQvhMlH9{)aBRqslt{ygl5uMhP-AM(%OeO`G48|7sbiT&Ts!B5>sEV+sQvMvOLqL&zZlFM_&nk!kxASr{38o-OK;^ zdZr_sHNPwn=rZ_9>JM6-zbC7LabA2%gT7CFAF9!W_j8fGu_Ne2QdSK*eIS^Do{Z3t z#DZMw?hl#A9eW9Rz`dn5JzsyrB3#X2zmCRhF$z!UYyQCFfaCZ`vys-0I5x8tUm(2g zV{~iNT6{$G8h>CFb9MIz?oUDe;x=dUYYk9|w#C5U^zg=CsWX09#+1_zHN#-fI8)?ceG4Z@K+jV*eJ|zZ31> zarW;R`*#$7&Bt@VD@5(X_||*~Du(o7pBtP~ZRI^d#OD^iyXcJYY+d~~>=v*;fZ($9 z&hd!!-ud-V!Q}e7YHO3^$2JSr8Lh()Qe`t9g3RR2*iTvJ09t{-n5S|4_WJSF*1BZ= ziALM-1FSUCl)n)<{M87oQTcVEWN_46q2UE@!uShai_wNLRZr|6tPU;E&9qWkZfCao z@qX(nr*=&uC{o5+ghSa8Me%xV3k^gM3YFsAhDIh3!ejUaCn;ZV%_?~Fe1Rhf9XP|M zR#a!lUTxd<^W>|0Q<94kxSvOjk%<|Qu=aZ!`kmeh@MSL3h-3f$)8NEIyqj=31WqUV zt*!ni($l+D+_W7Eguc*Pj2}IUyEzjD+vgYV(WdOxrtIdxG2xS6CcjSaEYQ}9K$-5% zQ7rOOJ{?TdU+b@~g^2uj_ljf1wx(RBW=IgI9P(gd|A!;C3t=Ym!gvR>ATM%%{y-N)6O000bK_MmZAd$CC> zL|h-@($>iR_dmy`R6heQWTH>CwDnlbdO`SO;$2azW4@71gmJzzxtj$$?@Q&8JP*44pJVUtR$gv31 zIZWIgeuv9}rAL!ALkH7jB>3eF?tPV?H+hiZ!MSP@%&+Id>&aVP=Hld&_FQ}}b1~*K znTvu%j25@GK1 z?Q_omhUa7hMbwlB!k9sLDNQWO@moJ%CXirG_F>nt2H*S%0N2GA1RAAi^FL(LV%MP; zCdSUa3=SK7#40aeZE;W8d;qj}$?M?XqmCR%qf~&Zru<*AAt=(KVJh;H!w~H zQ1T`R;7f;PztbNK*PGaw4$nyOY0bQK$8)>v_x2*08Ex$cATNwI?Dzk0q`~hh@KD2h zQ4MxuEP&y2533E&JsrCmoVAHpYt1^^H`I>eATbd(Oo1|BP#c75`0ih1SfXQ`uQipi zvR7hL@bjf3RWonz*|A@`XK(&d+MbO~lnRM)q-PI78yDnG(`V?J_F{*<)2C%o62BBSXATyo-UW9p`6}L5^V6u_u3PDBBvhE2rS{P|a?jOfxKI4AvMNB+qoI{WO=nTR?xiEQf zDsT6(>Ce~+Upj%k>?#9lqu(qwdJ7UnAcAm${eVdkQyV+Nx>`Ii!9Qd$h|3T7tu{$b zreiCZ*17-R7@$u+t8Ot$Vukug>gS;9_y7hLJHye5dQQP15LB5I0Kmx+&pMmguI!x5 z^|Zdmz3C$E1hb!6^IEG$1qU#vneji^&aG)@Kxo{N1c;c(C?psO78WF8PxHp8JIoKmTcn;hGV@@~ow(^^K9i!*PyB8xF_FpBaNG$&@J+jN zfr33C0fzMTPt3$~)1P*jdp7Q-Kmchn0b^)p`!en!3- zuk6PD_=n7*`p65!>Zb@sC~2Io&$Ujs$dw7>9tnv*D5A&i5?KT_m9^&EfZ}m>jO1k_ zhM>4ma+!-~g#2y_iaK1@OEUpS0#U{%5CT=P9x0Oie9g@F(0 z@s}O`g?NIACD#_B2p4(O%k&1Q%v_r^J1ciBfC?OjYr!|9Ypi8m( zYpShRBAhPaf*eQc@B^DUQHXll=I)(gylbvaUX#~~Pq*7&A<$9*+i|su?f7r>riyddAJ%6jUj>hu#H-VmrMbQ5I_fQZa@DrT26R2XRy z>S^5NFg+B%$d5ZX07l$!5G(WoKCrPuPTY7trDSsA1SvKdGl^|m;9##|T@JXM zz!nyQlbGjVDe{!+#FB)!7 zJ{?OwS@x6pf)wuvPKfG!;=l6<+W#cJUicY_JQ<*twJe~LKYZhlvUWJ-YZGgpLd7=i zqIX{MAMuHm(ssH~@3Wtzkt+y<16Yuiauy?P|AHR5(b<*Pb@Bd@;?21VxaS3=+ZdvdmI zqP}-5BsG?2gl5BhDOd;|9GC{c`Q8kWA}Hk%1tFK;dgESONWC&gdvSVx--7L@TC;G# z!#9<2Caz&e!3{Rd7qq6~sPb9YCe)4_A-U5|A1~{&HvI!VAnT`Jtmk17OrDLND4%{=aDsuAGKlJkr(7pW)C1A z<)Dx&lXoB`FC6IHulfeQDcTdy|A?E%6Dd7`Q=JMit#{k2r!~(B*(N&7V-31#g|kt6EFN$#r`oZol!9 z`@y4xN}=(Zqw743Y_!d<$G}&w9m3695`lo{7~l2TDVKnXP67XB#^wv&5xNiQw%< zbohJ0!v=!;Oi3FTMs=OhR$J}2zSkssxy^keZCk{R9P2{l65~-m7-QB!BRT$ympP{R zip zH>T%N!iVve{_!c}MLudRCKnz~yF!B?VupLHP(OVS>=7+v1HZ>O(Pnk-%XEa(v6^>f z7^qpn9_BquL6F=~a0o?%)n?rh61je>LgxV8@tXpV1JJ6iAHO3|0WoJ%#dZ_mEkk^( zqruo}yrc*xp{L?23bqg5S!=meT?qW}FpdXg2JhmL*1Xp6Xt*9eH? z2~zyDj{;kX#kMgT7CKrMWPZ4UP0KY`C8e~gqh&G~iNz_0Ytb^9ro`f0X_ibj4HkgYbdO}ygZ14w;HH8v zv1rv0{q)truj!|64dwR%dk;RQ?ELb1<@@^SU~r;-dMU?&KvD7$KSikt(wYbGJ~RY> z`gl^EhgBj{;%oZ2q}KEHgLB^bK)*ndrg0pq#d%{E#Q#JtLbFk=#P9t^W}z?GM|1dtd5QN%oMU|TBjmv`V_>myGXgOlHK9lDV-Aof&K)BSKOz|3 zObH4T@_<=!1cFs}==&Sp9XoxY3pRQ>cIJh=OfQ1Kbz^2OAh)v?{+{oO2qg^ETIf*2 zqq=ZK@*J+nKv;0()CLSpQw=f4L-$GFRj>ux$mr-+Rp4Jm%y)bT?QH$|#7A!+`b&fZLAMeE||4xDn=b zt=@~jq%2XhBu#`!hQCR zxHW&+Alz#tz_zg$@!0VqA&U3lzTv@tIbhIEQ&q=WIfBV~=v=C+zhGCdJCA+brJH0O zvzufSyM--&X13~T8@dW-@%cWm#*ed`ZebrI0=Qz1XM;HoDfXZ@Qr&wa**P~l$7u1t zQI&~A%3&ZUL)w1{>v+VyzKa)SZ|SC=amC<<^>-fq9}u zc^E4!g+1o#m++t;`4h08A=am?itjsMT&qbnckS}BAo8?8R0gg?0<&1b#o>M*Kpw9 zWMFjTt=4~Zzq5_4JKS|+5o4))u*HqZ2xsXr!_p$k*$^69m4r_3S3xJ05xDHx0-Zf> zQ%k3VOKR znFv*3^&`Vjt7T52eualOwY|6~0s5NX1e67@c3718T>>^`2kLv@1#aYy7Z|96c#6e} z-AU|%>av0TaEHo<*M5Ihq7pfBfC4W<2QlkR7U0Q(-5AOL>u{j8nywM8Gn05H1q2YU_gY>(yF%H-V$D1C>4eXV2e4&qNv! zr-=F@@ZE3FnAAK**q8Legd1upo)geURtg>M;WLVp|HnI)Z(P?rTABDTOB zxFK31mV+N_YByoj17if-fc4OsNTgu~S| zH*x6tZv53-e}sK-dLF`)w|>w~-{a;Y@8D-_v?_l!qDNJFCDNgzAv`LnAFM<>=MgcU zD)HD-4I(D~_aqUcHSb}KD?E*f#P1-zTq_o153K{q>pEk|uW3GwEUwdr`rY~z-Zo`y zbW?hOze|>E%Gh2*#-&)e$G+E3rpT*z!Y#O#4w8q3g zhcB4WbTwQORB-q*1js>&jP&o|6e`l1uS80$ipgv)Yb$$WoDMz)zT3~6DKmR+54VSJ z(>Q#umD3YT&c+xqLQ%7B+Pl9b;{QnW#AaDpK;43hWgKvD$vD7!aK@`AfP?^r>Y0aPDHEi@j>c6o9 z+}lUl@4o*Vu;@+`xht!P2Svp{+VgGYJj{IDi+VbC!WH2ELA9rLW&o|(9;`Qy`IBww_ujoZ!EJI&&lyAs@XG=h~HY~w^+xu~z<4h`wpk>!Nf z_*BWapQX0j?mQ*Y4*!(r#JRA+ULsg){6ekeak``|*xqyqMz)&|!)yWJ;+(q#0sxx7 z??jUM;OF>joa*^@@IyvL+B_G;iuvF?l20&wnRyf+_Jq%7hQ>~y^0{^K%%jVc=fV-T9ZDQE1e>&|K_>uijJi)r+O_ z0|epB&v?sxQ0&^y_S~;MTzb;j*&6Sqf9QhELE$OH5fi)TUUeru`$Gf7(yh`8wy8C` ziEH%KFA2*q`E3-m6CBZnrFU^4$eDo^!k=KKO4WYE#%&;5U~w?%Fc@A+4uL3xv#9K! zyo_4mk?x$anf~eI&46>qW0EA!gC8WBY%Ex6+_pS+3C8Hmk#j!0&Li8z^mMGbA9cYi z=SsYgzee(HnCUTQcv5UMNez7(_if+@U-}0h(A=lVn7=vfm{~Rqb&Qc6#{AIba`83FiI&ab zk2xd2aqD~(=HkMF1U71_JBZ)dZWc96DU4!QEUGkb513=Nf+os~A5#d!4sx7gd&u|T zZnL}L-ipGB@*u+5qPu?wnP5)68<71PA}M>wU-86S(E;f3+04nn2K0jrz4yLLVDTm^ zRiOoC$sGKf3q^_7&1H^!L|?TuBb1l8-ntuZ8F4OQ68huqx3Ai7aAHd=GsT0RG^jiL zq5uf9>CSOJxyx}r+UzSTWg{dixf(0~jwttJm3t+E^gk;DuMGsJqT2f8a*>=x;JE3y z@ecGS3gmDE4YBTDfFf**$P|xJdIbKCI@S`ru&FO&f51tpv*IKCfvOzX=~i1$s)|z0 zVg8SHgzX}qfu^Oa4B~6A&4^h24iYhtTJmp}25@JoFmLu5yP?uvcl6Yv2F9#&Kbopg z3SU)N?g{;mxzvs9mvpSNHv*$Xe`OUqejwo= zsnku@e~r1KuE}2X8>1?AmSvjn$;7bj6gBdzJ z{M;st0CE4?X<7+)09Yr#HF}i2Mxi=tn>x5Ts@@@QsNvN^L_an6m)uO;jKwGtSRjW{7*jq8We$dvDIzTD>WdY3Eb$?Zu;G=z=bY&X}l5qSEE)a^!8-oHZUamAC}fL?tj z{M!|K4e5$m>@n7`x26j>Ut>MgLZI}>?%4cZT#18|lWHA(b;KPGj;1fBRi5|=c^k@8 zM(yT{62E8jfujPQh)`r+atdq^O3bU(Cood3w?2AXct=3<*M*;9ftT$K2+#F`VT(eS z5dZ(##{WSd-u8x^w}ZycYU{yUoY&$_*P{yJzW>5n*xkk@p9^FAdsG3>*;@q4<>~>5 zvH@V(MAp%VOK;>O67VUdc% zk(s+It3<@Uafcjxv>-Zz3Y4fG?pnt>$OXUEplWKY`Jyx8alOYlP?6HzaMHcVDU7aY zO|%m-Cwt5WD933{ya<|;vDp;k!t_LD9;w1Sh7QA%8KMAJ4g&)TQI+p8b~-%zN0SSt z)JN7Pmq=T`6x+8taBn{%U935E^gm3WfgbTsV`H^XjlP(OVhMZYyJ+0 zhqva%c!=w0DZHMLR}}j;5*&ImP2O-U7c5(|4yOHH@)cJiX5KO6&*&)1c130k3(aFJ z-4GEr>{TKBl2wMoYY4uqnSbJ08@v+^og3V^`VMakE_HS4+kJ)aYLida7>GJscK`|p z|N0i_W9WY(#=Y0I#0zxkYImI&eiFo1=nn|Vej7b%RUCuDZ20z@F-F=W7Yd|cy_c4U zz8jxLbFg>;hGW)@+k}xMHuGGXP&091Zbw;(D|8_c0q1x#rySaz`We@t?LGI>`8dj~ zIMTd**(QC(vC2?idpIRmBV$!!E<(2uY%0ilG2sqhi? zp_>heErvzbn)=}bGzW|Wpn58-Qwtg*?jLgXD}1uH{G-kTs#_M$;&}inYPM|514sgi zsI^S;=$(l0U}QlKI{#lC?*unI&CJ+vk_ zdIK4q*8FYM(^1?L+FW196IZQlIhv}^sJPI^{gLPL9&^RmhIi+suQtBGJ z)RhW>=WQDAyDMY!OL1D+B0y7%s%Lq!9&^g_!qOwb2~K^(l5~k;$mQ5)yU!okqskVc zEDx{ACHgwbd^1g*JPiHFRU-Mjku$plYpKY^Cb6eIZQkoMI&p5Q#Y|gCwWMl2vrx2f zsaj7$$Vo_$aS@1ph+nL)0Dp1?4=~YokD@TOT0u4&JBMolsTaVE*7RHCw1=lP{glNV zD7J}GlW79U+WJ*^t_fV!9~b9pYo-Jn@WtwxVWt(nkC+Nl1fQ`wj3;xd*SN0<4_wMJ z4t-Ci@ep71m0oC&gKM!u*aO>1W_YFM?0evgJf+F-FOC6!xxmCg1i5 zIoQSp0}=~!0!J^9t`9)h(JG;3N{PPI&#o)K^0n5Ta1Rl-W6hKoLA#PQTH~r?&yW6#9E-G$TW>FBz1N<)jmYD!P3Sx=Gwxb^N zQGx#tt`fRhKa&}{0*6j76KVlP-ohOVhtvD$5oKl$G~?>@#th`g8m&Q zlpaZJB)BEUTCcYXdWjvyAd>J;aZGXvY(V~qX_!VK0=4yT;WdywfCPrG)>@ZsFNQZp zd;PM)5Gb7gmZtWa?v3?5aANucZ-PH<{kcv^DA0umd7oL@V|-|@UV0Rw{1=d)B#(p- zIBbpi2h|e5tkIg9@CElLbTK1VgINq*luf5ul)nKF;@)A%;er{k&f#>iPYi3)MgfC3 z@Rj0XU6LG>I-L3j5&))J>-3{`MFiq{51kM?;stwQey$eAXj3WJ zTF{$=yUo9-bU)P1tm?oF>|zn5B!&evF5<@&Ygs;6h7bum1go4yf;jy45VnNbdzpNk-=jo9rUI z;#XV0P&*zv+`CA`2$4$EI0{{GP$QWE)q(k_Jaz;IM}RnNQC0;Ai#-Aubha+Jkjbs9 zZX8RUB(-_tz0@9fkrkB69_S@|;9uMWt+UVH1HG^Zphi=Aw71qo3Ogz!4<7Ke9i387 zyOK}4`PBa&>X=qrb8cg0ZleuUV8vm*P;~j<@!OlAKCi~Q=MYt;eW?(#&!NJ^A4yh8 z6j=-ugToFx%7(y?iIHJobaLxGg{Q`Gg0bitco))W;AYz~mct+HQ7q322WiE-W86oB z-?hiw4XDi@@Bo6WzeqQ|*!O?OMJ2qn+xXC5_0sn4!D8_X-v-B3 zOG>OqPM-zP0$zd@$r1L)u5@aERwxnadPb-Y7;+w5`-6@|ERJ_TBq;F_g_1d}-I4$;}sx#lNGZ*1%rN-GP z04nOfKE%DpP=d24M^S7Miina^jv0DM5#`{UMT>>li5ByMo`@C))lUO|90WM7i)Gm` z_N1rWj|by^oM`X`cA{Ou`aZPGoh?K^QKLE|?t}|mHFx8ab2o$?>f-XRH_{R<_hae< z|B$h_Z;-LaPIMx(REk^DgvNEqu@b(uE!Z}5ohp2>-Ux`LE{W;)Lx3y3;*y(f&hp@9 z2n`s-8-m#?j%gz*M-4g6kD-#tBmV^cL1ya-Uq%LQgM8(vtgXP`SQBU(`XbFt1!Hw4 zD2-ZcALMZ0gP0HubObAH0!>k8$?Kck--2Tl|C|I`a9DjeHAo)>oO}QSNJ-HT zb&Pe#4ZEB4uW=U#ktQ|&!uY^K!Vp(_UX59s3r%8}AWC!1*O^ z&tQF>TB69}Z0dZi@Hs1>?pt(0r|!?QFiTpK#`<)*&}04s8zzLlNH0DE?3d$l#Czu*DYks3%mNNQDWlx^f%6ws^h26Y6PqAqK=51z&UEN_Y!cGsbFj+(RAhgO7k5m`2E~y{#M7>)YwQo53{MUJbU6VzYutkjH@tw z{;TO#S4jQH%Z7|C7D3%#QnII0vaD;#-9_3C~dte3`J1QrZi)>^xXiaah0Y~(;120KNirv6(nFa-Hk(Frc ze}dQAz)h$Xe4S$m7(m9XFGk!Aj5XH5K38|aJ~&>oZ6<&J+Q40^Q`Oe5Rm1_X3W?48 z;F^ZBMQ~-j&>lA022ePo?!w)v4Lre~_^of+p$inFQE4U_Z#mm&RG0F3$r)QYpf>Qn z>J9A6QHe|tuyD4qqsDp-S}d4HyL;bzUb<%>?hnB2@iY_?NqXD2V|gvZE~yRtH!7~Q zP8mwW!yEe+Qq#DfN&cro#higdzZYOD*se@iQt+uC8)cT}+Yow(yPBDQt1>G*3cSke zyaS#a@eJuQ_z&h{oM=iRF$JWMC{a92IQ^knmz~6~lm~rV$%6>1!P~;CJl#SdbbJB1 zT|802Q&RY#|3nKW)dsYt2MB{Rf)i#eg_=G%j=avCj)BD1R^N!{z~F&|!FKDrPfO_- zBr)oqjd;8&NycF8)_0AP)3HO?K)%pz`q>^@^EXiartyn{-vA47bmr!71Vf8PPs>6? ztfq0O2uyTPKapj#^ks805Wl2H8)(JiIp|#m34d@9T5@?;2e}8&FX&Y42K;e=3uX;< zz=catkpm;(^x#cjk)NS8-N7dj_Kd(&%+G9Ch9Y=?DgiSJp+o}NxFA?rolX-?1z2Qb zr@kTwDlS^f1&{(DRMb%8AWRhzL`jqvjZ<37sPR9f@}hAr)VBymj0}zSE&{WFS1t9M z>+WY;8`#Q(%5trlcos+=En06q$Fo`%;c=vF-u=5)9Au9;sR!?ibN*6%$4)D&O^q+&c##yA5}|Y7oqoH zQ-S4yUVE&`FA=UG#B**vv0gk7X3XV*!Pvl1=cvmzPPjV2cBMDTeqE2AQBo8S+OfIHgGFIwmz@c+Ok@x;Cdh0 zLj1ki%A5r-zm_mxkq;GW9BYt`exonyy_Wv$0XV^{_(>7gLu#>EaXx3;)bIq^4EcWR zcM?({FH%-sjmkxv+q(D}j)T58nhG$37y{~9;PFG1bkuS7#0`}GeS14y@>6anA4pK4 zQG`M9&K8+y#hvILdm2=Vp2)-8E`;&@r7!1U0kz4U;EtIYg>M80)uzv>5*5Od$XGcS zJm?iigBrW;w;q|whP-AE7#g*?b27lWxf^|`wdM@6!9FxX&19`LHJOxSGk9vP>zp*L zX%j(hCt-Z42mFP0HKyw1n5I2tj|nWOBxQZQm1Pf0PR;JIzrgLxRtlC)30>nF*iocgRlK(d)mn(8T*R;_XDB7*CRdKGLH~r(_FzBNPu8^QF@cKj~p)#&%&R z2Y78vXRAlWSeX~fKjL##vUz!fDcjI`26dz%Y@=!XkfiJu^4O` z#|c2IQ5L}TF6R{vL~z9YpwZ?K7WS_>7Hc!S@OJ8(h+ZIU@oc@o9{y_43ba)Ujg{{B zaH9=PIOmsWtp_hLW_hCQO@^`5ZT2-hM)$;|APk#~akyrC5eRq~Ou1~&Jzr2zx8aTU z)YRVU2+lQUc+6$ggsUM*D1GvqKB|9nqj`ZJt8Dd%>l`M^$SzEjTw7T%+b>!XHMMZS zu>Y)bzyM3ix}8xM6--3B-o=7N!EfWSFup6vtw&o+wGsvrckjQ8i9HdFJ+Z*+PZR`x z1{t;ZuvPM0YMLYUwzrY`s;Z$Uvz=fz(&;R17tLlSpvDZSq3NBgwyomlNstW%^CHb; z6$QdbsYxuz_KTP09Yf*0-}bWHbR9EfsC-i20$<>HR2W~%7L2yme`M+(yUX_yWi(9qArb;)K37?_@Eg;(>tQ^{3sHOElhmh)@`->MzeH< zf-#uZv;h-qF7!-T=zZR`DD(NOaSvS$HfgAL?ECoeybJf7KF*b?`Dv72C*PAMpWRse z-`Y`njof^*MA_8Al+p*7ISaeb-&`t(x7dBUVd3UE^`SDU+e7zcw5xno*?PjdZVo&R zzM3+oe3izOW^TSX8uY=Q(u+$`ovJU!30jw(pOo(UNOf&RqJ8f!!gXe%eeVX%IwrqH z$?yV~VyYoe?sl4Sm*5)?q{;bXZKB8Y_&}{CJHN|^vp6svGsS;r!wI{=985vVh)*4u z)z*e@kv7P7Oxm7zsZ{_CkDBAw7n%$`7^CK9a;^EG)*H^aY>tc*KN#L}c;HOSHH~#7 zv!{;34D>~y3Rt0H*ViQW5m+m-L2}~F`rF#`SxJwy_NvGZT>x#;6V(=RBj_@R&xAWl z@V^{Ass|kfvLJk^1$EIq>?1*Yc(RZ+t2Cvw_4DwIwiUDKZHS4WDz#oh2js*UnOP0X zhTmfh`bJ$h0&mea{K*LQ(O+)jgW|tTc#+6kYa%Y82@n`ww|NpTayx)e`O(kimWlpH zYm#bpqpg3)eG&q<;ip$#M-r6TVH{>|=7S$DpqIC>AovP3wSi2CH%Tu%_Cp@dIkBH1 z4-5UuE+m?KBwVMcLbc!?-iI>rh34wr+#y?D!`~Y)wpGSC{oM=<X@z=i@< z&;3bIu=y%v(pE;M-&K%yO#fblw2VQ02G`cFfVQR&N22i^7n zwwfacf6>EQG6_gOM*`Mat*LeVDT6n^9( z_z9SK40PdW{az5&J>w(PYrc7relJMsTz_B`nW!~ZzQic?sj5`{Yzr(nX{){)oOi?3 z(u&^*eg>5Z4sQ5nyF+gC9%|lKQ4tvYKQ-pa7^>YvfK7_$`obBW&`I+`1Jd61#5CI` zVt`q7H#*k??$HsB#?#f7!W++WfHb-0YX9Sa#%mj=n4`RDJ&|_)m#f?VaG@UoZ8+Eud67=>QY0;+P+@ zx_<~J^iqTO8bC1&WroE*K_61{N85u4JXu1&B$YP{d4WhNn;dO@DsG0!t6H}mMUiu< ztw7R)d*W@R*|r}#Nj?YUf04v4ib48A2-Ix;gPCT-GU7b@m0yaMH7>A2j|<$y>VRKT zoy8NHKP?^gm}ovYM>W0Z*3>x82v)_IgEu9|aD_95WiJC^^V}#AJni;Z2iBv_8f%`& z0)5dQgcu==<0CQnKBEO|D+X)mB939I*L*OHBO25h%n$eE8S(}!ATaE#2jYBEOe9`6 z3E|IXhVE7BnZz&IL@A~8qXNOm+4KR5Ajo5V^q{hB`5Z-4I=4!&be`VrQ79@y@3wgy z=Sx&>D~`F2yG|N)?a-GPelql1aj6B({7Mg`H3tz3;o(>pl&ia3Kt154*Xh|At{lZxr(@{r5%XYNS}-L;)^Kzj%Vn z?twn@5PSWNcI3V+HHGnh@*LMx5_OTyiX5X5?35%fBa(FB0satyAOU>lqhaL5#NDKy z=@Gh%jPN6bCgmhoYuZohZ;dPkb{CEq(P{h>ewF^f5AYQGEi(zN^{hLzh; z{(3F}`k{zGL^KOG>x|e>Qw3bODy*Sp4^FE+T*b5I%RK3-tWj!DBwh&P6L%h)pscRV!6+By3SQ~GhGZWmKH{$6ZZfiBm!XKhYI+6)MtCwR zjzq!m27XjJIMGr|y&Y3O?Y!cv?1PZqL6x#icta{GH{F|vd(NW!`U)!}*d5kPZD0$i ziV_WOYF3O&GkI6_2ZB0iGcvk(-L|3L@DkdzQuC1mZGln@!!4UDV zxlLdQ$mV&D2iGh9(u`PJ|17^3GNLj7Qd|EczWzjD02=F80l08dg33<(K8!DZc-!*^ zTmULu03wJ6Ae!iyN(F%NZ(w62)z@vfSPZzRtU+aUlAn_cBeX9uj0&%(x{oiKH4ZJw zRzk(HfzadTS-}42p}yN=2(T-tfmeoc=#r6zg! z@~@eN3(21n`PWo9#)eaw8f&5KI-gz5GH{QeDpd*RUJMkkWcA-n3IPY}EAldeRdTx? z7@xMeH(-XsEp_FPk8qEXXZ9Dp!>ddY0JnbHP5%HAlXgFprb6DpQ^4SfP+lc&GtDu; z0bF6_DY;l4tmgV+8nbP5ieYbdqY0R2#2*7*j55p-yb;As2OknYb1yIOM0*JGe2ho~ z^YASmPK;`nJe+!R->p^{(b0qYA5N*Q;~nF(LtX~HIhe-`sG(P_BNDHhUNWR9X(7hD zkFBl^1lS*S1BFgEpCtIhxdEd0iG}reDu3YrMX-oHhBI~oO+b$=x?EtiVhSthhp$QN@aix+RB)*GYK2U9Msn)} znGTU2aFRA6gMPMBxdBSf)_)<@d|qa&1G9x7d)oRnOel0W@a2svm&renJ zZPxRjCn_3UNr}7C1<(JGm}*oSA7%bGMa1CAMrr=&06oit|!>Ol!#0S$Q zN6vrG{qn?%7M3BvpWb=!#&IAdpRvdFiU=6r(I&kU zzjT9sHgDm@kc(~3Lvi@NF?ODR0FWTcEIg?-U5;skooY({h>-@z;Iolw%=W~3;Ilt) zh4l2<^_(s2NqmKk0OxxwXsm0u%|jb;kJ$aG+Rq8mO;KahsLUI7FPkf>(O(MO2un&2MhPn$fBhZ=Qppa&rl&3k2WIPF#;$ z?4GMhxL{sG*MK;Bcn6BTE5#0J54SlbJ#U5jC6;hoLqpJdR24ao@Upw4Z`pvhGJ<0j zAOSDD0broyMg6Om2ogWMMO?w_+f-(1NPaA}6>N7LciQ!(s^R#G^N8p(z-%=2NS(eaeOqApJUnFz^C}Bw1$gYT#xwKjbDnd z2UMZsB>K2XLtZrqh(R!jR9`uzPJbmpLE`y!$dZD=q$^g1tI|FYTl1fJGi`)#D0tKQ z7Tz$DDgHpgP-Eu7y~fdJKC{a6ku z1Tqcj_o34I^HnVDHll$L2X74+A(a(ILmIB^%7Joj>?g<%8g(yLv*1nfk7OJWUK|b^ z*qTqR&jWWPwWDF##|C!Hk7it!u@#RQf)#)zQvZw-m^nBWY3aMpdr@1-MXrp=W#G`a zbk{pCgQ`vN8ohH)@G2t3D^Wq@Uiih@hvv1_kD|I5OZpuSN+N4fM_YcEMoHITHzQ%$} z=SSTa&B>T-oK7~p=sR|!;-KU!+p`hbW&f@{t?BO|Lb|l6HNS?$ns~RWcqXUYW-Wm~ zxYt2vM%@u8niw+=hoO8P`h-s0U4hjPFcit>on&x%3*H1+!yo$L_$xMIuzwVM_^D|J z*N<6*C1wI1u&}b z27Rx&O6D+SslIACm5DsO=S*3S0vXjc5?sb_Mc2s%23@)^QcBHs*pDuiqxUy9VoQ3) zN~cf9fj;F;xnT^<4_F}%q_RXqNj;q8Tn z5hKEaz6XgVNvB1A-fVvWn1j!1>f0$fl;s|TGNdvU{oC7CZsMSNQp@CIGp~G;<-lYE`2lcxEo{Bnn&VuTj^)uBv6)r z73eV}prd(eRHg@*xr3Zr8t!zoGA5X~2K(4}OKW*ZqJmW%ffs(XZCw+T$Y3NpX!r$! z16Mru#0d?CMEDwDk}ZuhPQaOvFg{q#y-)pE&FA#rm6aAueSCZNQTfjGHm}{F#Ej<2J5UHUPqKpMAGwH zXfWKt4gImYV~hQZc)%mdngWX?6T!~vT@b}r@`CILIh#sxm?S6G=2#UV&Awx6>+|vA zNBnc!@m-sBVmiymwWcvV>Nz>@p-F0G>NEkl(RBQ-Wv^))yiUXr!uTcn@u z;dKQ5Oh?=Ii$T~IVOvyNpWiMAGgf_mv`BVO5q3}bDHc8}TL+qR*F#|mZ~(g!w6@jF zjFDld6Z4jIVCI?U2=YW$ zcGD9*g5T5=eIQv%0P8iP=VsRC>RXGe3U-?}ySLnW>-6e^eLY)YjtF}+nJf1;KuCt` zWc>d6K7lWEdluh~ijLv1M*ffR6V>TWjsK!Lov86&_-Ayac6QSYJjX5vpfJJ&zHw{X*Fdu> z7nnaE`u&)6JY8g7Yu*kw;lTO-LaC0O#Q9=v@G*CQxGj{mBTVQ=KuN)8!2vu6S}{o? zQ}9^Xa;Nof2KZ*g9s{7zLb9ArLW-p9{Yb}X;AONQlx;6hQ?*Sh+T!ktjuxe<+5$%+ z1$J&?v1fGzGm_tw;jv&RE}jqMBzIyLw|SM zM4-lP>g@ve-fd_sV`5Kj?O*VK4B1HHK4KDYKS&yYB+eU?o>55`A_?7*q=!|~KqO&3 zC8<#*?9hgpkO|dV4fod?^8)bk#qr*dM&y)eD4)?z|cd%0WVg)+Nuf(rrb0c zUt(`zI`p0W!xKlN^?i7$&+c+nIf3Pa@&;s4rw0oXkuW+CB8tUblFT-?ac9KVqYA;8 zkS`o(XWg+yND7}>f%6Ct4jR9#i_u1Z*w|Tt#nQn7v9X2QTw(zI{j*e`(;i2xs>aP| z0+4KJQ}-AqF@+>(Q(resVh}@T32xI_(k-%Fq) zJJZ5hVB9g$oHCB8#>g2hn$8vq_iK~iAtz4fXhMgH&_|IiU`JsL4FL!I=7$w!b3aT7 z&9%Ex4B@;_!`2C9OkXu96h9nGCaQ$GQM_qb_G(QP{EoUDGccRR8H?m3jl-yA2;8V> z9B|qox$>?dm4h0D(82dWR3@tl!aHzPHgRJBqeL4?sPP}+qaELZZJ{00}8i*n8NVU~T<+TRWibJSelq+WON z^&Q021>1O=uu4kWU|MugD|sDwt6f2EmG!3+g0~R8C8OYu!mo$;0fHp( z5N3}2%iT4cJ5tdQJpn|riIR)qE$BC5e&K)oi*R7p&O0RH7sgb9&KtKaH5M#yYoyj6 zqQ^KnadbX`d^C8JQ|S;i9JtOm*jFz#BQ z07DMYPmm5i=cYkY_8{KOhjM}cOxZDrtyb`g=ytt~@021xUV3z?$9zE|tGx|nwWI6y zMcn1aR)$qGUXYk-Qqnk>8lW0v!usHL8DM-OJF6NDpuzY^ya%uJ2Zl=bUTY9!qOef8 zbk8L~tTm5k_neyzJA}bsk)Fl_C6)n*3VbfqO<3ykY${^<=S&Ys8v#3AFx^q6|5)<- z?R4&$*lS1^UR!Jja~wd9%J_3>3dEc&< z`}V}O4z0&u^Cs}?E{RM@-nWolkAxbd!fqtjpMG$3u4dHdqd@F$^NZZp+a6y=l%6AAVjD^WefFh zK`#r;88@yhzll8s+{GUMOtm*6FZ4KT6EwMX1S-%wyMZQSu1+|!Sb&GXuq%cC_dVHF zTe+=cw;|nJn5SAHyMsK58mphvlGc1ZOMU`ignz*$B!$8Lh8Gakt^Y>4MRH8Kr8W0r z=97~7b|pJVHB-8DZ7P+gP@t!z=B8399}e`B)b6QN5($CT;NH|& z?ThWMY0YbxdZFZf$4LzZ1D8w6?qte0W8Vf+N*_mVavV+5@F@=Xk-29dtpwMXbFVdB z&5xH0(-Vwl#>TbYPkq(+wcA$Ih2uEK$l2(ModdfAJI>y33{Up|I(}FC0Kqwl#b1aO z7F`oYll%uqPW(xHRq(JbWKUGw3$R3*1{ZZA)B2n4ro&cXqhn%+L1_o8NGwh{?XcZC zr~B?ms=TFKctp#xrK^imo;;#uIVvgT&?8!wtCI54TFg^P={j@yOj3F}U4|m~&f$Nq zCfq>jsa)SI6hf$v_Tucj=U+bidmTITg4Y`RBMay1M|`c8J2JDq3h{{{Rc|;&_#&t4 z5^(ukp}eSAQ}YrK?-gC`P%PZ(%8sH#XDgmiZ{wW~{c$|HLj9nm@T?ejdF0H9?>9~- zmgHKT0-n>+bmWX@yT7PY^)vWA^3y$vj1jd_tEYwYcW084Ir9l%Keq(iwr9@BuBpBRVtMp29qtds;znb6~YAy zuF2FBS<9=nmQ08&doGzqcg{6gwoaY#y0Le{Olwg;ttBVCb8louBI0+2&-PmQv0PP$ zpDsME1jgZUc}i;t=y3Q6eFwRvJQ_?)6p);2FC?lHO06X;5q*O^*We^X`nZutz|urP zNAieD4?5xB{;|_qb+n`II4sRD(V@KUZl5O0#-N2!i9NoV1v*d z6Dll923t3}LgHjop>?%zsq>Vpv@+McV+@oA>fl4gVMy1?DVnRRF7mt!-l)zxVQTZN zt4*GtbV3>&LL5X__Q4^r>-Pqx0vAESq5$g-vJajzfOwQS2fxlyUoViazLezp%ldbF zE)IJf;4{DSl$Y~;?7unR(Z7M{Ut)ni~8i!XB-k44Q zbp1@$!sTZ9IA|9{7Gxr**nt#pj5U@OX)QPEiJov&lE@1l*E`PzuW`+6kNC3+4)Hrk zcdcdlpoAVp41s}5zO(s)jBtkbv(t;}BKIZ=-!aaH{@&IdYEcwiW9q%82C(Sv7jI0) z5_f#?mw!TpY+h;{c{w=}8Q=wj-K;Pbnq^da7QV$je5bzi9IA!+Dw^nC$v{kQRBqhi zvAsZ~*3-cUxk`Vq6odgnBVnUH(w6s@X$%7`ux?M@iSQX$=mx(vLsM8HT5V0XA9wmG z|9a|242$c_inE4#ycQL?s?Un0IGzOSht zS!o^a!&&eMw+bChYLu51)sOUB+tgQ_M4uV$PUurv6qK*6Ax+$YZXl8;=)`Ly3tU_N zI_$2Db-Tz9|NOpZR5+mV^kbC%Lq8MX3BCzUqh1FFHXP%)Br#> zw#WD1+t}4M5V7$I>>)*7H_n9g3NbfV&NDiP?=IX6VKa@yUB~s-0IU?i@`zeSZ>5Xo zMMhVvF=H<4-vkOV!H3jVk|(=k z3eRej&guyl&howIE2ql*-P$j(F8ju&HsfNwi0w$+^L{5 z)t>k#qM9vLH)hN&I5c4foQ8gYWi?mMDL7=b5*#+@iKz=O!F+3LUc;C9(ab)*^c|VD zPXq`PW6OVAop|#Ap@lLoX zG!Sdb*ZQF+a!Z!vS$<=E#5wD_ zeIzwXj!BvNCwN(_Ua~-2=sVpQgjqIMkGc&!fU(s2`Gm50+Uk*5ruYD82KH+{6za2; zs}@_!F;}#Q5e6=}5u25dPbMaNoS8sJce?emIqok+ z@Jg+hKM6x%SQz`jGg=+m;> zgUF1)j2|0qcSe!tSFXKxo@QoORD1eVX6wh$OQAQHROpz29*ih61M5JC z?$=tLA29r`jMh)x@Ch<#16F$Gas5MxF&|PdC-ifWdo4$C{ajXXihd6A6J9StUl#7s z9@^Pd2Q~D+Frgu<@O4decLcr4C60@!HNS+87GJnG#DPx>;zJ!*?$cBpeGYj`D?#=o`Rk0bU8?(Ss-5K7(@wkJ( zh>wT22_#(*kp8H2NDfb>lN}?s%&AI#7c<(%4Sjks{GGbKTEpA5)x1xG&aa^vORe={cOFh& zSLm4Ql&t9-7c6=(A$=3QHX|o>=Zr~nvS!aUW^=iX1BI_@s|$E322^6G(_Mk^W{y59 z1d0ae(Hd+!$zbIy^_OFT8#lLN2I|;SXsRcfEXbahqxPfWpo#FL6KQpVw}1(%6LwF z&1JV1F7OYEYLQZY6#W_Kbiix|I~+y>TGL-qpNQi=;Ddw_-})1{ z4#h_&=NwAY(Md(TLK+K83J%d9GYPYM%8l96;hH{V4W}aLp9nUymEEd-*0baz^PZA| z4zP!Q{4m)=v&;3fS=!oPp{z)$hQAvz2V8{@D~=YP($ zdoFG5EnFZ0?`h?zs~Ewt7Z*nsyvbd;_GuQ!)ocyj*KQkyxA?UfHn^}E#yur5^6a1_ zW}JwYNkq_?js#S&q!xvsJnP!M?Q2LG{yNk%uyrRNuK_V{`K@a(94tO~Z04-#@GHI4 z9!w6kI_ck0P3#_{xTFBqpzxfDATUn>45eRLOMKF&i!f8$u0{RvC(#LXfz&b9X{8j3 zeGmD~;(QQcKEGAbjhw?Hz;B?vCYcMe!SkQcQS5bx`Up&hZ^{UbZtDT}19>?7#hp*$ zEg(oBA-IcP*gLWTb+_Yj(EwCKqdY@^(9!I|eE{jfc2}`que>!Q{yrwZq)nAxv?Kni z!;j%HT;z!s@n=p&%~1ZF<(9JD1`d9i*&7~YFAR`y4b z`^vy_tW%Zss#3vF`oC>ikT4F5{RD$SMFmbp!@5+I<5Z+o27V>AG)paBrxq7j^RrP2 zoX}ucb-9tUkyO|&8wpt$!nai%ML-q_WDNjZG%nhF7%;&(i^vlRJs(t$tyOafk6;jK z>qLCU*tJ?SwJ>9phU=%@+S(7)p#P)3{!RLNaDZG$U??039f|y3^4 z5Ij+$28j?gDp8O`Q3)4K$OQy~6Jip)pti5#nA*2oW*{n;gqeXHj|2F6tF5=T+N!;& z)DX}@E;IvZ5tMQl5viWzL=9jQE|&RzzrD{nGYOz=zyI@pzvuaQcrxegv#)F4)?Rz9 z-+GQ^+sns_)}sAzIH~Tg@W3X?p?`F}n6f-p{(US%l%*?KU?a4z}PwOxXGb)k!QK6O3)lK@K#0fXfejSj-PR2-ZxQoS=zZRdoGJ z2^hej0sg`2X37|G%Q1RNp0c;L><5o&d%SvpW*uzhWtHPO5X`m0BJ&){(uq zTHry8Uc8(st%_iT-C&KdYi(;psWf+~HNw)Fktg9w3{~8A4uTp6+Qth{T+*h{bYEFC zGBhE9%0hl}4xW{ast3gt9&An65R7Uz5{ADQ;7zzGHr_#Bj>TIFMxaCt7>f{aH18tt zUz)-GSj0=nDlX7+WothDbl?)}5tRcTRx1lRJ7nuF+ta zJvSpdH$4h5HG24nXwnVm92J+FLn4F4u!Mz2@sLP=Xl?h9&UQ-lnwusksQE)`*K_qe z^~7(kuf#AGYbjP7@2J@H7XA%~#tgT`lGNS*;fVO}Bd{^SpP^j!i^XyuFCeh^Be8$v zY#coyW8j2LD2kd+iBeDmjp(fxilTWIdP?dh6iVUDvlGT;C3d zijF|>?c~+=^7ffle$d&>d9~d!A$RATa#R8Gv368uz)`Gc^Pkj8(_r;~Q#u^*z?5vK zWByfHy9XRoE7H^{={b#^yVszajsctIU+tMbRF2%}RE}I%!#Vg68AyAEim9IA=Eno# zV~QBowd>jVQ+w0CFQLD1?$EH9(-tPf{@xk&f1YF>gTuvlv*>W~J^TSW;8?8~whMqh z69OWRGf3R906{6N$Q52fE*1YB9zUw$)^9aynU5e!5Y&Ye!o`!BRk-*T`QsKpc0wuA z=ptW`wVRNlk4Drun6SA1C)^n;q0}~*HAsQ{dwNS;?DyV-m~e9KYU{hNPgt-stSwYC zl6=`(eg?A0qF75f*Yc*v4Q}o~hxFB072!4&#{Y-oN2+8%EPj0mEn_Ibg|CgY&Sq#* zatTm^-=ZXS!8Tg!b|i>hyzZ$$LsL0~J9aF36Q&CZ4GT1H1QD(m;!{Ljkx2w~4Dn-ZXo}*|h^oLioEx12XOSY(6dLNZM{@aDjYzym;DUUSA zl$V+Yt0%X9rM~MtB9&;RvTV~A3Dlx($=U_LmN*q!{r+8Sp!37~H#4Ghm)h)vNBRGu zkyuOChc)kJQ=!F|UYC9ztotVUkM{9@j7g=d@6UPE^lD;|$AIf$C3ukJK9Qh2x*HE& z>04QqK?amed~hfZbXrkH)G-Njb^1OQy_(;6 zoP#cTk&a0Ch9gcqSuoOjANAfs+EUFuill-*2nT&yFQGp0ex*Js0Z`I)Nf%6l=`Ak7 z=Ip}40XfV1l-$i|n!01owy>0^Vikvekg*U2iG0l9$jnK|5xRar7-Ngx00f5;yp20_ zNn4|VLkU_&Dm>Siv0;qUH>7}+h-?3oO-hiMq!tMh79B7K;vEQpsrWIeDyxpRl((&B zFK6w_f=+nRmaGlx*3PY+O)iWuZNWC*xxvOoXKO|2P`S#6w-6jt4o-+n0;o!U7L5G% zRF6_Skt#GIt+tg?BbdaEJEHE)YELXm4^45FR%N^OAxHlK?tsVF&g}vbK|P6_BZ)FM zb!(%McyY;lp=l@UO7=rvv~VY!8sjtzXM(N`phH%Ry5&;tuOPTL4Odw`DyxP?iV4ki zLr1gI>qgrn*9Z43oEN8^;zS;u5Zz#G`1)2>RY!VHG9JLJuB@774!$?Qh6&tjc2X@&;!(8k8r1EoxVp*y zlDV^Q=UaJCGV2#{PJ;GZZIqDBApN3CDSw8!Bz-NK1^Fhz?wn;r*?EZM`v~xnMQur5 zlm_Z994dx|U1}UXo^0|d*4S_^`Ye+02KSBiL%J;U=K4rh(USR}Zhz$cew>F3c^_@w zklT0Xu`JA6ar4^Sybw39WGPFF6(QF{?N;6@-oiC8I*T`puW^$q?Q*jyn<(xVuax&^ zBGPH@7n9X&EWW@faKTWdOKYwBXFu`ZMryO%LiR-!k?S#I)c4g}GLxgTsM51eRNzeZ zGrbX8+Ruo1w4bT8^m%BIQ<#bKG(^`*;A8gM_;hWBVC)O22x+SC!C#fPFF2MJWQDQD zhYK^)_%U=#W*SW2D}dmZR$3W-qK@Y+@Sia8=4a*R4M2WNgCVl_LR?D)7vd{sX+P)k zY0y>kKYa)OI@HOTE*p%FvMv*h?!vsoUPq`fa|k#r?=xP9HaT+$;${GeZYV092^h9i zsFarKmwqVZpr8lth=4^jzbSn|UZSXpdu`l{#stvZ(Ttfu>$_=_@<)LGd$bD=PG(g?L+BmnSS zBuWZA)#*JFgy8}<(5!afc?5TYsa9euR=onOXIKOGL_BJ%@OkMSCRB%V+h@>PsbJNac5N68y{B29gd{^2SL4ZqZ9BSe6lgJS%PIcSgn+l5Pp&(J{i7(jc$ zREI$&)0x)6G}mHLei(TmF3o=W``2vz9$XAxuE<<9A#a>Ot25}jvPq*AKb znW_eY$YMQMaE7`Z&>kkR=bhSJsn|&8-W@7CiL;e9J_RS%si5Qwha@E-CLEuN;MT&l zla9!6Wi2cM$-8>K8b(XihVkM6=zkahIz6?56fw+FQ8kCqdym~ZV-4%cY%mPRi|>(7 zEq*UmTRj3qGmrMDRDXc7i4ECNt!PW~@GX)e25RKNO8v91S+OL_Y@WXbA|&AX%aGNV zUPbG!gxSLi1nSg&80Z74v`o(wCW$cq^+HK7G6;gf)n_9rj@VAe>>Mcj94QuO0inZ{ z(-B*X?WCh6u{HQO z``)pRJdEeZo7JW!qgTx*iy9B~a&4+BH^llXKF-cZT{5gVXT{=tA*v)k&c0BH1k8NS zjm3%3D9GX5nTP3Nf|;YGvsxY5p$X1Vxn4H46oPC0>#szAD)mKxK0a6n>s&mx#GeU^Hxvh|hzzLH|8DhVZN~gAwr?kg>0@37tBH{>pOjBoOA8cnZ zu6)`8U0cPmP@!-5Qj89JEL>d-M6pnbITkAPv?ZKYshC0>4Ph9a7q!Jk12V#ZsMHS> ziUF|>t1Tq-@xvfCIH*1);bEc$xDlYUlR(PyH-HSAAyLu9}@419-JB_e$U)z+{+7{0IurcM-0YvX!+cB^Bt z=<$P<=Tccu?h%$eAe*{Rh-}skM12g}HOH-&wQWRoj^`hKi*|s2C~u2) zUpMWpmg|+Uzg>XXXXGDvbW{SjA&NEyV(B&&yt=aF1{UChsYJT=#*0{0bM}ZMp8q7d zhz~};A-RZVZB-s>mfNa~YcohuWtsR|2}2h zJ`{j05QrOn{l_kPI|GT7f?WVj%st`jfngcBv<#hUZ-8nO<&3}q!zYOjqyk^@&NQ69 zLL<%(Hp(_FOmiNaik zb}z+Z_wL9{0mqRFRxi1-0`jLDHcB=x3`Q>r%%2N)fh%vp6Rj2&HT>hYEf41&ZTK(n$^+UP5EPw10Y)N?PTa)TM*F@zJfQAV->u#A zET*b@Wd6`KtPJk=58Qu9RBOAIoT+YVIzHIBLDQxo+p`a=o10D!&e|~GFbpa{EKHDf ztlWSd%H&NzoOQ0uU^Fcge=TNCuJCd62Ij8NxZ}up5{W}A_hTN?qspe*0}j+u?Zo|h zxpl7*q_2> z6aR39#vjNNICP8)=bo^)D$$_$_TZusGCg6?_A=6hR*3e%``Aq>>gL+dM3Z({6)}Hv z=XGhHY+Q%(@;pPL{o0!pe zBHIT%F0`-4Y9HaofQ%E_Oo*Q%Q~X&tNjc%-q$om5^6u?14JA9n!ZYMB3!}0 z`}aBVuPFk=K|9f5b-S79i-g((A`ya^2;m~pc9H0dH0N&T7VXv)tu*z2r(_Dm|948x z&`L8|GTaDbbN#B+PGgG2o5(lEUfyo3GgXwQ-0JLG3eOfXbIdgzmw6C2CWluM|+?F6ut|@KqC0R|hcfaoas` z^-Fwk`p$V3=LJW@9e7)fi33UL1}#}(BP!8|k!-|MWAN98&!i_Mt-dS#Sr)=dflIX4 zB=1pJbppE1n9jH*$tGGJEUNk5&EE1$RM?)iV!m$dI$uE$bH2h7&Yi5D6!R65YIDAJ zswd5<_jN+;=VIz1h*J;YV(Og~Q}65laK0V~{(g0e=1%?JDLGAZr~mJioT0fhS+Y4_ z|F2S9%-2%SL~}r`S`SyO$()7D1;zl7Vyz`zI~&jf;u4_;43r>X2G#&g4Sb)yis76G zKj8SGhs|!|?pXxe<8C?QREmjP0#(ex+H%gTCZh**t+i|5=z`jPt3=Tq-pg=J$k2qvT;dbfoyd5>lOPhUt?6-~ZK`LX+17Vk#N?6l z^%X)OZ^%%^Wz;H9G^!t3_?EIE4xGy8n8NcQ+?rNmw&OJZ%S@7sFn0Duw%A zNobIvtq{CM=jKJ{j&YaazylMK2d{?i7><&_sGQ#nMUMq8br(&5GPTM)X!;T%UU{-b zn>Pk9QyozE52fFRYxUgQMoOzpVMcQ|GO+BJZ^5(8Zb;ppe5<}AgB=a5lZ1aOZ1yi` zbF7sWI}GU_YV!xHHkY0LMKIMkBH8i3}sZPthK|sXh*bk0={Zb z@vHy92~|EEjlwqjE_%E<%fBf_1~&BNAT}{Z&0!GF?`2TMZ{7%=F1-*WfRm33GoFU) zunkHxp00;g?tkLET7>BGyei@fdABW}CRUO32JP64pu~B(#7zk7NZ97cv3c+)WPT~PG9|#EE`SgA(Tgh zaj|?5O{y9!r4UK0B6|xC;c^@DNUFu0Z(>O)CYF@`rNG-yhNmQy;C?b5M`||uR@{0k z!M-RCSW<-FUiK)e>7-vBoq$ce7W%ReE3=< zf0wgtfe&W)w`BvpPq;`@0#_pnCI&D%tC%q+#LUV5lS#_r0xWTyA9*7ys>a|d5Ay## z;-HJe?L&!B0BxN-khA8OB?tc)70Y2*2C$}a6X_+uCWN&KJI{Z!GZP0F=v^Jgreaw0A zKyOKuGtL8Z{3BX7dRR7Xk{&1x_&12W$Hh}M=3`TABBy$J;!J_2OpJ)63)Au=W63e%-QbTmq7II?_7I6`w+cb zd%E}URCXiov)PIl_^bu609m-3K)>;9J_aK-thE*T(nMh)$HAPzsB^6bU;kYVzTo>C z+zAa`G#Gh0j0m1%4PJ>p{8t(*`!C3I{h7wIl(+qmg92D=K%EU_p(p_xH2@D3x)o2R z7W85dUz<6&r;V%~T?U9JB~Xl3)Q&DME1IeVzQnWtIA-yUtg8jxqzE9U40tOIUe0g= zJ=LK_N&e;&(i|?JAROpSMkzBO#gF14Hg4L{0gBDuLKT|G!%8i#RaJ$mKL56!UgwWZN-m=KmL)JUYypL&oNvMf#Bgx7XTO9 zoC#>ckF|m^YE#ysxff~$Bb`kZxb1mkhm^O?8G|5R_905RU^4PzW*xO>VSFd}F2JCU z&KX&%Uwy7Us3);*1!IJC4oO*=F-+!fnIIw3DHxh*4f=7Y^l5ra_SB{Lc&47xCMD6Y zuymhmoIrEYOR*vU1?uP86JnnixHhlNk9uF_dE?zk_W)b;ab! zm;cQ1&&CLRjZ@c7rh7YwOHqO-hoPpkJv)9L~QR1vrESn2oLn zN4>)FpZ+4cf@}I@1VHExQzxu~;2M4R8S$7ZIwX)bpyJ*8Jn0*|_ zIO#}CbYg~4IXOLxT&BccFd8A%avlLcm37$MSn3f%gu}*8|Izd3ou&M$X-@BgiSVoZ z96msowOo(%D9%0Xy&C##*O;-sW~?vh!~<|gcL-0@$uuf{IoEg4_ab-#AO%)Oo>sR< z_Q;LQY21w5WEW0G7aAj(d80uCDH+;|&DFRVuO<{~hPcAq;5m2D}U&%f|4fe zCEy!ywySp3u%f9`y(QrI6QFmu(c7otN@P$o>MHLILUTNFJ*+Ti4^&nqTzlosJd00E z@E@8q189WiQ`mv#@!lO`W+8hC;@PML0`Gi*)|(G zRj{EZ43fY{m?E(O#9G=N{|EzNIG{YMX$+e;AGLmwqxPSkZ_q7r*6sux2#$9c9L5#Sv|3H%Aa{oRCvW9F*Gb$K+eXTMhu?zNH5%p;^A|EcCyx} zytTae&ZWUq#Z-OIhXQm+&bGDcA@#VKi!lo+;;R13(^g%KpJ8XHEAg{1AkH%PIT|Tp z=HaIdKk-F9g+)B?LJ+rp!FyyoleE4N{_Ky= zNs5*xVKvj1@;D_T9DDb)5fZ_gA$n=l?LrSQp{0oyL+FEQ!@x7{9fGxU`b%k+Lp zVzh;d{tV}(e}{#P2zTrMNHoLOA^fvg_(xVa>`O{MkA?rm3U5KU9t;1y75*258?o>w zt#Cj%mwXWmUtooAM0g|?ey6My&2}xwoArcZ)ri zcy^bap$Kz6_Oj<=ZwOeuFQ9zwkRFa94x0D-rG;v zQMwB>WqpFD*2mgo_GuMK0>&3^QxMDHyEPtuC$6loPg@rA_hxl#tCjZw6H^*N$yro>TQ0#9}{osO!P7Fmd->U z8*gb{J1LSJPmx%86oZ@*Z|O8GH_xZt@Rm-Y!T-u ztq9`M|Ht@)Gyft4Ls8*e%-&_gORPgew<2SM5l?aDe~2opDfA9TVIv_D|k00ie zB<@0f3r-K1w&lPW*~>6mZI$Se>!HX9CQqq9r!IA5XuMPFuNJ@s*C-e#Q5`NN>KLc_ z4o(Rdq=8X^Z53DW`N+z@`gbCi@;2|7j)HWj?>a5t3lCz$wbGfnkJaFtgwGw&%-o-C z1m~g^q`@J;+zewH(pwvjr3Nd$DND!VlR(YKRfO6O+=`-|IZ@SjP(2bkUnCJ#ngkn{ zole-It;gvRC(%)3GL^tBSop_Gg?&(;qW!*|{?$6N>g#*i5vE6IJmxQU-&c$$kQGWmSx^Gk<_Lda?aIFj5g?<}9!`b9XUR@jP#pppvYM2|(~&EQJqJbuxPQSLZ0xn$am`2u^69u- zZ2x1l2QZ$G`ywj^n*Y;2iN}Imdc>;Qs-T|ScQ9xfl4Dlx4hKm}IiCCq4QbSbME0p_C? zq@sez3=jtR%(|qbE~{l-n!415)#8cOk-N`#4vg}&@}0Rma24kphSOYRR2N$fe3K^y z9`u~*EY!12MD~8@+(PMdS)*8F@L6+0LZdzi+YQjCD8-pAVK;8q7P~iOEDLL3=;)hs7Zlr$A46avZ)+OE1bu@EAGUNyhqrxRoGC&icQ zd0{N<&bc~x7Vzl4ss~;A^vD$mGG|E5q;#iq0kqad6z@k_ht(|rzHsYoFq9Jn zpTBM-a*lwmJDu%$+QZ4PuAUmb<~!>lG}a?4zMl?Kwf!EPy|I8`_zdUrvN>)t;!!>9 z>=5=#$CYs~B8DaF!N~b)*tiO*fcPkknbu{Xj!MB%Ox*Xq17Xe@Ghu==86NEu)rVb7 zya21bv$F#F!i9gfY(+JEjLiin+*ImdM!--Dxo+(>gQ4iyhZ4M&(BQm z{2Xoqp!sd8fWNPP43#$+0>ad9M5d(&4u46u9ys;4ZG*oQbnfRrlUXKZN+A1JGQ5?> z-%&N(1Smnwafqlo{P*Kno2LXmMYzF@-?9$O>9FhqPpdO-WvK)oM@ni#3CMe?O8z}+ zXZJ7hu%R(Wu2@LiD1`;W`Dd?6nSav^a=eQB5k zrjISK2*HODY|t`Bdz%+Qo#68lU=-TuUyw%IP*;-@e2iUN0Bvn}f37nxSAU$d z;&k1bMtYbHJDRTGw`CGhi{&V*?hJAqAkKTnYgafYFJZ0=bSnslS3|Rvlv^jJQ&bSef~wcQUQLz7Gfnt zF%*-Pg3acETbZx{m&#p^4fkPFKst8uKMl2cXWhJ{ex{_V(xld&Bi~z4qYk=Wf zH{+4m`4H>S$T+o;FUTQf%+>Kj~Db4CUqIGNk6^WAW1g_Dpfm1SxTk}4kF_cFa%SgG$fy+s@q9P^ufw}-1RJ?7WSdVWxCe~5{5!E7ntv4W};e;rtX5R8d zio0ZIp<`)NhWa-qp>=|phA%!;Nm{1{-eN6rRGN%&XE!uUtH{t6X681l#|G?L0M@s1 zs^_;DA6$Iq0WlZqxdLh@QUi!ESsPTjH4#uyL$Or|5U0D*AvTDU65y?f4di6{Bf1e` zCYY15>}tH69?+@XQ<_KC_{UJ`V2g(sJrUOguG0Gme%T}m!MTPKoQv0q;`-6p4W3II zm#)=NtFa^R7O)-MeJpj|Vcp>9uzN^cyHw9$QEF!x!?&E*7J`Z{P_a8SS6nk6Ae)zp z>WwaHpIa!vvZm^Vr?2A$tRw#z*CCbXD-am`zlvgrAH6VbAjBBYH7oTW_&+(>dn;;)ZV{+jLu05~!Jn{dn{ZB)%vo$cW2FQd zl2V^HG&8ADPl(}J*z=EYQQwU>l>~)T{n5vG;*pUv*0N=N^E18u)b`r-{4NG6wSWLn zh?N6leKD<1upk%9BVRvjR)}!mdihez;MN&&qFY24q;x$R5)CcYy8tHSN^l2C%jw98 zL*HAm0`^WD1{^&V$!c67%IsBBCyt&tDewZZiTxxF-9vZJWq-Ncb@o?BIqZyAUw%PGgUv?OQbMP-N=a^#Kt!^R;nrp}wA+rDZq1ke zZqGW@zYIvG>(^s1#0e3?DfF&A-fyXnPHLP{OGwyf97>WvnxF%BD+;Bg6{-KtxtvOiAAhMQwwb?D9%xxe{z@59<`*XY^sNu|%3NvI|83q@PN6@lwcDbvsH&B2_anb|nabFbb6id0thK|1~G--|A1zJEffiGB?bQkct3-ygY7R?yu1 z*nZ-aCL;fw4{DC}Q=Vw{?>`YrTA>zaLytQ@_n6|(MK)jrpcJmuCxhq6t~u7nx0OQC zBwE?Q1z=lNt9O245y&P47xW`u)CLd7{V^o5WaR?-b6S#?mz>q&og`pCA=xe12m6XP zx4!OoqQ1_%1mteXLFX>#&a8c?s;?n}&V*DgL)?6ho|vgDz8zKR7&jC=PAQ)J3l2IU z+`yB7xPYxap@6~01G1xJzy2g}by51*81Sg~W?A|^rQk?~I(-}L?jd*`Yt~>MYXE%Y zBS3o7rf-GHw>XTY4icBFt=QI-CCjme zC6=dzir#aVPA$`SpmrE(?A;*J8#D1)GA9oP_CWpuyxPqPfZw67r;+r^oS(f#&xF&` z^g8sIU{<_0Tiigg&7!2rvr_uPYs{Iw=&Z;P^ATwmrYrTmOQY9wz;?X zl4b!@37pBuA#2i`^UKDQM5Rx`lf;0v*M9_;%pxf%Ma zA$@q#ZW{?;w_l(^=B1j=G^uBQ7yUKCB?guM!8C_A5k!`9XP)qq~2NEXY0<= z6m=G>A}QD+haB_9 z1JXTI-Uhh7sla?c@=sw$qc&l@41+Y9qFNw@Uk!sRYp|%-;}{jqw%_rlrsZrTh?))1 zZs{kbm}nceBbPSTC#R8`4-TttLttb_sFrdapd9Y06{ULUhvrO#2R#a*bu0rEk%Phd z-kP9~x>PQiR}YlZtWSyct5v@=L6$JqT0x~7;io(R*jU0i!$n2IjaS?&FOI+v!ySQi zsFFSEDdCUgoIKNK@_`y?-v_9j3v0$nV!h4z0K&q0@X_7<6${|AqPChbi4G+Q05G77 z&|z!enUjh7n2kj?^stli7v6zY4XxDI{DvLog3D64hXJzSQFP3p$nLJ<=oOXvreBMW zMXa^{qrH@+KS6q>UQyPne}19LQQMUF5Y|R`h$w0^0X#M}9q6Id-|RGFz*of41n+$S zh!DXEalwgRw-uZi7o3D$#EhL37u>^pu@&4SF1V)>Tn-|e^~NC+^&?W|k0!s=i%#f& z)Lf9&q$P!>y;CK2U@Gomex8tL(Cz84)t2T=k8hcjHsi`pj043+v#O1&!kC-s_9 zkBAPM3$F^-I|0K8w?92|VKwO6nOlP9&qq?{F5?dTnDuD-1f&?>Q(0R>V!@Bde_@Fe zz0a-<(xoY3F{O>F)PjtpQME?QBLN!a!}9Xajatn7!3YV z#_c3)urQPNkhSmO8{_;C8Ji0a89I}ZJ20$`dUbPU8}=2;$z&CTj{#6c?stfGYY~BcfrWB5B1M zs@&X;n=qVV(R0C^lzK$xsUlt|F+%KlTH0(^6=C#G@~+4+rO<;TNGyBpKz4i zoCF@7+82PBgs8ARIxk7@cu}nB(RuVQWylw`DU{mF-#kIcRcnt6N&3=C#A_ACY`hl*Y>?IOswr*Nu0zj_;Q?BRu}Be222CI33?J zFp;4H;=*G(KBTNcKa3xA;SLR+JQ_1`5QH0)`sX?RlKm~2gyhFG%}duB1Y)b)1LbZ2 zpE-nDYmkdqv&rg(7U-4O4N9kipjfk3nA<_zWJ}0J7$n9LsiwJAN5bQV{Y(dvC z+i>t>`)QB;^o9NOx&8F1{j|e=`p|xQ-+p@6ehS-9>&z#N_dnw?EsDXz8ia!%;cqY0 zLtCDWi^L|QKL9mCvraaBHYk)F!qj%CZ~YZf)X*pRJ41c)EBrvlh`%1rf5OA*kDQ-? z(U$CQ9T5`Q)5A}Dh1>H>B&U?{5v;iwjX;mvP`jRFvW8;Z`sr_jKAlT@<8{_$HE$ib zeTD%ufPdkli2V6n{(LHbK9)aw_%kD1v@1EPteVzmhB|$p>f5g__=<~qjiV;y+f_BN zqUtKQF7%7mck_y9%?BWCY56m+tgS(A+D+bp%K~^98(oB%1Yc$42jAwSGI^)Agtg8qa=gBGJX^DNAJ4sujyd=|#9I{r!yr}1NFsCVTe!stAhLpbp< z|Nq_e1Dsi?An&x(uXVg@cx>*`tH-MR@0xxXxi@7(2CV(`lzDbS&ax#QB_2>#@SZK{aW9j`jJ-zN2z`|Y`& zY0T}r_S;=p8Kq9Yh}vbp#dTr0Xd4Q86H*H|L&iZAcR zk#@t^sL(@hZa^l!M%yzne2ohIoQ1X!>r<>Lz}J9iZYeu<0U&~;%;it*I~dzH6BfvQAE86^Q=5Q`U^2<8>!O$b}f z_8S>^3Ki|8$6Mb{{p?2s0eFB%1(e{UpaTv<9CH7IWjJS#$o~EwIOfd4r}#?K;DW;C zJeN@*QW0T6b5m4+u+Z{t;Di0gey%K4FjAReFZ_~1;-029nuSD4APIrS)5wZno@lg^ zJqy%YD$r1&xMnR4mEo(1N~w}e7#XC@*K$O>(`ZvBgqmVR2)tS-Ix7LXRS+nw zOv+IGcC{0u!RX2CaXc1iAX`ynZIt?pN`O$hB1Jr{5)cR(ZOu)oPJ=kypv$~|Xt9^-yMdoF%jx@b_H--}cm_(aguf9pT$QWh^~Z3~iCm)(*-HD?3#4AU5K*I>|SXldTQrS(n z6)AzGtQ8}c+~SrI%Wo+jDIx~%XC{Qr;5c>}vk|pJfaAd{9yDo_mB4ONE#HOv4K*Kh z@Lp?@HJYs-?~6(k!I^qiFSEYmt4S%UoQY`}cm%l`Z{f8gKh?>h8+aVqd49vWeRbBo zTqs^%YY&ULGK+OUlEF;u;~i_Q79;G5BIU1{tC@qfWSm#pb-8%_RWVz*3sqOEVYxtL zqY~QqG2*N|di-Q%>1MD#MmtGU49zbk@MA`(5!zpPy9;mD!Or}Rt=EIV2l3JGVN z=YLEh3+wf#bEoh1{SQQ>uwH*4qN*Q8_IPMSU!m_Z$Va)}EKT~As zVmuD@e`!A((usp#m;LPUudV$IHFg+l;b2VE_caV5;}3W<`;v9Y(U!;s!}N4`ku~bm zJUy`-dYUe^x5=N|*`nPJVaH+2gBGTILVrcYg&Lvgr3N%+UpOET0sw5U*G4Jxf|Ga- zowbz9XiKPp=imQN^E{UGftWtnET3tr?yEgdsSTVit0(FvL!BSrROh3+vwuq8%+@!@yOVTfn5NH{@!cgYftU>H|=9^!XbbXKzG5s}5EW){~o zi!F%asTWE6nMp;N4G53t-_x||$tF+;F-4%JCb2>UUoORE-OWW!{JUQxy0qyOal7F2 zL%tWq)+ZEurzBCZ^$=pKC*ZCz6%K?w_!nzlSmJc7{Txe&QV7Sp2djFzD@*mXnL^#VwQ%~E zD5dBNwW+45wdPodvY7g~Nn3FJhx?hs@E#7u*}!gunW}H0@(5Sc{h9DO-3a@4TtQ{E zO5K}{%I|>vZK$2j_o2k29$iDPUY!R__g~?xlRT!jo1tp>{#Krt;8%Mi<2jq4;)Ac; zB0CQx7SSaqyriTL45k14><@E02QPtg6mFH@=$VP|qOk5^&i}2r{QqgdG6T z7Oy)a8Doa|F3|FEaOvgk0glqw54Y4|2dIT>Q7W@y(#D zrtkg}`#z0KN-IWovpUI^>UFjcqngj&HSFx z8+<)l3wuT#Re2S9f+h;h*@KThHQefOj8~7^T$xhuf+w@P@&X$l{3ZlAh)R7T96x~w zp!Q9;1XVwdj6I{%6RV50{~f6t6-~v3 zLr1M3$Z8VDdsA?aFHb#WS4BMFCKs24z4D>k{Y~Uz5fQ}?QjeL@#CNHP%Q)?VlELVj zv(^!Mb&FDXw6t<+h367fi>8&hV^TjBWc9BkS<@k7sI+h5ARLy@IL8UefUi<3=FA0^ z(W6hm;g4^OHNdXvrX?45*ghNkR6KK1rk6i2nUmsb9QQE1z#xf9FB)V_#?oPqDQi3> zQ&_qg{VMZ2;BMub?i;EqZ4IEC$gi<^Z}|ly1Z~bF1tCWL-y}rvwwB;Z&j_; zzrCSps-6USFRCo_Ob5jT&{~^54bpg2IFca^uvV}I9c7*$$6{P3Vx*|y*u7^A^aGv+ z?v`u`(LSHRTH6LIUXz&LFS!`hjhGd>>$x}{gB!dwRGcDH(~4a4u<|qvd1g&336b6NHWFY0L0-F^cP?MJ$!<=jo!M)ipM7q zpS$0Op?=-)37&bK^|G!z;`SQSDaLQa<2RW21ZSd;iBBLtcb5;Md>fx&uqgRI!6!IP z%jJZZFeD$M)1^G|6dIg@Ptarbd~E`b`0b%tN$Qr)osqNRSD4~FrTzwgw70hd)`8wb z{-fV|hdZJ5;_i{Nhw-qVEA{gS;3BEhA3cBGedej{*qrI1hokU!d&2ioYfrFd${fQslzZf5IIQ*F5XWh>HT|R2=YBNqcKjUy<+4Nm(uamT!@5vepaK z?J10CnYntGE3!U*u*dpS>O+O|vT+oLGH43(59g)IA9;n9mm%N2TWvHpKBzAWV*}`e zxm_LOMmn)T`OecOLLE#A)FCT)9vDqqoAx;i;6OVxJ4G8u<+tml8Hipz5g^NIF?%|?vi#Bm26+h2~-6^>w{sT`X0x_)5gC?m<6FR9du-XWRrtRv) zkz0(KPn>mqErmRxGb-fCt+*JW5MmhR5zrZpgnZjhr!(qXkBma&QXpXlI~qZ8)Uj_u z)|zh{0S5*!gNL%QkPWD)>PMBgxBO-Ug#Pmr_@2{fK?#(kL?qTT$Ip26q3k?pNW$JpGhD-sUb@J+P6_Lu-pe9hwfRd zCRTmuqEx^4U#JiDMf=6oC#ElYhWd=M>ys_&Lw!*ni39|^yljpIu2D;PK-QM=D4hcl zvJ)_6yB+h-p`|3;l8djZ_zJxV^efhCUP4iaBFQ;wY28RdtM7*!dK3{JCvwe+){JrX zgS-?$0vb>#HyFRgaV)E4?qGCDsN}s;7>7e>JQ)p_BbN+W9inh9U}7kNo_Nv5WkX!G z`kvw+Io7Z!rI6ZN4Uh1#s2LS;>uYMv9I$CCfvpr%gsF!s`nexaq0!H`s4ei;OfBG6 z?+oWoe`8ASNu{8(LS3+zx3+HmEo8!eo`XAf_H(DO6WN>9$tjA7`MOb!j5({a38rRz z#5WKlUP1U>%0z^Ma1)-`{W7r<9D{eEEMxozPhD0Rb3OR~ntm(wxBg>1l?+MD=-l}> zCm1fC&+!&xXYMo)MrQlJSAQ!LXLqoSbzfrq@;C?6Ft}C43RC8xY!br4Qhnwk(TTxE z82vyq8ZrHAGpJ_Z?X4|I#{-zQ@DdS%KprW6k2ug^1TtQZoQ^9XiNwqgO>)AsW>lt9 zmoZ6eA%vsjuw3UhD}GwRXwNfPTRQ}QLj?)YN4*ER<{nj+5=9g;O07NS+ zj`e4gbE9ofAGv4+ZRiKaLnwspsN#W)UJdJ>+v)3%Q*|V}>-TQf_Pn{~*;_PMUCRp4 zXlMb{36n>eNDIrDohs-c02gY;jEbtq>0~XK4#rs%&DEY4?UE26zeTRp-dH9Y1n3m6 z1aCoARQh*oHT}CqE+QfX@if+CAPKQOTDn%3s05O#x$i20;u8|AyPz<6E#Am#dG|)>FuhDw8FgEr?mWYPVXSVXm8V1x+ zlRYU*F4_+mfhQU%9`ytymu*j;rPhh&bOTQWt z)~rrT_pp2~oC8;um7>jY&Vi{Rr!2pVB9o2AH2hd(NAR*A;Ju4`V1u9xYbZN|z~loJ zWOPIt-Nt+#^P2`wHvh^^U+2aX=V`0T;{jBKJnxr|)x_N=@GvcyX& z@n=Rkjq(y#aWc|>VR&(>Np)mc01^fIAxBMw;*Mw@Hb7X?B@a;Q5Ai}X<8Qb$If?Bf zA6sYbNpbUlKEfUoyb&QXH;|UBhWEf)ePYm<*_WHOGc1{^Llh zCBM~(T3XhNO0XU=4C32#OSu4|X*=cN)1@4P7zV+Ox}}Uj+F_^s;&drrLk#1$_)~KX z*SV8We+(%tA$JRiqxdHwiMk1H5HtXTD0R4LX%mh|yA|_WFt~OxZ=J4~D#S2;gg;$6 z0AAOF)CdAKLA|=(c85f1W|n#tMBVQ4xPZh2@}Dy5P7NmKt&sD^cwEd z60xR?te8rqjA$iz)Pv}0o9+t{!L|u8W#d%{vu+NTO~;EH=rx{?o`R7cRC>Y(I$#Kn zJdANn3qd40z8$skPL~5f3BHE6(M5ab^d)V|_o{tb9oT@)v4v(jj2Fl*SRq2R%v&cr z1Qa)$J)s56qp*2lhW+9*Oh6|f5Y#}pTXe$tt&Vn$xT*felj`DZ%mPeqRZIs2>W^|L zTcx51hj9T)MR%Ph?~;QIOtCUn>dTLyhfklk?Ii14G$r&D&11D%3gG<5`zuRZ5eT-X z4{v6bWz+_Vj(F=OHzwbeoQ5~ykFg4&sG0EySPnVl#falN6HCg2UxlaRD_lBU#*{z7 z+%;(59G7A|##b!G5Aasu`2!=zQi#j&#jKtvZe?Z{syHP*HlRkF_l*ZLut~#MN?Nx{OOu( zxzTesJnMz2W*@A3mHLXm3jV{C9b*B5{98SaBhZmCSb;XOKa%7M^oS6pVlqY{ZZRB) zrv=`0p@HDPMb!d?FXIGU2Q(q8QmiV@nyBil2sMr%ZCtV-p|`E5VVNCTS z>_4=FgPvWu5seXD_yiuTE_{LhnL!sE#X%PWTCwR!(ybT&`7ih4CIQE5wND9*LJ3yu zuH%Ag_Th4?4_cFaarvC%k@^RN48Oy{O?5&oRgPhxi$vsd=hrGM-;&t&t^ zPu_>nN8TwULNFoLaJD9HxSixEKcz8NQ>yQ@=g>R25RS}>QOkFwNhxL+PpPL6F%}Kz zv0~Lyf(sEIm&EvQymy_pyEb;6wl^V$)!`3dwpe7cJA4*5|GD^c3YlU{mL$_jVGtWP zoD0q6Xa#CdI^8Gev>R>=ICI&iI3j)fokUX9b%@@zDQ9(S3RL8x#>>nV{ez~UG~W=b zBvJ)o{AWx<#8@09@DYY2m!G`2nir!h8N0OmT6xcgu0-GVkJ#v(bAd&2 zd!1Z>GL5GZXAGDop_C?eo7k4|1ir~l#-Prx+2h@7`k&3DhH%%q4vDL)vbY}mD{Hld zGpbvyPJY8$aa0(;#AmZs7@23F-#@>z$Gg)oqg%aJptRTwkD!=S=$H!H7z0Qk3^%JD z<{*gc#}ofnJ$~BSl|HU6^$?0(-B+5|*`IIWkG+|nUmK$4a``F@v!}h z(jCSF_A9AiOt)W29Ak?8inlK8;|P4|!uO%JHqVxdkEif#wa6hhUWun-@oZvUCC?V| zaUdn4iBQ4C9u|xK)?sTP$uk!Dv`XV?gbEZOb(6(?2N#3*=81@QQlyR&Sb~T~-*|GT zR!H_ulDpzn_MkXzOk({5$?xy&aEe^}2EtY^0YKLueXcPP$+f}hMr zAQRkrnuhH?#D)n5)J{-otVO7-gt_Q~)nx^i{T?6Ok~6f=nw7?KgtCCkPgA3Z?E)ef zpD9kIh$DCryAnn&0=p2xszVk&$T}E(@yJX&I64G-9_upN%$-6CdX4Cssniu5;Fc`4 z-KeR0v#^Kd-VtNo-e||D!%?lgtwLXn6AeGEPcnXn;M0<8AwIa{sLNfc(zx4>ZmzFZ z%Wk%#8#!l+bESwwS{eQ9I3}lODoLbwZ%nEFk6)YfIaSQ(3Vl5$BV9`*86N>b#=l^{ zqxu0HFSE9D6|xSTM{p(Uy$eEW=XT9ih7%*ao$^W~?zoBUyu+=bit;f^77n%$$Ii2% z8F|Y5!8Y@hiK};^CnBx#)MNVj2YA}`eQ6bpia-eHTO#MyadU2=DBqKj<}Tt}TVCR# zP!fJv2Ke83UT|+vZ$)3PDDa;cq6BtgEcj12aUX`S*yh0-eaazI_&iT1-XD?`7{~pV za1LRFa`lm{`5_!YrXP_9kVD-LAk}V@Px9Ss@La>(v5X=2AoB@`H#|8a)#fLM@4wAp z)CfKW_yS&&FF4(F=Zw}h#xLyNYqX^2gaE~wl#<-1ba$oR^JOMXg%FD6O5Xf1gbf;s zv)K6$@y>P^v)zBg3+sZ9v8I0&{b$|ucG>i=x;K58%_2U7w2?d(#Fi*Q)y&J{p&!J1 zS2pSMb@A;|0+oo-y=~@#GX|ednL+wxFNyXU1e<~`N8BB7?0ydtbZu=Kb}T3W470>> zE3~_kqSwbnliZ;kF@*{BW9V$`{kP*(+^m6p0gcd>GMpYbm-9iX2e){+64;JN{-c+8Z}1;YQ-a@Oq^SF} z7hGspnSSGaBtsIkmjSE{ZTE1`P*4Z=>}f|LA(t;xIdsz^*Dz7CNYv+FOmvCoxRr}% z6Xl8yG>M)*vtFS5bO@xNxHW0}t|NJw{!hTn;$9~d`~uZdcdfYrSwaiLxRULduFLA8 zhL^_`w#zO|U;8|ZO4nXsKdvK(5E*56rFc-A0oz;BzM7TGI+h2uU5LdTp3jj7{p#uS zMGn9sgIgh30!`4afxg8IK{n^nys^hH0OlR68d{;hEdpJkGE|>p8IE#=9jiPVp~r4Tgma>AHimV~#sLB*xl|un-zYkB1fy2OTjU zrTnaQ@l|*otgKp`f?w@I8g#m&AI`u~QdTWJ2Vr>AUf^iVJu;_1E@jlSlvU;Jb^WzL zxkqOAiJZ+heCjPe)m_72WiiE9{9SAQhVdJEnquqFQWl5=eMExR#CC0v`T{3~`ZP<) z`q1BU5=xNJb1rWeEytDXCL~A8xeTF00nrg%d1fI{g|59V=touQsw4me=%fBF)`;5h zH7FaoBvf|Ipt=N{m!PO@MWSehe;gJq8E}aV$Ynr*Q|;NB7}W-KZIH6~N_;i4@h5(z ztI+?shP6qLykPBGvcKFWtLg(h05l-6Za_B*%CQy;Bjsy@{l~{NkU3pVwnQo1Q0f_i zhYJ1j7epKVCvfY&1mvOdVf`&>Cvioh)ZdX7Rkw6(QFqlGYKPfP;5Qf&rb4p11B&up zHN{gr*N7~)JrDQ2bTtJZ<2A=GpZ616)tZ+pb|O>a`D=tlM?A^R$dewd0+Y{9Isx_i zp`d`BbTD4JC+&+cPlYJ+Zj_0|!8pO?U)Yn>9B-R_>8r>q5BPdrD|#Ku6B1UI7r9VI zx~N;Ev!{9rMAkjb<|NmgxP0E_mOl2}Zqa8%M~DqoDECE5%sQO-t~xv?>OeKtGuENZ za~@P-D)d@d1e2u6R`I9Oe!QscG&7$^cb+FwhsHjuQnH1tG=h{|1JMZ2V1oBKm=0JwJ#iIVq86IR@+hN>YFN*puTSMHDY zfG!7w=w=Q|U>fE4R&SUipb%kj$L3U4O-eM;{bw{a!3K6?soS$uWL_&WPc`5c7V?}) zPWaTD=fg=cbO%m~R`q@$ThZ`5l0@>X&`DTgLX^Q=MjD)b+VtWpdYgQ+wF z=a$Ux+ni`*kWybbI>GH(FJcymn91XFX%Dp>v8-BtX&3Q6uOAj|jKJ1RXiF=BYdDj- z8O04om^C!+N7hCU1bBYflhxVxGtn|x$Sf4XDkN&l?!nmxvMQpd_;Nd&#Dv^!m)k7L zeJ8TP{L*NDk#u|A(};2+FPfi!Vb@6Z&0}s)v3nZ|M=AnS0k1(xfwHCSTzFtp5UlQn~n~~$;#Ib z{sL&X*p9%LuV$N+k`3yVbOEa79o|tRb>c76R!G6VdE7g%vXpRo(d#^erh!S(dq2Z^ zrB^xh&+p_@l3FoTEgnK8-FQw}5*_sMH{Ihu_M>?>H58&m&d&!hKO4s5WqM1)1o=}W ze*J;gjI*o_$P`jSxbE7pTfqx=!wGs$&F_m@(N`OYgFqfv#2T;dS*l`cS zJh!4U(h5<39Rg5NG1-{dHP2o+OndH&MeMbbbWavEGzKx}rJPY{BWkJyvrrege_d|N zndHnl-*dsOR&j7&a3cz&6NKcj6G?zKqYuMc%JUk{uV6KWOdYxkzStm36wY@&kGUSE z*KV}YcnM*iPf@K(-6!tl08VDmAk=KN_j`(Oe5!l#G&^JQw3$KiEJyFd;)xS^=3Eow z8&ws{6_jD4rkS~Z!`DM=$mZ)Wp=rjacsdiIy5xD@DS0NDdA=y~6ohg!Phx{%TqI~q zh2GuM)VqVS8m6|uhldl2rKUX_ZmH4R0M3EHLz%FJw!1gMj;3gD1F~=^&oqKhrlbOZ zH>pre+N&-VrftY;sW5GOn)$#dl$H%j#%}|0XksO%OORvU!a|vA;7(Pl8E*B(hzGxGSrH)6H!grOzme6xMvCDuJNWL8` zHV|0jL(O?~?c-nOJlr94G^RN|%L8n#c@1t5FN!?V!i7N}?9m zuog4Z?JA6rxpZJr9B2Rs~CZHfTh-0p4ZFV(g&3$FIf|MVYE zQkHJRtGbyB`D8BSOA7gU88>ug)vZ7YYjI&^pOO2a5+tUl=^$u^`n-rII=U4JNic6`&8a0o$clCv>)2?goO zvrVBS8cjRYo{_2Qma><3DaQ4mQPU zd1`SQ1Yy@%i}Wyivy)8Oh1xRGIv)(YyVUbE7VJvBaRn=ug4CmnGZsD+E_OY~?WL!= zz5E%~_q5teyMDIB(v`d3i}KAQq_Q<{-ZE_AZ0?f!~Tj+(6~K+VzYhj^E@6ykA?y`Al0S zI04J{Z@aRp8C1DVRP43ok_$+Qti#B+_?r~uM1#3}XlLu8aR6TcoAU$$$>!Y6F^`Y6 za==^u&{R@$*Dgodsq^kXp9V5VV>enj)$>DCDeBYp>Ehxo*;pS>2DFdWsv$A> zPx~q9=Wj`Z@jzBsTl^lvutlU2aSHzk+Y=dUiY23OayN{=N#_Q&}Ko?ILV47$+ zuPtHXxP(xaKJ2{>)*QaCD*#GcQAt?KQaI~^!Csn0;fdWSJjz0D&%r(M*N}4_bXN-C z$f>Y_J$^5pKj;LrPm81o)qgV|UjzJ2q9VIc1>Ry&6_{;wZcxQ9IN$!xciGRY#b`LH zEbfO1k5v+*EcD3hNEUsQD=Qh8=$j-;bavdr`Y7`S?H1RG0@@R6#c+Cr;k0EC;i`C5 z7q0*_ratln{zfKJlVA8xKvCaYPPIS=mu1MjL@qMNoW|PqoQh&nTg$=0xIHbsGHy9A z-eg4==$QLMt+{_mH;d!`K-&Tzvro+ZKL}e>+|#ye;BrC)g+PnxbW{rD6s%7#3(XLn3$^E_@Hr|tW;WIBQOuP(&N z$Kf3sT~)`yV1dR)>ltnv@q!=5SB$*CZCFi0!hK@M^uOL-v-UQOfdt?1Xb$*Ib+esG z7{TbB>Ft)gJwVF%c-8Pl@E4{U09pSX+7cRH=kD}Q zh4Oq1gFGyPnFsDCN<`z=U5Ph=Qmrf{`~{3XO#@_AL}uNeM|jOLo;MR==_~VQ_+GS4 zeOH|4JvGS2U6l~6ADN6ZjQeB4X5hr@QkLF})Z7YYVk_{Eb^r;71gmESV`U|Bc0P&^ zMh>F;*Yc~wn;CkF584uz-MQtJMCHjA*x_JQz`-Y!`w%CR0vv%&R>(Glpv9pj+fWN! zX0b0|lTfZtjn10}{r3`K*NGMEF3NcNNfP4XZWl^6MM-QS(Ro#5)lItdAnXT_BaFPO z?xq#chEn9}xfahA`Z8GWas?V6U53b8PUu&cH_a z^u)%4i!M9F+uyTTB#rkH53LlbvuAa0i`q*)MzX(;SO#U?>Q=jNgPCMfP)Pto zdnZNfQ$=r?Q1;;^eC59~y?#=+VKlEgeh4ul$!!iFpxTJE2$~Q-ZW7ILllGA{Zsz51 z%sfH%LG(79!rdvuiF}eEKkOmQnS~P*vHYz=cRC_puPfjWklaoR<7{Z+&+DZn z2Y>ehuBkk;1i34J$?7MsyMQs*{y)sU3wTu3xi>zO3^0L#JwSk0`62m}qe zf)E%INYH{}YwZxVjW8pi1Sjqp$Ywi;ig>B@-l{#;O0j{U4Fqfw@W#b*5i6)1-Qz?J zXp;af^ZkBn?>#e#o}TmkzvubRKM%~_d)+VZde^(&^&Li-jb~*L z{cwn^Fg}s66Xb<0}3r{FTA4s7Cz%oj6F)S5ZVHz9;F@oz60we0tgfbE8 zlj@7D#f)9T^f3If7alT}M5Ovwx#_5UdaAT$HX<;K;jNfOriRz9$d%B2Kr5vBij;<{ z(9Y5OA}`?^<#nzJ;Kc$S$ku`PS6Q}kbfvD>L zw0N|!(*+p9N~BbOJ}8T#=Mg>!o45Pb)h?3_`yN%k3uk+$;_umF_P;oNJ(x!VUGn(RMLEMOVFN4lTK1F62BvPZ9a z$skOxRKMG(tRT4G{|vF++CofMR%_Gg5n1o2wJ3)GLZX499DgD7RSO7sp*27;A_A&Y zmm33!wD@u*M$AmmCu_fWrEb;26M+|N0T$=V;%F~xzbYUF3PN=Ro&J>DP_|4%OB4|S zgh9}F62S)JSPDLX4>izTvh5y(Rd_$cq7-{Xo3;lku0pQK5xI%!Mg2yrB0h|J=aFJ^ zEMVVax335Y$h4S}0~=h}aN>6`qrIbV7Nu&-gw`x>VtPj@lal;rtRLUi@wM|6-aa`N zXxbh)ecqDeSV-YH2Y|Ge{7pW+%C}cOeUtC)+=c$$&Alzf(JawR-(@Ci{Gxd8bbjhU z?>wUk-_?p8WqsA83T>#WuIxqXBvhfuoE*+Hw&g2 zpYa@<(!Js9Q{ci&_kF{D!4@s8`G8y4*0EP=+yUxwahCwMZwALL@+i%zAaz>9jw*i9sXYfAYu?xG4Un)@JBQ!=7(B#n+_tn zWLjX7MGEfV{`UaUiqhJjAgxq-mC9-ZOy;#?`3^Ks2$vvVhPn5g)%S}ts}C4)y`{6o@~62j3HRBT8uv|($g5pez-Y- z_PvnNkQf#m53Px)Z4+F(0K0~SUr=ns>z4!7Q33FBv)OD`uwXoY{~Q zpN27ez^7FI_@&r@n?6gupbQm>)VTc+HVb+C*V@u%+!q{FxF4Tb3#t}p*_A15I>N)`%dusOx;MmA7X-m0N z*+^_syF0+?7ikiUT?#(WCSwOS*Sv9OazBE%1%Fj#Y2=R_v-_@~A&Lv+nA1O^aSg(v z7l>Uw`pZVDjz)R`qcpB%c&|oob~LT0a1^0ZtjsZQNF5i#kE~oE2(B=LwFmkuH z1jGPa1J7`LJEQv(fhj4`w=l2GfeN&!S0dbIi@qZ0B=fwbK13K)^KBU2Ar-=;1^2Dc za~!6PB5rj$W)xaWX=?s7MSQ4Ytd&FZ7ikU8AR(=Y4hM4-b#?CKWNe#{(1vRKVDFD* z5AcAUiAe8n0YBQnuLJ=AqvfbGTkQW+#r}^^_y(O$A4uz^`s`s+{ZsTdQkOXls?h1! z-^JekpV2gZBCt;ideQ7p1!Pfb_o8-H5p3IaC!iFltUk`)ooRdgX>#KzP+JyXb;s%~ z0;KQ!Sp7$cjc-n>NUZ7^k;OL>C+HiCK(s7uW1AhyYNkg!M+Vlh2#4@L6su>saX2*- z`H$)p~%~>7xgZeI=sjesl8(;|RM55&J%Iu%tSQ+HJlOxGvsV z`zZ@lH|;>^zOUuaZ9qye3HKqAj$};JH!1QLDS&{&uC#+`=M=w2lbGId%V%1=dDSyX zZN;j`&C%NC>GvX~A3;xC=?i|2rtI1Ar7iHO6_Vq1L*bvzum+-ARWslXhi}ln@-{Zs z;=3-knJ@A2*PSxNKS3!VR?)TQ^>epO3cE#wqX4`KA{=izRUsd@sVaw1{^TqShlp41 zG8>R0wplQO;%EKM>lv8%e7*ap$YRE-YnWG&`KzvBMn&eYx`w$FnZN29W>IARwutn2 z!5h=@uSKNQ-VHc|qIVFALr0%#0zV9_lV zhLJd#&cJR}1HJbWSlj4G-og#y=7b<_O!I>WaLd^gO;uVAf?8=xg&V;3aQ4;V?D~NR zCoeRKo0X$slJSQLn-UN<&q0t)sUwDqp8xF3Q`GVF4FXvj+lv<$)YO$)Ml!^Ns3dlu zu*2p1)Zk$Fj`ZML?AE!~9X2TcA5!(0>u$J%A4#A(X!wmGs;|v&r`(UgfFu(8%1AJo}+L78wC63P9 z&LIFs-OA>adp{6$zxNR9PTz`|)mfM(eml`6x8(uvyx&sj9*0N>sq=Oj_XOjrtg#{Q z?DdhEr!*tj#bDvYGPsTqveFHif4kR?R#Z~zX4^XkcVUFIW;y~JR=iRrSW`O=gU!&J z%e)jAOeu6bJ=)(V>9A#U_W-WTkVJL3;jFySZS%pnvd^9F(Y{7jWv<8xTh@xDWbn@Si-MgG+fQNMGb@ab$!Ep#+5acGH^!2VSW`h^yOnp!wU?&y5VW2 z9NX|YAEO$qd|cEpf{*hWPBG=+hOzu|G;HLfSHrz{%&GKl)5puD9mJg))*MEMGr`fx z+6^O+2B$4?IL6>69GHQJVC^*C%X-BVwXdc)G3jM7>NsZ+Tf1ubT?4bCH9vrh8OXst5NzW!j|oh2V-}b7R;O z<0t33ExvSY7cq1em0JYNPdJA|ATonpQ4D$*$S6Y!63EeRhu*%sum0ioO^5GRo0~g; zhx1#hJ&1%rEDq7KK9=t7s??r)&umu$UPPmQ)vZbFU*s7KX}R|yfS=ay(T3XvEAEtFIHi%N5mX+#Hh%{HEQHSp)MBM2YjP48Q7Xo*7
dL_-Z%9?|Ccb|YK_hyWtE!ua(!MXH_B$1}XN|F}& zrd0kzZl`niKo5MrmKZFK*K6@tHULI`HKn5;zq39^JEli_Mie3eiIs4J<#zCf9PJ|! z8QZZ5LgGCbegVEg=u6nijvG@`=|eP*(=Dv5l$a);qmTq|eCndq)nd*noUQOQ>fBd> zo^{guGpvZ{mjmVeI%52~qHq77?0&Z_phwN92#W9 zbkL~IK50T-eKml2B5~+6fE~jxcqq8h^CVWQWBSpGr@+DL+}}hfTiz!TJK+=QjXIhs zo~dQ8Y(WO8($-JOS*b)lt*lv10G{WP#Ph@z;a>vw8}4rI8y>NaB-6CTN*Nc+)0Qi! z$77gQ(ypgMtG+-#@tOWRG_H(DQIMbX{+izt)Qo1ApA~*6l@0>8qSIfwjdUAv!GxXO zClTn0#1vvuR`aO>g!M>uGf))H=UTQahZF+$lEk26@j4Xbi6mzFNSb9dn0TSc!_ecW=^*n*Xq%3zxOCMK? zpjn89oLTx?WPy8$R5={8@8|s=w6X`S>SQbE8FPv{!wkH#>2O1el*)4f41VAlZR22h z0J=+m&ha_VY~+*c?T`v(PZ%q*dq*KP$A$N0Dj0_g4)I14gf8ZhPkx`UljsTHQmu8R z)(uqg32gP|7EBj)rK9O$5|cVT3?Z5bd0vEsBcxS?ydXj>2x&tIYLv9g`Jd|jcGdyq z7S19*8SWS{fl3Mf)s35MM3=W9>x!usE12spMqz2HT*!gXbfW4IFd+Trjb{; z#|SJ{@a>I7jGF#EBrFJu8Wc8G`4o=(3r7>(ry_-rPD(SHoY`kWa6IRZao(+8!9b|+ zt~(9LIPzB<6&Q^$()zRqg}6HTWCzQ&HEJx~>ZN@WuoB`|$U(D^o26U0?9MKDQ}F4D zg!HUO-;Qq*5Bp3itpy}5 z>Fve~m!N?VsZ>FF+0(&_czT#L!F;UfveE-m#cvSDy|>UwU65h<)IzgVdjrTl)?9_! z8!~JP!6_PzZ7g(Nj@;EpDqoHlX!yKO&@;77s@$!Pe;TaoX}PoSl6bd|7%grYXj2Ap zsd?Jd&9O)16HlqOwNPoQ3!Q) zjAZm;Qq9tzk?!*}q(5avv_ZB>7aWgDmDi!tpF_{m|9&fj%WaL7&9tSl$L&cqOFr}A zb~6lJqY` z$Hrv@pyO2gAs{67aq4SuO1R)jEZh@GOqet-j_ZUL!qBx$qE6Mh_-s^zd&=2vF|*TL z`H<;-m1i7Hsv5@>UE|>`Mj-32&H;f$SX#h91nkh9C{wU~ z2dWT-pS>#mX$?7&#d~m5M!%#^c3zrzgs5WqZ6I;DYMUI1Bhn^?r!63jA^g%Ev00fj zp_9?l|Imgl8m;Ib)Xf~N^z%u=@B1lgw;2;!{1MhK{1vWVCmqrExT(`j<|<5YM4G-EaqQ>yO3|43eJiiQK3rBb#?Oxk zl~1-yl{;12E`6;YqWKhPH0=FRY@fmsfjivHhbH)bu9Jl_mR*ofh0}`fUW@zNFgBL8 zxtpN{Zd2CM%6pq%YV*e)QHNPeYE8+={yPfw2qnIJ0h_iYqSW0M5wSG_6=rLxAh{DP z=?=V*%Fg;2mg!5#fp|Eubw`jUm3u8DqR9^QzW3jeSy^How*-o^3N&4+yt044G`7UL zotA#s0r;hPI$L7d@5LTGY=@|zs>mlg`gVGf=OclM@sOwY$$|Y7Y#N6fPnIv?!r35sO0Ae zl`8LU{IdU8zTjPA_5KH5X3kbA6Z32V>0Eu-zr;OyM$etj%bVJ1t9NDc54_I9yO#+K5cxWm_^{ygZNtH%darp*4<>th|Q71Q> z05Tx*5x_`cLVdFecdq(z!wSX?77k%VG`C?D;8?wt2FwUvA&es^(fF&#Owg4A3rCJS zsZLT?QNX)g7tk5cR$=1u`)*X8nvdI% z+t~8?o?;p+^v4nA>(7IQ%!Nf{z^W2t(SpBZg1eOPo+s@TpP?F0Dh0`|b6ZX5VJUTQ z(jjd6$F3B)8TAUYHaW-0Phr-JPzuK2TCsEC1@n_mOEXTNOKr0|`?LK%iMIy$*uTFE zG}^(|PDaf_3_*Go4E~1w!LXJpEE%aV$cNDZm{)NkqTX_m3$Sv#uL#KY-7V-Wg6J&3 z2#8f*OkH(QM&E{gX8na1mUlNWgBfP&FoSwL2#_jAH=gQ$8wLrHkS|QRO?LkPE~k^5fP!Q64?f=O9wAGZ`r!o3jLSt0g24QBgj`NKNl+`LO+q zrfJrsyv)_S#d|OqgYSzcld@*m%eGaU)+Ij(m>%GU_Hg(;~UF2`UV(Ju?d|-10Ua{3NE(bn>Zc5 zk<3$U#Wz0bo943OjX){=d5T}e8-U@BdWQZy#eAX7->8#J#S}(lLV^Ho(4c@+LKz+! ze(`9gM}ptCRC$*7^LtbRKeJomuUxF4O9_;zHd=ZS0=cGlikEOf1d?L&et}Hvf=_&^(1vqO+%fKAvTE(+ zg<_{acIUMy$xxu}@ZneiGLpkuyZU*eig%@v`{_u7dUmMsRJ;>YoqeHs!wMP>7`~GH zG}YF_;g%M0csr7?T~5B1#siGTi^PsH-;ZS+!;pCBSbyg+oQn%R0Ue%? z{V_A`*jRjWI9{d7)$57G!3Mse80`Cd9BZ@<>;H&Axl1aT0j0pGD#AL}92(VDRCOU6 zKQ$ga{zG2zh5phUF=!jo_5NTTROMBqfc751M5XgzPbw+Qpnj6O>>tpZG%34*WgmpK zUOpYJuOy?Mjy==(4Rh9G_2VRs4K)tO!J~bt2a{4Y=Md}xg8Vy(9a1wdV9f7lXV_kr zddwGr9>Red`^{(Mns69JZ^=HUTE8}oVWDTFIwOLfR&_=sJ^QIM`p^@4D=R&(ls$cuJZzt{%6k?=NT+CyxF{6heF?lt zNG`2-BbKQXqhMfdptDu8As2dABAVzpyGgl<9hScgXPo8XZWpLn++T$;@I*hTkOV`p z(4`{+>=XUmEAPazngcroX`YE;6aoyFr6D8zCBXN#b&B*Cx7-HHT`b1eBzMx8WitrL z15jGRfvqp#L2JD>b_k@EMS8b1oP5Ie5`M=;EtN_?10c1?TvGQaTAftKE-d?U0!|yk zDI+z`dhd9!5$dD+ZD=B#ilK5ys$H5&L66&&nE_n^^;gm%hlA!nF7w#?V^8i1Y!HXm zK#2apDpKJFr%uF6W55*vz zhfhs-!7$#_yJ4zjAva%nl1Z1;tMSUir&GWs&KScV&G@BR(-*)I(NK0vy6nFS=S+j^ zOO-Fo$^I2+!UC*9Ue{;UV&o&Tz=Rr{PPx1ed<|eA3Q4M5^K0akDqktW0}SLV!WtOJ zOqd|rDmD(F$$RSnct1#QoL*A?K@3$TW6wgr<$m-I5^M4M{Wz8f0;&7B+}SK@Cdu;& zQIBF~!2rh%j7>^Hu&|{1rGvd6pa&Ap>BYkqx9TkfaANiT26+V<0&<7<&lC&l6C(!& za$GB^4UBVgtSK1h?IfD=4#B*SaV5u7F$ciReX)X6_%AL#I*T<67fIQ^B)24+kxsDW zFuZ|Xj#skmUQJ1F+AO2XHT0V{>2l1b`GDw2@l?cF7E-Nyr{zTqJsYz~=hI zc?tzXu?rTBGr%iXKTj;0HO1F2DaHVL-r&uTfHOA!8W(N|^RY39x(=|jjjl3XT?;ew;N16iGo)uaVkqgkxPjdHbi@aheFLZOpfVy*pzSUI1S|Cp}B^CqTo$34TEQ%Xcf7 z18`&tjdXslJWDMBA|-Xng~n3~7KQL`IpecoyIN{9l7oy|l=rC7SR|VF%kFTdP!{Or zSjItfCwirvFMG3((dK^2f?mcx0%ap__bng->_w;!hi27rO-SeB6=-^poll<(em{@Q zEQR1imYln`2D1! zerh`S{Uo@f%mcrlQ^fiGK6cz$MX0Laf(7R2jTO{YxK4>nKgu@Z?vMrCm~Xfw&`wGg z9tv?Fh4+y{dBJ;ATfI(F7wX^Me0(TV?c=6`{={O!+&{%SflalGwP>Au%FL$PupEWT zy-w%ss!UuBJ3Fm(x#de+NSv`_LoF6QVazNB6yaSg;ub&*1LNS+kuhefNPwhK;7s#7 z_xO3|2xzVe%F<-aXYqCFc>B1*Hfj2q z@RS9Z|8TTjC;WHYq*b32z;n34>H(`>j`667#xWC0o>jTm##h-ksMT4XHCZj9Bd`RB zCH?WrE;t);c2>LGIULO@5PD#)E?o*;zXSK)EVXB9KRly*W7(-%g=FEuGi$!0@YVF8 z_zP_5d@QMT!*){J%7+9Jh+jf9BFEz+bfYB*AxD$o;~|vB&NKl5S@k7iQc5!R$P*t( zNn|PGy_@lB)J`gU5WU8CLsntQ;`dphhwQ>_4atDkebH~M2Zt#$=W_)njaaT%*{4i_ zlNAo9IE<=6b$lT_=@1x!lySy&j>dztMd-hjdDiKH?ps$eC!z_61QzLhu{s@rk&r1m zz*#`9@Ti`Q!`WIGPHcc7Qnmb4uEs@W8ZR8kEs(fMN!Uo*VkZ!CZ$(CBu^oGJF-%SI zozlemnZOk8t$|zGAD7ZrQ#(K4fh~rd+Cs|C@;K0$s~VRs!;3Sc36}uAKN2D2wid-JYdNr;j)6E_K!Cv=UpC5| zJ0DB+bg0t_T*Nk%z%Nb_=Nw?eHi^R!D_ao`Zh_`WW!F;I+=QQQ>+u*`mB7+aUI7@8 z1_}xxqGE2QrFSxx-kA3qXrWSdNq?lLyaMwE{n1AFf;fLJ`D}6B zH74=9|iG5Oj@Z z*4ci9K_>?{r)1d1{N^F&SDyk4$V#A2^tfI0xg0Vtt z3lCG@-$0RWR+CHn5J!*+NH?&QBble1+U57t8|6d=>C!K>@&!VcXe<1Eq49_N9OlKj z$4Ve0LSlH%Jr1k4XK=0x9TP|+RW0X5r8fDn@M*2X4$g@QpWqIho$L%O-IDxoNTa0N z&biHm0~c93$%vk*%p>wj+U>}IN>-{I$i=x_E6e2u^cgnwNm$QuksMji3ucWgY$oGR ztW=q0<~~10@ zKw)G+hTaxiGn&+4YhVssBP@qsVTrjkj5(WiUDUKS&9N}z!g8o6&SrJkyGZ&jw;Z01 zZ-aq4-G-`2?>`U*Bysps>376#nr=xwxD5W+treC56TLoSM(MVsrln&cr96ej0i<3? za(wfqRCzVE9+O&s_(#vQl45LvEuF2fCp9fO>bt_=$GnOE4}0$d9%Xgy4^NT-CNMBj zBZ8s^jS7NoqNt3CHV|?_xl9O5uo9(h^rTT+E;9s$goMfM^>w(kc&najTief`<2hor z1iWAZ$N*YJp^8c+t+ejxz`#=Bh`M&3So)6p1e)oN^z4qE` zt-bcz_F3X1W8VS4gkval04%FT`Oud%h~|CaNiIUa{V9MuV3vaKmTsjGV06k--jSpCQDScF$Yv^jVt*DyjJ*sBpy{vKT#j_v z6ueW40(WEUyt!r&UdzF=(u;HB6=H%}R)b;8G(~Z`bDHZEP_8EN73a0@(ee68m3To_ zExTX9fG}u54rxI<8!*a>;L6UJJuRcG#we?Ww0>I+r1id(Ey3OorWvo9%?nWmZ4QEa zL@0H4n=72=(n)4dA|>N2|Y%IpV|SEQ0R6@YOXUWVv5mi(e3F&sO)V>m+K@tLypOnf>Yy zg&hP57{yjr=wYwWSmwmz5>yank4<|9j8-5+OVV8;!rjE23&i`f_@v_$1b zh?5D>W;DF+Y1xg~@hcXFUZnLE`9Duf9qARW2yuR0^`juPnO9duvkpva z)5%Q0dFeId4^U8k(*!93T_K%4?((#+Lt#@?_nEkEe2_Yuu2C2x`Shh(v3hf67YtIN z-aFgVX=S5YZzs%u4#F71(+Nq5hEkuCI2CTeOoa>A5(Bk*W5FXmWA}lwK2BL3)Rm<~ zT!(*<$05$($PT?|qkU;|fTZX|&pn{KfWUnnK=IDG_obUR)d1q2&XU6&&iuH^ftMC6 zEdp4%DF#&;TtfADTIq*B`VE2fwD7F>*zVBIQ@CMTT;ti4jq?U)UO!-_!1E|7Ou%y& zJ^(lKrbQSW&LlmXTG9y7p-wNp%$ru4E1>jo4l!XF4XStuY&JFmK&oTj;rcT@oubFc z+($&L&jQF`$%5g8C)vg<7~zsj#h%4K(4HmiUL#pkj9JF--50Z92XmCyJey{vV?cmL zhdVD75(_EQ0Y;l(P_m~?yF86ubLf|kIgSkhf(4-&#^cNvr72SA#T_UC z)C{tU&|?g5GD#84NgW9)SAQ1Bp{H~5zK=6MCuJ*!Kg2BK&Hgkk=kL-q5Hz7>nvwyx zNyy66<0jjWgxF2~!>yM3X_`*mfdeoM%G16E@w}q0kNf^?{7}YpQ+e910V5j!mNC2B zcq@7(7u8IlWy`P@j09)Xm~xMP{u-qDL>34c$0H-s}1E(^x z7dAAraV0<&WR%M3aK%v=33Pvv-*rbQJ`^mOr+5!+W?z_EvCx4f^oJp)^bRV5o(ywZ zXhz!JP}hIM8PXx_uklr$*$1NSs0B5%FQau|@I{?QZ|0{72zxrWu~Tn^y8A$Oy8oQT zm5&l<4xA0rLgP@P;|n^v#_mI*@o%8Z_2iM@`!A!KZ)JNnt?fh8Fq$gq%XqAvri2;+Qov#8a7*+i7-NX+>^m3AA5U3^$y&X)uv`RAb8*N%)1$L zH|H2o;v@gO9}D{C&kX&N9ow8MR6DNZE3 zeZk*FGO_@w*;=IfDMmC~sKwf`IP{BTByANbl~9N~XnwN@4(`H_^81AMLjpM*;>S)N zh~D3YpjoW|)wJzt-7sGV5eUV{dRDh0AzTIrmzC;))xzLKMX85wKSx&0YmJCSbr@6Gy$`!Z%Sh%ZPqbg;UAbmq zBU}>nhTZ3QXE{ChlR3ajHuk_E*L;yQ(^&b#8PJ)PBh&cGg}Bayy>!Biw)r$v^Jhg$ zX#wppe<*{#F&oo`d5dMU38(=8j^ZM$trpqgBv2{YxUT|vX);F|bU zS7fRj3dB}Jt>)R()P>FoF@#yk69@}tKxo6&s-9DxXZDWYhck$I`$gz64wM?(y}`qQ zo4mok04!{J%ncj4^nhg7ffc?C2l9-;P{gKq-^ZbkQOCV*P>SQ8`w3d$4+s-P!u`6c z;IB>apzs;}6C`^3JZmSRa3ll9_*PHA3_GQOfcKyZT8ME>YAQ9zgdu^MKu)_c}PMf(o}M zJVicL299d60lhM16!L-zpj@cDGhYvSXfUv7l`InDL~H_;qQO2!nj))Y!+M`p!bi6U zXQ6_0_jvB-U7GPXElhg@tW?8vF5|{C(dVci=l|mQFS<)O1TO06GZGw*;IVi0;{Q2f zHbXlTkN$)q4k`MOL%uIB;VtvgSDy zp%y#Mnyr5v< zB)bRtuWINl`i$FL;VCX?6{Z?hS-7lPKg0VeH^PSAK(1%g;xrJ)KV|-v8x)k!B|TL1 zOob|CKQ4h7H)h4ghD%<87G>UEpBgRKXvC_0C6qaufbhA_ZD)9PQ7zLvpX` zOUSlVH^QtLD;9tN50*h(7k6SxP(Wd+1=}q>@wXUUcT51T=l6X*aIz9|O#*2_cLaisTz>I-H};)dWhpAwR_h-z@U9 z6k?^9dRh;HC`KOv=qz|)I>-s%1kpEKc?vGV%4+VL=(^9H)$wPuy&q(C0m8Q!#Q|T> zCNR%^<}9$wTHNiJhta$})Om(E3*v4UB;GW07A}!BTbHK3lR5#A=iz1S^b^o?nh7|_ z3CPzI03wo@u>lj1fd9CG@c)!|pS3DD2(iGkX&&hW8Iu3w3D|@Q(-T0HtLexdWj5;x zke}j$n=t_|Vo7*5&FsY_bYc=>=N$VGgHQ#yrwO38o=5rm_mG3Y`#`6)e4%3%&fkIb z2?iOjGox0s ze6m?o=-m|<%N_n`%FV5Em-BkYqDp}2vphpxt6q^5b1vN_%}S^$5>5J zg=fJ%JH)IwQ&4t`$XL6fj0~;9iy6g?n?5bP^wiil!YktNoW}1O&!$P3M>m|k!-*V_ z=do)kYoWTKV_>xL8b{Z#A0n8i2?K+*KNOc(bBHtVU#mI4!hE9vqSL`+dndqk-ZpEo zfKoZz$L{q!vomAbv*4bd2l3;M@=`OoL$)m-Nt;p*DT8tsweVonHhPak9P@;~2a3~F zh#N*NHI%gWKols<*Nm5^HG-LmhVaLD4@5TDck!%gxK?2L%dyj$r8Q#H1Wv)2yLARw z4H!^>H&^5RkiuM$!eCXf%M7@{UGFfnDT|paT~4E+3(oPR&?vVN7=@cMDx7_Rv2v6% z%n?Fei!G$bD8zQq>pcWX3^dETM}#p?3n2keMHjKJSo*-3&5T3$@5la4Qn30l0pNYy zZ>SUHDQ=dz#M-O(n-DnBGj7%gWwY+_w6DSlVVKoGwf&`Ybn{ zA@cDI{&e!*wEHOU@#Yl;zUv6}jFO&$sm_&enNpq6w+~vUmUO1rf}TZxjqW0E;6BQG z4Jz!u!Fwa*yb*|-H1JI87-4c0+e{zX{#EpjZkBy0RB_~O6{fn_J;Kh%92d`dku zDh-FTy%`H0nvahKPzXcvLK@I&PEFeTfPq5 zY`Ctx7w^OO43PhV>ez?EBt*Z)HCcjnZi$0Ew47c|kJ-k|r{$!FYxGZ{KS7#1HU4u_ z#r;5mq@|ce-`_1YKKBND0<*k$RO*QNk_d;8azJ4`kPj~h7Bdp{TKA7aADsgA@H}&y z+jw{UA25nBaOzj+cLdD$^T!ckhn0Ywp@k2Viez6uAkHjvo zsA9x|AJTj#MO-`+Oy|75&pG zQOd@M3P*X`H=s6I&|tqkp@aA$R)Tl(XPLLAF#AAh@B5w>xKRcL#bHk>&rdPQ+r8va z^r!4|_tCHqD$b!>F@28B;A|Y8sXIMW2WWqxztMaDv}RlP`vPDM&F|i5ALQKd%%||y zWN@$gMGI%q%|6qH2!5+#w?HN_X71t}X!CZMc_LwU8NrvJ0j7jnj5m#plNhle@|wNq z0T3_xGA;^GmwBbF2wgq))A8`EC_H~Rgc6vKa7F+qapi&&ZxERcZK42vkPwYlqhkr_ zd+$Cthf>(mVVP;|>Qq~j5FJRMG+cy`dHN&R6s?5#fa)1N@!&B^UN_n~VUy%?kjpP>*JRwGv3k4jJw&KC^PP2NR%1h))~zv zwpRpsIJ$!P4>m6wEE3tg8lXz_x46fkCHs67uq1o^b5yPsxdJ&jX!ge!Pl_+DjW4b- z-cZ}`mX+7^3mQrtv)x78{_J=TU$g+%KrR1on?Z2Wcq`OCuXdYq8}S_TTs+b<9%bvkl2hSuOl!gzbm!?8uC+_OXh+5u(&GsTHJ7Dob1~8M6z>Wzj`Ic@ZdGOQTGCmflik8x&`x|a+JF+FKYanK z&8#!dJWDo+@Rra1`q#h0pmY?f3vW4o?AS4UjFFEoPM$o8j~sj$_x~^#KX7K!+?|Dg z-gknpHh1@Z^2sMtalk*Wx!Z|<;p`ta!|^LwaBDY(yyyN^sZNEe`%~P_M)vc=KV+`3 zc^0cYo(40eU{-!S|AVN34&vuO+0P!R*$*-n3{|4Kbv&QmlzjtfGzpqBtE1$ve7&Z_ zd4v3$W?j%3Vc?nr>)YwRC z&)+z+nKS^W8?ui-3?wz)ctM4BF; z94a>)4#lB3QuUPu=vfPodZ;=A`*)ap=s|kdKf>##VC%HDIrEQ(=ygb`DR=$LJCCGqG|SH(_<|36Dupg5j_| zp;_>Bu7J6RHfsux*@A_4dr7H?(J8^U^eLs(C}<1DI?;L{KCPnOx3 zu-zvXdp{4{=Gk;Erb-;4P@gnQ?8&irQD22J=O*`t_i-?SQ%#&&(3%Y;9_&K*wPOPW zNV2h>=3os4=b3GX5mOYK4P4g_5Co@t#_vhZe^69ahuQsES*KT0fy`ZJw)LR07z}bw zkzd)1W4Gcx<9C^B*oLu&iH5YN{onB5zVt4k`=K46gG~^0eYD4Ti>rc)D%ybd z{f}A$W&bqUgn6}gld*CQ5n~M%Y7Ow(pH=@&TH2ib5V zM;V%aE`<6ph&hh_w`ndy0lu8d%>1Qv}{_mlmH=1nsfx50NcL7)3O*wTE5}vZ*HVO%cE?@7qB;hAOR6n&)H?K?bo1drfo1Y-N@!(77cq+Zz z4}NnV`AxWOq@t!MHs|m1n+N_GelyxZ@U$Jk-vr4#m|!_YAGC&vhW6IDt@{t~v%M0` zqPcZ05IH>N9OKr2vArAo^J71*K}`N`&(F5wfm>tE^C*V(aSqL<-1ix4*s`PJS{lE+{`&Hi~fiasQ$vQsy+r|kyEi{NEYgR za3FOaeH!YF7exAi7*Mh8vT1Zrl1A^MEifKDragm@>4V0u)K0eELQZxwv5%bWVVHG+ zlYP@H2l^d0*9mT}6Wo+B7@re2JBXFWsc_*L#`1u1jLv6Y+AMepN1|{ovE6uB<7GCi zM-H118ao6pJLaPtsW}ccx__UUFy_lJ;&Zhwi5>2>nC$r>G|?L-Eh25_t%ky7WVORG}5?@L5Jj!5X;#3yve4LD1RG5%_c_pSr(8dc(dA0(7QcjvWrg`4 z@KyLNsKF7;FlSG$Kt(L!Qx~@kYk*CH= c;bWdD}QI@p$R8g|Bk&>Ya8L)rM4$o8- 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

M3HOM3V7HCcIddBiV9W6= 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

CakTcuYrfnlUj1&ZNZqJ!#@FhGulnAjvE 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%0D7tWY=bkP_3%z-6 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

DJ1FpLHm9deitp6U6NfL3|*0j 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

Jn`NO{KZ*u_=7NS$&yoWTt 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μE)?(xLNqb?fXH;9@inKG!CNldpEQ&vpz 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

mP~RO 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

Byn~9^}P(Fta9qK3ioC_CD2=GnUJ&q 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�p+OAWa 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%0Ab;Bg9A(G~=kEJ(q;Sfe|34bRJf z_qkr)|In3Fl;i#TW8T;++(EK-u#hdwa;~ZfAO$uaxqvc?Jve4=7+NpPu+%v-jAXU3sGyeC`^&*EH)L+ z$3|-H=@;h)O8Rm}k$jGe)!r)MUT*s%%mIedA7o2=tG_EFSGs##zESqC+{Ockpgre7 zlm7y2!HGKQI z485mvD&ISfy#MY=Bj3+!Bi}R55z~NE(yJ3~VTnJavcJM9)ArDUkQPD>$w_)y;XG#q zgcz1TCvmZt@O{fCAMr2SmyIt85i-)hjIW70yaCOa|BD zd_=Ev1z7K%=Kk+dKs31jR4vTY|4r`A(xiX0{5PKrbDWB?^u%Wjr@RD4`mgXul6iBH zCTpFJuPbf@qGn#K;^?Sd@xWz7=GPVBLct<3FK0xiDKCBOQk`oE znMpT79ft~U9O1h}yl^S175d^GTkgY$TfGC5 zuiW{pd9S9>d+AJ+z;frEW=g9Y>ggz_@}Q_Dmb?FTZXk^P@m2j)*s_r>(?#Ch4KOY1 z)pDUk@Do8FL-JKoxc`^@!Kl6aom~Hmxwc;%PWOLHuAS6w9bB!uQgzA=XQavx_0>-^ zuW-uk<$>)sj8GDR*|8YbbP}!Wq3B^8YY{S$+@?yW}ebQ)tBA*n4v-=d)N=5Sdt; zyd`rb!ci6`G2Akd2u>Oq^HS)7msV?a!!!4mZ*(~q-X)P8aqmKWX>`DZY-E=_9c|SqMymw(>X?b>c|s?mUxFwZT}EcG?d|u0b@l?q zu47R)g5?*D6P`mG#N3$cp2axVZJey5>_4urdWo!5kc`w`?##VUtT>3KM|7bUI156e zJwWS4Z%^S}fgSLp#kS@Vs_1&=L9XpGfZFI{!^PTi=ihZ+MKWvzhH~e-W}Zjqa2+la znF@@x6#nQ{G_Y)I-qSzchR3t=R?$EI{C(1kM~uA;ElMZBu1a)ujLpgE5Rn2||Gnb4 zn=9-eNYSRKN|`Ahsu`9(Kb z%1cgVLG$UIKmv4(t(kio2?Jhj&iC$alGv5O zKYtSe5f16s*DUc3__H^nu;-$hh@y$p>)&xQGi9#kRprh%O*8i-o<0U~t;6Y7;r#v| z>5N|u^yEkG!qZUwlgP&Y*BCIZ5V4aXRu2gzq0}vx35g9rmwjuTFKe@_`(LIc51~br z(Vr=K1)|{#&ub{_lK__(@Da9^*p$nJUm-W4v>?D z-BTTI^Hxn27$be<&aFCXk3d>A1b3A?*On;(_Wwc{G1>++<;1o&;)v{8dv+#Mxr2N`zor=PY}>EJ={A6N{#h@3&E0tUqs6E?43W z33TJ1Fx9IYaN<7mFrkfT%E%!!vG3?R!5@rfP1X@IX=11-9{*Z1I|{8;q~o<)t8yQR zB~W|UnHGtB9VvHKnwt$dr)T6dMA296`7$n22>NW;f+5_Q9l|s3mXrB2{mUuOrI`B8 zk4iLY!hXQx3UsfEHPc0^Tw!L~&Z-E&e*;~3D&Jl1{M5XH3f>MVu>|UJ`fgyEs-5IL zz;~Zb3C7A0|5HXZQ+x2pbWJmt8Dgluf;WSOBI}FHuD$Y`l^>j~pArK%SH*-Z_{0uh z!SVkt!8e{C@kmQnr2ne_mDtd*cXy*Vkoqx#B8?2#A?6sH3gy#V;;Qf4am@8f>;}PH zK6ukB6Ib~e$s%UY&6W5{cWkI|%aj+4mD>2k3{6H6DpFQTIU9(#DHo+|@-y%Y<}#cz z=bQAwNRZz5v_)3Lt_??~3fRA=gy%`(086>hA_lAru~v6%xNwUX1xyU#)aHrefiEzm zy4ESu8hPXl3}K+E;yi+qjJ{D(E-73nC48-WtH(OMaM=6M^@{Z3wBPy2ojQ>$Wh+`g z{)v$f9b{U_;xiZ9N$e7~Z$6V>ovxg2KU>7llJc^(97`--)}I27_xp3I&J#nshgUPV z-Iy4eL-we(G`Yxr#uH1sD(^(4iA*(G)3+$Ek6-7&?py48tfd%i$qDw-hhynmw!FjN zfF5&nHhN6;EBJ}LE1Jk8arWavNN%9`{dx9-`N{X#w`_l=Py~Bq($)L(@*{s{yX*(C z-|Sn=VsR~9`A4y5FdFaM5xim?1;Hz5m=1c4Vld#jdfmB;UwU-g zf!E>vu{a*5FNXW4QgCGM&l%gN`?3Nbrd4!*MFXv6(S1v%BP<(dSHV1mMb#nJ2`l?E0>t@ zCX0+18~H2wK+X@O4f%{{3Ki*rW$V$8`fmUev7Q3wpMv5(^lH?|nw&gim*-p8oIa)i ze}h(v{G@*dEv)VL@Rw5u*Wy+8R$Zk5dqOQ1R56cr6nrg+O9{A%(&m(9TAm`+CinkZ zD!duGsujhc>nB_obZwsty3iQ2=n{>Qm8ZfP`g28>w&ktb%VV4f733szDDK(WS{>tI za*3JIKev~QH+1vb3Mqh&9odll07@+M_6bxdsmKTD=!fZ#1l9CCV2V&PJ zZkYy!?s*gnH4GGP*0PnC=!Yu#Nyps(%wC%Zr=2TXlYRw&#I%xN%1xMMYd>b&L2m;73Rs8@WoCw6VhmJ>h_-wFg9bDclCLxiYIqd&2ndB7OSk+mfGmBb{d zD<@fCuPRJVK^Hjw?aVk-8p#kuXP~G-XjUGuqav8=Orz>}khAh&o@o55gxy6hc)vdd zYPltLA8N$AdB`|!x7SM;WqR_i5nhuE+*Ch_l-M89Jh3|&+Eq6xXy4<)UYDP3Df0c~ z(FbGKCVHRyxv)lPKp?FF(zTE`G3T&niJIPtX%8kxKfXDOg61QHU$NRkSA$rb%QX3*Fw{bv~(uokH}onV~?+RIsJ#c^Yu zrtsM>s{F(ExnSAKyl9EBk&y;$XM#;X@T9&bQE;Hl5ihXt>G{fARYtfab1gr8w=;W| z5>!TN{xL9z4MCTSnCKUm16Z{0t8o4tDW;_N%tHTFk-wHc0N!q1B+F;t170wz{ z@SfJE&s8|{S7+c&8F2 z9ZVMg=;!*3@eJsA2Aridik9DK$_oDRSFO5vJjRVj74RcN>vzdmGUHQq26k_#%ws)- z&hP$sIQ_?Y_FeXeJluW2zCG6Ji8Xm**QacGr%0M3!lxJuM}*i~a?^J?KP-AJoxE$? z(ut92_B86;zQ##U9!w`o>@upk2#oSH@+0Dd^fJp{UT96?dX4kmyL6<+<;)Y6Ao@-) zlo{W;vTQD{SYtWy(9jyZ9T)jlo!aX|^tVvFLj+DF3zk@A^Jb9?MHx48Ix^(UWPnU8 zi~V`=!h1d{k|5K5MY()_E|8Z9NK6AImN7mo9?sxv6>G|zFJ?P>jgIbQZU~=MNaWXP zKP5xRXNOSaHRlI2Ob>WN#>)I1f2>Q2C`Dj?y!^?+CkmygBa`gKXg;?(D<%!5#qU-b zz>ydKcy9WOxz2jiJUP@d#tO+mcX|dC1tNwk^JB{-8K!a}QhSYccQRPNiE=zi-n3{9 zKB@ys{$Bn46p+D=MCf|VD_Za@ySwt1a%UL>0a-W!QsXt@arDdXwv0ZEN;|~#pj_g& zb-w$GqDKIu5oT90^SSJD+v+?{e}Wi1kQzE3#Yb!aA7)X;w;_gQivSbIXX$fC3a>8D zo1BS>_3*r37~e_bywV9*?*p4O+1Rw$dEuK10Wpwxs87gd=o|7tolUb5L>cdpWPg=8 ziw8R$EcJ&=9(8T0PP@Db^76cLZC|7w37Kk9KLaclYGAg~fIRK8Mp zAroINx=oQR3)Pa7jN_Gu7@mdBG4s{EYLl?zeO};Fe_9IUVWA*2ok_RoNPi4qtZmOe zG=8|%fp%?Dw!j7S{hsE&vH36% z?>Q}sk9UXURaK{-ne7_%ehF(d$GWlbR5E|u^1q9X?zFSXBm3EViQ;wPGZ4Q)AOH8V zb<+9gcdD^k)$rsz@cjN_bFojM`sY^_W9}3%8u!31_b&ivVtaH_`Y@H%Q*Zme3 z6*bBIW9aK9d5@S!%5P&qgh1@*Yv>wtNt?mww6}1~T8fn2P zscY+$*gj4_;NeJJ1hIN5Hw z*2-M7>hqaNsfa0nocqHvCqY^8#7)pz>9M`&4aJ#knW;wPM~&pl(>r z&hu1c*SOf+QX3TmGa=SC)mm9d2x^)C6<&=MKDpLOSk!q$n_A}#dbQsQ=U3)}yd!fV zi6v$~bOt}=nb^`7@~qUm-k(?L7PaOo9^3R2`ROm@J0XQ2kEd8UV^{o4{cmn9SeRet z%+Z{iu>>*hz0BUSD@v5vHZt$U_2jaeV#iReCPpS;?LCN|MizOtoY1=b%aljGU{@U` zT>v+OC#SN2=ryap^FM~%#1pl&`sxd5X2HAS1g<4--~=BSzFAutX>VP*=9`IQV0SYe z?@p-NmU|If=-tcwkvn3;;+-0vSUH18TIA037d+`FJPxs1;joXRdVv@I+VA(g>wb@1 zWlFsMKUcFQ#*e?u`QGcSkdpcILD9B^bjzI24oh*Caz4{3QU2Gm(7h(m&CNphS|Ud% zj8hPF$xEWw#AuC4m4#_6m>GPbk3;^k`#h1QhARDRS}Jp1OiOp9bdd<`d^K~ExTo9u zQ1?1K-FeP`PlW(!GA}tx>Fl%F6|$;AX-u&+R*xF(uWZA5Xu^^2FKZVH>ZgQ3?{ZrI zdYFfzp3@6rF+cr9kKwKDN0g;?>yRs+FEDvJ>azszBH(h#CCk&`bNS#L0s zseU4*uTk7qylx;h=wW_zHb&Ddt&$G6U|{w-QARXEb^4LQ|7#C5YNy)jfl|v zY)mqNa?$=?GemhS%lFti!oIA}^E0G!Nos3mb zol8I|@~)&;A2aePSs0jr5%fAF81zbga2bb7az*YtfKdg(oR9L!i@ciRhHL*}I`f-P|a-(lcv?;)a>MC1O7~#?F+dZa+)&gQ*zPp^PPVoR1kRmXmVPw&_iUzFTmPye@2!ongiW7jLq(^( zxAc}^hqe#+MKNL-SJW%8fJ_u=Eym4!n3l5m{qHM@hH zmHuKvtPW{g<}Z#Nr4==7Tzqk?GH{vjajAbxFFqnGa+-Tod|}TNiFL6L`8$>h{Fmm( z-<_jtMfN-^GdK*qmHhV~YGjoAX45Cx#m6qri`@+v!o#|@L_Zqrtjs;Os8Q?)<3h$CI(D-|vfV)eF7H#i#q0om|y(C!}Kk zU?o+nWDgZiKDc#PJb1~Jk^W0$eujdVz3F}mrkU|a+r`7zbA#m~ajIdYPW>u=MOlOj zA)Kpt9y0cR_<)sWSsSZ$cj`flOn0eax(Us$G?&~VAA?03`5X~rvDc;61-IMf@{BTu z9PQ;u^kZqJ!nh&e+3s@gHj|vwmv3 zdz>^m@op^Y)V5}uc}hzHs=_nom{;ww5Jt`VBFF9sM*rS1WOH;gF*PvUUwq{20?4g@ zclV5(c|wmnSWGpuiZ&)+NFJS&6cB zoEr-ka6?7+i1VmgcX^nxrJq&L&mRXnJFTD6ePn8 z^!}Lc(kcAvC=Z#@-<40of{5ds!fG^f`;AAyCVI0Yt@TIpzVnmX51wf3w;!y!o%xeV z^YX8HuJ3zI-Z7SbpJ}AzA@p16?{x?`kW-1gAab->du}%pG<|dG<>S8s}Nt9wcFTDPNJ5Mml=Ir@YE6v~{y}>8zM*KGt1Vh{#_BUgGZh_;?w+ z!mvrcaYtu0CVA}~r{_+rH2)ePWL%|Z&`-i3n&0Aq$K&983Lg(||h@)ZIRPxJZ!#VSpnw(3U@F%_P)%B(nF zaiN%4ZynAs5nzoP|5~wE1i9*n1q) z&|x-PFo^IpWl5lA=cfvM%ND4tsRzH!teM*9O7m@>;z4qy=&KQ}B8Sd#%RZl7vxsaV zGe(Emd%ehUMR*VFgR(sY4_^|m@7}6_8pptv4h&@ryC-i_O=26upNd z;pABG4^NT?IZ8~I0ZE^Em+w`VJC$s8>Du1(#{N~b z5dwwO;U~kdtlABvdef`?WBa~e)%RWLZ6t>?U1#J-GY0Vqq^TL~y#=aUZU&{hel=RC z-X?D7+lJWglerKc!3`G#pdfy8DIK%qNlZx0*vNGZzYfR2tkLLsb2#Y1N#%_ z%y{TuUAq`eiAQ!$7UVN}mL;FCnNIz$ND%>l0A9d(U>`6M4d(9S3UlHmIiZ>-7;Mc$ z{4p=C@H&M6lUz1j!XG~6*k2>NYZa^1>;s>)<4*kyzDW&LHS4AHcQU0Pm(qpO>|{U4 zKO3=i%?EFd&N08ogVdI8xKr{B^s2C(cuuMro2lkX$?`Ffip}t2%CZnUCG6aU@<+Ro z-wz|%SqX`+bpj|+0N+vVnb-Lmr&TOruJdbCEGE6nuh zLz0tsXJGQ8q(23P@Ou1)q*wN;piwfIOn=3oIC*|tAqK20(9AzZ$<*oz)k15x6q}N% z_g0GOlvkRsj+4A_(uoQ_ZfKCvWI3-6zNM)#;Jk{*{HLLsO%$Iyu-x2mr7W+UxMs2= z4IxD{uYMuT>4%#9FGk~4_hMmC^BKtlzTQ+#&8GWdTnD~JdE%me5d&bq2k~?{O%@O=0?v;dD=_MRq zqRaPdeC@YZHm?TpfPa98eK>BUm%aW$i)($jh;gtW{*{k9{yB-O|&t2FQFr-1hJ z+atPr690jEC}=9p>ozU3yh1hiXgxpGgkYcbVpC%2l*|&aDR-t*GFWX>s?sSLM71fC z(kU6-vniv~DH(LKDMQjJ84R&0pJvPGgEbFq9L>OQ?CR`E4y{?N1KOrZ0p%ikA6PQ{ zWXOcZs8-+>kCQAqQ#T~`<8Q)4dRub2dyw;#ricLA@_9(@9@E_n9uMhmGoL%moYR$% z@nzgpf_RvZ&(P{5)C~M=@`ApcTEV5#_1xr1$oWqs-qu`s_1ARV<|rdpqJ_n&sox33 z>%Zu5$tdzBIy2aIrq}+i{4$pRxgPhOGP%D)q&@Y2AU|fHHL@LGFY<&e7-eqdxLqSO zzRJwYeEqe2mCdZmRA;_EBVQi{*j1)9^Oe0Nt7bxL0bh$UU+7wPhB)7$9$}BfrR*Sh zlE8?Vjy=tg@BE66-C7z~)%+ZY znpFx9!gmF-BIA?Tnebn_z%Ok952$g?8qlm5v%jv^ettna>+mmlCjB(y|Ct`=y&OE; zwj?nY=-lW3(7|$oZBKli1kq*f^M~Jv?#l_U(U$K{O;b^-s~uG}uS-93wDF)e{!p?` z1tgjE$?O2}YmhOy2OD}YG4atkH8HsXyoPemzd=a$3;<f(m3?kB^HMQsgxMr3@b?5!{MrMjLHw%{!?m$;vq%jv0>V2Jf$fm#JIU5qZqHLa`W8sclfo0r&HT?~ z9J(@PQ$U9Gmu~ZGXMNvvLcE zYJ54EqEwleo)Rz!+xKmEu|FZ=2I3n$nSo7YabJuWF-d{$joxQRpS)M$4pB(Mz3XBx zUz?!KyIKk{R}Q@b>`9~!1MMTtYT?HzoE(Mee=`rzy6OJtgskvj@w6M1wEm}$@;x=L z-?jCFY9JcAwpVYK_6}=9l)=xC$$`xksEAQ9dq_2W=RZ&N_7G>e#6FOHq$hcz>K@T& z88JJiVphwy69?%4{^{-q>2Gt1;Fl);N2EMl zocdoqmRLky8&pgzxa)N)xi3PW3L@BEo zdkRf|xMr)SUyw?78W!qe7q>7h$17>Vj_V1J-lRnm6DR82B~M|a8z~#%iRGq>;FV-g z?{-xM+Sx;QyNvz2cpenJzeXIEQJy=|Vqavqio+9k15*rfcaf=l?l}B^w@Cj$FJLuTGbR^hk@an5WL(GuX~#cwE1u9+eYveo{WUsL+^E=825d2ySsK&{&>r%Pcc z+RX{4cr%4mC$hAtGkI@H79hXc{)M*vkU1*V`hRw5>$aK3@FmDrKfX~K2~Wfgq)+{8 z^e_fks6YISj;~a!VSEdpNxTXdE#ND9KRHDHYL&8x=A>4~!eX7lD)S620JchVt0g&N zmDpe7l35=J5Y4}cH!CY-G*s2&vfk3+3Kd%Z0$?aL$+< zSq=Y)3wp`ShSYDhyDGho5tjXHX zQ~3XB3je>0_#isL7k*u}s|1>$vbjBTD?;Y-BcugEj-Pl+2Ua;UFJhAWO_?Sl$829L z2*A*nQjqwBcj^L3^uWWv??2?btL+40@AEZXRAX8#IM2)l^>orlA=-G>jiX3kNd$b4GFaGHPHeAUJ3RfX~>nzn)Gl7w134{Z7 zOHNY`--U{I3F$(W8Et!=oQwG*i{vugO@Q(g(im`(>tj2-*+?FdnHF*^AqW1h)Xic` zq4du#(5kuo!R=P~gv?eu=1Q~X`V@FHg?MW=#fqe?QJ~f3$X^fNmF?`$e~*kuwjpm1 znC7d5D8OX}v*NYwPQB1193dMk^|Q=pn+kSH+M|uF(QZQUx9}dX-AktLXEOa(Gga@6 zPbJe4PV`x?5Wa*qlFoNBc^~Lk;e6hytt^w{8#c$@_>5M(8JuVZ?^wIVgKj){MO{+| zXJ=<+MSDE=k#BCi+1C`$pIx_3J~D#jLaG{&sp^D&jUB3dnbG?+W1ZmrZE-G6TUu^El1FXKr8`9 zVoutIZ_Z>|q?s!A#xJ#CyWJ~EyrK9~ zkGOkeVjbC5g-|Atk?&6Q+kB8TCo1HKE-ucrE?g(zO@l&Q7Hk)<$z;0IW=ePQMt$$s z#a+?v93&v2Ld08ji?jhC3w(qT=FGh@1YDfVVYwOmAR-HW1-O{viK;1q*3~(N8YI@UOw}0r4XS42dMz)}C zuibspJSXvW$SRK~JNI2JyK7_0+!K0%UIEhq(JRDDx-c_*ZH|J@3sE)$P<2I{Sdc^J zUmP##gsJ|%&A{GQNMdJviVz4L=lm0x?=G-7?w?|@Ymn`=M(XyA#QN;VC}v)VZ4)-( z7J`ApLejtyA?X1;^o{!9haajk72Y#;M9~8dAds^~l{s1c$l3dFuPQ-XjwkGqYmNh+ zPRSPXtrpliC2tltIn#(c&L7bu^&y#Ff5aHe#>Wu%2RTm+rzm-ahW7ra@KRm)IJwYK zR0(IgR~3v!+3hFf{#c@p?o)Len~qbz1?-a}eM!)LbI988@z{6lAAx9`c+Q$hl>;x3 z$?Z_Z#^U{Ulio_>1eL-Frv4Ywk9~RJG0}a;ISq0Wi_a|Zb5DA+2_ZPZfCc9br{Ojd z5*1QYb4n>ctspPH;yR3jR?GC%?eA!Vg5LKz&jW8q@(`O@kUPcwxF=lT=l?5lXh@gLGI*3I~bbn zb#M>WYFO=_@TJnZg@4l%V$5HFlX;)6Su`BKdJ45mGif{Nv(M3e*X_1e1}Vkmk>(hi zfISV@-9?<@j_{C>$=W9kB8})}bkG-{!J=#Y@$v*%y5BedF1Y^`e%~PYUBtwnQRbod zefnV0`)=>KnSwon-iY?pCwmf9!5(2xCJF3bZLzzBY^yAGH(~cTt)r;1crWGpVRz=d zBJl&ucF!>n?N%URJ$R!8!-t}NZ>Dyr((KU(LcLd-zk84AJPJvX>dK-bSmn zQM4zu+*(;~UWc&V3LjP65j>5`Ws=Z)St-$sc%ydzZX>gGKPN)+rjBnFtXrgyHls zTS9l5-%-}X9SjEoX3}3R?hx+aaJZ8=4=N>?lfjU^XIgIXI8u5Mh~D@xPRx$VFhdJt zzeT99yvR*lHjrm(gdDFQpS-%#eDSfJj?VCO;-M1&-3-0L!;i1)gTKmLV;?w~bb}h} z;w9@vkTlxf!vK|eys^G5Jh&IB9oNfHsxN(mxTWaZc}hADPv6)NJV&nB?A-W$a~Wc^ z`}@6@=(YF^n46tT*T!b&TpF+a48vk9lq`s<|Bkf`1>A=E3+>F~fQHBM-)( zsp0yOBxATP_-y;$&y4PoGZesrMBd&ZVD|L+NHF4<1Xg?wF*R3TCLpsz=?(ug3E&hf z&vkb+^^9;U+UnK{Rf+D%id~VTrbh1O=msB*dbE{8_wJ&`*PSuY&k9q#T@UHUA9U{P z08b#V%M8DO|BF0Q=wQ%!Kll%=d|9t)gy9pZuKNfvAEBawpyzb6}G<;dpleabAn@iu;HhnUpsrwkY zbK9)B1H9|{#9ilmYZw<6?<#6s4M!-US&Fx;=7CY|K7P+?CcDR(+VTeMVb7`|e0DBv z_O%Y%vj%BeR@cY3ZIs_=A?tbZ7&v4%k=Z!WlbCV%$YC15$?bgSZH7{Q@fUz1n z%nhooGqM@!_AFo1uCf~l{k(S#IE`=1Vkw0z=EpKqQ`1Y;I!B-iQ zA>(y-thrc*SF*F~6K+4>pIy>EyrRw5G3?EOSwDR5esyw*zO%=j?N>yMu0K;3Q1sw{ z$llJ9HaM=P+bT@qb&PELElryTIInir9b6&Y^rL?q`KMdpxtv$usoVdY!0M5vKmx

r)Yg+pH&@6X<^c|eK>-H_Z^t<;*-&^@*ykhedW>y$T zq@3~-v_GO#;7ybXS=NW$xi61Sva1Scp!Ab3v=i0j?q#OrBh#tC^X({HCk93(!Q;7; zR3-yJceroYHQ&Df2qYyye$8V8|I<_araBBAzcya?8XjZL%;wd981&8Ju7um#WJWaY zcVx2LSI_$67dRF1b)E0PFz$rxcw^R}c{4$aPu(qR4%EHyHy%Hs3j-IIpCFHg@3I~# zkKtfb+<&sWq3K^>t>fz`e9zr3&-;h@w)-~tKJaZ`{qnwte(QF0CAe$Swi%E%cdmXE zNNby1KMp2#(AJK^F0hGudyeomufFD~vjfREVItXqzIFUdSOmvyZ9<8OcRKlJb8xPQcC zR%_EILvPzJNL+aEwu3H{+w|$MZ+>`j;Rme$Y`ILk!?(_!8bC*s%I-K2pHM2;pR$Qf z4_>BjLb+TDqzEzHo;IeBls6B}`-NsvEcNK8a<~Ckf)fSI^D5C5aTlhGL0G@oRdApI zH)Pj~+b-t)@|PM?`wc;)&<0}lH_i-^gLFUtDbWXtL1~WHL`k{{;x-0XD{dyT{RP8m zsc56Sq3eU=w>VEXy$(%UQn=l1?%FXCuZY@QX!O&66mjX2`a~pOl6wj_9KRL19^Hz4 z*23Y%5yC_q|86bJNa`x7?2?>e`xzIc3%gY5T5@-Kg?jz3k1 z&MJ9H`yZr_1*!ZKPUvl~-}!{pD?3u(^niJRJ|cSQUtZt}^Ef1yr7>{szfp}vGvzsH z2t3966rk3;c078AVe6%;+;mks25To4Z7*OQ%B``O1h&R}J$K}qyN(jM9EZ{fUa2+5 zG>*=hJ813@^UG0U!H^RhEO|Z{s(CW$N0?YDJzmy|6;ZDFo)syopYXDPte*|GaNUtw z7)#6e9*_(}tmH{65NRO+?65g*$mIAFIbwq=rNZ0vE7}I;1ax`uYo4L3)9}1xn#%DG zGt=-lgigPWO+OKeI)Kzdr0Pf63Q>`N7a81eM2FLR<^@ex(CbO<(n@(BY+Hy<@JBub zd{t({r@~u^T=4DW*?k0#8np97^a9KTu*N0nd#Sum!#SWA%a4UHz|D)^n-h>AZCEp} zo0@WpFX+X3^-}6nVjljp_gG+ZuNSQ0>sT|yKGuwzi|xYv+l^}x zHgOUanCqr@^~7hL$r+Hd*ry4BKT8~hA3$oAdGX)+#Vtk44gx#%A|a2>&nJk;MxQ$? zU!1|5-G~&S!@WEo&T?~(M48FWa(=YdxpI%YmAhW4 zV?gu(Vw!c%rJDm=mmcu3G9uYpZBEwWLD7vPdB%AL!_tY-jg#f&+=kA@qlq9yL=|_| zNbw5Hb5_prHGLcyvL$(BQIE8|B^doB7@MZ6rh zR9(^MUR`D0NPQ_#5Qvzn%KReraV+?7M080(R>Z$_R?gDcV6Klu{)-|@$;jfX#Uw@I zzv&mWQ8XF1Dw#>w0L{o?7V6T=hUIYCLe`QTVyfL>%Zj~e@`Pyjwc%qXNt@xLCJFRK zAKI~W#;^gp`eF-miBFws%vpXdl%}XNB}zxcK1$cESHx-=dID(*Bw^J!O&yu)o7gV2 zhibBQmLKqjNF)t$3+MW>hR^7S7*t5x5-uPz+%#bc%m~~mygKy>GGNC4`5;{dFiY|g z0Lv!smIl50<9w(xV{HAI+C_N`G*1!hz+Y^ZRql67QO_>6&%K=Dn@e+K6N@booeia^ ztJsw*}l9D|tt+foQ`eOFb^9dB~}Y!9mp{84)5ZfKScW|=2{i4j1vwRgD6T)q}Y zY`Sm@Gq`+EGI05z{juxW@*rGVXg_-ViKPS6EghI1v}xm*#jNCH!OqOdd*Mm4M!}BB zv#xL7=r(bF>w zBtP4Kp)JWNHrAxm*K>E!d`%UR{@8T#qXJ%>mnC`s{f>6#`s#$?DMKG?!f6%(RnxZR zQVnrW1TEY><|+ot;|KyMa0$oz;j?DxFvym2d^=zKI&qqzJ`5`93p zdXj`Lw{bt-kcJZf;*Sn)o@b)M%RH+V%P|jYoao$y@iNuaNs%Of-k2v(FMHqT&QEOT zF?uh=Swp!K)sX(hu7UQ67Ie%F%2J3&uv0H`d|3WiHfh37nSB?_sNgcJr9D0r1d&W7 z?#v{sJ5FeqS{1;%a@=2)B8f$Og(ckj9XK~XwhKPxyifVh6mHnNge5yW zWq3A{|9`Nd{_qC*B2b@~V_vRSsIL}54+k2uO^8jEr7}r8sUNkem;nI8ah^S(=1us( zk(6iE`w77w?=A5UsuDXn!`X@pogzEYM_emSsv!LV=_*mCCKGyA=+CiUKPPCfbb^0O z76}skQ#;af^Yn*0abhs}KlTwg?5I*WNHh}eYnUl3f%=?!(W4M_waQdpuj3T=!YaO@ zLN@d4C--3DTE46nI+mO$sPUi$@1!Tdi$yofoa#ks-n7b0ng7kxbAbPsD>om0kna38`qJf+zx2{EAPe8wJebK5PM@%vc$YpV;VvFS zTc*PgUk7`W7{gwpi0tXnbIj`FbhL?cNFiRoZ9u?#G9NBb9J%gyNNOk<1o{?cMlsnFT7R3379h#Gh;UaXPil zobX2o^ssBCd6y;r2p39*D@`ZrR&@!Ee`72;yLNmHuK9rWLo^uqEw4Q zH$SpFA?-I$4hRIJ_vUAXFEu~sI}%AWmjaWyQrEnZJ@fKIrbkQYLY&FxxdJSy=~ex% z*+r=f7>s|XhuXW$zW4R9+=O(gGt}KuaUMC#%}l#TIx8EQVS@GIIb5-uE0H?pViV=i zEswIlLjTIm$+iYicQ}S6<_$H*R2js_3Z~;48-*$W`o3 zmMJQF_O}xI7Teh+_bPl8ANs7{4Ym-{TCRfR&Kswcc6ww?U+-4BZN;ZhU0(Lxq!1hQ5L`lkSkqhx!S%=%Z0LSh(BbO*j#>< zH%+3QL_RMWe#rW3qY)Yu<8}e;X}4T{z}nL;u6gX_lr#lA|9OM5O7wP0EZ|}d3LTpv zT9sSP$>^h8iHCO-=Mdj4OOzWUoTYQ;DBVI#21#llN_kf1Zol-Fdd_g2OGFvukw{Vr zK`MzNCLct$kq`n$xa-A%a?>Zc)x~mPF#Lskx6Y!j_rIq(^w?n2^M!VuTDdwmt;)MDuJUV z+Skoj5D-$qJY*E;pm>5Fl;tUgDV(@xG$Hd~SBgOkg9V zKFiK7r4*QVp1JEaoembm9Ug!Qf&Rt!W!eW=wD6|90%+!CF(>t2C`Y*B)eI)%9(#DODi(c834(<{R-? z3G_dFCM(<2$f_3p<3jJu#6ZUP8py;|3#E4>ZO2o1`}K77g+)E97ARPH(e0@=*`uJR zrn;Iw7h3%!^oUX;ZgGthR(Q^wK-h5a4L4?TF<@Sn&mx&apK`e*V()gdCo z5zSJm)*X30cc2mom<2a`EyF9uN}VcrbSN1jN6A5Rvh+b}))-zyc`Xe{++LLPMQiDm6`LK$;Sa z5dLBCZbu)_K76{Q0GT0?O&L4_~S+ZDI9~0B*&FcGJ`R_qbXL8j>lMb_lq`q^_s8f1Q9KgX+|VdCeq42%CJ`5+bCE*Yx1?3Mxq zg~yB)Tn?7k>|)-{twXi>W(6&Iu@wG?M@tU}nK`yz?6nz$K$dlIRe$iM_S>5L zk-hQhf<^uD$);;Osh>Zt)XuJ`6h7MYfZ6n{Bp!lqq8T{y_OFb|A$Yum0?9$MGF#-u zXNl)SUTSrw_y3x3pZ@&p-v0fu=>c=y;oGZO->3X7hm^PJ#Q*w|@)wWl4Uf|fDR0w> z|Mio@j#r~03x15`x&@84%z#7Y%J*d|WIbIMD}zn=Jb84QWPZ-vA>1h1*b^Ds6DeSg zaphoYHRfQNIh*w8dO47gsIIE1qkQaO~Rq{z<{xxRtZG>ROEEaKZ z*{RxoNgL{PxkW}U$Kapa;%pLUTL=eS-OgCW!maKY!7{C>mNMM*ghJ=`%*Pr&!uiT2Ab-z%m9s%C z(t6bW3f^}LlKT}d7VR-dDk@@;5y}dHBI#%1tg=NJD-EL>5 zuooS2=TPbI6=Ar%X1VzKy2Nn71bHVn2Xp|V@R>y$fiFQ*t6RJFTJXy37QN%WF}(;t zm|@rp;M>|+(&!6gnnngJIyz)V!G~z=`mDuYLF!p1SaS=30Ai8XbnfJjv+}wkLIm@3 zAwSEmDmv(_+>Z0EZ^_@d_RiPp+cL3a{UWfnExV+ZnUDdFRe+qLhhM-e5XYb-vdd{` zU^0@&+9}}Vrc(g|Cx^%*T6e+_@xQ(?U`HFHzU{fx>dA`%k4di9)h@D}UG@>bLiCP1w4A3b;Eo9QETSXv~VwRivfH%>_gyK%!8v>lTDm;5`gyguKUF+4i4Jx8CsIcCs?l~|#(!8( zM?v>sa*S3{W&WebuKqhIV?p-o%{vN3%6Z1c6LDo0>Gh|oixBr+%dTbO7CLG#{|w`YKF0)YLm~651qJuNo~ljD-tr)sMecX2N}y@oS@sy8;$_cQ%@&P9<=kvU z6$s7&b=I>-&tw=6j0(7 z=3+(RsPW&ipVV;X@pZ{jI)b}Bo!&Ps+cw&KKTEm`6I#SA$j{H695M?ZRUWp|EY%8d zP>8kMNU*qrHonvb4EXcf% zL_b-On)R`j&kK1Gv(I>fOE`j^965iB4+Jz1ruTcD8MM(vu)zX&{D_DaMS$$lXTP@F?3`49Wn{M&yO}eU_MvkaR@&z_Dop% zAfMY9E{EK_AFhr4zMdZ7uzpgF6n5V>OCLp!Lx4+M3f!nB5`S6!Ffqz|%gly!xbI?b z59q!^UqFTrp4BsQ@?2fg)H)`XDtMBo(+inmOLA_ZxMto)+lj z!nr>E;-tUaTG$nB{(``;W73?3eW($KInDfWQL6Ywvm(f$acHSBe@cHmRj5l9@zT7e z!)j%Ozl-gQNA0iShCD}%^zI;4By1EyvRAo0hZ!mKPG-Peh32=T>{Wj zQ74I4TjZsB!E_G@-_F?4k8!ZZGXHeR=HE0OGl}{(hNIZLFcx~gr7)Rneev$6MpZ09ZmvIG3I5L zo$%96_n_|7f6RB8@LeG@Zk&8&c{zHsaH)%HFamoed_n)9G$s~tw5osd7zr%xxPWz`$koMDUt6MJ<;H|sV7IHZJDpdR$5E$BuJiU{6T z?Kd6WhhmmW`31AUDvLLFCf^op`bU3kTJ2$z-1&I$S1DY2HPun?*Xu7w-iaka4->zg z4Afd-{5^KJ^qX(ku1J*ikdpO)`2}?XvVJ^hukqLBB5rj%3cG9V^+w*N?l*b1ve#wB z5F?{H5E5OVSD$Zh;Q_fxr`%j-8%UEj?Xg$C0IIk6g8f(cQ_R`fen+M@H%essBl5V~ zf>>lE%D}-UERlIPplh3Uka!m=<`sTzx!fk_*6w2Sxh$TW)*zCK?h!0!$kI#`Zh_tPuBc4AXy3SwpP9KUc z$Ix-phJWF#oOY~_2ab!=jvc@QNB(KYW{>j^=a#bK9g!Vu>?1gY`dR^)ubFr)zO7Of z<%f^+A9rc-mdI!El4s~HCp9=`L$BGtb$(%mon^n0ZlaR!Ngep#c3Yymq^muCs$4Xs z?jz}HzwXI-_LyhJU3VPuB(FQ>$2<^J^15Sw!b7$^Jj;XJqek<8hCrMY4_-9I_epf^ zGpU%L&dU6Y#^o26LT5gsXZE^^F~UtJN2qe#{ZMezv#jx(GykJ&7$qi`K{Fs>xC6^{ zeo!g@N}~}4M5E=2PJ82P$ZY0;lKTmK`=bYZ;Zkl#{`rX2csJfMq229=Q>}QqkhJr z`y2|S6ouGQr#f^6)~yZyKcE;_I7V_m&;>bgsO8^C%Se8HTVur*Coq(y<}YeMWx02BA^oMzZ>}34 zc#Rg;+G-&7mWyzVdF3t{ThMLl+A?EQ%jgpEP1C8sz$vn;a1Z{bwb!{H`abO1kzJdI z{P`U)L41B%z+#Edv2y(JQkdJEO4^Ioj(QVK<{sZ=xVepbvuN#5@|1L3*>rHkkjGA30ooSytsVpKUkLmYO?uII}H2r!s z`yE{~-&SKmk%bJ$|NCLBSj1KKmDQ^cVo$4Isg^Z9D8XTMN{Thss#Ffi=!F*5M_OBp!mb^MRBf} zzQT`q<~u8OFe+X?Enb=zzao#X*VwO&`RG`-J2*D=Ot28!lzU>;+(G6@`wf2J4lgdt?{!a*sh%!kSg-UD^H-y# z#Ym?}SLNE5bt=3y{EB^(bt$*9mi<_lMeIDeh%lM!X4*W$JY{R@-*Y@?UA;R}mn zlg~sU8}|!;kOj7~?w;8z+z2C&`JxA4m0H}|RZdiV<73CU72BL&w`L#f{JP>b^qvs! z_yWQ$SaoS51VvPd6}!6%&PDKmpsSmmAUlYyh4aX|?6RH1whC8Uv5E9-kp7)4UkiWa z4CXJI1*#)DY~_Zc`74VWeOtL2NgQ1zhE=b(*xS*0e@#%*$bjpnhW zBRjyuYv_t?ujG87@(*RC=@Rq~U7mEQBRgNa)RbMlZ5VuUTdGStrAuwnrRomXf1Y;f zt#p^N@&13Lk^8SCwgeq(hud&xuJB_s#>k`lxp($f^xvW>tZq%-Lja~Srtsi0ox*Z+ zs_V^Vc%;l@pm;<0#BvD_a^?tKw+)S|p^u!9JRST!t(=s#9Ue8(6xL!HK~jXC7W$ga(YlS-sE8yT+K#iPZsi3oDmoGeY^l_9L?Hkexkx|q} zGgoOY`n9feA$XH*kC6?)L0y6a5n5g0rCESCYy|Dh{|?ND7eKhn4A*y-Nj22)f(7Qcr8CZLuK|NJ)+$5OEp0Ic3+z|OCG69ArtEd75V04@Jd1OU{6 z0DxM8SF-e<2mqSshF~Jb2Ig&s{PfvRFymmC3q>1YL4UhX&OV1YeD~g;bIZ-2>OF$- znSIc$xj@X-ur_M^mB)JsF~G$fL4pydOOF`5+@NLq?sKXAD__>r9r+S6_8p42TPrzN z%r=u=&?;?sIJ67w67h>KDDH9|lDMKMZ@ClU_`Z2=m7U}~Y^;mBYfp{`?{C^QfP2#7 zx%h4)eO}8g=d;a~-;?b)D2t`SaFQwsEdG}6Htli$MW<6Xrg}P z$^IuWljWL%JXl|jpgU2w-LT~V+ndxW0*8B~zw2Uy-1jW?yCy~bl=NW%#MUgID2!H~_^ak$}C{%G@nXj6AFHsG5I%i0TDXp!b= z4T{&<)xEG?n#0q@VN~AF#OC7l?4@q8$G@PE`s2&-(Ves7KX&VNAvy{#Kt`p)@zX;XH z;jPO2;7Qr|bC@%q=npmwUW09XCCuP>68O4d+J(MN+NXXpA`gGXJ|k~pNp9o{YH?N$ zTef}a-w!T5I5#qJ>Hcp`$iZhM5#_=Ux|B*u#b;?uWIHa=PEX;~kICyrYYVq(t)fOtKCh2rL}2g27BHvQZ%JU%GjKgihDW<6hfmk%NdBtvK!4KpF<+s%BRQhJK<7Li&eLRJZ@%Yem?aNV zfwvx{Sq{STeV0^oy`D z%G~6+MS3tAuk}*n8TO&doMIoad(N{@$oU^vt~_I9PPL!)Lgoy-z4Q0EEYkOWs>9R! ztWu8wvp)40G^_0+C-Exkzdj{-wDo52QPd$hvC7=|r9Q5^jtz=k8I0~9v1rb0e4kCp zqe3h7s3&5KD%`&@5#kE1nX}Vp!yl0V0}nuF#;(jm+Eo%ecDClcJ1}QXPpgV~BBjZD zs%D3owu%%B)G zg-q-7sku82s%ZO2q05y2%N6YIW4fdO@W#)5+_|#uIk8}%-5JS_-RYl0FtW%ASa@ z==4go5a(`E;0c=QI6VXTY~!knq!`VRCn-B|2^r^myEX0{s7IkEshpvj%uW8_{5uU zrrQ|{V#_Qh+UQ7MkY12#ge=K?aF?av8{(uKFr9L2>5cEgUom!-mm&89 z`JNpvy~Burj(~i*7Ww|NE!DZADs#s#`ygMD?Nfi`d$7$Lz1P29$VVT0;h(qO&XToe z3T*Qp@>MD&O(S1(i;n(K#$3$_kQ8=lL#h=k@O5ykVZphmeP+v>U1DBNsxht zo+YDn*(M(0L+W7X{T6mL^tc}^{!s1%`Pz>Z9@u)8V8k@Xz7=j*aFdoM$ZhdKXKI&t z3bHE=*8vKxoy6=1%skyXWQZ?tovGybsM(w2$oG=RuezJI1+6?s?rd}J4hvVt%936s zh6BkDQt;IM3-=`UubkMRt}!k?2FRY-ig;d!o`sLMa%hj|4kaWYr}npobI#+CMbr@% zBXJCG~dbbrI{O>y7-eGUk zhrLo7c}KA8mLO7zwqg66mDPKPqcdfQm%;!@4<(H_d%m}aeUR=pr;}jUjWQ~U>$pd& zg36a-EMtd5U7IDiy3{x9E$z7`+hWaq`W^Ij*?u>3nukePoa;P-q)Ue>)df}Dr^9)B z*cSK7e0O>t>#5&yqR)IGul}<6>Nw1NAz%5w&KJTbfktY8|8>4P{(sI_@3wl+m(F9q z`KoOnj^->qUs+wZ$(ZF6i5#jH72oIQEW0KxIn2_#@X!q5Ja>6LL$s4b3x>8P;%vg z6kLd;FIX-`*nM=c{Xs)y;KPC@=f8tS7Dfs*-h$4N#lBUS3yvP?E(`7`aBh^f-sIaS zi^)P0ivhdV`vNpi0h-?zpqlr;0+g+1Do#NM7;wHwoB-38o%`)*~~s0J%%iTRRPyc6|xG zwRkN;madzKxYHl6bGmKA-Vne>bwEwCf+Y3BIF!RW|1yAn(6+9M!GTV{erYxdb9FqO0T}X`3w==b| z+^$<>tf~FTg4)h%Ua$QK^A|Q8JFU6yc5gp|x>dJ(`_VW_wjfIFN4Den{r98ssr|@S zm)~zcy4amQfwSI!+mEng$Z2?g@i5whGeog>z&~#&>iUI6oe8;bOAJggRT6)_>RjR= zk8&#zjCb$^y{OoURHh_X_FKfqFbK?`k!>;3F}#}4#5;$hUnmW73j;Dk_Xcbo0AzM5*YLu zq)dAd?r1lnJhuy%xAmfi%IgQf%z2JWFtMuQ1iyTT@R3L+fZ_Ym{eI`ZU-QAc50#w* zvkw}?*yS{taa1d`=C+`L5-@H>nk%rAH-#h?odU`ZKq;f&=^LzSllJUVzo<9ZYH&Og zQ87KuE)7I0cA@2C#OMj&sdbotNR{`iO5BX#X5?_d>I}6M`K|?fh|SvWRGwjS?go=4K#a%s5n754LoicZ9nr&Q+ey=rF@n3s#K)@!BKr3ZPM65->X3YkeQi6d zANw%`TGZp~X!>{ns*I3{l8!H9LJG0YB~pnFi-9w{JLoG*ZAX@y4e*;#2m9mK_PDjJ znE7bmxW4yIR#^2Wfl@`=3J(ee4+`LPf$h`DddD%^3;4R}RjguLPxvDL>`MGukgOUp zk{_QxTe;APi$14vzf(V(iI5Vx6QXN#Y>AxNm2=E{2l|!pUj(g-6T^pQh&lXlF$ELD z`6CC`-uO&EMPgEJzI&UT3{~F!+LPWH9M-cIYp54e@8MCztNorP>WRDD)XmjWLbdEM z1n$9#Iu0W0sBdvQB0=OY)J+1_>(Rf3TellFE@;ZW9E*f@^)hsKn9dbaF^ARg^WuG1 zkrTt_s5=nmwjF=u0xqnL6!o0TmfUk81_*ef-eRN2B#WZ^0+D0;BptA^XOhRx?m0Kq ztH^m)GHOXvmC4l>A-{USDhrD8sLK57aqS1X0IreI<-}+-SDMKD) z;un4$c;#FQ1f7U!6*&2^FvH5!Zu`CEfvy7L_G@@;t0oNXoMRk)7iun{vd&(pCjp~HcVHYEd0Bj7%}cDJ*(Tbc%M}Sd zn&+bT6XOT7@m4TX&hpkl6k=3mx$*qt(5Yk6wa%ILu3OzWS?ssCN2$6s9@!m-Z>(jL z*)%6qUOC%bioO+@Cj3u5o(s=X2SFlWlteLI67*4B%Nf2<%??_3cg!)_+P;ny)a^m9 zT-!b>GLGwmk&@QzC0CXCuwMGe#5l{Z5@=Mky8F11Y3``xxvBjI)rVK)FIwaUEh6@h z%SZJpqI#2U=41w`m=G)3gpCnQet=*R8)C-+}EAy3@xxShQHjd_C zfpELwZs`fV#VW>G-powEUBO-?3edQv`XayB3v=^F@1mEdiaN_*Br|nmVN=}VJS-YK z*|+wL8qyTu+6t*}g}b$IT{gx^0xWkA0sB%mg0CT)AEB#DjXR4)(QUt0BgMQEyy{3&60mMe3j-6zR#9~cCo6!QDhIo#pytI7Xj zH2RSab7#bZiL-pAmJrp~@?B(R*@-`onPqcKEZObUx9~l&T=G@#6u>2UxBYgT3ipYL zVD-+#c0Rh*yRtDc75_ZBs>YroDc0szbhb8E2;z;uL?d-O1 z*v>XdXQSka`2@NPd6HYAE(>5NLS&FgNAjqp2NusSxU{&{sXvueJO+j>JuqT^V(Eb+ z=O2kc>-Slw@%7mQckPVU=7Hc(lgY!+O7r5p-gx~BnUmUfBK23~72~nt%xsD7$AzwC z?jY12yDH7uf^~L5K1|*!^M{+24kiXlzcLdCw5JZ0;0qc#&<1hsJ#iPLnst^JP*2?w z|A4;GJ|>evg3Uwf8{K`2&%w%)C@<{4+lwNY)ZT%AemS%H3Vylz@FsbxkGDC z+ca+>)^BH2>@HsCHuv60ocms;aN;?E#?YEe=so_-shWidEk8=S2em8)>|&D7(kt1O z!2*HVON-M$5gonY!NlT4ZHZ};U3WRF`W&bS~~GbH@U6e zdK9*?f1X`4M7uM`)}DA%(%CV!E{Wr`9>(Fs5I!m{S}43p5-adK+v9%VVzbJT$3NSA z_eKR9`r&=zm4g+_A8)tQC2(qSeZu%mP)Ww?AY)dtPPSzYek%`DlYCM)>i3f?u#hcl zPh28H(x$N_BUjzY_*c*650n4{3cowPpm|zBfZa38-2NS));-91XbW%f9NcG`N?$7J zpM%Fj!hWO4sP?+HbT&0c^4&!R!T28*FbvEvq_zdrZ+=LwFn zsxNHVxP*&m>(&b>GCV2p3BfGGhQ=#$_5Q$`rDO=1o2Ci9>vx+{`uwB%KnlW>Z6Z6a zoUQg}oBe5%pVxtg0BhNIKmr6O@#w;88flfljU({OMJ=~ zO=iFv^xv36MtcTpR8VJTD(ud^eR%z~1t*52SY3VW(cq z`a4UW`!I596^)mhD|e=owv#ly+yqmVME;n});#;wc7tl2`ahA!{m=_U5wC9aA`@2; z4_A-Ac(}p%lrKwRT|v>laWGra`?ipg%QZ$H}4$n7`a3i&8kAWqLX7y7K|i zlH!tf=V6JMH8&?-@*Hf!Cg7h?7)fPvcT0A4JGV!zSm9getZcG5Zu~So7?Co?Ya6S~ zq)g}QfS*Jos50F;Mg_<&{n!{Xxv3HCE^Oiuy=o*0tIy((Gpz~b*IsUwJ6=c!Tt%Vh7M_ff}czlD%xqIOVoKtBRz(c8hI1w%_yN&CqdtR9ij9*P4(J8U)x8B zYR3x2LQ+%w_G*UI!K`a*cf7`QI4Bx7nd^wh3 z7ph_NmeY?1S5;u#V9=tsJ#WB)I)9vX- zR(g*Ym>295MvFh;>H74M+AEK|g}KkbU%a4KMZQsxv-%GHK&GsXQIAfwOd;+pw?~oK5#<%0*3xgAjN%V39so&YogMsM84d=~SBfdj*U9-0MaM)4faMJN;9`OR5i< zmTvV!RyR_q{>d+?zVQ_gGb_!hUs8Rq^(4YP#21$u7kY$@1K8I%D@PPHE| z2NByun5V~;=J^$eZ}x(GrB_tI>vyAq6=NAG5sfN<#0O7aw{=<=;CawtN^NcQewf=$ zcOx4xDP6mC#z0^4HErS>$!G0y=rvvo&>8{geC{Zr_X^PS0ca_QLxz94T#f`|X_Q#` ziMI=a--|d{&MEk#F1Sr+9;0C!(mp+a(%&lJiRWNT7Bv!dn=J&sfYEq8>9ao7z9|s9 zUgOXIft)q6uHgH$38h92@^#9^^7YrLui<&l%8Akc!`!>aM^#;Y<1@)5nZUpqBq|_6 zxLApx62(FwNCHVfBr+kApb|>0#VKBja0XBb49*PXI1Ez7R_p!J*0w%Rv1$ltNdlPR zri6Hj&Y2|Q^FF_S-p`9p&N*w}_g;JLwbx#It@wj#iZ6bf zC)N8fY{$%X&jyh#6_1*cZgKy$h?2?r66MQv)7&i;^UOGv?ir5~`Mk1u||I>Z;h z#WRxgy#s%zs{^8g(Q#o*9JS#lMQ`NL@%Z~&szDO&Lvo+HrBdi%k@HXP4G=X@pZL$+ zb5T8!!CmCk?+J63$k7u0d#Bzp@t^1yG)Z9QmKa7+gaKl7Q+wd3NVCe$1)_8+V*?jV zWh6R1v3`IkficrpESE@j^I&4%h;4%Z8Zbdv#c0g1YrcF;<~7bu)}dGq8gN~(I?dPC zV@bO5O1<((PegtzglfS!_)P==z%$QId)Mu%0^7bg#Wss;Kn42_eP82 zUw|CQ-8rcpiy7Eh@P1J7-w!x!d4?uijXpiizO-a%_i|~!x=?BVhw|u9+sv1`Ejp)T zmd*=g`9Icw1G1p{6AgcYcRS2%l8j6iBXQv5WUWCWfwGFc8%3~3hU= zJqn|LuQ&b4`==AvhYAmqd4Xk&+y)3!f{ycb7*t(=Kxi}!dhMY>8t|!P(GN?Dbu_2m zrO?V|($R!JN2%joE&}{Qyx@vZ#i{5eW*?V}`DV~v*kg=f9d4qLi=n)9s$STXE#A4l zVNO?>a2?e*1nTV+=4(+BVWZ5j8_UI|W|l9`A6q8+7-62@MKh_|X$C;;h3H4s87V>) z%`R-^dP=SEP-SbWxRc+RF2MwuK|i2xZNSy*k)n04-Uo{R3`+D?wvP2&2KaZ}WMTl` z=YwvegG)s>Bfa83gcOLo!-%W+-voq|#I$;EeWUkmw}qMX_Ja3p$`YIHuTdv`)#6K8 z{Rv{)c53xi#ivR|H7kpAUH>HWRE<2oE%V9x>V%h=8rq zT|DY0*anOHScMwKRsDx49tH`w_2eL7Bw@cn{G9_pH&n8Og58zED^wKtivJcwVUz`P z@x5MbG)5o2=s!5{f#_2m`4jS(gU$TZUrI9EKwIDte;{{HZ_Lusx!2H1a2?d&Gk1Wp z{FuEk@?-uM?CGVfAFcMq#e_03%g9X4s6kuf#CDd6Pv+`mpENE{LIgw>F5vz0B6Jue zkR5naLQCWPD3cV3V6WSueX{b4_zDv2IZ1isUOIFL&}A|B%Gs95zL^wU+s7q-xKLP# z#TlD?Z_YK~FzZ{CbhuU*r?)26IA7}H+?4lX9~L1Mw{Z8&guT9HM8Zgq06mZkYe>ja z@jHR8k;S0@NNmJB_AtkU1;mjkJ6zb3`9dF=PVs-rkb{@t5xuTMnhjp zXivGg*`+t;K|l9L^f~E}DpO9rj{C{3^G$G-P<*HPHeXg0dkvazz+aeb!E}3t^(nee zH)B3SV1zi(?A~p!_UebHue6HpxaqwGjee zGIWH@oY>FFtmF~9bIyhN=MmU3f-j#x7Is-@Q*ZOKX{<=nbQTx|6aucQ$>kpT=RQu9 zfas^=Wci#ACT9be=-?NkZ-{>UbyTJEPQ_n9aNMD8OI98mgLgi>+)1H;1o{Aidv=cv zz>_ajLwhd->jwoxGa#A5!x;jRVX*}IP8l#blVrAjwUZoVLxbDl2?sq}S z6Z50bNTAk~)uvvO^%*q(LXK;F^-aV&Tr0z5zNGK4zRt+^HDdQhBo>B_`~&(3_W*JA zvYQ?-2vEkIo^0q8&E19rMp5 zdpp;biVe3ja*(?;Oo?UChhhNDvir1f)@Kd2kwB1xvN1G2B;w z5Z*|9GKluw7MVOd4x6V##8g??ep-X|FsgeH9ry>X9Zj@Lu{rNvE9nD%{u=CZ;PTof9M=xg9x8#wwuj=O zB?o=&J(qM}_fAS4@avUR3oij@+-G7UZ1I=TuR+7SV=YSIE*3t)oQXGQxUzn$b>Ep! zX3UR6p@VISvs`UxF4cxE`}Um-`?qVjZaHCP&BK_{awCq@2MkH4(ctx&&L2YXY*hS1 ziF+CL-Y)TnI$~bP{C0=-vwbcHjIvi|C;^(ZbU(MyKINwD{d{yK2`-k)oR1Yhc^ksP zs^&T7%^j1cZBqw<6AHPkq{B; zMc~Ui=Ia>&Fj2<)J3%kOQsXQW`5l3nGF?%*%l^ZqO9;uWO0vli ztdarRtwE!89xnCYMW*7;YA2y6n^hQFJk?r>KI)^L)Xu)<^b7#hV3*fy+=%pCjIFn` z-0Uc>;Cj}()e)oP{2WT=X-QWZxB(>-qUB_jlD($j1Zd&K&^coM2jl4-bB(7*q!*YW z0;b~$yAq*%jCPYQAlH{jtcEjV(G1^i8@H(l(Q-aed_M!3g-#I&W+-3*`~A)_|`gpYyh&ud-?>0KT@Xp@yUQK@lKP zzD5acIfA}+T4E1BebuG(1y)-)E-UuH6;6XL%lbKc##hfbb4Eg5+EI4k|HQ; z2)k(eM%TeL*xx;v^#KmDVM+%I(C5z_ux<;%USVZ3ly+A4Mr~)%P17B41d?5Yqs9Z2 z->dchr=Rlpd-e}KpL)*%iMIM@#ytDIXRlV@=Y3?~#qSYW1c?IEz@7Z8R3$D%irQx^;9?)$Gy9zR6BoghQui z_|C@F`*ZfG_eB?x?X)^ZvuKOE>f!d`46iTsy_FIU+~8JEj&tZA9~}?g@?T7Gu4CiSxW)C zl`@#*;zW|3TV;0C^a7aGwrrtGVCIyH5KW4=`wwLQ) ziCq`220@25U1(!dnnNe>{PU8H^2z;@=Hm@L^lHa1CBS z8LQ;OFCSidKrwQ<&3EE5Z7VMBr0-G!&vH!N8^|*|0;Dq$ z`EUHuW6An{RBhJxafIOrz9reWEa0`M_tD*bt;yDsJ7@8m^Ji0T5f&KJCh#}&mlB}K z1kBQ!q(r`D6!tL`_O2P0>pKd0yw41IS%&D##*?twrS>fo%eY~-$r!-^-IwF74Nl!* zYQ?u*{V|2=h;M!L*{QRdkfGB~<&WFVwvibhFwrm)_2qKjpkaY3?!03xN1)(9EL!ug zMINQ1jiuSt;CstTML%;7JZG}Z>?xTUG*s)Uz@29F@er?ties*lQZed19x&vA+p_7P){DviU)ta@>)GE^Rla ze*T?Hu|srf@K=Byl+tH%y3jJd4jtjSiN#Rfvs)K_DHq{(t9n?eo?*q6(c^VBXl8t6 zyO(0V=Q}bGW|nKfK*m>|CD6iu`o5TuzONSh3`_JG$}~2<1@B7W5&YG&OJ2A}sa|N+ z&iKC4vx|E<4lS)HC`miuJz97Au(A^Rl=1o_4rSvZ-|-3c$5YcklV!DA?8x(xi3mn{ z+P?G?wa~M*tUMowbth%@K)|^XE8F8A6QC~uk#zi_8nun5T{48S-m~8;PlP!lEkECZ ziPvk03yH_^b>Uj>;gH*tw9oZg!i_yuJK3!E-vIC(Nvl6{5m(!h{((_#Fm=i!K?EDs zi#t)hhbaD66Y9T8rQSQ2ezMkv8fyC@WeAX5ua3_+50KWk!0DY`vE))-q9IX)vv6hY zNhGT3MuPs8XX9yDgs!QfaX@fXZ&%W?BifF7k?N?cO7b3=;N9u1nrh`pdMc;~ESawD zUHO%z4a0@fVMNc;glklPt)UJ^RxcWZxa{|omBZ0emBe`to#60RO|%->CUFAFR%UZH z&P|;|Lqn~j3$LUJXZHA-NjyIF;vz>(X6ewg?2x@#Ybmzl?2(L*Kss&@jQs%wA-+0? zZvJ_GDw$}z6W#)_pb`t4q&x?EWGp1r`?uyh5U39POxb+9$e+UN3nu1Z;#Wa4abKuT zy_U2Pil`|TZGnvkVoqn5y505rd(w{^B&eqLS$EOQ_v~;W6)oc2J1IM$C3=0xh)r;T z&E5ERAF|yhzI>4A6H%&rn0CV=+23RaD7#|^80kSHDji9*8HBt5n+seYO!f>C#W=-< z?($aX;k}F|kVw#wm#G=Z3Rexa6E3kzh8gX;Tb@>T7XxJNJ5*XP5AoIhRJgk zlf*K<$S&UW@Q9$ys?}&W!)li@jJE7cZG5$N9lAgXlpy0;LRSdRJFUj+)=g&Xb@pIy zUu%Eu)}ap8zqSp9-ZJ{|7;Q)(jH3;SILTwuAB`ck94w{3%%svFHT7&ZgemT9=r!N)v$CG({O^0S780Dvz%atBzb&R#+H%5d4P06CC>Baxr!Gy` zlv`lTpU>714@=HFp+fi)TiJqthLziC<}feQnOOWoMvv|bCi4j!jO41~_dAzyvn-=yJ8LvQB!eDF z&ggVL$8lS#iLAljm+Wz9u{I-wQt9z4BD*EPIIku{5B@34J13EP)_A$e6K>gxagdUeSdIjE;#G#xWc(L$K>R1n9KhYtaamNQ z{C&%97Koh#zl933G{kycFl|vbkF}_Hl|o-_JOvO~OGel_xxx z>k=6>_72~}ILDn?N~KmVzhiWvux1;_AE(0|{zaxQNRw6&W%h`nF6NeLjH-{HBjD^SpLA)JTU7 zCaCP?)c3`Y7gMEZYlkIGm;XR^px?)EUws4ng*|XlJ58kyQ9I^elZ#j#)^qm;d=t@} zHUuo!_6zwdr4xFm#nV$n?jyfa8ebTmh$GWbg|jq1+I_ANMEJkQ{7ZHXt|2a&RD>2elZxul`@2bftOfQW>^mbzn~Ar4WbRsEL;iM`G6#F4a*(}&5YuR2LGA5v)!Tg zjd6(Hh?Bcq4$?hq4i>T193%w>=s{K_-Ocfx`hdj5JD?Y+742yZnO{eg(fiBo94*Ih zjf`#%yFnj@!hQ!-*7d_{Z1h~>4Y`R8-Ta>|=s=6_Y`gME4-f_FXrk{pd~9}!!&}bF zUXko|vhG2N67L|(vnPE=DvVU=3h)Mk! zYq)8s@n~>1oEGcul;IRaNIDQINb{L?V0FZIFJvwr$mO}KHAS2Te zAeRAsy-ag(q(t7J&nyp{3Cae7Z${R*sj25Jus^`xuub^ zzGxcQBi!T|E0)hcL+TB`B_9^xyR0fPU!F^9V*C3*236CD2TrqV+)P}s`h`h2Zo!fc zbHvz4^L;mm7y}q1w)!)eA3>9sUZNc|C`IbEUchrcU(_=~M}@VS{I#$W7ynz*{%Ie!6~kY>Un#)F ztX3`&$04wIFP`qly`zO?{&Dr@Fg9tpJNM#9@Vk?#pGNz(rPW81A)FB|aTZ`Xe3_&g z$4=PaW*DKSgZP#)Oev!mX>DAPOL&-u@GNq45{e|~jSJ#ReZ0b~EuxRtJE#iNjth<# z9j0KsX4$~?+$cW4NDz_}$4e{JPmNiru-z@kY_c(Cv*0zuLH&t8Nsu)-DdQC063W4J z;gq+J$OTw7{%1H%h4SIw@43KOmJ9#oKORe>8^(AJ#qCDAa}Lt&vCj}!j3u0hc#vp0zZTUio?q@O*gc&;wAy>hMq7 z6}rV5*tz^tZ|-P|XCOKlXA1Gq;&^CkT>T=N0{?2oB4>>yx25ao_m?OD^9+7(!BHXHJ%LODgr%sQMP%Nq;am>hiTuPzU+i zS9pq~G_2niT-&xpdv5{DZiza!(2hNt!Z%G%e`t^RcX=)k*`Twv^b+!{an6NvA7Nvu z)riP+OejbZF^i!V@sAgoB5i`7%C!n7OnEh3qGJ5vm z-tFlK$xF+`R+)~jgiMfD^4CbI)jDsJ8s~Vrw;_v z?6Xtj!8DS3S{uMiB5QVBUM9YiahRT7hyzK`PhYE>`UuB~zr{SuK3pa?@VaE1LZ;8g z5<^iY{w0?xEj$SyG8}SaQlvW-QIXT&|p)D7GdO=4{#cxOM z%ErQjaB4Bn*9M;D4CZsWSj5o@JuZeg1xc<;B>9kIl*kx569gI;cpq>$Do7MuF7`az zq10;=S-gy>ol5;3=lLIw-l5cYpEoP|TaIzqh@k}LP;t2N4g+sNXD~IH4!)96a2Y7_W|$S|ZT6L;}?fr6B^P5_|wimBh9c?N$Jq9RwM~o+X{GfSoRg6Q14m)tAdRoe} zW2dDYq~)^#T2wGZw?jK)l5EufA!{JM{1Wf7i=VZ42H?BV~xHpW`*U6k~MsF6Kjg zaNq5*13h81P6^DzDoUtPj~PvaQgIM|&|!xI17=P`+)_sJSF`mlTrm!f`UL9_I+F1& zkzLiLBs#i`d1l35h7UcHXc}G+A3cu+#@&&@)9Dl6Hzh%@zM~HI3c~QAKL4PV_<&su zHfo?0G?4sU?y^At$rT68<owaaP@)U%Jxa@H{FT~~iRSvwQ`xv!0QwYC+W5t3!^S0k~H8Q-Xb4@2iMt7d&Zn)$6GZ*@~rDE)z2EkhUS0sZ86Vlr?+86Zfz?S_I87HSf2?dC# zd3HcfFo=P$sNGQb7KAQx@9BB9Ow{~dALVASNtZpX51ryKLQ)J=v$+!806>|DaC91N ztVC}i$!k2oOrpqrWtj*YF_b_O05D-l(!nRv$(>!}Z%dO=u(Nl-vaG?>7lPeB}X1*%L0>@69WOoA6lc}z^5VGDSb|pft zKnO=CD;1*tYJ*BXMi(wPHg%AAEfH`E?Loj>Ql#*h8K8Ya?Qb&a@0*hTCZgVDMh(!R zW~g{ORTW!)u2bqMsx8YO$OJ_kwsYyy%O2L=x@|6XnxmXM=GocwVQ0QH?r9XcIBZFL zH;EDQJ3>n{I_+!jc^=w7(2jwIkBoeQ;u$@)`Fp*m)V_(nczcA=7i)ik=+HOHbdL=8 z!6rO9iz`qn9+!tWrQ&JsP@8Z2+>V4z7Xs<{Uo!&oAEH?XJ%FKM;#BK$_OU)bPc9`u zvQ%2y>E40%(G1a3A`Y-`E$M)fRUleoNdO#!9=;-5M~&Hm4F+lRi|BWHb6}PWNy^2p zIgE2T+bS1>jyLlc?A(NA)_`)Cg(_bw7aNTujou%0zdF8nl(0^b}ObL za@X3@W1e2f>2Ew>xHc7mM-B9@+Re8j6RZCkiho)iS|*yf`8>x-Fv8WwMJ~z^sYpSe zw7Q$ci(D4i9+wE*z@5s9y6m>xU-#e$8o57XIo6gGgeT`^AzgSf$pb8;6<(eRG}TDP z;(vtV;QG_zT;j&9sIS%-Ek#x1<(zB80T5+&8zP1$7f=?74AHT1Gef;) zQ6ZO6wuOSRwoKe0O-h!DY5c-%Jq*%DN|epwFFdJiFnR^df@)YOLR8Pw934Q0vY-)* z_cF24h=nm%LJgFLi8q3V#}&9Jqr_GeRj{@CkAJN%V{6SC9?)+q_tVUd& zgBqhjAV$$r)S{o!xAa7PB9g%2tZyjla^65N^_Z;7r&O0FuFHOS22N&E*Rc}qfLJF> zAj7Z2m_CDiBgQd(>Eee@ug&u==X{$OhPnVlm<9iFxKlvK$qYBvyP-U;ivI~}2O(X6 zcnrv4g4Y8rpQ;;&{WMEOFxn8(WD-e$(y+8A21+nOm%!9g_<^r*!Z6=i1{nS>cEm zRU*$HW8fV80#$hu^`xpCmcpRZDwybwvKqZAOHh>wdR5XgXQ%9iX(Zf~vBQ05qACXx zRe9ofT$NBRp&)q=2qppX~oS6*cvRwLnRxign0crSeoN3PRLs$h!{Lvbn-I-vVx`zoyq!dg;{gLDn zu%be1r;FCX-b-_e3?Pbv0My?SO>9apm@r(}gjg0*8=5BDi7V8& z$o(OJk*`p~1#^}4iGLKtf)k5>6s9adl}RE)Ih}+-b+GktbH5GtQoSUQxf59hD-W`* zlXSJGuPqY`VH-~Ui9?8gq~AmEjpHv6D`m7kGDuB(V>c1$Tm)ItwnEbgS9=Bdp)`Y`z)iU6#vbLZf)@9UXOaw*0UU@9LvS1 zt%-g>+myf?2r7|Q9H$J_=QU{{!E$0Nf?U`e(tIly=Z;cJnrwk5ATNxNTDW8({P+~R zF9OeiTh4s)uoQAriD!|!5m+uNzcpGNAhr1jou5D)}J zw2}4uGID1-Sg&z;PM%U=zU%w*OmjOolLf-V(~0)l$?TkOyNlV5&gDPUIm-w!iU|s@ z^BYXxhw{DYe{+U}%WFx{4uw%zp@iBbIHjxH5zJ#c;eWdyH40LuU}X!m+;QFdO__|i zxVMl@t84-Dv_)2qL`>f%L`;okVkWzvhrz#A7vxQ=bPwTB?bwDGYa zE@OR*X$kd+LNmz#{{FR$MH8?Th?SVJF#9N_O{G}MgCGf3Wi{OsrI_Tp#r>V$qN9De zMTkx8lxl})173}n+RDYDTg=t1CsHUIp$kMFbt;cVFG2f{K^vo5Mj`1^6x|C!$##a& z(nN}`nA7eZ-(JC8ckT)*2>cc5qUJ%JqZYSNa4-#d)65vQa)L}Rqi?B(%kT=WXSxID z2v8)?+Tn7aL48Zb+nk9b>ZP>M1c#TEPvWDIm}Fo`tQ&ElJgx?WZJI+D$t8a1Bb$jk z!=I4C67fCa%0!9u&1Udvl=sTWkxRMRFv42x`4*BkG@tG>TRkK7#$~u~L9L=a%+E5t zQ+vv`LRVlg&m+T-Xoh=^9;0W*$9W{Ji5 zS=dsXt~kX)mA?DQ|Bt^9uT?mtKGCi4q`Y*Gk8ij1M4E2Us9cJ#ueZRu4!*we%*R)B z3k-qatJO0bUy&`eJ?d8YZ_h3G`igZUx)lmf9=^V04Tx@q$355K>nLkLbSpgO8Op6; zAx!JVj13GZ6Q9X1Hg1Qj(C7hWW5M{N^XlvD%EmfhyyqtBu+8KVL7BL##O3}0C{-%1 z94xyooRo8B;rqUDJBz%0@g7SS=-v~Wg%4Rv@OFFjHtL-0oix%Rxm&pNWs za(`vDmr?(`>u2trst^1+1~;!?Viq1Rn}NdV@+*m(UK>Qk8`m`Z7@|SOS)IPSYjUN& z-0X9tCV3%!M_(&+o?yQcUYXfcY47aQwWt=8%m9;>Z8q|Ppk_ndKE}#nN?;O38ghCt zKM+3Y8z?qZbZhiiq}Ci6j0o<#P`Y>tm*~OL^KRAuI&yYfj*?BMR`Ky9rm%E!CeLYU zq9DI;DiTYj0m@VD<$iY@=~v2(P!$!V$nBua3ryH;TG$133Gv8eUKk+?y$O_q%>RPt zQRm^v3@ULKKTFpXVg3tlN^k*+whl=Kh@8KH{n5piG1R~kMVq5{kcM?EiUwpK=0eLw z&$HZ{T&+@JkzZISN8+$5O`C4xXrRi++Y<3;ck_|_hA2Zz=2J-SA*`1YPD{D2wv||) zb&)|%aAZ({)M_4BOOKmLnEFeIB-Gg~k|+yaLNo}M#69-}%SiNf7b2I;h>wIH>^acd zQg5Zbr+SO;VF**EAnXQ&iNa^tf+|)cI6Sn0|BF9hL#IUhaRHvcxvw7&Um#MyU(~#P zIu6wACDSmvxf?r#KZS6EVCwZJ`81>s7YBQatI(eqh>K7N^t}7i0MjT#8r|UeTXH5q2?GFcR=>+TxAhXzRWI=i_SM#7VBTn|ivtd?3AamMK(L<|jqF8A%))d_C z49;xM*{X!DMPzJBW|YA3c)CO!ZCjCs-3i4%Q^cqg?2fY3tD!zH6Oz0!ND{n*yom7u zt>-HJrUj+~hKS}vOLX`;h!}N^m}4Z9VD-n3Q1!rBt`*T+%+Grj2C}JJRko0!48&EL($6%jY&yjSicyBV_3i~}( zHiN^Uy@^z;oA`nrRb8TOgGu1)WFe#{8mw$msB=B$i$X;T-x7~ zSvhd^wZAt|uzS#R5DPHl8}|Av?8LX4O=9#W&*b@b+*qq~67Rs7WFZsiifFJrCo~x7 zD{cvsxX%ItmQQ#nh9YY~iRME`4TquV9`a7SBiK!A1Qn!->FEa9TsV&;I2NYdGsM-W zm~h9T2#+E9?F6O+^txSQ0Uao>8G@NXunjtlhjSZ$(0sU&=0lD-A3k}~m=9OzXu=ZH z&YQOPW-;>PoOHQ%NSuKR34AC-?*K+bVO|OUncK@}WK0Ul1(FQuJV`2LC;~8vB(bTC zb&hhoi~@ZQt{5g!tEe78#bXj3>tuWkGf1cBH3zZic050HUhw>t4qS*~C9fBB{<=2b zm`-bn2P7L7IJg4~fL-9@9A=j!lF^!^C5*|WSx9J2YK4s1iTz!<7%TI{dF%r?kDb;r z7tA5gY@)8QsG=vKe26*&;ay_-dVMG!Or8{d8w)e!O9p7g5Eu?3dspI69#6(#?)U2yNm5@Yyz$?)*n$L-+N^5*LOHzW-3WEw+KnV0^#_H z4_EVY(Xx0ruK@jSF^{2OK8(JZ-{S*DPkw~78|e)9m}r($g3fU3FXet>eg;>vsxGG7 z=j8Emu3j*d>HY1<3=1o>lDH25Cje)mLKRallhW^@-V4S1t*~i+9!(tMj8oHd#q?dcS0iU zxd{h%h2X@21aKr3N7cC6b8@w^0Mp1nKeNrcqX&u?6Sei&X_@I#q^&=*hdU3Q&PEaK0&IQmj z3GJLfRon>z`+uzBtB6EZ%!96&KH^k86#o=LK!cUQWAswl1T{l#7p<2wTScy3MWRqJ z;uFlH4Ddg2L(e2aE-_&DtUD=#QU9qqvg2+5ylbuEWoG{?{tQY;GnP_CE~e;(RE~j} z2#draccAQWSnp|8{6|O(k-(t^CJxClg`PYj$X4oI2*fMJKoqwUzo3_;1jrCs#DYPC zW^EzzT}}BW2Dyj^S=Lo=C8LZISb%tu+o=pAFXSBA$PE#ZNeGZ_&*_jK5aGvoL;aqC zNbt*yG0|}aYd1KUXO{5}2{>j}#r4f`CtSrrR$D-mlDWi$*^j;!fHN-=F5&jvu( zjsTR_kJjk4#Cnju6Ex<@`k-wsCH!w79`;5^sRSNHblzrRKUM}Q9p(w94JO~&u?7VQ z9YTCeGfY4mmjfovecz4pXld}DN%V~=$$BAJ*DrT3pdi{$$RMK7L=ghCI^ebmsd=xk z^Vvtacqh$dR%T&b+$z$Ri}yO^KhGRf6SfaEtI4sU~a3|7~i{nrT)B7?^nKXcGG}uxtzyh)P8QCsq zl%67`nZN1ZuvJ_xlYy>LXZ{r_iGY)_qEeT*D5Ni**tRbp6!{aN7zX$Z;oZ0GdCrwB zu=)2;3M{W!Fv`TEe1zbn97zXDS82r%MeYNdq1&XiV9}T6@HcY5h-`>1a08aMBQWPh z@-gry^({$ZkZ822e`@4%WYC$pshrMyRD>yDPtgv&I9a9cs1kOdq7@JtvVr)HkbyN$ zZ;JZI%k;*T#puH_`-pLp;C>lNbUFSjcs1nsDKg!U&J{joIBYaQgg`=(Qn4HQ9Y8C} z*WK~JW7{oU^B?8#jLZSL3paOe>fp+=O@o)JeE$m3)Qs>P3$}A$JK+|D9lP7pM$%cui-r5QG3PyKYWYAblo&mv9 zxT$wP&EQKV*fjNHTBF&shxBi9F*e3l&4GKJPyxXeAO{OCApml@-$E`W;-#Ll$GVeb zfZPXyJEP+_GF?gRd9TqX=^$U9zQPze>w(OvLPUod6a;qklXE2-4pbEO#Cvc>qfekvFf{Rz zNObTIdLnfxcquc%UL+uf{5_eZOl(i$+EKCvRM@j-x;!fA!+Aq-)Y)1l)^h>}YiBXD zO83Wcki$8<-0yNle#?=Z9hg~N>ST&vjPa~#LIUD)4gTLbq0_hf2Yf@TK>Wbd_DAwX zcW#~xZ~lq!V|w_z7Y?tn=8*~gwnS{{>P3x?tZ)0JE-hXnv6Kk)^rw9poz^LVW1qZoqqoP@h4U4ryDctu?C zzEZ`eA#oTs21o`!q!wOxG4ku(c?^liPs-jyah~U}rh6ykc@!8x#kTdCd$?g_RC_MZ zMdnzjN670TEwDGG^6=oAN7$Q_r%H1Gw0Fvsos0%*O9_<&6F@;b8ec=BK#D<#O2u0v z%>kt4knN3-UQ90M0c#`5nvcM4MgEFFa%I<JsuxxG%#uJ)yaz)9Go0)8unMB6Wa$?XMo-cM>11uL)IW_h2S|a0Q(5S*0nnEVv zid(x_w*!5xhyf*#thY=Co!l61g#a<$rzVlZ?^5yA`R{3bv3G`Os++7GFa_5O)gIa* z*p3yyhENFTBE{{!wL_bqo=Eg8!zG3T50Tcl0u%Eyb)8PRGu$sBLYe4cXDR}eDHp%v zA>@kBL))?s6VB@KTlsjnOnjQg@qw^DIpDys^dw#yxUOYloUAMO)_j>?&bDQnBNrn> zCgZ3|C!wcYH(hl589NMkD6`E^cTWXYmkR5D2&!tZ zgsrP>H7Fxa3?P~IhlWDAc)@K>>M?-1tvKj&l?wOE65+$a>m_eiDy~2d=s)mYkOmz^ z&zFfuK>K(GDr@&M-~kDkf+nxxSNo=y5C8!Ih@SL85}h1eZ1>)n=kY*r>Vh3_SpilK zfb<8b+svH>H`Iuwduc2c8?TWFcbc{1u=Txb(~HO%xZxXT@#IVDmUP&pZt6s;W)-67 zlnvIKeE2F8l}}L9SR29f7;cZ#yvSyr6BkGoaF2sUH#VyaxwSj?8wK4wRu=Bw(2xOy z7$Lv7FOd{&wa3f!xNV46^o{{i#TWfh_OK&rMQ;ejJVq{P5`W7p8C z;al;KM$&Tk=Rg>7^qfu`VV4V?QSP2L@=B+8KLI79iskNPOb4+s0VVyca`)X7_oW1M z4MQIyXfOe-WN3h(9s{Z_EO-BrAipvpcbB{Gp;Agr$n0|W8iGuakWF={Fv$AN(T9xY zuG=&huxL)=`(FCa+O(7&gE#r9lU*Hmx+1b67FCs zK@6+*#oYYU2u5y_Dv=RD?(=9mXm1KgV`WVD9y*X?@hx#<)*9p4hva``@&~KmSc^Ip zlm|LEP{a-88$28xMVGkin9lqunJ@+}G@9K5lOF-a#w4nj22yppk$i?}TvXL5j@|tR zr@V(#I)f`froSDoPs!!CFn0_JrN;*A3iXvTFoAWQ3!4H@FBd$_Y5;dkjY32Rr8_pYpcD1_+{SEpj z^QV)A7Bev0?S}Vu*e8*J(cTnXZv-p;TY#_bM;yb$ZkyjyhD2npQ4${wQji9<`jKp8Zbt00{W=KZ@Ec1KrCx>Id?xhL%Z;bglfP z3!Bt`bB)wWU>EJY(NDz*5O|3AeDufI1PB}W_3r* z&NW%yr--FtH_A$2TM~|tfFAlPRWIP_9yE!hOOwCXX|uZ8eHBA)Fd;X)%NR1mgyg&P z8PdyyjCN-;B>tVA4-^hyL}g}^2*8Xd){uY)eIFf(L+QvBc*CJeoq7<8EgT@YD;M+Se>U;7A37nSxB@z4-`;Fe!%2=&TYqE{yNo}>Aa0kH(^-x<-A zwJHR@KKR)s*+^65Iqc-o*~-RbT}{vB-g5~J=kGYRLs#uf{)X~`8sDU(F7bZTDc<3) zjd->$@$x&xd((`U+9h7!PVs_fJbRaTC(cqyM*V(e#_QH4-p)?(#+mUPUE;meDPC_g zUe7M^9@OLA1V8MsJKSot*V!drNvHg_nei^_5-+P$yl2dK8C~L8JH=aM#=E3TyhCjr z`{iacUY{=U-slu>h#9Y6mv~yIc;}-=d;52Z_sdT44w&%GZJ=lZ%*p9#f#HGHc)Y zOnIW_J8$>giK!0Lj?h7doklBsJ>ijrqZ2%mp#`K=&w}MgR|-B;mFm1SSIG<DKY;*wiwsiNxxq2gm9 zSYgAdnCBEV69Tt#5oT#kf6&S)vyRs7;pFn|xkby_#Fv%xb8J2T0RgHo^?hZE!g^vSyP9X{Qu9d&7f-qMQhaj;Yx=b07cXr!hN zUwe|`SF!Se4H!@LQbH^77a@_gfI0?NSy@7+ z?a)5a4jIF}u0E1>OWw+JltA0H=!AC2dt^lwJmZi-FvWinQfep9>_5FV8CN!?0-@Fj z=MUP)LFpO09-P}DvLEjlixktRc)o!*6`SIF8W~2&`~rk>+Sbqm@Ejh)mt})h+h-Pz z7f^2POx5=Kh&{B(ibcD}>D&eX3Z;h|Ec|xZC!p#XA~8%i@KIZ45ONb!QptWmDq4Y#zVib; zQ>Ap1_cKqMk!HcJH+$MS3`bv3X+M?gRn~9MJm}x!8NU)-bKJUwEbG-DP1EXqM^>co z_SY@l0z}gq>jX?eIjgMo|4#9J0ndaP8a!9@(WK71)Who3pP(l$k_=Zmr36os60+(? zL?}(xhz>r~Ol3>Oslef-X_RT7s6%Ty-Soi4;WTP1i*1M@l5#ps-=ixqKh%T1^DES^ zARfm}Hq+9M?B}ZDlT-@)zm^zXv!!dRp&X^R`W0@qWyv!jASc^*a@+0c+x$B{8zc9k zKRVL`*u2XO7WXHwe;#UDLz<-{aqKue5cP&CPvG3Bzfldv{{dQrQ91#cpFT>i?8At1 z)}_}}8msM6+Y{y(0o9R%94BS9mviepR{xY{6JIkjROjF{rvBR$-&a;;3mJA?It;st z;?}wdNTsu?8_~ zukq+*%aUr`t2o&XgPS|+TkPpOs%D<_@AqtokYjseV(8D#^tq5`hQu&hAn2sv;bQ7d z7>Pa!A=&fO&8{WkC~j_?#DTN#_(05H%n_JwMx+N5k?5|W(f>G%q&afZ?0?UKl^`{k zBW}Wz+ z0;TFx!tgIws9|8Z>|Z&pvJY3?cS4r3>z4EJNAEi!r~Ri!ZH*b7!0oL%Zf|aX-^A;$ zJvCBI!0c7MKPw{JFyR2zzXjZGZ01sGZTzWCW*UNDAr^0C^MEa#a6@IG>U-nbs zqhz@Er@}L2xc{fZzr#qP{HmV{CtU)BulcF)w`BObp9)_u!`J^*xGKY+`l;|+W%#o{ z6+TLazxY$(88ZCUuHnZ1&dml1Z>*yOBAc)Bby%IR^?o$SxheDGK@d~Kocw577a8QN zsr!ULjhU_VI5_v@AZK)VZQVIUZamMC>-f=R={DF|)6&k7o!tjhP139<2)i^i{60c!o#sLey9RM;$qpqsDIHsB`(NwGm$wRUPN6e9fZX zP`d!|%`yDh@?tUSy}(7WV{`e@wBfG7&UfbCN}$FKzoy5*yx$CVYLz>Jl`rCe>axww zg-F?WKT^h2PT7LTJC>z`!3MnQtK5SQMZ7Fu<+~Pj2Le+u@D;{sj2P+YW3*VJr zb@H)YK6cQ9l!HQek_V_{?E|>~X}2vLO+^Wp`b*OiUx)FkuGX1=BJ zo3GxMv)i*D{6qhcg9*9LW+@wUA3%)C*Nbvuo|DQ(&n~L5y%uMKmU%cj3+$yAvNE9d zuI-8U2vrrlAAvkyMUwnEeW2Y3lY49 zzDPh7y$fGJkF;76eMigiwVA%s=xYkTYUqo$SJAQfs-`cTW?P~o@bwmbVIKu!7Wn!n zeL?JEi8}GM!J_zohnQ?66T1peEa$8;X)kMfcV;)&y=k52TQ>7`izjVj&c~h;+Bq0# zE82yA`EPjy3J#k6-s0l-2F>$qXw(9XhqC%SiqZ;S1oWR8Tmli)uB`qNP=MazZ(OY< zdl`_l15^z&tPIUmR@cf{HT<2Yto{ebI)+%AwZc~cmDh=t)pU3Z=(`NEfS@a@>6BM1 zTm$G99Jk2;>^zs;4@jN-M4v4A1uRnlvK1QX5{M37G8K^R^3#dWaatj;sSuaNaoMCv z!ZQIMf*ldyJ0K7Y*%pkqCjLt>#(MJwAaUW;Y1llx}nc0zcbAlN3dck}i2_Cx+1 z9O`Ka7Csv+e$iS#FC2iYaj^9Bv;Z-ULAWy9F;5GTVmCIUh@b@)FnkZg7c%@9!&QdA z%J9VuU&HXF3~y%mLkw?Z_%encWcYH1uOoP&7fmE!@gva9VTd0et1wkTWpl{IrV|=k z-=Qlp)8Nxty#mKGm}^s@7~fCX==ZphS!kAZp7t!i20i`fX^tXlw3>^*NW27znOT83 z$ZpDN2)E;JK=kn%Xdhkm0U><^G6oRR0)CKM7;qP%v{Z!)`5W9bl+ST5DqQ#)g)@H% z8LoEdz;Vs9K6DH8PuG#KJRLF>Xhx$_(AnNYQK2uRU)KR$O{6W3QOZ}*Y8=c0bBI6p z>`^w_9?KU+uedxe9gzk<2 z6%cZ~kzBkc=y?^+jS63^DtMzEL>UhZ@U!zY+Z)LhRoZ8;pab=xeeFBBDF=>2??yYZ z@0-9OPa90r5Bkjd0ZzYIV_BJaVqSdO%-10SS5v@*M=#Gghlk?-fofPNt6i`l3A9z& zm@zS4xF=_qvWl#`A&8{!$_btBLRB1 z;I#{&F0cDJSEIc*DL(Nq~C$A#ht zi`QFEtUP-IsEzVOomRYl2B@0$6a)+{Sq=5yB+b**r{L79DKZ*ZL{xbI@lNrV8fMUSPBywwB{FD;-FQ{H|9dx_`il!^8$02D1wduqWfiBcL z>cMwV{h2;TU>+cjjaM)!gc}gu!tjQRrg!`R!vK&aat3|FjfyP9-aI%H{VE!4kLFbs zJZha6E+BpS$PUE05PweF0yPZ`E-?(*brsvE8#RaD?8aNsT?{D7laB&^thyCVl5exjH<}$1w$6Mbx=jDVt6tfi8kb!T9GhCz+JY2L?K9=!gm6sm)7hXkrpYpB1e9JT6a?Q6f=G!RqZKVFDacSYA zT+XOyniJ1(k&9T4aM7*AD1?h<+4wO9e^Kh|^uWLHstxi5Zw~a$1cuGk^MwNr=r8>d z%RV-=+A1=N1cv8|@G7zeNYVQ(G3 z(A#$NjfgFcQrO#Qz8y5*n#{LmywSg~w*`M?iem)8zp$4mw1l-Xgka|Add<=G{$Pf3 zbbK{+ zi#V%{YQ?LmsvQE1n#ZfDz8wOL>cQZL8jazoqeyk$JqjvBUd8^Sw+48(DXtpOs|4Lu*QJ zQ-22a#q}_9%BGM#z1*biOg>W%u+YZS2g}+cXfwmb`~!6A4fPgPFaWw^&>(N!&u8Ib ziA)Wv>JZ=BuxdMUvNWvPLk}@`X}U#QMN?M0_p9A`&&Cx8ZsoSCS&xZ^fOpuA6Md3 zdn?t~Y1!d?n;mH@{Sf9bJd<=sQ8W?++9#?Rb zwq*J^TCB-vF=UBK^+50i2aa|}oB^Q{yH;kKtS!gg@w6pZj>Bzz|6@kH$vEdY(2~AQ z8vyyWZec>d;g%IDjHHJ?*V{mGzzWNw=&756}hU4Pdx^>7!E!Ivc)uWOAcsg{I z>27DLZ>v$(xS1^r;X}v~%ncDUG6)LoEm^w`2+A>4*|@F#D`z^qXE_a@P}zJQ70bdt z^q7`P8k|Ko;B3g&ODl5vwjT4H`(g<$hJ2|NIikthEx2==P}b{&ujKEflFlHMjgyl? zE;v7GQ8t#_tc_E^;^8gTx)uJA5NNmJrfw@B-3S7%xw#j51wIFR1#b;BhZe>)HP9R` zcyf&nc6I?fWo)Gjn3gkS(z6Sg_Rs+L=mMqE?*gVZ60y5=0n?Tm;PftF z+FJu`?*b-V130YZO5z#@BU}*TWdXB^EIADB!0v2%fzn_ew5Cx^cMk@#ie=hSRZ7x}j4P512N9A>4G zb~;@<#|~2ou&4UZedqC7jb=rDz@K0t<&Klsd{{WNYxxc>->KziX!(7#{Qg>grj|cc z%O9rYkI?c*YWbtI{4uy)t>x!w`2|}36fJ+6mhaN?Z`JZ=Y5B9Y{JC2GU0S|d%fDC4 zU!diyTK-Zke_4cXNRq=Rvt3Gn^mC-6C8L4KO7&*hz)fh}CNykQre@oO24#jGh93#5 zdJB5q><>gY`UBCq9}xX%gsN_ny>PQ5CV3?%3n*QgKTChCDa{&-N(E4X7#v+_<_o0-SqJV4duS4O#f;FXx7VQyt>3^JDfE5{;TnPeL6x}pU~u-PAApp; z-AL>|$DP`LRnWFcJHcH8=(FecP@QbgLrwuYoYUrMxPb7n3%wh|PU+~Zt%B$tmj`Lq zq|f4ThNFJZW(p2`#k(r4{=gUG;Nu!svx+~)y>ggl(dw1y#SXbholR1v?SR-}6U|IW zX{r7CrmV}26&!biW?FadyRQXT9L9MX_2Mh-ivK#G6}IL@f&E&8`qAmF*v`VyUuaHD z`xrK#kW$?qovZhY@lZC-Ueuy}POHKhY=)I;FLe(%nb4>ZDq+crCFAJX(`v-mayMjs z5IDU8kz1^AnDP)d)I#PCd$JgTkd4!k>KqczjPZv3n2~%P53+5RwhiNveu|U^svoBk zVM!x2>i4?RfEgR-@BM$DwJWe6<;?^Qut9z8AjYganaRg}l@_IX{q>aGdg>=K&}@2o z?UUr0ExtVzoNeYg} z+F?B4pcmnr>Cb_GYcsd!6z)*gPQ}n^XKQJju$e{?yg{(I*>E#rw#d4F-+c$iAwh_2 zQ)%1sfG~5CEb3Qu9~=@P2c!<~AP>udqgq8B)P;Q8a3G6z?$nCkg>8Z!Bw2jy62u7E zoziH_t>*y^&%;&4a1>SpGt4g(Va#e zqLEQm)=FqL0(-VYl9P>=V2XetaNG=Trv8XCx%gdT0wlUYA_f_f^|O#|6)cz}3dft~ zsLA>`5XbmewkB5|By2BioELW#p~*^s>}^K=ia|8f;3yH3zf<2($!4b74!wtvfe1NP z1}o~U70ukbRn)pRP3?t4vl(KJC8elw&$}B1P))IJr%G)Fo)W6h$KSrqO*O> zkJ(>ie@Oce$Y?O@tBW0sFS>lscMj6=cAx+z8mweKxqV6&=8Xll($XTw0arGY`2deKg?v#ea^XG zulxF4*YCRS_}(nFl=sdGxWDE$>lOV9sp@>Hidl|376u-T>@B-T;Uv(lD4U;JBo(1B z1ucy?c+_ll1JB8Ff68+PwTNFN^QJoFJ!ttW(*8%4yh!&+w&@dj5s%~&FTal8C?oHn zzj*sKsq6F;00T~A)PzWrKYF79?Md5LO&5@F7^4$fXLX*;@H=p zh*U{^V({eS`%rl`;@>jz>TK*6Dt-0&v%QUZF$m8ypW-JBdJbdR+ym&sKg zWD{X3&kJVRE2wi|2}^iBOBg6=Gg8|^oC1wnU!IFne=z zd=Q28xivEIz43Sau(XzsCf4w0u_f-a@*}dhxB49nuFnGUoY0N&gx@15(G7VGi^u&Z zwafGI<$`>n;^R11ZgHN!A$MGSS0GZFroK?oZTUG3 z`D4Y|bpd|w*Pv)S8I zgAU`Po2wqr8vd%l248dd;5VMOw&hgyy|H3k!;z{zKhXJ0sxFLMajNR%BMmtz$$wha z_x6f?Rge1$wCa-j8AtUM4Xp)s{IlWne(%UJ($DuvWXEn^L5+O7!cEVnQe&%n-(Hbj zRi5Q5NDb#BYq$Z^q6@B+x*lWHII|iup!A0`b6TcXnGZS4hZ|-`4#mz2S@2l+knaeS z5s@6MI?rTG%_VcP{$6&wlM7PzPaU))a(}k3VObUfyevD5FAVUqY(HNZ;APo?hWsp; zdXWUSb7!Yw8uWMGk)@p_&XEejgCCzJFWI6-W^eOazfSK z#)cavHCDZIM=;T_z_(pXg&$V+zPI8FFfaT36>!BK!FQ34pSmOQ4#N77@3=h9cSbmK z{4~OMNbO6cLRF`%s(l>|6DBn#+!2|_v19Y>lXnDnHZ0B3ht0W?4ZEth+p52VFY=0j zwQ4$Fd8nVQJ>EejvlH)J>q}VMmS&;b`c6~v#7UUND|~cW#~q1|kZ&(TvMZ6gw(3-N z)xLDY1a-FRRAV9;nsi67tziy~y)Nn@4K%Md^)PMp>$C6NM(s)%uouIGMt}|eTe3=I z{zhX#5qV+bV@#ga8)7Vt`vYqAW{j?C^%nm1W1LyNUH`d>f8(!iqU5mhFEmvJDa>-g z!W;6wIroQDj`Ko(9yc!xI4|U4flv#B&I^-nmM#U?JZxW|eb0KYWyZ~WqLt7aaBP_hYrsX8SwXq;RV&4DI98{d6L{M8qA@wL&n;;(M^ zzP41IhixrVmqVDTl2s=rV%3vK28e_6Lm}wW?Vc5|HZ@%jDx^MQ+0l83uFyi7SN^bW zCXaeq*NX&dxmJw^Fw(-?yylHOPwO-j!(BtU?I)?byINq5?g!I!kr~|H-}>@fQk>UJ zjlV=eUejMz6F5@$anw8&qy+;VM!Md&tU7UzM$TIGpW?F+1-AYZe8IU%?-fwou9jhR z$Mcm(Xn-*IwdNUT#WyN5NFF4))^)Y?)7tpUJnj8~r^&&l^yGVi>R(;N9|asqB(H^x zK@CN5+C!4|{)RE*%0HL7y_S?;1YCMIG4T4PF&}3n7z(*_$YkKI*eLzpIyv40*%V1z z^>_1C?TPn{u)Y;--JYbvkY!tI$(vg@MVBJETDz}}<7ewXDn%(Ivnv8ft+Dt)G8KjC zdHYq}DHHj+T_!e}m~U}%{a9fNOLCUqj9YX{bqbF&dRaH=fOorjg@ zO?|VvZx<_a#hB`y)O?uv>&Y`C_f%ExC+w&>2B}9Tj(tx^=1%z>VoYQ0%o-fY9m#3k zh}+$HsV_P&+G2^dL{Eahm ztw18Qo8xcDoXCnTH1ia)3WE808UD;bzWRzDWLu99HVre2?_a3r%fjRtbGceymMIjk zm%BU6?slPpJFNQaiGwx|P-cLimjQ075ArX|fR^pgij8#YrNux$c#!U?p23s}Z-3VK zY?82WAR<=Y%mNJoFUs>S#tK+=eB^TO3&VlYz}>{BmbDlijrGx40B@-)PLh_&PA^CY zJJwI63WrZYK1rO1hGo^VN{31GNXG>+@E}nnR5UeX0DSR{q(;1$;LPKqY!@BFp2O#1 zb>>mDTnPG)s-mZ}#DYpb)Cysyyb*XR-gB}1hKR|FXw5$~#3m+M8h*8k=FmMrul|Pw zp4RskJ;fny7t6mn=;puS^(J?-*ywu>B~@<%k&*zixjtqc2~c&-*`haMy&hBr(rb`! zWB!rUwO4;BO&d!uOX_FbVLKD=a<*N%kddqtk_gyAcE{oZr}`i1D^`kg=VNRjQ{N(Q z(wmTXZjyK<-@a-p=<`*-DgR=wDvXkU2>s+iE%-v%d961>a|zZ^i}U_cy00Sdv3T#u zie1i~-3t1V|88wGiTB)A_UA%J!}^38-GluMJC*OWlmBl)-fmE}syN-O7N6eFXA7UL ze75n~&SwXooqQ(w?BX-c=Q%!m`20Z4Jk3WSz9$F|^)<1Pb7tW$v#r`f_AGyC+F#nP zVUn7;OD*0Nkh9s(xf8f{DCyfN7>fKvLbQ#AGL}O#O`N-Yk$t33sulMvga0t8jZ=@J zzc8iB3qOA0*-XW~StXNcS#QX9bYf)}zReYce_Zkd9s*u|^nLbq^TP7KVf@sxp8lJj z{ATJL!*z&}fz62F)d`H0xyyl*%!MJ-ceOfl(;mCDz}i+Z`Z0M-MHRx)L)V=(+=J?}pGME8M2FV5;DxqT};jB9$9 zUenluJB4IMhMA7k$4$RPij(ZH4AuM=NNta*d5>pFhsWUZDLsOr74hDS<#~h3G0O-3 z6I(A)G-*}d8(JV{kETa46X-{U9=G0@w<3$%W8b5@%<)ue-rLY7Iz(zn!PGaswfqoC zxLM1mWi2-oq~^*&;1UcZHRcBT>-_{L3PJOF!&GV1)QeQgntzn_Tr6gkOcitmDrrk- z1y%s+$BM>-$BIrD;)$+f&p=YOtL8(=%-i7V;m~}Z3(OlvEwjE`_4;m+L}%ohelvCB zYJV(gR`*Br;x2A0B<0TiEbayRsU51MjS7+=I!_f%`%6_Z?J-6|7WW<|XFSm@(A$64 zYqEgjy|TVb_s37Mv{~iNz5`C~f9Rz>VDVBF2bxvU0oM0{7Cu?u2io{#eIMxHll6Td z$tUak0OI%n>-#_tpRDf#d<5c&AUyQfIOQE9bo`XJzI|u>B`wCRre^L{MSBBxQp&7v z(-l9be!7o5;pl?#*w!`>1$;=xGdrQ>#zvMedp8 zRr#@yZ`Z`q&cad__t3v&n>ZT#552N0JIXfBJFm2!Pe8+A z?OKnS#hmsXxheCLUd|}LHyzh&xxI{`1c3}p-_<Q2qoP+RufJn)KyZI*XU5j z*0vk8f+3-;i&+ArwmK<<1&KZos4ndd;F05?P?I9+|4N@F~g0<=* zYv1{X-+JX?AGfe&sPSGOto#6g>AuZ%Np&A>VF2gq+a z+lMm5DP#>+{RoP4_yeoZs_&C!TGAHpngrEal}{>A^Cso0#go_xCIt}Qd_en2s_B!O ziYDc>FNV%rG$}NXPo`q>FZI#$lVszVg6)=Fg2p%vy06$m8%&>f*bS!7g~45=dn=mh zE#25b{RM57m}79%Xet>$Kh9d!O8*H~+^_oH!clB7fyZIjDEOT?R6^K97m5lFzo>+ zx_{x)`;*_9l^OjN?6i!0&{~;8+jZ}|FVRLFWncRpzVRqL7cvHG5;6emc1~>!?v-;q zwWl3@f(6!`crOd@hS;8K3g{S=zW7ddlop8~2f|411cU23zWVw@986a$|7?CRoP&Da z_1MVArY}v(@jT4e`0nXgVtX2NT~^%SJ1A%CrYy#)d=ySC8L0_Rj;`J<(!v;v8KQs_ zq~(lR10NDxA8e}0*Mr5V)ySC0e|u^s%C|?GY6|o(4d472pQ>gO{{k&A+R-R&jaI!{ zne$dcWs+&%zY%iYQ}%9h5u7<&JO2Qs)4)rOAJ~ zT@SU|qx&;{f%UFCx;Pm*#?qHQkKSgNOqUd;VSl+1*&>i(MF^v^cd!NQ7i^FB(Oc6jNa5j%(Zi@ZJ*PvDvX6z z+#%pEu-UFecg?>Q>LPFRBJTIxIhrxQ6V0LFp;5wFG9HIiNZ*_qZfv`|pSr{}tVdt~ zUsiWX9&H?I@t=qpb{L0o*k_n?3e0J8r~jhf|lw6i_9d50I|nygGRQ!UvM8LC%@?eTDb2f3l=2b6Bm- z1WO0^+FRu&;yHehsNKuiKH5NM)kP@lJIXN?%=hpiB0mv$)qPmH{A#Pj9X&aY9G7>f zx78WW3#*fmsA2r)uH_#sM%E;%Wn1xC-`-iUH-2HHwLURWtah(eYg1A%r(}6bbFc&_ z=TV-+3E&SL7h~(Tq8_%$w#ad7&heQy#7}Sp$l>H1ra;G!f;aCKre}3!7dAwH8PYF) ze!NAfi>^p&)WDk<1ADF17k?tRTC$l}OLxhCsgH5vg6p#=%u+3?&#J?eGwiYl zRDXtYJ4nhA%V7u>9Pst3;zps^KBrAz#jo4jw7D*}oywF`JG*+bjCyppU9E@TM6XqA zuZ@maYpTw;XzXfnvZ&}LyIOl;jOV3zBLRJOo%Bh(C-|zU*21%LZquFA9O0M{~aS2ehzcyHH{q!))A1vE!`? z3HR^#@v>&WHix+)hogy-UtH^8wTQM8#brnLlkuZ$o>u`U*B9UUfhwsYuV0bx16B8w zyfoVNc`EI*YQDvzbbT6(_I7Du;;@3~6 z13AQtxJ;a~J%P$8km76q=2J3?`&FAd1~y}1W8Dnzjr6Ivt=Sykbtb%*9^z>3aC6G? z3hAFXV^r-@brtgVX=e{ZKE43|ME?F~~|uck-C2MZA(l_6{Pfq_b@T`3Yo z(-Kq3Q`whRPAZ`*CtnB^lU|eqaGI}PGu=qFezC6KIs}UDPTxQUi>P2}Yxsm!`zKUT zKvY8dk{U+d9;hIlV>*&2cpW!NEDDbF9Zm!9w*KC|LMfy#J*;{s7w=ZZTkO*2_%05J zZ&sx**^aC^FwS#-1-sXTqF^a%0ez&Sc_vl)1Mhs-*= zsFy{z-(IiBe60+vU3560>K5{i3ErEf>Xwj5g1vrKH^nQ#6Cm3zK8)$G1Ggy;Ut7Q>RrhHrTO->BY9RUu@r$Pv20c`p z_zsb_C>NW#I&+*=vyso2hu@qyoMI&6jps#WyvbXwR{R{!LNgt$_(Zl6G(x6i6S@g% zfdU2kSvCg>W1OR;rJFVTpbX@|m?yj;pP_chc)M)7Y)33?kjI)`914UvtnLLKMy$%4 za$Ziw`VDrGvw?urjL29kedLOQ^?n5?^C5!A_g+mu>JidOWRWS z=w9ic&6l*_%;dzW;r{hfb9I6JwSSW8=tit=s&WG)+*nunM|JfG0Y3CTvAe$5W`s?D1s$1lzP<529JxY92ZY=N9<<^Q z(I-RuseE~+omcN8TR(5$@!r_V5VB8=Ly9I?Oz! zLi&gD0-|JrM28OlO2p;i_k25jmHYAPtF^jgG>%2Ce-`yt>K^SM$PC66d%anvX@*v$exGbm>qX?->t%gc*iHb;w0CO>Hes%tVqVobTVY{Od&=d8;t9gX!&I-a!5Cf`n>nSpFB8?!D5$3{U zTe;A=lNlk~E7~mne^sYXk#&eQyJQPG zrWoT91+8xQI*vR5AtaN({A=SXt!$59Y{)c03T=VXajmQZCW#Z6#lleQ>b8qA9P3nD z>Ry)ty}*vIUau2Pz<1n7cs@*ft+V^i+=(U>Nr=)?yFngPvc;AZ3gU%MZnJ8{3(~(k|Byebuo2aKpD$vA(we4iRI+aIx3Xs=8=a6po;V-x zMIN3fq|7dYuIIC&I@Qr~Kh#+{Y?& zo4Av}efDRG+^iFuLS}O=uiM~|xg;d7K<9Q3QFKVv66`?7^bXW!qyugYEf+p1wJWYF zEN)o-d1+5+tvVQfyZqBsQF|hR>}Nowv%ABm6TkF_F?a3#+QY`ZKN1IK z(B%}Ij5v^Y$7)Uc0GTuqudxNJ;7&dB)Y;{qkaixSowpe@a5%irYv&-i0$35K(61$# zI*&4#fJI;Eh#Vo!tn4Q1WvQ9%(hP*^KKx#0w*=wJ)&!vPS8m2aIx*kTu&Q#Ef4wY2 zRk}`(#NSd!md5glGV_iy^Zv+GPb-3+*6QKCE7mPDg@gv)=Iha#$!{i3-ytvavx3by z#MbDS-R-?>hSwLgsC?cPxi+iR`cQ+tHd>aDuP+*8L)YO$Vs2}PT%zq1-f--QNNcFujCANob_ z8Y6dCX`yS^YI&=99rP-A8E#@-PH2k6cifGFiTAks ztwjs%(w0TZ$JUs=hitC9RA~z|Z8lD#c+R_JJlA=o!@d_h*k#`<$3x>~E3Diukx2Es zHHPYfOYY=GXi)u+^$(5A{?c~m5!#5)&#GC^uMjlhd@c+K`QyQ$y)dL;1V4nRO)3ls z5eUy0#^Ot};(s8Zl%Rw(t&Gy4uaix8uh-7ya|SoC?$<*b2mve8z<=mree`x8yI*gu z_P2HO!j(zi1=F(l`5dd}ecoi>&T&l=o6gx1r^RW-=MvrdXVmRHk6Kx)zRJ^lN8*W` z?KlCn3AG&K45x;b`_9=Fz8-rS#-?RiSiiG^syvI+*wSixmOY)g4=EF%Opr1m%H&ff zk20Lwh_gK_$C(aSpdj8@P#Ehf+vr~CMxqf*6=iFohR;fOjzF=uzcHwiEmBFs+k=W< z0T0)kdRAhTbQ^g9#K#1p_V-@d`+1k>E-lGVeM@(+%X#c*4joKs_lr!Nc<*~wy|`kL zUhzZ+!^^Q?P3m~~m;vW@jxd@R2JFX!_ERDCOh_#csztg@*C~y};=N-l{@j^MRzZ2n z;;G_J;^Umq2`i@d@bv?=_!c_;7TL7Uojr*(-U;0%!ssBiR>x$ma!x%IswK&{o;U0D1hg&TFcLDjoA=1!C7qCX z;(aWQx2OZ=36{ov0sF3?y*wo5kT%8VT|vcfz$=23##a0v-`nw>-pU0L&C4PeM4FFt zc6nBhU6J*Hs_=(YxgScAA8%b+h5UAiMDJ22K$#$Am|%VqBy~{?rZ5}(+unyX!J%MXM@uU{YON|No!jL3Y4~}Tf}ev41Tly>Y1SL z3^Kr9+F|byFrg5(X!@lc?q|>O*Foe|N#n(>BGxZ%{d4&@w)RQ@zO zpQH!3vM{7fkTN04;IN#QXUgQNWz%xlBN<8&1aKmvEoFb_KF_NV;qjhqSg5jAB!HK+ z$}J77-n)Gbvsuk|XEn^0zx)le{RCXufgN)NdxxN(t9t{Jr||&*a4Sr1j4AW9cmN=5b_wqjXlql(fBU$~k-9lpcA&yeYb~M4Om54aY5= zHFKJcZnbPmfQ#(*Qbu={DMMn3X}K`6nEKOX>eE>gqn)I)=E|#fh&ciIu|Ug@M?#{K zJd&@L=BWj_Y7QoeHs@~olVN;a05=SP#sa)qJG3Eiv4wa~+KVm3`({4aS1tC{Ac8wc zmu%((@t#zL6Pu@f=FN48uu<<3^0wK zXHef2fhmat8Pw!e2Q_`QL2Yr(=9ad7cpR7)jJV1o>S3f+Gd(TsOFIjR{BLpQ6WbQX zz}$u2z}|k*vYy{1@1ACVJ)oWrsHq~|cLwRqvXtA)>D`=2%Qiw(i0E~KuBl<$)oO^W z3OIV&<&PlqxRbAQ(98}@&Uf_eD^0p*@NiDuLtc1v_|)|*(~S-XgE{29*?%5VsJ;vb@uKtFapOwIe;cMhV?pz*~73FMw4ZK z>+V9`l_g+?qRq7MA|vr->}Dub(m2tvqI1Q$R#iMQ1g_B?D>13uZ z<@9ug*VF8dMWfluMx&&THa$IhP*0cB(-rh|#pryl)6=6(PmiXjM`wCk>T)eFLzYB? zPJ;wL5G#Y-3)EA(oy~o)ySH?EWY>xbMC9cP_}ISW{zb`Q4SH+$oyErXR`@*AoS~`S zEwl-bsFO_n+Ai^sxCm@aB}gId42zVsv2ZKX1+l%8wF|3I|7f?(;O};As9); zjC)_cOZ{4$8e^0b1<$F`MmhGJSVwB)osoo9Tf;NRU75jpPQJ!^K72C4_;%x$C;S4A z&FdVtUP2~W{J%l_TN;EOu~rt*0?;@9qcTCDC0nFvC5=2E>(5cE{$Y9inea|^9)n70 zJ15Lo>v!>-cppHtsrGHFF3Np6L(p??YY>_mC$c=Q^Y4XuI10+)QTR zW_&Q*EZJ|>mtBH2za;1p^)=dg6|70rHY=(Ztcl^{kcTzf1#2dUVok}BGJwOxvRKpi z_E0D`2x~s1l}Zn5wk}FusM9k5*(g}E6-_4tH(gECoDWXuq^*KC?_&qTikK{nZ5O9b z{hPx@iUCd2@O(qlV3u3;Kh?iAh7UOp7eH64`4|2c)oKbP5g~B`Hs^-ay&?4lxa933 z7B~bU?c|S=rh-o6Ez(p1&s)PdrIP|U+dNg)ivI@bpxQFJEM!*V(1teE3FV0r`xny6 z(*|(1C&!yMhGXp{RVmr+ZW18_bxKfYu8fPubc2CsYd@yr*8xmtt-6T^|NjN({$8p{ zre2sWSiq=jz93}$w`mVm+#9rK!}V{M%FaieN}@B-phjrTjAb^=ceY>IE*+w5SD%-LDr8ztLdT`%JvAOY>z?!WLO65>6WNLIbXn>Y(PP?^ubY>0J*yR90b)d=qF(zb|B&la&Hq#j1a z=p@6NphLn*+rSRis&7)-S(x*N#{F!w^Jah^XxEH$GD+vnpiMK_!aCHl+v%4MHScyN zS%;|WJGFbzy2%LC?-8FB~rC3)pKo%s9-ARjqeax4P80bu1SM7X}!Wy*T^L6 zOwOzFCRuyDPxa$iE3UVkSgWMqXo1@0ZWXw+??d5fyAXVnUt7i^1)fGb-CI83o7dxo^? z3<8?}DS+np3^d_xwSt|#B|Qhw6io74nb024Y`vPsk1_SCKy$aOfW7uyLKC)lK=JWB z`nVq|E(ae8PQ((S7Ui%3lOL1K&|3Arw73|uhKCjxPcinkDFCu9_F^z2{^-SEMvQ6l zh{f2|c*f$Xddte4YUfVTR<|j@GAWPGP0EAcrb2+1^1NBf8{6Adkl9pYdy5<|d%;~H zuh;gsAqcV+1ZmbXI8ydT4JDn~21iOXwKGRRBu)~IAUh3$6d-vCf)q4JRXZ~XQc7xr zw1*%CK6-D`AX3Ux)y| z|3MyrlsDj|RkRcjM~bqY!I7;);Tf(B0L;J2t(W1*cHr4j`cqd=k~&!1VBU91-R?4m zi@S{B;x28tV9yC`HHHg6TMTu}-zw12P3ekdP?c7nvf}4KRbQ9E@=#T~pepb!o-9z6 zROwr4w9d^ZN>N1+Tbn3bY1ZN`_H11Vrw64x*3~C(| z1U3q+q(()fFsMn%D^}`z?hl#F+U(io{_yA24<5_RBeIM--CjOL^(hTHaiJeOFdcC> z%?;Y4><0qmj8Q@R+oB!V%?0N#&uZv%rVh&uRWP7Ut(Pe|wwGoP!sySQrnrr*5Evr7tuQ?gJHF^Lc)QD!q-uXp~m{Kg(Tc3FJb8S&iowru4Dy!|`1sU5V9zXkD^8 z{+fozR$ZDz!Dx-)gLbSTd_qSCptVKFd-OPukx;zvh$p_Xb?N#LR{ZP) zVH-&0;P1e2;e?T-{d9oGL)=h%4rjdDDz-6x9$v}2*Has?;LNe~2lBgeqIA@?QV~s^ z?g=*+5?L^NZ}_09TqiE=eYp3@oa4vYT)B=|P*wV(4P9~#G2kk;N!|%9nwQ=m@Esm_ zsi8v?s4Op4ytEJx$wbx1HXl9%Q6%#+VmLnJUHV0Uag=D;*?HIfEbah`rO;B669a}L zUiu=o82zRx-kUxNJqWbDr~DT4CIDNeWe36sb+c&ARa$08R}YuzWcW|mDAA7X^)iS1 z18#6lz%a34a8?MVXfc$cl1`GSCe&Kdz&%#cS7qX&IrzHSDwzxcmd;8VCfC z*k2TO&ze+}^y-pyfvWcLyJi-8mp-Fg6>gyo!XSbw4-lp!QZUMHLVq0S6g+*m)B&Rwf$=|smn-+aNDrUn2d3b=e8}>A(RYM;`;G}^=s`;8 zR!yL5y;gnJE;UUmH0=S6>L&5RfmTuVOqS40bA~jAs)<195Yt$HJ^GnK)Zr+v6@0@( z1?@G?kjJ$cgVCiq#8T6#zaRLW=+(PXCeIf4Nxs^n>f=jd`dU^ zwMPWcpYFSxslL=50@6$BaQJ-rG*fqB_*}4N?+ZgAH5E_gFv%{f&os_m(xX{rxJDuf z4I>vS7$b;el8N^wAXr|b$49!T@Csd|i9Nh7b$wxlbw6uC6pvH0nFczEmDk;XU+b-6;PEL!0a$Q*)?uoQ4U#glXYYtMRMO*R?Vb#IB zK&}Z*zsCRPq4>8%hG=6R4_}&`_XPV?FZ)#ZwB$&x<>9F@{jDdT1&6(gOIiZbv}F%_ z%K;cOHnE~#56Phw(0S&gJY@`JBD{te$_71*uY*DT|E}3AHCEmvs6L&1@^OReaS93B zguVUND%p?S<0)}j(mPna?$1|GgXi|E`@vXk>i!&cI^*Ll zgzH5S+?M>N9hb{+TvmWXkx3Qc(8@MG@Z3++UcZWIdKOenGrry_Tnm_zK~oa#bQ=Eq zHa>{NC0PtkO!4^6oQ8D`CuZbe*?M;mHU;f-JHqhbaBC3nuCL)vg zrI{mm1*U5Fk6^hju-vmtQTi{%mytwSm%CF_ zymgh`7D1`=>Kfy{{cYOIoy4Seo{*-^bnlPP|;D9!JhR|idFcd94qyhTacn@B! zKammHBbYzFQ==5|9x?$2yoWRK(GxehLO>r7E)nrVN z)jPH02$J@A5nPpN_j)iD-95~D?mKXPWf!q(B_!TPn~!#cIRi{1kjMe6zCsEl!pD4A zR`4};Lb|n{?_#v$7qYGAPRWdCb=%$eK4nh@d?y-r-5(t)E`Dye+^T|xTs^iTMme}&KQT15q+LD^np!I#=Y&a9KCZ{E z7{{u~gYS}uU%HJC^xjrAJ9U`E zL$Ow5>rOOh^pbM;Y-DfsH$>BSk+?10FyiieV(&rz;pxS#;X{7f*xQ51Sb=pq`FpWW zPp%}HdMDexV;qUmRWdoSK^M0U%nwFgNNtYjha^M?gIUl2Oz=%{mowdRLbnv^OIH0B z{bNJ;n6sn+Us25l0T}chEJ#g#n+0XbqrN%Q3$chtSNnQ&2131~ZIj|eY_!WZ&jMJ5 zaa!+a&C5%)X<8s5bFRiG?*UQ_>}QzsJ(ATgWE$x$jg^jnVoCDJ$2{XS$iN4jfhArm zs|%`LFPqtf(L4-~J$rfQmG&|@=!Se~VmADaJiD|L3TK9ARXikP)bDRUlR?s(7ozOR zo80V?!-fgQ?LNhx-4LRrl}w9It$_fTi0-H(GVO z_(8N?j-FZjAiqe$2eHa&^N`J1kppqA zR6b6fc>v${rmvpyei6)jR<+3yZs8tx5vA`*-7MR3NAhh7iAN`zq;Z+b&!hy~vQ-3YysPZ+9p46&-#E|Vr{w6#ZmF4R$^f&-2kyj8hQyH5v!tjAHhuK=<-ToE)^09QaO zXh_7>h>|5y%Oyn=@W?bVKus4 zfyhg$Of4h;LmO=Ta4`W#l?EJr!+Ql$7N*so9e4r3Jv7-MqnH>{E^RXIew4vgY>rMK zqGJT$J-}V~x+o7~TP87Up|(3%^^eMLK%e8z;{`yWnkD=#F$QBv319C@2e$fqaD1e*nWN31rSj`XOO<@aE*^)OJ6#z6m0v%;q{ z0BDqgR-ql4e}yWUab$KR@BLFG7tTr`5ROc{xR%`*ZzjK7WUKhL)RUNB<#ho;)K@?o4!25rq4!4$quT;+3165 zm78tnl3-WLz{$<9>9aLWpgcQ|V#cMEjY}z8TuN|qkK@D~v_DuYUlTxcT8J8F+%KZ? zk<A#{Y0(}iUG?k%2&_ispZ;#&!t5<@kW*m z+v8sVW*}I{6H~~mSrj26Ac8t3A3bP=e0-qFg$}Tv50o;(0%inMV1^xta1C`#N@87< zlJv<8*s)R)rA$iZs-hWaWHUq~gD60SVjX4Qb9+UlXUSf~In|=2BFxont~KC~pW|z| z8&ESRtKn`y%^ZKj-MEHuC>mT7%0?TQADBE-;~C_>D<(AxTp7|>b^j)pFU2!A3_uYi zOx^eS6TyXaK%jWCq-M)NnV$;q5us3*;zzfI(ecoNzT!SS@Pqqfz7P1yI*i{&aLgD% zjfQfG+twrcwZZZO!(8I8(E#SeAOLeKBYR~4gEDK?-6sRTfPXR==8QW*?!dCrb-9m4 zC?sRG%jX$hA^h*Aeh_1LjT*-YH_u~1sv--Yjs-E#(hDYF*+PLdI7WzhngVH|ja&G9 ztXx@CMHV>5%J_T)$6TWuq!k(Thw9zplQ68hD6BfK>ThU_8B4lz-Tvn2-`tl5esG7A zdg#BgKK}1ay*_jdR7TZWxfYn@J|o*YIXzd~-_^7`*6w!;z*iEp{M|`>vER5^{(Od& zL+5mAe{@=wjpvLW`CFFFeFZv|(CX@)ny&{L1;aiFa4b5auiM&`@zLQ!*eWiwxCTvvG^Y;Ovu<%*IOzxgBNe+(&q+_L=qj z%O(!;mq}_i$tkK0awhT7u<~oLrkEt+7_!HTX(i)1BfvEo@1xJ3qMIXd=vlk}*; zu5S<@m=~}b*XcNzXzeD?m`Koi<3+2o>x~yp)N;Gtc+txF-c;Z3MSI?O(a80vy=bo( zFB%Haew_+TjLyTsMye7UIp}(m^9|+_uAM;H)B4mKoM{{Fq8o9hz2rI5_JPZE-l3g> zDJK~guQCx8c-s-CfpX;V-joCe~)|QosQhwjpHo&m1S(k z_zJY&tj&E=F2pusu;PuxUE?=9ul;88Gk&xA8Nb;}_|0zAezV(5O{hWq%mj&$K2AL( z8}WY@;Yd zd(nnkJcrpv!lo2%U6kgRNE4?0Sli{5;xp^C9}2+0>VK!UPZL+9-}wr_&iKqO=)gdH zX8o^g6U+V8UN_`jjq)z+OUnZs7<{=d|b_rDnwd4H#P%1SmCmTb1-ol?4VlZ4l!yMqH%X{`ykN70m+`)I8-yR^-V zxK||`wGD{&4vM%xVxXH&hqJ71KdC0gKUR{&P~nO(RQC@6QK~c;h#V#f8LFcIxM#F` zY-1rlLcFNAk!-~-*(5RN<þMzk%;=Zti+MM-5?pczO#S9(wB{|NoB$=9Hzz|Yp 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

}AQmIu3j@pt&7 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

@8%M`%yJPe9 z3Lu_T8~)lK;#9(7`RaU5Gg{jk?ZI36Y%sOZ>}OAmOG>&g)OHfKpIFKDwn_CCT}(qJ~-m(S8mhFWg2zfu5cYU&KKahv3qtvGMmuqr`k6;I-O# ze_RN7L53bPAU_IjbT8-7s+}4K zt+nkKYaGCE(G>v8XbC=oOciEx!{oq&gXd)qo*z)=WgxVP^5cQD*-uG2oW7;ONw_W| zWWv9{5PV3C1jF-Jl5rHJxz}^p6x_yP6L;tS8!_5>qjM&1KG~gjO9SNufHmx9Ef+G zW-JH#eZ4iI9Ppl}8Owo+Uw?H%IS}$Z%~%c>^!3*yl*1jJry0xPn!a92D2JOmPcxRo zWqrLZp&ah(Jk3}RSN8Rz6UyP%&eM$LaB*LMZ9+NR-Fcd^9Io%{X>A$t05^D^W-NzG z{CayrIo#uUnz0~h9&Z2l;1wZw zZTi>%udChXIlP*4IJ^ce*wj}qyZE@_yG3#zVc z_1St&Sg%_+++HQPsq59|o&dPP-{dWcaQke%${o*ecx^PmYrH#;!>fDpXYhitWdeTD z4OM>nc>}yAxaV_tJu~SucnyZviyU6RHNY#~{Sb#&{TDxj*I;;ca(L}Dz$?}LB!`zH z`!jeAhF2Gd*Iom>Zg9WI;bohc2ruI8#nERch@SYf{oOk2 zY`i;!<*w%Ti?s6#~MqJba0%p1W51s4 zKPk=imJr>fS45WmleD>7$=${MZ)ujFqD43@BFW8>ad_{*fFFacec;+09FmtwrKJ480a< zh0y-_SG*oaCayrf?lcv%yKauHJ9#V@rX;GDS^X}vre5|OAj#Fs{s9rVog&AseAA3q zFEb~omqGJORWGXp3!JN$nKkt?@W1~e`eoIbe57%_?gEjfN|R{x*rDJY+R5F^ssbDw zH%_NffP>@4S!yhS<3S!OJO<3Im1{2$BlD_u>=^~&Y8v%;A%T( z8cR@5XBkU?pY5DwECFV=v)ot$oNQ;gu>{!I&I)4*@UWc~#u8v)J1dPPz`b@>8cTq6 z?VN2a0lu|!wy^}5)=rnP1US}Cm$3xc)y^to3Gk|&RmKuvR6FMwOMpx5oMS8j7PWJ( zu>|2Wy zN>Jku+~6JurN%0y=cd^55`56l_ygeKllOcLRFeBP4yxZ}a8O;IjlV$@f(cwHK5{9| z>PLQ(;t%1$ndJS62C%BW0Q}d->jP|oAID4R16YUF2S^sJ57r0x;j>q$4}e!C;AmLT zY1&`9KQvvD{NU2UgHO~4NYJN;YB-wwwDN;^eE?0Revm#uANiXiXH#{P+_U(c2X5qZ zE|U(Gm7TizobMb+=K_8!D8NpQL%o3)d`c7?4CycZVi2S&;JAxuPMCj(X|8HPT ze5Fl(n!MbsZCRt-k8rF^PQ3&`fB5su0`w1;1?XQje)9EC@O&s0uI)8|THQ}_fWCD7 zB>-CXv&#aMtdkO#xsIX#H{iKEM+4?a_eKuPCGbv87IHBQoBslsa^H-30udnM_a8<0 ze>F%$8<&E+~t28iL+}#|ETStqf zsv5Hz{UI4G2etLe^-KONkV3N~rXOs;L1AwR7PA2bReMWaWunipX#YGE9IRi$?JY?@ zrrBGnlzx@+0~-gC|C1^G7=7YGEw^(kmU+^dU-2hcwj$%cP;u6h zcs+i9an|1ki?i;Fsr{ylrkR8&6`Jz+WgcMKAO`t zemxk@(60($kjplZmrryF&k-Ht$bB3p7C48XoDE|wTYGudB7~z6*2*(2@*FEG&vF1f z#r}C&HWpC+1|!k$ch87#{pDFp#O*G+d?LNFX7k_sv39T1^!4rVGiG||Y+(gdN(;-q zH~Iz~o?Gu|Ms=Rg-O+-;JGo;XOf!1FXpVFgBQl-8I@T%Ywf&Zo$8?laVC`5$!7yG# zTc}sLEl8|VY@$CL59Dj)8VD}9esbIEo~!2IskO+}`hEx><2mx;JhcEGv$3NFm$FZk zP)}tR8Hs1eNWT(ZlMBG07q2JaczjDNcE11j{dtddnDBmrCQnjrJ?O0tRi1>`M-%*! zLOC3Z9nP-*yvHY0GmnJBMzaS{Scv>}!L+-t`QdV#CpAo3lKRb!(xf(`>wFJShrr+z zV!AW0?^*>$HB6NkPmg2h)r%ZHKb)Ca23uM2&aK}C?eIRh^4h^Yc^Pc9z~AITr8p}s z&68IEMzLTI!*;>5M7Z;kHjOjrGlNeRXS)UD`$Yd;&}Y{DcO8H}Gx_gYK>oXSur3TI zSY&SU?HESByaqYXgt<*@e{1Q>1b+kTjqhi_hi0$8?GP9t{)$6xdb`S1r93)HfU2Yi zMl^7?9!wf5$Kr7YOh{K@DXbl`zz-q%agYJiwjT`I_CV5Ua=`G1m?~kt1V3{pp|Fj+ zH;jk=``(*T#BLXRZzlc;1}+cfPuz&z?tkpP8S>ABy$;KzqNnc5?olvlsZu_K&v_0t z7&0Br4$uQ_tMMqJHHF&`tpaTF&q-_Y3D*Nk0VWIX0P1XR2Y+PkrP#-@_q#M>=qHc~ zKD_D@i(_|vO4}~+&?GzWZ%igK@f?{zl=PWAw_pyWO#;p1xbxS?Gv{l#!@8gk-kd#+ zxJ0Ei^%3FT6wx*y7us#F{MTl&{u?MQALGzVgK#Huv@p$~+-?Ed?Ufcc+>mhdDS0|kJw_^)= zhh&b$S&Le>@a6cxPy+ud9 z1!tO>j(pG!Y!!~oD^Li&%z2L*^aJ0Tm2lphvvAz=Q^9>)bUQ(Yr(ueV^vUL7e$6q%LvRyAZm} zjPr{Kq07uTzladJ%uF^)@F8@WnQWBcL+COy#aIGDmzgQX5@gnIc)hT_jLiDuo-QOJ zW|*-KGV32^tb@$@hZ{>k=rVJ-u>^!JGe;OpkXio-V+k_rkF$s-v;H`XXfo@Mvxp|M z{y2+hGV6~6DVg=h!IaGU<1C`dtUt~on#}s+ETYM*Kh7eW%=+UjqRFg3&LW!3`VFUT zdl{Ma$DOrg)*ojP4WY}-xKkBYQ4=8L&C&_Ob=U#0JzSPBRPA}=&P$w;z*c@FOfT*9Epna@?-I7ye=|!j7J_#*f9*o z1H_+(F7hE(eN=y;jg=fHdGr;Wmt;S1NfY0g{lIbKc}eyI$MG@{PA7GPr{?kY8JhgG z=cT~~{ULRq;8fq>``uBpA2^N^THh=>0C&F6_ptzW0p*sD=}7FWyTSb+-zlEf^W`Qx zDb_UM=!6U*JK(p!=C{xHZBNO^vzhC8s!bj(?WTj|Fis@n8DwIIjX#sAfYq3iLMaww z3ij^6hjwGiFiNo*Q-&ku1FQhmk;;g`hp9aK2i!`|WeGY)0&7QMJie$&YTb_6<~FR_ z(aJ-Ay$L>*h%=SlJ3YvW1mdS(yb+5Dfpc{0fU)V4h@(&y3ZN_jO@> z0po0^9dGyAlwr5h8@v`a0ydHpLYN7l(FlK;ot4>mD`vkn#}~j)OKvBAhuoWNVh zu@(fKd5TfsjfCPUi6*T`F_uYz4j*hZ^Uru+!h71!nb52!ORreG$&16qKE*(LR+*q6 z7&Hw+5p}$f&${rKI6aI!(Du62`tLM=3M=dO^^m2j4=+KFLH`F}feL%pb;u3Bj6anB zhupKhc72Vt&$}%JzJ~H69xxsR-=&lLfUF=vE6JHTda= zKjHnh%UST_y$EOG`)%9tg4<7}O(hX{4e%=dyYcuu{t^FPFa!Dfl$U%h?sBd1$2`ej zK;%;X0_c58>;M?PR|yWkMcPzlA`lGIK(IacO%(vxf7J1R())Fn>(Nl-$NP17%RT~0 z2KS1gwTF{ZzI;q_ z7$g%6(y*^`G}xZIi_Zstyypt|!RmWKmwM%}RCVcY@PUl+*JAehOQo7tDNzb|EC}tL z5KkOx?^6wu7$vj^LBJ*8Kn_sUSJB4J_6>}}M9J_feqgyieua;JMoKI0yI;at-(G=b z5a2jK^AE>_SMYw}W#_+18S4E)!}ufm{PXs%VEmVRQj&YLpT0@FwtPWu;z)qOU!=i< z5p-ZV$N#2C?@SN~!K9qnB51n+2N*#op5_aJ4u~N}+xy}PGtJJ%p4GrRK6x2tPn*Mc5~8 zZoCG{&L8G>cHrs^Pkt)6Hr(f1Ro#>1xvJ22-r_yY*?hk9BP1X8y(G$eC&_a)yasH; ztS0eymVM`kOReORfO1dr+~jS*`J`|w{$S&m*8Nz`eJ{x~%0Dw@8+L`H-uo%5^}A}8 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

    ka#rUD{vf0{#!*za=wS1+do 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
    dL^z|774g1QxdhHvW)- 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%0A?j{0jFQVU86V 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�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 BXrfvo73pG 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
    =-7vkUZ!$kbLSXS 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 literal 0 HcmV?d00001 diff --git a/curl/dep/brotli/LICENSE.txt b/curl/dep/brotli/LICENSE.txt new file mode 100644 index 0000000..33b7cdd --- /dev/null +++ b/curl/dep/brotli/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/curl/dep/brotli/README.md b/curl/dep/brotli/README.md new file mode 100644 index 0000000..67bf4d9 --- /dev/null +++ b/curl/dep/brotli/README.md @@ -0,0 +1,95 @@ +

    + GitHub Actions Build Status + Fuzzing Status +

    +

    Brotli

    + +### Introduction + +Brotli is a generic-purpose lossless compression algorithm that compresses data +using a combination of a modern variant of the LZ77 algorithm, Huffman coding +and 2nd order context modeling, with a compression ratio comparable to the best +currently available general-purpose compression methods. It is similar in speed +with deflate but offers more dense compression. + +The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://tools.ietf.org/html/rfc7932). + +Brotli is open-sourced under the MIT License, see the LICENSE file. + +> **Please note:** brotli is a "stream" format; it does not contain +> meta-information, like checksums or uncompresssed data length. It is possible +> to modify "raw" ranges of the compressed stream and the decoder will not +> notice that. + +### Build instructions + +#### Vcpkg + +You can download and install brotli using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: + + git clone https://github.com/Microsoft/vcpkg.git + cd vcpkg + ./bootstrap-vcpkg.sh + ./vcpkg integrate install + ./vcpkg install brotli + +The brotli port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. + +#### Bazel + +See [Bazel](http://www.bazel.build/) + +#### CMake + +The basic commands to build and install brotli are: + + $ mkdir out && cd out + $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed .. + $ cmake --build . --config Release --target install + +You can use other [CMake](https://cmake.org/) configuration. + +#### Python + +To install the latest release of the Python module, run the following: + + $ pip install brotli + +To install the tip-of-the-tree version, run: + + $ pip install --upgrade git+https://github.com/google/brotli + +See the [Python readme](python/README.md) for more details on installing +from source, development, and testing. + +### Contributing + +We glad to answer/library related questions in +[brotli mailing list](https://groups.google.com/forum/#!forum/brotli). + +Regular issues / feature requests should be reported in +[issue tracker](https://github.com/google/brotli/issues). + +For reporting vulnerability please read [SECURITY](SECURITY.md). + +For contributing changes please read [CONTRIBUTING](CONTRIBUTING.md). + +### Benchmarks +* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/) +* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html) +* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark) + +### Related projects +> **Disclaimer:** Brotli authors take no responsibility for the third party projects mentioned in this section. + +Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification. + +JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli` + +Hand ported [decoder / encoder](https://github.com/dominikhlbg/BrotliHaxe) in haxe by Dominik Homberger. Output source code: JavaScript, PHP, Python, Java and C# + +7Zip [plugin](https://github.com/mcmilk/7-Zip-Zstd) + +Dart [native bindings](https://github.com/thosakwe/brotli) + +Dart compression framework with [fast FFI-based Brotli implementation](https://pub.dev/documentation/es_compression/latest/brotli/brotli-library.html) with ready-to-use prebuilt binaries for Win/Linux/Mac diff --git a/curl/dep/cacert/LICENSE.url b/curl/dep/cacert/LICENSE.url new file mode 100644 index 0000000..3819c02 --- /dev/null +++ b/curl/dep/cacert/LICENSE.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://www.mozilla.org/media/MPL/2.0/index.txt diff --git a/curl/dep/libpsl/AUTHORS.txt b/curl/dep/libpsl/AUTHORS.txt new file mode 100644 index 0000000..7613332 --- /dev/null +++ b/curl/dep/libpsl/AUTHORS.txt @@ -0,0 +1,24 @@ +Authors of and contributors to libpsl. +Thank you very much for spending your time ! + +Also many thanks for anyone who contributed ideas, +took part in discussions or 'just' asked questions. + +Please drop me a note if you feel you should have +been mentioned here. + +Tim Ruehsen (Implementation of libpsl) +Daniel Kahn Gillmor (Discussion, Ideas, Organization, Code) +Daniel Stenberg (Discussion, Ideas) +Darshit Shah (Patching Wget to work with libpsl) +Dagobert Michelsen (Fixed Solaris building) +Christopher Meng (Fedora building) +Jakub Čajka +Giuseppe Scrivano +Ryan Sleevi (Discussion, Requested DAFSA format and ICANN/PRIVATE support) +Daurnimator (Code review, discussion, reports) +Olle Liljenzin (Original DAFSA implementation and UTF-8 patch) +Claudio Saveedra (Add support for PSL_TYPE_NO_STAR_RULE) +Chun-wei Fan (Add NMake files) +Xavier Claessens (Add Meson build system) +Ignacio Casal Quinteiro (Improve Meson build) diff --git a/curl/dep/libpsl/COPYING.txt b/curl/dep/libpsl/COPYING.txt new file mode 100644 index 0000000..85945e7 --- /dev/null +++ b/curl/dep/libpsl/COPYING.txt @@ -0,0 +1,19 @@ +Copyright (C) 2014-2024 Tim Rühsen + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/curl/dep/libpsl/NEWS.txt b/curl/dep/libpsl/NEWS.txt new file mode 100644 index 0000000..f0c56d0 --- /dev/null +++ b/curl/dep/libpsl/NEWS.txt @@ -0,0 +1,237 @@ +Copyright (C) 2014-2024 Tim Rühsen + +13.01.2024 Release V0.21.5 + * Fix version.txt + +13.01.2024 Release V0.21.4 + * Fix meson build (missing ICONV_CONST in config.h) + +13.01.2024 Release V0.21.3 + * Improved build with meson + * Fixed and improved build on Windows + * Improved build instructions + * Install psl-make-dafsa + +26.12.2022 Release V0.21.2 + * Increased internal label size + * Meson build improvements (needs meson >= 0.60.0) + * Autoconf build improvements + * Add instructions on how to build from tarball + * Add WSAStartup() for Windows psl tool and tests + * Bump gettext version to 0.19.3 + * Fix stack buffer overflow WRITE 1 in domain_to_punycode() + (Relevant only when built without any IDNA library.) + * Fix undefined behavior in library code + * Ensures that calls to fopen() and stat() can handle largefiles + * Several minor (non-functional) changes + +18.07.2020 Release V0.21.1 + * Fixing a test due to recent changes in upstream PSL + * Meson build improvements + * Documentation cleanups + * Use semantic versioning for git tags + +16.04.2019 Release V0.21.0 + * Add -b/--batch to 'psl' to suppress printing the domain + * Add support for Meson build system + * Improve build system + * Improve Windows compatibility + * Remove NLS / gettext + * Several cleanups and cosmetics + +26.04.2018 Release V0.20.2 + * Fix non srcdir builds + * Add API decoration + * Fix for MSVC/Win32 builds + * Detection fallback from libidn2 to libcu, libidn + * Fix MinGW cross builds on Linux + * Add NMake Makefiles for Visual Studio builds + +26.02.2018 Release V0.20.1 + * Fix issue introduced with PSL_TYPE_NO_STAR_RULE in V0.20.0 + * Fix SO_VERSION to 8:0:3 + * Improve unit tests + +22.02.2018 Release V0.20.0 + * Remove hard-coded gcc flag in Makefile.am + * Prevent excessive CPU cycles on large inputs + * New flag PSL_TYPE_NO_STAR_RULE to skip star rule + +09.11.2017 Release V0.19.1 + * Add the forgotten commit with NEWS and configure.ac + +09.11.2017 Release V0.19.0 + * New function psl_free_string() + * psl_make_dafsa now works with python2 and python3 + * psl_*count() functions now return -1 if info is not available + * Fixed unsigned integer overflow in _mem_is_ascii() + * Add -fsanitize-address-use-after-scope to --enable-asan if available + +20.07.2017 Release V0.18.0 + * Fix order of files in psl_latest() + * Add fuzzing architecture + * Fix memleak in _psl_is_public_suffix() + * Add configure option --enable-asan (Address sanitizer) + * Add configure option --enable-usan (Undefined sanitizer) + * Add configure option --enable-cfi (Control Flow Integrity) + * Fix finding libidn2 for static builds + * Fix use of uninitialized stack value + * Fix buffer overflow in libicu build + * Use libidn2 as default for builds (former libicu) + * Add pkg-config support for libidn and libidn2 + +16.01.2017 Release V0.17.0 + * Use TR46 non-transitional for IDNA (libicu, libidn2 >= 0.14) + * Fix coverage upload from TravisCI to Coveralls + * New tests to cover psl_latest() and psl_dist_filename() + +15.12.2016 Release V0.16.1 + * Fix SO_VERSION to 6:0:1 + * Add --use-latest-psl to tools/psl as default + +16.12.2016 Release V0.16.0 + * Add functions psl_latest() and psl_dist_filename() + * Do not taint out variable on error in psl_str_to_utf8lower() + * Replace psl2c by psl-make-dafsa + * Add missing includes for OpenBSD + * Fix typos + * Update copyright year + +14.11.2016 Release V0.15.0 + * Python3 compatibility for psl-make-dafsa + * Support for UTF-8 in DAFSA data + * Skip punycode conversion if DAFSA has UTF-8 + * Better code coverage by test suite + * Code cleanup and enhancements + * Install man pages for psl-make-dafsa and psl + * Enhancements to the documentation + +30.07.2016 Release V0.14.0 + * Remove unneeded libraries from tools/psl link step + * Use https instead of http where possible + * Add man page for tools/psl + * Add header magic to DAFSA files + * Rename make_dafsa.py to psl-make-dafsa + * Add man page for psl-make-dafsa + +02.03.2016 Release V0.13.0 + * Use tests.txt as PSL test file by default + * Slightly shorter DAFSA array when sorting input + * Check for python 2.7+ in configure.ac + * Fix python3 incompatibilities in make_dafsa.py + +02.01.2016 Release V0.12.0 + * Load DAFSA binaries via psl_load_file() via auto-detection + * Add more tests + * Remove psl_builtin_compile_time() + * Compile PSL into DAFSA using make_dafsa.py + * Avoid libicu dependency with --enable-runtime=no + * Test on new Travis-CI build farm + * Use DAFSA format for builtin PSL data + * Add function psl_is_public_suffix2() + * Fix psl_builtin_outdated() + * Fix several bugs + * Cleanup code + +23.09.2015 Release V0.11.0 + * Add new function psl_check_version_number() + * Add version defines to include file + +19.09.2015 Release V0.10.0 + * Code simplified + * Less data entries, faster lookups + * Add new function psl_suffix_wildcard_count() + * Add new helper function psl_builtin_outdated() + +15.09.2015 Release V0.9.0 + * Added semantic checks to PSL entries when generating built-in data + * Fix test suite for TLD exceptions (not used yet in reality) + * Removed wrong assumption from test suite + * Support explicit combination of 'foo.bar' and '*.foo.bar' + +14.08.2015 Release V0.8.1 + * Fix documentation + * Add syntax checking of tests_psl.txt + +06.08.2015 Release V0.8.0 + * Add https://github.com/publicsuffix as git submodule + * Support Debian 'Reproducible Builds' + * Fix generation of docs + * Check UTF-8 sequences for validity (for libidn<=1.30) + * Add LICENSE to distribution tarball + * Fix compatibility function strndup + +21.02.2015 Release V0.7.1 + * include configured PSL file into tarball + +30.01.2015 Release V0.7.0 + * include effective_tld_names.dat of date 29.12.2014 + * do not install docs when gtk-doc is not installed + * fix several compatibility issues with Solaris + * fix 'make distcheck' after 'make clean' + * mark API as stable + * use pkg-config to detect libicu + +14.11.2014 Release V0.6.2 + * revoked commit from 0.6.1 to satisfy Travis-CI + +14.11.2014 Release V0.6.1 + * include effective_tld_names.dat of date 04.11.2014 + * fix pkg-config configuration + +28.10.2014 Release V0.6.0 + * added support for IP addresses in psl_is_cookie_domain_acceptable() + * removed qsort_r() for compatibility + * check for alloca.h before including + * include effective_tld_names.dat of date 27.10.2014 + +03.08.2014 Release V0.5.1 + * fix ASCII check for architectures where char <> signed char + +02.07.2014 Release V0.5.0 + * added configure --enable-runtime to allow for IDNA library + selection as runtime dependency + * added configure --enable-builtin to allow for IDNA library + selection for generating the built-in PSL data + * fixed psl_str_to_utf8lower prototype + * fixed authors name to UTF-8 + +23.06.2014 Release V0.4.0 + * depend on libicu for punycode, utf-8 and lowercase conversions + * added function psl_str_to_utf8lower() + * fixed locale issues + * introducing psl_error_t for error codes + defines + * removed redundant code from psl2c.c + * updated docs + * psl utility reads from stdin if no argument specified + +10.06.2014 Release V0.3.1 + * link psl utility dynamically + * fix output of psl_filename() + * cleanup for psl --help + * removed check for idn2 in autogen.sh + +05.06.2014 Release V0.3.0 + * added support for libicu in psl2c (IDNA2008 UTS#46) + this needs pkg-config and libicu-dev installed + * added --version to psl utility + +31.05.2014 Release V0.2.5 + * added psl_get_version() + * removed version from library name + +30.05.2014 Release V0.2.4 + * fixed psl_builtin() to return NULL if no built-in PSL data is available + +27.05.2014 Release V0.2.3 + * changed API version to 0.2 + +26.05.2014 Release V0.2.2 + * changed code to C89 + * added a few test cases + * build static library by default + +25.04.2014 Hotfix release V0.2.1 + * updated to the latest Publix Suffix List + +25.04.2014 Initial release V0.2 diff --git a/curl/dep/libressl/COPYING.txt b/curl/dep/libressl/COPYING.txt new file mode 100644 index 0000000..892e14a --- /dev/null +++ b/curl/dep/libressl/COPYING.txt @@ -0,0 +1,133 @@ + + LibReSSL files are retained under the copyright of the authors. New + additions are ISC licensed as per OpenBSD's normal licensing policy, + or are placed in the public domain. + + The OpenSSL code is distributed under the terms of the original OpenSSL + licenses which follow: + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. In case of any license issues + related to OpenSSL please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + diff --git a/curl/dep/libressl/ChangeLog.txt b/curl/dep/libressl/ChangeLog.txt new file mode 100644 index 0000000..0ab115b --- /dev/null +++ b/curl/dep/libressl/ChangeLog.txt @@ -0,0 +1,3239 @@ +Because this project is maintained both in the OpenBSD tree using CVS and in +Git, it can be confusing following all of the changes. + +Most of the libssl and libcrypto source code is here in OpenBSD CVS: + + https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/ + +Some of the libcrypto and OS-compatibility files for entropy and random number +generation are here: + + https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libcrypto/ + +A simplified TLS wrapper library is here: + + https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libtls/ + +The LibreSSL Portable project copies these portions of the OpenBSD tree, along +with relevant portions of the C library, to a Git repository. This makes it +easier to follow all of the relevant changes to the upstream project in a +single place: + + https://github.com/libressl/openbsd + +The portable bits of the project are largely maintained out-of-tree, and their +history is also available from Git. + + https://github.com/libressl/portable + +LibreSSL Portable Release Notes: + +4.1.0 - Stable release + + * Portable changes + - Added initial experimental support for loongarch64. + - Fixed compilation for mips32 and reenable CI. + - Fixed CMake builds on FreeBSD. + - Fixed the --prefix option for cmake --install. + - Fixed tests for MinGW due to missing sh(1). + * Internal improvements + - Cleaned up the error implementation. + - Many bug fixes and simplifications in the EC ASN.1 code. + - Corrected DER encoding for EC keys and parameters. + - Polished EC_POINT_{oct2point,point2oct}() internals. + - Rewrote the wNAF code for fast ECDSA verification. + - Improved the code setting compressed coordinates for EC points. + - Reworked CPU capabilities detection for amd64 and aarch64. + - New SHA-1, SHA-256 and SHA-512 assembly implementations for amd64. + These make use of the SHA-NI instruction if it is available and + replace the perl-generated assembly optimized for museum pieces. + These are not yet enabled in libressl-portable. + - New SHA-256 and SHA-512 assembly implementations for aarch64 + making use of the ARM Cryptographic Extension (CE). Not yet + enabled in libressl-portable. + - New simplified, readable MD5 implementation for amd64. + - Rewrote BN_bn2binpad() and its lebin siblings. + - The BIGNUMs in EC_GROUP and EC_POINT are now heap allocated. + - Rewrote TS_ASN1_INTEGER_print_bio(). + - Improved bit counter handling in MD5. + - Simplified and cleaned up the BN_RECP_CTX internals. + - Improved SM4 to match other symmetric ciphers more closely. + - Rewrote X509_NAME_oneline() and X509_NAME_print() using CBS/CBB. + - CRLs are now cached in the issuer cache like certificates. + - Replaced combinations of BN_MONT_CTX_new/set with an internal + BN_MONT_CTX_create(). + - Replaced BN_bn2hex() reimplementation in openssl(1) ca with + a proper API call. + - Fixed integer overflows due to signed shift in obj_dat.c. + - Improved some X509_VERIFY_PARAM internals and avoid an out of + bounds read from public API. + - Imported ML-KEM 768 and 1024 from BoringSSL (not yet public API). + * Compatibility changes + - Added an OPENSSL_INIT_NO_ATEXIT flag for OPENSSL_init_crypto(). + It has no effect since LibreSSL doesn't call atexit(). + - Elliptic curve parameters are only accepted if they encode a + built-in curve. + - EC_METHOD is no longer public and the API exposing it has been + removed. This includes EC_GROUP_new(), EC_GFp_mont_method(), + EC_GROUP_method_of() and EC_METHOD_get_field_type(). + - The precomputation stubs for EC_GROUP were removed. + - The API setting Jacobian projective coordinates for a point was + removed as were EC_POINTs_{mul,make_affine}(). + - All elliptic curves over fields with less than 224 bits and a + few more were removed from the built-in curves. This includes + all WTLS curves and P-192. + - It is no longer necessary to set RSA_FLAG_SIGN_VER to use the + sign and verify handlers set with RSA_meth_set_{sign,verify}. + - Removed the -C option to generate "C code" from the openssl(1) + dh, dhparam, dsaparam, ecparam, and x509 subcommands. + - Removed #error in headers when OPENSSL_NO_* is defined. + - CRYPTO_set_mem_functions() now matches OpenSSL 1.1 and + CRYPTO_set_mem_ex_functions() was removed. + - The tls_session_secret_cb_fn type now matches OpenSSL 1.1. + - Unexport X509_NAME_print() and X509_OBJECT_up_ref_count(). + - const corrected UI_OpenSSL() and BN_MONT_CTX_copy(). + - Support OPENSSL_NO_FILENAMES. + - Support SSL_OP_NO_RENEGOTIATION and SSL_OP_ALLOW_CLIENT_RENEGOTIATION. + - Export PKCS12_key_gen_uni() again. + * New features + - libtls has a new tls_peer_cert_common_name() API call to retrieve + the peer's common name without having to inspect the PEM. + * Bug fixes + - Plugged a leak in eckey_compute_pubkey(). + - Again allow the magic values -1, -2 and -3 for the salt length + of an RSA-PSS key in the EVP_PKEY_CTX_ctrl_str() interface. + - Fixed a few memory leaks in legacy code. + * Documentation + - The remaining undocumented public EVP API is now documented. + - Reorganization of existing documentation for clarity and accuracy. + * Testing and proactive security + - Improved regress coverage of the EC code. + +4.0.0 - Stable release + + * Portable changes + - Added initial Emscripten support in CMake builds. + - Removed timegm() compatibility layer since all uses were replaced + with OPENSSL_timegm(). Cleaned up the corresponding test harness. + - The mips32 platform is no longer actively supported. + - Fixed Windows support for dates beyond 2038. + * Internal improvements + - Cleaned up parts of the conf directory. Simplified some logic, + fixed memory leaks. + - Simplified X509_check_trust() internals to be somewhat readable. + - Removed last internal uses of gmtime() and timegm() and replaced + them with BoringSSL's posix time conversion API. + - Removed unnecessary stat calls in by_dir. + - Split parsing and processing of TLS extensions to ensure that + extension callbacks are called in a predefined order. + - Cleaned up the MD4 and MD5 implementations. + - Assembly functions are no longer exposed in the public API, they + are all wrapped by C functions. + - Removed assembly implementations of legacy ciphers on legacy + architectures. + - Merged most multi-file implementations of ciphers into one or two + C files. + - Removed the cache of certificate validity. This was added for + performance reasons which no longer apply since BoringSSL's time + conversion API isn't slow. Also, a recently added error check led + to obscure, undesirable validation failures. + - Stopped calling OPENSSL_cpuid_setup() from the .init section on + amd64 and i386. + - Rewrote various BN conversion functions. + - Improved certification request internals. + - Removed unused DSA methods. + - Improved X.509v3 extension internals. Fixed various bugs and leaks + in X509V3_add1_i2d() and X509V3_get_d2i(). Their implementations + now vaguely resemble code. + - Rewrote BN_bn2mpi() using CBB. + - Made most error string tables const. + - Removed handling for SSLv2 client hello messages. + - Improvements in the openssl(1) speed app's signal handler. + - Cleaned up various X509v3_* extension API. + - Unified the X.509v3 extension methods. + - Cleaned up cipher handling in SSL_SESSION. + - Removed get_cipher from SSL_METHOD. + - Rewrote CRYPTO_EX_DATA from scratch. The only intentional change of + behavior is that there is now a hard limit on the number of indexes + that can be allocated. + - Removed bogus connect() call from netcat. + - Uses of atoi() and strtol() in libcrypto were replaced with + strtonum(). + - Introduced crypto_arch.h which will contain the architecture + dependent code and defines rather than the public opensslconf.h. + - OPENSSL_cpu_caps() is now architecture independent. + - Reorganized the DES implementation to use fewer files and removed + optimizations for ancient processors and compilers. + * New features + - Added CRLfile option to the cms command of openssl(1) to specify + additional CRLs for use during verification. + * Documentation improvements + - Removed documentation of no longer existing API. + - Unified the description of the obsolete ENGINE parameter that + needs to remain in many functions and should always be NULL. + * Testing and proactive security + - Switched the remaining tests to new certs. + * Compatibility changes + - Protocol parsing in libtls was changed. The unsupported TLSv1.1 + and TLSv1.0 protocols are ignored and no longer enable or disable + TLSv1.2 in surprising ways. + - The dangerous EVP_PKEY*_check(3) family of functions was removed. + The openssl(1) pkey and pkeyparam commands no longer support the + -check and -pubcheck flags. + - The one-step hashing functions, MD4(), MD5(), RIPEMD160(), SHA1(), + all SHA-2, and HMAC() no longer support returning a static buffer. + Callers must pass in a correctly sized buffer. + - Support for Whirlpool was removed. Applications still using this + should honor OPENSSL_NO_WHIRLPOOL. + - Removed workaround for F5 middle boxes. + - Removed the useless pem2.h, a public header that was added since + it was too hard to add a single prototype to one file. + - Removed conf_api.h and the public API therein. + - Removed ssl2.h, ssl23.h and ui_compat.h. + - Numerous conf and attribute functions were removed. Some unused + types were removed, others were made opaque. + - Removed the deprecated HMAC_Init() function. + - Removed OPENSSL_load_builtin_modules(). + - Removed X509_REQ_{get,set}_extension_nids(). + - X509_check_trust() and was removed, X509_VAL was made opaque. + - Only specified versions can be set on certs, CRLs and CSRs. + - Removed unused PEM_USER and PEM_CTX types from pem.h. + - Removed typdefs for COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, + STORE_METHOD, and SSL_AEAD_CTX. + - i2d_ASN1_OBJECT() now returns -1 on error like most other i2d_*. + - SPKAC support was removed from openssl(1). + - Added TLS1-PRF support to the EVP interface. + - Support for attributes in EVP_PKEYs was removed. + - The X509at_* API is no longer public. + - SSL_CTX_set1_cert_store() and SSL_CIPHER_get_handshake_digest() + were added to libssl. + - The completely broken UI_UTIL password API was removed. + - The OpenSSL pkcs12 command and PKCS12_create() no longer support + setting the Microsoft-specific Local Key Set and Cryptographic + Service Provider attributes. + * Bug fixes + - Made ASN1_TIME_set_string() and ASN1_TIME_set_string_X509() match + their documentation. They always set an RFC 5280 conformant time. + - Improved standards compliance for supported groups and key shares + extensions: + - Duplicate key shares are disallowed. + - Duplicate supported groups are disallowed. + - Key shares must be sent in the order of supported groups. + - Key shares will only be selected if they match the most + preferred supported group by client preference order. + - Fixed signed integer overflow in bnrand(). + - Prevent negative zero from being created via BN_clear_bit() and + BN_mask_bits(). Avoids a one byte overread in BN_bn2mpi(). + - Add guard to avoid contracting the number linear hash buckets + to zero, which could lead to a crash due to accessing a zero + sized allocation. + - Fixed i2d_ASN1_OBJECT() with an output buffer pointing to NULL. + - Implemented RSA key exchange in constant time. This is done by + decrypting with RSA_NO_PADDING and checking the padding in libssl + in constant time. This is possible because the pre-master secret + is of known length based on the size of the RSA key. + - Rewrote SSL_select_next_proto() using CBS, also fixing a buffer + overread that wasn't reachable when used as intended from an + ALPN callback. + - Avoid pushing a spurious error onto the error stack in + ssl_sigalg_select(). + - Made fatal alerts fatal in QUIC. + +3.9.2 - Stable release + + * Bugfixes + - OpenBSD 7.5 errata 003. A missing bounds check could lead to a crash + due to dereferencing a zero-sized allocation. + +3.9.1 - Stable release + + * Portable changes + - Updated tests with expiring certificates + - CET-related build fixes for Windows and macOS targets + - update libtls linker script to include libssl and libcrypto again + +3.9.0 - Development release + + * Portable changes + - libcrypto no longer exports compat symbols in cmake builds. + - Most compatibility symbols are prefixed with libressl_ to avoid + symbol clashes in static links. + - Fixed various warnings on Windows. + - Removed assert pop-ups with Windows debug builds. + - Fixed crashes and hangs in Windows ARM64 builds. + - Improved control-flow enforcement (CET) support. + * Internal improvements + - Converted uses of OBJ_bsearch_() to standard bsearch(). + - Greatly simplified by_file_ctrl(). + - Simplified and cleaned up the OBJ_ API. + - Cleaned up the EVP_Cipher{Init,Update,Final}() implementations. + - Removed unused function pointers from X.509 stores and contexts. + - A lot of cleanup and reorganization in EVP. + - Removed all remaining ENGINE tentacles. + - Simplified internals of X509_TRUST handling. + - Made deletion from a lhash doall callback safe. + - Rewrote BIO_dump*(3) internals to be less bad. + * Documentation improvements + - ENGINE documentation was updated to reflect reality. + - Made EVP API documentation more accurate and less incoherent. + - Call out some shortcomings of the EC_KEY_set_* API explicitly. + * Testing and proactive security + - Bug fixes and simplifications in the Wycheproof tests. + * Compatibility changes + - Added ChaCha20 and chacha20 aliases for ChaCha. + - SSL_library_init() now has the same effect as OPENSSL_init_ssl(). + - EVP_add_{cipher,digest}() were removed. From the OBJ_NAME API, + only OBJ_NAME_do_all*() remain. In particular, it is no longer + possible to add aliases for ciphers and digests. + - The thread unsafe global tables are no longer supported. It is no + longer possible to add aliases for ciphers and digests, custom ASN.1 + strings table entries, ASN.1 methods, PKEY methods, digest methods, + CRL methods, purpose and trust identifiers, or X.509 extensions. + - Removed the _cb() and _fp() versions of BIO_dump{,_indent}(). + - BIO_set() was removed. + - BIO_{sn,v,vsn}printf() were removed. + - Turn the long dysfunctional openssl(1) s_client -pause into a noop. + - openssl(1) x509 now supports -new -force_pubkey, -multivalue-rdn, + -set_issuer, -set_subject, and -utf8. + - Support ECDSA with SHA-3 signature algorithms. + - Support HMAC with truncated SHA-2 and SHA-3 as PBE PRF. + - GOST and STREEBOG support was removed. + - CRYPTO_THREADID, _LHASH, _STACK, X509_PURPOSE are now opaque, + X509_CERT_AUX and X509_TRUST were removed from the public API. + - ASN1_STRING_TABLE_get() and X509_PURPOSE_get0*() now return const + pointers. + - EVP_{CIPHER,MD}_CTX_init()'s signatures and semantics now match + OpenSSL's behavior. + - sk_find_ex() and OBJ_bsearch_() were removed. + - CRYPTO_malloc() was fixed to use size_t argument. CRYPTO_malloc() + and CRYPTO_free() now accept file and line arguments. + - A lot of decrepit CRYPTO memory API was removed. + * Bug fixes + - Fixed aliasing issues in BN_mod_exp_simple() and BN_mod_exp_recp(). + - Fixed numerous misuses of X509_ALGOR_set0() resulting in leaks and + potentially incorrect encodings. + - Fixed potential double free in X509v3_asid_add_id_or_range(). + - Stopped using ASN1_time_parse() outside of libcrypto. + - Prepared OPENSSL_gmtime() and OPENSSL_timegm() as public API + wrappers of internal functions compatible with BoringSSL API. + - Removed print_bin() to avoid overwriting the stack with 5 bytes + of ' ' when ECPK parameters are printed with large indentation. + - Avoid a NULL dereference after memory allocation failure during TLS + version downgrade. + - Fixed various bugs in CMAC internals. + - Fixed 4-byte overreads in GHASH assembly on amd64 and i386. + - Fixed various NULL dereferences in PKCS #12 code due to mishandling + of OPTIONAL content in PKCS #7 ContentInfo. + - Aligned SSL_shutdown() behavior in TLSv1.3 with the legacy stack. + - Fixed the new X.509 verifier to find trust anchors in the trusted + stack. + - Made in-place decryption work for EVP_chacha20_poly1305(). + +3.8.4 - Stable release + + * Portable changes + - Updated tests with expiring certificates + - CET-related build fixes for Windows and macOS targets + - update libtls linker script to include libssl and libcrypto again + +3.8.3 - Stable release + + * Portable changes + - Removed assert pop-ups with Windows debug builds. + - Fixed crashes and hangs in Windows ARM64 builds. + - Improved control-flow enforcement (CET) support. + +3.8.2 - Stable release + + * Portable changes + - Fixed processor detection for CMake targets. + Thanks to @jiegec from github. + - Enabled building oscpcheck with MSVC. + Thanks to @FtZPetruska from github. + - Improve CMake package detection and installation. + Thanks to @mark-groundctl from github. + - Fixed assembly optimizations on x64 Windows targets. + - Allow disabling warnings about WINCRYPT overrides. + - Use system arc4random on FreeBSD 12 and newer. + * Documentation improvements + - Documented the RFC 3779 API. + * Compatibility changes + - Restrict the RFC 3779 code to IPv4 and IPv6. It was not written + to be able to deal with anything else. + - Fixed EVP_CIPHER_CTX_iv_length() to return what was set with + EVP_CTRL_AEAD_SET_IVLEN or one of its aliases. + * Bug fixes + - Fixed EVP_PKEY_get{0,1}_RSA for RSA-PSS. + - Plug a potential memory leak in ASN1_TIME_normalize(). + - Avoid memory leak in EVP_CipherInit(). + - Redirect EVP_PKEY_get1_* through their get0 siblings. + - Fixed a use of uninitialized in i2r_IPAddrBlocks(). + - Rewrote CMS_SignerInfo_{sign,verify}(). + - Further cleanup and refactoring in the EC code. + - Allow IP addresses to be specified in a URI. + - Fixed a copy-paste error in ASN1_TIME_compare() that could lead + to two UTCTimes or two GeneralizedTimes incorrectly being compared + as equal. + +3.8.1 - Development release + + * Portable changes + - Applications bundled as part of the LibreSSL package internally, + nc(1) and openssl(1), now are linked statically if static libraries + are built. + - Internal compatibility function symbols are no longer exported from + libcrypto. Instead, the libcompat library is linked to libcrypto, + libssl, and libtls separately. This increases size a little, but + ensures that the libraries are not exporting symbols to programs + unintentionally. + - Selective removal of CET implementation on platforms where it is + not supported (macOS). + - Integrated four more tests. + - Added Windows ARM64 architecture to tested platforms. + - Removed Solaris 10 support, fixed Solaris 11. + - libtls no longer links statically to libcrypto / libssl unless + '--enable-libtls-only' is specified at configure time. + - Improved Windows compatibility library, namely handling of files vs + sockets, correcting an exception when operating on a closed socket. + - CMake builds no longer hardcode '-O2' into the compiler flags, instead + using flags from the CMake build type instead. + - Set the CMake default build type to 'Release'. This can be overridden + during configuration. + - Fixed broken ASM support with MinGW builds. + * Internal improvements + - Fixed alignment handling in SHA-512. + - Moved the verified_chain to the correct internal struct. + - Improved checks for commonName in libtls. + - Fixed error check for X509_get_ext_d2i() failure in libtls. + - Improved BIGNUM internals and performance. + - Significantly improved Montgomery multiplication performance. + - Initial cleanup passes for SHA-256 internals. + - Converted more libcrypto internals API using CBB and CBS. + - Removed code guarded by #ifdef ZLIB. + - Changed ASN1_item_sign_ctx() and ASN1_item_verify() to work with + Ed25519 and fixed a few bugs in there. + - Fixed various issues with EVP_PKEY_CTX_{new,dup}(). + - Improved X.509 certificate version checks. + - Cleaned up handling of elliptic curve cofactors. + - Made BN_num_bits() independent of bn->top. + - Rewrote and simplified bn_sqr(). + - Removed EC_GROUP precomp machinery. + - Ensure no X.509v3 extensions appear more than once in certificates. + - Cleaned up various ECDH, ECDSA and EC internals. + - Replaced ASN1_bn_print with a cleaner internal implementation. + - Simplified ASN1_item_sign_ctx(). + - Rewrote OBJ_find_sigid_algs() and OBJ_find_sigid_by_algs(). + - Various improvements in the 'simple' EC code. + - Fix OPENSSL_cpuid_setup() invocations on arm/aarch64. + - Reduced the dependency of hash implementations on many layers of + macros. This results in significant speedups since modern compilers + are now less confused. + - Significantly simplified the BN_BLINDING internals used in RSA. + * New features + * Compatibility changes + - X509_NAME_get_text_by_{NID,OBJ}() now only succeed if they contain + valid UTF-8 without embedded NUL. + - Moved libtls from ECDSA_METHOD to EC_KEY_METHOD. + - Removed support for ECDH_METHOD and ECDSA_METHOD. + - BN_is_prime{,_fasttest}_ex() refuse to check numbers larger than + 32 kbits for primality. This mitigates various DoS vectors. + - Comp was removed. + - Dynamic loading of conf modules is no longer supported. + - DSO was removed and OPENSSL_NO_DSO is defined. + - ENGINE support was removed and OPENSSL_NO_ENGINE is set. In spite + of this, some stub functions are provided to avoid patching some + applications that do not honor OPENSSL_NO_ENGINE. + - It is no longer possible to make the library use your own error + stack or ex_data implementation. + * Bug fixes + - Fixed aliasing issue in BN_mod_inverse(). + - Made CRYPTO_get_ex_new_index() not return 0 to allow applications + to use *_{get,set}_app_data() and *_{get,set}_ex_data() alongside + each other. + - Made EVP_PKEY_set1_hkdf_key() fail on a NULL key. + - Plugged leaks in BIO_chain_dup(). + - Fixed numerous leaks and other minor bugs in RSA, DH, DSA and EC + ASN.1 methods. Unified the coding style. + - On socket errors in the poll loop, netcat could issue system calls + on invalidated file descriptors. + * Documentation improvements + - Made it very explicit that the verify callback should not be used. + - Called out that the CRL lastUpdate is standardized as thisUpdate. + * Testing and Proactive Security + - As always, new test coverage is added as bugs are fixed and subsystems + are cleaned up. + * Security fixes + - Disabled TLSv1.0 and TLSv1.1 in libssl so that they may no longer + be selected for use. + +3.8.0 - Development release + + * Portable changes + - Extended the endian.h compat header with hto* and *toh macros. + - Adapted more tests to the portable framework. + - Internal tools are now statically linked. + * Internal improvements + - Improved sieve of Eratosthenes script used for generating a table + of small primes. + - Started cleaning up and rewriting SHA internals. + - Replace internal use of BN_copy() with bn_copy() for consistency. + - Rewrote and improved BN_exp() and BN_copy(). + - Add branch target information (BTI) support to arm64 assembly. + - Replaced BN_mod_sqrt() with a new implementation. + - Removed incomplete and dangerous BN_RECURSION code. + - Added endbr64 instructions to amd64 assembly. + - Imported RFC 5280 policy checking code from BoringSSL and used it + to replace the old exponential time code. + - Converted more of libcrypto to use CBB/CBS. + - Cleaned up and simplified the code dealing with builtin curves. + * New features + - Added support for truncated SHA-2 and for SHA-3. + - The BPSW primality test performs additional Miller-Rabin rounds + with random bases to reduce the likelihood of composites passing. + - Allow testing of ciphers and digests using badly aligned buffers + in openssl speed. + - Added a workaround for a poorly thought-out change in OpenSSL 3 that + broke privilege separation support in libtls. + * Compatibility changes + - Support for GF2m was removed: BIGNUM no longer supports binary extension + field arithmetic and all binary elliptic builtin curves were removed. + - Removed dangerous, "fast" NIST prime and elliptic curve implementations. + In particular, EC_GFp_nist_method() is no longer available. + - Removed most public symbols that were deprecated in OpenSSL 0.9.8. + - Removed the public X9.31 API (RSA_X931_PADDING is still available). + - Removed Cipher Text Stealing mode. + - Removed SXNET and NETSCAPE_CERT_SEQUENCE support including the + openssl(1) nseq command. + - Dropped proxy certificate (RFC 3820) support. + - The POLICY_TREE and its related structures and API were removed. + - The explicitText user notice uses UTF8String instead of VisibleString + to reduce the risk of emitting certificates with invalid DER-encoding. + - Initial fixes for RSA-PSS support to make the TLSv1.3 stack more + compliant with RFC 8446. + * Bug fixes + - Correctly handle negative input to various BIGNUM functions. + - Ensure ERR_load_ERR_strings() does not set errno unexpectedly. + - Fix error checking of i2d_ECDSA_SIG() in ossl_ecdsa_sign(). + - Fixed detection of extended operations (XOP) on AMD hardware. + - Ensure Montgomery exponentiation is used for the initial RSA blinding. + - Policy is always checked in X509 validation. Critical policy extensions + are no longer silently ignored. + - Fixed error handling in tls_check_common_name(). + - Add missing pointer invalidation in SSL_free(). + - Fixed X509err() and X509V3err() and their internal versions. + - Ensure that OBJ_obj2txt() always returns a C string again. + - In X509_VERIFY_PARAM_inherit() copy hostflags independently of the + host list. + * Documentation improvements + - Improved documentation of BIO_ctrl(3), BIO_set_info_callback(3), + BIO_get_info_callback(3), BIO_method_type(3), and BIO_method_name(3). + - Marked BIO_CB_return(), BIO_cb_pre(), and BIO_cb_post() as intentionally + undocumented. + * Testing and Proactive Security + - Significantly improved test coverage of BN_mod_sqrt() and GCD. + - As always, new test coverage is added as bugs are fixed and subsystems + are cleaned up. + +3.7.3 - Bug and reliability fixes + + * Bug fix + - Hostflags in the verify parameters would not propagate from an + SSL_CTX to newly created SSL. + * Reliability fix + - A double free or use after free could occur after SSL_clear(3). + +3.7.2 - Stable release + + * Portable changes + - Moved official Github project to https://github.com/libressl/. + - Build support for Apple Silicon. + - Installed opensslconf.h is now architecture-specific. + - Removed internal defines from opensslconf.h. + - Support reproducible builds on tagged commits in main branch. + +3.7.1 - Development release + + * Internal improvements + - Initial overhaul of the BIGNUM code: + - Added a new framework that allows architecture-dependent + replacement implementations for bignum primitives. + - Imported various s2n-bignum's constant time assembly primitives + and switched amd64 to them. + - Lots of cleanup, simplification and bug fixes. + - Changed Perl assembly generators to move constants into .rodata, + allowing code to run with execute-only permissions. + - Capped the number of iterations in DSA and ECDSA signing (avoiding + infinite loops), added additional sanity checks to DSA. + - ASN.1 parsing improvements. + - Made UI_destroy_method() NULL safe. + - Various improvements to nc(1). + - Always clear EC groups and points on free. + - Cleanup and improvements in EC code. + - Various openssl(1) improvements. + * Bug fixes + - Fixed a memory leak, a double free and various other issues in + BIO_new_NDEF(). + - Fixed various crashes in the openssl(1) testing utility. + - Do not check policies by default in the new X.509 verifier. + - Added missing error checking in PKCS7. + - Call CRYPTO_cleanup_all_ex_data() from OPENSSL_cleanup(). + * New features + - Added UI_null() + - Added X509_STORE_*check_issued() + - Added X509_CRL_get0_tbs_sigalg() and X509_get0_uids() accessors. + - Added EVP_CIPHER_meth_*() setter API. + * Documentation improvements + - Marked BIO_s_log(3) BIO_nread0(3), BIO_nread(3), BIO_nwrite0(3), BIO_nwrite(3), + BIO_dump_cb(3) and BIO_dump_indent_cb(3) as intentionally undocumented. + - Document BIO_number_read(3), BIO_number_written(3), + BIO_set_retry_read(3), BIO_set_retry_write(3), + BIO_set_retry_special(3), BIO_clear_retry_flags(3), + BIO_get_retry_flags(3), BIO_dup_chain(3), BIO_set_flags(3), + BIO_clear_flags(3), BIO_test_flags(3), BIO_get_flags(3). + BIO_callback_fn_ex(3), BIO_set_callback_ex(3), BIO_get_callback_ex(3), + BIO_callback_fn(3), and the BIO_FLAGS_* constants + - Correct the prototypes of BIO_get_conn_ip(3) and BIO_get_conn_int_port(3). + - Document ED25519_keypair(3), ED25519_sign(3), and ED25519_verify(3). + - Document EVP_PKEY_new_raw_private_key(3), + EVP_PKEY_new_raw_public_key(3), EVP_PKEY_get_raw_private_key(3), and + EVP_PKEY_get_raw_public_key(3). + - Document ASN1_buf_print(3). + - Document DH_get0_*, DSA_get0_*, ECDSA_SIG_get0_{r,s}() and RSA_get0_*. + - Merged documentation of UI_null() from OpenSSL 1.1 + - Various spelling and other documentation improvements. + * Testing and Proactive Security + - As always, new test coverage is added as bugs are fixed and subsystems + are cleaned up. + - New Wycheproof tests added. + - OpenSSL 3.0 Interop tests added. + - Many old tests rewritten, cleaned up and extended. + * Security fixes + - A malicious certificate revocation list or timestamp response token + would allow an attacker to read arbitrary memory. + +3.7.0 - Development release + + * Internal improvements + - Remove dependency on system timegm() and gmtime() by replacing + traditional Julian date conversion with POSIX epoch-seconds date + conversion from BoringSSL. + - Clean old and unused BN code dealing with primes. + - Start rewriting name constraints code using CBS. + - Remove support for the HMAC PRIVATE KEY. + - Rework DSA signing and verifying internals. + - First few passes on cleaning up the BN code. + - Internal headers coming from OpenSSL are all called *_local.h now. + - Rewrite TLSv1.2 key exporter. + - Cleaned up and refactored various aspects of the legacy TLS stack. + * Compatibility changes + - BIO_read() and BIO_write() now behave more closely to OpenSSL 3 in + various corner cases. More work is needed here. + * Bug fixes + - Add EVP_chacha20_poly1305() to the list of all ciphers. + - Fix potential leaks of EVP_PKEY in various printing functions + - Fix potential leak in OBJ_NAME_add(). + - Avoid signed overflow in i2c_ASN1_BIT_STRING(). + - Clean up EVP_PKEY_ASN1_METHOD related tables and code. + - Fix long standing bugs BN_GF2m_poly2arr() and BN_GF2m_mod(). + - Fix segfaults in BN_{dec,hex}2bn(). + - Fix NULL dereference in x509_constraints_uri_host() reachable only + in the process of generating certificates. + - Fixed a variety of memory corruption issues in BIO chains coming + from poor old and new API: BIO_push(), BIO_pop(), BIO_set_next(). + - Avoid potential divide by zero in BIO_dump_indent_cb() + * Documentation improvements + - Numerous improvements and additions for ASN.1, BIO, BN, and X.509. + - The BN documentation is now considered to be complete. + * Testing and Proactive Security + - As always, new test coverage is added as bugs are fixed and + subsystems are cleaned up. + - Many old tests rewritten, cleaned up and extended. + * New features + - Added Ed25519 support both as a primitive and via OpenSSL's EVP + interfaces. + - X25519 is now also supported via EVP. + - The OpenSSL 1.1 raw public and private key API is available with + support for EVP_PKEY_ED25519, EVP_PKEY_HMAC and EVP_PKEY_X25519. + Poly1305 is not currently supported via this interface. + +3.6.3 - Bug and reliability fixes + + * Bug fix + - Hostflags in the verify parameters would not propagate from an + SSL_CTX to newly created SSL. + * Reliability fix + - A double free or use after free could occur after SSL_clear(3). + +3.6.2 - Security release + + * Security fix + - A malicious certificate revocation list or timestamp response token + would allow an attacker to read arbitrary memory. + +3.6.1 - Stable release + + * Bug fixes + - Custom verification callbacks could cause the X.509 verifier to + fail to store errors resulting from leaf certificate verification. + Reported by Ilya Shipitsin. + - Unbreak ASN.1 indefinite length encoding. + Reported by Niklas Hallqvist. + +3.6.0 - Development release + + * Internal improvements + - Avoid expensive RFC 3779 checks during cert verification. + - The templated ASN.1 decoder has been cleaned up, refactored, + modernized with parts rewritten using CBB and CBS. + - The ASN.1 time parser has been rewritten. + - Rewrite and fix ASN1_STRING_to_UTF8(). + - Use asn1_abs_set_unused_bits() rather than inlining it. + - Simplify ec_asn1_group2curve(). + - First pass at a clean up of ASN1_item_sign_ctx() + - ssl_txt.c was cleaned up. + - Internal function arguments and struct member have been changed + to size_t. + - Lots of missing error checks of EVP API were added. + - Clean up and clarify BN_kronecker(). + - Simplify ASN1_INTEGER_cmp() + - Rewrite ASN1_INTEGER_{get,set}() using CBS and CBB and reuse + the ASN1_INTEGER functions for ASN1_ENUMERATED. + - Use ASN1_INTEGER to parse and build {Z,}LONG_it + - Refactored and cleaned up group (elliptic curve) handling in + t1_lib.c. + - Simplify certificate list handling code in the legacy server. + - Make CBB_finish() fail if *out_data is not NULL. + - Remove tls_buffer_set_data() and remove/revise callers. + - Rewrite SSL{_CTX,}_set_alpn_protos() using CBS. + - Simplify tlsext_supported_groups_server_parse(). + - Remove redundant length checks in tlsext parse functions. + - Simplify tls13_server_encrypted_extensions_recv(). + - Add read and write support to tls_buffer. + - Convert TLS transcript from BUF_MEM to tls_buffer. + - Clear key on exit in PKCS12_gen_mac(). + - Minor fixes in PKCS12_parse(). + - Provide and use a primitive clear function for BIGNUM_it. + - Use ASN1_INTEGER to encode/decode BIGNUM_it. + - Add stack frames to AES-NI x86_64 assembly. + - Use named initialisers for BIGNUMs. + - Tidy up some of BN_nist_mod_*. + - Expand BLOCK_CIPHER_* and related macros. + - Avoid shadowing the cbs function parameter in + tlsext_alpn_server_parse() + - Deduplicate peer certificate chain processing code. + - Make it possible to signal an error from an i2c_* function. + - Rewrite i2c_ASN1_INTEGER() using CBB/CBS. + - Remove UINT32_MAX limitation on ChaCha() and CRYPTO_chacha_20(). + - Remove bogus length checks from EVP_aead_chacha20_poly1305(). + - Reworked DSA_size() and ECDSA_size(). + - Stop using CBIGNUM_it internal to libcrypto. + - Provide c2i_ASN1_ENUMERATED_cbs() and call it from + asn1_c2i_primitive(). + - Ensure ASN.1 types are appropriately encoded. + - Avoid recycling ASN1_STRINGs when decoding ASN.1. + - Tidy up asn1_c2i_primitive() slightly. + - Mechanically expand IMPLEMENT_BLOCK_CIPHER, IMPLEMENT_CFBR, + BLOCK_CIPHER and the looney M_do_cipher macros. + - Use correct length for EVP CFB mode ciphers. + - Provide a version of ssl_msg_callback() that takes a CBS. + - Use CBS to parse TLS alerts in the legacy stack. + - Increment the input and output position for EVP AES CFB1. + - Ensure there is no trailing data for a CCS received by the + TLSv1.3 stack. + - Use CBS when procesing a CCS message in the legacy stack. + - Be stricter with middlebox compatibility mode in the TLSv1.3 + server. + * Compatibility changes + - The ASN.1 time parser has been refactored and rewritten using CBS. + It has been made stricter in that it now enforces the rules from + RFC 5280. + - ASN1_AFLG_BROKEN was removed. + - Error check tls_session_secret_cb() like OpenSSL. + - Added ASN1_INTEGER_{get,set}_{u,}int64() + - Move leaf certificate checks to the last thing after chain + validation. + - Added -s option to openssl(1) ciphers that only shows the ciphers + supported by the specified protocol. + - Use TLS_client_method() instead of TLSv1_client_method() in + the openssl(1) ciphers command. + - Validate the protocols in SSL{_CTX,}_set_alpn_protos(). + - Made TS and PKCS12 opaque. + - Per RFC 7292, safeContentsBag is a SEQUENCE OF, not a SET OF. + - Align PKCS12_key_gen_uni() with OpenSSL + - Various PKCS12 and TS accessors were added. In particular, the + TS_RESP_CTX_set_time_cb() function was added back. + - Allow a NULL header in PEM_write{,_bio}() + - Allow empty attribute sets in CSRs. + - Adjust signatures of BIO_ctrl functions. + - Provide additional defines for EVP AEAD. + - Provide OPENSSL_cleanup(). + - Make BIO_info_cb() identical to bio_info_cb(). + * Bug fixes + - Avoid use of uninitialized in BN_mod_exp_recp(). + - Fix X509_get_extension_flags() by ensuring that EXFLAG_INVALID is + set on X509_get_purpose() failure. + - Fix HMAC() with NULL key. + - Add ERR_load_{COMP,CT,KDF}_strings() to ERR_load_crypto_strings(). + - Avoid strict aliasing violations in BN_nist_mod_*(). + - Do not return X509_V_ERR_UNSPECIFIED from X509_check_ca(). + No return value of X509_check_ca() indicates failure. Application + code should therefore issue a checked call to X509_check_purpose() + before calling X509_check_ca(). + - Rewrite and fix X509v3_asid_subset() to avoid segfaults on some + valid input. + - Call the ASN1_OP_D2I_PRE callback after ASN1_item_ex_new(). + - Fix d2i_ASN1_OBJECT to advance the *der_in pointer correctly. + - Avoid use of uninitialized in ASN1_STRING_to_UTF8(). + - Do not pass uninitialized pointer to ASN1_STRING_to_UTF8(). + - Do not refuse valid IPv6 addresses in nc(1)'s HTTP CONNECT proxy. + - Do not reject primes in trial divisions. + - Error out on negative shifts in BN_{r,l}shift() instead of + accessing arrays out of bounds. + - Fix URI name constraints, allow for URI's with no host part. + - Fix the legacy verifier callback behaviour for untrusted certs. + - Correct serfver-side handling of TLSv1.3 key updates. + - Plug leak in PKCS12_setup_mac(). + - Plug leak in X509V3_add1_i2d(). + - Only print X.509 versions we know about. + - Avoid signed integer overflow due to unary negation + - Initialize readbytes in BIO_gets(). + - Plug memory leak in CMS_add_simple_smimecap(). + - Plug memory leak in X509_REQ_print_ex(). + - Check HMAC() return value to avoid a later use of uninitialized. + - Avoid potential NULL dereference in ssl_set_pkey(). + - Check return values in ssl_print_tmp_key(). + - Switch loop bounds from size_t to int in check_hosts(). + - Avoid division by zero if no connection was made in s_time.c. + - Check sk_SSL_CIPHER_push() return value + - Avoid out-of-bounds read in ssl_cipher_process_rulestr(). + - Use LONG_MAX as the limit for ciphers with long based APIs. + * New features + - EVP API for HKDF ported from OpenSSL and subsequently cleaned up. + - The security level API (SSL_{,CTX}_{get,set}_security_level()) is + now available. Callbacks and ex_data are not supported. Sane + software will not be using this. + - Experimental support for the BoringSSL QUIC API. + - Add initial support for TS ESSCertIDv2 verification. + - LibreSSL now uses the Baillie-PSW primality test instead of + Miller-Rabin . + +3.5.3 - Reliability fix + + * Fix d2i_ASN1_OBJECT(). A confusion of two CBS resulted in advancing + the passed *der_in pointer incorrectly. Thanks to Aram Sargsyan for + reporting the issue and testing the fix. + +3.5.2 - Stable release + + * Bug fixes + - Avoid single byte overread in asn1_parse2(). + - Allow name constraints with a leading dot. From Alex Wilson. + - Relax a check in x509_constraints_dirname() to allow prefixes. + From Alex Wilson. + - Fix NULL dereferences in openssl(1) cms option parsing. + - Do not zero the computed cofactor on ec_guess_cofactor() success. + - Bound cofactor in EC_GROUP_set_generator() to reduce the number of + bogus groups that can be described with nonsensical parameters. + - Avoid various potential segfaults in EVP_PKEY_CTX_free() in low + memory conditions. Reported for HMAC by Masaru Masuda. + - Plug leak in ASN1_TIME_adj_internal(). + - Avoid infinite loop for custom curves of order 1. + Issue reported by Hanno Boeck, comments by David Benjamin. + - Avoid an infinite loop on parsing DSA private keys by validating + that the provided parameters conform to FIPS 186-4. + Issue reported by Hanno Boeck, comments by David Benjamin. + * Compatibility improvements + - Allow non-standard name constraints of the form @domain.com. + * Internal improvements + - Limit OID text conversion to 64 bits per arc. + - Clean up and simplify memory BIO code. + - Reduce number of memmove() calls in memory BIOs. + - Factor out alert handling code in the legacy stack. + - Add sanity checks on p and q in old_dsa_priv_decode() + - Cache the SHA-512 hash instead of the SHA-1 for CRLs. + - Suppress various compiler warnings for old gcc versions. + - Remove free_cont from asn1_d2i_ex_primitive()/asn1_ex_c2i(). + - Rework ownership handling in x509_constraints_validate(). + - Rework ASN1_STRING_set(). + - Remove const from tls1_transcript_hash_value(). + - Clean up and simplify ssl3_renegotiate{,_check}(). + - Rewrite legacy TLS and DTLS unexpected handshake message handling. + - Simplify SSL_do_handshake(). + - Rewrite ASCII/text to ASN.1 object conversion. + - Provide t2i_ASN1_OBJECT_internal() and use it for OBJ_txt2obj(). + - Split armv7 and aarch64 code into separate locations. + - Rewrote openssl(1) ts to use the new option handling and cleaned + up the C code. + - Provide asn1_get_primitive(). + - Convert {c2i,d2i}_ASN1_OBJECT() to CBS. + - Remove the minimum record length checks from dtls1_read_bytes(). + - Clean up {dtls1,ssl3}_read_bytes(). + - Be more careful with embedded and terminating NULs in the new + name constraints code. + - Check EVP_Digest* return codes in openssl(1) ts + - Various minor code cleanup in openssl(1) pkcs12 + - Use calloc() in pkey_hmac_init(). + - Simplify priv_key handling in d2i_ECPrivateKey(). + * Documentation improvements + - Update d2i_ASN1_OBJECT(3) documentation to reflect reality after + refactoring and bug fixes. + - Fixed numerous minor grammar, spelling, wording, and punctuation + issues. + +3.5.1 - Security release + + * A malicious certificate can cause an infinite loop. + Reported by and fix from Tavis Ormandy and David Benjamin, Google. + +3.5.0 - Development release + + * New Features + - The RFC 3779 API was ported from OpenSSL. Many bugs were fixed, + regression tests were added and the code was cleaned up. + - Certificate Transparency was ported from OpenSSL. Many internal + improvements were made, resulting in cleaner and safer code. + Regress coverage was added. libssl does not yet make use of it. + * Portable Improvements + - Fixed various POSIX compliance and other portability issues + found by the port to the Sortix operating system. + - Add libmd as platform specific libraries for Solaris. + Issue reported from (ihsan opencsw org) on libressl ML. + - Set IA-64 compiler flag only if it is HP-UX with IA-64. + Suggested from Larkin Nickle (me larbob org) by libressl ML. + - Enabled and scheduled Coverity scan. + Contributed by Ilya Shipitsin (chipitsine gmail com> on github. + * Compatibility Changes + - Most structs that were previously defined in the following headers + are now opaque as they are in OpenSSL 1.1: + bio.h, bn.h, comp.h, dh.h, dsa.h, evp.h, hmac.h, ocsp.h, rsa.h, + x509.h, x509v3.h, x509_vfy.h + - Switch TLSv1.3 cipher names from AEAD- to OpenSSL's TLS_ + OpenSSL added the TLSv1.3 ciphersuites with "RFC names" instead + of using something consistent with the previous naming. Various + test suites expect these names (instead of checking for the much + more sensible cipher numbers). The old names are still accepted + as aliases. + - Subject alternative names and name constraints are now validated + when they are added to certificates. Various interoperability + problems with stacks that validate certificates more strictly + than OpenSSL can be avoided this way. + - Attempt to opportunistically use the host name for SNI in s_client + * Bug fixes + - In some situations, the verifier would discard the error on an + unvalidated certificate chain. This would happen when the + verification callback was in use, instructing the verifier to + continue unconditionally. This could lead to incorrect decisions + being made in software. + - Avoid an infinite loop in SSL_shutdown() + - Fix another return 0 bug in SSL_shutdown() + - Handle zero byte reads/writes that trigger handshakes in the + TLSv1.3 stack + - A long standing memleak in libtls CRL handling was fixed + * Internal Improvements + - Cache the SHA-512 hash instead of the SHA-1 hash and cache + notBefore and notAfter times when X.509 certificates are parsed. + - The X.509 lookup code has been simplified and cleaned up. + - Fixed numerous issues flagged by coverity and the cryptofuzz + project + - Increased the number of Miller-Rabin checks in DH and DSA + key/parameter generation + - Started using the bytestring API in libcrypto for cleaner and + safer code + - Convert {i2d,d2i}_{,EC_,DSA_,RSA_}PUBKEY{,_bio,_fp}() to templated + ASN1 + - Convert ASN1_OBJECT_new() to calloc() + - Convert ASN1_STRING_type_new() to calloc() + - Rewrite ASN1_STRING_cmp() + - Use calloc() for X509_CRL_METHOD_new() instead of malloc() + - Convert ASN1_PCTX_new() to calloc() + - Replace asn1_tlc_clear and asn1_tlc_clear_nc macros with a + function + - Consolidate {d2i,i2d}_{pr,pu}.c + - Remove handling of a NULL BUF_MEM from asn1_collect() + - Pull the recursion depth check up to the top of asn1_collect() + - Inline collect_data() in asn1_collect() + - Convert asn1_d2i_ex_primitive()/asn1_collect() from BUF_MEM to CBB + - Clean up d2i_ASN1_BOOLEAN() and i2d_ASN1_BOOLEAN() + - Consolidate ASN.1 universal tag type data + - Rewrite ASN.1 identifier/length parsing in CBS + - Make OBJ_obj2nid() work correctly with NID_undef + - tlsext_tick_lifetime_hint is now an uint32_t + - Untangle ssl3_get_message() return values + - Rename tls13_buffer to tls_buffer + - Fold DTLS_STATE_INTERNAL into DTLS1_STATE + - Provide a way to determine our maximum legacy version + - Mop up enc_read_ctx and read_hash + - Fold SSL_SESSION_INTERNAL into SSL_SESSION + - Use ssl_force_want_read in the DTLS code + - Add record processing limit to DTLS code + - Add explicit CBS_contains_zero_byte() check in CBS_strdup() + - Improve SNI hostname validation + - Ensure SSL_set_tlsext_host_name() is given a valid hostname + - Fix a strange check in the auto DH codepath + - Factor out/rewrite DHE key exchange + - Convert server serialisation of DHE parameters/public key to new + functions + - Check DH public key in ssl_kex_peer_public_dhe() + - Move the minimum DHE key size check into ssl_kex_peer_params_dhe() + - Clean up and refactor server side DHE key exchange + - Provide CBS_get_last_u8() + - Provide CBS_get_u64() + - Provide CBS_add_u64() + - Provide various CBS_peek_* functions + - Use CBS_get_last_u8() to find the content type in TLSv1.3 records + - unifdef TLS13_USE_LEGACY_CLIENT_AUTH + - Correct SSL_get_peer_cert_chain() when used with the TLSv1.3 stack + - Only allow zero length key shares when we know we're doing HRR + - Pull key share group/length CBB code up from + tls13_key_share_public() + - Refactor ssl3_get_server_kex_ecdhe() to separate parsing and + validation + - Return 0 on failure from send/get kex functions in the legacy + stack + - Rename tls13_key_share to tls_key_share + - Allocate and free the EVP_AEAD_CTX struct in + tls13_record_protection + - Convert legacy TLS client to tls_key_share + - Convert legacy TLS server to tls_key_share + - Stop attempting to duplicate the public and private key of dh_tmp + - Rename dh_tmp to dhe_params + - Rename CERT to SSL_CERT and CERT_PKEY to SSL_CERT_PKEY + - Clean up pkey handling in ssl3_get_server_key_exchange() + - Fix GOST skip certificate verify handling + - Simplify tlsext_keyshare_server_parse() + - Plumb decode errors through key share parsing code + - Simplify SSL_get_peer_certificate() + - Cleanup/simplify ssl_cert_type() + - The S3I macro was removed + - The openssl(1) cms and smime subcommands option handling was + converted and the C source was cleaned up. + * Documentation improvements + - 45 new manual pages, most of which were written from scratch. + Documentation coverage of ASN.1 and X.509 code has been + significantly improved. + * API additions and removals + - libssl + API additions + SSL_get0_verified_chain SSL_peek_ex SSL_read_ex SSL_write_ex + API stubs for compatibility + SSL_CTX_get_keylog_callback SSL_CTX_get_num_tickets + SSL_CTX_set_keylog_callback SSL_CTX_set_num_tickets + SSL_get_num_tickets SSL_set_num_tickets + - libcrypto + added API (some of these were previously available as macros): + ASIdOrRange_free ASIdOrRange_new ASIdentifierChoice_free + ASIdentifierChoice_new ASIdentifiers_free ASIdentifiers_new + ASN1_TIME_diff ASRange_free ASRange_new BIO_get_callback_ex + BIO_get_init BIO_set_callback_ex BIO_set_next + BIO_set_retry_reason BN_GENCB_set BN_GENCB_set_old + BN_abs_is_word BN_get_flags BN_is_negative + BN_is_odd BN_is_one BN_is_word BN_is_zero BN_set_flags + BN_to_montgomery BN_with_flags BN_zero_ex CTLOG_STORE_free + CTLOG_STORE_get0_log_by_id CTLOG_STORE_load_default_file + CTLOG_STORE_load_file CTLOG_STORE_new CTLOG_free + CTLOG_get0_log_id CTLOG_get0_name CTLOG_get0_public_key + CTLOG_new CTLOG_new_from_base64 CT_POLICY_EVAL_CTX_free + CT_POLICY_EVAL_CTX_get0_cert CT_POLICY_EVAL_CTX_get0_issuer + CT_POLICY_EVAL_CTX_get0_log_store CT_POLICY_EVAL_CTX_get_time + CT_POLICY_EVAL_CTX_new CT_POLICY_EVAL_CTX_set1_cert + CT_POLICY_EVAL_CTX_set1_issuer + CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE + CT_POLICY_EVAL_CTX_set_time DH_get0_g DH_get0_p DH_get0_priv_key + DH_get0_pub_key DH_get0_q DH_get_length DSA_bits DSA_get0_g + DSA_get0_p DSA_get0_priv_key DSA_get0_pub_key DSA_get0_q + ECDSA_SIG_get0_r ECDSA_SIG_get0_s EVP_AEAD_CTX_free + EVP_AEAD_CTX_new EVP_CIPHER_CTX_buf_noconst + EVP_CIPHER_CTX_get_cipher_data EVP_CIPHER_CTX_set_cipher_data + EVP_MD_CTX_md_data EVP_MD_CTX_pkey_ctx EVP_MD_CTX_set_pkey_ctx + EVP_MD_meth_dup EVP_MD_meth_free EVP_MD_meth_new + EVP_MD_meth_set_app_datasize EVP_MD_meth_set_cleanup + EVP_MD_meth_set_copy EVP_MD_meth_set_ctrl EVP_MD_meth_set_final + EVP_MD_meth_set_flags EVP_MD_meth_set_init + EVP_MD_meth_set_input_blocksize EVP_MD_meth_set_result_size + EVP_MD_meth_set_update EVP_PKEY_asn1_set_check + EVP_PKEY_asn1_set_param_check EVP_PKEY_asn1_set_public_check + EVP_PKEY_check EVP_PKEY_meth_set_check + EVP_PKEY_meth_set_param_check EVP_PKEY_meth_set_public_check + EVP_PKEY_param_check EVP_PKEY_public_check FIPS_mode + FIPS_mode_set IPAddressChoice_free IPAddressChoice_new + IPAddressFamily_free IPAddressFamily_new IPAddressOrRange_free + IPAddressOrRange_new IPAddressRange_free IPAddressRange_new + OBJ_get0_data OBJ_length OCSP_resp_get0_certs OCSP_resp_get0_id + OCSP_resp_get0_produced_at OCSP_resp_get0_respdata + OCSP_resp_get0_signature OCSP_resp_get0_signer + OCSP_resp_get0_tbs_sigalg PEM_write_bio_PrivateKey_traditional + RSA_get0_d RSA_get0_dmp1 RSA_get0_dmq1 RSA_get0_e RSA_get0_iqmp + RSA_get0_n RSA_get0_p RSA_get0_pss_params RSA_get0_q + SCT_LIST_free SCT_LIST_print SCT_LIST_validate SCT_free + SCT_get0_extensions SCT_get0_log_id SCT_get0_signature + SCT_get_log_entry_type SCT_get_signature_nid SCT_get_source + SCT_get_timestamp SCT_get_validation_status SCT_get_version + SCT_new SCT_new_from_base64 SCT_print SCT_set0_extensions + SCT_set0_log_id SCT_set0_signature SCT_set1_extensions + SCT_set1_log_id SCT_set1_signature SCT_set_log_entry_type + SCT_set_signature_nid SCT_set_source SCT_set_timestamp + SCT_set_version SCT_validate SCT_validation_status_string + X509_OBJECT_free X509_OBJECT_new X509_REQ_get0_pubkey + X509_SIG_get0 X509_SIG_getm X509_STORE_CTX_get_by_subject + X509_STORE_CTX_get_num_untrusted + X509_STORE_CTX_get_obj_by_subject X509_STORE_CTX_get_verify + X509_STORE_CTX_get_verify_cb X509_STORE_CTX_set0_verified_chain + X509_STORE_CTX_set_current_cert X509_STORE_CTX_set_error_depth + X509_STORE_CTX_set_verify X509_STORE_get_verify + X509_STORE_get_verify_cb X509_STORE_set_verify + X509_get_X509_PUBKEY X509_get_extended_key_usage + X509_get_extension_flags X509_get_key_usage + X509v3_addr_add_inherit X509v3_addr_add_prefix + X509v3_addr_add_range X509v3_addr_canonize X509v3_addr_get_afi + X509v3_addr_get_range X509v3_addr_inherits + X509v3_addr_is_canonical X509v3_addr_subset + X509v3_addr_validate_path X509v3_addr_validate_resource_set + X509v3_asid_add_id_or_range X509v3_asid_add_inherit + X509v3_asid_canonize X509v3_asid_inherits + X509v3_asid_is_canonical X509v3_asid_subset + X509v3_asid_validate_path X509v3_asid_validate_resource_set + d2i_ASIdOrRange d2i_ASIdentifierChoice d2i_ASIdentifiers + d2i_ASRange d2i_IPAddressChoice d2i_IPAddressFamily + d2i_IPAddressOrRange d2i_IPAddressRange d2i_SCT_LIST + i2d_ASIdOrRange i2d_ASIdentifierChoice i2d_ASIdentifiers + i2d_ASRange i2d_IPAddressChoice i2d_IPAddressFamily + i2d_IPAddressOrRange i2d_IPAddressRange i2d_SCT_LIST + i2d_re_X509_CRL_tbs i2d_re_X509_REQ_tbs i2d_re_X509_tbs i2o_SCT + i2o_SCT_LIST o2i_SCT o2i_SCT_LIST + removed API: + ASN1_check_infinite_end ASN1_const_check_infinite_end EVP_dss + EVP_dss1 EVP_ecdsa HMAC_CTX_cleanup HMAC_CTX_init + NETSCAPE_ENCRYPTED_PKEY_free NETSCAPE_ENCRYPTED_PKEY_new + NETSCAPE_PKEY_free NETSCAPE_PKEY_new NETSCAPE_X509_free + NETSCAPE_X509_new OBJ_bsearch_ex_ PEM_SealFinal PEM_SealInit + PEM_SealUpdate PEM_read_X509_CERT_PAIR + PEM_read_bio_X509_CERT_PAIR PEM_write_X509_CERT_PAIR + PEM_write_bio_X509_CERT_PAIR X509_CERT_PAIR_free + X509_CERT_PAIR_new X509_OBJECT_free_contents asn1_do_adb + asn1_do_lock asn1_enc_free asn1_enc_init asn1_enc_restore + asn1_enc_save asn1_ex_c2i asn1_get_choice_selector + asn1_get_field_ptr asn1_set_choice_selector check_defer + d2i_ASN1_BOOLEAN d2i_NETSCAPE_ENCRYPTED_PKEY d2i_NETSCAPE_PKEY + d2i_NETSCAPE_X509 d2i_Netscape_RSA d2i_RSA_NET + d2i_X509_CERT_PAIR i2d_ASN1_BOOLEAN i2d_NETSCAPE_ENCRYPTED_PKEY + i2d_NETSCAPE_PKEY i2d_NETSCAPE_X509 i2d_Netscape_RSA i2d_RSA_NET + i2d_X509_CERT_PAIR name_cmp obj_cleanup_defer + +3.4.1 - Stable release + + * New Features + - Added support for OpenSSL 1.1.1 TLSv1.3 APIs. + - Enabled the new X.509 validator to allow verification of + modern certificate chains. + * Portable Improvements + - Ported continuous integration and test infrastructure to Github + actions. + - Added Universal Windows Platform (UWP) build support. + - Fixed mingw-w64 builds on newer versions with missing SSP support. + - Added non-executable stack annotations for CMake builds. + * API and Documentation Enhancements + - Added the following APIs from OpenSSL + BN_bn2binpad BN_bn2lebinpad BN_lebin2bn EC_GROUP_get_curve + EC_GROUP_order_bits EC_GROUP_set_curve + EC_POINT_get_affine_coordinates + EC_POINT_set_affine_coordinates + EC_POINT_set_compressed_coordinates EVP_DigestSign + EVP_DigestVerify SSL_CIPHER_find SSL_CTX_get0_privatekey + SSL_CTX_get_max_early_data SSL_CTX_get_ssl_method + SSL_CTX_set_ciphersuites SSL_CTX_set_max_early_data + SSL_CTX_set_post_handshake_auth SSL_SESSION_get0_cipher + SSL_SESSION_get_max_early_data SSL_SESSION_is_resumable + SSL_SESSION_set_max_early_data SSL_get_early_data_status + SSL_get_max_early_data SSL_read_early_data SSL_set0_rbio + SSL_set_ciphersuites SSL_set_max_early_data + SSL_set_post_handshake_auth + SSL_set_psk_use_session_callback + SSL_verify_client_post_handshake SSL_write_early_data + - Added AES-GCM constants from RFC 7714 for SRTP. + * Compatibility Changes + - Implement flushing for TLSv1.3 handshakes behavior, needed for Apache. + - Call the info callback on connect/accept exit in TLSv1.3, + needed for p5-Net-SSLeay. + - Default to using named curve parameter encoding from + pre-OpenSSL 1.1.0, adding OPENSSL_EC_EXPLICIT_CURVE. + - Do not ignore SSL_TLSEXT_ERR_FATAL from the ALPN callback. + * Testing and Proactive Security + - Added additional state machine test coverage. + - Improved integration test support with ruby/openssl tests. + - Error codes and callback support in new X.509 validator made + compatible with p5-Net_SSLeay tests. + * Internal Improvements + - Numerous fixes and improvements to the new X.509 validator to + ensure compatible error codes and callback support compatible + with the legacy OpenSSL validator. + +3.4.0 - Development release + + * Add support for OpenSSL 1.1.1 TLSv1.3 APIs. + + * Enable new x509 validator. + + * More details to come, testing is appreciated. + +3.3.5 - Security fix + + * A stack overread could occur when checking X.509 name constraints. + From GoldBinocle on GitHub. + + * Enable X509_V_FLAG_TRUSTED_FIRST by default in the legacy verifier. + This compensates for the expiry of the DST Root X3 certificate. + +3.3.4 - Security fix + + * In LibreSSL, printing a certificate can result in a crash in + X509_CERT_AUX_print(). + From Ingo Schwarze + + * Ensure GNU-stack is set on ELF platforms when building with CMake to + enable non-executable stack annotations for the GNU toolchain. + From Tobias Heider + +3.3.3 - Stable release + + * This is the first stable release from the 3.3.x series. + There are no changes from 3.3.2. + +3.3.2 - Development release + + * This release adds support for DTLSv1.2 and continues the rewrite + of the record layer for the legacy stack. Numerous bugs and + interoperability issues were fixed in the new verifier. A few bugs + and incompatibilities remain, so this release uses the old verifier + by default. The OpenSSL 1.1 TLSv1.3 API is not yet available. + + * Switch finish{,_peer}_md_len from an int to a size_t. + + * Make SSL_get{,_peer}_finished() work when used with TLSv1.3. + + * Use EVP_MD_MAX_MD_SIZE instead of 2 * EVP_MD_MAX_MD_SIZE as size + for cert_verify_md[], finish_md[] and peer_finish_md[]. The factor 2 + was a historical artefact. + + * Correct the return value type from ERR_peek_error() to a long. + + * Avoid use of uninitialized in ASN1_time_parse() which could happen + on parsing UTCTime if the caller did not initialise the passed + struct tm. + + * Destroy the mutex in a tls_config object on tls_config_free(). + + * Free alert_data and phh_data in tls13_record_layer_free() + these could leak if SSL_shutdown() or tls_close() were called + after closing the underlying socket(). + + * Free struct members in tls13_record_layer_free() in their natural + order for reviewability. + + * Gracefully handle root certificates being both trusted and + untrusted. + + * Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE in the new + verifier. + + * Use the legacy verifier when building auto chains for TLS. + + * Use consistent names in tls13_{client,server}_finished_{recv,send}(). + + * Add tls13_secret_{init,cleanup}() and use them throughout the + TLSv1.3 code base. + + * Move the read MAC key into the TLSv1.2 record layer. + + * Make tls12_record_layer_free() NULL safe. + + * Search the intermediates only after searching the root certs in the + new verifier to avoid problems with the legacy callback. + + * Bail out early after finding a single chain in the new verifier, if + we have been called via the legacy verifier API. + + * Set (invalid and likely incomplete) chain on the xsc on chain build + failure prior to calling the callback. This is required by various + callers, including auto chain. + + * Align SSL_get_shared_ciphers() with OpenSSL. This takes into account + that it never returned server ciphers, so now it will fail when + called from the client side. + + * Add support for SSL_get_shared_ciphers() with TLSv1.3. + + * Split the record protection from the TLSv1.2 record layer. + + * Clean up sequence number handling in the new TLSv1.2 record layer. + + * Clean up sequence number handling in DTLS. + + * Clean up dtls1_reset_seq_numbers(). + + * Factor out code for explicit IV length, block size and MAC length + from tls12_record_layer_open_record_protected_cipher(). + + * Provide record layer overhead for DTLS. + + * Provide functions to determine if TLSv1.2 record protection is + engaged. + + * Add code to handle change of cipher state in the new TLSv1.2 record + layer. + + * Mop up now unused dtls1_build_sequence_numbers() function. + + * Allow setting a keypair on a tls context without specifying the + private key, and fake it internally in libtls. This removes the + need for privsep engines like relayd to use bogus keys. + + * Skip the private key check for fake private keys. + + * Move the private key setup from tls_configure_ssl_keypair() to a + helper function with proper error checking. + + * Change the internal tls_configure_ssl_keypair() function to + return -1 instead of 1 on failure. + + * Move sequence numbers into the new TLSv1.2 record layer. + + * Move AEAD handling into the new TLSv1.2 record layer. + + * Remove direct assignment of aead_ctx to avoid a leak. + + * Add a number of RPKI OIDs from RFC 6482, 6484, 6493, 8182, 8360, + draft-ietf-sidrops-rpki-rta, and draft-ietf-opsawg-finding-geofeeds. + + * Fail early in legacy exporter if the master secret is not available + to avoid a segfault if it is called when the handshake is not + completed. + + * Factor out legacy stack version checks. + + * Correct handshake MAC/PRF for various TLSv1.2 cipher suites which + were originally added with the default handshake MAC and PRF rather + than the SHA256 handshake MAC and PRF. + + * Absorb ssl3_get_algorithm2() into ssl_get_handshake_evp_md(). + + * Use dtls1_record_retrieve_buffered_record() to load buffered + application data. + + * Enforce read ahead with DTLS. + + * Remove bogus DTLS checks that disabled ECC and OCSP. + + * Sync cert.pem with Mozilla NSS root CAs except "GeoTrust Global CA". + + * Only print the certificate file once on verification failure. + + * Pull in fix for EVP_CipherUpdate() overflow from OpenSSL. + + * Clean up and simplify dtls1_get_cipher(). + + * Group HelloVerifyRequest decoding and add missing check for trailing + data. + + * Revise HelloVerifyRequest handling for DTLSv1.2. + + * Handle DTLS1_2_VERSION in various places. + + * Add DTLSv1.2 methods. + + * Make SSL{_CTX,}_get_{min,max}_proto_version() return a version of + zero if the minimum or maximum has been set to zero to match + OpenSSL's behavior. + + * Rename the "truncated" label into "decode_err" and the "f_err" + label into "fatal_err". + + * Factor out and change some of the legacy client version code. + + * Simplify version checks in the TLSv1.3 client. Ensure that the + server announced TLSv1.3 and nothing higher and check that the + legacy_version is set to TLSv1.2 as required by RFC 8446. + + * Fix an off-by-one in x509_verify_set_xsc_chain() to make sure that + the new validator checks for EXFLAG_CRITICAL in + x509_vfy_check_chain_extension() for all untrusted certs in the + chain. Take into account that the root is not necessarily trusted. + + * Avoid passing last and depth to x509_verify_cert_error() on ENOMEM. + + * Rename depth to num_untrusted. + + * Only use TLS versions internally rather than both TLS and DTLS + versions since the latter are the one's complement of the human + readable version numbers, which means that newer versions decrease + in value. + + * Fix two bugs in the legacy verifier that resulted from refactoring + of X509_verify_cert() for the new verifier: a return value was + incorrectly treated as boolean, making it insufficient to decide + whether validation should carry on or not. + + * Identify DTLS based on the version major value. + + * Move handling of cipher/hash based cipher suites into the new record + layer. + + * Add tls12_record_protection_unused() and call it from CCS functions. + + * Move key/IV length checks closer to usage sites. Also add explicit + checks against EVP_CIPHER_{iv,key}_length(). + + * Replace two handrolled tls12_record_protection_engaged(). + + * Improve internal version handling: add handshake fields for our + minimum version, our maximum version and the TLS version negotiated + during the handshake. Convert most of the internal code to use these + version fields. + + * Guard against future internal use of TLS1_get_{client,}_version() + macros. + + * Remove the internal ssl_downgrade_max_version() function which is no + longer needed. + + * Fix checks for memory caps of constraints names. There are internal + caps on the number of name constraints and other names, that the new + name constraints code allocates per cert chain. These limits were + checked too late, making them only partially effective. + + * Use EXFLAG_INVALID to handle out of memory and parse errors in + x509v3_cache_extensions(). + + * Add support for DTLSv1.2 version handling. + + * Enable DTLSv1.2 support. + + * Add DTLSv1.2 support to openssl s_client/s_server. + + * Remove no longer needed read ahead workarounds in the s_client and + s_server. + + * Fix a copy-paste error - skid was confused with an akid when + checking for EXFLAG_INVALID. This broke OCSP validation with + certain mirrors. + + * Make supported protocols and options for DHE params more prominent + in tls_config_set_protocols.3. + + * Avoid a use-after-scope in tls13_cert_add(). + + * Split TLSv1.3 record protection from record layer. + + * Move the TLSv1.3 handshake struct inside the shared handshake + struct. + + * Fully initialize rrec in tls12_record_layer_open_record_protected() + to avoid confusing some static analyzers. + + * Use tls_set_errorx() on OCSP_basic_verify() failure since the latter + does not set errno. + + * Convert openssl(1) x509 to new option handling and do the usual + clean up that goes along with it. + + * Add SSL_HANDSHAKE_TLS12 for TLSv1.2 specific handshake data. + + * Rename new_cipher to cipher to align naming with keyblock or other + parts of the handshake data. + + * Avoid mangled output in BIO_debug_callback(). + + * Fix client initiated renegotiation by replacing use of s->internal-type + with s->server. + + * Move the TLSv1.2 record number increment into the new record layer. + + * Move finished and peer finished into the handshake struct. + + * Avoid transcript initialization when sending a TLS HelloRequest, + fixing server initiated renegotiation. + + * Remove pointless assignment in SSL_get0_alpn_selected(). + + * Provide EVP_PKEY_new_CMAC_KEY(3). + + * Add missing prototype for d2i_DSAPrivateKey_fp(3) to x509.h. + + * Add DTLSv1.2 to openssl(1) s_server and s_client protocol message + logging. + + * Avoid leaking param->name in x509_verify_param_zero(). + + * Avoid a leak in an error path in openssl(1) x509. + + * Add some error checking to openssl(1) x509. + + * When sending an alert in TLSv1.3, only set its error code when no + other error was set previously. Certain clients rely on specific + SSL_R_ error codes to identify that they are dealing with a self + signed cert. + + * Switch to the legacy verifier for the stable release. + + * Provide SSL_use_certificate_chain_file(3). + + * Provide SSL_set_hostflags(3) and SSL_get0_peername(3). + + * Provide various DTLSv1.2 specific functions and defines. + + * Document meaning of '*' in the genrsa output. + + * Updated documentation for SSL_get_shared_ciphers(3). + + * Add documentation for SSL_get_finished(3). + + * Document EVP_PKEY_new_CMAC_key(3) + + * Document SSL_use_certificate_chain_file(3). + + * Document SSL_set_hostflags(3) and SSL_get0_peername(3). + + * Update SSL_get_version.3 manual for DTLSv.1.2 support. + + * Added '--enable-libtls-only' build option, which builds and installs a + statically-linked libtls, skipping libcrypto and libssl. This is useful + for systems that ship with OpenSSL but wish to also package libtls. + +3.3.1 - Security fix + + * Malformed ASN.1 in a certificate revocation list or a timestamp + response token can lead to a NULL pointer dereference. + + Bug fixes + + * Move point-on-curve check to set_affine_coordinates to avoid + verifying ECDSA signatures with unchecked public keys. + + * Fix SSL_is_server() to behave as documented by re-introducing the + client-specific methods. + + * Avoid undefined behavior due to memcpy(NULL, NULL, 0). + + * Mark a few more internal static tables const. + +3.3.0 - Development release + + * Make openssl(1) s_server ignore -4 and -6 for compatibility with + OpenSSL. + + * Further cleanup of the DTLS record handling. + + * Continue the replacement of the TLSv1.2 record layer by + reimplementing the read side of the TLSv1.2 record handling. + + * Replace DTLSv1_enc_data() with TLSv1_1_enc_data(). + + * Merge d1_{clnt,srvr}.c into ssl_{clnt,srvr}.c. + + * When switching from the TLSv1.3 stack to the legacy stack include + a TLS record header. This is necessary if there is more than one + handshake message in the TLS plaintext record. + + * Set SO_REUSEADDR on the server socket in the openssl(1) ocsp + command. + + * Fix resource handling on error in OCSP_request_add0_id(). + + * Add const to ssl_ciphers and tls1[23]_sigalgs* to push them into + .data.rel.ro and .rodata, respectively. + + * Add a const qualifier to srtp_known_profiles. + + * Simplify TLS method by removing the client and server specific + methods internally. + + * Avoid casting away const in ssl_ctx_make_profiles(). + + * Make sure there is enough room for stashing the handshake message + when switching to the legacy TLS stack. + + * Avoid explicitly conditioning an assert on DTLS1_VERSION to make + the assert work for newer DTLS versions. + + * Merge SSL_ENC_METHOD into SSL_METHOD_INTERNAL. + + * Send a host header with OCSP queries to make openssl(1) ocsp + work with some widely used OCSP responders. + + * Fix a memory leak in the openssl(1) s_client. + + * Add a flag to mark DTLS methods as DTLS to have an easy way to + recognize DTLS methods that avoids inspecting the version number. + + * Implement SSL_is_dtls() and use it internally in place of the + SSL_IS_DTLS macro. + + * Unbreak DTLS retransmissions for flights that include a CCS. + + * Add ability to ocspcheck(8) to parse a port in the specified + OCSP URL. + + * Refactor and clean up ocspcheck(8) and add regression tests. + + * If x509_verify() fails, ensure that the error is set on both + the x509_verify_ctx() and its store context to make some failures + visible from SSL_get_verify_result(). + + * Use the X509_STORE_CTX get_issuer() callback from the new X.509 + verifier to fix hashed certificate directories. + + * Only check BIO_should_read() on read and BIO_should_write() on + write. Previously, BIO_should_write() was also checked after read + and BIO_should_read() after write which could cause stalls in + software that uses the same BIO for read and write. + + * In openssl(1) verify, also check for error on the store context + since the return value of X509_verify_cert() is unreliable in + presence of a callback that returns 1 too often. + + * Update getentropy on Windows to use Cryptography Next Generation + (CNG). wincrypt is deprecated and no longer works with newer Windows + environments, such as in Windows Store apps. + + * Implement auto chain for the TLSv1.3 server since some software + relies on this. + + * Handle additional certificate error cases in the new X.509 verifier. + Keep track of the errors encountered if a verify callback tells the + verifier to continue and report them back via the error on the store + context. This mimics the behavior of the old verifier that would + persist the first error encountered while building the chain. + + * Report specific failures for "self signed certificates" in a way + compatible with the old verifier since software relies on the + error code. + + * Implement key exporter for TLSv1.3. + + * Plug a large memory leak in the new verifier caused by calling + X509_policy_check() repeatedly. + + * Avoid leaking memory in x509_verify_chain_dup(). + + * Various documentation improvements, particularly around TLS methods. + +3.2.3 - Security fix + + * Malformed ASN.1 in a certificate revocation list or a timestamp + response token can lead to a NULL pointer dereference. + +3.2.2 - Stable release + + * This is the first stable release with the new TLSv1.3 + implementation enabled by default for both client and server. The + OpenSSL 1.1 TLSv1.3 API is not yet available and will be provided + in an upcoming release. + + * New X509 certificate chain validator that correctly handles + multiple paths through intermediate certificates. Loosely based on + Go's X509 validator. + + * New name constraints verification implementation which passes the + bettertls.com certificate validation check suite. + + * Improve the handling of BIO_read()/BIO_write() failures in the + TLSv1.3 stack. + + * Start replacing the existing TLSv1.2 record layer. + + * Define OPENSSL_NO_SSL_TRACE in opensslfeatures.h. + + * Make SSL_CTX_get_ciphers(NULL) return NULL rather than crash. + + * Send alert on ssl_get_prev_session() failure. + + * Zero out variable on the stack to avoid leaving garbage in the tail + of short session IDs. + + * Move state initialization from SSL_clear() to ssl3_clear() to ensure + that it gets correctly reinitialized across a SSL_set_ssl_method() + call. + + * Avoid an out-of-bounds write in BN_rand(). + + * Fix numerous leaks in the UI_dup_* functions. Simplify and tidy up + the code in ui_lib.c. + + * Correctly track selected ALPN length to avoid a potential segmentation + fault with SSL_get0_alpn_selected() when alpn_selected is NULL. + + * Include machine/endian.h gost2814789.c in order to pick up the + __STRICT_ALIGNMENT define. + + * Simplify SSL method lookups. + + * Clean up and simplify SSL_get_ciphers(), SSL_set_session(), + SSL_set_ssl_method() and several internal functions. + + * Correctly handle ssl_cert_dup() failure in SSL_set_SSL_CTX(). + + * Refactor dtls1_new(), dtls1_hm_fragment_new(), + dtls1_drain_fragments(), dtls1_clear_queues(). + + * Copy the session ID directly in ssl_get_prev_session() instead of + handing it through several functions for copying. + + * Clean up and refactor ssl_get_prev_session(); simplify + tls_decrypt_ticket() and tls1_process_ticket() exit paths. + + * Avoid memset() before memcpy() in CBS_add_bytes(). + + * Rewrite X509_INFO_{new,free}() more idiomatically. + + * Remove unnecessary zeroing after recallocarray() in + ASN1_BIT_STRING_set_bit(). + + * Convert openssl(1) ocsp new option handling. + + * Document SSL_set1_host(3), SSL_set_SSL_CTX(3). + + * Document return value from EC_KEY_get0_public_key(3). + + * Greatly expanded test coverage via the tlsfuzzer test scripts. + + * Expanded test coverage via the bettertls certificate test suite. + + * Test interoperability with the Botan TLS client. + + * Make pthread_mutex static initialisation work on Windows. + + * Get __STRICT_ALIGNMENT from machine/endian.h with portable build. + +3.2.1 - Development release + + * Propagate alerts from the read half of the TLSv1.3 record layer to I/O + functions. + + * Send a record overflow alert for TLSv1.3 messages having overlong + plaintext or inner plaintext. + + * Send an illegal parameter alert if a client sends an invalid DH key + share. + + * Document PKCS7_final(3), PKCS7_add_attribute(3). + + * Collapse x509v3 directory into x509. + + * Improve TLSv1.3 client certificate selection to allow EC certificates + instead of only RSA certificates. + + * Fail on receiving an invalid NID in X509_ATTRIBUTE_create() instead + of constructing a broken objects that may cause NULL pointer accesses. + + * Add support for additional GOST curves from RFC 7836 and + draft-deremin-rfc4491-bis. + + * Add OIDs for HMAC using the Streebog hash function. + + * Allow GOST R 34.11-2012 in PBE/PBKDF2/PKCS#5. + + * Enable GOST_SIG_FORMAT_RS_LE when verifying certificate signatures. + + * Handle GOST in ssl_cert_dup(). + + * Stop sending GOST R 34.10-94 as a CertificateType. + + * Use IANA allocated GOST ClientCertificateTypes. + + * Add a custom copy handler for AES keywrap to fix a use-after-free. + + * Enforce in the TLSv1.3 server that that ClientHello messages after + a HelloRetryRequest match the original ClientHello as per RFC 8446 + section 4.1.2 + + * Document more PKCS7 attribute functions. + + * Document PKCS7_get_signer_info(3). + + * Document PEM_ASN1_read(3) and PEM_ASN1_read_bio(3). + + * Document PEM_def_callback(3). + + * Document EVP_read_pw_string_min(3). + + * Merge documentation of X509_get0_serialNumber from OpenSSL 1.1.1. + + * Document error handling of X509_PUBKEY_get0(3) and X509_PUBKEY_get(3) + + * Document X509_get0_pubkey_bitstr(3). + + * Fix an off-by-one in the CBC padding removal. From BoringSSL. + + * Enforce restrictions on extensions present in the ClientHello as per + RFC 8446, section 9.2. + + * Add new CMAC_Init(3) and ChaCha(3) manual pages. + + * Fix SSL_shutdown behavior to match the legacy stack. The previous + behavior could cause a hang. + + * Add initial support for openbsd/powerpc64. + + * Make the message type available in the internal TLS extensions API + functions. + + * Enable TLSv1.3 for the generic TLS_method(). + + * Convert openssl(1) s_client option handling. + + * Document openssl(1) certhash. + + * Convert openssl(1) verify option handling. + + * Fix a longstanding bug in PEM_X509_INFO_read_bio(3) that could cause + use-after-free and double-free issues in calling programs. + + * Document PEM_X509_INFO_read(3) and PEM_X509_INFO_read_bio(3). + + * Handle SSL_MODE_AUTO_RETRY being changed during a TLSv1.3 session. + + * Convert openssl(1) s_server option handling. + + * Add minimal info callback support for TLSv1.3. + + * Refactor, clean up and simplify some SSL3/DTLS1 record writing code. + + * Correctly handle server requests for an OCSP response. + + * Add the P-521 curve to the list of curves supported by default + in the client. + + * Convert openssl(1) req option handling. + + * Avoid calling freezero with a negative size if a server sends a + malformed plaintext of all zeroes. + + * Send an unexpected message alert if no valid content type is found + in a TLSv1.3 record. + +3.2.0 - Development release + + * Enable TLS 1.3 server side in addition to client by default. + With this change TLS 1.3 is handled entirely on the new stack + and state machine, with fallback to the legacy stack and + state machine for older versions. Note that the OpenSSL TLS 1.3 + API is not yet visible/available. + + * Improve length checks in the TLS 1.3 record layer and provide + appropriate alerts for violations of record layer limits. + + * Enforce that SNI hostnames received by the TLS server are correctly + formed as per RFC 5890 and RFC 6066, responding with illegal parameter + for a nonconformant host name. + + * Support SSL_MODE_AUTO_RETRY in TLS 1.3 to allow the automatic + retry of handshake messages. + + * Modify I/O behavior so that SSL_MODE_AUTO_RETRY is the default + similar to new OpenSSL releases. + + * Modify openssl(1) to clear SSL_MODE_AUTO_RETRY appropriately in + various commands. + + * Add tlsfuzzer based regression tests. + + * Support sending certificate status requests from the TLS 1.3 + client to request OCSP staples for leaf certificates. + + * Support sending certificate status replies from the TLS 1.3 server + in order to send OCSP staples for leaf certificates. + + * Send correct alerts when handling failed key share extensions + on the TLS 1.3 server. + + * Various compatibility fixes for TLS 1.3 to 1.2 fallback for + switching from the new to legacy stacks. + + * Support TLS 1.3 options in the openssl(1) command. + + * Many alert cleanups in TLS 1.3 to provide expected alerts in failure + conditions. + + * Modify "openssl x509" to display invalid certificate times as + invalid, and correctly deal with the failing return case from + X509_cmp_time so that a certificate with an invalid NotAfter does + not appear valid. + + * Support sending dummy change_cipher_spec records for TLS 1.3 middlebox + compatibility. + + * Ensure only PSS signatures are used with RSA in TLS 1.3. + + * Ensure that TLS 1.3 clients advertise exactly the "null" compression + method in its legacy_compression_methods. + + * Correct use of sockaddr_storage instead of sockaddr in openssl(1) + s_client, which could lead to using 14 bytes of stack garbage instead + of an IPv6 address in DTLS mode. + + * Use non-expired certificates first when building a certificate chain. + +3.1.5 - Security fix + + * Malformed ASN.1 in a certificate revocation list or a timestamp + response token can lead to a NULL pointer dereference. + +3.1.4 - Interoperability and bug fixes for the TLSv1.3 client: + + * Improve client certificate selection to allow EC certificates + instead of only RSA certificates. + + * Do not error out if a TLSv1.3 server requests an OCSP response as + part of a certificate request. + + * Fix SSL_shutdown behavior to match the legacy stack. The previous + behaviour could cause a hang. + + * Fix a memory leak and add a missing error check in the handling of + the key update message. + + * Fix a memory leak in tls13_record_layer_set_traffic_key. + + * Avoid calling freezero with a negative size if a server sends a + malformed plaintext of all zeroes. + + * Ensure that only PSS may be used with RSA in TLSv1.3 in order + to avoid using PKCS1-based signatures. + + * Add the P-521 curve to the list of curves supported by default + in the client. + +3.1.3 - Bug fix + + * libcrypto may fail to build a valid certificate chain due to + expired untrusted issuer certificates. + +3.1.2 - Bug fix + + * A TLS client with peer verification disabled may crash when + contacting a server that sends an empty certificate list. + +3.1.1 - Stable release + + * Improved cipher suite handling to automatically include TLSv1.3 + cipher suites when they are not explicitly referred to in the + cipher string. + + * Improved handling of TLSv1.3 HelloRetryRequests, simplifying + state transitions and ensuring that the legacy session identifer + retains the same value across the handshake. + + * Provided TLSv1.3 cipher suite aliases to match the names used + in RFC 8446. + + * Improved TLSv1.3 client key share handling to allow the use of + any groups in our configured NID list. + + * Fixed printing the serialNumber with X509_print_ex() fall back to + the colon separated hex bytes in case greater than int value. + + * Fix to disallow setting the AES-GCM IV length to zero. + + * Added -groups option to openssl(1) s_server subcommand. + + * Fix to show TLSv1.3 extension types with openssl(1) -tlsextdebug. + + * Improved portable builds to support the use of static MSVC runtimes. + + * Fixed portable builds to avoid exporting a sleep() symbol. + +3.1.0 - Development release + + * Completed initial TLS 1.3 implementation with a completely new state + machine and record layer. TLS 1.3 is now enabled by default for the + client side, with the server side to be enabled in a future release. + Note that the OpenSSL TLS 1.3 API is not yet visible/available. + + * Many more code cleanups, fixes, and improvements to memory handling + and protocol parsing. + + * Added RSA-PSS and RSA-OAEP methods from OpenSSL 1.1.1. + + * Ported Cryptographic Message Syntax (CMS) implementation from OpenSSL + 1.1.1 and enabled by default. + + * Improved compatibility by backporting functionality and documentation + from OpenSSL 1.1.1. + + * Added many new additional crypto test vectors. + + * Adjusted EVP_chacha20()'s behavior to match OpenSSL's semantics. + + * Default CA bundle location is now configurable in portable builds. + + * Added cms subcommand to openssl(1). + + * Added -addext option to openssl(1) req subcommand. + +3.0.2 - Stable release + + * Use a valid curve when constructing an EC_KEY that looks like X25519. + The recent EC group cofactor change results in stricter validation, + which causes the EC_GROUP_set_generator() call to fail. + Issue reported and fix tested by rsadowski@ + + * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey. + (Note that the CMS code is currently disabled) + Port of Edlinger's Fix for CVE-2019-1563 from OpenSSL 1.1.1 (old license) + + * Avoid a path traversal bug in s_server on Windows when run with the -WWW + or -HTTP options, due to incomplete path check logic. + Issue reported and fix tested by Jobert Abma + +3.0.1 - Development release + + * Ported Billy Brumley's fix for CVE-2019-1547 in OpenSSL 1.1.1. If a NULL + or zero cofactor is passed to EC_GROUP_set_generator(), try to compute + it using Hasse's bound. This works as long as the cofactor is small + enough. + + * Fixed a memory leak in error paths for eckey_type2param(). + + * Initial work on supporting Cryptographic Message Syntax (CMS) in + libcrypto (not enabled). + + * Various manual page improvements and additions. + + * Added a CMake check for an existing uninstall target, facilitating + embedding LibreSSL in larger CMake projects, from Matthew Albrecht. + +3.0.0 - Development release + + * Completed the port of RSA_METHOD accessors from the OpenSSL 1.1 API. + + * Documented undescribed options and removed unfunctional options + description in openssl(1) manual. + + * A plethora of small fixes due to regular oss-fuzz testing. + + * Various side channels in DSA and ECDSA were addressed. These are some of + the many issues found in an extensive systematic analysis of bignum usage + by Samuel Weiser, David Schrammel et al. + + * Enabled openssl(1) speed subcommand on Windows platform. + + * Enabled performance optimizations when building with Visual Studio on Windows. + + * Fixed incorrect carry operation in 512 addition for Streebog. + + * Fixed -modulus option with openssl(1) dsa subcommand. + + * Fixed PVK format output issue with openssl(1) dsa and rsa subcommand. + +2.9.2 - Bug fixes + + * Fixed portable builds with older versions of MacOS, + Android targets < API 21, and Solaris 10 + + * Fixed SRTP profile advertisement for DTLS servers. + +2.9.1 - Stable release + + * Added support for XChaCha20 and XChaCha20-Poly1305. + + * Added support for AES key wrap constructions via the EVP interface. + + * Partial port of the OpenSSL EC_KEY_METHOD API for use by OpenSSH. + + * Added pbkdf2 key derivation support to openssl(1) + + * Removed SHA224 based handshake signatures from consideration for use in a TLS 1.2 handshake. + + * Changed the default digest type of openssl(1) enc to to sha256. + + * Changed the default digest type of openssl(1) dgst to sha256. + + * Changed the default digest type of openssl(1) x509 -fingerprint to sha256. + + * Changed the default digest type of openssl(1) crl -fingerprint to sha256. + + * Improved Windows, Android, and ARM compatibility, including assembly + optimizations on Mingw-w64 targets. + +2.9.0 - Development release + + * Added the SM4 block cipher from the Chinese standard GB/T 32907-2016. + + * Fixed warnings about clock_gettime on Windows Visual Studio builds. + + * Fixed CMake builds on systems where getpagesize is defined as an + inline function. + + * CRYPTO_LOCK is now automatically initialized, with the legacy + callbacks stubbed for compatibility. + + * Added the SM3 hash function from the Chinese standard GB/T 32905-2016. + + * Added more OPENSSL_NO_* macros for compatibility with OpenSSL. + + * Added extensive interoperability tests between LibreSSL and OpenSSL + 1.0 and 1.1. + + * Added additional Wycheproof tests and related bug fixes. + + * Simplified sigalgs option processing and handshake signing algorithm + + * Added the ability to use the RSA PSS algorithm for handshake + signatures. + + * Added bn_rand_interval() and use it in code needing ranges of random + bn values. + + * Added functionality to derive early, handshake, and application + secrets as per RFC8446. + + * Added handshake state machine from RFC8446. + + * Removed some ASN.1 related code from libcrypto that had not been used + since around 2000. + + * Unexported internal symbols and internalized more record layer structs. + + * Added support for assembly optimizations on 32-bit ARM ELF targets. + + * Improved protection against timing side channels in ECDSA signature + generation. + + * Coordinate blinding was added to some elliptic curves. This is the + last bit of the work by Brumley et al. to protect against the + Portsmash vulnerability. + + * Ensure transcript handshake is always freed with TLS 1.2. + +2.8.2 - Stable release + + * Added Wycheproof support for ECDH and ECDSA Web Crypto test vectors, + along with test harness fixes. + + * Fixed memory leak in nc(1) + +2.8.1 - Test and compatibility improvements + + * Added Wycheproof support for ECDH, RSASSA-PSS, AES-GCM, + AES-CMAC, AES-CCM, AES-CBC-PKCS5, DSA, ChaCha20-Poly1305, ECDSA, and + X25519 test vectors. Applied appropriate fixes for errors uncovered + by tests. + + * Simplified key exchange signature generation and verification. + + * Fixed a one-byte buffer overrun in callers of EVP_read_pw_string + + * Converted more code paths to use CBB/CBS. All handshake messages are + now created by CBB. + + * Fixed various memory leaks found by Coverity. + + * Simplified session ticket parsing and handling, inspired by + BoringSSL. + + * Modified signature of CRYPTO_mem_leaks_* to return -1. This function + is a no-op in LibreSSL, so this function returns an error to not + indicate the (non-)existence of memory leaks. + + * SSL_copy_session_id, PEM_Sign, EVP_EncodeUpdate, BIO_set_cipher, + X509_OBJECT_up_ref_count now return an int for error handling, + matching OpenSSL. + + * Converted a number of #defines into proper functions, matching + OpenSSL's ABI. + + * Added X509_get0_serialNumber from OpenSSL. + + * Removed EVP_PKEY2PKCS8_broken and PKCS8_set_broken, while adding + PKCS8_pkey_add1_attr_by_NID and PKCS8_pkey_get0_attrs, matching + OpenSSL. + + * Removed broken pkcs8 formats from openssl(1). + + * Converted more functions in public API to use const arguments. + + * Stopped handing AES-GCM in ssl_cipher_get_evp, since they use the + EVP_AEAD interface. + + * Stopped using composite EVP_CIPHER AEADs. + + * Added timing-safe compares for checking results of signature + verification. There are no known attacks, this is just inexpensive + prudence. + + * Correctly clear the current cipher state, when changing cipher state. + This fixed an issue where renegotiation of cipher suites would fail + when switched from AEAD to non-AEAD or vice-versa. + Issue reported by Bernard Spil. + + * Added more cipher tests to appstest.sh, including all TLSv1.2 + ciphers. + + * Added RSA_meth_get_finish() RSA_meth_set1_name() from OpenSSL. + + * Added new EVP_CIPHER_CTX_(get|set)_iv() API that allows the IV to be + retrieved and set with appropriate validation. + +2.8.0 - Bug fixes, security, and compatibility improvements + + * Extensive documentation updates and additional API history. + + * Fixed a pair of 20+ year-old bugs in X509_NAME_add_entry + + * Tighten up checks for various X509_VERIFY_PARAM functions, + 'poisoning' parameters so that an unverified certificate cannot be + used if it fails verification. + + * Fixed a potential memory leak on failure in ASN1_item_digest + + * Fixed a potential memory alignment crash in asn1_item_combine_free + + * Removed unused SSL3_FLAGS_DELAY_CLIENT_FINISHED and + SSL3_FLAGS_POP_BUFFER flags in write path, simplifying IO paths. + + * Removed SSL_OP_TLS_ROLLBACK_BUG buggy client workarounds. + + * Made ENGINE_finish and ENGINE_free succeed on NULL and simplify callers + and matching OpenSSL behavior, rewrote ENGINE_* documentation. + + * Added const annotations to many existing APIs from OpenSSL, making + interoperability easier for downstream applications. + + * Fixed small timing side-channels in ecdsa_sign_setup and + dsa_sign_setup. + + * Documented security pitfalls with BN_FLG_CONSTTIME and constant-time + operation of BN_* functions. + + * Updated BN_clear to use explicit_bzero. + + * Added a missing bounds check in c2i_ASN1_BIT_STRING. + + * More CBS conversions, including simplifications to RSA key exchange, + and converted code to use dedicated buffers for secrets. + + * Removed three remaining single DES cipher suites. + + * Fixed a potential leak/incorrect return value in DSA signature + generation. + + * Added a blinding value when generating DSA and ECDSA signatures, in + order to reduce the possibility of a side-channel attack leaking the + private key. + + * Added ECC constant time scalar multiplication support. + From Billy Brumley and his team at Tampere University of Technology. + + * Revised the implementation of RSASSA-PKCS1-v1_5 to match the + specification in RFC 8017. Based on an OpenSSL commit by David + Benjamin. + + * Cleaned up BN_* implementations following changes made in OpenSSL by + Davide Galassi and others. + +2.7.4 - Security fixes + + * Avoid a timing side-channel leak when generating DSA and ECDSA + signatures. This is caused by an attempt to do fast modular + arithmetic, which introduces branches that leak information + regarding secret values. Issue identified and reported by Keegan + Ryan of NCC Group. + + * Reject excessively large primes in DH key generation. Problem + reported by Guido Vranken to OpenSSL + (https://github.com/openssl/openssl/pull/6457) and based on his + diff. + +2.7.3 - Bug fixes + + * Removed incorrect NULL checks in DH_set0_key(). Reported by Ondrej + Sury + + * Fixed an issue normalizing CPU architecture in the configure script, + which disabled assembly optimizations on platforms that get detected + as 'amd64', opposed to 'x86_64' + + * Limited tls_config_clear_keys() to only clear private keys. + This was inadvertently clearing the keypair, which includes the OCSP + staple and pubkey hash - if an application called tls_configure() + followed by tls_config_clear_keys(), this would prevent OCSP staples + from working. + +2.7.2 - Stable release + + * Updated and added extensive new HISTORY sections to API manuals. + + * Added support for shared library builds with CMake on all supported + platforms. Note that some of the CMake options have changed, consult + the README for details. + +2.7.1 - Bug fixes + + * Fixed a bug in int_x509_param_set_hosts, calling strlen() if name + length provided is 0 to match the OpenSSL behaviour. Issue noticed + by Christian Heimes . + + * Fixed builds macOS 10.11 and older. + +2.7.0 - Bug fixes and improvements + + * Added support for many OpenSSL 1.0.2 and 1.1 APIs, based on + observations of real-world usage in applications. These are + implemented in parallel with existing OpenSSL 1.0.1 APIs - visibility + changes have not been made to existing structs, allowing code written + for older OpenSSL APIs to continue working. + + * Extensive corrections, improvements, and additions to the + API documentation, including new public APIs from OpenSSL that had + no pre-existing documentation. + + * Added support for automatic library initialization in libcrypto, + libssl, and libtls. Support for pthread_once or a compatible + equivalent is now required of the target operating system. As a + side-effect, minimum Windows support is Vista or higher. + + * Converted more packet handling methods to CBB, which improves + resiliency when generating TLS messages. + + * Completed TLS extension handling rewrite, improving consistency of + checks for malformed and duplicate extensions. + + * Rewrote ASN1_TYPE_{get,set}_octetstring() using templated ASN.1. + This removes the last remaining use of the old M_ASN1_* macros + (asn1_mac.h) from API that needs to continue to exist. + + * Added support for client-side session resumption in libtls. + A libtls client can specify a session file descriptor (a regular + file with appropriate ownership and permissions) and libtls will + manage reading and writing of session data across TLS handshakes. + + * Improved support for strict alignment on ARMv7 architectures, + conditionally enabling assembly in those cases. + + * Fixed a memory leak in libtls when reusing a tls_config. + + * Merged more DTLS support into the regular TLS code path, removing + duplicated code. + + * Many improvements to Windows Cmake-based builds and tests, + especially when targeting Visual Studio. + +2.6.4 - Bug fixes + + * Make tls_config_parse_protocols() work correctly when passed a NULL + pointer for a protocol string. Issue found by semarie@, who also + provided the diff. + + * Correct TLS extensions handling when no extensions are present. + If no TLS extensions are present in a client hello or server hello, + omit the entire extensions block, rather than including it with a + length of zero. Thanks to Eric Elena for + providing packet captures and testing the fix. + + * Fixed portable builds on older Android systems, and systems with out + IPV6_TCLASS support. + +2.6.3 - OpenBSD 6.2 Release + + * No core changes from LibreSSL 2.6.2 + + * Minor compatibility fixes in portable version. + +2.6.2 - Bug fixes + + * Provide a useful error with libtls if there are no OCSP URLs in a + peer certificate. + + * Keep track of which keypair is in use by a TLS context, fixing a bug + where a TLS server with SNI would only return the OCSP staple for the + default keypair. Issue reported by William Graeber and confirmed by + Andreas Bartelt. + + * Fixed various issues in the OCSP extension parsing code. + The original code incorrectly passes the pointer allocated via + CBS_stow() (using malloc()) to a d2i_*() function and then calls + free() on the now incremented pointer, most likely resulting in a + crash. This issue was reported by Robert Swiecki who found the issue + using honggfuzz. + + * If tls_config_parse_protocols() is called with a NULL pointer, + return the default protocols instead of crashing - this makes the + behaviour more useful and mirrors what we already do in + tls_config_set_ciphers() et al. + +2.6.1 - Code removal, rewrites + + * Added a "-T tlscompat" option to nc(1), which enables the use of all + TLS protocols and "compat" ciphers. This allows for TLS connections + to TLS servers that are using less than ideal cipher suites, without + having to resort to "-T tlsall" which enables all known cipher + suites. Diff from Kyle J. McKay. + + * Added a new TLS extension handling framework, somewhat analogous to + BoringSSL, and converted all TLS extensions to use it. Added new TLS + extension regression tests. + + * Improved and added many new manpages. Updated *check_private_key + manpages with additional cautions regarding their use. + + * Cleaned up the EC key/curve configuration handling. + + * Added tls_config_set_ecdhecurves() to libtls, which allows the names + of the eliptical curves that may be used during client and server + key exchange to be specified. + + * Converted more code paths to use CBB/CBS. + + * Removed support for DSS/DSA, since we removed the cipher suites a + while back. + + * Removed NPN support. NPN was never standardised and the last draft + expired in October 2012. ALPN was standardised in July 2014 and has + been supported in LibreSSL since December 2014. NPN has also been + removed from Chromium in May 2016. + + * Removed SSL_OP_CRYPTOPRO_TLSEXT_BUG workaround for old/broken + CryptoPro clients. + + * Removed support for the TLS padding extension, which was added as a + workaround for an old bug in F5's TLS termination. + + * Worked around another bug in F5's TLS termination handling of the + elliptical curves extension. RFC 4492 only defines elliptic_curves + for ClientHello. However, F5 is sending it in ServerHello. We need + to skip over it since our TLS extension parsing code is now more + strict. Thanks to Armin Wolfermann and WJ Liu for reporting. + + * Added ability to clamp notafter valies in certificates for systems + with 32-bit time_t. This is necessary to conform to RFC 5280 + 4.1.2.5. + + * Implemented the SSL_CTX_set_min_proto_version(3) API. + + * Removed the original (pre-IETF) chacha20-poly1305 cipher suites. + + * Reclassified ECDHE-RSA-DES-CBC3-SHA from HIGH to MEDIUM. + +2.6.0 - New APIs, bug fixes and improvements + + * Added support for providing CRLs to libtls. Once a CRL is provided we + enable CRL checking for the full certificate chain. Based on a diff + from Jack Burton + + * Allow non-compliant clients using IP literal addresses with SNI + to connect to a server using libtls. + + * Avoid a potential NULL pointer dereference in d2i_ECPrivateKey(). + Reported by Robert Swiecki, who found the issue using honggfuzz. + + * Added definitions for three OIDs used in EV certificates. + From Kyle J. McKay + + * Added tls_peer_cert_chain_pem to libtls, useful in private + certificate validation callbacks such as those in relayd. + + * Converted explicit clear/free sequences to use freezero(3). + + * Reworked TLS certificate name verification code to more strictly + follow RFC 6125. + + * Cleaned up and simplified server key exchange EC point handling. + + * Added tls_keypair_clear_key for clearing key material. + + * Removed inconsistent IPv6 handling from BIO_get_accept_socket, + simplified BIO_get_host_ip and BIO_accept. + + * Fixed the openssl(1) ca command so that is generates certificates + with RFC 5280-conformant time. Problem noticed by Harald Dunkel. + + * Added ASN1_TIME_set_tm to set an asn1 from a struct tm * + + * Added SSL{,_CTX}_set_{min,max}_proto_version() functions. + + * Added HKDF (HMAC Key Derivation Function) from BoringSSL + + * Provided a tls_unload_file() function that frees the memory returned + from a tls_load_file() call, ensuring that it the contents become + inaccessible. This is specifically needed on platforms where the + library allocators may be different from the application allocator. + + * Perform reference counting for tls_config. This allows + tls_config_free() to be called as soon as it has been passed to the + final tls_configure() call, simplifying lifetime tracking for the + application. + + * Moved internal state of SSL and other structures to be opaque. + + * Dropped cipher suites with DSS authentication. + + * nc(1) improvements, including: + nc -W to terminate nc after receiving a number of packets + nc -Z for saving the peer certificate and chain in a pem file + +2.5.5 - Bug fixes + + * Distinguish between self-issued certificates and self-signed + certificates. The certificate verification code has special cases + for self-signed certificates and without this change, self-issued + certificates (which it seems are common place with + openvpn/easyrsa) were also being included in this category. + + * Added getpagesize fallback, needed for Android bionic libc. + +2.5.4 - Security Updates + + * Revert a previous change that forced consistency between return + value and error code when specifing a certificate verification + callback, since this breaks the documented API. When a user supplied + callback always returns 1, and later code checks the error code to + potentially abort post verification, this will result in incorrect + successul certificate verification. + + * Switched Linux getrandom() usage to non-blocking mode, continuing to + use fallback mechanims if unsuccessful. This works around a design + flaw in Linux getrandom(2) where early boot usage in a library makes + it impossible to recover if getrandom(2) is not yet initialized. + + * Fixed a bug caused by the return value being set early to signal + successful DTLS cookie validation. This can mask a later failure and + result in a positive return value being returned from + ssl3_get_client_hello(), when it should return a negative value to + propagate the error. + + * Fixed a build error on non-x86/x86_64 systems running Solaris. + +2.5.3 - OpenBSD 6.1 Release + + * Documentation updates + + * Improved ocspcheck(1) error handling + +2.5.2 - Security features and bugfixes + + * Added the recallocarray(3) memory allocation function, and converted + various places in the library to use it, such as CBB and BUF_MEM_grow. + recallocarray(3) is similar to reallocarray. Newly allocated memory + is cleared similar to calloc(3). Memory that becomes unallocated + while shrinking or moving existing allocations is explicitly + discarded by unmapping or clearing to 0 + + * Added new root CAs from SECOM Trust Systems / Security Communication + of Japan. + + * Added EVP interface for MD5+SHA1 hashes. + + * Fixed DTLS client failures when the server sends a certificate + request. + + * Correct handling of padding when upgrading an SSLv2 challenge into + an SSLv3/TLS connection. + + * Allow protocols and ciphers to be set on a TLS config object in + libtls. + + * Improved nc(1) TLS handshake CPU usage and server-side error + reporting. + +2.5.1 - Bug and security fixes, new features, documentation updates + + * X509_cmp_time() now passes a malformed GeneralizedTime field as an + error. Reported by Theofilos Petsios. + + * Detect zero-length encrypted session data early, instead of when + malloc(0) fails or the HMAC check fails. Noted independently by + jsing@ and Kurt Cancemi. + + * Check for and handle failure of HMAC_{Update,Final} or + EVP_DecryptUpdate(). + + * Massive update and normalization of manpages, conversion to + mandoc format. Many pages were rewritten for clarity and accuracy. + Portable doc links are up-to-date with a new conversion tool. + + * Curve25519 Key Exchange support. + + * Support for alternate chains for certificate verification. + + * Code cleanups, CBS conversions, further unification of DTLS/SSL + handshake code, further ASN1 macro expansion and removal. + + * Private symbol are now hidden in libssl and libcryto. + + * Friendly certificate verification error messages in libtls, peer + verification is now always enabled. + + * Added OCSP stapling support to libtls and netcat. + + * Added ocspcheck utility to validate a certificate against its OCSP + responder and save the reply for stapling + + * Enhanced regression tests and error handling for libtls. + + * Added explicit constant and non-constant time BN functions, + defaulting to constant time wherever possible. + + * Moved many leaked implementation details in public structs behind + opaque pointers. + + * Added ticket support to libtls. + + * Added support for setting the supported EC curves via + SSL{_CTX}_set1_groups{_list}() - also provide defines for the previous + SSL{_CTX}_set1_curves{_list} names. This also changes the default + list of curves to be X25519, P-256 and P-384. All other curves must + be manually enabled. + + * Added -groups option to openssl(1) s_client for specifying the curves + to be used in a colon-separated list. + + * Merged client/server version negotiation code paths into one, + reducing much duplicate code. + + * Removed error function codes from libssl and libcrypto. + + * Fixed an issue where a truncated packet could crash via an OOB read. + + * Added SSL_OP_NO_CLIENT_RENEGOTIATION option that disallows + client-initiated renegotiation. This is the default for libtls + servers. + + * Avoid a side-channel cache-timing attack that can leak the ECDSA + private keys when signing. This is due to BN_mod_inverse() being + used without the constant time flag being set. Reported by Cesar + Pereida Garcia and Billy Brumley (Tampere University of Technology). + The fix was developed by Cesar Pereida Garcia. + + * iOS and MacOS compatibility updates from Simone Basso and Jacob + Berkman. + + +2.5.0 - New APIs, bug fixes and improvements + + * libtls now supports ALPN and SNI + + * libtls adds a new callback interface for integrating custom IO + functions. Thanks to Tobias Pape. + + * libtls now handles 4 cipher suite groups: + "secure" (TLSv1.2+AEAD+PFS) + "compat" (HIGH:!aNULL) + "legacy" (HIGH:MEDIUM:!aNULL) + "insecure" (ALL:!aNULL:!eNULL) + + This allows for flexibility and finer grained control, rather than + having two extremes (an issue raised by Marko Kreen some time ago). + + * Tightened error handling for tls_config_set_ciphers(). + + * libtls now always loads CA, key and certificate files at the time the + configuration function is called. This simplifies code and results in + a single memory based code path being used to provide data to libssl. + + * Add support for OCSP intermediate certificates. + + * Added functions used by stunnel and exim from BoringSSL - this + brings in X509_check_host, X509_check_email, X509_check_ip, and + X509_check_ip_asc. + + * Added initial support for iOS, thanks to Jacob Berkman. + + * Improved behavior of arc4random on Windows when using memory leak + analysis software. + + * Correctly handle an EOF that occurs prior to the TLS handshake + completing. Reported by Vasily Kolobkov, based on a diff from Marko + Kreen. + + * Limit the support of the "backward compatible" ssl2 handshake to + only be used if TLS 1.0 is enabled. + + * Fix incorrect results in certain cases on 64-bit systems when + BN_mod_word() can return incorrect results. BN_mod_word() now can + return an error condition. Thanks to Brian Smith. + + * Added constant-time updates to address CVE-2016-0702 + + * Fixed undefined behavior in BN_GF2m_mod_arr() + + * Removed unused Cryptographic Message Support (CMS) + + * More conversions of long long idioms to time_t + + * Improved compatibility by avoiding printing NULL strings with + printf. + + * Reverted change that cleans up the EVP cipher context in + EVP_EncryptFinal() and EVP_DecryptFinal(). Some software relies on the + previous behaviour. + + * Avoid unbounded memory growth in libssl, which can be triggered by a + TLS client repeatedly renegotiating and sending OCSP Status Request + TLS extensions. + + * Avoid falling back to a weak digest for (EC)DH when using SNI with + libssl. + +2.4.2 - Bug fixes and improvements + + * Fixed loading default certificate locations with openssl s_client. + + * Ensured OCSP only uses and compares GENERALIZEDTIME values as per + RFC6960. Also added fixes for OCSP to work with intermediate + certificates provided in responses. + + * Improved behavior of arc4random on Windows to not appear to leak + memory in debug tools, reduced privileges of allocated memory. + + * Fixed incorrect results from BN_mod_word() when the modulus is too + large, thanks to Brian Smith from BoringSSL. + + * Correctly handle an EOF prior to completing the TLS handshake in + libtls. + + * Improved libtls ceritificate loading and cipher string validation. + + * Updated libtls cipher group suites into four categories: + "secure" (TLSv1.2+AEAD+PFS) + "compat" (HIGH:!aNULL) + "legacy" (HIGH:MEDIUM:!aNULL) + "insecure" (ALL:!aNULL:!eNULL) + This allows for flexibility and finer grained control, rather than + having two extremes. + + * Limited support for 'backward compatible' SSLv2 handshake packets to + when TLS 1.0 is enabled, providing more restricted compatibility + with TLS 1.0 clients. + + * openssl(1) and other documentation improvements. + + * Removed flags for disabling constant-time operations. + This removes support for DSA_FLAG_NO_EXP_CONSTTIME, + DH_FLAG_NO_EXP_CONSTTIME, and RSA_FLAG_NO_CONSTTIME flags, making + all of these operations unconditionally constant-time. + + +2.4.1 - Security fix + + * Correct a problem that prevents the DSA signing algorithm from + running in constant time even if the flag BN_FLG_CONSTTIME is set. + This issue was reported by Cesar Pereida (Aalto University), Billy + Brumley (Tampere University of Technology), and Yuval Yarom (The + University of Adelaide and NICTA). The fix was developed by Cesar + Pereida. + +2.4.0 - Build improvements, new features + + * Many improvements to the CMake build infrastructure, including + Solaris, mingw-w64, Cygwin, and HP-UX support. Thanks to Kinichiro + Inoguchi for this work. + + * Added missing error handling around bn_wexpand() calls. + + * Added explicit_bzero calls for freed ASN.1 objects. + + * Fixed X509_*set_object functions to return 0 on allocation failure. + + * Implemented the IETF ChaCha20-Poly1305 cipher suites. + + * Changed default EVP_aead_chacha20_poly1305() implementation to the + IETF version, which is now the default. + + * Fixed password prompts from openssl(1) to properly handle ^C. + + * Reworked error handling in libtls so that configuration errors are + visible. + + * Deprecated internal use of EVP_[Cipher|Encrypt|Decrypt]_Final. + + * Manpage fixes and updates + +2.3.5 - Reliability fix + + * Fixed an error in libcrypto when parsing some ASN.1 elements > 16k. + +2.3.4 - Security Update + + * Fix multiple vulnerabilities in libcrypto relating to ASN.1 and encoding. + From OpenSSL. + + * Minor build fixes + +2.3.3 - OpenBSD 5.9 release branch tagged + + * Reworked build scripts to better sync with OpenNTPD-portable + + * Fixed broken manpage links + + * Fixed an nginx compatibility issue by adding an 'install_sw' make alias + + * Fixed HP-UX builds + + * Changed the default configuration directory to c:\LibreSSL\ssl on Windows + binary builds + + * cert.pem has been reorganized and synced with Mozilla's certificate store + +2.3.2 - Compatibility and Reliability fixes + + * Changed format of LIBRESSL_VERSION_NUMBER to match that of + OPENSSL_VERSION_NUMBER, see: + https://wiki.openssl.org/index.php/Manual:OPENSSL_VERSION_NUMBER(3) + + * Added EVP_aead_chacha20_poly1305_ietf() which matches the AEAD + construction introduced in RFC 7539, which is different than that + already used in TLS with EVP_aead_chacha20_poly1305() + + * Avoid a potential undefined C99+ behavior due to shift overflow in + AES_decrypt, reported by Pascal Cuoq + + * More man pages converted from pod to mdoc format + + * Added COMODO RSA Certification Authority and QuoVadis + root certificates to cert.pem + + * Removed Remove "C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification + Authority" (serial 3c:91:31:cb:1f:f6:d0:1b:0e:9a:b8:d0:44:bf:12:be) root + certificate from cert.pem + + * Added support for building nc(1) on Solaris + + * Fixed GCC 5.x+ preprocessor checks, reported by Ruslan Babayev + + * Improved console handling with openssl(1) on Windows + + * Ensure the network stack is enabled on Windows when running + tls_init() + + * Fixed incorrect TLS certificate loading by nc(1) + + * Added support for Solaris 11.3's getentropy(2) system call + + * Enabled support for using NetBSD 7.0's arc4random(3) implementation + + * Deprecated the SSL_OP_SINGLE_DH_USE flag by disabling its effect + + * Fixes from OpenSSL 1.0.1q + - CVE-2015-3194 - NULL pointer dereference in client side certificate + validation. + - CVE-2015-3195 - Memory leak in PKCS7 - not reachable from TLS/SSL + + * The following OpenSSL CVEs did not apply to LibreSSL + - CVE-2015-3193 - Carry propagating bug in the x86_64 Montgomery + squaring procedure. + - CVE-2015-3196 - Double free race condition of the identify hint + data. + + See https://marc.info/?l=openbsd-announce&m=144925068504102 + +2.3.1 - ASN.1 and time handling cleanups + + * ASN.1 cleanups and RFC5280 compliance fixes. + + * Time representations switched from 'unsigned long' to 'time_t'. LibreSSL + now checks if the host OS supports 64-bit time_t. + + * Fixed a leak in SSL_new in the error path. + + * Support always extracting the peer cipher and version with libtls. + + * Added ability to check certificate validity times with libtls, + tls_peer_cert_notbefore and tls_peer_cert_notafter. + + * Changed tls_connect_servername to use the first address that resolves with + getaddrinfo(). + + * Remove broken conditional EVP_CHECK_DES_KEY code (non-functional since + initial commit in 2004). + + * Fixed a memory leak and out-of-bounds access in OBJ_obj2txt, reported + by Qualys Security. + + * Fixed an up-to 7 byte overflow in RC4 when len is not a multiple of + sizeof(RC4_CHUNK), reported by Pascal Cuoq . + + * Reject too small bits value in BN_generate_prime_ex(), so that it does + not risk becoming negative in probable_prime_dh_safe(), reported by + Franck Denis. + + * Enable nc(1) builds on more platforms. + +2.3.0 - SSLv3 removed, libtls API changes, portability improvements + + * SSLv3 is now permanently removed from the tree. + + * The libtls API is changed from the 2.2.x series. + + The read/write functions work correctly with external event + libraries. See the tls_init man page for examples of using libtls + correctly in asynchronous mode. + + Client-side verification is now supported, with the client supplying + the certificate to the server. + + Also, when using tls_connect_fds, tls_connect_socket or + tls_accept_fds, libtls no longer implicitly closes the passed in + sockets. The caller is responsible for closing them in this case. + + * When loading a DSA key from an raw (without DH parameters) ASN.1 + serialization, perform some consistency checks on its `p' and `q' + values, and return an error if the checks failed. + + Thanks for Georgi Guninski (guninski at guninski dot com) for + mentioning the possibility of a weak (non prime) q value and + providing a test case. + + See + https://cpunks.org/pipermail/cypherpunks/2015-September/009007.html + for a longer discussion. + + * Fixed a bug in ECDH_compute_key that can lead to silent truncation + of the result key without error. A coding error could cause software + to use much shorter keys than intended. + + * Removed support for DTLS_BAD_VER. Pre-DTLSv1 implementations are no + longer supported. + + * The engine command and parameters are removed from the openssl(1). + Previous releases removed dynamic and builtin engine support + already. + + * SHA-0 is removed, which was withdrawn shortly after publication 20 + years ago. + + * Added Certplus CA root certificate to the default cert.pem file. + + * New interface OPENSSL_cpu_caps is provided that does not allow + software to inadvertently modify cpu capability flags. + OPENSSL_ia32cap and OPENSSL_ia32cap_loc are removed. + + * The out_len argument of AEAD changed from ssize_t to size_t. + + * Deduplicated DTLS code, sharing bugfixes and improvements with + TLS. + + * Converted 'nc' to use libtls for client and server operations; it is + included in the libressl-portable distribution as an example of how + to use the library. + +2.2.3 - Bug fixes, build enhancements + + * LibreSSL 2.2.2 incorrectly handles ClientHello messages that do not + include TLS extensions, resulting in such handshakes being aborted. + This release corrects the handling of such messages. Thanks to + Ligushka from github for reporting the issue. + + * Added install target for cmake builds. Thanks to TheNietsnie from + github. + + * Updated pkgconfig files to correctly report the release version + number, not the individual library ABI version numbers. Thanks to + Jan Engelhardt for reporting the issue. + +2.2.2 - More TLS parser rework, bug fixes, expanded portable build support + + * Switched 'openssl dhparam' default from 512 to 2048 bits + + * Reworked openssl(1) option handling + + * More CRYPTO ByteString (CBC) packet parsing conversions + + * Fixed 'openssl pkeyutl -verify' to exit with a 0 on success + + * Fixed dozens of Coverity issues including dead code, memory leaks, + logic errors and more. + + * Ensure that openssl(1) restores terminal echo state after reading a + password. + + * Incorporated fix for OpenSSL Issue #3683 + + * LibreSSL version define LIBRESSL_VERSION_NUMBER will now be bumped + for each portable release. + + * Removed workarounds for TLS client padding bugs. + + * No longer disable ECDHE-ECDSA on OS X + + * Removed SSLv3 support from openssl(1) + + * Removed IE 6 SSLv3 workarounds. + + * Modified tls_write in libtls to allow partial writes, clarified with + examples in the documentation. + + * Removed RSAX engine + + * Tested SSLv3 removal with the OpenBSD ports tree and found several + applications that were not ready to build without SSLv3 yet. For + now, building a program that intentionally uses SSLv3 will result in + a linker warning. + + * Added TLS_method, TLS_client_method and TLS_server_method as a + replacement for the SSLv23_*method calls. + + * Added initial cmake build support, including support for building with + Visual Studio, currently tested with Visual Studio 2013 Community + Edition. + + * --with-enginesdir is removed as a configuration parameter + + * Default cert.pem, openssl.cnf, and x509v3.cnf files are now + installed under $sysconfdir/ssl or the directory specified by + --with-openssldir. Previous versions of LibreSSL left these empty. + +2.2.1 - Build fixes, feature added, features removed + + * Assorted build fixes for musl, HP-UX, Mingw, Solaris. + + * Initial support for Windows Embedded 2009, Server 2003, XP + + * Protocol parsing conversions to BoringSSL's CRYPTO ByteString (CBS) API + + * Added EC_curve_nid2nist and EC_curve_nist2nid from OpenSSL + + * Removed Dynamic Engine support + + * Removed unused and obsolete MDC-2DES cipher + + * Removed workarounds for obsolete SSL implementations + +2.2.0 - Build cleanups and new OS support, Security Updates + + * AIX Support - thanks to Michael Felt + + * Cygwin Support - thanks to Corinna Vinschen + + * Refactored build macros, support packaging libtls independently. + There are more pieces required to support building and using OpenSSL + with libtls, but this is an initial start at providing an + independent package for people to start hacking on. + + * Removal of OPENSSL_issetugid and all library getenv calls. + Applications can and should no longer rely on environment variables + for changing library behavior. OPENSSL_CONF/SSLEAY_CONF is still + supported with the openssl(1) command. + + * libtls API and documentation additions + + * Various bug fixes and simplifications to libssl and libcrypto + + * Fixes for the following issues are integrated into LibreSSL 2.2.0: + - CVE-2015-1788 - Malformed ECParameters causes infinite loop + - CVE-2015-1789 - Exploitable out-of-bounds read in X509_cmp_time + - CVE-2015-1792 - CMS verify infinite loop with unknown hash function + + * The following CVEs did not apply to LibreSSL or were fixed in + earlier releases: + - CVE-2015-4000 - DHE man-in-the-middle protection (Logjam) + - CVE-2015-1790 - PKCS7 crash with missing EnvelopedContent + - CVE-2014-8176 - Invalid free in DTLS + + * Fixes for the following CVEs are still in review for LibreSSL + - CVE-2015-1791 - Race condition handling NewSessionTicket + +2.1.6 - Security update + + * Fixes for the following issues are integrated into LibreSSL 2.1.6: + - CVE-2015-0209 - Use After Free following d2i_ECPrivatekey error + - CVE-2015-0286 - Segmentation fault in ASN1_TYPE_cmp + - CVE-2015-0287 - ASN.1 structure reuse memory corruption + - CVE-2015-0288 - X509_to_X509_REQ NULL pointer deref + - CVE-2015-0289 - PKCS7 NULL pointer dereferences + + * The fix for CVE-2015-0207 - Segmentation fault in DTLSv1_listen + is integrated for safety, but LibreSSL is not vulnerable. + + * Libtls is now built by default. The --enable-libtls + configuration option is no longer required. + The libtls API is now stable for the 2.1.x series. + +2.1.5 - Bug fixes and a security update + * Fix incorrect comparison function in openssl(1) certhash command. + Thanks to Christian Neukirchen / Void Linux. + + * Windows port improvements and bug fixes. + - Removed a dependency on libgcc in 32-bit dynamic libraries. + - Correct a hang in openssl(1) reading from stdin on an connection. + - Initialize winsock in openssl(1) earlier, allow 'openssl ocsp' and + any other network-related commands to function properly. + + * Reject all server DH keys smaller than 1024 bits. + +2.1.4 - Security and feature updates + * Improvements to libtls: + - a new API for loading CA chains directly from memory instead of a + file, allowing verification with privilege separation in a chroot + without direct access to CA certificate files. + + - Ciphers default to TLSv1.2 with AEAD and PFS. + + - Improved error handling and message generation + + - New APIs and improved documentation + + * Added X509_STORE_load_mem API for loading certificates from memory. + This facilitates accessing certificates from a chrooted environment. + + * New AEAD "MAC alias" allows configuring TLSv1.2 AEAD ciphers by + using 'TLSv1.2+AEAD' as the cipher selection string. + + * Dead and disabled code removal including MD5, Netscape workarounds, + non-POSIX IO, SCTP, RFC 3779 support, many #if 0 sections, and more. + + * ASN1 macro maze expanded to aid reading and searching the code. + + * NULL pointer asserts removed in favor of letting the OS/signal + handler catch them. + + * Refactored argument handling in openssl(1) for consistency and + maintainability. + + * New openssl(1) command 'certhash' replaces the c_rehash script. + + * Support for building with OPENSSL_NO_DEPRECATED + + * Server-side support for TLS_FALLBACK_SCSV for compatibility with + various auditor and vulnerability scanners. + + * Dozens of issues found with the Coverity scanner fixed. + + * Security Updates: + + - Fix a minor information leak that was introduced in t1_lib.c + r1.71, whereby an additional 28 bytes of .rodata (or .data) is + provided to the network. In most cases this is a non-issue since + the memory content is already public. Issue found and reported by + Felix Groebert of the Google Security Team. + + - Fixes for the following low-severity issues were integrated into + LibreSSL from OpenSSL 1.0.1k: + + CVE-2015-0205 - DH client certificates accepted without + verification + CVE-2014-3570 - Bignum squaring may produce incorrect results + CVE-2014-8275 - Certificate fingerprints can be modified + CVE-2014-3572 - ECDHE silently downgrades to ECDH [Client] + Reported by Karthikeyan Bhargavan of the PROSECCO team at INRIA. + + The following CVEs were fixed in earlier LibreSSL releases: + CVE-2015-0206 - Memory leak handling repeated DLTS records + CVE-2014-3510 - Flaw handling DTLS anonymous EC(DH) ciphersuites. + + The following CVEs did not apply to LibreSSL: + CVE-2014-3571 - DTLS segmentation fault in dtls1_get_record + CVE-2014-3569 - no-ssl3 configuration sets method to NULL + CVE-2015-0204 - RSA silently downgrades to EXPORT_RSA + +2.1.3 - Security update and OS support improvements + * Fixed various memory leaks in DTLS, including fixes for + CVE-2015-0206. + + * Added Application-Layer Protocol Negotiation (ALPN) support. + + * Removed GOST R 34.10-94 signature authentication. + + * Removed nonfunctional Netscape browser-hang workaround code. + + * Simplified and refactored SSL/DTLS handshake code. + + * Added SHA256 Camellia cipher suites for TLS 1.2 from RFC 5932. + + * Hide timing info about padding errors during handshakes. + + * Improved libtls support for non-blocking sockets, added randomized + session ID contexts. Work is ongoing with this library - feedback + and potential use-cases are welcome. + + * Support building Windows DLLs. + Thanks to Jan Engelhard. + + * Packaged config wrapper for better compatibility with OpenSSL-based + build systems. + Thanks to @technion from github + + * Ensure the stack is marked non-executable for assembly sections. + Thanks to Anthony G. Bastile. + + * Enable extra compiler hardening flags by default, where applicable. + The default set of hardening features can vary by OS to OS, so + feedback is welcome on this. To disable the default hardening flags, + specify '--disable-hardening' during configure. + Thanks to Jim Barlow + + * Initial HP-UX support, tested with HP-UX 11.31 ia64 + Thanks to Kinichiro Inoguchi + + * Initial NetBSD support, tested with NetBSD 6.1.5 x86_64 + Imported from OpenNTPD, thanks to @gitisihara from github + +2.1.2 - Many new features and improvements + * Added reworked GOST cipher suite support + thanks to Dmitry Eremin-Solenikov + + * Enabled Camellia ciphers due to improved patent situation + + * Use builtin arc4random implementation on OS X and FreeBSD + this addresses some deficiencies in the native implementations of + these operating systems, see commit logs for more information + + * Added initial Windows mingw-w64 support (32 and 64-bit) + thanks to Song Dongsheng and others for code and feedback + + * Enabled assembly optimizations on x86_64 CPUs + supports Linux, *BSD, Solaris and OS X operating systems + thanks to Wouter Clarie for the initial implementation + + * Added no_ssl3/no_tls1_1/no_tls1_2 options to openssl(1) + + * Improved build infrastructure, 'make distcheck' now passes + this simplifies and speeds developer efficiency + thanks to Dmitry Eremin-Solenikov and Wouter Clarie + + * Allow conditional building of the libtls library + expect the API and ABI of the library to change + feedback is welcome + + * Fixes for more memory leaks, cleanups, etc. + +2.1.1 - Security update + * Address POODLE attack by disabling SSLv3 by default + + * Fix Eliptical Curve cipher selection bug + (https://github.com/libressl/portable/issues/35) + +2.1.0 - First release from the OpenBSD 5.7 tree + * Added support for automatic ephemeral EC keys + + * Fixes for many memory leaks and overflows in error handlers + + * The TLS padding extension (that works around bugs in F5 terminators) is + off by default + + * support for getrandom(2) on Linux 3.17 + + * the NO_ASM macro is no longer being set, providing the first bits toward + enabling other assembly offloads. + +2.0.5 - Fixes for CVEs from OpenSSL 1.0.1i + * CVE-2014-3506 + * CVE-2014-3507 + * CVE-2014-3508 (partially vulnerable)he + * CVE-2014-3509 + * CVE-2014-3510 + * CVE-2014-3511 + * Synced LibreSSL Portable with the release version of OpenBSD 5.6 + +2.0.4 - Portability fixes, deleted unused SRP code + +2.0.3 - Portability fixes, improvements to fork detection + +2.0.2 - Address arc4random fork PID wraparound issues with pthread_atfork + +2.0.1 - Portability fixes: + * Removed -Werror and and other non-portable compiler flags + + * Allow setting OPENSSLDIR and ENGINSDIR + +2.0.0 - First release from the OpenBSD 5.6 tree + * Removal of many obsolete features and coding conventions from the OpenSSL + 1.0.1h source diff --git a/curl/dep/libressl/README.md b/curl/dep/libressl/README.md new file mode 100644 index 0000000..598188c --- /dev/null +++ b/curl/dep/libressl/README.md @@ -0,0 +1,238 @@ +![LibreSSL image](https://www.libressl.org/images/libressl.jpg) + +## Official portable version of [LibreSSL](https://www.libressl.org) + +[![Linux Build Status](https://github.com/libressl/portable/actions/workflows/linux.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/linux.yml) +[![macOS Build Status](https://github.com/libressl/portable/actions/workflows/macos.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/macos.yml) +[![Windows Build Status](https://github.com/libressl/portable/actions/workflows/windows.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/windows.yml) +[![Android Build Status](https://github.com/libressl/portable/actions/workflows/android.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/android.yml) +[![Solaris Build Status](https://github.com/libressl/portable/actions/workflows/solaris.yml/badge.svg)](https://github.com/libressl/portable/actions/workflows/solaris.yml) +[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/libressl.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:libressl) + +LibreSSL is a fork of [OpenSSL](https://www.openssl.org) 1.0.1g developed by the +[OpenBSD](https://www.openbsd.org) project. Our goal is to modernize the codebase, +improve security, and apply best practice development processes from OpenBSD. + +## Compatibility with OpenSSL + +LibreSSL provides much of the OpenSSL 1.1 API. The OpenSSL 3 API is not currently +supported. Incompatibilities between the projects exist and are unavoidable since +both evolve with different goals and priorities. Important incompatibilities will +be addressed if possible and as long as they are not too detrimental to LibreSSL's +goals of simplicity, security and sanity. We do not add new features, ciphers and +API without a solid reason and require that new code be clean and of high quality. + +LibreSSL is not ABI compatible with any release of OpenSSL, or necessarily +earlier releases of LibreSSL. You will need to relink your programs to +LibreSSL in order to use it, just as in moving between major versions of OpenSSL. +LibreSSL's installed library version numbers are incremented to account for +ABI and API changes. + +## Compatibility with other operating systems + +While primarily developed on and taking advantage of APIs available on OpenBSD, +the LibreSSL portable project attempts to provide working alternatives for +other operating systems, and assists with improving OS-native implementations +where possible. + +At the time of this writing, LibreSSL is known to build and work on: + +* Linux (kernel 3.17 or later recommended) +* FreeBSD (tested with 9.2 and later) +* NetBSD (7.0 or later recommended) +* HP-UX (11i) +* Solaris 11 and later +* Mac OS X (tested with 10.8 and later) +* AIX (5.3 and later) +* Emscripten (3.1.44 and later) + +LibreSSL also supports the following Windows environments: + +* Microsoft Windows (Windows 7 / Windows Server 2008r2 or later, x86 and x64) +* Wine (32-bit and 64-bit) +* MinGW-w64, Cygwin, and Visual Studio + +Official release tarballs are available at your friendly neighborhood +OpenBSD mirror in directory +[LibreSSL](https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/), +although we suggest that you use a [mirror](https://www.openbsd.org/ftp.html). + +The LibreSSL portable build framework is also +[mirrored](https://github.com/libressl/portable) on GitHub. + +Please report bugs either to the public libressl@openbsd.org mailing list, +or to the GitHub +[issue tracker](https://github.com/libressl/portable/issues) + +Severe vulnerabilities or bugs requiring coordination with OpenSSL can be +sent to the core team at libressl-security@openbsd.org. + +# Building LibreSSL + +## Building from a Git checkout + +If you have checked out this source using Git, or have downloaded a source +tarball from GitHub, follow these initial steps to prepare the source tree for +building. _Note: Your build will fail if you do not follow these instructions! +If you cannot follow these instructions or cannot meet these prerequisites, +please download an official release distribution from +https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ instead. Using official +releases is strongly advised if you are not a developer._ + +1. Ensure that you have a bash shell. This is also required on Windows. +2. Ensure that you have the following packages installed: + automake, autoconf, git, libtool, perl. +3. Run `./autogen.sh` to prepare the source tree for building. + +## Build steps using configure + +Once you have the source tree prepared, run these commands to build and install: + +```sh +./configure # see ./configure --help for configuration options +make check # runs builtin unit tests +make install # set DESTDIR= to install to an alternate location +``` + +Alternatively, it is possible to run `./dist.sh` to prepare a tarball. + +## Build steps using CMake + +Once you have the source tree prepared, run these commands to build and install: + +```sh +mkdir build +cd build +cmake .. +make +make test +``` + +For faster builds, you can use Ninja: + +```sh +mkdir build-ninja +cd build-ninja +cmake -G"Ninja" .. +ninja +ninja test +``` + +Or another supported build system like Visual Studio: + +```sh +mkdir build-vs2022 +cd build-vs2022 +cmake -G"Visual Studio 17 2022" .. +``` + +#### Additional CMake Options + +| Option Name | Default | Description | +|-------------------------|--------:|-----------------------------------------------------------------------------------------------------------------| +| `LIBRESSL_SKIP_INSTALL` | `OFF` | allows skipping install() rules. Can be specified from command line using
    ```-DLIBRESSL_SKIP_INSTALL=ON``` | +| `LIBRESSL_APPS` | `ON` | allows skipping application builds. Apps are required to run tests | +| `LIBRESSL_TESTS` | `ON` | allows skipping of tests. Tests are only available in static builds | +| `BUILD_SHARED_LIBS` | `OFF` | CMake option for building shared libraries. | +| `ENABLE_ASM` | `ON` | builds assembly optimized rules. | +| `ENABLE_EXTRATESTS` | `OFF` | Enable extra tests that may be unreliable on some platforms | +| `ENABLE_NC` | `OFF` | Enable installing TLS-enabled nc(1) | +| `OPENSSLDIR` | Blank | Set the default openssl directory. Can be specified from command line using
    ```-DOPENSSLDIR=``` | + +## Build information for specific systems + +### HP-UX (11i) + +Set the UNIX_STD environment variable to `2003` before running `configure` +in order to build with the HP C/aC++ compiler. See the "standards(5)" man +page for more details. + +```sh +export UNIX_STD=2003 +./configure +make +``` + +### MinGW-w64 - Windows + +LibreSSL builds against relatively recent versions of [MinGW-w64](https://www.mingw-w64.org/), not to be +confused with the original mingw.org project. MinGW-w64 3.2 or later +should work. See [README.mingw.md](README.mingw.md) for more information. + +### Emscripten + +When configuring LibreSSL for use with Emscripten, make sure to prepend +`emcmake` to your `cmake` configuration command. Once configured, you can +proceed with your usual `cmake` commands. For example: + +```sh +emcmake cmake . -Bbuild +cmake --build build --config Release +ctest --test-dir build -C Release --output-on-failure +``` + +# Using LibreSSL + +## CMake + +Make a new folder in your project root (where your main `CMakeLists.txt` file is +located) called CMake. Copy the `FindLibreSSL.cmake` file to that folder, and +add the following line to your main `CMakeLists.txt`: + +```cmake +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}") +``` + +After your `add_executable` or `add_library` line in your `CMakeLists.txt` file +add the following: + +```cmake +find_package(LibreSSL REQUIRED) +``` + +It will tell CMake to find LibreSSL and if found will let you use the following +3 interfaces in your `CMakeLists.txt` file: + +* LibreSSL::Crypto +* LibreSSL::SSL +* LibreSSL::TLS + +If you for example want to use the LibreSSL TLS library in your test program, +include it like so (SSL and Crypto are required by TLS and included +automatically too): + +```cmake +target_link_libraries(test LibreSSL::TLS) +``` + +Full example: + +```cmake +cmake_minimum_required(VERSION 3.10.0) + +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}") + +project(test) + +add_executable(test Main.cpp) + +find_package(LibreSSL REQUIRED) + +target_link_libraries(test LibreSSL::TLS) +``` + +#### Linux + +Following the guide in the sections above to compile LibreSSL using make and +running `sudo make install` will install LibreSSL to the `/usr/local/` folder, +and will be found automatically by find_package. If your system installs it to +another location, or you have placed them yourself in a different location, you +can set the CMake variable `LIBRESSL_ROOT_DIR` to the correct path, to help +CMake find the library. + +#### Windows + +Placing the library files in `C:/Program Files/LibreSSL/lib` and the include +files in `C:/Program Files/LibreSSL/include` should let CMake find them +automatically, but it is recommended that you use CMake-GUI to set the paths. +It is more convenient as you can have the files in any folder you choose. diff --git a/curl/dep/libssh2/COPYING.txt b/curl/dep/libssh2/COPYING.txt new file mode 100644 index 0000000..6eb5146 --- /dev/null +++ b/curl/dep/libssh2/COPYING.txt @@ -0,0 +1,43 @@ +/* Copyright (C) 2004-2007 Sara Golemon + * Copyright (C) 2005,2006 Mikhail Gusarov + * Copyright (C) 2006-2007 The Written Word, Inc. + * Copyright (C) 2007 Eli Fant + * Copyright (C) 2009-2023 Daniel Stenberg + * Copyright (C) 2008, 2009 Simon Josefsson + * Copyright (C) 2000 Markus Friedl + * Copyright (C) 2015 Microsoft Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, + * with or without modification, are permitted provided + * that the following conditions are met: + * + * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * + * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the copyright holder nor the names + * of any other contributors may be used to endorse or + * promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ diff --git a/curl/dep/libssh2/NEWS.txt b/curl/dep/libssh2/NEWS.txt new file mode 100644 index 0000000..b3bd14c --- /dev/null +++ b/curl/dep/libssh2/NEWS.txt @@ -0,0 +1,10896 @@ + Changelog for the libssh2 project. Generated with git2news.pl + +Daniel Stenberg (16 Oct 2024) +- RELEASE-NOTES: 1.11.1 + +Viktor Szakats (8 Oct 2024) +- RELEASE-NOTES: sync [ci skip] + +- [Anders Borum brought this change] + + session: support server banners up to 8192 bytes (was: 256) + + If server had banner exceeding 256 bytes there wasn't enough room in + `_LIBSSH2_SESSION.banner_TxRx_banner`. Only the first 256 bytes would be + read making the first packet read fail but also dooming key exchange as + `session->remote.banner` didn't include everything. + + This change bumps the banner buffer to 8KB to match OpenSSH. + + Fixes #1442 + Closes #1443 + +- RELEASE-NOTES: sync [ci skip] + +- cmake: sync and improve Find modules, add `pkg-config` native detection + + - sync code between Find modules. + - wolfssl: replace `pkg-config` hints with native detection. + - libgcrypt, mbedtls: add `pkg-config`-based native detection. + - libgcrypt: add version detection. + - limit `pkg-config` use for `UNIX`, vcpkg, and non-cross MinGW builds, + and builds with no manual customization via `*_INCLUDE_DIR` or + `*_LIBRARY`. + - replace and sync Find module header comments. + - ci: delete manual mbedTLS config that's now redundant. + + Based on similar work done in curl. + + Second attempt at #1420 + Closes #1445 + +- cmake: initialize `LIBSSH2_LIBDIRS` [ci skip] + + Follow-up to c87f12963037b22e6b60411c9c2d6513c06e2f03 #1466 + +- ci/appveyor: fix and bump OpenSSL 3 path, add path check + + Follow-up to b5e68bdc37c6afa0dc777794dda8307167919d04 #1461 + Closes #1468 + +- cmake: link to OpenSSL::Crypto, not OpenSSL::SSL + + Follow-up to 82b09f9b3aae97f641fbcc2d746d2a6383abe857 #1322 + Follow-up to c84745e34e53f863ffba997ceeee7d43d1c63a4b #1128 + Cherry-picked from #1445 + Closes #1467 + +- cmake: generate `LIBSSH2_PC_LIBS_PRIVATE` dynamically + + Generate `LIBSSH2_PC_LIBS_PRIVATE` from `LIBSSH2_LIBS`. + + Also add extra libdirs (`-L`) to `Libs` and `Libs.private`. + + Logic copied from curl. + + Closes #1466 + +- cmake: initialize `LIBSSH2_PC_REQUIRES_PRIVATE` [ci skip] + + Follow-up to 0fce9dcc2909ffff5f4a1a1bc3d359fc7f409299 #1464 + +- cmake: add comment about `ibssh2.pc.in` variables [ci skip] + +- cmake: support absolute `CMAKE_INSTALL_INCLUDEDIR`/`CMAKE_INSTALL_LIBDIR` + + in `libssh2.pc`. + + Also use `${exec_prefix}` (instead of `${prefix}`) as a base for `libdir`. + + Closes #1465 + +- cmake: rename two variables and initialize them + + - `LIBRARIES` -> `LIBSSH2_LIBS` + - `SOCKET_LIBRARIES` -> `LIBSSH2_LIBS_SOCKET` + + Also initialize them before use. + + Cherry-picked from #1445 + Closes #1464 + +- ci/appveyor: reduce test runs (workaround for infrastructure permafails) + + Jobs consistently fail to connect to the test server (run in GHA) since + 2024-Aug-29: + https://ci.appveyor.com/project/libssh2org/libssh2/builds/50498393 + + There was an earlier phase of failures one month before that, that got + fixed by increasing the wait for the server in + bf3af90b3f1bb14cf452df7a8eb55cc9088f3e7f. + + Thus, skip running tests in AppVeyor CI jobs, except: After some + experiments, it seems that running tests with the last OpenSSL job and + the last WinCrypt job _work_, which still leaves some coverage. + It remains to be seen how stable this is. + + This is meant as a temporary fix till there is a solution to make all + jobs run tests reliable like up until a few months ago. + + Closes #1461 + +- [Patrick Monnerat brought this change] + + os400: drop vsprintf() use + + Follow-up to discussion in #1457 + + Plus e-mail address update. + + Closes #1462 + +- RELEASE-NOTES: sync [ci skip] + +Daniel Stenberg (30 Sep 2024) +- openssl: free allocated resources when using openssl3 + + Reproduces consistently with curl test case 638 + + Closes #1459 + +Viktor Szakats (28 Sep 2024) +- checksrc: update, check all sources, fix fallouts + + update from curl: + https://github.com/curl/curl/blob/cff75acfeca65738da8297aee0b30427b004b240/scripts/checksrc.pl + + Closes #1457 + +- cmake: prefer `find_dependency()` in `libssh2-config.cmake` + + CMake manual suggest using `find_dependency()` (over `find_package()`) + in `config.cmake` scripts. + + Ref: https://cmake.org/cmake/help/latest/module/CMakeFindDependencyMacro.html + + Closes #1460 + +- ci: use Ninja with cmake + + Closes #1458 + +GitHub (27 Sep 2024) +- [dksslq brought this change] + + Fix memory leaks in _libssh2_ecdsa_curve_name_with_octal_new and _libssh2_ecdsa_verify (#1449) + + Better error handling in`_libssh2_ecdsa_curve_name_with_octal_new` and `_libssh2_ecdsa_verify` to prevent leaks. + + Credit: dksslq + +- [rolag brought this change] + + Fix unstable connections over nonblocking sockets (#1454) + + The `send_existing()` function allows partially sent packets to be sent + fully before any further packets are sent. Originally this returned + `LIBSSH2_ERROR_BAD_USE` when a different caller or thread tried to send + an existing packet created by a different caller or thread causing the + connection to disconnect. Commit 33dddd2f8ac3bc81 removed the return + allowing any caller to continue sending another caller's packet. This + caused connection instability as discussed in #1397 and confused the + client and server causing occasional duplicate packets to be sent and + giving the error `rcvd too much data` as discussed in #1431. We return + `LIBSSH2_ERROR_EAGAIN` instead to allow existing callers to finish + sending their own packets. + + Fixes #1397 + Fixes #1431 + Related #720 + + Credit: klux21, rolag + +- [Will Cosgrove brought this change] + + Prevent possible double free of hostkey (#1452) + + NULL server hostkey based on fuzzer failure case. + +Viktor Szakats (7 Sep 2024) +- cmake: tidy up syntax, minor improvements + + - make internal variables underscore-lowercase. + - unfold lines. + - fold lines setting header directories. + - fix indent. + - drop interim variable `EXAMPLES`. + - initialize some variables before populating them. + - clear a variable after use. + - add `libssh2_dumpvars()` function for debugging. + - allow to override default `CMAKE_UNITY_BUILD_BATCH_SIZE`. + - bump up default `CMAKE_UNITY_BUILD_BATCH_SIZE` to 0 (was 32). + - tidy up option descriptions. + + Closes #1446 + +- cmake: rename mbedTLS and wolfSSL Find modules + + To match the curl ones. + + Cherry-picked from #1445 + +- RELEASE-NOTES: sync [ci skip] + +- cmake: fixup version detection in mbedTLS find module + + - avoid warning with 2.x versions about missing header file while + extracting the version number. + + - clear temp variables. + + Closes #1444 + +- buildconf: drop + + Use `autoreconf -fi` instead. + + Follow-up to fc5d77881eb6bb179f831e626d15f4f29179aad5 + Closes #1441 + +- [Michael Buckley brought this change] + + Implement chacha20-poly1305@openssh.com + + Probably the biggest and potentially most controversial change we have + to upstream. + + Because earlier versions of OpenSSL implemented the algorithm before + standardization, using an older version of OpenSSL can cause problems + connecting to OpenSSH servers. Because of this, we use the public domain + reference implementation instead of the crypto backends, just like + OpenSSH does. + + We've been holding this one for a few years. We were about to upstream + it around the same time as aes128gcm landed upstream, and the two + changes were completely incompatible. Honestly, it took me weeks to + reconcile these two implementations, and it could be much better. + + Our original implementation changed every crypt method to decrypt the + entire message at once. the AESGCM implementation instead went with this + firstlast design, where a firstlast paramater indicates whether this is + the first or last call to the crypt method for each message. That added + a lot of bookkeeping overhead, and wasn't compatible with the chacha + public domain implementation. + + As far as I could tell, OpenSSH uses the technique of decrypting the + entire message in one go, and doesn't have anything like firstlast. + However, I could not get out aes128gcm implementation to work that way, + nor could I get the chacha implementation to work with firstlast, so I + split it down the middle and let each implementation work differently. + It's kind of a mess, and probably should be cleaned up, but I don't have + the time to spend on it anymore, and it's probably better to have + everything upstream. + + Fixes #584 + Closes #1426 + +- tidy-up: do/while formatting + + Also fix an indentation and delete empty lines. + + Closes #1440 + +- wolfssl: drop header path hack + + The wolfSSL OpenSSL headers reside in `wolfssl/openssl/*.h`. + + Before this patch the wolfSSL OpenSSL compatibilty header includes were + shared with the native OpenSSL codepath, and used `openssl/*h`. For + wolfSSL builds this required a hack to append the + `/wolfssl` directory to the header search path, to find + the headers. + + This patch changes the source to use the correct header references, + allowing to drop the header path hack. + + Also fix to use the correct variable to set up the header path in CMake: + `WOLFSSL_INCLUDE_DIRS` (was: `WOLFSSL_INCLUDE_DIR`, without the `S`) + + Closes #1439 + +- cmake: mbedTLS detection tidy-ups + + - set and use `MBEDTLS_INCLUDE_DIRS`. + - stop marking `MBEDTLS_LIBRARIES` as advanced. + + Closes #1438 + +- cmake: add quotes, delete ending dirseps + + Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1 #1166 + Closes #1437 + +- CI/appveyor: increase wait for SSH server on GHA [ci skip] + + Blind attempt to make AppVeyor CI tests work again. + +- disable DSA by default + + Also: + - add `LIBSSH2_DSA_ENABLE` to enable it explicitly. + - test the above option in CI. + - say 'deprecated' in docs and public header. + - disable DSA in the CI server config. + (OpenSSH 9.8 no longer builds with it by default) + https://www.openssh.com/txt/release-9.8 + Patch-by: Jose Quaresma + - disable more DSA code when not enabled. + + Fixes #1433 + Closes #1435 + +GitHub (30 Jul 2024) +- [Viktor Szakats brought this change] + + tidy-up: link updates (#1434) + +Marc Hoersken (27 Jul 2024) +- ci/GHA: revert concurrency and improve permissions + + Statuses are per AppVeyor event and commit, not pull-request. + Also align permissions approach with curl, least priviledge. + + Partially reverts b08cfbc99fa4df3459db4e1ccf4263fd260e9b15. + +GitHub (23 Jul 2024) +- [Will Cosgrove brought this change] + + Always init mbedtls_pk_context (#1430) + + In the failure case, mbedtls_pk_context could be free'd without first being initialized. + +- [Viktor Szakats brought this change] + + mbedtls: tidy-up (#1429) + +- [Will Cosgrove brought this change] + + Correctly initialize values (#1428) + + Fix regression with commit from #1421 + +Viktor Szakats (14 Jul 2024) +- RELEASE-NOTES: sync [ci skip] + +- [Seo Suchan brought this change] + + mbedtls: expose `mbedtls_pk_load_file()` for our use + + While it's moved to pk_internal, it won't removed in mbedTLS 3.6 LTS + so it's safe to redeclare it on our side to find it. + + This is implementing emergency fix suggested from + https://github.com/libssh2/libssh2/commit/2e4c5ec4627b3ecf4b6da16f365c011dec9a31b4#commitcomment-141379351 + + Follow-up to e973493f992313b3be73f51d3f7ca6d52e288558 #1393 + Follow-up to 2e4c5ec4627b3ecf4b6da16f365c011dec9a31b4 #1349 + Closes #1421 + +GitHub (13 Jul 2024) +- [Viktor Szakats brought this change] + + ci/GHA: simplify mbedTLS build hack for autotools (#1425) + + Follow-up to e973493f992313b3be73f51d3f7ca6d52e288558 #1393 + +- [Michael Buckley brought this change] + + Always check for null pointers before calling _libssh2_bn_set_word (#1423) + +- [Viktor Szakats brought this change] + + ci/GHA: FreeBSD 14.1, actions bump (#1424) + +- [Michael Buckley brought this change] + + Increase SFTP_HANDLE_MAXLEN back to 4092 (#1422) + + Match OpenSSH for compatibility. + +Viktor Szakats (10 Jul 2024) +- ci/GHA: tidy up casing [ci skip] + +- REUSE: fix typo in comment + +- REUSE: shorten and improve + + Follow-up to 70b8bf314cf4566a7529c5d6eae63097a926abb0 #1419 + +- REUSE: upgrade to `REUSE.toml` + + Closes #1419 + +- build: stop detecting `sys/param.h` header + + This header is no longer used. + + Follow-up to 12427f4fb8e789adcee4a6e30974932883915e88 #1415 + Closes #1418 + +- [Nicolas Mora brought this change] + + tests: avoid using `MAXPATHLEN`, for portability + + `MAXPATHLEN` is not present in some systems, e.g. GNU Hurd. + + Co-authored-by: Viktor Szakats + Ref: 54bef4c5dad868a9d45fdbfca9729b191c0abab5 #198 + Fixes #1414 + Closes #1415 + +- cmake: sync formatting in `cmake/Find*` modules + +- [Michael Buckley brought this change] + + sftp: implement posix-rename@openssh.com + + Add a new function `libssh2_sftp_posix_rename_ex()` and + `libssh2_sftp_posix_rename()`, which implement + the posix-rename@openssh.com extension. + + If the server does not support this extension, the function returns + `LIBSSH2_FX_OP_UNSUPPORTED` and it's up to the user to recover, possibly + by calling `libssh2_sftp_rename()`. + + Co-authored-by: Viktor Szakats (bump to size_t) + Closes #1386 + +- src: use `UINT32_MAX` + + Needs to be defined for platforms missing it, e.g. VS2008. + + Closes #1413 + +GitHub (25 Jun 2024) +- [Michael Buckley brought this change] + + Fix a memory leak in key exchange. (#1412) + + Original fix submitted as a patch by Trzik. + + Co-authored-by: Michael Buckley + +Viktor Szakats (25 Jun 2024) +- RELEASE-NOTES: sync [ci skip] + +- wolfssl: fix `EVP_Cipher()` use with v5.6.0 and older + + Add workaround for the wolfSSL `EVP_Cipher(*p, NULL, NULL, 0)` bug to + make libssh2 work with wolfSSL v5.6.0 and older. + + wolfSSL fixed this issue in v5.7.0: + https://github.com/wolfSSL/wolfssl/pull/7143 + https://github.com/wolfSSL/wolfssl/commit/b0de0a1c95119786cf5651dd76dd7d7bdfac5a04 + + Without our local workaround: + + - v5.3.0 and older fail most tests: + Ref: https://github.com/libssh2/libssh2/actions/runs/9646827522/job/26604211476#step:17:1263 + + - v5.4.0, v5.5.x, v5.6.0 fail these: + ``` + 29 - test_read-aes128-cbc (Failed) + 30 - test_read-aes128-ctr (Failed) + 32 - test_read-aes192-cbc (Failed) + 33 - test_read-aes192-ctr (Failed) + 34 - test_read-aes256-cbc (Failed) + 35 - test_read-aes256-ctr (Failed) + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/9646827522/job/26604233819#step:17:978 + + Oddly enough the workaround breaks OpenSSL tests, so only enable it for + the affected wolfSSL versions. + + Also add new build-from-source wolfSSL CI job to test the new codepath. + + wolfSSL has a build bug where `wolfssl/options.h` and + `wolfssl/version.h` are not copied to the `install` destination with + autotools. With CMake it has a different bug where `wolfcrypt/sp_int.h` + is not copied (with v5.4.0). And another with CMake where `FIPS_mode()` + remains missing (with v5.6.0 and earlier.) + + Therefore use CMake with v5.5.4 and a workaround for `FIPS_mode()`. + Another option is autotools with v5.4.0 and a workaround for `install`, + but CMake builds quicker. + + Regression-from 3c953c05d67eb1ebcfd3316f279f12c4b1d600b4 #797 + Fixes #1020 + Fixes #1299 + Assisted-by: Michael Buckley via #1394 + Closes #1394 (another attempt to fix the mentioned wolfSSL bug) + Closes #1407 + +- wolfssl: bump version in upstream issue comment [ci skip] + +- wolfssl: require v5.4.0 for AES-GCM + + Earlier versions crash while running tests. + + This patch is part of a series of fixes to make wolfSSL AES-GCM support + work together with libssh2. + + Possibly related is this wolfSSL bugfix patch, released in v5.4.0: + https://github.com/wolfSSL/wolfssl/pull/5205 + https://github.com/wolfSSL/wolfssl/commit/fb3c611275dfe454c331baa0818445a0406c208a + "Fix another AES-GCM EVP control command issue" + + Ref: #1020 + Ref: #1299 + Cherry-picked from #1407 + Closes #1411 + +- tests: fix excluding AES-GCM tests + + Replace hard-coded crypto backends and rely on `LIBSSH2_GCM` macro + to decide whether to run AES-GCM tests. + + Without this, build attempted to run AES-GCM tests (and failed) + for crypto backends that have conditional support for this feature, e.g. + wolfSSL without the necessary features built-in + (as in before Homewbrew wolfssl 5.7.0_1, or OpenSSL v1.1.0 and older). + + This patch is part of a series of fixes to make wolfSSL AES-GCM support + work together with libssh2. + + Cherry-picked from #1407 + Closes #1410 + +- ci/GHA: fix wolfSSL-from-source AES-GCM tests + + Turns out these tests: + ``` + 31 - test_read-aes128-gcm@openssh.com (Failed) + 36 - test_read-aes256-gcm@openssh.com (Failed) + ``` + were failing because AES-GCM wasn't enabled in libssh2. This in turn + happened because the `WOLFSSL_AESGCM_STREAM` macro wasn't enabled while + building wolfSSL. Which happened because this macro isn't enabled by + any CMake-level wolfSSL option. Passing it as `CPPFLAGS` fixes it. + + This allows enabling tests with wolfSSL 5.7.0. + + Follow-up to d4cea53f53c78febad14b4caa600e25d1aaf92fd #1408 + Closes #1409 + +- ci/GHA: add Linux job with latest wolfSSL built from source + + After this patch it's possible to run tests with wolfSSL 5.7.0. + + wolfSSL 5.7.0 fixes this bug that affects open issues #1020 and #1299: + https://github.com/wolfSSL/wolfssl/pull/7143 + + `-DWOLFSSL_OPENSSLALL=ON` is necessary for `wolfSSL_FIPS_mode()` + + Closes #1408 + +- ci/GHA: tidy up build-from-source steps [ci skip] + + - make curl downloads less verbose. + + - fix cmake warning: + ``` + CMake Warning: + No source or binary directory provided. Both will be assumed to be the + same as the current working directory, but note that this warning will + become a fatal error in future CMake releases. + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/9509866494/job/26213472410#step:5:32 + +- [Adam brought this change] + + src: fix type warning in `libssh2_sftp_unlink` macro + + The `libssh2_sftp_unlink` macro was implicitly casting the `size_t` + returned by `strlen` to the `unsigned int` type expected by + `libssh2_sftp_unlink_ex`. + + This fix adds an explicit cast to match similar macro definitions in + the same file (e.g. `libssh2_sftp_rename`, `libssh2_sftp_mkdir`). + + Closes #1406 + +- libssh2.pc: reference mbedcrypto pkgconfig + + mbedtls 3.6.0 got pkgconfig support: + https://github.com/Mbed-TLS/mbedtls/commit/a4d17b34f354557838e05d2cb47200e8dcaaf59b + + Reference it from `libssh2.pc`. + + Closes #1405 + +- tidy-up: typo in comment [ci skip] + +- RELEASE-NOTES: sync [ci skip] + + Also bump planned deprecation dates. + +- ci/GHA: show configure logs on failure and other tidy-ups + + - dump cmake error log on configure failure. (for cmake 3.26 and newer) + - dump `config.log` on autotools configure failure. + - convert specs filename to Windows format before passing to CMake. + - add missing quotes. + + Closes #1403 + +- ci/GHA: bump parallel jobs to nproc+1 + + Ref: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories + + Closes #1402 + +- ci/GHA: show test logs on failure + + Closes #1401 + +- ci/GHA: fix `Dockerfile` failing after Ubuntu package update + + Likely due an upstream Ubuntu package update (requiring an apt-get + install call beforehand), tests run via autotools started failing with + no change in the libssh2 repo: + ``` + FAIL: test_aa_warmup + ==================== + + Error running command 'docker build --quiet -t libssh2/openssh_server %s' (exit 256): Dockerfile:10 + -------------------- + 8 | && apt-get clean \ + 9 | && rm -rf /var/lib/apt/lists/* + 10 | >>> RUN mkdir /var/run/sshd + 11 | + 12 | # Chmodding because, when building on Windows, files are copied in with + -------------------- + ERROR: failed to solve: process "/bin/sh -c mkdir /var/run/sshd" did not complete successfully: exit code: 1 + + Failed to build docker image + Cannot stop session - none started + Cannot stop container - none started + Command: docker build --quiet -t libssh2/openssh_server ../../tests/openssh_server + FAIL test_aa_warmup (exit status: 1) + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/9322194756/job/25662748095#step:11:390 + + Fix it by skipping `mkdir` if `/var/run/sshd` already exists. + + (Why cmake-based jobs aren't affected, I don't know.) + + Ref: https://github.com/libssh2/libssh2/commit/50143d5867d35df76a6cf589ca8a13b22105aa64#commitcomment-142560875 + Closes #1400 + +- ci/GHA: use ubuntu-latest with OmniOS job + + It's the same as ubuntu-22.04. + + Also update OmniOS package search link. + +- ci: disable dependency tracking in autotools builds + + For better build performance. Dependency tracking causes a build + overhead while compiling to help a subsequent build, but in CI there is + never one and the extra work is discarded. + + Closes #1396 + +- mbedtls: fail to compile with v3.6.0 outside CI + + A compile-time failure is preferred over an unexpected one at + runtime. + + The problem is silenced with a macro in CI and this macro will have + to be added to more platforms when mbedTLS v3.6.0 reaches them. + + Follow-up to 2e4c5ec4627b3ecf4b6da16f365c011dec9a31b4 #1349 + Closes #1393 + +- tests: drop default cygpath option `-u` + +- tidy-up: fix typo found by codespell + + Ref: https://github.com/libssh2/libssh2/actions/runs/9224795055/job/25380857082?pr=1393#step:4:5 + +- ci/GHA: shell syntax tidy-up + + Closes #1390 + +- RELEASE-NOTES: sync [ci skip] + +- ci/GHA: bump NetBSD/OpenBSD, add NetBSD arm64 job + + OpenBSD arm64 jobs were very slow, so skipped that. + + Closes #1388 + +- autotools: fix to update `LDFLAGS` for each detected dependency + + autotools lib detection routine failed to extend LDFLAGS for each + detection. This could cause successful detection of a dependency, but + later failing to use it. This did not cause an issue as long as all + dependencies lived under the same prefix, but started breaking on macOS + ARM + Homebrew where this was no longer true for mbedTLS and zlib in + particular. + + Follow-up to 844115393bffb4e92c6569204cbe4cd8e553480d #1381 + Follow-up to ae2770de25949bc7c74e60b4cc6a011bbe1d3d7c #1377 + Closes #1384 + +GitHub (8 May 2024) +- [Michael Buckley brought this change] + + OpenSSL 3: Fix calculating DSA public key (#1380) + +Viktor Szakats (8 May 2024) +- ci/GHA: tidy-up wolfSSL autotools config on macOS + + Closes #1383 + +- ci/GHA: shorter mbedTLS autotools workaround + + Follow-up to 844115393bffb4e92c6569204cbe4cd8e553480d #1381 + Closes #1382 + +GitHub (8 May 2024) +- [Michael Buckley brought this change] + + ci: fix mbedtls runners on macOS (#1381) + + Sets LDFLAGS while configuring the autoconf mbedTLS build for macOS. + +Viktor Szakats (29 Apr 2024) +- RELEASE-NOTES: sync [ci skip] + +- [binary1248 brought this change] + + wincng: fix `DH_GEX_MAXGROUP` set higher than supported + + In 1c3a03ebc3166cf69735111aba2b8cee57cdba51 #493, + `LIBSSH2_DH_GEX_MAXGROUP` was introduced to specify + crypto-backend-specific modulus sizes. Unfortunately, the max size for + the wincng DH modulus was defined to 8192, probably because this is the + value most other backends support. + + According to Microsoft documentation [1], `BCryptGenerateKeyPair` + currently only supports up to 4096-bit keys when the selected algorithm + is `BCRYPT_DH_ALGORITHM`. Requesting larger keys when calling + `BCryptGenerateKeyPair` in `_libssh2_dh_key_pair` always results in + `STATUS_INVALID_PARAMETER` being returned and ultimately key exchange + failing. + + When attempting to connect to any server that offers 8192 bit DH, this + causes key exchange to always fail when using the wincng backend. + Reducing `LIBSSH2_DH_GEX_MAXGROUP` to 4096 fixes the issue. + + [1] https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgeneratekeypair + + Closes #1372 + +- build: silence warnings inside `FD_SET()`/`FD_ISSET()` macros + + Use an ugly workaround to silence `-Wsign-conversion` warnings triggered + by the internals of `FD_SET()`/`FD_ISSET()` macros. They've been showing + up in OmniOS CI builds when compiling `example` programs. They also have + been seen with older Cygwin and other envs and configurations. + + Also scope two related variables in examples. + + E.g.: + ``` + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + 251 | FD_SET(forwardsock, &fds); + | ^~~~~~ + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + 259 | if(rc && FD_ISSET(forwardsock, &fds)) { + | ^~~~~~~~ + ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/8854199687/job/24316762831#step:3:2020 + + Closes #1379 + +- autotools: use `AM_CFLAGS` + + Use `AM_CFLAGS` to pass custom, per-target C flags. This replaces using + `CFLAGS` which triggered this warning when running `autoreconf -fi`: + ``` + tests/Makefile.am:8: warning: 'CFLAGS' is a user variable, you should not override it; + tests/Makefile.am:8: use 'AM_CFLAGS' instead + ``` + (Only for `tests`, even though `example` and `src` also used this + method. The warning is also missing from curl, that also uses + `CFLAGS`.) + + Follow-up to 3ec53f3ea26f61cbf2e0fbbeccb852fca7f9b156 #1286 + Closes #1378 + +GitHub (25 Apr 2024) +- [Viktor Szakats brought this change] + + ci/GHA: fix gcrypt with autotools/macOS/Homebrew/ARM64 (#1377) + + mbedtls configure fails to detect anything due to this: + ``` + configure:23101: gcc -o conftest -g -O2 -I/opt/homebrew/include conftest.c -lmbedcrypto -lz >&5 + ld: library 'mbedcrypto' not found + clang: error: linker command failed with exit code 1 (use -v to see invocation) + ``` + +Viktor Szakats (25 Apr 2024) +- autotools: delete bogus square bracket from help text [ci skip] + + Follow-up to 3f98bfb0900b5e68445a339cfebc60b307a24650 #1368 + +GitHub (25 Apr 2024) +- [Viktor Szakats brought this change] + + ci/GHA: fix verbose option for autotools jobs (#1376) + + Also enable verbose for macOS `make` step. + +- [Viktor Szakats brought this change] + + ci/GHA: dump `config.log` on failure for macOS autotools jobs (#1375) + +- [Viktor Szakats brought this change] + + ci/GHA: fix `autoreconf` failure on macOS/Homebrew (#1374) + + By manually installing `libtool`. + + ``` + autoreconf -fi + shell: /bin/bash -e {0} + configure.ac:75: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL + If this token and others are legitimate, please use m4_pattern_allow. + See the Autoconf documentation. + configure.ac:76: error: possibly undefined macro: AC_PROG_LIBTOOL + autoreconf: error: /opt/homebrew/Cellar/autoconf/2.72/bin/autoconf failed with exit status: 1 + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/8833608758/job/24253334557#step:4:1 + +- [Viktor Szakats brought this change] + + ci/GHA: fixup Homebrew location (for ARM runners) (#1373) + + GHA macOS runners became ARM64 machines. Make the Homebrew prefix + dynamic to adapt to these installations. + +Viktor Szakats (14 Apr 2024) +- RELEASE-NOTES: sync [ci skip] + +- [Patrick Monnerat brought this change] + + os400: Add two recent files to the distribution + + Closes #1364 + +- wincng: add to ci/GHA, add `./configure` option `--enable-ecdsa-wincng` + + - add `./configure` option `--enable-ecdsa-wincng` + + - add WinCNG autotools jobs to GHA. + + - enable WinCNG ECDSA in some GHA jobs (both CMake and autotools). + + Follow-up to 3e72343737e5b17ac98236c03d5591d429b119ae #1315 + Closes #1368 + +GitHub (14 Apr 2024) +- [Johannes Passing brought this change] + + wincng: add ECDSA support for host and user authentication (#1315) + + The WinCNG backend currently only supports DSA and RSA. This PR + adds ECDSA support for host and user authentication. + + * Disable WinCNG ECDSA support by default to maintain backward + compatibility for projects that target versions below Windows 10. + + * Add cmake option `ENABLE_ECDSA_WINCNG` to guard ECDSA support. + + * Update AppVeyor job matrix to only enable ECDSA on Server 2016+ + +Viktor Szakats (14 Apr 2024) +- ci: enable Unity mode for most CMake builds + + Ref: 7129ea9ca8cca86dac80a6bac2d63937987efe9d #1034 + Closes #1367 + +- os400: fix shellcheck warnings in scripts (fixups) + + - Build scripts must be executed by the os/400 shell (sh), not bash which + is a PASE program: The `-ot` non-POSIX test extension works in os/400 as + well. Ref: https://github.com/libssh2/libssh2/pull/1364#issue-2241646754 + + - Drop/fixup mods trying to make some syntax highlighters happier. + + Follow-up to c6625707b94d9093f38f1a0a4d89c11b64f12ba8 #1358 + Assisted-by: Patrick Monnerat + Closes #1364 + Closes #1366 + +- cmake: style tidy-up (more) + + Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1 #1166 + Closes #1365 + +- RELEASE-NOTES: sync [ci skip] + +- os400: fix shellcheck warnings in scripts + + - use `$()` instead of backticks, and re-arrange double-quotes inside. + - add missing `|| exit 1` to `cd` calls. (could be dropped by using `set -eu`.) + - add `-n` to a few `if`s. + - shorten redirections by using `{} >` (as shellcheck recommended). + - silence warnings where variables were detected as unused (SC2034). + - a couple misc updates to silence warnings. + - switch to bash shebang for `-ot` feature. + - split two lines to unbreak syntax highlighting in my editor. (`$(expr \`, `$(dirname \`) + + Also enable CI checks for OS/400 shell scripts. + + Ref: d88b9bcdafe9d19aad2fb120d0a0acb3edab64f7 + Closes #1358 + +- RELEASE-NOTES: sync [ci skip] + +- ci: add shellcheck job and script + + Add FIXME for OS/400 scripts. + + Cherry-picked from #1358 + +- tests: fix shellcheck issues in `test_sshd.test` + + Cherry-picked from #1358 + +- RELEASE-NOTES: sync [ci skip] + +GitHub (9 Apr 2024) +- [Viktor Szakats brought this change] + + ci/appveyor: re-enable OpenSSL 3, also bump to 3.2.1 (#1363) + + Ref: 104744f4a523de574ce3767c50948d9b8385be4c #1348 + +Viktor Szakats (9 Apr 2024) +- ci: use a better test timestamp [ci skip] + + Mar 27 2024 08:00:00 GMT+0000 + + Follow-up to 2d765e454d98b794a5e5bbc497b1fcba4a9b8c4b #1360 + +GitHub (9 Apr 2024) +- [Viktor Szakats brought this change] + + ci: verify build and install from tarball (#1362) + + Install verification based on: + https://github.com/curl/curl/blob/28c5ddf13ac311d10bc4e8f9fc4ce0858a19b888/scripts/installcheck.sh + +Viktor Szakats (9 Apr 2024) +- tidy-up: dir names, command-line [ci skip] + + Follow-up to 2d765e454d98b794a5e5bbc497b1fcba4a9b8c4b #1360 + +- cmake: tidy up function name casing in `CopyRuntimeDependencies.cmake` + + Use lowercase to match callers. + +GitHub (9 Apr 2024) +- [Viktor Szakats brought this change] + + ci: add reproducibility test for `maketgz` (#1360) + +Viktor Szakats (9 Apr 2024) +- maketgz: add reproducible dir entries to tarballs + + In the initial implementation of reproducible tarballs, they were + missing directory entries, while .zip archives had them. It meant + that on extracting the tarball, on-disk directory entries got the + current timestamp. + + This patch fixes this by including directory entries in the tarball, + with reproducible timestamps. It also moves sorting inside tar, + to ensure reproducible directory entry timestamps on extract + (without the need of `--delay-directory-restore` option, when + extracting with GNU tar. BSD tar got that right by default.) + + GNU tar 1.28 (2014-07-28) introduced `--sort=`. + + Follow-up to d52fe1b4358fab891037d86b5c73c098079567db #1357 + Closes #1359 + +- ci/GHA: improve version number in `maketgz` test + + Follow-up to cba7f97506c1b8e5ff131bbbc57b5796ac634c56 #1353 + +GitHub (8 Apr 2024) +- [Michael Buckley brought this change] + + src: check the return value from `_libssh2_bn_*()` functions (#1354) + + Found by oss-fuzz. In `diffie_hellman_sha_algo()`, we were calling + `_libssh2_bn_from_bin()` with data recieved by the server without + checking whether that data was zero-length or ridiculously long. + In the OpenSSL backend, this would cause `_libssh2_bn_from_bin()` + to fail an allocation, which would eventually lead to a NULL + dereference when the bignum was used. + + Add the same check for `_libssh2_bn_set_word()` and + `_libssh2_bn_to_bin()`. + +Viktor Szakats (8 Apr 2024) +- maketgz: reproducible tarballs/zip, display tarball hashes + + - support `SOURCE_DATE_EPOCH` for reproducibility. + - make tarballs reproducible. + - make file timestamps in tarball/zip reproducible. + - make directory timestamps in zip reproducible. + - make timestamps of tarballs/zip reproducible. + - make file order in tarball/zip reproducible. + - use POSIX ustar tarball format to avoid supply chain vulnerability: https://seclists.org/oss-sec/2021/q4/0 + - make uid/gid in tarball reproducible. + - omit owner user/group names from tarball for reproducibility and privacy. + - omit current timestamp from .gz header for reproducibility. + - display SHA-256 hashes of produced tarballs/zip. (Requires `sha256sum`) + - re-sync formatting with curl's `maketgz`. + + Closes #1357 + +- maketgz: `set -eu`, reproducibility, improve zip, add CI test + + - set bash `-eu`. + - fix bash `-eu` issues. + - apply `TZ=UTC` and `LC_ALL=C` for reproducibility. + - sort `.zip` entries for reproducibility. + - zip with `--no-extra` for reproducibliity. + - use maximum zip compression. + - add the gpg sign command-line. Copied from curl. + - add CI test for `maketgz`. + + Closes #1353 + +- RELEASE-NOTES: sync and cleanups [ci skip] + +GitHub (3 Apr 2024) +- [Tejaswikandula brought this change] + + Support RSA SHA2 cert-based authentication (rsa-sha2-512_cert and rsa-sha2-256_cert) (#1314) + + Replicating OpenSSH's behavior to handle RSA certificate authentication + differently based on the remote server version. + + 1. For OpenSSH versions >= 7.8, ascertain server's support for RSA Cert + types by checking if the certificate's signature type is present in + the `server-sig-algs`. + + 2. For OpenSSH versions < 7.8, Set the "SSH_BUG_SIGTYPE" flag when the + RSA key in question is a certificate to ignore `server-sig-algs` and + only offer ssh-rsa signature algorithm for RSA certs. + + This arises from the fact that OpenSSH versions up to 7.7 accept + RSA-SHA2 keys but not RSA-SHA2 certificate types. Although OpenSSH <=7.7 + includes RSA-SHA2 keys in the `server-sig-algs`, versions <=7.7 do not + actually support RSA certs. Therefore, server sending RSA-SHA2 keys in + `server-sig-algs` should not be interpreted as indicating support for + RSA-SHA2 certs. So, `server-sig-algs` are ignored when the RSA key in + question is a cert, and the remote server version is 7.7 or below. + + Relevant sections of the OpenSSH source code: + + + + + Assisted-by: Will Cosgrove + Reviewed-by: Viktor Szakats + +Viktor Szakats (3 Apr 2024) +- RELEASE-NOTES: sync [ci skip] + + Also fix to include 3-digit issue/PR references. + +- mbedtls: add workaround + FIXME to build with 3.6.0 + + This is just a stub to make `_libssh2_mbedtls_ecdsa_new_private` + compile. + + mbedtls 3.6.0 silently deleted its public API `mbedtls_pk_load_file`, + which this function relies on. + + Closes #1349 + +GitHub (3 Apr 2024) +- [Viktor Szakats brought this change] + + ci/appveyor: OpenSSL 3 no longer found by CMake, revert to 1.1.1 (#1348) + + Ref: https://github.com/appveyor/build-images/commit/702e8cdca01f28f6a40687783f493c786cebbe2c + Ref: https://github.com/appveyor/build-images/pull/149 + +Viktor Szakats (3 Apr 2024) +- docs: improve `libssh2_userauth_publickey_from*` manpages + + Reported-by: Lyndon Brown + Assisted-by: Ryan Kelley + Fixes #652 + Closes #1308 + Closes #xxxx + +- RELEASE-NOTES: sync [ci skip] + +GitHub (2 Apr 2024) +- [Viktor Szakats brought this change] + + test debian:testing-slim post xz backdoor removal (#1346) + + The unexplained CI fallouts are gone with the latest debian:testing (20240330). + + Ref #1328 #1329 #1338. + Closes #1346 + +Viktor Szakats (30 Mar 2024) +- ci: use Linux runner for BSDs, add arm64 FreeBSD 14 job + + - bump cross-platform-actions to 0.23.0. + Ref: https://github.com/cross-platform-actions/action/releases/tag/v0.23.0 + + - switch to Linux runners (from macOS) for cross-platform-actions. + It's significantly faster. + + - switch back FreeBSD 14 job to cross-platform-actions. + Also switch back to default shell. + + - add FreeBSD 14 arm64 job. + + Closes #1343 + +- ci: use single quotes in yaml [ci skip] + +- ci: tidy-up job order [ci skip] + +- build: drop `-Wformat-nonliteral` warning suppressions + + Also markup a vararg function as such. + + In functions marked up as vararg functions, there is no need to suppress + `-Wformat-nonliteral` warnings. It's done automatically by the compiler. + + Closes #1342 + +- ci: delete flaky FreeBSD 13.2 job + + Keep FreeBSD 14. + +- RELEASE-NOTES: sync [ci skip] + +- example: restore `sys/time.h` for AIX + + In AIX, `time.h` header file doesn't have definitions like + `fd_set`, `struct timeval`, which are found in `sys/time.h`. + + Add `sys/time.h` to files affected when available. + + Regression from e53aae0e16dbf53ddd1a4fcfc50e365a15fcb8b9 #1001. + + Reported-by: shubhamhii on GitHub + Assisted-by: shubhamhii on GitHub + Fixes #1334 + Fixes #1335 + Closes #1340 + +- userauth: avoid oob with huge interactive kbd response + + - If the length of a response is `UINT_MAX - 3` or larger, an unsigned + integer overflow occurs on 64-bit systems. Avoid such truncation to + always allocate enough memory to avoid subsequent out of boundary + writes. + + Patch-by: Tobias Stoeckmann + + - also add FIXME to bump up length field to `size_t` (ABI break) + + Closes #1337 + +GitHub (28 Mar 2024) +- [Josef Cejka brought this change] + + transport: check ETM on remote end when receiving (#1332) + + We should check if encrypt-then-MAC feature is enabled in remote end's + configuration. + + Fixes #1331 + +- [Josef Cejka brought this change] + + kex: always add extension indicators to kex_algorithms (#1327) + + KEX pseudo-methods "ext-info-c" and "kex-strict-c-v00@openssh.com" + are in default kex method list but they were lost after configuring + custom kex method list in libssh2_session_method_pref(). + + Fixes #1326 + +- [Jiwoo Park brought this change] + + cmake: use the imported target of FindOpenSSL module (#1322) + + * Use the imported target of FindOpenSSL module + * Build libssh2 before test runner + * Use find_package() in the CMake config file + * Use find_dependency() rather than find_package() + * Install CMake module files and use them in the config file + * Use elseif() to choose the crypto backend + +- [Andrei Augustin brought this change] + + docs: update INSTALL_AUTOTOOLS (#1316) + + corrected --with-libmbedtls-prefix to current option --with-libmbedcrypto-prefix + +Viktor Szakats (28 Mar 2024) +- ci: don't parallelize `distcheck` job + + A while ago the `distcheck` CI job became flaky. This continued after + switching to Debian stable (from testing). Try stabilzing it by running + it single-threaded. + + Closes #1339 + +- Dockerfile: switch to Debian stable (from testing) + + This fixes flakiness experienced recently with two OpenSSL jobs and one + libgcrypt job, and/or intermittently causing all Docker-based tests to + fail. + + Reported-by: András Fekete + Fixes #1328 + Fixes #1329 + Closes #1338 + +GitHub (22 Feb 2024) +- [Michael Buckley brought this change] + + Supply empty hash functions for mac_method_hmac_aesgcm to avoid a crash when e.g. setting LIBSSH2_METHOD_CRYPT_CS (#1321) + +- [Michael Buckley brought this change] + + gen_publickey_from_dsa: Initialize BIGNUMs to NULL for OpenSSL 3 (#1320) + +Viktor Szakats (23 Jan 2024) +- RELEASE-NOTES: add algo deprecation notices [ci skip] + + Closes #1307 + +- RELEASE-NOTES: sync [ci skip] + +GitHub (22 Jan 2024) +- [Juliusz Sosinowicz brought this change] + + wolfssl: enable debug logging in wolfSSL when compiled in (#1310) + + Co-authored-by: Viktor Szakats + +- [monnerat brought this change] + + os400: maintain up to date (#1309) + + - Handle MD5 conditionals in os400qc3. + - Check for errors in os400qc3 pbkdf1. + - Implement an optional build options override file. + - Sync ILE/RPG copy files with current C header files. + - Allow a null session within a string conversion cache. + - Add an ILE/RPG example. + - Adjust outdated copyrights in changed files. + +Viktor Szakats (18 Jan 2024) +- RELEASE-NOTES: sync + +- src: check hash update/final success + + Also: + - delete unused internal macro `libssh2_md5()` where defined. + - prefix `libssh2_os400qc3_hash*()` function names with underscore. + These are public/visible, but internal. + - add FIXMEs to OS/400 code to verify update/final calls; some OS API, + some internal. + + Ref: https://github.com/libssh2/libssh2/pull/1301#discussion_r1446861650 + Reviewed-by: Michael Buckley + Reviewed-by: Patrick Monnerat + Closes #1303 + +- RELEASE-NOTES: sync [ci skip] + +GitHub (18 Jan 2024) +- [Ryan Kelley brought this change] + + openssl: fix cppcheck found NULL dereferences (#1304) + + * Fix NULL dereference in gen_publickey_from_rsa_evp and + gen_publickey_from_dsa_evp. + * Add checks for en_publickey_from_ec_evp and en_publickey_from_ed_evp + +Viktor Szakats (12 Jan 2024) +- openssl: delete internal `read_openssh_private_key_from_memory()` + + It was wrapping another internal function with no added logic. + + Closes #1306 + +- openssl: formatting/whitespace + + Also use `NULL` instead of `0` for pointers. + + Closes #1305 + +- HACKING-CRYPTO: more fixups [ci skip] + + Follow-up to f64885b6ab9bbdae2da9ebd70f4dd5cea56e838a #1297 + +- HACKING-CRYPTO: fixups [ci skip] + + Follow-up to f64885b6ab9bbdae2da9ebd70f4dd5cea56e838a #1297 + +- RELEASE-NOTES: sync [ci skip] + +- src: check hash init success + + Before this patch, SHA2 and SHA1 init function results were cast to + `void`. This patch makes sure to verify these values. + + Also: + - exclude an `assert(0)` from release builds in `_libssh2_sha_algo_ctx_init()`. + (return error instead) + - fix indentation / whitespace + + Reviewed-by: Michael Buckley + Closes #1301 + +- mac: handle low-level errors + + - update low-level hmac functions from macros to functions. + - libgcrypt: propagate low-level hmac errors. + - libgcrypt: add error checks for hmac calls. + - os400qc3: add error checks, propagate them. + Assisted-by: Patrick Monnerat + - mbedtls: fix propagating low-level hmac errors. + - wincng: fix propagating low-level hmac errors. + - mac: verify success of low-level hmac functions. + - knownhost: verify success of low-level hmac functions. + - transport: verify success of MAC hash call. + - minor type cleanup in wincng. + - delete unused ripemd wrapper in wincng. + - delete unused SHA384 wrapper in mbedtls. + + Reported-by: Paul Howarth + Reviewed-by: Michael Buckley + Closes #1297 + +GitHub (8 Jan 2024) +- [Michael Buckley brought this change] + + Fix an out-of-bounds read in _libssh2_kex_agree_instr when searching for a KEX not in the server list (#1302) + +Viktor Szakats (21 Dec 2023) +- RELEASE-NOTES: sync [ci skip] + +- ci/appveyor: re-enable parallel mode + + The comment cited earlier is no longer true with recent CMake versions. + This options does actually enable parallel builds with MSVC since CMake + v3.26.0: https://gitlab.kitware.com/cmake/cmake/-/issues/20564 + + The effect isn't much for libssh2, because it spends most time in tests, + but let's enable it anyway for efficiency. + + Ref: 0d08974633cfc02641e6593db8d569ddb3644255 #884 + Ref: 7a039d9a7a2945c10b4622f38eeed21ba6b4ec55 #867 + + Closes #1294 + +- ci/gha: review/fixup auto-cancel settings + + - use the group expression from `reuse.yml` (via curl). + - add auto-cancel for `ci` and `cifuzz`. + - add auto-cancel to `appveyor_docker`. I'm just guessing here. + The hope is that it fixes AppVeyor CI runs when re-pushing a PR. + This frequently caused the freshly pushed session to fail waiting for + a connection. + - sync group expression in `appveyor_status` with `reuse`. + + Closes #1292 + +- RELEASE-NOTES: fix casing in GitHub names [ci skip] + +- RELEASE-NOTES: synced [ci skip] + + Closes #1279 + +- [Michael Buckley brought this change] + + src: add 'strict KEX' to fix CVE-2023-48795 "Terrapin Attack" + + Refs: + https://terrapin-attack.com/ + https://seclists.org/oss-sec/2023/q4/292 + https://osv.dev/list?ecosystem=&q=CVE-2023-48795 + https://github.com/advisories/GHSA-45x7-px36-x8w8 + https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48795 + + Fixes #1290 + Closes #1291 + +- session: add `libssh2_session_callback_set2()` + + Add new `libssh2_session_callback_set2()` API that deprecates + `libssh2_session_callback_set()`. + + The new implementation offers the same functionality, but accepts and + returns a generic function pointer (of type `libssh2_cb_generic *`), as + opposed to the old function that used data pointers (`void *`). The new + solution thus avoids data to function (and vice versa) pointer + conversions, which has undefined behaviour in standard C. + + About the name: It seems the `*2` suffix was used in the past for + replacement functions for deprecated ones. Let's stick with that. + `*_ex` was preferred for new functions that extend existing ones with + new features. + + Closes #1285 + +- build: enable `-pedantic-errors` + + According to the manual, this isn't the same as `-Werror -pedantic`. + Enable it together with `-Werror`. + + https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-pedantic-errors-1 + + This option results in autotools feature detection going into crazies. + To avoid this, we add it to `CFLAGS` late. Idea copied from curl. + + This option has an effect only with gcc 5.0 and newer as of this commit. + Let's enable it for clang and older versions too for simplicity. Ref: + https://github.com/curl/curl/commit/d5c0351055d5709da8f3e16c91348092fdb481aa + https://github.com/curl/curl/pull/2747 + + Closes #1286 + +- build: add mingw-w64 support to `LIBSSH2_PRINTF()` attribute + + And fix the warning it detected. + + Closes #1287 + +- libssh2.h: add deprecated function warnings + + With deprecated-at versions and suggested replacement function. + + It's possible to silence them by defining `LIBSSH2_DISABLE_DEPRECATION`. + + Also add depcreated-at versions to documentation, and unify wording. + + Ref: https://github.com/libssh2/libssh2/pull/1260#issuecomment-1837017987 + Closes #1289 + +- ci/spellcheck: delete redundant option [ci skip] + + `--check-hidden` not necessary when passing filenames explicitly. + + Follow-up to a79218d3a058a333bb9de14079548a3511679a04 + +- tidy-up: add empty line for clarity [ci skip] + +- build: FIXME `-Wsign-conversion` to be errors [ci skip] + +- src: disable `-Wsign-conversion` warnings, add option to re-enable + + To avoid the log noise till we fix those ~360 compiler warnings. + + Also add macro `LIBSSH2_WARN_SIGN_CONVERSION` to re-enable them. + + Follow-up to afa6b865604019ab27ec033294edfe3ded9ae0c0 #1257 + + Closes #1284 + +- cmake: fix indentation [ci skip] + +- example, tests: call `WSACleanup()` for each `WSAStartup()` + + On Windows. + + Closes #1283 + +- RELEASE-NOTES: update credits [ci skip] + + Ref: https://github.com/libssh2/libssh2/pull/1241#issuecomment-1830118584 + +- RELEASE-NOTES: avoid splitting names, fix typo, refine order [ci skip] + +- RELEASE-NOTES: synced [ci skip] + +- add portable `LIBSSH2_SOCKET_CLOSE()` macro + + Add `LIBSSH2_SOCKET_CLOSE()` to the public `libssh2.h` header, for user + code. It translates to `closesocket()` on Windows and `close()` on other + platforms. + + Use it in example code. + + It makes them more readable by reducing the number of `_WIN32` guards. + + Closes #1278 + +- ci: add FreeBSD 14 job, fix issues + + - install bash to fix error when running tests: + ``` + ERROR: test_sshd.test - missing test plan + ERROR: test_sshd.test - exited with status 127 (command not found?) + ===================================== + [...] + # TOTAL: 4 + # PASS: 2 + # SKIP: 0 + # XFAIL: 0 + # FAIL: 0 + # XPASS: 0 + # ERROR: 2 + [...] + env: bash: No such file or directory + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7133852508/job/19427420687#step:3:3998 + + - fix sshd issue when running tests: + ``` + # sshd log: + # Server listening on :: port 4711. + # Server listening on 0.0.0.0 port 4711. + # Authentication refused: bad ownership or modes for file /home/runner/work/libssh2/libssh2/tests/key_rsa.pub + # Authentication refused: bad ownership or modes for file /home/runner/work/libssh2/libssh2/tests/openssh_server/authorized_keys + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7134629175/job/19429828342#step:3:4059 + + Cherry-picked from #1277 + Closes #1277 + +- ci: add OmniOS job, fix issues + + - use GNU Make, to avoid errors: + ``` + make: Fatal error in reader: Makefile, line 983: Badly formed macro assignment + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7134629175/job/19429838379#step:3:1956 + + Caused by `?=` in `Makefile.am`. Fix it just in case. + + ``` + make: Fatal error in reader: Makefile, line 438: Unexpected end of line seen + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7135524843/job/19432451767#step:3:1966 + + It's around line 43 in `Makefile.am`, reason undiscovered. + + - fix error: + ``` + ../../src/hostkey.c:1227:44: error: pointer targets in passing argument 5 of '_libssh2_ed25519_sign' differ in signedness [-Werror=pointer-sign] + 1227 | datavec[0].iov_base, datavec[0].iov_len); + | ~~~~~~~~~~^~~~~~~~~ + | | + | caddr_t {aka char *} + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7135102832/job/19431233967#step:3:2225 + + https://docs.oracle.com/cd/E36784_01/html/E36887/iovec-9s.html + + - FIXME: new `-Wsign-conversion` warnings appeared in examples: + ``` + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + 251 | FD_SET(forwardsock, &fds); + | ^~~~~~ + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:251:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + 259 | if(rc && FD_ISSET(forwardsock, &fds)) { + | ^~~~~~~~ + ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion] + ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion] + [...] + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7136086865/job/19433997429#step:3:3450 + + Cherry-picked from #1277 + +- example: use `libssh2_socket_t` in X11 example + + Cherry-picked from #1277 + +- [Aaron Stone brought this change] + + Handle EINTR from send/recv/poll/select to try again as the error is not fatal + + Integration-patches-by: Viktor Szakats + Fixes #955 + Closes #1058 + +- appveyor: delete UWP job broken since Visual Studio upgrade + + Few days ago UWP job started permafailing. + + fail: https://ci.appveyor.com/project/libssh2org/libssh2/builds/48678129/job/yb8n2pox8mfjwv6m + good: https://ci.appveyor.com/project/libssh2org/libssh2/builds/48673013 + + Other projects also affected: + https://ci.appveyor.com/project/c-ares/c-ares/builds/48687390/job/l0fo4b0sijvqkw9r + + No related local update. Same CMake version. Same CI image. + + This seems to be the culprit, which could mean that this update broke + CMake detection, needs a different CMake configuration on our end, or + that this MSVC update pulled support for UWP apps: + + fail: -- The C compiler identification is MSVC 19.38.33130.0 (~ Visual Studio 2022 v17.8) + good: -- The C compiler identification is MSVC 19.37.32825.0 (~ Visual Studio 2022 v17.7) + + If this is v17.8, release notes don't readily suggest a feature removal: + https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes-v17.8 + + So it might just be UWP accidentally broken in this release. + + Closes #1275 + +- checksrc: sync with curl + + Closes #1272 + +- autotools: delete `--disable-tests` option, fix CI tests + + Originally added to improve build performance by skipping building + tests. But, there seems to be no point in this, because autotools + doesn't build tests by default, unless explicitly invoking + `make check`. + + Delete this option from Cygwin and FreeBSD CI tests, where it caused + `make check` to do nothing. Tests are built now, and runtime tests are + too, where supported. + + Also disable Docker-based tests for these, and add a missing `make -j3` + for FreeBSD. + + Reverts 7483edfada1f7e17cf8f9ac1c87ffa3d814c987e #715 + + Closes #1271 + +GitHub (6 Dec 2023) +- [ren mingshuai brought this change] + + build: add `LIBSSH2_NO_DEPRECATED` option (#1266) + + The following APIs have been deprecated for over 10 years and + use `LIBSSH2_NO_DEPRECATED` to mark them as deprecated: + + libssh2_session_startup() + libssh2_banner_set() + libssh2_channel_receive_window_adjust() + libssh2_channel_handle_extended_data() + libssh2_scp_recv() + + Add these options to disable them: + - autotools: `--disable-deprecated` + - cmake: `-DLIBSSH2_NO_DEPRECATED=ON` + - `CPPFLAGS`: `-DLIBSSH2_NO_DEPRECATED` + + Fixes #1259 + Replaces #1260 + Co-authored-by: Viktor Szakats + Closes #1267 + +Viktor Szakats (5 Dec 2023) +- autotools: show the default for `hidden-symbols` option + + Closes #1269 + +- tidy-up: bump casts from int to long for large C99 types in printfs + + Cast large integer types to avoid dealing with printf masks for + `size_t` and other C99 types. Some of existing code used `int` + for this, bump them to `long`. + + Ref: afa6b865604019ab27ec033294edfe3ded9ae0c0 #1257 + + Closes #1264 + +- build: enable missing OpenSSF-recommended warnings, with fixes + + Ref: + https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html + (2023-11-29) + + Enable new warnings: + + - replace `-Wno-sign-conversion` with `-Wsign-conversion`. + + Fix them in example, tests and wincng. There remain about 360 of these + warnings in `src`. Add a TODO item for those and disable `-Werror` for + this particular warning. + + - enable `-Wformat=2` for clang (in both cmake and autotools). + + - enable `__attribute__((format))` for `_libssh2_debug()`, + `_libssh2_snprintf()` and in tests for `run_command()`. + + `LIBSSH2_PRINTF()` copied from `CURL_TEMP_PRINTF()` in curl. + + - enable `-Wimplicit-fallthrough`. + + - enable `-Wtrampolines`. + + Fix them: + + - src: replace obsolete fall-through-comments with + `__attribute__((fallthrough))`. + + - wincng: fix `-Wsign-conversion` warnings. + + - tests: fix `-Wsign-conversion` warnings. + + - example: fix `-Wsign-conversion` warnings. + + - src: fix `-Wformat` issues in trace calls. + + Also, where necessary fix `int` and `unsigned char` casts to + `unsigned int` and adjust printf format strings. These were not + causing compiler warnings. + + Cast large types to `long` to avoid dealing with printf masks for + `size_t` and other C99 types. Existing code often used `int` for this. + I'll update them to `long` in an upcoming commit. + + - tests: fix `-Wformat` warning. + + - silence `-Wformat-nonliteral` warnings. + + - mbedtls: silence `-Wsign-conversion`/`-Warith-conversion` + in external header. + + Closes #1257 + +- packet: whitespace fix + + Tested via #1257 + +- tidy-up: unsigned -> unsigned int + + In the `interval` argument of public `libssh2_keepalive_config()`. + + Tested via #1257 + +- tests: sync port number type with the rest of codebase + + Tested via #1257 + +- autotools: enable `-Wunused-macros` with gcc + + It works with gcc without the libtool warnings seen with clang + on Windows in 96682bd5e14c20828e18bf10ed5b4b5c7543924a #1227. + + Sync usage of of this macro with CMake and + autotools + clang + non-Windows. Making it enabled everywhere except + autotools + clang + Windows due to the libtool stub issue. + + Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224 + + Closes #1262 + +- TODO: disable or drop weak algos [ci skip] + + Closes #1261 + +- example, tests: fix/silence `-Wformat-truncation=2` gcc warnings + + Then sync this warning option with curl. + + Seems like a false positive and/or couldn't figure how to fix it, so silence: + ``` + example/ssh2.c:227:38: error: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size 0 [-Werror=format-truncation=] + 227 | snprintf(fn1, fn1sz, "%s/%s", h, pubkey); + | ^~ + example/ssh2.c:227:34: note: assuming directive output of 1 byte + 227 | snprintf(fn1, fn1sz, "%s/%s", h, pubkey); + | ^~~~~~~ + example/ssh2.c:227:13: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 2 + 227 | snprintf(fn1, fn1sz, "%s/%s", h, pubkey); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + example/ssh2.c:228:38: error: '%s' directive output may be truncated writing likely 1 or more bytes into a region of size 0 [-Werror=format-truncation=] + 228 | snprintf(fn2, fn2sz, "%s/%s", h, privkey); + | ^~ + example/ssh2.c:228:34: note: assuming directive output of 1 byte + 228 | snprintf(fn2, fn2sz, "%s/%s", h, privkey); + | ^~~~~~~ + example/ssh2.c:228:13: note: 'snprintf' output 3 or more bytes (assuming 4) into a destination of size 2 + 228 | snprintf(fn2, fn2sz, "%s/%s", h, privkey); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7055480458/job/19205970397#step:10:98 + + Fix: + ``` + tests/openssh_fixture.c:116:38: error: ' 2>&1' directive output may be truncated writing 5 bytes into a region of size between 1 and 1024 [-Werror=format-truncation=] + tests/openssh_fixture.c:116:11: note: 'snprintf' output between 6 and 1029 bytes into a destination of size 1024 + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/7055480458/job/19205969221#step:10:51 + + Tested via #1257 + +- example: fix indentation follow-up + + Fix long line and fix more indentations. + + Follow-up to 9e896e1b80911a53d6aabb322e034e6ca51b6898 + +- example: fix indentation + + Tested via #1257 + +- autotools: fix missed `-pedantic` and `-Wall` options for gcc + + Follow-up to 5996fefe2bad80cfba85b2569ce6ab6ef575142c #1223 + + Tested via #1257 + +- ci: show compiler in cross/cygwin job names + + Tested via #1257 + +- mbedtls: further improve disabling `-Wredundant-decls` + + Move warning option suppression to `src/mbedtls.h` to surround the actual + external header #includes that need it. + + Follow-up to ecec68a2c13a9c63fe8c2dc457ae785a513e157c #1226 + Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224 + + Tested via #1257 + +GitHub (1 Dec 2023) +- [ren mingshuai brought this change] + + example: replace remaining libssh2_scp_recv with libssh2_scp_recv2 in output messages (#1258) + + libssh2_scp_recv is deprecated and has been replaced by libssh2_scp_recv2 + in prior commit. + + Follow-up to 6c84a426beb494980579e5c1d244ea54d3fc1a3f + +Viktor Szakats (27 Nov 2023) +- openssl: use OpenSSL 3 HMAC API, add `no-deprecated` CI job + + - use OpenSSL 3 API when available for HMAC. + This fixes building with OpenSSL 3 `no-deprecated` builds. + + - ensure we support pure OpenSSL 3 API by adding a CI job using + OpenSSL 3 custom-built with `no-deprecated`. + + Follow-up to b0ab005fe79260e6e9fe08f8d73b58dd4856943d #1207 + + Fixes #1235 + Closes #1243 + +- ci: restore lost comment for FreeBSD [ci skip] + + Follow-up to eee4e8055ab375c9f9061d4feb39086737f41a9c + +- ci: add OpenBSD (v7.4) job + fix build error in example + + - Use CMake, LibreSSL and clang from the base install. + + - This uncovered a build error in `example/subsystem_netconf.c`, caused + by using the `%n` printf mask. This is a security risk and some + systems (notably OpenBSD) disable this feature. + + Fix it by applying this patch from OpenBSD ports (from 2021-09-11): + https://cvsweb.openbsd.org/ports/security/libssh2/patches/patch-example_subsystem_netconf_c?rev=1.1&content-type=text/x-cvsweb-markup + https://github.com/openbsd/ports/commit/2c5b2f3e94381914a3e8ade960ce8c997ca9d6d7 + "The old code is also broken, as it passes a pointer to a variable + of a different size (on LP64). There is no check for truncation, + but buf[] is 1MB in size." + Patch-by: naddy + + ``` + /home/runner/work/libssh2/libssh2/example/subsystem_netconf.c:252:17: error: '%n' format specifier support is deactivated and will call abort(3) [-Werror] + "]]>]]>\n%n", (int *)&len); + ~^ + /home/runner/work/libssh2/libssh2/example/subsystem_netconf.c:270:17: error: '%n' format specifier support is deactivated and will call abort(3) [-Werror] + "]]>]]>\n%n", (int *)&len); + ~^ + 2 errors generated. + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/6991449778/job/19022024280#step:3:420 + + Also made tests with arm64, but it takes consistently almost 14m to + finish the job, vs. 2-3m for the native amd64: + https://github.com/libssh2/libssh2/actions/runs/6991648984/job/19022440525 + https://github.com/libssh2/libssh2/actions/runs/6991551220/job/19022233651 + + Cherry-picked from #1250 + Closes #1250 + +- ci: add NetBSD (v9.3) job + + Use CMake, OpenSSL (v1.1) and clang from the base install. + + Cherry-picked from #1250 + +- ci: update and speed up FreeBSD job + + - switch to an alternate GitHub action. This one seems (more) actively + maintained, and runs faster: + https://github.com/cross-platform-actions/action + + - use clang instead of gcc. clang is already present in the base + install, saving install time and bandwidth. + + - stop installing `openssl-quictls` and use the OpenSSL (v1.1) from + the base system. + (I'm suspecting that quictls before this patch wasn't detected by + the build.) + https://wiki.freebsd.org/OpenSSL + + Cherry-picked from #1250 + +- stop using leading underscores in macro names + + Underscored macros are reserved for the compiler / standard lib / etc. + Stop using them in user code. + + We used them as header guards in `src` and in `__FILESIZE` in `example`. + + Closes #1248 + +- ci: use absolute path in `CMAKE_INSTALL_PREFIX` + + To make the installed locations unambiguous in the build logs. + + Closes #1247 + +- openssl: make a function static, add `#ifdef` comments + + Follow-up to 03092292597ac601c3f9f0c267ecb145dda75e4e #248 + where the function was added. + + Also add comments to make `#ifdef` branches easier to follow in + `openssl.h`. + + Closes #1246 + +- ci: boost mbedTLS build speed + + Build times down to 4 seconds (from 18-20). + + Closes #1245 + +- openssl: fix DSA code to use OpenSSL 3 API + + - fix missing `DSA` type when building for OpenSSL 3 `no-deprecated`. + - fix fallouts after fixing the above by switching away from `DSA` + with OpenSSL 3. + + Follow-up to b0ab005fe79260e6e9fe08f8d73b58dd4856943d #1207 + + Closes #1244 + +- openssl: formatting (delete empty lines) [ci skip] + +- tests: fall back to `$LOGNAME` for username + + If the `$USER` variable is empty, fall back to using `$LOGNAME` to + retrieve the logged-in username. + + In POSIX, `$LOGNAME` is a mandatory variable, while `$USER` isn't, and + on some systems it may not be set. Without this value, tests were unable + to provide the correct username when logging into the SSH server running + under the active user's session. + + Reported-by: Nicolas Mora + Suggested-by: Nicolas Mora + Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056348 + Fixes #1240 + Closes #1241 + +- libssh2.h: use `_WIN32` for Windows detection instead of rolling our own + + Sync up `libssh2.h` Windows detection with the libssh2 source code. + + `libssh2.h` was using `WIN32` and `LIBSSH2_WIN32` for Windows detection, + next to the official `_WIN32`. After this patch it only uses `_WIN32` + for this. Also, make it stop defining `LIBSSH2_WIN32`. + + There is a slight chance these break compatibility with Windows + compilers that fail to define `_WIN32`. I'm not aware of any obsolete + or modern compiler affected, but in case there is one, one possible + solution is to define this macro manually. + + Closes #1238 + +- openssl: fix `EC_KEY` reference with OpenSSL 3 `no-deprecated` build + + Fixes: + ``` + src/openssl.c:650:5: error: use of undeclared identifier 'EC_KEY' + EC_KEY *ec_key = EC_KEY_new_by_curve_name(curve); + ^ + src/openssl.c:650:13: error: use of undeclared identifier 'ec_key' + EC_KEY *ec_key = EC_KEY_new_by_curve_name(curve); + ^ + src/openssl.c:650:22: error: implicit declaration of function 'EC_KEY_new_by_curve_name' is invalid in C99 [-Werror,-Wimplicit-function-declaration] + EC_KEY *ec_key = EC_KEY_new_by_curve_name(curve); + ^ + src/openssl.c:650:22: note: did you mean 'EC_GROUP_new_by_curve_name'? + ./quictls/_a64-mac-sys/usr/include/openssl/ec.h:483:11: note: 'EC_GROUP_new_by_curve_name' declared here + EC_GROUP *EC_GROUP_new_by_curve_name(int nid); + ^ + In file included from ./_a64-mac-sys-bld/src/CMakeFiles/libssh2_static.dir/Unity/unity_0_c.c:19: + In file included from src/crypto.c:10: + src/openssl.c:652:8: error: use of undeclared identifier 'ec_key' + if(ec_key) { + ^ + ``` + Ref: https://github.com/curl/curl-for-win/actions/runs/6950001225/job/18909297867#step:3:4341 + + Follow-up to b0ab005fe79260e6e9fe08f8d73b58dd4856943d #1207 + + Bug #1235 + Closes #1236 + +- openssl: formatting + + Sync up these lines with the other two similar occurrences in the code. + + Cherry-picked from #1236 + +GitHub (21 Nov 2023) +- [Michael Buckley brought this change] + + openssl: use non-deprecated APIs with OpenSSL 3.x (#1207) + + Assisted-by: Viktor Szakats + +Viktor Szakats (21 Nov 2023) +- ci: add BoringSSL job (cmake, gcc, amd64) + + Closes #1233 + +- autotools: fix dotless gcc and Apple clang version detections + + - fix parsing dotless (major-only) gcc versions. + Follow-up to 00a3b88c51cdb407fbbb347a2e38c5c7d89875ad #1187 + + - sync gcc detection variable names with curl. + + - fix Apple clang version detection for releases between + 'Apple LLVM version 7.3.0' and 'Apple LLVM version 10.0.1' where the + version was under-detected as 3.7 llvm/clang equivalent. + + - fix Apple clang version detection for 'Apple clang version 11.0.0' + and newer where the Apple clang version was detected, instead of its + llvm/clang equivalent. + + - revert to show `clang` instead of `Apple clang`, because we follow it + with an llvm/clang version number. (Apple-ness still visible in raw + version.) + + Used this collection for Apple clang / llvm/clang translation and test + inputs: https://gist.github.com/yamaya/2924292 + + Closes #1232 + +- acinclude.m4: revert accidental edit [ci skip] + + Follow-up to 8c320a93a48775b74f40415e46f84bf68b4d5ae8 + +- autotools: show more clang/gcc version details + + Also: + - show if we detected Apple clang. + - delete duplicate version detection for clang. + + Closes #1230 + +- acinclude.m4: re-sync with curl [ci skip] + +- autotools: avoid warnings in libtool stub code + + Seen on Windows with clang64, in libtool-generated stub code for + examples and tests. + + The error didn't break the CI job for some reason. + + msys2 (autotools, clang64, clang-x86_64: + ``` + [...] + 2023-11-17T20:14:17.8639574Z ./.libs/lt-test_read.c:91:10: error: macro is not used [-Werror,-Wunused-macros] + [...] + 2023-11-17T20:14:39.8729255Z ./.libs/lt-sftp_write_nonblock.c:91:10: error: macro is not used [-Werror,-Wunused-macros] + [...] + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/6908585056/job/18798193405?pr=1226#step:8:474 + + Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224 + + Closes #1227 + +- mbedtls: improve disabling `-Wredundant-decls` + + Disable these warnings specifically for the mbedTLS public headers + and leave it on for the the rest of the code. This also fixes this + issue for autotools. Previous solution was globally disabling this + warning for the whole code when using mbedTLS and only with CMake. + + Follow-up to 7ecc309cd10454c54814b478c4f85d0041da6721 #1224 + + Closes #1226 + +- cmake: rename picky warnings script + + To match the camel-case style used in other CMake scripts and also + to match the name used in curl. + + Closes #1225 + +- build: enable more compiler warnings and fix them + + Enable more picky compiler warnings. I've found these options in the + nghttp3 project when implementing the CMake quick picky warning + functionality for it. + + Fix issues found along the way: + + - wincng, mbedtls: delete duplicate function declarations. + Most of this was due to re-#defining crypto functions to + crypto-backend specific implementations These redefines also remapped + the declarations in `crypto.h`, making the backend-specific + declarations duplicates. + This patch deletes the backend-specific declarations. + + - wincng mapped two crypto functions to the same local function. + Also causing double declarations. + Fix this by adding two disctinct wrappers and moving + the common function to a static one. + + - delete unreachable `break;` statements. + + - kex: disable macros when unused. + + - agent: disable unused constants. + + - mbedtls: disable double declaration warnings because public mbedTLS + headers trigger it. (with function `psa_set_key_domain_parameters`) + + - crypto.h: formatting. + + Ref: https://github.com/ngtcp2/nghttp3/blob/a70edb08e954d690e8fb2c1df999b5a056f8bf9f/cmake/PickyWarningsC.cmake + + Closes #1224 + +- autotools: sync warning enabler code with curl + + Tiny changes and minor updates to bring this code closer + to curl's `m4/curl-compilers.m4`. + + Closes #1223 + +- acinclude.m4: fix indentation [ci skip] + + Also match indentation of curl's `m4/curl-compilers.m4` for + easier syncing. + +- autotool: rename variable + + `WARN` -> `tmp_CFLAGS` + + To match curl and make syncing this code easier. + + Ref: https://github.com/curl/curl/blob/d1820768cce0e797d1f072343868ce1902170e93/m4/curl-compilers.m4#L479 + + Closes #1222 + +- autotools: picky warning options tidy-up + + - sync clang warning version limits with CMake. + - make `WARN=` vs. `CURL_ADD_COMPILER_WARNINGS()` consistent with curl + and between clang and gcc (`WARN=` is for `no-` options in general). + + Closes #1221 + +- build: picky warning updates + + - cmake, autotools: sync picky gcc warnings with curl. + - cmake, autotools: add `-Wold-style-definition` for clang too. + - cmake, autotools: add comment for `-Wformat-truncation=1`. + - cmake: more precise version info for old clang options. + + Closes #1219 + +- ci: fixup FreeBSD version, bump mbedtls + + We haven't been using the FreeBSD version. Also it turns out, + the single version supported is 13.2 at the moment: + https://github.com/vmactions/freebsd-vm/tree/main/conf + + Stop trying to set the version and instead rely on the action + providing the latest supported one automatically. + + Follow-up to a7d2a573be26238cc2b55e5ff6649bbe620cb8d9 + + Also: + - add more details to the FreeBSD job description. + - bump mbedtls version while here. + + Closes #1217 + +- cmake: fix multiple include of libssh2 package + + Also extend our integration test double inclusion. It will still not + catch this case, because that requires + `cmake_minimum_required(VERSION 3.18)` or higher. + + Fixes: + ``` + CMake Error at .../lib/cmake/libssh2/libssh2-config.cmake:8 (add_library): + add_library cannot create ALIAS target "libssh2::libssh2" because another + target with the same name already exists. + Call Stack (most recent call first): + CMakeLists.txt:24 (find_package) + + CMake Error at .../lib/cmake/libssh2/libssh2-config.cmake:13 (add_library): + add_library cannot create ALIAS target "Libssh2::libssh2" because another + target with the same name already exists. + Call Stack (most recent call first): + CMakeLists.txt:24 (find_package) + ``` + + Test to reproduce: + ```cmake + cmake_minimum_required(VERSION 3.18) # must be 3.18 or higher + + project(test) + + find_package(libssh2 CONFIG) + find_package(libssh2 CONFIG) # fails + + add_executable(test main.c) + target_link_libraries(test libssh2::libssh2) + ``` + + Ref: https://cmake.org/cmake/help/latest/release/3.18.html#other-changes + Ref: https://cmake.org/cmake/help/v3.18/policy/CMP0107.html + + Assisted-by: Kai Pastor + Assisted-by: Harry Mallon + Ref: https://github.com/curl/curl/pull/11913 + + Closes #1216 + +- ci: add FreeBSD 13.2 job + + It runs over Linux via qemu. First two runs were (very) slow, then it + became (much) more performant at just 2x slower than a native Linux + build. Then got slow again, then fast again. Still seems acceptable + for the value this adds. + + The build uses autotools and quictls. + + Successful builds: + 1. https://github.com/libssh2/libssh2/actions/runs/6802676786/job/18496286419 (13m59s, -j3) + 2. https://github.com/libssh2/libssh2/actions/runs/6802976375/job/18497243225 (11m5s, -j2) + 3. https://github.com/libssh2/libssh2/actions/runs/6803142201/job/18497785049 (3m6s, -j1) + 4. https://github.com/libssh2/libssh2/actions/runs/6803194839/job/18497962766 (3m10s, -j2) + 5. https://github.com/libssh2/libssh2/actions/runs/6803267201/job/18498208501 (3m13s) + 6. https://github.com/libssh2/libssh2/actions/runs/6803510333/job/18498993698 (15m25s) + 7. https://github.com/libssh2/libssh2/actions/runs/6813602863/job/18528571057 (3m13s) + + Similar solution exists for Solaris (over macOS via VirtualBox), but it + hangs forever at `Waiting for text: solaris console login`: + https://github.com/libssh2/libssh2/actions/runs/6802388128/job/18495391869#step:4:185 + + Idea taken from LibreSSL. + + FIXME: Unrelated, the `distcheck` job became flaky in recent days: + https://github.com/libssh2/libssh2/actions/runs/6802976375/job/18497256437#step:10:536 + ``` + FAIL: test_auth_pubkey_ok_rsa_aes256gcm + ``` + https://github.com/libssh2/libssh2/actions/runs/6813602863/job/18528588933#step:10:533 + ``` + FAIL: test_read + ``` + + Closes #1215 + +- reuse: fix duplicate copyright warning + + ``` + PendingDeprecationWarning: + Copyright and licensing information for 'tests/openssh_server/Dockerfile' + has been found in both 'tests/openssh_server/Dockerfile' and in the DEP5 + file located at '.reuse/dep5'. The information for these two sources has + been aggregated. In the future this behaviour will change, and you will + need to explicitly enable aggregation. [...] + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/6789274955/job/18456085964#step:4:4 + +- Makefile.mk: delete Windows-focused raw GNU Make build + + We recommend using CMake instead. Especially in unity mode, it's faster + and probably more familiar for most. It's also easily portable. + + (`Makefile.mk` was also portable, but in practice only usable for + Windows. Other platforms required a manual config header.) + + Also: + - migrate `LIBSSH2_NO_*` option CI tests to CMake. + - make MSYS2 CMake builds verbose to show compilation options. + + Closes #1204 + +- tidy-up: around `stdint.h` + + - os400: delete unused `HAVE_STDINT_H`. + + - fuzz: delete redundant `stdint.h` use. + `inttypes.h` is already included via `testinput.h`. + + - docs/TODO: adjust type in planned function. + + Closes #1212 + +- cmake: show crypto backend in feature summary + + This was visible as an enabled package before this patch, but it missed + to show WinCNG. + + Closes #1211 + +- man: fix double spaces and dash escaping + + - `- ` -> `- ` + - `. ` -> `. ` + - `\- ` -> `- ` + - `-1` -> `\-1` + - fold long lines along the way + + This makes the minus sign come out as a Unicode minus sign + (0x2212), and title separator dashes as Unicode hyphen (0x2010), + with `groff -Tutf8` v1.23.0. + + Ref: https://lwn.net/Articles/947941/ + + Closes #1210 + +- src: fix gcc 13 `-Wconversion` warning on Darwin + + ``` + src/session.c: In function 'libssh2_poll': + src/session.c:1776:22: warning: conversion from 'long int' to '__darwin_suseconds_t' {aka 'int'} may change value [-Wconversion] + 1776 | tv.tv_usec = (timeout_remaining % 1000) * 1000; + | ^ + ``` + Ref: https://github.com/curl/curl-for-win/actions/runs/6711735060/job/18239768548#step:3:4368 + + Follow-up to 08354e0abbe86d4cc5088d210d53531be6d8981a + + Closes #1209 + +- openssl: silence `-Wunused-value` warnings + + Seen with gcc 12. + + Manual: https://www.openssl.org/docs/man3.1/man3/BIO_reset.html + + ``` + ./quictls/linux-a64-musl/usr/include/openssl/bio.h:555:34: warning: value computed is not used [-Wunused-value] + 555 | # define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ./libssh2/src/openssl.c:3518:5: note: in expansion of macro 'BIO_reset' + ./libssh2/src/openssl.c:3884:5: note: in expansion of macro 'BIO_reset' + ./libssh2/src/openssl.c:3995:5: note: in expansion of macro 'BIO_reset' + ``` + Ref: https://github.com/curl/curl-for-win/actions/runs/6696392318/job/18194032712#step:3:5060 + + Closes #1205 + +- Makefile.am: fix `cp` to preserve attributes and timestamp + +- cmake: simplify showing CMake version + + Move it to `CMakeLists.txt`. Drop `cmake --version` commands. + + Credit to the `zlib-ng` project for the idea: + https://github.com/zlib-ng/zlib-ng/blob/61e181c8ae93dbf56040336179c9954078bd1399/CMakeLists.txt#L7 + + Closes #1203 + +- ci: mbedtls 3.5.0 + + v3.5.0 needs extra compiler option for i386 to avoid: + ``` + #error "Must use `-mpclmul -msse2 -maes` for MBEDTLS_AESNI_C" + ``` + + Closes #1202 + +- tests: show cmake version used in integration tests + + Closes #1201 + +- readme.vms: fix typo [ci skip] + + Detected by codespell 2.2.6 + +- appveyor: YAML/PowerShell formatting, shorten variable name + + - use single-quotes in yaml and PowerShell. + + - shorten a variable name. + + - use indentation 2 for scripts. + + - use C else-style in PowerShell. + + Closes #1200 + +- ci: update actions, use shallow clones with appveyor + + - update GitHub Actions to their latest versions. + + - use shallow git clones in AppVeyor CI to save data over the wire. + + Closes #1199 + +- appveyor: move to pure PowerShell + + - replace batch commands with PowerShell. + + - merge separate command entries into single PowerShell blocks. + + Closes #1197 + +- windows: use built-in `_WIN32` macro to detect Windows + + Instead of `WIN32`. + + The compiler defines `_WIN32`. Windows SDK headers or build env defines + `WIN32`, or we have to take care of it. The agreement seems to be that + `_WIN32` is the preferred practice here. + + Minor downside is that CMake uses `WIN32` and we also adopted it in + `Makefile.mk`. + + In public libssh2 headers we stick with accepting either `_WIN32` or + `WIN32` and define our own namespaced `LIBSSH2_WIN32` based on them. + + grepping for `WIN32` remains useful to detect Windows-specific code. + + Closes #1195 + +- cmake: cleanup mbedTLS version detection more + + - lowercase, underscored local variables. + - fix `find_library()` to use the multiple names passed. + - rely more on `find_package_handle_standard_args()`. + Logic based on our `Findwolfssl.cmake`. + - delete ignored/unused `MBEDTLS_LIBRARY_DIR`. + - revert CI configuration to use `MBEDCRTYPO_LIBRARY`. + - clarify inputs/outputs in comment header. + - use variable for regex. + - formatting. + + Follow-up to 41594675072c578294674230d4cf5f47fa828778 #1192 + + Closes #1196 + +- cmake: delete duplicate `include()` + +- cmake: improve/fix mbedTLS detection + + - libssh2 needs the crypto lib only, stop dealing with the rest. + + - simplify logic. + + - drop hard-wired toolchain specific options that broke with e.g. MSVC. + + Reported by: AR Visions + Fixes #1191 + + - add mbedTLS version detection for recent releases. + + - merge custom detection results display into a single line. + + - shorten mbedTLS configuration in macOS CI job. + + Used the curl mbedTLS detection logic for ideas: + https://github.com/curl/curl/blob/a8c773845f4fdbfb09b08a6ec4b656c812568995/CMake/FindMbedTLS.cmake + + Closes #1192 + +GitHub (24 Sep 2023) +- [concussious brought this change] + + libssh2_session_get_blocking.3: Add description (#1185) + +Viktor Szakats (21 Sep 2023) +- autotools: fix selecting wincng in cross-builds (and more) + + - Fix explicitly selecting WinCNG in autotools cross-builds by moving + `windows.h` header check before the WinCNG availability check. + Follow-up to d43b8d9b0b9cd62668459fe5d582ed83aabf77e7 + + Reported-by: Jack L + Fixes #1186 + + - Add Linux -> mingw-w64 cross-builds for autotools and CMake. This + doesn't detect #1186, because that happened when explicitly specifying + WinCNG via `--with-crypto=wincng`, but not when falling back to WinCNG + by default. + + - autotools: fix to strip suffix from gcc version + + Before this patch we expected `n.n` `-dumpversion` output, but Ubuntu + may return `n-win32` (also with `-dumpfullversion`). Causing these + errors and failing to enable picky warnings: + ``` + ../configure: line 23845: test: : integer expression expected + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/6263453828/job/17007893718#step:5:143 + + Fix that by stripping any dash-suffix. + + gcc version detection is still half broken because we translate '10' + to '10.10' because `cut -d. -f2` returns the first word if the + delimiter missing. + + More possible `-dumpversion` output: `10-posix`, `10-win32`, + `9.3-posix`, `9.3-win32`, `6`, `9.3.0`, `11`, `11.2`, `11.2.0` + Ref: https://github.com/mamedev/mame/pull/9767 + + Closes #1187 + +GitHub (28 Aug 2023) +- [Michael Buckley brought this change] + + Properly bounds check packet_authagent_open() (#1179) + + * Properly bounds check packet_authagent_open + * packet.c: use strlen instead of sizeof for strings + * Make LIBSSH_CHANNEL's channel_type_len a size_t + * packet_authagent_open: use size_t for offset + + Credit: + Michael Buckley, signed off by Will Cosgrove + +Viktor Szakats (28 Aug 2023) +- os400qc3: move FIXME comment [ci skip] + + Follow-up to eb9f9de2c19ec67d12a444cce34bdd059fd26ddc + +- md5: allow disabling old-style encrypted private keys at build-time + + Before this patch, this happened at runtime when using an old (pre-3.0), + FIPS-enabled OpenSSL backend. + + This patch makes it possible to disable this via the build-time option + `LIBSSH2_NO_MD5_PEM`. + + Also: + - make sure to exclude all MD5 internal APIs when both the above and + `LIBSSH2_NO_MD5` are enabled. + - fix tests to support build with`LIBSSH2_NO_MD5`, `LIBSSH2_NO_MD5_PEM` + and `LIBSSH2_NO_3DES`. + - add FIXME to apply this change to `os400qc3.*`. + + Old-style encrypted private keys require MD5 and they look like this: + ``` + -----BEGIN RSA PRIVATE KEY----- + Proc-Type: 4,ENCRYPTED + DEK-Info: AES-128-CBC, + + + -----END RSA PRIVATE KEY----- + ``` + + E.g.: `tests/key_rsa_encrypted` + + Ref: https://github.com/libssh2/www/issues/20 + Closes #1181 + +- cmake: tidy-up `foreach()` syntax + + Use `IN LISTS` and `IN ITEMS`. This appears to be the preferred way + within CMake's own source code and possibly improves readability. + + Fixup a side-effect of `IN LISTS`, where it retains empty values at + the end of the list, as opposed to the syntax used before, which + dropped it. In our case this happened with lines read from a text + file via `file(READ)`. + + https://cmake.org/cmake/help/v3.7/command/foreach.html + + Closes #1180 + +- ci: replace `mv` + `chmod` with `install` in `Dockerfile` + + Cherry-picked from #1175 + Closes #1175 + +- ci: set file mode early in `appveyor_docker.yml` + + Also: + - replace tab with spaces in generated config file + - formatting + + Cherry-picked from #1175 + +- ci: add spellcheck (codespell) + + Also rename a variable in `src/os400qc3.c` to avoid a false positive. + + Cherry-picked from #1175 + +- cmake: also test for `libssh2_VERSION` + + Cherry-picked from #1175 + +- cmake: show cmake versions in ci + + Cherry-picked from #1175 + +- tests: formatting and tidy-ups + + - Dockerfile: use standard sep with `sed` + - Dockerfile: use single quotes in shell command + - appveyor.yml: use long-form option with `choco` + - tests/cmake: add language to test project + - reuse.yml: fix indentation + ``` + $ yamllint reuse.yml + reuse.yml + [...] + 11:5 error wrong indentation: expected 6 but found 4 (indentation) + 15:5 error wrong indentation: expected 6 but found 4 (indentation) + [...] + 27:5 error wrong indentation: expected 6 but found 4 (indentation) + ``` + + Cherry-picked from #1175 + +- openssl.c: whitespace fixes + + Cherry-picked from #1175 + +- checksrc: fix spelling in comment [ci skip] + +- cmake: quote more strings + + Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1 + + Closes #1173 + +- drop `www.` from `www.libssh2.org` + + is now a 301 permanent redirect to + . + + Update all references to point directly to the new destination. + + Ref: https://github.com/libssh2/www/commit/ccf4a7de7f702a8ee17e2c697bcbef47fcf485ed + + Closes #1172 + +- cmake: add `ExternalProject` integration test + + - via `ExternalProject_Add()`: + https://cmake.org/cmake/help/latest/module/ExternalProject.html + (as documented in `docs/INSTALL_CMAKE.md`) + + - also make `FetchContent` fetch from local repo instead of live master. + + Closes #1171 + +- cmake: add integration tests + + Add a small project to test dependent/downstream CMake build using + libssh2. Also added to the GHA CI, and you can also run it locally with + `tests/cmake/test.sh`. + + Test three methods of integrating libssh2 into a project: + - via `find_package()`: + https://cmake.org/cmake/help/latest/command/find_package.html + - via `add_subdirectory()`: + https://cmake.org/cmake/help/latest/command/add_subdirectory.html + - via `FetchContent`: + https://cmake.org/cmake/help/latest/module/FetchContent.html + + Closes #1170 + +- cmake: (re-)add aliases for `add_subdirectory()` builds + + Add internal libssh2 library aliases to make these available for + downstream/dependent projects building libssh2 via `add_subdirectory()`: + + - `libssh2:libssh2_static` + - `libssh2:libssh2_shared` + - `libssh2:libssh2` (shared, or static when not building shared) + - `libssh2` (shared, or static when not building shared) + + Of these, `libssh2` was present in v1.10.0 and earlier releases, but + missing from v1.11.0. + + Closes #1169 + +- cmake: delete empty line [ci skip] + + Follow-up to 3fa5282d6284efba62dc591697e6a687152bdcb1 + +- cmake: reflect minimum version in docs [ci skip] + + Follow-up to 9cd18f4578baa41dfca197f60557063cad12cd59 + +- cmake: style tidy up + + - quote text literals to improve readability. + (exceptions: `FILES` items, `add_subdirectory` names, `find_package` + names, literal target names, version numbers, 0/1, built-in CMake + values and CMake keywords, list items in `cmake/max_warnings.cmake`) + - quote standalone variables that could break syntax on empty values. + - replace `libssh2_SOURCE_DIR` with `PROJECT_SOURCE_DIR`. + - add missing mode to `message()` call. + - `TRUE`/`FALSE` → `ON`/`OFF`. + - add missing default value `OFF` to `option()` for clarity. + - unfold some lines. + - `INSTALL_CMAKE.md` fixes and updates. Show defaults. + + Closes #1166 + +- wincng: prefer `ULONG`/`DWORD` over `unsigned long` + + To match with the types used by the `Crypt*()` (uses `DWORD`) and + `BCrypt*()` (uses `ULONG`) Windows APIs. + + This patch doesn't change data width or signedness. + + Closes #1165 + +- wincng: tidy-ups + + - make `_libssh2_wincng_key_sha_verify` static. + + - prefer `unsigned long` over `size_t` in two static functions. + + - prefer `ULONG` over `DWORD` to match `BCryptImportKeyPair()` + and `BCryptGenerateKeyPair()`. + + - add a newline. + + Closes #1164 + +- ci: add MSYS builds (autotools and cmake) + + Use existing MSYS2 section and extend it with builds for the MSYS + environment with both autotools and cmake. + + MSYS builds resemble Cygwin ones: The env is Unixy, where Windows + headers are all available but we don't use them. + + Also: + + - extend existing autotools logic for Cygwin to skip detecting + `windows.h` for MSYS targets too. + + - require `windows.h` for the WinCNG backend in autotools. Before this + patch, autotools allowed selecting WinCNG on the Cygwin and MSYS + platforms, but the builds then fell apart due to the resulting mixed + Unixy + Windowsy environment. The general expectation for Cygwin/MSYS + builds is not to use the Windows API directly in them. + + - stop manually selecting the `MSYS Makefiles` CMake generator for + MSYS2-based GHA CI builds. mingw-w64 builds work fine without it, but + it broke MSYS build which use `Unix Makefiles`. Deleting this setting + fixes all build flavours. + + Closes #1162 + +- ci: cygwin job tidy-ups + + `CMAKE_C_COMPILER=gcc` not necessary, delete it. + + Follow-up to f1e96e733fefb495bc31b07f5c2a5845ff877c9c + + Cherry-picked from #1163 + Closes #1163 + +- ci: add Cygwin builds (autotools and cmake) + + To avoid builds picking up non-Cygwin components coming by default with + the CI machine, I used the solution recommended by Cygwin [1] and set + `PATH` manually. To avoid repeating this for each step, I merged steps + into a single one. Let us know if there is a more elegant way. + + Cygwin's Github Action uses cleartext HTTP. We upgrade this to HTTPS. + + autotools build seemed to take slightly longer than other jobs. To save + turnaround time I disabled building tests. + + Cygwin package search: https://cygwin.com/cgi-bin2/package-grep.cgi + + [1] https://github.com/cygwin/cygwin-install-action/tree/v4#path + + Closes #1161 + +- cmake: add `LIB_NAME` variable + + It holds the name `libssh2`. Mainly to document its uses, and also + syncing up with the same variable in libcurl. + + Closes #1159 + +- cmake: add one missed `PROJECT_NAME` variable + + Follow-up to 72fd25958a7dc6f8e68f2b2d5d72839a2da98f9c + + Closes #1158 + +- cmake: tidy-up concatenation in `CMAKE_MODULE_PATH` + + Former solution was appending an empty element to the array if + `CMAKE_MODULE_PATH` was originally empty. The new syntax doesn't have + this side-effect. + + There is no known issue caused by this. Fixing it for good measure. + + Closes #1157 + +- ci: add mingw-w64 UWP build + + Add a CI test for Windows UWP builds using mingw-w64. Before this patch + we had UWP builds tested with MSVC only. + + Alike existing UWP jobs, it's not possible to run the binaries due to + the missing UWP runtime DLL: + https://github.com/libssh2/libssh2/actions/runs/5821297010/job/15783475118#step:11:42 + + We could install `winstorecompat-git` in the setup-msys2 step, but opted + to do it manually to avoid the overhead for every matrix job. + + All this would work smoother with llvm-mingw, which features an UWP + toolchain prefix and provides all necessary implibs by default. + + This also hit a CMake bug (with v3.26.4), where CMake gets confused and + sets up `windres.exe` to use the MSVC rc.exe-style command-line: + https://github.com/libssh2/libssh2/actions/runs/5819232677/job/15777236773#step:9:126 + + Notice that MS "sunset" UWP in 2021: + https://github.com/microsoft/WindowsAppSDK/discussions/1615 + + If this particular CI job turns out to be not worth the maintenance + burden or CPU time, or too much of a hack, feel free to delete it. + + Ref: https://github.com/libssh2/libssh2/pull/1147#issuecomment-1670850890 + Closes #1155 + +- cmake: replace `libssh2` literals with `PROJECT_NAME` variable + + Where applicable. + + This also makes it more obvious which `libssh2` uses were referring + to the project itself. + + Closes #1152 + +- cmake: fix `STREQUAL` check in error branch + + This caused a CMake error instead of our custom error when manually + selecting the `WinCNG` crypto-backend for a non-Windows target. + + Also cleanup `STREQUAL` checks to use variable name without `${}` on + the left side and quoted string literals on the right. + + Closes #1151 + +- misc: flatten `_libssh2_explicit_zero` if tree + + Closes #1149 + +- src: drop a redundant `#include` + + We include `misc.h` via `libssh2_priv.h` already. + + Closes #1153 + +- openssl: use automatic initialization with LibreSSL 2.7.0+ + + Stop calling `OpenSSL_add_all_*()` for LibreSSL 2.7.0 and later. + + LibreSSL 2.7.0 (2018-03-21) introduced automatic initialization and + deprecated these functions. Stop calling these functions manually for + LibreSSL version that no longer need them. + + Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.7.0-relnotes.txt + Ref: https://github.com/libressl/openbsd/commit/46f29f11977800547519ee65e2d1850f2483720b + Ref: https://github.com/libssh2/libssh2/issues/302 + + Also stop calling `ENGINE_*()` functions when initialization is + automatic with LibreSSL 2.7.0+ and OpenSSL 1.1.0+. Engines are also + initializated automatically with these. + + Closes #1146 + +- gha: restore curly braces in `if` + + Without curly braces it was less obvious which string is a GHA expression. + + Also fix an `if` expression that always missed its curly braces. + + Reverts cab3db588769d6deed97ba89ca9221fd7503405e + + Closes #1145 + +- ci: bump mbedtls + +- [renmingshuai brought this change] + + Add a new structure to separate memory read and file read. + We use different APIs when we read one private key from memory, + so it is improper to store the private key information in the + structure that stores the private key file information. + + Fixes https://github.com/libssh2/libssh2/issues/773 + Reported-by: mike-jumper + +- tests: replace FIXME with comments + + `key_dsa_wrong` is the same kind of (valid) key as `key_dsa`, both with + an empty passphrase. Named "wrong" because it's intentionally not added + to our `openssh_server/authorized_keys` file. + +- tidy-up: delete duplicate word from comment + +- cmake: cache more config values on Windows + + Set two cases of non-detection to save the time dynamically detecting + these on each build init. Affects old MSVC versions. + + Before: + https://ci.appveyor.com/project/libssh2org/libssh2/builds/47668870/job/i17e0e9yx8rgpv4i + + After: + https://ci.appveyor.com/project/libssh2org/libssh2/builds/47674950/job/ysa1jq0pxtyhui3f + + Closes #1142 + +- revert: build: respect autotools `DLL_EXPORT` in `libssh2.h` + + Revert fb1195cf88268a11e2709b9912ab9dca8c23739c #917 + + On a second look this change did not improve anything with autotools + builds. autotools seems to handle the dll export matter without it. + + This patch also broke (e.g.) curl-for-win autotools builds, where the + curl build defines `DLL_EXPORT` while building libcurl DLL. `libssh2.h` + picks it up, resulting in unresolved symbols while trying to link a + static libssh2 on Windows. The best fix seems to be to revert this, + instead of adding extra tweaks to dependents. + + Fixes: + https://ci.appveyor.com/project/curlorg/curl-for-win/builds/47667412#L11035 + ``` + ld.lld-15: error: undefined symbol: __declspec(dllimport) libssh2_session_block_directions + >>> referenced by vssh/.libs/libcurl_la-libssh2.o:(ssh_do) + >>> referenced by vssh/.libs/libcurl_la-libssh2.o:(ssh_connect) + >>> referenced by vssh/.libs/libcurl_la-libssh2.o:(ssh_multi_statemach) + >>> referenced 8 more times + + ld.lld-15: error: undefined symbol: __declspec(dllimport) libssh2_session_init_ex + >>> referenced by vssh/.libs/libcurl_la-libssh2.o:(ssh_connect) + + ld.lld-15: error: undefined symbol: __declspec(dllimport) libssh2_session_set_read_timeout + [...] + ``` + + Closes #1141 + +- gha: simplify `if` strings + + Closes #1140 + +- test_read: make it run without Docker + + Apply an existing fix to `test_read`, so that it falls back to use + the current username instead of the hardcoded `libssh2` when run + outside Docker. + + This allows to run algo tests with this command: + ```shell + cd tests + ./test_sshd.test ./test_read_algos.test + ``` + + Closes #1139 + +- cmake: streamline invocation + + Stop specifiying the current directory. + Simplify build instructions. + + Closes #1138 + +- NMakefile: delete + + This make file was for long time unmaintained (last updated in 2014). + Despite best efforts to keep it working in the recent round of major + overhauls, it appears to be broken now. There is also no way to test it + without an actual MSVC env and it's also missing from our CI. Based on + our Issue tracker, it's also not widely used. + + Since its addition in 2005, libssh2 got support for CMake in 2014. + CMake should be able to generate NMake makefiles with the option + `-G "NMake Makefiles"`. (I haven't tested this.) + + Ref: https://github.com/libssh2/libssh2/discussions/1129 + Closes #1134 + +- tests: add aes256-gcm encrypted key test + + Follow-up to #1133 + + Also update `tests/gen_keys.sh` to set `aes256-ctr` encryption method + for `key_ed25519_encrypted' explicitly. + + Closes #1135 + +GitHub (26 Jul 2023) +- [Jakob Egger brought this change] + + Fix private keys encrypted with aes-gcm methods (#1133) + + libssh2 1.11.0 fails to decrypt private keys encrypted with + aes128-gcm@openssh.com and aes256-gcm@openssh.com ciphers. + + To reproduce the issue, you can create a test key with a command like + the following: + + ```bash + ssh-keygen -Z aes256-gcm@openssh.com -f id_aes256-gcm + ``` + + If you attempt to use this key for authentication, libssh2 returns the + not-so-helpful error message "Wrong passphrase or invalid/unrecognized + private key file format". + + The problem is that OpenSSH encrypts keys differently than packets. It + does not include the length as AAD, and the 16 byte authentication tag + is appended after the encrypted key. The length of the authentication + tag is not included in the encrypted key length. + + I have not found any documentation for this behaviour -- I discovered it + by looking at the OpenSSH source. See the `private2_decrypt` function in + . + + This patch fixes the code for reading OpenSSH private keys encrypted + with AES-GCM methods. + +Viktor Szakats (26 Jul 2023) +- ci: add missing timeout to 'autotools distcheck' step + +- cmake: merge `set_target_properties()` calls + + Also rename variable `LIBSSH2_VERSION` to `LIBSSH2_LIBVERSION` in + context of lib versioning to avoid collision with another use. + + Closes #1132 + +- cmake: formatting [ci skip] + +- cmake: (re-)add zlib to `Libs.private` in `libssh2.pc` + + We mistakently added transitive zlib to `Requires.private` before, then + removed it. This patch re-adds zlib, but this time to `Libs.private`, + which is listing raw libs and should include transitive libs as well. + + Also add zlib when used as a direct dependency when zlib compression + support is enabled. + + Follow-up to ef538069a661a43134fe7b848b1fe66b2b43bdac + + Closes #1131 + +- cmake: formatting [ci skip] + +- cmake: use `wolfssl/options.h` for detection, like autotools + + Closes #1130 + +- build: stop requiring libssl from openssl + + libssh2 does not use or need the TLS/SSL library of OpenSSL. + It only needs libcrypto. + + Closes #1128 + +- cmake: add openssl libs to `Libs.private` in `libssh2.pc` + + Also to sync up with autotools-generated `libssh2.pc`, that + already added them. + + Closes #1127 + +- Makefile.mk: stop linking unused mbedtls libs + + Stop linking libmbedtls and libmbedx509 (similarly to autotools). + Only libmbedcrypto is necessary for libssh2. + +- cmake: bump minimum CMake version to v3.7.0 + + Fixes the warning below, which appeared in CMake v3.27.0: + ``` + CMake Deprecation Warning at CMakeLists.txt:39 (cmake_minimum_required): + Compatibility with CMake < 3.5 will be removed from a future version of + CMake. + + Update the VERSION argument value or use a ... suffix to tell + CMake that the project does not need compatibility with older versions. + ``` + + Bump straight up to v3.7.0 to sync up with the curl project: + https://github.com/curl/curl/blob/2900c29218d2d24ab519853589da84caa850e8c7/CMakeLists.txt#L64 + + CMake release dates: + v3.7.0 2016-11-11 + v3.5.0 2016-03-08 + v3.1.0 2014-12-17 + + Closes #1126 + +- build: tidy-up `libssh2.pc.in` variable names + + - prefix with `LIBSSH2_PC_` + + - match with the names of `pkg-config` values. + + - use the same names in autotools and CMake scripts. + + - use `LIBSSH2_VERSION` for the version number in autotools scripts, + to match the name used in CMake. + + Closes #1125 + +- libssh2.pc: re-add & extend support for static-only libssh2 builds + + Adapted for libssh2 from the curl commit message by James Le Cuirot: + + "A project built entirely statically will call `pkg-config` with + `--static`, which utilises the `Libs.private:` field. Conversely it will + not use `--static` when not being built entirely statically, even if + there is only a static build of libssh2 available. This will most + likely cause the build to fail due to underlinking unless we merge the + `Libs:` fields. + + Consider that this is what the Meson build system does when it generates + `pkg-config` files." + + This patch extends the above to `Requires:`, to mirror `Libs:` with + `pkg-config` package names. + + Follow-up to 1209c16d93cba3c5e0f68c12fa4a5049f49c00d8 #1114 + + Ref: https://github.com/libssh2/libssh2/pull/1114#issuecomment-1634334809 + Ref: https://github.com/curl/curl/commit/98e5904165859679cd78825bcccb52306ee3bb66 + Ref: https://github.com/curl/curl/pull/5373 + Closes #1119 + +GitHub (14 Jul 2023) +- [Nursan Valeyev brought this change] + + cmake: CMAKE_SOURCE_DIR -> PROJECT_SOURCE_DIR (#1121) + + Fixes compiling as dependency with FetchContent + + Co-authored-by: Viktor Szakats + +Viktor Szakats (14 Jul 2023) +- autotools: use comma separator in `Requires.private` of `libssh2.pc` + + In `Requires*:`, the documented name separator is comma. We already used + it in the CMake-generated `libssh2.pc`. Adjust the autotools-generated + one to use it too, instead of spaces. + + Ref: https://linux.die.net/man/1/pkg-config + Ref: https://gitlab.freedesktop.org/pkg-config/pkg-config/-/blob/d97db4fae4c1cd099b506970b285dc2afd818ea2/pkg-config.1 + + Closes #1124 + +- build: add/fix `Requires.private` packages in `libssh2.pc` + + - autotools was using `libwolfssl`. CMake left it empty. wolfSSL + provides `wolfssl.pc`. This patch sets `Requires.private: wolfssl` + with both build tools. + + - add `libgcrypt` to `Requires.private` with both autotools and CMake. + Ref: + https://github.com/gpg/libgcrypt/blob/e76e88eef7811ada4c6e1d57520ba8c439139782/src/libgcrypt.pc.in + Present since 2005-04-22: + https://github.com/gpg/libgcrypt/commit/32bf3f13e8b45497322177645bebf0b5d0c9cb8e + Released in v1.3.0 2007-05-04: + https://github.com/gpg/libgcrypt/releases/tag/libgcrypt-1.3.0 + + - also stop adding transitive `zlib` deps to `Requires.private`. + The referenced crypto package is adding it as nedded. + This makes deduplication of the list redundant, so stop doing it. + Follow-up to 2fc367900701e6149efc42bd674c4b69127756dd + + (`libssh2.pc` not tested as a project dependency.) + + Closes #1123 + +- cmake: tidy-ups + + - dedupe `Requires.private` in `libssh2.pc`. + `zlib` could appear on the list twice: + ``` + Requires.private: libssl,libcrypto,zlib,zlib + ``` + According to CMake docs `list(REMOVE_DUPLICATES ...)`, is supported by + our minimum required CMake version (and by earlier ones even): + https://cmake.org/cmake/help/v3.1/command/list.html#remove-duplicates + + - move `cmake_minimum_required()` to the top. + + - move `set(CMAKE_MODULE_PATH)` to the top. + + - delete duplicate `set(CMAKE_MODULE_PATH)`. + + - replace `CMAKE_CURRENT_SOURCE_DIR` with `PROJECT_SOURCE_DIR` in root + `CMakeLists.txt` for robustness. + + - replace `gcovr` option with long-form for readability/consistency. + + - rename `GCOV_OPTIONS` to `GCOV_CFLAGS`. These are C options we enable + when using gcov, not gcov tooling options. + + Closes #1122 + +- openssl: add missing check for `LIBRESSL_VERSION_NUMBER` before use + + Fixes: + ``` + openssl.h:101:5: warning: "LIBRESSL_VERSION_NUMBER" is not defined [-Wundef] + LIBRESSL_VERSION_NUMBER >= 0x3050000fL + ^ + ``` + + Ref: https://github.com/libssh2/libssh2/issues/1115#issuecomment-1631845640 + Closes #1117 + +- [Harmen Stoppels brought this change] + + Don't put `@LIBS@` in pc file + +- misc: delete redundant NULL check and assignment + + Follow-up to 724effcb47ebb713d3ef1776684b8f6407b4b6a5 #1109 + + Ref: https://github.com/libssh2/libssh2/pull/1109#discussion_r1246613274 + Closes #1111 + +- [renmingshuai brought this change] + + We should check whether *key_method is a NULL pointer instead of key_method + + Signed-off-by: renmingshuai + +GitHub (30 Jun 2023) +- [ren mingshuai brought this change] + + Add NULL pointer check for outlen before use (#1109) + + Before assigning a value to the outlen, we need to check whether it is NULL. + + Credit: Ren Mingshuai + +Viktor Szakats (25 Jun 2023) +- cmake: re-add `Libssh2:libssh2` for compatibiliy + lowercase namespace + + - add `libssh2:libssh2` target that selects the shared lib if built, + otherwise the static one. + + - re-add `Libssh2:libssh2` target for compatibility with v1.10.0 and + earlier. This is an alias for `libssh2:libssh2`. + + - keep `libssh2:libssh2_shared` and `libssh2_libssh2_static` targets. + + - allow using `find_package(libssh2)` in dependents as an alternative + to `find_package(Libssh2)`. + + Co-authored-by: Radek Brich + Suggested-by: Haowei Hsu + + Fixes #1103 + Fixes #731 + Closes #1104 + +- example: fix regression in `ssh2_exec.c` + + Regression from b13936bd6a89993cd3bf4a18317ca5bd84bb08d7 #861 #846. + Update a variable name missed above. + + Reported-by: PewPewPew + Fixes #1105 + Closes #1106 + +- docs: replace SHA1 with SHA256 in CMake example + +- checksrc: modernise perl file open + + Use regular variables and separate file open modes from filenames. + + Suggested by perlcritic + + Copied from https://github.com/curl/curl/commit/7f669aa0f1d40ef5d64543981f22bdc5af1272f5 + Copied from https://github.com/curl/trurl/commit/f2784a9240f47ee28a845 + +- reuse: comply with 3.1 spec and 2.0.0 checker + + The checker tool was upgraded upstream to 2.0.0 and the REUSE + Specification to version 3.1 (from 3.0), causing these new errors: + ``` + reuse.project - WARNING - Copyright and licensing information for 'docs/INSTALL_AUTOTOOLS' have been found in 'docs/INSTALL_AUTOTOOLS' and the DEP5 file located at '.reuse/dep5'. The information in the DEP5 file has been overridden. Please ensure that this is correct. + reuse.project - WARNING - Copyright and licensing information for 'tests/openssh_server/Dockerfile' have been found in 'tests/openssh_server/Dockerfile' and the DEP5 file located at '.reuse/dep5'. The information in the DEP5 file has been overridden. Please ensure that this is correct. + + The following files have no licensing information: + * docs/INSTALL_AUTOTOOLS + * tests/openssh_server/Dockerfile + ``` + Via: https://github.com/libssh2/libssh2/actions/runs/5333572682/jobs/9664211341?pr=1098#step:4:4 + + Ref: https://github.com/fsfe/reuse-tool/releases/tag/v2.0.0 + Ref: https://git.fsfe.org/reuse/docs/src/branch/stable/CHANGELOG.md#3-1-2023-06-21 + + Original discovery: https://github.com/libssh2/libssh2/pull/1098#issuecomment-1600719575 + + Fixes #1101 + Closes #1102 + +- tests: trap signals in scripts + + Closes #1098 + +- test_sshd.test: fixup to distcheck failure + + Fixes: + ``` + ERROR: test_sshd.test - missing test plan + ERROR: test_sshd.test - exited with status 1 + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/5322354271/jobs/9638694218#step:10:532 + + Caused by trying to create the log file in a read-only directory. + + Follow-up to 299c2040625830d06ad757d687807a166b57d6de + Closes #1099 + +GitHub (21 Jun 2023) +- [Viktor Szakats brought this change] + + test_sshd.test: show sshd and test connect logs on harness failure (#1097) + +- [Joel Depooter brought this change] + + Fix incorrect byte offset in debug message (#1096) + + Fixes debug log message + + Credit: + Joel Depooter + +Viktor Szakats (16 Jun 2023) +- tidy-up: delete whitespace at EOL [ci skip] + +- mbedtls: include `version.h` for `MBEDTLS_VERSION_NUMBER` + + Older (2021 or earlier?) mbedTLS releases require this. + + Reported-by: rahmanih on Github + Fixes #1094 + Closes #1095 + +- hostkey: do not advertise ssh-rsa when SHA1 is disabled + + Before this patch OpenSSL, mbedTLS, WinCNG and OS/400 advertised both + SHA2 and SHA1 host key algos, even when SHA1 was not supported by the + crypto backend or when forcefully disabled via `LIBSSH2_NO_RSA_SHA1`. + + Reported-by: João M. S. Silva + Fixes #1092 + Closes #1093 + +- openssl.h: whitespace tidy-up [ci skip] + +GitHub (14 Jun 2023) +- [Dan Fandrich brought this change] + + test_sshd.test: set a safe PID directory (#1089) + + The compiled in default to sshd can be a non-writable location since it + expects to be run as root. + +Viktor Szakats (13 Jun 2023) +- mingw: fix printf mask for 64-bit integers + + Before 02f2700a61157ce5a264319bdb80754c92a40a24 #846 #876, we used + `%I64d'. That patch changed this to `%lld`. This patch uses `PRId64` + (defined in `inttypes.h`). + + Fixes #1090 + Closes #1091 + +- test_sshd.test: minor cleanups + +Daniel Stenberg (7 Jun 2023) +- provide SPDX identifiers + + - All files have prominent copyright and SPDX identifier + - If not embedded in the file, in the .reuse/dep5 file + - All used licenses are in LICENSES/ (not shipped in tarballs) + - A new REUSE CI job verify that all files are OK + + Assisted-by: Viktor Szakats + + Closes #1084 + +Viktor Szakats (6 Jun 2023) +- src: improve MSVC C4701 warning fix + + Simplify the code to avoid this warning. This might also help avoiding + it with other compilers (e.g. gcc?). + + Improves 02f2700a61157ce5a264319bdb80754c92a40a24 #876 + Might fix #1083 + Closes #1086 + +Daniel Stenberg (5 Jun 2023) +- configure.ac: remove AB_INIT + + Not used. Remove m4/autobuild.m4 as well + +Viktor Szakats (4 Jun 2023) +- copyright: remove years from copyright headers + + Also: + - uppercase `(C)`. + - add missing 'All rights reserved.' lines. + - drop duplicate 'Author' lines. + - add copyright headers where missing. + - enable copyright header check in checksrc. + + Reasons for deleting years (copied as-is from curl): + - they are mostly pointless in all major jurisdictions + - many big corporations and projects already don't use them + - saves us from pointless churn + - git keeps history for us + - the year range is kept in COPYING + + Closes #1082 + +- tests: cast to avoid `-Wchar-subscripts` with Cygwin + + ``` + In file included from $HOME/src/cygwin/libssh2/libssh2-1.11.0-1.x86_64/src/libssh2-1.11.0/tests/openssh_fixture.c:57: + $HOME/src/cygwin/libssh2/libssh2-1.11.0-1.x86_64/src/libssh2-1.11.0/tests/openssh_fixture.c: In function 'run_command_varg': + $HOME/src/cygwin/libssh2/libssh2-1.11.0-1.x86_64/src/libssh2-1.11.0/tests/openssh_fixture.c:136:37: warning: array subscript has type 'char' [-Wchar-subscripts] + 136 | while(end > 0 && isspace(buf[end - 1])) { + | ~~~^~~~~~~~~ + ``` + Ref: https://github.com/libssh2/libssh2/files/11644340/cygwin-x86_64-libssh2-1.11.0-1-check.log + + Reported-by: Brian Inglis + Fixes #1080 + Closes #1081 + +- tidy-up: avoid exclamations, prefer single quotes, in outputs + + Closes #1079 + +- autotools: improve libz position + + We repositioned crypto libs in 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f + via #941 and subsequently in d4f58f03438e326b8696edd31acadd6f3e028763 + from d93ccf4901ef26443707d341553994715414e207 via #1013. + + This patch moves libz accordingly, to unbreak certain build scenarios. + + Reported-by: Kenneth Davidson + Regression from 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f #941 + Fixes #1075 + Closes #1077 + +- src: bump `hash_len` to `size_t` in `LIBSSH2_HOSTKEY_METHOD` + + Follow-up to 7b8e02257f01a6dac5f65305b18bb74a157fb5c4 + Closes #1076 + +- ci: add non-static autotools i386 build, ignore GHA updates on AppVeyor + + Add a non-static autotools build to GitHub Actions. Make this build + target i386 and libgcrypt, to test a new build combination if we are at + it. + + Also: + - GHA: add necessary generic bits for i386 autotools builds. + - AppVeyor CI: teach it to ignore commits updating our GHA config. + + Follow-up to 572c57c9d8d4e89cfce19dde40125d55481256d1 #1072 + Closes #1074 + +GitHub (31 May 2023) +- [Xi Ruoyao brought this change] + + autotools: skip tests requiring static lib if `--disable-static` (#1072) + + Co-authored-by: Viktor Szakats + Regression from 83853f8aea0e2f739cacd491632eb7fd3d03ad2d #663 + Fixes #1056 + +Viktor Szakats (31 May 2023) +- ci: prefer `=` operator in shell snippets + + Closes #1073 + +- src: bump DSA and ECDSA sign `hash_len` to `size_t` + + Closes #1055 + +- scp: fix missing cast for targets without large file support + + E.g. on 32-bit Linux. Issue revealed after adding i386 Linux CI build + in abdf40c741c575f94bdea1c67a9d1182ff813ccb #1057. + + ``` + /home/runner/work/libssh2/libssh2/src/scp.c: In function 'scp_recv': + /home/runner/work/libssh2/libssh2/src/scp.c:765:23: error: conversion from 'libssh2_int64_t' {aka 'long long int'} to '__off_t' {aka 'long int'} may change value [-Werror=conversion] + 765 | sb->st_size = session->scpRecv_size; + | ^~~~~~~ + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/5126803482/jobs/9221746299?pr=1054#step:12:51 + + Regression from 5db836b2a829c6fff1e8c7acaa4b21b246ae1757 #1002 + Closes #1060 + +- mbedtls.h: formatting [ci skip] + + For consistency with `mbedtls.c`. + + Follow-up to 1153ebdeba563ac657b525edd6bf6da68b1fe5e2 + +- libssh2.h: bump to 1.11.1_DEV [ci skip] + +- mbedtls: use more `size_t` to sync up with `crypto.h` + + Ref: 5a96f494ee0b00282afb2db2e091246fc5e1774a #846 #879 + + Fixes #1053 + Closes #1054 + +- ci: drop redundant/unused vars, sync var names + + Closes #1059 + +- ci: add i386 Linux build (with mbedTLS) + + Also: + - reorder Linux build matrix to make build tool more visible. + - hide apt-get progress bar. + - prepare package install step for i386 builds. + + Detects bug #1053 + Closes #1057 + +- checksrc: switch to dot file + + Closes #1052 + +Version 1.11.0 (30 May 2023) + +Daniel Stenberg (30 May 2023) +- libssh2.h: bump to 1.11.0 for release + +GitHub (30 May 2023) +- [Will Cosgrove brought this change] + + Libssh2 1.11 release notes, copyright (#1048) + + * Libssh2 1.11 release notes, copyright + +Viktor Szakats (29 May 2023) +- add copyright/credits + + Closes #1050 + +- ci: add LIBSSH2_NO_AES_CBC to GNU Make build + + Closes #1049 + +- ci: add wolfSSL Linux builds + + Exclude wolfSSL builds from tests. All fail: + + ``` + 2/43 Test #2: test_aa_warmup ............................***Failed 5.59 sec + libssh2_session_handshake failed (-44): Unable to ask for ssh-userauth service + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/5085775952/jobs/9139583212#step:12:942 (with logging) + Ref: https://github.com/libssh2/libssh2/actions/runs/5085586301/jobs/9139192562#step:12:225 + + wolfSSL version: + ``` + Get:1 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libwolfssl32 amd64 5.2.0-2 [818 kB] + Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libwolfssl-dev amd64 5.2.0-2 [1194 kB] + ``` + + Cherry-picked from #1046 + Closes #1046 + +- ci: mbedTLS build config tidy-up + + Cherry-picked from #1046 + +- wolfssl: fix detection of AES-GCM feature + + Follow-up to df513c0128e1a811ad863d153892618e728845f0 + + Ref: https://github.com/libssh2/libssh2/issues/1020#issuecomment-1562069241 + Closes #1045 + +- build: fix 'unused' compiler warnings with all `NO` options set + + - add `LIBSSH2_NO_ED25519` build-time option to force-disable ED25519 + support. Useful to replicate crypto-backend builds without ED25519, + such as wolfSSL. + + - openssl: fix unused variable and function warnings with all supported + `LIBSSH2_NO_*` options enabled. + + - mbedtls: fix misplaced `#endif` leaving out the required internal + public function `libssh2_supported_key_sign_algorithms()`. + + - mbedtls: add missing prototype for two internal public functions. + + - delete a redundant block. + + All `NO` options: + ```shell + CPPFLAGS=' + -DLIBSSH2_NO_MD5 -DLIBSSH2_NO_HMAC_RIPEMD -DLIBSSH2_NO_DSA + -DLIBSSH2_NO_RSA -DLIBSSH2_NO_RSA_SHA1 + -DLIBSSH2_NO_ECDSA -DLIBSSH2_NO_ED25519 -DLIBSSH2_NO_AES_CTR + -DLIBSSH2_NO_BLOWFISH -DLIBSSH2_NO_RC4 -DLIBSSH2_NO_CAST + -DLIBSSH2_NO_3DES' + ``` + + Closes #1044 + +- cmake: avoid `list(PREPEND)` for compatibility + + `list(PREPEND)` requires CMake v3.15, our minimum is v3.1. `APPEND` + should work fine for headers anyway. + + Also fix a wrongly placed comment. + + Ref: https://cmake.org/cmake/help/latest/command/list.html#prepend + + Regression from 1e3319a167d2f32d295603167486e9e88af9bb4e + + Closes #1043 + +- checksrc: verify label indent, fix fallouts + + Also update two labels to match the rest of the source. + + checksrc update credit: Emanuele Torre @emanuele6 + + Ref: https://github.com/curl/curl/pull/11134 + + Closes #1042 + +- tidy-up: minor nits + +- ci: drop default shared/static configuration options + + Both autotools and cmake build both shared and static lib by default. + + Ref: 896154bc17f000c0a1bb89b74bc879692ac0d47c + + Delete configuration enabling these explicitly in CI jobs. + + Cherry-picked from #1036 + Closes #1036 + +- cmake: enable shared libssh2 library by default + + This brings default behaviour in sync with autotools, which builds both + lib flavours by default. + + (Notice that on Windows, autotools includes the Windows Resource in the + static library, when building both at the same time. CMake doesn't have + this issue.) + + Enabling both lib flavours has a side-effect when using non-MinGW + toolchains (e.g. MSVC): to resolve the filename conflict between import + and static libraries, we add a suffix to the static lib, naming it + `libssh2_static.lib`. This can break dependent builds relying on + `libssh2.lib` for linking the static libssh2. + + Workarounds: + + - disable either shared or static libssh2 via + `-DBUILD_STATIC_LIBS=OFF` or + `-DBUILD_SHARED_LIBS=OFF`. This results in a libssh2 library (either + static or shared) without a prefix: `libssh2.lib`. + + - set a custom static library suffix via: + `-DSTATIC_LIB_SUFFIX=_my_static`. Resulting in + `libssh2_my_static.lib`, and import library + `libssh2.lib`. + + - set a custom import library suffix via: + `-DIMPORT_LIB_SUFFIX=_my_implib`. Resulting in + `libssh2_my_implib.lib` import library, and static library + `libssh2.lib`. + + - customize the default static/import library suffix (incl. extension) + via + `-DCMAKE_STATIC_LIBRARY_SUFFIX=_my_static_suffix.lib` or + `-DCMAKE_IMPORT_LIBRARY_SUFFIX=_my_import_suffix.lib`. + + Cherry-picked from #1036 + +- cmake: tweak static/import lib name collision avoidance logic + + The collision issue affects (typically) MSVC, when building both shared + and static libssh2 in one go. + + Ref: https://stackoverflow.com/questions/2140129/what-is-proper-naming-convention-for-msvc-dlls-static-libraries-and-import-libr + + Initially we handled this by appending the `_imp` suffix to the import + library filename. This is how curl tackles this, but on a second look, + this solution seem to be accidental and has no widespread use. + + It seems more widely accepted to use the '_static' suffix for the static + library. This patch implements this. + + (MinGW, Cygwin and unixy platforms are not affected by this issue.) + + Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1 + + Cherry-picked from #1036 + +- cmake: add `IMPORT_LIB_SUFFIX` (like `STATIC_LIB_SUFFIX`) + + Allow resolving the import/static library name collision also by setting + a custom _import_ library name suffix. + + Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1 + + Cherry-picked from #1036 + +- ci: do not disable shared lib with msys2/autotools in GHA + + Cherry-picked from #1036 + +- Makefile.mk: fix `DYN=1 test` by skipping tests needing static lib + + `DYN=1` means to build examples/tests against the shared libssh2. + + Before this patch this was broken for building tests. This patch skips + building tests that require the static libssh2 library, so the build now + succeeds. + + Also move the list of tests that require static lib from + `CMakeLists.txt` to `Makefile.inc`, so that we can reuse it in + `Makefile.mk`. + + Couldn't find a way to also reuse it in `Makefile.am`. Move the + `Makefile.am` specific definitions close to the shared list, to make it + easier to keep them synced. + + Cherry-picked from #1036 + +- ci: make one of the AppVeyor CMake jobs shared-only + + This build combination did not have a CI test before. + + Cherry-picked from #1036 + +- cmake: allow tests with `BUILD_STATIC_LIBS=OFF` + + Before this patch, the CMake build did not allow to disable static + libssh2 library while also building tests. + + This patch removes this constraint, and makes this combination possible. + In this case the 3 (at the moment) tests that require a static libssh2 + library, are skipped from the build and test runs. + + Cherry-picked from #1036 + +- build: fix to set `-DLIBSSH2DEBUG` for tests + + Required for tests using libssh2 internals. These are the ones + requiring the libssh2 _static_ lib. + + Before this patch, `src` and `tests` declared the `session` structure + differently, due to extra struct members added with the `LIBSSH2DEBUG` + macro set. But, the macro was only set for `src` when using CMake. At + runtime this caused struct members to be at different offsets between + lib and test code, resulting in the test failures below. + + Due to another bug in the affected test, these failures did not reflect + in the exit code, which always returned success, so this went unnoticed + for a good while. Fixed in: 84d31d0ca7b647ad4c2aa92bf8f4a94b233f5d3b + + ``` + Start 5: test_auth_keyboard_info_request + [...] + 5: Test case 1 passed + 5: Test case 2 passed + 5: Test case 3: expected return code to be 0 got -1 + 5: Test case 4: expected last error code to be "-6" got "-38" + 5: Test case 5: expected last error code to be "-6" got "-38" + 5: Test case 6: expected last error code to be "-6" got "-38" + 5: Test case 7: expected last error message to be "Unable to decode keyboard-interactive number of keyboard prompts" got "userauth keyboard data buffer too small to get l + 5: Test case 8: expected last error code to be "-41" got "-38" + 5: Test case 9: expected return code to be 0 got -1 + 5: Test case 10: expected return code to be 0 got -1 + 5: Test case 11: expected last error code to be "-6" got "-38" + 5: Test case 12: expected last error message to be "Unable to decode user auth keyboard prompt echo" got "userauth keyboard data buffer too small to get length" + 5: Test case 13: expected return code to be 0 got -1 + 5: Test case 14: expected return code to be 0 got -1 + 5: Test case 15: expected last error code to be "-6" got "-38" + 5: Test case 16: expected last error code to be "-6" got "-38" + 5: Test case 17: expected last error code to be "-6" got "-38" + 5: Test case 18: expected last error code to be "-6" got "-38" + ``` + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46925869/job/i9uasceu3coss0i2#L440 + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46983040/job/c3vag25c26a77lyr#L485 + + Cherry-picked from #1037 + Closes #1037 + +- test_auth_keyboard_info_request: fix to return failure + + Before this patch, this test returned success even when one of its tests + failed. Fix it by returning 1 in case any of the tests fails. + + This issue masked a CMake build bug with logging enabled. Subject to an + upcoming patch. + + Cherry-picked from #1037 + +- test_auth_keyboard_info_request: fix indentation + + Cherry-picked from #1037 + +- tidy-up: move comment off from copyright header + + Cherry-picked from #1037 + +- ci: enable shared libs in msys2/macOS cmake builds + + Shared libs improve example/tests build times. For "unity" + builds the overhead of building shared lib is negligible, so + this even reduced the overall build-time. + + Follow-up to 3d64a3f5100f7f4cf52202396eb4f1c3f3567771 + Follow-up to d93ccf4901ef26443707d341553994715414e207 + + Tests: + https://github.com/libssh2/libssh2/actions/runs/4906586658: unity builds enabled + https://github.com/libssh2/libssh2/actions/runs/4906925743: unity builds enabled + parallel msys2 builds + https://github.com/libssh2/libssh2/actions/runs/4906777629: unity + shared lib (this commit) + https://github.com/libssh2/libssh2/actions/runs/4906927190: unity + shared lib (this commit) + parallel msys2 builds + + Consider making shared libs enabled by default also in CMake, to sync it with autotools? + + Closes #1035 + +- ci: add missed --parallel 3 from msys2 cmake builds + + Follow-up to 3d64a3f5100f7f4cf52202396eb4f1c3f3567771 + +- cmake: add and test "unity" builds + + "Unity" (aka "jumbo", aka "amalgamation" builds concatenate source files + before compiling. It has these benefits for example: faster builds, + improved code optimization, cleaner code. Let's support and test this. + + - enable unity builds for some existing CI builds to test this build + scenario. + - tune `UNITY_BUILD_BATCH_SIZE` size. + - disable unity build for example and test programs (they use one source + each already). + + You can enable it by passing `-DCMAKE_UNITY_BUILD=ON` to cmake. + Supported by CMake 3.16 and newer. + + Ref: https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html + + Closes #1034 + +- tests: simplify passing `srcdir` to tests + + Before this patch libssh2 used a variety of solutions to pass the source + directory to tests: `FIXTURE_WORKDIR` build-time macro (cmake), + `FIXTURE_WORKDIR` envvar (unused), setting `srcdir` manually + (autotools), setting current directory (cmake), and also `builddir` + envvar (autotools) for passing current working dir to `mansyntax.sh`. + + This patch reduces this to using existing `srcdir` with autotools and + setting it ourselves in CMake. This was mostly enabled by this recent + patch: 4c9ed51f962f542b98789b15bedaaa427f4029a2 + + Details: + + - cmake: replace baked-in `FIXTURE_WORKDIR` macro with env. + + Added in 54bef4c5dad868a9d45fdbfca9729b191c0abab5 #198 (2018-03-21) + + - rename `FIXTURE_WORKDIR` to `srcdir`, to match autotools. + + - cmake: add missing `srcdir` for algo and sshd tests. + + - session_fixture: stop `chdir()`-ing, rely on prefixing with `srcdir`. + + Changing current directory should be unnecessary after + 4c9ed51f962f542b98789b15bedaaa427f4029a2 #801 (2023-02-24), + that prefixes referenced input filenames with the `srcdir` envvar. + + The `srcdir` envvar was already exported by autotools, and now we're + also setting it from CMake. + + - cmake: stop setting `WORKING_DIRECTORY`, rely on `srcdir` env. + + `WORKING_DIRECTORY` is no longer necessary, after passing `srcdir` to + all tests, so they can find our source tree and keys/etc in it + regardless of the current directory. + + Also this past commit hints that `WORKING_DIRECTORY` wasn't always + working for this purpose as expected: + "tests: Xcode doesn't obey CMake's test working directory" + Ref: https://github.com/libssh2/libssh2/pull/198/commits/10a5cbf945abcc60153ee3d59284d09fc64ea152 + + - autotools: delete explicit `srcdir` for test env. + + Added in 13f8addd1bc17e6c55d52491cc6304319ac38c6d (2015-07-02) + + automake documents `srcdir` as exported to the test environment: + https://github.com/autotools-mirror/automake/blob/c04c4e8856e3c933239959ce18e16599fcc04a8b/doc/automake.texi#L9302-L9304 + https://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html + It's mentioned in the docs back in 1997 and got a regression test in + 2012. We can safely assume it to be available without setting it + ourselves. + + - autotools: delete explicit `builddir`. + + Added in 13f8addd1bc17e6c55d52491cc6304319ac38c6d (2015-07-02) + + It seems this wasn't necessary to make the above fix work, and + `mansyntax.sh` is able to figure out the build workdir by reading + `$PWD`. Our out-of-tree and `make distcheck` CI builds also work + without it. + + Let us know if there is a scenario we're missing and needs this. + + Closes #1032 + +- src: fix `libssh2_store_*()` for >u32 inputs + + `_libssh2_store_str()` and `_libssh2_store_bignum2_bytes()` accept + inputs of `size_t` max, store the size as 32-bit unsigned integer, then + store the complete input buffer. + + With inputs larger than `UINT_MAX` this means the stored size is smaller + than the data that follows it. + + This patch truncates the stored data to the stored size, and now returns + a boolean with false if the stored length differs from the requested + one. Also add `assert()`s for this condition. + + This is still not a correct fix, as we now dump consistent, but still + truncated data which is not what the caller wants. In future steps we'll + need to update all callers that might pass large data to this function + to check the return value and handle an error, or make sure to not call + this function with more than UINT_MAX bytes of data. + + Ref: c3bcdd88a44c4636818407aeb894fabc90bb0ecd (2010-04-17) + Ref: ed439a29bb0b4d1c3f681f87ccfcd3e5a66c3ba0 (2022-09-29) + + Closes #1025 + +- cmake: limit WinCNG to Windows + + After deleting the `bcrypt.h` check, no check remained. Restore + a `WIN32` check here to ensure WinCNG is not enabled outside Windows. + + Follow-up to 1289033598546ee5089ff0fc4369d24e1e2be81f + + Tested-in #1032 + +- cmake: move `CMAKE_VS_GLOBALS` setting to CI configs + + To not force this setting for local builds where they might serve + a good purpose. + + It makes our CI runs slightly faster and we don't need to track + file changes in unattended, single, CI runs. + + Cherry-picked from #1031 + +- cmake: prefill for faster config phase on Windows + + Prefill known detection results on Windows with MinGW and MSVC, to + avoid spending time on detecting these on every cmake configuration + run. + + With MinGW + clang and MSVC, this elminates all detections. + With MinGW + gcc, it reduces them to 3. + + Cherry-picked from #1031 + +- libssh2_setup.h: set `HAVE_INTTYPES_H` for MSVC + + To sync up the hand-crafted config with actual detection results + by CMake and autotools. Sources compiled fine without it anyway. + + Cherry-picked from #1031 + +- cmake: re-add `select()` detection (regression) + + `select()` detection suffered two regressions: First I accidentally + deleted it for non-Windows [1]. Then the Windows-specific setting got + missed from the generated `libssh2_config.h` after a rearrangement in + `CMakeLists.txt` files. + + [1] 31fb8860dbaae3e0b7d38f2a647ee527b4b2a95f (2023-03-07) + [2] 803f19f004eb6a5b525c48fff6f46a493d25775c (2023-04-18) + + This patch restores detection. For Windows, enable it unconditionally, + not only for speed reasons, but because detection needs `ws2_32`, and + even that is broken on the x86 platform. According to the original + `cmake/SocketLibraries.cmake`, caused by a calling convention mismatch. + FWIW autotools detects it correctly. + + Cherry-picked from #1031 + +- ci: merge make job into msys2 section, enable zlib + openssl + + Follow up to dd625766271a0ba13f5ac661bdc2fa40bbfa580a + + Cherry-picked from #1030 + +- ci: add missing timeouts for autotools tests + + Cherry-picked from #1030 + +- ci: add mingw-w64 clang and gcc CMake jobs + + Cherry-picked from #1030 + +- cmake: assume `bcrypt.h` with WinCNG + + autotools already didn't check for `bcrypt.h`, and such check is only + required for old/legacy mingw without obsolete/incomplete Windows + headers. + + curl deprecated old-mingw support just recently and will delete support + in September 2023. + + This patch saves some complexity and detection time by dropping this + check for CMake. Meaning that mingw-w64 is now required to compile + libssh2 when using the WinCNG backend for 32-bit builds. Other backends + and CPU platforms are not affected. + + Ref: https://github.com/curl/curl/commit/e4d5685cb5d6eb07e1b43156fd7e3ba3563afba5 + + Closes #1026 + +- cmake: do not check for `poll()` on Windows + + While it seems to exist on mingw in theory, it's not detected as of this + writing. It also has issues, and not ready for production use: + https://stackoverflow.com/questions/1671827/poll-c-function-on-windows + + On MSVC it's even less supported. + + Skip checking this to save CMake detection time. + + Closes #1027 + +- agent_win: make a struct static and other build improvements + + Also: + - merge back `agent.h` into `agent.c` where it was earlier. + Ref: c998f79384116e9f6633cb69c2731c60d3a442bb + - introduce `HAVE_WIN32_AGENT` internal macro. + - fix two guards to exclude more code unused in UWP builds. + + Follow-up to 1c1317cb768688eee0e5496c72683190aaf63b29 + + Closes #1028 + +- tidy-up: formatting nits + + Whitespace and redundant parenthesis in `return`s. + + Closes #1029 + +GitHub (3 May 2023) +- [Nick Woodruff brought this change] + + sftp: parse attribute extensions, if present, to avoid stream parsing errors (#1019) + + Prevents directory listing errors when attribute extensions are present + by advancing stream parsing past extensions. + +Viktor Szakats (3 May 2023) +- tests: merge `sshd_fixture.sh` into `test_sshd.test` + + Merge the loop executing multiple tests and the script that actually + launches the tests into a single script. This same script is now called + from both autotools and CMake. autotools loads the list of tests from + `Makefile.inc`, CMake passes it via the command-line. It's also possible + to call the script manually with a custom list of tests or individual + ones. + + With this setup we're now launching a single sshd session for all tests, + instead of launching and killing it for each test. This did not improve + reliability of these test on CI machines, and it's easy to go back to + the previous behaviour if necessary. + + Also: + + - allow passing custom sshd options via `SSHD_FLAGS`. + + - add `SSHD_TESTS_LIMIT_TO` to limit the number of tests to its value. + E.g. `SSHD_TESTS_LIMIT_TO=1` executes the first test only. Meant for + debugging. + + - use `ssh` to test the connection (if available) instead of fixed + amount of wait. Made to also work on Windows. + + - set `PermitRootLogin yes` in `sshd`, to allow running tests as root. + + - show `sshd` path and version. + + Cherry-picked from #1017 (the last one) + Closes #1024 + +- ci: make sure to run tests after all builds in GHA + + Whenever possible. Due to flakiness/hangs/timeouts, keep sshd + tests disabled on Windows and macOS. + + Also keep Docker tests disabled on these platforms, they do not work: + + GHA Windows: + ``` + no matching manifest for windows/amd64 in the manifest list entries + ``` + + GHA macOS: + ``` + sh: docker: command not found + ``` + + It's not possible to run UWP and ARM64 binaries: + UWP: + ``` + Test #2: test_simple ......................Exit code 0xc0000135 + ``` + Needs but doesn't find: `VCRUNTIME140_APP.dll`. + + ARM64 + ``` + D:/a/libssh2/libssh2/bld/tests/Release/test_ssh2.exe: cannot execute binary file: Exec format error + ``` + + Cherry-picked from #1017 + +- tests: disable sshd tests on Windows via new options + + Instead of using hacks inside the build systems. + + `SSHD` variable added to GitHub Actions is not currently used. + Added there to make it easy to experiment with these tests and + the path is non-trivial to discover. Using the Windows built-in + sshd server is another option (haven't discovered its path yet). + + Cherry-picked from #1017 + +- tests: add cmake/autotools options to disable running tests + + autotools: + - `--disable-docker-tests` + - `--disable-sshd-tests` + + cmake: + - `RUN_DOCKER_TESTS` + - `RUN_SSHD_TESTS` + + Update automake and ci to use this new flag and delete former logic + of relying on Windows detection and `HOST_WINDOWS`. Also fix honoring + this when running `test_read_algos.test`. + + This allows to disable these individually and on per-CI/local-job basis. + To run as much tests as the env allows. + + Cherry-picked from #1017 + +- ci: add `make distcheck` job + + Cherry-picked from #1017 + +- ci: switch to out-of-tree autotools builds + + Cherry-picked from #1017 + +- ci: restore parallel builds with cmake + + Also add missing -j3 for macOS builds. + + Partial revert of 0d08974633cfc02641e6593db8d569ddb3644255 + + Cherry-picked from #1017 + +- ci: sync names, steps, syntax, build dirname between jobs + + Also: + + - delete an unused 64-bit option for Linux (all jobs are 64-bit). + + - fix to not install libgcrypt and openssl when doing mbedTLS builds. + + [ Empty lines after multiline run commands are solely to unbreak + my editor's syntax highlighting. They can be deleted in the future ] + + Cherry-picked from #1017 + +- ci: add `Makefile.mk` test, with `LIBSSH2_NO_*` options + + Cherry-picked from #1017 + +- Makefile.mk: use Makefile.inc from example and tests + + Instead of assembling the list using `$(wildcard ...)`. + + Also split off a `tests/Makefile.inc` from `tests/Makefile.am`. With its + simpler syntax, this also allows to delete some complexity from the + CMake loader. + + Cherry-picked from #1017 + +- example, tests: fix ssh2 to correctly return failure + + Before this patch ssh2 and test_ssh2 returned success even if the session + failed at `libssh2_session_handshake()` or after. + + This patch depends on cda41f7cb87c3af5258ba48ccef19d3efdbd3d3b, that fixed + running test_ssh2 on Windows via sshd_fixture. + + Cherry-picked from #1017 + +- tests: set -e -u in shell scripts + + Cherry-picked from #1017 + +- cmake: use shared libs again in example and tests + + Re-sync with autotools and v1.10.0 behavior. + + This improves build times. It also allows to stop building our special + shared test target to test shared builds. + + Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1 + + Cherry-picked from #1017 + Closes #1022 + +- tests: retry KEX failures when using the WinCNG backend + + Twice. This tests are flaky and we haven't figured out why. In the + meantime use this workaround to test and log these issues, but also + ensure that CI run aren't flagged red because of it. + + Also: + - kex: add debug message when hostkey `sig_verify` fails, + to help tracking WinCNG KEX failures. + - test_ssh2: also add retry logic. + I'm not quite sure this is correct. Please let me know. + - session_fixture: bump up `src_path` slots to fit retries and show + message when hitting the limit. + - session_fixture: clear `kbd_password` static variable after use. + - session_fixture: close and deinit socket after use. + - session_fixture: deinit libssh2 after use. + + Ref: #804 #846 #979 #1012 #1015 + + Cherry-picked from #1017 + Closes #1023 + +- example, test_ssh2: shutdown socket before close + + Syncing them with `tests/session_fixture.c`. + + Cherry-picked from #1017 + +- ci.yml: fix indentation [ci skip] + + Cherry-picked from #1017 + +- Makefile.mk: make tests depend on runner lib + + Cherry-picked from #1017 + +- build: compile agent_win.c via agent.c + + Silences these warnings on non-Windows: + ``` + ranlib: file: libssh2.a(agent_win.c.o) has no symbols + ``` + + Cherry-picked from #1017 + +- cmake: delete obsolete comment + + Follow-up to 80175921638fa0a345237d23206a2ad1644cdd9b + + Cherry-picked from #1017 + +- checksrc.sh: fix it to run from any current directory + + Also silence a shellcheck warning. + + Cherry-picked from #1017 + +- ISSUE_TEMPLATE: ask for crypto backend version + + Also fix casing in backend names. + + Cherry-picked from #1017 + +- tests: fix newlines in test keys for sshd on Windows + + Make sure these files get LF newlines on checkout. Before this patch + a checked out libssh2 Git repository may have used CRLF newlines in text + files, include test keys. Private keys with CRLF newlines could confuse + sshd on Windows: + + ``` + # sshd version: 'OpenSSH_9.2, OpenSSL 1.1.1t 7 Feb 2023' + Unable to load host key "/d/a/libssh2/libssh2/tests/openssh_server/ssh_host_ed25519_key": invalid format + Unable to load host key: /d/a/libssh2/libssh2/tests/openssh_server/ssh_host_ed25519_key + ``` + Ref: https://github.com/libssh2/libssh2/actions/runs/4846188677/jobs/8635575847#step:6:39 + + Cherry-picked from #1017 + +- cmake: move option descriptions next to definition + + Cherry-picked from #1017 + +- checksrc: sync with curl + + There were no new issues detected. + + Cherry-picked from #1017 + +- openssl: enable AES-GCM with wolfSSL + + Follow-up to 3c953c05d67eb1ebcfd3316f279f12c4b1d600b4 #797 + + There is pending issue with wolfSSL, where encryption/decryption is not + working (both with and without this patch). Ref: #1020 + + Cherry-picked from #1017 + +- appveyor: add a UWP OpenSSL 3 build + + Cherry-picked from #1017 + +- appveyor: skip `before_test` when not doing tests + + Also merge `before_test` section into `test_script`. + + Cherry-picked from #1017 + +- docs: delete two stray characters + + Cherry-picked from #1017 + +- tidy-up: avoid expression 'of course' + + Cherry-picked from #1017 + +- tidy-up: avoid word 'just' + + Cherry-picked from #1017 + +- tidy-up: avoid word 'simply' + + Cherry-picked from #1017 + +- tests: teach to use the `USERNAME` envvar on Windows + + Necessary to pick the correct local username when run on Windows. + + Cherry-picked from #1017 + +- test_ssh2: support `FIXTURE_TRACE_ALL*` envvars + + Cherry-picked from #1017 + +- tidy-up: add missing newline to error msg, formatting + + Also: + - fix indent + - lowercase variables names + - fix formatting in `src/global.c` + + Cherry-picked from #1017 + +- appveyor: wait more for SSH connection from GHA + + Cherry-picked from #1017 + +- ci: restrict permissions in GitHub Actions + + Cherry-picked from #1017 + +- build: fix autoreconf warnings + + - update `AC_HELP_STRING' to 'AS_HELP_STRING`: + ``` + configure.ac:[...]: warning: The macro `AC_HELP_STRING' is obsolete. + ``` + "AC_HELP_STRING is deprecated in 2.70+ and I believe AS_HELP_STRING works + already since 2.59 so bump the minimum required version to that." + + Ref: https://github.com/curl/curl/commit/a59f04611629f0db9ad8e768b9def73b9b4d9423 + + - simplify to avoid: + ``` + src/Makefile.inc:48: warning: variable 'EXTRA_DIST_SOURCES' is defined but no program or + src/Makefile.inc:48: library has 'DIST' as canonical name (possible typo) + ``` + Regression from 2c18b6fc8df060c770fa7e5da704c32cf40a5757 + + - `AC_TRY_LINK`/`AC_TRY_COMPILE`: + ``` + configure.ac:335: warning: The macro `AC_TRY_COMPILE' is obsolete. + configure.ac:335: warning: The macro `AC_TRY_LINK' is obsolete. + ``` + + - `libtool`-related ones: + ``` + configure.ac:70: warning: The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. + configure.ac:70: warning: AC_LIBTOOL_WIN32_DLL: Remove this warning and the call to _LT_SET_OPTION when you + configure.ac:70: put the 'win32-dll' option into LT_INIT's first parameter. + configure.ac:71: warning: The macro `AC_PROG_LIBTOOL' is obsolete. + ``` + Using code copied from curl: + https://github.com/curl/curl/blob/9ce7eee07042605045dcfd02a6f5b38ad5c8a05d/m4/xc-lt-iface.m4#L157-L163 + + - delete commented and obsolete `AC_HEADER_STDC`. + + - formatting. + + Most cherry-picked from `autoupdate` updates. + + Cherry-picked from #1017 + Closes #1021 + +- docker-bridge.ps1: use native newlines + + Also add a shebang and exec flag to ease testing/handling on *nix. + PowerShell accepts both LF and CRLF. + + Cherry-picked from #1017 + +GitHub (1 May 2023) +- [Zenju brought this change] + + sftp: remove packet limit for directory reading (#791) + + Currently libssh2 cannot read huge directory listings when the package + size of `LIBSSH2_SFTP_PACKET_MAXLEN` (256KB) is hit. For example AWS + always sends a single package with all files of a directory, no matter + how big it is: https://freefilesync.org/forum/viewtopic.php?t=10020 + Package size is probably around 7MB in this case! + + `LIBSSH2_SFTP_PACKET_MAXLEN` is a good idea in general, but there + doesn't seem to be a one size fits all. While almost all(?) SFTP + responses come in very small packages, I believe the `SSH_FXP_READDIR` + request should be exempted. + + The proposed patch, enhances the package size reading to include parsing + the full SFTP packet header. And in case a package is of type + `SSH_FXP_NAME` and matches an expected `readdir_request_id`, it does not + fail if `LIBSSH2_SFTP_PACKET_MAXLEN` is hit. The chances of accidentally + hiding data-corruption are pretty non-existent, because both SFTP + `request_id` and packet type must match. No change in behavior + otherwise. + + Best, Zenju + + Previous discussion: #268 #269 + + With the above changes, the `LIBSSH2_SFTP_PACKET_MAXLEN` value could + (and should?) probably be set back to a small number again. + + Integration-patches-by: Viktor Szakats + +Viktor Szakats (28 Apr 2023) +- checksrc: update and apply fixes + + Update to latest revision and fix new issues detected. + + Closes #1014 + +- ci: add macOS CI jobs + fix issues revealed + + Add macOS CI jobs, both cmake and autotools for all supported crypto + backends (except BoringSSL), with debug, zlib enabled. Without running + tests. It also introduces OpenSSL 1.1 into the CI with a non-MSVC + compiler. + + Credits to curl's `macos.yml`, that I used as a base. + + Fix these issues uncovered by the new tests: + + - openssl: fix warning when built with wolfSSL, or OpenSSL 1.1 and + earlier. CI missed it because apparently the only OpenSSL 1.1 test + we had used MSVC, which did not complain. + + ``` + ../src/openssl.c:3852:19: error: variable 'sslError' set but not used [-Werror,-Wunused-but-set-variable] + unsigned long sslError; + ^ + ``` + + Regression from 097c8f0dae558643d43051947a1c35b65e1c5761 + + - pem: add hack to build without MD5 crypto-backend support. + + The Homebrew wolfSSL build comes with MD5 support disabled. We can + expect this becoming the norm. FIPS also requires MD5 disabled. + + We deleted the same hack from `hostkey.c` a month ago: + ad6aae302aaec84afbfacf0c1dfdc446d46eaf21 + + A better fix would be to guard the MD5 logic with our `LIBSSH2_MD5` + macro. + + ``` + pem.c:214:32: error: use of undeclared identifier 'MD5_DIGEST_LENGTH'; did you mean 'SHA_DIGEST_LENGTH'? + unsigned char secret[2*MD5_DIGEST_LENGTH]; + ^~~~~~~~~~~~~~~~~ + SHA_DIGEST_LENGTH + ``` + + Regression from 386e012292a96fcf0dc6861588397845df0aba2c + + - `configure.ac`: add crypto libs late. + + Fix it by adding crypto libs to `LIBS` at the end of the configuration + process. + + Otherwise `configure` links crypto libs while doing feature tests, + which can cause unwanted detections. For example LibreSSL publishes + the function `explicit_bzero()`, which masks the system alternative, + e.g. `memset_s()` on macOS. Then when trying to compile libssh2, its + declaration is missing: + + ``` + bcrypt_pbkdf.c:93:5: error: implicit declaration of function 'explicit_bzero' is invalid in C99 [-Werror,-Wimplicit-function-declaration] + _libssh2_explicit_zero(ciphertext, sizeof(ciphertext)); + ^ + ../src/misc.h:50:43: note: expanded from macro '_libssh2_explicit_zero' + ^ + ``` + + Regression from 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f + + - cmake: fix to list our own include directory before the crypto libs', + when building tests. + + Otherwise a global crypto header path, such as `/usr/local/include`, + containing an external `libssh2.h` of a different version, could cause + weird errors: + + ``` + cc -DHAVE_CONFIG_H -DLIBSSH2_LIBGCRYPT \ + -I../src -I../../src -I/usr/local/include -I[...]/libssh2/include \ + -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk \ + -mmacosx-version-min=12.6 -MD -MT \ + tests/CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o \ + -MF CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o.d \ + -o CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o -c \ + [...]/libssh2/tests/test_aa_warmup.c + ``` + + ``` + [ 62%] Building C object tests/CMakeFiles/test_aa_warmup.dir/test_aa_warmup.c.o + In file included from /Users/runner/work/libssh2/libssh2/tests/test_aa_warmup.c:4: + In file included from /Users/runner/work/libssh2/libssh2/tests/runner.h:42: + In file included from /Users/runner/work/libssh2/libssh2/tests/session_fixture.h:43: + /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:649:5: error: type name requires a specifier or qualifier + LIBSSH2_AUTHAGENT_FUNC((*authagent)); + ^ + /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:649:30: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] + LIBSSH2_AUTHAGENT_FUNC((*authagent)); + ^ + /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:650:5: error: type name requires a specifier or qualifier + LIBSSH2_ADD_IDENTITIES_FUNC((*addLocalIdentities)); + ^ + /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:650:35: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] + LIBSSH2_ADD_IDENTITIES_FUNC((*addLocalIdentities)); + ^ + /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:651:5: error: type name requires a specifier or qualifier + LIBSSH2_AUTHAGENT_SIGN_FUNC((*agentSignCallback)); + ^ + /Users/runner/work/libssh2/libssh2/tests/../src/libssh2_priv.h:651:35: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] + LIBSSH2_AUTHAGENT_SIGN_FUNC((*agentSignCallback)); + ^ + 6 errors generated. + ``` + + - `tests/session_fixture.h`: delete duplicate `libssh2.h`, + `libssh2_priv.h` already includes it. + + Follow-up to a683133dfe96de126194f58f183131a84c7d36a2 + + CI logs with these errors: + https://github.com/libssh2/libssh2/actions/runs/4824079094 + https://github.com/libssh2/libssh2/actions/runs/4824270819 + + curl's `macos.yml`: https://github.com/curl/curl/blob/da2470de96e94e1c8d276b9ae6e4c97c2cf54239/.github/workflows/macos.yml + + Tidying-up while here: + + - tests/session_fixture.h: delete duplicate `libssh2.h`. + `libssh2_priv.h` includes it already. + + Follow-up to a683133dfe96de126194f58f183131a84c7d36a2 + + - ci.yml: yamllint warnings and formatting. + + - ci.yml: msvc section formatting and step-naming sync with macOS. + + Follow-up to f4a4c05dc3bcd62ecaa1b0cac5997faefe16c83f + + - ci.yml: enable `--enable-werror` for msys2 jobs. + + Follow-up to 71cae949d577fdd632a271da0bec89f977dc5dd2 + + - appveyor.yml: show OpenSSL versions, link to image content. + + Closes #1013 + +- ci: convert `docker-bridge.bat` to shell script + + Convert `ci/appveyor/docker-bridge.bat` to a POSIX shell script. + + Also bump the tunnel to use ed25519 (was RSA-2048). + + Closes #997 + +- kex: use distinctive error strings + + Use unique error strings to help localize errors. + + Closes #1011 + +- tidy-up: C header use + + - drop unused or duplicate C headers. + - add missing ones (that worked by chance). + (`string.h`, `stdlib.h`) + - mention the functions that need certain headers. + - move some headers from crypto header to crypto C source. + - reorder headers in some places. + - simplify the #if tree for `sys/select.h` in `libssh2_priv.h`. + - move scp-specific macros next to their header to `scp.c` + Follow-up to 5db836b2a829c6fff1e8c7acaa4b21b246ae1757 + + Closes #999 + +- tidy-up: text nits, English contractions [ci skip] + + In input/output text and docs mostly. + +- ci: add MSVC and UWP builds to GitHub Actions + + - add MSVC jobs to GitHub Actions. They are similar to the 'Build-only' + jobs we have on AppVeyor CI, though only the ARM64 Windows one is + identical. Major disadvantage is that we don't run tests here. Major + advantage is they only take a few minutes to complete, compared to + an hour on AppVeyor, so WinCNG build results now appear quicker. + + Docker tests might be possible, but my light attempts failed. + Finding ZLIB also failed, so we still miss an MSVC test with it. + + Tool versions as of now: Server 2022, VS2022, OpenSSL 1.1.1 + + - add UWP builds for both ARM64 and x64. This hasn't been CI tested + before. + + (We could probably enable UWP on AppVeyor CI as well. + I haven't tried.) + + - fix two uncovered UWP issues in tests. + + - rename internal macro `LIBSSH2_WINDOWS_APP` to `LIBSSH2_WINDOWS_UWP`. + + Follow-up to 2addafb77b662e64248d156c71c69b91ba7b926e + + - fold long lines and quote truthy values in `.github/workflows/ci.yml`. + + Closes #1010 + +- session_fixture: avoid no-op `chdir(getcwd())` + + If no `FIXTURE_WORKDIR` macro or envvar is present to set the cwd, + avoid querying the cwd and then calling chdir with the result. + + Ref: 54bef4c5dad868a9d45fdbfca9729b191c0abab5 (patch) + Ref: 10a5cbf945abcc60153ee3d59284d09fc64ea152 (individual commit) + + Closes #1009 + +- tests/sshd_fixture.sh: convert back to POSIX + + There was no strong reason to require bash. Let's use POSIX shell + like before the recent overhaul. + + Follow-up to a459a25302a31f6e2aba3c4e15b1472b83b596fc + + Closes #1008 + +GitHub (26 Apr 2023) +- [Miguel de Icaza brought this change] + + If SFTP fails to initialize, do not busy loop waiting for IO to happen (#720) + + Currently SFTP's init will busy loop waiting for the channel to close, + even if the underlying transport returns EAGAIN. While this works for + sockets, it might not work out if you have a different transport that + needs to do some additional processing on the side. + + Integration-patches-by: Viktor Szakats + +Viktor Szakats (26 Apr 2023) +- docs: simplify `.TH` header & other cleanups [ci skip] + + - simplify `.TH` headers. + - delete empty lines before sections. + - update template with an `AVAILABILITY` section. + + Left libssh2 version number in the `.TH` header for entries without an + `AVAILABILITY` section, or where there was a different version number + there. + +- tidy-up: formatting nits [ci skip] + +- vms: fix to include `sys/socket.h` + + Due to a typo in the `HAVE_*` macro, this header was never included. + + A comment suggests that `socklen_t` is not defined on VMS and defines it + manually. This symbol is usually in `sys/socket.h`, so the typo may have + been the reason for it to be missing. + + Closes #1007 + +- build: fix `make distcheck` regressions + + - add #included C files to `EXTRA_DIST`. + + Regression from 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f + + - fix `tests/sshd_fixture.sh` to not write into the test dir, by using + a pre-assembled `TrustedUserCAKeys` file. Update `Dockerfile` too to + use this. + + Regression from a459a25302a31f6e2aba3c4e15b1472b83b596fc + + Also update `tests/sshd_fixture.sh` to use + `openssh_server/authorized_keys` like `Dockerfile` does. And a few more + cosmetic updates. + + Closes #1006 + +- libssh2_priv.h: assume `HAVE_LONGLONG` + + Unless I'm missing something, it looks like `libssh2.h` has been using + `libssh2_int64_t` unconditionally since at least 2010-04-17 when + `libssh2_scp_send64()` landed via commit + be9ee7095e2d5021985f57d88f5f889d3c2b9d8f. + + This makes it redundant to detect `HAVE_LONGLONG` to fallback to a + 32-bit `scpRecv_size` in `libssh2_priv.h`. Then deal with possible + combinations of this flag and `strtoll()` options, which was + error-prone. + + Instead, assume in `libssh2_priv.h` that we have `libssh2_int64_t`, and + use it always. + + For MSVC, this means `_MSC_VER` `1310` (from year 2003) is now + required. Based on the above, this was already so before this patch. + + If there happens to be no 64-bit `strtoll()` detected, fall back to the + 32-bit `strtol()` (this should never happen with MSVC, and probably + neither with any other reasonably modern toolchain.) + + Also make sure to set `HAVE_STRTOI64` for older, non-CMake, MSVC builds + (e.g. `Makefile.mk` or `NMakefile` ones). + + Closes #1002 + +GitHub (26 Apr 2023) +- [Miguel de Icaza brought this change] + + fix a couple of small regressions (#1004) + + - openssl: fix potentially missing `ERR_*` constants by including + `openssl/err.h`. This could happen with recent version of Xcode + or when building against OpenSSL built with the `OPENSSL_NO_ENGINE` + option. + + Regression from 097c8f0dae558643d43051947a1c35b65e1c5761 (#789) + + - channel: fix an issue that would corrupt the data stream when + attempting to initialize the agent in non-blocking mode, as it is + necessary to propagate the `EAGAIN` signal upstream when the transport + returns `EAGAIN`. + + Regression from bc4e619e76071393e466c29220fc4ef5764c2820 (#752) + + - packet: the current code does not set the state machine upon reaching + this point which means that if the code is suspended due to the + transport returning an `EAGAIN`, this will re-initialize the structure + every time. + + The issue is that this keeps assigning a new channel-id downstream, + which does not match the initial channel-id that is initially + generated, causing a lookup later to fail as there is no matching + channel. + + Regression from bc4e619e76071393e466c29220fc4ef5764c2820 (#752) + +Viktor Szakats (26 Apr 2023) +- tidy-up: `gettimeofday()` fallback and use + + Simplify the way we handle `gettimeofday()` fallback for platforms + without native support or without any support. Make it similar to + how we handle `snprintf()`. + + In case of no native `gettimeofday()` support and a non-Windows + platform, our local fallback returns zero in `tv_usec` and `tv_sec`, + ending up with a zero `timeout_remaining` in `session.c`, same as + before this patch. + + Also: + - drop unused `sys/time.h` headers. + - fix our fallback code to compile with any Windows compilers + (not just MSVC) + - delete unnecessary casts. + + Closes #1001 + +- libssh2_priv.h: fix checksrc warning [ci skip] + + Regression from 9ef75298fae0728305d9d38ba1e3c838ad0513f7 + +- libssh2_priv.h: whitespace fixes cont. [ci skip] + +- libssh2_priv.h: whitespace fixes [ci skip] + +- cmake: use portable mkdir for tests/coverage target [ci skip] + + Makes `make coverage` work without a POSIX mkdir. + + Tested locally. + + Ref: https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-E-arg-make_directory + +- kex: fix overlapping memcpy() to memmove() + + Noticed this when libasan started kicking out errors when sending in + MACs preferences that were not supported yet. + + Reported-by: fourierules on github + Fixes #611 + Closes #1000 + +- test/CMakeLists.txt: reuse `Makefile.am` librunner source list + + Follow-up to a459a25302a31f6e2aba3c4e15b1472b83b596fc + + Closes #998 + +GitHub (25 Apr 2023) +- [Zenju brought this change] + + openssl: fix misleading error message if wrong passphrase (#789) + + Fixes #608 + +Viktor Szakats (25 Apr 2023) +- tidy-up: tiny nits [ci skip] + +- tests: improve running tests + + TL;DR: Sync test builds between autotools and CMake. Sync sshd + configuration between Docker and non-Docker fixtures. Bump up + sshd_config for recent OpenSSH releases. + + This also opens up the path to have non-Docker tests that use a + local sshd process. Though sshd is practically unusable on Windows + CI machines out of the box, so this will need further efforts. + + Details: + + - cmake: run sshd fixture test just like autotool did already. + + - sync tests and their order between autotools and CMake. + + It makes `test_aa_warmup` the first test with both. + + - cmake: load test lists from `Makefile.am`. + + Needed to update the loader to throw away certain lines to keep the + converted output conform CMake syntax. Using regexp might be an + alternative way of doing this, but couldn't make it work. + + - cmake: use the official way to configure test environment variables. + Switch to syntax that's extendable. + + - cmake: allow to run the same test both under Docker and sshd fixture. + + Useful for testing the sshd fixture runner, or how the same test + behaves in each fixture. + + - update test fixture to read the username from `USER` envvar instead of + using the Dockfile-specific hardwired one, when running outside Docker. + + - rework `ssh2.sh` into `sshd_fixture.sh`, to: + + - allow running any tests (not just `test_ssh2`). + - configure Docker tests for running outside Docker. + - fixup `SSHD` path when running on Windows (e.g. in AppVeyor CI). + Fixes: `sshd re-exec requires execution with an absolute path` + - allow overriding `PUBKEY` and `PRIVKEY` envvars. + - allow overriding `ssh_config` via `SSHD_FIXTURE_CONFIG`. + + - prepare support for running multiple tests via sshd_fixture. + + Add a TAP runner for autotools and extend CMake logic. The TAP runner + loads the test list from `Makefile.am`. + + Notice however that on Windows, `sshd_fixture.sh` is very flaky with + GitHub Actions. And consistently broken for subsequent tests in + AppVeyor CI: + 'libssh2_session_handshake failed (-43): Failed getting banner' + + Another way to try is a single sshd instance serving all tests. + For CMake this would probably mean using an external script. + + - ed25519 test keys were identical for auth and host. Regenerate the + auth keypair to make them distinct. + + - sync the sshd environment between Docker and sshd_fixture. + + - use common via `openssh_server/sshd_config`. + - accept same auth keys. + - offer the same host keys. + - sync TrustedUserCAKeys. + - delete now unused keypairs: `etc/host*`, `etc/user*`. + - bump up startup delay for Windows (randomly, to 5 secs, from 3). + - delete `UsePrivilegeSeparation no` to avoid deprecation warnings. + `command-line line 0: Deprecated option UsePrivilegeSeparation` + - delete `Protocol 2` to avoid deprecation warnings. + It has been the default since OpenSSH 3.0 (2001-11-06). + - delete `StrictModes no` (CI tests work without it, Docker tests + never used it). + + - bump `Dockerfile` base image to `testing-slim` (from `bullseye-slim`). + + It needed `sshd_config` updates to keep things working with + OpenSSH 9.2 (compared to bullseye's 8.4). + + - replace `ChallengeResponseAuthentication` alias with + `KbdInteractiveAuthentication`. + The former is no longer present in default `sshd_config` since + OpenSSH 8.7 (2021-08-20). This broke the `Dockerfile` script. + The new name is documented since OpenSSH 4.9 (2008-03-31) + + - add `PubkeyAcceptedKeyTypes +ssh-rsa,ssh-dss,ssh-rsa-cert-v01@openssh.com` + and `HostKeyAlgorithms +ssh-rsa`. + + Original-patch-by: Eric van Gyzen (@vangyzen on github) + Fixes #691 + + There is a new name for `PubkeyAcceptedKeyTypes`: + `PubkeyAcceptedAlgorithms`. + It requires OpenSSH 8.5 (2021-03-03) and breaks some envs so we're + not using it just yet. + + - drop `rijndael-cbc@lysator.liu.se` tests and references from config. + + This is a draft alias for `aes256-cbc`. No need to test it twice. + Also this alias is no longer recognized by OpenSSH 8.5 (2021-03-03). + + - update `mansyntax.sh` and `sshd_fixture.sh` to not rely on `srcdir`. + + Hopefully this works with out-of-tree builds. + + - fix `test_read_algos.test` to honor CRLF EOLs in their inputs + (necessary when running on Windows.) + + - fix `test_read_algos.test` to honor `EXEEXT`. Might be useful when + running tests under cross-builds? + + - `test_ssh2.c`: + + - use libssh2 API to set blocking mode. This makes it support all + platforms. + - adapt socket open timeout logic from `openssh_fixture.c`. + Sadly this did not help fix flakiness on GHA Windows. + + - tests: delete unused C headers and variable initialization. + + - delete unused test files: `sshd_fixture.sh.in`, `sshdwrap`, + `etc/sshd_config`. + + Ref: cf80f2f4b5255cc85a04ee43b27a29c678c1edb1 + + - autotools: delete stray `.c` test sources from `EXTRA_DIST` in tests. + + - `tests/.gitignore`: drop two stray tests. + + - autotools: fix passing `SSHD` containing space (Windows needs this). + + - autotools: sort `EXTRA_DIST` in tests. + + - cmake: fix to add `test_ssh2` to `TEST_TARGETS`. + + - fix `authorized_key` order in `tests/gen_keys.sh`. + + - silence shellcheck warning in `ci/checksrc.sh`. + + - set `SSHD` for autotools on GitHub Actions Windows. [skipped] + + Auto-detection doesn't work (maybe because sshd is installed via + Git for Windows and we're using MSYS2's shell.) + + It enables running sshd fixture (non-Docker) tests in these jobs. + + I did not include this in the final patch due to flakiness: + ``` + Connection to 127.0.0.1:4711 attempt #0 failed: retrying... + Connection to 127.0.0.1:4711 attempt #1 failed: retrying... + Connection to 127.0.0.1:4711 attempt #2 failed: retrying... + Failure establishing SSH session: -43 + ``` + + Can be enabled with: + `export SSHD='C:/Program Files/Git/usr/bin/sshd.exe'` + + Closes #996 + +- ci: reduce algo test runtime on AppVeyor + + Make the block count customizable in `test_read` via environment + `FIXTURE_XFER_COUNT`. + + Set the custom count lower than the default when running on AppVeyor. + + The goal is to reduce CI roundtrip times. + + Closes #995 + +GitHub (22 Apr 2023) +- [Michael Buckley brought this change] + + Agent forwarding implementation (#752) + + This PR contains a series of patches that date back many years and I + believe were discussed on the mailing list, but never merged. We have + been using these in our local copy of libssh2 without issue since 2015, + if not earlier. I believe this is the full set of changes, as we tried + to use comments to mark where our copy of libssh2 differs from the + canonical version. + + This also contains changes I made earlier this year, but which were not + discussed on the mailing list, to support certificates and FIDO2 keys + with agent forwarding. + + Note that this is not a complete implementation of agent forwarding, as + that is outside the scope of libssh2. Clients still need to provide + their own implementation that parses ssh-agent methods after calling + libssh2_channel_read() and calls the appropriate callback messages in + libssh2. See the man page changes in this PR for more details. + + Integration-patches-by: Viktor Szakats + + * prefer size_t + * prefer unsigned int over u_int in public function + * add const + * docs, indent, checksrc, debug call, compiler warning fixes + +Viktor Szakats (21 Apr 2023) +- ci: add Windows Server 2016 into the test mix + + We had Windows Server 2012 R2 (8.1) and Windows Server 2019 (10) before + this patch. After, we also have Windows Server 2016 (10). + + The WinCNG flakey tests should have a better chance when running on the + newer OS. + + This update does not change the compiler mix. + + Also change the test fixture to not use the `--quiet` option with the + `docker pull` commant. This option requires docker v19.03, and + AppVeyor's Visual Studio 2017 image doesn't support it. Log output did + not change without `--quiet`, so it seems safe to delete it. In case + we'd need it, another solution is to retry without `--quiet` if the + command fails. docker's exit status is 125 in that case. + + Ref: https://github.com/libssh2/libssh2/issues/804#issuecomment-1515232799 + Ref: https://www.appveyor.com/docs/windows-images-software/ + + Closes #994 + +- build: add autotools test_read support and more + + Keep a single list for mac and crypt algos that we use in both CMake + and autotools. Use the same test names across build tools. + + Use the TAP protocol to track individual tests run from a single shell + script. + + Also: + + - enable the rest of our tests with autotools. + + - set `make check` verbose to see errors in case they happen. + + - silence stray 'command not found' error when running `mansyntax.sh` + on Windows. + + GitHub Actions Windows docker tests disabled due to: + ``` + Command: docker build --quiet -t libssh2/openssh_server ../tests/openssh_server + Error running command 'docker build --quiet -t libssh2/openssh_server ../tests/openssh_server' (exit 1): Sending build context to Docker daemon 22.02kB + Step 1/42 : FROM debian:bullseye-slim + bullseye-slim: Pulling from library/debian + no matching manifest for windows/amd64 10.0.20348 in the manifest list entries + Failed to build docker image + ``` + + Closes #993 + +- cmake: restore a dash char in comment [ci skip] + + It's a CMake comment header convention. + +GitHub (21 Apr 2023) +- [Dan Fandrich brought this change] + + tests: add AES-GCM protocol read tests (#992) + + Closes #992 + +- [Viktor Szakats brought this change] + + support encrypt-then-mac (etm) MACs (#987) + + Support for calculating MAC (message authentication code) on encrypted + data instead of plain text data. + + This adds support for the following MACs: + - `hmac-sha1-etm@openssh.com` + - `hmac-sha2-256-etm@openssh.com` + - `hmac-sha2-512-etm@openssh.com` + + Integration-patches-by: Viktor Szakats + + * rebase on master + * fix checksec warnings + * fix compiler warning + * fix indent/whitespace/eol + * rebase/manual merge onto AES-GCM patch #797 + * more manual merge of `libssh2_transport_send()` based + on dfandrich/shellfish + + Fixes #582 + Closes #655 + Closes #987 + +Viktor Szakats (20 Apr 2023) +- docs: fix typo in argument name [ci skip] + +- [Keith Dart brought this change] + + channel: add support for "signal" message + + Can send specific signals to remote process. Allows for slightly + improved remote process management, if the server supports it. + + Integration-patches-by: Viktor Szakats + + * doc updates + * change `signame_len` to `size_t` + * variable scopes + * fix checksrc warnings + + Closes #672 + Closes #991 + +- crypto: add `LIBSSH2_NO_AES_CBC` option + + Also rename internal `LIBSSH2_AES` to `LIBSSH2_AES_CBC`. + + Follow-up to 857e431648df6edcb3e17138d877f2e65d2d769d + + Closes #990 + +- tidy-up: indentation fixes [ci skip] + +GitHub (20 Apr 2023) +- [Dan Fandrich brought this change] + + Add support for AES-GCM crypto protocols (#797) + + Add support for aes256-gcm@openssh.com and aes128-gcm@openssh.com + ciphers, which are the OpenSSH implementations of AES-GCM cryptography. + It is similar to RFC5647 but has changes to the MAC protocol + negotiation. These are implemented for recent versions of OpenSSL only. + + The ciphers work differently than most previous ones in two big areas: + the cipher includes its own integrated MAC, and the packet length field + in the SSH frame is left unencrypted. The code changes necessary are + gated by flags in the LIBSSH2_CRYPT_METHOD configuration structure. + + These differences mean that both the first and last parts of a block + require special handling during encryption. The first part is where the + packet length field is, which must be kept out of the encryption path + but in the authenticated part (as AAD). The last part is where the + Authentication Tag is found, which is calculated and appended during + encryption or removed and validated on decryption. As encryption/ + decryption is performed on each packet in a loop, one block at a time, + flags indicating when the first and last blocks are being processed are + passed down to the encryption layers. + + The strict block-by-block encryption that occurs with other protocols is + inappropriate for AES-GCM, since the packet length shifts the first + encrypted byte 4 bytes into the block. Additionally, the final part of + the block must contain the AES-GCM's Authentication Tag, so it must be + presented to the lower encryption layer whole. These requirements mean + added code to consolidate blocks as they are passed down. + + When AES-GCM is negotiated as the cipher, its built-in MAC is + automatically used as the SSH MAC so further MAC negotiation is not + necessary. The SSH negotiation is skipped when _libssh2_mac_override() + indicates that such a cipher is in use. The virtual MAC configuration + block mac_method_hmac_aesgcm is then used as the MAC placeholder. + + This work was sponsored by Anders Borum. + + Integration-patches-by: Viktor Szakats + + * fix checksrc errors + * fix openssl.c warning + * fix transport.c warnings + * switch to `LIBSSH2_MIN/MAX()` from `MIN()`/`MAX()` + * fix indent + * fix libgcrypt unused warning + * fix mbedtls unused warning + * fix wincng unused warning + * fix old openssl unused variable warnings + * delete blank lines + * updates to help merging with the ETM patch + +Viktor Szakats (20 Apr 2023) +- tidy-up: align comments [ci skip] + +- tidy-up: whitespace nits [ci skip] + +- crypto: add/fix algo guards and extend `NO` options + + Add new guard `LIBSSH2_RSA_SHA1`. Add missing guards for `LIBSSH2_RSA`, + `LIBSSH2_DSA`. + + Fix warnings when all options are disabled. + + This is still not complete and it's possible to break a build with + certain crypto backends (e.g. mbedTLS) and/or combination of options. + It's not guaranteed that all bits everywhere get disabled by these + settings. Consider this a "best effort". + + Add these new options to disable certain crypto elements: + - `LIBSSH2_NO_3DES` + - `LIBSSH2_NO_AES_CTR` + - `LIBSSH2_NO_BLOWFISH` + - `LIBSSH2_NO_CAST` + - `LIBSSH2_NO_ECDSA` + - `LIBSSH2_NO_RC4` + - `LIBSSH2_NO_RSA_SHA1` + - `LIBSSH2_NO_RSA` + + The goal is to offer a way to disable legacy/obsolete/insecure ones. + + See also: 146a25a06dd2365a4330dad34fefcdcee1a206aa `LIBSSH2_NO_HMAC_RIPEMD` + See also: 38015f4e46d8dbeea522dc7ee664522d4f47fc75 `LIBSSH2_NO_DSA` + See also: be31457f3071686b555a0f0b19e5dcf63d67fc27 `LIBSSH2_NO_MD5` + + Closes #986 + +- scp: fix typo in comments [ci skip] + + Follow-up to 0a500b3554c29451708353279eefce750f4bca6c + +- base64: do not use `snprintf()` on encoding + + This also significantly (by 7-8x in my limited tests with a short + string) speeds up this function. The impact is still minor as this + function is only used in `knownhost.c` in release builds. + + Closes #985 + +- wincng: constify data arg of `libssh2_wincng_hash()` + + Tested in #979 + +- wincng: fix unused variables with `LIBSSH2_RSA_SHA2` disabled + + Tested in #979 + +- ci: delete config elements for unused 32-bit Linux builds + + They have been disabled since d9b4222ef1c5ab9b9e499fe6234556e5cca7c4fe + + Tested in #979 + +- ci: enable FIXTURE_TRACE_ALL_CONNECT for WinCNG tests + + To hopefully help finding the WinCNG hostkey verification + intermittent failure #804. + + Tested in #979 + +- tests: add `FIXTURE_TRACE_ALL_CONNECT` option + + Works like the `FIXTURE_TRACE_ALL` envvar, but enables full trace for + the connection phase only. + + Also fix a possible NULL deref with `FIXTURE_TRACE_ALL` and a failed + `libssh2_session_init_ex()`. + + Tested in #979 + +- ci: really enable logging in AppVeyor CMake builds + + `CONFIGURATION` was never passed to the cmake command, so it had + never enabled logging when set to `Debug`. + + Also `CONFIGURATION` is ambiguous depending on the "generator" used + by CMake. In case of Visual Studio, this is a build/ctest-time + setting, not a cmake-config parameter. + + So set this permanently to `Release` and enable logging via our + dedicated CMake option `ENABLE_DEBUG_LOGGING`. + + Tested in #979 + +- HACKING-CRYPTO: fix stray whitespace + +- tidy-up: fix more nits + + - fix indentation errors. + - reformat `cmake/FindmbedTLS.cmake` + - replace a macro with a variable in `example/sftp_RW_nonblock.c`. + - delete macOS macro `_DARWIN_USE_64_BIT_INODE` from the + OS/400 config header, `os400/libssh2_config.h`. + - fix other minor nits. + + Closes #983 + +- mansyntax: make it work on macOS, check reqs locally + + - use `gman` alias if present. This makes it work when the correct `man` + command is provided via `brew` on macOS. + + - move CMake attempts to detect tools necessary to run `mansyntax.sh` + into the script itself. + + - delete CMake TODO to move more test logic into CMake. This would make + it CMake-specific and require maintaining it separately for each build + tool. Just use our external script when a POSIX shell is available. + + Closes #982 + +- cmake: dedupe setting `-DHAVE_CONFIG_H` + + Move `libssh2_config.h` generation and setting `-DHAVE_CONFIG_H` to + the root `CMakeFile.txt`. + + Also move symbol hiding setup there. It needs to be done before + generating the config file for `LIBSSH2_API` value to be set in it. + + After this change the `HIDE_SYMBOLS` setting is accepted without an + annoying CMake warning when not actually building a shared libssh2 lib. + + Closes #981 + +- build: assume non-blocking I/O on Windows + + Drop checks from Windows builds and enable it based on `WIN32`. + + This saves detection time and also makes 3rd party builds simpler. + + Also: + + - delete `HAVE_DISABLED_NONBLOCKING`, that we used in build tools to + explicitly disable an explicit `#error` in `session.c`. + + - replace existing `WSAEWOULDBLOCK` check for Windows support with + `WIN32`. Cleaner with the same result. + + Follow-up to f1e80d8d8ce9570d81836da96ba02f4d4552a7b3 + Follow-up to 5644eea2161b17f7c16e18f3a10465ebb217ca1f + + Closes #980 + +- ci: rename Logging to Debug in AppVeyor + +- switch to internal base64 decode that uses size_t + + Make the public `libssh2_base64_decode()` a wrapper for that. + Bump up length sizes in callers. + + Also fix output size calculation to first divide then multiply. + + Closes #978 + +- tests: switch to debian:bullseye-slim in Dockerfile + + 'slim' provides all we need, with less bloat. + + Tested in #976 + + Follow-up to 78cb64a85955f2cd9700c4fbad3f02d589dd7169 + +- tests: build improvements and more + + - rename tests to have more succint names and a more useful natural + order. + + - rename `simple` and `ssh2` in tests to have the `test_` prefix. + + This avoids a name collisions with `ssh2` in examples. + + - cmake: drop the `example-` prefix for generated examples. + + Bringing their names in sync with other build tools, like autotools. + + - move common auth test code into the fixture and simplify tests by + using that. + + - move feature guards from CMake to preprocessor for auth tests. + + Now it works with all build tools and it's easier to keep it in sync + with the lib itself. + + For this we need to include `libssh2_priv.h` in tests, which in turn + needs tweaking on the trick we use to suppress extra MSVS warnings + when building tests and examples. + + - move mbedTLS blocklist for crypto tests from CMake to the test + fixture. + + - add ed25519 hostkey tests to `test_hostkey` and `test_hostkey_hash`. + + - add shell script to regenerate all test keys used for our tests. + + - alpha-sort tests. + + - rename `signed_*` keys to begin with `key` like the rest of the keys + do. + + - whitespace fixes. + + Closes #969 + +- autotools: rename a variable + + To match its counterpart we use for clang and to better match + the original code in curl. + + Follow-up to ec0feae7920d695ce234a5aba13014bf29824c09 + + Closes #977 + +- ssh2.sh: revert likely wrong quoting [ci skip] + + Follow-up to 50124428509ffc2f5d08d8d3c152fa36546c9a75 + +- build: add `-Wbad-function-cast` picky warning + + Also adjust minimum gcc versions in comment. + + Closes #975 + +- tests: restore debian:bullseye in Dockerfile + + Follow-up to 78cb64a85955f2cd9700c4fbad3f02d589dd7169 + +- session: simplify preprocessor logic + + - by using #elif + - by merging two blocks + + Closes #972 + +- tests: try debian:testing for Dockerfile + + Follow-up to 78cb64a85955f2cd9700c4fbad3f02d589dd7169 + +- src: add and use `LIBSSH2_MIN/MAX` macros + + Also for #797 + + Closes #974 + +- tests: switch Dockerfile to debian:testing-slim + + From debian:bullseye + + - doesn't need manual bumps. + - is ahead of stable and should be stable enough for our purpose. + - slim is saving resources. + + Closes #971 + +- cmake: optimize non-blocking tests on WIN32/non-WIN32 + + Skip testing unixy methods on Windows and vice versa. + + I continue to assume that CMake doesn't define `WIN32` with Cygwin + (as Cygwin doesn't define `_WIN32`/`WIN32` for C), though I haven't + tested this. + + Closes #970 + +GitHub (15 Apr 2023) +- [Jörgen Sigvardsson brought this change] + + scp: option to not quote paths (#803) + + A new flag named `LIBSSH2_FLAG_QUOTE_PATHS` has been added, to make + libssh2 not quote file paths sent to the remote's scp subsystem. Some + custom ssh daemons cannot handle quoted paths, and this makes this flag + useful. + + Authored-by: Jörgen Sigvardsson + +Viktor Szakats (15 Apr 2023) +- cmake: make Windows builds initialize faster + + By skipping unixy header checks that always fail with + the MSVC toolchain or all Windows toolchains. + + Closes #968 + +- cmake: use a single build rule for all tests + + - use the complete filename of test sources in the input list. + + - build all tests with the ability to access libssh2 internals. + + This is necessary for `test_keyboard_interactive_auth_info_request` + now and might be necessary for others in the future, e.g. to avoid + the depreacted public base64 decoding API. + + - move `test_keyboard_interactive_auth_info_request` into the main + test build loop. + + - move `simple` into the main test build loop too. + + - build `ssh2` also in static mode. + + - cleanup the way we detect and enable gcov. + + - fix indentation. + + Closes #967 + +- tidy-up: more whitespace in src + + Closes #966 + +- checksrc: fix `EQUALSNULL` warnings + + `s/([a-z0-9._>*-]+) == NULL/!\1/g` + + Closes #964 + +- Makefile.am: add new OS400 header [ci skip] + + Follow-up to 6dc42e9d625deb816a051d312d09e68926959e78 + +- checksrc: fix `NOTEQUALSZERO` warnings + + Closes #963 + +- checksrc: fix `SIZEOFNOPAREN` warnings + + `s/sizeof ([a-z0-9._>*-]+)/sizeof(\1)/g` + + Closes #962 + +- crypto: add `LIBSSH2_NO_HMAC_RIPEMD` option + + See also: 38015f4e46d8dbeea522dc7ee664522d4f47fc75 + See also: be31457f3071686b555a0f0b19e5dcf63d67fc27 + + Ref: https://github.com/stribika/stribika.github.io/issues/46 + + Closes #965 + +- tidy-up: example, tests continued + + - fix skip auth if `userauthlist` is NULL. + Closes #836 (Reported-by: @sudipm-mukherjee on github) + - fix most silenced `checksrc` warnings. + - sync examples/tests code between each other. + (output messages, error handling, declaration order, comments) + - stop including unnecessary headers. + - always deinitialize in case of error. + - drop some redundant variables. + - add error handling where missing. + - show more error codes. + - switch `perror()` to `fprintf()`. + - fix some `printf()`s to be `fprintf()`. + - formatting. + + Closes #960 + +- src: fix indentation of macro definitions (follow-up) + + Follow-up to d5438f4ba9036e8028f35258dd1ab97cc2edb37c + +- src: fix indentation of macro definitions + + And some comment cleanup. + + Closes #958 + +- example/ssh2_exec: drop conditional code for deprecated API + +GitHub (13 Apr 2023) +- [monnerat brought this change] + + Make OS/400 implementation work again (#953) + + * os400: support QADRT development files in a non-standard directory + + This enables the possibility to compile libssh2 even if the ascii + runtime development files are not installed system-wide. + + * userauth_kbd_packet: fix a pointer target type mismatch. + + A temporary variable matching the parameter type is used before copying + to the real target and checking for overflow (that should not occur!). + + * os400qc3: move and fix big number procedures + + A bug added by a previous code style cleaning is fixed. + _libssh2_random() now checks and return the success status. + + * os400qc3: fix cipher definition block lengths + + They were wrongly set to the key size. + + * Diffie-Hellman min/max modulus sizes are dependent of crypto-backend + + In particular, os400qc3 limits the maximum group size to 2048-bits. + Move definitions of these parameters to crypto backend header files. + + * kex: return an error if Diffie-Hellman key pair generation fails + + * os400: add an ascii assert.h header file + + * os400qc3: implement RSA SHA2 256/512 + +Viktor Szakats (13 Apr 2023) +- sftp: add open functions with custom attribute support + + Before this patch, libssh2 sent hardcoded `LIBSSH2_SFTP_ATTRIBUTES` + struct on handle open. This can be problematic on some special OS, + where the file size should be known on new file creation. I added + two new functions to resolve this issue. + + Patch-by: @vajdaakos on github via #506 + + Changes compared to #506: + - drop attr size fixup in favour of #946. + - move `memcpy()` under the state where we need it. + - bump filename length type to `size_t`. + - fix filenames in documentation and other nits. + + Closes #506 + Closes #947 + +- build: speed up and extend picky compiler options + + Implement picky warnings with clang in autotools. Extend picky gcc + warnings, sync them between build tools and compilers and greatly + speed up detection in CMake. + + - autotools: enable clang compiler warnings with `--enable-debug`. + + - autotools: enable more gcc compiler warnings with `--enable-debug`. + + - autotools/cmake: sync compiler warning options between gcc and clang. + + - sync compiler warning options between autotools and cmake. + + - cmake: reduce option-checks to speed up the detection phase. + Bring them down to 3 (from 35). Leaving some checks to keep the + CMake logic alive and for an easy way to add new options. + + clang 3.0 (2011-11-29) and gcc 2.95 (1999-07-31) now required. + + - autotools logic copied from curl, with these differences: + + - delete `-Wimplicit-fallthrough=4` due to a false positive. + + - reduce `-Wformat-truncation=2` to `1` due to a false positive. + + - simplify MinGW detection for `-Wno-pedantic-ms-format`. + + - cmake: show enabled picky compiler options (like autotools). + + - cmake: do compile `tests/simple.c` and `tests/ssh2.c`. + + - fix new compiler warnings. + + - `tests/CMakeLists.txt`: fix indentation. + + Original source of autotools logic: + - https://github.com/curl/curl/blob/a8fbdb461cecbfe1ac6ecc5d8f6cf181e1507da8/acinclude.m4 + - https://github.com/curl/curl/blob/a8fbdb461cecbfe1ac6ecc5d8f6cf181e1507da8/m4/curl-compilers.m4 + + Notice that the autotools implementation considers Apple clang as + legacy clang 3.7. CMake detection works more accurately, at the same + time more error-prone and difficult to update due to the sparsely + documented nature of Apple clang option evolution. + + Closes #952 + +- include: delete leading underscore from macro name + + It can cause compiler warnings in 3rd-party code. + + Follow-up to 59666e03f04927e5fe3e8d8772d40729f63c570e + + Closes #957 + +- ci: use OpenSSL 3 on AppVeyor VS2022 images + + Closes #954 + +- build: be friendly with 3rd-party build tools + + After recent build changes, 3rd party build that took the list of + C source to compile them as-is, stopped working as expected, due to + `blowfish.c` and crypto-backend C sources no longer expected to compile + separately but via `bcrypt_pbkdf.c` and `crypto.c`, respectively. + + This patch ensures that compiling these files directly result in an + empty object instead of redundant code and duplicated symbols. + + Also: + - add a compile-time error if none of the supported crypto backends + are enabled. + - fix `libssh2_crypto_engine()` for wolfSSL and os400qc3. + Rearrange code to avoid a hard-to-find copy of crypto-backend + selection guards. + + Follow-up to 4f0f4bff5a92dce6a6cd7a5600a8ee5660402c3f + Follow-up to ff3c774e03585252b70a9ee0fcf254de7b14a767 + + Closes #951 + +- sftp: calculate attr size based on attr content in `sftp_open()` + + Improve robustness by replacing constant argument of `sftp_attrsize()` + in `sftp_open()` with the actual `flag` value read from the `attr` we + plan to transfer. Restores state of this before + 37624b61e3ec4aa65a608800613d00b55ced56d7. + + Prerequisite for #947, #506. + + Also improve readability a bit and link to SFTP specs. Delete comment + about version 6: The latest spec no longer features the mentioned + "DO NOT IMPLEMENT" notice. + + Closes #946 + +- man: fixups + + - add missing `.fi` tags. + - fix misplaced `.nf` tags. + - add `.nf`/`.fi` tags `SYNOPSIS` where missing. + - fix missing/wrong function name from `SH NAME`. + - fix wrong function name in `TH`. + - keep return values in a separate line. + - indent. + - fold long lines. + - deleted `libssh2_channel_direct_streamlocal()`, there is no such function. + - add missing types. + - add missing headers. + + Closes #949 + +- include: indentation fixes + +- tidy-up: misc & minor cmake MSVS fix + + - `libssh2.rc`: document language/codepage codes. + + Ref: https://learn.microsoft.com/windows/win32/intl/code-page-identifiers + + - convert to Markdown: `docs/BINDINGS`, `docs/HACKING` + + Blind update for `vms/libssh2_make_help.dcl`. Please double-check. + + - cmake: fix to recognize dash-style warning options (`-Wn`) with MSVC. + + - `NMakefile`: sync `rd` command with `Makefile.mk`. + + - delete a CVS header. + + - cmake: simplify a `LIBSSH2_HAVE_ZLIB` macro. + + - few other nits and whitespace mods. + + Closes #943 + +GitHub (10 Apr 2023) +- [Viktor Szakats brought this change] + + Support for direct-streamlocal@openssh.com UNIX socket connection (#945) + + This patch allow to use direct-streamlocal service from OpenSSH 6.7, + that allows UNIX socket connections. + + Mods: + - delete unrelated condition: + Ref: https://github.com/libssh2/libssh2/pull/216#discussion_r374748111 + - rebase on master, whitespace updates. + + Patch-by: @gjalves Gustavo Junior Alves + + Closes #216 + Closes #632 + Closes #945 + +Viktor Szakats (10 Apr 2023) +- build: support `libssh2.rc` with autotools + + Caveat: When building `--enable-static` and `--enable-shared` at the + same time, the compiled Windows resource is also included in the + static library. This appears to be an autotools limitation, with no + way to have different input lists (or different custom options) for + shared and static libraries, even though it builds them separately. + + The workaround is to build static libraries in a separate + `./configure` + `make` pass. + + Closes #944 + +- crypto: add `LIBSSH2_NO_DSA` to disable DSA support + + See also: be31457f3071686b555a0f0b19e5dcf63d67fc27 + + Closes #942 + +- build: unify source lists + + - introduce `src/crypto.c` as an umbrella source that does nothing else + than include the selected crypto backend source. Moving this job from + the built-tool to the C preprocessor. + + - this allows dropping the various techniques to pick the correct crypto + backend sources in autotools, CMake and other build method. Including + the per-backend `Makefile..inc` makefiles. + + - copy a trick from curl and instead of maintaining duplicate source + lists for CMake, convert the GNU Makefile kept for autotools + automatically. Do this in `docs`, `examples` and `src`. + + Ref: https://github.com/curl/curl/blob/dfabe8bca218d2524af052bd551aa87e13b8a10b/CMakeLists.txt#L1399-L1413 + + Also fixes missing `libssh2_setup.h` from `src/CMakeFiles.txt` after + 59666e03f04927e5fe3e8d8772d40729f63c570e. + + - move `Makefile.inc` from root to `src`. + + - reformat `src/Makefile.inc` to list each source in separate lines, + re-align the continuation character and sort the lists alphabetically. + + - update `docs/HACKING-CRYPTO` accordingly. + + - autotools: update the way we add crypto-backends to `LIBS`. + + - delete old CSV headers, indent, and merge two lines in + `docs/Makefile.am` and `src/Makefile.am`. + + - add `libssh2.pc` to `.gitignore`, while there. + + Closes #941 + +GitHub (9 Apr 2023) +- [Zenju brought this change] + + sftp: always clear protocol error (#787) + +Viktor Szakats (9 Apr 2023) +- cmake: add `HIDE_SYMBOLS` option & do symbol hiding on *nix + + - implement symbol hiding on non-Windows platforms. + + The essence of the detection logic was copied from: + https://github.com/curl/curl/blob/dfabe8bca218d2524af052bd551aa87e13b8a10b/CMake/CurlSymbolHiding.cmake + + Then simplified and shortened. This method doesn't require a recent + CMake version, nor an external, auto-generated C header. + + Move `configure_file()` after `set(LIBSSH2_API ...)`, for the config + file to pick up `LIBSSH2_API`s value. + + Closes #602 + + - add CMake option `HIDE_SYMBOLS`. + + This setting means to hide non-public functions from the libssh2 + dynamic library when set to `ON`. The default. + + When set to `OFF`, make all non-static/internal functions visible + in the dynamic library. + + This setting requires `BUILD_SHARED_LIBS=ON`. + + - honor this setting on Windows. + + By setting the `LIBSSH2_EXPORTS` manual macro again, and stop + recognizing the automatic CMake macro for this purpose: + `libssh2_shared_EXPORT`. + + Closes #939 + +- build: make `windows.h` even leaner + + Disable GDI and NLS features in `windows.h`. libssh2 doesn't use these. + + Closes #940 + +- blowfish: build improvements + + - include `blowfish.c` into `bcrypt_pbkdf.c`, instead of + compiling it as a distinct object. + + - make low-level blowfish functions static. This prevents this symbols + to pollute the public namespace of libssh2. It also allows the + compiler to inline these functions. + + - integrate `blf.h` header into `bcrypt_pbkdf.c` as well. + + - use `_DEBUG_BLOWFISH` instead of `#if 0`. + + - fix `_DEBUG_BLOWFISH` compiler warnings and other nits. + + - `#undef` `inline` before redefining it in `libssh2_priv.h`. + (copied from `blowfish.c`) + + - delete unused `inline` redefinitions from `blowfish.c`. + + - disable unused low-level blowfish functions. + + - formatting, header order. + + Closes #938 + +- libssh2.rc: fix debug flag, other cleanups + + - fix to use `LIBSSH2DEBUG` macro to set the debug flag. + (was `DEBUGBUILD`, a curl-specific macro) + + - use manifest constants instead of literals + + - change language to neutral + + Closes #937 + +- tidy-up: example, tests + + - drop unnecessary `WIN32`-specific branches. + + - add `static`. + + - sync header inclusion order. + + - sync some common code between examples/tests. + + - fix formatting/indentation. + + - fix some `checksrc` errors not caught by `checksrc`. + + Closes #936 + +- tests/mansyntax.sh: avoid `if !` for portability + + Ref: https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Limitations-of-Builtins.html#Limitations-of-Builtins + + Fixes #704 + Closes #935 + +- tidy-up: indentation in guarded #includes [ci skip] + +- Makefile.mk: drop `PROOT` variable [ci skip] + +- build: hand-crafted config rework & header tidy-up + + - introduce the concept of a project level setup header + `src/libssh2_setup.h`, that is used by `src`, `example` and `tests` + alike. Move there all common platform/compiler configuration from + `src/libssh2_priv.h`, individual sources and `CMakeFiles.txt` files. + Also move there our hand-crafted (= not auto-generated by CMake or + autotools) configuration `win32/libssh2-config.h`. + + - `win32` directory is empty now, delete it. + + - `Makefile.mk`: adapt to the above. Build-directory is the target + triplet, or any custom name set via `BLD_DIR`. + + - sync header path order between build systems: + build/src -> source/src -> source/include + + - delete redundant references to `windows.h`, `winsock2.h`, + `ws2tcpip.h`. + + - delete unnecessary #includes, update order (`libssh2_setup.h` first, + `winsock2.h` first), simplify where possible. + + This makes the code warning-free without `WIN32_LEAN_AND_MEAN`. + At the same time this patch applies this macro globally, to avoid + header bloat. + + - example: add missing *nix header guards. + + - example: fix misindented `HAVE_UNISTD_H` `#ifdef`s. + + - set `WIN32` with all build-tools. + + - set `HAVE_SYS_PARAM_H` in the hand-crafted config for MinGW. + To match auto-detection. + + - move a source-specific macro to `misc.c` from `libssh2_priv.h`. + + See the PR's individual commits for step-by-step updates. + + Closes #932 + +- Makefile.mk: build tests and other improvements [ci skip] + + - use `example` target for building examples (was: `test`). + + - add support for building tests via the `test` target. + + - accept lib-only options in a new `LIBSSH2_CPPFLAGS_LIB` variable. + + Useful to pass `-DLIBSSH2_EXPORTS` for correct `dllexport` in + `libssh2.dll`. + + - fix to put dynamic library in lib directory for non-Windows builds + + - fix to not delete lib objects on `testclean` + +- test_warmup: re-implement as `test()` + + Instead of overriding `main()`. To align with the other tests. + + Overriding `main()` can cause duplicate symbols without using a lib for + the `runner` code. + + Follow-up to 40ac6b230a309d35c57aa65a8f6d7ab6654aa3d8 + + Closes #934 + +- NMakefile: drop `/DEBUG` linker option in release mode [ci skip] + +- NMakefile: simplify [ci skip] + +- Makefile.mk: merge two rules [ci skip] + +- TODO: update item about compiler warnings [ci skip] + + Follow-up to 08354e0abbe86d4cc5088d210d53531be6d8981a + Follow-up to 29347905721d2e7fbb97dabfb0071bee51db3013 + Follow-up to 5a96f494ee0b00282afb2db2e091246fc5e1774a + Follow-up to 463449fb9ee7dbe5fbe71a28494579a9a6890d6d + Follow-up to 02f2700a61157ce5a264319bdb80754c92a40a24 + +GitHub (5 Apr 2023) +- [ihsinme brought this change] + + example/x11: Add null-termination (#749) + +Viktor Szakats (5 Apr 2023) +- crypto: fix `LIBSSH2_NO_MD5` compiler warnings + + Follow-up to be31457f3071686b555a0f0b19e5dcf63d67fc27 + + Closes #933 + +- build: add new man pages + + Follow-up to c20c81ab105cdf27f5a4e2604bd13085f46e21de + +GitHub (5 Apr 2023) +- [Daniel Silverstone brought this change] + + Configurable session read timeout (#892) + + This set of changes provides a mechanism to runtime-configure the + previously #define'd timeout for reading packets from a session. The + intention here is to also extend libcurl to be able to use this + interface so that when fetching from sftp servers which are very slow + to return directory listings, connections do not time-out so much. + + * Add new field to session to hold configurable read timeout + + * Updated `_libssh2_packet_require()`, `_libssh2_packet_requirev()`, + and `sftp_packet_requirev()` to use new field in session structure + + * Updated docs for API functions to set/get read timeout field in + session structure + + * Updated `libssh2.h` to declare the get/set read timeout functions + + Co-authored-by: Jon Axtell + Credit: Daniel Silverstone + +Viktor Szakats (4 Apr 2023) +- cmake: whitespace fixes [ci skip] + +- libssh2.h: bump LIBSSH2_COPYRIGHT year [ci skip] + +- Makefile.mk: move portable GNU Make file to the root + + Move the GNU Make file formerly known as `win32/GNUmakefile` to the + root directory from `win32`. It now supports any platform with a + GCC-like toolchain, while also keeping support for win32. + + For non-Windows platforms it's necessary to provide a hand-crafted + `libssh2_config.h` header for now. + + Usage: `make -f Makefile.mk` + +- src: include `limits.h` for `*_MAX` macros + + Follow-up to 5a96f494ee0b00282afb2db2e091246fc5e1774a + + Reported-by: OldWorldOrdr on github + Fixes #928 + Closes #930 + +- build: MSVS warning suppression option tidy-up + + - in `win32/libssh2_config.h` replace `_CRT_SECURE_NO_DEPRECATE` with + `_CRT_SECURE_NO_WARNINGS`, to use the official macro for this, like + in CMake. + + Also, it's now safe to move it back under `_MSC_VER`. + + Suppressing: + + `warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.` + `warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead.` + + - move `_CRT_NONSTDC_NO_DEPRECATE` to `example` and `tests`. + Not needed for `src`. + + Suppressing: + + `warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strdup.` + `warning C4996: 'write': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _write.` + + - move `_WINSOCK_DEPRECATED_NO_WARNINGS` from source files to + CMake files, in `example` and `tests`. Also limit this to MSVC. + + Suppressing: + + `warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead` + + TODO: try fixing these instead of suppressing. + + Closes #929 + +- win32/GNUmakefile: make it movable [ci skip] + + - add `BLD_DIR` to customize the output directory (where libs, .zip, + obj subdir will go). This directory must exist. + + It remains `./win32` for Windows builds. + + - add `CONFIG_H_DIR` option to customize `libssh2_config.h` location. + + It remains `./win32` for Windows builds. + + - include `.def` in distro zip for Windows. + + - ready to move to the root directory. + +- win32/GNUmakefile: drop an unnecessary variable [ci skip] + +- windows: re-add `libssh2.rc` + + Lost while moving it from the win32 directory + + Follow-up to 194cfc0f84192809c87f846140e5bf06b7a864af + +- crypto: add `LIBSSH2_NO_MD5` to disable MD5 support + + Closes #927 + +- hostkey: fix `hash_len` field constants + + Replace incorrect `MD5_DIGEST_LENGTH` with `SHA_DIGEST_LENGTH` for these + hostkey algos: + + - `ssh-rsa` and `ssh-dss` + + Ref: 7a5ffc8cee259bbde82ab92515cd8fea2166854b (2004-12-07 Initial) + + - `ssh-rsa-cert-v01@openssh.com` + + Ref: 4b21e49d9d2db74579b18804ed1f5eeb16578b2f (2022-07-28) + Ref: #710 + + Also delete local fall-back definition of `MD5_DIGEST_LENGTH` (added + in 9af7eb48dc3854ce8ee0589f7e2beb944e064847). Macro is no longer used. + + Reported-by: Markus-Schmidt on github + Fixes #919 + Closes #926 + +- ci: add MSVS 2008/2010 build tests and fix warnings + + Also: + + - fix newly surfaced (bogus) warnings in examples with MSVS 2010: + + ``` + ..\..\example\direct_tcpip.c(262): warning C4127: conditional expression is constant + ``` + Happens for every `FD_SET()` macro reference. + + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46677835/job/ni4hs97bh18c14ap + + - silence MSVS 2010 predefined Windows macro warnings: + + ``` + ..\..\src\wincng.c(867): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size + ..\..\src\wincng.c(897): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size + ..\..\src\wincng.c(1132): warning C4306: 'type cast' : conversion from 'int' to 'LPCSTR' of greater size + ``` + + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46678071/job/08t5ktvkcgdghp7r + + Closes #925 + +- transport: rename local `RANDOM_PADDING` macro + + Rename `RANDOM_PADDING` macro used internally to enable some code. + + Committed in the initial version of `transport.c` in + 9d55db6501aa4e21f0858cf36cdc2ddc11b96e83 (2007-02-02). libssh2 code + never defined it. + + The name happens to collide with a Windows macro in `wincrypt.h`. + `transport.c` doesn't include this header, but it includes `winsock2.h`, + and it turns out it can also define this macro in some cases, e.g. + when `WIN32_LEAN_AND_MEAN` is not set. + + To be on the safe side, prefix the name with `LIBSSH2_` to avoid + enabling it by accident. + + Q: Maybe it'd be best to delete it with the guarded code? + + Reported-by: Markus-Schmidt on github + Fixes #921 + Closes #924 + +- windows: move `libssh2.rc` to the `src` directory + + Closes #918 + +- autotools: delete unused conditional `HAVE_SYS_UN_H` + + No longer necessary after moving the disabling/enabling logic from + build tool to `example/x11.c`. + + Reverts 4774d500e724bc4e548f743a0cb644ab05599474 + Follow-up to d245c66cc0029e480674394c23e8be1c9410f7ad + +- win32/GNUmakefile: update help & exit without crypto backend [ci skip] + + Follow-up to: 5bcd25c4c980e9765c00a2f20ac5348635063aad + Follow-up to: 68fd02fba002c8c6af3ba51a2780de46b47b3787 + +- build: respect autotools `DLL_EXPORT` in `libssh2.h` + + The `DLL_EXPORT` macro is automatically set by autotools when building + the libssh2 DLL. Certain toolchains might require this to correctly + export symbols, so make sure to respect it in `libssh2.h` to enable + `declspec(dllexport)`. + + With this patch we have a manual macro for that (`LIBSSH2_EXPORT`), + this autotools one, the CMake one, and `_WINDLL` (added in + c355d31ff94a1622526c4988b9d09074f7f7605d), possibly defined by Visual + Studio. + + Closes #917 + +- build: make `HAVE_LIBCRYPT32` local to `wincng.c` + + libssh2 uses `wincrypt.h` aka the `crypt32` Windows system library + for the function `CryptDecodeObjectEx()` [1]. This function has been + available for Win32 (and UWP/WinRT apps) for a long while. Even old + MinGW supports it, and also Watcom 1.9, of the rare/old compilers + I checked. + + CMake had it permanently enabled, while it also did an extra check + for the header to add the lib to the lib list. Autotools did the + detection proper. Other builds had it permanently enabled. + + It seems safe to assume this function/header/lib is available in all + environments we support. + + In this patch we simplify by deleting these detections and feature + flags from all build tools. + + Keep the feature flag internal to `wincng.h`, and for extra safety add + the new macro `LIBSSH2_WINCNG_DISABLE_WINCRYPT` do disable it via + custom `CPPFLAGS`. + + WinCNG's other requirement is `bcrypt`. That also has been universally + available for a long time. Here the only known outlier is old/legacy + MinGW, which is missing support. + + [1] https://learn.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptdecodeobjectex + + Closes #916 + +- autotools: delete `src/libssh2.pc.in` reference [ci skip] + + Follow-up to 06f281921907fa077884c7020917661ca805b9d3 + +- tidy-up: null-mac/cipher documentation + + Move documentation for these deleted build-level options from + autotools/cmake docs to the source code itself. + + Follow-up to 50c9bf868e833258d23c5f55ed546d1fcd5687d0 + + Closes #915 + +- cmake: re-use existing `libssh2.pc` template + + Instead of maintaining a second copy of `libssh2.pc.in` in `src` just + for CMake, teach CMake to use the existing template in the root dir, + that we already use with autotools. + + Closes #914 + +- delete redundant `HAVE_STDLIB_H` + + libssh2 used this standard C89 header unconditionally before this patch. + + Delete the feature checks and all unnecessary header guards. + + Closes #913 + +- NMakefile: drop redundant variable and assignments [ci skip] + +- delete redundant `HAVE_WINSOCK2_H` + + `libssh2.h` required `winsock2.h` for `_WIN32` since + 81d53de4dc5ee39bd6215958c7dce3b12731195e (2011-06-04). + + Apply that to the whole codebase. This makes it unnecessary to detect + `HAVE_WINSOCK2_H` and allows to drop all its uses. + + Completes TODO from b66d7317ca6c882afbe52fe426f68c119c40d348 + + TODO: Straighten out the use a mixture of `HAVE_WINDOWS_H`, + `WIN32`, `_WIN32` to detect Windows. + +- cmake: detect WinCNG last + + This gives a chance to auto-detect mbedTLS on Windows with CMake. + +- NMakefile: rename config variables, default to WinCNG [ci skip] + + - replace `OPENSSLINC` and `OPENSSLLIB` with `OPENSSL_PATH`. + Assume `include` and `lib` subdirs for headers and libs. + + - replace `WITH_ZLIB`, `ZLIBINC` and `ZLIBLIB` with `ZLIB_PATH`. + Assume `include` and `lib` subdirs for header and lib. + + - make WinCNG the default if `WITH_OPENSSL` is not set. + +- win32/GNUmakefile: rename object dir and update .gitignore [ci skip] + + From `-{release|debug}` to `{release|debug}-`. + + Follow-up to 68fd02fba002c8c6af3ba51a2780de46b47b3787 + +- win32/GNUmakefile: add libgcrypt support [ci skip] + + In the previous commit 969487113aae856e43d3d905c3f2260246d44f9b, + the commit message should read `win32/GNUmakefile: ` instead of + `libssh2-gnumake.sh: `. Sorry for the mixup. + +- libssh2-gnumake.sh: make variable names platform-agnostic [ci skip] + + Also more consistent. Refer to DLL/SO/shared as 'dyn'. + + Also add comment on how to find customizable environment variables. + +- win32/GNUmakefile: make it support non-Windows builds [ci skip] + + With 20-ish extra lines, make this Makefile support all GCC-like + toolchains. + + The temporary directory becomes `-{release|debug}` from + the former `{release|debug}`. + + Also change the lib directory name in the `dist` package from + `win32` to `lib`, to match other packages and build tools. + +- win32/GNUmakefile: default to WinCNG [ci skip] + + Also check for wolfSSL before mbedTLS to match CMake. + +- win32/GNUmakefile: fixups to previous commit [ci skip] + + - `-lws2_32` is necessary when building examples. + + - drop a temporary variable. + + Follow-up to d245c66cc0029e480674394c23e8be1c9410f7ad + +- delete redundant `HAVE_WS2TCPIP_H` + + It was used once in `src/libssh2_priv.h`, but without any effect. + The header included `ws2tcpip.h` twice, once guarded by + `HAVE_WS2TCPIP_H` and another time by `HAVE_WINSOCK2_H`. + + Dedupe these to not use `HAVE_WS2TCPIP_H`. Then delete detection + of this feature from all build methods. + + TODO: Replace `HAVE_WINSOCK2_H` with `_WIN32`/`WIN32`. + +- win32/libssh2_config.h: set `HAVE_LONGLONG` & `HAVE_STDLIB_H` [ci skip] + + - enable `HAVE_LONGLONG` for MinGW and MSVC versions supporting it. + + Necessary for `GNUmakefile`/`NMakefile` builds to create the same + binaries as CMake/autotools ones do. + + - enable `HAVE_STDLIB_H`. It has been universally available on + Windows for a long time. + + Fixes these clang-cl warnings: + ``` + src\wincng.c(444,5) : warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration] + free(buf); + ^ + src\wincng.c(491,20) : warning: implicitly declaring library function 'malloc' with type 'void *(unsigned long long)' [-Wimplicit-function-declaration] + pbHashObject = malloc(dwHashObject); + ^ + src\wincng.c(491,20) : note: include the header or explicitly provide a declaration for 'malloc' + src\wincng.c(2106,14) : warning: implicitly declaring library function 'realloc' with type 'void *(void *, unsigned long long)' [-Wimplicit-function-declaration] + bignum = realloc(bn->bignum, length); + ^ + src\wincng.c(2106,14) : note: include the header or explicitly provide a declaration for 'realloc' + 3 warnings generated. + ``` + +- example: make `x11` exclusion build-tool-agnostic + + Whether to build the `x11` example or not was decided by each build + tool. CMake didn't build it even on supported platforms. GNUMakefile + used a specific blocklist for it, while autotools enabled it based on + feature-detection. + + Migrate the enabler logic to an #ifdef in source and build `x11` + unconditionally with all build tools. + + On unsupported platforms (=Windows) this program now displays a short + message stating that fact. + + Also: + + - fix `x11.c` warnings uncovered after CMake started building it. + + - use `libssh2_socket_t` type for portability in `x11.c` too. + + - use detected header guards in `x11.c`. + + - delete a duplicate reference to `-lws2_32` from `win32/GNUmakefile` + while there. + + Closes #909 + +- .gitignore updates [ci skip] + +- tidy-up: whitespace, sorting, comment and naming fixups + +- cmake: add missing man pages + +- cmake: dedupe and merge config detection + + Before this patch CMake did feature detections in three files: + `src/CMakefiles.txt`, `examples/CMakefiles.txt` and + `tests/CMakefiles.txt`. + + Merge and move them to the root `CMakefiles.txt`. + + After this patch we end up with a single `src/libssh2_config.h`. This + brings CMake in sync with autotools builds, which already worked with + a single config header. + + This also prevents mistakes where feature detection went out of sync + between `src` & `tests` (see ae90a35d15d97154ac0c8554bce99ebfb18ee825). + `tests` do compile sources from `src` directly, so these should always + be in sync. + + It also allows to better integrate hand-crafted, platform-specific + config headers into the builds, like the one currently residing in + the `win32` directory (and also in `vms` and `os400`). Subject to an + upcoming PR. + + Also fix a warning revealed after this patch made CMake correctly + enable `HAVE_GETTIMEOFDAY` for `example` programs. + + Closes #906 + +- cmake: dedupe crypto-backend detection + + Before this patch CMake did crypto-backend detection in both + `src/CMakefiles.txt` and `tests/CMakefiles.txt`. + + Merge them and move it to the root `CMakefiles.txt`. + + While here, also add zlib for OpenSSL. Necessary when using OpenSSL + builds with zlib enabled. + + Closes #905 + +- cmake: add missing #cmakedefines to src + + - `HAVE_MEMSET_S` missing since + 03092292597ac601c3f9f0c267ecb145dda75e4e (2018-08-02) + + - `HAVE_EXPLICIT_BZERO` and `HAVE_EXPLICIT_MEMSET` missing since + 00005682f7b9a1aa42be50e269056ea873637047 (2023-03-28) + +GitHub (31 Mar 2023) +- [Viktor Szakats brought this change] + + tidy-up: NMakefile (#903) + +Viktor Szakats (30 Mar 2023) +- GNUmakefile: adjust win32/.gitignore [ci skip] + +- build: delete references to deleted NMake files [ci skip] + + Follow-up to 057522bb0f15c10c33159e12899ecc60e40aa6ef + +GitHub (30 Mar 2023) +- [Viktor Szakats brought this change] + + NMakefile: merge them into a single file [ci skip] (#902) + + Also: + + - allow to override `AR` and `ARFLAGS`. + + - The extra `src` subdir in the target directory is no longer, to + simplify things. + + - gone the dynamically generated `objects.mk`. Now replaced with some + tricky logic to do that inline. + + - add necessary `LIBS` for WinCNG. (untested) + + Lightly tested via clang-cl. + +- [Viktor Szakats brought this change] + + maketgz: tidy-up [ci skip] (#901) + + - fix shellcheck warnings: + - use quotes + - use `$()` + - use `printf` (instead of calling perl). + - indent. + - copy/adapt header comment from curl to `maketgz`. + +- [Viktor Szakats brought this change] + + ci: flatten AppVeyor jobs, add debug builds (#900) + + This results in better job names (now including CPU), avoiding the + complex exception rules, and fine-tuning the order and variation of + these tests. + + Enable `LIBSSH2DEBUG` for two of the existing jobs. + +- [Viktor Szakats brought this change] + + ci: add VS2022 builds (incl. ARM64) to AppVeyor (#899) + + - add MSVS 2022 WinCNG builds for x64 and ARM64, + replacing MSVS 2013 WinCNG builds for x64 and x86. + + - add MSVS 2022 OpenSSL builds for x64. + + - fix a compiler warning uncovered by the new ARM64 build: + + ``` + tests\openssh_fixture.c(393,17): warning C4477: 'fprintf' : format string '%d' requires an argument of type 'int', but variadic argument 1 has type 'libssh2_socket_t' + tests\openssh_fixture.c(393,17): message : consider using '%lld' in the format string + tests\openssh_fixture.c(393,17): message : consider using '%Id' in the format string + tests\openssh_fixture.c(393,17): message : consider using '%I64d' in the format string + ``` + + - echo the actual CMake command-line. + + - cmake: echo the DLL filenames found by the OpenSSL DLL-finder + heuristics. + + - cmake: delete `libcrypto.dll` and `libssl.dll` names from the above + logic. + + I've added these in 19884e5055b6c65f0df93d7cc776a01c518a2f06. That + resulted in CMake picking up a rogue `libcrypto.dll` (with no + `libssl.dll` pair) from `C:\Windows\System32\` on the + `Visual Studio 2022` image, breaking tests. + + Turns out, OpenSSL v1.0.2 uses the "EAY" names, but let's not re-add + those either, because CMake mis-picks those up from + `C:/OpenSSL-Win64/bin/`, even while pointing `OPENSSL_ROOT_DIR` to a + v1.1.1 installation. + + - cmake: set `NO_DEFAULT_PATH` for OpenSSL DLL lookup to avoid picking + up all kinds of wrong DLLs. CMake considers not the first, but the + _last_ hit the valid one. This happened to be + `C:/Program Files/Meson/lib*-1_1.dll` when using the + `Visual Studio 2022` image. + + Ref: https://cmake.org/cmake/help/latest/command/find_file.html + + - cmake: leave two commented debug lines that will be useful next time + the DLL detection lookup goes wrong. + + Ref: https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_DEBUG_MODE.html + + - on error, also dump `CMakeFiles/CMakeConfigureLog.yaml` if it exists + (requires CMake 3.26 and newer) + +- [Viktor Szakats brought this change] + + src: fix compiler warning on Darwin (#898) + + ``` + src/session.c:675:52: warning: implicit conversion loses integer precision: 'long' to '__darwin_suseconds_t' (aka 'int') [-Wshorten-64-to-32] + tv.tv_usec = (ms_to_next - tv.tv_sec*1000) * 1000; + ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ + ``` + +Viktor Szakats (29 Mar 2023) +- tidy-up: tabs to spaces in Makefile.am [ci skip] + + Follow-up to 2f16d8105c9491beb2a02b3081f4f1c2a224fa62 + +GitHub (29 Mar 2023) +- [Viktor Szakats brought this change] + + netware: delete support (#888) + + Last related commit happened 15 years ago. + NetWare had it last release in 2009. + + All links referenced from the make file are inaccessible. + +- [Viktor Szakats brought this change] + + wolfssl: add workaround for HMAC_Update() len arg difference (#897) + + It's `int` in wolfSSL. `size_t` in OpenSSL/quictls/LibreSSL/BoringSSL. + + Ref: https://github.com/wolfSSL/wolfssl/blob/ba47562d182e10e59813da012e0ab8ef20892231/wolfssl/openssl/hmac.h#L60-L61 + + /cc @wolfSSL + +- [Viktor Szakats brought this change] + + cmake: introduce variables for lib target names (#896) + + Make our CMake config more self-documenting by introducing variables + for the shared and static lib target names. Without this, it might be + non-trivial to find out which line is referring to a target name vs + libname, export name or other occurrences of `libssh2`. + + This allows to rename back the shared lib target name to the value used + before 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1: + `libssh2_shared` -> `libssh2`, if necessary for compatibility. Notice: + before that patch, `libssh2` name referred to either the static or + shared lib, depending on build settings. + +- [Viktor Szakats brought this change] + + detect and use explicit_bzero() and explicit_memset() (#895) + + Also skip detecting these and `memset_s()` for Windows targets in CMake, + to save detection time. On Windows we always use `SecureZeroMemory()`. + +- [Viktor Szakats brought this change] + + ci: bump mbedtls (#894) + +- [Viktor Szakats brought this change] + + GNUmakefile: minor fix for DYN mode [ci skip] (#893) + + Follow-up to b8762c1003d97e109efa587bdc760ff9873949eb + +- [Viktor Szakats brought this change] + + build: delete MS Dev Studio build files (#891) + + Last updated in 2007. + + Also delete `VCPROJ` target remains (necessary files seem to have + been missing from the repo all along) for Visual Studio 2008. + +Viktor Szakats (28 Mar 2023) +- checksrc: fix reference in Makefile.am, update options [ci skip] + +GitHub (28 Mar 2023) +- [Viktor Szakats brought this change] + + build: delete native Watcom wmake support with Win32 (#889) + + CMake supports generating Watcom wmake files: + https://cmake.org/cmake/help/v3.1/generator/Watcom%20WMake.html + +- [Viktor Szakats brought this change] + + checksrc: update and fix warnings (#890) + + Update from: + https://github.com/curl/curl/blob/5fec927374e4d9553205d861f2dcb39ec78002cc/scripts/checksrc.pl + + - suppress these new checks: + + - EQUALSNULL: 320 warnings + - NOTEQUALSZERO: 142 warnings + - TYPEDEFSTRUCT: 16 warnings + + We can enabled them in the future. + + - fix all other new ones. + + - also fix whitespace in two `NMakefile` files. + +- [Viktor Szakats brought this change] + + tidy-up: fix/update URLs (#887) + +- [Viktor Szakats brought this change] + + tidy-up: fix typos (#886) + + detected by codespell 2.2.4. + +- [Viktor Szakats brought this change] + + tidy-up: replace tabs and other whitespace (#885) + + There are a few non-whitespace changes, see them here: + https://github.com/libssh2/libssh2/pull/885/files?w=1 + +- [Viktor Szakats brought this change] + + ci: drop cmake --parallel (#884) + + `--parallel 2` did not seem to make builds faster. Neither did 4 or 6. + + Delete this option from both GHA and AppVeyor jobs. + + On AppVeyor, with VS, it uses MSBuild under the hood where apparently + `--parallel` doesn't do much [1]. The suggested MSBuild-specific option + `/p:CL_MPcount=2` did not improve build times either. + + CMake spends significant time (comparable to building the project + itself) on feature detection, it'd be nice to execute those in parallel, + but I found not such CMake option. + + [1] https://discourse.cmake.org/t/parallel-does-not-really-enable-parallel-compiles-with-msbuild/964 + + Partial revert of 7a039d9a7a2945c10b4622f38eeed21ba6b4ec55 + +- [Viktor Szakats brought this change] + + rework how to enable insecure null-cipher/null-MAC (#873) + + Null-cipher and null-MAC are security footguns we want to avoid. + + Existing option names to toggle these were ambiguous and gave room for + misinterpretation. Some projects may have had these options enabled by + accident. + + This patch aims to make it more difficult to enable them, and making + sure that existing methods require an update to stay enabled. + + - delete CMake/autotools settings to enable the "none" cipher and MAC. + + - rename existing C macros that can enable them. + + To use them, pass them as custom `CPPFLAGS` to the build. + + - enable them only if `LIBSSH2DEBUG` is also enabled. + + Best would be to delete them, though they may have some use while + developing libssh2 itself, or debugging. + +- [Viktor Szakats brought this change] + + delete old gex (SSH2_MSG_KEX_DH_GEX_REQUEST_OLD) build option (#872) + + libssh2 supports an "old" style KEX message + `SSH2_MSG_KEX_DH_GEX_REQUEST_OLD`, as an off-by-default build option. + + OpenSSH deprecated/disabled this feature in v6.9 (2015-07-01): + https://www.openssh.com/releasenotes.html#6.9 + + This patch deletes this obsolete feature from libssh2, with no option + to enable it. + + Added to libssh2 in: cf8ca63ea0c9388c8ae9079961d7e6a91b72b5c8 (2004-12-31) + RFC: https://datatracker.ietf.org/doc/html/rfc4419 (2006-03) + +- [Viktor Szakats brought this change] + + src: more tolerant snprintf() local override (#881) + + `#undef snprintf` before redefining it, when `HAVE_SNPRINTF` is not + defined, even though `snprintf` is available and it should have been. + Possibly with 3rd party builds. + + Downside is that cases of missing `HAVE_SNPRINTF` are less trivially + detected at compile-time. + +- [Viktor Szakats brought this change] + + ci: fix cmake warning with AppVeyor WinCNG builds (#883) + + ``` + CMake Warning: + Manually-specified variables were not used by the project: + + OPENSSL_ROOT_DIR + ``` + + Follow-up to 0834b9bcc85b90c78afff103f909b5a909b95e45 + +- [Viktor Szakats brought this change] + + ci: cmake `ENABLE_WERROR` -> `ON` (#877) + + Consider warnings as errors for CMake jobs in CI. + +Viktor Szakats (26 Mar 2023) +- src: silence compiler warnings 4 (alignment in WinCNG) + + Silence alignment warnings in WinCNG, by reworking the code. + + Also add two unrelated casts to avoid gcc compiler warnings + in surrounding code. + + `increases required alignment from 1 to 4 [-Wcast-align]` + `increases required alignment from 1 to 8 [-Wcast-align]` + + See warning details in the PR's individual commits. + + Reviewed-by: Marc Hörsken in + Cherry-picked from #846 + Closes #880 + +- src: silence compiler warnings 3 (change types) + + Apply type changes to avoid casts and warnings. In most cases this + means changing to a larger type, usually `size_t` or `ssize_t`. + + Change signedness in a few places. + + Also introduce new variables to avoid reusing them for multiple + purposes, to avoid casts and warnings. + + - add FIXME for public `libssh2_sftp_readdir_ex()` return type. + + - fix `_libssh2_mbedtls_rsa_sha2_verify()` to verify if `sig_len` + is large enough. + + - fix `_libssh2_dh_key_pair()` in `wincng.c` to return error if + `group_order` input is negative. + + Maybe we should also reject zero? + + - bump `_libssh2_random()` size type `int` -> `size_t`. Add checks + for WinCNG and OpenSSL to return error if requested more than they + support (`ULONG_MAX`, `INT_MAX` respectively). + + - change `_libssh2_ntohu32()` return value `unsigned int` -> `uint32_t`. + + - fix `_libssh2_mbedtls_bignum_random()` to check for a negative `top` + input. + + - size down `_libssh2_wincng_key_sha_verify()` `hashlen` to match + Windows'. + + - fix `session_disconnect()` to limit length of `lang_len` + (to 256 bytes). + + - fix bad syntax in an `assert()`. + + - add a few `const` to casts. + + - `while(1)` -> `for(;;)`. + + - add casts that didn't fit into #876. + + - update `docs/HACKING-CRYPTO` with new sizes. + + May need review for OS400QC3: /cc @monnerat @jonrumsey + + See warning details in the PR's individual commits. + + Cherry-picked from #846 + Closes #879 + +- src: silence compiler warnings 2 (ZLIB interface) + + Silence warnings in the ZLIB interface by adding casts and changing + types. + + See PR for individual commits. + + Cherry-picked from #846 + Closes #878 + +- src: silence compiler warnings 1 + + Most of the changes aim to silence warnings by adding casts. + + An assortment of other issues, mainly compiler warnings, resolved: + + - unreachable code fixed by using `goto` in + `publickey_response_success()` in `publickey.c`. + + - potentially uninitialized variable in `sftp_open()`. + + - MSVS-specific bogus warnings with `nid_type` in `kex.c`. + + - check result of `kex_session_ecdh_curve_type()`. + + - add missing function declarations. + + - type changes to fit values without casts: + - `cmd_len` in `scp_recv()` and `scp_send()`: `int` -> `size_t` + - `Blowfish_expandstate()`, `Blowfish_expand0state()` loop counters: + `uint16_t` -> `int` + - `RECV_SEND_ALL()`: `int` -> `ssize_t` + - `shell_quotearg()` -> `unsigned` -> `size_t` + - `sig_len` in `_libssh2_mbedtls_rsa_sha2_sign()`: + `unsigned` -> `size_t` + - `prefs_len` in `libssh2_session_method_pref()`: `int` -> `size_t` + - `firstsec` in `_libssh2_debug_low()`: `int` -> `long` + - `method_len` in `libssh2_session_method_pref()`: `int` -> `size_t` + + - simplify `_libssh2_ntohu64()`. + + - fix `LIBSSH2_INT64_T_FORMAT` for MinGW. + + - fix gcc warning by not using a bit field for + `burn_optimistic_kexinit`. + + - fix unused variable warning in `_libssh2_cipher_crypt()` in + `libgcrypt.c`. + + - fix unused variables with `HAVE_DISABLED_NONBLOCKING`. + + - avoid const stripping with `BIO_new_mem_buf()` and OpenSSL 1.0.2 and + newer. + + - add a missing const in `wincng.h`. + + - FIXME added for public: + - `libssh2_channel_window_read_ex()` `read_avail` argument type. + - `libssh2_base64_decode()` `datalen` argument type. + + - fix possible overflow in `sftp_read()`. + + Ref: 4552c73cd58fccb1fc49cb0f25f86619133e560f + + - formatting in `wincng.h`. + + See warning details in the PR's individual commits. + + Cherry-picked from #846 + Closes #876 + +GitHub (24 Mar 2023) +- [Viktor Szakats brought this change] + + cmake: automatic exports macro tidy-up (#875) + + In a recent CMake update I left the original CMake EXPORTS macro + unchanged (`libssh2_EXPORTS`) for compatibility. + + However, that macro was also recently added [1] and not present in an + official release yet, so we might as well just use the new native one + instead (`libssh2_shared_EXPORTS`), defined by CMake automatically. + This way we don't need to define the old macro manually. + + CMake forms this macro from the lib's internal name as defined in + `add_library()` by appending `_EXPORTS`. That target name changed from + `libssh2` to `libssh2_shared` after introducing dual shared + static + builds in the recent update. + + If we're here, add a new, stable, build-tool agnostic macro with the + same effect, for non-CMake use: `LIBSSH2_EXPORTS` + + [1] 1f0fe7443a1ecddd320f2c693607b2afee9bbe2f (2021-10-26) + + Follow-up to 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1 + +- [Viktor Szakats brought this change] + + maketgz: add .xz, .bz2, .zip source archive formats (#874) + + Copied from curl: + https://github.com/curl/curl/blob/4528690cd51e5445df74aef8f83470a602683797/maketgz#L174-L222 + + [ci skip] + +Viktor Szakats (23 Mar 2023) +- dist: delete reference to recently deleted file [ci skip] + + Follow-up to b8762c1003d97e109efa587bdc760ff9873949eb + +GitHub (23 Mar 2023) +- [Viktor Szakats brought this change] + + cmake: separate compilation passes for shared/static (#871) + + Before this patch, cmake did a single compilation pass when we enabled + both shared and static lib targets. This saves build time (esp. with + MinGW targets and cross-compiling), but has the disadvantage that static + libs built this way must have PIC enabled (offering slightly less + performance) and `dllexport` enabled also, which means that executables + linking the static libssh2 lib export its public symbols. + + To avoid these downsides, this patch separates the two passes and + creates a non-PIC, non-`dllexport` static lib, even when also building + the shared lib. + +- [Viktor Szakats brought this change] + + ci: test with OpenSSL v1.1.1 on AppVeyor (#870) + + Was: v1.0.2. + + Keep using v1.0.2 with the static-only test. To make sure we don't break + support. + +- [Viktor Szakats brought this change] + + ci: speed up static-only build tests on AppVeyor (#868) + + - limit static-only build to a single platform (x64). + + - skip running ctest for the static-only build. + + - use MSVS 2013 for static-only builds. It's faster. + + - run static-only test before WinCNG ones. Otherwise it's often skipped + due to WinCNG failures (#804). + +- [Viktor Szakats brought this change] + + cmake: fix error with static lib off and example/tests on (#869) + + Regression from 4e2580628dd1f8dc51ac65ac747ebcf0e93fa3d1 + +- [Viktor Szakats brought this change] + + ci: parallelize more (#867) + +- [Viktor Szakats brought this change] + + cmake/src: move build options before target definitions (#864) + + To allow more flexibility when defining targets. + +- [Viktor Szakats brought this change] + + ci: use static+shared builds to cut number of cmake jobs (#865) + + With CMake builds supporting static-shared libssh2 builds in a single + pass, we no longer need to run static and shared jobs separately. For + the same effect it's enough to run builds with both shared and static + builds enabled. Halving CI jobs. + + We add an extra run to test the CMake config-path without shared builds + enabled. + + This allows to add useful jobs, e.g. MSVS 2022 or ZLIB-enabled builds + for Windows, valgrind builds or other useful stuff, without stretching + CI run times further. + + Ref: #863 + +Viktor Szakats (22 Mar 2023) +- cmake: allow building static + shared libs in a single pass + + - `BUILD_SHARED_LIBS=ON` no longer disables building static lib. + + When set, we build the static lib with PIC enabled. + + For shared lib only, set `BUILD_STATIC_LIBS=OFF`. For static lib + without PIC, leave this option disabled. + + - new setting: `BUILD_STATIC_LIBS`. `ON` by default. + + Force-enabled when building examples or tests (we build those in + static mode always.) + + - fix to exclude Windows Resource from the static lib. + + - fix to not overwrite static lib with shared implib on Windows + platforms using identical suffix for them (MSVS). By using + `libssh2_imp<.ext>` implib filename. + + - add support for `STATIC_LIB_SUFFIX` setting to set an optional suffix + (e.g. `_static`) for the static lib. (experimental, not documented). + Overrides the above when set. + + - fix to set `dllexport` when building shared lib. + + - set `TrackFileAccess=false` for MSVS. + + For faster builds, shorter verbose logs. + + - tests: new test linking against shared libssh2: `test_warmup_shared` + + - tests: simplify 'runner' lib by merging 3 libs into a single one. + + - tests: drop hack from `test_keyboard_interactive_auth_info_request` + build. + + We no longer need to compile `src/misc.c` because we always link + libssh2 statically. + + - tests: limit `FIXTURE_WORKDIR=` to the `runner` target. + + TL;DR: Default behavior unchanged: static (no-PIC), no shared. + Enabling shared unchanged, but now also builds a static (PIC) + lib by default. + + Based-on: b60dca8b6450a9729670986d2899cca54ccdbb6d #547 by berney on github + Fixes: #547 + Fixes: #675 + Closes: #863 + +- include: silence warnings with casts in public `libssh2_sftp.h` + + Avoid triggering warnings in macros coming from public libssh2 headers. + + Cherry-picked from: #846 + Closes #862 + +- example, tests: address compiler warnings + + Fix or silence all C compiler warnings discovered with (or without) + `PICKY_COMPILER=ON` (in CMake). This means all warnings showing up in + CI (gcc, clang, MSVS 2013/2015), in local tests on macOS (clang 14) and + Windows cross-builds using gcc (12) and llvm/clang (14/15). + + Also fix the expression `nread -= nread` in `sftp_RW_nonblock.c`. + + Cherry-picked from: #846 + Closes #861 + +- openssl: require `EVP_aes_128_ctr()` support + + libssh2 built with OpenSSL and without its `EVP_aes_128_ctr()`, aka + `HAVE_EVP_AES_128_CTR`, option are working incorrectly. This option + wasn't always auto-detected by autotools up until recently (#811). + Non-cmake, non-autotools build methods never enabled it automatically. + + OpenSSL supports this options since at least v1.0.2, which is already + EOLed and considered obsolete. OpenSSL forks (LibreSSL, BoringSSL) + supported it all along. + + In this patch we enable this option unconditionally, now requiring + OpenSSL supporting this function, or one of its forks. + + Also modernize OpenSSL lib references to what 1.0.2 and newer versions + have been using. + + Fixes #739 + +- wincng: fix memory leak in `_libssh2_dh_secret()` + + Patch-by: iruis on github + Assisted-by: Marc Hörsken + Bug #846, commit e3487092ef9553af67633c6747cb9ab2f86465e0. + Fixes #856 + Closes #858 + +GitHub (19 Mar 2023) +- [Viktor Szakats brought this change] + + nw, os400, watcom: stop setting unused macros [ci skip] (#859) + +Viktor Szakats (19 Mar 2023) +- cmake: fix `ENABLE_WERROR=ON` breaking auto-detections + + - cmake: fix compiler warnings in `CheckNonblockingSocketSupport`. + detection functions. + + Without this, these detections fail when `ENABLE_WERROR=ON`. + + - cmake: disable ENABLE_WERROR for MSVC during symbol checks in `src`. + + CMake's built-in symbol check function `check_symbol_exists()` + generate warnings with MSVC. With warnings considered errors, these + detections fail permanently. Our workaround is to disable + warnings-as-errors while running these checks. + + ``` + CheckSymbolExists.c(8): warning C4054: 'type cast': from function pointer '__int64 (__cdecl *)(const char *,char **,int)' to data pointer 'int *' + in `return ((int*)(&strtoll))[argc];` + ``` + + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46537222/job/4vg4yg333mu2lg9b + + - example: replace `strcasecmp()` with C89 `strcmp()`. + + To avoid using CMake symbol checks in `example`. + + Another option is to duplicate the `check_symbol_exists()` workaround + from `src`, but I figure it's not worth the complexity. We use + `strcasecmp()` solely to check optional command-line options for + example programs, and those are fine as lower-case. + + Without this, these detections fail when `ENABLE_WERROR=ON`. + + - also delete `__function__` detection/use in `example`. + + To avoid the complexity for the sake of using it at a single place in + of the example's error branch. Replace that use with a literal name of + the function. + + - cmake: also use `CMakePushCheckState` functions instead of manual + save/restore. + + Closes #857 + +- build: improve a test build workaround with bcrypt + + - cmake: extend workaround for linking a test with shared libssh2. + + One of the tests uses internal libssh2 functions, and with CMake it + compiles `src/misc.c` directly for this. `misc.c` references bcrypt / + blowfish code. This needs a workaround for build configs where libssh2 + doesn't export these. + + Before this patch, we enabled this workaround for MSVC. + + In the patch we extend this to all Windows. There is no CI test for + this, but gcc and llvm/clang + mingw64 builds also need it. This may + well apply to other configurations (it should, as shared libs are not + supposed to export internal functions), so also make it easy to enable + it at a single point. + + [ autotools builds force-link this one test against static libssh2. ] + + - make `misc.c` not depend on bcrypt. + + By moving out our `bcrypt_pbkdf()` wrapper into `bcrypt_pbkdf.c` + itself. + + This allows to compile `misc.c` into tests without pulling in bcrypt / + blowfish functions, and simplify the above workaround. + + Source code uses `HAVE_BCRYPT_PBKDF`, a leftover from original bcrypt + source. We never define this inside libssh2. Defining it breaks the + build, and this patch doesn't change that. + + - make `bcrypt_pbkdf()` static. + + While here, make the low-level `bcrypt_pbkdf()` function static to + avoid namespace pollution. + + Closes #855 + +GitHub (17 Mar 2023) +- [Viktor Szakats brought this change] + + ci: more timeout adjustments (#853) + + - add timeout to SSH connection wait loop in AppVeyor test prep. + (2 minutes) + + - switch to per-step timeout for GitHub CI cmake/ctest runs. + (10 minutes) + + ctest timeout (of 450 seconds) didn't seem to make any difference. + +Viktor Szakats (17 Mar 2023) +- ci: set timeout to ctest and GitHub CI jobs + + - `ctest` shows a the default timeout '10000000' (turns out to be + in seconds), cause infinite waits e.g. in case the necessary server + worker is not available. + + CMake CI tests take approx: + - GitHub / Linux : 125 seconds + - AppVeyor / Windows: 300 seconds + + New timeouts are: 450 and 900 seconds respectively. + + - set timeouts for style-check, fuzz, Linux and Windows GitHub CI + jobs to avoid hanging forever. + + Also: + + - move `choco install` to before_test to make builds start faster + in `appveyor.yml`. + + - fix some yamllint `ON`/`OFF`-confusion issue by quoting these + values in `appveyor.yml`. + + - fix indentation in `appveyor.yml`. + + - convert to GitHub workflows to LF line-ending. + + Ref: https://github.com/libssh2/libssh2/pull/655#issuecomment-1472853493 + + Closes #851 + +GitHub (17 Mar 2023) +- [Viktor Szakats brought this change] + + ci: update mbedTLS repo URL, delete Travis CI (#850) + + Last Travis CI session run on 2021-11-18. + + Ref: https://app.travis-ci.com/github/libssh2/libssh2 + Ref: https://travis-ci.org/github/libssh2/libssh2/builds + +- [Viktor Szakats brought this change] + + appveyor.yml: reorder tests to return relevant feedback earlier (#849) + + - build x64 first + + x64 is the more interesting target. Most type conversion issues are + revealed here. Also more commonly used by now. + + - test VS 2013 earlier + + - test WinCNG earlier + + - delete reference to no longer used VS 2008 + + After this patch we end up starting with all Shared builds (2015, 2013, + OpenSSL, WinCNG), then continue with Static ones. Shared/Static makes + a minor if any difference in builds/tests compared to different VS + versions of TLS backends. + + -- + + CI run times: + + Preparation + build takes: + 8 x VS2015 4.5 mins -> total: 36 + 8 x VS2013 2 mins -> total: 16 + Total: 52 mins + + with our 30 tests, it increases to: + 8 x VS2015 8-10 mins -> total: 72 + 8 x VS2013 6- 9 mins -> total: 60 + Total: 132 mins + + Without tests: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46475315 + With tests: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46480549 + +Dan Fandrich (14 Mar 2023) +- src: check for NULL pointer passed to _libssh2_get_string + + Callers should be protecting against this, but it's prudent to check + here anyway. + + Fixes #802 + Closes #848 + +Viktor Szakats (14 Mar 2023) +- appveyor.yml: choco install improvements [ci skip] + + - avoid outputting 4000 log lines by hiding the progress bar. + Reduces log size by 5x. + + - decrease timeout (from the default 2700 seconds). + + - omit unnecessary output. + + Tested as part of #846 + +GitHub (14 Mar 2023) +- [Jakob Egger brought this change] + + build: update instructions for autoreconf (#847) + + The "convenience script" talks about the "buildconf" file, + which is no longer recommended. + +- [Viktor Szakats brought this change] + + win32: set HAVE_STRTOLL with MSVS 2013 and newer (#845) + + As in curl: + https://github.com/curl/curl/blob/7fa6e36583b52dd8f1e639b370c9a2849be81b54/lib/config-win32.h#L221 + +- [Viktor Szakats brought this change] + + GNUmakefile: move HAVE_STRTOLL to libssh2_config.h [ci skip] (#844) + +- [Viktor Szakats brought this change] + + src: silence unused variable warnings (#843) + +Viktor Szakats (13 Mar 2023) +- GNUmakefile: add wolfSSL support + major rework + + - add wolfSSL support. + - reduce size and redundant logic. + - fix a bunch of small issues. + - rework configuration, now with: `CC`, `AR`, `RC`, `TRIPLET`, `CFLAGS`, + `CPPFLAGS`, `LDFLAGS`, `RCFLAGS`, `LIBS`, `LIBSSH2_DLL_SUFFIX`, + `LIBSSH2_LDFLAGS_LIB`, `LIBSSH2_LDFLAGS_BIN` (and more). + - merge examples build into the main Makefile. + - relative dependency paths are now the same for building libssh2 or + examples. + - drop detection for obsolete OpenSSL versions (can be configure via new + `OPENSSL_LIBS`). + - merge dev/dist distribution zip options. + - build libssh2 with `-DHAVE_STRTOLL`. + - tidy-up. + - build examples in static mode by default (use `DYN` to build them in + shared mode). + - drop forced (in non-debug mode) `-O2`. + - drop Win9x support. + - deprecate `ARCH` in favour of custom options and `TRIPLET`. + - drop Windows resources from examples for simplicity + - drop `WITH_ZLIB`. Default `ZLIB_PATH` to enable zlib support. + - drop `LIBSSH2_DLL_A_SUFFIX`, use standard value `.dll` (as in + `libssh2.dll.a`). + - always link `bcrypt` (for LibreSSL and OpenSSL) and `crypt32` + (for wolfSSL). + - unhide executed build commands. + - fix mbedTLS `lib` path + - drop specific options to force static linking. Custom options seems + a better way for this. + - based on similar work made for curl: + https://github.com/curl/curl/commit/a8861b6ccdd7ca35b6115588a578e36d765c9e38 + + Closes #842 + +GitHub (13 Mar 2023) +- [Viktor Szakats brought this change] + + wincng: fix memory leak in libssh2_dh_key_pair() (#829) + + Fixes #722 + +- [Viktor Szakats brought this change] + + src: C89-compliant _libssh2_debug() macro (#831) + + Before this patch, with debug logging disabled, libssh2 code used a + variadic macro to catch `_libssh2_debug()` calls, and convert them to + no-ops. In certain conditions, it used an empty inline function instead. + + Variadic macro is a C99 feature. It means that depending on compiler, + and build settings, it littered the build log with warnings about this. + + The new solution uses the trick of passing the variable arg list as a + single argument and pass that down to the debug function with a regular + macro. When disabled, another regular C89-compatible macro converts it + to a no-op. + + This makes inlining, C99 variadic macros and maintaining the conditions + for each unnecessary and also makes the codebase compile more + consistently, e.g. with forced C standards and/or picky warnings. + + TL;DR: It makes this feature C89-compliant. + +- [Viktor Szakats brought this change] + + openssl: fix possible compiler warning in macro condition (#839) + + Building with wolfSSL or pre-OpenSSL v1.1.1 triggered it. + + ``` + ../src/openssl.h:130:5: warning: 'LIBRESSL_VERSION_NUMBER' is not defined, evaluates to 0 [-Wundef] + LIBRESSL_VERSION_NUMBER >= 0x3070000fL + ^ + ``` + + Regression from 2e2812dde8c1fc9b48eca592823770ab2e601f7a + +- [Viktor Szakats brought this change] + + GNUmakefile: cleanups [ci skip] (#840) + + - indent + - sync `test/GNUmakefile` with main + - delete `RANLIB` + - use `else if` + - use more `?=` + - use ASCII-7 copyright symbol (in test) + +- [Viktor Szakats brought this change] + + win32: convert tabs to spaces [ci skip] (#838) + + Also strip stray newlines from `win32/rules.mk`. + +- [Viktor Szakats brought this change] + + ci: retry choco install on appveyor (#837) + + Trying to mitigate occasional intermittent failures while installing + docker. + + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46460704/job/g3t7bro6ta6n3pk6#L52 + +- [Viktor Szakats brought this change] + + cmake: drop unnecessary exception for warmup build (#835) + +- [Viktor Szakats brought this change] + + cmake: reflect minimum version in docs (#834) + + Follow-up to 505ea626b6e125b7ce15caf453b522192008a884 + +- [Viktor Szakats brought this change] + + cmake: add wolfSSL support to tests (#833) + + wolfSSL supports building with zlib as a dependency, that's the reason + for the ZLIB logic in the patch. + + Also add it to `docs/INSTALL_CMAKE.md` and to the help text in + `src/CMakeLists.txt`. + + Running tests not actually tested. + + Follow-up to 9f217a17f6f3c2047c4a1668a5c037a75a02abfd + + Ref: #817 + +- [Viktor Szakats brought this change] + + tests: workaround for intermittent first test failures (#832) + + Flakiness got continously worse these last days. It didn't seem related + to recent commits. Flakiness also picked up in GitHub CI runs, something + rarely seen before. Manual restart consistently fixed them. + + The repeating pattern was the _first_ test (`test_hostkey`) failing, + with `libssh2_session_handshake failed (-13): Failed getting banner`. + Failures came after a lengthy wait, suggesting a timeout. + + I then reversed the order of the first two tests, and it turned out that + the _first_ test failed again (`test_hostkey_hash`). Also pointing to a + timeout issue. + + Then I added a dummy test to "warm up" whatever needs warming up in the + layers of CI + Docker + ssh server and their interconnects. This helped, + and GitHub CI tests run without failure right for the first time. + AppVeyor CI also improved a little. + + This patch adds a new first test called `test_warmup`, that creates a + new libssh2 session, and exits with success even if that attempt failed. + + A stop-gap solution at best, and there is no guarantee it will continue + to fix this or similar future issues, but it's also untenable to have + almost every CI run fail for intermittent reasons. + + In some [1] cases [2] it's not the first test failing intermittently. + That's a different issue, and this patch doesn't fix it. + + [1] #804 + [2] https://ci.appveyor.com/project/libssh2org/libssh2/builds/46440828/job/8rej6cq6itg7vc4w#L500 + +- [Viktor Szakats brought this change] + + cmake: detect HAVE_SNPRINTF for tests (#830) + + Turns out `test_keyboard_interactive_auth_info_request.c` requires + `src/libssh2_priv.h`, which in turn requires a correctly set + `HAVE_SNPRINTF`. + + Follow-up to 4cdf785cd313c3272d04c2ef7458a35d44533d8b. + +- [Viktor Szakats brought this change] + + cmake: unset forced CMAKE_C_STANDARD 90 (#822) + + Added in cf80f2f4b5255cc85a04ee43b27a29c678c1edb1 (on 2016-08-14), + with the title "Basic dockerised test suite". + + It's not clear why a C standard was explicitly set, but a side-effect + of this is that CMake-built binaries diverged from ones built with + autotools or GNU Make (using the same compiler and configuration). + + Another issue is that this may introduce ABI incompatibility with + binaries built with a different C standard flag, e.g. the C compiler + default or one used for other components of a final app. + + Seems unlikely, but if our tests require this option, we should set it + for the CI builds only? + +- [Viktor Szakats brought this change] + + example: silence MSVS 2013 C4127 warnings (#828) + +- [Viktor Szakats brought this change] + + cmake: reposition ws2_32 to make binutils ld work again (#827) + + This restores socket libs to their pre-regression positions. + + Without this, `ld` doesn't find `ws2_32` symbols when referenced + from TLS libs. + + Regression from 31fb8860dbaae3e0b7d38f2a647ee527b4b2a95f + +- [Viktor Szakats brought this change] + + fix compiling with LIBSSH2_NO_CLEAR_MEMORY and OpenSSL (#825) + + Regression from a0e424a51c27cc27af611ba20d134f9a9ae35273 + + Fixes #824 + +- [Viktor Szakats brought this change] + + snprintf: add missing prototype for local replacement (#820) + + Should fix these warnings with MSVS 2013 and older: + `agent.c(294): warning C4013: '_libssh2_snprintf' undefined; assuming extern returning int` + + Follow-up to 4cdf785cd313c3272d04c2ef7458a35d44533d8b. + +- [Viktor Szakats brought this change] + + build: set _FILE_OFFSET_BITS=64 for mingw-w64 (#821) + + autotools builds already did auto-detect and set this mingw-specific + macro, but CMake and GNU Make builds did not. This patch fixes that. + + Necessary for `src/scp.c`. + +- [Viktor Szakats brought this change] + + cmake: add os400qc3.c to SOURCES (#826) + + This re-syncs the list of compiled objects in cmake builds with + non-cmake builds. + + Follow-up to 16619a8eddec35bb8582d1c334db0fc13b0817c4. + +- [Viktor Szakats brought this change] + + build: silence bogus C4127 warnings with MSVS 2013 and earlier (#819) + + E.g.: + `channel.c(370): warning C4127: conditional expression is constant` + Ref: + https://ci.appveyor.com/project/libssh2org/libssh2/builds/46437333/job/5rak1vcl9hue31ei#L190 + +- [Viktor Szakats brought this change] + + cmake: use only needed socket libs when checking non-blocking sockets (#816) + + Based on patch by Christian Beier. + + Fixes #694 + Closes #712 + +- [Viktor Szakats brought this change] + + cmake: update openssl dll list (#818) + + Add OpenSSL 3 and versionless DLL names. Also modernize warning messages + and variable names. + + Do we need the OpenSSL-Windows-specific check and the related + `RUNTIME_DEPENDENCIES` feature? The list of OpenSSL DLLs was out of date + for 1.5 years without anybody noticing. Keeping it fresh is a chore and + copying around DLL dependencies rarely helps as much as expected. This + check also results in unuseful warnings in certain build scenarios, e.g. + when linking to OpenSSL statically. + +- [Viktor Szakats brought this change] + + cmake: add wolfSSL support (#817) + + Implement wolfSSL support for libssh2 when building with CMake. + + Configuration example from curl-for-win: + ``` + -DCRYPTO_BACKEND=wolfSSL + -DWOLFSSL_LIBRARY=/path-to/wolfssl/lib/libwolfssl.a + -DWOLFSSL_INCLUDE_DIR=/path-to/wolfssl/include + ``` + + Module `cmake/Findwolfssl.cmake` copied from: + https://github.com/ngtcp2/ngtcp2/blob/e4d920c4b7a350d63b6978c68b216b76faa12635/cmake/Findwolfssl.cmake + via commit: + https://github.com/ngtcp2/ngtcp2/commit/296396d3730b721ad97f9de22f525400f8524c0e + by Stefan Eissing + +- [Viktor Szakats brought this change] + + cmake: restore non-Windows socket lib detection (#815) + + I mistakenly pruned some non-Windows logic, also missing the fact that + our local `check_function_exists_may_need_library()` set the `NEED_*` + variables. Oddly, only `src` imported this function, yet also `examples` + and `tests` called it indirectly. The referenced `HAVE_SOCKET` / + `HAVE_INET_ADDR` variables might be coming from an upstream CMake + project? Leaving those there also, just in case. + + Regression from 31fb8860dbaae3e0b7d38f2a647ee527b4b2a95f + +Viktor Szakats (7 Mar 2023) +- build: more fixes and tidy-up (mostly for Windows) + + - cmake: always link `ws2_32` on Windows. Also add it to `libssh2.pc`. + + Fixes #745 + + - agent: fix gcc compiler warning: + `src/agent.c:296:35: warning: 'snprintf' output truncated before the last format character [-Wformat-truncation=]` + + - autotools: fix `EVP_aes_128_ctr` detection with binutils `ld` + + The prerequisite for a successful detection is setting + `LIBS=-lbcrypt` if the chosen openssl-compatible library requires + it, e.g. libressl, or quictls/openssl built with + `-DUSE_BCRYPTGENRANDOM`. + + With llvm `lld`, detection works out of the box. With binutils `ld`, + it does not. The reason is `ld`s world-famous pickiness with lib + order. + + To fix it, we pass all custom libs before and after the TLS libs. + This ugly hack makes `ld` happy and detection succeed. + + - agent: fix Windows-specific warning: + `src/agent.c:318:10: warning: implicit conversion loses integer precision: 'LRESULT' (aka 'long long') to 'int' [-Wshorten-64-to-32]` + + - src: fix llvm/clang compiler warning: + `src/libssh2_priv.h:987:28: warning: variadic macros are a C99 feature [-Wvariadic-macros]` + + - src: support `inline` with `__GNUC__` (llvm/clang and gcc), fixing: + ``` + src/libssh2_priv.h:990:8: warning: extension used [-Wlanguage-extension-token] + static inline void + ^ + ``` + + - blowfish: support `inline` keyword with MSVC. + + Also switch to `__inline__` (from `__inline`) for `__GNUC__`: + https://gcc.gnu.org/onlinedocs/gcc/Inline.html + https://clang.llvm.org/docs/UsersManual.html#differences-between-various-standard-modes + + - example/test: fix MSVC compiler warnings: + + - `example\direct_tcpip.c(209): warning C4244: 'function': conversion from 'unsigned int' to 'u_short', possible loss of data` + - `tests\session_fixture.c(96): warning C4013: 'getcwd' undefined; assuming extern returning int` + - `tests\session_fixture.c(100): warning C4013: 'chdir' undefined; assuming extern returning int` + + - delete unused macros: + - `HAVE_SOCKET` + - `HAVE_INET_ADDR` + - `NEED_LIB_NSL` + - `NEED_LIB_SOCKET` + - `HAVE_NTSTATUS_H` + - `HAVE_NTDEF_H` + + - build: delete stale zlib/openssl version numbers from path defaults. + + - cmake: convert tabs to spaces, add newline at EOFs. + + Closes #811 + +- cmake: make `test_read` runs cross-build-friendly + + Improve tests added in 7487dcf4b4ddae54b2a850737789b57b4251b0ae by + running `test_read` commands directly. This makes external shell/batch + files unnecessary, and is friendlier with cross-builds and when run + from non-default shells, like MSYS2. + + Also extend CRYPT/MAC test error messages with the CRYPT/MAC name. + + External runner shell scripts kept for future use. + + Closes #814 + +- src: enable clear memory on all platforms + + - convert `_libssh2_explicit_zero()` to macro. This allows inlining + where supported (e.g. `SecureZeroMemory()`). + + - replace `SecureZeroMemory()` (in `wincng.c`) and + `LIBSSH2_CLEAR_MEMORY`-guarded `memset()` (in `os400qc3.c`) with + `_libssh2_explicit_zero()` macro. + + - delete `LIBSSH2_CLEAR_MEMORY` guards, which enables secure-zeroing + universally. + + - add `LIBSSH2_NO_CLEAR_MEMORY` option to disable secure-zeroing. + + - while here, delete double/triple inclusion of `misc.h`. + `libssh2_priv.h` included it already. + + Closes #810 + +- cmake: bump minimum version to 3.1 (from 2.8.12) + + This allows to delete some fallback code. + + CMake release dates: + - 2014-12-15: 3.1 + - 2013-10-07: 2.8.12 + + Closes #813 + +- snprintf: unify fallback logic + + Before this patch, the `snprintf()` fallback logic for envs not + supporting this function (i.e. Visual Studio 2013 and older) varied + depending on build tool, and used different techniques in examples, + tests and libssh2 itself. + + This patch aims to apply a common logic to libssh2 and examples/tests. + + - libssh2: use local `snprintf()` fallback with all build tools. + + We already had a local implementation, but only with CMake. Move that + to the library as `_libssh2_snprintf()`, and map `snprintf()` to it + when `HAVE_SNPRINTF` is not set. + + Also change the length type from `int` to `size_t`, and fix + formatting. + + - set or detect `HAVE_SNPRINTF` in non-CMake builds. + + Detect in autotools. Keep existing logic in `win32/libssh2_config.h`. + Always set for OS/400, NetWare and VMS, keeping existing behaviour. + (OS/400 builds use a different local implementation) + + - examples/tests: drop the CMake-specific fallback logic and map + `snprintf()` to `_snprintf()` for old MSVC versions, like we did + before with other build tools. This is unsafe, but should be fine for + these uses. + + - `win32/libssh2_config.h`: make it easier to read. + + Closes #812 + +- cmake: build fixes with OpenSSL/LibreSSL on Windows + + - Link `bcrypt` for newer (non-fork) OpenSSL. + + - Link `bcrypt` and `ws2_32` when using (non-fork) OpenSSL or LibreSSL, + to allow `Looking for EVP_aes_128_ctr` detecting this feature. + + With the feature available, but not found by CMake, build failed with: + `openssl.c:636:21: error: incompatible integer to pointer conversion assigning to 'EVP_CIPHER *' (aka 'struct evp_cipher_st *') from 'int' [-Wint-conversion]` + + Closes #809 + +- build fixes and improvements (mostly for Windows) + + - in `hostkey.c` check the result of `libssh2_sha256_init()` and + `libssh2_sha512_init()` calls. This avoid the warning that we're + ignoring the return values. + + - fix code using `int` (or `SOCKET`) for sockets. Use libssh2's + dedicated `libssh2_socket_t` and `LIBSSH2_INVALID_SOCKET` instead. + + - fix compiler warnings due to `STATUS_*` macro redefinitions between + `ntstatus.h` / `winnt.h`. Solve it by manually defining the single + `STATUS` value we need from `ntstatus.h` and stop including the whole + header. + Fixes #733 + + - improve Windows UWP/WinRT builds by detecting it with code copied + from the curl project. Then excluding problematic libssh2 parts + according to PR by Dmitry Kostjučenko. + Fixes #734 + + - always use `SecureZeroMemory()` on Windows. + + We can tweak this if not found or not inlined by a C compiler which + we otherwise support. Same if it causes issues with UWP apps. + + Ref: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366877(v=vs.85) + Ref: https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlsecurezeromemory + + - always enable `LIBSSH2_CLEAR_MEMORY` on Windows. CMake and + curl-for-win builds already did that. Delete `SecureZeroMemory()` + detection from autotools' WinCNG backend logic, that this + setting used to depend on. + + TODO: Enable it for all platforms in a separate PR. + TODO: For clearing buffers in WinCNG, call `_libssh2_explicit_zero()`, + insead of a local function or explicit `SecureZeroMemory()`. + + - Makefile.inc: move `os400qc3.h` to `HEADERS`. This fixes + compilation on non-unixy platforms. Recent regression. + + - `libssh2.rc`: replace copyright with plain ASCII, as in curl. + + Ref: curl/curl@1ca62bb + Ref: curl/curl#7765 + Ref: curl/curl#7776 + + - CMake fixes and improvements: + + - enable warnings with llvm/clang. + - enable more comprehensive warnings with gcc and llvm/clang. + Logic copied from curl: + https://github.com/curl/curl/blob/233810bb5f6c5e7bedfc10bdd36607b958c0cfe4/CMakeLists.txt#L131-L148 + - fix `Policy CMP0080` CMake warning by deleting that reference. + - add `ENABLE_WERROR` (default: `OFF`) option. Ported from curl. + - add `PICKY_COMPILER` (default: `ON`) option, as known from curl. + + It controls both the newly added picky warnings for llvm/clang and + gcc, and also the pre-existing ones for MSVC. + + - `win32/GNUmakefile` fixes and improvements: + + - delete `_AMD64_` and add missing `-m64` for x64 builds under test. + - add support for `ARCH=custom`. + It disables hardcoded Intel 64-bit and Intel 32-bit options, + allowing ARM64 builds. + - add support for `LIBSSH2_RCFLAG_EXTRAS`. + To pass custom options to windres, e.g. in ARM64 builds. + - add support for `LIBSSH2_RC`. To override `windres`. + - delete support for Metrowerks C. Last released in 2004. + + - `win32/libssh2_config.h`: delete unnecessary socket #includes + + `src/libssh2_priv.h` includes `winsock2.h` and `ws2tcpip.h` further + down the line, triggered by `HAVE_WINSOCK2_H`. + + `mswsock.h` does not seem to be necessary anymore. + + Double-including these (before `windows.h`) caused compiler failures + when building against BoringSSL and warnings with LibreSSL. We could + work this around by passing `-DNOCRYPT`. Deleting the duplicates + fixes these issues. + + Timeline: + 2013: c910cd382dfa07fed2adaabf688af9e4a084fa1d deleted `mswsock.h` from `src/libssh2_priv.h` + 2008: 8c43bc52b1e3de2c8fc7899a80aec0e98de4e2d8 added `winsock2.h` and `ws2tcpip.h` to `src/libssh2_priv.h` + 2005: dc4bb1af967d2c53e90349f2f37324c622e714f5 added the now deleted #includes + + - delete or replace `LIBSSH2_WIN32` with `WIN32`. + + - replace hand-rolled `HAVE_WINDOWS_H` macro with `WIN32`. Also delete + its detections/definitions. + + - delete unused `LIBSSH2_DARWIN` macro. + + - delete unused `writev()` Windows implementation + + There is no reference to `writev()` since 2007-02-02, commit + 9d55db6501aa4e21f0858cf36cdc2ddc11b96e83. + + - fix a bunch of MSVC / llvm/clang / gcc compiler warnings: + + - `warning C4100: '...': unreferenced formal parameter` + - using value of undefined PP macro `LIBSSH2DEBUG` + - missing void from function definition + - `if()` block missing in non-debug builds + - unreferenced variable in non-debug builds + - `warning: must specify at least one argument for '...' parameter of variadic macro [-Wgnu-zero-variadic-macro-arguments]` + in `_libssh2_debug()` + - `warning C4295: 'ciphertext' : array is too small to include a terminating null character` + - `warning C4706: assignment within conditional expression` + - `warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or + define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings` + By suppressning it. Would be best to use inet_pton() as suggested. + On Windows this needs Vista though. + - `warning C4152: nonstandard extension, function/data pointer conversion in expression` + (silenced locally) + - `warning C4068: unknown pragma` + + Ref: https://ci.appveyor.com/project/libssh2org/libssh2/builds/46354480/job/j7d0m34qgq8rag5w + + Closes #808 + +Dan Fandrich (1 Mar 2023) +- Add tests to check individual crypt & HMAC methods + + One specific crypt or hmac method is requested to be negotiated, then + several MB of data is transferred. + +- Add test to read lots of data over a channel + + Connects to the ssh server then downloads several MB of data. This + tests the data transfer path as well as boundary cases in packet + handling as data is split into smaller SSH blocks. + +GitHub (27 Feb 2023) +- [Will Cosgrove brought this change] + + Disable deprecated warnings for OpenSSL 3 #805 (#806) + + Disable deprecated warnings (for now) when building against OpenSSL 3 for a clean build. + + Reported: + Daniel Stenberg + +Dan Fandrich (24 Feb 2023) +- Fix a couple of warnings of errors in MSVC builds + + Two warnings (in tests & examples) in particular would cause problems: + bad format causing invalid data output or a bad chdir due to out of + scope buffer use. + +- tests: Support running tests in out-of-tree builds + + Various files are found by referencing the srcdir environment variable + in that case. + + Closes #801 + +- Improve the ssh2 example program to run a command + + This performs better as an example since it shows more working code, and + in the simplest possible way. It also turns the program into an actually + useful tool out of the box, able to run an arbitrary command (with one + restriction) on a remote machine and return the response, without + needing to touch the source. + + Closes #800 + +GitHub (14 Feb 2023) +- [Will Cosgrove brought this change] + + Add NULL session check to _libssh2_error_flags() (#796) + + Don't dereference null if a null session happens to make it into _libssh2_error_flags() + +Dan Fandrich (7 Feb 2023) +- Reorder AES crypt methods so stronger ones are first + + This make it more likely that a stronger one will be negotiated rather + than a weaker variant. + +- CI: update uses: dependencies to the latest versions + + We were seeing some deprecation warning messages on some of the older + ones. + +- transport.c: Add some comments + +- Add missing files to automake makefiles & build tests + + Many files have been added to the cmake build files but not the automake + ones in recent years. Missing ones have been added so automake "make + dist" will now create a usable tar ball. + + The integration tests using Docker are now built with automake as well + (with "make check"). They are not run yet since they aren't working yet + on Linux. + +- tests: Fix gcc compile warnings + + These were mostly due to missing and non-ANSI prototypes. + +- Enable trace debugging in example/ssh2 + + This is intended to be a test program, so debugging is likely to be + useful by default. + +- Improve example/ssh2 to allow unmodified use of public key auth + + The previous hard-coded key file paths were not valid for normal users. + Make the paths relative to the user's home directory instead so they + can work out of the box. Add a banner showing what connection will be + attempted to make it easier for the user to see what is being attempted. + Enable trace debugging since this is designed as a test program. + +GitHub (13 Dec 2022) +- [Viktor Szakats brought this change] + + openssl.h: enable ed25519 for LibreSSL 3.7.0 (#778) + + This brings LibreSSL libssh2 builds on par with OpenSSL. + +Dan Fandrich (5 Dec 2022) +- configure.ac: check for sys/param.h + + This file is required by glibc for the test suite. + +GitHub (12 Nov 2022) +- [Viktor Szakats brought this change] + + tests: add option to run tests without docker (#762) + + via `export OPENSSH_NO_DOCKER=1`. + + SSH server host can be set via: + `export OPENSSH_SERVER_HOST=127.0.0.1` + + SSH server port via existing: + `export OPENSSH_SERVER_PORT=4711` + + This requires more work to be usable out of the box. The necessery sshd + config is (partly) embedded into `tests/openssh_server/Dockerfile`. + + After this patch, it is possible to run tests in envs where docker is + not installed or not available, by running a preconfigured, + non-containerized sshd. + +- [Michael Buckley brought this change] + + Skip leading \r and \n characters in banner_receive() (#769) + + Fixes #768 + + Credit: + Michael Buckley + +- [Zenju brought this change] + + Fixed error handling of _libssh2_packet_requirev callers (#767) + + Notes: + + some callers of _libssh2_packet_requirev() fail to set _libssh2_error(). + This creates the situation where e.g. libssh2_session_handshake() fails, but libssh2_session_last_error() confusingly returns LIBSSH2_ERROR_NONE. + + Credit: + Zenju + +- [Will Cosgrove brought this change] + + Revert usage of EVP_CipherUpdate #764 #739 (#765) + + Revert usage of EVP_CipherUpdate from wolfSSL PR to fix #764 #739. + +- [Will Cosgrove brought this change] + + Fix regression with rsa_sha2_verify #758 (#763) + + Fixes comparison with the result value coming from `mbedtls_rsa_pkcs1_verify`. Success is 0, not 1. + +Marc Hoersken (24 Oct 2022) +- CI: fix AppVeyor status failing for starting jobs + +Viktor Szakats (24 Oct 2022) +- delete cast5 - null-cipher mapping + +- more feature guard cleanup + +- indent + +- formatting + +- fold long lines + +- cleanup + +- temporarily silence checksrc + +- add mbedTLS 3.x support + + Make libssh2 compile cleanly with mbedTLS 3.x and later. + + This patch makes use of `MBEDTLS_PRIVATE()`, which is not the + recommended, future-proof way to access mbedTLS data structures. This + method may break with a minor upgrade, according to the authors. This + is also the method used by libcurl. + + Also: + + - Fix a potentially uninitialized variable in + `libssh2_mbedtls_rsa_sha2_sign()`. This happened in an error path, + resulting in an unnecessary mbedTLS API call, with an uninitialized + `md_type`. + + - Bump mbedTLS version used in CI tests to 3.2.1. + + Fixes #751 + +- tests: add option to enable all trace messages in fixture + + via `export FIXTURE_TRACE_ALL=1`. + +- win32/GNUmakefile: add mbedTLS support + + via `export MBEDTLS_PATH=`. + +Marc Hoersken (21 Oct 2022) +- CI: fix AppVeyor job links only working for most recent build + + Ref: https://github.com/curl/curl/pull/9768#issuecomment-1286675916 + Reported-by: Daniel Stenberg + + Follow up to #754 + +- CI: add missing permission section to AppVeyor status workflow + + Follow up to #754 + +- Remove OSSFuzz integration which was replaced with CIFuzz (#756) + + Confirmed-by: Max Dymond + +- Rename workflow file appveyor.yml to appveyor_docker.yml + +- Streamline names of CI workflow jobs + +- [Jeroen Ooms brought this change] + + Add CI for mingw-w64 via msys2 (#742) + + Credit: Jeroen Ooms + +- CI: report AppVeyor build status for each job (#754) + + Also give each job on AppVeyor CI a human-readable name. + + This aims to make job and therefore build failures more visible. + +GitHub (29 Sep 2022) +- [Michael Buckley brought this change] + + Support for sk-ecdsa-sha2-nistp256 and sk-ssh-ed25519 keys, FIDO (#698) + + Notes: + Add support for sk-ecdsa-sha2-nistp256@openssh.com and sk-ssh-ed25519@openssh.com key exchange for FIDO auth using the OpenSSL backend. Stub API for other backends. + + Credit: + Michael Buckley + +- [Y. Yang brought this change] + + Fix DLL import library name (#711) + + Notes: + Fix DLL import library name + + https://aur.archlinux.org/packages/mingw-w64-libssh2 + https://cmake.org/cmake/help/latest/prop_tgt/IMPORT_PREFIX.html + + Credit: + metab0t + Y. Yang + +- [skundu07 brought this change] + + Add RSA-SHA2 support for the WinCNG backend (#736) + + Notes: + Added code to support RSA-SHA2 for WinCNG backend. + + Credit: + skundu07 + +- [Gabriel Smith brought this change] + + sftp: Prevent files from being skipped if the output buffer is too small (#746) + + Notes: + LIBSSH2_ERROR_BUFFER_TOO_SMALL is returned if the buffer is too small + to contain a returned directory entry. On this condition we jump to the + label `end`. At this point the number of names left is decremented + despite no name being returned. + + As suggested in #714, this commit moves the error label after the + decrement of `names_left`. + + Fixes #714 + + Credit: + Co-authored-by: Gabriel Smith + +- [bgermann brought this change] + + Drop advertisement clause on Blowfish (#747) + + Originally driven by https://github.com/pyca/bcrypt/issues/169, OpenBSD + removed Niels Provos's BSD advertisement clause in version 7.1: + + https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/lib/libsa/blowfish.c.diff?r1=1.1&r2=1.2 + https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/lib/libsa/blowfish.h.diff?r1=1.1&r2=1.2 + + This enables using libssh2 in GPL software. + +- [zhaochongliu brought this change] + + Support building with gcc < version 8 + + Files: CMakeLists.txt + + Notes: don't use gcc arguments that don't exist in gcc versions lower than 8 if building with older gcc. + + Credit: + zhaochongliu + +- [Miguel de Icaza brought this change] + + Document the obscure LIBSSH2_ERROR_BAD_USE when writing to a channel (#713) + + Document the obscure LIBSSH2_ERROR_BAD_USE when writing to a channel + + Credit: + Miguel de Icaza + +- [Michael Buckley brought this change] + + Don't erroneously log SSH_MSG_REQUEST_FAILURE packets from keepalive (#727) + + Notes: + When setting a ServerAliveInterval using libssh2_keepalive_config() with want_reply set to true, some servers will reply to the keep-alive requests with a single SSH_MSG_REQUEST_FAILURE packet. This is an allowed behavior in RFC 4254, section 4. + + Credit: + Michael Buckley + +- [Ryan Kelley brought this change] + + Updating docs for libssh2_channel_flush_ex (#728) + + Notes: + In #614 it was identified the docs do not accurately show how libssh2_channel_flush_ex() return value is set. I have updated the doc's to correctly show what the function is returning. + + Credit: + Ryan Kelley + +- [Sandeep Bansal brought this change] + + Support RSA certificate authentication (#710) + + * Adding support for signed RSA keys and unit test + + Credit: + Sandeep Bansal + +Viktor Szakats (2 Jul 2022) +- configure: add --disable-tests option + +- cmake: do not add libssh2.rc to the static library + +GitHub (23 May 2022) +- [AyushiN brought this change] + + Fixed typo #697 (#701) + + Credit: + AyushiN + +- [Viktor Szakats brought this change] + + Openssl: add support for LibreSSL 3.5.x (#700) + + LibreSSL 3.5.0 made more structures opaque, so let's enable existing + support for that when building against these LibreSSL versions. + + Ref: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.5.0-relnotes.txt + + Credit: + Viktor Szakats + +- [Michael Buckley brought this change] + + Ensure KEX replies don't include extra bytes (#696) + + Addresses #695 + + Credit: + Michael Buckley, reported by Harry Sintonen + +- [Zenju brought this change] + + Fix buffer overflow during SSH_MSG_USERAUTH_BANNER (#693) + + File: userauth.c + Notes: + This patch fixes application crashes due to heap corruption. Turns out the null terminator is written one byte outside of the allocated area. + Credit: + Zenju + +- [Will Cosgrove brought this change] + + Changed NULL check to avoid logic change + +- [Will Cosgrove brought this change] + + NULL check before calling session_handshake + +- [Harry Sintonen brought this change] + + Fix build since openssl 1.1.0 when ECDSA and/or RIPEMD are disabled (#666) + + File: openssl.h + + Notes: + In openssl 1.1.0 and later openssl decided to change some of the defines used to check if certain features are not compiled in the libraries. This updates the define checks. + + Credit: + Harry Sintonen + Co-authored-by: Harry Sintonen + +- [gbaraldi brought this change] + + Add RSA-SHA2 support for the mbedtls backend (#688) + + File: mbedtls.c + + Notes: + * Add sha2 support for RSA key upgrading to mbedTLS backend + + Credit: + gbaraldi + +Daniel Stenberg (21 Mar 2022) +- misc/libssh2_copy_string: avoid malloc zero bytes + + Avoids the inconsistent malloc return code for malloc(0) + + Closes #686 + +Marc Hoersken (17 Mar 2022) +- wincng: rename struct field referring to the DH private big number + + Closes #684 + +- tests/openssh_fixture.c: print command after variable expansion + +- CI: store and reuse OpenSSH Server docker image used for tests + + Supersedes #588 + Fixes #665 + Closes #685 + +GitHub (26 Feb 2022) +- [Will Cosgrove brought this change] + + Added LibreSSL to crypto backend list + +- [Will Cosgrove brought this change] + + Added crypto backend list to template + + Added OS version as well + +- [Will Cosgrove brought this change] + + Revert "Option to build both static and shared libraries (#547)" (#675) + + This reverts commit b60dca8b6450a9729670986d2899cca54ccdbb6d. + + #547 doesn't build clean anymore with the keyboard interactive changes. + +- [berney brought this change] + + Option to build both static and shared libraries (#547) + + files: cmakelists.txt + + Notes: + * Option to build both static and shared libraries when using CMake + + Credit: + berney + +- [xalopp brought this change] + + Use modern API in userauth_keyboard_interactive() (#663) + + Files: userauth_kbd_packet.c, userauth_kbd_packet.h, test_keyboard_interactive_auth_info_request.c, userauth.c + + Notes: + This refactors `SSH_MSG_USERAUTH_INFO_REQUEST` processing in `userauth_keyboard_interactive()` in order to improve robustness, correctness and readability or the code. + + * Refactor userauth_keyboard_interactive to use new api for packet parsing + * add unit test for userauth_keyboard_interactive_parse_response() + * add _libssh2_get_boolean() and _libssh2_get_byte() utility functions + + Credit: + xalopp + +- [xalopp brought this change] + + Fix formatting in manual page (#667) + + Fixed formatting of `LIBSSH2_ERROR_AUTHENTICATION_FAILED` in the errors section. + + credit: xalopp + +- [tihmstar brought this change] + + NULL terminate server_sign_algorithms string (#669) + + files: packet.c, libssh2_priv.h + + notes: + * Fix heap buffer overflow in _libssh2_key_sign_algorithm + + When allocating `session->server_sign_algorithms` which is a `char*` is is important to also allocate space for the string-terminating null byte at the end and make sure the string is actually null terminated. + + Without this fix, the `strchr()` call inside the `_libssh2_key_sign_algorithm` (line 1219) function will try to parse the string and go out of buffer on the last invocation. + + Credit: tihmstar + Co-authored-by: Will Cosgrove + +- [Will Cosgrove brought this change] + + free RSA2 related memory (#664) + + Free `server_sign_algorithms` and `sign_algo_prefs`. + +- [Will Cosgrove brought this change] + + Legacy Agent support for rsa2 key upgrading/downgrading #659 (#662) + + Files: libssh2.h, agent.c, userauth.c + + Notes: + Part 2 of the fix for #659. This adds rsa key downgrading for agents that don't support sha2 upgrading. It also adds better trace output for debugging/logging around key upgrading. + + Credit: + Will Cosgrove (signed off by Michael Buckley) + +- [Ian Hattendorf brought this change] + + Support rsa-sha2 agent flags (#661) + + File: agent.c + Notes: implements rsa-sha2 flags used to tell the agent which signing algo to use. + https://tools.ietf.org/id/draft-miller-ssh-agent-01.html#rfc.section.4.5.1 + + Credit: + Ian Hattendorf + +Daniel Stenberg (13 Jan 2022) +- [Sunil Nimmagadda brought this change] + + ssh: Add support for userauth banner. + + The new libssh2_userauth_banner API allows to get an optional + userauth banner sent with SSH_MSG_USERAUTH_BANNER packet by the + server. + + Closes #610 + +GitHub (6 Jan 2022) +- [Michael Buckley brought this change] + + Fix a memcmp errors in code that was changed from memmem to memcmp (#656) + + Notes: + Fixed supported algo prefs list check when upgrading rsa keys + + Credit: Michael Buckley + +- [Hayden Roche brought this change] + + Add support for a wolfSSL crypto backend. (#629) + + It uses wolfSSL's OpenSSL compatibility layer, so rather than introduce new + wolfssl.h/c files, the new backend just reuses openssl.h/c. Additionally, + replace EVP_Cipher() calls with EVP_CipherUpdate(), since EVP_Cipher() is not + recommended. + + Credit: Hayden Roche + +- [Bastien Durel brought this change] + + Runtime engine detection with libssh2_crypto_engine() (#643) + + File: + version.c, HACKING-CRYPTO, libssh2.h, libssh2_crypto_engine.3, makefile. + + Notes: + libssh2_crypto_engine() API to get crypto engine at runtime. + + Credit: Bastien Durel + +- [Will Cosgrove brought this change] + + RSA SHA2 256/512 key upgrade support RFC 8332 #536 (#626) + + Notes: + * Host Key RSA 256/512 support #536 + * Client side key hash upgrading for RFC 8332 + * Support for server-sig-algs, ext-info-c server messages + * Customizing preferred server-sig-algs via the preference LIBSSH2_METHOD_SIGN_ALGO + + Credit: Anders Borum, Will Cosgrove + +- [xalopp brought this change] + + fix: use userauth name length to check memory boundaries for userauth name, fixes #653 (#654) + + File: userauth.c + + Notes: + Fixes `userauth_kybd_auth_name_len` length check + + Co-authored-by: Xaver Lopenstedt + +- [Daniel Stenberg brought this change] + + agent: handle overly large comment lengths (#651) + + Reported-by: Harry Sintonen + +- [Daniel Stenberg brought this change] + + userauth: check for too large userauth_kybd_auth_name_len (#650) + + ... before using it. + + Reported-by: MarcoPoloPie + Fixes #649 + +Daniel Stenberg (17 Dec 2021) +- .github/SECURITY.md: fix the URL + +- .github/SECURITY.md: add security policy + +GitHub (30 Nov 2021) +- [Will Cosgrove brought this change] + + hostkey_method_ssh_ed25519_init() check key bounds (#645) + + * hostkey_method_ssh_ed25519_init() check key bounds + + File: hostkey.c + + Notes: + Additional key length checking before calling _libssh2_ed25519_new_public() + + Credit: + Will Cosgrove + +- [Will Cosgrove brought this change] + + Fix error message in memory_read_privatekey #636 + + file: userauth.c + note: fix error message + credit: + volund + +- [cntrump brought this change] + + Update maketgz for macOS (#543) + + File: + maketgz + + Notes: + Fix error on macOS: sed: -e: No such file or directory + + Credit: + cntrump + +- [Jun Tseng brought this change] + + CMake update minimum version to 2.8.12 (#639) + + File: + CMakeLists.txt + + Notes: + Following CMake's advice, Update the minimum required version. + + Credit: + Jun Tseng + +Daniel Stenberg (8 Nov 2021) +- [David Korczynski brought this change] + + ci: Add CIFuzz integration + + Notes: + Add CIFuzz integration to run fuzzer using the OSS-Fuzz infrastructure + at each PR. + + Signed-off-by: David Korczynski + Closes #635 + +GitHub (26 Oct 2021) +- [Uwe L. Korn brought this change] + + Use libssh2_EXPORTS as an alternative to _WINDLL (#470) + + Files: libssh2.h + + Notes: + `_WINDLL` is only defined when a Visual Studio CMake generator is used, `libssh2_EXPORTS` is used though for all CMake generator if a shared libssh2 library is being built. + + Credit: + Uwe L. Korn + +Viktor Szakats (1 Oct 2021) +- windows: fix clang and WinCNG warnings + + Fix these categories of warning: + + - in `wincng.c` disagreement in signed/unsigned char when passing around + the passphrase string: + `warning: pointer targets in passing argument [...] differ in signedness [-Wpointer-sign]` + Fixed by using `const unsigned char *` in all static functions and + applying/updating casts as necessary. + + - in each use of `libssh2_*_init()` macros where the result is not used: + `warning: value computed is not used [-Wunused-value]` + Fixed by using `(void)` casts. + + - `channel.c:1171:7: warning: 'rc' may be used uninitialized in this function [-Wmaybe-uninitialized]` + Fixed by initializing this variable with `LIBSSH2_ERROR_CHANNEL_UNKNOWN`. + While there I replaced a few 0 literals with `LIBSSH2_ERROR_NONE`. + + - in `sftp.c`, several of these two warnings: + `warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]` + `warning: 'data_len' may be used uninitialized in this function [-Wmaybe-uninitialized]` + Fixed by initializing these variables with NULL and 0 respectively. + + - Also removed the exec attribute from `wincng.h`. + + Notes: + - There are many pre-existing checksrc issues. + - The `sftp.c` and `channel.c` warnings may apply to other platforms as well. + + Closes #628 + +Daniel Stenberg (25 Sep 2021) +- README: use www.libssh2.org for the license link + +- libssh2.h: bump it to 1.10.1-dev + +- mailing list: moved to lists.haxx.se + +GitHub (2 Sep 2021) +- [Laurent Stacul brought this change] + + openssh_fixture.c: Fix openssh_server build not working (#616) (#620) + + File: openssh_fixture.c + + Notes: + fixes too long of output lines building docker image + + Credit: + Laurent Stacul + +- [Will Cosgrove brought this change] + + openssh_fixture.c: fix warning (#621) + + File: openssh_fixture.c + + Notes: + Fix `portable_sleep` return type warning + + Credit: + Will Cosgrove + +- [Will Cosgrove brought this change] + + Update CI to use latest Ubuntu #624 (#625) + + File: ci.yml + + Notes: + Update CI to use latest Ubuntu #624 + + Also removed 32 bit building in the matrix. + + Credit: + Will Cosgrove + +- [Will Cosgrove brought this change] + + Update .gitignore + + Add .DS_Store files for macOS + +- [Laurent Stacul brought this change] + + Makefile.am: Add missing key in case openssl > 1.1.0 (#617) + + File: Makefile.am + + Notes: fix missing test keys + + Credit: + Laurent Stacul + +Version 1.10.0 (29 Aug 2021) + +Daniel Stenberg (29 Aug 2021) +- [Will Cosgrove brought this change] + + updated docs for 1.10.0 release + +Marc Hörsken (30 May 2021) +- [Laurent Stacul brought this change] + + [tests] Try several times to connect the ssh server + + Sometimes, as the OCI container is run in detached mode, it is possible + the actual server is not ready yet to handle SSH traffic. The goal of + this PR is to try several times (max 3). The mechanism is the same as + for the connection to the docker machine. + +- [Laurent Stacul brought this change] + + Remove openssh_server container on test exit + +- [Laurent Stacul brought this change] + + Allow the tests to run inside a container + + The current tests suite starts SSH server as OCI container. This commit + add the possibility to run the tests in a container provided that: + + * the docker client is installed builder container + * the host docker daemon unix socket has been mounted in the builder + container (with, if needed, the DOCKER_HOST environment variable + accordingly set, and the permission to write on this socket) + * the builder container is run on the default bridge network, or the + host network. This PR does not handle the case where the builder + container is on another network. + +Marc Hoersken (28 May 2021) +- CI/appveyor: run SSH server for tests on GitHub Actions (#607) + + No longer rely on DigitalOcean to host the Docker container. + + Unfortunately we require a small dispatcher script that has + access to a GitHub access token with scope repo in order to + trigger the daemon workflow on GitHub Actions also for PRs. + + This script is hosted by myself for the time being until GitHub + provides a tighter scope to trigger the workflow_dispatch event. + +GitHub (26 May 2021) +- [Will Cosgrove brought this change] + + openssl.c: guards around calling FIPS_mode() #596 (#603) + + Notes: + FIPS_mode() is not implemented in LibreSSL and this API is removed in OpenSSL 3.0 and was introduced in 0.9.7. Added guards around making this call. + + Credit: + Will Cosgrove + +- [Will Cosgrove brought this change] + + configure.ac: don't undefine scoped variable (#594) + + * configure.ac: don't undefine scoped variable + + To get this script to run with Autoconf 2.71 on macOS I had to remove the undefine of the backend for loop variable. It seems scoped to the for loop and also isn't referenced later in the script so it seems OK to remove it. + + * configure.ac: remove cygwin specific CFLAGS #598 + + Notes: + Remove cygwin specific Win32 CFLAGS and treat the build like a posix build + + Credit: + Will Cosgrove, Brian Inglis + +- [Laurent Stacul brought this change] + + tests: Makefile.am: Add missing tests client keys in distribution tarball (#604) + + Notes: + Added missing test keys. + + Credit: + Laurent Stacul + +- [Laurent Stacul brought this change] + + Makefile.am: Add missing test keys in the distribution tarball (#601) + + Notes: + Fix tests missing key to build the OCI image + + Credit: + Laurent Stacul + +Daniel Stenberg (16 May 2021) +- dist: add src/agent.h + + Fixes #597 + Closes #599 + +GitHub (12 May 2021) +- [Will Cosgrove brought this change] + + packet.c: Reset read timeout after received a packet (#576) (#586) + + File: + packet.c + + Notes: + Attempt keyboard interactive login (Azure AD 2FA login) and use more than 60 seconds to complete the login, the connection fails. + + The _libssh2_packet_require function does almost the same as _libssh2_packet_requirev but this function sets state->start = 0 before returning. + + Credit: + teottin, Co-authored-by: Tor Erik Ottinsen + +- [kkoenig brought this change] + + Support ECDSA certificate authentication (#570) + + Files: hostkey.c, userauth.c, test_public_key_auth_succeeds_with_correct_ecdsa_key.c + + Notes: + Support ECDSA certificate authentication + + Add a test for: + - Existing ecdsa basic public key authentication + - ecdsa public key authentication with a signed public key + + Credit: + kkoenig + +- [Gabriel Smith brought this change] + + agent.c: Add support for Windows OpenSSH agent (#517) + + Files: agent.c, agent.h, agent_win.c + + Notes: + * agent: Add support for Windows OpenSSH agent + + The implementation was partially taken and modified from that found in + the Portable OpenSSH port to Win32 by the PowerShell team, but mostly + based on the existing Unix OpenSSH agent support. + + https://github.com/PowerShell/openssh-portable + + Regarding the partial transfer support implementation: partial transfers + are easy to deal with, but you need to track additional state when + non-blocking IO enters the picture. A tracker of how many bytes have + been transfered has been placed in the transfer context struct as that's + where it makes most sense. This tracker isn't placed behind a WIN32 + #ifdef as it will probably be useful for other agent implementations. + + * agent: win32 openssh: Disable overlapped IO + + Non-blocking IO is not currently supported by the surrounding agent + code, despite a lot of the code having everything set up to handle it. + + Credit: + Co-authored-by: Gabriel Smith + +- [Zenju brought this change] + + Fix detailed _libssh2_error being overwritten (#473) + + Files: openssl.c, pem.c, userauth.c + + Notes: + * Fix detailed _libssh2_error being overwritten by generic errors + * Unified error handling + + Credit: + Zenju + +- [Paul Capron brought this change] + + Fix _libssh2_random() silently discarding errors (#520) + + Notes: + * Make _libssh2_random return code consistent + + Previously, _libssh2_random was advertized in HACKING.CRYPTO as + returning `void` (and was implemented that way in os400qc3.c), but that + was in other crypto backends a lie; _libssh2_random is (a macro + expanding) to an int-value expression or function. + + Moreover, that returned code was: + — 0 or success, -1 on error for the MbedTLS & WinCNG crypto backends + But also: + — 1 on success, -1 or 0 on error for the OpenSSL backend! + – 1 on success, error cannot happen for libgcrypt! + + This commit makes explicit that _libssh2_random can fail (because most of + the underlying crypto functions can indeed fail!), and it makes its result + code consistent: 0 on success, -1 on error. + + This is related to issue #519 https://github.com/libssh2/libssh2/issues/519 + It fixes the first half of it. + + * Don't silent errors of _libssh2_random + + Make sure to check the returned code of _libssh2_random(), and + propagates any failure. + + A new LIBSSH_ERROR_RANDGEN constant is added to libssh2.h + None of the existing error constants seemed fit. + + This commit is related to d74285b68450c0e9ea6d5f8070450837fb1e74a7 + and to https://github.com/libssh2/libssh2/issues/519 (see the issue + for more info.) It closes #519. + + Credit: + Paul Capron + +- [Gabriel Smith brought this change] + + ci: Remove caching of docker image layers (#589) + + Notes: + continued ci reliability work. + + Credit: + Gabriel Smith + +- [Gabriel Smith brought this change] + + ci: Speed up docker builds for tests (#587) + + Notes: + The OpenSSH server docker image used for tests is pre-built to prevent + wasting time building it during a test, and unneeded rebuilds are + prevented by caching the image layers. + + Credit: + Gabriel Smith + +- [Will Cosgrove brought this change] + + userauth.c: don't error if using keys without RSA (#555) + + file: userauth.c + + notes: libssh2 now supports many other key types besides RSA, if the library is built without RSA support and a user attempts RSA auth it shouldn't be an automatic error + + credit: + Will Cosgrove + +- [Marc brought this change] + + openssl.c: Avoid OpenSSL latent error in FIPS mode (#528) + + File: + openssl.c + + Notes: + Avoid initing MD5 digest, which is not permitted in OpenSSL FIPS certified cryptography mode. + + Credit: + Marc + +- [Laurent Stacul brought this change] + + openssl.c: Fix EVP_Cipher interface change in openssl 3 #463 + + File: + openssl.c + + Notes: + Fixes building with OpenSSL 3, #463. + + The change is described there: + https://github.com/openssl/openssl/commit/f7397f0d58ce7ddf4c5366cd1846f16b341fbe43 + + Credit: + Laurent Stacul, reported by Sergei + +- [Gabriel Smith brought this change] + + openssh_fixture.c: Fix potential overwrite of buffer when reading stdout of command (#580) + + File: + openssh_fixture.c + Notes: + If reading the full output from the executed command took multiple + passes (such as when reading multiple lines) the old code would read + into the buffer starting at the some position (the start) every time. + The old code only works if fgets updated p or had an offset parameter, + both of which are not true. + + Credit: + Gabriel Smith + +- [Gabriel Smith brought this change] + + ci: explicitly state the default branch (#585) + + Notes: + It looks like the $default-branch macro only works in templates, not + workflows. This is not explicitly stated anywhere except the linked PR + comment. + + https://github.com/actions/starter-workflows/pull/590#issuecomment-672360634 + + credit: + Gabriel Smith + +- [Gabriel Smith brought this change] + + ci: Swap from Travis to Github Actions (#581) + + Files: ci files + + Notes: + Move Linux CI using Github Actions + + Credit: + Gabriel Smith, Marc Hörsken + +- [Mary brought this change] + + libssh2_priv.h: add iovec on 3ds (#575) + + file: libssh2_priv.h + note: include iovec for 3DS + credit: Mary Mstrodl + +- [Laurent Stacul brought this change] + + Tests: Fix unused variables warning (#561) + + file: test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c + + notes: fixed unused vars + + credit: + Laurent Stacul + +- [Viktor Szakats brought this change] + + bcrypt_pbkdf.c: fix clang10 false positive warning (#563) + + File: bcrypt_pbkdf.c + + Notes: + blf_enc() takes a number of 64-bit blocks to encrypt, but using + sizeof(uint64_t) in the calculation triggers a warning with + clang 10 because the actual data type is uint32_t. Pass + BCRYPT_BLOCKS / 2 for the number of blocks like libc bcrypt(3) + does. + + Ref: https://github.com/openbsd/src/commit/04a2240bd8f465bcae6b595d912af3e2965856de + + Fixes #562 + + Credit: + Viktor Szakats + +- [Will Cosgrove brought this change] + + transport.c: release payload on error (#554) + + file: transport.c + notes: If the payload is invalid and there is an early return, we could leak the payload + credit: + Will Cosgrove + +- [Will Cosgrove brought this change] + + ssh2_client_fuzzer.cc: fixed building + + The GitHub web editor did some funky things + +- [Will Cosgrove brought this change] + + ssh_client_fuzzer.cc: set blocking mode on (#553) + + file: ssh_client_fuzzer.cc + + notes: the session needs blocking mode turned on to avoid EAGAIN being returned from libssh2_session_handshake() + + credit: + Will Cosgrove, reviewed by Michael Buckley + +- [Etienne Samson brought this change] + + Add a LINT option to CMake (#372) + + * ci: make style-checking available locally + + * cmake: add a linting target + + * tests: check test suite syntax with checksrc.pl + +- [Will Cosgrove brought this change] + + kex.c: kex_agree_instr() improve string reading (#552) + + * kex.c: kex_agree_instr() improve string reading + + file: kex.c + notes: if haystack isn't null terminated we should use memchr() not strchar(). We should also make sure we don't walk off the end of the buffer. + credit: + Will Cosgrove, reviewed by Michael Buckley + +- [Will Cosgrove brought this change] + + kex.c: use string_buf in ecdh_sha2_nistp (#551) + + * kex.c: use string_buf in ecdh_sha2_nistp + + file: kex.c + + notes: + use string_buf in ecdh_sha2_nistp() to avoid attempting to parse malformed data + +- [Will Cosgrove brought this change] + + kex.c: move EC macro outside of if check #549 (#550) + + File: kex.c + + Notes: + Moved the macro LIBSSH2_KEX_METHOD_EC_SHA_HASH_CREATE_VERIFY outside of the LIBSSH2_ECDSA since it's also now used by the ED25519 code. + + Sha 256, 384 and 512 need to be defined for all backends now even if they aren't used directly. I believe this is already the case, but just a heads up. + + Credit: + Stefan-Ghinea + +- [Tim Gates brought this change] + + kex.c: fix simple typo, niumber -> number (#545) + + File: kex.c + + Notes: + There is a small typo in src/kex.c. + + Should read `number` rather than `niumber`. + + Credit: + Tim Gates + +- [Tseng Jun brought this change] + + session.c: Correct a typo which may lead to stack overflow (#533) + + File: session.c + + Notes: + Seems the author intend to terminate banner_dup buffer, later, print it to the debug console. + + Author: + Tseng Jun + +Marc Hoersken (10 Oct 2020) +- wincng: fix random big number generation to match openssl + + The old function would set the least significant bits in + the most significant byte instead of the most significant bits. + + The old function would also zero pad too much bits in the + most significant byte. This lead to a reduction of key space + in the most significant byte according to the following listing: + - 8 bits reduced to 0 bits => eg. 2048 bits to 2040 bits DH key + - 7 bits reduced to 1 bits => eg. 2047 bits to 2041 bits DH key + - 6 bits reduced to 2 bits => eg. 2046 bits to 2042 bits DH key + - 5 bits reduced to 3 bits => eg. 2045 bits to 2043 bits DH key + + No change would occur for the case of 4 significant bits. + For 1 to 3 significant bits in the most significant byte + the DH key would actually be expanded instead of reduced: + - 3 bits expanded to 5 bits => eg. 2043 bits to 2045 bits DH key + - 2 bits expanded to 6 bits => eg. 2042 bits to 2046 bits DH key + - 1 bits expanded to 7 bits => eg. 2041 bits to 2047 bits DH key + + There is no case of 0 significant bits in the most significant byte + since this would be a case of 8 significant bits in the next byte. + + At the moment only the following case applies due to a fixed + DH key size value currently being used in libssh2: + + The DH group_order is fixed to 256 (bytes) which leads to a + 2047 bits DH key size by calculating (256 * 8) - 1. + + This means the DH keyspace was previously reduced from 2047 bits + to 2041 bits (while the top and bottom bits are always set), so the + keyspace is actually always reduced from 2045 bits to 2039 bits. + + All of this is only relevant for Windows versions supporting the + WinCNG backend (Vista or newer) before Windows 10 version 1903. + + Closes #521 + +Daniel Stenberg (28 Sep 2020) +- libssh2_session_callback_set.3: explain the recv/send callbacks + + Describe how to actually use these callbacks. + + Closes #518 + +GitHub (23 Sep 2020) +- [Will Cosgrove brought this change] + + agent.c: formatting + + Improved formatting of RECV_SEND_ALL macro. + +- [Will Cosgrove brought this change] + + CMakeLists.txt: respect install lib dir #405 (#515) + + Files: + CMakeLists.txt + + Notes: + Use CMAKE_INSTALL_LIBDIR directory + + Credit: Arfrever + +- [Will Cosgrove brought this change] + + kex.c: group16-sha512 and group18-sha512 support #457 (#468) + + Files: kex.c + + Notes: + Added key exchange group16-sha512 and group18-sha512. As a result did the following: + + Abstracted diffie_hellman_sha256() to diffie_hellman_sha_algo() which is now algorithm agnostic and takes the algorithm as a parameter since we needed sha512 support. Unfortunately it required some helper functions but they are simple. + Deleted diffie_hellman_sha1() + Deleted diffie_hellman_sha1 specific macro + Cleaned up some formatting + Defined sha384 in os400 and wincng backends + Defined LIBSSH2_DH_MAX_MODULUS_BITS to abort the connection if we receive too large of p from the server doing sha1 key exchange. + Reorder the default key exchange list to match OpenSSH and improve security + + Credit: + Will Cosgrove + +- [Igor Klevanets brought this change] + + agent.c: Recv and send all bytes via network in agent_transact_unix() (#510) + + Files: agent.c + + Notes: + Handle sending/receiving partial packet replies in agent.c API. + + Credit: Klevanets Igor + +- [Daniel Stenberg brought this change] + + Makefile.am: include all test files in the dist #379 + + File: + Makefile.am + + Notes: + No longer conditionally include OpenSSL specific test files, they aren't run if we're not building against OpenSSL 1.1.x anyway. + + Credit: + Daniel Stenberg + +- [Max Dymond brought this change] + + Add support for an OSS Fuzzer fuzzing target (#392) + + Files: + .travis.yml, configure.ac, ossfuzz + + Notes: + This adds support for an OSS-Fuzz fuzzing target in ssh2_client_fuzzer, + which is a cut down example of ssh2.c. Future enhancements can improve + coverage. + + Credit: + Max Dymond + +- [Sebastián Katzer brought this change] + + mbedtls.c: ECDSA support for mbed TLS (#385) + + Files: + mbedtls.c, mbedtls.h, .travis.yml + + Notes: + This PR adds support for ECDSA for both key exchange and host key algorithms. + + The following elliptic curves are supported: + + 256-bit curve defined by FIPS 186-4 and SEC1 + 384-bit curve defined by FIPS 186-4 and SEC1 + 521-bit curve defined by FIPS 186-4 and SEC1 + + Credit: + Sebastián Katzer + +Marc Hoersken (1 Sep 2020) +- buildconf: exec autoreconf to avoid additional process (#512) + + Also make buildconf exit with the return code of autoreconf. + + Follow up to #224 + +- scp.c: fix indentation in shell_quotearg documentation + +- wincng: make more use of new helper functions (#496) + +- wincng: make sure algorithm providers are closed once (#496) + +GitHub (10 Jul 2020) +- [David Benjamin brought this change] + + openssl.c: clean up curve25519 code (#499) + + File: openssl.c, openssl.h, crypto.h, kex.c + + Notes: + This cleans up a few things in the curve25519 implementation: + + - There is no need to create X509_PUBKEYs or PKCS8_PRIV_KEY_INFOs to + extract key material. EVP_PKEY_get_raw_private_key and + EVP_PKEY_get_raw_public_key work fine. + + - libssh2_x25519_ctx was never used (and occasionally mis-typedefed to + libssh2_ed25519_ctx). Remove it. The _libssh2_curve25519_new and + _libssh2_curve25519_gen_k interfaces use the bytes. Note, if it needs + to be added back, there is no need to roundtrip through + EVP_PKEY_new_raw_private_key. EVP_PKEY_keygen already generated an + EVP_PKEY. + + - Add some missing error checks. + + Credit: + David Benjamin + +- [Will Cosgrove brought this change] + + transport.c: socket is disconnected, return error (#500) + + File: transport.c + + Notes: + This is to fix #102, instead of continuing to attempt to read a disconnected socket, it will now error out. + + Credit: + TDi-jonesds + +- [Will Cosgrove brought this change] + + stale.yml + + Increasing stale values. + +Marc Hoersken (6 Jul 2020) +- wincng: try newer DH API first, fallback to legacy RSA API + + Avoid the use of RtlGetVersion or similar Win32 functions, + since these depend on version information from manifests. + + This commit makes the WinCNG backend first try to use the + new DH algorithm API with the raw secret derivation feature. + In case this feature is not available the WinCNG backend + will fallback to the classic approach of using RSA-encrypt + to perform the required modular exponentiation of BigNums. + + The feature availability test is done during the first handshake + and the result is stored in the crypto backends global state. + + Follow up to #397 + Closes #484 + +- wincng: fix indentation of function arguments and comments + + Follow up to #397 + +- [Wez Furlong brought this change] + + wincng: use newer DH API for Windows 8.1+ + + Since Windows 1903 the approach used to perform DH kex with the CNG + API has been failing. + + This commit switches to using the `DH` algorithm provider to perform + generation of the key pair and derivation of the shared secret. + + It uses a feature of CNG that is not yet documented. The sources of + information that I've found on this are: + + * https://stackoverflow.com/a/56378698/149111 + * https://github.com/wbenny/mini-tor/blob/5d39011e632be8e2b6b1819ee7295e8bd9b7a769/mini/crypto/cng/dh.inl#L355 + + With this change I am able to successfully connect from Windows 10 to my + ubuntu system. + + Refs: https://github.com/alexcrichton/ssh2-rs/issues/122 + Fixes: https://github.com/libssh2/libssh2/issues/388 + Closes: https://github.com/libssh2/libssh2/pull/397 + +GitHub (1 Jul 2020) +- [Zenju brought this change] + + comp.c: Fix name clash with ZLIB macro "compress" (#418) + + File: comp.c + + Notes: + * Fix name clash with ZLIB macro "compress". + + Credit: + Zenju + +- [yann-morin-1998 brought this change] + + buildsystem: drop custom buildconf script, rely on autoreconf (#224) + + Notes: + The buildconf script is currently required, because we need to copy a + header around, because it is used both from the library and the examples + sources. + + However, having a custom 'buildconf'-like script is not needed if we can + ensure that the header exists by the time it is needed. For that, we can + just append the src/ directory to the headers search path for the + examples. + + And then it means we no longer need to generate the same header twice, + so we remove the second one from configure.ac. + + Now, we can just call "autoreconf -fi" to generate the autotools files, + instead of relying on the canned sequence in "buildconf", since + autoreconf has now long known what to do at the correct moment (future + versions of autotools, automake, autopoint, autoheader etc... may + require an other ordering, or other intermediate steps, etc...). + + Eventually, get rid of buildconf now it is no longer needed. In fact, we + really keep it for legacy, but have it just call autoreconf (and print a + nice user-friendly warning). Don't include it in the release tarballs, + though. + + Update doc, gitignore, and travis-CI jobs accordingly. + + Credit: + Signed-off-by: "Yann E. MORIN" + Cc: Sam Voss + +- [Will Cosgrove brought this change] + + libssh2.h: Update Diffie Hellman group values (#493) + + File: libssh2.h + + Notes: + Update the min, preferred and max DH group values based on RFC 8270. + + Credit: + Will Cosgrove, noted from email list by Mitchell Holland + +Marc Hoersken (22 Jun 2020) +- travis: use existing Makefile target to run checksrc + +- Makefile: also run checksrc on test source files + +- tests: avoid use of deprecated function _sleep (#490) + +- tests: avoid use of banned function strncat (#489) + +- tests: satisfy checksrc regarding max line length of 79 chars + + Follow up to 2764bc8e06d51876b6796d6080c6ac51e20f3332 + +- tests: satisfy checksrc with whitespace only fixes + + checksrc.pl -i4 -m79 -ASIZEOFNOPAREN -ASNPRINTF + -ACOPYRIGHT -AFOPENMODE tests/*.[ch] + +- tests: add support for ports published via Docker for Windows + +- tests: restore retry behaviour for docker-machine ip command + +- tests: fix mix of declarations and code failing C89 compliance + +- wincng: add and improve checks in bit counting function + +- wincng: align bits to bytes calculation in all functions + +- wincng: do not disable key validation that can be enabled + + The modular exponentiation also works with key validation enabled. + +- wincng: fix return value in _libssh2_dh_secret + + Do not ignore return value of modular exponentiation. + +- appveyor: build and run tests for WinCNG crypto backend + +GitHub (1 Jun 2020) +- [suryakalpo brought this change] + + INSTALL_CMAKE.md: Update formatting (#481) + + File: INSTALL_CMAKE.md + + Notes: + Although the original text would be immediately clear to seasoned users of CMAKE and/or Unix shell, the lack of newlines may cause some confusion for newcomers. Hence, wrapping the texts in a md code-block such that the newlines appear as intended. + + credit: + suryakalpo + +Marc Hoersken (31 May 2020) +- src: add new and align include guards in header files (#480) + + Make sure all include guards exist and follow the same format. + +- wincng: fix multiple definition of `_libssh2_wincng' (#479) + + Add missing include guard and move global state + from header to source file by using extern. + +GitHub (28 May 2020) +- [Will Cosgrove brought this change] + + transport.c: moving total_num check from #476 (#478) + + file: transport.c + + notes: + moving total_num zero length check from #476 up to the prior bounds check which already includes a total_num check. Makes it slightly more readable. + + credit: + Will Cosgrove + +- [lutianxiong brought this change] + + transport.c: fix use-of-uninitialized-value (#476) + + file:transport.c + + notes: + return error if malloc(0) + + credit: + lutianxiong + +- [Dr. Koutheir Attouchi brought this change] + + libssh2_sftp.h: Changed type of LIBSSH2_FX_* constants to unsigned long, fixes #474 + + File: + libssh2_sftp.h + + Notes: + Error constants `LIBSSH2_FX_*` are only returned by `libssh2_sftp_last_error()` which returns `unsigned long`. + Therefore these constants should be defined as unsigned long literals, instead of int literals. + + Credit: + Dr. Koutheir Attouchi + +- [monnerat brought this change] + + os400qc3.c: constify libssh2_os400qc3_hash_update() data parameter. (#469) + + Files: os400qc3.c, os400qc3.h + + Notes: + Fixes building on OS400. #426 + + Credit: + Reported-by: hjindra on github, dev by Monnerat + +- [monnerat brought this change] + + HACKING.CRYPTO: keep up to date with new crypto definitions from code. (#466) + + File: HACKING.CRYPTO + + Notes: + This commit updates the HACKING.CRYPTO documentation file in an attempt to make it in sync with current code. + New documented features are: + + SHA384 + SHA512 + ECDSA + ED25519 + + Credit: + monnerat + +- [Harry Sintonen brought this change] + + kex.c: Add diffie-hellman-group14-sha256 Key Exchange Method (#464) + + File: kex.c + + Notes: Added diffie-hellman-group14-sha256 kex + + Credit: Harry Sintonen + +- [Will Cosgrove brought this change] + + os400qc3.h: define sha512 macros (#465) + + file: os400qc3.h + notes: fixes for building libssh2 1.9.x + +- [Will Cosgrove brought this change] + + os400qc3.h: define EC types to fix building #426 (#462) + + File: os400qc3.h + Notes: define missing EC types which prevents building + Credit: hjindra + +- [Brendan Shanks brought this change] + + hostkey.c: Fix 'unsigned int'/'uint32_t' mismatch (#461) + + File: hostkey.c + + Notes: + These types are the same size so most compilers are fine with it, but CodeWarrior (on classic MacOS) throws an ‘illegal implicit conversion’ error + + Credit: Brendan Shanks + +- [Thomas Klausner brought this change] + + Makefile.am: Fix unportable test(1) operator. (#459) + + file: Makefile.am + + Notes: + The POSIX comparison operator for test(1) is =; bash supports == but not even test from GNU coreutils does. + + Credit: + Thomas Klausner + +- [Tseng Jun brought this change] + + openssl.c: minor changes of coding style (#454) + + File: openssl.c + + Notes: + minor changes of coding style and align preprocessor conditional for #439 + + Credit: + Tseng Jun + +- [Hans Meier brought this change] + + openssl.c: Fix for use of uninitialized aes_ctr_cipher.key_len (#453) + + File: + Openssl.c + + Notes: + * Fix for use of uninitialized aes_ctr_cipher.key_len when using HAVE_OPAQUE_STRUCTS, regression from #439 + + Credit: + Hans Meirer, Tseng Jun + +- [Zenju brought this change] + + agent.c: Fix Unicode builds on Windows (#417) + + File: agent.c + + Notes: + Fixes unicode builds for Windows in Visual Studio 16.3.2. + + Credit: + Zenju + +- [Hans Meier brought this change] + + openssl.c: Fix use-after-free crash in openssl backend without memory leak (#439) + + Files: openssl.c + + Notes: + Fixes memory leaks and use after free AES EVP_CIPHER contexts when using OpenSSL 1.0.x. + + Credit: + Hans Meier + +- [Romain Geissler @ Amadeus brought this change] + + Session.c: Fix undefined warning when mixing with LTO-enabled libcurl. (#449) + + File: Session.c + + Notes: + With gcc 9, libssh2, libcurl and LTO enabled for all binaries I see this + warning (error with -Werror): + + vssh/libssh2.c: In function ‘ssh_statemach_act’: + /data/mwrep/rgeissler/ospack/ssh2/BUILD/libssh2-libssh2-03c7c4a/src/session.c:579:9: error: ‘seconds_to_next’ is used uninitialized in this function [-Werror=uninitialized] + 579 | int seconds_to_next; + | ^ + lto1: all warnings being treated as errors + + Gcc normally issues -Wuninitialized when it is sure there is a problem, + and -Wmaybe-uninitialized when it's not sure, but it's possible. Here + the compiler seems to have find a real case where this could happen. I + looked in your code and overall it seems you always check if the return + code is non null, not often that it's below zero. I think we should do + the same here. With this patch, gcc is fine. + + Credit: + Romain-Geissler-1A + +- [Zenju brought this change] + + transport.c: Fix crash with delayed compression (#443) + + Files: transport.c + + Notes: + Fixes crash with delayed compression option using Bitvise server. + + Contributor: + Zenju + +- [Will Cosgrove brought this change] + + Update INSTALL_MAKE path to INSTALL_MAKE.md (#446) + + Included for #429 + +- [Will Cosgrove brought this change] + + Update INSTALL_CMAKE filename to INSTALL_CMAKE.md (#445) + + Fixing for #429 + +- [Wallace Souza brought this change] + + Rename INSTALL_CMAKE to INTALL_CMAKE.md (#429) + + Adding Markdown file extension in order to Github render the instructions properly + +Will Cosgrove (17 Dec 2019) +- [Daniel Stenberg brought this change] + + include/libssh2.h: fix comment: the known host key uses 4 bits (#438) + +- [Zenju brought this change] + + ssh-ed25519: Support PKIX + calc pubkey from private (#416) + + Files: openssl.c/h + Author: Zenju + Notes: + Adds support for PKIX key reading by fixing: + + _libssh2_pub_priv_keyfile() is missing the code to extract the ed25519 public key from a given private key + + _libssh2_ed25519_new_private_frommemory is only parsing the openssh key format but does not understand PKIX (as retrieved via PEM_read_bio_PrivateKey) + +GitHub (15 Oct 2019) +- [Will Cosgrove brought this change] + + .travis.yml: Fix Chrome and 32 bit builds (#423) + + File: .travis.yml + + Notes: + * Fix Chrome installing by using Travis build in directive + * Update to use libgcrypt20-dev package to fix 32 bit builds based on comments found here: + https://launchpad.net/ubuntu/xenial/i386/libgcrypt11-dev + +- [Will Cosgrove brought this change] + + packet.c: improved parsing in packet_x11_open (#410) + + Use new API to parse data in packet_x11_open() for better bounds checking. + +Will Cosgrove (12 Sep 2019) +- [Michael Buckley brought this change] + + knownhost.c: Double the static buffer size when reading and writing known hosts (#409) + + Notes: + We had a user who was being repeatedly prompted to accept a server key repeatedly. It turns out the base64-encoded key was larger than the static buffers allocated to read and write known hosts. I doubled the size of these buffers. + + Credit: + Michael Buckley + +GitHub (4 Sep 2019) +- [Will Cosgrove brought this change] + + packet.c: improved packet parsing in packet_queue_listener (#404) + + * improved bounds checking in packet_queue_listener + + file: packet.c + + notes: + improved parsing packet in packet_queue_listener + +- [Will Cosgrove brought this change] + + packet.c: improve message parsing (#402) + + * packet.c: improve parsing of packets + + file: packet.c + + notes: + Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST. + +- [Will Cosgrove brought this change] + + misc.c: _libssh2_ntohu32 cast bit shifting (#401) + + To quite overly aggressive analyzers. + + Note, the builds pass, Travis is having some issues with Docker images. + +- [Will Cosgrove brought this change] + + kex.c: improve bounds checking in kex_agree_methods() (#399) + + file: kex.c + + notes: + use _libssh2_get_string instead of kex_string_pair which does additional checks + +Will Cosgrove (23 Aug 2019) +- [Fabrice Fontaine brought this change] + + acinclude.m4: add mbedtls to LIBS (#371) + + Notes: + This is useful for static builds so that the Libs.private field in + libssh2.pc contains correct info for the benefit of pkg-config users. + Static link with libssh2 requires this information. + + Signed-off-by: Baruch Siach + [Retrieved from: + https://git.buildroot.net/buildroot/tree/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch] + Signed-off-by: Fabrice Fontaine + + Credit: + Fabrice Fontaine + +- [jethrogb brought this change] + + Generate debug info when building with MSVC (#178) + + files: CMakeLists.txt + + notes: Generate debug info when building with MSVC + + credit: + jethrogb + +- [Panos brought this change] + + Add agent forwarding implementation (#219) + + files: channel.c, test_agent_forward_succeeds.c, libssh2_priv.h, libssh2.h, ssh2_agent_forwarding.c + + notes: + * Adding SSH agent forwarding. + * Fix agent forwarding message, updated example. + Added integration test code and cmake target. Added example to cmake list. + + credit: + pkittenis + +GitHub (2 Aug 2019) +- [Will Cosgrove brought this change] + + Update EditorConfig + + Added max_line_length = 80 + +- [Will Cosgrove brought this change] + + global.c : fixed call to libssh2_crypto_exit #394 (#396) + + * global.c : fixed call to libssh2_crypto_exit #394 + + File: global.c + + Notes: Don't call `libssh2_crypto_exit()` until `_libssh2_initialized` count is down to zero. + + Credit: seba30 + +Will Cosgrove (30 Jul 2019) +- [hlefebvre brought this change] + + misc.c : Add an EWOULDBLOCK check for better portability (#172) + + File: misc.c + + Notes: Added support for all OS' that implement EWOULDBLOCK, not only VMS + + Credit: hlefebvre + +- [Etienne Samson brought this change] + + userauth.c: fix off by one error when loading public keys with no id (#386) + + File: userauth.c + + Credit: + Etienne Samson + + Notes: + Caught by ASAN: + + ================================================================= + ==73797==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60700001bcf0 at pc 0x00010026198d bp 0x7ffeefbfed30 sp 0x7ffeefbfe4d8 + READ of size 69 at 0x60700001bcf0 thread T0 + 2019-07-04 08:35:30.292502+0200 atos[73890:2639175] examining /Users/USER/*/libssh2_clar [73797] + #0 0x10026198c in wrap_memchr (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x1f98c) + #1 0x1000f8e66 in file_read_publickey userauth.c:633 + #2 0x1000f2dc9 in userauth_publickey_fromfile userauth.c:1513 + #3 0x1000f2948 in libssh2_userauth_publickey_fromfile_ex userauth.c:1590 + #4 0x10000e254 in test_userauth_publickey__ed25519_auth_ok publickey.c:69 + #5 0x1000090c3 in clar_run_test clar.c:260 + #6 0x1000038f3 in clar_run_suite clar.c:343 + #7 0x100003272 in clar_test_run clar.c:522 + #8 0x10000c3cc in main runner.c:60 + #9 0x7fff5b43b3d4 in start (libdyld.dylib:x86_64+0x163d4) + + 0x60700001bcf0 is located 0 bytes to the right of 80-byte region [0x60700001bca0,0x60700001bcf0) + allocated by thread T0 here: + #0 0x10029e053 in wrap_malloc (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5c053) + #1 0x1000b4978 in libssh2_default_alloc session.c:67 + #2 0x1000f8aba in file_read_publickey userauth.c:597 + #3 0x1000f2dc9 in userauth_publickey_fromfile userauth.c:1513 + #4 0x1000f2948 in libssh2_userauth_publickey_fromfile_ex userauth.c:1590 + #5 0x10000e254 in test_userauth_publickey__ed25519_auth_ok publickey.c:69 + #6 0x1000090c3 in clar_run_test clar.c:260 + #7 0x1000038f3 in clar_run_suite clar.c:343 + #8 0x100003272 in clar_test_run clar.c:522 + #9 0x10000c3cc in main runner.c:60 + #10 0x7fff5b43b3d4 in start (libdyld.dylib:x86_64+0x163d4) + + SUMMARY: AddressSanitizer: heap-buffer-overflow (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x1f98c) in wrap_memchr + Shadow bytes around the buggy address: + 0x1c0e00003740: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fd fd + 0x1c0e00003750: fd fd fd fd fd fd fd fa fa fa fa fa 00 00 00 00 + 0x1c0e00003760: 00 00 00 00 00 00 fa fa fa fa 00 00 00 00 00 00 + 0x1c0e00003770: 00 00 00 fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x1c0e00003780: fd fd fa fa fa fa fd fd fd fd fd fd fd fd fd fa + =>0x1c0e00003790: fa fa fa fa 00 00 00 00 00 00 00 00 00 00[fa]fa + 0x1c0e000037a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x1c0e000037b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x1c0e000037c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x1c0e000037d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x1c0e000037e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc + +- [Thilo Schulz brought this change] + + openssl.c : Fix use-after-free crash on reinitialization of openssl backend + + file : openssl.c + + notes : + libssh2's openssl backend has a use-after-free condition if HAVE_OPAQUE_STRUCTS is defined and you call libssh2_init() again after prior initialisation/deinitialisation of libssh2 + + credit : Thilo Schulz + +- [axjowa brought this change] + + openssl.h : Use of ifdef where if should be used (#389) + + File : openssl.h + + Notes : + LIBSSH2_ECDSA and LIBSSH2_ED25519 are always defined so the #ifdef + checks would never be false. + + This change makes it possible to build libssh2 against OpenSSL built + without EC support. + + Change-Id: I0a2f07c2d80178314dcb7d505d1295d19cf15afd + + Credit : axjowa + +- [Zenju brought this change] + + Agent.c : Preserve error info from agent_list_identities() (#374) + + Files : agent.c + + Notes : + Currently the error details as returned by agent_transact_pageant() are overwritten by a generic "agent list id failed" message by int agent_list_identities(LIBSSH2_AGENT* agent). + + Credit : + Zenju + +- [Who? Me?! brought this change] + + Channel.c: Make sure the error code is set in _libssh2_channel_open() (#381) + + File : Channel.c + + Notes : + if _libssh2_channel_open() fails, set the error code. + + Credit : + mark-i-m + +- [Orgad Shaneh brought this change] + + Kex.c, Remove unneeded call to strlen (#373) + + File : Kex.c + + Notes : + Removed call to strlen + + Credit : + Orgad Shaneh + +- [Pedro Monreal brought this change] + + Spelling corrections (#380) + + Files : + libssh2.h, libssh2_sftp.h, bcrypt_pbkdf.c, mbedtls.c, sftp.c, ssh2.c + + Notes : + * Fixed misspellings + + Credit : + Pedro Monreal + +- [Sebastián Katzer brought this change] + + Fix Potential typecast error for `_libssh2_ecdsa_key_get_curve_type` (#383) + + Issue : #383 + + Files : hostkey.c, crypto.h, openssl.c + + Notes : + * Fix potential typecast error for `_libssh2_ecdsa_key_get_curve_type` + * Rename _libssh2_ecdsa_key_get_curve_type to _libssh2_ecdsa_get_curve_type + + Credit : + Sebastián Katzer + +GitHub (20 Jun 2019) +- [Will Cosgrove brought this change] + + bump copyright date + +Version 1.9.0 (19 Jun 2019) + +GitHub (19 Jun 2019) +- [Will Cosgrove brought this change] + + 1.9 Formatting + +- [Will Cosgrove brought this change] + + 1.9 Release notes + +Will Cosgrove (17 May 2019) +- [Alexander Curtiss brought this change] + + libgcrypt.c : Fixed _libssh2_rsa_sha1_sign memory leak. (#370) + + File: libgcrypt.c + + Notes : Added calls to gcry_sexp_release to free memory allocated by gcry_sexp_find_token + + Credit : + Reporter : beckmi + PR by: Alexander Curtiss + +- [Orivej Desh brought this change] + + libssh2_priv.h : Fix musl build warning on sys/poll.h (#346) + + File : libssh2_priv.h + + Notes : + musl prints `redirecting incorrect #include to ` + http://git.musl-libc.org/cgit/musl/commit/include/sys/poll.h?id=54446d730cfb17c5f7bcf57f139458678f5066cc + + poll is defined by POSIX to be in poll.h: + http://pubs.opengroup.org/onlinepubs/7908799/xsh/poll.html + + Credit : Orivej Desh + +GitHub (1 May 2019) +- [Will Cosgrove brought this change] + + kex.c : additional bounds checks in diffie_hellman_sha1/256 (#361) + + Files : kex.c, misc.c, misc.h + + Notes : + Fixed possible out of bounds memory access when reading malformed data in diffie_hellman_sha1() and diffie_hellman_sha256(). + + Added _libssh2_copy_string() to misc.c to return an allocated and filled char buffer from a string_buf offset. Removed no longer needed s var in kmdhgGPshakex_state_t. + +Will Cosgrove (26 Apr 2019) +- [Tseng Jun brought this change] + + sftp.c : sftp_bin2attr() Correct attrs->gid assignment (#366) + + Regression with fix for #339 + + Credit : Tseng Jun + +- [Tseng Jun brought this change] + + kex.c : Correct type cast in curve25519_sha256() (#365) + +GitHub (24 Apr 2019) +- [Will Cosgrove brought this change] + + transport.c : scope local total_num var (#364) + + file : transport.c + notes : move local `total_num` variable inside of if block to prevent scope access issues which caused #360. + +Will Cosgrove (24 Apr 2019) +- [doublex brought this change] + + transport.c : fixes bounds check if partial packet is read + + Files : transport.c + + Issue : #360 + + Notes : + 'p->total_num' instead of local value total_num when doing bounds check. + + Credit : Doublex + +GitHub (23 Apr 2019) +- [Will Cosgrove brought this change] + + Editor config file for source files (#322) + + Simple start to an editor config file when editing source files to make sure they are configured correctly. + +- [Will Cosgrove brought this change] + + misc.c : String buffer API improvements (#332) + + Files : misc.c, hostkey.c, kex.c, misc.h, openssl.c, sftp.c + + Notes : + * updated _libssh2_get_bignum_bytes and _libssh2_get_string. Now pass in length as an argument instead of returning it to keep signedness correct. Now returns -1 for failure, 0 for success. + + _libssh2_check_length now returns 0 on success and -1 on failure to match the other string_buf functions. Added comment to _libssh2_check_length. + + Credit : Will Cosgrove + +Will Cosgrove (19 Apr 2019) +- [doublex brought this change] + + mbedtls.c : _libssh2_mbedtls_rsa_new_private_frommemory() allow private-key from memory (#359) + + File : mbedtls.c + + Notes: _libssh2_mbedtls_rsa_new_private_frommemory() fixes private-key from memory reading to by adding NULL terminator before parsing; adds passphrase support. + + Credit: doublex + +- [Ryan Kelley brought this change] + + Session.c : banner_receive() from leaking when accessing non ssh ports (#356) + + File : session.c + + Release previous banner in banner_receive() if the session is reused after a failed connection. + + Credit : Ryan Kelley + +GitHub (11 Apr 2019) +- [Will Cosgrove brought this change] + + Formatting in agent.c + + Removed whitespace. + +- [Will Cosgrove brought this change] + + Fixed formatting in agent.c + + Quiet linter around a couple if blocks and pointer. + +Will Cosgrove (11 Apr 2019) +- [Zhen-Huan HWANG brought this change] + + sftp.c : discard and reset oversized packet in sftp_packet_read() (#269) + + file : sftp.c + + notes : when sftp_packet_read() encounters an sftp packet which exceeds SFTP max packet size it now resets the reading state so it can continue reading. + + credit : Zhen-Huan HWANG + +GitHub (11 Apr 2019) +- [Will Cosgrove brought this change] + + Add agent functions libssh2_agent_get_identity_path() and libssh2_agent_set_identity_path() (#308) + + File : agent.c + + Notes : + Libssh2 uses the SSH_AUTH_SOCK env variable to read the system agent location. However, when using a custom agent path you have to set this value using setenv which is not thread-safe. The new functions allow for a way to set a custom agent socket path in a thread safe manor. + +- [Will Cosgrove brought this change] + + Simplified _libssh2_check_length (#350) + + * Simplified _libssh2_check_length + + misc.c : _libssh2_check_length() + + Removed cast and improved bounds checking and format. + + Credit : Yuriy M. Kaminskiy + +- [Will Cosgrove brought this change] + + _libssh2_check_length() : additional bounds check (#348) + + Misc.c : _libssh2_check_length() + + Ensure the requested length is less than the total length before doing the additional bounds check + +Daniel Stenberg (25 Mar 2019) +- misc: remove 'offset' from string_buf + + It isn't necessary. + + Closes #343 + +- sftp: repair mtime from e1ead35e475 + + A regression from e1ead35e4759 broke the SFTP mtime logic in + sftp_bin2attr + + Also simplified the _libssh2_get_u32/u64 functions slightly. + + Closes #342 + +- session_disconnect: don't zero state, just clear the right bit + + If we clear the entire field, the freeing of data in session_free() is + skipped. Instead just clear the bit that risk making the code get stuck + in the transport functions. + + Regression from 4d66f6762ca3fc45d9. + + Reported-by: dimmaq on github + Fixes #338 + Closes #340 + +- libssh2_sftp.h: restore broken ABI + + Commit 41fbd44 changed variable sizes/types in a public struct which + broke the ABI, which breaks applications! + + This reverts that change. + + Closes #339 + +- style: make includes and examples code style strict + + make travis and the makefile rule verify them too + + Closes #334 + +GitHub (21 Mar 2019) +- [Daniel Stenberg brought this change] + + create a github issue template + +Daniel Stenberg (21 Mar 2019) +- stale-bot: activated + + The stale bot will automatically mark stale issues (inactive for 90 + days) and if still untouched after 21 more days, close them. + + See https://probot.github.io/apps/stale/ + +- libssh2_session_supported_algs.3: fix formatting mistakes + + Reported-by: Max Horn + Fixes #57 + +- [Zenju brought this change] + + libssh2.h: Fix Error C2371 'ssize_t': redefinition + + Closes #331 + +- travis: add code style check + + Closes #324 + +- code style: unify code style + + Indent-level: 4 + Max columns: 79 + No spaces after if/for/while + Unified brace positions + Unified white spaces + +- src/checksrc.pl: code style checker + + imported as-is from curl + +Will Cosgrove (19 Mar 2019) +- Merge branch 'MichaelBuckley-michaelbuckley-security-fixes' + +- Silence unused var warnings (#329) + + Silence warnings about unused variables in this test + +- Removed unneeded > 0 check + + When checking `userauth_kybd_num_prompts > 100` we don't care if it's also above zero. + +- [Matthew D. Fuller brought this change] + + Spell OpenSS_H_ right when talking about their specific private key (#321) + + Good catch, thanks. + +GitHub (19 Mar 2019) +- [Will Cosgrove brought this change] + + Silence unused var warnings (#329) + + Silence warnings about unused variables in this test + +Michael Buckley (19 Mar 2019) +- Fix more scope and printf warning errors + +- Silence unused variable warning + +GitHub (19 Mar 2019) +- [Will Cosgrove brought this change] + + Removed unneeded > 0 check + + When checking `userauth_kybd_num_prompts > 100` we don't care if it's also above zero. + +Will Cosgrove (19 Mar 2019) +- [Matthew D. Fuller brought this change] + + Spell OpenSS_H_ right when talking about their specific private key (#321) + + Good catch, thanks. + +Michael Buckley (18 Mar 2019) +- Fix errors identified by the build process + +- Fix casting errors after merge + +GitHub (18 Mar 2019) +- [Michael Buckley brought this change] + + Merge branch 'master' into michaelbuckley-security-fixes + +Michael Buckley (18 Mar 2019) +- Move fallback SIZE_MAX and UINT_MAX to libssh2_priv.h + +- Fix type and logic issues with _libssh2_get_u64 + +Daniel Stenberg (17 Mar 2019) +- examples: fix various compiler warnings + +- lib: fix various compiler warnings + +- session: ignore pedantic warnings for funcpointer <=> void * + +- travis: add a build using configure + + Closes #320 + +- configure: provide --enable-werror + +- appveyor: remove old builds that mostly cause failures + + ... and only run on master branch. + + Closes #323 + +- cmake: add two missing man pages to get installed too + + Both libssh2_session_handshake.3 and + libssh2_userauth_publickey_frommemory.3 were installed by the configure + build already. + + Reported-by: Arfrever on github + Fixes #278 + +- include/libssh2.h: warning: "_WIN64" is not defined, evaluates to 0 + + We don't use #if for defines that might not be defined. + +- pem: //-comments are not allowed + +Will Cosgrove (14 Mar 2019) +- [Daniel Stenberg brought this change] + + userauth: fix "Function call argument is an uninitialized value" (#318) + + Detected by scan-build. + +- fixed unsigned/signed issue + +Daniel Stenberg (15 Mar 2019) +- session_disconnect: clear state + + If authentication is started but not completed before the application + gives up and instead wants to shut down the session, the '->state' field + might still be set and thus effectively dead-lock session_disconnect. + + This happens because both _libssh2_transport_send() and + _libssh2_transport_read() refuse to do anything as long as state is set + without the LIBSSH2_STATE_KEX_ACTIVE bit. + + Reported in curl bug https://github.com/curl/curl/issues/3650 + + Closes #310 + +Will Cosgrove (14 Mar 2019) +- Release notes from 1.8.1 + +Michael Buckley (14 Mar 2019) +- Use string_buf in sftp_init(). + +- Guard against out-of-bounds reads in publickey.c + +- Guard against out-of-bounds reads in session.c + +- Guard against out-of-bounds reads in userauth.c + +- Use LIBSSH2_ERROR_BUFFER_TOO_SMALL instead of LIBSSH2_ERROR_OUT_OF_BOUNDARY in sftp.c + +- Additional bounds checking in sftp.c + +- Additional length checks to prevent out-of-bounds reads and writes in _libssh2_packet_add(). https://libssh2.org/CVE-2019-3862.html + +- Add a required_size parameter to sftp_packet_require et. al. to require callers of these functions to handle packets that are too short. https://libssh2.org/CVE-2019-3860.html + +- Check the length of data passed to sftp_packet_add() to prevent out-of-bounds reads. + +- Prevent zero-byte allocation in sftp_packet_read() which could lead to an out-of-bounds read. https://libssh2.org/CVE-2019-3858.html + +- Sanitize padding_length - _libssh2_transport_read(). https://libssh2.org/CVE-2019-3861.html + + This prevents an underflow resulting in a potential out-of-bounds read if a server sends a too-large padding_length, possibly with malicious intent. + +- Defend against writing beyond the end of the payload in _libssh2_transport_read(). + +- Defend against possible integer overflows in comp_method_zlib_decomp. + +GitHub (14 Mar 2019) +- [Will Cosgrove brought this change] + + Security fixes (#315) + + * Bounds checks + + Fixes for CVEs + https://www.libssh2.org/CVE-2019-3863.html + https://www.libssh2.org/CVE-2019-3856.html + + * Packet length bounds check + + CVE + https://www.libssh2.org/CVE-2019-3855.html + + * Response length check + + CVE + https://www.libssh2.org/CVE-2019-3859.html + + * Bounds check + + CVE + https://www.libssh2.org/CVE-2019-3857.html + + * Bounds checking + + CVE + https://www.libssh2.org/CVE-2019-3859.html + + and additional data validation + + * Check bounds before reading into buffers + + * Bounds checking + + CVE + https://www.libssh2.org/CVE-2019-3859.html + + * declare SIZE_MAX and UINT_MAX if needed + +- [Will Cosgrove brought this change] + + fixed type warnings (#309) + +- [Will Cosgrove brought this change] + + Bumping version number for pending 1.8.1 release + +Will Cosgrove (4 Mar 2019) +- [Daniel Stenberg brought this change] + + _libssh2_string_buf_free: use correct free (#304) + + Use LIBSSH2_FREE() here, not free(). We allow memory function + replacements so free() is rarely the right choice... + +GitHub (26 Feb 2019) +- [Will Cosgrove brought this change] + + Fix for building against libreSSL #302 + + Changed to use the check we use elsewhere. + +- [Will Cosgrove brought this change] + + Fix for when building against LibreSSL #302 + +Will Cosgrove (25 Feb 2019) +- [gartens brought this change] + + docs: update libssh2_hostkey_hash.3 [ci skip] (#301) + +GitHub (21 Feb 2019) +- [Will Cosgrove brought this change] + + fix malloc/free mismatches #296 (#297) + +- [Will Cosgrove brought this change] + + Replaced malloc with calloc #295 + +- [Will Cosgrove brought this change] + + Abstracted OpenSSL calls out of hostkey.c (#294) + +- [Will Cosgrove brought this change] + + Fix memory dealloc impedance mis-match #292 (#293) + + When using ed25519 host keys and a custom memory allocator. + +- [Will Cosgrove brought this change] + + Added call to OpenSSL_add_all_digests() #288 + + For OpenSSL 1.0.x we need to call OpenSSL_add_all_digests(). + +Will Cosgrove (12 Feb 2019) +- [Zhen-Huan HWANG brought this change] + + SFTP: increase maximum packet size to 256K (#268) + + to match implementations like OpenSSH. + +- [Zenju brought this change] + + Fix https://github.com/libssh2/libssh2/pull/271 (#284) + +GitHub (16 Jan 2019) +- [Will Cosgrove brought this change] + + Agent NULL check in shutdown #281 + +Will Cosgrove (15 Jan 2019) +- [Adrian Moran brought this change] + + mbedtls: Fix leak of 12 bytes by each key exchange. (#280) + + Correctly free ducts by calling _libssh2_mbedtls_bignum_free() in dtor. + +- [alex-weaver brought this change] + + Fix error compiling on Win32 with STDCALL=ON (#275) + +GitHub (8 Nov 2018) +- [Will Cosgrove brought this change] + + Allow default permissions to be used in sftp_mkdir (#271) + + Added constant LIBSSH2_SFTP_DEFAULT_MODE to use the server default permissions when making a new directory + +Will Cosgrove (13 Sep 2018) +- [Giulio Benetti brought this change] + + openssl: fix dereferencing ambiguity potentially causing build failure (#267) + + When dereferencing from *aes_ctr_cipher, being a pointer itself, + ambiguity can occur; fixed possible build errors. + +Viktor Szakats (12 Sep 2018) +- win32/GNUmakefile: define HAVE_WINDOWS_H + + This macro was only used in test/example code before, now it is + also used in library code, but only defined automatically by + automake/cmake, so let's do the same for the standalone win32 + make file. + + It'd be probably better to just rely on the built-in _WIN32 macro + to detect the presence of windows.h though. It's already used + in most of libssh2 library code. There is a 3rd, similar macro + named LIBSSH2_WIN32, which might also be replaced with _WIN32. + + Ref: https://github.com/libssh2/libssh2/commit/8b870ad771cbd9cd29edbb3dbb0878e950f868ab + Closes https://github.com/libssh2/libssh2/pull/266 + +Marc Hoersken (2 Sep 2018) +- Fix conditional check for HAVE_DECL_SECUREZEROMEMORY + + "Unlike the other `AC_CHECK_*S' macros, when a symbol is not declared, + HAVE_DECL_symbol is defined to `0' instead of leaving HAVE_DECL_symbol + undeclared. When you are sure that the check was performed, + use HAVE_DECL_symbol in #if." + + Source: autoconf documentation for AC_CHECK_DECLS. + +- Fix implicit declaration of function 'SecureZeroMemory' + + Include window.h in order to use SecureZeroMemory on Windows. + +- Fix implicit declaration of function 'free' by including stdlib.h + +GitHub (27 Aug 2018) +- [Will Cosgrove brought this change] + + Use malloc abstraction function in pem parse + + Fix warning on WinCNG build. + +- [Will Cosgrove brought this change] + + Fixed possible junk memory read in sftp_stat #258 + +- [Will Cosgrove brought this change] + + removed INT64_C define (#260) + + No longer used. + +- [Will Cosgrove brought this change] + + Added conditional around engine.h include + +Will Cosgrove (6 Aug 2018) +- [Alex Crichton brought this change] + + Fix OpenSSL link error with `no-engine` support (#259) + + This commit fixes linking against an OpenSSL library that was compiled with + `no-engine` support by bypassing the initialization routines as they won't be + available anyway. + +GitHub (2 Aug 2018) +- [Will Cosgrove brought this change] + + ED25519 Key Support #39 (#248) + + OpenSSH Key and ED25519 support #39 + Added _libssh2_explicit_zero() to explicitly zero sensitive data in memory #120 + + * ED25519 Key file support - Requires OpenSSL 1.1.1 or later + * OpenSSH Key format reading support - Supports RSA/DSA/ECDSA/ED25519 types + * New string buffer reading functions - These add build-in bounds checking and convenance methods. Used for OpenSSL PEM file reading. + * Added new tests for OpenSSH formatted Keys + +- [Will Cosgrove brought this change] + + ECDSA key types are now explicit (#251) + + * ECDSA key types are now explicit + + Issue was brough up in pull request #248 diff --git a/curl/dep/libssh2/README.txt b/curl/dep/libssh2/README.txt new file mode 100644 index 0000000..fca539d --- /dev/null +++ b/curl/dep/libssh2/README.txt @@ -0,0 +1,19 @@ +libssh2 - SSH2 library +====================== + +libssh2 is a library implementing the SSH2 protocol, available under +the revised BSD license. + +Web site: https://libssh2.org/ + +Mailing list: https://lists.haxx.se/listinfo/libssh2-devel + +License: see COPYING + +Source code: https://github.com/libssh2/libssh2 + +Web site source code: https://github.com/libssh2/www + +Installation instructions are in: + - docs/INSTALL_CMAKE for CMake + - docs/INSTALL_AUTOTOOLS for Autotools diff --git a/curl/dep/libssh2/RELEASE-NOTES.txt b/curl/dep/libssh2/RELEASE-NOTES.txt new file mode 100644 index 0000000..d9af168 --- /dev/null +++ b/curl/dep/libssh2/RELEASE-NOTES.txt @@ -0,0 +1,325 @@ +libssh2 1.11.1 + +Deprecation notices: + +- Starting October 2024, the following algos go deprecated and will be + disabled in default builds (with an option to enable them): + + - DSA: `ssh-dss` hostkeys. + You can enable it now with `-DLIBSSH2_DSA_ENABLE`. + Disabled by default in OpenSSH 7.0 (2015-08-11). + Support to be removed by early 2025 from OpenSSH. + - MD5-based MACs and hashes: `hmac-md5`, `hmac-md5-96`, + `LIBSSH2_HOSTKEY_HASH_MD5` + You can disable it now with `-DLIBSSH2_NO_MD5`. + Disabled by default since OpenSSH 7.2 (2016-02-29). + - 3DES cipher: `3des-cbc` + You can disable it now with `-DLIBSSH2_NO_3DES`. + Disabled by default since OpenSSH 7.4 (2016-12-19). + - RIPEMD-160 MACs: `hmac-ripemd160`, `hmac-ripemd160@openssh.com` + You can disable it now with `-DLIBSSH2_NO_HMAC_RIPEMD`. + Removed in OpenSSH 7.6 (2017-10-03). + - Blowfish cipher: `blowfish-cbc` + You can disable it now with `-DLIBSSH2_NO_BLOWFISH`. + Removed in OpenSSH 7.6 (2017-10-03). + - RC4 ciphers: `arcfour`, `arcfour128` + You can disable it now with `-DLIBSSH2_NO_RC4`. + Removed in OpenSSH 7.6 (2017-10-03). + - CAST cipher: `cast128-cbc` + You can disable it now with `-DLIBSSH2_NO_CAST`. + Removed in OpenSSH 7.6 (2017-10-03). + +- Starting April 2025, above options will be deleted from the + libssh2 codebase. + + - Default builds will also disable support for old-style, MD5-based + encrypted private keys. + You can disable it now with `-DLIBSSH2_NO_MD5_PEM`. + +This release includes the following enhancements and bugfixes: + +- autotools: fix to update `LDFLAGS` for each detected dependency (d19b6190 #1384 #1381 #1377) +- autotools: delete `--disable-tests` option, fix CI tests (e051ae34 #1271 #715 revert: 7483edfa) +- autotools: show the default for `hidden-symbols` option (a3f5594a #1269) +- autotools: enable `-Wunused-macros` with gcc (ecdf5199 #1262 #1227 #1224) +- autotools: fix dotless gcc and Apple clang version detections (89ccc83c #1232 #1187) +- autotools: show more clang/gcc version details (fb580161 #1230) +- autotools: avoid warnings in libtool stub code (96682bd5 #1227 #1224) +- autotools: sync warning enabler code with curl (5996fefe #1223) +- autotools: rename variable (ce5f208a #1222) +- autotools: picky warning options tidy-up (cdca8cff #1221) +- autotools: fix `cp` to preserve attributes and timestamp in `Makefile.am` (f64e6318) +- autotools: fix selecting WinCNG in cross-builds (and more) (00a3b88c #1187 #1186) +- autotools: use comma separator in `Requires.private` of `libssh2.pc` (7f83de14 #1124) +- autotools: remove `AB_INIT` from `configure.ac` (f4f52ccc) +- autotools: improve libz position (c89174a7 #1077 #941 #1075 #1013 regr: 4f0f4bff) +- autotools: skip tests requiring static lib if `--disable-static` (572c57c9 #1072 #663 #1056 regr: 83853f8a) +- build: stop detecting `sys/param.h` header (2677d3b0 #1418 #1415) +- build: silence warnings inside `FD_SET()`/`FD_ISSET()` macros (323a14b2 #1379) +- build: drop `-Wformat-nonliteral` warning suppressions (c452c5cc #1342) +- build: enable `-pedantic-errors` (3ec53f3e #1286) +- build: add mingw-w64 support to `LIBSSH2_PRINTF()` attribute (f8c45794 #1287) +- build: add `LIBSSH2_NO_DEPRECATED` option (b1414503 #1267 #1266 #1260 #1259) +- build: enable missing OpenSSF-recommended warnings, with fixes (afa6b865 #1257) +- build: enable more compiler warnings and fix them (7ecc309c #1224) +- build: picky warning updates (328a96b3 #1219) +- build: revert: respect autotools `DLL_EXPORT` in `libssh2.h` (481be044 #1141 #917 revert: fb1195cf) +- build: stop requiring libssl from openssl (c84745e3 #1128) +- build: tidy-up `libssh2.pc.in` variable names (5720dd9f #1125) +- build: add/fix `Requires.private` packages in `libssh2.pc` (ef538069 #1123) +- buildconf: drop (814a850c #1441 follow: fc5d7788) +- checksrc: update, check all sources, fix fallouts (1117b677 #1457) +- checksrc: sync with curl (8cd473c9 #1272) +- checksrc: fix spelling in comment (a95d401f) +- checksrc: modernise Perl file open (3d309f9b) +- checksrc: switch to dot file (d67a91aa #1052) +- ci: use Ninja with cmake (20ad047d #1458) +- ci: disable dependency tracking in autotools builds (e44f0418 #1396) +- ci: fix mbedtls runners on macOS (84411539 #1381) +- ci: enable Unity mode for most CMake builds (1bfae57b #1367 #1034) +- ci: add shellcheck job and script (d88b9bcd) +- ci: verify build and install from tarball (a86e27e8 #1362) +- ci: add reproducibility test for `maketgz` (2d765e45 #1360) +- ci: use Linux runner for BSDs, add arm64 FreeBSD 14 job (6f86b196 #1343) +- ci: do not parallelize `distcheck` job (5e65dd87 #1339) +- ci: add FreeBSD 14 job, fix issues (46333adf #1277) +- ci: add OmniOS job, fix issues (5e0ec991) +- ci: show compiler in cross/cygwin job names (c9124088) +- ci: add OpenBSD (v7.4) job + fix build error in example (0c9a8e35 #1250) +- ci: add NetBSD (v9.3) job (65c7a7a5) +- ci: update and speed up FreeBSD job (eee4e805) +- ci: use absolute path in `CMAKE_INSTALL_PREFIX` (74948816 #1247) +- ci: boost mbedTLS build speed (236e79a1 #1245) +- ci: add BoringSSL job (cmake, gcc, amd64) (c9dd3566 #1233) +- ci: fixup FreeBSD version, bump mbedTLS (fea6664e #1217) +- ci: add FreeBSD 13.2 job (a7d2a573 #1215) +- ci: mbedTLS 3.5.0 (5e190442 #1202) +- ci: update actions, use shallow clones with appveyor (d468a33f #1199) +- ci: replace `mv` + `chmod` with `install` in `Dockerfile` (5754fed6 #1175) +- ci: set file mode early in `appveyor_docker.yml` (633db55f) +- ci: add spellcheck (codespell) (a79218d3) +- ci: add MSYS builds (autotools and cmake) (d43b8d9b #1162) +- ci: add Cygwin builds (autotools and cmake) (f1e96e73 #1161) +- ci: add mingw-w64 UWP build (1215aa5f #1155 #1147) +- ci: add missing timeout to 'autotools distcheck' step (6265ffdb) +- ci: add non-static autotools i386 build, ignore GHA updates on AppVeyor (c6e137f7 #1074 #1072) +- ci: prefer `=` operator in shell snippets (e5c03043 #1073) +- ci: drop redundant/unused vars, sync var names (ab8e95bc #1059) +- ci: add i386 Linux build (with mbedTLS) (abdf40c7 #1057 #1053) +- ci/appveyor: reduce test runs (workaround for infrastructure permafails) (b5e68bdc #1461) +- ci/appveyor: increase wait for SSH server on GHA (bf3af90b) +- ci/appveyor: bump to OpenSSL 3.2.1 (53d9c1a6 #1363 #1348) +- ci/appveyor: re-enable parallel mode (e190e5b2 #1294 #884 #867) +- ci/appveyor: delete UWP job broken since Visual Studio upgrade (d0a7f1da #1275) +- ci/appveyor: YAML/PowerShell formatting, shorten variable name (06fd721f #1200) +- ci/appveyor: move to pure PowerShell (8a081fd9 #1197) +- ci/GHA: revert concurrency and improve permissions (e4c042f6) +- ci/GHA: FreeBSD 14.1, actions bump (ae04b1b9 #1424) +- ci/GHA: fix wolfSSL-from-source AES-GCM tests (1c0b07a7 #1409 #1408) +- ci/GHA: add Linux job with latest wolfSSL built from source (d4cea53f #1408 #1299 #1020) +- ci/GHA: tidy up build-from-source steps (2c633033) +- ci/GHA: show configure logs on failure and other tidy-ups (dab48398 #1403) +- ci/GHA: bump parallel jobs to nproc+1 (6f3d3bc8 #1402) +- ci/GHA: show test logs on failure (b8ffa7a5 #1401) +- ci/GHA: fix `Dockerfile` failing after Ubuntu package update (839bb84e #1400) +- ci/GHA: use ubuntu-latest with OmniOS job (50143d58) +- ci/GHA: shell syntax tidy-up (3b23e039 #1390) +- ci/GHA: bump NetBSD/OpenBSD, add NetBSD arm64 job (e980af72 #1388) +- ci/GHA: tidy up wolfSSL autotools config on macOS (5953c1f1 #1383) +- ci/GHA: shorter mbedTLS autotools workaround (736e3d7d #1382 #1381) +- ci/GHA: fix gcrypt with autotools/macOS/Homebrew/ARM64 (ae2770de #1377) +- ci/GHA: fix verbose option for autotools jobs (499b27ae #1376) +- ci/GHA: dump `config.log` on failure for macOS autotools jobs (4fa69214 #1375) +- ci/GHA: fix `autoreconf` failure on macOS/Homebrew (0b64b30b #1374) +- ci/GHA: fixup Homebrew location (for ARM runners) (6128aee0 #1373) +- ci/GHA: review/fixup auto-cancel settings (b08cfbc9 #1292) +- ci/GHA: restore curly braces in `if` (36748270 #1145) +- ci/GHA: simplify `if` strings (cab3db58 #1140) +- cmake: sync and improve Find modules, add `pkg-config` native detection (45064137 #1445 #1420) +- cmake: generate `LIBSSH2_PC_LIBS_PRIVATE` dynamically (c87f1296 #1466) +- cmake: add comment about `ibssh2.pc.in` variables (14b1b9d0) +- cmake: support absolute `CMAKE_INSTALL_INCLUDEDIR`/`CMAKE_INSTALL_LIBDIR` (d70cee36 #1465) +- cmake: rename two variables and initialize them (0fce9dcc #1464) +- cmake: prefer `find_dependency()` in `libssh2-config.cmake` (d9c2e550 #1460) +- cmake: tidy up syntax, minor improvements (9d9ee780 #1446) +- cmake: rename mbedTLS and wolfSSL Find modules (570de0f2) +- cmake: fixup version detection in mbedTLS Find module (8e3c40b2 #1444) +- cmake: mbedTLS detection tidy-ups (6d1d13c2 #1438) +- cmake: add quotes, delete ending dirseps (2bb46d44 #1437 #1166) +- cmake: sync formatting in `cmake/Find*` modules (a0310699) +- cmake: tidy up function name casing in `CopyRuntimeDependencies.cmake` (03547cb8) +- cmake: use the imported target of FindOpenSSL module (82b09f9b #1322) +- cmake: rename picky warnings script (64d6789f #1225) +- cmake: fix multiple include of libssh2 package (932d6a32 #1216) +- cmake: show crypto backend in feature summary (20387285 #1211) +- cmake: simplify showing CMake version (fc00bdd7 #1203) +- cmake: cleanup mbedTLS version detection more (4c241d5c #1196 #1192) +- cmake: delete duplicate `include()` (30eef0a6) +- cmake: improve/fix mbedTLS detection (41594675 #1192 #1191) +- cmake: tidy-up `foreach()` syntax (4a64ca14 #1180) +- cmake: verify `libssh2_VERSION` in integration tests (a20572e9) +- cmake: show cmake versions in ci (87f5769b) +- cmake: quote more strings (e9c7d3af #1173) +- cmake: add `ExternalProject` integration test (aeaefaf6 #1171) +- cmake: add integration tests (8715c3d5 #1170) +- cmake: (re-)add aliases for `add_subdirectory()` builds (4ff64ae3 #1169) +- cmake: style tidy-up (3fa5282d #1166) +- cmake: add `LIB_NAME` variable (5453fc80 #1159) +- cmake: tidy-up concatenation in `CMAKE_MODULE_PATH` (ae7d5108 #1157) +- cmake: replace `libssh2` literals with `PROJECT_NAME` variable (72fd2595 #1152) +- cmake: fix `STREQUAL` check in error branch (42d3bf13 #1151) +- cmake: cache more config values on Windows (11a03690 #1142) +- cmake: streamline invocation (f58f77b5 #1138) +- cmake: merge `set_target_properties()` calls (a9091007 #1132) +- cmake: (re-)add zlib to `Libs.private` in `libssh2.pc` (64643018 #1131) +- cmake: use `wolfssl/options.h` for detection, like autotools (c5ec6c49 #1130) +- cmake: add openssl libs to `Libs.private` in `libssh2.pc` (5cfa59d3 #1127) +- cmake: bump minimum CMake version to v3.7.0 (9cd18f45 #1126) +- cmake: CMAKE_SOURCE_DIR -> PROJECT_SOURCE_DIR (0f396aa9 #1121) +- cmake: tidy-ups (2fc36790 #1122) +- cmake: re-add `Libssh2:libssh2` for compatibility + lowercase namespace (2da13c13 #1104 #731 #1103) +- copyright: remove years from copyright headers (187d89bb #1082) +- disable DSA by default (b7ab0faa #1435 #1433) +- docs: update `INSTALL_AUTOTOOLS` (2f0efde3 #1316) +- docs: replace SHA1 with SHA256 in CMake example (766bde9f) +- example: restore `sys/time.h` for AIX (24503cb9 #1340 #1335 #1334 #1001 regr: e53aae0e) +- example: use `libssh2_socket_t` in X11 example (3f60ccb7) +- example: replace remaining libssh2_scp_recv with libssh2_scp_recv2 in output messages (8d69e63d #1258 follow: 6c84a426) +- example: fix regression in `ssh2_exec.c` (279a2e57 #1106 #861 #846 #1105 regr: b13936bd) +- example, tests: call `WSACleanup()` for each `WSAStartup()` (94b6bad3 #1283) +- example, tests: fix/silence `-Wformat-truncation=2` gcc warnings (744e059f) +- hostkey: do not advertise ssh-rsa when SHA1 is disabled (82d1b8ff #1093 #1092) +- kex: prevent possible double free of hostkey (b3465418 #1452) +- kex: always check for null pointers before calling _libssh2_bn_set_word (9f23a3bb #1423) +- kex: fix a memory leak in key exchange (19101843 #1412 #1404) +- kex: always add extension indicators to kex_algorithms (00e2a07e #1327 #1326) +- libssh2.h: add deprecated function warnings (9839ebe5 #1289 #1260) +- libssh2.h: add portable `LIBSSH2_SOCKET_CLOSE()` macro (28dbf016 #1278) +- libssh2.h: use `_WIN32` for Windows detection instead of rolling our own (631e7734 #1238) +- libssh2.pc: reference mbedcrypto pkgconfig (c149a127 #1405) +- libssh2.pc: re-add & extend support for static-only libssh2 builds (624abe27 #1119 #1114) +- libssh2.pc: don't put `@LIBS@` in pc file (1209c16d) +- mac: add empty hash functions for `mac_method_hmac_aesgcm` to not crash when e.g. setting `LIBSSH2_METHOD_CRYPT_CS` (b2738391 #1321) +- mac: handle low-level errors (f64885b6 #1297) +- Makefile.mk: delete Windows-focused raw GNU Make build (43485579 #1204) +- maketgz: reproducible tarballs/zip, display tarball hashes (d52fe1b4 #1357 #1359) +- maketgz: `set -eu`, reproducibility, improve zip, add CI test (cba7f975 #1353) +- man: improve `libssh2_userauth_publickey_from*` manpages (581b72aa #1347 #1308 #652) +- man: fix double spaces and dash escaping (a3ffc422 #1210) +- man: add description to `libssh2_session_get_blocking.3` (67e39091 #1185) +- mbedtls: always init ECDSA mbedtls_pk_context (a50d7deb #1430) +- mbedtls: correctly initialize values (ECDSA) (1701d5c0 #1428 #1421) +- mbedtls: expose `mbedtls_pk_load_file()` for our use (1628f6ca #1421 #1393 #1349 follow: e973493f) +- mbedtls: add workaround + FIXME to build with 3.6.0 (2e4c5ec4 #1349) +- mbedtls: improve disabling `-Wredundant-decls` (ecec68a2 #1226 #1224) +- mbedtls: include `version.h` for `MBEDTLS_VERSION_NUMBER` (9d7bc253 #1095 #1094) +- mbedtls: use more `size_t` to sync up with `crypto.h` (1153ebde #1054 #879 #846 #1053) +- md5: allow disabling old-style encrypted private keys at build-time (eb9f9de2 #1181) +- mingw: fix printf mask for 64-bit integers (36c1e1d1 #1091 #876 #846 #1090) +- misc: flatten `_libssh2_explicit_zero` if tree (74e74288 #1149) +- NMakefile: delete (c515eed3 #1134 #1129) +- openssl: free allocated resources when using openssl3 (b942bad1 #1459) +- openssl: fix memory leaks in `_libssh2_ecdsa_curve_name_with_octal_new` and `_libssh2_ecdsa_verify` (8d3bc19b #1449) +- openssl: fix calculating DSA public key with OpenSSL 3 (8b3c6e9d #1380) +- openssl: initialize BIGNUMs to NULL in `gen_publickey_from_dsa` for OpenSSL 3 (f1133c75 #1320) +- openssl: fix cppcheck found NULL dereferences (f2945905 #1304) +- openssl: delete internal `read_openssh_private_key_from_memory()` (34aff5ff #1306) +- openssl: use OpenSSL 3 HMAC API, add `no-deprecated` CI job (363dcbf4 #1243 #1235 #1207) +- openssl: make a function static, add `#ifdef` comments (efee9133 #1246 #248 follow: 03092292) +- openssl: fix DSA code to use OpenSSL 3 API (82581941 #1244 #1207) +- openssl: fix `EC_KEY` reference with OpenSSL 3 `no-deprecated` build (487152f4 #1236 #1235 #1207) +- openssl: use non-deprecated APIs with OpenSSL 3.x (b0ab005f #1207) +- openssl: silence `-Wunused-value` warnings (bf285500 #1205) +- openssl: use automatic initialization with LibreSSL 2.7.0+ (d79047c9 #1146 #302) +- openssl: add missing check for `LIBRESSL_VERSION_NUMBER` before use (4a42f42e #1117 #1115) +- os400: drop vsprintf() use (40e817ff #1462 #1457) +- os400: Add two recent files to the distribution (e4c65e5b #1364) +- os400: fix shellcheck warnings in scripts (fixups) (81341e1e #1366 #1364 #1358) +- os400: fix shellcheck warnings in scripts (c6625707 #1358) +- os400: maintain up to date (8457c37a #1309) +- packet: properly bounds check packet_authagent_open() (88a960a8 #1179) +- pem: fix private keys encrypted with AES-GCM methods (e87bdefa #1133) +- reuse: upgrade to `REUSE.toml` (70b8bf31 #1419) +- reuse: fix duplicate copyright warning (b9a4ed83) +- reuse: comply with 3.1 spec and 2.0.0 checker (fe6239a1 #1102 #1101 #1098) +- reuse: provide SPDX identifiers (f6aa31f4 #1084) +- scp: fix missing cast for targets without large file support (c317e06f #1060 #1057 #1002 regr: 5db836b2) +- session: support server banners up to 8192 bytes (was: 256) (1a9e8811 #1443 #1442) +- session: add `libssh2_session_callback_set2()` (c0f69548 #1285) +- session: handle EINTR from send/recv/poll/select to try again as the error is not fatal (798ed4a7 #1058 #955) +- sftp: increase SFTP_HANDLE_MAXLEN back to 4092 (75de6a37 #1422) +- sftp: implement posix-rename@openssh.com (fb652746 #1386) +- src: implement chacha20-poly1305@openssh.com (492bc543 #1426 #584) +- src: use `UINT32_MAX` (dc206408 #1413) +- src: fix type warning in `libssh2_sftp_unlink` macro (ac2e8c73 #1406) +- src: check the return value from `_libssh2_bn_*()` functions (95c824d5 #1354) +- src: support RSA-SHA2 cert-based authentication (rsa-sha2-512_cert and rsa-sha2-256_cert) (3a6ab70d #1314) +- src: check hash update/final success (4718ede4 #1303 #1301) +- src: check hash init success (2ed9eb92 #1301) +- src: add 'strict KEX' to fix CVE-2023-48795 "Terrapin Attack" (d34d9258 #1291 #1290) +- src: disable `-Wsign-conversion` warnings, add option to re-enable (6e451669 #1284 #1257) +- src: fix gcc 13 `-Wconversion` warning on Darwin (8cca7b77 #1209 follow: 08354e0a) +- src: drop a redundant `#include` (1f0174d0 #1153) +- src: improve MSVC C4701 warning fix (8b924999 #1086 #876 #1083) +- src: bump `hash_len` to `size_t` in `LIBSSH2_HOSTKEY_METHOD` (8b917d76 #1076) +- src: bump DSA and ECDSA sign `hash_len` to `size_t` (7b8e0225 #1055) +- tests: avoid using `MAXPATHLEN`, for portability (12427f4f #1415 #198 #1414) +- tests: fix excluding AES-GCM tests (fbd9d192 #1410) +- tests: drop default cygpath option `-u` (38e50aa0) +- tests: fix shellcheck issues in `test_sshd.test` (a2ac8c55) +- tests: sync port number type with the rest of codebase (eb996af8) +- tests: fall back to `$LOGNAME` for username (5326a5ce #1241 #1240) +- tests: show cmake version used in integration tests (2cd2f40e #1201) +- tests: formatting and tidy-ups (e61987a3) +- tests: replace FIXME with comments (1a99a86a) +- tests: add aes256-gcm encrypted key test (802336cf #1135 #1133) +- tests: trap signals in scripts (b2916b28 #1098) +- tests: cast to avoid `-Wchar-subscripts` with Cygwin (43df6a46 #1081 #1080) +- test_read: make it run without Docker (57e9d18e #1139) +- test_sshd.test: show sshd and test connect logs on harness failure (299c2040 #1097) +- test_sshd.test: set a safe PID directory (e8cabdcf #1089) +- test_sshd.test: minor cleanups (d29eea1d) +- tidy-up: link updates (c905bfd2 #1434) +- tidy-up: typo in comment (792e1b6f) +- tidy-up: fix typo found by codespell (706ec36d) +- tidy-up: bump casts from int to long for large C99 types in printfs (2e5a8719 #1264 #1257) +- tidy-up: `unsigned` -> `unsigned int` (b136c379) +- tidy-up: stop using leading underscores in macro names (c6589b88 #1248) +- tidy-up: around `stdint.h` (bfa00f1b #1212) +- tidy-up: fix typo in `readme.vms` (a9a79e7a) +- tidy-up: use built-in `_WIN32` macro to detect Windows (6fbc9505 #1195) +- tidy-up: drop `www.` from `www.libssh2.org` (6e3e8839 #1172) +- tidy-up: delete duplicate word from comment (76307435) +- tidy-up: avoid exclamations, prefer single quotes, in outputs (003fb454 #1079) +- TODO: disable or drop weak algos (0b4bdc85 #1261) +- transport: fix unstable connections over non-blocking sockets (de004875 #1454 #720 #1431 #1397) +- transport: check ETM on remote end when receiving (bde10825 #1332 #1331) +- transport: fix incorrect byte offset in debug message (2388a3aa #1096) +- userauth: avoid oob with huge interactive kbd response (f3a85cad #1337) +- userauth: add a new structure to separate memory read and file read (63b4c20e #773) +- userauth: check whether `*key_method` is a NULL pointer instead of `key_method` (bec57c40) +- wincng: fix `DH_GEX_MAXGROUP` set higher than supported (48584671 #1372 #493) +- wincng: add to ci/GHA, add `./configure` option `--enable-ecdsa-wincng` (3f98bfb0 #1368 #1315) +- wincng: add ECDSA support for host and user authentication (3e723437 #1315) +- wincng: prefer `ULONG`/`DWORD` over `unsigned long` (186c1d63 #1165) +- wincng: tidy-ups (7bb669b5 #1164) +- wolfssl: drop header path hack (8ae1b2d7 #1439) +- wolfssl: fix `EVP_Cipher()` use with v5.6.0 and older (a5b0fac2 #1407 #1394 #797 #1299 #1020) +- wolfssl: bump version in upstream issue comment (5cab802c) +- wolfssl: require v5.4.0 for AES-GCM (260a721c #1411 #1299 #1020) +- wolfssl: enable debug logging in wolfSSL when compiled in (76e7a68a #1310) + +This release would not have looked like this without help, code, reports and +advice from friends like these: + + Viktor Szakats, Michael Buckley, Patrick Monnerat, Ren Mingshuai, + Will Cosgrove, Daniel Stenberg, Josef Cejka, Nicolas Mora, Ryan Kelley, + Aaron Stone, Adam, Anders Borum, András Fekete, Andrei Augustin, binary1248, + Brian Inglis, brucsc on GitHub, concussious on github, Dan Fandrich, + dksslq on github, Haowei Hsu, Harmen Stoppels, Harry Mallon, Jack L, + Jakob Egger, Jiwoo Park, João M. S. Silva, Joel Depooter, Johannes Passing, + Jose Quaresma, Juliusz Sosinowicz, Kai Pastor, Kenneth Davidson, + klux21 on github, Lyndon Brown, Marc Hoersken, mike-jumper, naddy, + Nursan Valeyev, Paul Howarth, PewPewPew, Radek Brich, rahmanih on github, + rolag on github, Seo Suchan, shubhamhii on github, Steve McIntyre, + Tejaswi Kandula, Tobias Stoeckmann, Trzik, Xi Ruoyao diff --git a/curl/dep/libssh2/docs/AUTHORS.txt b/curl/dep/libssh2/docs/AUTHORS.txt new file mode 100644 index 0000000..e94299f --- /dev/null +++ b/curl/dep/libssh2/docs/AUTHORS.txt @@ -0,0 +1,80 @@ + libssh2 is the result of many friendly people. This list is an attempt to + mention all contributors. If we have missed anyone, tell us! + + This list of names is a-z sorted. + +Adam Gobiowski +Alexander Holyapin +Alexander Lamaison +Alfred Gebert +Ben Kibbey +Bjorn Stenborg +Carlo Bramini +Cristian Rodríguez +Daiki Ueno +Dan Casey +Dan Fandrich +Daniel Stenberg +Dave Hayden +Dave McCaldon +David J Sullivan +David Robins +Dmitry Smirnov +Douglas Masterson +Edink Kadribasic +Erik Brossler +Francois Dupoux +Gellule Xg +Grubsky Grigory +Guenter Knauf +Heiner Steven +Henrik Nordstrom +James Housleys +Jasmeet Bagga +Jean-Louis Charton +Jernej Kovacic +Joey Degges +John Little +Jose Baars +Jussi Mononen +Kamil Dudka +Lars Nordin +Mark McPherson +Mark Smith +Markus Moeller +Matt Lilley +Matthew Booth +Maxime Larocque +Mike Protts +Mikhail Gusarov +Neil Gierman +Olivier Hervieu +Paul Howarth +Paul Querna +Paul Veldkamp +Peter Krempa +Peter O'Gorman +Peter Stuge +Pierre Joye +Rafael Kitover +Romain Bondue +Sara Golemon +Satish Mittal +Sean Peterson +Selcuk Gueney +Simon Hart +Simon Josefsson +Sofian Brabez +Steven Ayre +Steven Dake +Steven Van Ingelgem +TJ Saunders +Tommy Lindgren +Tor Arntsen +Viktor Szakats +Vincent Jaulin +Vincent Torri +Vlad Grachov +Wez Furlong +Yang Tse +Zl Liu diff --git a/curl/dep/libssh2/docs/HACKING-CRYPTO.txt b/curl/dep/libssh2/docs/HACKING-CRYPTO.txt new file mode 100644 index 0000000..1ef6c44 --- /dev/null +++ b/curl/dep/libssh2/docs/HACKING-CRYPTO.txt @@ -0,0 +1,989 @@ + Definitions needed to implement a specific crypto library + +This document offers some hints about implementing a new crypto library +interface. + +A crypto library interface consists of at least a header file, defining +entities referenced from the libssh2 core modules. +Real code implementation (if needed), is left at the implementor's choice. + +This document lists the entities that must/may be defined in the header file. + +Procedures listed as "void" may indeed have a result type: the void indication +indicates the libssh2 core modules never use the function result. + + +0) Build system. + +Adding a crypto backend to the autotools build system (./configure) is easy: + +0.1) Add one new line in configure.ac + +m4_set_add([crypto_backends], [newname]) + +This automatically creates a --with-crypto=newname option. + +0.2) Add an m4_case stanza to LIBSSH2_CRYPTO_CHECK in acinclude.m4 + +This must check for all required libraries, and if found set and AC_SUBST a +variable with the library linking flags. The recommended method is to use +LIBSSH2_LIB_HAVE_LINKFLAGS from LIBSSH2_CRYPTO_CHECK, which automatically +creates and handles a --with-$newname-prefix option and sets an +LTLIBNEWNAME variable on success. + +0.3) Add new header to src/Makefile.inc + +0.4) Include new source in src/crypto.c + +0.5) Add a new block in configure.ac + +``` +elif test "$found_crypto" = "newname"; then + LIBS="${LIBS} ${LTLIBNEWNAME}" +``` + +0.6) Add CMake detection logic to CMakeLists.txt + +1) Crypto library initialization/termination. + +void libssh2_crypto_init(void); +Initializes the crypto library. May be an empty macro if not needed. + +void libssh2_crypto_exit(void); +Terminates the crypto library use. May be an empty macro if not needed. + +1.1) Crypto runtime detection + +The libssh2_crypto_engine_t enum must include the new engine, and +libssh2_crypto_engine() must return it when it is built in. + +2) HMAC + +libssh2_hmac_ctx +Type of an HMAC computation context. Generally a struct. +Used for all hash algorithms. + +int _libssh2_hmac_ctx_init(libssh2_hmac_ctx *ctx); +Initializes the HMAC computation context ctx. +Called before setting-up the hash algorithm. +Must return 1 for success and 0 for failure. + +int _libssh2_hmac_update(libssh2_hmac_ctx *ctx, + const void *data, int datalen); +Continue computation of an HMAC on datalen bytes at data using context ctx. +Must return 1 for success and 0 for failure. + +int _libssh2_hmac_final(libssh2_hmac_ctx *ctx, + void output[]); +Get the computed HMAC from context ctx into the output buffer. The +minimum data buffer size depends on the HMAC hash algorithm. +Must return 1 for success and 0 for failure. + +void _libssh2_hmac_cleanup(libssh2_hmac_ctx *ctx); +Releases the HMAC computation context at ctx. + + +3) Hash algorithms. + +3.1) SHA-1 +Must always be implemented. + +SHA_DIGEST_LENGTH +#define to 20, the SHA-1 digest length. + +libssh2_sha1_ctx +Type of an SHA-1 computation context. Generally a struct. + +int libssh2_sha1_init(libssh2_sha1_ctx *x); +Initializes the SHA-1 computation context at x. +Returns 1 for success and 0 for failure + +int libssh2_sha1_update(libssh2_sha1_ctx ctx, + const unsigned char *data, + size_t len); +Continue computation of SHA-1 on len bytes at data using context ctx. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha1_final(libssh2_sha1_ctx ctx, + unsigned char output[SHA_DIGEST_LEN]); +Get the computed SHA-1 signature from context ctx and store it into the +output buffer. +Release the context. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_hmac_sha1_init(libssh2_hmac_ctx *ctx, + const void *key, + int keylen); +Setup the HMAC computation context ctx for an HMAC-SHA-1 computation using the +keylen-byte key. Is invoked just after libssh2_hmac_ctx_init(). +Returns 1 for success and 0 for failure. + +3.2) SHA-256 +Must always be implemented. + +SHA256_DIGEST_LENGTH +#define to 32, the SHA-256 digest length. + +libssh2_sha256_ctx +Type of an SHA-256 computation context. Generally a struct. + +int libssh2_sha256_init(libssh2_sha256_ctx *x); +Initializes the SHA-256 computation context at x. +Returns 1 for success and 0 for failure + +int libssh2_sha256_update(libssh2_sha256_ctx ctx, + const unsigned char *data, + size_t len); +Continue computation of SHA-256 on len bytes at data using context ctx. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha256_final(libssh2_sha256_ctx ctx, + unsigned char output[SHA256_DIGEST_LENGTH]); +Gets the computed SHA-256 signature from context ctx into the output buffer. +Release the context. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha256(const unsigned char *message, + size_t len, + unsigned char output[SHA256_DIGEST_LENGTH]); +Computes the SHA-256 signature over the given message of length len and +store the result into the output buffer. +Return 1 if error, else 0. +Note: Seems unused in current code, but defined in each crypto library backend. + +LIBSSH2_HMAC_SHA256 +#define as 1 if the crypto library supports HMAC-SHA-256, else 0. +If defined as 0, the rest of this section can be omitted. + +int libssh2_hmac_sha256_init(libssh2_hmac_ctx *ctx, + const void *key, + int keylen); +Setup the HMAC computation context ctx for an HMAC-256 computation using the +keylen-byte key. Is invoked just after libssh2_hmac_ctx_init(). +Returns 1 for success and 0 for failure. + +3.3) SHA-384 +Mandatory if ECDSA is implemented. Can be omitted otherwise. + +SHA384_DIGEST_LENGTH +#define to 48, the SHA-384 digest length. + +libssh2_sha384_ctx +Type of an SHA-384 computation context. Generally a struct. + +int libssh2_sha384_init(libssh2_sha384_ctx *x); +Initializes the SHA-384 computation context at x. +Returns 1 for success and 0 for failure + +int libssh2_sha384_update(libssh2_sha384_ctx ctx, + const unsigned char *data, + size_t len); +Continue computation of SHA-384 on len bytes at data using context ctx. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha384_final(libssh2_sha384_ctx ctx, + unsigned char output[SHA384_DIGEST_LENGTH]); +Gets the computed SHA-384 signature from context ctx into the output buffer. +Release the context. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha384(const unsigned char *message, + size_t len, + unsigned char output[SHA384_DIGEST_LENGTH]); +Computes the SHA-384 signature over the given message of length len and +store the result into the output buffer. +Return 1 if error, else 0. + +3.4) SHA-512 +Must always be implemented. + +SHA512_DIGEST_LENGTH +#define to 64, the SHA-512 digest length. + +libssh2_sha512_ctx +Type of an SHA-512 computation context. Generally a struct. + +int libssh2_sha512_init(libssh2_sha512_ctx *x); +Initializes the SHA-512 computation context at x. +Returns 1 for success and 0 for failure + +int libssh2_sha512_update(libssh2_sha512_ctx ctx, + const unsigned char *data, + size_t len); +Continue computation of SHA-512 on len bytes at data using context ctx. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha512_final(libssh2_sha512_ctx ctx, + unsigned char output[SHA512_DIGEST_LENGTH]); +Gets the computed SHA-512 signature from context ctx into the output buffer. +Release the context. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_sha512(const unsigned char *message, + size_t len, + unsigned char output[SHA512_DIGEST_LENGTH]); +Computes the SHA-512 signature over the given message of length len and +store the result into the output buffer. +Return 1 if error, else 0. +Note: Seems unused in current code, but defined in each crypto library backend. + +LIBSSH2_HMAC_SHA512 +#define as 1 if the crypto library supports HMAC-SHA-512, else 0. +If defined as 0, the rest of this section can be omitted. + +int libssh2_hmac_sha512_init(libssh2_hmac_ctx *ctx, + const void *key, + int keylen); +Setup the HMAC computation context ctx for an HMAC-512 computation using the +keylen-byte key. Is invoked just after libssh2_hmac_ctx_init(). +Returns 1 for success and 0 for failure. + +3.5) MD5 +LIBSSH2_MD5 +#define to 1 if the crypto library supports MD5, else 0. +If defined as 0, the rest of this section can be omitted. + +MD5_DIGEST_LENGTH +#define to 16, the MD5 digest length. + +libssh2_md5_ctx +Type of an MD5 computation context. Generally a struct. + +int libssh2_md5_init(libssh2_md5_ctx *x); +Initializes the MD5 computation context at x. +Returns 1 for success and 0 for failure + +int libssh2_md5_update(libssh2_md5_ctx ctx, + const unsigned char *data, + size_t len); +Continues computation of MD5 on len bytes at data using context ctx. +Returns 1 for success and 0 for failure. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_md5_final(libssh2_md5_ctx ctx, + unsigned char output[MD5_DIGEST_LENGTH]); +Gets the computed MD5 signature from context ctx into the output buffer. +Release the context. +Note: if the ctx parameter is modified by the underlying code, +this procedure must be implemented as a macro to map ctx --> &ctx. +Must return 1 for success and 0 for failure. + +int libssh2_hmac_md5_init(libssh2_hmac_ctx *ctx, + const void *key, + int keylen); +Setup the HMAC computation context ctx for an HMAC-MD5 computation using the +keylen-byte key. Is invoked just after libssh2_hmac_ctx_init(). +Returns 1 for success and 0 for failure. + +3.6) RIPEMD-160 +LIBSSH2_HMAC_RIPEMD +#define as 1 if the crypto library supports HMAC-RIPEMD-160, else 0. +If defined as 0, the rest of this section can be omitted. + +int libssh2_hmac_ripemd160_init(libssh2_hmac_ctx *ctx, + const void *key, + int keylen); +Setup the HMAC computation context ctx for an HMAC-RIPEMD-160 computation using +the keylen-byte key. Is invoked just after libssh2_hmac_ctx_init(). +Returns 1 for success and 0 for failure. + + +4) Bidirectional key ciphers. + +_libssh2_cipher_ctx +Type of a cipher computation context. + +_libssh2_cipher_type(name); +Macro defining name as storage identifying a cipher algorithm for +the crypto library interface. No trailing semicolon. + +int _libssh2_cipher_init(_libssh2_cipher_ctx *h, + _libssh2_cipher_type(algo), + unsigned char *iv, + unsigned char *secret, + int encrypt); +Creates a cipher context for the given algorithm with the initialization vector +iv and the secret key secret. Prepare for encryption or decryption depending on +encrypt. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_cipher_crypt(_libssh2_cipher_ctx *ctx, + _libssh2_cipher_type(algo), + int encrypt, + unsigned char *block, + size_t blocksize, + int firstlast); +Encrypt or decrypt in-place data at (block, blocksize) using the given +context and/or algorithm. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +void _libssh2_cipher_dtor(_libssh2_cipher_ctx *ctx); +Release cipher context at ctx. + +4.1) AES +4.1.1) AES in CBC block mode. +LIBSSH2_AES +#define as 1 if the crypto library supports AES in CBC mode, else 0. +If defined as 0, the rest of this section can be omitted. + +_libssh2_cipher_aes128 +AES-128-CBC algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +_libssh2_cipher_aes192 +AES-192-CBC algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +_libssh2_cipher_aes256 +AES-256-CBC algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +4.1.2) AES in CTR block mode. +LIBSSH2_AES_CTR +#define as 1 if the crypto library supports AES in CTR mode, else 0. +If defined as 0, the rest of this section can be omitted. + +_libssh2_cipher_aes128ctr +AES-128-CTR algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +_libssh2_cipher_aes192ctr +AES-192-CTR algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +_libssh2_cipher_aes256ctr +AES-256-CTR algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +4.2) Blowfish in CBC block mode. +LIBSSH2_BLOWFISH +#define as 1 if the crypto library supports blowfish in CBC mode, else 0. +If defined as 0, the rest of this section can be omitted. + +_libssh2_cipher_blowfish +Blowfish-CBC algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +4.3) RC4. +LIBSSH2_RC4 +#define as 1 if the crypto library supports RC4 (arcfour), else 0. +If defined as 0, the rest of this section can be omitted. + +_libssh2_cipher_arcfour +RC4 algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +4.4) CAST5 in CBC block mode. +LIBSSH2_CAST +#define 1 if the crypto library supports cast, else 0. +If defined as 0, the rest of this section can be omitted. + +_libssh2_cipher_cast5 +CAST5-CBC algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + +4.5) Triple DES in CBC block mode. +LIBSSH2_3DES +#define as 1 if the crypto library supports TripleDES in CBC mode, else 0. +If defined as 0, the rest of this section can be omitted. + +_libssh2_cipher_3des +TripleDES-CBC algorithm identifier initializer. +#define with constant value of type _libssh2_cipher_type(). + + +5) Diffie-Hellman support. + +LIBSSH2_DH_GEX_MINGROUP +The minimum Diffie-Hellman group length in bits supported by the backend. +Usually defined as 2048. + +LIBSSH2_DH_GEX_OPTGROUP +The preferred Diffie-Hellman group length in bits. Usually defined as 4096. + +LIBSSH2_DH_GEX_MAXGROUP +The maximum Diffie-Hellman group length in bits supported by the backend. +Usually defined as 8192. + +LIBSSH2_DH_MAX_MODULUS_BITS +The maximum Diffie-Hellman modulus bit count accepted from the server. This +value must be supported by the backend. Usually 16384. + +5.1) Diffie-Hellman context. +_libssh2_dh_ctx +Type of a Diffie-Hellman computation context. +Must always be defined. + +5.2) Diffie-Hellman computation procedures. +void libssh2_dh_init(_libssh2_dh_ctx *dhctx); +Initializes the Diffie-Hellman context at `dhctx'. No effective context +creation needed here. + +int libssh2_dh_key_pair(_libssh2_dh_ctx *dhctx, _libssh2_bn *public, + _libssh2_bn *g, _libssh2_bn *p, int group_order, + _libssh2_bn_ctx *bnctx); +Generates a Diffie-Hellman key pair using base `g', prime `p' and the given +`group_order'. Can use the given big number context `bnctx' if needed. +The private key is stored as opaque in the Diffie-Hellman context `*dhctx' and +the public key is returned in `public'. +0 is returned upon success, else -1. + +int libssh2_dh_secret(_libssh2_dh_ctx *dhctx, _libssh2_bn *secret, + _libssh2_bn *f, _libssh2_bn *p, _libssh2_bn_ctx * bnctx) +Computes the Diffie-Hellman secret from the previously created context `*dhctx', +the public key `f' from the other party and the same prime `p' used at +context creation. The result is stored in `secret'. +0 is returned upon success, else -1. + +void libssh2_dh_dtor(_libssh2_dh_ctx *dhctx) +Destroys Diffie-Hellman context at `dhctx' and resets its storage. + + +6) Big numbers. +Positive multi-byte integers support is sufficient. + +6.1) Computation contexts. +This has a real meaning if the big numbers computations need some context +storage. If not, use a dummy type and functions (macros). + +_libssh2_bn_ctx +Type of multiple precision computation context. May not be empty. if not used, +#define as char, for example. + +_libssh2_bn_ctx _libssh2_bn_ctx_new(void); +Returns a new multiple precision computation context. + +void _libssh2_bn_ctx_free(_libssh2_bn_ctx ctx); +Releases a multiple precision computation context. + +6.2) Computation support. +_libssh2_bn +Type of multiple precision numbers (aka bignumbers or huge integers) for the +crypto library. + +_libssh2_bn * _libssh2_bn_init(void); +Creates a multiple precision number (preset to zero). + +_libssh2_bn * _libssh2_bn_init_from_bin(void); +Create a multiple precision number intended to be set by the +_libssh2_bn_from_bin() function (see below). Unlike _libssh2_bn_init(), this +code may be a dummy initializer if the _libssh2_bn_from_bin() actually +allocates the number. Returns a value of type _libssh2_bn *. + +void _libssh2_bn_free(_libssh2_bn *bn); +Destroys the multiple precision number at bn. + +unsigned long _libssh2_bn_bytes(_libssh2_bn *bn); +Get the number of bytes needed to store the bits of the multiple precision +number at bn. + +unsigned long _libssh2_bn_bits(_libssh2_bn *bn); +Returns the number of bits of multiple precision number at bn. + +int _libssh2_bn_set_word(_libssh2_bn *bn, unsigned long val); +Sets the value of bn to val. +Returns 1 on success, 0 otherwise. + +_libssh2_bn * _libssh2_bn_from_bin(_libssh2_bn *bn, int len, + const unsigned char *val); +Converts the positive integer in big-endian form of length len at val +into a _libssh2_bn and place it in bn. If bn is NULL, a new _libssh2_bn is +created. +Returns a pointer to target _libssh2_bn or NULL if error. + +int _libssh2_bn_to_bin(_libssh2_bn *bn, unsigned char *val); +Converts the absolute value of bn into big-endian form and store it at +val. val must point to _libssh2_bn_bytes(bn) bytes of memory. +Returns the length of the big-endian number. + + +7) Private key algorithms. +Format of an RSA public key: +a) "ssh-rsa". +b) RSA exponent, MSB first, with high order bit = 0. +c) RSA modulus, MSB first, with high order bit = 0. +Each item is preceded by its 32-bit byte length, MSB first. + +Format of a DSA public key: +a) "ssh-dss". +b) p, MSB first, with high order bit = 0. +c) q, MSB first, with high order bit = 0. +d) g, MSB first, with high order bit = 0. +e) pub_key, MSB first, with high order bit = 0. +Each item is preceded by its 32-bit byte length, MSB first. + +Format of an ECDSA public key: +a) "ecdsa-sha2-nistp256" or "ecdsa-sha2-nistp384" or "ecdsa-sha2-nistp521". +b) domain: "nistp256", "nistp384" or "nistp521" matching a). +c) raw public key ("octal"). +Each item is preceded by its 32-bit byte length, MSB first. + +Format of an ED25519 public key: +a) "ssh-ed25519". +b) raw key (32 bytes). +Each item is preceded by its 32-bit byte length, MSB first. + +int _libssh2_pub_priv_keyfile(LIBSSH2_SESSION *session, + unsigned char **method, + size_t *method_len, + unsigned char **pubkeydata, + size_t *pubkeydata_len, + const char *privatekey, + const char *passphrase); +Reads a private key from file privatekey and extract the public key --> +(pubkeydata, pubkeydata_len). Store the associated method (ssh-rsa or ssh-dss) +into (method, method_len). +Both buffers have to be allocated using LIBSSH2_ALLOC(). +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_pub_priv_keyfilememory(LIBSSH2_SESSION *session, + unsigned char **method, + size_t *method_len, + unsigned char **pubkeydata, + size_t *pubkeydata_len, + const char *privatekeydata, + size_t privatekeydata_len, + const char *passphrase); +Gets a private key from bytes at (privatekeydata, privatekeydata_len) and +extract the public key --> (pubkeydata, pubkeydata_len). Store the associated +method (ssh-rsa or ssh-dss) into (method, method_len). +Both buffers have to be allocated using LIBSSH2_ALLOC(). +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + + +7.1) RSA +LIBSSH2_RSA +#define as 1 if the crypto library supports RSA, else 0. +If defined as 0, the rest of this section can be omitted. + +libssh2_rsa_ctx +Type of an RSA computation context. Generally a struct. + +int _libssh2_rsa_new(libssh2_rsa_ctx **rsa, + const unsigned char *edata, + unsigned long elen, + const unsigned char *ndata, + unsigned long nlen, + const unsigned char *ddata, + unsigned long dlen, + const unsigned char *pdata, + unsigned long plen, + const unsigned char *qdata, + unsigned long qlen, + const unsigned char *e1data, + unsigned long e1len, + const unsigned char *e2data, + unsigned long e2len, + const unsigned char *coeffdata, unsigned long coefflen); +Creates a new context for RSA computations from key source values: + pdata, plen Prime number p. Only used if private key known (ddata). + qdata, qlen Prime number q. Only used if private key known (ddata). + ndata, nlen Modulus n. + edata, elen Exponent e. + ddata, dlen e^-1 % phi(n) = private key. May be NULL if unknown. + e1data, e1len dp = d % (p-1). Only used if private key known (dtata). + e2data, e2len dq = d % (q-1). Only used if private key known (dtata). + coeffdata, coefflen q^-1 % p. Only used if private key known. +Returns 0 if OK. +This procedure is already prototyped in crypto.h. +Note: the current generic code only calls this function with e and n (public +key parameters): unless used internally by the backend, it is not needed to +support the private key and the other parameters here. + +int _libssh2_rsa_new_private(libssh2_rsa_ctx **rsa, + LIBSSH2_SESSION *session, + const char *filename, + unsigned const char *passphrase); +Reads an RSA private key from file filename into a new RSA context. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_rsa_new_private_frommemory(libssh2_rsa_ctx **rsa, + LIBSSH2_SESSION *session, + const char *data, + size_t data_len, + unsigned const char *passphrase); +Gets an RSA private key from data into a new RSA context. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_rsa_sha1_verify(libssh2_rsa_ctx *rsa, + const unsigned char *sig, + size_t sig_len, + const unsigned char *m, size_t m_len); +Verify (sig, sig_len) signature of (m, m_len) using an SHA-1 hash and the +RSA context. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_rsa_sha1_signv(LIBSSH2_SESSION *session, + unsigned char **sig, size_t *siglen, + int count, const struct iovec vector[], + libssh2_rsa_ctx *ctx); +RSA signs the SHA-1 hash computed over the count data chunks in vector. +Signature is stored at (sig, siglen). +Signature buffer must be allocated from the given session. +Returns 0 if OK, else -1. +Note: this procedure is optional: if provided, it MUST be defined as a macro. + +int _libssh2_rsa_sha1_sign(LIBSSH2_SESSION *session, + libssh2_rsa_ctx *rsactx, + const unsigned char *hash, + size_t hash_len, + unsigned char **signature, + size_t *signature_len); +RSA signs the (hash, hashlen) SHA-1 hash bytes and stores the allocated +signature at (signature, signature_len). +Signature buffer must be allocated from the given session. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. +Note: this procedure is not used if macro _libssh2_rsa_sha1_signv() is defined. + +void _libssh2_rsa_free(libssh2_rsa_ctx *rsactx); +Releases the RSA computation context at rsactx. + +LIBSSH2_RSA_SHA2 +#define as 1 if the crypto library supports RSA SHA2 256/512, else 0. +If defined as 0, the rest of this section can be omitted. + +int _libssh2_rsa_sha2_sign(LIBSSH2_SESSION * session, + libssh2_rsa_ctx * rsactx, + const unsigned char *hash, + size_t hash_len, + unsigned char **signature, + size_t *signature_len); +RSA signs the (hash, hashlen) SHA-2 hash bytes based on hash length and stores +the allocated signature at (signature, signature_len). +Signature buffer must be allocated from the given session. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. +Note: this procedure is not used if both macros _libssh2_rsa_sha2_256_signv() +and _libssh2_rsa_sha2_512_signv are defined. + +int _libssh2_rsa_sha2_256_signv(LIBSSH2_SESSION *session, + unsigned char **sig, size_t *siglen, + int count, const struct iovec vector[], + libssh2_rsa_ctx *ctx); +RSA signs the SHA-256 hash computed over the count data chunks in vector. +Signature is stored at (sig, siglen). +Signature buffer must be allocated from the given session. +Returns 0 if OK, else -1. +Note: this procedure is optional: if provided, it MUST be defined as a macro. + +int _libssh2_rsa_sha2_512_signv(LIBSSH2_SESSION *session, + unsigned char **sig, size_t *siglen, + int count, const struct iovec vector[], + libssh2_rsa_ctx *ctx); +RSA signs the SHA-512 hash computed over the count data chunks in vector. +Signature is stored at (sig, siglen). +Signature buffer must be allocated from the given session. +Returns 0 if OK, else -1. +Note: this procedure is optional: if provided, it MUST be defined as a macro. + +int _libssh2_rsa_sha2_verify(libssh2_rsa_ctx * rsa, + size_t hash_len, + const unsigned char *sig, + size_t sig_len, + const unsigned char *m, size_t m_len); +Verify (sig, sig_len) signature of (m, m_len) using an SHA-2 hash based on +hash length and the RSA context. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +7.2) DSA +LIBSSH2_DSA +#define as 1 if the crypto library supports DSA, else 0. +If defined as 0, the rest of this section can be omitted. + + +libssh2_dsa_ctx +Type of a DSA computation context. Generally a struct. + +int _libssh2_dsa_new(libssh2_dsa_ctx **dsa, + const unsigned char *pdata, + unsigned long plen, + const unsigned char *qdata, + unsigned long qlen, + const unsigned char *gdata, + unsigned long glen, + const unsigned char *ydata, + unsigned long ylen, + const unsigned char *x, unsigned long x_len); +Creates a new context for DSA computations from source key values: + pdata, plen Prime number p. Only used if private key known (ddata). + qdata, qlen Prime number q. Only used if private key known (ddata). + gdata, glen G number. + ydata, ylen Public key. + xdata, xlen Private key. Only taken if xlen non-zero. +Returns 0 if OK. +This procedure is already prototyped in crypto.h. + +int _libssh2_dsa_new_private(libssh2_dsa_ctx **dsa, + LIBSSH2_SESSION *session, + const char *filename, + unsigned const char *passphrase); +Gets a DSA private key from file filename into a new DSA context. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_dsa_new_private_frommemory(libssh2_dsa_ctx **dsa, + LIBSSH2_SESSION *session, + const char *data, + size_t data_len, + unsigned const char *passphrase); +Gets a DSA private key from the data_len-bytes data into a new DSA context. +Must call _libssh2_init_if_needed(). +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_dsa_sha1_verify(libssh2_dsa_ctx *dsactx, + const unsigned char *sig, + const unsigned char *m, size_t m_len); +Verify (sig, siglen) signature of (m, m_len) using an SHA-1 hash and the +DSA context. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_dsa_sha1_sign(libssh2_dsa_ctx *dsactx, + const unsigned char *hash, + size_t hash_len, unsigned char *sig); +DSA signs the (hash, hash_len) data using SHA-1 and store the signature at sig. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +void _libssh2_dsa_free(libssh2_dsa_ctx *dsactx); +Releases the DSA computation context at dsactx. + + +7.3) ECDSA +LIBSSH2_ECDSA +#define as 1 if the crypto library supports ECDSA, else 0. +If defined as 0, _libssh2_ec_key should be defined as void and the rest of +this section can be omitted. + +EC_MAX_POINT_LEN +Maximum point length. Usually defined as ((528 * 2 / 8) + 1) (= 133). + +libssh2_ecdsa_ctx +Type of an ECDSA computation context. Generally a struct. + +_libssh2_ec_key +Type of an elliptic curve key. + +libssh2_curve_type +An enum type defining curve types. Current supported identifiers are: + LIBSSH2_EC_CURVE_NISTP256 + LIBSSH2_EC_CURVE_NISTP384 + LIBSSH2_EC_CURVE_NISTP521 + +int _libssh2_ecdsa_create_key(_libssh2_ec_key **out_private_key, + unsigned char **out_public_key_octal, + size_t *out_public_key_octal_len, + libssh2_curve_type curve_type); +Create a new ECDSA private key of type curve_type and return it at +out_private_key. If out_public_key_octal is not NULL, store an allocated +pointer to the associated public key in "octal" form in it and its length +at out_public_key_octal_len. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_new_private(libssh2_ecdsa_ctx **ec_ctx, + LIBSSH2_SESSION * session, + const char *filename, + unsigned const char *passphrase); +Reads an ECDSA private key from PEM file filename into a new ECDSA context. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_new_private_frommemory(libssh2_ecdsa_ctx ** ec_ctx, + LIBSSH2_SESSION * session, + const char *filedata, + size_t filedata_len, + unsigned const char *passphrase); +Builds an ECDSA private key from PEM data at filedata of length filedata_len +into a new ECDSA context stored at ec_ctx. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_curve_name_with_octal_new(libssh2_ecdsa_ctx **ecdsactx, + const unsigned char *k, + size_t k_len, + libssh2_curve_type type); +Stores at ecdsactx a new ECDSA context associated with the given curve type +and with "octal" form public key (k, k_len). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_new_openssh_private(libssh2_ecdsa_ctx **ec_ctx, + LIBSSH2_SESSION * session, + const char *filename, + unsigned const char *passphrase); +Reads a PEM-encoded ECDSA private key from file filename encrypted with +passphrase and stores at ec_ctx a new ECDSA context for it. +Return 0 if OK, else -1. +Currently used only from openssl backend (ought to be private). +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_sign(LIBSSH2_SESSION *session, libssh2_ecdsa_ctx *ec_ctx, + const unsigned char *hash, unsigned long hash_len, + unsigned char **signature, size_t *signature_len); +ECDSA signs the (hash, hashlen) hash bytes and stores the allocated +signature at (signature, signature_len). Hash algorithm used should be +SHA-256, SHA-384 or SHA-512 depending on type stored in ECDSA context at ec_ctx. +Signature buffer must be allocated from the given session. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_verify(libssh2_ecdsa_ctx *ctx, + const unsigned char *r, size_t r_len, + const unsigned char *s, size_t s_len, + const unsigned char *m, size_t m_len); +Verify the ECDSA signature made of (r, r_len) and (s, s_len) of (m, m_len) +using the hash algorithm configured in the ECDSA context ctx. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +libssh2_curve_type _libssh2_ecdsa_get_curve_type(libssh2_ecdsa_ctx *ecdsactx); +Returns the curve type associated with given context. +This procedure is already prototyped in crypto.h. + +int _libssh2_ecdsa_curve_type_from_name(const char *name, + libssh2_curve_type *out_type); +Stores in out_type the curve type matching string name of the form +"ecdsa-sha2-nistpxxx". +Return 0 if OK, else -1. +Currently used only from openssl backend (ought to be private). +This procedure is already prototyped in crypto.h. + +void _libssh2_ecdsa_free(libssh2_ecdsa_ctx *ecdsactx); +Releases the ECDSA computation context at ecdsactx. + + +7.4) ED25519 +LIBSSH2_ED25519 +#define as 1 if the crypto library supports ED25519, else 0. +If defined as 0, the rest of this section can be omitted. + + +libssh2_ed25519_ctx +Type of an ED25519 computation context. Generally a struct. + +int _libssh2_curve25519_new(LIBSSH2_SESSION *session, libssh2_ed25519_ctx **ctx, + uint8_t **out_public_key, + uint8_t **out_private_key); +Generates an ED25519 key pair, stores a pointer to them at out_private_key +and out_public_key respectively and stores at ctx a new ED25519 context for +this key. +Argument ctx, out_private_key and out_public key may be NULL to disable storing +the corresponding value. +Length of each key is LIBSSH2_ED25519_KEY_LEN (32 bytes). +Key buffers are allocated and should be released by caller after use. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ed25519_new_private(libssh2_ed25519_ctx **ed_ctx, + LIBSSH2_SESSION *session, + const char *filename, + const uint8_t *passphrase); +Reads an ED25519 private key from PEM file filename into a new ED25519 context. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ed25519_new_public(libssh2_ed25519_ctx **ed_ctx, + LIBSSH2_SESSION *session, + const unsigned char *raw_pub_key, + const size_t key_len); +Stores at ed_ctx a new ED25519 key context for raw public key (raw_pub_key, +key_len). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ed25519_new_private_frommemory(libssh2_ed25519_ctx **ed_ctx, + LIBSSH2_SESSION *session, + const char *filedata, + size_t filedata_len, + unsigned const char *passphrase); +Builds an ED25519 private key from PEM data at filedata of length filedata_len +into a new ED25519 context stored at ed_ctx. +Must call _libssh2_init_if_needed(). +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ed25519_sign(libssh2_ed25519_ctx *ctx, LIBSSH2_SESSION *session, + uint8_t **out_sig, size_t *out_sig_len, + const uint8_t *message, size_t message_len); +ED25519 signs the (message, message_len) bytes and stores the allocated +signature at (sig, sig_len). +Signature buffer is allocated from the given session. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_ed25519_verify(libssh2_ed25519_ctx *ctx, const uint8_t *s, + size_t s_len, const uint8_t *m, size_t m_len); +Verify (s, s_len) signature of (m, m_len) using the given ED25519 context. +Return 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +int _libssh2_curve25519_gen_k(_libssh2_bn **k, + uint8_t private_key[LIBSSH2_ED25519_KEY_LEN], + uint8_t srvr_public_key[LIBSSH2_ED25519_KEY_LEN]); +Computes a shared ED25519 secret key from the given raw server public key and +raw client public key and stores it as a big number in *k. Big number should +have been initialized before calling this function. +Returns 0 if OK, else -1. +This procedure is already prototyped in crypto.h. + +void _libssh2_ed25519_free(libssh2_ed25519_ctx *ed25519ctx); +Releases the ED25519 computation context at ed25519ctx. + + +8) Miscellaneous + +void libssh2_prepare_iovec(struct iovec *vector, unsigned int len); +Prepare len consecutive iovec slots before using them. +In example, this is needed to preset unused structure slacks on platforms +requiring it. +If this is not needed, it should be defined as an empty macro. + +int _libssh2_random(unsigned char *buf, size_t len); +Store len random bytes at buf. +Returns 0 if OK, else -1. + +const char * _libssh2_supported_key_sign_algorithms(LIBSSH2_SESSION *session, + unsigned char *key_method, + size_t key_method_len); + +This function is for implementing key hash upgrading as defined in RFC 8332. + +Based on the incoming key_method value, this function will return a +list of supported algorithms that can upgrade the original key method algorithm +as a comma separated list, if there is no upgrade option this function should +return NULL. diff --git a/curl/dep/libssh2/docs/INSTALL_AUTOTOOLS.txt b/curl/dep/libssh2/docs/INSTALL_AUTOTOOLS.txt new file mode 100644 index 0000000..46584d7 --- /dev/null +++ b/curl/dep/libssh2/docs/INSTALL_AUTOTOOLS.txt @@ -0,0 +1,316 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +SPDX-License-Identifier: FSFULLR + +When Building directly from Master +================================== + +If you want to build directly from the git repository, you must first +generate the configure script and Makefile using autotools. Make +sure that autoconf, automake and libtool are installed on your system, +then execute: + + autoreconf -fi + +After executing this script, you can build the project as usual: + + ./configure + make + +Basic Installation +================== + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or shortly `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you do not want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you are + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it does not, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' is not included in this package, then this package does not +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + +More configure options +====================== + +Some ./configure options deserve additional comments: + + * --with-libgcrypt + * --without-libgcrypt + * --with-libgcrypt-prefix=DIR + + libssh2 can use the Libgcrypt library + (https://www.gnupg.org/) for cryptographic operations. + One of the cryptographic libraries is required. + + Configure will attempt to locate Libgcrypt + automatically. + + If your installation of Libgcrypt is in another + location, specify it using --with-libgcrypt-prefix. + + * --with-openssl + * --without-openssl + * --with-libssl-prefix=[DIR] + + libssh2 can use the OpenSSL library + (https://www.openssl-library.org/) for cryptographic operations. + One of the cryptographic libraries is required. + + Configure will attempt to locate OpenSSL in the + default location. + + If your installation of OpenSSL is in another + location, specify it using --with-libssl-prefix. + + * --with-mbedtls + * --without-mbedtls + * --with-libmbedcrypto-prefix=[DIR] + + libssh2 can use the mbedTLS library + (https://tls.mbed.org) for cryptographic operations. + One of the cryptographic libraries is required. + + Configure will attempt to locate mbedTLS in the + default location. + + If your installation of mbedTLS is in another + location, specify it using --with-libmbedcrypto-prefix. + + * --with-libz + * --without-libz + * --with-libz-prefix=[DIR] + + If present, libssh2 will attempt to use the zlib + (https://zlib.net/) for payload compression, however + zlib is not required. + + If your installation of Libz is in another location, + specify it using --with-libz-prefix. + + * --enable-debug + + Will make the build use more pedantic and strict compiler + options as well as enable the libssh2_trace() function (for + showing debug traces). diff --git a/curl/dep/libssh2/docs/TODO.txt b/curl/dep/libssh2/docs/TODO.txt new file mode 100644 index 0000000..256a233 --- /dev/null +++ b/curl/dep/libssh2/docs/TODO.txt @@ -0,0 +1,180 @@ +Things TODO +=========== + +* Fix -Wsign-conversion warnings in src + +* Fix the numerous malloc+copy operations for sending data, see "Buffering + Improvements" below for details + +* make sure the windowing code adapts better to slow situations so that it + does not then use as much memory as today. Possibly by an app-controllable + "Window mode"? + +* Decrease the number of mallocs. Everywhere. Will get easier once the + buffering improvements have been done. + +* Use SO_NOSIGPIPE for Mac OS/BSD systems where MSG_NOSIGNAL does not + exist/work + +* Extend the test suite to actually test lots of aspects of libssh2 + +* Update public API to drop casts added to fix compiler warnings + +* Expose error messages sent by the server + +* select() is troublesome with libssh2 when using multiple channels over + the same session. See "New Transport API" below for more details. + +* for obsolete/weak/insecure algorithms: either stop enabling them by default + at build-time, or delete support for them completely. + +At next SONAME bump +=================== + +* stop using #defined macros as part of the official API. The macros should + either be turned into real functions or discarded from the API. + +* delete or deprecate libssh2_session_callback_set() + +* bump length arguments in callback functions to size_t/ssize_t + +* remove the following functions from the API/ABI + + libssh2_base64_decode() + libssh2_session_flag() + libssh2_channel_handle_extended_data() + libssh2_channel_receive_window_adjust() + libssh2_poll() + libssh2_poll_channel_read() + libssh2_session_startup() (libssh2_session_handshake() is the replacement) + libssh2_banner_set() (libssh2_session_banner_set() is the replacement) + +* Rename a few function: + + libssh2_hostkey_hash => libssh2_session_hostkey_hash + libssh2_banner_set => libssh2_session_banner_set + +* change 'int' to 'libssh2_socket_t' in the public API for sockets. + +* Use 'size_t' for string lengths in all functions. + +* Add a comment field to struct libssh2_knownhost. + +* remove the existing libssh2_knownhost_add() function and rename + libssh2_knownhost_addc to become the new libssh2_knownhost_add instead + +* remove the existing libssh2_scp_send_ex() function and rename + libssh2_scp_send64 to become the new libssh2_scp_send instead. + +* remove the existing libssh2_knownhost_check() function and rename + libssh2_knownhost_checkp() to become the new libssh2_knownhost_check instead + +Buffering Improvements +====================== + +transport_write + + - If this function gets called with a total packet size that is larger than + 32K, it should create more than one SSH packet so that it keeps the largest + one below 32K + +sftp_write + + - should not copy/allocate anything for the data, only create a header chunk + and pass on the payload data to channel_write "pointed to" + +New Transport API +================= + +THE PROBLEM + +The problem in a nutshell is that when an application opens up multiple +channels over a single session, those are all using the same socket. If the +application is then using select() to wait for traffic (like any sensible app +does) and wants to act on the data when select() tells there is something to +for example read, what does an application do? + +With our current API, you have to loop over all the channels and read from +them to see if they have data. This effectively makes blocking reads +impossible. If the app has many channels in a setup like this, it even becomes +slow. (The original API had the libssh2_poll_channel_read() and libssh2_poll() +to somewhat overcome this hurdle, but they too have pretty much the same +problems plus a few others.) + +Traffic in the other direction is similarly limited: the app has to try +sending to all channels, even though some of them may very well not accept any +data at that point. + +A SOLUTION + +I suggest we introduce two new helper functions: + + libssh2_transport_read() + + - Read "a bunch" of data from the given socket and returns information to the + app about what channels that are now readable (ie they will not block when + read from). The function can be called over and over and it will repeatedly + return info about what channels that are readable at that moment. + + libssh2_transport_write() + + - Returns information about what channels that are writable, in the sense + that they have windows set from the remote side that allows data to get + sent. Writing to one of those channels will not block. Of course, the + underlying socket may only accept a certain amount of data, so at the first + short return, nothing more should be attempted to get sent until select() + (or equivalent) has been used on the master socket again. + +I have not yet figured out a sensible API for how these functions should return +that info, but if we agree on the general principles I guess we can work that +out. + +VOLUNTARY + + I wanted to mention that these two helper functions would not be mandatory + in any way. They would just be there for those who want them, and existing + programs can remain using the old functions only if they prefer to. + +New SFTP API +============ + +PURPOSE + + Provide API functions that explicitly tells at once that a (full) SFTP file + transfer is wanted, to allow libssh2 to leverage on that knowledge to speed + up things internally. It can for example do read ahead, buffer writes (merge + small writes into larger chunks), better tune the SSH window and more. This + sort of API is already provided for SCP transfers. + +API + + New functions: + + LIBSSH2_SFTP_HANDLE *libssh2_sftp_send(SFTP_SESSION *sftp, + libssh2_uint64_t filesize, + char *remote_path, + size_t remote_path_len, + long mode); + + Tell libssh2 that a local file with a given size is about to get sent to + the SFTP server. + + LIBSSH2_SFTP_HANDLE *libssh2_sftp_recv(); + + Tell libssh2 that a remote file is requested to get downloaded from the SFTP + server. + + Only the setup of the file transfer is different from an application's point + of view. Depending on direction of the transfer(s), the following already + existing functions should then be used until the transfer is complete: + + libssh2_sftp_read() + libssh2_sftp_write() + +HOW TO USE + + 1. Setup the transfer using one of the two new functions. + + 2. Loop through the reading or writing of data. + + 3. Cleanup the transfer diff --git a/curl/dep/nghttp2/AUTHORS.txt b/curl/dep/nghttp2/AUTHORS.txt new file mode 100644 index 0000000..7ec2651 --- /dev/null +++ b/curl/dep/nghttp2/AUTHORS.txt @@ -0,0 +1,168 @@ +nghttp2 project was started as a fork of spdylay project [1]. Both +projects were started by Tatsuhiro Tsujikawa, who is still the main +author of these projects. Meanwhile, we have many contributions, and +we are not here without them. We sincerely thank you to all who made +a contribution. Here is the all individuals/organizations who +contributed to nghttp2 and spdylay project at which we forked. These +names are retrieved from git commit log. If you have made a +contribution, but you are missing in the list, please let us know via +github issues [2]. + +[1] https://github.com/tatsuhiro-t/spdylay +[2] https://github.com/nghttp2/nghttp2/issues + +-------- + +187j3x1 +Adam Gołębiowski +Alek Storm +Alex Nalivko +Alexandr Vlasov +Alexandros Konstantinakis-Karmis +Alexis La Goutte +Alyssa Ross +Amir Livneh +Amir Pakdel +Anders Bakken +Andreas Pohl +Andrew Penkrat +Andy Davies +Angus Gratton +Anna Henningsen +Ant Bryan +Anthony Alayo +Asra Ali +Benedikt Christoph Wolters +Benjamin Peterson +Bernard Spil +Bernhard Walle +Brendan Heinonen +Brian Card +Brian Suh +Daniel Bevenius +Daniel Evers +Daniel Stenberg +Dave Reisner +David Beitey +David Korczynski +David Weekly +Deel +Deep Chordia +Dimitris Apostolou +Dmitri Tikhonov +Dmitriy Vetutnev +Don +Dylan Plecki +Etienne Cimon +Fabian Möller +Fabian Wiesel +Fred Sundvik +Gabi Davar +Gaël PORTAY +Geoff Hill +George Liu +Gitai +Google Inc. +Hajime Fujita +Jacky Tian +Jacky_Yin +Jacob Champion +James M Snell +Jan Kundrát +Jan-E +Janusz Dziemidowicz +Jay Satiro +Jeff 'Raid' Baitis +Jianqing Wang +Jim Morrison +Jiwoo Park +Jonas Kvinge +Josh Braegger +José F. Calcerrada +Kamil Dudka +Kazuho Oku +Kenny (kang-yen) Peng +Kenny Peng +Kit Chan +Kyle Schomp +LazyHamster +Leo Neat +Lorenz Nickel +Lucas Pardue +MATSUMOTO Ryosuke +Marc Bachmann +Marcelo Trylesinski +Mark Boddington +Matt Rudary +Matt Way +Michael Kaufmann +Mike Conlen +Mike Frysinger +Mike Lothian +Nicholas Hurley +Nora Shoemaker +Paweł Wegner +Pedro Santos +Peeyush Aggarwal +Peter Wu +Piotr Sikora +PufferOverflow +Raul Gutierrez Segales +Remo E +Renaud +Reza Tavakoli +Richard Wolfert +Rick Lei +Ross Smith II +Rudi Heitbaum +Ryan Carsten Schmidt +Ryo Ota +Scott Mitchell +Sebastiaan Deckers +Sergey Fedorov +Shelley Vohr +Simon Frankenberger +Simone Basso +Soham Sinha +Stefan Eissing +Stephen Ludin +Sunpoet Po-Chuan Hsieh +Svante Signell +Syohei YOSHIDA +Tapanito +Tatsuhiko Kubo +Tatsuhiro Tsujikawa +Thomas Devoogdt +Tobias Geerinckx-Rice +Tom Harwood +Tomas Krizek +Tomasz Buchert +Tomasz Torcz +Vernon Tang +Viacheslav Biriukov +Viktor Szakats +Viktor Szépe +Ville Vesilehto +Wenfeng Liu +William A Rowe Jr +Xiaoguang Sun +Zhuoyun Wei +acesso +ayanamist +bxshi +clemahieu +dalf +dawg +es +fangdingjun +hrxi +jwchoi +kumagi +lhuang04 +lstefani +makovich +mod-h2-dev +moparisthebest +robaho +snnn +yuuki-kodama diff --git a/curl/dep/nghttp2/COPYING.txt b/curl/dep/nghttp2/COPYING.txt new file mode 100644 index 0000000..8020179 --- /dev/null +++ b/curl/dep/nghttp2/COPYING.txt @@ -0,0 +1,23 @@ +The MIT License + +Copyright (c) 2012, 2014, 2015, 2016 Tatsuhiro Tsujikawa +Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/curl/dep/nghttp2/ChangeLog.txt b/curl/dep/nghttp2/ChangeLog.txt new file mode 100644 index 0000000..2a36715 --- /dev/null +++ b/curl/dep/nghttp2/ChangeLog.txt @@ -0,0 +1,927 @@ +commit 319bf015de8fa38e21ac271ce2f7d61aa77d90cb +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-03-02 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-03-02 + + Update bash_completion + +commit 99c572448ac94f122a27cc088fe9cd8998222278 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-03-02 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-03-02 + + Update manual pages + +commit a5007158dfdc76cd308e731c629d963406e25965 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-03-02 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-03-02 + + Bump package and library versions + +commit 0b210f072d60db111d6abb44c98cfa754e4d9c99 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-03-02 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-03-02 + + Update AUTHORS + +commit 5ca289471f681ed6c62a9f29e0cc4ea980506fdf +Merge: 2141edda 1459db27 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-03-02 +Commit: GitHub +CommitDate: 2025-03-02 + + Merge pull request #2311 from nghttp2/bump-libbpf + + Bump libbpf to v1.5.0 + +commit 2141edda0cbf8a85bd46c041cc4b421d505d0cd5 +Merge: 133cc56e d9793fce +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-03-01 +Commit: GitHub +CommitDate: 2025-03-01 + + Merge pull request #2312 from nghttp2/fix-coverity-check + + Fix errors reported by coverity + +commit d9793fceafdf44dbdea727dfb3e6d35023f46105 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-03-01 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-03-01 + + Fix errors reported by coverity + +commit 1459db27fb5daf83d418729ab781d4cdd14c07ad +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-02-28 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-02-28 + + Bump libbpf to v1.5.0 + +commit 133cc56e70a31897088a75d38d24dfedf413060e +Merge: ce5329a3 cd9a021a +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-02-27 +Commit: GitHub +CommitDate: 2025-02-27 + + Merge pull request #2310 from nghttp2/bump-ngtcp2 + + Bump ngtcp2 + +commit cd9a021a19c7f6b83250be5dbb3ac01a12793a7f +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-02-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-02-27 + + Suppress warning when building C++ code with wolfSSL + +commit 2e8124eadb41808b1de787131de1b6f58c83ed05 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-02-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-02-27 + + Bump ngtcp2 and its dependencies + +commit ce5329a3109cda508f4d84e5c46a206d4d5ef3a6 +Merge: 6b74e009 1049ce0a +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-02-18 +Commit: GitHub +CommitDate: 2025-02-18 + + Merge pull request #2309 from nghttp2/nghttpx-rework-quic-conn + + nghttpx: Rework QUIC connection handling + +commit 1049ce0a99b121f85768a3d1c3a3dd461fe6bd10 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-11 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-02-18 + + nghttpx: Rework QUIC connection handling + +commit 6b74e0097ba30b1273843776a20395319f441987 +Merge: 321b71ae 785b0b54 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-02-18 +Commit: GitHub +CommitDate: 2025-02-18 + + Merge pull request #2308 from nghttp2/dependabot/go_modules/golang.org/x/net-0.35.0 + + build(deps): bump golang.org/x/net from 0.34.0 to 0.35.0 + +commit 785b0b541d4152e5e07e33a611fa85e2ddd3593a +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2025-02-17 +Commit: GitHub +CommitDate: 2025-02-17 + + build(deps): bump golang.org/x/net from 0.34.0 to 0.35.0 + + Bumps [golang.org/x/net](https://github.com/golang/net) from 0.34.0 to 0.35.0. + - [Commits](https://github.com/golang/net/compare/v0.34.0...v0.35.0) + + --- + updated-dependencies: + - dependency-name: golang.org/x/net + dependency-type: direct:production + update-type: version-update:semver-minor + ... + + Signed-off-by: dependabot[bot] + +commit 321b71aedb54eaab20456828f316212ec203c8fa +Merge: e2e73723 1dbbcc35 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-02-08 +Commit: GitHub +CommitDate: 2025-02-08 + + Merge pull request #2306 from nghttp2/clang-format + + clang-format + +commit 1dbbcc35e1c5365d3ca94b6509ed7fe06d5b2444 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-02-08 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-02-08 + + clang-format + +commit e2e737234e9d292d3cdbabd947c05e16b57ee19e +Merge: e01c9f10 2b7ad6e6 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-02-05 +Commit: GitHub +CommitDate: 2025-02-05 + + Merge pull request #2305 from qnx-ports/master + + Add QNX Support + +commit 2b7ad6e6f376d47943347b2dc4b0b9ac2223870b +Author: Deep Chordia +AuthorDate: 2025-02-05 +Commit: Deep Chordia +CommitDate: 2025-02-05 + + Add QNX Support + +commit e01c9f10a3b7d1df1b50f7ff190dee474cc15d0b +Merge: fd4505cf a2db898d +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-02-03 +Commit: GitHub +CommitDate: 2025-02-03 + + Merge pull request #2304 from nghttp2/cmake-src-tests + + cmake: Disable src tests if BUILD_TESTING is OFF + +commit a2db898d7094899c3dc8cb0b32ac1cf35ee362c8 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-02-03 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-02-03 + + cmake: Disable src tests if BUILD_TESTING is OFF + +commit fd4505cfb21710ee9ca54a128001184472a9ab46 +Merge: d037dc32 9c23c72d +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-29 +Commit: GitHub +CommitDate: 2025-01-29 + + Merge pull request #2302 from nghttp2/min-quic-pktlen + + The minimum length of a valid QUIC packet is 21 + +commit 9c23c72d9997465205b62e061f317e8845e7dbb0 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-29 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-29 + + The minimum length of a valid QUIC packet is 21 + +commit d037dc32b4ddac267b0ede89f5f6f334319c636b +Merge: a4dad6d3 e045b463 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-28 +Commit: GitHub +CommitDate: 2025-01-28 + + Merge pull request #2301 from nghttp2/dependabot/go_modules/github.com/quic-go/quic-go-0.49.0 + + build(deps): bump github.com/quic-go/quic-go from 0.48.2 to 0.49.0 + +commit e045b46352a9a36834c7157c77e873d570717c26 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2025-01-27 +Commit: GitHub +CommitDate: 2025-01-27 + + build(deps): bump github.com/quic-go/quic-go from 0.48.2 to 0.49.0 + + Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.48.2 to 0.49.0. + - [Release notes](https://github.com/quic-go/quic-go/releases) + - [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md) + - [Commits](https://github.com/quic-go/quic-go/compare/v0.48.2...v0.49.0) + + --- + updated-dependencies: + - dependency-name: github.com/quic-go/quic-go + dependency-type: direct:production + update-type: version-update:semver-minor + ... + + Signed-off-by: dependabot[bot] + +commit a4dad6d36acde0f2a511632ba8fa395e70159b41 +Merge: 0c9fdf26 bdf7f14b +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-27 +Commit: GitHub +CommitDate: 2025-01-27 + + Merge pull request #2300 from nghttp2/stale-exempt-pr + + GHA: Exempt pull request from actions/stale + +commit bdf7f14b3d914d43ca7f9d1c6641331e7970b155 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-27 + + GHA: Exempt pull request from actions/stale + +commit 0c9fdf26397d6f46595dd0f0df4091dd50606f70 +Merge: 280110ca dd59dd8b +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-26 +Commit: GitHub +CommitDate: 2025-01-26 + + Merge pull request #2299 from nghttp2/nullptr + + src: nullptr + +commit dd59dd8ba99b3e40ed6a1bfb4ba5f676be8e386d +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-26 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-26 + + src: nullptr + +commit 280110ca8dd1563b9fe1597bd33fbf0607fb5f5c +Merge: e25e68f2 f9958255 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-26 +Commit: GitHub +CommitDate: 2025-01-26 + + Merge pull request #2298 from nghttp2/fix-stale-action + + Workaround actions/stale cache issue + +commit f9958255ee08011a7d72060bcb1675a8f0842635 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-26 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-26 + + Workaround actions/stale cache issue + +commit e25e68f23408720c11812ece06ffadb1b635f931 +Merge: ab19019b 01accaef +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-25 +Commit: GitHub +CommitDate: 2025-01-25 + + Merge pull request #2297 from thevilledev/fix/hd-int-overflow-check + + fix: Add defensive bounds checking in hd_ringbuf_init() + +commit 01accaef55254ffeeebf99b1b0ceeb9cc0592d8e +Author: Ville Vesilehto +AuthorDate: 2025-01-24 +Commit: GitHub +CommitDate: 2025-01-24 + + fix: remove redundant sizeof check + + Co-authored-by: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> + +commit d06472b2c170cc898f9722b55005ef8cdbb07a63 +Author: Ville Vesilehto +AuthorDate: 2025-01-24 +Commit: GitHub +CommitDate: 2025-01-24 + + fix: optimise for conditions + + Co-authored-by: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> + +commit 8ada192e6942eb4f5b85d73b648de73185a3e112 +Author: Ville Vesilehto +AuthorDate: 2025-01-24 +Commit: GitHub +CommitDate: 2025-01-24 + + fix: set max_size as const + + Co-authored-by: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> + +commit 639b14710b83c831b5c2bc75d33e385da4cde22e +Author: Ville Vesilehto +AuthorDate: 2025-01-20 +Commit: Ville Vesilehto +CommitDate: 2025-01-20 + + fix: Add defensive integer overflow checks in hd ringbuf init + + Add bounds checking in hd_ringbuf_init() to prevent potential integer + overflow during size calculations. While HPACK decoder controls its own + buffer size (4-8K typical) and is not vulnerable to remote exploitation, + this adds defensive programming guards for robustness. + + Signed-off-by: Ville Vesilehto + +commit ab19019b77bc04925cbede25307720af056b83d3 +Merge: f88c0985 15d75404 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-18 +Commit: GitHub +CommitDate: 2025-01-18 + + Merge pull request #2296 from nghttp2/xmlfree + + HtmlParser: Use xmlFree + +commit 15d754040a03101bed219fd4ae910f56446b1b84 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-18 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-18 + + HtmlParser: Use xmlFree + +commit f88c09857dc8819c3a849a67a5e1d8e10503b49f +Merge: e5309612 3cb06f11 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-14 +Commit: GitHub +CommitDate: 2025-01-14 + + Merge pull request #2295 from nghttp2/dependabot/go_modules/golang.org/x/net-0.34.0 + + build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 + +commit 3cb06f116d662843cc4fbd82ffd251cd90842532 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2025-01-13 +Commit: GitHub +CommitDate: 2025-01-13 + + build(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 + + Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.34.0. + - [Commits](https://github.com/golang/net/compare/v0.33.0...v0.34.0) + + --- + updated-dependencies: + - dependency-name: golang.org/x/net + dependency-type: direct:production + update-type: version-update:semver-minor + ... + + Signed-off-by: dependabot[bot] + +commit e53096123c961357302442fb1e0ac14cf7bc7e03 +Merge: 6494f056 48cdba35 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-12 +Commit: GitHub +CommitDate: 2025-01-12 + + Merge pull request #2294 from nghttp2/remove-nghttp2-dependency-based-priority-section + + Remove nghttp2 dependency based priority section + +commit 48cdba3553b294a470651f040d4c9dfff9fdea74 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-12 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-12 + + Update manual pages + +commit 71498767046147f87bb3a5b01d5e4ff35dfba4c3 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-12 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-12 + + nghttp: Remove DEPENDENCY BASED PRIORITY section from its manual page + +commit 6494f0563818cbc27a351769c1bc649f89177140 +Merge: 1f581807 db12ee7a +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-12 +Commit: GitHub +CommitDate: 2025-01-12 + + Merge pull request #2293 from nghttp2/update-priority-doc + + Update Stream priorities section + +commit 1f5818070d0500822f03bc1194a655494a724dc9 +Merge: d928ceb7 82602821 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-12 +Commit: GitHub +CommitDate: 2025-01-12 + + Merge pull request #2292 from nghttp2/nghttp-show-deprecation-warn-no-rfc7540-pri + + nghttp: Show deprecation warning for --no-rfc7540-pri option + +commit db12ee7a37bbd2ba7d2a59b3c31b0dd1f31aac1d +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-12 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-12 + + Update Stream priorities section + +commit 82602821d00ff42eae0c7cf8cfe4a7eba2d0c563 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-12 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-12 + + nghttp: Show deprecation warning for --no-rfc7540-pri option + +commit d928ceb75a364f1e199b841eae1548cc9897c9c2 +Merge: 7e096cbc 7f871f63 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-12 +Commit: GitHub +CommitDate: 2025-01-12 + + Merge pull request #2291 from nghttp2/nghttpd-remove-rfc7540-pri + + nghttpd: Remove RFC 7540 priorities + +commit 7f871f63ea0935c9a09c3eab6b310f051806a672 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-12 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-12 + + nghttpd: Remove RFC 7540 priorities + + This change deprecates --no-rfc7540-pri option. + SETTINGS_NO_RFC7540_PRIORITIES is now always sent. + +commit 7e096cbc4131b1473e91e0e672a2bc2ca2ad91cf +Merge: c8bcf5a6 f25a8dca +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-11 +Commit: GitHub +CommitDate: 2025-01-11 + + Merge pull request #2290 from nghttp2/nghttp-remove-rfc7540-pri + + nghttp: Remove RFC 7540 priorities + +commit f25a8dca17446f525ce2930918e503536dcd4374 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-10 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-11 + + nghttp: Remove RFC 7540 priorities + + This change removes RFC 7540 priorities from nghttp. nghttp now does + not create the initial dependency tree. --no-dep and --no-rfc7540-pri + options have been removed. + + nghttp now always sends NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES. + --extpri option has been added to set priority for a given URI. + +commit c8bcf5a6a2157b316444dddd8d262778b41f2821 +Merge: 26a33cf9 b2a3299e +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-11 +Commit: GitHub +CommitDate: 2025-01-11 + + Merge pull request #2289 from nghttp2/deprecate-nghttp2_option_set_no_closed_streams + + Deprecate nghttp2_option_set_no_closed_streams + +commit b2a3299e8ecec9a879c41415373a46f8eb4cb286 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-10 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-11 + + Deprecate nghttp2_option_set_no_closed_streams + +commit 26a33cf99bd30d4be24c6f6e534286cbddd86d05 +Merge: cb8421e3 96e06509 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-10 +Commit: GitHub +CommitDate: 2025-01-10 + + Merge pull request #2288 from nghttp2/deprecate-nghttp2_option_set_server_fallback_rfc7540_priorities + + Deprecate nghttp2_option_set_server_fallback_rfc7540_priorities + +commit cb8421e3537154536dfaf8d1d8fdea77de672b21 +Merge: 8c83772f 3dd61f8e +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-10 +Commit: GitHub +CommitDate: 2025-01-10 + + Merge pull request #2287 from nghttp2/remove-rfc7540-priority + + Remove RFC 7540 priorities + +commit 96e06509ac558d1b740cc62e2e6bf442b4d4667b +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-10 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-10 + + Deprecate nghttp2_option_set_server_fallback_rfc7540_priorities + +commit 3dd61f8ec3990928ee5f2606353d2b291f771aab +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-03-25 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-10 + + Remove RFC 7540 priorities + + Summary of the behavioral changes in public API functions: + + - nghttp2_session_change_stream_priority: This function is noop. It + always returns 0. + - nghttp2_session_create_idle_stream: This function is noop. It + always returns 0. + - nghttp2_submit_request: pri_spec is ignored. + - nghttp2_submit_request2: pri_spec is ignored. + - nghttp2_submit_headers: pri_spec is ignored. + - nghttp2_submit_priority: This function is noop. It always returns + 0. + - nghttp2_stream_get_parent: This function always returns NULL. + - nghttp2_stream_get_next_sibling: This function always returns NULL. + - nghttp2_stream_get_previous_sibling: This function always returns + NULL. + - nghttp2_stream_get_first_child: This function always returns NULL. + - nghttp2_stream_get_weight: This function always returns + NGHTTP2_DEFAULT_WEIGHT. + - nghttp2_stream_get_sum_dependency_weight: This function always + returns 0. + +commit 8c83772f6c45a571fb209e9ec91729a360b8490f +Merge: 5ca0bca1 a8d731d8 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-01-03 +Commit: GitHub +CommitDate: 2025-01-03 + + Merge pull request #2286 from nghttp2/bump-munit + + Bump munit + +commit a8d731d81fb34fa253cc9cb7c8874f096914ee00 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-01-03 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-01-03 + + Bump munit + +commit 5ca0bca19992fbb08792a25a6657a61c16f78710 +Merge: 89f27a59 23a17d00 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-12-19 +Commit: GitHub +CommitDate: 2024-12-19 + + Merge pull request #2283 from nghttp2/bump-ngtcp2 + + Bump ngtcp2 and QUIC dependencies + +commit 89f27a597f4237d1c70a7d2b1b6c559ff4182ed6 +Merge: 59f85c5d 947928bc +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-12-19 +Commit: GitHub +CommitDate: 2024-12-19 + + Merge pull request #2282 from nghttp2/bump-golang.org/x/net + + Bump golang.org/x/net to v0.33.0 + +commit 947928bcc2a8a5951a7ff15ea032501bae98927b +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-12-19 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-12-19 + + Bump golang.org/x/net to v0.33.0 + +commit 23a17d0048f581856a363f6e3498815b0a4e4844 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-12-19 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-12-19 + + Bump ngtcp2 and QUIC dependencies + +commit 59f85c5d622ba46826f11e6d02b5aa39439cf7f8 +Merge: 92fa43ac c7bf69c8 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-12-10 +Commit: GitHub +CommitDate: 2024-12-10 + + Merge pull request #2281 from nghttp2/dependabot/go_modules/golang.org/x/net-0.32.0 + + build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 + +commit c7bf69c8e1d8646b249ef08ad58f3bca06ff0f3b +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2024-12-09 +Commit: GitHub +CommitDate: 2024-12-09 + + build(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 + + Bumps [golang.org/x/net](https://github.com/golang/net) from 0.31.0 to 0.32.0. + - [Commits](https://github.com/golang/net/compare/v0.31.0...v0.32.0) + + --- + updated-dependencies: + - dependency-name: golang.org/x/net + dependency-type: direct:production + update-type: version-update:semver-minor + ... + + Signed-off-by: dependabot[bot] + +commit 92fa43ac912b6c3b3d8bbfde55416eaa4f4ad508 +Merge: 68c3600d b05ee704 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-12-10 +Commit: GitHub +CommitDate: 2024-12-10 + + Merge pull request #2279 from nghttp2/dependabot/go_modules/github.com/quic-go/quic-go-0.48.2 + + build(deps): bump github.com/quic-go/quic-go from 0.48.1 to 0.48.2 + +commit b05ee704dd020e9dd0a8ff329686241fdbaeb897 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2024-12-02 +Commit: GitHub +CommitDate: 2024-12-02 + + build(deps): bump github.com/quic-go/quic-go from 0.48.1 to 0.48.2 + + Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.48.1 to 0.48.2. + - [Release notes](https://github.com/quic-go/quic-go/releases) + - [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md) + - [Commits](https://github.com/quic-go/quic-go/compare/v0.48.1...v0.48.2) + + --- + updated-dependencies: + - dependency-name: github.com/quic-go/quic-go + dependency-type: direct:production + update-type: version-update:semver-patch + ... + + Signed-off-by: dependabot[bot] + +commit 68c3600d9fe729b8c66424384472a23ae8b45cec +Merge: eb22cc12 f51e9b30 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-11-25 +Commit: GitHub +CommitDate: 2024-11-25 + + Merge pull request #2275 from nghttp2/bump-ngtcp2 + + Bump ngtcp2 + +commit f51e9b300f35ab50b16d3cdece1acf6ff9425357 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-11-25 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-11-25 + + GHA: Fix build error on Mac OS 14 + +commit f61d304ef38f92fb4c898664c48df9eadde36f9f +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-11-25 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-11-25 + + Bump ngtcp2 and its dependencies + +commit eb22cc1231a6b57b384abcd9948eb3ddfb844755 +Merge: 55c5adf9 41c8940a +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-11-18 +Commit: GitHub +CommitDate: 2024-11-18 + + Merge pull request #2274 from nghttp2/bump-sfparse + + Bump sfparse to 7eaf5b651f67123edf2605391023ed2fd7e2ef16 + +commit 41c8940a4ca9875b6ada4d432d8d2f2beeda0e60 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-11-18 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-11-18 + + Bump sfparse to 7eaf5b651f67123edf2605391023ed2fd7e2ef16 + +commit 55c5adf9676ecb49e8083fe3458381e751796123 +Merge: da14a31c db315a45 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-11-16 +Commit: GitHub +CommitDate: 2024-11-16 + + Merge pull request #2273 from nghttp2/urlparse + + Replace url-parser with urlparse + +commit db315a458810adb7d30be01315d48addd2a9fc40 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-11-16 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-11-16 + + Replace url-parser with urlparse + +commit da14a31cfb7dd05ee0b5cbbc6ec9d04cc87da365 +Merge: 7a96731c f5b0c5bf +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-11-15 +Commit: GitHub +CommitDate: 2024-11-15 + + Merge pull request #2272 from nghttp2/dependabot/go_modules/golang.org/x/net-0.31.0 + + build(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 + +commit f5b0c5bf06354d8cdb5fc46ee1c736e818bb2933 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2024-11-11 +Commit: GitHub +CommitDate: 2024-11-11 + + build(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 + + Bumps [golang.org/x/net](https://github.com/golang/net) from 0.30.0 to 0.31.0. + - [Commits](https://github.com/golang/net/compare/v0.30.0...v0.31.0) + + --- + updated-dependencies: + - dependency-name: golang.org/x/net + dependency-type: direct:production + update-type: version-update:semver-minor + ... + + Signed-off-by: dependabot[bot] + +commit 7a96731c6b03810bb5f45b3bd34806b895d7446e +Merge: 82ec1af2 ce70fb2a +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-10-30 +Commit: GitHub +CommitDate: 2024-10-30 + + Merge pull request #2268 from TuxInvader/conn-close-bytes + + account for bytes on closing connections + +commit ce70fb2a3e46a60a73ffe5526be9d1bdc87bd8ba +Author: Mark Boddington +AuthorDate: 2024-10-29 +Commit: GitHub +CommitDate: 2024-10-29 + + remove len check + +commit 82ec1af20e05b6f3d7c3b9106f777dcd28e732a1 +Merge: 55d4de79 5024c1b2 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-10-29 +Commit: GitHub +CommitDate: 2024-10-29 + + Merge pull request #2270 from nghttp2/dependabot/go_modules/github.com/quic-go/quic-go-0.48.1 + + build(deps): bump github.com/quic-go/quic-go from 0.48.0 to 0.48.1 + +commit 5024c1b2409a35c670fe945eb27c944f0e03d0c9 +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2024-10-28 +Commit: GitHub +CommitDate: 2024-10-28 + + build(deps): bump github.com/quic-go/quic-go from 0.48.0 to 0.48.1 + + Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.48.0 to 0.48.1. + - [Release notes](https://github.com/quic-go/quic-go/releases) + - [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md) + - [Commits](https://github.com/quic-go/quic-go/compare/v0.48.0...v0.48.1) + + --- + updated-dependencies: + - dependency-name: github.com/quic-go/quic-go + dependency-type: direct:production + update-type: version-update:semver-patch + ... + + Signed-off-by: dependabot[bot] + +commit a30bc25ac7327764863b430da3a713095afbe9df +Author: Mark Boddington +AuthorDate: 2024-10-25 +Commit: GitHub +CommitDate: 2024-10-25 + + account for bytes on closing connections + +commit 55d4de7963bc8c2c849cf4ca0c195a6d9f8e12eb +Merge: fcd4f266 69df6871 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2024-10-22 +Commit: GitHub +CommitDate: 2024-10-22 + + Merge pull request #2266 from nghttp2/dependabot/go_modules/github.com/quic-go/quic-go-0.48.0 + + build(deps): bump github.com/quic-go/quic-go from 0.47.0 to 0.48.0 + +commit 69df6871f63994fa41b09f2d1972ee43982e894b +Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +AuthorDate: 2024-10-21 +Commit: GitHub +CommitDate: 2024-10-21 + + build(deps): bump github.com/quic-go/quic-go from 0.47.0 to 0.48.0 + + Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.47.0 to 0.48.0. + - [Release notes](https://github.com/quic-go/quic-go/releases) + - [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md) + - [Commits](https://github.com/quic-go/quic-go/compare/v0.47.0...v0.48.0) + + --- + updated-dependencies: + - dependency-name: github.com/quic-go/quic-go + dependency-type: direct:production + update-type: version-update:semver-minor + ... + + Signed-off-by: dependabot[bot] + +commit fcd4f2663a61d1098cb2fca7d4da7e009f285569 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2024-10-21 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2024-10-21 + + Bump package version diff --git a/curl/dep/nghttp2/README.rst b/curl/dep/nghttp2/README.rst new file mode 100644 index 0000000..d2020ef --- /dev/null +++ b/curl/dep/nghttp2/README.rst @@ -0,0 +1,1466 @@ +nghttp2 - HTTP/2 C Library +========================== + +This is an implementation of the Hypertext Transfer Protocol version 2 +in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. +On top of that, we have implemented an HTTP/2 client, server and +proxy. We have also developed load test and benchmarking tools for +HTTP/2. + +An HPACK encoder and decoder are available as a public API. + +Development Status +------------------ + +nghttp2 was originally developed based on `RFC 7540 +`_ HTTP/2 and `RFC 7541 +`_ HPACK - Header Compression for +HTTP/2. Now we are updating our code to implement `RFC 9113 +`_. + +The nghttp2 code base was forked from the spdylay +(https://github.com/tatsuhiro-t/spdylay) project. + +Public Test Server +------------------ + +The following endpoints are available to try out our nghttp2 +implementation. + +* https://nghttp2.org/ (TLS + ALPN and HTTP/3) + + This endpoint supports ``h2``, ``h2-16``, ``h2-14``, and + ``http/1.1`` via ALPN and requires TLSv1.2 for HTTP/2 + connection. + + It also supports HTTP/3. + +* http://nghttp2.org/ (HTTP Upgrade and HTTP/2 Direct) + + ``h2c`` and ``http/1.1``. + +Requirements +------------ + +The following package is required to build the libnghttp2 library: + +* pkg-config >= 0.20 + +To build the documentation, you need to install: + +* sphinx (http://sphinx-doc.org/) + +If you need libnghttp2 (C library) only, then the above packages are +all you need. Use ``--enable-lib-only`` to ensure that only +libnghttp2 is built. This avoids potential build error related to +building bundled applications. + +To build and run the application programs (``nghttp``, ``nghttpd``, +``nghttpx`` and ``h2load``) in the ``src`` directory, the following packages +are required: + +* OpenSSL >= 1.1.1; or wolfSSL >= 5.7.0; or LibreSSL >= 3.8.1; or + aws-lc >= 1.19.0; or BoringSSL +* libev >= 4.11 +* zlib >= 1.2.3 +* libc-ares >= 1.7.5 + +To enable ``-a`` option (getting linked assets from the downloaded +resource) in ``nghttp``, the following package is required: + +* libxml2 >= 2.6.26 + +To enable systemd support in nghttpx, the following package is +required: + +* libsystemd-dev >= 209 + +The HPACK tools require the following package: + +* jansson >= 2.5 + +To build sources under the examples directory, libevent is required: + +* libevent-openssl >= 2.0.8 + +To mitigate heap fragmentation in long running server programs +(``nghttpd`` and ``nghttpx``), jemalloc is recommended: + +* jemalloc + + .. note:: + + Alpine Linux currently does not support malloc replacement + due to musl limitations. See details in issue `#762 `_. + +For BoringSSL or aws-lc build, to enable :rfc:`8879` TLS Certificate +Compression in applications, the following library is required: + +* libbrotli-dev >= 1.0.9 + +To enable mruby support for nghttpx, `mruby +`_ is required. We need to build +mruby with C++ ABI explicitly turned on, and probably need other +mrgems, mruby is managed by git submodule under third-party/mruby +directory. Currently, mruby support for nghttpx is disabled by +default. To enable mruby support, use ``--with-mruby`` configure +option. Note that at the time of this writing, libmruby-dev and mruby +packages in Debian/Ubuntu are not usable for nghttp2, since they do +not enable C++ ABI. To build mruby, the following packages are +required: + +* ruby +* bison + +nghttpx supports `neverbleed `_, +privilege separation engine for OpenSSL. In short, it minimizes the +risk of private key leakage when serious bug like Heartbleed is +exploited. The neverbleed is disabled by default. To enable it, use +``--with-neverbleed`` configure option. + +To enable the experimental HTTP/3 support for h2load and nghttpx, the +following libraries are required: + +* `OpenSSL with QUIC support + `_; or + wolfSSL; or LibreSSL (does not support 0RTT); or aws-lc; or + `BoringSSL `_ (commit + 294ab9730c570213b496cfc2fc14b3c0bfcd4bcc) +* `ngtcp2 `_ >= 1.4.0 +* `nghttp3 `_ >= 1.1.0 + +Use ``--enable-http3`` configure option to enable HTTP/3 feature for +h2load and nghttpx. + +In order to build optional eBPF program to direct an incoming QUIC UDP +datagram to a correct socket for nghttpx, the following libraries are +required: + +* libbpf-dev >= 0.7.0 + +Use ``--with-libbpf`` configure option to build eBPF program. +libelf-dev is needed to build libbpf. + +For Ubuntu 20.04, you can build libbpf from `the source code +`_. nghttpx requires eBPF +program for reloading its configuration and hot swapping its +executable. + +Compiling libnghttp2 C source code requires a C99 compiler. gcc 4.8 +is known to be adequate. In order to compile the C++ source code, +C++20 compliant compiler is required. At least g++ >= 12 and +clang++ >= 15 are known to work. + +.. note:: + + To enable mruby support in nghttpx, and use ``--with-mruby`` + configure option. + +.. note:: + + Mac OS X users may need the ``--disable-threads`` configure option to + disable multi-threading in nghttpd, nghttpx and h2load to prevent + them from crashing. A patch is welcome to make multi threading work + on Mac OS X platform. + +.. note:: + + To compile the associated applications (nghttp, nghttpd, nghttpx + and h2load), you must use the ``--enable-app`` configure option and + ensure that the specified requirements above are met. Normally, + configure script checks required dependencies to build these + applications, and enable ``--enable-app`` automatically, so you + don't have to use it explicitly. But if you found that + applications were not built, then using ``--enable-app`` may find + that cause, such as the missing dependency. + +.. note:: + + In order to detect third party libraries, pkg-config is used + (however we don't use pkg-config for some libraries (e.g., libev)). + By default, pkg-config searches ``*.pc`` file in the standard + locations (e.g., /usr/lib/pkgconfig). If it is necessary to use + ``*.pc`` file in the custom location, specify paths to + ``PKG_CONFIG_PATH`` environment variable, and pass it to configure + script, like so: + + .. code-block:: text + + $ ./configure PKG_CONFIG_PATH=/path/to/pkgconfig + + For pkg-config managed libraries, ``*_CFLAG`` and ``*_LIBS`` + environment variables are defined (e.g., ``OPENSSL_CFLAGS``, + ``OPENSSL_LIBS``). Specifying non-empty string to these variables + completely overrides pkg-config. In other words, if they are + specified, pkg-config is not used for detection, and user is + responsible to specify the correct values to these variables. For + complete list of these variables, run ``./configure -h``. + +If you are using Ubuntu 22.04 LTS, run the following to install the +required packages: + +.. code-block:: text + + sudo apt-get install g++ clang make binutils autoconf automake \ + autotools-dev libtool pkg-config \ + zlib1g-dev libssl-dev libxml2-dev libev-dev \ + libevent-dev libjansson-dev \ + libc-ares-dev libjemalloc-dev libsystemd-dev \ + ruby-dev bison libelf-dev + +Building nghttp2 from release tar archive +----------------------------------------- + +The nghttp2 project regularly releases tar archives which includes +nghttp2 source code, and generated build files. They can be +downloaded from `Releases +`_ page. + +Building nghttp2 from git requires autotools development packages. +Building from tar archives does not require them, and thus it is much +easier. The usual build step is as follows: + +.. code-block:: text + + $ tar xf nghttp2-X.Y.Z.tar.bz2 + $ cd nghttp2-X.Y.Z + $ ./configure + $ make + +Building from git +----------------- + +Building from git is easy, but please be sure that at least autoconf 2.68 is +used: + +.. code-block:: text + + $ git submodule update --init + $ autoreconf -i + $ automake + $ autoconf + $ ./configure + $ make + +Notes for building on Windows (MSVC) +------------------------------------ + +The easiest way to build native Windows nghttp2 dll is use `cmake +`_. The free version of `Visual C++ Build Tools +`_ works +fine. + +1. Install cmake for windows +2. Open "Visual C++ ... Native Build Tool Command Prompt", and inside + nghttp2 directly, run ``cmake``. +3. Then run ``cmake --build`` to build library. +4. nghttp2.dll, nghttp2.lib, nghttp2.exp are placed under lib directory. + +Note that the above steps most likely produce nghttp2 library only. +No bundled applications are compiled. + +Notes for building on Windows (Mingw/Cygwin) +-------------------------------------------- + +Under Mingw environment, you can only compile the library, it's +``libnghttp2-X.dll`` and ``libnghttp2.a``. + +If you want to compile the applications(``h2load``, ``nghttp``, +``nghttpx``, ``nghttpd``), you need to use the Cygwin environment. + +Under Cygwin environment, to compile the applications you need to +compile and install the libev first. + +Secondly, you need to undefine the macro ``__STRICT_ANSI__``, if you +not, the functions ``fdopen``, ``fileno`` and ``strptime`` will not +available. + +the sample command like this: + +.. code-block:: text + + $ export CFLAGS="-U__STRICT_ANSI__ -I$libev_PREFIX/include -L$libev_PREFIX/lib" + $ export CXXFLAGS=$CFLAGS + $ ./configure + $ make + +If you want to compile the applications under ``examples/``, you need +to remove or rename the ``event.h`` from libev's installation, because +it conflicts with libevent's installation. + +Notes for installation on Linux systems +-------------------------------------------- +After installing nghttp2 tool suite with ``make install`` one might experience a similar error: + +.. code-block:: text + + nghttpx: error while loading shared libraries: libnghttp2.so.14: cannot open shared object file: No such file or directory + +This means that the tool is unable to locate the ``libnghttp2.so`` shared library. + +To update the shared library cache run ``sudo ldconfig``. + +Building the documentation +-------------------------- + +.. note:: + + Documentation is still incomplete. + +To build the documentation, run: + +.. code-block:: text + + $ make html + +The documents will be generated under ``doc/manual/html/``. + +The generated documents will not be installed with ``make install``. + +The online documentation is available at +https://nghttp2.org/documentation/ + +Build HTTP/3 enabled h2load and nghttpx +--------------------------------------- + +To build h2load and nghttpx with HTTP/3 feature enabled, run the +configure script with ``--enable-http3``. + +For nghttpx to reload configurations and swapping its executable while +gracefully terminating old worker processes, eBPF is required. Run +the configure script with ``--enable-http3 --with-libbpf`` to build +eBPF program. The QUIC keying material must be set with +``--frontend-quic-secret-file`` in order to keep the existing +connections alive during reload. + +The detailed steps to build HTTP/3 enabled h2load and nghttpx follow. + +Build aws-lc: + +.. code-block:: text + + $ git clone --depth 1 -b v1.46.1 https://github.com/aws/aws-lc + $ cd aws-lc + $ cmake -B build -DDISABLE_GO=ON --install-prefix=$PWD/opt + $ make -j$(nproc) -C build + $ cmake --install build + $ cd .. + +Build nghttp3: + +.. code-block:: text + + $ git clone --depth 1 -b v1.8.0 https://github.com/ngtcp2/nghttp3 + $ cd nghttp3 + $ git submodule update --init --depth 1 + $ autoreconf -i + $ ./configure --prefix=$PWD/build --enable-lib-only + $ make -j$(nproc) + $ make install + $ cd .. + +Build ngtcp2: + +.. code-block:: text + + $ git clone --depth 1 -b v1.11.0 https://github.com/ngtcp2/ngtcp2 + $ cd ngtcp2 + $ git submodule update --init --depth 1 + $ autoreconf -i + $ ./configure --prefix=$PWD/build --enable-lib-only --with-boringssl \ + BORINGSSL_CFLAGS="-I$PWD/../aws-lc/opt/include" \ + BORINGSSL_LIBS="-L$PWD/../aws-lc/opt/lib -lssl -lcrypto" + $ make -j$(nproc) + $ make install + $ cd .. + +If your Linux distribution does not have libbpf-dev >= 0.7.0, build +from source: + +.. code-block:: text + + $ git clone --depth 1 -b v1.5.0 https://github.com/libbpf/libbpf + $ cd libbpf + $ PREFIX=$PWD/build make -C src install + $ cd .. + +Build nghttp2: + +.. code-block:: text + + $ git clone https://github.com/nghttp2/nghttp2 + $ cd nghttp2 + $ git submodule update --init + $ autoreconf -i + $ ./configure --with-mruby --enable-http3 --with-libbpf \ + CC=clang-15 CXX=clang++-15 \ + PKG_CONFIG_PATH="$PWD/../aws-lc/opt/lib/pkgconfig:$PWD/../nghttp3/build/lib/pkgconfig:$PWD/../ngtcp2/build/lib/pkgconfig:$PWD/../libbpf/build/lib64/pkgconfig" \ + LDFLAGS="$LDFLAGS -Wl,-rpath,$PWD/../aws-lc/opt/lib -Wl,-rpath,$PWD/../libbpf/build/lib64" + $ make -j$(nproc) + +The eBPF program ``reuseport_kern.o`` should be found under bpf +directory. Pass ``--quic-bpf-program-file=bpf/reuseport_kern.o`` +option to nghttpx to load it. See also `HTTP/3 section in nghttpx - +HTTP/2 proxy - HOW-TO +`_. + +Unit tests +---------- + +Unit tests are done by simply running ``make check``. + +Integration tests +----------------- + +We have the integration tests for the nghttpx proxy server. The tests are +written in the `Go programming language `_ and uses +its testing framework. We depend on the following libraries: + +* golang.org/x/net/http2 +* golang.org/x/net/websocket +* https://github.com/tatsuhiro-t/go-nghttp2 + +Go modules will download these dependencies automatically. + +To run the tests, run the following command under +``integration-tests`` directory: + +.. code-block:: text + + $ make it + +Inside the tests, we use port 3009 to run the test subject server. + +Migration from v0.7.15 or earlier +--------------------------------- + +nghttp2 v1.0.0 introduced several backward incompatible changes. In +this section, we describe these changes and how to migrate to v1.0.0. + +ALPN protocol ID is now ``h2`` and ``h2c`` +++++++++++++++++++++++++++++++++++++++++++ + +Previously we announced ``h2-14`` and ``h2c-14``. v1.0.0 implements +final protocol version, and we changed ALPN ID to ``h2`` and ``h2c``. +The macros ``NGHTTP2_PROTO_VERSION_ID``, +``NGHTTP2_PROTO_VERSION_ID_LEN``, +``NGHTTP2_CLEARTEXT_PROTO_VERSION_ID``, and +``NGHTTP2_CLEARTEXT_PROTO_VERSION_ID_LEN`` have been updated to +reflect this change. + +Basically, existing applications do not have to do anything, just +recompiling is enough for this change. + +Use word "client magic" where we use "client connection preface" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +We use "client connection preface" to mean first 24 bytes of client +connection preface. This is technically not correct, since client +connection preface is composed of 24 bytes client magic byte string +followed by SETTINGS frame. For clarification, we call "client magic" +for this 24 bytes byte string and updated API. + +* ``NGHTTP2_CLIENT_CONNECTION_PREFACE`` was replaced with + ``NGHTTP2_CLIENT_MAGIC``. +* ``NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN`` was replaced with + ``NGHTTP2_CLIENT_MAGIC_LEN``. +* ``NGHTTP2_BAD_PREFACE`` was renamed as ``NGHTTP2_BAD_CLIENT_MAGIC`` + +The already deprecated ``NGHTTP2_CLIENT_CONNECTION_HEADER`` and +``NGHTTP2_CLIENT_CONNECTION_HEADER_LEN`` were removed. + +If application uses these macros, just replace old ones with new ones. +Since v1.0.0, client magic is sent by library (see next subsection), +so client application may just remove these macro use. + +Client magic is sent by library ++++++++++++++++++++++++++++++++ + +Previously nghttp2 library did not send client magic, which is first +24 bytes byte string of client connection preface, and client +applications have to send it by themselves. Since v1.0.0, client +magic is sent by library via first call of ``nghttp2_session_send()`` +or ``nghttp2_session_mem_send2()``. + +The client applications which send client magic must remove the +relevant code. + +Remove HTTP Alternative Services (Alt-Svc) related code ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Alt-Svc specification is not finalized yet. To make our API stable, +we have decided to remove all Alt-Svc related API from nghttp2. + +* ``NGHTTP2_EXT_ALTSVC`` was removed. +* ``nghttp2_ext_altsvc`` was removed. + +We have already removed the functionality of Alt-Svc in v0.7 series +and they have been essentially noop. The application using these +macro and struct, remove those lines. + +Use nghttp2_error in nghttp2_on_invalid_frame_recv_callback ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Previously ``nghttp2_on_invalid_frame_recv_cb_called`` took the +``error_code``, defined in ``nghttp2_error_code``, as parameter. But +they are not detailed enough to debug. Therefore, we decided to use +more detailed ``nghttp2_error`` values instead. + +The application using this callback should update the callback +signature. If it treats ``error_code`` as HTTP/2 error code, update +the code so that it is treated as ``nghttp2_error``. + +Receive client magic by default ++++++++++++++++++++++++++++++++ + +Previously nghttp2 did not process client magic (24 bytes byte +string). To make it deal with it, we had to use +``nghttp2_option_set_recv_client_preface()``. Since v1.0.0, nghttp2 +processes client magic by default and +``nghttp2_option_set_recv_client_preface()`` was removed. + +Some application may want to disable this behaviour, so we added +``nghttp2_option_set_no_recv_client_magic()`` to achieve this. + +The application using ``nghttp2_option_set_recv_client_preface()`` +with nonzero value, just remove it. + +The application using ``nghttp2_option_set_recv_client_preface()`` +with zero value or not using it must use +``nghttp2_option_set_no_recv_client_magic()`` with nonzero value. + +Client, Server and Proxy programs +--------------------------------- + +The ``src`` directory contains the HTTP/2 client, server and proxy programs. + +nghttp - client ++++++++++++++++ + +``nghttp`` is a HTTP/2 client. It can connect to the HTTP/2 server +with prior knowledge, HTTP Upgrade and ALPN TLS extension. + +It has verbose output mode for framing information. Here is sample +output from ``nghttp`` client: + +.. code-block:: text + + $ nghttp -nv https://nghttp2.org + [ 0.190] Connected + The negotiated protocol: h2 + [ 0.212] recv SETTINGS frame + (niv=2) + [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] + [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] + [ 0.212] send SETTINGS frame + (niv=2) + [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] + [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] + [ 0.212] send SETTINGS frame + ; ACK + (niv=0) + [ 0.212] send PRIORITY frame + (dep_stream_id=0, weight=201, exclusive=0) + [ 0.212] send PRIORITY frame + (dep_stream_id=0, weight=101, exclusive=0) + [ 0.212] send PRIORITY frame + (dep_stream_id=0, weight=1, exclusive=0) + [ 0.212] send PRIORITY frame + (dep_stream_id=7, weight=1, exclusive=0) + [ 0.212] send PRIORITY frame + (dep_stream_id=3, weight=1, exclusive=0) + [ 0.212] send HEADERS frame + ; END_STREAM | END_HEADERS | PRIORITY + (padlen=0, dep_stream_id=11, weight=16, exclusive=0) + ; Open new stream + :method: GET + :path: / + :scheme: https + :authority: nghttp2.org + accept: */* + accept-encoding: gzip, deflate + user-agent: nghttp2/1.0.1-DEV + [ 0.221] recv SETTINGS frame + ; ACK + (niv=0) + [ 0.221] recv (stream_id=13) :method: GET + [ 0.221] recv (stream_id=13) :scheme: https + [ 0.221] recv (stream_id=13) :path: /stylesheets/screen.css + [ 0.221] recv (stream_id=13) :authority: nghttp2.org + [ 0.221] recv (stream_id=13) accept-encoding: gzip, deflate + [ 0.222] recv (stream_id=13) user-agent: nghttp2/1.0.1-DEV + [ 0.222] recv PUSH_PROMISE frame + ; END_HEADERS + (padlen=0, promised_stream_id=2) + [ 0.222] recv (stream_id=13) :status: 200 + [ 0.222] recv (stream_id=13) date: Thu, 21 May 2015 16:38:14 GMT + [ 0.222] recv (stream_id=13) content-type: text/html + [ 0.222] recv (stream_id=13) last-modified: Fri, 15 May 2015 15:38:06 GMT + [ 0.222] recv (stream_id=13) etag: W/"555612de-19f6" + [ 0.222] recv (stream_id=13) link: ; rel=preload; as=stylesheet + [ 0.222] recv (stream_id=13) content-encoding: gzip + [ 0.222] recv (stream_id=13) server: nghttpx nghttp2/1.0.1-DEV + [ 0.222] recv (stream_id=13) via: 1.1 nghttpx + [ 0.222] recv (stream_id=13) strict-transport-security: max-age=31536000 + [ 0.222] recv HEADERS frame + ; END_HEADERS + (padlen=0) + ; First response header + [ 0.222] recv DATA frame + ; END_STREAM + [ 0.222] recv (stream_id=2) :status: 200 + [ 0.222] recv (stream_id=2) date: Thu, 21 May 2015 16:38:14 GMT + [ 0.222] recv (stream_id=2) content-type: text/css + [ 0.222] recv (stream_id=2) last-modified: Fri, 15 May 2015 15:38:06 GMT + [ 0.222] recv (stream_id=2) etag: W/"555612de-9845" + [ 0.222] recv (stream_id=2) content-encoding: gzip + [ 0.222] recv (stream_id=2) server: nghttpx nghttp2/1.0.1-DEV + [ 0.222] recv (stream_id=2) via: 1.1 nghttpx + [ 0.222] recv (stream_id=2) strict-transport-security: max-age=31536000 + [ 0.222] recv HEADERS frame + ; END_HEADERS + (padlen=0) + ; First push response header + [ 0.228] recv DATA frame + ; END_STREAM + [ 0.228] send GOAWAY frame + (last_stream_id=2, error_code=NO_ERROR(0x00), opaque_data(0)=[]) + +The HTTP Upgrade is performed like so: + +.. code-block:: text + + $ nghttp -nvu http://nghttp2.org + [ 0.011] Connected + [ 0.011] HTTP Upgrade request + GET / HTTP/1.1 + Host: nghttp2.org + Connection: Upgrade, HTTP2-Settings + Upgrade: h2c + HTTP2-Settings: AAMAAABkAAQAAP__ + Accept: */* + User-Agent: nghttp2/1.0.1-DEV + + + [ 0.018] HTTP Upgrade response + HTTP/1.1 101 Switching Protocols + Connection: Upgrade + Upgrade: h2c + + + [ 0.018] HTTP Upgrade success + [ 0.018] recv SETTINGS frame + (niv=2) + [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] + [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] + [ 0.018] send SETTINGS frame + (niv=2) + [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] + [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] + [ 0.018] send SETTINGS frame + ; ACK + (niv=0) + [ 0.018] send PRIORITY frame + (dep_stream_id=0, weight=201, exclusive=0) + [ 0.018] send PRIORITY frame + (dep_stream_id=0, weight=101, exclusive=0) + [ 0.018] send PRIORITY frame + (dep_stream_id=0, weight=1, exclusive=0) + [ 0.018] send PRIORITY frame + (dep_stream_id=7, weight=1, exclusive=0) + [ 0.018] send PRIORITY frame + (dep_stream_id=3, weight=1, exclusive=0) + [ 0.018] send PRIORITY frame + (dep_stream_id=11, weight=16, exclusive=0) + [ 0.019] recv (stream_id=1) :method: GET + [ 0.019] recv (stream_id=1) :scheme: http + [ 0.019] recv (stream_id=1) :path: /stylesheets/screen.css + [ 0.019] recv (stream_id=1) host: nghttp2.org + [ 0.019] recv (stream_id=1) user-agent: nghttp2/1.0.1-DEV + [ 0.019] recv PUSH_PROMISE frame + ; END_HEADERS + (padlen=0, promised_stream_id=2) + [ 0.019] recv (stream_id=1) :status: 200 + [ 0.019] recv (stream_id=1) date: Thu, 21 May 2015 16:39:16 GMT + [ 0.019] recv (stream_id=1) content-type: text/html + [ 0.019] recv (stream_id=1) content-length: 6646 + [ 0.019] recv (stream_id=1) last-modified: Fri, 15 May 2015 15:38:06 GMT + [ 0.019] recv (stream_id=1) etag: "555612de-19f6" + [ 0.019] recv (stream_id=1) link: ; rel=preload; as=stylesheet + [ 0.019] recv (stream_id=1) accept-ranges: bytes + [ 0.019] recv (stream_id=1) server: nghttpx nghttp2/1.0.1-DEV + [ 0.019] recv (stream_id=1) via: 1.1 nghttpx + [ 0.019] recv HEADERS frame + ; END_HEADERS + (padlen=0) + ; First response header + [ 0.019] recv DATA frame + ; END_STREAM + [ 0.019] recv (stream_id=2) :status: 200 + [ 0.019] recv (stream_id=2) date: Thu, 21 May 2015 16:39:16 GMT + [ 0.019] recv (stream_id=2) content-type: text/css + [ 0.019] recv (stream_id=2) content-length: 38981 + [ 0.019] recv (stream_id=2) last-modified: Fri, 15 May 2015 15:38:06 GMT + [ 0.019] recv (stream_id=2) etag: "555612de-9845" + [ 0.019] recv (stream_id=2) accept-ranges: bytes + [ 0.019] recv (stream_id=2) server: nghttpx nghttp2/1.0.1-DEV + [ 0.019] recv (stream_id=2) via: 1.1 nghttpx + [ 0.019] recv HEADERS frame + ; END_HEADERS + (padlen=0) + ; First push response header + [ 0.026] recv DATA frame + [ 0.027] recv DATA frame + [ 0.027] send WINDOW_UPDATE frame + (window_size_increment=33343) + [ 0.032] send WINDOW_UPDATE frame + (window_size_increment=33707) + [ 0.032] recv DATA frame + ; END_STREAM + [ 0.032] recv SETTINGS frame + ; ACK + (niv=0) + [ 0.032] send GOAWAY frame + (last_stream_id=2, error_code=NO_ERROR(0x00), opaque_data(0)=[]) + +Using the ``-s`` option, ``nghttp`` prints out some timing information for +requests, sorted by completion time: + +.. code-block:: text + + $ nghttp -nas https://nghttp2.org/ + ***** Statistics ***** + + Request timing: + responseEnd: the time when last byte of response was received + relative to connectEnd + requestStart: the time just before first byte of request was sent + relative to connectEnd. If '*' is shown, this was + pushed by server. + process: responseEnd - requestStart + code: HTTP status code + size: number of bytes received as response body without + inflation. + URI: request URI + + see http://www.w3.org/TR/resource-timing/#processing-model + + sorted by 'complete' + + id responseEnd requestStart process code size request path + 13 +37.19ms +280us 36.91ms 200 2K / + 2 +72.65ms * +36.38ms 36.26ms 200 8K /stylesheets/screen.css + 17 +77.43ms +38.67ms 38.75ms 200 3K /javascripts/octopress.js + 15 +78.12ms +38.66ms 39.46ms 200 3K /javascripts/modernizr-2.0.js + +Using the ``-r`` option, ``nghttp`` writes more detailed timing data to +the given file in HAR format. + +nghttpd - server +++++++++++++++++ + +``nghttpd`` is a multi-threaded static web server. + +By default, it uses SSL/TLS connection. Use ``--no-tls`` option to +disable it. + +``nghttpd`` only accepts HTTP/2 connections via ALPN or direct HTTP/2 +connections. No HTTP Upgrade is supported. + +The ``-p`` option allows users to configure server push. + +Just like ``nghttp``, it has a verbose output mode for framing +information. Here is sample output from ``nghttpd``: + +.. code-block:: text + + $ nghttpd --no-tls -v 8080 + IPv4: listen 0.0.0.0:8080 + IPv6: listen :::8080 + [id=1] [ 1.521] send SETTINGS frame + (niv=1) + [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] + [id=1] [ 1.521] recv SETTINGS frame + (niv=2) + [SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100] + [SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535] + [id=1] [ 1.521] recv SETTINGS frame + ; ACK + (niv=0) + [id=1] [ 1.521] recv PRIORITY frame + (dep_stream_id=0, weight=201, exclusive=0) + [id=1] [ 1.521] recv PRIORITY frame + (dep_stream_id=0, weight=101, exclusive=0) + [id=1] [ 1.521] recv PRIORITY frame + (dep_stream_id=0, weight=1, exclusive=0) + [id=1] [ 1.521] recv PRIORITY frame + (dep_stream_id=7, weight=1, exclusive=0) + [id=1] [ 1.521] recv PRIORITY frame + (dep_stream_id=3, weight=1, exclusive=0) + [id=1] [ 1.521] recv (stream_id=13) :method: GET + [id=1] [ 1.521] recv (stream_id=13) :path: / + [id=1] [ 1.521] recv (stream_id=13) :scheme: http + [id=1] [ 1.521] recv (stream_id=13) :authority: localhost:8080 + [id=1] [ 1.521] recv (stream_id=13) accept: */* + [id=1] [ 1.521] recv (stream_id=13) accept-encoding: gzip, deflate + [id=1] [ 1.521] recv (stream_id=13) user-agent: nghttp2/1.0.0-DEV + [id=1] [ 1.521] recv HEADERS frame + ; END_STREAM | END_HEADERS | PRIORITY + (padlen=0, dep_stream_id=11, weight=16, exclusive=0) + ; Open new stream + [id=1] [ 1.521] send SETTINGS frame + ; ACK + (niv=0) + [id=1] [ 1.521] send HEADERS frame + ; END_HEADERS + (padlen=0) + ; First response header + :status: 200 + server: nghttpd nghttp2/1.0.0-DEV + content-length: 10 + cache-control: max-age=3600 + date: Fri, 15 May 2015 14:49:04 GMT + last-modified: Tue, 30 Sep 2014 12:40:52 GMT + [id=1] [ 1.522] send DATA frame + ; END_STREAM + [id=1] [ 1.522] stream_id=13 closed + [id=1] [ 1.522] recv GOAWAY frame + (last_stream_id=0, error_code=NO_ERROR(0x00), opaque_data(0)=[]) + [id=1] [ 1.522] closed + +nghttpx - proxy ++++++++++++++++ + +``nghttpx`` is a multi-threaded reverse proxy for HTTP/3, HTTP/2, and +HTTP/1.1, and powers http://nghttp2.org and supports HTTP/2 server +push. + +We reworked ``nghttpx`` command-line interface, and as a result, there +are several incompatibles from 1.8.0 or earlier. This is necessary to +extend its capability, and secure the further feature enhancements in +the future release. Please read `Migration from nghttpx v1.8.0 or +earlier +`_ +to know how to migrate from earlier releases. + +``nghttpx`` implements `important performance-oriented features +`_ in TLS, such as +session IDs, session tickets (with automatic key rotation), OCSP +stapling, dynamic record sizing, ALPN, forward secrecy and HTTP/2. +``nghttpx`` also offers the functionality to share session cache and +ticket keys among multiple ``nghttpx`` instances via memcached. + +``nghttpx`` has 2 operation modes: + +================== ======================== ================ ============= +Mode option Frontend Backend Note +================== ======================== ================ ============= +default mode HTTP/3, HTTP/2, HTTP/1.1 HTTP/1.1, HTTP/2 Reverse proxy +``--http2-proxy`` HTTP/3, HTTP/2, HTTP/1.1 HTTP/1.1, HTTP/2 Forward proxy +================== ======================== ================ ============= + +The interesting mode at the moment is the default mode. It works like +a reverse proxy and listens for HTTP/3, HTTP/2, and HTTP/1.1 and can +be deployed as a SSL/TLS terminator for existing web server. + +In all modes, the frontend connections are encrypted by SSL/TLS by +default. To disable encryption, use the ``no-tls`` keyword in +``--frontend`` option. If encryption is disabled, incoming HTTP/1.1 +connections can be upgraded to HTTP/2 through HTTP Upgrade. On the +other hard, backend connections are not encrypted by default. To +encrypt backend connections, use ``tls`` keyword in ``--backend`` +option. + +``nghttpx`` supports a configuration file. See the ``--conf`` option and +sample configuration file ``nghttpx.conf.sample``. + +In the default mode, ``nghttpx`` works as reverse proxy to the backend +server: + +.. code-block:: text + + Client <-- (HTTP/3, HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/1.1, HTTP/2) --> Web Server + [reverse proxy] + +With the ``--http2-proxy`` option, it works as forward proxy, and it +is so called secure HTTP/2 proxy: + +.. code-block:: text + + Client <-- (HTTP/3, HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/1.1) --> Proxy + [secure proxy] (e.g., Squid, ATS) + +The ``Client`` in the above example needs to be configured to use +``nghttpx`` as secure proxy. + +At the time of this writing, both Chrome and Firefox support secure +HTTP/2 proxy. One way to configure Chrome to use a secure proxy is to +create a proxy.pac script like this: + +.. code-block:: javascript + + function FindProxyForURL(url, host) { + return "HTTPS SERVERADDR:PORT"; + } + +``SERVERADDR`` and ``PORT`` is the hostname/address and port of the +machine nghttpx is running on. Please note that Chrome requires a valid +certificate for secure proxy. + +Then run Chrome with the following arguments: + +.. code-block:: text + + $ google-chrome --proxy-pac-url=file:///path/to/proxy.pac --use-npn + +The backend HTTP/2 connections can be tunneled through an HTTP proxy. +The proxy is specified using ``--backend-http-proxy-uri``. The +following figure illustrates how nghttpx talks to the outside HTTP/2 +proxy through an HTTP proxy: + +.. code-block:: text + + Client <-- (HTTP/3, HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/2) -- + + --===================---> HTTP/2 Proxy + (HTTP proxy tunnel) (e.g., nghttpx -s) + +Benchmarking tool +----------------- + +The ``h2load`` program is a benchmarking tool for HTTP/3, HTTP/2, and +HTTP/1.1. The UI of ``h2load`` is heavily inspired by ``weighttp`` +(https://github.com/lighttpd/weighttp). The typical usage is as +follows: + +.. code-block:: text + + $ h2load -n100000 -c100 -m100 https://localhost:8443/ + starting benchmark... + spawning thread #0: 100 concurrent clients, 100000 total requests + Protocol: TLSv1.2 + Cipher: ECDHE-RSA-AES128-GCM-SHA256 + Server Temp Key: ECDH P-256 256 bits + progress: 10% done + progress: 20% done + progress: 30% done + progress: 40% done + progress: 50% done + progress: 60% done + progress: 70% done + progress: 80% done + progress: 90% done + progress: 100% done + + finished in 771.26ms, 129658 req/s, 4.71MB/s + requests: 100000 total, 100000 started, 100000 done, 100000 succeeded, 0 failed, 0 errored + status codes: 100000 2xx, 0 3xx, 0 4xx, 0 5xx + traffic: 3812300 bytes total, 1009900 bytes headers, 1000000 bytes data + min max mean sd +/- sd + time for request: 25.12ms 124.55ms 51.07ms 15.36ms 84.87% + time for connect: 208.94ms 254.67ms 241.38ms 7.95ms 63.00% + time to 1st byte: 209.11ms 254.80ms 241.51ms 7.94ms 63.00% + +The above example issued total 100,000 requests, using 100 concurrent +clients (in other words, 100 HTTP/2 sessions), and a maximum of 100 streams +per client. With the ``-t`` option, ``h2load`` will use multiple native +threads to avoid saturating a single core on client side. + +.. warning:: + + **Don't use this tool against publicly available servers.** That is + considered a DOS attack. Please only use it against your private + servers. + +If the experimental HTTP/3 is enabled, h2load can send requests to +HTTP/3 server. To do this, specify ``h3`` to ``--alpn-list`` option +like so: + +.. code-block:: text + + $ h2load --alpn-list h3 https://127.0.0.1:4433 + +For nghttp2 v1.58 or earlier, use ``--npn-list`` instead of +``--alpn-list``. + +HPACK tools +----------- + +The ``src`` directory contains the HPACK tools. The ``deflatehd`` program is a +command-line header compression tool. The ``inflatehd`` program is a +command-line header decompression tool. Both tools read input from +stdin and write output to stdout. Errors are written to stderr. +They take JSON as input and output. We (mostly) use the same JSON data +format described at https://github.com/http2jp/hpack-test-case. + +deflatehd - header compressor ++++++++++++++++++++++++++++++ + +The ``deflatehd`` program reads JSON data or HTTP/1-style header fields from +stdin and outputs compressed header block in JSON. + +For the JSON input, the root JSON object must include a ``cases`` key. +Its value has to include the sequence of input header set. They share +the same compression context and are processed in the order they +appear. Each item in the sequence is a JSON object and it must +include a ``headers`` key. Its value is an array of JSON objects, +which includes exactly one name/value pair. + +Example: + +.. code-block:: json + + { + "cases": + [ + { + "headers": [ + { ":method": "GET" }, + { ":path": "/" } + ] + }, + { + "headers": [ + { ":method": "POST" }, + { ":path": "/" } + ] + } + ] + } + + +With the ``-t`` option, the program can accept more familiar HTTP/1 style +header field blocks. Each header set is delimited by an empty line: + +Example: + +.. code-block:: text + + :method: GET + :scheme: https + :path: / + + :method: POST + user-agent: nghttp2 + +The output is in JSON object. It should include a ``cases`` key and its +value is an array of JSON objects, which has at least the following keys: + +seq + The index of header set in the input. + +input_length + The sum of the length of the name/value pairs in the input. + +output_length + The length of the compressed header block. + +percentage_of_original_size + ``output_length`` / ``input_length`` * 100 + +wire + The compressed header block as a hex string. + +headers + The input header set. + +header_table_size + The header table size adjusted before deflating the header set. + +Examples: + +.. code-block:: json + + { + "cases": + [ + { + "seq": 0, + "input_length": 66, + "output_length": 20, + "percentage_of_original_size": 30.303030303030305, + "wire": "01881f3468e5891afcbf83868a3d856659c62e3f", + "headers": [ + { + ":authority": "example.org" + }, + { + ":method": "GET" + }, + { + ":path": "/" + }, + { + ":scheme": "https" + }, + { + "user-agent": "nghttp2" + } + ], + "header_table_size": 4096 + } + , + { + "seq": 1, + "input_length": 74, + "output_length": 10, + "percentage_of_original_size": 13.513513513513514, + "wire": "88448504252dd5918485", + "headers": [ + { + ":authority": "example.org" + }, + { + ":method": "POST" + }, + { + ":path": "/account" + }, + { + ":scheme": "https" + }, + { + "user-agent": "nghttp2" + } + ], + "header_table_size": 4096 + } + ] + } + + +The output can be used as the input for ``inflatehd`` and +``deflatehd``. + +With the ``-d`` option, the extra ``header_table`` key is added and its +associated value includes the state of dynamic header table after the +corresponding header set was processed. The value includes at least +the following keys: + +entries + The entry in the header table. If ``referenced`` is ``true``, it + is in the reference set. The ``size`` includes the overhead (32 + bytes). The ``index`` corresponds to the index of header table. + The ``name`` is the header field name and the ``value`` is the + header field value. + +size + The sum of the spaces entries occupied, this includes the + entry overhead. + +max_size + The maximum header table size. + +deflate_size + The sum of the spaces entries occupied within + ``max_deflate_size``. + +max_deflate_size + The maximum header table size the encoder uses. This can be smaller + than ``max_size``. In this case, the encoder only uses up to first + ``max_deflate_size`` buffer. Since the header table size is still + ``max_size``, the encoder has to keep track of entries outside the + ``max_deflate_size`` but inside the ``max_size`` and make sure + that they are no longer referenced. + +Example: + +.. code-block:: json + + { + "cases": + [ + { + "seq": 0, + "input_length": 66, + "output_length": 20, + "percentage_of_original_size": 30.303030303030305, + "wire": "01881f3468e5891afcbf83868a3d856659c62e3f", + "headers": [ + { + ":authority": "example.org" + }, + { + ":method": "GET" + }, + { + ":path": "/" + }, + { + ":scheme": "https" + }, + { + "user-agent": "nghttp2" + } + ], + "header_table_size": 4096, + "header_table": { + "entries": [ + { + "index": 1, + "name": "user-agent", + "value": "nghttp2", + "referenced": true, + "size": 49 + }, + { + "index": 2, + "name": ":scheme", + "value": "https", + "referenced": true, + "size": 44 + }, + { + "index": 3, + "name": ":path", + "value": "/", + "referenced": true, + "size": 38 + }, + { + "index": 4, + "name": ":method", + "value": "GET", + "referenced": true, + "size": 42 + }, + { + "index": 5, + "name": ":authority", + "value": "example.org", + "referenced": true, + "size": 53 + } + ], + "size": 226, + "max_size": 4096, + "deflate_size": 226, + "max_deflate_size": 4096 + } + } + , + { + "seq": 1, + "input_length": 74, + "output_length": 10, + "percentage_of_original_size": 13.513513513513514, + "wire": "88448504252dd5918485", + "headers": [ + { + ":authority": "example.org" + }, + { + ":method": "POST" + }, + { + ":path": "/account" + }, + { + ":scheme": "https" + }, + { + "user-agent": "nghttp2" + } + ], + "header_table_size": 4096, + "header_table": { + "entries": [ + { + "index": 1, + "name": ":method", + "value": "POST", + "referenced": true, + "size": 43 + }, + { + "index": 2, + "name": "user-agent", + "value": "nghttp2", + "referenced": true, + "size": 49 + }, + { + "index": 3, + "name": ":scheme", + "value": "https", + "referenced": true, + "size": 44 + }, + { + "index": 4, + "name": ":path", + "value": "/", + "referenced": false, + "size": 38 + }, + { + "index": 5, + "name": ":method", + "value": "GET", + "referenced": false, + "size": 42 + }, + { + "index": 6, + "name": ":authority", + "value": "example.org", + "referenced": true, + "size": 53 + } + ], + "size": 269, + "max_size": 4096, + "deflate_size": 269, + "max_deflate_size": 4096 + } + } + ] + } + +inflatehd - header decompressor ++++++++++++++++++++++++++++++++ + +The ``inflatehd`` program reads JSON data from stdin and outputs decompressed +name/value pairs in JSON. + +The root JSON object must include the ``cases`` key. Its value has to +include the sequence of compressed header blocks. They share the same +compression context and are processed in the order they appear. Each +item in the sequence is a JSON object and it must have at least a +``wire`` key. Its value is a compressed header block as a hex string. + +Example: + +.. code-block:: json + + { + "cases": + [ + { "wire": "8285" }, + { "wire": "8583" } + ] + } + +The output is a JSON object. It should include a ``cases`` key and its +value is an array of JSON objects, which has at least following keys: + +seq + The index of the header set in the input. + +headers + A JSON array that includes decompressed name/value pairs. + +wire + The compressed header block as a hex string. + +header_table_size + The header table size adjusted before inflating compressed header + block. + +Example: + +.. code-block:: json + + { + "cases": + [ + { + "seq": 0, + "wire": "01881f3468e5891afcbf83868a3d856659c62e3f", + "headers": [ + { + ":authority": "example.org" + }, + { + ":method": "GET" + }, + { + ":path": "/" + }, + { + ":scheme": "https" + }, + { + "user-agent": "nghttp2" + } + ], + "header_table_size": 4096 + } + , + { + "seq": 1, + "wire": "88448504252dd5918485", + "headers": [ + { + ":method": "POST" + }, + { + ":path": "/account" + }, + { + "user-agent": "nghttp2" + }, + { + ":scheme": "https" + }, + { + ":authority": "example.org" + } + ], + "header_table_size": 4096 + } + ] + } + +The output can be used as the input for ``deflatehd`` and +``inflatehd``. + +With the ``-d`` option, the extra ``header_table`` key is added and its +associated value includes the state of the dynamic header table after the +corresponding header set was processed. The format is the same as +``deflatehd``. + +Contribution +------------ + +[This text was composed based on 1.2. License section of curl/libcurl +project.] + +When contributing with code, you agree to put your changes and new +code under the same license nghttp2 is already using unless stated and +agreed otherwise. + +When changing existing source code, do not alter the copyright of +the original file(s). The copyright will still be owned by the +original creator(s) or those who have been assigned copyright by the +original author(s). + +By submitting a patch to the nghttp2 project, you (or your employer, as +the case may be) agree to assign the copyright of your submission to us. +.. the above really needs to be reworded to pass legal muster. +We will credit you for your +changes as far as possible, to give credit but also to keep a trace +back to who made what changes. Please always provide us with your +full real name when contributing! + +See `Contribution Guidelines +`_ for more +details. + +Versioning +---------- + +In general, we follow `Semantic Versioning `_. + +We may release PATCH releases between the regular releases, mainly for +severe security bug fixes. + +We have no plan to break API compatibility changes involving soname +bump, so MAJOR version will stay 1 for the foreseeable future. + +License +------- + +The MIT License diff --git a/curl/dep/nghttp3/AUTHORS.txt b/curl/dep/nghttp3/AUTHORS.txt new file mode 100644 index 0000000..1993a2a --- /dev/null +++ b/curl/dep/nghttp3/AUTHORS.txt @@ -0,0 +1,29 @@ +Alexis La Goutte +Amir Livneh +Bruno S Marques +Bryan Call +Cheng Zhao +Daniel Bevenius +Daniel Stenberg +Deel +Dimitris Apostolou +Don +Don Olmstead +Dusk_NM02 +Force Charlie +James M Snell +Javier Blazquez +Li Xinwei +Marek Ludha +Nishant Nori +Ondřej Koláček +Peter Wu +Tal Regev +Tatsuhiro Tsujikawa +Tim Gates +Toni Uhlig +Valère Plantevin +Viktor Szakats +Your Name +lhuang04 +mbuhl diff --git a/curl/dep/nghttp3/COPYING.txt b/curl/dep/nghttp3/COPYING.txt new file mode 100644 index 0000000..37562ea --- /dev/null +++ b/curl/dep/nghttp3/COPYING.txt @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2019 nghttp3 contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/curl/dep/nghttp3/ChangeLog.txt b/curl/dep/nghttp3/ChangeLog.txt new file mode 100644 index 0000000..1f79c62 --- /dev/null +++ b/curl/dep/nghttp3/ChangeLog.txt @@ -0,0 +1,15 @@ +commit df0d504b60a2600f57ab300ca2b61f64905e7d15 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-27 + + Bump package and library versions + +commit 7abad8b0c920c1e587ee52ee8a5f76241d177828 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-27 + + Revert "Tighten up :path validation" diff --git a/curl/dep/nghttp3/README.rst b/curl/dep/nghttp3/README.rst new file mode 100644 index 0000000..950c7c5 --- /dev/null +++ b/curl/dep/nghttp3/README.rst @@ -0,0 +1,73 @@ +nghttp3 +======= + +nghttp3 is an implementation of `RFC 9114 +`_ HTTP/3 mapping over +QUIC and `RFC 9204 `_ +QPACK in C. + +It does not depend on any particular QUIC transport implementation. + +Documentation +------------- + +`Online documentation `_ is available. + +Build from git +--------------- + +.. code-block:: shell + + $ git clone https://github.com/ngtcp2/nghttp3 + $ cd nghttp3 + $ git submodule update --init + $ autoreconf -i + $ ./configure + $ make -j$(nproc) check + +HTTP/3 +------ + +This library implements `RFC 9114 +`_ HTTP/3. It does not +support server push. + +The following extensions have been implemented: + +- `Extensible Prioritization Scheme for HTTP + `_ +- `Bootstrapping WebSockets with HTTP/3 + `_ + +It can also send and receive `SETTINGS_H3_DATAGRAM` from `HTTP +Datagrams and the Capsule Protocol +`_. + +QPACK +----- + +This library implements `RFC 9204 +`_ QPACK. It supports +dynamic table. + +Optimizations +------------- + +This library optionally uses AVX2, if available, to optimize its +performance. To compile with AVX2, add ``-mavx2`` to CFLAGS. Note +that by default, CFLAGS is set to ``-g -O2``. When specifying CFLAGS, +include them as well (e.g., ``-g -O2 -mavx2``). + +Examples +-------- + +- client: https://github.com/ngtcp2/ngtcp2/blob/main/examples/client.cc +- server: https://github.com/ngtcp2/ngtcp2/blob/main/examples/server.cc +- curl: https://github.com/curl/curl/blob/master/lib/vquic/curl_ngtcp2.c + +License +------- + +The MIT License + +Copyright (c) 2019 nghttp3 contributors diff --git a/curl/dep/ngtcp2/AUTHORS.txt b/curl/dep/ngtcp2/AUTHORS.txt new file mode 100644 index 0000000..d7fd73e --- /dev/null +++ b/curl/dep/ngtcp2/AUTHORS.txt @@ -0,0 +1,67 @@ +Alexis La Goutte +Amir Livneh +Anna Henningsen +Atle Solbakken +Bas van den Berg +Billy Robert O'Neal III +Bruno S Marques +Bryan Call +Cheng Zhao +Daan De Meyer +Daiki Ueno +Daniel Bevenius +Daniel Stenberg +Dave Reisner +Don +Don Olmstead +Frank Osterfeld +Frédéric Lécaille +Félix Dagenais +Irina Guberman +James M Snell +Jan Doskočil +Jason Rhinelander +Javier Blazquez +Jay Satiro +Jean-Philippe Boivin +Jiawen Geng +Jixinqi +Junqi Wang +Karthikdasari0423 +Kazu Yamamoto +Ken-ichi ICHINO +Kenjiro Nakayama +Lars Eggert +Liang Ma +Marin Rukavina +Mark Chiou +Martin Thomson +Michael White +Moritz Buhl +NKTelnet +Natris +Nishant Nori +Patrick Griffis +Pavel Otchertsov +Peter Wu +Samuel Henrique +Stefan Eissing +Tal Regev +Tatsuhiro Tsujikawa +Tim Gates +Tomas Mraz +Toni Uhlig +Valère Plantevin +Victor Loh +Viktor Szakats +Your Name +Zizhong Zhang +flx413 +hondaxiao +hyunjic +junqiw +msoxzw +nickfajones +rhoxn +scw00 +shibin k v diff --git a/curl/dep/ngtcp2/COPYING.txt b/curl/dep/ngtcp2/COPYING.txt new file mode 100644 index 0000000..9b367cd --- /dev/null +++ b/curl/dep/ngtcp2/COPYING.txt @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2016 ngtcp2 contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/curl/dep/ngtcp2/ChangeLog.txt b/curl/dep/ngtcp2/ChangeLog.txt new file mode 100644 index 0000000..cc9d895 --- /dev/null +++ b/curl/dep/ngtcp2/ChangeLog.txt @@ -0,0 +1,620 @@ +commit 7dd482f949f145632c482d01af2184954b471795 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-26 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-26 + + Bump package and library versions + +commit c1550b0fb8c864df021417744d2beac6f2a61f26 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-26 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-26 + + Update AUTHORS + +commit dec3e0ccd3dbff5457d76003b6e34c71063497ec +Merge: f0c08bc9 1db3624d +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-26 +Commit: GitHub +CommitDate: 2025-05-26 + + Merge pull request #1654 from ngtcp2/bump-aws-lc + + Bump aws-lc to v1.52.0 + +commit 1db3624dc774603d28473c949c7a3a1125df800a +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-26 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-26 + + Bump aws-lc to v1.52.0 + +commit f0c08bc94f6a06f05c468ec4174f05f605606d22 +Merge: 51fb9608 c5235a75 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-26 +Commit: GitHub +CommitDate: 2025-05-26 + + Merge pull request #1653 from ngtcp2/bump-boringssl + + Bump boringssl + +commit c5235a75c92b0444b3fd9a5ac716c2f48dfb5435 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-26 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-26 + + Bump boringssl + +commit 51fb9608e18124ef98d2d6406da047c69593aaec +Merge: c483a8f1 8626ddd7 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-12 +Commit: GitHub +CommitDate: 2025-05-12 + + Merge pull request #1651 from ngtcp2/constexpr-istarts_with + + Make istarts_with constexpr + +commit 8626ddd7a6bca940138588508396bf766e9fbdfe +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-12 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-12 + + Make istarts_with constexpr + +commit c483a8f1b6c4ec8dc1fe704f925ec71c5106d2af +Merge: f7a4030a d61fb269 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-12 +Commit: GitHub +CommitDate: 2025-05-12 + + Merge pull request #1650 from ngtcp2/bump-munit + + Bump munit + +commit d61fb2693fb091ff1a0f631c17c21e2564465a38 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-11 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-11 + + Bump munit + +commit f7a4030ab25c3f481f38e6f3e87da9ea9b7139bd +Merge: c3ede479 210891fb +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-04 +Commit: GitHub +CommitDate: 2025-05-04 + + Merge pull request #1646 from nak3/bump-libressl-4.1.0 + + Bump libressl to v4.1.0 + +commit c3ede4793aacbe8b180fd9a4b3280e7f6264e115 +Merge: 4a1611ed 10ebe66c +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-04 +Commit: GitHub +CommitDate: 2025-05-04 + + Merge pull request #1647 from kazu-yamamoto/boringssl-mac + + putting important libdir and incdir first + +commit 210891fbaefde1995f5210fb3f63540f0ab07ff3 +Author: Kenjiro Nakayama +AuthorDate: 2025-05-01 +Commit: Kenjiro Nakayama +CommitDate: 2025-05-03 + + Bump libressl to v4.1.0 + +commit 10ebe66c5c204934a939ba314d40c5d9e9008b7f +Author: Kazu Yamamoto +AuthorDate: 2025-05-02 +Commit: Kazu Yamamoto +CommitDate: 2025-05-03 + + putting important libdir and incdir first + +commit 4a1611ed5b17bcfbf3bdf197edfb1c60c195066e +Merge: 1ab80a97 11216f47 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-01 +Commit: GitHub +CommitDate: 2025-05-01 + + Merge pull request #1645 from ngtcp2/avoid-mismatch + + Avoid slower std::ranges::mismatch + +commit 11216f47288543bbab9a301930affe898a8ff54f +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-01 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Avoid slower std::ranges::mismatch + +commit 1ab80a974eee74246cf5684b130492661e161936 +Merge: 261d31d1 426a023f +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-01 +Commit: GitHub +CommitDate: 2025-05-01 + + Merge pull request #1644 from ngtcp2/as_uint8_span-consteval + + Make as_uint8_span consteval + +commit 426a023fc8d91d06a458dd7da39d434c02034e30 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-01 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Make as_uint8_span consteval + +commit 261d31d13e6401d9719c0067064f05001a5a04e7 +Merge: 04313d14 0ee64591 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-05-01 +Commit: GitHub +CommitDate: 2025-05-01 + + Merge pull request #1643 from ngtcp2/refactor-examples + + Refactor examples + +commit 0ee645916789e121ce5b242125d9761785a2ca7d +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-01 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Refactor parse_host_port + +commit 71f1985238d5d696c827f802140fd92163c8e957 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-01 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + examples/client: Adopt std::unordered_map + +commit edf55332b846ec1e7a924cdd063940f0c265a19c +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-05-01 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Rewrite ALPN selection + +commit 8d765e0b0ff53a86d860db5a3584a3731d8261c9 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Remove unused b64encode + +commit 9c50a92b862a1c81d8454346caec5b5cbda2bb84 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + C++ style cast + +commit 9fbfbf61251f1272bc6b87d7f1ecdb5f13658678 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + get_reason_phrase: Return std::string_view + +commit 9f04b6b5ed1d7665eafe070865f05d781d38e319 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + siphash: Adopt std::ranges + +commit c65071bf1c52cbd256d64599c05431c5c0f7519d +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + picotls: Adopt std::ranges + +commit e4901d2720ab3e467d5b60c4adc75c4796eb3ebe +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + picotls: Refactor ticket encryption/decryption function + +commit 9cdee080fb38b2c4388530c68abc3897332e6c4e +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Refactor ALPN definitions + +commit 22fdfc6f7216400580ebceff4e75ff9a56fbb03e +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + examples/client: Adopt std::ranges + +commit 8d67312aaf5f29b69b6ea34d7efb9384b6bf40d4 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + tls_server_*: Adopt std::ranges + +commit 19e3af2520d206b18f91a91dc0672761bec4ec72 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + examples/server: Adopt std::ranges + +commit e27fd65169e410b19e979e4882d01886d504cefd +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Append sv to string arguments to read_pem and write_pem + +commit 3795fde07f00991d5e9a9424c578bcb460906791 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Refactor hexdump with std::span + +commit 846d45bc3926a4a3f16fede156d2387b9b0e65a8 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + Refactor parse_version + +commit 9a3d76654e86a63d81fabe676c632a3a9e3aa532 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + percent_decode: Take std::string_view + +commit b778aa08802ccb0f9866ea1b95e98a82598b9db4 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-30 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-05-01 + + examples/util: Adopt std::ranges + +commit 04313d145c7badc950853044673854212cbeb086 +Merge: 2ede338d b3eccce4 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-28 +Commit: GitHub +CommitDate: 2025-04-28 + + Merge pull request #1640 from ngtcp2/span-first + + examples: Adopt std::span::first + +commit b3eccce4173748f6ce2bceb11dd4e8116a73045f +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-28 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-28 + + examples: Adopt std::span::first + +commit 2ede338d96d3d9ded87b2641bfe83a15cf301ac5 +Merge: 0271af1c 4779b8bf +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-28 +Commit: GitHub +CommitDate: 2025-04-28 + + Merge pull request #1638 from ngtcp2/client-refactor-packet-write + + examples/client: Refactor packet write path + +commit 4779b8bfc7df59ad6c8493edc96496fa48230a0e +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-28 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-28 + + examples/client: Refactor packet write path + +commit 0271af1c504e769223214cd2138dfadb668f9b1f +Merge: fdf255b4 280c64ac +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-27 +Commit: GitHub +CommitDate: 2025-04-27 + + Merge pull request #1637 from ngtcp2/server-refactor-on_send_blocked + + examples/server: Refactor on_send_blocked + +commit 280c64ac6aad528f0d0bf2f6b41c80ca0a7a5c2b +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-27 + + examples/server: Refactor on_send_blocked + +commit fdf255b49593bf2333a6d357877bca170bd915ab +Merge: ab43336b 225fc54b +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-27 +Commit: GitHub +CommitDate: 2025-04-27 + + Merge pull request #1636 from ngtcp2/server-endpoint-const + + examples/server: Add const qualifier to Endpoint when passed to function + +commit 225fc54bd12a78b3fd03ebf9b4dd2941fc38ccc4 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-27 + + examples/server: Add const qualifier to Endpoint when passed to function + +commit ab43336bf514f8d6a82f1107dc52ee9f35d129b6 +Merge: f2ab5479 b25ba934 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-27 +Commit: GitHub +CommitDate: 2025-04-27 + + Merge pull request #1635 from ngtcp2/server-refactor-packet-write + + examples/server: Refactor packet write + +commit b25ba9345fe7cbc97d9220ef6a67a6ad84de159b +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-27 + + examples/server: Refactor packet write + +commit f2ab54791fdd664195a84692b08a84c35baefa29 +Merge: 709806d3 1be14245 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-27 +Commit: GitHub +CommitDate: 2025-04-27 + + Merge pull request #1634 from ngtcp2/bump-wolfssl + + Bump wolfssl to v5.8.0-stable + +commit 1be1424585ed09702d223ab9da313d508f2725e1 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-27 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-27 + + Bump wolfssl to v5.8.0-stable + +commit 709806d3fe258a0dd0b6cc40b5f03ec3c3c07f89 +Merge: a5d03dd7 95dadc5a +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-22 +Commit: GitHub +CommitDate: 2025-04-22 + + Merge pull request #1630 from ngtcp2/cubic-bound-time-delta + + cubic: Bound time_delta + +commit 95dadc5a484216edaecef46abbb4c85798e4e19d +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-22 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-22 + + cubic: Bound time_delta + +commit a5d03dd7c9b4b379770f22df8670d8c329faf518 +Merge: e92f7528 9fcff171 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-21 +Commit: GitHub +CommitDate: 2025-04-21 + + Merge pull request #1629 from ngtcp2/refactor-cubic + + Refactor cubic + +commit 9fcff171091382f58005705dfdb4b405015b1a2b +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-20 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-21 + + Refactor cubic + +commit e92f75288d9a66d3969e5b2f5b108b980037733d +Merge: 02ebe607 876c29af +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-20 +Commit: GitHub +CommitDate: 2025-04-20 + + Merge pull request #1628 from ngtcp2/pacing-interval + + Add extra precision to pacing_interval + +commit 876c29afd910dd5d69d2663dc9465507eefd78c6 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-20 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-20 + + Add extra precision to pacing_interval + +commit 02ebe6075a043f6f1eeaa7f81ff07f1f4775bf32 +Merge: 3e31700b b30e8c33 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-19 +Commit: GitHub +CommitDate: 2025-04-19 + + Merge pull request #1627 from ngtcp2/pacing-less-bursty + + Make pacing less bursty + +commit b30e8c33d9099472c9df66c072200a36ce0d3b76 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-19 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-19 + + Make pacing less bursty + +commit 3e31700b746dc612d0c8edbb23b8aaf842a3b1f2 +Merge: c239f04f 1a77af29 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-19 +Commit: GitHub +CommitDate: 2025-04-19 + + Merge pull request #1626 from ngtcp2/path-response-non-probing + + Make a packet containing PATH_RESPONSE to active path non-probing + +commit 1a77af297cd7391155a870896e2af1a6c9610a64 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-19 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-19 + + Make a packet containing PATH_RESPONSE to active path non-probing + +commit c239f04f982726df75afd2673256bb69b3f0a3fa +Merge: 438d4e9d d6d4f064 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-19 +Commit: GitHub +CommitDate: 2025-04-19 + + Merge pull request #1625 from ngtcp2/fix-path-response-padding + + Fix path response padding + +commit d6d4f064c917c5f60e61070821b6a67ee07e3d3a +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-19 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-19 + + Remove unnecessary conn->pkt.require_padding manipulation + + On first write call (!ppe_pending), + NGTCP2_WRITE_PKT_FLAG_REQUIRE_PADDING suggests padding requirement. + On the subsequent calls (ppe_pending), conn->pkt.require_padding is + used instead. + +commit 47a9f9044532448d9cedd452a7230feb1b3a4a34 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-19 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-19 + + Fix bug that packet is not padded with NGTCP2_WRITE_STREAM_FLAG_MORE + + Make sure that packet with PATH_RESPONSE to an active path is padded + with NGTCP2_WRITE_STREAM_FLAG_MORE. + +commit 438d4e9d7d4dad936a7cd57904ce1019568ce96d +Merge: 4408e690 48cba1d2 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-19 +Commit: GitHub +CommitDate: 2025-04-19 + + Merge pull request #1624 from jixinqi/jixinqi-patch-1 + + Update CMakeLists.txt to fix the error of check_symbol_exists() when static-link openssl. + +commit 48cba1d21c126070c4fe13c5cfd7b87f7f9f1e09 +Author: Jixinqi <4635756+jixinqi@users.noreply.github.com> +AuthorDate: 2025-04-19 +Commit: GitHub +CommitDate: 2025-04-19 + + Update CMakeLists.txt to fix the error of check_symbol_exists() when static-link openssl. + +commit 4408e6905274dc13131b67fdc6511193bf3ebf62 +Merge: 8e09f33f 4439eaa0 +Author: Tatsuhiro Tsujikawa <404610+tatsuhiro-t@users.noreply.github.com> +AuthorDate: 2025-04-18 +Commit: GitHub +CommitDate: 2025-04-18 + + Merge pull request #1623 from ngtcp2/update-doc + + Update doc + +commit 4439eaa08263a334968993649d2f42cb79f74d1a +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-18 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-18 + + Fix picotls crypto helper doc + +commit 4b6e1c3f9db8817d4250d7a22b7795a4c173dff1 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-18 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-18 + + Update packet padding flag docs + +commit 8e09f33ff0c53cf149607d177006e11b2bfbe0c0 +Author: Tatsuhiro Tsujikawa +AuthorDate: 2025-04-16 +Commit: Tatsuhiro Tsujikawa +CommitDate: 2025-04-16 + + Bump package version diff --git a/curl/dep/ngtcp2/README.rst b/curl/dep/ngtcp2/README.rst new file mode 100644 index 0000000..7ec1e9d --- /dev/null +++ b/curl/dep/ngtcp2/README.rst @@ -0,0 +1,379 @@ +ngtcp2 +====== + +"Call it TCP/2. One More Time." + +ngtcp2 project is an effort to implement `RFC9000 +`_ QUIC protocol. + +Documentation +------------- + +`Online documentation `_ is available. + +Public test server +------------------ + +The following endpoints are available to try out ngtcp2 +implementation: + +- https://nghttp2.org:4433 +- https://nghttp2.org:4434 (requires address validation token) +- https://nghttp2.org (powered by `nghttpx + `_) + + This endpoints sends Alt-Svc header field to clients if it is + accessed via HTTP/1.1 or HTTP/2 to tell them that HTTP/3 is + available at UDP 443. + +Requirements +------------ + +The libngtcp2 C library itself does not depend on any external +libraries. The example client, and server are written in C++20, and +should compile with the modern C++ compilers (e.g., clang >= 11.0, or +gcc >= 11.0). + +The following packages are required to configure the build system: + +- pkg-config >= 0.20 +- autoconf +- automake +- autotools-dev +- libtool + +To build sources under the examples directory, libev and nghttp3 are +required: + +- libev +- `nghttp3 `_ for HTTP/3 + +To enable `TLS Certificate Compression +`_ in bsslclient and +bsslserver (BoringSSL (aws-lc) examples client and server), the +following library is required: + +- libbrotli-dev >= 1.0.9 + +ngtcp2 crypto helper library, and client and server under examples +directory require at least one of the following TLS backends: + +- `quictls + `_ +- GnuTLS >= 3.7.5 +- BoringSSL (commit 9295969e1dad2c31d0d99481734c1c68dcbc6403); + or aws-lc >= 1.39.0 +- Picotls (commit bbcdbe6dc31ec5d4b72a7beece4daf58098bad42) +- wolfSSL >= 5.5.0 +- LibreSSL >= v3.9.2 +- OpenSSL >= 3.5.0 (experimental) + +Before building from git +------------------------ + +When build from git, run the following command to pull submodules: + +.. code-block:: shell + + $ git submodule update --init + +Build with wolfSSL +------------------ + +.. code-block:: shell + + $ git clone --depth 1 -b v5.8.0-stable https://github.com/wolfSSL/wolfssl + $ cd wolfssl + $ autoreconf -i + $ # For wolfSSL < v5.6.6, append --enable-quic. + $ ./configure --prefix=$PWD/build \ + --enable-all --enable-aesni --enable-harden --enable-keylog-export \ + --disable-ech + $ make -j$(nproc) + $ make install + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/nghttp3 + $ cd nghttp3 + $ autoreconf -i + $ ./configure --prefix=$PWD/build --enable-lib-only + $ make -j$(nproc) check + $ make install + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/ngtcp2 + $ cd ngtcp2 + $ autoreconf -i + $ # For Mac users who have installed libev with MacPorts, append + $ # LIBEV_CFLAGS="-I/opt/local/include" LIBEV_LIBS="-L/opt/local/lib -lev" + $ ./configure PKG_CONFIG_PATH=$PWD/../wolfssl/build/lib/pkgconfig:$PWD/../nghttp3/build/lib/pkgconfig \ + --with-wolfssl + $ make -j$(nproc) check + +Build with BoringSSL +-------------------- + +.. code-block:: shell + + $ git clone https://boringssl.googlesource.com/boringssl + $ cd boringssl + $ git checkout 9295969e1dad2c31d0d99481734c1c68dcbc6403 + $ cmake -B build -DCMAKE_POSITION_INDEPENDENT_CODE=ON + $ make -j$(nproc) -C build + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/nghttp3 + $ cd nghttp3 + $ autoreconf -i + $ ./configure --prefix=$PWD/build --enable-lib-only + $ make -j$(nproc) check + $ make install + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/ngtcp2 + $ cd ngtcp2 + $ autoreconf -i + $ # For Mac users who have installed libev with MacPorts, append + $ # LIBEV_CFLAGS="-I/opt/local/include" LIBEV_LIBS="-L/opt/local/lib -lev" + $ ./configure PKG_CONFIG_PATH=$PWD/../nghttp3/build/lib/pkgconfig \ + BORINGSSL_LIBS="-L$PWD/../boringssl/build -lssl -lcrypto" \ + BORINGSSL_CFLAGS="-I$PWD/../boringssl/include" \ + --with-boringssl + $ make -j$(nproc) check + +Build with aws-lc +----------------- + +.. code-block:: shell + + $ git clone --depth 1 -b v1.52.0 https://github.com/aws/aws-lc + $ cd aws-lc + $ cmake -B build -DDISABLE_GO=ON + $ make -j$(nproc) -C build + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/nghttp3 + $ cd nghttp3 + $ autoreconf -i + $ ./configure --prefix=$PWD/build --enable-lib-only + $ make -j$(nproc) check + $ make install + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/ngtcp2 + $ cd ngtcp2 + $ autoreconf -i + $ # For Mac users who have installed libev with MacPorts, append + $ # LIBEV_CFLAGS="-I/opt/local/include" LIBEV_LIBS="-L/opt/local/lib -lev" + $ ./configure PKG_CONFIG_PATH=$PWD/../nghttp3/build/lib/pkgconfig \ + BORINGSSL_CFLAGS="-I$PWD/../aws-lc/include" \ + BORINGSSL_LIBS="-L$PWD/../aws-lc/build/ssl -lssl -L$PWD/../aws-lc/build/crypto -lcrypto" \ + --with-boringssl + $ make -j$(nproc) check + +Build with libressl +----------------- + +.. code-block:: shell + + $ git clone --depth 1 -b v4.1.0 https://github.com/libressl/portable.git libressl + $ cd libressl + $ # Workaround autogen.sh failure + $ export LIBRESSL_GIT_OPTIONS="-b libressl-v4.1.0" + $ ./autogen.sh + $ ./configure --prefix=$PWD/build + $ make -j$(nproc) install + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/nghttp3 + $ cd nghttp3 + $ autoreconf -i + $ ./configure --prefix=$PWD/build --enable-lib-only + $ make -j$(nproc) check + $ make install + $ cd .. + $ git clone --recursive https://github.com/ngtcp2/ngtcp2 + $ cd ngtcp2 + $ autoreconf -i + $ # For Mac users who have installed libev with MacPorts, append + $ # LIBEV_CFLAGS="-I/opt/homebrew/Cellar/libev/4.33/include" LIBEV_LIBS="-L/opt/homebrew/Cellar/libev/4.33/lib -lev" + $ ./configure PKG_CONFIG_PATH=$PWD/../nghttp3/build/lib/pkgconfig:$PWD/../libressl/build/lib/pkgconfig + $ make -j$(nproc) check + +Client/Server +------------- + +After successful build, the client and server executable should be +found under examples directory. They talk HTTP/3. + +Client +~~~~~~ + +.. code-block:: shell + + $ examples/wsslclient [OPTIONS] [...] + +The notable options are: + +- ``-d``, ``--data=``: Read data from and send it to a + peer. + +Server +~~~~~~ + +.. code-block:: shell + + $ examples/wsslserver [OPTIONS] + +The notable options are: + +- ``-V``, ``--validate-addr``: Enforce stateless address validation. + +H09wsslclient/H09wsslserver +--------------------------- + +There are h09wsslclient and h09wsslserver which speak HTTP/0.9. They +are written just for `quic-interop-runner +`_. They share +the basic functionalities with HTTP/3 client and server but have less +functions (e.g., h09wsslclient does not have a capability to send +request body, and h09wsslserver does not understand numeric request +path, like /1000). + +Resumption and 0-RTT +-------------------- + +In order to resume a session, a session ticket, and a transport +parameters must be fetched from server. First, run +examples/wsslclient with --session-file, and --tp-file options which +specify a path to session ticket, and transport parameter files +respectively to save them locally. + +Once these files are available, run examples/wsslclient with the same +arguments again. You will see that session is resumed in your log if +resumption succeeds. Resuming session makes server's first Handshake +packet pretty small because it does not send its certificates. + +To send 0-RTT data, after making sure that resumption works, use -d +option to specify a file which contains data to send. + +Token (Not something included in Retry packet) +---------------------------------------------- + +QUIC server might send a token to client after connection has been +established. Client can send this token in subsequent connection to +the server. Server verifies the token and if it succeeds, the address +validation completes and lifts some restrictions on server which might +speed up transfer. In order to save and/or load a token, +use --token-file option of examples/wsslclient. The given file is +overwritten if it already exists when storing a token. + +Crypto helper library +--------------------- + +In order to make TLS stack integration less painful, we provide a +crypto helper library which offers the basic crypto operations. + +The header file exists under crypto/includes/ngtcp2 directory. + +Each library file is built for a particular TLS backend. The +available crypto helper libraries are: + +- libngtcp2_crypto_quictls: Use quictls and libressl as TLS backend +- libngtcp2_crypto_gnutls: Use GnuTLS as TLS backend +- libngtcp2_crypto_boringssl: Use BoringSSL and aws-lc as TLS backend +- libngtcp2_crypto_picotls: Use Picotls as TLS backend +- libngtcp2_crypto_wolfssl: Use wolfSSL as TLS backend +- libngtcp2_crypto_ossl: Use OpenSSL as TLS backend (experimental) + +Because BoringSSL and Picotls are an unversioned product, we only +tested their particular revision. See Requirements section above. + +We use Picotls with OpenSSL as crypto backend. + +libngtcp2_crypto_ossl has some restrictions for its use because +OpenSSL QUIC TLS API requires us to keep crypto data in tact until it +says that they are no longer used. It also requires us to keep +transport parameter buffer. This extra book keeping is just done for +a couple of TLS messages exchanged during handshake and a couple of +session tickets after handshake. If you absolutely need to use +OpenSSL backend, your application must make sure that: + +- Keep `ngtcp2_conn` alive until ``SSL`` object is freed by + ``SSL_free``; or +- Call ``SSL_set_app_data(ssl, NULL)`` before calling ``SSL_free`` + +If you cannot make sure neither of them, it is a good time to migrate +your application to the other alternative (e.g., wolfSSL, aws-lc). + +libngtcp2_crypto_quictls and libngtcp2_crypto_ossl cannot be built at +the same time. + +The examples directory contains client and server that are linked to +those crypto helper libraries and TLS backends. They are only built +if their corresponding crypto helper library is built: + +- qtlsclient: quictls(libressl) client +- qtlsserver: quictls(libressl) server +- gtlsclient: GnuTLS client +- gtlsserver: GnuTLS server +- bsslclient: BoringSSL(aws-lc) client +- bsslserver: BoringSSL(aws-lc) server +- ptlsclient: Picotls client +- ptlsserver: Picotls server +- wsslclient: wolfSSL client +- wsslserver: wolfSSL server +- osslclient: OpenSSL client +- osslserver: OpenSSL server + +QUIC protocol extensions +------------------------- + +The library implements the following QUIC protocol extensions: + +- `An Unreliable Datagram Extension to QUIC + `_ +- `Greasing the QUIC Bit + `_ +- `Compatible Version Negotiation for QUIC + `_ +- `QUIC Version 2 + `_ + +Configuring Wireshark for QUIC +------------------------------ + +`Wireshark `_ can be configured to +analyze QUIC traffic using the following steps: + +1. Set *SSLKEYLOGFILE* environment variable: + + .. code-block:: shell + + $ export SSLKEYLOGFILE=quic_keylog_file + +2. Set the port that QUIC uses + + Go to *Preferences->Protocols->QUIC* and set the port the program + listens to. In the case of the example application this would be + the port specified on the command line. + +3. Set Pre-Master-Secret logfile + + Go to *Preferences->Protocols->TLS* and set the *Pre-Master-Secret + log file* to the same value that was specified for *SSLKEYLOGFILE*. + +4. Choose the correct network interface for capturing + + Make sure you choose the correct network interface for + capturing. For example, if using localhost choose the *loopback* + network interface on macos. + +5. Create a filter + + Create A filter for the udp.port and set the port to the port the + application is listening to. For example: + + .. code-block:: text + + udp.port == 7777 + +License +------- + +The MIT License + +Copyright (c) 2016 ngtcp2 contributors diff --git a/curl/dep/zlibng/LICENSE.md b/curl/dep/zlibng/LICENSE.md new file mode 100644 index 0000000..e866d7a --- /dev/null +++ b/curl/dep/zlibng/LICENSE.md @@ -0,0 +1,19 @@ +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. diff --git a/curl/dep/zlibng/README.md b/curl/dep/zlibng/README.md new file mode 100644 index 0000000..28aad7f --- /dev/null +++ b/curl/dep/zlibng/README.md @@ -0,0 +1,228 @@ +| CI | Stable | Develop | +|:---|:-------|:--------| +| GitHub Actions | [![Stable CMake](https://github.com/zlib-ng/zlib-ng/actions/workflows/cmake.yml/badge.svg?branch=stable)](https://github.com/zlib-ng/zlib-ng/actions/workflows/cmake.yml?query=branch%3Astable)
    [![Stable Configure](https://github.com/zlib-ng/zlib-ng/actions/workflows/configure.yml/badge.svg?branch=stable)](https://github.com/zlib-ng/zlib-ng/actions/workflows/configure.yml?query=branch%3Astable)
    [![Stable NMake](https://github.com/zlib-ng/zlib-ng/actions/workflows/nmake.yml/badge.svg?branch=stable)](https://github.com/zlib-ng/zlib-ng/actions/workflows/nmake.yml?query=branch%3Astable) | [![Develop CMake](https://github.com/zlib-ng/zlib-ng/actions/workflows/cmake.yml/badge.svg?branch=develop)](https://github.com/zlib-ng/zlib-ng/actions/workflows/cmake.yml?query=branch%3Adevelop)
    [![Develop Configure](https://github.com/zlib-ng/zlib-ng/actions/workflows/configure.yml/badge.svg?branch=develop)](https://github.com/zlib-ng/zlib-ng/actions/workflows/configure.yml?query=branch%3Adevelop)
    [![Develop NMake](https://github.com/zlib-ng/zlib-ng/actions/workflows/nmake.yml/badge.svg?branch=develop)](https://github.com/zlib-ng/zlib-ng/actions/workflows/nmake.yml?query=branch%3Adevelop) | +| CodeFactor | [![CodeFactor](https://www.codefactor.io/repository/github/zlib-ng/zlib-ng/badge/stable)](https://www.codefactor.io/repository/github/zlib-ng/zlib-ng/overview/stable) | [![CodeFactor](https://www.codefactor.io/repository/github/zlib-ng/zlib-ng/badge/develop)](https://www.codefactor.io/repository/github/zlib-ng/zlib-ng/overview/develop) | +| OSS-Fuzz | [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/zlib-ng.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:zlib-ng) | [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/zlib-ng.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:zlib-ng) | +| Codecov | [![codecov](https://codecov.io/github/zlib-ng/zlib-ng/branch/stable/graph/badge.svg?token=uKsgK9LIuC)](https://codecov.io/github/zlib-ng/zlib-ng/tree/stable) | [![codecov](https://codecov.io/github/zlib-ng/zlib-ng/branch/develop/graph/badge.svg?token=uKsgK9LIuC)](https://codecov.io/github/zlib-ng/zlib-ng/tree/develop) | + +## zlib-ng +*zlib data compression library for the next generation systems* + +Maintained by Hans Kristian Rosbach + aka Dead2 (zlib-ng àt circlestorm dót org) + +Features +-------- + +* Zlib compatible API with support for dual-linking +* Modernized native API based on zlib API for ease of porting +* Modern C11 syntax and a clean code layout +* Deflate medium and quick algorithms based on Intel’s zlib fork +* Support for CPU intrinsics when available + * Adler32 implementation using SSSE3, AVX2, AVX512, AVX512-VNNI, Neon, VMX & VSX + * CRC32-B implementation using PCLMULQDQ, VPCLMULQDQ, ACLE, & IBM Z + * Slide hash implementations using SSE2, AVX2, ARMv6, Neon, VMX & VSX + * Compare256 implementations using SSE2, AVX2, Neon, POWER9 & RVV + * Inflate chunk copying using SSE2, SSSE3, AVX, Neon & VSX + * Support for hardware-accelerated deflate using IBM Z DFLTCC +* Safe unaligned memory read/writes and large bit buffer improvements +* Includes improvements from Cloudflare and Intel forks +* Configure, CMake, and NMake build system support +* Comprehensive set of CMake unit tests +* Code sanitizers, fuzzing, and coverage +* GitHub Actions continuous integration on Windows, macOS, and Linux + * Emulated CI for ARM, AARCH64, PPC, PPC64, RISCV, SPARC64, S390x using qemu + + +History +------- + +The motivation for this fork was seeing several 3rd party contributions with new optimizations not getting +implemented into the official zlib repository. + +Mark Adler has been maintaining zlib for a very long time, and he has done a great job and hopefully he will continue +for a long time yet. The idea of zlib-ng is not to replace zlib, but to co-exist as a drop-in replacement with a +lower threshold for code change. + +zlib has a long history and is incredibly portable, even supporting many systems that predate the Internet.
    +That is great, but it can complicate further development and maintainability. The zlib code contains many workarounds +for really old compilers or to accommodate systems with limitations such as operating in a 16-bit environment. + +Many of these workarounds are only maintenance burdens, some of them are pretty huge code-wise. With many workarounds +cluttered throughout the code, it makes it harder for new programmers with an idea/interest for zlib to contribute. + +I decided to make a fork, merge all the Intel optimizations, some of the Cloudflare optimizations, plus a couple other +smaller patches. Then started cleaning out workarounds, various dead code, all contrib and example code.
    +The result is a better performing and easier to maintain zlib-ng. + +A lot of improvements have gone into zlib-ng since its start, and numerous people and companies have contributed both +small and big improvements, or valuable testing. + + +Build +----- +Please read LICENSE.md, it is very simple and very liberal. + +There are two ways to build zlib-ng: + +### Cmake + +To build zlib-ng using the cross-platform makefile generator cmake. + +``` +cmake . +cmake --build . --config Release +ctest --verbose -C Release +``` + +Alternatively, you can use the cmake configuration GUI tool ccmake: + +``` +ccmake . +``` + +### Configure + +To build zlib-ng using the bash configure script: + +``` +./configure +make +make test +``` + +Build Options +------------- + +| CMake | configure | Description | Default | +|:---------------------------|:-------------------------|:------------------------------------------------------------------------------------|---------| +| ZLIB_COMPAT | --zlib-compat | Compile with zlib compatible API | OFF | +| ZLIB_ENABLE_TESTS | | Build test binaries | ON | +| WITH_GZFILEOP | --without-gzfileops | Compile with support for gzFile related functions | ON | +| WITH_OPTIM | --without-optimizations | Build with optimisations | ON | +| WITH_NEW_STRATEGIES | --without-new-strategies | Use new strategies | ON | +| WITH_NATIVE_INSTRUCTIONS | | Compiles with full instruction set supported on this host (gcc/clang -march=native) | OFF | +| WITH_RUNTIME_CPU_DETECTION | | Compiles with runtime CPU detection | ON | +| WITH_SANITIZER | | Build with sanitizer (memory, address, undefined) | OFF | +| WITH_GTEST | | Build gtest_zlib | ON | +| WITH_FUZZERS | | Build test/fuzz | OFF | +| WITH_BENCHMARKS | | Build test/benchmarks | OFF | +| WITH_MAINTAINER_WARNINGS | | Build with project maintainer warnings | OFF | +| WITH_CODE_COVERAGE | | Enable code coverage reporting | OFF | + + +Install +------- + +WARNING: We do not recommend manually installing unless you really know what you are doing, because this can +potentially override the system default zlib library, and any incompatibility or wrong configuration of zlib-ng +can make the whole system unusable, requiring recovery or reinstall. +If you still want a manual install, we recommend using the /opt/ path prefix. + +For Linux distros, an alternative way to use zlib-ng (if compiled in zlib-compat mode) instead of zlib, is through +the use of the _LD_PRELOAD_ environment variable. If the program is dynamically linked with zlib, then the program +will temporarily attempt to use zlib-ng instead, without risking system-wide instability. + +``` +LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.13.zlib-ng /usr/bin/program +``` + +### Cmake + +To install zlib-ng system-wide using cmake: + +```sh or powershell +cmake --build . --target install +``` + +### Configure + +To install zlib-ng system-wide using the configure script: + +```sh +make install +``` + +### CPack + +After building with cmake, an installation package can be created using cpack. By default a tgz package is created, +but you can append `-G ` to each command to generate alternative packages types (TGZ, ZIP, RPM, DEB). To easily +create a rpm or deb package, you would use `-G RPM` or `-G DEB` respectively. + +```sh or powershell +cd build +cpack --config CPackConfig.cmake +cpack --config CPackSourceConfig.cmake +``` + +### Vcpkg + +Alternatively, you can build and install zlib-ng using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: + +```sh or powershell +git clone https://github.com/Microsoft/vcpkg.git +cd vcpkg +./bootstrap-vcpkg.sh # "./bootstrap-vcpkg.bat" for powershell +./vcpkg integrate install +./vcpkg install zlib-ng +``` + +The zlib-ng port in vcpkg is kept up to date by Microsoft team members and community contributors. +If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. + +Contributing +------------ + +Zlib-ng is aiming to be open to contributions, and we would be delighted to receive pull requests on github. +Help with testing and reviewing pull requests etc is also very much appreciated. + +Please check the Wiki for more info: [Contributing](https://github.com/zlib-ng/zlib-ng/wiki/Contributing) + +Acknowledgments +---------------- + +Thanks go out to all the people and companies who have taken the time to contribute +code reviews, testing and/or patches. Zlib-ng would not have been nearly as good without you. + +The deflate format used by zlib was defined by Phil Katz.
    +The deflate and zlib specifications were written by L. Peter Deutsch. + +zlib was originally created by Jean-loup Gailly (compression) and Mark Adler (decompression). + + +Advanced Build Options +---------------------- + +| CMake | configure | Description | Default | +|:--------------------------------|:----------------------|:--------------------------------------------------------------------|------------------------| +| FORCE_SSE2 | --force-sse2 | Skip runtime check for SSE2 instructions (Always on for x86_64) | OFF (x86) | +| WITH_AVX2 | | Build with AVX2 intrinsics | ON | +| WITH_AVX512 | | Build with AVX512 intrinsics | ON | +| WITH_AVX512VNNI | | Build with AVX512VNNI intrinsics | ON | +| WITH_SSE2 | | Build with SSE2 intrinsics | ON | +| WITH_SSSE3 | | Build with SSSE3 intrinsics | ON | +| WITH_SSE42 | | Build with SSE42 intrinsics | ON | +| WITH_PCLMULQDQ | | Build with PCLMULQDQ intrinsics | ON | +| WITH_VPCLMULQDQ | --without-vpclmulqdq | Build with VPCLMULQDQ intrinsics | ON | +| WITH_ACLE | --without-acle | Build with ACLE intrinsics | ON | +| WITH_NEON | --without-neon | Build with NEON intrinsics | ON | +| WITH_ARMV6 | --without-armv6 | Build with ARMv6 intrinsics | ON | +| WITH_ALTIVEC | --without-altivec | Build with AltiVec (VMX) intrinsics | ON | +| WITH_POWER8 | --without-power8 | Build with POWER8 optimisations | ON | +| WITH_RVV | | Build with RVV intrinsics | ON | +| WITH_CRC32_VX | --without-crc32-vx | Build with vectorized CRC32 on IBM Z | ON | +| WITH_DFLTCC_DEFLATE | --with-dfltcc-deflate | Build with DFLTCC intrinsics for compression on IBM Z | OFF | +| WITH_DFLTCC_INFLATE | --with-dfltcc-inflate | Build with DFLTCC intrinsics for decompression on IBM Z | OFF | +| WITH_INFLATE_STRICT | | Build with strict inflate distance checking | OFF | +| WITH_INFLATE_ALLOW_INVALID_DIST | | Build with zero fill for inflate invalid distances | OFF | +| INSTALL_UTILS | | Copy minigzip and minideflate during install | OFF | +| ZLIBNG_ENABLE_TESTS | | Test zlib-ng specific API | ON | + + +Related Projects +---------------- + +* Fork of the popular minizip https://github.com/zlib-ng/minizip-ng +* Python tool to benchmark minigzip/minideflate https://github.com/zlib-ng/deflatebench +* Python tool to benchmark pigz https://github.com/zlib-ng/pigzbench +* 3rd party patches for zlib-ng compatibility https://github.com/zlib-ng/patches diff --git a/curl/dep/zstd/CHANGELOG.txt b/curl/dep/zstd/CHANGELOG.txt new file mode 100644 index 0000000..92df0f4 --- /dev/null +++ b/curl/dep/zstd/CHANGELOG.txt @@ -0,0 +1,863 @@ +V1.5.7 (Feb 2025) +fix: compression bug in 32-bit mode associated with long-lasting sessions +api: new method `ZSTD_compressSequencesAndLiterals()` (#4217, #4232) +api: `ZSTD_getFrameHeader()` works on skippable frames (#4228) +perf: substantial compression speed improvements (up to +30%) on small data, by @TocarIP (#4144) and @cyan4973 (#4165) +perf: improved compression speed (~+5%) for dictionary compression at low levels (#4170) +perf: much faster speed for `--patch-from` at high compression levels (#4276) +perf: higher `--patch-from` compression ratios, notably at high levels (#4288) +perf: better speed for binaries on Windows (@pps83) and when compiled with Visual Studio (@MessyHack) +perf: slight compression ratio improvement thanks to better block boundaries (#4136, #4176, #4178) +perf: slight compression ratio improvement for `dfast`, aka levels 3 and 4 (#4171) +perf: runtime bmi2 detection enabled on x86 32-bit mode (#4251) +cli: multi-threading as default CLI setting, by @daniellerozenblit +cli: new `--max` command (#4290) +build: improve `msbuild` version autodetection, support VS2022, by @ManuelBlanc +build: fix `meson` build by @artem and @Victor-C-Zhang, and on Windows by @bgilbert +build: compatibility with Apple Framework, by @Treata11 +build: improve icc/icx compatibility, by @josepho0918 and @luau-project +build: improve compatibility with Android NDK, by Adenilson Cavalcanti +portability: linux kernel branch, with improved support for Sequence producers (@embg, @gcabiddu, @cyan4973) +portability: improved qnx compatibility, suggested by @rainbowball +portability: improved install script for FreeBSD, by @sunpoet +portability: fixed test suite compatibility with gnu hurd, by @diegonc +doc: clarify specification, by @elasota +misc: improved tests/decodecorpus validation tool (#4102), by antmicro + +V1.5.6 (Mar 2024) +api: Promote `ZSTD_c_targetCBlockSize` to Stable API by @felixhandte +api: new `ZSTD_d_maxBlockSize` experimental parameter, to reduce streaming decompression memory, by @terrelln +perf: improve performance of param `ZSTD_c_targetCBlockSize`, by @Cyan4973 +perf: improved compression of arrays of integers at high compression, by @Cyan4973 +lib: reduce binary size with selective build-time exclusion, by @felixhandte +lib: improved huffman speed on small data and linux kernel, by @terrelln +lib: accept dictionaries with partial literal tables, by @terrelln +lib: fix CCtx size estimation with external sequence producer, by @embg +lib: fix corner case decoder behaviors, by @Cyan4973 and @aimuz +lib: fix zdict prototype mismatch in static_only mode, by @ldv-alt +lib: fix several bugs in magicless-format decoding, by @embg +cli: add common compressed file types to `--exclude-compressed`` by @daniellerozenblit +cli: fix mixing `-c` and `-o` commands with `--rm`, by @Cyan4973 +cli: fix erroneous exclusion of hidden files with `--output-dir-mirror` by @felixhandte +cli: improved time accuracy on BSD, by @felixhandte +cli: better errors on argument parsing, by @KapJI +tests: better compatibility with older versions of `grep`, by @Cyan4973 +tests: lorem ipsum generator as default backup content, by @Cyan4973 +build: cmake improvements by @terrelln, @sighingnow, @gjasny, @JohanMabille, @Saverio976, @gruenich, @teo-tsirpanis +build: bazel support, by @jondo2010 +build: fix cross-compiling for AArch64 with lld by @jcelerier +build: fix Apple platform compatibility, by @nidhijaju +build: fix Visual 2012 and lower compatibility, by @Cyan4973 +build: improve win32 support, by @DimitriPapadopoulos +build: better C90 compliance for zlibWrapper, by @emaste +port: make: fat binaries on macos, by @mredig +port: ARM64EC compatibility for Windows, by @dunhor +port: QNX support by @klausholstjacobsen +port: MSYS2 and Cygwin makefile installation and test support, by @QBos07 +port: risc-v support validation in CI, by @Cyan4973 +port: sparc64 support validation in CI, by @Cyan4973 +port: AIX compatibility, by @likema +port: HP-UX compatibility, by @likema +doc: Improved specification accuracy, by @elasota +bug: Fix and deprecate ZSTD_generateSequences (#3981) + +v1.5.5 (Apr 2023) +fix: fix rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln) +perf: improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln) +lib: deprecated bufferless block-level API (#3534) by @terrelln +cli: mmap large dictionaries to save memory, by @daniellerozenblit +cli: improve speed of --patch-from mode (~+50%) (#3545) by @daniellerozenblit +cli: improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte +cli: zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte +cli: fix decompression into block device using -o, reported by @georgmu (#3583) +build: fix zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71 +build: fix cmake does no longer require 3.18 as minimum version (#3510) by @kou +build: fix MSVC+ClangCL linking issue (#3569) by @tru +build: fix zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko +build: fix MSVC warnings (#3495) by @embg +doc: updated zstd specification to clarify corner cases, by @Cyan4973 +doc: document how to create fat binaries for macos (#3568) by @rickmark +misc: improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973 +misc: tests/fullbench can benchmark multiple files (#3516) by @dloidolt + +v1.5.4 (Feb 2023) +perf: +20% faster huffman decompression for targets that can't compile x64 assembly (#3449, @terrelln) +perf: up to +10% faster streaming compression at levels 1-2 (#3114, @embg) +perf: +4-13% for levels 5-12 by optimizing function generation (#3295, @terrelln) +pref: +3-11% compression speed for `arm` target (#3199, #3164, #3145, #3141, #3138, @JunHe77 and #3139, #3160, @danlark1) +perf: +5-30% faster dictionary compression at levels 1-4 (#3086, #3114, #3152, @embg) +perf: +10-20% cold dict compression speed by prefetching CDict tables (#3177, @embg) +perf: +1% faster compression by removing a branch in ZSTD_fast_noDict (#3129, @felixhandte) +perf: Small compression ratio improvements in high compression mode (#2983, #3391, @Cyan4973 and #3285, #3302, @daniellerozenblit) +perf: small speed improvement by better detecting `STATIC_BMI2` for `clang` (#3080, @TocarIP) +perf: Improved streaming performance when `ZSTD_c_stableInBuffer` is set (#2974, @Cyan4973) +cli: Asynchronous I/O for improved cli speed (#2975, #2985, #3021, #3022, @yoniko) +cli: Change `zstdless` behavior to align with `zless` (#2909, @binhdvo) +cli: Keep original file if `-c` or `--stdout` is given (#3052, @dirkmueller) +cli: Keep original files when result is concatenated into a single output with `-o` (#3450, @Cyan4973) +cli: Preserve Permissions and Ownership of regular files (#3432, @felixhandte) +cli: Print zlib/lz4/lzma library versions with `-vv` (#3030, @terrelln) +cli: Print checksum value for single frame files with `-lv` (#3332, @Cyan4973) +cli: Print `dictID` when present with `-lv` (#3184, @htnhan) +cli: when `stderr` is *not* the console, disable status updates, but preserve final summary (#3458, @Cyan4973) +cli: support `--best` and `--no-name` in `gzip` compatibility mode (#3059, @dirkmueller) +cli: support for `posix` high resolution timer `clock_gettime()`, for improved benchmark accuracy (#3423, @Cyan4973) +cli: improved help/usage (`-h`, `-H`) formatting (#3094, @dirkmueller and #3385, @jonpalmisc) +cli: Fix better handling of bogus numeric values (#3268, @ctkhanhly) +cli: Fix input consists of multiple files _and_ `stdin` (#3222, @yoniko) +cli: Fix tiny files passthrough (#3215, @cgbur) +cli: Fix for `-r` on empty directory (#3027, @brailovich) +cli: Fix empty string as argument for `--output-dir-*` (#3220, @embg) +cli: Fix decompression memory usage reported by `-vv --long` (#3042, @u1f35c, and #3232, @zengyijing) +cli: Fix infinite loop when empty input is passed to trainer (#3081, @terrelln) +cli: Fix `--adapt` doesn't work when `--no-progress` is also set (#3354, @terrelln) +api: Support for Block-Level Sequence Producer (#3333, @embg) +api: Support for in-place decompression (#3432, @terrelln) +api: New `ZSTD_CCtx_setCParams()` function, set all parameters defined in a `ZSTD_compressionParameters` structure (#3403, @Cyan4973) +api: Streaming decompression detects incorrect header ID sooner (#3175, @Cyan4973) +api: Window size resizing optimization for edge case (#3345, @daniellerozenblit) +api: More accurate error codes for busy-loop scenarios (#3413, #3455, @Cyan4973) +api: Fix limit overflow in `compressBound` and `decompressBound` (#3362, #3373, Cyan4973) reported by @nigeltao +api: Deprecate several advanced experimental functions: streaming (#3408, @embg), copy (#3196, @mileshu) +bug: Fix corruption that rarely occurs in 32-bit mode with wlog=25 (#3361, @terrelln) +bug: Fix for block-splitter (#3033, @Cyan4973) +bug: Fixes for Sequence Compression API (#3023, #3040, @Cyan4973) +bug: Fix leaking thread handles on Windows (#3147, @animalize) +bug: Fix timing issues with cmake/meson builds (#3166, #3167, #3170, @Cyan4973) +build: Allow user to select legacy level for cmake (#3050, @shadchin) +build: Enable legacy support by default in cmake (#3079, @niamster) +build: Meson build script improvements (#3039, #3120, #3122, #3327, #3357, @eli-schwartz and #3276, @neheb) +build: Add aarch64 to supported architectures for zstd_trace (#3054, @ooosssososos) +build: support AIX architecture (#3219, @qiongsiwu) +build: Fix `ZSTD_LIB_MINIFY` build macro, which now reduces static library size by half (#3366, @terrelln) +build: Fix Windows issues with Multithreading translation layer (#3364, #3380, @yoniko) and ARM64 target (#3320, @cwoffenden) +build: Fix `cmake` script (#3382, #3392, @terrelln and #3252 @Tachi107 and #3167 @Cyan4973) +doc: Updated man page, providing more details for `--train` mode (#3112, @Cyan4973) +doc: Add decompressor errata document (#3092, @terrelln) +misc: Enable Intel CET (#2992, #2994, @hjl-tools) +misc: Fix `contrib/` seekable format (#3058, @yhoogstrate and #3346, @daniellerozenblit) +misc: Improve speed of the one-file library generator (#3241, @wahern and #3005, @cwoffenden) + +v1.5.3 (dev version, unpublished) + +v1.5.2 (Jan, 2022) +perf: Regain Minimal memset()-ing During Reuse of Compression Contexts (@Cyan4973, #2969) +build: Build Zstd with `noexecstack` on All Architectures (@felixhandte, #2964) +doc: Clarify Licensing (@terrelln, #2981) + +v1.5.1 (Dec, 2021) +perf: rebalanced compression levels, to better match the intended speed/level curve, by @senhuang42 +perf: faster huffman decoder, using x64 assembly, by @terrelln +perf: slightly faster high speed modes (strategies fast & dfast), by @felixhandte +perf: improved binary size and faster compilation times, by @terrelln +perf: new row64 mode, used notably in level 12, by @senhuang42 +perf: faster mid-level compression speed in presence of highly repetitive patterns, by @senhuang42 +perf: minor compression ratio improvements for small data at high levels, by @cyan4973 +perf: reduced stack usage (mostly useful for Linux Kernel), by @terrelln +perf: faster compression speed on incompressible data, by @bindhvo +perf: on-demand reduced ZSTD_DCtx state size, using build macro ZSTD_DECODER_INTERNAL_BUFFER, at a small cost of performance, by @bindhvo +build: allows hiding static symbols in the dynamic library, using build macro, by @skitt +build: support for m68k (Motorola 68000's), by @cyan4973 +build: improved AIX support, by @Helflym +build: improved meson unofficial build, by @eli-schwartz +cli : custom memory limit when training dictionary (#2925), by @embg +cli : report advanced parameters information when compressing in very verbose mode (`-vv`), by @Svetlitski-FB + +v1.5.0 (May 11, 2021) +api: Various functions promoted from experimental to stable API: (#2579-2581, @senhuang42) + `ZSTD_defaultCLevel()` + `ZSTD_getDictID_fromCDict()` +api: Several experimental functions have been deprecated and will emit a compiler warning (#2582, @senhuang42) + `ZSTD_compress_advanced()` + `ZSTD_compress_usingCDict_advanced()` + `ZSTD_compressBegin_advanced()` + `ZSTD_compressBegin_usingCDict_advanced()` + `ZSTD_initCStream_srcSize()` + `ZSTD_initCStream_usingDict()` + `ZSTD_initCStream_usingCDict()` + `ZSTD_initCStream_advanced()` + `ZSTD_initCStream_usingCDict_advanced()` + `ZSTD_resetCStream()` +api: ZSTDMT_NBWORKERS_MAX reduced to 64 for 32-bit environments (@Cyan4973) +perf: Significant speed improvements for middle compression levels (#2494, @senhuang42 @terrelln) +perf: Block splitter to improve compression ratio, enabled by default for high compression levels (#2447, @senhuang42) +perf: Decompression loop refactor, speed improvements on `clang` and for `--long` modes (#2614 #2630, @Cyan4973) +perf: Reduced stack usage during compression and decompression entropy stage (#2522 #2524, @terrelln) +bug: Improve setting permissions of created files (#2525, @felixhandte) +bug: Fix large dictionary non-determinism (#2607, @terrelln) +bug: Fix non-determinism test failures on Linux i686 (#2606, @terrelln) +bug: Fix various dedicated dictionary search bugs (#2540 #2586, @senhuang42 @felixhandte) +bug: Ensure `ZSTD_estimateCCtxSize*() `monotonically increases with compression level (#2538, @senhuang42) +bug: Fix --patch-from mode parameter bound bug with small files (#2637, @occivink) +bug: Fix UBSAN error in decompression (#2625, @terrelln) +bug: Fix superblock compression divide by zero bug (#2592, @senhuang42) +bug: Make the number of physical CPU cores detection more robust (#2517, @PaulBone) +doc: Improve `zdict.h` dictionary training API documentation (#2622, @terrelln) +doc: Note that public `ZSTD_free*()` functions accept NULL pointers (#2521, @animalize) +doc: Add style guide docs for open source contributors (#2626, @Cyan4973) +tests: Better regression test coverage for different dictionary modes (#2559, @senhuang42) +tests: Better test coverage of index reduction (#2603, @terrelln) +tests: OSS-Fuzz coverage for seekable format (#2617, @senhuang42) +tests: Test coverage for ZSTD threadpool API (#2604, @senhuang42) +build: Dynamic library built multithreaded by default (#2584, @senhuang42) +build: Move `zstd_errors.h` and `zdict.h` to `lib/` root (#2597, @terrelln) +build: Allow `ZSTDMT_JOBSIZE_MIN` to be configured at compile-time, reduce default to 512KB (#2611, @Cyan4973) +build: Single file library build script moved to `build/` directory (#2618, @felixhandte) +build: `ZBUFF_*()` is no longer built by default (#2583, @senhuang42) +build: Fixed Meson build (#2548, @SupervisedThinking @kloczek) +build: Fix excessive compiler warnings with clang-cl and CMake (#2600, @nickhutchinson) +build: Detect presence of `md5` on Darwin (#2609, @felixhandte) +build: Avoid SIGBUS on armv6 (#2633, @bmwiedmann) +cli: `--progress` flag added to always display progress bar (#2595, @senhuang42) +cli: Allow reading from block devices with `--force` (#2613, @felixhandte) +cli: Fix CLI filesize display bug (#2550, @Cyan4973) +cli: Fix windows CLI `--filelist` end-of-line bug (#2620, @Cyan4973) +contrib: Various fixes for linux kernel patch (#2539, @terrelln) +contrib: Seekable format - Decompression hanging edge case fix (#2516, @senhuang42) +contrib: Seekable format - New seek table-only API (#2113 #2518, @mdittmer @Cyan4973) +contrib: Seekable format - Fix seek table descriptor check when loading (#2534, @foxeng) +contrib: Seekable format - Decompression fix for large offsets, (#2594, @azat) +misc: Automatically published release tarballs available on Github (#2535, @felixhandte) + +v1.4.9 (Mar 1, 2021) +bug: Use `umask()` to Constrain Created File Permissions (#2495, @felixhandte) +bug: Make Simple Single-Pass Functions Ignore Advanced Parameters (#2498, @terrelln) +api: Add (De)Compression Tracing Functionality (#2482, @terrelln) +api: Support References to Multiple DDicts (#2446, @senhuang42) +api: Add Function to Generate Skippable Frame (#2439, @senhuang42) +perf: New Algorithms for the Long Distance Matcher (#2483, @mpu) +perf: Performance Improvements for Long Distance Matcher (#2464, @mpu) +perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln) +cli: Fix `--output-dir-mirror` rejection of `..` -containing paths (#2512, @felixhandte) +cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte) +cli: Improve Help Message (#2500, @senhuang42) +tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973) +tests: Correctly Invoke md5 Utility on NetBSD (#2492, @niacat) +tests: Avoid Using `stat -c` on NetBSD (#2513, @felixhandte) +build: Zstd CLI Can Now be Linked to Dynamic `libzstd` (#2457, #2454 @Cyan4973) +build: Hide and Avoid Using Static-Only Symbols (#2501, #2504, @skitt) +build: CMake: Enable Only C for lib/ and programs/ Projects (#2498, @concatime) +build: CMake: Use `configure_file()` to Create the `.pc` File (#2462, @lazka) +build: Fix Fuzzer Compiler Detection & Update UBSAN Flags (#2503, @terrelln) +build: Add Guards for `_LARGEFILE_SOURCE` and `_LARGEFILE64_SOURCE` (#2444, @indygreg) +build: Improve `zlibwrapper` Makefile (#2437, @Cyan4973) +contrib: Add `recover_directory` Program (#2473, @terrelln) +doc: Change License Year to 2021 (#2452 & #2465, @terrelln & @senhuang42) +doc: Fix Typos (#2459, @ThomasWaldmann) + +v1.4.8 (Dec 18, 2020) +hotfix: wrong alignment of an internal buffer + +v1.4.7 (Dec 16, 2020) +perf: stronger --long mode at high compression levels, by @senhuang42 +perf: stronger --patch-from at high compression levels, thanks to --long improvements +perf: faster dictionary compression at medium compression levels, by @felixhandte +perf: small speed & memory usage improvements for ZSTD_compress2(), by @terrelln +perf: improved fast compression speeds with Visual Studio, by @animalize +cli : Set nb of threads with environment variable ZSTD_NBTHREADS, by @senhuang42 +cli : accept decompressing files with *.zstd suffix +cli : provide a condensed summary by default when processing multiple files +cli : fix : stdin input no longer confused as user prompt +cli : improve accuracy of several error messages +api : new sequence ingestion API, by @senhuang42 +api : shared thread pool: control total nb of threads used by multiple compression jobs, by @marxin +api : new ZSTD_getDictID_fromCDict(), by @LuAPi +api : zlibWrapper only uses public API, and is compatible with dynamic library, by @terrelln +api : fix : multithreaded compression has predictable output even in special cases (see #2327) (issue not accessible from cli) +api : fix : dictionary compression correctly respects dictionary compression level (see #2303) (issue not accessible from cli) +build: fix cmake script when using path with spaces, by @terrelln +build: improved compile-time detection of aarch64/neon platforms, by @bsdimp +build: Fix building on AIX 5.1, by @likema +build: compile paramgrill with cmake on Windows, requested by @mirh +doc : clarify repcode updates in format specification, by @felixhandte + +v1.4.6 +fix : Always return dstSize_tooSmall when that is the case +fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary +perf: Improve small block decompression speed by 20%+, by @terrelln +perf: Reduce compression stack usage by 1 KB, by @terrelln +perf: Improve decompression speed by improving ZSTD_wildcopy, by @helloguo (#2252, #2256) +perf: Improve histogram construction, by @cyan4973 (#2253) +cli : Add --output-dir-mirror option, by @xxie24 (#2219) +cli : Warn when (de)compressing multiple files into a single output, by @senhuang42 (#2279) +cli : Improved progress bar and status summary when (de)compressing multiple files, by @senhuang42 (#2283) +cli : Call stat less often, by @felixhandte (#2262) +cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX, by @cyan4973 (#2250) +cli : Allow --patch-from to compress stdin with --stream-size, by @bimbashrestha (#2206) +api : Do not install zbuff.h, since it has long been deprecated, by @cyan4973 (#2166). +api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level, by @i-do-cpp (#2291) +api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX, by @marxin (#2228). +build: Install pkg-config file with CMake and MinGW, by @tonytheodore (#2183) +build: Install DLL with CMake on Windows, by @BioDataAnalysis (#2221) +build: Fix DLL install location with CMake, by @xantares and @bimbashrestha (#2186) +build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions +build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics +build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC, by @Niadb (#2258) +build: Fix -Wcomma warnings, by @cwoffenden +build: Remove distutils requirement for meson build, by @neheb (#2197) +build: Fix cli compilation with uclibc +build: Fix cli compilation without st_mtime, by @ffontaine (#2246) +build: Fix shadowing warnings in library +build: Fix single file library compilation with Enscripten, by @yoshihitoh (#2227) +misc: Improve single file library and include dictBuilder, by @cwoffenden +misc: Allow compression dictionaries with missing symbols +misc: Add freestanding translation script in contrib/freestanding_lib +misc: Collect all of zstd's libc dependencies into zstd_deps.h +doc : Add ZSTD_versionString() to manual, by @animalize +doc : Fix documentation for ZSTD_CCtxParams_setParameter(), by @felixhandte (#2270) + +v1.4.5 (May 22, 2020) +fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln +perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln +perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta) +perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh) +perf: Small level 1 compression speed gains (depending on compiler) +cli : New --patch-from command, create and apply patches from files, by @bimbashreshta +cli : New --filelist= : Provide a list of files to operate upon from a file +cli : -b -d command can now benchmark decompression on multiple files +cli : New --no-content-size command +cli : New --show-default-cparams information command +api : ZDICT_finalizeDictionary() is promoted to stable (#2111) +api : new experimental parameter ZSTD_d_stableOutBuffer (#2094) +build: Generate a single-file libzstd library (#2065, by @cwoffenden) +build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte) +build: zstd now compiles cleanly under -pedantic (#2099) +build: zstd now compiles with make-4.3 +build: Support mingw cross-compilation from Linux, by @Ericson2314 +build: Meson multi-thread build fix on windows +build: Some misc icc fixes backed by new ci test on travis +misc: bitflip analyzer tool, by @felixhandte +misc: Extend largeNbDicts benchmark to compression +misc: Edit-distance match finder in contrib/ +doc : Improved beginner CONTRIBUTING.md docs +doc : New issue templates for zstd + +v1.4.4 (Nov 6, 2019) +perf: Improved decompression speed, by > 10%, by @terrelln +perf: Better compression speed when re-using a context, by @felixhandte +perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42 +perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha +perf: minor generic speed optimization, by @davidbolvansky +api: new ability to extract sequences from the parser for analysis, by @bimbashrestha +api: fixed decoding of magic-less frames, by @terrelln +api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK +cli: Named pipes support, by @bimbashrestha +cli: short tar's extension support, by @stokito +cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42 +cli: commands --stream-size=# and --size-hint=#, by @nmagerko +cli: command --exclude-compressed, by @shashank0791 +cli: faster `-t` test mode +cli: improved some error messages, by @vangyzen +cli: fix command `-D dictionary` on Windows, reported by @artyompetrov +cli: fix rare deadlock condition within dictionary builder, by @terrelln +build: single-file decoder with emscripten compilation script, by @cwoffenden +build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive +build: fixed deprecation warning for certain gcc version, reported by @jasonma163 +build: fix compilation on old gcc versions, by @cemeyer +build: improved installation directories for cmake script, by Dmitri Shubin +pack: modified pkgconfig, for better integration into openwrt, requested by @neheb +misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format +misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro + +v1.4.3 (Aug 20, 2019) +bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709) +bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722) +build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705) + +v1.4.2 (Jul 26, 2019) +bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696) +bug: Fix seekable decompression in-memory API by @iburinoc (#1695) +misc: Validate blocks are smaller than size limit by @vivekmg (#1685) +misc: Restructure source files by @ephiepark (#1679) + +v1.4.1 (Jul 20, 2019) +bug: Fix data corruption in niche use cases by @terrelln (#1659) +bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595) +bug: Fix out of bounds read by @terrelln (#1590) +perf: Improve decode speed by ~7% @mgrice (#1668) +perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681) +perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658) +perf: Improve compression ratio for small windowLog by @cyan4973 (#1624) +perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635) +api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656) +cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640) +cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631) +cli: Restrict read permissions on destination files by @chungy (#1644) +cli: zstdgrep: handle -f flag by @felixhandte (#1618) +cli: zstdcat: follow symlinks by @vejnar (#1604) +doc: Remove extra size limit on compressed blocks by @felixhandte (#1689) +doc: Fix typo by @yk-tanigawa (#1633) +doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629) +build: CMake: support building with LZ4 @leeyoung624 (#1626) +build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647) +build: CMake: respect existing uninstall target by @j301scott (#1619) +build: Make: skip multithread tests when built without support by @michaelforney (#1620) +build: Make: Fix examples/ test target by @sjnam (#1603) +build: Meson: rename options out of deprecated namespace by @lzutao (#1665) +build: Meson: fix build by @lzutao (#1602) +build: Visual Studio: don't export symbols in static lib by @scharan (#1650) +build: Visual Studio: fix linking by @absotively (#1639) +build: Fix MinGW-W64 build by @myzhang1029 (#1600) +misc: Expand decodecorpus coverage by @ephiepark (#1664) + +v1.4.0 (Apr 17, 2019) +perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln +api: Move the advanced API, including all functions in the staging section, to the stable section +api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress +api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter +api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter +api: Don't export ZSTDMT functions from the shared library by default +api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT +api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao +api: Fix ZSTD_decompressDCtx() corner cases with a dictionary +api: Move ZSTD_getDictID_*() functions to the stable section +api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln +api: Allow compression parameters to be set when a dictionary is used +api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called +api: Fix ZSTD_estimateCStreamSize_usingCCtxParams() +api: Setting ZSTD_d_maxWindowLog to 0 means use the default +cli: Ensure that a dictionary is not used to compress itself by @shakeelrao +cli: Add --[no-]compress-literals flag to enable or disable literal compression +doc: Update the examples to use the advanced API +doc: Explain how to transition from old streaming functions to the advanced API in the header +build: Improve the Windows release packages +build: Improve CMake build by @hjmjohnson +build: Build fixes for FreeBSD by @lwhsu +build: Remove redundant warnings by @thatsafunnyname +build: Fix tests on OpenBSD by @bket +build: Extend fuzzer build system to work with the new clang engine +build: CMake now creates the libzstd.so.1 symlink +build: Improve Menson build by @lzutao +misc: Fix symbolic link detection on FreeBSD +misc: Use physical core count for -T0 on FreeBSD by @cemeyer +misc: Fix zstd --list on truncated files by @kostmo +misc: Improve logging in debug mode by @felixhandte +misc: Add CirrusCI tests by @lwhsu +misc: Optimize dictionary memory usage in corner cases +misc: Improve the dictionary builder on small or homogeneous data +misc: Fix spelling across the repo by @jsoref + +v1.3.8 (Dec 28, 2018) +perf: better decompression speed on large files (+7%) and cold dictionaries (+15%) +perf: slightly better compression ratio at high compression modes +api : finalized advanced API, last stage before "stable" status +api : new --rsyncable mode, by @terrelln +api : support decompression of empty frames into NULL (used to be an error) (#1385) +build: new set of macros to build a minimal size decoder, by @felixhandte +build: fix compilation on MIPS32, reported by @clbr (#1441) +build: fix compilation with multiple -arch flags, by @ryandesign +build: highly upgraded meson build, by @lzutao +build: improved buck support, by @obelisk +build: fix cmake script : can create debug build, by @pitrou +build: Makefile : grep works on both colored consoles and systems without color support +build: fixed zstd-pgo, by @bmwiedemann +cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423) +cli : --no-progress flag, preserving final summary (#1371), by @terrelln +cli : ensure destination file is not source file (#1422) +cli : clearer error messages, especially when input file not present +doc : clarified zstd_compression_format.md, by @ulikunitz +misc: fixed zstdgrep, returns 1 on failure, by @lzutao +misc: NEWS renamed as CHANGELOG, in accordance with fboss + +v1.3.7 (Oct 20, 2018) +perf: slightly better decompression speed on clang (depending on hardware target) +fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10 +build: no longer build backtrace by default in release mode; restrict further automatic mode +build: control backtrace support through build macro BACKTRACE +misc: added man pages for zstdless and zstdgrep, by @samrussell + +v1.3.6 (Oct 6, 2018) +perf: much faster dictionary builder, by @jenniferliu +perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte +perf: faster dictionary decompression when using a very large number of dictionaries simultaneously +cli : fix : does no longer overwrite destination when source does not exist (#1082) +cli : new command --adapt, for automatic compression level adaptation +api : fix : block api can be streamed with > 4 GB, reported by @catid +api : reduced ZSTD_DDict size by 2 KB +api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel(). +build: support Haiku target, by @korli +build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT. +doc : zstd_compression_format.md updated to match wording in IETF RFC 8478 +misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97 + +v1.3.5 (Jun 29, 2018) +perf: much faster dictionary compression, by @felixhandte +perf: small quality improvement for dictionary generation, by @terrelln +perf: slightly improved high compression levels (notably level 19) +mem : automatic memory release for long duration contexts +cli : fix : overlapLog can be manually set +cli : fix : decoding invalid lz4 frames +api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln +api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln +build: select custom libzstd scope through control macros, by @GeorgeLu97 +build: OpenBSD patch, by @bket +build: make and make all are compatible with -j +doc : clarify zstd_compression_format.md, updated for IETF RFC process +misc: pzstd compatible with reproducible compilation, by @lamby + +v1.3.4 (Mar 27, 2018) +perf: faster speed (especially decoding speed) on recent cpus (haswell+) +perf: much better performance associating --long with multi-threading, by @terrelln +perf: better compression at levels 13-15 +cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior) +cli : smoother status report in multi-threading mode +cli : added command --fast=#, for faster compression modes +cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb) +api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode +api : compression levels can be negative, for even more speed +api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime +api : ZSTDMT can accept new compression parameters during compression +api : implemented all advanced dictionary decompression prototypes +build: improved meson recipe, by Shawn Landden (@shawnl) +build: VS2017 scripts, by @HaydnTrigg +misc: all /contrib projects fixed +misc: added /contrib/docker script by @gyscos + +v1.3.3 (Dec 21, 2017) +perf: faster zstd_opt strategy (levels 16-19) +fix : bug #944 : multithreading with shared dictionary and large data, reported by @gsliepen +cli : fix : content size written in header by default +cli : fix : improved LZ4 format support, by @felixhandte +cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file +api : fix : support large skippable frames, by @terrelln +api : fix : streaming interface was adding a useless 3-bytes null block to small frames +api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown" +build: fix : compilation under rhel6 and centos6, reported by @pixelb +build: added `check` target + +v1.3.2 (Oct 10, 2017) +new : long range mode, using --long command, by Stella Lau (@stellamplau) +new : ability to generate and decode magicless frames (#591) +changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode +fix : multi-threading compression works with custom allocators +fix : ZSTD_sizeof_CStream() was over-evaluating memory usage +fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22) +fix : 32-bits build can now decode large offsets (levels 21+) +cli : added LZ4 frame support by default, by Felix Handte (@felixhandte) +cli : improved --list output +cli : new : can split input file for dictionary training, using command -B# +cli : new : clean operation artefact on Ctrl-C interruption +cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851) +cli : fix : write file size in header in multiple-files mode +api : added macro ZSTD_COMPRESSBOUND() for static allocation +api : experimental : new advanced decompression API +api : fix : sizeof_CCtx() used to over-estimate +build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819) +build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818) +example : added streaming_memory_usage +license : changed /examples license to BSD + GPLv2 +license : fix a few header files to reflect new license (#825) + +v1.3.1 (Aug 21, 2017) +New license : BSD + GPLv2 +perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk) +perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760) +cli : improved and fixed --list command, by @ib (#772) +cli : command -vV to list supported formats, by @ib (#771) +build : fixed binary variants, reported by @svenha (#788) +build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718) +API exp : breaking change : ZSTD_getframeHeader() provides more information +API exp : breaking change : pinned down values of error codes +doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz) +new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74) +new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau) +updated : contrib/linux-kernel, by Nick Terrell (@terrelln) + +v1.3.0 (Jul 6, 2017) +cli : new : `--list` command, by Paul Cruz +cli : changed : xz/lzma support enabled by default +cli : changed : `-t *` continue processing list after a decompression error +API : added : ZSTD_versionString() +API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell +API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter() +API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx() +API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700) +API exp : clarified memory estimation / measurement functions. +API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1 +tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz +new : contrib/seekable_format, demo and API, by Sean Purcell +changed : contrib/linux-kernel, updated version and license, by Nick Terrell + +v1.2.0 (May 5, 2017) +cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable) +cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell +cli : new : zstdmt symlink hardwired to `zstd -T0` +cli : new : command --threads=# (#671) +cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell +cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters +cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell +cli : fix : does not output compressed data on console +cli : fix : ignore symbolic links unless --force specified, +API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument +API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters. +API : improved: ZSTDMT_compressCCtx() reduced memory usage +API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634) +API : fix : src size stored in frame header is controlled at end of frame +API : fix : enforced consistent rules for pledgedSrcSize==0 (#641) +API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate +build: improved cmake script, by @Majlen +build: enabled Multi-threading support for *BSD, by Baptiste Daroussin +tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target. +new : contrib/linux-kernel version, by Nick Terrell + +v1.1.4 (Mar 18, 2017) +cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski +cli : new : advanced benchmark command --priority=rt +cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77 +cli : fix : --rm remains silent when input is stdin +cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski +speed : improved decompression speed in streaming mode for single shot scenarios (+5%) +memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB +arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell +API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize() +API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value) +build : new: meson build system in contrib/meson, by Dima Krasner +build : improved cmake script, by @Majlen +build : added -Wformat-security flag, as recommended by Padraig Brady +doc : new : educational decoder, by Sean Purcell + +v1.1.3 (Feb 7, 2017) +cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`) +cli : new : experimental target `make zstdmt`, with multi-threading support +cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano. +cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski +cli : fix zstdless on Mac OS-X, by Andrew Janke +cli : fix #232 "compress non-files" +dictBuilder : improved dictionary generation quality, thanks to Nick Terrell +API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental) +API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul +API : new : ZDICT_finalizeDictionary() +API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511) +API : fix : all symbols properly exposed in libzstd, by Nick Terrell +build : support for Solaris target, by Przemyslaw Skibinski +doc : clarified specification, by Sean Purcell + +v1.1.2 (Dec 15, 2016) +API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init +API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize() +API : zbuff : changed : prototypes now generate deprecation warnings +lib : improved : faster decompression speed at ultra compression settings and 32-bits mode +lib : changed : only public ZSTD_ symbols are now exposed +lib : changed : reduced usage of stack memory +lib : fixed : several corner case bugs, by Nick Terrell +cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski +cli : new : preserve file attributes +cli : new : added zstdless and zstdgrep tools +cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd) +cli : fixed : zstdcat +zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski +install : better compatibility with FreeBSD, by Dimitry Andric +source tree : changed : zbuff source files moved to lib/deprecated + +v1.1.1 (Nov 2, 2016) +New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption +New : doc/zstd_manual.html, by Przemyslaw Skibinski +Improved : slightly better compression ratio at --ultra levels (>= 20) +Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report +Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section) +Added : example/multiple_streaming_compression.c +Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h) +Updated man page +Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets + +v1.1.0 (Sep 28, 2016) +New : contrib/pzstd, parallel version of zstd, by Nick Terrell +added : NetBSD install target (#338) +Improved : speed for batches of small files +Improved : speed of zlib wrapper, by Przemyslaw Skibinski +Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier +Fixed : CLI -d output to stdout by default when input is stdin (#322) +Fixed : CLI correctly detects console on Mac OS-X +Fixed : CLI supports recursive mode `-r` on Mac OS-X +Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski +Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319) +Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365) +Fixed : zstd-pgo, reported by octoploid (#329) + +v1.0.0 (Sep 1, 2016) +Change Licensing, all project is now BSD, Copyright Facebook +Small decompression speed improvement +API : Streaming API supports legacy format +API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter() +CLI supports legacy formats v0.4+ +Fixed : compression fails on certain huge files, reported by Jesse McGrew +Enhanced documentation, by Przemyslaw Skibinski + +v0.8.1 (Aug 18, 2016) +New streaming API +Changed : --ultra now enables levels beyond 19 +Changed : -i# now selects benchmark time in second +Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell +Fixed : speed regression on specific patterns (#272) +Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291) +Fixed : ICC compilation, by Przemyslaw Skibinski + +v0.8.0 (Aug 2, 2016) +Improved : better speed on clang and gcc -O2, thanks to Eric Biggers +New : Build on FreeBSD and DragonFly, thanks to JrMarino +Changed : modified API : ZSTD_compressEnd() +Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist +Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers +Fixed : large dictionaries (> 384 KB), reported by Ilona Papava +Fixed : checksum correctly checked in single-pass mode +Fixed : combined --test amd --rm, reported by Andreas M. Nilsson +Modified : minor compression level adaptations +Updated : compression format specification to v0.2.0 +changed : zstd.h moved to /lib directory + +v0.7.5 (Aug 1, 2016) +Transition version, supporting decoding of v0.8.x + +v0.7.4 (Jul 17, 2016) +Added : homebrew for Mac, by Daniel Cade +Added : more examples +Fixed : segfault when using small dictionaries, reported by Felix Handte +Modified : default compression level for CLI is now 3 +Updated : specification, to v0.1.1 + +v0.7.3 (Jul 9, 2016) +New : compression format specification +New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner. +New : `ZSTD_getDecompressedSize()` +New : OpenBSD target, by Juan Francisco Cantero Hurtado +New : `examples` directory +fixed : dictBuilder using HC levels, reported by Bartosz Taudul +fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte +fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski +modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section) +modified : legacy functions no longer need magic number + +v0.7.2 (Jul 4, 2016) +fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski. +fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner. +fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner. + +v0.7.1 (Jun 23, 2016) +fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier +fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв +fixed : corruption issue, reported by cj +modified : checksum enabled by default in command line mode + +v0.7.0 (Jun 17, 2016) +New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski +New : Command `--rm`, to remove source file after successful de/compression +New : Visual build scripts, by Christophe Chevalier +New : Support for Sparse File-systems (do not use space for zero-filled sectors) +New : Frame checksum support +New : Support pass-through mode (when using `-df`) +API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()` +API : create dictionary files from custom content, by Giuseppe Ottaviano +API : support for custom malloc/free functions +New : controllable Dictionary ID +New : Support for skippable frames + +v0.6.1 (May 13, 2016) +New : zlib wrapper API, thanks to Przemyslaw Skibinski +New : Ability to compile compressor / decompressor separately +Changed : new lib directory structure +Fixed : Legacy codec v0.5 compatible with dictionary decompression +Fixed : Decoder corruption error (#173) +Fixed : null-string roundtrip (#176) +New : benchmark mode can select directory as input +Experimental : midipix support, VMS support + +v0.6.0 (Apr 13, 2016) +Stronger high compression modes, thanks to Przemyslaw Skibinski +API : ZSTD_getFrameParams() provides size of decompressed content +New : highest compression modes require `--ultra` command to fully unleash their capacity +Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner + +v0.5.1 (Feb 18, 2016) +New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski +Changed : Dictionary builder integrated into libzstd and zstd cli +Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`. +Fix : high compression modes for big-endian platforms +New : zstd cli : `-t` | `--test` command + +v0.5.0 (Feb 5, 2016) +New : dictionary builder utility +Changed : streaming & dictionary API +Improved : better compression of small data + +v0.4.7 (Jan 22, 2016) +Improved : small compression speed improvement in HC mode +Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default +fix : bt search bug + +v0.4.6 (Jan 13, 2016) +fix : fast compression mode on Windows +New : cmake configuration file, thanks to Artyom Dymchenko +Improved : high compression mode on repetitive data +New : block-level API +New : ZSTD_duplicateCCtx() + +v0.4.5 (Dec 18, 2015) +new : -m/--multiple : compress/decompress multiple files + +v0.4.4 (Dec 14, 2015) +Fixed : high compression modes for Windows 32 bits +new : external dictionary API extended to buffered mode and accessible through command line +new : windows DLL project, thanks to Christophe Chevalier + +v0.4.3 (Dec 7, 2015) +new : external dictionary API +new : zstd-frugal + +v0.4.2 (Dec 2, 2015) +Generic minor improvements for small blocks +Fixed : big-endian compatibility, by Peter Harris (#85) + +v0.4.1 (Dec 1, 2015) +Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben) +removed `zstd.c` + +v0.4.0 (Nov 29, 2015) +Command line utility compatible with high compression levels +Removed zstdhc => merged into zstd +Added : ZBUFF API (see zstd_buffered.h) +Rolling buffer support + +v0.3.6 (Nov 10, 2015) +small blocks params + +v0.3.5 (Nov 9, 2015) +minor generic compression improvements + +v0.3.4 (Nov 6, 2015) +Faster fast cLevels + +v0.3.3 (Nov 5, 2015) +Small compression ratio improvement + +v0.3.2 (Nov 2, 2015) +Fixed Visual Studio + +v0.3.1 (Nov 2, 2015) +Small compression ratio improvement + +v0.3 (Oct 30, 2015) +HC mode : compression levels 2-26 + +v0.2.2 (Oct 28, 2015) +Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier + +v0.2.1 (Oct 24, 2015) +Fix : Read errors, advanced fuzzer tests, by Hanno Böck + +v0.2.0 (Oct 22, 2015) +**Breaking format change** +Faster decompression speed +Can still decode v0.1 format + +v0.1.3 (Oct 15, 2015) +fix uninitialization warning, reported by Evan Nemerson + +v0.1.2 (Sep 11, 2015) +frame concatenation support + +v0.1.1 (Aug 27, 2015) +fix compression bug +detects write-flush errors + +v0.1.0 (Aug 25, 2015) +first release diff --git a/curl/dep/zstd/LICENSE.txt b/curl/dep/zstd/LICENSE.txt new file mode 100644 index 0000000..7580028 --- /dev/null +++ b/curl/dep/zstd/LICENSE.txt @@ -0,0 +1,30 @@ +BSD License + +For Zstandard software + +Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook, nor Meta, nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/curl/dep/zstd/README.md b/curl/dep/zstd/README.md new file mode 100644 index 0000000..d91ef5d --- /dev/null +++ b/curl/dep/zstd/README.md @@ -0,0 +1,237 @@ +

    Zstandard

    + +__Zstandard__, or `zstd` as short version, is a fast lossless compression algorithm, +targeting real-time compression scenarios at zlib-level and better compression ratios. +It's backed by a very fast entropy stage, provided by [Huff0 and FSE library](https://github.com/Cyan4973/FiniteStateEntropy). + +Zstandard's format is stable and documented in [RFC8878](https://datatracker.ietf.org/doc/html/rfc8878). Multiple independent implementations are already available. +This repository represents the reference implementation, provided as an open-source dual [BSD](LICENSE) OR [GPLv2](COPYING) licensed **C** library, +and a command line utility producing and decoding `.zst`, `.gz`, `.xz` and `.lz4` files. +Should your project require another programming language, +a list of known ports and bindings is provided on [Zstandard homepage](https://facebook.github.io/zstd/#other-languages). + +**Development branch status:** + +[![Build Status][travisDevBadge]][travisLink] +[![Build status][CircleDevBadge]][CircleLink] +[![Build status][CirrusDevBadge]][CirrusLink] +[![Fuzzing Status][OSSFuzzBadge]][OSSFuzzLink] + +[travisDevBadge]: https://api.travis-ci.com/facebook/zstd.svg?branch=dev "Continuous Integration test suite" +[travisLink]: https://travis-ci.com/facebook/zstd +[CircleDevBadge]: https://circleci.com/gh/facebook/zstd/tree/dev.svg?style=shield "Short test suite" +[CircleLink]: https://circleci.com/gh/facebook/zstd +[CirrusDevBadge]: https://api.cirrus-ci.com/github/facebook/zstd.svg?branch=dev +[CirrusLink]: https://cirrus-ci.com/github/facebook/zstd +[OSSFuzzBadge]: https://oss-fuzz-build-logs.storage.googleapis.com/badges/zstd.svg +[OSSFuzzLink]: https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:zstd + +## Benchmarks + +For reference, several fast compression algorithms were tested and compared +on a desktop featuring a Core i7-9700K CPU @ 4.9GHz +and running Ubuntu 20.04 (`Linux ubu20 5.15.0-101-generic`), +using [lzbench], an open-source in-memory benchmark by @inikep +compiled with [gcc] 9.4.0, +on the [Silesia compression corpus]. + +[lzbench]: https://github.com/inikep/lzbench +[Silesia compression corpus]: https://sun.aei.polsl.pl//~sdeor/index.php?page=silesia +[gcc]: https://gcc.gnu.org/ + +| Compressor name | Ratio | Compression| Decompress.| +| --------------- | ------| -----------| ---------- | +| **zstd 1.5.6 -1** | 2.887 | 510 MB/s | 1580 MB/s | +| [zlib] 1.2.11 -1 | 2.743 | 95 MB/s | 400 MB/s | +| brotli 1.0.9 -0 | 2.702 | 395 MB/s | 430 MB/s | +| **zstd 1.5.6 --fast=1** | 2.437 | 545 MB/s | 1890 MB/s | +| **zstd 1.5.6 --fast=3** | 2.239 | 650 MB/s | 2000 MB/s | +| quicklz 1.5.0 -1 | 2.238 | 525 MB/s | 750 MB/s | +| lzo1x 2.10 -1 | 2.106 | 650 MB/s | 825 MB/s | +| [lz4] 1.9.4 | 2.101 | 700 MB/s | 4000 MB/s | +| lzf 3.6 -1 | 2.077 | 420 MB/s | 830 MB/s | +| snappy 1.1.9 | 2.073 | 530 MB/s | 1660 MB/s | + +[zlib]: https://www.zlib.net/ +[lz4]: https://lz4.github.io/lz4/ + +The negative compression levels, specified with `--fast=#`, +offer faster compression and decompression speed +at the cost of compression ratio. + +Zstd can also offer stronger compression ratios at the cost of compression speed. +Speed vs Compression trade-off is configurable by small increments. +Decompression speed is preserved and remains roughly the same at all settings, +a property shared by most LZ compression algorithms, such as [zlib] or lzma. + +The following tests were run +on a server running Linux Debian (`Linux version 4.14.0-3-amd64`) +with a Core i7-6700K CPU @ 4.0GHz, +using [lzbench], an open-source in-memory benchmark by @inikep +compiled with [gcc] 7.3.0, +on the [Silesia compression corpus]. + +Compression Speed vs Ratio | Decompression Speed +---------------------------|-------------------- +![Compression Speed vs Ratio](doc/images/CSpeed2.png "Compression Speed vs Ratio") | ![Decompression Speed](doc/images/DSpeed3.png "Decompression Speed") + +A few other algorithms can produce higher compression ratios at slower speeds, falling outside of the graph. +For a larger picture including slow modes, [click on this link](doc/images/DCspeed5.png). + + +## The case for Small Data compression + +Previous charts provide results applicable to typical file and stream scenarios (several MB). Small data comes with different perspectives. + +The smaller the amount of data to compress, the more difficult it is to compress. This problem is common to all compression algorithms, and reason is, compression algorithms learn from past data how to compress future data. But at the beginning of a new data set, there is no "past" to build upon. + +To solve this situation, Zstd offers a __training mode__, which can be used to tune the algorithm for a selected type of data. +Training Zstandard is achieved by providing it with a few samples (one file per sample). The result of this training is stored in a file called "dictionary", which must be loaded before compression and decompression. +Using this dictionary, the compression ratio achievable on small data improves dramatically. + +The following example uses the `github-users` [sample set](https://github.com/facebook/zstd/releases/tag/v1.1.3), created from [github public API](https://developer.github.com/v3/users/#get-all-users). +It consists of roughly 10K records weighing about 1KB each. + +Compression Ratio | Compression Speed | Decompression Speed +------------------|-------------------|-------------------- +![Compression Ratio](doc/images/dict-cr.png "Compression Ratio") | ![Compression Speed](doc/images/dict-cs.png "Compression Speed") | ![Decompression Speed](doc/images/dict-ds.png "Decompression Speed") + + +These compression gains are achieved while simultaneously providing _faster_ compression and decompression speeds. + +Training works if there is some correlation in a family of small data samples. The more data-specific a dictionary is, the more efficient it is (there is no _universal dictionary_). +Hence, deploying one dictionary per type of data will provide the greatest benefits. +Dictionary gains are mostly effective in the first few KB. Then, the compression algorithm will gradually use previously decoded content to better compress the rest of the file. + +### Dictionary compression How To: + +1. Create the dictionary + + `zstd --train FullPathToTrainingSet/* -o dictionaryName` + +2. Compress with dictionary + + `zstd -D dictionaryName FILE` + +3. Decompress with dictionary + + `zstd -D dictionaryName --decompress FILE.zst` + + +## Build instructions + +`make` is the officially maintained build system of this project. +All other build systems are "compatible" and 3rd-party maintained, +they may feature small differences in advanced options. +When your system allows it, prefer using `make` to build `zstd` and `libzstd`. + +### Makefile + +If your system is compatible with standard `make` (or `gmake`), +invoking `make` in root directory will generate `zstd` cli in root directory. +It will also create `libzstd` into `lib/`. + +Other available options include: +- `make install` : create and install zstd cli, library and man pages +- `make check` : create and run `zstd`, test its behavior on local platform + +The `Makefile` follows the [GNU Standard Makefile conventions](https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html), +allowing staged install, standard flags, directory variables and command variables. + +For advanced use cases, specialized compilation flags which control binary generation +are documented in [`lib/README.md`](lib/README.md#modular-build) for the `libzstd` library +and in [`programs/README.md`](programs/README.md#compilation-variables) for the `zstd` CLI. + +### cmake + +A `cmake` project generator is provided within `build/cmake`. +It can generate Makefiles or other build scripts +to create `zstd` binary, and `libzstd` dynamic and static libraries. + +By default, `CMAKE_BUILD_TYPE` is set to `Release`. + +#### Support for Fat (Universal2) Output + +`zstd` can be built and installed with support for both Apple Silicon (M1/M2) as well as Intel by using CMake's Universal2 support. +To perform a Fat/Universal2 build and install use the following commands: + +```bash +cmake -B build-cmake-debug -S build/cmake -G Ninja -DCMAKE_OSX_ARCHITECTURES="x86_64;x86_64h;arm64" +cd build-cmake-debug +ninja +sudo ninja install +``` + +### Meson + +A Meson project is provided within [`build/meson`](build/meson). Follow +build instructions in that directory. + +You can also take a look at [`.travis.yml`](.travis.yml) file for an +example about how Meson is used to build this project. + +Note that default build type is **release**. + +### VCPKG +You can build and install zstd [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: + + git clone https://github.com/Microsoft/vcpkg.git + cd vcpkg + ./bootstrap-vcpkg.sh + ./vcpkg integrate install + ./vcpkg install zstd + +The zstd port in vcpkg is kept up to date by Microsoft team members and community contributors. +If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. + +### Conan + +You can install pre-built binaries for zstd or build it from source using [Conan](https://conan.io/). Use the following command: + +```bash +conan install --requires="zstd/[*]" --build=missing +``` + +The zstd Conan recipe is kept up to date by Conan maintainers and community contributors. +If the version is out of date, please [create an issue or pull request](https://github.com/conan-io/conan-center-index) on the ConanCenterIndex repository. + +### Visual Studio (Windows) + +Going into `build` directory, you will find additional possibilities: +- Projects for Visual Studio 2005, 2008 and 2010. + + VS2010 project is compatible with VS2012, VS2013, VS2015 and VS2017. +- Automated build scripts for Visual compiler by [@KrzysFR](https://github.com/KrzysFR), in `build/VS_scripts`, + which will build `zstd` cli and `libzstd` library without any need to open Visual Studio solution. + +### Buck + +You can build the zstd binary via buck by executing: `buck build programs:zstd` from the root of the repo. +The output binary will be in `buck-out/gen/programs/`. + +### Bazel + +You easily can integrate zstd into your Bazel project by using the module hosted on the [Bazel Central Repository](https://registry.bazel.build/modules/zstd). + +## Testing + +You can run quick local smoke tests by running `make check`. +If you can't use `make`, execute the `playTest.sh` script from the `src/tests` directory. +Two env variables `$ZSTD_BIN` and `$DATAGEN_BIN` are needed for the test script to locate the `zstd` and `datagen` binary. +For information on CI testing, please refer to `TESTING.md`. + +## Status + +Zstandard is currently deployed within Facebook and many other large cloud infrastructures. +It is run continuously to compress large amounts of data in multiple formats and use cases. +Zstandard is considered safe for production environments. + +## License + +Zstandard is dual-licensed under [BSD](LICENSE) OR [GPLv2](COPYING). + +## Contributing + +The `dev` branch is the one where all contributions are merged before reaching `release`. +If you plan to propose a patch, please commit into the `dev` branch, or its own feature branch. +Direct commit to `release` are not permitted. +For more information, please read [CONTRIBUTING](CONTRIBUTING.md). diff --git a/curl/docs/ALTSVC.md b/curl/docs/ALTSVC.md new file mode 100644 index 0000000..bcdf565 --- /dev/null +++ b/curl/docs/ALTSVC.md @@ -0,0 +1,43 @@ + + +# Alt-Svc + +curl features support for the Alt-Svc: HTTP header. + +## Enable Alt-Svc in build + +`./configure --enable-alt-svc` + +(enabled by default since 7.73.0) + +## Standard + +[RFC 7838](https://datatracker.ietf.org/doc/html/rfc7838) + +# Alt-Svc cache file format + +This is a text based file with one line per entry and each line consists of nine +space separated fields. + +## Example + + h2 quic.tech 8443 h3-22 quic.tech 8443 "20190808 06:18:37" 0 0 + +## Fields + +1. The ALPN id for the source origin +2. The hostname for the source origin +3. The port number for the source origin +4. The ALPN id for the destination host +5. The hostname for the destination host +6. The port number for the destination host +7. The expiration date and time of this entry within double quotes. The date format is "YYYYMMDD HH:MM:SS" and the time zone is GMT. +8. Boolean (1 or 0) if "persist" was set for this entry +9. Integer priority value (not currently used) + +If the hostname is an IPv6 numerical address, it is stored with brackets such +as `[::1]`. diff --git a/curl/docs/BINDINGS.md b/curl/docs/BINDINGS.md new file mode 100644 index 0000000..e628776 --- /dev/null +++ b/curl/docs/BINDINGS.md @@ -0,0 +1,148 @@ + + +libcurl bindings +================ + + Creative people have written bindings or interfaces for various environments + and programming languages. Using one of these allows you to take advantage of + curl powers from within your favourite language or system. + + This is a list of all known interfaces as of this writing. + + The bindings listed below are not part of the curl/libcurl distribution + archives, but must be downloaded and installed separately. + + + +[Ada95](https://web.archive.org/web/20070403105909/www.almroth.com/adacurl/index.html) Written by Andreas Almroth + +[Basic](https://scriptbasic.com/) ScriptBasic bindings written by Peter Verhas + +C++: [curlpp](https://github.com/jpbarrette/curlpp/) Written by Jean-Philippe Barrette-LaPierre, +[curlcpp](https://github.com/JosephP91/curlcpp) by Giuseppe Persico and [C++ +Requests](https://github.com/libcpr/cpr) by Huu Nguyen + +[Ch](https://chcurl.sourceforge.net/) Written by Stephen Nestinger and Jonathan Rogado + +Cocoa: [BBHTTP](https://github.com/biasedbit/BBHTTP) written by Bruno de Carvalho +[curlhandle](https://github.com/karelia/curlhandle) Written by Dan Wood + +Clojure: [clj-curl](https://github.com/lsevero/clj-curl) by Lucas Severo + +[D](https://dlang.org/library/std/net/curl.html) Written by Kenneth Bogert + +[Delphi](https://github.com/Mercury13/curl4delphi) Written by Mikhail Merkuryev + +[Dylan](https://dylanlibs.sourceforge.net/) Written by Chris Double + +[Eiffel](https://iron.eiffel.com/repository/20.11/package/ABEF6975-37AC-45FD-9C67-52D10BA0669B) Written by Eiffel Software + +[Euphoria](https://web.archive.org/web/20050204080544/rays-web.com/eulibcurl.htm) Written by Ray Smith + +[Falcon](http://www.falconpl.org/project_docs/curl/) + +[Ferite](https://web.archive.org/web/20150102192018/ferite.org/) Written by Paul Querna + +[Fortran](https://github.com/interkosmos/fortran-curl) Written by Philipp Engel + +[Gambas](https://gambas.sourceforge.net/) + +[glib/GTK+](https://web.archive.org/web/20100526203452/atterer.net/glibcurl) Written by Richard Atterer + +Go: [go-curl](https://github.com/andelf/go-curl) by ShuYu Wang + +[Guile](https://github.com/spk121/guile-curl) Written by Michael L. Gran + +[Harbour](https://github.com/vszakats/hb/tree/main/contrib/hbcurl) Written by Viktor Szakats + +[Haskell](https://hackage.haskell.org/package/curl) Written by Galois, Inc + +[Hollywood](https://www.hollywood-mal.com/download.html) hURL by Andreas Falkenhahn + +[Java](https://github.com/covers1624/curl4j) + +[Julia](https://github.com/JuliaWeb/LibCURL.jl) Written by Amit Murthy + +[Kapito](https://github.com/puzza007/katipo) is an Erlang HTTP library around libcurl. + +[Lisp](https://common-lisp.net/project/cl-curl/) Written by Liam Healy + +Lua: [luacurl](https://web.archive.org/web/20201205052437/luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](https://github.com/Lua-cURL) by Jürgen Hötzel + +[Mono](https://web.archive.org/web/20070606064500/https://forge.novell.com/modules/xfmod/project/?libcurl-mono) Written by Jeffrey Phillips + +[.NET](https://sourceforge.net/projects/libcurl-net/) libcurl-net by Jeffrey Phillips + +[Nim](https://nimble.directory/pkg/libcurl) wrapper for libcurl + +[node.js](https://github.com/JCMais/node-libcurl) node-libcurl by Jonathan Cardoso Machado + +[Object-Pascal](https://web.archive.org/web/20020610214926/www.tekool.com/opcurl) Free Pascal, Delphi and Kylix binding written by Christophe Espern. + +[OCaml](https://opam.ocaml.org/packages/ocurl/) Written by Lars Nilsson and ygrek + +[Pascal](https://web.archive.org/web/20030804091414/houston.quik.com/jkp/curlpas/) Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer. + +Perl: [WWW::Curl](https://github.com/szbalint/WWW--Curl) Maintained by Cris +Bailiff and Bálint Szilakszi, +[perl6-net-curl](https://github.com/azawawi/perl6-net-curl) by Ahmad M. Zawawi +[NET::Curl](https://metacpan.org/pod/Net::Curl) by Przemyslaw Iskra + +[PHP](https://php.net/curl) Originally written by Sterling Hughes + +[PostgreSQL](https://github.com/pramsey/pgsql-http) - HTTP client for PostgreSQL + +[PostgreSQL](https://github.com/RekGRpth/pg_curl) - cURL client for PostgreSQL + +[PureBasic](https://www.purebasic.com/documentation/http/index.html) uses libcurl in its "native" HTTP subsystem + +[Python](http://pycurl.io/) PycURL by Kjetil Jacobsen + +[Python](https://pypi.org/project/pymcurl/) mcurl by Ganesh Viswanathan + +[Q](https://q-lang.sourceforge.net/) The libcurl module is part of the default install + +[R](https://cran.r-project.org/package=curl) + +[Rexx](https://rexxcurl.sourceforge.net/) Written Mark Hessling + +[Ring](https://ring-lang.sourceforge.io/doc1.3/libcurl.html) RingLibCurl by Mahmoud Fayed + +RPG, support for ILE/RPG on OS/400 is included in source distribution + +Ruby: [curb](https://github.com/taf2/curb) written by Ross Bamford, +[ruby-curl-multi](https://github.com/kball/curl_multi.rb) by Kristjan Petursson and Keith Rarick + +[Rust](https://github.com/alexcrichton/curl-rust) curl-rust - by Carl Lerche + +[Scheme](https://www.metapaper.net/lisovsky/web/curl/) Bigloo binding by Kirill Lisovsky + +[Scilab](https://help.scilab.org/docs/current/fr_FR/getURL.html) binding by Sylvestre Ledru + +[S-Lang](https://www.jedsoft.org/slang/modules/curl.html) by John E Davis + +[Smalltalk](https://www.squeaksource.com/CurlPlugin/) Written by Danil Osipchuk + +[SP-Forth](https://sourceforge.net/p/spf/spf/ci/master/tree/devel/~ac/lib/lin/curl/) Written by Andrey Cherezov + +[SPL](https://web.archive.org/web/20210203022158/www.clifford.at/spl/spldoc/curl.html) Written by Clifford Wolf + +[Tcl](https://web.archive.org/web/20160826011806/mirror.yellow5.com/tclcurl/) Tclcurl by Andrés García + +[Vibe](https://github.com/ttytm/vibe) HTTP requests through libcurl in V + +[Visual Basic](https://sourceforge.net/projects/libcurl-vb/) libcurl-vb by Jeffrey Phillips + +[Visual Foxpro](https://web.archive.org/web/20130730181523/www.ctl32.com.ar/libcurl.asp) by Carlos Alloatti + +[wxWidgets](https://wxcode.sourceforge.net/components/wxcurl/) Written by Casey O'Donnell + +[XBLite](https://web.archive.org/web/20060426150418/perso.wanadoo.fr/xblite/libraries.html) Written by David Szafranski + +[Xojo](https://github.com/charonn0/RB-libcURL) Written by Andrew Lambert + +[Zig](https://github.com/jiacai2050/zig-curl) Written by Jiacai Liu, both easy and multi API are supported. diff --git a/curl/docs/BUG-BOUNTY.md b/curl/docs/BUG-BOUNTY.md new file mode 100644 index 0000000..399c4cf --- /dev/null +++ b/curl/docs/BUG-BOUNTY.md @@ -0,0 +1,94 @@ + + +# The curl bug bounty + +The curl project runs a bug bounty program in association with +[HackerOne](https://www.hackerone.com) and the [Internet Bug +Bounty](https://internetbugbounty.org). + +## How does it work? + +Start out by posting your suspected security vulnerability directly to [curl's +HackerOne program](https://hackerone.com/curl). + +After you have reported a security issue, it has been deemed credible, and a +patch and advisory has been made public, you may be eligible for a bounty from +this program. See the [Security Process](https://curl.se/dev/secprocess.html) +document for how we work with security issues. + +## What are the reward amounts? + +The curl project offers monetary compensation for reported and published +security vulnerabilities. The amount of money that is rewarded depends on how +serious the flaw is determined to be. + +Since 2021, the Bug Bounty is managed in association with the Internet Bug +Bounty and they set the reward amounts. If it would turn out that they set +amounts that are way lower than we can accept, the curl project intends to +"top up" rewards. + +In 2022, typical "Medium" rated vulnerabilities have been rewarded 2,400 USD +each. + +## Who is eligible for a reward? + +Everyone and anyone who reports a security problem in a released curl version +that has not already been reported can ask for a bounty. + +Dedicated - paid for - security audits that are performed in collaboration +with curl developers are not eligible for bounties. + +Vulnerabilities in features that are off by default and documented as +experimental are not eligible for a reward. + +The vulnerability has to be fixed and publicly announced (by the curl project) +before a bug bounty is considered. + +Once the vulnerability has been published by curl, the researcher can request +their bounty from the [Internet Bug Bounty](https://hackerone.com/ibb). + +Bounties need to be requested within twelve months from the publication of the +vulnerability. + +The curl security team reserves themselves the right to deny or allow bug +bounty payouts on its own discretion. There is no appeals process. + +## Product vulnerabilities only + +This bug bounty only concerns the curl and libcurl products and thus their +respective source codes - when running on existing hardware. It does not +include curl documentation, curl websites, or other curl related +infrastructure. + +The curl security team is the sole arbiter if a reported flaw is subject to a +bounty or not. + +## Third parties + +The curl bug bounty does not cover flaws in third party dependencies +(libraries) used by curl or libcurl. If the bug triggers because of curl +behaving wrongly or abusing a third party dependency, the problem is rather in +curl and not in the dependency and then the bounty might cover the problem. + +## How are vulnerabilities graded? + +The grading of each reported vulnerability that makes a reward claim is +performed by the curl security team. The grading is based on the CVSS (Common +Vulnerability Scoring System) 3.0. + +## How are reward amounts determined? + +The curl security team gives the vulnerability a score or severity level, as +mentioned above. The actual monetary reward amount is decided and paid by the +Internet Bug Bounty.. + +## Regarding taxes, etc. on the bounties + +In the event that the individual receiving a bug bounty needs to pay taxes on +the reward money, the responsibility lies with the receiver. The curl project +or its security team never actually receive any of this money, hold the money, +or pay out the money. diff --git a/curl/docs/BUGS.md b/curl/docs/BUGS.md new file mode 100644 index 0000000..83dde54 --- /dev/null +++ b/curl/docs/BUGS.md @@ -0,0 +1,270 @@ + + +# BUGS + +## There are still bugs + + curl and libcurl keep being developed. Adding features and changing code + means that bugs sneak in, no matter how hard we try to keep them out. + + Of course there are lots of bugs left. Not to mention misfeatures. + + To help us make curl the stable and solid product we want it to be, we need + bug reports and bug fixes. + +## Where to report + + If you cannot fix a bug yourself and submit a fix for it, try to report an as + detailed report as possible to a curl mailing list to allow one of us to have + a go at a solution. You can optionally also submit your problem in [curl's + bug tracking system](https://github.com/curl/curl/issues). + + Please read the rest of this document below first before doing that. + + If you feel you need to ask around first, find a suitable [mailing + list](https://curl.se/mail/) and post your questions there. + +## Security bugs + + If you find a bug or problem in curl or libcurl that you think has a security + impact, for example a bug that can put users in danger or make them + vulnerable if the bug becomes public knowledge, then please report that bug + using our security development process. + + Security related bugs or bugs that are suspected to have a security impact, + should be reported on the [curl security tracker at + HackerOne](https://hackerone.com/curl). + + This ensures that the report reaches the curl security team so that they + first can deal with the report away from the public to minimize the harm and + impact it has on existing users out there who might be using the vulnerable + versions. + + The curl project's process for handling security related issues is + [documented separately](https://curl.se/dev/secprocess.html). + +## What to report + + When reporting a bug, you should include all information to help us + understand what is wrong, what you expected to happen and how to repeat the + bad behavior. You therefore need to tell us: + + - your operating system's name and version number + + - what version of curl you are using (`curl -V` is fine) + + - versions of the used libraries that libcurl is built to use + + - what URL you were working with (if possible), at least which protocol + + and anything and everything else you think matters. Tell us what you expected + to happen, tell use what did happen, tell us how you could make it work + another way. Dig around, try out, test. Then include all the tiny bits and + pieces in your report. You benefit from this yourself, as it enables us to + help you quicker and more accurately. + + Since curl deals with networks, it often helps us if you include a protocol + debug dump with your bug report. The output you get by using the `-v` or + `--trace` options. + + If curl crashed, causing a core dump (in Unix), there is hardly any use to + send that huge file to anyone of us. Unless we have the same system setup as + you, we cannot do much with it. Instead, we ask you to get a stack trace and + send that (much smaller) output to us instead. + + The address and how to subscribe to the mailing lists are detailed in the + `MANUAL.md` file. + +## libcurl problems + + When you have written your own application with libcurl to perform transfers, + it is even more important to be specific and detailed when reporting bugs. + + Tell us the libcurl version and your operating system. Tell us the name and + version of all relevant sub-components like for example the SSL library + you are using and what name resolving your libcurl uses. If you use SFTP or + SCP, the libssh2 version is relevant etc. + + Showing us a real source code example repeating your problem is the best way + to get our attention and it greatly increases our chances to understand your + problem and to work on a fix (if we agree it truly is a problem). + + Lots of problems that appear to be libcurl problems are actually just abuses + of the libcurl API or other malfunctions in your applications. It is advised + that you run your problematic program using a memory debug tool like valgrind + or similar before you post memory-related or "crashing" problems to us. + +## Who fixes the problems + + If the problems or bugs you describe are considered to be bugs, we want to + have the problems fixed. + + There are no developers in the curl project that are paid to work on bugs. + All developers that take on reported bugs do this on a voluntary basis. We do + it out of an ambition to keep curl and libcurl excellent products and out of + pride. + + Please do not assume that you can just lump over something to us and it then + magically gets fixed after some given time. Most often we need feedback and + help to understand what you have experienced and how to repeat a problem. + Then we may only be able to assist YOU to debug the problem and to track down + the proper fix. + + We get reports from many people every month and each report can take a + considerable amount of time to really go to the bottom with. + +## How to get a stack trace + + First, you must make sure that you compile all sources with `-g` and that you + do not 'strip' the final executable. Try to avoid optimizing the code as well, + remove `-O`, `-O2` etc from the compiler options. + + Run the program until it cores. + + Run your debugger on the core file, like ` curl core`. `` + should be replaced with the name of your debugger, in most cases that is + `gdb`, but `dbx` and others also occur. + + When the debugger has finished loading the core file and presents you a + prompt, enter `where` (without quotes) and press return. + + The list that is presented is the stack trace. If everything worked, it is + supposed to contain the chain of functions that were called when curl + crashed. Include the stack trace with your detailed bug report, it helps a + lot. + +## Bugs in libcurl bindings + + There are of course bugs in libcurl bindings. You should then primarily + approach the team that works on that particular binding and see what you can + do to help them fix the problem. + + If you suspect that the problem exists in the underlying libcurl, then please + convert your program over to plain C and follow the steps outlined above. + +## Bugs in old versions + + The curl project typically releases new versions every other month, and we + fix several hundred bugs per year. For a huge table of releases, number of + bug fixes and more, see: https://curl.se/docs/releases.html + + The developers in the curl project do not have bandwidth or energy enough to + maintain several branches or to spend much time on hunting down problems in + old versions when chances are we already fixed them or at least that they have + changed nature and appearance in later versions. + + When you experience a problem and want to report it, you really SHOULD + include the version number of the curl you are using when you experience the + issue. If that version number shows us that you are using an out-of-date curl, + you should also try out a modern curl version to see if the problem persists + or how/if it has changed in appearance. + + Even if you cannot immediately upgrade your application/system to run the + latest curl version, you can most often at least run a test version or + experimental build or similar, to get this confirmed or not. + + At times people insist that they cannot upgrade to a modern curl version, but + instead, they "just want the bug fixed". That is fine, just do not count on us + spending many cycles on trying to identify which single commit, if that is + even possible, that at some point in the past fixed the problem you are now + experiencing. + + Security wise, it is almost always a bad idea to lag behind the current curl + versions by a lot. We keep discovering and reporting security problems + over time see you can see in [this + table](https://curl.se/docs/vulnerabilities.html) + +# Bug fixing procedure + +## What happens on first filing + + When a new issue is posted in the issue tracker or on the mailing list, the + team of developers first needs to see the report. Maybe they took the day off, + maybe they are off in the woods hunting. Have patience. Allow at least a few + days before expecting someone to have responded. + + In the issue tracker, you can expect that some labels are set on the issue to + help categorize it. + +## First response + + If your issue/bug report was not perfect at once (and few are), chances are + that someone asks follow-up questions. Which version did you use? Which + options did you use? How often does the problem occur? How can we reproduce + this problem? Which protocols does it involve? Or perhaps much more specific + and deep diving questions. It all depends on your specific issue. + + You should then respond to these follow-up questions and provide more info + about the problem, so that we can help you figure it out. Or maybe you can + help us figure it out. An active back-and-forth communication is important + and the key for finding a cure and landing a fix. + +## Not reproducible + + We may require further work from you who actually see or experience the + problem if we cannot reproduce it and cannot understand it even after having + gotten all the info we need and having studied the source code over again. + +## Unresponsive + + If the problem have not been understood or reproduced, and there is nobody + responding to follow-up questions or questions asking for clarifications or + for discussing possible ways to move forward with the task, we take that as a + strong suggestion that the bug is unimportant. + + Unimportant issues are closed as inactive sooner or later as they cannot be + fixed. The inactivity period (waiting for responses) should not be shorter + than two weeks but may extend months. + +## Lack of time/interest + + Bugs that are filed and are understood can unfortunately end up in the + "nobody cares enough about it to work on it" category. Such bugs are + perfectly valid problems that *should* get fixed but apparently are not. We + try to mark such bugs as `KNOWN_BUGS material` after a time of inactivity and + if no activity is noticed after yet some time those bugs are added to the + `KNOWN_BUGS` document and are closed in the issue tracker. + +## `KNOWN_BUGS` + + This is a list of known bugs. Bugs we know exist and that have been pointed + out but that have not yet been fixed. The reasons for why they have not been + fixed can involve anything really, but the primary reason is that nobody has + considered these problems to be important enough to spend the necessary time + and effort to have them fixed. + + The `KNOWN_BUGS` items are always up for grabs and we love the ones who bring + one of them back to life and offer solutions to them. + + The `KNOWN_BUGS` document has a sibling document known as `TODO`. + +## `TODO` + + Issues that are filed or reported that are not really bugs but more missing + features or ideas for future improvements and so on are marked as + *enhancement* or *feature-request* and get added to the `TODO` document and + the issues are closed. We do not keep TODO items open in the issue tracker. + + The `TODO` document is full of ideas and suggestions of what we can add or + fix one day. You are always encouraged and free to grab one of those items and + take up a discussion with the curl development team on how that could be + implemented or provided in the project so that you can work on ticking it odd + that document. + + If an issue is rather a bug and not a missing feature or functionality, it is + listed in `KNOWN_BUGS` instead. + +## Closing off stalled bugs + + The [issue and pull request trackers](https://github.com/curl/curl) only hold + "active" entries open (using a non-precise definition of what active actually + is, but they are at least not completely dead). Those that are abandoned or + in other ways dormant are closed and sometimes added to `TODO` and + `KNOWN_BUGS` instead. + + This way, we only have "active" issues open on GitHub. Irrelevant issues and + pull requests do not distract developers or casual visitors. diff --git a/curl/docs/CIPHERS-TLS12.md b/curl/docs/CIPHERS-TLS12.md new file mode 100644 index 0000000..d67c62b --- /dev/null +++ b/curl/docs/CIPHERS-TLS12.md @@ -0,0 +1,336 @@ + + +# TLS 1.2 cipher suites + +| Id | IANA name | OpenSSL name | RFC | +|--------|-----------------------------------------------|------------------------------------|--------------------| +| 0x0001 | TLS_RSA_WITH_NULL_MD5 | NULL-MD5 | [RFC5246] | +| 0x0002 | TLS_RSA_WITH_NULL_SHA | NULL-SHA | [RFC5246] | +| 0x0003 | TLS_RSA_EXPORT_WITH_RC4_40_MD5 | EXP-RC4-MD5 | [RFC4346][RFC6347] | +| 0x0004 | TLS_RSA_WITH_RC4_128_MD5 | RC4-MD5 | [RFC5246][RFC6347] | +| 0x0005 | TLS_RSA_WITH_RC4_128_SHA | RC4-SHA | [RFC5246][RFC6347] | +| 0x0006 | TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 | EXP-RC2-CBC-MD5 | [RFC4346] | +| 0x0007 | TLS_RSA_WITH_IDEA_CBC_SHA | IDEA-CBC-SHA | [RFC8996] | +| 0x0008 | TLS_RSA_EXPORT_WITH_DES40_CBC_SHA | EXP-DES-CBC-SHA | [RFC4346] | +| 0x0009 | TLS_RSA_WITH_DES_CBC_SHA | DES-CBC-SHA | [RFC8996] | +| 0x000A | TLS_RSA_WITH_3DES_EDE_CBC_SHA | DES-CBC3-SHA | [RFC5246] | +| 0x000B | TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA | EXP-DH-DSS-DES-CBC-SHA | [RFC4346] | +| 0x000C | TLS_DH_DSS_WITH_DES_CBC_SHA | DH-DSS-DES-CBC-SHA | [RFC8996] | +| 0x000D | TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA | DH-DSS-DES-CBC3-SHA | [RFC5246] | +| 0x000E | TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA | EXP-DH-RSA-DES-CBC-SHA | [RFC4346] | +| 0x000F | TLS_DH_RSA_WITH_DES_CBC_SHA | DH-RSA-DES-CBC-SHA | [RFC8996] | +| 0x0010 | TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA | DH-RSA-DES-CBC3-SHA | [RFC5246] | +| 0x0011 | TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA | EXP-DHE-DSS-DES-CBC-SHA | [RFC4346] | +| 0x0012 | TLS_DHE_DSS_WITH_DES_CBC_SHA | DHE-DSS-DES-CBC-SHA | [RFC8996] | +| 0x0013 | TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA | DHE-DSS-DES-CBC3-SHA | [RFC5246] | +| 0x0014 | TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA | EXP-DHE-RSA-DES-CBC-SHA | [RFC4346] | +| 0x0015 | TLS_DHE_RSA_WITH_DES_CBC_SHA | DHE-RSA-DES-CBC-SHA | [RFC8996] | +| 0x0016 | TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA | DHE-RSA-DES-CBC3-SHA | [RFC5246] | +| 0x0017 | TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 | EXP-ADH-RC4-MD5 | [RFC4346][RFC6347] | +| 0x0018 | TLS_DH_anon_WITH_RC4_128_MD5 | ADH-RC4-MD5 | [RFC5246][RFC6347] | +| 0x0019 | TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA | EXP-ADH-DES-CBC-SHA | [RFC4346] | +| 0x001A | TLS_DH_anon_WITH_DES_CBC_SHA | ADH-DES-CBC-SHA | [RFC8996] | +| 0x001B | TLS_DH_anon_WITH_3DES_EDE_CBC_SHA | ADH-DES-CBC3-SHA | [RFC5246] | +| 0x001C | | FZA-NULL-SHA | | +| 0x001D | | FZA-FZA-CBC-SHA | | +| 0x001E | TLS_KRB5_WITH_DES_CBC_SHA | KRB5-DES-CBC-SHA | [RFC2712] | +| 0x001F | TLS_KRB5_WITH_3DES_EDE_CBC_SHA | KRB5-DES-CBC3-SHA | [RFC2712] | +| 0x0020 | TLS_KRB5_WITH_RC4_128_SHA | KRB5-RC4-SHA | [RFC2712][RFC6347] | +| 0x0021 | TLS_KRB5_WITH_IDEA_CBC_SHA | KRB5-IDEA-CBC-SHA | [RFC2712] | +| 0x0022 | TLS_KRB5_WITH_DES_CBC_MD5 | KRB5-DES-CBC-MD5 | [RFC2712] | +| 0x0023 | TLS_KRB5_WITH_3DES_EDE_CBC_MD5 | KRB5-DES-CBC3-MD5 | [RFC2712] | +| 0x0024 | TLS_KRB5_WITH_RC4_128_MD5 | KRB5-RC4-MD5 | [RFC2712][RFC6347] | +| 0x0025 | TLS_KRB5_WITH_IDEA_CBC_MD5 | KRB5-IDEA-CBC-MD5 | [RFC2712] | +| 0x0026 | TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA | EXP-KRB5-DES-CBC-SHA | [RFC2712] | +| 0x0027 | TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA | EXP-KRB5-RC2-CBC-SHA | [RFC2712] | +| 0x0028 | TLS_KRB5_EXPORT_WITH_RC4_40_SHA | EXP-KRB5-RC4-SHA | [RFC2712][RFC6347] | +| 0x0029 | TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 | EXP-KRB5-DES-CBC-MD5 | [RFC2712] | +| 0x002A | TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 | EXP-KRB5-RC2-CBC-MD5 | [RFC2712] | +| 0x002B | TLS_KRB5_EXPORT_WITH_RC4_40_MD5 | EXP-KRB5-RC4-MD5 | [RFC2712][RFC6347] | +| 0x002C | TLS_PSK_WITH_NULL_SHA | PSK-NULL-SHA | [RFC4785] | +| 0x002D | TLS_DHE_PSK_WITH_NULL_SHA | DHE-PSK-NULL-SHA | [RFC4785] | +| 0x002E | TLS_RSA_PSK_WITH_NULL_SHA | RSA-PSK-NULL-SHA | [RFC4785] | +| 0x002F | TLS_RSA_WITH_AES_128_CBC_SHA | AES128-SHA | [RFC5246] | +| 0x0030 | TLS_DH_DSS_WITH_AES_128_CBC_SHA | DH-DSS-AES128-SHA | [RFC5246] | +| 0x0031 | TLS_DH_RSA_WITH_AES_128_CBC_SHA | DH-RSA-AES128-SHA | [RFC5246] | +| 0x0032 | TLS_DHE_DSS_WITH_AES_128_CBC_SHA | DHE-DSS-AES128-SHA | [RFC5246] | +| 0x0033 | TLS_DHE_RSA_WITH_AES_128_CBC_SHA | DHE-RSA-AES128-SHA | [RFC5246] | +| 0x0034 | TLS_DH_anon_WITH_AES_128_CBC_SHA | ADH-AES128-SHA | [RFC5246] | +| 0x0035 | TLS_RSA_WITH_AES_256_CBC_SHA | AES256-SHA | [RFC5246] | +| 0x0036 | TLS_DH_DSS_WITH_AES_256_CBC_SHA | DH-DSS-AES256-SHA | [RFC5246] | +| 0x0037 | TLS_DH_RSA_WITH_AES_256_CBC_SHA | DH-RSA-AES256-SHA | [RFC5246] | +| 0x0038 | TLS_DHE_DSS_WITH_AES_256_CBC_SHA | DHE-DSS-AES256-SHA | [RFC5246] | +| 0x0039 | TLS_DHE_RSA_WITH_AES_256_CBC_SHA | DHE-RSA-AES256-SHA | [RFC5246] | +| 0x003A | TLS_DH_anon_WITH_AES_256_CBC_SHA | ADH-AES256-SHA | [RFC5246] | +| 0x003B | TLS_RSA_WITH_NULL_SHA256 | NULL-SHA256 | [RFC5246] | +| 0x003C | TLS_RSA_WITH_AES_128_CBC_SHA256 | AES128-SHA256 | [RFC5246] | +| 0x003D | TLS_RSA_WITH_AES_256_CBC_SHA256 | AES256-SHA256 | [RFC5246] | +| 0x003E | TLS_DH_DSS_WITH_AES_128_CBC_SHA256 | DH-DSS-AES128-SHA256 | [RFC5246] | +| 0x003F | TLS_DH_RSA_WITH_AES_128_CBC_SHA256 | DH-RSA-AES128-SHA256 | [RFC5246] | +| 0x0040 | TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | DHE-DSS-AES128-SHA256 | [RFC5246] | +| 0x0041 | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA | CAMELLIA128-SHA | [RFC5932] | +| 0x0042 | TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA | DH-DSS-CAMELLIA128-SHA | [RFC5932] | +| 0x0043 | TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA | DH-RSA-CAMELLIA128-SHA | [RFC5932] | +| 0x0044 | TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA | DHE-DSS-CAMELLIA128-SHA | [RFC5932] | +| 0x0045 | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA | DHE-RSA-CAMELLIA128-SHA | [RFC5932] | +| 0x0046 | TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA | ADH-CAMELLIA128-SHA | [RFC5932] | +| 0x0060 | | EXP1024-RC4-MD5 | | +| 0x0061 | | EXP1024-RC2-CBC-MD5 | | +| 0x0062 | | EXP1024-DES-CBC-SHA | | +| 0x0063 | | EXP1024-DHE-DSS-DES-CBC-SHA | | +| 0x0064 | | EXP1024-RC4-SHA | | +| 0x0065 | | EXP1024-DHE-DSS-RC4-SHA | | +| 0x0066 | | DHE-DSS-RC4-SHA | | +| 0x0067 | TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | DHE-RSA-AES128-SHA256 | [RFC5246] | +| 0x0068 | TLS_DH_DSS_WITH_AES_256_CBC_SHA256 | DH-DSS-AES256-SHA256 | [RFC5246] | +| 0x0069 | TLS_DH_RSA_WITH_AES_256_CBC_SHA256 | DH-RSA-AES256-SHA256 | [RFC5246] | +| 0x006A | TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | DHE-DSS-AES256-SHA256 | [RFC5246] | +| 0x006B | TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 | DHE-RSA-AES256-SHA256 | [RFC5246] | +| 0x006C | TLS_DH_anon_WITH_AES_128_CBC_SHA256 | ADH-AES128-SHA256 | [RFC5246] | +| 0x006D | TLS_DH_anon_WITH_AES_256_CBC_SHA256 | ADH-AES256-SHA256 | [RFC5246] | +| 0x0080 | | GOST94-GOST89-GOST89 | | +| 0x0081 | | GOST2001-GOST89-GOST89 | | +| 0x0082 | | GOST94-NULL-GOST94 | | +| 0x0083 | | GOST2001-NULL-GOST94 | | +| 0x0084 | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA | CAMELLIA256-SHA | [RFC5932] | +| 0x0085 | TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA | DH-DSS-CAMELLIA256-SHA | [RFC5932] | +| 0x0086 | TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA | DH-RSA-CAMELLIA256-SHA | [RFC5932] | +| 0x0087 | TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA | DHE-DSS-CAMELLIA256-SHA | [RFC5932] | +| 0x0088 | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA | DHE-RSA-CAMELLIA256-SHA | [RFC5932] | +| 0x0089 | TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA | ADH-CAMELLIA256-SHA | [RFC5932] | +| 0x008A | TLS_PSK_WITH_RC4_128_SHA | PSK-RC4-SHA | [RFC4279][RFC6347] | +| 0x008B | TLS_PSK_WITH_3DES_EDE_CBC_SHA | PSK-3DES-EDE-CBC-SHA | [RFC4279] | +| 0x008C | TLS_PSK_WITH_AES_128_CBC_SHA | PSK-AES128-CBC-SHA | [RFC4279] | +| 0x008D | TLS_PSK_WITH_AES_256_CBC_SHA | PSK-AES256-CBC-SHA | [RFC4279] | +| 0x008E | TLS_DHE_PSK_WITH_RC4_128_SHA | DHE-PSK-RC4-SHA | [RFC4279][RFC6347] | +| 0x008F | TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA | DHE-PSK-3DES-EDE-CBC-SHA | [RFC4279] | +| 0x0090 | TLS_DHE_PSK_WITH_AES_128_CBC_SHA | DHE-PSK-AES128-CBC-SHA | [RFC4279] | +| 0x0091 | TLS_DHE_PSK_WITH_AES_256_CBC_SHA | DHE-PSK-AES256-CBC-SHA | [RFC4279] | +| 0x0092 | TLS_RSA_PSK_WITH_RC4_128_SHA | RSA-PSK-RC4-SHA | [RFC4279][RFC6347] | +| 0x0093 | TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA | RSA-PSK-3DES-EDE-CBC-SHA | [RFC4279] | +| 0x0094 | TLS_RSA_PSK_WITH_AES_128_CBC_SHA | RSA-PSK-AES128-CBC-SHA | [RFC4279] | +| 0x0095 | TLS_RSA_PSK_WITH_AES_256_CBC_SHA | RSA-PSK-AES256-CBC-SHA | [RFC4279] | +| 0x0096 | TLS_RSA_WITH_SEED_CBC_SHA | SEED-SHA | [RFC4162] | +| 0x0097 | TLS_DH_DSS_WITH_SEED_CBC_SHA | DH-DSS-SEED-SHA | [RFC4162] | +| 0x0098 | TLS_DH_RSA_WITH_SEED_CBC_SHA | DH-RSA-SEED-SHA | [RFC4162] | +| 0x0099 | TLS_DHE_DSS_WITH_SEED_CBC_SHA | DHE-DSS-SEED-SHA | [RFC4162] | +| 0x009A | TLS_DHE_RSA_WITH_SEED_CBC_SHA | DHE-RSA-SEED-SHA | [RFC4162] | +| 0x009B | TLS_DH_anon_WITH_SEED_CBC_SHA | ADH-SEED-SHA | [RFC4162] | +| 0x009C | TLS_RSA_WITH_AES_128_GCM_SHA256 | AES128-GCM-SHA256 | [RFC5288] | +| 0x009D | TLS_RSA_WITH_AES_256_GCM_SHA384 | AES256-GCM-SHA384 | [RFC5288] | +| 0x009E | TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | DHE-RSA-AES128-GCM-SHA256 | [RFC5288] | +| 0x009F | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | DHE-RSA-AES256-GCM-SHA384 | [RFC5288] | +| 0x00A0 | TLS_DH_RSA_WITH_AES_128_GCM_SHA256 | DH-RSA-AES128-GCM-SHA256 | [RFC5288] | +| 0x00A1 | TLS_DH_RSA_WITH_AES_256_GCM_SHA384 | DH-RSA-AES256-GCM-SHA384 | [RFC5288] | +| 0x00A2 | TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 | DHE-DSS-AES128-GCM-SHA256 | [RFC5288] | +| 0x00A3 | TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 | DHE-DSS-AES256-GCM-SHA384 | [RFC5288] | +| 0x00A4 | TLS_DH_DSS_WITH_AES_128_GCM_SHA256 | DH-DSS-AES128-GCM-SHA256 | [RFC5288] | +| 0x00A5 | TLS_DH_DSS_WITH_AES_256_GCM_SHA384 | DH-DSS-AES256-GCM-SHA384 | [RFC5288] | +| 0x00A6 | TLS_DH_anon_WITH_AES_128_GCM_SHA256 | ADH-AES128-GCM-SHA256 | [RFC5288] | +| 0x00A7 | TLS_DH_anon_WITH_AES_256_GCM_SHA384 | ADH-AES256-GCM-SHA384 | [RFC5288] | +| 0x00A8 | TLS_PSK_WITH_AES_128_GCM_SHA256 | PSK-AES128-GCM-SHA256 | [RFC5487] | +| 0x00A9 | TLS_PSK_WITH_AES_256_GCM_SHA384 | PSK-AES256-GCM-SHA384 | [RFC5487] | +| 0x00AA | TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 | DHE-PSK-AES128-GCM-SHA256 | [RFC5487] | +| 0x00AB | TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 | DHE-PSK-AES256-GCM-SHA384 | [RFC5487] | +| 0x00AC | TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 | RSA-PSK-AES128-GCM-SHA256 | [RFC5487] | +| 0x00AD | TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 | RSA-PSK-AES256-GCM-SHA384 | [RFC5487] | +| 0x00AE | TLS_PSK_WITH_AES_128_CBC_SHA256 | PSK-AES128-CBC-SHA256 | [RFC5487] | +| 0x00AF | TLS_PSK_WITH_AES_256_CBC_SHA384 | PSK-AES256-CBC-SHA384 | [RFC5487] | +| 0x00B0 | TLS_PSK_WITH_NULL_SHA256 | PSK-NULL-SHA256 | [RFC5487] | +| 0x00B1 | TLS_PSK_WITH_NULL_SHA384 | PSK-NULL-SHA384 | [RFC5487] | +| 0x00B2 | TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 | DHE-PSK-AES128-CBC-SHA256 | [RFC5487] | +| 0x00B3 | TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 | DHE-PSK-AES256-CBC-SHA384 | [RFC5487] | +| 0x00B4 | TLS_DHE_PSK_WITH_NULL_SHA256 | DHE-PSK-NULL-SHA256 | [RFC5487] | +| 0x00B5 | TLS_DHE_PSK_WITH_NULL_SHA384 | DHE-PSK-NULL-SHA384 | [RFC5487] | +| 0x00B6 | TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 | RSA-PSK-AES128-CBC-SHA256 | [RFC5487] | +| 0x00B7 | TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 | RSA-PSK-AES256-CBC-SHA384 | [RFC5487] | +| 0x00B8 | TLS_RSA_PSK_WITH_NULL_SHA256 | RSA-PSK-NULL-SHA256 | [RFC5487] | +| 0x00B9 | TLS_RSA_PSK_WITH_NULL_SHA384 | RSA-PSK-NULL-SHA384 | [RFC5487] | +| 0x00BA | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 | CAMELLIA128-SHA256 | [RFC5932] | +| 0x00BD | TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 | DHE-DSS-CAMELLIA128-SHA256 | [RFC5932] | +| 0x00BE | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 | DHE-RSA-CAMELLIA128-SHA256 | [RFC5932] | +| 0x00BF | TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 | ADH-CAMELLIA128-SHA256 | [RFC5932] | +| 0x00C0 | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 | CAMELLIA256-SHA256 | [RFC5932] | +| 0x00C3 | TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 | DHE-DSS-CAMELLIA256-SHA256 | [RFC5932] | +| 0x00C4 | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 | DHE-RSA-CAMELLIA256-SHA256 | [RFC5932] | +| 0x00C5 | TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 | ADH-CAMELLIA256-SHA256 | [RFC5932] | +| 0x00FF | TLS_EMPTY_RENEGOTIATION_INFO_SCSV | | [RFC5746] | +| 0x5600 | TLS_FALLBACK_SCSV | | [RFC7507] | +| 0xC001 | TLS_ECDH_ECDSA_WITH_NULL_SHA | ECDH-ECDSA-NULL-SHA | [RFC8422] | +| 0xC002 | TLS_ECDH_ECDSA_WITH_RC4_128_SHA | ECDH-ECDSA-RC4-SHA | [RFC8422][RFC6347] | +| 0xC003 | TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA | ECDH-ECDSA-DES-CBC3-SHA | [RFC8422] | +| 0xC004 | TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA | ECDH-ECDSA-AES128-SHA | [RFC8422] | +| 0xC005 | TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA | ECDH-ECDSA-AES256-SHA | [RFC8422] | +| 0xC006 | TLS_ECDHE_ECDSA_WITH_NULL_SHA | ECDHE-ECDSA-NULL-SHA | [RFC8422] | +| 0xC007 | TLS_ECDHE_ECDSA_WITH_RC4_128_SHA | ECDHE-ECDSA-RC4-SHA | [RFC8422][RFC6347] | +| 0xC008 | TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA | ECDHE-ECDSA-DES-CBC3-SHA | [RFC8422] | +| 0xC009 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | ECDHE-ECDSA-AES128-SHA | [RFC8422] | +| 0xC00A | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | ECDHE-ECDSA-AES256-SHA | [RFC8422] | +| 0xC00B | TLS_ECDH_RSA_WITH_NULL_SHA | ECDH-RSA-NULL-SHA | [RFC8422] | +| 0xC00C | TLS_ECDH_RSA_WITH_RC4_128_SHA | ECDH-RSA-RC4-SHA | [RFC8422][RFC6347] | +| 0xC00D | TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA | ECDH-RSA-DES-CBC3-SHA | [RFC8422] | +| 0xC00E | TLS_ECDH_RSA_WITH_AES_128_CBC_SHA | ECDH-RSA-AES128-SHA | [RFC8422] | +| 0xC00F | TLS_ECDH_RSA_WITH_AES_256_CBC_SHA | ECDH-RSA-AES256-SHA | [RFC8422] | +| 0xC010 | TLS_ECDHE_RSA_WITH_NULL_SHA | ECDHE-RSA-NULL-SHA | [RFC8422] | +| 0xC011 | TLS_ECDHE_RSA_WITH_RC4_128_SHA | ECDHE-RSA-RC4-SHA | [RFC8422][RFC6347] | +| 0xC012 | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA | ECDHE-RSA-DES-CBC3-SHA | [RFC8422] | +| 0xC013 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | ECDHE-RSA-AES128-SHA | [RFC8422] | +| 0xC014 | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | ECDHE-RSA-AES256-SHA | [RFC8422] | +| 0xC015 | TLS_ECDH_anon_WITH_NULL_SHA | AECDH-NULL-SHA | [RFC8422] | +| 0xC016 | TLS_ECDH_anon_WITH_RC4_128_SHA | AECDH-RC4-SHA | [RFC8422][RFC6347] | +| 0xC017 | TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA | AECDH-DES-CBC3-SHA | [RFC8422] | +| 0xC018 | TLS_ECDH_anon_WITH_AES_128_CBC_SHA | AECDH-AES128-SHA | [RFC8422] | +| 0xC019 | TLS_ECDH_anon_WITH_AES_256_CBC_SHA | AECDH-AES256-SHA | [RFC8422] | +| 0xC01A | TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA | SRP-3DES-EDE-CBC-SHA | [RFC5054] | +| 0xC01B | TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA | SRP-RSA-3DES-EDE-CBC-SHA | [RFC5054] | +| 0xC01C | TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA | SRP-DSS-3DES-EDE-CBC-SHA | [RFC5054] | +| 0xC01D | TLS_SRP_SHA_WITH_AES_128_CBC_SHA | SRP-AES-128-CBC-SHA | [RFC5054] | +| 0xC01E | TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA | SRP-RSA-AES-128-CBC-SHA | [RFC5054] | +| 0xC01F | TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA | SRP-DSS-AES-128-CBC-SHA | [RFC5054] | +| 0xC020 | TLS_SRP_SHA_WITH_AES_256_CBC_SHA | SRP-AES-256-CBC-SHA | [RFC5054] | +| 0xC021 | TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA | SRP-RSA-AES-256-CBC-SHA | [RFC5054] | +| 0xC022 | TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA | SRP-DSS-AES-256-CBC-SHA | [RFC5054] | +| 0xC023 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | ECDHE-ECDSA-AES128-SHA256 | [RFC5289] | +| 0xC024 | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 | ECDHE-ECDSA-AES256-SHA384 | [RFC5289] | +| 0xC025 | TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 | ECDH-ECDSA-AES128-SHA256 | [RFC5289] | +| 0xC026 | TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 | ECDH-ECDSA-AES256-SHA384 | [RFC5289] | +| 0xC027 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | ECDHE-RSA-AES128-SHA256 | [RFC5289] | +| 0xC028 | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | ECDHE-RSA-AES256-SHA384 | [RFC5289] | +| 0xC029 | TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 | ECDH-RSA-AES128-SHA256 | [RFC5289] | +| 0xC02A | TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 | ECDH-RSA-AES256-SHA384 | [RFC5289] | +| 0xC02B | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | ECDHE-ECDSA-AES128-GCM-SHA256 | [RFC5289] | +| 0xC02C | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | ECDHE-ECDSA-AES256-GCM-SHA384 | [RFC5289] | +| 0xC02D | TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 | ECDH-ECDSA-AES128-GCM-SHA256 | [RFC5289] | +| 0xC02E | TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 | ECDH-ECDSA-AES256-GCM-SHA384 | [RFC5289] | +| 0xC02F | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | ECDHE-RSA-AES128-GCM-SHA256 | [RFC5289] | +| 0xC030 | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | ECDHE-RSA-AES256-GCM-SHA384 | [RFC5289] | +| 0xC031 | TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 | ECDH-RSA-AES128-GCM-SHA256 | [RFC5289] | +| 0xC032 | TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 | ECDH-RSA-AES256-GCM-SHA384 | [RFC5289] | +| 0xC033 | TLS_ECDHE_PSK_WITH_RC4_128_SHA | ECDHE-PSK-RC4-SHA | [RFC5489][RFC6347] | +| 0xC034 | TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA | ECDHE-PSK-3DES-EDE-CBC-SHA | [RFC5489] | +| 0xC035 | TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA | ECDHE-PSK-AES128-CBC-SHA | [RFC5489] | +| 0xC036 | TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA | ECDHE-PSK-AES256-CBC-SHA | [RFC5489] | +| 0xC037 | TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 | ECDHE-PSK-AES128-CBC-SHA256 | [RFC5489] | +| 0xC038 | TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 | ECDHE-PSK-AES256-CBC-SHA384 | [RFC5489] | +| 0xC039 | TLS_ECDHE_PSK_WITH_NULL_SHA | ECDHE-PSK-NULL-SHA | [RFC5489] | +| 0xC03A | TLS_ECDHE_PSK_WITH_NULL_SHA256 | ECDHE-PSK-NULL-SHA256 | [RFC5489] | +| 0xC03B | TLS_ECDHE_PSK_WITH_NULL_SHA384 | ECDHE-PSK-NULL-SHA384 | [RFC5489] | +| 0xC03C | TLS_RSA_WITH_ARIA_128_CBC_SHA256 | ARIA128-SHA256 | [RFC6209] | +| 0xC03D | TLS_RSA_WITH_ARIA_256_CBC_SHA384 | ARIA256-SHA384 | [RFC6209] | +| 0xC044 | TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 | DHE-RSA-ARIA128-SHA256 | [RFC6209] | +| 0xC045 | TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 | DHE-RSA-ARIA256-SHA384 | [RFC6209] | +| 0xC048 | TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 | ECDHE-ECDSA-ARIA128-SHA256 | [RFC6209] | +| 0xC049 | TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 | ECDHE-ECDSA-ARIA256-SHA384 | [RFC6209] | +| 0xC04A | TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 | ECDH-ECDSA-ARIA128-SHA256 | [RFC6209] | +| 0xC04B | TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 | ECDH-ECDSA-ARIA256-SHA384 | [RFC6209] | +| 0xC04C | TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 | ECDHE-ARIA128-SHA256 | [RFC6209] | +| 0xC04D | TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 | ECDHE-ARIA256-SHA384 | [RFC6209] | +| 0xC04E | TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 | ECDH-ARIA128-SHA256 | [RFC6209] | +| 0xC04F | TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 | ECDH-ARIA256-SHA384 | [RFC6209] | +| 0xC050 | TLS_RSA_WITH_ARIA_128_GCM_SHA256 | ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC051 | TLS_RSA_WITH_ARIA_256_GCM_SHA384 | ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC052 | TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 | DHE-RSA-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC053 | TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 | DHE-RSA-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC056 | TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 | DHE-DSS-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC057 | TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 | DHE-DSS-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC05C | TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 | ECDHE-ECDSA-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC05D | TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 | ECDHE-ECDSA-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC05E | TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 | ECDH-ECDSA-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC05F | TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 | ECDH-ECDSA-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC060 | TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 | ECDHE-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC061 | TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 | ECDHE-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC062 | TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 | ECDH-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC063 | TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 | ECDH-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC064 | TLS_PSK_WITH_ARIA_128_CBC_SHA256 | PSK-ARIA128-SHA256 | [RFC6209] | +| 0xC065 | TLS_PSK_WITH_ARIA_256_CBC_SHA384 | PSK-ARIA256-SHA384 | [RFC6209] | +| 0xC066 | TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 | DHE-PSK-ARIA128-SHA256 | [RFC6209] | +| 0xC067 | TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 | DHE-PSK-ARIA256-SHA384 | [RFC6209] | +| 0xC068 | TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 | RSA-PSK-ARIA128-SHA256 | [RFC6209] | +| 0xC069 | TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 | RSA-PSK-ARIA256-SHA384 | [RFC6209] | +| 0xC06A | TLS_PSK_WITH_ARIA_128_GCM_SHA256 | PSK-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC06B | TLS_PSK_WITH_ARIA_256_GCM_SHA384 | PSK-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC06C | TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 | DHE-PSK-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC06D | TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 | DHE-PSK-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC06E | TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 | RSA-PSK-ARIA128-GCM-SHA256 | [RFC6209] | +| 0xC06F | TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 | RSA-PSK-ARIA256-GCM-SHA384 | [RFC6209] | +| 0xC070 | TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 | ECDHE-PSK-ARIA128-SHA256 | [RFC6209] | +| 0xC071 | TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 | ECDHE-PSK-ARIA256-SHA384 | [RFC6209] | +| 0xC072 | TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 | ECDHE-ECDSA-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC073 | TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 | ECDHE-ECDSA-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC074 | TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 | ECDH-ECDSA-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC075 | TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 | ECDH-ECDSA-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC076 | TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 | ECDHE-RSA-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC077 | TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 | ECDHE-RSA-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC078 | TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 | ECDH-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC079 | TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 | ECDH-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC07A | TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 | CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC07B | TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 | CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC07C | TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 | DHE-RSA-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC07D | TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 | DHE-RSA-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC086 | TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 | ECDHE-ECDSA-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC087 | TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 | ECDHE-ECDSA-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC088 | TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 | ECDH-ECDSA-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC089 | TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 | ECDH-ECDSA-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC08A | TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 | ECDHE-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC08B | TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 | ECDHE-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC08C | TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 | ECDH-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC08D | TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 | ECDH-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC08E | TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 | PSK-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC08F | TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 | PSK-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC090 | TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 | DHE-PSK-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC091 | TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 | DHE-PSK-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC092 | TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 | RSA-PSK-CAMELLIA128-GCM-SHA256 | [RFC6367] | +| 0xC093 | TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 | RSA-PSK-CAMELLIA256-GCM-SHA384 | [RFC6367] | +| 0xC094 | TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 | PSK-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC095 | TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 | PSK-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC096 | TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 | DHE-PSK-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC097 | TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 | DHE-PSK-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC098 | TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 | RSA-PSK-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC099 | TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 | RSA-PSK-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC09A | TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 | ECDHE-PSK-CAMELLIA128-SHA256 | [RFC6367] | +| 0xC09B | TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 | ECDHE-PSK-CAMELLIA256-SHA384 | [RFC6367] | +| 0xC09C | TLS_RSA_WITH_AES_128_CCM | AES128-CCM | [RFC6655] | +| 0xC09D | TLS_RSA_WITH_AES_256_CCM | AES256-CCM | [RFC6655] | +| 0xC09E | TLS_DHE_RSA_WITH_AES_128_CCM | DHE-RSA-AES128-CCM | [RFC6655] | +| 0xC09F | TLS_DHE_RSA_WITH_AES_256_CCM | DHE-RSA-AES256-CCM | [RFC6655] | +| 0xC0A0 | TLS_RSA_WITH_AES_128_CCM_8 | AES128-CCM8 | [RFC6655] | +| 0xC0A1 | TLS_RSA_WITH_AES_256_CCM_8 | AES256-CCM8 | [RFC6655] | +| 0xC0A2 | TLS_DHE_RSA_WITH_AES_128_CCM_8 | DHE-RSA-AES128-CCM8 | [RFC6655] | +| 0xC0A3 | TLS_DHE_RSA_WITH_AES_256_CCM_8 | DHE-RSA-AES256-CCM8 | [RFC6655] | +| 0xC0A4 | TLS_PSK_WITH_AES_128_CCM | PSK-AES128-CCM | [RFC6655] | +| 0xC0A5 | TLS_PSK_WITH_AES_256_CCM | PSK-AES256-CCM | [RFC6655] | +| 0xC0A6 | TLS_DHE_PSK_WITH_AES_128_CCM | DHE-PSK-AES128-CCM | [RFC6655] | +| 0xC0A7 | TLS_DHE_PSK_WITH_AES_256_CCM | DHE-PSK-AES256-CCM | [RFC6655] | +| 0xC0A8 | TLS_PSK_WITH_AES_128_CCM_8 | PSK-AES128-CCM8 | [RFC6655] | +| 0xC0A9 | TLS_PSK_WITH_AES_256_CCM_8 | PSK-AES256-CCM8 | [RFC6655] | +| 0xC0AA | TLS_PSK_DHE_WITH_AES_128_CCM_8 | DHE-PSK-AES128-CCM8 | [RFC6655] | +| 0xC0AB | TLS_PSK_DHE_WITH_AES_256_CCM_8 | DHE-PSK-AES256-CCM8 | [RFC6655] | +| 0xC0AC | TLS_ECDHE_ECDSA_WITH_AES_128_CCM | ECDHE-ECDSA-AES128-CCM | [RFC7251] | +| 0xC0AD | TLS_ECDHE_ECDSA_WITH_AES_256_CCM | ECDHE-ECDSA-AES256-CCM | [RFC7251] | +| 0xC0AE | TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 | ECDHE-ECDSA-AES128-CCM8 | [RFC7251] | +| 0xC0AF | TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 | ECDHE-ECDSA-AES256-CCM8 | [RFC7251] | +| 0xC100 | TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC | GOST2012-KUZNYECHIK-KUZNYECHIKOMAC | [RFC9189] | +| 0xC101 | TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC | GOST2012-MAGMA-MAGMAOMAC | [RFC9189] | +| 0xC102 | TLS_GOSTR341112_256_WITH_28147_CNT_IMIT | IANA-GOST2012-GOST8912-GOST8912 | [RFC9189] | +| 0xCC13 | | ECDHE-RSA-CHACHA20-POLY1305-OLD | | +| 0xCC14 | | ECDHE-ECDSA-CHACHA20-POLY1305-OLD | | +| 0xCC15 | | DHE-RSA-CHACHA20-POLY1305-OLD | | +| 0xCCA8 | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | ECDHE-RSA-CHACHA20-POLY1305 | [RFC7905] | +| 0xCCA9 | TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | ECDHE-ECDSA-CHACHA20-POLY1305 | [RFC7905] | +| 0xCCAA | TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | DHE-RSA-CHACHA20-POLY1305 | [RFC7905] | +| 0xCCAB | TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 | PSK-CHACHA20-POLY1305 | [RFC7905] | +| 0xCCAC | TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | ECDHE-PSK-CHACHA20-POLY1305 | [RFC7905] | +| 0xCCAD | TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | DHE-PSK-CHACHA20-POLY1305 | [RFC7905] | +| 0xCCAE | TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 | RSA-PSK-CHACHA20-POLY1305 | [RFC7905] | +| 0xD001 | TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 | ECDHE-PSK-AES128-GCM-SHA256 | [RFC8442] | +| 0xE011 | | ECDHE-ECDSA-SM4-CBC-SM3 | | +| 0xE051 | | ECDHE-ECDSA-SM4-GCM-SM3 | | +| 0xE052 | | ECDHE-ECDSA-SM4-CCM-SM3 | | +| 0xFF00 | | GOST-MD5 | | +| 0xFF01 | | GOST-GOST94 | | +| 0xFF02 | | GOST-GOST89MAC | | +| 0xFF03 | | GOST-GOST89STREAM | | diff --git a/curl/docs/CIPHERS.md b/curl/docs/CIPHERS.md new file mode 100644 index 0000000..8a8bc3d --- /dev/null +++ b/curl/docs/CIPHERS.md @@ -0,0 +1,273 @@ + + +## curl cipher options + +A TLS handshake involves many parameters which take part in the negotiation +between client and server in order to agree on the TLS version and set of +algorithms to use for a connection. + +What has become known as a "cipher" or better "cipher suite" in TLS +are names for specific combinations of +[key exchange](https://en.wikipedia.org/wiki/Key_exchange), +[bulk encryption](https://en.wikipedia.org/wiki/Link_encryption), +[message authentication code](https://en.wikipedia.org/wiki/Message_authentication_code) +and with TLSv1.3 the +[authenticated encryption](https://en.wikipedia.org/wiki/Authenticated_encryption). +In addition, there are other parameters that influence the TLS handshake, like +[DHE](https://en.wikipedia.org/wiki/Diffie%e2%80%93Hellman_key_exchange) "groups" +and [ECDHE](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%e2%80%93Hellman) +with its "curves". + +### History + +curl's way of letting users configure these settings closely followed OpenSSL +in its API. TLS learned new parameters, OpenSSL added new API functions and +curl added command line options. + +Several other TLS backends followed the OpenSSL approach, more or less closely, +and curl maps the command line options to these TLS backends. Some TLS +backends do not support all of it and command line options are either +ignored or lead to an error. + +Many examples below show the OpenSSL-like use of these options. GnuTLS +however chose a different approach. These are described in a separate +section further below. + +## ciphers, the OpenSSL way + +With curl's option +[`--tls13-ciphers`](https://curl.se/docs/manpage.html#--tls13-ciphers) +or +[`CURLOPT_TLS13_CIPHERS`](https://curl.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html) +users can control which cipher suites to consider when negotiating TLS 1.3 +connections. With option +[`--ciphers`](https://curl.se/docs/manpage.html#--ciphers) +or +[`CURLOPT_SSL_CIPHER_LIST`](https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html) +users can control which cipher suites to consider when negotiating +TLS 1.2 (1.1, 1.0) connections. + +By default, curl may negotiate TLS 1.3 and TLS 1.2 connections, so the cipher +suites considered when negotiating a TLS connection are a union of the TLS 1.3 +and TLS 1.2 cipher suites. If you want curl to consider only TLS 1.3 cipher +suites for the connection, you have to set the minimum TLS version to 1.3 by +using [`--tlsv1.3`](https://curl.se/docs/manpage.html#--tlsv13) +or [`CURLOPT_SSLVERSION`](https://curl.se/libcurl/c/CURLOPT_SSLVERSION.html) +with `CURL_SSLVERSION_TLSv1_3`. + +Both the TLS 1.3 and TLS 1.2 cipher options expect a list of cipher suites +separated by colons (`:`). This list is parsed opportunistically, cipher suites +that are not recognized or implemented are ignored. As long as there is at +least one recognized cipher suite in the list, the list is considered valid. + +For both the TLS 1.3 and TLS 1.2 cipher options, the order in which the +cipher suites are specified determine the preference of them. When negotiating +a TLS connection the server picks a cipher suite from the intersection of the +cipher suites supported by the server and the cipher suites sent by curl. If +the server is configured to honor the client's cipher preference, the first +common cipher suite in the list sent by curl is chosen. + +### TLS 1.3 cipher suites + +Setting TLS 1.3 cipher suites is supported by curl with +OpenSSL (1.1.1+, curl 7.61.0+), LibreSSL (3.4.1+, curl 8.3.0+), +wolfSSL (curl 8.10.0+) and mbedTLS (3.6.0+, curl 8.10.0+). + +The list of cipher suites that can be used for the `--tls13-ciphers` option: +``` +TLS_AES_128_GCM_SHA256 +TLS_AES_256_GCM_SHA384 +TLS_CHACHA20_POLY1305_SHA256 +TLS_AES_128_CCM_SHA256 +TLS_AES_128_CCM_8_SHA256 +``` + +#### wolfSSL notes + +In addition to above list the following cipher suites can be used: +`TLS_SM4_GCM_SM3` `TLS_SM4_CCM_SM3` `TLS_SHA256_SHA256` `TLS_SHA384_SHA384`. +Usage of these cipher suites is not recommended. (The last two cipher suites +are NULL ciphers, offering no encryption whatsoever.) + +### TLS 1.2 (1.1, 1.0) cipher suites + +Setting TLS 1.2 cipher suites is supported by curl with OpenSSL, LibreSSL, +BoringSSL, mbedTLS (curl 8.8.0+), wolfSSL (curl 7.53.0+), +Secure Transport (curl 7.77.0+) and BearSSL (curl 7.83.0+). Schannel does not +support setting cipher suites directly, but does support setting algorithms +(curl 7.61.0+), see Schannel notes below. + +For TLS 1.2 cipher suites there are multiple naming schemes, the two most used +are with OpenSSL names (e.g. `ECDHE-RSA-AES128-GCM-SHA256`) and IANA names +(e.g. `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`). IANA names of TLS 1.2 cipher +suites look similar to TLS 1.3 cipher suite names, to distinguish them note +that TLS 1.2 names contain `_WITH_`, while TLS 1.3 names do not. When setting +TLS 1.2 cipher suites with curl it is recommended that you use OpenSSL names +as these are most widely recognized by the supported SSL backends. + +The complete list of cipher suites that may be considered for the `--ciphers` +option is extensive, it consists of more than 300 ciphers suites. However, +nowadays for most of them their usage is discouraged, and support for a lot of +them have been removed from the various SSL backends, if ever implemented at +all. + +A shortened list (based on [recommendations by +Mozilla](https://wiki.mozilla.org/Security/Server_Side_TLS)) of cipher suites, +which are (mostly) supported by all SSL backends, that can be used for the +`--ciphers` option: +``` +ECDHE-ECDSA-AES128-GCM-SHA256 +ECDHE-RSA-AES128-GCM-SHA256 +ECDHE-ECDSA-AES256-GCM-SHA384 +ECDHE-RSA-AES256-GCM-SHA384 +ECDHE-ECDSA-CHACHA20-POLY1305 +ECDHE-RSA-CHACHA20-POLY1305 +DHE-RSA-AES128-GCM-SHA256 +DHE-RSA-AES256-GCM-SHA384 +DHE-RSA-CHACHA20-POLY1305 +ECDHE-ECDSA-AES128-SHA256 +ECDHE-RSA-AES128-SHA256 +ECDHE-ECDSA-AES128-SHA +ECDHE-RSA-AES128-SHA +ECDHE-ECDSA-AES256-SHA384 +ECDHE-RSA-AES256-SHA384 +ECDHE-ECDSA-AES256-SHA +ECDHE-RSA-AES256-SHA +DHE-RSA-AES128-SHA256 +DHE-RSA-AES256-SHA256 +AES128-GCM-SHA256 +AES256-GCM-SHA384 +AES128-SHA256 +AES256-SHA256 +AES128-SHA +AES256-SHA +DES-CBC3-SHA +``` + +See this [list](https://github.com/curl/curl/blob/master/docs/CIPHERS-TLS12.md) +for a complete list of TLS 1.2 cipher suites. + +#### OpenSSL notes + +In addition to specifying a list of cipher suites, OpenSSL also accepts a +format with specific cipher strings (like `TLSv1.2`, `AESGCM`, `CHACHA20`) and +`!`, `-` and `+` operators. Refer to the +[OpenSSL cipher documentation](https://docs.openssl.org/master/man1/openssl-ciphers/#cipher-list-format) +for further information on that format. + +#### Schannel notes + +Schannel does not support setting individual TLS 1.2 cipher suites directly. +It only allows the enabling and disabling of encryption algorithms. These are +in the form of `CALG_xxx`, see the [Schannel `ALG_ID` +documentation](https://docs.microsoft.com/windows/desktop/SecCrypto/alg-id) +for a list of these algorithms. Also, (since curl 7.77.0) +`SCH_USE_STRONG_CRYPTO` can be given to pass that flag to Schannel, lookup the +[documentation for the Windows version in +use](https://learn.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel) +to see how that affects the cipher suite selection. When not specifying the +`--ciphers` and `--tls13-ciphers` options curl passes this flag by default. + +### Examples + +```sh +curl \ + --tls13-ciphers TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256 \ + --ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:\ +ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 \ + https://example.com/ +``` +Restrict ciphers to `aes128-gcm` and `chacha20`. Works with OpenSSL, LibreSSL, +mbedTLS and wolfSSL. + +```sh +curl \ + --tlsv1.3 \ + --tls13-ciphers TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256 \ + https://example.com/ +``` +Restrict to only TLS 1.3 with `aes128-gcm` and `chacha20` ciphers. Works with +OpenSSL, LibreSSL, mbedTLS, wolfSSL and Schannel. + +```sh +curl \ + --ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:\ +ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 \ + https://example.com/ +``` +Restrict TLS 1.2 ciphers to `aes128-gcm` and `chacha20`, use default TLS 1.3 +ciphers (if TLS 1.3 is available). Works with OpenSSL, LibreSSL, BoringSSL, +mbedTLS, wolfSSL, Secure Transport and BearSSL. + +## ciphers, the GnuTLS way + +With GnuTLS, curl allows configuration of all TLS parameters via option +[`--ciphers`](https://curl.se/docs/manpage.html#--ciphers) +or +[`CURLOPT_SSL_CIPHER_LIST`](https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html) +only. The option +[`--tls13-ciphers`](https://curl.se/docs/manpage.html#--tls13-ciphers) +or +[`CURLOPT_TLS13_CIPHERS`](https://curl.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html) +is being ignored. + +`--ciphers` is used to set the GnuTLS **priority string** in +the following way: + +* When the set string starts with '+', '-' or '!' it is *appended* to the + priority string libcurl itself generates (separated by ':'). This initial + priority depends other settings such as CURLOPT_SSLVERSION(3), + CURLOPT_TLSAUTH_USERNAME(3) (for SRP) or if HTTP/3 (QUIC) + is being negotiated. +* Otherwise, the set string fully *replaces* the libcurl generated one. While + giving full control to the application, the set priority needs to + provide for everything the transfer may need to negotiate. Example: if + the set priority only allows TLSv1.2, all HTTP/3 attempts fail. + +Users may specify via `--ciphers` anything that GnuTLS supports: ciphers, +key exchange, MAC, compression, TLS versions, signature algorithms, groups, +elliptic curves, certificate types. In addition, GnuTLS has a variety of +other keywords that tweak its operations. Applications or a system +may define new alias names for priority strings that can then be used here. + +Since the order of items in priority strings is significant, it makes no +sense for curl to puzzle other ssl options somehow together. `--ciphers` +is the single way to change priority. + +### Examples + +```sh +curl \ + --ciphers '-CIPHER_ALL:+AES-128-GCM:+CHACHA20-POLY1305' \ + https://example.com/ +``` +Restrict ciphers to `aes128-gcm` and `chacha20` in GnuTLS. + +```sh +curl \ + --ciphers 'NORMAL:-VERS-ALL:+TLS1.3:-AES-256-GCM' \ + https://example.com/ +``` +Restrict to only TLS 1.3 without the `aes256-gcm` cipher. + +```sh +curl \ + --ciphers 'NORMAL:-VERS-ALL:+TLS1.2:-CIPHER_ALL:+CAMELLIA-128-GCM' \ + https://example.com/ +``` +Restrict to only TLS 1.2 with the `CAMELLIA-128-GCM` cipher. + +## Further reading +- [OpenSSL cipher suite names documentation](https://docs.openssl.org/master/man1/openssl-ciphers/#cipher-suite-names) +- [wolfSSL cipher support documentation](https://www.wolfssl.com/documentation/manuals/wolfssl/chapter04.html#cipher-support) +- [mbedTLS cipher suites reference](https://mbed-tls.readthedocs.io/projects/api/en/development/api/file/ssl__ciphersuites_8h/) +- [Schannel cipher suites documentation](https://learn.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel) +- [BearSSL supported crypto](https://www.bearssl.org/support.html) +- [Secure Transport cipher suite values](https://developer.apple.com/documentation/security/1550981-ssl_cipher_suite_values) +- [IANA cipher suites list](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4) +- [Wikipedia cipher suite article](https://en.wikipedia.org/wiki/Cipher_suite) +- [GnuTLS Priority Strings](https://gnutls.org/manual/html_node/Priority-Strings.html) diff --git a/curl/docs/CODE_OF_CONDUCT.md b/curl/docs/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..5c88781 --- /dev/null +++ b/curl/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,38 @@ + + +Contributor Code of Conduct +=========================== + +As contributors and maintainers of this project, we pledge to respect all +people who contribute through reporting issues, posting feature requests, +updating documentation, submitting pull requests or patches, and other +activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, or religion. + +Examples of unacceptable behavior by participants include the use of sexual +language or imagery, derogatory comments or personal attacks, trolling, public +or private harassment, insults, or other unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct. Project maintainers who do not +follow the Code of Conduct may be removed from the project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by opening an issue or contacting one or more of the project +maintainers. + +This Code of Conduct is adapted from the [Contributor +Covenant](https://contributor-covenant.org/), version 1.1.0, available at +[https://contributor-covenant.org/version/1/1/0/](https://contributor-covenant.org/version/1/1/0/) diff --git a/curl/docs/CODE_REVIEW.md b/curl/docs/CODE_REVIEW.md new file mode 100644 index 0000000..bee26a3 --- /dev/null +++ b/curl/docs/CODE_REVIEW.md @@ -0,0 +1,174 @@ + + +# How to do code reviews for curl + +Anyone and everyone is encouraged and welcome to review code submissions in +curl. This is a guide on what to check for and how to perform a successful +code review. + +## All submissions should get reviewed + +All pull requests and patches submitted to the project should be reviewed by +at least one experienced curl maintainer before that code is accepted and +merged. + +## Let the tools and tests take the first rounds + +On initial pull requests, let the tools and tests do their job first and then +start out by helping the submitter understand the test failures and tool +alerts. + +## How to provide feedback to author + +Be nice. Ask questions. Provide examples or suggestions of improvements. +Assume the best intentions. Remember language barriers. + +All first-time contributors can become regulars. Let's help them go there. + +## Is this a change we want? + +If this is not a change that seems to be aligned with the project's path +forward and as such cannot be accepted, inform the author about this sooner +rather than later. Do it gently and explain why and possibly what could be +done to make it more acceptable. + +## API/ABI stability or changed behavior + +Changing the API and the ABI may be fine in a change but it needs to be done +deliberately and carefully. If not, a reviewer must help the author to realize +the mistake. + +curl and libcurl are similarly strict on not modifying existing behavior. API +and ABI stability is not enough, the behavior should also remain intact as far +as possible. + +## Code style + +Most code style nits are detected by checksrc but not all. Only leave remarks +on style deviation once checksrc does not find anymore. + +Minor nits from fresh submitters can also be handled by the maintainer when +merging, in case it seems like the submitter is not clear on what to do. We +want to make the process fun and exciting for new contributors. + +## Encourage consistency + +Make sure new code is written in a similar style as existing code. Naming, +logic, conditions, etc. + +## Are pointers always non-NULL? + +If a function or code rely on pointers being non-NULL, take an extra look if +that seems to be a fair assessment. + +## Asserts + +Conditions that should never be false can be verified with `DEBUGASSERT()` +calls to get caught in tests and debugging easier, while not having an impact +on final or release builds. + +## Memory allocation + +Can the mallocs be avoided? Do not introduce mallocs in any hot paths. If +there are (new) mallocs, can they be combined into fewer calls? + +Are all allocations handled in error paths to avoid leaks and crashes? + +## Thread-safety + +We do not like static variables as they break thread-safety and prevent +functions from being reentrant. + +## Should features be `#ifdef`ed? + +Features and functionality may not be present everywhere and should therefore +be `#ifdef`ed. Additionally, some features should be possible to switch on/off +in the build. + +Write `#ifdef`s to be as little of a "maze" as possible. + +## Does it look portable enough? + +curl runs "everywhere". Does the code take a reasonable stance and enough +precautions to be possible to build and run on most platforms? + +Remember that we live by C89 restrictions. + +## Tests and testability + +New features should be added in conjunction with one or more test cases. +Ideally, functions should also be written so that unit tests can be done to +test individual functions. + +## Documentation + +New features or changes to existing functionality **must** be accompanied by +updated documentation. Submitting that in a separate follow-up pull request is +not OK. A code review must also verify that the submitted documentation update +matches the code submission. + +English is not everyone's first language, be mindful of this and help the +submitter improve the text if it needs a rewrite to read better. + +## Code should not be hard to understand + +Source code should be written to maximize readability and be easy to +understand. + +## Functions should not be large + +A single function should never be large as that makes it hard to follow and +understand all the exit points and state changes. Some existing functions in +curl certainly violate this ground rule but when reviewing new code we should +propose splitting into smaller functions. + +## Duplication is evil + +Anything that looks like duplicated code is a red flag. Anything that seems to +introduce code that we *should* already have or provide needs a closer check. + +## Sensitive data + +When credentials are involved, take an extra look at what happens with this +data. Where it comes from and where it goes. + +## Variable types differ + +`size_t` is not a fixed size. `time_t` can be signed or unsigned and have +different sizes. Relying on variable sizes is a red flag. + +Also remember that endianness and >= 32-bit accesses to unaligned addresses +are problematic areas. + +## Integer overflows + +Be careful about integer overflows. Some variable types can be either 32-bit +or 64-bit. Integer overflows must be detected and acted on *before* they +happen. + +## Dangerous use of functions + +Maybe use of `realloc()` should rather use the dynbuf functions? + +Do not allow new code that grows buffers without using dynbuf. + +Use of C functions that rely on a terminating zero must only be used on data +that really do have a null-terminating zero. + +## Dangerous "data styles" + +Make extra precautions and verify that memory buffers that need a terminating +zero always have exactly that. Buffers *without* a null-terminator must not be +used as input to string functions. + +# Commit messages + +Tightly coupled with a code review is making sure that the commit message is +good. It is the responsibility of the person who merges the code to make sure +that the commit message follows our standard (detailed in the +[CONTRIBUTE](CONTRIBUTE.md) document). This includes making sure the PR +identifies related issues and giving credit to reporters and helpers. diff --git a/curl/docs/CONTRIBUTE.md b/curl/docs/CONTRIBUTE.md new file mode 100644 index 0000000..9904497 --- /dev/null +++ b/curl/docs/CONTRIBUTE.md @@ -0,0 +1,367 @@ + + +# Contributing to the curl project + +This document is intended to offer guidelines on how to best contribute to the +curl project. This concerns new features as well as corrections to existing +flaws or bugs. + +## Join the Community + +Skip over to [https://curl.se/mail/](https://curl.se/mail/) and join +the appropriate mailing list(s). Read up on details before you post +questions. Read this file before you start sending patches. We prefer +questions sent to and discussions being held on the mailing list(s), not sent +to individuals. + +Before posting to one of the curl mailing lists, please read up on the +[mailing list etiquette](https://curl.se/mail/etiquette.html). + +We also hang out on IRC in #curl on libera.chat + +If you are at all interested in the code side of things, consider clicking +'watch' on the [curl repository on GitHub](https://github.com/curl/curl) to be +notified of pull requests and new issues posted there. + +## License and copyright + +When contributing with code, you agree to put your changes and new code under +the same license curl and libcurl is already using unless stated and agreed +otherwise. + +If you add a larger piece of code, you can opt to make that file or set of +files to use a different license as long as they do not enforce any changes to +the rest of the package and they make sense. Such "separate parts" can not be +GPL licensed (as we do not want copyleft to affect users of libcurl) but they +must use "GPL compatible" licenses (as we want to allow users to use libcurl +properly in GPL licensed environments). + +When changing existing source code, you do not alter the copyright of the +original file(s). The copyright is still owned by the original creator(s) or +those who have been assigned copyright by the original author(s). + +By submitting a patch to the curl project, you are assumed to have the right +to the code and to be allowed by your employer or whatever to hand over that +patch/code to us. We credit you for your changes as far as possible, to give +credit but also to keep a trace back to who made what changes. Please always +provide us with your full real name when contributing, + +## What To Read + +Source code, the man pages, the [INTERNALS +document](https://curl.se/dev/internals.html), +[TODO](https://curl.se/docs/todo.html), +[KNOWN_BUGS](https://curl.se/docs/knownbugs.html) and the [most recent +changes](https://curl.se/dev/sourceactivity.html) in git. Just lurking on the +[curl-library mailing list](https://curl.se/mail/list.cgi?list=curl-library) +gives you a lot of insights on what's going on right now. Asking there is a +good idea too. + +## Write a good patch + +### Follow code style + +When writing C code, follow the +[CODE_STYLE](https://curl.se/dev/code-style.html) already established in +the project. Consistent style makes code easier to read and mistakes less +likely to happen. Run `make checksrc` before you submit anything, to make sure +you follow the basic style. That script does not verify everything, but if it +complains you know you have work to do. + +### Non-clobbering All Over + +When you write new functionality or fix bugs, it is important that you do not +fiddle all over the source files and functions. Remember that it is likely +that other people have done changes in the same source files as you have and +possibly even in the same functions. If you bring completely new +functionality, try writing it in a new source file. If you fix bugs, try to +fix one bug at a time and send them as separate patches. + +### Write Separate Changes + +It is annoying when you get a huge patch from someone that is said to fix 11 +odd problems, but discussions and opinions do not agree with 10 of them - or 9 +of them were already fixed in a different way. Then the person merging this +change needs to extract the single interesting patch from somewhere within the +huge pile of source, and that creates a lot of extra work. + +Preferably, each fix that corrects a problem should be in its own patch/commit +with its own description/commit message stating exactly what they correct so +that all changes can be selectively applied by the maintainer or other +interested parties. + +Also, separate changes enable bisecting much better for tracking problems +and regression in the future. + +### Patch Against Recent Sources + +Please try to get the latest available sources to make your patches against. +It makes the lives of the developers so much easier. The best is if you get +the most up-to-date sources from the git repository, but the latest release +archive is quite OK as well. + +### Documentation + +Writing docs is dead boring and one of the big problems with many open source +projects but someone's gotta do it. It makes things a lot easier if you submit +a small description of your fix or your new features with every contribution +so that it can be swiftly added to the package documentation. + +Documentation is mostly provided as manpages or plain ASCII files. The +manpages are rendered from their source files that are usually written using +markdown. Most HTML files on the website and in the release archives are +generated from corresponding markdown and ASCII files. + +### Test Cases + +Since the introduction of the test suite, we can quickly verify that the main +features are working as they are supposed to. To maintain this situation and +improve it, all new features and functions that are added need to be tested in +the test suite. Every feature that is added should get at least one valid test +case that verifies that it works as documented. If every submitter also posts +a few test cases, it does not end up a heavy burden on a single person. + +If you do not have test cases or perhaps you have done something that is hard +to write tests for, do explain exactly how you have otherwise tested and +verified your changes. + +# Submit Your Changes + +## Get your changes merged + +Ideally you file a [pull request on +GitHub](https://github.com/curl/curl/pulls), but you can also send your plain +patch to [the curl-library mailing +list](https://curl.se/mail/list.cgi?list=curl-library). + +If you opt to post a patch on the mailing list, chances are someone converts +it into a pull request for you, to have the CI jobs verify it proper before it +can be merged. Be prepared that some feedback on the proposed change might +then come on GitHub. + +Your changes be reviewed and discussed and you are expected to correct flaws +pointed out and update accordingly, or the change risks stalling and +eventually just getting deleted without action. As a submitter of a change, +you are the owner of that change until it has been merged. + +Respond on the list or on GitHub about the change and answer questions and/or +fix nits/flaws. This is important. We take lack of replies as a sign that you +are not anxious to get your patch accepted and we tend to simply drop such +changes. + +## About pull requests + +With GitHub it is easy to send a [pull +request](https://github.com/curl/curl/pulls) to the curl project to have +changes merged. + +We strongly prefer pull requests to mailed patches, as it makes it a proper +git commit that is easy to merge and they are easy to track and not that easy +to lose in the flood of many emails, like they sometimes do on the mailing +lists. + +Every pull request submitted is automatically tested in several different +ways. [See the CI document for more +information](https://github.com/curl/curl/blob/master/tests/CI.md). + +Sometimes the tests fail due to a dependency service temporarily being offline +or otherwise unavailable, e.g. package downloads. In this case you can just +try to update your pull requests to rerun the tests later as described below. + +You can update your pull requests by pushing new commits or force-pushing +changes to existing commits. Force-pushing an amended commit without any +actual content changed also allows you to retrigger the tests for that commit. + +When you adjust your pull requests after review, consider squashing the +commits so that we can review the full updated version more easily. + +A pull request sent to the project might get labeled `needs-votes` by a +project maintainer. This label means that in addition to meeting all other +checks and qualifications this pull request must also receive more "votes" of +user support. More signs that people want this to happen. It could be in the +form of messages saying so, or thumbs-up reactions on GitHub. + +## When the pull request is approved + +If it does not seem to get approved when you think it is ready - feel free to +ask for approval. + +Once your pull request has been approved it can be merged by a maintainer. + +For new features, or changes, we require that the *feature window* is open for +the pull request to be merged. This is typically a three week period that +starts ten days after a previous release. New features submitted as pull +requests while the window is closed simply have to wait until it opens to get +merged. + +If time passes without your approved pull request gets merged: feel free to +ask what more you can do to make it happen. + +## Making quality changes + +Make the patch against as recent source versions as possible. + +If you have followed the tips in this document and your patch still has not +been incorporated or responded to after some weeks, consider resubmitting it +to the list or better yet: change it to a pull request. + +## Commit messages + +How to write git commit messages in the curl project. + + ---- start ---- + [area]: [short line describing the main effect] + -- empty line -- + [full description, no wider than 72 columns that describes as much as + possible as to why this change is made, and possibly what things + it fixes and everything else that is related, + -- end -- + +The first line is a succinct description of the change and should ideally work +as a single line in the RELEASE NOTES. + + - use the imperative, present tense: **change** not "changed" nor "changes" + - do not capitalize the first letter + - no period (.) at the end + +The `[area]` in the first line can be `http2`, `cookies`, `openssl` or +similar. There is no fixed list to select from but using the same "area" as +other related changes could make sense. + +## Commit message keywords + +Use the following ways to improve the message and provide pointers to related +work. + +- `Follow-up to {shorthash}` - if this fixes or continues a previous commit; +add a `Ref:` that commit's PR or issue if it is not a small, obvious fix; +followed by an empty line + +- `Bug: URL` to the source of the report or more related discussion; use +`Fixes` for GitHub issues instead when that is appropriate. + +- `Approved-by: John Doe` - credit someone who approved the PR. + +- `Authored-by: John Doe` - credit the original author of the code; only use +this if you cannot use `git commit --author=...`. + +- `Signed-off-by: John Doe` - we do not use this, but do not bother removing + it. + +- `whatever-else-by:` credit all helpers, finders, doers; try to use one of +the following keywords if at all possible, for consistency: `Acked-by:`, +`Assisted-by:`, `Co-authored-by:`, `Found-by:`, `Reported-by:`, +`Reviewed-by:`, `Suggested-by:`, `Tested-by:`. + +- `Ref: #1234` - if this is related to a GitHub issue or PR, possibly one that +has already been closed. + +- `Ref: URL` to more information about the commit; use `Bug:` instead for a +reference to a bug on another bug tracker] + +- `Fixes #1234` - if this fixes a GitHub issue; GitHub closes the issue once +this commit is merged. + +- `Closes #1234` - if this merges a GitHub PR; GitHub closes the PR once this +commit is merged. + +Do not forget to use commit with `--author` if you commit someone else's work, +and make sure that you have your own user and email setup correctly in git +before you commit. + +Add whichever header lines as appropriate, with one line per person if more +than one person was involved. There is no need to credit yourself unless you +are using `--author` which hides your identity. Do not include people's email +addresses in headers to avoid spam, unless they are already public from a +previous commit; saying `{userid} on github` is OK. + +## Push Access + +If you are a frequent contributor, you may be given push access to the git +repository and then you are able to push your changes straight into the git +repository instead of sending changes as pull requests or by mail as patches. + +Just ask if this is what you would want. You are required to have posted +several high quality patches first, before you can be granted push access. + +## Useful resources + - [Webinar on getting code into cURL](https://www.youtube.com/watch?v=QmZ3W1d6LQI) + +# Update copyright and license information + +There is a CI job called **REUSE compliance / check** that runs on every pull +request and commit to verify that the *REUSE state* of all files are still +fine. + +This means that all files need to have their license and copyright information +clearly stated. Ideally by having the standard curl source code header, with +the `SPDX-License-Identifier` included. If the header does not work, you can +use a smaller header or add the information for a specific file to the +`REUSE.toml` file. + +You can manually verify the copyright and compliance status by running the +[REUSE helper tool](https://github.com/fsfe/reuse-tool): `reuse lint` + +# On AI use in curl + +Guidelines for AI use when contributing to curl. + +## For security reports and other issues + +If you asked an AI tool to find problems in curl, you **must** make sure to +reveal this fact in your report. + +You must also double-check the findings carefully before reporting them to us +to validate that the issues are indeed existing and working exactly as the AI +says. AI-based tools frequently generate inaccurate or fabricated results. + +Further: it is *rarely* a good idea to just copy and paste an AI generated +report to the project. Those generated reports typically are too wordy and +rarely to the point (in addition to the common fabricated details). If you +actually find a problem with an AI and you have verified it yourself to be +true: write the report yourself and explain the problem as you have learned +it. This makes sure the AI-generated inaccuracies and invented issues are +filtered out early before they waste more people's time. + +As we take security reports seriously, we investigate each report with +priority. This work is both time and energy consuming and pulls us away from +doing other meaningful work. Fake and otherwise made up security problems +effectively prevent us from doing real project work and make us waste time and +resources. + +We ban users immediately who submit made up fake reports to the project. + +## For pull requests + +When contributing content to the curl project, you give us permission to use +it as-is and you must make sure you are allowed to distribute it to us. By +submitting a change to us, you agree that the changes can and should be +adopted by curl and get redistributed under the curl license. Authors should +be explicitly aware that the burden is on them to ensure no unlicensed code is +submitted to the project. + +This is independent if AI is used or not. + +When contributing a pull request you should of course always make sure that +the proposal is good quality and a best effort that follows our guidelines. A +basic rule of thumb is that if someone can spot that the contribution was made +with the help of AI, you have more work to do. + +We can accept code written with the help of AI into the project, but the code +must still follow coding standards, be written clearly, be documented, feature +test cases and adhere to all the normal requirements we have. + +## For translation + +Translation services help users write reports, texts and documentation in +non-native languages and we encourage and welcome such contributors and +contributions. + +As AI-based translation tools sometimes have a way to make the output sound a +little robotic and add an "AI tone" to the text, you may want to consider +mentioning that you used such a tool. Failing to do so risks that maintainers +wrongly dismiss translated texts as AI slop. diff --git a/curl/docs/CURL-DISABLE.md b/curl/docs/CURL-DISABLE.md new file mode 100644 index 0000000..63de402 --- /dev/null +++ b/curl/docs/CURL-DISABLE.md @@ -0,0 +1,191 @@ + + +# Code defines to disable features and protocols + +## `CURL_DISABLE_ALTSVC` + +Disable support for Alt-Svc: HTTP headers. + +## `CURL_DISABLE_BINDLOCAL` + +Disable support for binding the local end of connections. + +## `CURL_DISABLE_COOKIES` + +Disable support for HTTP cookies. + +## `CURL_DISABLE_BASIC_AUTH` + +Disable support for the Basic authentication methods. + +## `CURL_DISABLE_BEARER_AUTH` + +Disable support for the Bearer authentication methods. + +## `CURL_DISABLE_DIGEST_AUTH` + +Disable support for the Digest authentication methods. + +## `CURL_DISABLE_KERBEROS_AUTH` + +Disable support for the Kerberos authentication methods. + +## `CURL_DISABLE_NEGOTIATE_AUTH` + +Disable support for the negotiate authentication methods. + +## `CURL_DISABLE_AWS` + +Disable **aws-sigv4** support. + +## `CURL_DISABLE_CA_SEARCH` + +Disable unsafe CA bundle search in PATH on Windows. + +## `CURL_DISABLE_DICT` + +Disable the DICT protocol + +## `CURL_DISABLE_DOH` + +Disable DNS-over-HTTPS + +## `CURL_DISABLE_FILE` + +Disable the FILE protocol + +## `CURL_DISABLE_FORM_API` + +Disable the form API + +## `CURL_DISABLE_FTP` + +Disable the FTP (and FTPS) protocol + +## `CURL_DISABLE_GETOPTIONS` + +Disable the `curl_easy_options` API calls that lets users get information +about existing options to `curl_easy_setopt`. + +## `CURL_DISABLE_GOPHER` + +Disable the GOPHER protocol. + +## `CURL_DISABLE_HEADERS_API` + +Disable the HTTP header API. + +## `CURL_DISABLE_HSTS` + +Disable the HTTP Strict Transport Security support. + +## `CURL_DISABLE_HTTP` + +Disable the HTTP(S) protocols. Note that this then also disable HTTP proxy +support. + +## `CURL_DISABLE_HTTP_AUTH` + +Disable support for all HTTP authentication methods. + +## `CURL_DISABLE_IMAP` + +Disable the IMAP(S) protocols. + +## `CURL_DISABLE_LDAP` + +Disable the LDAP(S) protocols. + +## `CURL_DISABLE_LDAPS` + +Disable the LDAPS protocol. + +## `CURL_DISABLE_LIBCURL_OPTION` + +Disable the --libcurl option from the curl tool. + +## `CURL_DISABLE_MIME` + +Disable MIME support. + +## `CURL_DISABLE_MQTT` + +Disable MQTT support. + +## `CURL_DISABLE_NETRC` + +Disable the netrc parser. + +## `CURL_DISABLE_NTLM` + +Disable support for NTLM. + +## `CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG` + +Disable the auto load config support in the OpenSSL backend. + +## `CURL_DISABLE_PARSEDATE` + +Disable date parsing + +## `CURL_DISABLE_POP3` + +Disable the POP3 protocol + +## `CURL_DISABLE_PROGRESS_METER` + +Disable the built-in progress meter + +## `CURL_DISABLE_PROXY` + +Disable support for proxies + +## `CURL_DISABLE_IPFS` + +Disable the IPFS/IPNS protocols. This affects the curl tool only, where +IPFS/IPNS protocol support is implemented. + +## `CURL_DISABLE_RTSP` + +Disable the RTSP protocol. + +## `CURL_DISABLE_SHA512_256` + +Disable the SHA-512/256 hash algorithm. + +## `CURL_DISABLE_SHUFFLE_DNS` + +Disable the shuffle DNS feature + +## `CURL_DISABLE_SMB` + +Disable the SMB(S) protocols + +## `CURL_DISABLE_SMTP` + +Disable the SMTP(S) protocols + +## `CURL_DISABLE_SOCKETPAIR` + +Disable the use of `socketpair()` internally to allow waking up and canceling +`curl_multi_poll()`. + +## `CURL_DISABLE_TELNET` + +Disable the TELNET protocol + +## `CURL_DISABLE_TFTP` + +Disable the TFTP protocol + +## `CURL_DISABLE_VERBOSE_STRINGS` + +Disable verbose strings and error messages. + +## `CURL_DISABLE_WEBSOCKETS` + +Disable the WebSocket protocols. diff --git a/curl/docs/CURLDOWN.md b/curl/docs/CURLDOWN.md new file mode 100644 index 0000000..18c1cbc --- /dev/null +++ b/curl/docs/CURLDOWN.md @@ -0,0 +1,168 @@ + + +# curldown + +A markdown-like syntax for libcurl man pages. + +## Purpose + +A text format for writing libcurl documentation in the shape of man pages. + +Make it easier for users to contribute and write documentation. A format that +is easier on the eye in its source format. + +Make it harder to do syntactical mistakes. + +Use a format that allows creating man pages that end up looking exactly like +the man pages did when we wrote them in nroff format. + +Take advantage of the fact that people these days are accustomed to markdown +by using a markdown-like syntax. + +This allows us to fix issues in the nroff format easier since now we generate +them. For example: escaping minus to prevent them from being turned into +Unicode by man. + +Generate nroff output that looks (next to) *identical* to the previous files, +so that the look, existing test cases, HTML conversions, existing +infrastructure etc remain mostly intact. + +Contains meta-data in a structured way to allow better output (for example the +see also information) and general awareness of what the file is about. + +## File extension + +Since curldown looks similar to markdown, we use `.md` extensions on the +files. + +## Conversion + +Convert **from curldown to nroff** with `cd2nroff`. Generates nroff man pages. + +Convert **from nroff to curldown** with `nroff2cd`. This is only meant to be +used for the initial conversion to curldown and should ideally never be needed +again. + +Convert, check or clean up an existing curldown to nicer, better, cleaner +curldown with **cd2cd**. + +Mass-convert all curldown files to nroff in specified directories with +`cdall`: + + cdall [dir1] [dir2] [dir3] .. + +## Known issues + +The `cd2nroff` tool does not yet handle *italics* or **bold** where the start +and the end markers are used on separate lines. + +The `nroff2cd` tool generates code style quotes for all `.fi` sections since +the nroff format does not carry a distinction. + +# Format + +Each curldown starts with a header with meta-data: + + --- + c: Copyright (C) Daniel Stenberg, , et al. + SPDX-License-Identifier: curl + Title: CURLOPT_AWS_SIGV4 + Section: 3 + Source: libcurl + Protocol: + - HTTP + See-also: + - CURLOPT_HEADEROPT (3) + - CURLOPT_HTTPAUTH (3) + TLS-backend: + - [name] + Added-in: [version or "n/a"] + --- + +All curldown files *must* have all the headers present and at least one +`See-also:` entry specified. + +If the man page is for section 3 (library related). The `Protocol` list must +contain at least one protocol, which can be `*` if the option is virtually for +everything. If `*` is used, it must be the only listed protocol. Recognized +protocols are either URL schemes (in uppercase), `TLS` or `TCP`. + +If the `Protocol` list contains `TLS`, then there must also be a `TLS-backend` +list, specifying `All` or a list of what TLS backends that work with this +option. The available TLS backends are: + +- `BearSSL` +- `GnuTLS` +- `mbedTLS` +- `OpenSSL` (also covers BoringSSL, LibreSSL, quictls, AWS-LC and AmiSSL) +- `rustls` +- `Schannel` +- `Secure Transport` +- `wolfSSL` +- `All`: all TLS backends + +Following the header in the file, is the manual page using markdown-like +syntax: + +~~~ + # NAME + a page - this is a page descriving something + + # SYNOPSIS + ~~~c + #include + + CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AWS_SIGV4, char *param); + ~~~ +~~~ + +Quoted source code should start with `~~~c` and end with `~~~` while regular +quotes can start with `~~~` or just be indented with 4 spaces. + +Headers at top-level `#` get converted to `.SH`. + +`nroff2cd` supports the `##` next level header which gets converted to `.IP`. + +Write bold words or phrases within `**` like: + + This is a **bold** word. + +Write italics like: + + This is *italics*. + +Due to how man pages do not support backticks especially formatted, such +occurrences in the source are instead just using italics in the generated +output: + + This `word` appears in italics. + +When generating the nroff output, the tooling removes superfluous newlines, +meaning they can be used freely in the source file to make the text more +readable. + +To make sure curldown documents render correctly as markdown, all literal +occurrences of `<` or `>` need to be escaped by a leading backslash. + +## Generating contents + +`# %PROTOCOLS%` - inserts a **PROTOCOLS** section based on the metadata +provided in the header. + +`# %AVAILABILITY%` - inserts an **AVAILABILITY** section based on the metadata +provided in the header. + +## Symbols + +All mentioned curl symbols that have their own man pages, like +`curl_easy_perform(3)` are automatically rendered using italics in the output +without having to enclose it with asterisks. This helps ensuring that they get +converted to links properly later in the HTML version on the website, as +converted with `roffit`. This makes the curldown text easier to read even when +mentioning many curl symbols. + +This auto-linking works for patterns matching `(lib|)curl[^ ]*(3)`. diff --git a/curl/docs/DEPRECATE.md b/curl/docs/DEPRECATE.md new file mode 100644 index 0000000..c72580b --- /dev/null +++ b/curl/docs/DEPRECATE.md @@ -0,0 +1,77 @@ + + +# Items to be removed from future curl releases + +If any of these deprecated features is a cause for concern for you, please +email the +[curl-library mailing list](https://lists.haxx.se/listinfo/curl-library) +as soon as possible and explain to us why this is a problem for you and +how your use case cannot be satisfied properly using a workaround. + +## TLS libraries without 1.3 support + +curl drops support for TLS libraries without TLS 1.3 capability after May +2025. + +It requires that a curl build using the library should be able to negotiate +and use TLS 1.3, or else it is not good enough. + +As of May 2024, the libraries that need to get fixed to remain supported after +May 2025 are: BearSSL and Secure Transport. + +## msh3 support + +The msh3 backed for QUIC and HTTP/3 was introduced in April 2022 but has never +been made to work properly. It has seen no visible traction or developer +activity from the msh3 main author (or anyone else seemingly interested) in +two years. As a non-functional backend, it only adds friction and "weight" to +the development and maintenance. + +Meanwhile, we have a fully working backend in the ngtcp2 one and we have two +fully working backends in OpenSSL-QUIC and quiche well on their way of ending +their experimental status in a future. + +We remove msh3 support from the curl source tree in July 2025. + +## winbuild build system + +curl drops support for the winbuild build method after September 2025. + +We recommend migrating to CMake. See the migration guide in +`docs/INSTALL-CMAKE.md`. + +## Windows CE + +Windows CE "mainstream support" ended on October 9, 2018, and "Extended +Support" ended on October 10, 2023. + +curl drops all support in November 2025. + +## VS2008 + +curl drops support for getting built with Microsoft Visual Studio 2008 in +November 2025. + +The only reason we kept support for this version is for Windows CE - and we +intend to remove support for that Operating System in this time frame as well. +Bumping the minimum to VS2010. VS2008 is a pain to support. + +Previous discussion and details: https://github.com/curl/curl/discussions/15972 + +## Past removals + + - axTLS (removed in 7.63.0) + - Pipelining (removed in 7.65.0) + - PolarSSL (removed in 7.69.0) + - NPN (removed in 7.86.0) + - Support for systems without 64-bit data types (removed in 8.0.0) + - NSS (removed in 8.3.0) + - gskit (removed in 8.3.0) + - MinGW v1 (removed in 8.4.0) + - NTLM_WB (removed in 8.8.0) + - space-separated `NOPROXY` patterns (removed in 8.9.0) + - hyper (removed in 8.12.0) diff --git a/curl/docs/DISTROS.md b/curl/docs/DISTROS.md new file mode 100644 index 0000000..7db542e --- /dev/null +++ b/curl/docs/DISTROS.md @@ -0,0 +1,287 @@ + + +# curl distros + + + +Lots of organizations distribute curl packages to end users. This is a +collection of pointers to where to learn more about curl on and with each +distro. Those marked *Rolling Release* typically run the latest version of curl +and are therefore less likely to have back-ported patches to older versions. + +We discuss curl distro issues, patches and collaboration on the [curl-distros +mailing list](https://lists.haxx.se/listinfo/curl-distros) ([list +archives](https://curl.se/mail/list.cgi?list=curl-distros)). + +## AlmaLinux + +- curl package source and patches: https://git.almalinux.org/rpms/curl/ +- curl issues: https://bugs.almalinux.org/view_all_bug_page.php click Category and choose curl +- curl security: https://errata.almalinux.org/ search for curl + +## Alpine Linux + +- curl: https://pkgs.alpinelinux.org/package/edge/main/x86_64/curl +- curl issues: https://gitlab.alpinelinux.org/alpine/aports/-/issues +- curl security: https://security.alpinelinux.org/srcpkg/curl +- curl package source and patches: https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/main/curl + +## Alt Linux + +- curl: https://packages.altlinux.org/en/search/?q=curl +- curl issues: https://packages.altlinux.org/en/sisyphus/srpms/curl/issues/ +- curl patches: https://git.altlinux.org/gears/c/curl.git?p=curl.git;a=tree;f=.gear + +## Arch Linux + +*Rolling Release* + +- curl: https://archlinux.org/packages/core/x86_64/curl/ +- curl issues: https://gitlab.archlinux.org/archlinux/packaging/packages/curl/-/issues +- curl security: https://security.archlinux.org/package/curl +- curl wiki: https://wiki.archlinux.org/title/CURL + +## Buildroot + +*Rolling Release* + +- curl package source and patches: https://git.buildroot.net/buildroot/tree/package/libcurl +- curl issues: https://bugs.buildroot.org/buglist.cgi?quicksearch=curl + +## Chimera + +- curl package source and patches: https://github.com/chimera-linux/cports/tree/master/main/curl + +## Clear Linux + +*Rolling Release* + +- curl: https://github.com/clearlinux-pkgs/curl +- curl issues: https://github.com/clearlinux/distribution/issues + +## Conary + +- curl: https://github.com/conan-io/conan-center-index/tree/master/recipes/libcurl +- curl issues: https://github.com/conan-io/conan-center-index/issues +- curl patches: https://github.com/conan-io/conan-center-index/tree/master/recipes/libcurl (in `all/patches/*`, if any) + +## conda-forge + +- curl: https://github.com/conda-forge/curl-feedstock +- curl issues: https://github.com/conda-forge/curl-feedstock/issues + +## CRUX + +- curl: https://crux.nu/portdb/?a=search&q=curl +- curl issues: https://git.crux.nu/ports/core/issues/?type=all&state=open&q=curl + +## curl-for-win + +(this is the official curl binaries for Windows shipped by the curl project) + +*Rolling Release* + +- curl: https://curl.se/windows/ +- curl patches: https://github.com/curl/curl-for-win/blob/main/curl.patch (if any) +- build-specific issues: https://github.com/curl/curl-for-win/issues + +Issues and patches for this are managed in the main curl project. + +## Cygwin + +- curl: https://cygwin.com/cgit/cygwin-packages/curl/tree/curl.cygport +- curl patches: https://cygwin.com/cgit/cygwin-packages/curl/tree +- curl issues: https://inbox.sourceware.org/cygwin/?q=s%3Acurl + +## Cygwin (cross mingw64) + +- mingw64-x86_64-curl: https://cygwin.com/cgit/cygwin-packages/mingw64-x86_64-curl/tree/mingw64-x86_64-curl.cygport +- mingw64-x86_64-curl patches: https://cygwin.com/cgit/cygwin-packages/mingw64-x86_64-curl/tree +- mingw64-x86_64-curl issues: https://inbox.sourceware.org/cygwin/?q=s%3Amingw64-x86_64-curl + +## Debian + +- curl: https://tracker.debian.org/pkg/curl +- curl issues: https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=curl +- curl patches: https://udd.debian.org/patches.cgi?src=curl +- curl patches: https://salsa.debian.org/debian/curl (in debian/* branches, inside the folder debian/patches) + +## Fedora + +- curl: https://src.fedoraproject.org/rpms/curl +- curl issues: [bugzilla](https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&product=Fedora&product=Fedora%20EPEL&component=curl) +- curl patches: [list of patches in package git](https://src.fedoraproject.org/rpms/curl/tree/rawhide) + +## FreeBSD + +- curl: https://cgit.freebsd.org/ports/tree/ftp/curl +- curl patches: https://cgit.freebsd.org/ports/tree/ftp/curl +- curl issues: https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=__open__&order=Importance&product=Ports%20%26%20Packages&query_format=advanced&short_desc=curl&short_desc_type=allwordssubstr + +## Gentoo Linux + +*Rolling Release* + +- curl: https://packages.gentoo.org/packages/net-misc/curl +- curl issues: https://bugs.gentoo.org/buglist.cgi?quicksearch=net-misc/curl +- curl package sources and patches: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-misc/curl/ + +## GNU Guix + +*Rolling Release* + +- curl: https://git.savannah.gnu.org/gitweb/?p=guix.git;a=blob;f=gnu/packages/curl.scm;hb=HEAD +- curl issues: https://issues.guix.gnu.org/search?query=curl + +## Homebrew + +*Rolling Release* + +- curl: https://formulae.brew.sh/formula/curl + +Homebrew's policy is that all patches and issues should be submitted upstream +unless it is specific to Homebrew's way of packaging software. + +## MacPorts + +*Rolling Release* + +- curl: https://github.com/macports/macports-ports/tree/master/net/curl +- curl issues: https://trac.macports.org/query?0_port=curl&0_port_mode=%7E&0_status=%21closed +- curl patches: https://github.com/macports/macports-ports/tree/master/net/curl/files + +## Mageia + +- curl: https://svnweb.mageia.org/packages/cauldron/curl/current/SPECS/curl.spec?view=markup +- curl issues: https://bugs.mageia.org/buglist.cgi?bug_status=NEW&bug_status=UNCONFIRMED&bug_status=NEEDINFO&bug_status=UPSTREAM&bug_status=ASSIGNED&component=RPM%20Packages&f1=cf_rpmpkg&list_id=176576&o1=casesubstring&product=Mageia&query_format=advanced&v1=curl +- curl patches: https://svnweb.mageia.org/packages/cauldron/curl/current/SOURCES/ +- curl patches in stable distro releases: https://svnweb.mageia.org/packages/updates//curl/current/SOURCES/ +- curl security: https://advisories.mageia.org/src_curl.html + +## MSYS2 + +*Rolling Release* + +- curl: https://github.com/msys2/MSYS2-packages/tree/master/curl +- curl issues: https://github.com/msys2/MSYS2-packages/issues +- curl patches: https://github.com/msys2/MSYS2-packages/tree/master/curl (`*.patch`) + +## MSYS2 (mingw-w64) + +*Rolling Release* + +- curl: https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-curl +- curl issues: https://github.com/msys2/MINGW-packages/issues +- curl patches: https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-curl (`*.patch`) + +## Muldersoft + +*Rolling Release* + +- curl: https://github.com/lordmulder/cURL-build-win32 +- curl issues: https://github.com/lordmulder/cURL-build-win32/issues +- curl patches: https://github.com/lordmulder/cURL-build-win32/tree/master/patch + +## NixOS + +- curl: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/networking/curl/default.nix + (TODO: page has moved) +- curl issues: https://github.com/NixOS/nixpkgs + +nixpkgs is the package repository used by the NixOS Linux distribution, but +can also be used on other distributions + +## OmniOS + +- curl: https://github.com/omniosorg/omnios-build/tree/master/build/curl +- curl issues: https://github.com/omniosorg/omnios-build/issues +- curl patches: https://github.com/omniosorg/omnios-build/tree/master/build/curl/patches + +## OpenIndiana + +- curl: https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/web/curl +- curl issues: https://www.illumos.org/projects/openindiana/issues +- curl patches: https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/web/curl/patches + +## OpenSUSE + +- curl source and patches: https://build.opensuse.org/package/show/openSUSE%3AFactory/curl + +## Oracle Solaris + +- curl: https://github.com/oracle/solaris-userland/tree/master/components/curl +- curl issues: https://support.oracle.com/ (requires support contract) +- curl patches: https://github.com/oracle/solaris-userland/tree/master/components/curl/patches + +## OpenEmbedded / Yocto Project + +*Rolling Release* + +- curl: https://layers.openembedded.org/layerindex/recipe/5765/ +- curl issues: https://bugzilla.yoctoproject.org/ +- curl patches: https://git.openembedded.org/openembedded-core/tree/meta/recipes-support/curl + +## PLD Linux + +- curl package source and patches: https://github.com/pld-linux/curl +- curl issues: https://bugs.launchpad.net/pld-linux?field.searchtext=curl&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= + +## pkgsrc + +- curl: https://github.com/NetBSD/pkgsrc/tree/trunk/www/curl +- curl issues: https://github.com/NetBSD/pkgsrc/issues +- curl patches: https://github.com/NetBSD/pkgsrc/tree/trunk/www/curl/patches + +## Red Hat Enterprise Linux / CentOS Stream + +- curl: https://kojihub.stream.centos.org/koji/packageinfo?packageID=217 +- curl issues: https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12332745&issuetype=1&components=12377466&priority=10300 +- curl patches: https://gitlab.com/redhat/centos-stream/rpms/curl + +## Rocky Linux + +- curl: https://git.rockylinux.org/staging/rpms/curl/-/blob/r9/SPECS/curl.spec +- curl issues: https://bugs.rockylinux.org +- curl patches: https://git.rockylinux.org/staging/rpms/curl/-/tree/r9/SOURCES + +## SerenityOS + +- curl: https://github.com/SerenityOS/serenity/tree/master/Ports/curl +- curl issues: https://github.com/SerenityOS/serenity/issues?q=label%3Aports +- curl patches: https://github.com/SerenityOS/serenity/tree/master/Ports/curl/patches + +## SmartOS + +- curl: https://github.com/TritonDataCenter/illumos-extra/tree/master/curl +- curl issues: https://github.com/TritonDataCenter/illumos-extra/issues +- curl patches: https://github.com/TritonDataCenter/illumos-extra/tree/master/curl/Patches + +## SPACK + +- curl package source and patches: https://github.com/spack/spack/tree/develop/var/spack/repos/builtin/packages/curl + +## vcpkg + +*Rolling Release* + +- curl: https://github.com/microsoft/vcpkg/tree/master/ports/curl +- curl issues: https://github.com/microsoft/vcpkg/issues +- curl patches: https://github.com/microsoft/vcpkg/tree/master/ports/curl (`*.patch`) + +## Void Linux + +*Rolling Release* + +- curl: https://github.com/void-linux/void-packages/tree/master/srcpkgs/curl +- curl issues: https://github.com/void-linux/void-packages/issues +- curl patches: https://github.com/void-linux/void-packages/tree/master/srcpkgs/curl/patches + +## Wolfi + +*Rolling Release* + +- curl: https://github.com/wolfi-dev/os/blob/main/curl.yaml diff --git a/curl/docs/EARLY-RELEASE.md b/curl/docs/EARLY-RELEASE.md new file mode 100644 index 0000000..e66dbbd --- /dev/null +++ b/curl/docs/EARLY-RELEASE.md @@ -0,0 +1,73 @@ + + +# How to determine if an early patch release is warranted + +In the curl project we do releases every 8 weeks. Unless we break the cycle +and do an early patch release. + +We do frequent releases partly to always have the next release "not too far +away". + +## Bugfix + +During the release cycle, and especially in the beginning of a new cycle (the +so-called "cool down" period), there are times when a bug is reported and +after it has been subsequently fixed correctly, the question might be asked: +is this bug and associated fix important enough for an early patch release? + +The question can only be properly asked when a fix has been created and landed +in the git master branch. + +## Early release + +An early patch release means that we ship a new, complete and full release +called `major.minor.patch` where the `patch` part is increased by one since +the previous release. A curl release is a curl release. There is no small or +big and we never release just a patch. There is only "release". + +## Questions to ask + + - Is there a security advisory rated high or critical? + - Is there a data corruption bug? + - Did the bug cause an API/ABI breakage? + - Does the problem annoy a significant share of the user population? + +If the answer is yes to one or more of the above, an early release might be +warranted. + +More questions to ask ourselves when doing the assessment if the answers to +the three ones above are all 'no'. + + - Does the bug cause curl to prematurely terminate? + - How common is the affected buggy option/feature/protocol/platform to get + used? + - How large is the estimated impacted user base? + - Does the bug block something crucial for applications or other adoption of + curl "out there" ? + - Does the bug cause problems for curl developers or others on "the curl + team" ? + - Is the bug limited to the curl tool only? That might have a smaller impact + than a bug also present in libcurl. + - Is there a (decent) workaround? + - Is it a regression? Is the bug introduced in this release? + - Can the bug be fixed "easily" by applying a patch? + - Does the bug break the build? Most users do not build curl themselves. + - How long is it until the already scheduled next release? + - Can affected users safely rather revert to a former release until the next + scheduled release? + - Is it a performance regression with no functionality side-effects? If so it + has to be substantial. + +## If an early release is deemed necessary + +Unless done for security or similarly important reasons, an early release +should not be done within a week of the previous release. + +This, to enable us to collect and bundle more fixes into the same release to +make the release more worthwhile for everyone and to allow more time for fixes +to settle and things to get tested. Getting a release in shape and done in +style is work that should not be rushed. diff --git a/curl/docs/ECH.md b/curl/docs/ECH.md new file mode 100644 index 0000000..969bbfa --- /dev/null +++ b/curl/docs/ECH.md @@ -0,0 +1,496 @@ + + +# Building curl with HTTPS-RR and ECH support + +We have added support for ECH to curl. It can use HTTPS RRs published in the +DNS if curl uses DoH, or else can accept the relevant ECHConfigList values +from the command line. This works with OpenSSL, wolfSSL, BoringSSL, AWS-LC +or rustls-ffi as the TLS provider. + +This feature is EXPERIMENTAL. DO NOT USE IN PRODUCTION. + +This should however provide enough of a proof-of-concept to prompt an informed +discussion about a good path forward for ECH support in curl. + +## OpenSSL Build + +To build the OpenSSL project's ECH feature branch: + +```bash + cd $HOME/code + git clone https://github.com/openssl/openssl + cd openssl + git checkout feature/ech + ./config --libdir=lib --prefix=$HOME/code/openssl-local-inst + ...stuff... + make -j8 + ...more stuff... + make install_sw + ...a little bit of stuff... +``` + +To build curl ECH-enabled, making use of the above: + +```bash + cd $HOME/code + git clone https://github.com/curl/curl + cd curl + autoreconf -fi + LDFLAGS="-Wl,-rpath,$HOME/code/openssl-local-inst/lib/" ./configure --with-ssl=$HOME/code/openssl-local-inst --enable-ech + ...lots of output... + WARNING: ECH HTTPSRR enabled but marked EXPERIMENTAL... + make + ...lots more output... +``` + +If you do not get that WARNING at the end of the ``configure`` command, then +ECH is not enabled, so go back some steps and re-do whatever needs re-doing:-) +If you want to debug curl then you should add ``--enable-debug`` to the +``configure`` command. + +In a recent (2024-05-20) build on one machine, configure failed to find the +ECH-enabled SSL library, apparently due to the existence of +``$HOME/code/openssl-local-inst/lib/pkgconfig`` as a directory containing +various settings. Deleting that directory worked around the problem but may +not be the best solution. + +## Using ECH and DoH + +curl supports using DoH for A/AAAA lookups so it was relatively easy to add +retrieval of HTTPS RRs in that situation. To use ECH and DoH together: + +```bash + cd $HOME/code/curl + LD_LIBRARY_PATH=$HOME/code/openssl ./src/curl --ech true --doh-url https://one.one.one.one/dns-query https://defo.ie/ech-check.php + ... + SSL_ECH_STATUS: success good
    + ... +``` + +The output snippet above is within the HTML for the webpage, when things work. + +The above works for these test sites: + +```bash + https://defo.ie/ech-check.php + https://draft-13.esni.defo.ie:8413/stats + https://draft-13.esni.defo.ie:8414/stats + https://crypto.cloudflare.com/cdn-cgi/trace + https://tls-ech.dev +``` + +The list above has 4 different server technologies, implemented by 3 different +parties, and includes a case (the port 8414 server) where HelloRetryRequest +(HRR) is forced. + +We currently support the following new curl command line arguments/options: + +- ``--ech `` - the ``config`` value can be one of: + - ``false`` says to not attempt ECH + - ``true`` says to attempt ECH, if possible + - ``grease`` if attempting ECH is not possible, then send a GREASE ECH extension + - ``hard`` hard-fail the connection if ECH cannot be attempted + - ``ecl:`` a base64 encoded ECHConfigList, rather than one accessed from the DNS + - ``pn:`` override the ``public_name`` from an ECHConfigList + +Note that in the above "attempt ECH" means the client emitting a TLS +ClientHello with a "real" ECH extension, but that does not mean that the +relevant server can succeed in decrypting, as things can fail for other +reasons. + +## Supplying an ECHConfigList on the command line + +To supply the ECHConfigList on the command line, you might need a bit of +cut-and-paste, e.g.: + +```bash + dig +short https defo.ie + 1 . ipv4hint=213.108.108.101 ech=AED+DQA8PAAgACD8WhlS7VwEt5bf3lekhHvXrQBGDrZh03n/LsNtAodbUAAEAAEAAQANY292ZXIuZGVmby5pZQAA ipv6hint=2a00:c6c0:0:116:5::10 +``` + +Then paste the base64 encoded ECHConfigList onto the curl command line: + +```bash + LD_LIBRARY_PATH=$HOME/code/openssl ./src/curl --ech ecl:AED+DQA8PAAgACD8WhlS7VwEt5bf3lekhHvXrQBGDrZh03n/LsNtAodbUAAEAAEAAQANY292ZXIuZGVmby5pZQAA https://defo.ie/ech-check.php + ... + SSL_ECH_STATUS: success good
    + ... +``` + +The output snippet above is within the HTML for the webpage. + +If you paste in the wrong ECHConfigList (it changes hourly for ``defo.ie``) you +should get an error like this: + +```bash + LD_LIBRARY_PATH=$HOME/code/openssl ./src/curl -vvv --ech ecl:AED+DQA8yAAgACDRMQo+qYNsNRNj+vfuQfFIkrrUFmM4vogucxKj/4nzYgAEAAEAAQANY292ZXIuZGVmby5pZQAA https://defo.ie/ech-check.php + ... + * OpenSSL/3.3.0: error:0A00054B:SSL routines::ech required + ... +``` + +There is a reason to want this command line option - for use before publishing +an ECHConfigList in the DNS as per the Internet-draft [A well-known URI for +publishing ECHConfigList values](https://datatracker.ietf.org/doc/draft-ietf-tls-wkech/). + +If you do use a wrong ECHConfigList value, then the server might return a +good value, via the ``retry_configs`` mechanism. You can see that value in +the verbose output, e.g.: + +```bash + LD_LIBRARY_PATH=$HOME/code/openssl ./src/curl -vvv --ech ecl:AED+DQA8yAAgACDRMQo+qYNsNRNj+vfuQfFIkrrUFmM4vogucxKj/4nzYgAEAAEAAQANY292ZXIuZGVmby5pZQAA https://defo.ie/ech-check.php + ... +* ECH: retry_configs AQD+DQA8DAAgACBvYqJy+Hgk33wh/ZLBzKSPgwxeop7gvojQzfASq7zeZQAEAAEAAQANY292ZXIuZGVmby5pZQAA/g0APEMAIAAgXkT5r4cYs8z19q5rdittyIX8gfQ3ENW4wj1fVoiJZBoABAABAAEADWNvdmVyLmRlZm8uaWUAAP4NADw2ACAAINXSE9EdXzEQIJZA7vpwCIQsWqsFohZARXChgPsnfI1kAAQAAQABAA1jb3Zlci5kZWZvLmllAAD+DQA8cQAgACASeiD5F+UoSnVoHvA2l1EifUVMFtbVZ76xwDqmMPraHQAEAAEAAQANY292ZXIuZGVmby5pZQAA +* ECH: retry_configs for defo.ie from cover.defo.ie, 319 + ... +``` + +At that point, you could copy the base64 encoded value above and try again. +For now, this only works for the OpenSSL and BoringSSL/AWS-LC builds. + +## Default settings + +curl has various ways to configure default settings, e.g. in ``$HOME/.curlrc``, +so one can set the DoH URL and enable ECH that way: + +```bash + cat ~/.curlrc + doh-url=https://one.one.one.one/dns-query + silent + ech=true +``` + +Note that when you use the system's curl command (rather than our ECH-enabled +build), it is liable to warn that ``ech`` is an unknown option. If that is an +issue (e.g. if some script re-directs stdout and stderr somewhere) then adding +the ``silent`` line above seems to be a good enough fix. (Though of +course, yet another script could depend on non-silent behavior, so you may have +to figure out what you prefer yourself.) That seems to have changed with the +latest build, previously ``silent=TRUE`` was what I used in ``~/.curlrc`` but +now that seems to cause a problem, so that the following line(s) are ignored. + +If you want to always use our OpenSSL build you can set ``LD_LIBRARY_PATH`` +in the environment: + +```bash + export LD_LIBRARY_PATH=$HOME/code/openssl +``` + +When you do the above, there can be a mismatch between OpenSSL versions +for applications that check that. A ``git push`` for example fails so you +should unset ``LD_LIBRARY_PATH`` before doing that or use a different shell. + +```bash + git push + OpenSSL version mismatch. Built against 30000080, you have 30200000 + ... +``` + +With all that setup as above the command line gets simpler: + +```bash + ./src/curl https://defo.ie/ech-check.php + ... + SSL_ECH_STATUS: success good
    + ... +``` + +The ``--ech true`` option is opportunistic, so tries to do ECH but does not fail if +the client for example cannot find any ECHConfig values. The ``--ech hard`` +option hard-fails if there is no ECHConfig found in DNS, so for now, that is not +a good option to set as a default. Once ECH has really been attempted by +the client, if decryption on the server side fails, then curl fails. + +## Code changes for ECH support when using DoH + +Code changes are ``#ifdef`` protected via ``USE_ECH`` or ``USE_HTTPSRR``: + +- ``USE_HTTPSRR`` is used for HTTPS RR retrieval code that could be generically + used should non-ECH uses for HTTPS RRs be identified, e.g. use of ALPN values + or IP address hints. + +- ``USE_ECH`` protects ECH specific code. + +There are various obvious code blocks for handling the new command line +arguments which are not described here, but should be fairly clear. + +As shown in the ``configure`` usage above, there are ``configure.ac`` changes +that allow separately dis/enabling ``USE_HTTPSRR`` and ``USE_ECH``. If ``USE_ECH`` +is enabled, then ``USE_HTTPSRR`` is forced. In both cases ``CURL_DISABLE_DOH`` +must not be enabled. (There may be some configuration conflicts available for the +determined :-) + +The main functional change, as you would expect, is in ``lib/vtls/openssl.c`` +where an ECHConfig, if available from command line or DNS cache, is fed into +the OpenSSL library via the new APIs implemented in our OpenSSL fork for that +purpose. This code also implements the opportunistic (``--ech true``) or hard-fail +(``--ech hard``) logic. + +Other than that, the main additions are in ``lib/doh.c`` +where we reuse ``dohprobe()`` to retrieve an HTTPS RR value for the target +domain. If such a value is found, that is stored using a new ``doh_store_https()`` +function in a new field in the ``dohentry`` structure. + +The qname for the DoH query is modified if the port number is not 443, as +defined in the SVCB specification. + +When the DoH process has worked, ``Curl_doh_is_resolved()`` now also returns +the relevant HTTPS RR value data in the ``Curl_dns_entry`` structure. +That is later accessed when the TLS session is being established, if ECH is +enabled (from ``lib/vtls/openssl.c`` as described above). + +## Limitations + +Things that need fixing, but that can probably be ignored for the +moment: + +- We could easily add code to make use of an ``alpn=`` value found in an HTTPS + RR, passing that on to OpenSSL for use as the "inner" ALPN value, but have +yet to do that. + +Current limitations (more interesting than the above): + +- Only the first HTTPS RR value retrieved is actually processed as described + above, that could be extended in future, though picking the "right" HTTPS RR +could be non-trivial if multiple RRs are published - matching IP address hints +versus A/AAAA values might be a good basis for that. Last I checked though, +browsers supporting ECH did not handle multiple HTTPS RRs well, though that +needs re-checking as it has been a while. + +- It is unclear how one should handle any IP address hints found in an HTTPS RR. + It may be that a bit of consideration of how "multi-CDN" deployments might +emerge would provide good answers there, but for now, it is not clear how best +curl might handle those values when present in the DNS. + +- The SVCB/HTTPS RR specification supports a new "CNAME at apex" indirection + ("aliasMode") - the current code takes no account of that at all. One could +envisage implementing the equivalent of following CNAMEs in such cases, but +it is not clear if that'd be a good plan. (As of now, chrome browsers do not seem +to have any support for that "aliasMode" and we have not checked Firefox for that +recently.) + +- We have not investigated what related changes or additions might be needed + for applications using libcurl, as opposed to use of curl as a command line +tool. + +- We have not yet implemented tests as part of the usual curl test harness as +doing so would seem to require re-implementing an ECH-enabled server as part +of the curl test harness. For now, we have a ``./tests/ech_test.sh`` script +that attempts ECH with various test servers and with many combinations of the +allowed command line options. While that is a useful test and has find issues, +it is not comprehensive and we are not (as yet) sure what would be the right +level of coverage. When running that script you should not have a +``$HOME/.curlrc`` file that affects ECH or some of the negative tests could +produce spurious failures. + +## Building with cmake + +To build with cmake, assuming our ECH-enabled OpenSSL is as before: + +```bash + cd $HOME/code + git clone https://github.com/curl/curl + cd curl + mkdir build + cd build + cmake -DOPENSSL_ROOT_DIR=$HOME/code/openssl -DUSE_ECH=1 .. + ... + make + ... + [100%] Built target curl +``` + +The binary produced by the cmake build does not need any ECH-specific +``LD_LIBRARY_PATH`` setting. + +## BoringSSL build + +BoringSSL is also supported by curl and also supports ECH, so to build +with that, instead of our ECH-enabled OpenSSL: + +```bash + cd $HOME/code + git clone https://boringssl.googlesource.com/boringssl + cd boringssl + cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME/code/boringssl/inst -DBUILD_SHARED_LIBS=1 + make + ... + make install +``` + +Then: + +```bash + cd $HOME/code + git clone https://github.com/curl/curl + cd curl + autoreconf -fi + LDFLAGS="-Wl,-rpath,$HOME/code/boringssl/inst/lib" ./configure --with-ssl=$HOME/code/boringssl/inst --enable-ech + ...lots of output... + WARNING: ECH HTTPSRR enabled but marked EXPERIMENTAL. Use with caution. + make +``` + +The BoringSSL/AWS-LC APIs are fairly similar to those in our ECH-enabled +OpenSSL fork, so code changes are also in ``lib/vtls/openssl.c``, protected +via ``#ifdef OPENSSL_IS_BORINGSSL`` and are mostly obvious API variations. + +The BoringSSL/AWS-LC APIs however do not support the ``--ech pn:`` command +line variant as of now. + +## wolfSSL build + +wolfSSL also supports ECH and can be used by curl, so here's how: + +```bash + cd $HOME/code + git clone https://github.com/wolfSSL/wolfssl + cd wolfssl + ./autogen.sh + ./configure --prefix=$HOME/code/wolfssl/inst --enable-ech --enable-debug --enable-opensslextra + make + make install +``` + +The install prefix (``inst``) in the above causes wolfSSL to be installed there +and we seem to need that for the curl configure command to work out. The +``--enable-opensslextra`` turns out (after much faffing about;-) to be +important or else we get build problems with curl below. + +```bash + cd $HOME/code + git clone https://github.com/curl/curl + cd curl + autoreconf -fi + ./configure --with-wolfssl=$HOME/code/wolfssl/inst --enable-ech + make +``` + +There are some known issues with the ECH implementation in wolfSSL: + +- The main issue is that the client currently handles HelloRetryRequest + incorrectly. [HRR issue](https://github.com/wolfSSL/wolfssl/issues/6802).) + The HRR issue means that the client does not work for + [this ECH test web site](https://tls-ech.dev) and any other similarly configured + sites. +- There is also an issue related to so-called middlebox compatibility mode. + [middlebox compatibility issue](https://github.com/wolfSSL/wolfssl/issues/6774) + +### Code changes to support wolfSSL + +There are what seem like oddball differences: + +- The DoH URL in``$HOME/.curlrc`` can use `1.1.1.1` for OpenSSL but has to be + `one.one.one.one` for wolfSSL. The latter works for both, so OK, we us that. +- There seems to be some difference in CA databases too - the wolfSSL version + does not like ``defo.ie``, whereas the system and OpenSSL ones do. We can + ignore that for our purposes via ``--insecure``/``-k`` but would need to fix + for a real setup. (Browsers do like those certificates though.) + +Then there are some functional code changes: + +- tweak to ``configure.ac`` to check if wolfSSL has ECH or not +- added code to ``lib/vtls/wolfssl.c`` mirroring what's done in the + OpenSSL equivalent above. +- wolfSSL does not support ``--ech false`` or the ``--ech pn:`` command line + argument. + +The lack of support for ``--ech false`` is because wolfSSL has decided to +always at least GREASE if built to support ECH. In other words, GREASE is +a compile time choice for wolfSSL, but a runtime choice for OpenSSL or +BoringSSL/AWS-LC. (Both are reasonable.) + +## Additional notes + +### Supporting ECH without DoH + +All of the above only applies if DoH is being used. There should be a use-case +for ECH when DoH is not used by curl - if a system stub resolver supports DoT +or DoH, then, considering only ECH and the network threat model, it would make +sense for curl to support ECH without curl itself using DoH. The author for +example uses a combination of stubby+unbound as the system resolver listening +on localhost:53, so would fit this use-case. That said, it is unclear if +this is a niche that is worth trying to address. (The author is just as happy to +let curl use DoH to talk to the same public recursive that stubby might use:-) + +Assuming for the moment this is a use-case we would like to support, then if +DoH is not being used by curl, it is not clear at this time how to provide +support for ECH. One option would seem to be to extend the ``c-ares`` library +to support HTTPS RRs, but in that case it is not now clear whether such +changes would be attractive to the ``c-ares`` maintainers, nor whether the +"tag=value" extensibility inherent in the HTTPS/SVCB specification is a good +match for the ``c-ares`` approach of defining structures specific to decoded +answers for each supported RRtype. We are also not sure how many downstream +curl deployments actually make use of the ``c-ares`` library, which would +affect the utility of such changes. Another option might be to consider using +some other generic DNS library that does support HTTPS RRs, but it is unclear +if such a library could or would be used by all or almost all curl builds and +downstream releases of curl. + +Our current conclusion is that doing the above is likely best left until we +have some experience with the "using DoH" approach, so we are going to punt on +this for now. + +### Debugging + +Just a note to self as remembering this is a nuisance: + +```bash +LD_LIBRARY_PATH=$HOME/code/openssl:./lib/.libs gdb ./src/.libs/curl +``` + +### Localhost testing + +It can be useful to be able to run against a localhost OpenSSL ``s_server`` +for testing. We have published instructions for such +[localhost tests](https://github.com/defo-project/ech-dev-utils/blob/main/howtos/localhost-tests.md) +in another repository. Once you have that set up, you can start a server +and then run curl against that: + +```bash + cd $HOME/code/ech-dev-utils + ./scripts/echsvr.sh -d + ... +``` + +The ``echsvr.sh`` script supports many ECH-related options. Use ``echsvr.sh -h`` +for details. + +In another window: + +```bash + cd $HOME/code/curl/ + ./src/curl -vvv --insecure --connect-to foo.example.com:8443:localhost:8443 --ech ecl:AD7+DQA6uwAgACBix2B78sX+EQhEbxMspDOc8Z3xVS5aQpYP0Cxpc2AWPAAEAAEAAQALZXhhbXBsZS5jb20AAA== +``` + +### Automated use of ``retry_configs`` not supported so far... + +As of now we have not added support for using ``retry_config`` handling in the +application - for a command line tool, one can just use ``dig`` (or ``kdig``) +to get the HTTPS RR and pass the ECHConfigList from that on the command line, +if needed, or one can access the value from command line output in verbose more +and then reuse that in another invocation. + +Both our OpenSSL fork and BoringSSL/AWS-LC have APIs for both controlling GREASE +and accessing and logging ``retry_configs``, it seems wolfSSL has neither. + +### Testing ECH + +We have yet to add a robust test setup for ECH as that requires an ECH-enabled +test server. + +We have added two basic tests though, aiming to ensure that the client sends a +GREASE or real ECH extension when requested, and reacts correctly to the +failure of ECH in the latter case. (Given that `stunnel` has no ECH support.) + +As with other similar tests, those tests require the `stunnel` tool be +installed. On Ubuntu `sudo apt install stunnel4` achieves that. + +The test cases are: + +- data/test4000: GREASE ECH, expected result: connection succeeds +- data/test4001: real ECH, connection fails with error 101 (ECH required) diff --git a/curl/docs/EXPERIMENTAL.md b/curl/docs/EXPERIMENTAL.md new file mode 100644 index 0000000..43fc0fd --- /dev/null +++ b/curl/docs/EXPERIMENTAL.md @@ -0,0 +1,90 @@ + + +# Experimental + +Some features and functionality in curl and libcurl are considered +**EXPERIMENTAL**. + +Experimental support in curl means: + +1. Experimental features are provided to allow users to try them out and + provide feedback on functionality and API etc before they ship and get + "carved in stone". +2. You must enable the feature when invoking configure as otherwise curl is + not built with the feature present. +3. We strongly advise against using this feature in production. +4. **We reserve the right to change behavior** of the feature without sticking + to our API/ABI rules as we do for regular features, as long as it is marked + experimental. +5. Experimental features are clearly marked so in documentation. Beware. + +## Graduation + +1. Each experimental feature should have a set of documented requirements of + what is needed for that feature to graduate. Graduation means being removed + from the list of experiments. +2. An experiment should NOT graduate if it needs test cases to be disabled, + unless they are for minor features that are clearly documented as not + provided by the experiment and then the disabling should be managed inside + each affected test case. + +## Experimental features right now + +### HTTP/3 support (non-ngtcp2 backends) + +Graduation requirements: + +- The used libraries should be considered out-of-beta with a reasonable + expectation of a stable API going forward. + +- Using HTTP/3 with the given build should perform without risking busy-loops + +### The Rustls backend + +Graduation requirements: + +- a reasonable expectation of a stable API going forward. + +## ECH + +Use of the HTTPS resource record and Encrypted Client Hello (ECH) when using +DoH + +Graduation requirements: + +- ECH support exists in at least one widely used TLS library apart from + BoringSSL and wolfSSL. + +- feedback from users saying that ECH works for their use cases + +- it has been given time to mature, so no earlier than April 2025 (twelve + months after being added here) + +## SSL session import/export + +Import/Export of SSL sessions tickets in libcurl and curl command line +option '--ssl-session ' for faster TLS handshakes and use +of TLSv1.3/QUIC Early Data (0-RTT). + +Graduation requirements: + +- the implementation is considered safe + +- feedback from users saying that session export works for their use cases + +## HTTPS RR + +HTTPS records support is a requirement for ECH but is provided as a +stand-alone feature that is itself considered EXPERIMENTAL. + +Graduation requirements: + +- HTTPS records work for DoH, c-ares and the threaded resolver + +- HTTPS records can control ALPN and port number, at least + +- There are options to control HTTPS use diff --git a/curl/docs/FAQ.txt b/curl/docs/FAQ.txt new file mode 100644 index 0000000..9fae793 --- /dev/null +++ b/curl/docs/FAQ.txt @@ -0,0 +1,1560 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + +FAQ + + 1. Philosophy + 1.1 What is cURL? + 1.2 What is libcurl? + 1.3 What is curl not? + 1.4 When will you make curl do XXXX ? + 1.5 Who makes curl? + 1.6 What do you get for making curl? + 1.7 What about CURL from curl.com? + 1.8 I have a problem, who do I mail? + 1.9 Where do I buy commercial support for curl? + 1.10 How many are using curl? + 1.11 Why do you not update ca-bundle.crt + 1.12 I have a problem, who can I chat with? + 1.13 curl's ECCN number? + 1.14 How do I submit my patch? + 1.15 How do I port libcurl to my OS? + + 2. Install Related Problems + 2.1 configure fails when using static libraries + 2.2 Does curl work/build with other SSL libraries? + 2.3 How do I upgrade curl.exe in Windows? + 2.4 Does curl support SOCKS (RFC 1928) ? + + 3. Usage Problems + 3.1 curl: (1) SSL is disabled, https: not supported + 3.2 How do I tell curl to resume a transfer? + 3.3 Why does my posting using -F not work? + 3.4 How do I tell curl to run custom FTP commands? + 3.5 How can I disable the Accept: */* header? + 3.6 Does curl support ASP, XML, XHTML or HTML version Y? + 3.7 Can I use curl to delete/rename a file through FTP? + 3.8 How do I tell curl to follow HTTP redirects? + 3.9 How do I use curl in my favorite programming language? + 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP? + 3.11 How do I POST with a different Content-Type? + 3.12 Why do FTP-specific features over HTTP proxy fail? + 3.13 Why do my single/double quotes fail? + 3.14 Does curl support JavaScript or PAC (automated proxy config)? + 3.15 Can I do recursive fetches with curl? + 3.16 What certificates do I need when I use SSL? + 3.17 How do I list the root directory of an FTP server? + 3.18 Can I use curl to send a POST/PUT and not wait for a response? + 3.19 How do I get HTTP from a host using a specific IP address? + 3.20 How to SFTP from my user's home directory? + 3.21 Protocol xxx not supported or disabled in libcurl + 3.22 curl -X gives me HTTP problems + + 4. Running Problems + 4.2 Why do I get problems when I use & or % in the URL? + 4.3 How can I use {, }, [ or ] to specify multiple URLs? + 4.4 Why do I get downloaded data even though the webpage does not exist? + 4.5 Why do I get return code XXX from an HTTP server? + 4.5.1 "400 Bad Request" + 4.5.2 "401 Unauthorized" + 4.5.3 "403 Forbidden" + 4.5.4 "404 Not Found" + 4.5.5 "405 Method Not Allowed" + 4.5.6 "301 Moved Permanently" + 4.6 Can you tell me what error code 142 means? + 4.7 How do I keep usernames and passwords secret in curl command lines? + 4.8 I found a bug + 4.9 curl cannot authenticate to a server that requires NTLM? + 4.10 My HTTP request using HEAD, PUT or DELETE does not work + 4.11 Why do my HTTP range requests return the full document? + 4.12 Why do I get "certificate verify failed" ? + 4.13 Why is curl -R on Windows one hour off? + 4.14 Redirects work in browser but not with curl + 4.15 FTPS does not work + 4.16 My HTTP POST or PUT requests are slow + 4.17 Non-functional connect timeouts on Windows + 4.18 file:// URLs containing drive letters (Windows, NetWare) + 4.19 Why does not curl return an error when the network cable is unplugged? + 4.20 curl does not return error for HTTP non-200 responses + + 5. libcurl Issues + 5.1 Is libcurl thread-safe? + 5.2 How can I receive all data into a large memory chunk? + 5.3 How do I fetch multiple files with libcurl? + 5.4 Does libcurl do Winsock initialization on Win32 systems? + 5.5 Does CURLOPT_WRITEDATA and CURLOPT_READDATA work on Win32 ? + 5.6 What about Keep-Alive or persistent connections? + 5.7 Link errors when building libcurl on Windows + 5.8 libcurl.so.X: open failed: No such file or directory + 5.9 How does libcurl resolve hostnames? + 5.10 How do I prevent libcurl from writing the response to stdout? + 5.11 How do I make libcurl not receive the whole HTTP response? + 5.12 Can I make libcurl fake or hide my real IP address? + 5.13 How do I stop an ongoing transfer? + 5.14 Using C++ non-static functions for callbacks? + 5.15 How do I get an FTP directory listing? + 5.16 I want a different time-out + 5.17 Can I write a server with libcurl? + 5.18 Does libcurl use threads? + + 6. License Issues + 6.1 I have a GPL program, can I use the libcurl library? + 6.2 I have a closed-source program, can I use the libcurl library? + 6.3 I have a BSD licensed program, can I use the libcurl library? + 6.4 I have a program that uses LGPL libraries, can I use libcurl? + 6.5 Can I modify curl/libcurl for my program and keep the changes secret? + 6.6 Can you please change the curl/libcurl license to XXXX? + 6.7 What are my obligations when using libcurl in my commercial apps? + + 7. PHP/CURL Issues + 7.1 What is PHP/CURL? + 7.2 Who wrote PHP/CURL? + 7.3 Can I perform multiple requests using the same handle? + 7.4 Does PHP/CURL have dependencies? + + 8. Development + 8.1 Why does curl use C89? + 8.2 Will curl be rewritten? + +============================================================================== + +1. Philosophy + + 1.1 What is cURL? + + cURL is the name of the project. The name is a play on 'Client for URLs', + originally with URL spelled in uppercase to make it obvious it deals with + URLs. The fact it can also be read as 'see URL' also helped, it works as + an abbreviation for "Client URL Request Library" or why not the recursive + version: "curl URL Request Library". + + The cURL project produces two products: + + libcurl + + A client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, + GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, + RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS + and WSS. + + libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, + Kerberos, SPNEGO, HTTP form based upload, proxies, cookies, user+password + authentication, file transfer resume, http proxy tunneling and more. + + libcurl is highly portable, it builds and works identically on numerous + platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HP-UX, + IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, macOS, + Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS, Symbian, OSF, Android, + Minix, IBM TPF and more... + + libcurl is free, thread-safe, IPv6 compatible, feature rich, well + supported and fast. + + curl + + A command line tool for getting or sending data using URL syntax. + + Since curl uses libcurl, curl supports the same wide range of common + Internet protocols that libcurl does. + + We pronounce curl with an initial k sound. It rhymes with words like girl + and earl. This is a short WAV file to help you: + + https://media.merriam-webster.com/soundc11/c/curl0001.wav + + There are numerous sub-projects and related projects that also use the word + curl in the project names in various combinations, but you should take + notice that this FAQ is directed at the command-line tool named curl (and + libcurl the library), and may therefore not be valid for other curl-related + projects. (There is however a small section for the PHP/CURL in this FAQ.) + + 1.2 What is libcurl? + + libcurl is a reliable and portable library for doing Internet data transfers + using one or more of its supported Internet protocols. + + You can use libcurl freely in your application, be it open source, + commercial or closed-source. + + libcurl is most probably the most portable, most powerful and most often + used C-based multi-platform file transfer library on this planet - be it + open source or commercial. + + 1.3 What is curl not? + + curl is not a wget clone. That is a common misconception. Never, during + curl's development, have we intended curl to replace wget or compete on its + market. curl is targeted at single-shot file transfers. + + curl is not a website mirroring program. If you want to use curl to mirror + something: fine, go ahead and write a script that wraps around curl or use + libcurl to make it reality. + + curl is not an FTP site mirroring program. Sure, get and send FTP with curl + but if you want systematic and sequential behavior you should write a + script (or write a new program that interfaces libcurl) and do it. + + curl is not a PHP tool, even though it works perfectly well when used from + or with PHP (when using the PHP/CURL module). + + curl is not a program for a single operating system. curl exists, compiles, + builds and runs under a wide range of operating systems, including all + modern Unixes (and a bunch of older ones too), Windows, Amiga, OS/2, macOS, + QNX etc. + + 1.4 When will you make curl do XXXX ? + + We love suggestions of what to change in order to make curl and libcurl + better. We do however believe in a few rules when it comes to the future of + curl: + + curl -- the command line tool -- is to remain a non-graphical command line + tool. If you want GUIs or fancy scripting capabilities, you should look for + another tool that uses libcurl. + + We do not add things to curl that other small and available tools already do + well at the side. curl's output can be piped into another program or + redirected to another file for the next program to interpret. + + We focus on protocol related issues and improvements. If you want to do more + magic with the supported protocols than curl currently does, chances are + good we will agree. If you want to add more protocols, we may agree. + + If you want someone else to do all the work while you wait for us to + implement it for you, that is not a friendly attitude. We spend a + considerable time already on maintaining and developing curl. In order to + get more out of us, you should consider trading in some of your time and + effort in return. Simply go to the GitHub repository which resides at + https://github.com/curl/curl, fork the project, and create pull requests + with your proposed changes. + + If you write the code, chances are better that it will get into curl faster. + + 1.5 Who makes curl? + + curl and libcurl are not made by any single individual. Daniel Stenberg is + project leader and main developer, but other persons' submissions are + important and crucial. Anyone can contribute and post their changes and + improvements and have them inserted in the main sources (of course on the + condition that developers agree that the fixes are good). + + The full list of all contributors is found in the docs/THANKS file. + + curl is developed by a community, with Daniel at the wheel. + + 1.6 What do you get for making curl? + + Project cURL is entirely free and open. We do this voluntarily, mostly in + our spare time. Companies may pay individual developers to work on curl. + This is not controlled by nor supervised in any way by the curl project. + + We get help from companies. Haxx provides website, bandwidth, mailing lists + etc, GitHub hosts the primary git repository and other services like the bug + tracker at https://github.com/curl/curl. Also again, some companies have + sponsored certain parts of the development in the past and I hope some will + continue to do so in the future. + + If you want to support our project, consider a donation or a banner-program + or even better: by helping us with coding, documenting or testing etc. + + See also: https://curl.se/sponsors.html + + 1.7 What about CURL from curl.com? + + During the summer of 2001, curl.com was busy advertising their client-side + programming language for the web, named CURL. + + We are in no way associated with curl.com or their CURL programming + language. + + Our project name curl has been in effective use since 1998. We were not the + first computer related project to use the name "curl" and do not claim any + rights to the name. + + We recognize that we will be living in parallel with curl.com and wish them + every success. + + 1.8 I have a problem, who do I mail? + + Please do not mail any single individual unless you really need to. Keep + curl-related questions on a suitable mailing list. All available mailing + lists are listed in the MANUAL document and online at + https://curl.se/mail/ + + Keeping curl-related questions and discussions on mailing lists allows + others to join in and help, to share their ideas, to contribute their + suggestions and to spread their wisdom. Keeping discussions on public mailing + lists also allows for others to learn from this (both current and future + users thanks to the web based archives of the mailing lists), thus saving us + from having to repeat ourselves even more. Thanks for respecting this. + + If you have found or simply suspect a security problem in curl or libcurl, + submit all the details at https://hackerone.one/curl. On there we keep the + issue private while we investigate, confirm it, work and validate a fix and + agree on a time schedule for publication etc. That way we produce a fix in a + timely manner before the flaw is announced to the world, reducing the impact + the problem risks having on existing users. + + Security issues can also be taking to the curl security team by emailing + security at curl.se (closed list of receivers, mails are not disclosed). + + 1.9 Where do I buy commercial support for curl? + + curl is fully open source. It means you can hire any skilled engineer to fix + your curl-related problems. + + We list available alternatives on the curl website: + https://curl.se/support.html + + 1.10 How many are using curl? + + It is impossible to tell. + + We do not know how many users that knowingly have installed and use curl. + + We do not know how many users that use curl without knowing that they are in + fact using it. + + We do not know how many users that downloaded or installed curl and then + never use it. + + In 2020, we estimate that curl runs in roughly ten billion installations + world wide. + + 1.11 Why do you not update ca-bundle.crt + + In the cURL project we have decided not to attempt to keep this file updated + (or even present) since deciding what to add to a ca cert bundle is an + undertaking we have not been ready to accept, and the one we can get from + Mozilla is perfectly fine so there is no need to duplicate that work. + + Today, with many services performed over HTTPS, every operating system + should come with a default ca cert bundle that can be deemed somewhat + trustworthy and that collection (if reasonably updated) should be deemed to + be a lot better than a private curl version. + + If you want the most recent collection of ca certs that Mozilla Firefox + uses, we recommend that you extract the collection yourself from Mozilla + Firefox (by running 'make ca-bundle), or by using our online service setup + for this purpose: https://curl.se/docs/caextract.html + + 1.12 I have a problem who, can I chat with? + + There is a bunch of friendly people hanging out in the #curl channel on the + IRC network libera.chat. If you are polite and nice, chances are good that + you can get -- or provide -- help instantly. + + 1.13 curl's ECCN number? + + The US government restricts exports of software that contains or uses + cryptography. When doing so, the Export Control Classification Number (ECCN) + is used to identify the level of export control etc. + + Apache Software Foundation gives a good explanation of ECCNs at + https://www.apache.org/dev/crypto.html + + We believe curl's number might be ECCN 5D002, another possibility is + 5D992. It seems necessary to write them (the authority that administers ECCN + numbers), asking to confirm. + + Comprehensible explanations of the meaning of such numbers and how to obtain + them (resp.) are here + + https://www.bis.doc.gov/licensing/exportingbasics.htm + https://www.bis.doc.gov/licensing/do_i_needaneccn.html + + An incomprehensible description of the two numbers above is here + https://www.bis.doc.gov/index.php/documents/new-encryption/1653-ccl5-pt2-3 + + 1.14 How do I submit my patch? + + We strongly encourage you to submit changes and improvements directly as + "pull requests" on GitHub: https://github.com/curl/curl/pulls + + If you for any reason cannot or will not deal with GitHub, send your patch to + the curl-library mailing list. We are many subscribers there and there are + lots of people who can review patches, comment on them and "receive" them + properly. + + Lots of more details are found in the CONTRIBUTE.md and INTERNALS.md + documents. + + 1.15 How do I port libcurl to my OS? + + Here's a rough step-by-step: + + 1. copy a suitable lib/config-*.h file as a start to lib/config-[youros].h + + 2. edit lib/config-[youros].h to match your OS and setup + + 3. edit lib/curl_setup.h to include config-[youros].h when your OS is + detected by the preprocessor, in the style others already exist + + 4. compile lib/*.c and make them into a library + + +2. Install Related Problems + + 2.1 configure fails when using static libraries + + You may find that configure fails to properly detect the entire dependency + chain of libraries when you provide static versions of the libraries that + configure checks for. + + The reason why static libraries is much harder to deal with is that for them + we do not get any help but the script itself must know or check what more + libraries that are needed (with shared libraries, that dependency "chain" is + handled automatically). This is an error-prone process and one that also + tends to vary over time depending on the release versions of the involved + components and may also differ between operating systems. + + For that reason, configure does few attempts to actually figure this out and + you are instead encouraged to set LIBS and LDFLAGS accordingly when you + invoke configure, and point out the needed libraries and set the necessary + flags yourself. + + 2.2 Does curl work with other SSL libraries? + + curl has been written to use a generic SSL function layer internally, and + that SSL functionality can then be provided by one out of many different SSL + backends. + + curl can be built to use one of the following SSL alternatives: OpenSSL, + LibreSSL, BoringSSL, AWS-LC, GnuTLS, wolfSSL, mbedTLS, Secure Transport + (native iOS/macOS), Schannel (native Windows), BearSSL or Rustls. They all + have their pros and cons, and we try to maintain a comparison of them here: + https://curl.se/docs/ssl-compared.html + + 2.3 How do I upgrade curl.exe in Windows? + + The curl tool that is shipped as an integrated component of Windows 10 and + Windows 11 is managed by Microsoft. If you were to delete the file or + replace it with a newer version downloaded from https://curl.se/windows, + then Windows Update will cease to work on your system. + + There is no way to independently force an upgrade of the curl.exe that is + part of Windows other than through the regular Windows update process. There + is also nothing the curl project itself can do about this, since this is + managed and controlled entirely by Microsoft as owners of the operating + system. + + You can always download and install the latest version of curl for Windows + from https://curl.se/windows into a separate location. + + 2.4 Does curl support SOCKS (RFC 1928) ? + + Yes, SOCKS 4 and 5 are supported. + +3. Usage problems + + 3.1 curl: (1) SSL is disabled, https: not supported + + If you get this output when trying to get anything from an HTTPS server, it + means that the instance of curl/libcurl that you are using was built without + support for this protocol. + + This could have happened if the configure script that was run at build time + could not find all libs and include files curl requires for SSL to work. If + the configure script fails to find them, curl is simply built without SSL + support. + + To get HTTPS support into a curl that was previously built but that reports + that HTTPS is not supported, you should dig through the document and logs + and check out why the configure script does not find the SSL libs and/or + include files. + + Also, check out the other paragraph in this FAQ labeled "configure does not + find OpenSSL even when it is installed". + + 3.2 How do I tell curl to resume a transfer? + + curl supports resumed transfers both ways on both FTP and HTTP. + Try the -C option. + + 3.3 Why does my posting using -F not work? + + You cannot arbitrarily use -F or -d, the choice between -F or -d depends on + the HTTP operation you need curl to do and what the web server that will + receive your post expects. + + If the form you are trying to submit uses the type 'multipart/form-data', + then and only then you must use the -F type. In all the most common cases, + you should use -d which then causes a posting with the type + 'application/x-www-form-urlencoded'. + + This is described in some detail in the MANUAL and TheArtOfHttpScripting + documents, and if you do not understand it the first time, read it again + before you post questions about this to the mailing list. Also, try reading + through the mailing list archives for old postings and questions regarding + this. + + 3.4 How do I tell curl to run custom FTP commands? + + You can tell curl to perform optional commands both before and/or after a + file transfer. Study the -Q/--quote option. + + Since curl is used for file transfers, you do not normally use curl to + perform FTP commands without transferring anything. Therefore you must + always specify a URL to transfer to/from even when doing custom FTP + commands, or use -I which implies the "no body" option sent to libcurl. + + 3.5 How can I disable the Accept: */* header? + + You can change all internally generated headers by adding a replacement with + the -H/--header option. By adding a header with empty contents you safely + disable that one. Use -H "Accept:" to disable that specific header. + + 3.6 Does curl support ASP, XML, XHTML or HTML version Y? + + To curl, all contents are alike. It does not matter how the page was + generated. It may be ASP, PHP, Perl, shell-script, SSI or plain HTML + files. There is no difference to curl and it does not even know what kind of + language that generated the page. + + See also item 3.14 regarding JavaScript. + + 3.7 Can I use curl to delete/rename a file through FTP? + + Yes. You specify custom FTP commands with -Q/--quote. + + One example would be to delete a file after you have downloaded it: + + curl -O ftp://example.com/coolfile -Q '-DELE coolfile' + + or rename a file after upload: + + curl -T infile ftp://example.com/dir/ -Q "-RNFR infile" -Q "-RNTO newname" + + 3.8 How do I tell curl to follow HTTP redirects? + + curl does not follow so-called redirects by default. The Location: header + that informs the client about this is only interpreted if you are using the + -L/--location option. As in: + + curl -L http://example.com + + Not all redirects are HTTP ones, see 4.14 + + 3.9 How do I use curl in my favorite programming language? + + Many programming languages have interfaces/bindings that allow you to use + curl without having to use the command line tool. If you are fluent in such + a language, you may prefer to use one of these interfaces instead. + + Find out more about which languages that support curl directly, and how to + install and use them, in the libcurl section of the curl website: + https://curl.se/libcurl/ + + All the various bindings to libcurl are made by other projects and people, + outside of the cURL project. The cURL project itself only produces libcurl + with its plain C API. If you do not find anywhere else to ask you can ask + about bindings on the curl-library list too, but be prepared that people on + that list may not know anything about bindings. + + In December 2021, there were interfaces available for the following + languages: Ada95, Basic, C, C++, Ch, Cocoa, D, Delphi, Dylan, Eiffel, + Euphoria, Falcon, Ferite, Gambas, glib/GTK+, Go, Guile, Harbour, Haskell, + Java, Julia, Lisp, Lua, Mono, .NET, node.js, Object-Pascal, OCaml, Pascal, + Perl, PHP, PostgreSQL, Python, R, Rexx, Ring, RPG, Ruby, Rust, Scheme, + Scilab, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro, + Q, wxwidgets, XBLite and Xoho. By the time you read this, additional ones + may have appeared. + + 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP? + + curl adheres to the HTTP spec, which basically means you can play with *any* + protocol that is built on top of HTTP. Protocols such as SOAP, WebDAV and + XML-RPC are all such ones. You can use -X to set custom requests and -H to + set custom headers (or replace internally generated ones). + + Using libcurl is of course just as good and you would just use the proper + library options to do the same. + + 3.11 How do I POST with a different Content-Type? + + You can always replace the internally generated headers with -H/--header. + To make a simple HTTP POST with text/xml as content-type, do something like: + + curl -d "datatopost" -H "Content-Type: text/xml" [URL] + + 3.12 Why do FTP-specific features over HTTP proxy fail? + + Because when you use an HTTP proxy, the protocol spoken on the network will + be HTTP, even if you specify an FTP URL. This effectively means that you + normally cannot use FTP-specific features such as FTP upload and FTP quote + etc. + + There is one exception to this rule, and that is if you can "tunnel through" + the given HTTP proxy. Proxy tunneling is enabled with a special option (-p) + and is generally not available as proxy admins usually disable tunneling to + ports other than 443 (which is used for HTTPS access through proxies). + + 3.13 Why do my single/double quotes fail? + + To specify a command line option that includes spaces, you might need to + put the entire option within quotes. Like in: + + curl -d " with spaces " example.com + + or perhaps + + curl -d ' with spaces ' example.com + + Exactly what kind of quotes and how to do this is entirely up to the shell + or command line interpreter that you are using. For most Unix shells, you + can more or less pick either single (') or double (") quotes. For + Windows/DOS command prompts you must use double (") quotes, and if the + option string contains inner double quotes you can escape them with a + backslash. + + For Windows powershell the arguments are not always passed on as expected + because curl is not a powershell script. You may or may not be able to use + single quotes. To escape inner double quotes seems to require a + backslash-backtick escape sequence and the outer quotes as double quotes. + + Please study the documentation for your particular environment. Examples in + the curl docs will use a mix of both of these as shown above. You must + adjust them to work in your environment. + + Remember that curl works and runs on more operating systems than most single + individuals have ever tried. + + 3.14 Does curl support JavaScript or PAC (automated proxy config)? + + Many webpages do magic stuff using embedded JavaScript. curl and libcurl + have no built-in support for that, so it will be treated just like any other + contents. + + .pac files are a Netscape invention and are sometimes used by organizations + to allow them to differentiate which proxies to use. The .pac contents is + just a JavaScript program that gets invoked by the browser and that returns + the name of the proxy to connect to. Since curl does not support JavaScript, + it cannot support .pac proxy configuration either. + + Some workarounds usually suggested to overcome this JavaScript dependency: + + Depending on the JavaScript complexity, write up a script that translates it + to another language and execute that. + + Read the JavaScript code and rewrite the same logic in another language. + + Implement a JavaScript interpreter, people have successfully used the + Mozilla JavaScript engine in the past. + + Ask your admins to stop this, for a static proxy setup or similar. + + 3.15 Can I do recursive fetches with curl? + + No. curl itself has no code that performs recursive operations, such as + those performed by wget and similar tools. + + There exists wrapper scripts with that functionality (for example the + curlmirror perl script), and you can write programs based on libcurl to do + it, but the command line tool curl itself cannot. + + 3.16 What certificates do I need when I use SSL? + + There are three different kinds of "certificates" to keep track of when we + talk about using SSL-based protocols (HTTPS or FTPS) using curl or libcurl. + + CLIENT CERTIFICATE + + The server you communicate with may require that you can provide this in + order to prove that you actually are who you claim to be. If the server + does not require this, you do not need a client certificate. + + A client certificate is always used together with a private key, and the + private key has a pass phrase that protects it. + + SERVER CERTIFICATE + + The server you communicate with has a server certificate. You can and should + verify this certificate to make sure that you are truly talking to the real + server and not a server impersonating it. + + CERTIFICATE AUTHORITY CERTIFICATE ("CA cert") + + You often have several CA certs in a CA cert bundle that can be used to + verify a server certificate that was signed by one of the authorities in the + bundle. curl does not come with a CA cert bundle but most curl installs + provide one. You can also override the default. + + The server certificate verification process is made by using a Certificate + Authority certificate ("CA cert") that was used to sign the server + certificate. Server certificate verification is enabled by default in curl + and libcurl and is often the reason for problems as explained in FAQ entry + 4.12 and the SSLCERTS document + (https://curl.se/docs/sslcerts.html). Server certificates that are + "self-signed" or otherwise signed by a CA that you do not have a CA cert + for, cannot be verified. If the verification during a connect fails, you are + refused access. You then need to explicitly disable the verification to + connect to the server. + + 3.17 How do I list the root directory of an FTP server? + + There are two ways. The way defined in the RFC is to use an encoded slash + in the first path part. List the "/tmp" directory like this: + + curl ftp://ftp.example.com/%2ftmp/ + + or the not-quite-kosher-but-more-readable way, by simply starting the path + section of the URL with a slash: + + curl ftp://ftp.example.com//tmp/ + + 3.18 Can I use curl to send a POST/PUT and not wait for a response? + + No. + + You can easily write your own program using libcurl to do such stunts. + + 3.19 How do I get HTTP from a host using a specific IP address? + + For example, you may be trying out a website installation that is not yet in + the DNS. Or you have a site using multiple IP addresses for a given host + name and you want to address a specific one out of the set. + + Set a custom Host: header that identifies the server name you want to reach + but use the target IP address in the URL: + + curl --header "Host: www.example.com" http://127.0.0.1/ + + You can also opt to add faked hostname entries to curl with the --resolve + option. That has the added benefit that things like redirects will also work + properly. The above operation would instead be done as: + + curl --resolve www.example.com:80:127.0.0.1 http://www.example.com/ + + 3.20 How to SFTP from my user's home directory? + + Contrary to how FTP works, SFTP and SCP URLs specify the exact directory to + work with. It means that if you do not specify that you want the user's home + directory, you get the actual root directory. + + To specify a file in your user's home directory, you need to use the correct + URL syntax which for SFTP might look similar to: + + curl -O -u user:password sftp://example.com/~/file.txt + + and for SCP it is just a different protocol prefix: + + curl -O -u user:password scp://example.com/~/file.txt + + 3.21 Protocol xxx not supported or disabled in libcurl + + When passing on a URL to curl to use, it may respond that the particular + protocol is not supported or disabled. The particular way this error message + is phrased is because curl does not make a distinction internally of whether + a particular protocol is not supported (i.e. never got any code added that + knows how to speak that protocol) or if it was explicitly disabled. curl can + be built to only support a given set of protocols, and the rest would then + be disabled or not supported. + + Note that this error will also occur if you pass a wrongly spelled protocol + part as in "htpt://example.com" or as in the less evident case if you prefix + the protocol part with a space as in " http://example.com/". + + 3.22 curl -X gives me HTTP problems + + In normal circumstances, -X should hardly ever be used. + + By default you use curl without explicitly saying which request method to + use when the URL identifies an HTTP transfer. If you just pass in a URL like + "curl http://example.com" it will use GET. If you use -d or -F curl will use + POST, -I will cause a HEAD and -T will make it a PUT. + + If for whatever reason you are not happy with these default choices that curl + does for you, you can override those request methods by specifying -X + [WHATEVER]. This way you can for example send a DELETE by doing "curl -X + DELETE [URL]". + + It is thus pointless to do "curl -XGET [URL]" as GET would be used anyway. + In the same vein it is pointless to do "curl -X POST -d data [URL]". You can + make a fun and somewhat rare request that sends a request-body in a GET + request with something like "curl -X GET -d data [URL]" + + Note that -X does not actually change curl's behavior as it only modifies the + actual string sent in the request, but that may of course trigger a + different set of events. + + Accordingly, by using -XPOST on a command line that for example would follow + a 303 redirect, you will effectively prevent curl from behaving + correctly. Be aware. + + +4. Running Problems + + 4.2 Why do I get problems when I use & or % in the URL? + + In general Unix shells, the & symbol is treated specially and when used, it + runs the specified command in the background. To safely send the & as a part + of a URL, you should quote the entire URL by using single (') or double (") + quotes around it. Similar problems can also occur on some shells with other + characters, including ?*!$~(){}<>\|;`. When in doubt, quote the URL. + + An example that would invoke a remote CGI that uses &-symbols could be: + + curl 'http://www.example.com/cgi-bin/query?text=yes&q=curl' + + In Windows, the standard DOS shell treats the percent sign specially and you + need to use TWO percent signs for each single one you want to use in the + URL. + + If you want a literal percent sign to be part of the data you pass in a POST + using -d/--data you must encode it as '%25' (which then also needs the + percent sign doubled on Windows machines). + + 4.3 How can I use {, }, [ or ] to specify multiple URLs? + + Because those letters have a special meaning to the shell, to be used in + a URL specified to curl you must quote them. + + An example that downloads two URLs (sequentially) would be: + + curl '{curl,www}.haxx.se' + + To be able to use those characters as actual parts of the URL (without using + them for the curl URL "globbing" system), use the -g/--globoff option: + + curl -g 'www.example.com/weirdname[].html' + + 4.4 Why do I get downloaded data even though the webpage does not exist? + + curl asks remote servers for the page you specify. If the page does not exist + at the server, the HTTP protocol defines how the server should respond and + that means that headers and a "page" will be returned. That is simply how + HTTP works. + + By using the --fail option you can tell curl explicitly to not get any data + if the HTTP return code does not say success. + + 4.5 Why do I get return code XXX from an HTTP server? + + RFC 2616 clearly explains the return codes. This is a short transcript. Go + read the RFC for exact details: + + 4.5.1 "400 Bad Request" + + The request could not be understood by the server due to malformed + syntax. The client SHOULD NOT repeat the request without modifications. + + 4.5.2 "401 Unauthorized" + + The request requires user authentication. + + 4.5.3 "403 Forbidden" + + The server understood the request, but is refusing to fulfill it. + Authorization will not help and the request SHOULD NOT be repeated. + + 4.5.4 "404 Not Found" + + The server has not found anything matching the Request-URI. No indication + is given as to whether the condition is temporary or permanent. + + 4.5.5 "405 Method Not Allowed" + + The method specified in the Request-Line is not allowed for the resource + identified by the Request-URI. The response MUST include an Allow header + containing a list of valid methods for the requested resource. + + 4.5.6 "301 Moved Permanently" + + If you get this return code and an HTML output similar to this: + +

    Moved Permanently

    The document has moved
    here. + + it might be because you requested a directory URL but without the trailing + slash. Try the same operation again _with_ the trailing URL, or use the + -L/--location option to follow the redirection. + + 4.6 Can you tell me what error code 142 means? + + All curl error codes are described at the end of the man page, in the + section called "EXIT CODES". + + Error codes that are larger than the highest documented error code means + that curl has exited due to a crash. This is a serious error, and we + appreciate a detailed bug report from you that describes how we could go + ahead and repeat this. + + 4.7 How do I keep usernames and passwords secret in curl command lines? + + This problem has two sides: + + The first part is to avoid having clear-text passwords in the command line + so that they do not appear in 'ps' outputs and similar. That is easily + avoided by using the "-K" option to tell curl to read parameters from a file + or stdin to which you can pass the secret info. curl itself will also + attempt to "hide" the given password by blanking out the option - this + does not work on all platforms. + + To keep the passwords in your account secret from the rest of the world is + not a task that curl addresses. You could of course encrypt them somehow to + at least hide them from being read by human eyes, but that is not what + anyone would call security. + + Also note that regular HTTP (using Basic authentication) and FTP passwords + are sent as cleartext across the network. All it takes for anyone to fetch + them is to listen on the network. Eavesdropping is easy. Use more secure + authentication methods (like Digest, Negotiate or even NTLM) or consider the + SSL-based alternatives HTTPS and FTPS. + + 4.8 I found a bug + + It is not a bug if the behavior is documented. Read the docs first. + Especially check out the KNOWN_BUGS file, it may be a documented bug. + + If it is a problem with a binary you have downloaded or a package for your + particular platform, try contacting the person who built the package/archive + you have. + + If there is a bug, read the BUGS document first. Then report it as described + in there. + + 4.9 curl cannot authenticate to a server that requires NTLM? + + NTLM support requires OpenSSL, GnuTLS, mbedTLS, Secure Transport, or + Microsoft Windows libraries at build-time to provide this functionality. + + 4.10 My HTTP request using HEAD, PUT or DELETE does not work + + Many web servers allow or demand that the administrator configures the + server properly for these requests to work on the web server. + + Some servers seem to support HEAD only on certain kinds of URLs. + + To fully grasp this, try the documentation for the particular server + software you are trying to interact with. This is not anything curl can do + anything about. + + 4.11 Why do my HTTP range requests return the full document? + + Because the range may not be supported by the server, or the server may + choose to ignore it and return the full document anyway. + + 4.12 Why do I get "certificate verify failed" ? + + When you invoke curl and get an error 60 error back it means that curl + could not verify that the server's certificate was good. curl verifies the + certificate using the CA cert bundle and verifying for which names the + certificate has been granted. + + To completely disable the certificate verification, use -k. This does + however enable man-in-the-middle attacks and makes the transfer INSECURE. + We strongly advise against doing this for more than experiments. + + If you get this failure with a CA cert bundle installed and used, the + server's certificate might not be signed by one of the CA's in your CA + store. It might for example be self-signed. You then correct this problem by + obtaining a valid CA cert for the server. Or again, decrease the security by + disabling this check. + + At times, you find that the verification works in your favorite browser but + fails in curl. When this happens, the reason is usually that the server + sends an incomplete cert chain. The server is mandated to send all + "intermediate certificates" but does not. This typically works with browsers + anyway since they A) cache such certs and B) supports AIA which downloads + such missing certificates on demand. This is a server misconfiguration. A + good way to figure out if this is the case it to use the SSL Labs server + test and check the certificate chain: https://www.ssllabs.com/ssltest/ + + Details are also in the SSLCERTS.md document, found online here: + https://curl.se/docs/sslcerts.html + + 4.13 Why is curl -R on Windows one hour off? + + Since curl 7.53.0 this issue should be fixed as long as curl was built with + any modern compiler that allows for a 64-bit curl_off_t type. For older + compilers or prior curl versions it may set a time that appears one hour off. + This happens due to a flaw in how Windows stores and uses file modification + times and it is not easily worked around. For more details read this: + https://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug-and-getting + + 4.14 Redirects work in browser but not with curl + + curl supports HTTP redirects well (see item 3.8). Browsers generally support + at least two other ways to perform redirects that curl does not: + + Meta tags. You can write an HTML tag that will cause the browser to redirect + to another given URL after a certain time. + + JavaScript. You can write a JavaScript program embedded in an HTML page that + redirects the browser to another given URL. + + There is no way to make curl follow these redirects. You must either + manually figure out what the page is set to do, or write a script that parses + the results and fetches the new URL. + + 4.15 FTPS does not work + + curl supports FTPS (sometimes known as FTP-SSL) both implicit and explicit + mode. + + When a URL is used that starts with FTPS://, curl assumes implicit SSL on + the control connection and will therefore immediately connect and try to + speak SSL. FTPS:// connections default to port 990. + + To use explicit FTPS, you use an FTP:// URL and the --ssl-reqd option (or one + of its related flavors). This is the most common method, and the one + mandated by RFC 4217. This kind of connection will then of course use the + standard FTP port 21 by default. + + 4.16 My HTTP POST or PUT requests are slow + + libcurl makes all POST and PUT requests (except for requests with a small + request body) use the "Expect: 100-continue" header. This header allows the + server to deny the operation early so that libcurl can bail out before having + to send any data. This is useful in authentication cases and others. + + However, many servers do not implement the Expect: stuff properly and if the + server does not respond (positively) within 1 second libcurl will continue + and send off the data anyway. + + You can disable libcurl's use of the Expect: header the same way you disable + any header, using -H / CURLOPT_HTTPHEADER, or by forcing it to use HTTP 1.0. + + 4.17 Non-functional connect timeouts + + In most Windows setups having a timeout longer than 21 seconds make no + difference, as it will only send 3 TCP SYN packets and no more. The second + packet sent three seconds after the first and the third six seconds after + the second. No more than three packets are sent, no matter how long the + timeout is set. + + See option TcpMaxConnectRetransmissions on this page: + https://support.microsoft.com/en-us/kb/175523/en-us + + Also, even on non-Windows systems there may run a firewall or anti-virus + software or similar that accepts the connection but does not actually do + anything else. This will make (lib)curl to consider the connection connected + and thus the connect timeout will not trigger. + + 4.18 file:// URLs containing drive letters (Windows, NetWare) + + When using curl to try to download a local file, one might use a URL + in this format: + + file://D:/blah.txt + + you will find that even if D:\blah.txt does exist, curl returns a 'file + not found' error. + + According to RFC 1738 (https://www.ietf.org/rfc/rfc1738.txt), + file:// URLs must contain a host component, but it is ignored by + most implementations. In the above example, 'D:' is treated as the + host component, and is taken away. Thus, curl tries to open '/blah.txt'. + If your system is installed to drive C:, that will resolve to 'C:\blah.txt', + and if that does not exist you will get the not found error. + + To fix this problem, use file:// URLs with *three* leading slashes: + + file:///D:/blah.txt + + Alternatively, if it makes more sense, specify 'localhost' as the host + component: + + file://localhost/D:/blah.txt + + In either case, curl should now be looking for the correct file. + + 4.19 Why does not curl return an error when the network cable is unplugged? + + Unplugging a cable is not an error situation. The TCP/IP protocol stack + was designed to be fault tolerant, so even though there may be a physical + break somewhere the connection should not be affected, just possibly + delayed. Eventually, the physical break will be fixed or the data will be + re-routed around the physical problem through another path. + + In such cases, the TCP/IP stack is responsible for detecting when the + network connection is irrevocably lost. Since with some protocols it is + perfectly legal for the client to wait indefinitely for data, the stack may + never report a problem, and even when it does, it can take up to 20 minutes + for it to detect an issue. The curl option --keepalive-time enables + keep-alive support in the TCP/IP stack which makes it periodically probe the + connection to make sure it is still available to send data. That should + reliably detect any TCP/IP network failure. + + TCP keep alive will not detect the network going down before the TCP/IP + connection is established (e.g. during a DNS lookup) or using protocols that + do not use TCP. To handle those situations, curl offers a number of timeouts + on its own. --speed-limit/--speed-time will abort if the data transfer rate + falls too low, and --connect-timeout and --max-time can be used to put an + overall timeout on the connection phase or the entire transfer. + + A libcurl-using application running in a known physical environment (e.g. + an embedded device with only a single network connection) may want to act + immediately if its lone network connection goes down. That can be achieved + by having the application monitor the network connection on its own using an + OS-specific mechanism, then signaling libcurl to abort (see also item 5.13). + + 4.20 curl does not return error for HTTP non-200 responses + + Correct. Unless you use -f (--fail). + + When doing HTTP transfers, curl will perform exactly what you are asking it + to do and if successful it will not return an error. You can use curl to + test your web server's "file not found" page (that gets 404 back), you can + use it to check your authentication protected webpages (that gets a 401 + back) and so on. + + The specific HTTP response code does not constitute a problem or error for + curl. It simply sends and delivers HTTP as you asked and if that worked, + everything is fine and dandy. The response code is generally providing more + higher level error information that curl does not care about. The error was + not in the HTTP transfer. + + If you want your command line to treat error codes in the 400 and up range + as errors and thus return a non-zero value and possibly show an error + message, curl has a dedicated option for that: -f (CURLOPT_FAILONERROR in + libcurl speak). + + You can also use the -w option and the variable %{response_code} to extract + the exact response code that was returned in the response. + +5. libcurl Issues + + 5.1 Is libcurl thread-safe? + + Yes. + + We have written the libcurl code specifically adjusted for multi-threaded + programs. libcurl will use thread-safe functions instead of non-safe ones if + your system has such. Note that you must never share the same handle in + multiple threads. + + There may be some exceptions to thread safety depending on how libcurl was + built. Please review the guidelines for thread safety to learn more: + https://curl.se/libcurl/c/threadsafe.html + + 5.2 How can I receive all data into a large memory chunk? + + [ See also the examples/getinmemory.c source ] + + You are in full control of the callback function that gets called every time + there is data received from the remote server. You can make that callback do + whatever you want. You do not have to write the received data to a file. + + One solution to this problem could be to have a pointer to a struct that you + pass to the callback function. You set the pointer using the + CURLOPT_WRITEDATA option. Then that pointer will be passed to the callback + instead of a FILE * to a file: + + /* imaginary struct */ + struct MemoryStruct { + char *memory; + size_t size; + }; + + /* imaginary callback function */ + size_t + WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data) + { + size_t realsize = size * nmemb; + struct MemoryStruct *mem = (struct MemoryStruct *)data; + + mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1); + if (mem->memory) { + memcpy(&(mem->memory[mem->size]), ptr, realsize); + mem->size += realsize; + mem->memory[mem->size] = 0; + } + return realsize; + } + + 5.3 How do I fetch multiple files with libcurl? + + libcurl has excellent support for transferring multiple files. You should + just repeatedly set new URLs with curl_easy_setopt() and then transfer it + with curl_easy_perform(). The handle you get from curl_easy_init() is not + only reusable, but you are even encouraged to reuse it if you can, as that + will enable libcurl to use persistent connections. + + 5.4 Does libcurl do Winsock initialization on Win32 systems? + + Yes, if told to in the curl_global_init() call. + + 5.5 Does CURLOPT_WRITEDATA and CURLOPT_READDATA work on Win32 ? + + Yes, but you cannot open a FILE * and pass the pointer to a DLL and have + that DLL use the FILE * (as the DLL and the client application cannot access + each others' variable memory areas). If you set CURLOPT_WRITEDATA you must + also use CURLOPT_WRITEFUNCTION as well to set a function that writes the + file, even if that simply writes the data to the specified FILE *. + Similarly, if you use CURLOPT_READDATA you must also specify + CURLOPT_READFUNCTION. + + 5.6 What about Keep-Alive or persistent connections? + + curl and libcurl have excellent support for persistent connections when + transferring several files from the same server. curl will attempt to reuse + connections for all URLs specified on the same command line/config file, and + libcurl will reuse connections for all transfers that are made using the + same libcurl handle. + + When you use the easy interface the connection cache is kept within the easy + handle. If you instead use the multi interface, the connection cache will be + kept within the multi handle and will be shared among all the easy handles + that are used within the same multi handle. + + 5.7 Link errors when building libcurl on Windows + + You need to make sure that your project, and all the libraries (both static + and dynamic) that it links against, are compiled/linked against the same run + time library. + + This is determined by the /MD, /ML, /MT (and their corresponding /M?d) + options to the command line compiler. /MD (linking against MSVCRT dll) seems + to be the most commonly used option. + + When building an application that uses the static libcurl library, you must + add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for + dynamic import symbols. If you are using Visual Studio, you need to instead + add CURL_STATICLIB in the "Preprocessor Definitions" section. + + If you get a linker error like "unknown symbol __imp__curl_easy_init ..." you + have linked against the wrong (static) library. If you want to use the + libcurl.dll and import lib, you do not need any extra CFLAGS, but use one of + the import libraries below. These are the libraries produced by the various + lib/Makefile.* files: + + Target: static lib. import lib for libcurl*.dll. + ----------------------------------------------------------- + MinGW: libcurl.a libcurldll.a + MSVC (release): libcurl.lib libcurl_imp.lib + MSVC (debug): libcurld.lib libcurld_imp.lib + Borland: libcurl.lib libcurl_imp.lib + + 5.8 libcurl.so.X: open failed: No such file or directory + + This is an error message you might get when you try to run a program linked + with a shared version of libcurl and your runtime linker (ld.so) could not + find the shared library named libcurl.so.X. (Where X is the number of the + current libcurl ABI, typically 3 or 4). + + You need to make sure that ld.so finds libcurl.so.X. You can do that + multiple ways, and it differs somewhat between different operating systems. + They are usually: + + * Add an option to the linker command line that specify the hard-coded path + the runtime linker should check for the lib (usually -R) + + * Set an environment variable (LD_LIBRARY_PATH for example) where ld.so + should check for libs + + * Adjust the system's config to check for libs in the directory where you have + put the library (like Linux's /etc/ld.so.conf) + + 'man ld.so' and 'man ld' will tell you more details + + 5.9 How does libcurl resolve hostnames? + + libcurl supports a large number of name resolve functions. One of them is + picked at build-time and will be used unconditionally. Thus, if you want to + change name resolver function you must rebuild libcurl and tell it to use a + different function. + + - The non-IPv6 resolver that can use one of four different hostname resolve + calls (depending on what your system supports): + + A - gethostbyname() + B - gethostbyname_r() with 3 arguments + C - gethostbyname_r() with 5 arguments + D - gethostbyname_r() with 6 arguments + + - The IPv6-resolver that uses getaddrinfo() + + - The c-ares based name resolver that uses the c-ares library for resolves. + Using this offers asynchronous name resolves. + + - The threaded resolver (default option on Windows). It uses: + + A - gethostbyname() on plain IPv4 hosts + B - getaddrinfo() on IPv6 enabled hosts + + Also note that libcurl never resolves or reverse-lookups addresses given as + pure numbers, such as 127.0.0.1 or ::1. + + 5.10 How do I prevent libcurl from writing the response to stdout? + + libcurl provides a default built-in write function that writes received data + to stdout. Set the CURLOPT_WRITEFUNCTION to receive the data, or possibly + set CURLOPT_WRITEDATA to a different FILE * handle. + + 5.11 How do I make libcurl not receive the whole HTTP response? + + You make the write callback (or progress callback) return an error and + libcurl will then abort the transfer. + + 5.12 Can I make libcurl fake or hide my real IP address? + + No. libcurl operates on a higher level. Besides, faking IP address would + imply sending IP packets with a made-up source address, and then you normally + get a problem with receiving the packet sent back as they would then not be + routed to you. + + If you use a proxy to access remote sites, the sites will not see your local + IP address but instead the address of the proxy. + + Also note that on many networks NATs or other IP-munging techniques are used + that makes you see and use a different IP address locally than what the + remote server will see you coming from. You may also consider using + https://www.torproject.org/ . + + 5.13 How do I stop an ongoing transfer? + + With the easy interface you make sure to return the correct error code from + one of the callbacks, but none of them are instant. There is no function you + can call from another thread or similar that will stop it immediately. + Instead, you need to make sure that one of the callbacks you use returns an + appropriate value that will stop the transfer. Suitable callbacks that you + can do this with include the progress callback, the read callback and the + write callback. + + If you are using the multi interface, you can also stop a transfer by + removing the particular easy handle from the multi stack at any moment you + think the transfer is done or when you wish to abort the transfer. + + 5.14 Using C++ non-static functions for callbacks? + + libcurl is a C library, it does not know anything about C++ member functions. + + You can overcome this "limitation" with relative ease using a static + member function that is passed a pointer to the class: + + // f is the pointer to your object. + static size_t YourClass::func(void *buffer, size_t sz, size_t n, void *f) + { + // Call non-static member function. + static_cast(f)->nonStaticFunction(); + } + + // This is how you pass pointer to the static function: + curl_easy_setopt(hcurl, CURLOPT_WRITEFUNCTION, YourClass::func); + curl_easy_setopt(hcurl, CURLOPT_WRITEDATA, this); + + 5.15 How do I get an FTP directory listing? + + If you end the FTP URL you request with a slash, libcurl will provide you + with a directory listing of that given directory. You can also set + CURLOPT_CUSTOMREQUEST to alter what exact listing command libcurl would use + to list the files. + + The follow-up question tends to be how is a program supposed to parse the + directory listing. How does it know what's a file and what's a directory and + what's a symlink etc. If the FTP server supports the MLSD command then it + will return data in a machine-readable format that can be parsed for type. + The types are specified by RFC 3659 section 7.5.1. If MLSD is not supported + then you have to work with what you are given. The LIST output format is + entirely at the server's own liking and the NLST output does not reveal any + types and in many cases does not even include all the directory entries. + Also, both LIST and NLST tend to hide Unix-style hidden files (those that + start with a dot) by default so you need to do "LIST -a" or similar to see + them. + + Example - List only directories. + ftp.funet.fi supports MLSD and ftp.kernel.org does not: + + curl -s ftp.funet.fi/pub/ -X MLSD | \ + perl -lne 'print if s/(?:^|;)type=dir;[^ ]+ (.+)$/$1/' + + curl -s ftp.kernel.org/pub/linux/kernel/ | \ + perl -lne 'print if s/^d[-rwx]{9}(?: +[^ ]+){7} (.+)$/$1/' + + If you need to parse LIST output in libcurl one such existing + list parser is available at https://cr.yp.to/ftpparse.html Versions of + libcurl since 7.21.0 also provide the ability to specify a wildcard to + download multiple files from one FTP directory. + + 5.16 I want a different time-out + + Sometimes users realize that CURLOPT_TIMEOUT and CURLOPT_CONNECTIMEOUT are + not sufficiently advanced or flexible to cover all the various use cases and + scenarios applications end up with. + + libcurl offers many more ways to time-out operations. A common alternative + is to use the CURLOPT_LOW_SPEED_LIMIT and CURLOPT_LOW_SPEED_TIME options to + specify the lowest possible speed to accept before to consider the transfer + timed out. + + The most flexible way is by writing your own time-out logic and using + CURLOPT_XFERINFOFUNCTION (perhaps in combination with other callbacks) and + use that to figure out exactly when the right condition is met when the + transfer should get stopped. + + 5.17 Can I write a server with libcurl? + + No. libcurl offers no functions or building blocks to build any kind of + Internet protocol server. libcurl is only a client-side library. For server + libraries, you need to continue your search elsewhere but there exist many + good open source ones out there for most protocols you could want a server + for. There are also really good stand-alone servers that have been tested + and proven for many years. There is no need for you to reinvent them. + + 5.18 Does libcurl use threads? + + Put simply: no, libcurl will execute in the same thread you call it in. All + callbacks will be called in the same thread as the one you call libcurl in. + + If you want to avoid your thread to be blocked by the libcurl call, you make + sure you use the non-blocking multi API which will do transfers + asynchronously - still in the same single thread. + + libcurl will potentially internally use threads for name resolving, if it + was built to work like that, but in those cases it will create the child + threads by itself and they will only be used and then killed internally by + libcurl and never exposed to the outside. + +6. License Issues + + curl and libcurl are released under a MIT/X derivative license. The license + is liberal and should not impose a problem for your project. This section is + just a brief summary for the cases we get the most questions. (Parts of this + section was much enhanced by Bjorn Reese.) + + We are not lawyers and this is not legal advice. You should probably consult + one if you want true and accurate legal insights without our prejudice. Note + especially that this section concerns the libcurl license only; compiling in + features of libcurl that depend on other libraries (e.g. OpenSSL) may affect + the licensing obligations of your application. + + 6.1 I have a GPL program, can I use the libcurl library? + + Yes + + Since libcurl may be distributed under the MIT/X derivative license, it can + be used together with GPL in any software. + + 6.2 I have a closed-source program, can I use the libcurl library? + + Yes + + libcurl does not put any restrictions on the program that uses the library. + + 6.3 I have a BSD licensed program, can I use the libcurl library? + + Yes + + libcurl does not put any restrictions on the program that uses the library. + + 6.4 I have a program that uses LGPL libraries, can I use libcurl? + + Yes + + The LGPL license does not clash with other licenses. + + 6.5 Can I modify curl/libcurl for my program and keep the changes secret? + + Yes + + The MIT/X derivative license practically allows you to do almost anything + with the sources, on the condition that the copyright texts in the sources + are left intact. + + 6.6 Can you please change the curl/libcurl license to XXXX? + + No. + + We have carefully picked this license after years of development and + discussions and a large amount of people have contributed with source code + knowing that this is the license we use. This license puts the restrictions + we want on curl/libcurl and it does not spread to other programs or + libraries that use it. It should be possible for everyone to use libcurl or + curl in their projects, no matter what license they already have in use. + + 6.7 What are my obligations when using libcurl in my commercial apps? + + Next to none. All you need to adhere to is the MIT-style license (stated in + the COPYING file) which basically says you have to include the copyright + notice in "all copies" and that you may not use the copyright holder's name + when promoting your software. + + You do not have to release any of your source code. + + You do not have to reveal or make public any changes to the libcurl source + code. + + You do not have to broadcast to the world that you are using libcurl within + your app. + + All we ask is that you disclose "the copyright notice and this permission + notice" somewhere. Most probably like in the documentation or in the section + where other third party dependencies already are mentioned and acknowledged. + + As can be seen here: https://curl.se/docs/companies.html and elsewhere, + more and more companies are discovering the power of libcurl and take + advantage of it even in commercial environments. + + +7. PHP/CURL Issues + + 7.1 What is PHP/CURL? + + The module for PHP that makes it possible for PHP programs to access curl- + functions from within PHP. + + In the cURL project we call this module PHP/CURL to differentiate it from + curl the command line tool and libcurl the library. The PHP team however + does not refer to it like this (for unknown reasons). They call it plain + CURL (often using all caps) or sometimes ext/curl, but both cause much + confusion to users which in turn gives us a higher question load. + + 7.2 Who wrote PHP/CURL? + + PHP/CURL was initially written by Sterling Hughes. + + 7.3 Can I perform multiple requests using the same handle? + + Yes - at least in PHP version 4.3.8 and later (this has been known to not + work in earlier versions, but the exact version when it started to work is + unknown to me). + + After a transfer, you just set new options in the handle and make another + transfer. This will make libcurl reuse the same connection if it can. + + 7.4 Does PHP/CURL have dependencies? + + PHP/CURL is a module that comes with the regular PHP package. It depends on + and uses libcurl, so you need to have libcurl installed properly before + PHP/CURL can be used. + +8. Development + + 8.1 Why does curl use C89? + + As with everything in curl, there is a history and we keep using what we have + used before until someone brings up the subject and argues for and works on + changing it. + + We started out using C89 in the 1990s because that was the only way to write + a truly portable C program and have it run as widely as possible. C89 was for + a long time even necessary to make things work on otherwise considered modern + platforms such as Windows. Today, we do not really know how many users that + still require the use of a C89 compiler. + + We will continue to use C89 for as long as nobody brings up a strong enough + reason for us to change our minds. The core developers of the project do not + feel restricted by this and we are not convinced that going C99 will offer us + enough of a benefit to warrant the risk of cutting off a share of users. + + 8.2 Will curl be rewritten? + + In one go: no. Little by little over time? Maybe. + + Over the years, new languages and clever operating environments come and go. + Every now and then the urge apparently arises to request that we rewrite curl + in another language. + + Some the most important properties in curl are maintaining the API and ABI + for libcurl and keeping the behavior for the command line tool. As long as we + can do that, everything else is up for discussion. To maintain the ABI, we + probably have to maintain a certain amount of code in C, and to remain rock + stable, we will never risk anything by rewriting a lot of things in one go. + That said, we can certainly offer more and more optional backends written in + other languages, as long as those backends can be plugged in at build-time. + Backends can be written in any language, but should probably provide APIs + usable from C to ease integration and transition. diff --git a/curl/docs/FEATURES.md b/curl/docs/FEATURES.md new file mode 100644 index 0000000..f366154 --- /dev/null +++ b/curl/docs/FEATURES.md @@ -0,0 +1,249 @@ + + +# Features -- what curl can do + +## curl tool + + - config file support + - multiple URLs in a single command line + - range "globbing" support: [0-13], {one,two,three} + - multiple file upload on a single command line + - redirect stderr + - parallel transfers + +## libcurl + + - URL RFC 3986 syntax + - custom maximum download time + - custom lowest download speed acceptable + - custom output result after completion + - guesses protocol from hostname unless specified + - supports .netrc + - progress bar with time statistics while downloading + - standard proxy environment variables support + - have run on 101 operating systems and 28 CPU architectures + - selectable network interface for outgoing traffic + - IPv6 support on Unix and Windows + - happy eyeballs dual-stack IPv4 + IPv6 connects + - persistent connections + - SOCKS 4 + 5 support, with or without local name resolving + - *pre-proxy* support, for *proxy chaining* + - supports username and password in proxy environment variables + - operations through HTTP proxy "tunnel" (using CONNECT) + - replaceable memory functions (malloc, free, realloc, etc) + - asynchronous name resolving + - both a push and a pull style interface + - international domain names (IDN) + - transfer rate limiting + - stable API and ABI + - TCP keep alive + - TCP Fast Open + - DNS cache (that can be shared between transfers) + - non-blocking single-threaded parallel transfers + - Unix domain sockets to server or proxy + - DNS-over-HTTPS + - uses non-blocking name resolves + - selectable name resolver backend + +## URL API + + - parses RFC 3986 URLs + - generates URLs from individual components + - manages "redirects" + +## Header API + + - easy access to HTTP response headers, from all contexts + - named headers + - iterate over headers + +## TLS + + - selectable TLS backend(s) + - TLS False Start + - TLS version control + - TLS session resumption + - key pinning + - mutual authentication + - Use dedicated CA cert bundle + - Use OS-provided CA store + - separate TLS options for HTTPS proxy + +## HTTP + + - HTTP/0.9 responses are optionally accepted + - HTTP/1.0 + - HTTP/1.1 + - HTTP/2, including multiplexing and server push + - GET + - PUT + - HEAD + - POST + - multipart formpost (RFC 1867-style) + - authentication: Basic, Digest, NTLM (9) and Negotiate (SPNEGO) + to server and proxy + - resume transfers + - follow redirects + - maximum amount of redirects to follow + - custom HTTP request + - cookie get/send fully parsed + - reads/writes the Netscape cookie file format + - custom headers (replace/remove internally generated headers) + - custom user-agent string + - custom referrer string + - range + - proxy authentication + - time conditions + - via HTTP proxy, HTTPS proxy or SOCKS proxy + - HTTP/2 or HTTP/1.1 to HTTPS proxy + - retrieve file modification date + - Content-Encoding support for deflate, gzip, brotli and zstd + - "Transfer-Encoding: chunked" support in uploads + - HSTS + - alt-svc + - ETags + - HTTP/1.1 trailers, both sending and getting + +## HTTPS + + - HTTP/3 + - using client certificates + - verify server certificate + - via HTTP proxy, HTTPS proxy or SOCKS proxy + - select desired encryption + - select usage of a specific TLS version + - ECH + +## FTP + + - download + - authentication + - Kerberos 5 + - active/passive using PORT, EPRT, PASV or EPSV + - single file size information (compare to HTTP HEAD) + - 'type=' URL support + - directory listing + - directory listing names-only + - upload + - upload append + - upload via http-proxy as HTTP PUT + - download resume + - upload resume + - custom ftp commands (before and/or after the transfer) + - simple "range" support + - via HTTP proxy, HTTPS proxy or SOCKS proxy + - all operations can be tunneled through proxy + - customizable to retrieve file modification date + - no directory depth limit + +## FTPS + + - implicit `ftps://` support that use SSL on both connections + - explicit "AUTH TLS" and "AUTH SSL" usage to "upgrade" plain `ftp://` + connection to use SSL for both or one of the connections + +## SSH (both SCP and SFTP) + + - selectable SSH backend + - known hosts support + - public key fingerprinting + - both password and public key auth + +## SFTP + + - both password and public key auth + - with custom commands sent before/after the transfer + - directory listing + +## TFTP + + - download + - upload + +## TELNET + + - connection negotiation + - custom telnet options + - stdin/stdout I/O + +## LDAP + + - full LDAP URL support + +## DICT + + - extended DICT URL support + +## FILE + + - URL support + - upload + - resume + +## SMB + + - SMBv1 over TCP and SSL + - download + - upload + - authentication with NTLMv1 + +## SMTP + + - authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM, Kerberos 5 and + External + - send emails + - mail from support + - mail size support + - mail auth support for trusted server-to-server relaying + - multiple recipients + - via http-proxy + +## SMTPS + + - implicit `smtps://` support + - explicit "STARTTLS" usage to "upgrade" plain `smtp://` connections to use SSL + - via http-proxy + +## POP3 + + - authentication: Clear Text, APOP and SASL + - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM, + Kerberos 5 and External + - list emails + - retrieve emails + - enhanced command support for: CAPA, DELE, TOP, STAT, UIDL and NOOP via + custom requests + - via http-proxy + +## POP3S + + - implicit `pop3s://` support + - explicit `STLS` usage to "upgrade" plain `pop3://` connections to use SSL + - via http-proxy + +## IMAP + + - authentication: Clear Text and SASL + - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM, + Kerberos 5 and External + - list the folders of a mailbox + - select a mailbox with support for verifying the `UIDVALIDITY` + - fetch emails with support for specifying the UID and SECTION + - upload emails via the append command + - enhanced command support for: EXAMINE, CREATE, DELETE, RENAME, STATUS, + STORE, COPY and UID via custom requests + - via http-proxy + +## IMAPS + + - implicit `imaps://` support + - explicit "STARTTLS" usage to "upgrade" plain `imap://` connections to use SSL + - via http-proxy + +## MQTT + + - Subscribe to and publish topics using URL scheme `mqtt://broker/topic` diff --git a/curl/docs/GOVERNANCE.md b/curl/docs/GOVERNANCE.md new file mode 100644 index 0000000..4ab52a9 --- /dev/null +++ b/curl/docs/GOVERNANCE.md @@ -0,0 +1,202 @@ + + +# Decision making in the curl project + +A rough guide to how we make decisions and who does what. + +## BDFL + +This project was started by and has to some extent been pushed forward over +the years with Daniel Stenberg as the driving force. It matches a standard +BDFL (Benevolent Dictator For Life) style project. + +This setup has been used due to convenience and the fact that it has worked +fine this far. It is not because someone thinks of it as a superior project +leadership model. It also only works as long as Daniel manages to listen in to +what the project and the general user population wants and expects from us. + +## Legal entity + +There is no legal entity. The curl project is just a bunch of people scattered +around the globe with the common goal to produce source code that creates +great products. We are not part of any umbrella organization and we are not +located in any specific country. We are totally independent. + +The copyrights in the project are owned by the individuals and organizations +that wrote those parts of the code. + +## Decisions + +The curl project is not a democracy, but everyone is entitled to state their +opinion and may argue for their sake within the community. + +All and any changes that have been done or are done are eligible to bring up +for discussion, to object to or to praise. Ideally, we find consensus for the +appropriate way forward in any given situation or challenge. + +If there is no obvious consensus, a maintainer who's knowledgeable in the +specific area takes an "executive" decision that they think is the right for +the project. + +## Donations + +Donating plain money to curl is best done to curl's [Open Collective +fund](https://opencollective.com/curl). Open Collective is a US based +non-profit organization that holds on to funds for us. This fund is then used +for paying the curl security bug bounties, to reimburse project related +expenses etc. + +Donations to the project can also come in the form of server hosting, providing +services and paying for people to work on curl related code etc. Usually, such +donations are services paid for directly by the sponsors. + +We grade sponsors in a few different levels and if they meet the criteria, +they can be mentioned on the Sponsors page on the curl website. + +## Commercial Support + +The curl project does not do or offer commercial support. It only hosts +mailing lists, runs bug trackers etc to facilitate communication and work. + +However, Daniel works for wolfSSL and we offer commercial curl support there. + +# Key roles + +## User + +Someone who uses or has used curl or libcurl. + +## Contributor + +Someone who has helped the curl project, who has contributed to bring it +forward. Contributing could be to provide advice, debug a problem, file a bug +report, run test infrastructure or writing code etc. + +## Commit author + +Sometimes also called 'committer'. Someone who has authored a commit in the +curl source code repository. Committers are recorded as `Author` in git. + +## Maintainers + +A maintainer in the curl project is an individual who has been given +permissions to push commits to one of the git repositories. + +Maintainers are free to push commits to the repositories at they see fit. +Maintainers are however expected to listen to feedback from users and any +change that is non-trivial in size or nature *should* be brought to the +project as a Pull-Request (PR) to allow others to comment/object before merge. + +## Former maintainers + +A maintainer who stops being active in the project gets their push permissions +removed at some point. We do this for security reasons but also to make sure +that we always have the list of maintainers as "the team that push stuff to +curl". + +Getting push permissions removed is not a punishment. Everyone who ever worked +on maintaining curl is considered a hero, for all time hereafter. + +## Security team members + +We have a security team. That is the team of people who are subscribed to the +curl-security mailing list; the receivers of security reports from users and +developers. This list of people varies over time but they are all skilled +developers familiar with the curl project. + +The security team works best when it consists of a small set of active +persons. We invite new members when the team seems to need it, and we also +expect to retire security team members as they "drift off" from the project or +just find themselves unable to perform their duties there. + +## Core team + +There is a curl core team. It currently has the same set of members as the +security team. It can also be reached on the security email address. + +The core team nominates and invites new members to the team when it sees fit. +There is no open member voting or formal ways to be a candidate. Active +participants in the curl project who want to join the core team can ask to +join. + +The core team is a board of advisors. It deals with project management +subjects that need confidentiality or for other reasons cannot be dealt with +and discussed in the open (for example reports of code of conduct violations). +Project matters should always as far as possible be discussed on open mailing +lists. + +## Server admins + +We run a web server, a mailing list and more on the curl project's primary +server. That physical machine is owned and run by Haxx. Daniel is the primary +admin of all things curl related server stuff, but Björn Stenberg and Linus +Feltzing serve as backup admins for when Daniel is gone or unable. + +The primary server is paid for by Haxx. The machine is physically located in a +server bunker in Stockholm Sweden, operated by the company Glesys. + +The website contents are served to the web via Fastly and Daniel is the +primary curl contact with Fastly. + +## BDFL + +That is Daniel. + +# Maintainers + +A curl maintainer is a project volunteer who has the authority and rights to +merge changes into a git repository in the curl project. + +Anyone can aspire to become a curl maintainer. + +### Duties + +There are no mandatory duties. We hope and wish that maintainers consider +reviewing patches and help merging them, especially when the changes are +within the area of personal expertise and experience. + +### Requirements + +- only merge code that meets our quality and style guide requirements. +- *never* merge code without doing a PR first, unless the change is "trivial" +- if in doubt, ask for input/feedback from others + +### Recommendations + +- we require two-factor authentication enabled on your GitHub account to + reduce risk of malicious source code tampering +- consider enabling signed git commits for additional verification of changes + +### Merge advice + +When you are merging patches/pull requests... + +- make sure the commit messages follow our template +- squash patch sets into a few logical commits even if the PR did not, if + necessary +- avoid the "merge" button on GitHub, do it "manually" instead to get full + control and full audit trail (GitHub leaves out you as "Committer:") +- remember to credit the reporter and the helpers. + +## Who are maintainers? + +The [list of maintainers](https://github.com/orgs/curl/people). Be aware that +the level of presence and activity in the project vary greatly between +different individuals and over time. + +### Become a maintainer? + +If you think you can help making the project better by shouldering some +maintaining responsibilities, then please get in touch. + +You are expected to be familiar with the curl project and its ways of working. +You need to have gotten a few quality patches merged as a proof of this. + +### Stop being a maintainer + +If you (appear to) not be active in the project anymore, you may be removed as +a maintainer. Thank you for your service. diff --git a/curl/docs/HELP-US.md b/curl/docs/HELP-US.md new file mode 100644 index 0000000..0619aec --- /dev/null +++ b/curl/docs/HELP-US.md @@ -0,0 +1,94 @@ + + +# How to get started helping out in the curl project + +We are always in need of more help. If you are new to the project and are +looking for ways to contribute and help out, this document aims to give a few +good starting points. + +You may subscribe to the [curl-library mailing +list](https://lists.haxx.se/listinfo/curl-library) to keep track of the +current discussion topics; or if you are registered on GitHub, you can use the +[Discussions section](https://github.com/curl/curl/discussions) on the main +curl repository. + +## Scratch your own itch + +One of the best ways is to start working on any problems or issues you have +found yourself or perhaps got annoyed at in the past. It can be a spelling +error in an error text or a weirdly phrased section in a man page. Hunt it +down and report the bug. Or make your first pull request with a fix for that. + +## Smaller tasks + +Some projects mark small issues as "beginner friendly", "bite-sized" or +similar. We do not do that in curl since such issues never linger around long +enough. Simple issues get handled fast. + +If you are looking for a smaller or simpler task in the project to help out +with as an entry-point into the project, perhaps because you are a newcomer or +even maybe not a terribly experienced developer, here's our advice: + + - Read through this document to get a grasp on a general approach to use + - Consider adding a test case for something not currently tested (correctly) + - Consider updating or adding documentation + - One way to get started gently in the project, is to participate in an + existing issue/PR and help out by reproducing the issue, review the code in + the PR etc. + +## Help wanted + +In the issue tracker we occasionally mark bugs with [help +wanted](https://github.com/curl/curl/labels/help%20wanted), as a sign that the +bug is acknowledged to exist and that there is nobody known to work on this +issue for the moment. Those are bugs that are fine to "grab" and provide a +pull request for. The complexity level of these of course varies, so pick one +that piques your interest. + +## Work on known bugs + +Some bugs are known and have not yet received attention and work enough to get +fixed. We collect such known existing flaws in the +[KNOWN_BUGS](https://curl.se/docs/knownbugs.html) page. Many of them link +to the original bug report with some additional details, but some may also +have aged a bit and may require some verification that the bug still exists in +the same way and that what was said about it in the past is still valid. + +## Fix autobuild problems + +On the [autobuilds page](https://curl.se/dev/builds.html) we show a +collection of test results from the automatic curl build and tests that are +performed by volunteers. Fixing compiler warnings and errors shown there is +something we value greatly. Also, if you own or run systems or architectures +that are not already tested in the autobuilds, we also appreciate more +volunteers running builds automatically to help us keep curl portable. + +## TODO items + +Ideas for features and functions that we have considered worthwhile to +implement and provide are kept in the +[TODO](https://curl.se/docs/todo.html) file. Some of the ideas are +rough. Some are well thought out. Some probably are not really suitable +anymore. + +Before you invest a lot of time on a TODO item, do bring it up for discussion +on the mailing list. For discussion on applicability but also for ideas and +brainstorming on specific ways to do the implementation etc. + +## You decide + +You can also come up with a completely new thing you think we should do. Or +not do. Or fix. Or add to the project. You then either bring it to the mailing +list first to see if people shoot down the idea at once, or you bring a first +draft of the idea as a pull request and take the discussion there around the +specific implementation. Either way is fine. + +## CONTRIBUTE + +We offer [guidelines](https://curl.se/dev/contribute.html) that are suitable +to be familiar with before you decide to contribute to curl. If you are used +to open source development, you probably do not find many surprises there. diff --git a/curl/docs/HISTORY.md b/curl/docs/HISTORY.md new file mode 100644 index 0000000..21df56f --- /dev/null +++ b/curl/docs/HISTORY.md @@ -0,0 +1,486 @@ + + +How curl Became Like This +========================= + +Towards the end of 1996, Daniel Stenberg was spending time writing an IRC bot +for an Amiga related channel on EFnet. He then came up with the idea to make +currency-exchange calculations available to Internet Relay Chat (IRC) +users. All the necessary data were published on the Web; he just needed to +automate their retrieval. + +1996 +---- + +On November 11, 1996 the Brazilian developer Rafael Sagula wrote and released +HttpGet version 0.1. + +Daniel extended this existing command-line open-source tool. After a few minor +adjustments, it did just what he needed. The first release with Daniel's +additions was 0.2, released on December 17, 1996. Daniel quickly became the +new maintainer of the project. + +1997 +---- + +HttpGet 0.3 was released in January 1997 and now it accepted HTTP URLs on the +command line. + +HttpGet 1.0 was released on April 8 1997 with brand new HTTP proxy support. + +We soon found and fixed support for getting currencies over GOPHER. Once FTP +download support was added, the name of the project was changed and urlget 2.0 +was released in August 1997. The http-only days were already passed. + +Version 2.2 was released on August 14 1997 and introduced support to build for +and run on Windows and Solaris. + +November 24 1997: Version 3.1 added FTP upload support. + +Version 3.5 added support for HTTP POST. + +1998 +---- + +February 4: urlget 3.10 + +February 9: urlget 3.11 + +March 14: urlget 3.12 added proxy authentication. + +The project slowly grew bigger. With upload capabilities, the name was once +again misleading and a second name change was made. On March 20, 1998 curl 4 +was released. (The version numbering from the previous names was kept.) + +(Unrelated to this project a company called Curl Corporation registered a US +trademark on the name "CURL" on May 18 1998. That company had then already +registered the curl.com domain back in November of the previous year. All this +was revealed to us much later.) + +SSL support was added, powered by the SSLeay library. + +August: first announcement of curl on freshmeat.net. + +October: with the curl 4.9 release and the introduction of cookie support, +curl was no longer released under the GPL license. Now we are at 4000 lines of +code, we switched over to the MPL license to restrict the effects of +"copyleft". + +November: configure script and reported successful compiles on several +major operating systems. The never-quite-understood -F option was added and +curl could now simulate quite a lot of a browser. TELNET support was added. + +curl 5 was released in December 1998 and introduced the first ever curl man +page. People started making Linux RPM packages out of it. + +1999 +---- + +January: DICT support added. + +OpenSSL took over and SSLeay was abandoned. + +May: first Debian package. + +August: LDAP:// and FILE:// support added. The curl website gets 1300 visits +weekly. Moved site to curl.haxx.nu. + +September: Released curl 6.0. 15000 lines of code. + +December 28: added the project on Sourceforge and started using its services +for managing the project. + +2000 +---- + +Spring: major internal overhaul to provide a suitable library interface. +The first non-beta release was named 7.1 and arrived in August. This offered +the easy interface and turned out to be the beginning of actually getting +other software and programs to be based on and powered by libcurl. Almost +20000 lines of code. + +June: the curl site moves to "curl.haxx.se" + +August, the curl website gets 4000 visits weekly. + +The PHP guys adopted libcurl already the same month, when the first ever third +party libcurl binding showed up. CURL has been a supported module in PHP since +the release of PHP 4.0.2. This would soon get followers. More than 16 +different bindings exist at the time of this writing. + +September: kerberos4 support was added. + +November: started the work on a test suite for curl. It was later re-written +from scratch again. The libcurl major SONAME number was set to 1. + +2001 +---- + +January: Daniel released curl 7.5.2 under a new license again: MIT (or +MPL). The MIT license is extremely liberal and can be combined with GPL +in other projects. This would finally put an end to the "complaints" from +people involved in GPLed projects that previously were prohibited from using +libcurl while it was released under MPL only. (Due to the fact that MPL is +deemed "GPL incompatible".) + +March 22: curl supports HTTP 1.1 starting with the release of 7.7. This +also introduced libcurl's ability to do persistent connections. 24000 lines of +code. The libcurl major SONAME number was bumped to 2 due to this overhaul. +The first experimental ftps:// support was added. + +August: The curl website gets 8000 visits weekly. Curl Corporation contacted +Daniel to discuss "the name issue". After Daniel's reply, they have never +since got back in touch again. + +September: libcurl 7.9 introduces cookie jar and `curl_formadd()`. During the +forthcoming 7.9.x releases, we introduced the multi interface slowly and +without many whistles. + +September 25: curl (7.7.2) is bundled in Mac OS X (10.1) for the first time. It was +already becoming more and more of a standard utility of Linux distributions +and a regular in the BSD ports collections. + +2002 +---- + +June: the curl website gets 13000 visits weekly. curl and libcurl is +35000 lines of code. Reported successful compiles on more than 40 combinations +of CPUs and operating systems. + +To estimate the number of users of the curl tool or libcurl library is next to +impossible. Around 5000 downloaded packages each week from the main site gives +a hint, but the packages are mirrored extensively, bundled with numerous OS +distributions and otherwise retrieved as part of other software. + +October 1: with the release of curl 7.10 it is released under the MIT license +only. + +Starting with 7.10, curl verifies SSL server certificates by default. + +2003 +---- + +January: Started working on the distributed curl tests. The autobuilds. + +February: the curl site averages at 20000 visits weekly. At any given moment, +there is an average of 3 people browsing the website. + +Multiple new authentication schemes are supported: Digest (May), NTLM (June) +and Negotiate (June). + +November: curl 7.10.8 is released. 45000 lines of code. ~55000 unique visitors +to the website. Five official web mirrors. + +December: full-fledged SSL for FTP is supported. + +2004 +---- + +January: curl 7.11.0 introduced large file support. + +June: curl 7.12.0 introduced IDN support. 10 official web mirrors. + +This release bumped the major SONAME to 3 due to the removal of the +`curl_formparse()` function + +August: curl and libcurl 7.12.1 + + Public curl release number: 82 + Releases counted from the beginning: 109 + Available command line options: 96 + Available curl_easy_setopt() options: 120 + Number of public functions in libcurl: 36 + Amount of public website mirrors: 12 + Number of known libcurl bindings: 26 + +2005 +---- + +April: GnuTLS can now optionally be used for the secure layer when curl is +built. + +April: Added the multi_socket() API + +September: TFTP support was added. + +More than 100,000 unique visitors of the curl website. 25 mirrors. + +December: security vulnerability: libcurl URL Buffer Overflow + +2006 +---- + +January: We dropped support for Gopher. We found bugs in the implementation +that turned out to have been introduced years ago, so with the conclusion that +nobody had found out in all this time we removed it instead of fixing it. + +March: security vulnerability: libcurl TFTP Packet Buffer Overflow + +September: The major SONAME number for libcurl was bumped to 4 due to the +removal of ftp third party transfer support. + +November: Added SCP and SFTP support + +2007 +---- + +February: Added support for the Mozilla NSS library to do the SSL/TLS stuff + +July: security vulnerability: libcurl GnuTLS insufficient cert verification + +2008 +---- + +November: + + Command line options: 128 + curl_easy_setopt() options: 158 + Public functions in libcurl: 58 + Known libcurl bindings: 37 + Contributors: 683 + + 145,000 unique visitors. >100 GB downloaded. + +2009 +---- + +March: security vulnerability: libcurl Arbitrary File Access + +April: added CMake support + +August: security vulnerability: libcurl embedded zero in cert name + +December: Added support for IMAP, POP3 and SMTP + +2010 +---- + +January: Added support for RTSP + +February: security vulnerability: libcurl data callback excessive length + +March: The project switched over to use git (hosted by GitHub) instead of CVS +for source code control + +May: Added support for RTMP + +Added support for PolarSSL to do the SSL/TLS stuff + +August: + + Public curl releases: 117 + Command line options: 138 + curl_easy_setopt() options: 180 + Public functions in libcurl: 58 + Known libcurl bindings: 39 + Contributors: 808 + + Gopher support added (re-added actually, see January 2006) + +2011 +---- + +February: added support for the axTLS backend + +April: added the cyassl backend (later renamed to wolfSSL) + +2012 +---- + + July: Added support for Schannel (native Windows TLS backend) and Darwin SSL + (Native Mac OS X and iOS TLS backend). + + Supports Metalink + + October: SSH-agent support. + +2013 +---- + + February: Cleaned up internals to always uses the "multi" non-blocking + approach internally and only expose the blocking API with a wrapper. + + September: First small steps on supporting HTTP/2 with nghttp2. + + October: Removed krb4 support. + + December: Happy eyeballs. + +2014 +---- + + March: first real release supporting HTTP/2 + + September: Website had 245,000 unique visitors and served 236GB data + + SMB and SMBS support + +2015 +---- + + June: support for multiplexing with HTTP/2 + + August: support for HTTP/2 server push + + December: Public Suffix List + +2016 +---- + + January: the curl tool defaults to HTTP/2 for HTTPS URLs + + December: curl 7.52.0 introduced support for HTTPS-proxy + + First TLS 1.3 support + +2017 +---- + + July: OSS-Fuzz started fuzzing libcurl + + September: Added MultiSSL support + + The website serves 3100 GB/month + + Public curl releases: 169 + Command line options: 211 + curl_easy_setopt() options: 249 + Public functions in libcurl: 74 + Contributors: 1609 + + October: SSLKEYLOGFILE support, new MIME API + + October: Daniel received the Polhem Prize for his work on curl + + November: brotli + +2018 +---- + + January: new SSH backend powered by libssh + + March: starting with the 1803 release of Windows 10, curl is shipped bundled + with Microsoft's operating system. + + July: curl shows headers using bold type face + + October: added DNS-over-HTTPS (DoH) and the URL API + + MesaLink is a new supported TLS backend + + libcurl now does HTTP/2 (and multiplexing) by default on HTTPS URLs + + curl and libcurl are installed in an estimated 5 *billion* instances + world-wide. + + October 31: curl and libcurl 7.62.0 + + Public curl releases: 177 + Command line options: 219 + curl_easy_setopt() options: 261 + Public functions in libcurl: 80 + Contributors: 1808 + + December: removed axTLS support + +2019 +---- + + March: added experimental alt-svc support + + August: the first HTTP/3 requests with curl. + + September: 7.66.0 is released and the tool offers parallel downloads + +2020 +---- + + curl and libcurl are installed in an estimated 10 *billion* instances + world-wide. + + January: added BearSSL support + + March: removed support for PolarSSL, added wolfSSH support + + April: experimental MQTT support + + August: zstd support + + November: the website moves to curl.se. The website serves 10TB data monthly. + + December: alt-svc support + +2021 +---- + + February 3: curl 7.75.0 ships with support for Hyper as an HTTP backend + + March 31: curl 7.76.0 ships with support for Rustls + + July: HSTS is supported + +2022 +---- + +March: added --json, removed mesalink support + + Public curl releases: 206 + Command line options: 245 + curl_easy_setopt() options: 295 + Public functions in libcurl: 86 + Contributors: 2601 + + The curl.se website serves 16,500 GB/month over 462M requests, the + official docker image has been pulled 4,098,015,431 times. + +October: initial WebSocket support + +2023 +---- + +March: remove support for curl_off_t < 8 bytes + +March 31: we started working on a new command line tool for URL parsing and +manipulations: trurl. + +May: added support for HTTP/2 over HTTPS proxy. Refuse to resolve .onion. + +August: Dropped support for the NSS library + +September: added "variable" support in the command line tool. Dropped support +for the gskit TLS library. + +October: added support for IPFS via HTTP gateway + +December: HTTP/3 support with ngtcp2 is no longer experimental + +2024 +---- + +January: switched to "curldown" for all documentation + +April 24: the curl container has been pulled more than six billion times + +May: experimental support for ECH, dropped NTLM_WB + +August 9: we adopted the wcurl tool into the curl organization + +September 11: --help [option] + +November 6: TLS 1.3 early data, WebSocket is official + +December 21: dropped hyper + +2025 +---- + +February 5: first 0RTT for QUIC, ssl session import/export + +February: experimental HTTPS RR support + +February 22: The website served 62.95 TB/month; 12.43 billion requests + The docker image has been pulled 6373501745 times. diff --git a/curl/docs/HSTS.md b/curl/docs/HSTS.md new file mode 100644 index 0000000..85140ab --- /dev/null +++ b/curl/docs/HSTS.md @@ -0,0 +1,48 @@ + + +# HSTS support + +HTTP Strict-Transport-Security. Added as experimental in curl +7.74.0. Supported "for real" since 7.77.0. + +## Standard + +[HTTP Strict Transport Security](https://datatracker.ietf.org/doc/html/rfc6797) + +## Behavior + +libcurl features an in-memory cache for HSTS hosts, so that subsequent +HTTP-only requests to a hostname present in the cache gets internally +"redirected" to the HTTPS version. + +## `curl_easy_setopt()` options: + + - `CURLOPT_HSTS_CTRL` - enable HSTS for this easy handle + - `CURLOPT_HSTS` - specify filename where to store the HSTS cache on close + (and possibly read from at startup) + +## curl command line options + + - `--hsts [filename]` - enable HSTS, use the file as HSTS cache. If filename + is `""` (no length) then no file is used, only in-memory cache. + +## HSTS cache file format + +Lines starting with `#` are ignored. + +For each hsts entry: + + [host name] "YYYYMMDD HH:MM:SS" + +The `[host name]` is dot-prefixed if it includes subdomains. + +The time stamp is when the entry expires. + +## Possible future additions + + - `CURLOPT_HSTS_PRELOAD` - provide a set of HSTS hostnames to load first + - ability to save to something else than a file diff --git a/curl/docs/HTTP-COOKIES.md b/curl/docs/HTTP-COOKIES.md new file mode 100644 index 0000000..62905db --- /dev/null +++ b/curl/docs/HTTP-COOKIES.md @@ -0,0 +1,171 @@ + + +# HTTP Cookies + +## Cookie overview + + Cookies are `name=contents` pairs that an HTTP server tells the client to + hold and then the client sends back those to the server on subsequent + requests to the same domains and paths for which the cookies were set. + + Cookies are either "session cookies" which typically are forgotten when the + session is over which is often translated to equal when browser quits, or + the cookies are not session cookies they have expiration dates after which + the client throws them away. + + Cookies are set to the client with the Set-Cookie: header and are sent to + servers with the Cookie: header. + + For a long time, the only spec explaining how to use cookies was the + original [Netscape spec from 1994](https://curl.se/rfc/cookie_spec.html). + + In 2011, [RFC 6265](https://www.ietf.org/rfc/rfc6265.txt) was finally + published and details how cookies work within HTTP. In 2016, an update which + added support for prefixes was + [proposed](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-prefixes-00), + and in 2017, another update was + [drafted](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-cookie-alone-01) + to deprecate modification of 'secure' cookies from non-secure origins. Both + of these drafts have been incorporated into a proposal to + [replace](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-11) + RFC 6265. Cookie prefixes and secure cookie modification protection has been + implemented by curl. + + curl considers `http://localhost` to be a *secure context*, meaning that it + allows and uses cookies marked with the `secure` keyword even when done over + plain HTTP for this host. curl does this to match how popular browsers work + with secure cookies. + +## Super cookies + + A single cookie can be set for a domain that matches multiple hosts. Like if + set for `example.com` it gets sent to both `aa.example.com` as well as + `bb.example.com`. + + A challenge with this concept is that there are certain domains for which + cookies should not be allowed at all, because they are *Public + Suffixes*. Similarly, a client never accepts cookies set directly for the + top-level domain like for example `.com`. Cookies set for *too broad* + domains are generally referred to as *super cookies*. + + If curl is built with PSL (**Public Suffix List**) support, it detects and + discards cookies that are specified for such suffix domains that should not + be allowed to have cookies. + + if curl is *not* built with PSL support, it has no ability to stop super + cookies. + +## Cookies saved to disk + + Netscape once created a file format for storing cookies on disk so that they + would survive browser restarts. curl adopted that file format to allow + sharing the cookies with browsers, only to see browsers move away from that + format. Modern browsers no longer use it, while curl still does. + + The Netscape cookie file format stores one cookie per physical line in the + file with a bunch of associated meta data, each field separated with + TAB. That file is called the cookie jar in curl terminology. + + When libcurl saves a cookie jar, it creates a file header of its own in + which there is a URL mention that links to the web version of this document. + +## Cookie file format + + The cookie file format is text based and stores one cookie per line. Lines + that start with `#` are treated as comments. An exception is lines that + start with `#HttpOnly_`, which is a prefix for cookies that have the + `HttpOnly` attribute set. + + Each line that specifies a single cookie consists of seven text fields + separated with TAB characters. A valid line must end with a newline + character. + +### Fields in the file + + Field number, what type and example data and the meaning of it: + + 0. string `example.com` - the domain name + 1. boolean `FALSE` - include subdomains + 2. string `/foobar/` - path + 3. boolean `TRUE` - send/receive over HTTPS only + 4. number `1462299217` - expires at - seconds since Jan 1st 1970, or 0 + 5. string `person` - name of the cookie + 6. string `daniel` - value of the cookie + +## Cookies with curl the command line tool + + curl has a full cookie "engine" built in. If you just activate it, you can + have curl receive and send cookies exactly as mandated in the specs. + + Command line options: + + [`-b, --cookie`](https://curl.se/docs/manpage.html#-b) + + tell curl a file to read cookies from and start the cookie engine, or if it + is not a file it passes on the given string. `-b name=var` works and so does + `-b cookiefile`. + + [`-j, --junk-session-cookies`](https://curl.se/docs/manpage.html#-j) + + when used in combination with -b, it skips all "session cookies" on load so + as to appear to start a new cookie session. + + [`-c, --cookie-jar`](https://curl.se/docs/manpage.html#-c) + + tell curl to start the cookie engine and write cookies to the given file + after the request(s) + +## Cookies with libcurl + +libcurl offers several ways to enable and interface the cookie engine. These +options are the ones provided by the native API. libcurl bindings may offer +access to them using other means. + +[`CURLOPT_COOKIE`](https://curl.se/libcurl/c/CURLOPT_COOKIE.html) + +Is used when you want to specify the exact contents of a cookie header to +send to the server. + +[`CURLOPT_COOKIEFILE`](https://curl.se/libcurl/c/CURLOPT_COOKIEFILE.html) + +Tell libcurl to activate the cookie engine, and to read the initial set of +cookies from the given file. Read-only. + +[`CURLOPT_COOKIEJAR`](https://curl.se/libcurl/c/CURLOPT_COOKIEJAR.html) + +Tell libcurl to activate the cookie engine, and when the easy handle is +closed save all known cookies to the given cookie jar file. Write-only. + +[`CURLOPT_COOKIELIST`](https://curl.se/libcurl/c/CURLOPT_COOKIELIST.html) + +Provide detailed information about a single cookie to add to the internal +storage of cookies. Pass in the cookie as an HTTP header with all the +details set, or pass in a line from a Netscape cookie file. This option can +also be used to flush the cookies etc. + +[`CURLOPT_COOKIESESSION`](https://curl.se/libcurl/c/CURLOPT_COOKIESESSION.html) + +Tell libcurl to ignore all cookies it is about to load that are session +cookies. + +[`CURLINFO_COOKIELIST`](https://curl.se/libcurl/c/CURLINFO_COOKIELIST.html) + +Extract cookie information from the internal cookie storage as a linked +list. + +## Cookies with JavaScript + +These days a lot of the web is built up by JavaScript. The web browser loads +complete programs that render the page you see. These JavaScript programs +can also set and access cookies. + +Since curl and libcurl are plain HTTP clients without any knowledge of or +capability to handle JavaScript, such cookies are not detected or used. + +Often, if you want to mimic what a browser does on such websites, you can +record web browser HTTP traffic when using such a site and then repeat the +cookie operations using curl or libcurl. diff --git a/curl/docs/HTTP3.md b/curl/docs/HTTP3.md new file mode 100644 index 0000000..b75daa4 --- /dev/null +++ b/curl/docs/HTTP3.md @@ -0,0 +1,481 @@ + + +# HTTP3 (and QUIC) + +## Resources + +[HTTP/3 Explained](https://http3-explained.haxx.se/en/) - the online free +book describing the protocols involved. + +[quicwg.org](https://quicwg.org/) - home of the official protocol drafts + +## QUIC libraries + +QUIC libraries we are using: + +[ngtcp2](https://github.com/ngtcp2/ngtcp2) + +[quiche](https://github.com/cloudflare/quiche) - **EXPERIMENTAL** + +[OpenSSL 3.2+ QUIC](https://github.com/openssl/openssl) - **EXPERIMENTAL** + +[msh3](https://github.com/nibanks/msh3) (with [msquic](https://github.com/microsoft/msquic)) - **EXPERIMENTAL** + +## Experimental + +HTTP/3 support in curl is considered **EXPERIMENTAL** until further notice +when built to use *quiche* or *msh3*. Only the *ngtcp2* backend is not +experimental. + +Further development and tweaking of the HTTP/3 support in curl happens in the +master branch using pull-requests, just like ordinary changes. + +To fix before we remove the experimental label: + + - the used QUIC library needs to consider itself non-beta + - it is fine to "leave" individual backends as experimental if necessary + +# ngtcp2 version + +Building curl with ngtcp2 involves 3 components: `ngtcp2` itself, `nghttp3` and a QUIC supporting TLS library. The supported TLS libraries are covered below. + +While any version of `ngtcp2` and `nghttp3` from v1.0.0 on are expected to +work, using the latest versions often brings functional and performance +improvements. + +The build examples use `$NGHTTP3_VERSION` and `$NGTCP2_VERSION` as placeholders +for the version you build. + +## Build with OpenSSL + +OpenSSL v3.5.0+ offers APIs for integration with *ngtcp2* v1.12.0+. Earlier +versions do not work. + +Build OpenSSL (version 3.5.0 or newer): + + % git clone --quiet --depth=1 -b openssl-$OPENSSL_VERSION https://github.com/openssl/openssl + % cd openssl + % ./config --prefix= --libdir=lib + % make + % make install + +Build nghttp3: + + % cd .. + % git clone -b $NGHTTP3_VERSION https://github.com/ngtcp2/nghttp3 + % cd nghttp3 + % git submodule update --init + % autoreconf -fi + % ./configure --prefix= --enable-lib-only + % make + % make install + +Build ngtcp2: + + % cd .. + % git clone -b $NGTCP2_VERSION https://github.com/ngtcp2/ngtcp2 + % cd ngtcp2 + % autoreconf -fi + % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only --with-openssl + % make + % make install + +Build curl: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % LDFLAGS="-Wl,-rpath,/lib" ./configure --with-openssl= --with-nghttp3= --with-ngtcp2= + % make + % make install + +## Build with quictls + +OpenSSL does not offer the required APIs for building a QUIC client. You need +to use a TLS library that has such APIs and that works with *ngtcp2*. + +Build quictls (any `+quic` tagged version works): + + % git clone --depth 1 -b openssl-3.1.4+quic https://github.com/quictls/openssl + % cd openssl + % ./config enable-tls1_3 --prefix= --libdir=lib + % make + % make install + +Build nghttp3: + + % cd .. + % git clone -b $NGHTTP3_VERSION https://github.com/ngtcp2/nghttp3 + % cd nghttp3 + % git submodule update --init + % autoreconf -fi + % ./configure --prefix= --enable-lib-only + % make + % make install + +Build ngtcp2: + + % cd .. + % git clone -b $NGTCP2_VERSION https://github.com/ngtcp2/ngtcp2 + % cd ngtcp2 + % autoreconf -fi + % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only + % make + % make install + +Build curl: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % LDFLAGS="-Wl,-rpath,/lib" ./configure --with-openssl= --with-nghttp3= --with-ngtcp2= + % make + % make install + +## Build with GnuTLS + +Build GnuTLS: + + % git clone --depth 1 https://gitlab.com/gnutls/gnutls.git + % cd gnutls + % ./bootstrap + % ./configure --prefix= + % make + % make install + +Build nghttp3: + + % cd .. + % git clone -b $NGHTTP3_VERSION https://github.com/ngtcp2/nghttp3 + % cd nghttp3 + % git submodule update --init + % autoreconf -fi + % ./configure --prefix= --enable-lib-only + % make + % make install + +Build ngtcp2: + + % cd .. + % git clone -b $NGTCP2_VERSION https://github.com/ngtcp2/ngtcp2 + % cd ngtcp2 + % autoreconf -fi + % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only --with-gnutls + % make + % make install + +Build curl: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure --with-gnutls= --with-nghttp3= --with-ngtcp2= + % make + % make install + +## Build with wolfSSL + +Build wolfSSL: + + % git clone https://github.com/wolfSSL/wolfssl.git + % cd wolfssl + % autoreconf -fi + % ./configure --prefix= --enable-quic --enable-session-ticket --enable-earlydata --enable-psk --enable-harden --enable-altcertchains + % make + % make install + +Build nghttp3: + + % cd .. + % git clone -b $NGHTTP3_VERSION https://github.com/ngtcp2/nghttp3 + % cd nghttp3 + % git submodule update --init + % autoreconf -fi + % ./configure --prefix= --enable-lib-only + % make + % make install + +Build ngtcp2: + + % cd .. + % git clone -b $NGTCP2_VERSION https://github.com/ngtcp2/ngtcp2 + % cd ngtcp2 + % autoreconf -fi + % ./configure PKG_CONFIG_PATH=/lib/pkgconfig:/lib/pkgconfig LDFLAGS="-Wl,-rpath,/lib" --prefix= --enable-lib-only --with-wolfssl + % make + % make install + +Build curl: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure --with-wolfssl= --with-nghttp3= --with-ngtcp2= + % make + % make install + +# quiche version + +quiche support is **EXPERIMENTAL** + +Since the quiche build manages its dependencies, curl can be built against the latest version. You are *probably* able to build against their main branch, but in case of problems, we recommend their latest release tag. + +## Build + +Build quiche and BoringSSL: + + % git clone --recursive -b 0.22.0 https://github.com/cloudflare/quiche + % cd quiche + % cargo build --package quiche --release --features ffi,pkg-config-meta,qlog + % ln -s libquiche.so target/release/libquiche.so.0 + % mkdir quiche/deps/boringssl/src/lib + % ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) quiche/deps/boringssl/src/lib/ + +Build curl: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-openssl=$PWD/../quiche/quiche/deps/boringssl/src --with-quiche=$PWD/../quiche/target/release + % make + % make install + + If `make install` results in `Permission denied` error, you need to prepend + it with `sudo`. + +# OpenSSL version + +QUIC support is **EXPERIMENTAL** + +Use OpenSSL 3.3.1 or newer (QUIC support was added in 3.3.0, with +shortcomings on some platforms like macOS). 3.4.1 or newer is recommended. +Build via: + + % cd .. + % git clone -b $OPENSSL_VERSION https://github.com/openssl/openssl + % cd openssl + % ./config enable-tls1_3 --prefix= --libdir=lib + % make + % make install + +Build nghttp3: + + % cd .. + % git clone -b $NGHTTP3_VERSION https://github.com/ngtcp2/nghttp3 + % cd nghttp3 + % git submodule update --init + % autoreconf -fi + % ./configure --prefix= --enable-lib-only + % make + % make install + +Build curl: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % LDFLAGS="-Wl,-rpath,/lib" ./configure --with-openssl= --with-openssl-quic --with-nghttp3= + % make + % make install + +You can build curl with cmake: + + % cd .. + % git clone https://github.com/curl/curl + % cd curl + % cmake -B bld -DCURL_USE_OPENSSL=ON -DUSE_OPENSSL_QUIC=ON + % cmake --build bld + % cmake --install bld + + If `make install` results in `Permission denied` error, you need to prepend + it with `sudo`. + +# msh3 (msquic) version + +**Note**: The msquic HTTP/3 backend is immature and is not properly functional +one as of September 2023. Feel free to help us test it and improve it, but +there is no point in filing bugs about it just yet. + +msh3 support is **EXPERIMENTAL** + +## Build Linux (with quictls fork of OpenSSL) + +Build msh3: + + % git clone -b v0.6.0 --depth 1 --recursive https://github.com/nibanks/msh3 + % cd msh3 && mkdir build && cd build + % cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + % cmake --build . + % cmake --install . + +Build curl: + + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure LDFLAGS="-Wl,-rpath,/usr/local/lib" --with-msh3=/usr/local --with-openssl + % make + % make install + +Run from `/usr/local/bin/curl`. + +## Build Windows + +Build msh3: + + % git clone -b v0.6.0 --depth 1 --recursive https://github.com/nibanks/msh3 + % cd msh3 && mkdir build && cd build + % cmake -G 'Visual Studio 17 2022' -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + % cmake --build . --config Release + % cmake --install . --config Release + +**Note** - On Windows, Schannel is used for TLS support by default. If you +with to use (the quictls fork of) OpenSSL, specify the `-DQUIC_TLS=openssl` +option to the generate command above. Also note that OpenSSL brings with it an +additional set of build dependencies not specified here. + +Build curl (in [Visual Studio Command +prompt](../winbuild/README.md#open-a-command-prompt)): + + % git clone https://github.com/curl/curl + % cd curl/winbuild + % nmake /f Makefile.vc mode=dll WITH_MSH3=dll MSH3_PATH="C:/Program Files/msh3" MACHINE=x64 + +Run in the `C:/Program Files/msh3/lib` directory, copy `curl.exe` to that +directory, or copy `msquic.dll` and `msh3.dll` from that directory to the +`curl.exe` directory. For example: + + % C:\Program Files\msh3\lib> F:\curl\builds\libcurl-vc-x64-release-dll-ipv6-sspi-schannel-msh3\bin\curl.exe --http3 https://curl.se/ + +# `--http3` + +Use only HTTP/3: + + % curl --http3-only https://example.org:4433/ + +Use HTTP/3 with fallback to HTTP/2 or HTTP/1.1 (see "HTTPS eyeballing" below): + + % curl --http3 https://example.org:4433/ + +Upgrade via Alt-Svc: + + % curl --alt-svc altsvc.cache https://curl.se/ + +See this [list of public HTTP/3 servers](https://bagder.github.io/HTTP3-test/) + +### HTTPS eyeballing + +With option `--http3` curl attempts earlier HTTP versions as well should the +connect attempt via HTTP/3 not succeed "fast enough". This strategy is similar +to IPv4/6 happy eyeballing where the alternate address family is used in +parallel after a short delay. + +The IPv4/6 eyeballing has a default of 200ms and you may override that via +`--happy-eyeballs-timeout-ms value`. Since HTTP/3 is still relatively new, we +decided to use this timeout also for the HTTP eyeballing - with a slight +twist. + +The `happy-eyeballs-timeout-ms` value is the **hard** timeout, meaning after +that time expired, a TLS connection is opened in addition to negotiate HTTP/2 +or HTTP/1.1. At half of that value - currently - is the **soft** timeout. The +soft timeout fires, when there has been **no data at all** seen from the +server on the HTTP/3 connection. + +So, without you specifying anything, the hard timeout is 200ms and the soft is 100ms: + + * Ideally, the whole QUIC handshake happens and curl has an HTTP/3 connection + in less than 100ms. + * When QUIC is not supported (or UDP does not work for this network path), no + reply is seen and the HTTP/2 TLS+TCP connection starts 100ms later. + * In the worst case, UDP replies start before 100ms, but drag on. This starts + the TLS+TCP connection after 200ms. + * When the QUIC handshake fails, the TLS+TCP connection is attempted right + away. For example, when the QUIC server presents the wrong certificate. + +The whole transfer only fails, when **both** QUIC and TLS+TCP fail to +handshake or time out. + +Note that all this happens in addition to IP version happy eyeballing. If the +name resolution for the server gives more than one IP address, curl tries all +those until one succeeds - just as with all other protocols. If those IP +addresses contain both IPv6 and IPv4, those attempts happen, delayed, in +parallel (the actual eyeballing). + +## Known Bugs + +Check out the [list of known HTTP3 bugs](https://curl.se/docs/knownbugs.html#HTTP3). + +# HTTP/3 Test server + +This is not advice on how to run anything in production. This is for +development and experimenting. + +## Prerequisite(s) + +An existing local HTTP/1.1 server that hosts files. Preferably also a few huge +ones. You can easily create huge local files like `truncate -s=8G 8GB` - they +are huge but do not occupy that much space on disk since they are just big +holes. + +In a Debian setup you can install apache2. It runs on port 80 and has a +document root in `/var/www/html`. Download the 8GB file from apache with `curl +localhost/8GB -o dev/null` + +In this description we setup and run an HTTP/3 reverse-proxy in front of the +HTTP/1 server. + +## Setup + +You can select either or both of these server solutions. + +### nghttpx + +Get, build and install quictls, nghttp3 and ngtcp2 as described +above. + +Get, build and install nghttp2: + + % git clone https://github.com/nghttp2/nghttp2.git + % cd nghttp2 + % autoreconf -fi + % PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/daniel/build-quictls/lib/pkgconfig:/home/daniel/build-nghttp3/lib/pkgconfig:/home/daniel/build-ngtcp2/lib/pkgconfig LDFLAGS=-L/home/daniel/build-quictls/lib CFLAGS=-I/home/daniel/build-quictls/include ./configure --enable-maintainer-mode --prefix=/home/daniel/build-nghttp2 --disable-shared --enable-app --enable-http3 --without-jemalloc --without-libxml2 --without-systemd + % make && make install + +Run the local h3 server on port 9443, make it proxy all traffic through to +HTTP/1 on localhost port 80. For local toying, we can just use the test cert +that exists in curl's test dir. + + % CERT=/path/to/stunnel.pem + % $HOME/bin/nghttpx $CERT $CERT --backend=localhost,80 \ + --frontend="localhost,9443;quic" + +### Caddy + +[Install Caddy](https://caddyserver.com/docs/install). For easiest use, the binary +should be either in your PATH or your current directory. + +Create a `Caddyfile` with the following content: +~~~ +localhost:7443 { + respond "Hello, world! you are using {http.request.proto}" +} +~~~ + +Then run Caddy: + + % ./caddy start + +Making requests to `https://localhost:7443` should tell you which protocol is being used. + +You can change the hard-coded response to something more useful by replacing `respond` +with `reverse_proxy` or `file_server`, for example: `reverse_proxy localhost:80` diff --git a/curl/docs/HTTPSRR.md b/curl/docs/HTTPSRR.md new file mode 100644 index 0000000..22184a2 --- /dev/null +++ b/curl/docs/HTTPSRR.md @@ -0,0 +1,100 @@ + + +# HTTPS RR + +[RFC 9460](https://www.rfc-editor.org/rfc/rfc9460.html) documents the HTTPS +DNS Resource Record. + +curl features **experimental** support for HTTPS RR. + +- The ALPN list from the record is parsed and used +- The ECH field is stored - and used if ECH is enabled in the build +- The port number is not used (Firefox supports it, Chrome does not) +- The target name is not used +- The IP addresses (`Ipv6hints`, `Ipv4hints`) from the HTTPS RR are not used +- It only supports a single HTTPS RR per hostname +- Hostnames without A/AAAA records but *with* HTTPS RR fails +- consider service profiles where the RR provides different addresses for TCP + vs QUIC etc + +`HTTPSRR` is listed as a feature in the `curl -V` output if curl contains +HTTPS RR support. If c-ares is not included in the build, the HTTPS RR support +is limited to DoH. + +`asyn-rr` is listed as a feature in the `curl -V` output if c-ares is used for +additional resolves in addition to a "normal" resolve done with the threaded +resolver. + +The data extracted from the HTTPS RR is stored in the in-memory DNS cache to +be reused on subsequent uses of the same hostnames. + +## limitations + +We have decided to work on the HTTPS RR support by following what seems to be +(widely) used, and simply wait with implementing the details of the record +that do not seem to be deployed. HTTPS RR is a DNS field with many odd corners +and complexities and we might as well avoid them if no one seems to want them. + +## build + + ./configure --enable-httpsrr + +or + + cmake -DUSE_HTTPSRR=ON + +## ALPN + +The list of ALPN IDs is parsed but may not be completely respected because of +what the HTTP version preference is set to, which is a problem we are working +on. Also, getting an `HTTP/1.1` ALPN in the HTTPS RR field for an HTTP:// +transfer should imply switching to HTTPS, HSTS style. Which curl currently +does not. + +## DoH + +When HTTPS RR is enabled in the curl build, The DoH code asks for an HTTPS +record in addition to the A and AAAA records, and if an HTTPS RR answer is +returned, curl parses it and stores the retrieved information. + +## Non-DoH + +If DoH is not used for name resolving in an HTTPS RR enabled build, we must +provide the ability using the regular resolver backends. We use the c-ares DNS +library for the HTTPS RR lookup. Version 1.28.0 or later. + +### c-ares + +If curl is built to use the c-ares library for name resolves, an HTTPS RR +enabled build makes a request for the HTTPS RR in addition to the regular +lookup. + +### Threaded resolver + +When built to use the threaded resolver, which is the default, an HTTPS RR +build still needs a c-ares installation provided so that a separate request +for the HTTPS record can be done in parallel to the regular getaddrinfo() +call. + +This is done by specifying both c-ares and threaded resolver to configure: + + ./configure --enable-ares=... --enable-threaded-resolver + +or to cmake: + + cmake -DENABLE_ARES=ON -DENABLE_THREADED_RESOLVER=ON + +Because the HTTPS record is handled separately from the A/AAAA record +retrieval, by a separate library, there is a small risk for discrepancies. + +When building curl using the threaded resolver with HTTPS RR support (using +c-ares), the `curl -V` output looks exactly like a c-ares resolver build. + +## HTTPS RR Options + +Because curl is a low level transfer tool for which users sometimes want +detailed control, we need to offer options to control HTTPS RR use. diff --git a/curl/docs/INFRASTRUCTURE.md b/curl/docs/INFRASTRUCTURE.md new file mode 100644 index 0000000..7dfd629 --- /dev/null +++ b/curl/docs/INFRASTRUCTURE.md @@ -0,0 +1,209 @@ + + +# Infrastructure in the curl project + +Overview of infrastructure we maintain, host and run in the project for the +project. + +## git repository + +Since 2010, the main curl git repository has been hosted by GitHub, available +at https://github.com/curl/curl. + +We also use the issue tracker, pull requests and discussions on GitHub. + +curl has an "enterprise account" on GitHub and is an "organization" on the +site. + +We accept sponsorship via GitHub Sponsors. + +## CI services + +For every pull request and git push to the master repository, a number of +build and testing jobs are run on a set of different CI services. The exact +services vary over time. GitHub Actions and AppVeyor are the primary ones +these days. + +## Test Clutch + +A [Test Clutch](https://github.com/dfandrich/testclutch) instance generates +regular reports on curl CI test results at https://testclutch.curl.se/ as well +as writing comments on curl pull requests whose tests have failed. The jobs +are hosted on a Virtuozzo Application Platform PaaS instance and is managed by +Dan Fandrich. The configuration code is is available and managed at +https://github.com/dfandrich/testclutch-curl-web + +## Autobuilds + +The curl autobuild system is a set of scripts that build and test curl and +send all output logs back to the autobuild server. The results are +continuously collected and visualized on the curl website at +. + +The autobuild system and server is maintained by Daniel Stenberg. + +## OSS-Fuzz + +Google runs the [OSS-Fuzz](https://google.github.io/oss-fuzz/) project which +also runs fuzzing on curl code, non-stop, in their infrastructure and they +send us emails in the rare instances they actually find something. + +OSS-Fuzz notifies those that are members in the "curl team". Any curl +maintainer who wants to is welcome to participate. It requires a Google +account. + +## Coverity + +We regularly run our code through the [Coverity static code +analyzer](https://scan.coverity.com/) thanks to them offering this service to +us for free. + +## CodeSonar + +[CodeSonar](https://codesecure.com/our-products/codesonar/) analyzes the curl +source code daily and emails Daniel Stenberg whenever it finds suspected +problems in the source code. I hope and expect that we can invite other +maintainers to access these reports soon. + +## Domain names + +The project runs services and website using a few different curl related +domain names, including `curl.se` and `curl.dev`. Daniel Stenberg owns these +domain names. + +Until a few years ago, the curl website was present at `curl.haxx.se`. The +`haxx.se` domain is owned by Haxx AB, administrated by Daniel Stenberg. The +curl.haxx.se name is meant to keep working and be redirecting to curl.se for +the foreseeable future. + +## Websites + +The main curl website at `curl.se` is maintained by curl maintainers and the +content is available and managed at https://github.com/curl/curl-www. The site +updates from git and runs make every 20 minutes. Any change pushed to git can +thus take up to 20 minutes until it takes effect on the origin server. + +The content on `curl.dev` is available and managed at +https://github.com/curl/curl.dev/ + +The content on `everything-curl.dev` is available and managed at +https://github.com/curl/everything-curl/ + +The machine hosting the website contents for these three sites is owned by +Haxx AB and is primarily managed by Daniel Stenberg (co-owner of the Haxx +company). The machine is physically located in Sweden. + +curl release tarballs are hosted on https://curl.se/download.html. They are +uploaded there at release-time by the release manager. + +curl-for-win downloads are hosted on https://curl.se/windows and are uploaded +to the server by Viktor Szakats. + +curl-for-QNX downloads are hosted on and are uploaded to +the server by Daniel Stenberg. + +Daily release tarball-like snapshots are generated automatically and are +provided for download at . + +CA certificate bundles are extracted from the Firefox source code, hosted by +Mozilla and converted to PEM file format and is offered for download. The +conversion checks for updates daily. The bundle is provided for download at +. + +There is an automated "download check bot" that runs twice daily to scan for +available curl downloads to populate the curl download page appropriately with +the correct updated information. The bot uses URLs and patterns for all +download packages and is maintained in a database, maintained by Daniel +Stenberg and Dan Fandrich. + +The TLS certificate for the origin curl web server is automatically updated +from Let's Encrypt. + +## CDN + +Fastly runs the Content Delivery Network (CDN) that fronts all the curl +websites. The CDN caches content that it gets from the origin server. +Recently, roughly 99.99% of web requests are satisfied by the CDN without +having to reach the origin. + +The CDN caches different content at different lengths depending on the +content-type. The caching thus adds to the time for a change to have an effect +on the site from the moment it gets pushed to the git repository. + +Using this setup, we provide four IPv4 addresses and eight IPv6 addresses for +anycast access to the site. Should be snappy from virtually everywhere across +the globe. + +The CDN servers support HTTP/1, HTTP/2 and HTTP/3. They set HSTS for a year. +The `HTTP://` version of the site redirects to `HTTPS://`. + +Fastly manages the TLS certificates from Let's Encrypt for the servers they +run on the behalf of curl. + +## Containers + +The curl project offer container builds of curl. The source repository for +them is located at . + +Container images are hosted at and + + +## DNS + +The primary domain name, `curl.se` is managed by Kirei and is offered over +fault-tolerant anycast servers. High availability and fast access for +everyone. + +The actual physical DNS files and origin bind instance is managed by Daniel +Stenberg. + +## Mailing lists + +The curl related mailing lists are hosted by Haxx AB on `lists.haxx.se` and +are maintained by Daniel Stenberg. This includes the mailman2 and Postfix +instances used for this. + +## Email + +We use a few rare additional curl related email aliases in the curl domains. +They go through the mail server `mail.haxx.se` maintained by Daniel Stenberg + +## Bug-bounty + +We run a [bug-bounty](https://curl.se/docs/bugbounty.html) on HackerOne. The +setup runs entirely at https://hackerone.com/curl. + +The money part for the bug bounty is sponsored by the [Internet Bug +Bounty](https://hackerone.com/ibb). + +## Open Collective + +We use [Open Collective](https://opencollective.com/curl) as our "fiscal +host". All money sent to and received by the curl project is managed by Open +Collective. + +## Merchandise + +We have stickers, coffee mugs and coasters. They are managed by Daniel who +sits on the inventory. The best way to get your hands on curl merchandise is +to attend events where Daniel is physically. + +## Chat + +Some curl developers, maintainers, users and enthusiasts use IRC for real-time +chat about curl and related topics. This done in the `#curl` channel on the +`libra.chat` IRC network. **Daniel Stenberg** (`bagder`) is registered owner +of the channel. We do not run any IRC servers or services ourselves. + +`curelbot` is a service in the channel that shows details about GitHub issues +and pull requests when publicly mentioned using #[number]. The bot is run by +user `TheAssassin`. + +There is a Matrix bridge to the IRC channel called `matrix.curl.se`. The +bridge is setup and run by **Sergio Durigan Junior** and **Daniel Stenberg**. + +[curl online chat documentation](https://curl.se/docs/irc.html) diff --git a/curl/docs/INSTALL-CMAKE.md b/curl/docs/INSTALL-CMAKE.md new file mode 100644 index 0000000..b7fec51 --- /dev/null +++ b/curl/docs/INSTALL-CMAKE.md @@ -0,0 +1,605 @@ + + +# Building with CMake + +This document describes how to configure, build and install curl and libcurl +from source code using the CMake build tool. To build with CMake, you of +course first have to install CMake. The minimum required version of CMake is +specified in the file `CMakeLists.txt` found in the top of the curl source +tree. Once the correct version of CMake is installed you can follow the +instructions below for the platform you are building on. + +CMake builds can be configured either from the command line, or from one of +CMake's GUIs. + +# Configuring + +A CMake configuration of curl is similar to the autotools build of curl. +It consists of the following steps after you have unpacked the source. + +We recommend building with CMake on Windows. For instructions on migrating +from the `projects/Windows` Visual Studio solution files, see +[this section](#migrating-from-visual-studio-ide-project-files). For +instructions on migrating from the winbuild builds, see +[the following section](#migrating-from-winbuild-builds). + +## Using `cmake` + +You can configure for in source tree builds or for a build tree +that is apart from the source tree. + + - Build in the source tree. + + $ cmake -B . + + - Build in a separate directory (parallel to the curl source tree in this + example). The build directory is created for you. This is recommended over + building in the source tree to separate source and build artifacts. + + $ cmake -B ../curl-build + +For the full list of CMake build configuration variables see +[the corresponding section](#cmake-build-options). + +### Fallback for CMake before version 3.13 + +CMake before version 3.13 does not support the `-B` option. In that case, +you must create the build directory yourself, `cd` to it and run `cmake` +from there: + + $ mkdir ../curl-build + $ cd ../curl-build + $ cmake ../curl + +If you want to build in the source tree, it is enough to do this: + + $ cmake . + +### Build system generator selection + +You can override CMake's default by using `-G `. For example +on Windows with multiple build systems if you have MinGW-w64 then you could use +`-G "MinGW Makefiles"`. +[List of generator names](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html). + +## Using `ccmake` + +CMake comes with a curses based interface called `ccmake`. To run `ccmake` +on a curl use the instructions for the command line cmake, but substitute +`ccmake` for `cmake`. + +This brings up a curses interface with instructions on the bottom of the +screen. You can press the "c" key to configure the project, and the "g" key to +generate the project. After the project is generated, you can run make. + +## Using `cmake-gui` + +CMake also comes with a Qt based GUI called `cmake-gui`. To configure with +`cmake-gui`, you run `cmake-gui` and follow these steps: + + 1. Fill in the "Where is the source code" combo box with the path to + the curl source tree. + 2. Fill in the "Where to build the binaries" combo box with the path to + the directory for your build tree, ideally this should not be the same + as the source tree, but a parallel directory called curl-build or + something similar. + 3. Once the source and binary directories are specified, press the + "Configure" button. + 4. Select the native build tool that you want to use. + 5. At this point you can change any of the options presented in the GUI. + Once you have selected all the options you want, click the "Generate" + button. + +# Building + +Build (you have to specify the build directory). + + $ cmake --build ../curl-build + +## Static builds + +The CMake build setup is primarily done to work with shared/dynamic third +party dependencies. When linking with shared libraries, the dependency "chain" +is handled automatically by the library loader - on all modern systems. + +If you instead link with a static library, you need to provide all the +dependency libraries already at the link command line. + +Figuring out all the dependency libraries for a given library is hard, as it +might involve figuring out the dependencies of the dependencies and they vary +between platforms and can change between versions. + +When using static dependencies, the build scripts mostly assume that you, the +user, provide all the necessary additional dependency libraries as additional +arguments in the build. + +Building statically is not for the faint of heart. + +### Fallback for CMake before version 3.13 + +CMake before version 3.13 does not support the `--build` option. In that +case, you have to `cd` to the build directory and use the building tool that +corresponds to the build files that CMake generated for you. This example +assumes that CMake generates `Makefile`: + + $ cd ../curl-build + $ make + +# Testing + +(The test suite does not yet work with the cmake build) + +# Installing + +Install to default location (you have to specify the build directory). + + $ cmake --install ../curl-build + +Do not use `--prefix` to change the installation prefix as the output produced +by the `curl-config` script is determined at CMake configure time. If you want +to set a custom install prefix for curl, set +[`CMAKE_INSTALL_PREFIX`](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html) +when configuring the CMake build. + +### Fallback for CMake before version 3.15 + +CMake before version 3.15 does not support the `--install` option. In that +case, you have to `cd` to the build directory and use the building tool that +corresponds to the build files that CMake generated for you. This example +assumes that CMake generates `Makefile`: + + $ cd ../curl-build + $ make install + +# CMake usage + +Just as curl can be built and installed using CMake, it can also be used from +CMake. + +## Using `find_package` + +To locate libcurl from CMake, one can use the standard +[`find_package`](https://cmake.org/cmake/help/latest/command/find_package.html) +command in the typical fashion: + +```cmake +find_package(CURL 8.12.0 REQUIRED) # FATAL_ERROR if CURL is not found +``` + +This invokes the CMake-provided +[FindCURL](https://cmake.org/cmake/help/latest/module/FindCURL.html) find module, +which first performs a search using the `find_package` +[config mode](https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure). +This is supported by the `CURLConfig.cmake` CMake config script which is +available if the given CURL was built and installed using CMake. + +### Detecting CURL features/protocols + +Since version 8.12.0, `CURLConfig.cmake` publishes the supported CURL features +and protocols (see [release notes](https://curl.se/ch/8.12.0.html)). These can +be specified using the `find_package` keywords `COMPONENTS` and +`OPTIONAL_COMPONENTS`, with protocols in all caps, e.g. `HTTPS`, `LDAP`, while +features should be in their original sentence case, e.g. `AsynchDNS`, +`UnixSockets`. If any of the `COMPONENTS` are missing, then CURL is considered +as *not* found. + +Here is an example of using `COMPONENTS` and `OPTIONAL_COMPONENTS` in +`find_package` with CURL: + +```cmake +# CURL_FOUND is FALSE if no HTTPS but brotli and zstd can be missing +find_package(CURL 8.12.0 COMPONENTS HTTPS OPTIONAL_COMPONENTS brotli zstd) +``` + +One can also check the defined `CURL_SUPPORTS_` variables +if a particular feature/protocol is supported. For example: + +```cmake +# check HTTPS +if(CURL_SUPPORTS_HTTPS) + message(STATUS "CURL supports HTTPS") +else() + message(STATUS "CURL does NOT support HTTPS") +endif() +``` + +### Linking against libcurl + +To link a CMake target against libcurl one can use +[`target_link_libraries`](https://cmake.org/cmake/help/latest/command/target_link_libraries.html) +as usual: + +```cmake +target_link_libraries(my_target PRIVATE CURL::libcurl) +``` + +# CMake build options + +- `BUILD_CURL_EXE`: Build curl executable. Default: `ON` +- `BUILD_EXAMPLES`: Build libcurl examples. Default: `ON` +- `BUILD_LIBCURL_DOCS`: Build libcurl man pages. Default: `ON` +- `BUILD_MISC_DOCS`: Build misc man pages (e.g. `curl-config` and `mk-ca-bundle`). Default: `ON` +- `BUILD_SHARED_LIBS`: Build shared libraries. Default: `ON` +- `BUILD_STATIC_CURL`: Build curl executable with static libcurl. Default: `OFF` +- `BUILD_STATIC_LIBS`: Build static libraries. Default: `OFF` +- `BUILD_TESTING`: Build tests. Default: `ON` +- `CURL_CLANG_TIDY`: Run the build through `clang-tidy`. Default: `OFF` +- `CURL_CLANG_TIDYFLAGS`: Custom options to pass to `clang-tidy`. Default: (empty) +- `CURL_COMPLETION_FISH`: Install fish completions. Default: `OFF` +- `CURL_COMPLETION_FISH_DIR`: Custom fish completion install directory. +- `CURL_COMPLETION_ZSH`: Install zsh completions. Default: `OFF` +- `CURL_COMPLETION_ZSH_DIR`: Custom zsh completion install directory. +- `CURL_DEFAULT_SSL_BACKEND`: Override default TLS backend in MultiSSL builds. + Accepted values in order of default priority: + `wolfssl`, `gnutls`, `mbedtls`, `openssl`, `secure-transport`, `schannel`, `bearssl`, `rustls` +- `CURL_ENABLE_EXPORT_TARGET`: Enable CMake export target. Default: `ON` +- `CURL_HIDDEN_SYMBOLS`: Hide libcurl internal symbols (=hide all symbols that are not officially external). Default: `ON` +- `CURL_LIBCURL_SOVERSION`: Enable libcurl SOVERSION. Default: `ON` for supported platforms +- `CURL_LIBCURL_VERSIONED_SYMBOLS`: Enable libcurl versioned symbols. Default: `OFF` +- `CURL_LIBCURL_VERSIONED_SYMBOLS_PREFIX`: Override default versioned symbol prefix. Default: `_` or `MULTISSL_` +- `CURL_LTO`: Enable compiler Link Time Optimizations. Default: `OFF` +- `CURL_STATIC_CRT`: Build libcurl with static CRT with MSVC (`/MT`) (requires UCRT, static libcurl or no curl executable). Default: `OFF` +- `CURL_TARGET_WINDOWS_VERSION`: Minimum target Windows version as hex string. +- `CURL_TEST_BUNDLES`: Build tests into single-binary bundles. Default: `OFF` +- `CURL_WERROR`: Turn compiler warnings into errors. Default: `OFF` +- `ENABLE_CURLDEBUG`: Enable TrackMemory debug feature. Default: =`ENABLE_DEBUG` +- `ENABLE_CURL_MANUAL`: Build the man page for curl and enable its `-M`/`--manual` option. Default: `ON` +- `ENABLE_DEBUG`: Enable curl debug features (for developing curl itself). Default: `OFF` +- `ENABLE_SERVER_DEBUG`: Apply curl debug options to test servers. Default: `OFF` +- `IMPORT_LIB_SUFFIX`: Import library suffix. Default: `_imp` for MSVC-like toolchains, otherwise empty. +- `LIBCURL_OUTPUT_NAME`: Basename of the curl library. Default: `libcurl` +- `PICKY_COMPILER`: Enable picky compiler options. Default: `ON` +- `SHARE_LIB_OBJECT`: Build shared and static libcurl in a single pass (requires CMake 3.12 or newer). Default: `ON` for Windows +- `STATIC_LIB_SUFFIX`: Static library suffix. Default: (empty) + +## CA bundle options + +- `CURL_CA_BUNDLE`: Path to the CA bundle. Set `none` to disable or `auto` for auto-detection. Default: `auto` +- `CURL_CA_EMBED`: Path to the CA bundle to embed in the curl tool. Default: (disabled) +- `CURL_CA_FALLBACK`: Use built-in CA store of TLS backend. Default: `OFF` +- `CURL_CA_PATH`: Location of default CA path. Set `none` to disable or `auto` for auto-detection. Default: `auto` +- `CURL_CA_SEARCH_SAFE`: Enable safe CA bundle search (within the curl tool directory) on Windows. Default: `OFF` + +## Enabling features + +- `CURL_ENABLE_SSL`: Enable SSL support. Default: `ON` +- `CURL_WINDOWS_SSPI`: Enable SSPI on Windows. Default: =`CURL_USE_SCHANNEL` +- `ENABLE_IPV6`: Enable IPv6 support. Default: `ON` if target supports IPv6. +- `ENABLE_THREADED_RESOLVER`: Enable threaded DNS lookup. Default: `ON` if c-ares is not enabled and target supports threading. +- `ENABLE_UNICODE`: Use the Unicode version of the Windows API functions. Default: `OFF` +- `ENABLE_UNIX_SOCKETS`: Enable Unix domain sockets support. Default: `ON` +- `USE_ECH`: Enable ECH support. Default: `OFF` +- `USE_HTTPSRR`: Enable HTTPS RR support. Default: `OFF` +- `USE_OPENSSL_QUIC`: Use OpenSSL and nghttp3 libraries for HTTP/3 support. Default: `OFF` +- `USE_SSLS_EXPORT`: Enable experimental SSL session import/export. Default: `OFF` + +## Disabling features + +- `CURL_DISABLE_ALTSVC`: Disable alt-svc support. Default: `OFF` +- `CURL_DISABLE_AWS`: Disable **aws-sigv4**. Default: `OFF` +- `CURL_DISABLE_BASIC_AUTH`: Disable Basic authentication. Default: `OFF` +- `CURL_DISABLE_BEARER_AUTH`: Disable Bearer authentication. Default: `OFF` +- `CURL_DISABLE_BINDLOCAL`: Disable local binding support. Default: `OFF` +- `CURL_DISABLE_CA_SEARCH`: Disable unsafe CA bundle search in PATH on Windows. Default: `OFF` +- `CURL_DISABLE_COOKIES`: Disable cookies support. Default: `OFF` +- `CURL_DISABLE_DICT`: Disable DICT. Default: `OFF` +- `CURL_DISABLE_DIGEST_AUTH`: Disable Digest authentication. Default: `OFF` +- `CURL_DISABLE_DOH`: Disable DNS-over-HTTPS. Default: `OFF` +- `CURL_DISABLE_FILE`: Disable FILE. Default: `OFF` +- `CURL_DISABLE_FORM_API`: Disable **form-api**. Default: =`CURL_DISABLE_MIME` +- `CURL_DISABLE_FTP`: Disable FTP. Default: `OFF` +- `CURL_DISABLE_GETOPTIONS`: Disable `curl_easy_options` API for existing options to `curl_easy_setopt`. Default: `OFF` +- `CURL_DISABLE_GOPHER`: Disable Gopher. Default: `OFF` +- `CURL_DISABLE_HEADERS_API`: Disable **headers-api** support. Default: `OFF` +- `CURL_DISABLE_HSTS`: Disable HSTS support. Default: `OFF` +- `CURL_DISABLE_HTTP`: Disable HTTP. Default: `OFF` +- `CURL_DISABLE_HTTP_AUTH`: Disable all HTTP authentication methods. Default: `OFF` +- `CURL_DISABLE_IMAP`: Disable IMAP. Default: `OFF` +- `CURL_DISABLE_INSTALL`: Disable installation targets. Default: `OFF` +- `CURL_DISABLE_IPFS`: Disable IPFS. Default: `OFF` +- `CURL_DISABLE_KERBEROS_AUTH`: Disable Kerberos authentication. Default: `OFF` +- `CURL_DISABLE_LDAP`: Disable LDAP. Default: `OFF` +- `CURL_DISABLE_LDAPS`: Disable LDAPS. Default: =`CURL_DISABLE_LDAP` +- `CURL_DISABLE_LIBCURL_OPTION`: Disable `--libcurl` option from the curl tool. Default: `OFF` +- `CURL_DISABLE_MIME`: Disable MIME support. Default: `OFF` +- `CURL_DISABLE_MQTT`: Disable MQTT. Default: `OFF` +- `CURL_DISABLE_NEGOTIATE_AUTH`: Disable negotiate authentication. Default: `OFF` +- `CURL_DISABLE_NETRC`: Disable netrc parser. Default: `OFF` +- `CURL_DISABLE_NTLM`: Disable NTLM support. Default: `OFF` +- `CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG`: Disable automatic loading of OpenSSL configuration. Default: `OFF` +- `CURL_DISABLE_PARSEDATE`: Disable date parsing. Default: `OFF` +- `CURL_DISABLE_POP3`: Disable POP3. Default: `OFF` +- `CURL_DISABLE_PROGRESS_METER`: Disable built-in progress meter. Default: `OFF` +- `CURL_DISABLE_PROXY`: Disable proxy support. Default: `OFF` +- `CURL_DISABLE_RTSP`: Disable RTSP. Default: `OFF` +- `CURL_DISABLE_SHA512_256`: Disable SHA-512/256 hash algorithm. Default: `OFF` +- `CURL_DISABLE_SHUFFLE_DNS`: Disable shuffle DNS feature. Default: `OFF` +- `CURL_DISABLE_SMB`: Disable SMB. Default: `OFF` +- `CURL_DISABLE_SMTP`: Disable SMTP. Default: `OFF` +- `CURL_DISABLE_SOCKETPAIR`: Disable use of socketpair for curl_multi_poll. Default: `OFF` +- `CURL_DISABLE_SRP`: Disable TLS-SRP support. Default: `OFF` +- `CURL_DISABLE_TELNET`: Disable Telnet. Default: `OFF` +- `CURL_DISABLE_TFTP`: Disable TFTP. Default: `OFF` +- `CURL_DISABLE_VERBOSE_STRINGS`: Disable verbose strings. Default: `OFF` +- `CURL_DISABLE_WEBSOCKETS`: Disable WebSocket. Default: `OFF` +- `HTTP_ONLY`: Disable all protocols except HTTP (This overrides all `CURL_DISABLE_*` options). Default: `OFF` + +## Environment + +- `CI`: Assume running under CI if set. +- `CURL_BUILDINFO`: Print `buildinfo.txt` if set. +- `CURL_CI`: Assume running under CI if set. + +## CMake options + +- `CMAKE_BUILD_TYPE`: (see CMake) +- `CMAKE_DEBUG_POSTFIX`: Default: `-d` +- `CMAKE_IMPORT_LIBRARY_SUFFIX` (see CMake) +- `CMAKE_INSTALL_BINDIR` (see CMake) +- `CMAKE_INSTALL_INCLUDEDIR` (see CMake) +- `CMAKE_INSTALL_LIBDIR` (see CMake) +- `CMAKE_INSTALL_PREFIX` (see CMake) +- `CMAKE_STATIC_LIBRARY_SUFFIX` (see CMake) +- `CMAKE_UNITY_BUILD_BATCH_SIZE`: Set the number of sources in a "unity" unit. Default: `0` (all) +- `CMAKE_UNITY_BUILD`: Enable "unity" (aka jumbo) builds. Default: `OFF` + +Details via CMake +[variables](https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html) and +[install directories](https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html). + +## Dependencies + +- `CURL_BROTLI`: Use brotli (`ON`, `OFF` or `AUTO`). Default: `AUTO` +- `CURL_USE_BEARSSL`: Enable BearSSL for SSL/TLS. Default: `OFF` +- `CURL_USE_GNUTLS`: Enable GnuTLS for SSL/TLS. Default: `OFF` +- `CURL_USE_GSASL`: Use libgsasl. Default: `OFF` +- `CURL_USE_GSSAPI`: Use GSSAPI implementation. Default: `OFF` +- `CURL_USE_LIBPSL`: Use libpsl. Default: `ON` +- `CURL_USE_LIBSSH2`: Use libssh2. Default: `ON` +- `CURL_USE_LIBSSH`: Use libssh. Default: `OFF` +- `CURL_USE_LIBUV`: Use libuv for event-based tests. Default: `OFF` +- `CURL_USE_MBEDTLS`: Enable mbedTLS for SSL/TLS. Default: `OFF` +- `CURL_USE_OPENSSL`: Enable OpenSSL for SSL/TLS. Default: `ON` if no other TLS backend was enabled. +- `CURL_USE_PKGCONFIG`: Enable `pkg-config` to detect dependencies. Default: `ON` for Unix (except Android, Apple devices), vcpkg, MinGW if not cross-compiling. +- `CURL_USE_RUSTLS`: Enable Rustls for SSL/TLS. Default: `OFF` +- `CURL_USE_SCHANNEL`: Enable Windows native SSL/TLS (Schannel). Default: `OFF` +- `CURL_USE_SECTRANSP`: Enable Apple OS native SSL/TLS (Secure Transport). Default: `OFF` +- `CURL_USE_WOLFSSH`: Use wolfSSH. Default: `OFF` +- `CURL_USE_WOLFSSL`: Enable wolfSSL for SSL/TLS. Default: `OFF` +- `CURL_ZLIB`: Use zlib (`ON`, `OFF` or `AUTO`). Default: `AUTO` +- `CURL_ZSTD`: Use zstd (`ON`, `OFF` or `AUTO`). Default: `AUTO` +- `ENABLE_ARES`: Enable c-ares support. Default: `OFF` +- `USE_APPLE_IDN`: Use Apple built-in IDN support. Default: `OFF` +- `USE_LIBIDN2`: Use libidn2 for IDN support. Default: `ON` +- `USE_LIBRTMP`: Enable librtmp from rtmpdump. Default: `OFF` +- `USE_MSH3`: Use msh3/msquic library for HTTP/3 support. Default: `OFF` +- `USE_NGHTTP2`: Use nghttp2 library. Default: `ON` +- `USE_NGTCP2`: Use ngtcp2 and nghttp3 libraries for HTTP/3 support. Default: `OFF` +- `USE_QUICHE`: Use quiche library for HTTP/3 support. Default: `OFF` +- `USE_WIN32_IDN`: Use WinIDN for IDN support. Default: `OFF` +- `USE_WIN32_LDAP`: Use Windows LDAP implementation. Default: `ON` + +## Dependency options (via CMake) + +- `OPENSSL_ROOT_DIR`: Set this variable to the root installation of OpenSSL (and forks). +- `OPENSSL_USE_STATIC_LIBS`: Look for static OpenSSL libraries. +- `ZLIB_INCLUDE_DIR`: The zlib include directory. +- `ZLIB_LIBRARY`: Path to `zlib` library. +- `ZLIB_USE_STATIC_LIBS`: Look for static ZLIB library (requires CMake v3.24). + +## Dependency options (tools) + +- `CLANG_TIDY`: `clang-tidy` tool used with `CURL_CLANG_TIDY=ON`. Default: `clang-tidy` +- `PERL_EXECUTABLE`: Perl binary used throughout the build and tests. + +## Dependency options (libraries) + +- `AMISSL_INCLUDE_DIR`: The AmiSSL include directory. +- `AMISSL_STUBS_LIBRARY`: Path to `amisslstubs` library. +- `AMISSL_AUTO_LIBRARY`: Path to `amisslauto` library. +- `BEARSSL_INCLUDE_DIR`: The BearSSL include directory. +- `BEARSSL_LIBRARY`: Path to `bearssl` library. +- `BROTLI_INCLUDE_DIR`: The brotli include directory. +- `BROTLICOMMON_LIBRARY`: Path to `brotlicommon` library. +- `BROTLIDEC_LIBRARY`: Path to `brotlidec` library. +- `CARES_INCLUDE_DIR`: The c-ares include directory. +- `CARES_LIBRARY`: Path to `cares` library. +- `DL_LIBRARY`: Path to `dl` library. (for Rustls) +- `GSS_ROOT_DIR`: Set this variable to the root installation of GSS. (also supported as environment) +- `LDAP_LIBRARY`: Name or full path to `ldap` library. Default: `ldap` +- `LDAP_LBER_LIBRARY`: Name or full path to `lber` library. Default: `lber` +- `LDAP_INCLUDE_DIR`: Path to LDAP include directory. +- `LIBGSASL_INCLUDE_DIR`: The libgsasl include directory. +- `LIBGSASL_LIBRARY`: Path to `libgsasl` library. +- `LIBIDN2_INCLUDE_DIR`: The libidn2 include directory. +- `LIBIDN2_LIBRARY`: Path to `libidn2` library. +- `LIBPSL_INCLUDE_DIR`: The libpsl include directory. +- `LIBPSL_LIBRARY`: Path to `libpsl` library. +- `LIBRTMP_INCLUDE_DIR`: The librtmp include directory. +- `LIBRTMP_LIBRARY`: Path to `librtmp` library. +- `LIBSSH_INCLUDE_DIR`: The libssh include directory. +- `LIBSSH_LIBRARY`: Path to `libssh` library. +- `LIBSSH2_INCLUDE_DIR`: The libssh2 include directory. +- `LIBSSH2_LIBRARY`: Path to `libssh2` library. +- `LIBUV_INCLUDE_DIR`: The libuv include directory. +- `LIBUV_LIBRARY`: Path to `libuv` library. +- `MATH_LIBRARY`: Path to `m` library. (for Rustls, wolfSSL) +- `MBEDTLS_INCLUDE_DIR`: The mbedTLS include directory. +- `MBEDTLS_LIBRARY`: Path to `mbedtls` library. +- `MBEDX509_LIBRARY`: Path to `mbedx509` library. +- `MBEDCRYPTO_LIBRARY`: Path to `mbedcrypto` library. +- `MSH3_INCLUDE_DIR`: The msh3 include directory. +- `MSH3_LIBRARY`: Path to `msh3` library. +- `NGHTTP2_INCLUDE_DIR`: The nghttp2 include directory. +- `NGHTTP2_LIBRARY`: Path to `nghttp2` library. +- `NGHTTP3_INCLUDE_DIR`: The nghttp3 include directory. +- `NGHTTP3_LIBRARY`: Path to `nghttp3` library. +- `NGTCP2_INCLUDE_DIR`: The ngtcp2 include directory. +- `NGTCP2_LIBRARY`: Path to `ngtcp2` library. +- `NETTLE_INCLUDE_DIR`: The nettle include directory. +- `NETTLE_LIBRARY`: Path to `nettle` library. +- `PTHREAD_LIBRARY`: Path to `pthread` library. (for Rustls) +- `QUICHE_INCLUDE_DIR`: The quiche include directory. +- `QUICHE_LIBRARY`: Path to `quiche` library. +- `RUSTLS_INCLUDE_DIR`: The Rustls include directory. +- `RUSTLS_LIBRARY`: Path to `rustls` library. +- `WATT_ROOT`: Set this variable to the root installation of Watt-32. +- `WOLFSSH_INCLUDE_DIR`: The wolfSSH include directory. +- `WOLFSSH_LIBRARY`: Path to `wolfssh` library. +- `WOLFSSL_INCLUDE_DIR`: The wolfSSL include directory. +- `WOLFSSL_LIBRARY`: Path to `wolfssl` library. +- `ZSTD_INCLUDE_DIR`: The zstd include directory. +- `ZSTD_LIBRARY`: Path to `zstd` library. + +## Test tools + +- `APXS`: Default: `apxs` +- `CADDY`: Default: `caddy` +- `HTTPD_NGHTTPX`: Default: `nghttpx` +- `HTTPD`: Default: `apache2` +- `TEST_NGHTTPX`: Default: `nghttpx` +- `VSFTPD`: Default: `vsftps` + +## Feature detection variables + +By default this CMake build script detects the version of some dependencies +using `check_symbol_exists`. Those checks do not work in the case that both +CURL and its dependency are included as sub-projects in a larger build using +`FetchContent`. To support that case, additional variables may be defined by +the parent project, ideally in the "extra" find package redirect file: + + +Available variables: + +- `HAVE_GNUTLS_SRP`: `gnutls_srp_verifier` present in GnuTLS. +- `HAVE_GSS_C_NT_HOSTBASED_SERVICE`: `GSS_C_NT_HOSTBASED_SERVICE` present in GSS/Heimdal/Kerberos. +- `HAVE_LDAP_INIT_FD`: `ldap_init_fd` present in LDAP library. +- `HAVE_LDAP_URL_PARSE`: `ldap_url_parse` present in LDAP library. +- `HAVE_OPENSSL_SRP`: `SSL_CTX_set_srp_username` present in OpenSSL (or fork). +- `HAVE_QUICHE_CONN_SET_QLOG_FD`: `quiche_conn_set_qlog_fd` present in quiche. +- `HAVE_RUSTLS_SUPPORTED_HPKE`: `rustls_supported_hpke` present in Rustls (unused if Rustls is detected via `pkg-config`). +- `HAVE_SSL_SET0_WBIO`: `SSL_set0_wbio` present in OpenSSL (or fork). +- `HAVE_SSL_SET1_ECH_CONFIG_LIST`: `SSL_set1_ech_config_list` present in OpenSSL (or fork). +- `HAVE_SSL_SET_QUIC_TLS_CBS`: `SSL_set_quic_tls_cbs` in OpenSSL. +- `HAVE_SSL_SET_QUIC_USE_LEGACY_CODEPOINT`: `SSL_set_quic_use_legacy_codepoint` in OpenSSL fork. +- `HAVE_WOLFSSL_BIO_NEW`: `wolfSSL_BIO_new` present in wolfSSL. +- `HAVE_WOLFSSL_BIO_SET_SHUTDOWN`: `wolfSSL_BIO_set_shutdown` present in wolfSSL. +- `HAVE_WOLFSSL_CTX_GENERATEECHCONFIG`: `wolfSSL_CTX_GenerateEchConfig` present in wolfSSL. +- `HAVE_WOLFSSL_DES_ECB_ENCRYPT`: `wolfSSL_DES_ecb_encrypt` present in wolfSSL. +- `HAVE_WOLFSSL_GET_PEER_CERTIFICATE`: `wolfSSL_get_peer_certificate` present in wolfSSL. +- `HAVE_WOLFSSL_SET_QUIC_USE_LEGACY_CODEPOINT`: + `wolfSSL_set_quic_use_legacy_codepoint` present in wolfSSL. +- `HAVE_WOLFSSL_USEALPN`: `wolfSSL_UseALPN` present in wolfSSL. + +For each of the above variables, if the variable is *defined* (either to `ON` +or `OFF`), the symbol detection is skipped. If the variable is *not defined*, +the feature detection is performed. + +Note: These variables are internal and subject to change. + +# Migrating from Visual Studio IDE Project Files + +We recommend using CMake to build curl with MSVC. + +The project build files reside in project/Windows/VC\* for VS2010, VS2012 and +VS2013. + +These CMake Visual Studio generators require CMake v3.24 or older. You can +download them from . + +You can also use `-G "NMake Makefiles"`, which is supported by all CMake +versions. + +Configuration element | Equivalent CMake options +:-------------------------------- | :-------------------------------- +`VC10` | `-G "Visual Studio 10 2010"` +`VC11` | `-G "Visual Studio 11 2012"` +`VC12` | `-G "Visual Studio 12 2013"` +`x64` | `-A x64` +`Win32` | `-A Win32` +`DLL` | `BUILD_SHARED_LIBS=ON`, `BUILD_STATIC_LIBS=OFF`, (default) +`LIB` | `BUILD_SHARED_LIBS=OFF`, `BUILD_STATIC_LIBS=ON` +`Debug` | `CMAKE_BUILD_TYPE=Debug` (`-G "NMake Makefiles"` only) +`Release` | `CMAKE_BUILD_TYPE=Release` (`-G "NMake Makefiles"` only) +`DLL Windows SSPI` | `CURL_USE_SCHANNEL=ON` (with SSPI enabled by default) +`DLL OpenSSL` | `CURL_USE_OPENSSL=ON`, optional: `OPENSSL_ROOT_DIR`, `OPENSSL_USE_STATIC_LIBS=ON` +`DLL libssh2` | `CURL_USE_LIBSSH2=ON`, optional: `LIBSSH2_INCLUDE_DIR`, `LIBSSH2_LIBRARY` +`DLL WinIDN` | `USE_WIN32_IDN=ON` + +For example these commands: + + > cd projects + > ./generate.bat VC12 + > msbuild "-property:Configuration=DLL Debug - DLL Windows SSPI - DLL WinIDN" Windows/VC12/curl-all.sln + +translate to: + + > cmake . -G "Visual Studio 12 2013" -A x64 -DCURL_USE_SCHANNEL=ON -DUSE_WIN32_IDN=ON -DCURL_USE_LIBPSL=OFF + > cmake --build . --config Debug --parallel + +We do *not* specify `-DCMAKE_BUILD_TYPE=Debug` here as we might do for the +`"NMake Makefiles"` generator because the Visual Studio generators are +[multi-config generators](https://cmake.org/cmake/help/latest/prop_gbl/GENERATOR_IS_MULTI_CONFIG.html) +and therefore ignore the value of `CMAKE_BUILD_TYPE`. + +# Migrating from winbuild builds + +We recommend CMake to build curl with MSVC. The winbuild build system is +deprecated and is going to be removed in September 2025 in favor of the CMake +build system. + +In CMake you can customize the path of dependencies by passing the absolute +header path and the full path of the library via `*_INCLUDE_DIR` and +`*_LIBRARY` options (see the complete list in the option listing above). +The full path to the library can point to a static library or an import +library, which defines if the dependency is linked as a dll or statically. +For OpenSSL this works +[differently](https://cmake.org/cmake/help/latest/module/FindOpenSSL.html): +You can pass the root directory of the OpenSSL installation via +`OPENSSL_ROOT_DIR`, then pass `OPENSSL_USE_STATIC_LIBS=ON` to select static +libs. + +winbuild options | Equivalent CMake options +:-------------------------------- | :-------------------------------- +`DEBUG` | `CMAKE_BUILD_TYPE=Debug` +`GEN_PDB` | `CMAKE_EXE_LINKER_FLAGS=/Fd`, `CMAKE_SHARED_LINKER_FLAGS=/Fd` +`LIB_NAME_DLL`, `LIB_NAME_STATIC` | `IMPORT_LIB_SUFFIX`, `LIBCURL_OUTPUT_NAME`, `STATIC_LIB_SUFFIX` +`VC`: `` | see the CMake [Visual Studio generators](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html#visual-studio-generators) +`MACHINE`: `x64`, `x86` | `-A x64`, `-A Win32` +`MODE`: `dll`, `static` | `BUILD_SHARED_LIBS=ON/OFF`, `BUILD_STATIC_LIBS=ON/OFF`, `BUILD_STATIC_CURL=ON/OFF` (default: dll) +`RTLIBCFG`: `static` | `CURL_STATIC_CRT=ON` +`ENABLE_IDN` | `USE_WIN32_IDN=ON` +`ENABLE_IPV6` | `ENABLE_IPV6=ON` +`ENABLE_MSH3` | `USE_MSH3=ON` +`ENABLE_NGHTTP2` | `USE_NGHTTP2=ON` +`ENABLE_OPENSSL_AUTO_LOAD_CONFIG` | `CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG=OFF` (default) +`ENABLE_SCHANNEL` | `CURL_USE_SCHANNEL=ON` +`ENABLE_SSPI` | `CURL_WINDOWS_SSPI=ON` (default with Schannel) +`ENABLE_UNICODE` | `ENABLE_UNICODE=ON` +`WITH_PREFIX` | `CMAKE_INSTALL_PREFIX=` +`WITH_DEVEL` | see individual `*_INCLUDE_DIR` and `*_LIBRARY` options and `OPENSSL_ROOT_DIR` +`WITH_CARES`, `CARES_PATH` | `ENABLE_ARES=ON`, optional: `CARES_INCLUDE_DIR`, `CARES_LIBRARY` +`WITH_MBEDTLS`, `MBEDTLS_PATH` | `CURL_USE_MBEDTLS=ON`, optional: `MBEDTLS_INCLUDE_DIR`, `MBEDTLS_LIBRARY`, `MBEDX509_LIBRARY`, `MBEDCRYPTO_LIBRARY` +`WITH_MSH3`, `MSH_PATH` | `USE_MSH3=ON`, optional: `MSH3_INCLUDE_DIR`, `MSH3_LIBRARY` +`WITH_NGHTTP2`, `NGHTTP2_PATH` | `USE_NGHTTP2=ON`, optional: `NGHTTP2_INCLUDE_DIR`, `NGHTTP2_LIBRARY` +`WITH_SSH`, `SSH_PATH` | `CURL_USE_LIBSSH=ON`, optional: `LIBSSH_INCLUDE_DIR`, `LIBSSH_LIBRARY` +`WITH_SSH2`, `SSH2_PATH` | `CURL_USE_LIBSSH2=ON`, optional: `LIBSSH2_INCLUDE_DIR`, `LIBSSH2_LIBRARY` +`WITH_SSL`, `SSL_PATH` | `CURL_USE_OPENSSL=ON`, optional: `OPENSSL_ROOT_DIR`, `OPENSSL_USE_STATIC_LIBS=ON` +`WITH_WOLFSSL`, `WOLFSSL_PATH` | `CURL_USE_WOLFSSL=ON`, optional: `WOLFSSL_INCLUDE_DIR`, `WOLFSSL_LIBRARY` +`WITH_ZLIB`, `ZLIB_PATH` | `CURL_ZLIB=ON`, optional: `ZLIB_INCLUDE_DIR`, `ZLIB_LIBRARY` + +For example this command-line: + + > nmake -f Makefile.vc VC=17 MACHINE=x64 DEBUG=ON mode=dll SSL_PATH=C:\OpenSSL WITH_SSL=dll ENABLE_UNICODE=ON + +translates to: + + > cmake . -G "Visual Studio 17 2022" -A x64 -DBUILD_SHARED_LIBS=ON -DOPENSSL_ROOT_DIR=C:\OpenSSL -DCURL_USE_OPENSSL=ON -DENABLE_UNICODE=ON -DCURL_USE_LIBPSL=OFF + > cmake --build . --config Debug + +We use `--config` with `cmake --build` because the Visual Studio CMake +generators are multi-config and therefore ignore `CMAKE_BUILD_TYPE`. diff --git a/curl/docs/INSTALL.md b/curl/docs/INSTALL.md new file mode 100644 index 0000000..f61c0ea --- /dev/null +++ b/curl/docs/INSTALL.md @@ -0,0 +1,665 @@ + + +# How to install curl and libcurl + +## Installing Binary Packages + +Lots of people download binary distributions of curl and libcurl. This +document does not describe how to install curl or libcurl using such a binary +package. This document describes how to compile, build and install curl and +libcurl from source code. + +## Building using vcpkg + +You can download and install curl and libcurl using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: + + git clone https://github.com/Microsoft/vcpkg.git + cd vcpkg + ./bootstrap-vcpkg.sh + ./vcpkg integrate install + vcpkg install curl[tool] + +The curl port in vcpkg is kept up to date by Microsoft team members and +community contributors. If the version is out of date, please [create an issue +or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. + +## Building from git + +If you get your code off a git repository instead of a release tarball, see +the `GIT-INFO.md` file in the root directory for specific instructions on how +to proceed. + +# Unix + +A normal Unix installation is made in three or four steps (after you have +unpacked the source archive): + + ./configure --with-openssl [--with-gnutls --with-wolfssl] + make + make test (optional) + make install + +(Adjust the configure line accordingly to use the TLS library you want.) + +You probably need to be root when doing the last command. + +Get a full listing of all available configure options by invoking it like: + + ./configure --help + +If you want to install curl in a different file hierarchy than `/usr/local`, +specify that when running configure: + + ./configure --prefix=/path/to/curl/tree + +If you have write permission in that directory, you can do 'make install' +without being root. An example of this would be to make a local install in +your own home directory: + + ./configure --prefix=$HOME + make + make install + +The configure script always tries to find a working SSL library unless +explicitly told not to. If you have OpenSSL installed in the default search +path for your compiler/linker, you do not need to do anything special. If you +have OpenSSL installed in `/usr/local/ssl`, you can run configure like: + + ./configure --with-openssl + +If you have OpenSSL installed somewhere else (for example, `/opt/OpenSSL`) and +you have pkg-config installed, set the pkg-config path first, like this: + + env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-openssl + +Without pkg-config installed, use this: + + ./configure --with-openssl=/opt/OpenSSL + +If you insist on forcing a build without SSL support, you can run configure +like this: + + ./configure --without-ssl + +If you have OpenSSL installed, but with the libraries in one place and the +header files somewhere else, you have to set the `LDFLAGS` and `CPPFLAGS` +environment variables prior to running configure. Something like this should +work: + + CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" ./configure + +If you have shared SSL libs installed in a directory where your runtime +linker does not find them (which usually causes configure failures), you can +provide this option to gcc to set a hard-coded path to the runtime linker: + + LDFLAGS=-Wl,-R/usr/local/ssl/lib ./configure --with-openssl + +## Static builds + +To force a static library compile, disable the shared library creation by +running configure like: + + ./configure --disable-shared + +The configure script is primarily done to work with shared/dynamic third party +dependencies. When linking with shared libraries, the dependency "chain" is +handled automatically by the library loader - on all modern systems. + +If you instead link with a static library, you need to provide all the +dependency libraries already at the link command line. + +Figuring out all the dependency libraries for a given library is hard, as it +might involve figuring out the dependencies of the dependencies and they vary +between platforms and change between versions. + +When using static dependencies, the build scripts mostly assume that you, the +user, provide all the necessary additional dependency libraries as additional +arguments in the build. With configure, by setting `LIBS` or `LDFLAGS` on the +command line. + +Building statically is not for the faint of heart. + +## Debug + +If you are a curl developer and use gcc, you might want to enable more debug +options with the `--enable-debug` option. + +curl can be built to use a whole range of libraries to provide various useful +services, and configure tries to auto-detect a decent default. If you want to +alter it, you can select how to deal with each individual library. + +## Select TLS backend + +These options are provided to select the TLS backend to use. + + - AmiSSL: `--with-amissl` + - BearSSL: `--with-bearssl` + - GnuTLS: `--with-gnutls`. + - mbedTLS: `--with-mbedtls` + - OpenSSL: `--with-openssl` (also for BoringSSL, AWS-LC, LibreSSL, and quictls) + - rustls: `--with-rustls` + - Schannel: `--with-schannel` + - Secure Transport: `--with-secure-transport` + - wolfSSL: `--with-wolfssl` + +You can build curl with *multiple* TLS backends at your choice, but some TLS +backends cannot be combined: if you build with an OpenSSL fork (or wolfSSL), +you cannot add another OpenSSL fork (or wolfSSL) simply because they have +conflicting identical symbol names. + +When you build with multiple TLS backends, you can select the active one at +runtime when curl starts up. + +## MultiSSL and HTTP/3 + +HTTP/3 needs QUIC and QUIC needs TLS. Building libcurl with HTTP/3 and QUIC +support is not compatible with the MultiSSL feature: they are mutually +exclusive. If you need MultiSSL in your build, you cannot have HTTP/3 support +and vice versa. + +libcurl can only use a single TLS library with QUIC and that *same* TLS +library needs to be used for the other TLS using protocols. + +## Configure finding libs in wrong directory + +When the configure script checks for third-party libraries, it adds those +directories to the `LDFLAGS` variable and then tries linking to see if it +works. When successful, the found directory is kept in the `LDFLAGS` variable +when the script continues to execute and do more tests and possibly check for +more libraries. + +This can make subsequent checks for libraries wrongly detect another +installation in a directory that was previously added to `LDFLAGS` by another +library check. + +# Windows + +Building for Windows XP is required as a minimum. + +You can build curl with: + +- Microsoft Visual Studio 2008 v9.0 or later (`_MSC_VER >= 1500`) +- MinGW-w64 + +## Building Windows DLLs and C runtime (CRT) linkage issues + + As a general rule, building a DLL with static CRT linkage is highly + discouraged, and intermixing CRTs in the same app is something to avoid at + any cost. + + Reading and comprehending Microsoft Knowledge Base articles KB94248 and + KB140584 is a must for any Windows developer. Especially important is full + understanding if you are not going to follow the advice given above. + + - [How To Use the C Runtime](https://support.microsoft.com/help/94248/how-to-use-the-c-run-time) + - [Runtime Library Compiler Options](https://docs.microsoft.com/cpp/build/reference/md-mt-ld-use-run-time-library) + - [Potential Errors Passing CRT Objects Across DLL Boundaries](https://docs.microsoft.com/cpp/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries) + +If your app is misbehaving in some strange way, or it is suffering from memory +corruption, before asking for further help, please try first to rebuild every +single library your app uses as well as your app using the debug +multi-threaded dynamic C runtime. + + If you get linkage errors read section 5.7 of the FAQ document. + +## Cygwin + +Almost identical to the Unix installation. Run the configure script in the +curl source tree root with `sh configure`. Make sure you have the `sh` +executable in `/bin/` or you see the configure fail toward the end. + +Run `make` + +## MS-DOS + +You can use either autotools or cmake: + + ./configure \ + CC=/path/to/djgpp/bin/i586-pc-msdosdjgpp-gcc \ + AR=/path/to/djgpp/bin/i586-pc-msdosdjgpp-ar \ + RANLIB=/path/to/djgpp/bin/i586-pc-msdosdjgpp-ranlib \ + WATT_ROOT=/path/to/djgpp/net/watt \ + --host=i586-pc-msdosdjgpp \ + --with-openssl=/path/to/djgpp \ + --with-zlib=/path/to/djgpp \ + --without-libpsl \ + --disable-shared + + cmake . \ + -DCMAKE_SYSTEM_NAME=DOS \ + -DCMAKE_C_COMPILER_TARGET=i586-pc-msdosdjgpp \ + -DCMAKE_C_COMPILER=/path/to/djgpp/bin/i586-pc-msdosdjgpp-gcc \ + -DWATT_ROOT=/path/to/djgpp/net/watt \ + -DOPENSSL_INCLUDE_DIR=/path/to/djgpp/include \ + -DOPENSSL_SSL_LIBRARY=/path/to/djgpp/lib/libssl.a \ + -DOPENSSL_CRYPTO_LIBRARY=/path/to/djgpp/lib/libcrypto.a \ + -DZLIB_INCLUDE_DIR=/path/to/djgpp/include \ + -DZLIB_LIBRARY=/path/to/djgpp/lib/libz.a \ + -DCURL_USE_LIBPSL=OFF + +Notes: + + - Requires DJGPP 2.04 or upper. + + - Compile Watt-32 (and OpenSSL) with the same version of DJGPP. Otherwise + things go wrong because things like FS-extensions and `errno` values have + been changed between releases. + +## AmigaOS + +You can use either autotools or cmake: + + ./configure \ + CC=/opt/amiga/bin/m68k-amigaos-gcc \ + AR=/opt/amiga/bin/m68k-amigaos-ar \ + RANLIB=/opt/amiga/bin/m68k-amigaos-ranlib \ + --host=m68k-amigaos \ + --with-amissl \ + CFLAGS='-O0 -msoft-float -mcrt=clib2' \ + CPPFLAGS=-I/path/to/AmiSSL/Developer/include \ + LDFLAGS=-L/path/to/AmiSSL/Developer/lib/AmigaOS3 \ + LIBS='-lnet -lm -latomic' \ + --without-libpsl \ + --disable-shared + + cmake . \ + -DAMIGA=1 \ + -DCMAKE_SYSTEM_NAME=Generic \ + -DCMAKE_C_COMPILER_TARGET=m68k-unknown-amigaos \ + -DCMAKE_C_COMPILER=/opt/amiga/bin/m68k-amigaos-gcc \ + -DCMAKE_C_FLAGS='-O0 -msoft-float -mcrt=clib2' \ + -DAMISSL_INCLUDE_DIR=/path/to/AmiSSL/Developer/include \ + -DAMISSL_STUBS_LIBRARY=/path/to/AmiSSL/Developer/lib/AmigaOS3/libamisslstubs.a \ + -DAMISSL_AUTO_LIBRARY=/path/to/AmiSSL/Developer/lib/AmigaOS3/libamisslauto.a \ + -DCURL_USE_LIBPSL=OFF + +## Disabling Specific Protocols in Windows builds + +The configure utility, unfortunately, is not available for the Windows +environment, therefore, you cannot use the various disable-protocol options of +the configure utility on this platform. + +You can use specific defines to disable specific protocols and features. See +[CURL-DISABLE](CURL-DISABLE.md) for the full list. + +If you want to set any of these defines you have the following options: + + - Modify `lib/config-win32.h` + - Modify `lib/curl_setup.h` + - Modify `winbuild/Makefile.vc` + - Modify the "Preprocessor Definitions" in the libcurl project + +Note: The pre-processor settings can be found using the Visual Studio IDE +under "Project -> Properties -> Configuration Properties -> C/C++ -> +Preprocessor". + +## Using BSD-style lwIP instead of Winsock TCP/IP stack in Windows builds + +In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is +necessary to make the definition of the preprocessor symbol `USE_LWIPSOCK` +visible to libcurl and curl compilation processes. To set this definition you +have the following alternatives: + + - Modify `lib/config-win32.h` + - Modify `winbuild/Makefile.vc` + - Modify the "Preprocessor Definitions" in the libcurl project + +Note: The pre-processor settings can be found using the Visual Studio IDE +under "Project -> Properties -> Configuration Properties -> C/C++ -> +Preprocessor". + +Once that libcurl has been built with BSD-style lwIP TCP/IP stack support, in +order to use it with your program it is mandatory that your program includes +lwIP header file `` (or another lwIP header that includes this) +before including any libcurl header. Your program does not need the +`USE_LWIPSOCK` preprocessor definition which is for libcurl internals only. + +Compilation has been verified with lwIP 1.4.0. + +This BSD-style lwIP TCP/IP stack support must be considered experimental given +that it has been verified that lwIP 1.4.0 still needs some polish, and libcurl +might yet need some additional adjustment. + +## Important static libcurl usage note + +When building an application that uses the static libcurl library on Windows, +you must add `-DCURL_STATICLIB` to your `CFLAGS`. Otherwise the linker looks +for dynamic import symbols. + +## Legacy Windows and SSL + +Schannel (from Windows SSPI), is the native SSL library in Windows. However, +Schannel in Windows <= XP is unable to connect to servers that no longer +support the legacy handshakes and algorithms used by those versions. If you +are using curl in one of those earlier versions of Windows you should choose +another SSL backend such as OpenSSL. + +# Apple Platforms (macOS, iOS, tvOS, watchOS, and their simulator counterparts) + +On modern Apple operating systems, curl can be built to use Apple's SSL/TLS +implementation, Secure Transport, instead of OpenSSL. To build with Secure +Transport for SSL/TLS, use the configure option `--with-secure-transport`. + +When Secure Transport is in use, the curl options `--cacert` and `--capath` +and their libcurl equivalents, are ignored, because Secure Transport uses the +certificates stored in the Keychain to evaluate whether or not to trust the +server. This, of course, includes the root certificates that ship with the OS. +The `--cert` and `--engine` options, and their libcurl equivalents, are +currently unimplemented in curl with Secure Transport. + +In general, a curl build for an Apple `ARCH/SDK/DEPLOYMENT_TARGET` combination +can be taken by providing appropriate values for `ARCH`, `SDK`, `DEPLOYMENT_TARGET` +below and running the commands: + +```bash +# Set these three according to your needs +export ARCH=x86_64 +export SDK=macosx +export DEPLOYMENT_TARGET=10.8 + +export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYMENT_TARGET" +./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport +make -j8 +make install +``` + +With CMake: + +```bash +cmake . \ + -DCMAKE_OSX_ARCHITECTURES=x86_64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.8 \ + -DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" +``` + +The above command lines build curl for macOS platform with `x86_64` +architecture and `10.8` as deployment target. + +Here is an example for iOS device: + +```bash +export ARCH=arm64 +export SDK=iphoneos +export DEPLOYMENT_TARGET=11.0 + +export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYMENT_TARGET" +./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport +make -j8 +make install +``` + +With CMake (3.16 or upper recommended): + +```bash +cmake . \ + -DCMAKE_SYSTEM_NAME=iOS \ + -DCMAKE_OSX_ARCHITECTURES=arm64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 +``` + +Another example for watchOS simulator for macs with Apple Silicon: + +```bash +export ARCH=arm64 +export SDK=watchsimulator +export DEPLOYMENT_TARGET=5.0 + +export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYMENT_TARGET" +./configure --host=$ARCH-apple-darwin --prefix $(pwd)/artifacts --with-secure-transport +make -j8 +make install +``` + +In all above, the built libraries and executables can be found in the +`artifacts` folder. + +# Android + +When building curl for Android you can you CMake or curl's `configure` script. + +Before you can build curl for Android, you need to install the Android NDK +first. This can be done using the SDK Manager that is part of Android Studio. +Once you have installed the Android NDK, you need to figure out where it has +been installed and then set up some environment variables before launching +the build. + +Examples to compile for `aarch64` and API level 29: + +with CMake, where `ANDROID_NDK_HOME` points into your NDK: + + cmake . \ + -DANDROID_ABI=arm64-v8a \ + -DANDROID_PLATFORM=android-29 \ + -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake" \ + -DCURL_ENABLE_SSL=OFF \ + -DCURL_USE_LIBPSL=OFF + +with `configure`, on macOS: + +```bash +export ANDROID_NDK_HOME=~/Library/Android/sdk/ndk/25.1.8937393 # Point into your NDK. +export HOST_TAG=darwin-x86_64 # Same tag for Apple Silicon. Other OS values here: https://developer.android.com/ndk/guides/other_build_systems#overview +export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$HOST_TAG +export AR=$TOOLCHAIN/bin/llvm-ar +export AS=$TOOLCHAIN/bin/llvm-as +export CC=$TOOLCHAIN/bin/aarch64-linux-android29-clang +export CXX=$TOOLCHAIN/bin/aarch64-linux-android29-clang++ +export LD=$TOOLCHAIN/bin/ld +export RANLIB=$TOOLCHAIN/bin/llvm-ranlib +export STRIP=$TOOLCHAIN/bin/llvm-strip +``` + +When building on Linux or targeting other API levels or architectures, you need +to adjust those variables accordingly. After that you can build curl like this: + + ./configure --host aarch64-linux-android --with-pic --disable-shared + +Note that this does not give you SSL/TLS support. If you need SSL/TLS, you +have to build curl with a SSL/TLS library, e.g. OpenSSL, because it is +impossible for curl to access Android's native SSL/TLS layer. To build curl +for Android using OpenSSL, follow the OpenSSL build instructions and then +install `libssl.a` and `libcrypto.a` to `$TOOLCHAIN/sysroot/usr/lib` and copy +`include/openssl` to `$TOOLCHAIN/sysroot/usr/include`. Now you can build curl +for Android using OpenSSL like this: + +```bash +LIBS="-lssl -lcrypto -lc++" # For OpenSSL/BoringSSL. In general, you need to the SSL/TLS layer's transitive dependencies if you are linking statically. +./configure --host aarch64-linux-android --with-pic --disable-shared --with-openssl="$TOOLCHAIN/sysroot/usr" +``` + +# IBM i + +For IBM i (formerly OS/400), you can use curl in two different ways: + +- Natively, running in the **ILE**. The obvious use is being able to call curl + from ILE C or RPG applications. +- You need to build this from source. See `packages/OS400/README` for the ILE + specific build instructions. +- In the **PASE** environment, which runs AIX programs. curl is built as it + would be on AIX. +- IBM provides builds of curl in their Yum repository for PASE software. +- To build from source, follow the Unix instructions. + +There are some additional limitations and quirks with curl on this platform; +they affect both environments. + +## Multi-threading notes + +By default, jobs in IBM i does not start with threading enabled. (Exceptions +include interactive PASE sessions started by `QP2TERM` or SSH.) If you use +curl in an environment without threading when options like asynchronous DNS +were enabled, you get messages like: + +``` +getaddrinfo() thread failed to start +``` + +Do not panic. curl and your program are not broken. You can fix this by: + +- Set the environment variable `QIBM_MULTI_THREADED` to `Y` before starting + your program. This can be done at whatever scope you feel is appropriate. +- Alternatively, start the job with the `ALWMLTTHD` parameter set to `*YES`. + +# Cross compile + +Download and unpack the curl package. + +`cd` to the new directory. (e.g. `cd curl-7.12.3`) + +Set environment variables to point to the cross-compile toolchain and call +configure with any options you need. Be sure and specify the `--host` and +`--build` parameters at configuration time. The following script is an example +of cross-compiling for the IBM 405GP PowerPC processor using the toolchain on +Linux. + +```bash +#! /bin/sh + +export PATH=$PATH:/opt/hardhat/devkit/ppc/405/bin +export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include" +export AR=ppc_405-ar +export AS=ppc_405-as +export LD=ppc_405-ld +export RANLIB=ppc_405-ranlib +export CC=ppc_405-gcc +export NM=ppc_405-nm + +./configure --target=powerpc-hardhat-linux + --host=powerpc-hardhat-linux + --build=i586-pc-linux-gnu + --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local + --exec-prefix=/usr/local +``` + +The `--prefix` parameter specifies where curl gets installed. If `configure` +completes successfully, do `make` and `make install` as usual. + +In some cases, you may be able to simplify the above commands to as little as: + + ./configure --host=ARCH-OS + +# REDUCING SIZE + +There are a number of configure options that can be used to reduce the size of +libcurl for embedded applications where binary size is an important factor. +First, be sure to set the `CFLAGS` variable when configuring with any relevant +compiler optimization flags to reduce the size of the binary. For gcc, this +would mean at minimum the `-Os` option, and others like the following that +may be relevant in some environments: `-march=X`, `-mthumb`, `-m32`, +`-mdynamic-no-pic`, `-flto`, `-fdata-sections`, `-ffunction-sections`, +`-fno-unwind-tables`, `-fno-asynchronous-unwind-tables`, +`-fno-record-gcc-switches`, `-fsection-anchors`, `-fno-plt`, +`-Wl,--gc-sections`, `-Wl,-Bsymbolic`, `-Wl,-s`, + +For example, this is how to combine a few of these options: + + ./configure CC=gcc CFLAGS='-Os -ffunction-sections' LDFLAGS='-Wl,--gc-sections'... + +Note that newer compilers often produce smaller code than older versions +due to improved optimization. + +Be sure to specify as many `--disable-` and `--without-` flags on the +configure command-line as you can to disable all the libcurl features that you +know your application is not going to need. Besides specifying the +`--disable-PROTOCOL` flags for all the types of URLs your application do not +use, here are some other flags that can reduce the size of the library by +disabling support for some features (run `./configure --help` to see them all): + + - `--disable-aws` (cryptographic authentication) + - `--disable-basic-auth` (cryptographic authentication) + - `--disable-bearer-auth` (cryptographic authentication) + - `--disable-digest-auth` (cryptographic authentication) + - `--disable-http-auth` (all HTTP authentication) + - `--disable-kerberos-auth` (cryptographic authentication) + - `--disable-negotiate-auth` (cryptographic authentication) + - `--disable-ntlm` (NTLM authentication) + - `--disable-alt-svc` (HTTP Alt-Svc) + - `--disable-ares` (the C-ARES DNS library) + - `--disable-cookies` (HTTP cookies) + - `--disable-dateparse` (date parsing for time conditionals) + - `--disable-dnsshuffle` (internal server load spreading) + - `--disable-doh` (DNS-over-HTTP) + - `--disable-form-api` (POST form API) + - `--disable-get-easy-options` (lookup easy options at runtime) + - `--disable-headers-api` (API to access headers) + - `--disable-hsts` (HTTP Strict Transport Security) + - `--disable-ipv6` (IPv6) + - `--disable-libcurl-option` (--libcurl C code generation support) + - `--disable-manual` (--manual built-in documentation) + - `--disable-mime` (MIME API) + - `--disable-netrc` (.netrc file) + - `--disable-progress-meter` (graphical progress meter in library) + - `--disable-proxy` (HTTP and SOCKS proxies) + - `--disable-socketpair` (socketpair for asynchronous name resolving) + - `--disable-threaded-resolver` (threaded name resolver) + - `--disable-tls-srp` (Secure Remote Password authentication for TLS) + - `--disable-unix-sockets` (Unix sockets) + - `--disable-verbose` (eliminates debugging strings and error code strings) + - `--disable-versioned-symbols` (versioned symbols) + - `--enable-symbol-hiding` (eliminates unneeded symbols in the shared library) + - `--without-brotli` (Brotli on-the-fly decompression) + - `--without-libpsl` (Public Suffix List in cookies) + - `--without-nghttp2` (HTTP/2 using nghttp2) + - `--without-ngtcp2` (HTTP/2 using ngtcp2) + - `--without-zstd` (Zstd on-the-fly decompression) + - `--without-libidn2` (internationalized domain names) + - `--without-librtmp` (RTMP) + - `--without-ssl` (SSL/TLS) + - `--without-zlib` (gzip/deflate on-the-fly decompression) + +Be sure also to strip debugging symbols from your binaries after compiling +using 'strip' or an option like `-s`. If space is really tight, you may be able +to gain a few bytes by removing some unneeded sections of the shared library +using the -R option to objcopy (e.g. the .comment section). + +Using these techniques it is possible to create a basic HTTP-only libcurl +shared library for i386 Linux platforms that is only 137 KiB in size +(as of libcurl version 8.13.0, using gcc 14.2.0). + +You may find that statically linking libcurl to your application results in a +lower total size than dynamically linking. + +The curl test harness can detect the use of some, but not all, of the +`--disable` statements suggested above. Use of these can cause tests relying +on those features to fail. The test harness can be manually forced to skip the +relevant tests by specifying certain key words on the `runtests.pl` command +line. Following is a list of appropriate key words for those configure options +that are not automatically detected: + + - `--disable-cookies` !cookies + - `--disable-dateparse` !RETRY-AFTER !`CURLOPT_TIMECONDITION` !`CURLINFO_FILETIME` !`If-Modified-Since` !`curl_getdate` !`-z` + - `--disable-libcurl-option` !`--libcurl` + - `--disable-verbose` !verbose\ logs + +# Ports + +This is a probably incomplete list of known CPU architectures and operating +systems that curl has been compiled for. If you know a system curl compiles +and runs on, that is not listed, please let us know. + +## 104 Operating Systems + + AIX, AmigaOS, Android, ArcoOS, Aros, Atari FreeMiNT, BeOS, Blackberry + 10, Blackberry Tablet OS, Cell OS, CheriBSD, Chrome OS, Cisco IOS, + DG/UX, DR DOS, Dragonfly BSD, eCOS, FreeBSD, FreeDOS, FreeRTOS, Fuchsia, + Garmin OS, Genode, Haiku, HardenedBSD, HP-UX, Hurd, IBM I, illumos, + Integrity, iOS, ipadOS, IRIX, Linux, Lua RTOS, Mac OS 9, macOS, Maemo, + Mbed, Meego, Micrium, MINIX, Minoca, Moblin, MorphOS, MPE/iX, MS-DOS, + NCR MP-RAS, NetBSD, Netware, NextStep, Nintendo 3DS Nintendo Switch, + NonStop OS, NuttX, OpenBSD, OpenStep, Orbis OS, OS/2, OS21, Plan 9, + PlayStation Portable, QNX, Qubes OS, ReactOS, Redox, RISC OS, ROS, + RTEMS, Sailfish OS, SCO Unix, Serenity, SINIX-Z, SkyOS, software, + Solaris, Sortix, SunOS, Syllable OS, Symbian, Tizen, TPF, Tru64, tvOS, + ucLinux, Ultrix, UNICOS, UnixWare, VMS, vxWorks, watchOS, Wear OS, + WebOS, Wii system Wii U, Windows CE, Windows, Xbox System, Xenix, z/OS, + z/TPF, z/VM, z/VSE, Zephyr + +## 28 CPU Architectures + + Alpha, ARC, ARM, AVR32, C-SKY, CompactRISC, Elbrus, ETRAX, HP-PA, Itanium, + LoongArch, m68k, m88k, MicroBlaze, MIPS, Nios, OpenRISC, POWER, PowerPC, + RISC-V, s390, SH4, SPARC, Tilera, VAX, x86, Xtensa, z/arch diff --git a/curl/docs/INSTALL.txt b/curl/docs/INSTALL.txt new file mode 100644 index 0000000..ff260b1 --- /dev/null +++ b/curl/docs/INSTALL.txt @@ -0,0 +1,9 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + + How To Compile + +see INSTALL.md diff --git a/curl/docs/INTERNALS.md b/curl/docs/INTERNALS.md new file mode 100644 index 0000000..a0b1adc --- /dev/null +++ b/curl/docs/INTERNALS.md @@ -0,0 +1,63 @@ + + +# curl internals + +The canonical libcurl internals documentation is now in the [everything +curl](https://everything.curl.dev/internals) book. This file lists supported +versions of libs and build tools. + +## Portability + + We write curl and libcurl to compile with C89 compilers on 32-bit and up + machines. Most of libcurl assumes more or less POSIX compliance but that is + not a requirement. + + We write libcurl to build and work with lots of third party tools, and we + want it to remain functional and buildable with these and later versions + (older versions may still work but is not what we work hard to maintain): + +## Dependencies + + We aim to support these or later versions. + + - OpenSSL 1.0.2a + - LibreSSL 2.9.1 + - GnuTLS 3.1.10 + - zlib 1.2.5.2 + - libssh2 1.2.8 + - c-ares 1.6.0 + - libssh 0.9.0 + - libidn2 2.0.0 + - wolfSSL 3.4.6 + - OpenLDAP 2.0 + - MIT Kerberos 1.2.4 + - Heimdal ? + - nghttp2 1.15.0 + - Winsock 2.2 (on Windows 95+ and Windows CE .NET 4.1+) + +## Build tools + + When writing code (mostly for generating stuff included in release tarballs) + we use a few "build tools" and we make sure that we remain functional with + these versions: + + - GNU Libtool 1.4.2 + - GNU Autoconf 2.59 + - GNU Automake 1.7 + - GNU M4 1.4 + - perl 5.8 + - roffit 0.5 + - cmake 3.7 + +Library Symbols +=============== + + All symbols used internally in libcurl must use a `Curl_` prefix if they are + used in more than a single file. Single-file symbols must be made static. + Public ("exported") symbols must use a `curl_` prefix. Public API functions + are marked with `CURL_EXTERN` in the public header files so that all others + can be hidden on platforms where this is possible. diff --git a/curl/docs/IPFS.md b/curl/docs/IPFS.md new file mode 100644 index 0000000..82dae94 --- /dev/null +++ b/curl/docs/IPFS.md @@ -0,0 +1,133 @@ + + +# IPFS +For an overview about IPFS, visit the [IPFS project site](https://ipfs.tech/). + +In IPFS there are two protocols. IPFS and IPNS (their workings are explained in detail [here](https://docs.ipfs.tech/concepts/)). The ideal way to access data on the IPFS network is through those protocols. For example to access the Big Buck Bunny video the ideal way to access it is like: `ipfs://bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi` + +## IPFS Gateways + +IPFS Gateway acts as a bridge between traditional HTTP clients and IPFS. +IPFS Gateway specifications of HTTP semantics can be found [here](https://specs.ipfs.tech/http-gateways/). + +### Deserialized responses + +By default, a gateway acts as a bridge between traditional HTTP clients and IPFS and performs necessary hash verification and deserialization. Through such gateway, users can download files, directories, and other content-addressed data stored with IPFS or IPNS as if they were stored in a traditional web server. + +### Verifiable responses + +By explicitly requesting [application/vnd.ipld.raw](https://www.iana.org/assignments/media-types/application/vnd.ipld.raw) or [application/vnd.ipld.car](https://www.iana.org/assignments/media-types/application/vnd.ipld.car) responses, by means defined in [Trustless Gateway Specification](https://specs.ipfs.tech/http-gateways/trustless-gateway/), the user is able to fetch raw content-addressed data and [perform hash verification themselves](https://docs.ipfs.tech/reference/http/gateway/#trustless-verifiable-retrieval). + +This enables users to use untrusted, public gateways without worrying they might return invalid/malicious bytes. + +## IPFS and IPNS protocol handling + +There are various ways to access data from the IPFS network. One such way is +through the concept of public +"[gateways](https://docs.ipfs.tech/concepts/ipfs-gateway/#overview)". The +short version is that entities can offer gateway services. An example here +that is hosted by Protocol Labs (who also makes IPFS) is `dweb.link` and +`ipfs.io`. Both sites expose gateway functionality. Getting a file through +`ipfs.io` looks like this: +`https://ipfs.io/ipfs/bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi` + +If you were to be [running your own IPFS +node](https://docs.ipfs.tech/how-to/command-line-quick-start/) then you, by +default, also have a [local gateway](https://specs.ipfs.tech/http-gateways/) +running. In its default configuration the earlier example would then also work +in this link: + +`http://127.0.0.1:8080/ipfs/bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi` + +## cURL handling of the IPFS protocols + +The IPFS integration in cURL hides this gateway logic for you. Instead of +providing a full URL to a file on IPFS like this: + +``` +curl http://127.0.0.1:8080/ipfs/bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi +``` + +You can provide it with the IPFS protocol instead: +``` +curl ipfs://bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi +``` + +With the IPFS protocol way of asking a file, cURL still needs to know the +gateway. curl essentially just rewrites the IPFS based URL to a gateway URL. + +### IPFS_GATEWAY environment variable + +If the `IPFS_GATEWAY` environment variable is found, its value is used as +gateway. + +### Automatic gateway detection + +When you provide no additional details to cURL then it: + +1. First looks for the `IPFS_GATEWAY` environment variable and use that if it + is set. +2. Looks for the file: `~/.ipfs/gateway`. If it can find that file then it + means that you have a local gateway running and that file contains the URL + to your local gateway. + +If cURL fails, you are presented with an error message and a link to this page +to the option most applicable to solving the issue. + +### `--ipfs-gateway` argument + +You can also provide a `--ipfs-gateway` argument to cURL. This overrules any +other gateway setting. curl does not fallback to the other options if the +provided gateway did not work. + +## Gateway redirects + +A gateway could redirect to another place. For example, `dweb.link` redirects +[path based](https://docs.ipfs.tech/how-to/address-ipfs-on-web/#path-gateway) +requests to [subdomain +based](https://docs.ipfs.tech/how-to/address-ipfs-on-web/#subdomain-gateway) +ones. A request using: + + curl ipfs://bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi --ipfs-gateway https://dweb.link + +Which would be translated to: + + https://dweb.link/ipfs/bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi + +redirects to: + + https://bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi.ipfs.dweb.link + +If you trust this behavior from your gateway of choice then passing the `-L` +option follows the redirect. + +## Error messages and hints + +Depending on the arguments, cURL could present the user with an error. + +### Gateway file and environment variable + +cURL tried to look for the file: `~/.ipfs/gateway` but could not find it. It +also tried to look for the `IPFS_GATEWAY` environment variable but could not +find that either. This happens when no extra arguments are passed to cURL and +letting it try to figure it out [automatically](#automatic-gateway-detection). + +Any IPFS implementation that has gateway support should expose its URL in +`~/.ipfs/gateway`. If you are already running a gateway, make sure it exposes +the file where cURL expects to find it. + +Alternatively you could set the `IPFS_GATEWAY` environment variable or pass +the `--ipfs-gateway` flag to the cURL command. + +### Malformed gateway URL + +The command executed evaluates in an invalid URL. This could be anywhere in +the URL, but a likely point is a wrong gateway URL. + +Inspect the URL set via the `IPFS_GATEWAY` environment variable or passed with +the `--ipfs-gateway` flag. Alternatively opt to go for the +[automatic](#automatic-gateway-detection) gateway detection. diff --git a/curl/docs/KNOWN_BUGS.txt b/curl/docs/KNOWN_BUGS.txt new file mode 100644 index 0000000..7ed5ee3 --- /dev/null +++ b/curl/docs/KNOWN_BUGS.txt @@ -0,0 +1,661 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + + Known Bugs + +These are problems and bugs known to exist at the time of this release. Feel +free to join in and help us correct one or more of these. Also be sure to +check the changelog of the current development status, as one or more of these +problems may have been fixed or changed somewhat since this was written. + + 1. HTTP + + 2. TLS + 2.1 IMAPS connection fails with Rustls error + 2.3 Unable to use PKCS12 certificate with Secure Transport + 2.4 Secure Transport does not import PKCS#12 client certificates without a password + 2.7 Client cert (MTLS) issues with Schannel + 2.11 Schannel TLS 1.2 handshake bug in old Windows versions + 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel + 2.14 mbedTLS and CURLE_AGAIN handling + + 3. Email protocols + 3.1 IMAP SEARCH ALL truncated response + 3.2 No disconnect command + 3.4 AUTH PLAIN for SMTP is not working on all servers + 3.5 APOP authentication fails on POP3 + 3.6 POP3 issue when reading small chunks + + 4. Command line + 4.1 -T /dev/stdin may upload with an incorrect content length + 4.2 -T - always uploads chunked + + 5. Build and portability issues + 5.1 OS400 port requires deprecated IBM library + 5.2 curl-config --libs contains private details + 5.3 LDFLAGS passed too late making libs linked incorrectly + 5.6 Cygwin: make install installs curl-config.1 twice + 5.11 configure --with-gssapi with Heimdal is ignored on macOS + 5.12 flaky CI builds + 5.13 long paths are not fully supported on Windows + 5.15 Unicode on Windows + + 6. Authentication + 6.2 MIT Kerberos for Windows build + 6.3 NTLM in system context uses wrong name + 6.5 NTLM does not support password with Unicode 'SECTION SIGN' character + 6.6 libcurl can fail to try alternatives with --proxy-any + 6.7 Do not clear digest for single realm + 6.8 Heimdal memory leaks + 6.9 SHA-256 digest not supported in Windows SSPI builds + 6.10 curl never completes Negotiate over HTTP + 6.11 Negotiate on Windows fails + 6.12 cannot use Secure Transport with Crypto Token Kit + 6.13 Negotiate against Hadoop HDFS + + 7. FTP + 7.4 FTP with ACCT + 7.12 FTPS directory listing hangs on Windows with Schannel + + 9. SFTP and SCP + 9.1 SFTP does not do CURLOPT_POSTQUOTE correct + 9.2 wolfssh: publickey auth does not work + 9.3 Remote recursive folder creation with SFTP + 9.4 libssh blocking and infinite loop problem + 9.5 Cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!" + 9.6 wolfssh: all tests fail + + 10. Connection + 10.1 --interface with link-scoped IPv6 address + + 11. Internals + 11.1 gssapi library name + version is missing in curl_version_info() + 11.2 error buffer not set if connection to multiple addresses fails + 11.3 TFTP tests fail on OpenBSD + 11.4 HTTP test server 'connection-monitor' problems + 11.5 Connection information when using TCP Fast Open + 11.6 test cases sometimes timeout + 11.7 CURLOPT_CONNECT_TO does not work for HTTPS proxy + 11.8 WinIDN test failures + 11.9 setting a disabled option should return CURLE_NOT_BUILT_IN + + 12. LDAP + 12.1 OpenLDAP hangs after returning results + 12.2 LDAP on Windows does authentication wrong? + 12.3 LDAP on Windows does not work + 12.4 LDAPS requests to ActiveDirectory server hang + + 13. TCP/IP + 13.2 Trying local ports fails on Windows + + 15. CMake + 15.1 cmake outputs: no version information available + 15.6 uses -lpthread instead of Threads::Threads + 15.7 generated .pc file contains strange entries + 15.13 CMake build with MIT Kerberos does not work + + 16. aws-sigv4 + 16.2 aws-sigv4 does not handle multipart/form-data correctly + + 17. HTTP/2 + 17.1 HTTP/2 prior knowledge over proxy + 17.2 HTTP/2 frames while in the connection pool kill reuse + 17.3 ENHANCE_YOUR_CALM causes infinite retries + 17.4 HTTP/2 + TLS spends a lot of time in recv + + 18. HTTP/3 + 18.1 connection migration does not work + 18.2 quiche: QUIC connection is draining + + 19. RTSP + 19.1 Some methods do not support response bodies + +============================================================================== + +1. HTTP + +2. TLS + +2.1 IMAPS connection fails with Rustls error + + https://github.com/curl/curl/issues/10457 + +2.3 Unable to use PKCS12 certificate with Secure Transport + + See https://github.com/curl/curl/issues/5403 + +2.4 Secure Transport does not import PKCS#12 client certificates without a password + + libcurl calls SecPKCS12Import with the PKCS#12 client certificate, but that + function rejects certificates that do not have a password. + https://github.com/curl/curl/issues/1308 + +2.7 Client cert (MTLS) issues with Schannel + + See https://github.com/curl/curl/issues/3145 + +2.11 Schannel TLS 1.2 handshake bug in old Windows versions + + In old versions of Windows such as 7 and 8.1 the Schannel TLS 1.2 handshake + implementation likely has a bug that can rarely cause the key exchange to + fail, resulting in error SEC_E_BUFFER_TOO_SMALL or SEC_E_MESSAGE_ALTERED. + + https://github.com/curl/curl/issues/5488 + +2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel + + https://github.com/curl/curl/issues/8741 + +2.14 mbedTLS and CURLE_AGAIN handling + + https://github.com/curl/curl/issues/15801 + +3. Email protocols + +3.1 IMAP SEARCH ALL truncated response + + IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the + code reveals that pingpong.c contains some truncation code, at line 408, when + it deems the server response to be too large truncating it to 40 characters" + https://curl.se/bug/view.cgi?id=1366 + +3.2 No disconnect command + + The disconnect commands (LOGOUT and QUIT) may not be sent by IMAP, POP3 and + SMTP if a failure occurs during the authentication phase of a connection. + +3.4 AUTH PLAIN for SMTP is not working on all servers + + Specifying "--login-options AUTH=PLAIN" on the command line does not seem to + work correctly. + + See https://github.com/curl/curl/issues/4080 + +3.5 APOP authentication fails on POP3 + + See https://github.com/curl/curl/issues/10073 + +3.6 POP3 issue when reading small chunks + + CURL_DBG_SOCK_RMAX=4 ./runtests.pl -v 982 + + See https://github.com/curl/curl/issues/12063 + +4. Command line + +4.1 -T /dev/stdin may upload with an incorrect content length + + -T stats the path to figure out its size in bytes to use it as Content-Length + if it is a regular file. + + The problem with that is that, on BSDs and some other UNIXes (not Linux), + open(path) may not give you a file descriptor with a 0 offset from the start + of the file. + + See https://github.com/curl/curl/issues/12177 + +4.2 -T - always uploads chunked + + When the `<` shell operator is used. curl should realise that stdin is a + regular file in this case, and that it can do a non-chunked upload, like it + would do if you used -T file. + + See https://github.com/curl/curl/issues/12171 + +5. Build and portability issues + +5.1 OS400 port requires deprecated IBM library + + curl for OS400 requires QADRT to build, which provides ASCII wrappers for + libc/POSIX functions in the ILE, but IBM no longer supports or even offers + this library to download. + + See https://github.com/curl/curl/issues/5176 + +5.2 curl-config --libs contains private details + + "curl-config --libs" include details set in LDFLAGS when configure is run + that might be needed only for building libcurl. Further, curl-config --cflags + suffers from the same effects with CFLAGS/CPPFLAGS. + +5.3 LDFLAGS passed too late making libs linked incorrectly + + Compiling latest curl on HP-UX and linking against a custom OpenSSL (which is + on the default loader/linker path), fails because the generated Makefile has + LDFLAGS passed on after LIBS. + + See https://github.com/curl/curl/issues/14893 + +5.6 Cygwin: make install installs curl-config.1 twice + + https://github.com/curl/curl/issues/8839 + +5.11 configure --with-gssapi with Heimdal is ignored on macOS + + ... unless you also pass --with-gssapi-libs + + https://github.com/curl/curl/issues/3841 + +5.12 flaky CI builds + + We run many CI builds for each commit and PR on github, and especially a + number of the Windows builds are flaky. This means that we rarely get all CI + builds go green and complete without errors. This is unfortunate as it makes + us sometimes miss actual build problems and it is surprising to newcomers to + the project who (rightfully) do not expect this. + + See https://github.com/curl/curl/issues/6972 + +5.13 long paths are not fully supported on Windows + + curl on Windows cannot access long paths (paths longer than 260 characters). + However, as a workaround, the Windows path prefix \\?\ which disables all + path interpretation may work to allow curl to access the path. For example: + \\?\c:\longpath. + + See https://github.com/curl/curl/issues/8361 + +5.15 Unicode on Windows + + Passing in a Unicode filename with -o: + + https://github.com/curl/curl/issues/11461 + + Passing in Unicode character with -d: + + https://github.com/curl/curl/issues/12231 + + Windows Unicode builds use homedir in current locale + + The Windows Unicode builds of curl use the current locale, but expect Unicode + UTF-8 encoded paths for internal use such as open, access and stat. The + user's home directory is retrieved via curl_getenv in the current locale and + not as UTF-8 encoded Unicode. + + See https://github.com/curl/curl/pull/7252 and + https://github.com/curl/curl/pull/7281 + + Cannot handle Unicode arguments in non-Unicode builds on Windows + + If a URL or filename cannot be encoded using the user's current codepage then + it can only be encoded properly in the Unicode character set. Windows uses + UTF-16 encoding for Unicode and stores it in wide characters, however curl + and libcurl are not equipped for that at the moment except when built with + _UNICODE and UNICODE defined. Except for Cygwin, Windows cannot use UTF-8 as + a locale. + + https://curl.se/bug/?i=345 + https://curl.se/bug/?i=731 + https://curl.se/bug/?i=3747 + + NTLM authentication and Unicode + + NTLM authentication involving Unicode username or password only works + properly if built with UNICODE defined together with the Schannel backend. + The original problem was mentioned in: + https://curl.se/mail/lib-2009-10/0024.html + https://curl.se/bug/view.cgi?id=896 + + The Schannel version verified to work as mentioned in + https://curl.se/mail/lib-2012-07/0073.html + +6. Authentication + +6.2 MIT Kerberos for Windows build + + libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's + library header files exporting symbols/macros that should be kept private to + the KfW library. See ticket #5601 at https://krbdev.mit.edu/rt/ + +6.3 NTLM in system context uses wrong name + + NTLM authentication using SSPI (on Windows) when (lib)curl is running in + "system context" makes it use wrong(?) username - at least when compared to + what winhttp does. See https://curl.se/bug/view.cgi?id=535 + +6.5 NTLM does not support password with Unicode 'SECTION SIGN' character + + https://en.wikipedia.org/wiki/Section_sign + https://codepoints.net/U+00A7 SECTION SIGN + https://github.com/curl/curl/issues/2120 + +6.6 libcurl can fail to try alternatives with --proxy-any + + When connecting via a proxy using --proxy-any, a failure to establish an + authentication causes libcurl to abort trying other options if the failed + method has a higher preference than the alternatives. As an example, + --proxy-any against a proxy which advertise Negotiate and NTLM, but which + fails to set up Kerberos authentication does not proceed to try + authentication using NTLM. + + https://github.com/curl/curl/issues/876 + +6.7 Do not clear digest for single realm + + https://github.com/curl/curl/issues/3267 + +6.8 Heimdal memory leaks + + Running test 2077 and 2078 with curl built to do GSS with Heimdal causes + valgrind errors (memory leak). + + https://github.com/curl/curl/issues/14446 + +6.9 SHA-256 digest not supported in Windows SSPI builds + + Windows builds of curl that have SSPI enabled use the native Windows API calls + to create authentication strings. The call to InitializeSecurityContext fails + with SEC_E_QOP_NOT_SUPPORTED which causes curl to fail with CURLE_AUTH_ERROR. + + Microsoft does not document supported digest algorithms and that SEC_E error + code is not a documented error for InitializeSecurityContext (digest). + + https://github.com/curl/curl/issues/6302 + +6.10 curl never completes Negotiate over HTTP + + Apparently it is not working correctly...? + + See https://github.com/curl/curl/issues/5235 + +6.11 Negotiate on Windows fails + + When using --negotiate (or NTLM) with curl on Windows, SSL/TLS handshake + fails despite having a valid kerberos ticket cached. Works without any issue + in Unix/Linux. + + https://github.com/curl/curl/issues/5881 + +6.12 cannot use Secure Transport with Crypto Token Kit + + https://github.com/curl/curl/issues/7048 + +6.13 Negotiate authentication against Hadoop HDFS + + https://github.com/curl/curl/issues/8264 + +7. FTP + +7.4 FTP with ACCT + + When doing an operation over FTP that requires the ACCT command (but not when + logging in), the operation fails since libcurl does not detect this and thus + fails to issue the correct command: https://curl.se/bug/view.cgi?id=635 + +7.12 FTPS server compatibility on Windows with Schannel + + FTPS is not widely used with the Schannel TLS backend and so there may be + more bugs compared to other TLS backends such as OpenSSL. In the past users + have reported hanging and failed connections. It is likely some changes to + curl since then fixed the issues. None of the reported issues can be + reproduced any longer. + + If you encounter an issue connecting to your server via FTPS with the latest + curl and Schannel then please search for open issues or file a new issue. + +9. SFTP and SCP + +9.1 SFTP does not do CURLOPT_POSTQUOTE correct + + When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server + using the multi interface, the commands are not being sent correctly and + instead the connection is "cancelled" (the operation is considered done) + prematurely. There is a half-baked (busy-looping) patch provided in the bug + report but it cannot be accepted as-is. See + https://curl.se/bug/view.cgi?id=748 + +9.2 wolfssh: publickey auth does not work + + When building curl to use the wolfSSH backend for SFTP, the publickey + authentication does not work. This is simply functionality not written for curl + yet, the necessary API for make this work is provided by wolfSSH. + + See https://github.com/curl/curl/issues/4820 + +9.3 Remote recursive folder creation with SFTP + + On this servers, the curl fails to create directories on the remote server + even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set. + + See https://github.com/curl/curl/issues/5204 + +9.4 libssh blocking and infinite loop problem + + In the SSH_SFTP_INIT state for libssh, the ssh session working mode is set to + blocking mode. If the network is suddenly disconnected during sftp + transmission, curl is stuck, even if curl is configured with a timeout. + + https://github.com/curl/curl/issues/8632 + +9.5 Cygwin: "WARNING: UNPROTECTED PRIVATE KEY FILE!" + + Running SCP and SFTP tests on Cygwin makes this warning message appear. + + https://github.com/curl/curl/issues/11244 + +9.6 wolfssh: all tests fail + + Something fundamental stops them all from working properly. + + https://github.com/curl/curl/issues/16794 + +10. Connection + +10.1 --interface with link-scoped IPv6 address + + When you give the `--interface` option telling curl to use a specific + interface for its outgoing traffic in combination with a IPv6 address in the + URL that uses a link-local scope, curl might pick the wrong address from the + named interface and the subsequent transfer fails. + + Example command line: + + curl --interface eth0 'http://[fe80:928d:xxff:fexx:xxxx]/' + + The fact that the given IP address is link-scoped should probably be used as + input to somehow make curl make a better choice for this. + + https://github.com/curl/curl/issues/14782 + +11. Internals + +11.1 gssapi library name + version is missing in curl_version_info() + + The struct needs to be expanded and code added to store this info. + + See https://github.com/curl/curl/issues/13492 + +11.2 error buffer not set if connection to multiple addresses fails + + If you ask libcurl to resolve a hostname like example.com to IPv6 addresses + when you only have IPv4 connectivity. libcurl fails with + CURLE_COULDNT_CONNECT, but the error buffer set by CURLOPT_ERRORBUFFER + remains empty. Issue: https://github.com/curl/curl/issues/544 + +11.3 TFTP tests fail on OpenBSD + + When adding an OpenBSD job with tests to GHA, some tests consistently fail + to run. + + See https://github.com/curl/curl/issues/13623 + +11.4 HTTP test server 'connection-monitor' problems + + The 'connection-monitor' feature of the sws HTTP test server does not work + properly if some tests are run in unexpected order. Like 1509 and then 1525. + + See https://github.com/curl/curl/issues/868 + +11.5 Connection information when using TCP Fast Open + + CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is + enabled. + + See https://github.com/curl/curl/issues/1332 and + https://github.com/curl/curl/issues/4296 + +11.6 test cases sometimes timeout + + Occasionally, one of the tests timeouts. Inexplicably. + + See https://github.com/curl/curl/issues/13350 + +11.7 CURLOPT_CONNECT_TO does not work for HTTPS proxy + + It is unclear if the same option should even cover the proxy connection or if + if requires a separate option. + + See https://github.com/curl/curl/issues/14481 + +11.8 WinIDN test failures + + Test 165 disabled when built with WinIDN. + +11.9 setting a disabled option should return CURLE_NOT_BUILT_IN + + When curl has been built with specific features or protocols disabled, + setting such options with curl_easy_setopt() should rather return + CURLE_NOT_BUILT_IN instead of CURLE_UNKNOWN_OPTION to signal the difference + to the application + + See https://github.com/curl/curl/issues/15472 + +12. LDAP + +12.1 OpenLDAP hangs after returning results + + By configuration defaults, OpenLDAP automatically chase referrals on + secondary socket descriptors. The OpenLDAP backend is asynchronous and thus + should monitor all socket descriptors involved. Currently, these secondary + descriptors are not monitored, causing OpenLDAP library to never receive + data from them. + + As a temporary workaround, disable referrals chasing by configuration. + + The fix is not easy: proper automatic referrals chasing requires a + synchronous bind callback and monitoring an arbitrary number of socket + descriptors for a single easy handle (currently limited to 5). + + Generic LDAP is synchronous: OK. + + See https://github.com/curl/curl/issues/622 and + https://curl.se/mail/lib-2016-01/0101.html + +12.2 LDAP on Windows does authentication wrong? + + https://github.com/curl/curl/issues/3116 + +12.3 LDAP on Windows does not work + + A simple curl command line getting "ldap://ldap.forumsys.com" returns an + error that says "no memory" ! + + https://github.com/curl/curl/issues/4261 + +12.4 LDAPS requests to ActiveDirectory server hang + + https://github.com/curl/curl/issues/9580 + +13. TCP/IP + +13.2 Trying local ports fails on Windows + + This makes '--local-port [range]' to not work since curl cannot properly + detect if a port is already in use, so it tries the first port, uses that and + then subsequently fails anyway if that was actually in use. + + https://github.com/curl/curl/issues/8112 + +15. CMake + +15.1 cmake outputs: no version information available + + Something in the SONAME generation seems to be wrong in the cmake build. + + https://github.com/curl/curl/issues/11158 + +15.6 uses -lpthread instead of Threads::Threads + + See https://github.com/curl/curl/issues/6166 + +15.7 generated .pc file contains strange entries + + The Libs.private field of the generated .pc file contains -lgcc -lgcc_s -lc + -lgcc -lgcc_s + + See https://github.com/curl/curl/issues/6167 + +15.13 CMake build with MIT Kerberos does not work + + Minimum CMake version was bumped in curl 7.71.0 (#5358) Since CMake 3.2 + try_compile started respecting the CMAKE_EXE_FLAGS. The code dealing with + MIT Kerberos detection sets few variables to potentially weird mix of space, + and ;-separated flags. It had to blow up at some point. All the CMake checks + that involve compilation are doomed from that point, the configured tree + cannot be built. + + https://github.com/curl/curl/issues/6904 + +16. aws-sigv4 + +16.2 aws-sigv4 does not handle multipart/form-data correctly + + https://github.com/curl/curl/issues/13351 + +17. HTTP/2 + +17.1 HTTP/2 prior knowledge over proxy + + https://github.com/curl/curl/issues/12641 + +17.2 HTTP/2 frames while in the connection pool kill reuse + + If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to + curl while the connection is held in curl's connection pool, the socket is + found readable when considered for reuse and that makes curl think it is dead + and then it is closed and a new connection gets created instead. + + This is *best* fixed by adding monitoring to connections while they are kept + in the pool so that pings can be responded to appropriately. + +17.3 ENHANCE_YOUR_CALM causes infinite retries + + Infinite retries with 2 parallel requests on one connection receiving GOAWAY + with ENHANCE_YOUR_CALM error code. + + See https://github.com/curl/curl/issues/5119 + +17.4 HTTP/2 + TLS spends a lot of time in recv + + It has been observed that by making the speed limit less accurate we could + improve this performance. (by reverting + https://github.com/curl/curl/commit/db5c9f4f9e0779b49624752b135281a0717b277b) + Can we find a golden middle ground? + + See https://curl.se/mail/lib-2024-05/0026.html and + https://github.com/curl/curl/issues/13416 + +18. HTTP/3 + +18.1 connection migration does not work + + https://github.com/curl/curl/issues/7695 + +18.2 quiche: QUIC connection is draining + + The transfer ends with error "QUIC connection is draining". + + https://github.com/curl/curl/issues/12037 + +19. RTSP + +19.1 Some methods do not support response bodies + + The RTSP implementation is written to assume that a number of RTSP methods + always get responses without bodies, even though there seems to be no + indication in the RFC that this is always the case. + + https://github.com/curl/curl/issues/12414 diff --git a/curl/docs/MAIL-ETIQUETTE.md b/curl/docs/MAIL-ETIQUETTE.md new file mode 100644 index 0000000..3de77b1 --- /dev/null +++ b/curl/docs/MAIL-ETIQUETTE.md @@ -0,0 +1,258 @@ + + +# Mail etiquette + +## About the lists + +### Mailing Lists + +The mailing lists we have are all listed and described on the [curl +website](https://curl.se/mail/). + +Each mailing list is targeted to a specific set of users and subjects, please +use the one or the ones that suit you the most. + +Each mailing list has hundreds up to thousands of readers, meaning that each +mail sent is received and read by a large number of people. People from +various cultures, regions, religions and continents. + +### Netiquette + +Netiquette is a common term for how to behave on the Internet. Of course, in +each particular group and subculture there are differences in what is +acceptable and what is considered good manners. + +This document outlines what we in the curl project consider to be good +etiquette, and primarily this focus on how to behave on and how to use our +mailing lists. + +### Do Not Mail a Single Individual + +Many people send one question to one person. One person gets many mails, and +there is only one person who can give you a reply. The question may be +something that other people would also like to ask. These other people have no +way to read the reply, but to ask the one person the question. The one person +consequently gets overloaded with mail. + +If you really want to contact an individual and perhaps pay for his or her +services, by all means go ahead, but if it is just another curl question, take +it to a suitable list instead. + +### Subscription Required + +All curl mailing lists require that you are subscribed to allow a mail to go +through to all the subscribers. + +If you post without being subscribed (or from a different mail address than +the one you are subscribed with), your mail is simply silently discarded. You +have to subscribe first, then post. + +The reason for this unfortunate and strict subscription policy is of course to +stop spam from pestering the lists. + +### Moderation of new posters + +Several of the curl mailing lists automatically make all posts from new +subscribers be moderated. After you have subscribed and sent your first mail +to a list, that mail is not let through to the list until a mailing list +administrator has verified that it is OK and permits it to get posted. + +Once a first post has been made that proves the sender is actually talking +about curl-related subjects, the moderation "flag" is switched off and future +posts go through without being moderated. + +The reason for this moderation policy is that we do suffer from spammers who +actually subscribe and send spam to our lists. + +### Handling trolls and spam + +Despite our good intentions and hard work to keep spam off the lists and to +maintain a friendly and positive atmosphere, there are times when spam and or +trolls get through. + +Troll - "someone who posts inflammatory, extraneous, or off-topic messages in +an online community" + +Spam - "use of electronic messaging systems to send unsolicited bulk messages" + +No matter what, we NEVER EVER respond to trolls or spammers on the list. If +you believe the list admin should do something in particular, contact them +off-list. The subject is taken care of as much as possible to prevent repeated +offenses, but responding on the list to such messages never leads to anything +good and only puts the light even more on the offender: which was the entire +purpose of it getting sent to the list in the first place. + +Do not feed the trolls. + +### How to unsubscribe + +You can unsubscribe the same way you subscribed in the first place. You go to +the page for the particular mailing list you are subscribed to and you enter +your email address and password and press the unsubscribe button. + +Also, the instructions to unsubscribe are included in the headers of every +mail that is sent out to all curl related mailing lists and there is a footer +in each mail that links to the "admin" page on which you can unsubscribe and +change other options. + +You NEVER EVER email the mailing list requesting someone else to take you off +the list. + +### I posted, now what? + +If you are not subscribed with the same email address that you used to send +the email, your post is silently discarded. + +If you posted for the first time to the mailing list, you first need to wait +for an administrator to allow your email to go through (moderated). This +normally happens quickly but in case we are asleep, you may have to wait a few +hours. + +Once your email goes through it is sent out to several hundred or even +thousands of recipients. Your email may cover an area that not that many +people know about or are interested in. Or possibly the person who knows about +it is on vacation or under a heavy work load right now. You may have to wait +for a response and you should not expect to get a response at all. Ideally, +you get an answer within a couple of days. + +You do yourself and all of us a service when you include as many details as +possible already in your first email. Mention your operating system and +environment. Tell us which curl version you are using and tell us what you +did, what happened and what you expected would happen. Preferably, show us +what you did with details enough to allow others to help point out the problem +or repeat the steps in their locations. + +Failing to include details only delays responses and make people respond and +ask for more details and you have to send follow-up emails that include them. + +Expect the responses to primarily help YOU debug the issue, or ask YOU +questions that can lead you or others towards a solution or explanation to +whatever you experience. + +If you are a repeat offender to the guidelines outlined in this document, +chances are that people ignore you and your chances to get responses in the +future greatly diminish. + +### Your emails are public + +Your email, its contents and all its headers and the details in those headers +are received by every subscriber of the mailing list that you send your email +to. + +Your email as sent to a curl mailing list ends up in mail archives, on the +curl website and elsewhere, for others to see and read. Today and in the +future. In addition to the archives, the mail is sent out to thousands of +individuals. There is no way to undo a sent email. + +When sending emails to a curl mailing list, do not include sensitive +information such as usernames and passwords; use fake ones, temporary ones or +just remove them completely from the mail. Note that this includes base64 +encoded HTTP Basic auth headers. + +This public nature of the curl mailing lists makes automatically inserted mail +footers about mails being "private" or "only meant for the recipient" or +similar even more silly than usual. Because they are absolutely not private +when sent to a public mailing list. + +## Sending mail + +### Reply or New Mail + +Please do not reply to an existing message as a short-cut to post a message to +the lists. + +Many mail programs and web archivers use information within mails to keep them +together as "threads", as collections of posts that discuss a certain subject. +If you do not intend to reply on the same or similar subject, do not just hit +reply on an existing mail and change the subject, create a new mail. + +### Reply to the List + +When replying to a message from the list, make sure that you do "group reply" +or "reply to all", and not just reply to the author of the single mail you +reply to. + +We are actively discouraging replying to the single person by setting the +correct field in outgoing mails back asking for replies to get sent to the +mailing list address, making it harder for people to reply to the author only +by mistake. + +### Use a Sensible Subject + +Please use a subject of the mail that makes sense and that is related to the +contents of your mail. It makes it a lot easier to find your mail afterwards +and it makes it easier to track mail threads and topics. + +### Do Not Top-Post + +If you reply to a message, do not use top-posting. Top-posting is when you +write the new text at the top of a mail and you insert the previous quoted +mail conversation below. It forces users to read the mail in a backwards order +to properly understand it. + +This is why top posting is so bad (in top posting order): + + A: Because it messes up the order in which people normally read text. + Q: Why is top-posting such a bad thing? + A: Top-posting. + Q: What is the most annoying thing in email? + +Apart from the screwed up read order (especially when mixed together in a +thread when someone responds using the mandated bottom-posting style), it also +makes it impossible to quote only parts of the original mail. + +When you reply to a mail. You let the mail client insert the previous mail +quoted. Then you put the cursor on the first line of the mail and you move +down through the mail, deleting all parts of the quotes that do not add +context for your comments. When you want to add a comment you do so, inline, +right after the quotes that relate to your comment. Then you continue +downwards again. + +When most of the quotes have been removed and you have added your own words, +you are done. + +### HTML is not for mails + +Please switch off those HTML encoded messages. You can mail all those funny +mails to your friends. We speak plain text mails. + +### Quoting + +Quote as little as possible. Just enough to provide the context you cannot +eave out. A lengthy description can be found +[here](https://www.netmeister.org/news/learn2quote.html). + +### Digest + +We allow subscribers to subscribe to the "digest" version of the mailing +lists. A digest is a collection of mails lumped together in one single mail. + +Should you decide to reply to a mail sent out as a digest, there are two +things you MUST consider if you really, really cannot subscribe normally +instead: + +Cut off all mails and chatter that is not related to the mail you want to +reply to. + +Change the subject name to something sensible and related to the subject, +preferably even the actual subject of the single mail you wanted to reply to + +### Please Tell Us How You Solved The Problem + +Many people mail questions to the list, people spend some of their time and +make an effort in providing good answers to these questions. + +If you are the one who asks, please consider responding once more in case one +of the hints was what solved your problems. The guys who write answers feel +good to know that they provided a good answer and that you fixed the problem. +Far too often, the person who asked the question is never heard from again, +and we never get to know if they are gone because the problem was solved or +perhaps because the problem was unsolvable. + +Getting the solution posted also helps other users that experience the same +problem(s). They get to see (possibly in the web archives) that the suggested +fixes actually have helped at least one person. diff --git a/curl/docs/MANUAL.md b/curl/docs/MANUAL.md new file mode 100644 index 0000000..9ff5c09 --- /dev/null +++ b/curl/docs/MANUAL.md @@ -0,0 +1,1008 @@ + + +# curl tutorial + +## Simple Usage + +Get the main page from a web-server: + + curl https://www.example.com/ + +Get a README file from an FTP server: + + curl ftp://ftp.example.com/README + +Get a webpage from a server using port 8000: + + curl http://www.example.com:8000/ + +Get a directory listing of an FTP site: + + curl ftp://ftp.example.com/ + +Get the all terms matching curl from a dictionary: + + curl dict://dict.example.com/m:curl + +Get the definition of curl from a dictionary: + + curl dict://dict.example.com/d:curl + +Fetch two documents at once: + + curl ftp://ftp.example.com/ http://www.example.com:8000/ + +Get a file off an FTPS server: + + curl ftps://files.are.example.com/secrets.txt + +or use the more appropriate FTPS way to get the same file: + + curl --ssl-reqd ftp://files.are.example.com/secrets.txt + +Get a file from an SSH server using SFTP: + + curl -u username sftp://example.com/etc/issue + +Get a file from an SSH server using SCP using a private key (not +password-protected) to authenticate: + + curl -u username: --key ~/.ssh/id_rsa scp://example.com/~/file.txt + +Get a file from an SSH server using SCP using a private key +(password-protected) to authenticate: + + curl -u username: --key ~/.ssh/id_rsa --pass private_key_password + scp://example.com/~/file.txt + +Get the main page from an IPv6 web server: + + curl "http://[2001:1890:1112:1::20]/" + +Get a file from an SMB server: + + curl -u "domain\username:passwd" smb://server.example.com/share/file.txt + +## Download to a File + +Get a webpage and store in a local file with a specific name: + + curl -o thatpage.html http://www.example.com/ + +Get a webpage and store in a local file, make the local file get the name of +the remote document (if no filename part is specified in the URL, this fails): + + curl -O http://www.example.com/index.html + +Fetch two files and store them with their remote names: + + curl -O www.haxx.se/index.html -O curl.se/download.html + +## Using Passwords + +### FTP + +To ftp files using name and password, include them in the URL like: + + curl ftp://name:passwd@ftp.server.example:port/full/path/to/file + +or specify them with the `-u` flag like + + curl -u name:passwd ftp://ftp.server.example:port/full/path/to/file + +### FTPS + +It is just like for FTP, but you may also want to specify and use SSL-specific +options for certificates etc. + +Note that using `FTPS://` as prefix is the *implicit* way as described in the +standards while the recommended *explicit* way is done by using `FTP://` and +the `--ssl-reqd` option. + +### SFTP / SCP + +This is similar to FTP, but you can use the `--key` option to specify a +private key to use instead of a password. Note that the private key may itself +be protected by a password that is unrelated to the login password of the +remote system; this password is specified using the `--pass` option. +Typically, curl automatically extracts the public key from the private key +file, but in cases where curl does not have the proper library support, a +matching public key file must be specified using the `--pubkey` option. + +### HTTP + +curl also supports user and password in HTTP URLs, thus you can pick a file +like: + + curl http://name:passwd@http.server.example/full/path/to/file + +or specify user and password separately like in + + curl -u name:passwd http://http.server.example/full/path/to/file + +HTTP offers many different methods of authentication and curl supports +several: Basic, Digest, NTLM and Negotiate (SPNEGO). Without telling which +method to use, curl defaults to Basic. You can also ask curl to pick the most +secure ones out of the ones that the server accepts for the given URL, by +using `--anyauth`. + +**Note**! According to the URL specification, HTTP URLs can not contain a user +and password, so that style does not work when using curl via a proxy, even +though curl allows it at other times. When using a proxy, you _must_ use the +`-u` style for user and password. + +### HTTPS + +Probably most commonly used with private certificates, as explained below. + +## Proxy + +curl supports both HTTP and SOCKS proxy servers, with optional authentication. +It does not have special support for FTP proxy servers since there are no +standards for those, but it can still be made to work with many of them. You +can also use both HTTP and SOCKS proxies to transfer files to and from FTP +servers. + +Get an ftp file using an HTTP proxy named my-proxy that uses port 888: + + curl -x my-proxy:888 ftp://ftp.example.com/README + +Get a file from an HTTP server that requires user and password, using the +same proxy as above: + + curl -u user:passwd -x my-proxy:888 http://www.example.com/ + +Some proxies require special authentication. Specify by using -U as above: + + curl -U user:passwd -x my-proxy:888 http://www.example.com/ + +A comma-separated list of hosts and domains which do not use the proxy can be +specified as: + + curl --noproxy example.com -x my-proxy:888 http://www.example.com/ + +If the proxy is specified with `--proxy1.0` instead of `--proxy` or `-x`, then +curl uses HTTP/1.0 instead of HTTP/1.1 for any `CONNECT` attempts. + +curl also supports SOCKS4 and SOCKS5 proxies with `--socks4` and `--socks5`. + +See also the environment variables curl supports that offer further proxy +control. + +Most FTP proxy servers are set up to appear as a normal FTP server from the +client's perspective, with special commands to select the remote FTP server. +curl supports the `-u`, `-Q` and `--ftp-account` options that can be used to +set up transfers through many FTP proxies. For example, a file can be uploaded +to a remote FTP server using a Blue Coat FTP proxy with the options: + + curl -u "username@ftp.server.example Proxy-Username:Remote-Pass" + --ftp-account Proxy-Password --upload-file local-file + ftp://my-ftp.proxy.example:21/remote/upload/path/ + +See the manual for your FTP proxy to determine the form it expects to set up +transfers, and curl's `-v` option to see exactly what curl is sending. + +## Piping + +Get a key file and add it with `apt-key` (when on a system that uses `apt` for +package management): + + curl -L https://apt.example.org/llvm-snapshot.gpg.key | sudo apt-key add - + +The '|' pipes the output to STDIN. `-` tells `apt-key` that the key file +should be read from STDIN. + +## Ranges + +HTTP 1.1 introduced byte-ranges. Using this, a client can request to get only +one or more sub-parts of a specified document. curl supports this with the +`-r` flag. + +Get the first 100 bytes of a document: + + curl -r 0-99 http://www.example.com/ + +Get the last 500 bytes of a document: + + curl -r -500 http://www.example.com/ + +curl also supports simple ranges for FTP files as well. Then you can only +specify start and stop position. + +Get the first 100 bytes of a document using FTP: + + curl -r 0-99 ftp://www.example.com/README + +## Uploading + +### FTP / FTPS / SFTP / SCP + +Upload all data on stdin to a specified server: + + curl -T - ftp://ftp.example.com/myfile + +Upload data from a specified file, login with user and password: + + curl -T uploadfile -u user:passwd ftp://ftp.example.com/myfile + +Upload a local file to the remote site, and use the local filename at the +remote site too: + + curl -T uploadfile -u user:passwd ftp://ftp.example.com/ + +Upload a local file to get appended to the remote file: + + curl -T localfile -a ftp://ftp.example.com/remotefile + +curl also supports ftp upload through a proxy, but only if the proxy is +configured to allow that kind of tunneling. If it does, you can run curl in a +fashion similar to: + + curl --proxytunnel -x proxy:port -T localfile ftp.example.com + +### SMB / SMBS + + curl -T file.txt -u "domain\username:passwd" + smb://server.example.com/share/ + +### HTTP + +Upload all data on stdin to a specified HTTP site: + + curl -T - http://www.example.com/myfile + +Note that the HTTP server must have been configured to accept PUT before this +can be done successfully. + +For other ways to do HTTP data upload, see the POST section below. + +## Verbose / Debug + +If curl fails where it is not supposed to, if the servers do not let you in, +if you cannot understand the responses: use the `-v` flag to get verbose +fetching. curl outputs lots of info and what it sends and receives in order to +let the user see all client-server interaction (but it does not show you the +actual data). + + curl -v ftp://ftp.example.com/ + +To get even more details and information on what curl does, try using the +`--trace` or `--trace-ascii` options with a given filename to log to, like +this: + + curl --trace my-trace.txt www.haxx.se + + +## Detailed Information + +Different protocols provide different ways of getting detailed information +about specific files/documents. To get curl to show detailed information about +a single file, you should use `-I`/`--head` option. It displays all available +info on a single file for HTTP and FTP. The HTTP information is a lot more +extensive. + +For HTTP, you can get the header information (the same as `-I` would show) +shown before the data by using `-i`/`--include`. curl understands the +`-D`/`--dump-header` option when getting files from both FTP and HTTP, and it +then stores the headers in the specified file. + +Store the HTTP headers in a separate file (headers.txt in the example): + + curl --dump-header headers.txt curl.se + +Note that headers stored in a separate file can be useful at a later time if +you want curl to use cookies sent by the server. More about that in the +cookies section. + +## POST (HTTP) + +It is easy to post data using curl. This is done using the `-d ` option. +The post data must be urlencoded. + +Post a simple `name` and `phone` guestbook. + + curl -d "name=Rafael%20Sagula&phone=3320780" http://www.example.com/guest.cgi + +Or automatically [URL encode the data](https://everything.curl.dev/http/post/url-encode). + + curl --data-urlencode "name=Rafael Sagula&phone=3320780" + http://www.example.com/guest.cgi + +How to post a form with curl, lesson #1: + +Dig out all the `` tags in the form that you want to fill in. + +If there is a normal post, you use `-d` to post. `-d` takes a full post +string, which is in the format + + =&=&... + +The variable names are the names set with `"name="` in the `` tags, and +the data is the contents you want to fill in for the inputs. The data *must* +be properly URL encoded. That means you replace space with + and that you +replace weird letters with `%XX` where `XX` is the hexadecimal representation +of the letter's ASCII code. + +Example: + +(say if `http://example.com` had the following html) + +```html +
    + + + + +
    +``` + +We want to enter user `foobar` with password `12345`. + +To post to this, you would enter a curl command line like: + + curl -d "user=foobar&pass=12345&id=blablabla&ding=submit" + http://example.com/post.cgi + +While `-d` uses the application/x-www-form-urlencoded mime-type, generally +understood by CGI's and similar, curl also supports the more capable +multipart/form-data type. This latter type supports things like file upload. + +`-F` accepts parameters like `-F "name=contents"`. If you want the contents to +be read from a file, use `@filename` as contents. When specifying a file, you +can also specify the file content type by appending `;type=` to the +filename. You can also post the contents of several files in one field. For +example, the field name `coolfiles` is used to send three files, with +different content types using the following syntax: + + curl -F "coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html" + http://www.example.com/postit.cgi + +If the content-type is not specified, curl tries to guess from the file +extension (it only knows a few), or use the previously specified type (from an +earlier file if several files are specified in a list) or else it uses the +default type `application/octet-stream`. + +Emulate a fill-in form with `-F`. Let's say you fill in three fields in a +form. One field is a filename which to post, one field is your name and one +field is a file description. We want to post the file we have written named +`cooltext.txt`. To let curl do the posting of this data instead of your +favorite browser, you have to read the HTML source of the form page and find +the names of the input fields. In our example, the input field names are +`file`, `yourname` and `filedescription`. + + curl -F "file=@cooltext.txt" -F "yourname=Daniel" + -F "filedescription=Cool text file with cool text inside" + http://www.example.com/postit.cgi + +To send two files in one post you can do it in two ways: + +Send multiple files in a single field with a single field name: + + curl -F "pictures=@dog.gif,cat.gif" $URL + +Send two fields with two field names + + curl -F "docpicture=@dog.gif" -F "catpicture=@cat.gif" $URL + +To send a field value literally without interpreting a leading `@` or `<`, or +an embedded `;type=`, use `--form-string` instead of `-F`. This is recommended +when the value is obtained from a user or some other unpredictable +source. Under these circumstances, using `-F` instead of `--form-string` could +allow a user to trick curl into uploading a file. + +## Referrer + +An HTTP request has the option to include information about which address +referred it to the actual page. curl allows you to specify the referrer to be +used on the command line. It is especially useful to fool or trick stupid +servers or CGI scripts that rely on that information being available or +contain certain data. + + curl -e www.example.org http://www.example.com/ + +## User Agent + +An HTTP request has the option to include information about the browser that +generated the request. curl allows it to be specified on the command line. It +is especially useful to fool or trick stupid servers or CGI scripts that only +accept certain browsers. + +Example: + + curl -A 'Mozilla/3.0 (Win95; I)' http://www.bank.example.com/ + +Other common strings: + +- `Mozilla/3.0 (Win95; I)` - Netscape Version 3 for Windows 95 +- `Mozilla/3.04 (Win95; U)` - Netscape Version 3 for Windows 95 +- `Mozilla/2.02 (OS/2; U)` - Netscape Version 2 for OS/2 +- `Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)` - Netscape for AIX +- `Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)` - Netscape for Linux + +Note that Internet Explorer tries hard to be compatible in every way: + +- `Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)` - MSIE for W95 + +Mozilla is not the only possible User-Agent name: + +- `Konqueror/1.0` - KDE File Manager desktop client +- `Lynx/2.7.1 libwww-FM/2.14` - Lynx command line browser + +## Cookies + +Cookies are generally used by web servers to keep state information at the +client's side. The server sets cookies by sending a response line in the +headers that looks like `Set-Cookie: ` where the data part then +typically contains a set of `NAME=VALUE` pairs (separated by semicolons `;` +like `NAME1=VALUE1; NAME2=VALUE2;`). The server can also specify for what path +the cookie should be used for (by specifying `path=value`), when the cookie +should expire (`expire=DATE`), for what domain to use it (`domain=NAME`) and +if it should be used on secure connections only (`secure`). + +If you have received a page from a server that contains a header like: + +```http +Set-Cookie: sessionid=boo123; path="/foo"; +``` + +it means the server wants that first pair passed on when we get anything in a +path beginning with `/foo`. + +Example, get a page that wants my name passed in a cookie: + + curl -b "name=Daniel" www.example.com + +curl also has the ability to use previously received cookies in following +sessions. If you get cookies from a server and store them in a file in a +manner similar to: + + curl --dump-header headers www.example.com + +... you can then in a second connect to that (or another) site, use the +cookies from the `headers.txt` file like: + + curl -b headers.txt www.example.com + +While saving headers to a file is a working way to store cookies, it is +however error-prone and not the preferred way to do this. Instead, make curl +save the incoming cookies using the well-known Netscape cookie format like +this: + + curl -c cookies.txt www.example.com + +Note that by specifying `-b` you enable the cookie engine and with `-L` you +can make curl follow a `location:` (which often is used in combination with +cookies). If a site sends cookies and a location field, you can use a +non-existing file to trigger the cookie awareness like: + + curl -L -b empty.txt www.example.com + +The file to read cookies from must be formatted using plain HTTP headers OR as +Netscape's cookie file. curl determines what kind it is based on the file +contents. In the above command, curl parses the header and store the cookies +received from www.example.com. curl sends the stored cookies which match the +request to the server as it follows the location. The file `empty.txt` may be +a nonexistent file. + +To read and write cookies from a Netscape cookie file, you can set both `-b` +and `-c` to use the same file: + + curl -b cookies.txt -c cookies.txt www.example.com + +## Progress Meter + +The progress meter exists to show a user that something actually is +happening. The different fields in the output have the following meaning: + + % Total % Received % Xferd Average Speed Time Curr. + Dload Upload Total Current Left Speed + 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287 + +From left-to-right: + + - `%` - percentage completed of the whole transfer + - `Total` - total size of the whole expected transfer + - `%` - percentage completed of the download + - `Received` - currently downloaded amount of bytes + - `%` - percentage completed of the upload + - `Xferd` - currently uploaded amount of bytes + - `Average Speed Dload` - the average transfer speed of the download + - `Average Speed Upload` - the average transfer speed of the upload + - `Time Total` - expected time to complete the operation + - `Time Current` - time passed since the invoke + - `Time Left` - expected time left to completion + - `Curr.Speed` - the average transfer speed the last 5 seconds (the first + 5 seconds of a transfer is based on less time of course.) + +The `-#` option displays a totally different progress bar that does not need +much explanation! + +## Speed Limit + +curl allows the user to set the transfer speed conditions that must be met to +let the transfer keep going. By using the switch `-y` and `-Y` you can make +curl abort transfers if the transfer speed is below the specified lowest limit +for a specified time. + +To have curl abort the download if the speed is slower than 3000 bytes per +second for 1 minute, run: + + curl -Y 3000 -y 60 www.far-away.example.com + +This can be used in combination with the overall time limit, so that the above +operation must be completed in whole within 30 minutes: + + curl -m 1800 -Y 3000 -y 60 www.far-away.example.com + +Forcing curl not to transfer data faster than a given rate is also possible, +which might be useful if you are using a limited bandwidth connection and you +do not want your transfer to use all of it (sometimes referred to as +*bandwidth throttle*). + +Make curl transfer data no faster than 10 kilobytes per second: + + curl --limit-rate 10K www.far-away.example.com + +or + + curl --limit-rate 10240 www.far-away.example.com + +Or prevent curl from uploading data faster than 1 megabyte per second: + + curl -T upload --limit-rate 1M ftp://uploads.example.com + +When using the `--limit-rate` option, the transfer rate is regulated on a +per-second basis, which causes the total transfer speed to become lower than +the given number. Sometimes of course substantially lower, if your transfer +stalls during periods. + +## Config File + +curl automatically tries to read the `.curlrc` file (or `_curlrc` file on +Microsoft Windows systems) from the user's home directory on startup. + +The config file could be made up with normal command line switches, but you +can also specify the long options without the dashes to make it more +readable. You can separate the options and the parameter with spaces, or with +`=` or `:`. Comments can be used within the file. If the first letter on a +line is a `#`-symbol the rest of the line is treated as a comment. + +If you want the parameter to contain spaces, you must enclose the entire +parameter within double quotes (`"`). Within those quotes, you specify a quote +as `\"`. + +NOTE: You must specify options and their arguments on the same line. + +Example, set default time out and proxy in a config file: + + # We want a 30 minute timeout: + -m 1800 + # ... and we use a proxy for all accesses: + proxy = proxy.our.domain.example.com:8080 + +Whitespaces ARE significant at the end of lines, but all whitespace leading +up to the first characters of each line are ignored. + +Prevent curl from reading the default file by using -q as the first command +line parameter, like: + + curl -q www.example.org + +Force curl to get and display a local help page in case it is invoked without +URL by making a config file similar to: + + # default url to get + url = "http://help.with.curl.example.com/curlhelp.html" + +You can specify another config file to be read by using the `-K`/`--config` +flag. If you set config filename to `-` it reads the config from stdin, which +can be handy if you want to hide options from being visible in process tables +etc: + + echo "user = user:passwd" | curl -K - http://that.secret.example.com + +## Extra Headers + +When using curl in your own programs, you may end up needing to pass on your +own custom headers when getting a webpage. You can do this by using the `-H` +flag. + +Example, send the header `X-you-and-me: yes` to the server when getting a +page: + + curl -H "X-you-and-me: yes" love.example.com + +This can also be useful in case you want curl to send a different text in a +header than it normally does. The `-H` header you specify then replaces the +header curl would normally send. If you replace an internal header with an +empty one, you prevent that header from being sent. To prevent the `Host:` +header from being used: + + curl -H "Host:" server.example.com + +## FTP and Path Names + +Do note that when getting files with a `ftp://` URL, the given path is +relative to the directory you enter. To get the file `README` from your home +directory at your ftp site, do: + + curl ftp://user:passwd@my.example.com/README + +If you want the README file from the root directory of that same site, you +need to specify the absolute filename: + + curl ftp://user:passwd@my.example.com//README + +(I.e with an extra slash in front of the filename.) + +## SFTP and SCP and Path Names + +With sftp: and scp: URLs, the path name given is the absolute name on the +server. To access a file relative to the remote user's home directory, prefix +the file with `/~/` , such as: + + curl -u $USER sftp://home.example.com/~/.bashrc + +## FTP and Firewalls + +The FTP protocol requires one of the involved parties to open a second +connection as soon as data is about to get transferred. There are two ways to +do this. + +The default way for curl is to issue the PASV command which causes the server +to open another port and await another connection performed by the +client. This is good if the client is behind a firewall that does not allow +incoming connections. + + curl ftp.example.com + +If the server, for example, is behind a firewall that does not allow +connections on ports other than 21 (or if it just does not support the `PASV` +command), the other way to do it is to use the `PORT` command and instruct the +server to connect to the client on the given IP number and port (as parameters +to the PORT command). + +The `-P` flag to curl supports a few different options. Your machine may have +several IP-addresses and/or network interfaces and curl allows you to select +which of them to use. Default address can also be used: + + curl -P - ftp.example.com + +Download with `PORT` but use the IP address of our `le0` interface (this does +not work on Windows): + + curl -P le0 ftp.example.com + +Download with `PORT` but use 192.168.0.10 as our IP address to use: + + curl -P 192.168.0.10 ftp.example.com + +## Network Interface + +Get a webpage from a server using a specified port for the interface: + + curl --interface eth0:1 http://www.example.com/ + +or + + curl --interface 192.168.1.10 http://www.example.com/ + +## HTTPS + +Secure HTTP requires a TLS library to be installed and used when curl is +built. If that is done, curl is capable of retrieving and posting documents +using the HTTPS protocol. + +Example: + + curl https://secure.example.com + +curl is also capable of using client certificates to get/post files from sites +that require valid certificates. The only drawback is that the certificate +needs to be in PEM-format. PEM is a standard and open format to store +certificates with, but it is not used by the most commonly used browsers. If +you want curl to use the certificates you use with your favorite browser, you +may need to download/compile a converter that can convert your browser's +formatted certificates to PEM formatted ones. + +Example on how to automatically retrieve a document using a certificate with a +personal password: + + curl -E /path/to/cert.pem:password https://secure.example.com/ + +If you neglect to specify the password on the command line, you are prompted +for the correct password before any data can be received. + +Many older HTTPS servers have problems with specific SSL or TLS versions, +which newer versions of OpenSSL etc use, therefore it is sometimes useful to +specify what TLS version curl should use.: + + curl --tlv1.0 https://secure.example.com/ + +Otherwise, curl attempts to use a sensible TLS default version. + +## Resuming File Transfers + +To continue a file transfer where it was previously aborted, curl supports +resume on HTTP(S) downloads as well as FTP uploads and downloads. + +Continue downloading a document: + + curl -C - -o file ftp://ftp.example.com/path/file + +Continue uploading a document: + + curl -C - -T file ftp://ftp.example.com/path/file + +Continue downloading a document from a web server + + curl -C - -o file http://www.example.com/ + +## Time Conditions + +HTTP allows a client to specify a time condition for the document it requests. +It is `If-Modified-Since` or `If-Unmodified-Since`. curl allows you to specify +them with the `-z`/`--time-cond` flag. + +For example, you can easily make a download that only gets performed if the +remote file is newer than a local copy. It would be made like: + + curl -z local.html http://remote.example.com/remote.html + +Or you can download a file only if the local file is newer than the remote +one. Do this by prepending the date string with a `-`, as in: + + curl -z -local.html http://remote.example.com/remote.html + +You can specify a plain text date as condition. Tell curl to only download the +file if it was updated since January 12, 2012: + + curl -z "Jan 12 2012" http://remote.example.com/remote.html + +curl accepts a wide range of date formats. You always make the date check the +other way around by prepending it with a dash (`-`). + +## DICT + +For fun try + + curl dict://dict.org/m:curl + curl dict://dict.org/d:heisenbug:jargon + curl dict://dict.org/d:daniel:gcide + +Aliases for `m` are `match` and `find`, and aliases for `d` are `define` and +`lookup`. For example, + + curl dict://dict.org/find:curl + +Commands that break the URL description of the RFC (but not the DICT +protocol) are + + curl dict://dict.org/show:db + curl dict://dict.org/show:strat + +Authentication support is still missing + +## LDAP + +If you have installed the OpenLDAP library, curl can take advantage of it and +offer `ldap://` support. On Windows, curl uses WinLDAP from Platform SDK by +default. + +Default protocol version used by curl is LDAP version 3. Version 2 is used as +a fallback mechanism in case version 3 fails to connect. + +LDAP is a complex thing and writing an LDAP query is not an easy +task. Familiarize yourself with the exact syntax description elsewhere. One +such place might be: [RFC 2255, The LDAP URL +Format](https://curl.se/rfc/rfc2255.txt) + +To show you an example, this is how to get all people from an LDAP server that +has a certain subdomain in their email address: + + curl -B "ldap://ldap.example.com/o=frontec??sub?mail=*sth.example.com" + +You also can use authentication when accessing LDAP catalog: + + curl -u user:passwd "ldap://ldap.example.com/o=frontec??sub?mail=*" + curl "ldap://user:passwd@ldap.example.com/o=frontec??sub?mail=*" + +By default, if user and password are provided, OpenLDAP/WinLDAP uses basic +authentication. On Windows you can control this behavior by providing one of +`--basic`, `--ntlm` or `--digest` option in curl command line + + curl --ntlm "ldap://user:passwd@ldap.example.com/o=frontec??sub?mail=*" + +On Windows, if no user/password specified, auto-negotiation mechanism is used +with current logon credentials (SSPI/SPNEGO). + +## Environment Variables + +curl reads and understands the following proxy related environment variables: + + http_proxy, HTTPS_PROXY, FTP_PROXY + +They should be set for protocol-specific proxies. General proxy should be set +with + + ALL_PROXY + +A comma-separated list of hostnames that should not go through any proxy is +set in (only an asterisk, `*` matches all hosts) + + NO_PROXY + +If the hostname matches one of these strings, or the host is within the domain +of one of these strings, transactions with that node is not done over the +proxy. When a domain is used, it needs to start with a period. A user can +specify that both www.example.com and foo.example.com should not use a proxy +by setting `NO_PROXY` to `.example.com`. By including the full name you can +exclude specific hostnames, so to make `www.example.com` not use a proxy but +still have `foo.example.com` do it, set `NO_PROXY` to `www.example.com`. + +The usage of the `-x`/`--proxy` flag overrides the environment variables. + +## Netrc + +Unix introduced the `.netrc` concept a long time ago. It is a way for a user +to specify name and password for commonly visited FTP sites in a file so that +you do not have to type them in each time you visit those sites. You realize +this is a big security risk if someone else gets hold of your passwords, +therefore most Unix programs do not read this file unless it is only readable +by yourself (curl does not care though). + +curl supports `.netrc` files if told to (using the `-n`/`--netrc` and +`--netrc-optional` options). This is not restricted to just FTP, so curl can +use it for all protocols where authentication is used. + +A simple `.netrc` file could look something like: + + machine curl.se login iamdaniel password mysecret + +## Custom Output + +To better allow script programmers to get to know about the progress of curl, +the `-w`/`--write-out` option was introduced. Using this, you can specify what +information from the previous transfer you want to extract. + +To display the amount of bytes downloaded together with some text and an +ending newline: + + curl -w 'We downloaded %{size_download} bytes\n' www.example.com + +## Kerberos FTP Transfer + +curl supports kerberos4 and kerberos5/GSSAPI for FTP transfers. You need the +kerberos package installed and used at curl build time for it to be available. + +First, get the krb-ticket the normal way, like with the `kinit`/`kauth` tool. +Then use curl in way similar to: + + curl --krb private ftp://krb4site.example.com -u username:fakepwd + +There is no use for a password on the `-u` switch, but a blank one makes curl +ask for one and you already entered the real password to `kinit`/`kauth`. + +## TELNET + +The curl telnet support is basic and easy to use. curl passes all data passed +to it on stdin to the remote server. Connect to a remote telnet server using a +command line similar to: + + curl telnet://remote.example.com + +Enter the data to pass to the server on stdin. The result is sent to stdout or +to the file you specify with `-o`. + +You might want the `-N`/`--no-buffer` option to switch off the buffered output +for slow connections or similar. + +Pass options to the telnet protocol negotiation, by using the `-t` option. To +tell the server we use a vt100 terminal, try something like: + + curl -tTTYPE=vt100 telnet://remote.example.com + +Other interesting options for it `-t` include: + + - `XDISPLOC=` Sets the X display location. + - `NEW_ENV=` Sets an environment variable. + +NOTE: The telnet protocol does not specify any way to login with a specified +user and password so curl cannot do that automatically. To do that, you need to +track when the login prompt is received and send the username and password +accordingly. + +## Persistent Connections + +Specifying multiple files on a single command line makes curl transfer all of +them, one after the other in the specified order. + +libcurl attempts to use persistent connections for the transfers so that the +second transfer to the same host can use the same connection that was already +initiated and was left open in the previous transfer. This greatly decreases +connection time for all but the first transfer and it makes a far better use +of the network. + +Note that curl cannot use persistent connections for transfers that are used +in subsequent curl invokes. Try to stuff as many URLs as possible on the same +command line if they are using the same host, as that makes the transfers +faster. If you use an HTTP proxy for file transfers, practically all transfers +are persistent. + +## Multiple Transfers With A Single Command Line + +As is mentioned above, you can download multiple files with one command line +by simply adding more URLs. If you want those to get saved to a local file +instead of just printed to stdout, you need to add one save option for each +URL you specify. Note that this also goes for the `-O` option (but not +`--remote-name-all`). + +For example: get two files and use `-O` for the first and a custom file +name for the second: + + curl -O http://example.com/file.txt ftp://example.com/moo.exe -o moo.jpg + +You can also upload multiple files in a similar fashion: + + curl -T local1 ftp://example.com/moo.exe -T local2 ftp://example.com/moo2.txt + +## IPv6 + +curl connects to a server with IPv6 when a host lookup returns an IPv6 address +and fall back to IPv4 if the connection fails. The `--ipv4` and `--ipv6` +options can specify which address to use when both are available. IPv6 +addresses can also be specified directly in URLs using the syntax: + + http://[2001:1890:1112:1::20]/overview.html + +When this style is used, the `-g` option must be given to stop curl from +interpreting the square brackets as special globbing characters. Link local +and site local addresses including a scope identifier, such as `fe80::1234%1`, +may also be used, but the scope portion must be numeric or match an existing +network interface on Linux and the percent character must be URL escaped. The +previous example in an SFTP URL might look like: + + sftp://[fe80::1234%251]/ + +IPv6 addresses provided other than in URLs (e.g. to the `--proxy`, +`--interface` or `--ftp-port` options) should not be URL encoded. + +## Mailing Lists + +For your convenience, we have several open mailing lists to discuss curl, its +development and things relevant to this. Get all info at +https://curl.se/mail/. + +Please direct curl questions, feature requests and trouble reports to one of +these mailing lists instead of mailing any individual. + +Available lists include: + +### `curl-users` + +Users of the command line tool. How to use it, what does not work, new +features, related tools, questions, news, installations, compilations, +running, porting etc. + +### `curl-library` + +Developers using or developing libcurl. Bugs, extensions, improvements. + +### `curl-announce` + +Low-traffic. Only receives announcements of new public versions. At worst, +that makes something like one or two mails per month, but usually only one +mail every second month. + +### `curl-and-php` + +Using the curl functions in PHP. Everything curl with a PHP angle. Or PHP with +a curl angle. + +### `curl-and-python` + +Python hackers using curl with or without the python binding pycurl. diff --git a/curl/docs/README.md b/curl/docs/README.md new file mode 100644 index 0000000..22d96ea --- /dev/null +++ b/curl/docs/README.md @@ -0,0 +1,18 @@ + + +![curl logo](https://curl.se/logo/curl-logo.svg) + +# Documentation + +You find a mix of various documentation in this directory and subdirectories, +using several different formats. Some of them are not ideal for reading +directly in your browser. + +If you would rather see the rendered version of the documentation, check out the +curl website's [documentation section](https://curl.se/docs/) for +general curl stuff or the [libcurl section](https://curl.se/libcurl/) for +libcurl related documentation. diff --git a/curl/docs/RELEASE-PROCEDURE.md b/curl/docs/RELEASE-PROCEDURE.md new file mode 100644 index 0000000..fe8c01d --- /dev/null +++ b/curl/docs/RELEASE-PROCEDURE.md @@ -0,0 +1,145 @@ + + +curl release procedure - how to do a release +============================================ + +in the source code repo +----------------------- + +- edit `RELEASE-NOTES` to be accurate + +- update `docs/THANKS` + +- make sure all relevant changes are committed on the master branch + +- tag the git repo in this style: `git tag -a curl-7_34_0`. -a annotates the + tag and we use underscores instead of dots in the version number. Make sure + the tag is GPG signed (using -s). + +- run `./scripts/dmaketgz 7.34.0` to build the release tarballs. + +- push the git commits and the new tag + +- GPG sign the 4 tarballs as `maketgz` suggests + +- upload the 8 resulting files to the primary download directory + +in the curl-www repo +-------------------- + +- edit `Makefile` (version number and date), + +- edit `_newslog.html` (announce the new release) and + +- edit `_changes.html` (insert changes+bugfixes from RELEASE-NOTES) + +- commit all local changes + +- tag the repo with the same name as used for the source repo. + +- make sure all relevant changes are committed and pushed on the master branch + + (the website then updates its contents automatically) + +on GitHub +--------- + +- edit the newly made release tag so that it is listed as the latest release + +inform +------ + +- send an email to curl-users, curl-announce and curl-library. Insert the + RELEASE-NOTES into the mail. + +- if there are any advisories associated with the release, send each markdown + file to the above lists as well as to `oss-security@lists.openwall.com` + (unless the problem is unique to the non-open operating systems) + +celebrate +--------- + +- suitable beverage intake is encouraged for the festivities + +curl release scheduling +======================= + +Release Cycle +------------- + +We normally do releases every 8 weeks on Wednesdays. If important problems +arise, we can insert releases outside the schedule or we can move the release +date. + +Each 8 week (56 days) release cycle is divided into three distinct periods: + +- During the first 10 calendar days after a release, we are in "cool down". We + do not merge features but only bug-fixes. If a regression is reported, we + might do a follow-up patch release. + +- During the following 3 weeks (21 days) there is a feature window: we allow + new features and changes to curl and libcurl. If we accept any such changes, + we bump the minor number used for the next release. + +- During the next 25 days we are in feature freeze. We do not merge any + features or changes, and we only focus on fixing bugs and polishing things + to make the pending release a solid one. + +If a future release date happens to end up on a "bad date", like in the middle +of common public holidays or when the lead release manager is unavailable, the +release date can be moved forwards or backwards a full week. This is then +advertised well in advance. + +Release Candidates +------------------ + +We ship release candidate tarballs on three occasions in preparation for the +pending release: + +- Release candidate one (**rc1**) ships the same Saturday the feature freeze + starts. Twenty-five days before the release. Tagged like `rc-7_34_0-1`. + +- Release candidate two (**rc2**) ships nine days later, sixteen days before + the release. On a Monday. Tagged like `rc-7_34_0-2`. + +- Release candidate tree (**rc3**) ships nine days later, seven days before + the release. On a Wednesday. Tagged like `rc-7_34_0-3`. + +Release candidate tarballs are ephemeral and each such tarball is only kept +around for a few weeks. They are provided on their dedicated webpage at: +https://curl.se/rc/ + +The git tags for release candidate are temporary and remain set only for a +limited period of time. + +**Do not use release candidates in production**. They are work in progress. +Use them for testing and verification only. Use actual releases in production. + +Critical problems +----------------- + +We can break the release cycle and do a patch release at any point if a +critical enough problem is reported. There is no exact definition of how to +assess such criticality, but if an issue is highly disturbing or has a +security impact on a large enough share of the user population it might +qualify. + +If you think an issue qualifies, bring it to the curl-library mailing list and +push for it. + +Coming dates +------------ + +Based on the description above, here are some planned future release dates: + +- May 28, 2025 +- July 16, 2025 +- September 10, 2025 +- November 5, 2025 +- January 7, 2026 +- March 4, 2026 +- April 29, 2026 diff --git a/curl/docs/RELEASE-TOOLS.md b/curl/docs/RELEASE-TOOLS.md new file mode 100644 index 0000000..f97fce8 --- /dev/null +++ b/curl/docs/RELEASE-TOOLS.md @@ -0,0 +1,28 @@ +# Release tools used for curl 8.14.0 + +The following tools and their Debian package version numbers were used to +produce this release tarball. + +- autoconf: 2.71-3 +- automake: 1:1.16.5-1.3 +- libtool: 2.4.7-7~deb12u1 +- make: 4.3-4.1 +- perl: 5.36.0-7+deb12u2 +- git: 1:2.39.5-0+deb12u2 + +# Reproduce the tarball + +- Clone the repo and checkout the tag/commit: curl-8_14_0 +- Install the same set of tools + versions as listed above + +## Do a standard build + +- autoreconf -fi +- ./configure [...] +- make + +## Generate the tarball with the same timestamp + +- export SOURCE_DATE_EPOCH=1748410910 +- ./scripts/maketgz [version] + diff --git a/curl/docs/ROADMAP.md b/curl/docs/ROADMAP.md new file mode 100644 index 0000000..abf306b --- /dev/null +++ b/curl/docs/ROADMAP.md @@ -0,0 +1,17 @@ + + +# curl the next few years - perhaps + +Roadmap of things Daniel Stenberg wants to work on next. It is intended to +serve as a guideline for others for information, feedback and possible +participation. + +## WebSocket + +Agree that it is a good enough API and remove the EXPERIMENTAL label. + +## diff --git a/curl/docs/RUSTLS.md b/curl/docs/RUSTLS.md new file mode 100644 index 0000000..e46e1d8 --- /dev/null +++ b/curl/docs/RUSTLS.md @@ -0,0 +1,85 @@ + + +# Rustls + +[Rustls is a TLS backend written in Rust](https://docs.rs/rustls/). curl can +be built to use it as an alternative to OpenSSL or other TLS backends. We use +the [rustls-ffi C bindings](https://github.com/rustls/rustls-ffi/). This +version of curl is compatible with `rustls-ffi` v0.15.x. + +## Getting rustls-ffi + +To build `curl` with `rustls` support you need to have `rustls-ffi` available first. +There are three options for this: + +1. Install it from your package manager, if available. +2. Download pre-built binaries. +3. Build it from source. + +### Installing rustls-ffi from a package manager + +See the [rustls-ffi README] for packaging status. Availability and details for installation +differ between distributions. + +Once installed, build `curl` using `--with-rustls`. + + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure --with-rustls + % make + +[rustls-ffi README]: https://github.com/rustls/rustls-ffi?tab=readme-ov-file + +### Downloading pre-built rustls-ffi binaries + +Pre-built binaries are available on the [releases page] on GitHub for releases since 0.15.0. +Download the appropriate archive for your platform and extract it to a directory of your choice +(e.g. `${HOME}/rustls-ffi-built`). + +Once downloaded, build `curl` using `--with-rustls` and the path to the extracted binaries. + + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure --with-rustls=${HOME}/rustls-ffi-built + % make + +[releases page]: https://github.com/rustls/rustls-ffi/releases + +### Building rustls-ffi from source + +Building `rustls-ffi` from source requires both a rust compiler, and the [cargo-c] cargo plugin. + +To install a Rust compiler, use [rustup] or your package manager to install +the **1.73+** or newer toolchain. + +To install `cargo-c`, use your [package manager][cargo-c pkg], download +[a pre-built archive][cargo-c prebuilt], or build it from source with `cargo install cargo-c`. + +Next, check out, build, and install the appropriate version of `rustls-ffi` using `cargo`: + + % git clone https://github.com/rustls/rustls-ffi -b v0.15.0 + % cd rustls-ffi + % cargo capi install --release --prefix=${HOME}/rustls-ffi-built + +Now configure and build `curl` using `--with-rustls`: + + % git clone https://github.com/curl/curl + % cd curl + % autoreconf -fi + % ./configure --with-rustls=${HOME}/rustls-ffi-built + % make + +See the [rustls-ffi README][cryptography provider] for more information on cryptography providers and +their build/platform requirements. + +[cargo-c]: https://github.com/lu-zero/cargo-c +[rustup]: https://rustup.rs/ +[cargo-c pkg]: https://github.com/lu-zero/cargo-c?tab=readme-ov-file#availability +[cargo-c prebuilt]: https://github.com/lu-zero/cargo-c/releases +[cryptography provider]: https://github.com/cpu/rustls-ffi?tab=readme-ov-file#cryptography-provider diff --git a/curl/docs/SECURITY-ADVISORY.md b/curl/docs/SECURITY-ADVISORY.md new file mode 100644 index 0000000..efb0e04 --- /dev/null +++ b/curl/docs/SECURITY-ADVISORY.md @@ -0,0 +1,135 @@ + + +# Anatomy of a curl security advisory + +As described in the [Security Process](https://curl.se/dev/secprocess.html) +document, when a security vulnerability has been reported to the project and +confirmed, we author an advisory document for the issue. It should ideally +be written in cooperation with the reporter to make sure all the angles and +details of the problem are gathered and described correctly and succinctly. + +## New document + +A security advisory for curl is created in the `docs/` folder in the +[curl-www](https://github.com/curl/curl-www) repository. It should be named +`$CVEID.md` where `$CVEID` is the full CVE Id that has been registered for the +flaw. Like `CVE-2016-0755`. The `.md` extension of course means that the +document is written using markdown. + +The standard way to go about this is to first write the `VULNERABILITY` +section for the document, so that there is description of the flaw available, +then paste this description into the CVE Id request. + +### `vuln.pm` + +The new issue should be entered at the top of the list in the file `vuln.pm` +in the same directory. It holds a large array with all published curl +vulnerabilities. All fields should be filled in accordingly, separated by a +pipe character (`|`). + +The eleven fields for each CVE in `vuln.pm` are, in order: + + HTML page name, first vulnerable version, last vulnerable version, name of + the issue, CVE Id, announce date (`YYYYMMDD`), report to the project date + (`YYYYMMDD`), CWE, awarded reward amount (USD), area (single word), C-issue + (`-` if not a C issue at all, `OVERFLOW` , `OVERREAD`, `DOUBLE_FREE`, + `USE_AFTER_FREE`, `NULL_MISTAKE`, `UNINIT`) + +### `Makefile` + +The new CVE webpage filename needs to be added in the `Makefile`'s `CVELIST` +macro. + +When the markdown is in place and the `Makefile` and `vuln.pm` are updated, +all other files and metadata for all curl advisories and versions get +generated automatically using those files. + +## Document format + +The easy way is to start with a recent previously published advisory and just +blank out old texts and save it using a new name. Save the subtitles and +general layout. + +Some details and metadata are extracted from this document so it is important +to stick to the existing format. + +The first list must be the title of the issue. + +### VULNERABILITY + +The first subtitle should be `VULNERABILITY`. That should then include a +through and detailed description of the flaw. Including how it can be +triggered and maybe something about what might happen if triggered or +exploited. + +### INFO + +The next section is `INFO` which adds meta data information about the flaw. It +specifically mentions the official CVE Id for the issue and it must list the +CWE Id, starting on its own line. We write CWE identifiers in advisories with +the full (official) explanation on the right side of a colon. Like this: + +`CWE-305: Authentication Bypass by Primary Weakness` + +### AFFECTED VERSIONS + +The third section first lists what versions that are affected, then adds +clarity by stressing what versions that are *not* affected. A third line adds +information about which specific git commit that introduced the vulnerability. + +The `Introduced-in` commit should be a full URL that displays the commit, but +should work as a stand-alone commit hash if everything up to the last slash is +cut out. + +An example using the correct syntax: + +~~~ +- Affected versions: curl 7.16.1 to and including 7.88.1 +- Not affected versions: curl < 7.16.1 and curl >= 8.0.0 +- Introduced-in: https://github.com/curl/curl/commit/2147284cad +~~~ + +### THE SOLUTION + +This section describes and discusses the fix. The only mandatory information +here is the link to the git commit that fixes the problem. + +The `Fixed-in` value should be a full URL that displays the commit, but should +work as a stand-alone commit hash if everything up to the last slash is cut +out. + +Example: + +`- Fixed-in: https://github.com/curl/curl/commit/af369db4d3833272b8ed` + +### RECOMMENDATIONS + +This section lists the recommended actions for the users in a top to bottom +priority order and should ideally contain three items but no less than two. + +The top two are almost always `upgrade curl to version XXX` and `apply the +patch to your local version`. + +### TIMELINE + +Detail when this report was received in the project. When package distributors +were notified (via the distros mailing list or similar) + +When the advisory and fixed version are released. + +### CREDITS + +Mention the reporter and patch author at least, then everyone else involved +you think deserves a mention. + +If you want to mention more than one name, separate the names with comma +(`,`). + +~~~ +- Reported-by: Full Name +- Patched-by: Full Name +~~~ diff --git a/curl/docs/SPONSORS.md b/curl/docs/SPONSORS.md new file mode 100644 index 0000000..e4f61db --- /dev/null +++ b/curl/docs/SPONSORS.md @@ -0,0 +1,55 @@ + + +# curl sponsors + +A sponsor is someone who donates money or resources to the curl project for no +specific service in return. + +curl accepts donations via [GitHub sponsors](https://github.com/sponsors/curl) +and [Open Collective](https://opencollective.com/curl). + +An even better way to contribute to the project might be to pay an engineer or +two to spend work hours on curl related tasks. + +We promise to use donated funds for things and activities that we believe are +beneficial for the project and its development. That includes but is not +limited to bug-bounties, developer conferences, infrastructure, development, +services and hardware. + +Recurring donations above a certain amount of money puts the sponsor at a +named sponsor level: **Silver**, **Gold**, **Platinum** or **Top**. + +Sponsors on a named level can provide their logo image and preferred URL and +get recognition on the curl website's [sponsor +page](https://curl.se/sponsors.html), assuming they meet the project's +standards and requirements. + +- **Silver Sponsor** at least 100 USD/month +- **Gold Sponsor** at least 500 USD/month +- **Platinum Sponsor** at least 1000 USD/month +- **Top Sponsor** outstanding extra valuable help + +## Sponsor requirements + +A named level sponsor is entitled a logo and link on the curl website assuming +the company, brand and link are not deemed unsuitable. The curl team reserves +the right to make that decision at its own discretion. + +Sponsors may be denied a website presence for example if involved with drugs, +gambling, pornography, social media manipulation etc. + +## Past Sponsors + +Sponsors that stop paying are considered *Past Sponsors* and are not displayed +on the sponsor page anymore. We thank you for your contributions. + +## Donations + +Please note that sponsorship and donations are exactly that: donations to the +curl project. They are used to help and further the project as the project +leadership deems best. No goods or services are expected or promised in +return. Requests for refunds for such purposes are rejected. diff --git a/curl/docs/SSL-PROBLEMS.md b/curl/docs/SSL-PROBLEMS.md new file mode 100644 index 0000000..620392c --- /dev/null +++ b/curl/docs/SSL-PROBLEMS.md @@ -0,0 +1,97 @@ + + +# SSL problems + + First, let's establish that we often refer to TLS and SSL interchangeably as + SSL here. The current protocol is called TLS, it was called SSL a long time + ago. + + There are several known reasons why a connection that involves SSL might + fail. This is a document that attempts to detail the most common ones and + how to mitigate them. + +## CA certs + + CA certs are used to digitally verify the server's certificate. You need a + "ca bundle" for this. See lots of more details on this in the `SSLCERTS` + document. + +## CA bundle missing intermediate certificates + + When using said CA bundle to verify a server cert, you may experience + problems if your CA store does not contain the certificates for the + intermediates if the server does not provide them. + + The TLS protocol mandates that the intermediate certificates are sent in the + handshake, but as browsers have ways to survive or work around such + omissions, missing intermediates in TLS handshakes still happen that browser + users do not notice. + + Browsers work around this problem in two ways: they cache intermediate + certificates from previous transfers and some implement the TLS "AIA" + extension that lets the client explicitly download such certificates on + demand. + +## Protocol version + + Some broken servers fail to support the protocol negotiation properly that + SSL servers are supposed to handle. This may cause the connection to fail + completely. Sometimes you may need to explicitly select a SSL version to use + when connecting to make the connection succeed. + + An additional complication can be that modern SSL libraries sometimes are + built with support for older SSL and TLS versions disabled. + + All versions of SSL and the TLS versions before 1.2 are considered insecure + and should be avoided. Use TLS 1.2 or later. + +## Ciphers + + Clients give servers a list of ciphers to select from. If the list does not + include any ciphers the server wants/can use, the connection handshake + fails. + + curl has recently disabled the user of a whole bunch of seriously insecure + ciphers from its default set (slightly depending on SSL backend in use). + + You may have to explicitly provide an alternative list of ciphers for curl + to use to allow the server to use a weak cipher for you. + + Note that these weak ciphers are identified as flawed. For example, this + includes symmetric ciphers with less than 128 bit keys and RC4. + + Schannel in Windows XP is not able to connect to servers that no longer + support the legacy handshakes and algorithms used by those versions, so we + advise against building curl to use Schannel on really old Windows versions. + + Reference: [Prohibiting RC4 Cipher + Suites](https://datatracker.ietf.org/doc/html/draft-popov-tls-prohibiting-rc4-01) + +## Allow BEAST + + BEAST is the name of a TLS 1.0 attack that surfaced 2011. When adding means + to mitigate this attack, it turned out that some broken servers out there in + the wild did not work properly with the BEAST mitigation in place. + + To make such broken servers work, the --ssl-allow-beast option was + introduced. Exactly as it sounds, it re-introduces the BEAST vulnerability + but on the other hand it allows curl to connect to that kind of strange + servers. + +## Disabling certificate revocation checks + + Some SSL backends may do certificate revocation checks (CRL, OCSP, etc) + depending on the OS or build configuration. The --ssl-no-revoke option was + introduced in 7.44.0 to disable revocation checking but currently is only + supported for Schannel (the native Windows SSL library), with an exception + in the case of Windows' Untrusted Publishers block list which it seems cannot + be bypassed. This option may have broader support to accommodate other SSL + backends in the future. + + References: + + https://curl.se/docs/ssl-compared.html diff --git a/curl/docs/SSLCERTS.md b/curl/docs/SSLCERTS.md new file mode 100644 index 0000000..b170845 --- /dev/null +++ b/curl/docs/SSLCERTS.md @@ -0,0 +1,124 @@ + + +# TLS Certificate Verification + +## Native vs file based + +If curl was built with Schannel or Secure Transport support, then curl uses +the system native CA store for verification. All other TLS libraries use a +file based CA store by default. + +## Verification + +Every trusted server certificate is digitally signed by a Certificate +Authority, a CA. + +In your local CA store you have a collection of certificates from *trusted* +certificate authorities that TLS clients like curl use to verify servers. + +curl does certificate verification by default. This is done by verifying the +signature and making sure the certificate was crafted for the server name +provided in the URL. + +If you communicate with HTTPS, FTPS or other TLS-using servers using +certificates signed by a CA whose certificate is present in the store, you can +be sure that the remote server really is the one it claims to be. + +If the remote server uses a self-signed certificate, if you do not install a +CA cert store, if the server uses a certificate signed by a CA that is not +included in the store you use or if the remote host is an impostor +impersonating your favorite site, the certificate check fails and reports an +error. + +If you think it wrongly failed the verification, consider one of the following +sections. + +### Skip verification + +Tell curl to *not* verify the peer with `-k`/`--insecure`. + +We **strongly** recommend this is avoided and that even if you end up doing +this for experimentation or development, **never** skip verification in +production. + +### Use a custom CA store + +Get a CA certificate that can verify the remote server and use the proper +option to point out this CA cert for verification when connecting - for this +specific transfer only. + +With the curl command line tool: `--cacert [file]` + +If you use the curl command line tool without a native CA store, then you can +specify your own CA cert file by setting the environment variable +`CURL_CA_BUNDLE` to the path of your choice. `SSL_CERT_FILE` and `SSL_CERT_DIR` +are also supported. + +If you are using the curl command line tool on Windows, curl searches for a CA +cert file named `curl-ca-bundle.crt` in these directories and in this order: + 1. application's directory + 2. current working directory + 3. Windows System directory (e.g. C:\Windows\System32) + 4. Windows Directory (e.g. C:\Windows) + 5. all directories along %PATH% + +curl 8.11.0 added a build-time option to disable this search behavior, and +another option to restrict search to the application's directory. + +### Use the native store + +In several environments, in particular on Windows, you can ask curl to use the +system's native CA store when verifying the certificate. + +With the curl command line tool: `--ca-native`. + +### Modify the CA store + +Add the CA cert for your server to the existing default CA certificate store. + +Usually you can figure out the path to the local CA store by looking at the +verbose output that `curl -v` shows when you connect to an HTTPS site. + +### Change curl's default CA store + +The default CA certificate store curl uses is set at build time. When you +build curl you can point out your preferred path. + +### Extract CA cert from a server + + curl -w %{certs} https://example.com > cacert.pem + +The certificate has `BEGIN CERTIFICATE` and `END CERTIFICATE` markers. + +### Get the Mozilla CA store + +Download a version of the Firefox CA store converted to PEM format on the [CA +Extract](https://curl.se/docs/caextract.html) page. It always features the +latest Firefox bundle. + +## Native CA store + +If curl was built with Schannel, Secure Transport or were instructed to use +the native CA Store, then curl uses the certificates that are built into the +OS. These are the same certificates that appear in the Internet Options +control panel (under Windows) or Keychain Access application (under macOS). +Any custom security rules for certificates are honored. + +Schannel runs CRL checks on certificates unless peer verification is disabled. +Secure Transport on iOS runs OCSP checks on certificates unless peer +verification is disabled. Secure Transport on macOS runs either OCSP or CRL +checks on certificates if those features are enabled, and this behavior can be +adjusted in the preferences of Keychain Access. + +## HTTPS proxy + +curl can do HTTPS to the proxy separately from the connection to the server. +This TLS connection is handled and verified separately from the server +connection so instead of `--insecure` and `--cacert` to control the +certificate verification, you use `--proxy-insecure` and `--proxy-cacert`. +With these options, you make sure that the TLS connection and the trust of the +proxy can be kept totally separate from the TLS connection to the server. diff --git a/curl/docs/THANKS.txt b/curl/docs/THANKS.txt new file mode 100644 index 0000000..dd3a25b --- /dev/null +++ b/curl/docs/THANKS.txt @@ -0,0 +1,3433 @@ + This project has been alive for many years. Countless people have provided + feedback that have improved curl. Here follows a list of people that have + contributed (a-z order). + + If you have contributed but are missing here, please let us know! + +0xee on github +0xflotus on github +12932 on github +1337vt on github +1ocalhost on github +3dyd on github +3eka on github +5533asdg on github +8U61ife on github +9cel +a1346054 on github +Aaro Koskinen +Aaron Oneal +Aaron Orenstein +Aaron Scarisbrick +aasivov on github +Abdullah Alyan +Abhinav Singh +Abhinav Singhal +Abram Pousada +accountantM on github +AceCrow on github +ad0p on github +Adam Averay +Adam Barclay +Adam Brown +Adam Coyne +Adam D. Moss +Adam Langley +Adam Light +Adam Marcionek +Adam Piggott +Adam Rosenfield +Adam Sampson +Adam Tkac +ad-chaos on github +Aditya Garg +Ádler Jonas Gross +Adnan Khan +adnn on github +Adrian Burcea +Adriano Meirelles +Adrian Peniak +Adrian Schuur +afrind on github +Aftab Alam +ahodesuka on github +ajak in #curl +Ajit Dhumale +Akhilesh Nema +Akhil Kedia +Aki Koskinen +Aki Sakurai +Akos Pasztory +Akshay Vernekar +Alain Danteny +Alain Miniussi +Alan Coopersmith +Alan Jenkins +Alan Pinstein +Albert Chin-A-Young +Albert Choy +Alberto Leiva Popper +Albin Vass +Alejandro Alvarez Ayllon +Alejandro Colomar +Alejandro R. Sedeño +Aleksandar Milivojevic +Aleksander Mazur +Aleksandr Krotov +Aleksey Tulinov +alervd on github +Ales Mlakar +Ales Novak +Alessandro Ghedini +Alessandro Vesely +Alex aka WindEagle +Alexander Bartel +Alexander Beedie +Alexander Chuykov +Alexander Dyagilev +Alexander Elgert +Alexander Jaeger +Alexander Kanavin +Alexander Klauer +Alexander Kourakos +Alexander Krasnostavsky +Alexander Lazic +Alexander Pepper +Alexander Peslyak +Alexander Shtuchkin +Alexander Sinditskiy +Alexander Traud +Alexander V. Tikhonov +Alexander Zhuravlev +Alexandre Bury +Alexandre Ferrieux +Alexandre Pion +Alex Baines +Alex Bligh +Alex Bozarth +Alex Chan +Alex Crichton +Alexey Borzov +Alexey Eremikhin +Alexey Larikov +Alexey Melnichuk +Alexey Pesternikov +Alexey Savchuk +Alexey Simak +Alexey Zakhlestin +Alex Fishman +Alex Gaynor +Alex Grebenschikov +Alex Gruz +Alexis Carvalho +Alexis La Goutte +Alexis Savin +Alexis Vachette +Alex Kiernan +Alex Klyubin +Alex Konev +Alex Malinovich +Alex Mayorga +Alex McLellan +Alex Neblett +Alex Nichols +Alex Potapenko +Alex Rousskov +Alex Samorukov +Alex Snast +Alex Suykov +Alex Vinnik +Alex Xu +Alfonso Martone +Alfred Gebert +Ali Khodkar +ALittleDruid on github +Ali Utku Selen +Allen Pulsifer +Alois Klink +Alona Rossen +Amaury Denoyelle +amishmm on github +Amit Katyal +Ammar Faizi +Amol Pattekar +Amr Shahin +Anatol Belski +Anatoli Tubman +Anders Bakken +Anders Berg +Anders Gustafsson +Anders Havn +Anderson Sasaki +Anderson Toshiyuki Sasaki +Anders Roxell +Andi Jahja +Andrea Pappacoda +Andreas Damm +Andreas Falkenhahn +Andreas Farber +Andreas Fischer +Andreas Huebner +Andreas Kiefer +Andreas Kostyrka +Andreas Malzahn +Andreas Ntaflos +Andreas Olsson +Andreas Rieke +Andreas Roth +Andreas Schneider +Andreas Schuldei +Andreas Sommer +Andreas Streichardt +Andreas Westin +Andreas Wurf +Andre Guibert de Bruet +Andre Heinecke +Andrei Benea +Andrei Bica +Andrei Cipu +Andrei Florea +Andrei Karas +Andrei Korshikov +Andrei Kurushin +Andrei Neculau +Andrei Rybak +Andrei Sedoi +Andrei Valeriu BICA +Andrei Virtosu +Andrej E Baranov +Andrés García +Andrew +Andrew Ayer +Andrew Barnert +Andrew Barnes +Andrew Benham +Andrew Biggs +Andrew Bushnell +Andrew de los Reyes +Andrew Francis +Andrew Fuller +Andrew Ishchuk +Andrew Kaster +Andrew Kirillov +Andrew Krieger +Andrew Kurushin +Andrew Lambert +Andrew Moise +Andrew Potter +Andrew Robbins +Andrew Wansink +Andrey Alifanov +Andrey Gursky +Andrey Labunets +Andrii Moiseiev +Andrius Merkys +Andy Alt +Andy Cedilnik +Andy Fiddaman +Andy Pan +Andy Reitz +Andy Serpa +Andy Stamp +Andy Tsouladze +Angus Mackay +anio on github +annalee +anon00000000 on github +anshnd on github +Anssi Kolehmainen +Antarpreet Singh +Anthon Pang +Anthony Avina +Anthony Bryan +Anthony G. Basile +Anthony Hu +Anthony Ramine +Anthony Shaw +Antoine Aubert +Antoine Bollengier +Antoine Calando +Antoine du Hamel +Antoine Pietri +Antoine Pitrou +Anton Bychkov +Anton Gerasimov +Antonio Larrosa +Antoni Villalonga +Anton Kalmykov +Anton Malov +Antony74 on github +Anton Yabchinskiy +Antti Hätälä +antypanty on hackerone +Anubhav Rai +apparentorder on github +April King +Aquila Macedo +arainchik on github +Archangel_SDY on github +Arian van Putten +Arjan van de Ven +Arkadiusz Miskiewicz +arlt on github +Armel Asselin +Arnaud Compan +Arnaud Ebalard +Arnaud Rebillout +Arne Soete +Aron Bergman +Aron Rotteveel +Artak Galoyan +Arthur Murray +Artur Sinila +Arve Knudsen +Arvid Norberg +arvids-kokins-bidstack on github +asavah on github +Asger Hautop Drewsen +Ashish Shukla +Ashwin Metpalli +Askar Safin +Ask Bjørn Hansen +AtariDreams on github +Ates Goral +atjg on github +Augustus Saunders +Aurélien Pierre +Austin Green +Austin Moore +av223119 on github +Avery Fay +awesomekosm on github +awesomenode on github +Axel Chong +Axel Morawietz +Axel Tillequin +Ayesh Karunaratne +Ayoub Boudhar +Ayushman Singh Chauhan +b9a1 on github +Bachue Zhou +Baitinq on github +Balaji Parasuram +Balaji Salunke +Balaji S Rao +Balakrishnan Balasubramanian +Balazs Kovacsics +balikalina on github +Balint Szilakszi +baranyaib90 on github +Barry Abrahamson +Barry Pollard +Bart Whiteley +Baruch Siach +Bas Mevissen +Bastian Krause +Bastien Bouclet +Basuke Suzuki +Bas van Schaik +baumanj on github +bdry on github +beckenc on github +Ben +Benau on github +Ben Bodenmiller +Ben Boeckel +Benbuck Nason +Ben Darnell +Ben Fritz +Ben Greear +Benjamin Gerard +Benjamin Gilbert +Benjamin Johnson +Benjamin Kircher +Benjamin Loison +Benjamin Riefenstahl +Benjamin Ritcey +Benjamin Sergeant +Ben Kohler +Ben Madsen +Ben Noordhuis +Benoit Neil +Benoit Pierre +Benoit Sigoure +Ben Van Hof +Ben Voris +Ben Winslow +Ben Zanin +Bernard Leak +Bernard Spil +Bernat Mut +Bernd Mueller +Bernhard Iselborn +Bernhard M. Wiedemann +Bernhard Reutner-Fischer +Bernhard Walle +Bert Huijben +Bertrand Demiddelaer +Bertrand Simonnet +beslick5 on github +Bevan Weiss +Bhanu Prakash +Bill Doyle +Bill Egert +Bill Hoffman +billionai on github +Bill Middlecamp +Bill Nagel +Bill Pyne +Billyzou0741326 on github +Bin Lan +Bin Meng +Biswapriyo Nath +Bjarni Ingi Gislason +Bjoern Franke +Bjoern Sikora +Bjorn Augustsson +Bjorn Reese +Björn Stenberg +black-desk on github +Blaise Potard +Blake Burkhart +blankie +bnfp on github +bo0tzz on github +Bo Anderson +bobmitchell1956 on github +Bob Relyea +Bob Richmond +Bob Schader +Bodo Bergmann +Bogdan Nicula +boilingoden +Boris Kuschel +Boris Okunskiy +Boris Rasin +Boris Verkhovskiy +Brad Burdick +Brad Fitzpatrick +Bradford Bruce +Brad Forschinger +Brad Harder +Brad Hards +Brad House +Brad King +Brad Spencer +bramus on github +Brandon Casey +Brandon Dong +Brandon Wang +BratSinot on github +Brendan Dolan-Gavitt +Brendan Jurd +Brendon Smith +Brennan Kinney +Brent Beardsley +Brett Buddin +Brian Akins +Brian Bergeron +Brian Carpenter +Brian Chaplin +Brian Childs +Brian Chrisman +Brian Chrzanowski +Brian Clemens +Brian Dessent +Brian E. Gallew +Brian Green +Brian Inglis +Brian J. Murrell +Brian Lund +brian m. carlson +Brian Nixon +Brian Prodoehl +Brian R Duffy +Brian Ulm +Brock Noland +Bruce Mitchener +Bruce Stephens +bruce.yoon +BrumBrum on hackerone +Bruno Baguette +Bruno de Carvalho +Bruno Grasselli +Bruno Henrique Batista Cruz da Silva +Bruno Thomsen +Bru Rom +Bryan Henderson +Bryan Kemp +bsammon on github +bsergean on github +bsr13 on hackerone +bubbleguuum on github +Bubu on github +buzo-ffm on github +bxac on github +Bylon2 on github +Byrial Jensen +Cajus Pollmeier +Caleb Raitto +calvin2021y on github +Calvin Buckley +Calvin Ruocco +Cameron Blomquist +Cameron Cawley +Cameron Kaiser +Cameron MacMinn +Cameron Will +Camille Moncelier +Caolan McNamara +Cao ZhenXiang +Captain Basil +Carie Pointer +Carlo Alberto +Carlo Cabrera +Carlo Cannas +Carlo Marcelo Arenas Belón +Carlos Henrique Lima Melara +Carlos ORyan +Carlo Teubner +Carlo Wood +Carl Zogheib +Carsten Lange +Casey Bodley +Casey O'Donnell +Catalin Patulea +Catena cyber +causal-agent on github +cbartl on github +cclauss on github +Cédric Connes +Cédric Deltheil +Cering on github +Cesar Eduardo Barros +Ch40zz on github +Chad Monroe +Chandrakant Bagul +Chara White +Charles Cazabon +Charles Kerr +Charles Romestant +Charlie C +chemodax +Chen Prog +chensong1211 on github +Cherish98 on github +Chester Liu +Chih-Chung Chang +Chih-Hsuan Yen +Chilledheart on github +Chloe Kudryavtsev +Chris Araman +Chris "Bob Bob" +Chris Carlmar +Chris Combes +Chris Conlon +Chris Deidun +Chris Faherty +Chris Flerackers +Chris Gaukroger +Chris Maltby +Chris Mumford +Chris Paulson-Ellis +Chris Roberts +Chris Sauer +Chris Smowton +Chris Stubbs +Chris Swan +Chris Talbot +Christian Fillion +Christian Grothoff +Christian Hägele +Christian Heimes +Christian Hesse +Christian Heusel +Christian Krause +Christian Kurz +Christian Robottom Reis +Christian Schmitz +Christian Stewart +Christian Vogt +Christian Weisgerber +Christophe Demory +Christophe Dervieux +Christophe Legry +Christopher Conroy +Christopher Dannemiller +Christopher Degawa +Christopher Head +Christopher Palow +Christopher Reid +Christopher R. Palmer +Christopher Sauer +Christopher Stone +Christoph Jabs +Christoph Krey +Christoph M. Becker +Christoph Reiter +Chris Webb +Chris Young +chrysos349 on github +Chungtsun Li +Ciprian Badescu +civodul on github +Claes Jakobsson +Clarence Gardner +Claudio Neves +claudiusaiz on github +clbr on github +Clemens Gruber +Clément Notin +Cliff Crosland +Clifford Wolf +Clint Clayton +Cloudogu Siebels +CMD +cmfrolick on github +codesniffer13 on github +Cody Jones +Cody Mack +COFFEETALES on github +coinhubs on github +Colby Ranger +Cole Helbling +Colin Blair +Colin Cross +Colin Hogben +Colin Leroy +Colin Leroy-Mira +Colin O'Dell +Colin Watson +Colman Mbuya +Colm Buckley +Colton Willey +Constantine Sapuntzakis +consulion on github +coralw on github +Corinna Brandt +correctmost on github +Cory Benfield +Cory Nelson +Costya Shulyupin +Craig Andrews +Craig A West +Craig Davison +Craig de Stigter +Craig Markwardt +crazydef on github +Cris Bailiff +Cristian Greco +Cristian Morales Vega +Cristian Rodríguez +CueXXIII on github +Curt Bogmine +Cynthia Coan +Cyril B +Cyrill Osterwalder +d4d on hackerone +d912e3 on github +daboul on github +Dag Ekengren +Dagfinn Ilmari Mannsåker +Dagobert Michelsen +Daiki Ueno +Dair Grant +Dambaev Alexander +Damian Dixon +Damien Adant +Damien Vielpeau +Damien Walsh +Dan Becker +Dan Cristian +Dan Donahue +Dan Fandrich +Daniel at touchtunes +Dániel Bakai +Daniel Bankhead +Daniel Black +Daniel Carpenter +Daniel Cater +Daniel Egger +Daniel Engberg +Daniel Faust +Daniel Fosco +Daniel Gustafsson +Daniel Hallberg +Daniel Hwang +Daniel Jeliński +Daniel J. H. +Daniel Johnson +Daniel Kahn Gillmor +Daniel Katz +Daniel Krügler +Daniel Kurečka +Daniel Lee Hwang +Daniel Lublin +Daniel Marjamäki +Daniel McCarney +Daniel Melani +Daniel Mentz +Daniel Pouzzner +Daniel Romero +Daniel Schauenberg +Daniel Seither +Daniel Shahaf +Daniel Silverstone +Daniel Steinberg +Daniel Stenberg +Daniel Szmulewicz +Daniel Theron +Daniel Valenzuela +Daniel Woelfel +Dan Johnson +Dan Kenigsberg +Dan Locks +Dan McDonald +Dan McNulty +Dan Nelson +Dan Petitt +Dan Rosser +Dan Torop +Dan Zitter +Daphne Luong +Darío Hereñú +Dario Nieuwenhuis +Dario Weißer +Darren Banfi +Darryl House +Darshan Mody +dasimx on github +DasKutti on github +Dave Cottlehuber +Dave Dribin +Dave Halbakken +Dave Hamilton +Dave May +Dave Nicolson +Dave Reisner +Dave Thompson +Dave Vasilevsky +Davey Shafik +David Bau +David Benjamin +David Binderman +David Blaikie +David Bohman +David Byron +David Carlier +David Cohen +David Cook +David Demelier +David Earl +Davide Cassioli +davidedec on github +Davide Masserut +David E. Narváez +David Eriksson +David Garske +David Goerger +David Houlder +David Hu +David Hull +David James +David J Meyer +David Kalnischkies +David Kierznowski +David Kimdon +David L. +David Lang +David LeBlanc +David Lopes +David Lord +David McCreedy +David McLaughlin +David Odin +David Phillips +David Rosenstrauch +David Ryskalczyk +David Sanderson +David Sardari +David Schweikert +David Shaw +David Strauss +David Suter +David Tarendash +David Thiel +David Walser +David Woodhouse +David Wright +David Yan +Da-Yoon Chung +dbrowndan on github +dEajL3kA on github +Deal(一线灵) +dekerser on github +deliciouslytyped on github +delogicsreal on github +Demi Marie Obenour +dengjfzh on github +Dengminwen +Denis Baručić +Denis Chaplygin +Denis Feklushkin +Denis Goleshchikhin +Denis Laxalde +Denis Ollier +Deniz Sökmen +Dennis Clarke +Dennis Felsing +dependabot[bot] +Derek Higgins +Derek Huang +Derzsi Dániel +Desmond O. Chang +destman on github +Detlef Schmier +Dexter Gerig +dfdity on github +D. Flinkmann +Dheeraj Sangamkar +Didier Brisebourg +Diego Bes +Diego Casorran +Dietmar Hauser +Dilyan Palauzov +Dima Barsky +Dima Pasechnik +Dima Tisnek +Dimitar Boevski +Dimitre Dimitrov +Dimitrios Apostolou +Dimitrios Siganos +Dimitris Sarris +Dinar +Diogo Teles Sant'Anna +Dion Williams +Dirk Eddelbuettel +Dirk Feytons +Dirk Hünniger +Dirkjan Bussink +Dirk Manske +Dirk Rosenkranz +Dirk Wetter +Diven Qi +divinity76 on github +Divy Le Ray +dkjjr89 on github +dkwolfe4 on github +Dmitri Shubin +Dmitri Tikhonov +Dmitriy Sergeyev +dmitrmax on github +Dmitry Atamanov +Dmitry Bartsevich +Dmitry Eremin-Solenikov +Dmitry Falko +Dmitry Karpov +Dmitry Kostjuchenko +Dmitry Kurochkin +Dmitry Mikhirev +Dmitry Popov +Dmitry Rechkin +Dmitry S. Baikov +Dmitry Tretyakov +Dmitry Wagin +dnivras on github +dogma +Dolbneff A.V +Domenico Andreoli +Domen Kožar +Dominick Meglio +Dominik Hölzl +Dominik Klemba +Dominik Piątkowski +Dominik Thalhammer +Dominique Leuenberger +Dongliang Mu +Donguk Kim +Don J Olmstead +Dorian Craps +Doron Behar +Doug Kaufman +Douglas Creager +Douglas E. Wegscheid +Douglas Kilpatrick +Douglas Mencken +Douglas R. Horner +Douglas R. Reno +Douglas Steinwand +Doug Porter +Dov Murik +dpull on github +Drake Arconis +dtmsecurity on github +Duane Cathey +Duncan Mac-Vicar Prett +Duncan Wilcox +Dustin Boswell +Dustin Howett +Dusty Mabe +Duy Phan Thanh +Dwarakanath Yadavalli +dwickr +Dylam De La Torre +Dylan Anthony +Dylan Ellicott +Dylan Salisbury +eaglegai on github +Early Ehlinger +Earnestly on github +Eason-Yu on github +Ebe Janchivdorj +ebejan on github +Ebenezer Ikonne +ed0d2b2ce19451f2 +Eddie Lumpkin +Edgaras Janušauskas +Edin Kadribasic +edmcln on github +Edmond Yu +Ed Morley +Edoardo Lolletti +Eduard Bloch +Eduard Strehlau +Edward Kimmel +Edward Rudd +Edward Sheldrake +Edward Thomson +Eelco Dolstra +Eetu Ojanen +eeverettrbx on github +Egon Eckert +Egor Pugin +Ehren Bendler +Eldar Zaitov +elelel on github +elephoenix on github +Elia Tufarolo +Eli Schwartz +Elliot Killick +Elliot Saba +Elliott Balsley +Ellis Pritchard +Elmira A Semenova +Elms +Eloy Degen +elsamuko on github +elvinasp on github +emanruse on github +Emanuele Bovisio +Emanuele Torre +Emanuel Komínek +Emil Engler +Emiliano Ida +Emilio Cobos Álvarez +Emilio López +Emil Lerner +Emil Österlund +Emil Romanus +Emmanuel Tychon +Enno Boland +Enrico Scholz +Enrik Berkhan +enWILLYado on github +epicmkirzinger on github +eppesuig +Eramoto Masaya +Eric Cooper +Eric Curtin +Eric Gallager +Eric Hu +Eric Knibbe +Erick Nuwendam +Eric Landes +Eric Lavigne +Eric Lubin +Eric Melville +Eric Mertens +Eric Murphy +Eric Musser +Eric Norris +Érico Nogueira +Érico Nogueira Rolim +Eric Rautman +Eric Rescorla +Eric Ridge +Eric Rosenquist +Eric Sauvageau +Eric S. Raymond +Eric Thelin +Eric Vergnaud +Eric Vigeant +Eric Wong +Eric Wu +Eric Young +Erik Jacobsen +Erik Janssen +Erik Johansson +Erik Minekus +Erik Olsson +Erik Schnetter +Erik Stenlund +Ernest Beinrohr +Ernst Sjöstrand +Erwan Legrand +Erwin Authried +Esdras de Morais da Silva +Estanislau Augé-Pujadas +Ethan Everett +Ethan Glasser Camp +Ethan Wilkes +Etienne Simard +Eugene Kotlyarov +Evangelos Foutras +Evan Jordan +Even Rouault +Evert Pot +Evgeny Grin (Karlson2k) +Evgeny Turnaev +eXeC64 on github +extrimexxx on github +Eygene Ryabinkin +Eylem Ugurel +Fabian Fischer +Fabian Frank +Fabian Hiernaux +Fabian Keil +Fabian Ruff +Fabian Vogt +Fabian Yamaguchi +Fabrice Fontaine +Fabrizio Ammollo +Fahim Chandurwala +Faizur Rahman +Faraz Fallahi +farazrbx on github +Farzin on github +Fata Nugraha +Fawad Mirza +Fay Stegerman +FC Stegerman +fds242 on github +Federico Bianchi +Federico Pellegrin +Fedor Karpelevitch +Fedor Korotkov +feelingseas on github +FeignClaims on github +Feist Josselin +Felipe Gasper +Felix Hädicke +Felix Kaiser +Felix von Leitner +Felix Yan +Feng Tu +Fernando Muñoz +Filip Lundgren +Filip Salomonsson +finkjsc on github +Firefox OS +Flameborn on github +Flavio Medeiros +Florian Eckert +Florian Kohnhäuser +Florian Pritz +Florian Schoppmann +Florian Van Heghe +Florian Weimer +Florin Petriuc +Forrest Cahoon +Francisco Moraes +Francisco Munoz +Francisco Olarte +Francisco Sedano +François Charlier +François Michel +Francois Petitjean +François Rigault +Francois Rivard +Frank Denis +Frank Gevaerts +Frank Hempel +Frank Keeney +Frank McGeough +Frank Meier +Frank Ticheler +Frank Van Uffelen +František Kučera +Frazer Smith +Frederic Lepied +Frederik B +Frederik Wedel-Heinen +Fred Machado +Fred New +Fred Noz +Fredrik Thulin +Fred Stluka +FuccDucc on github +Fujii Hironori +fullincome on github +fundawang on github +fuzzard +Gabe +Gabriel Corona +Gabriel Kuri +Gabriel Marin +Gabriel Simmer +Gabriel Sjoberg +Gaelan Steele +Gaël Portay +galen11 on github +Gambit Communications +Ganesh Kamath +Ganesh Viswanathan +gaoxingwang on github +Garrett Holmstrom +Garrett Squire +Gary Maxwell +Gaurav Malhotra +Gautam Kachroo +Gautam Mani +Gavin Wong +Gavrie Philipson +Gaz Iqbal +gclinch on github +Gealber Morales +Geeknik Labs +Geoff Beier +Georeth Zhou +George Liu +Georg Horn +Georg Huettenegger +Georg Lippitsch +Georg Wicherski +Gerd v. Egidy +Gergely Nagy +Gerhard Herre +Gerome Fournier +Gerrit Bruchhäuser +Gerrit Renker +Ghennadi Procopciuc +Giancarlo Formicuccia +Giaslas Georgios +Gilad +Gilbert Ramirez Jr. +Gilles Blanc +Gilles Vollant +Gil Weber +Giorgos Oikonomou +Gisle Vanem +git-bruh on github +GitYuanQu on github +Giuseppe Attardi +Giuseppe D'Ambrosio +Giuseppe Persico +gkarracer on github +Gleb Ivanovsky +Glen A Johnson Jr. +Glen Nakamura +Glenn de boer +Glenn Sheridan +Glenn Strauss +Glen Scott +godmar on github +Godwin Stewart +Gökhan Şengün +Gonçalo Carvalho +Google Inc. +Gordon Marler +Gordon Parke +Gorilla Maguila +Goro FUJI +Götz Babin-Ebell +Gou Lingfeng +Graham Campbell +Graham Christensen +Grant Erickson +Grant Pannell +graywolf on github +Greg Hewgill +Greg Morse +Greg Onufer +Gregor Jasny +Gregory Jefferis +Gregory Muchka +Gregory Nicholls +Gregory Panakkal +Gregory Szorc +Greg Pratt +Greg Rowe +Greg Zavertnik +Griffin Downs +Grigory Entin +Grisha Levit +Gruber Glass +Guenole Bescon +Guido Berhoerster +Guilherme Puida +Guillaume Algis +Guillaume Arluison +guitared on github +Gunamoi Software +Gunter Knauf +guoxinvmware on github +Gustaf Hui +Gustavo Grieco +Gusted +Guy Poizat +GwanYeong Kim +Gwenole Beauchesne +Gwen Shapira +h1zzz on github +H3RSKO on github +Hagai Auro +Haibo Huang +Hakan Sunay Halil +Hamish Mackenzie +hammlee96 on github +hamstergene on github +Hang Kin Lau +Hang Su +Han Han +Hannah Schierling +Hannes Magnusson +Hanno Böck +Hanno Kranzhoff +Han Qiao +Hans-Christian Egtvedt +Hans-Christian Noren Egtvedt +Hans-Jurgen May +Hans Steegers +Hao Wu +Hardeep Singh +Haris Okanovic +Harmen Stoppels +Harold Stuart +Harry Mallon +Harry Sarson +Harry Sintonen +Harshal Pradhan +Hauke Duden +Haydar Alaidrus +Hayden Roche +Heikki Korpela +Heinrich Ko +Heinrich Schaefer +Helge Klein +Helmut Grohne +Helmut K. C. Tessarek +Helwing Lutz +Hendrik Visage +Henning Schild +Henri Gomez +Henrik Gaßmann +Henrik Holst +henrikjehgmti on github +Henrik Storner +Henry Ludemann +Henry Roeland +He Qin +Hermes Zhang +Herve Amblard +HexTheDragon +hgdagon on github +Hide Ishikawa +Hidemoto Nakada +highmtworks on github +hiimmat on github +Himanshu Gupta +Hind Montassif +Hiroki Kurosawa +Hirotaka Tagawa +Ho-chi Chen +Hoi-Ho Chan +Hongfei Li +Hongli Lai +Hongyi Zhao +Howard Blaise +Howard Chu +hsiao yi +HsiehYuho on github +htasta on github +Hubert Kario +Hugh Macdonald +Hugo van Kemenade +humbleacolyte +Huzaifa Sidhpurwala +huzunhao on github +hydra3333 on github +Hzhijun +iammrtau on github +Ian Blanes +Ian D Allen +Ian Fette +Ian Ford +Ian Gulliver +Ian Lynagh +Ian Spence +Ian Turner +Ian Wilkes +iAroc on github +IcedCoffeee on github +iconoclasthero +icy17 on github +Ignacio Vazquez-Abrams +Igor Franchuk +Igor Khristophorov +Igor Makarov +Igor Novoseltsev +Igor Polyakov +Igor Todorovski +Ihor Karpenko +ihsinme on github +Iida Yosiaki +Ikko Ashimine +Ilguiz Latypov +Ilja van Sprundel +Illarion Taev +illusory-dream on github +Ilmari Lauhakangas +Ilya Kosarev +imilli on github +Immanuel Gregoire +ImpatientHippo on github +Inca R +infinnovation-dev on github +Ingmar Runge +Ingo Ralf Blum +Ingo Wilken +Inho Oh +Int64x86 on github +Ionuț-Francisc Oancea +Irfan Adilovic +Ironbars13 on github +Irving Wolfe +Isaac Boukris +Isaiah Norton +Ishan SinghLevett +İsmail Dönmez +Ithubg on github +Ivan +Ivan Avdeev +ivanfywang +Ivan Kuchin +IvanoG on github +Ivan Tsybulin +Ivo Bellin Salarin +iz8mbw on github +Jackarain on github +JackBoosY on github +Jack Boos Yu +Jacky Lam +Jack Zhang +Jacob Barthelmeh +Jacob Champion +Jacob Hoffman-Andrews +Jacob Mealey +Jacob Meuser +Jacob Moshenko +Jacob Tolar +Jactry Zeng +Jad Chamcham +Jaime Fullaondo +Jake Yuesong Li +jakirkham on github +Jakob Hirsch +Jakub Bochenski +Jakub Jelen +Jakub Wilk +Jakub Zakrzewski +James Abbatiello +James Atwill +James Brown +James Bursa +James Cheng +James Clancy +James Cone +James Dury +James Fuller +James Gallagher +James Griffiths +James Housley +James Keast +James Knight +James Le Cuirot +James Lucas +James MacMillan +James Slaughter +Jamie Lokier +Jamie Newton +Jamie Wilkinson +Jan Alexander Steffens +JanB on github +Jan Chren +janedenone on github +Jan Ehrhardt +Jan Engelhardt +Jan Koen Annot +janko-js on github +Jan Kunder +Jan Macku +Jan Mazur +Janne Blomqvist +Janne Johansson +János Fekete +Jan-Piet Mens +Jan Schaumann +Jan Schmidt +Jan Van Boghout +Jan Venekamp +Jan Verbeek +Jared Jennings +Jared Lundell +Jari Aalto +Jari Sundell +jasal82 on github +Jason Baietto +Jason Glasgow +Jason Hood +Jason Juang +Jason Lee +Jason Liu +Jason McDonald +Jason S. Priebe +Javier Barroso +Javier Blazquez +Javier G. Sogo +Javier Navarro +Javier Sixto +Jay Austin +Jay Dommaschk +Jayesh A Shah +Jay Guerette +Jay Wu +Jaz Fresh +JazJas on github +jbgoog on github +J. Bromley +Jean-Christophe Amiel +Jean-Claude Chauve +Jean Fabrice +Jean-Francois Bertrand +Jean-Francois Durand +Jean Gressmann +Jean Jacques Drouin +Jean-Louis Lemaire +Jean-Marc Ranger +Jean-Noël Rouvignac +Jean-Philippe Barrette-LaPierre +Jean-Philippe Menil +Jeff Connelly +Jeff Hodges +Jeff Johnson +Jeff King +Jeff Lawson +Jeff Luszcz +Jeff Mears +Jeff Phillips +Jeff Pohlmeyer +Jeffrey Tolar +Jeffrey Walton +jeffrson on github +Jeff Weber +Jelle van der Waa +Jenny Heino +Jens Finkhaeuser +Jens Rantil +Jens Schleusener +Jeremie Rapin +Jeremy Drake +Jeremy Falcon +Jeremy Friesner +Jeremy Huddleston +Jeremy Lainé +Jeremy Lin +Jeremy Maitin-Shepard +Jeremy Pearson +Jérémy Rabasco +Jérémy Rocher +Jeremy Tan +Jeremy Thibault +Jeroen Koekkoek +Jeroen Ooms +Jérôme Leclercq +Jerome Mao +Jerome Muffat-Meridol +Jerome Robert +Jerome St-Louis +Jerome Vouillon +Jerry Krinock +Jerry Wu +Jes Badwal +Jesper Jensen +Jesse Chisholm +Jesse Noller +Jesse Tan +Jess Lowe +Jesus Malo Poyatos +jethrogb on github +jhoyla on github +Jiacai Liu +Jiang Wenjian +Jiawen Geng +Jie He +Jiehong on github +Jilayne Lovejoy +Jim Beveridge +Jim Drash +Jim Freeman +Jim Fuller +Jim Hollinger +Jim King +Jim Meyering +Jimmy Gaussen +Jimmy Sjölund +Jiří Bok +Jiri Dvorak +Jiri Hruska +Jiri Jaburek +Jiří Malák +Jiri Stary +Jishan Shaikh +Jiwoo Park +Jixinqi +jkamp-aws on github +jmdavitt on github +jnbr on github +Jocelyn Jaubert +Jochem Broekhoff +Jochen Sprickerhof +Joe Birr-Pixton +Joe Cise +Joe Halpin +JoelAtWisetech on github +Joel Chen +Joel Depooter +Joel Jakobsson +Joel Teichroeb +Joe Malicki +Joe Mason +joey-l-us on github +Jofell Gallardo +Johan Anderson +Johan Eliasson +Johan Lantz +Johann150 on github +Johannes Bauer +Johannes Ernst +Johannes G. Kristinsson +Johannes Lesr +Johannes Schindelin +Johan Nilsson +Johann Sebastian Schicho +Johan van Selst +John A. Bristor +John Bampton +John Bradshaw +John Butterfield +John Coffey +John Crow +John David Anglin +John DeHelian +John Dennis +John Dunn +John E. Malmberg +John Gardiner Myers +John Hascall +John Haugabook +John Hawthorn +John H. Ayad +John Janssen +John Joseph Bachir +John Kelly +John Kohl +John Lask +John Levon +John Lightsey +John Marino +John-Mark Bell +John Marshall +John McGowan +Johnny Luong +John P. McCaskey +John Porter +John Schroeder +John Sherrill +John Simpson +John Starks +John Suprock +John V. Chow +John Walker +John Wanghui +John Weismiller +John Wilkinson +Jojojov on github +Jonas Bülow +Jonas Forsman +Jonas Haag +Jonas Minnberg +Jonas Schnelli +Jonas 'Sortie' Termansen +Jonas Vautherin +Jonatan Lander +Jonatan Vela +Jonathan Cardoso Machado +Jonathan Hseu +Jonathan Matthews +Jonathan Moerman +Jonathan Nieder +Jonathan Perkin +Jonathan Rosa +Jonathan Watt +Jonathan Wernberg +Jon DeVree +Jongki Suwandi +Jon Grubbs +Jon Johnson Jr +Jon Nelson +jonny112 on github +Jon Rumsey +Jon Sargeant +Jon Seymour +Jon Spencer +Jon Torrey +Jon Travis +Jon Turner +Jon Wilkes +Joombalaya on github +Joonas Kuorilehto +Jordan Brown +Jörg Mueller-Tolk +Jörn Hartroth +Jose Alf +Josef Wolf +José Joaquín Atria +Jose Kahan +Joseph Chen +Joseph Tharayil +Josh Bialkowski +Josh Brobst +joshhe on github +Joshix-1 on github +Josh Kapell +Josh McCullough +Josh Soref +Joshua Kwan +Joshua Root +Joshua Swink +Josie Huddleston +Josip Medved +Josue Andrade Gomes +Jozef Kralik +Juan Barreto +Juan Cruz Viotti +Juan F. Codagnone +Juan Ignacio Hervás +Juan RP +Judson Bishop +Juergen Hoetzel +Juergen Wilke +Jukka Pihl +Julian K. +Julian Montes +Julian Noble +Julian Ospald +Julian Romero Nieto +Julian Taylor +Julian Z +Julien Chaffraix +Julien Nabet +Julien Royer +Juliusz Sosinowicz +jungle-boogie on github +Junho Choi +Jun-ichiro itojun Hagino +junsik on github +Jun Tseng +Jun-ya Kato +Jürgen Gmach +Jurij Smakov +jurisuk on github +Juro Bystricky +JustAnotherArchivist on github +justchen1369 on github +Justin Clift +Justin Ehlert +Justin Fletcher +Justin Karneges +Justin Maggard +Justin Steventon +jveazey on github +jvreelanda on github +jvvprasad78 on github +jzinn on github +ka7 on github +Kael1117 on github +Kai Engert +Kailun Qin +Kai Noda +Kai Pastor +Kai Sommerfeld +Kai-Uwe Rommel +Kalle Vahlman +kalvdans on github +Kamil Dudka +Kane York +Kang-Jin Lee +Kang Lin +Kantanat Wannapaka +Kareem +Kari Pahula +Karl Chen +Karl Moerder +Karol Pietrzak +Kartatz on github +Karthikdasari0423 on github +Kartik Mahajan +Kaspar Brand +Katie Wang +Katsuhiko YOSHIDA +kayrus on github +Kazuho Oku +kchow-FTNT on github +Keerthi Timmaraju +Kees Cook +Kees Dekker +Keitagit-kun on github +Keith MacDonald +Keith McGuigan +Keith Mok +Kelly Kaoudis +Ken Brown +Ken Hirsch +Kenneth Davidson +Kenneth Myhra +Kenny To +Ken Rastatter +Kent Boortz +Kerem Kat +Keshav Krity +Kevin Adler +Kevin Baughman +Kevin Burke +Kevin Daudt +Kevin Fisk +Kevin Ji +Kevin Lussier +Kevin R. Bulgrien +Kevin Reed +Kevin Roth +Kevin Ryan +Kevin Smith +Kevin Sun +Kevin Ushey +Kev Jackson +Kim Minjoong +Kimmo Kinnunen +Kim Rinnewitz +Kim Vandry +kirbyn17 on hackerone +Kirill Efimov +Kirill Marchuk +kit-ty-kate on github +Kjell Ericson +Kjetil Jacobsen +kkalganov on github +Klaus Crusius +Klaus Stein +Klevtsov Vadim +Kobi Gurkan +Koen Dergent +Koichi Shiraishi +kokke on github +Konstantin Isakov +Konstantin Kushnir +Konstantin Kuzov +Konstantin Vlasov +KotlinIsland on github +kotoriのねこ +koujaz on github +kouzhudong on github +Kovalkov Dmitrii +kpcyrd on github +kreshano on github +Krishnendu Majumdar +Kris Kennaway +Krister Johansen +Kristian Gunstone +Kristian Köhntopp +Kristian Mide +Kristiyan Tsaklev +Kristoffer Gleditsch +kriztalz +K. R. Walker +Kuan-Wei Chiu +Kunal Chandarana +Kunal Ekawde +Kurt Fankhauser +Kushal Das +Kvarec Lezki +kwind on github +Kwon-Young Choi +Kyle Abramowitz +kyled-dell on github +Kyle Edwards +Kyle J. McKay +Kyle L. Huff +Kyle Sallee +Kyohei Kadota +Kyselgov E.N +l00p3r on Hackerone +Lachlan O'Dea +Ladar Levison +Lance Ware +Laramie Leavitt +Larry Campbell +Larry Fahnoe +Larry Lin +Larry Stefani +Larry Stone +Lars Buitinck +Lars Francke +Lars Gustafsson +Lars J. Aas +Lars Johannesen +Lars Karlitski +Lars Kellogg-Stedman +Lars Nilsson +Lars Torben Wilson +Lau +Laurent Bonnans +Laurent Dufresne +Laurențiu Nicola +Laurent Rabret +Laurie Clark-Michalek +Lauri Kasanen +Lawrence Gripper +Lawrence Matthews +Lawrence Wagerfield +Leah Neukirchen +Lealem Amedie +Leandro Coutinho +Lee Li +LeeRiva +Legoff Vincent +Lehel Bernadt +Leif W +Leigh Purdie +Leith Bade +Lenaic Lefever +Len Krause +Len Marinaccio +Lenny Rachitsky +Leonardo Rosati +Leonardo Taccari +Leon Breedt +Leo Neat +Leon Timmermans +Leon Winter +Leszek Kubik +lf- on github +Liam Healy +Liam Warfield +LigH-de on github +lijian996 on github +Lijo Antony +lilongyan-huawei on github +Linas Vepstas +Lindley French +Ling Thio +Linos Giannopoulos +Lin Sun +Linus Lewandowski +Linus Nielsen Feltzing +Linus Nordberg +Lior Kaplan +Lisa Xu +Litter White +Liviu Chircu +Li Xinwei +Liza Alenchery +lizhuang0630 on github +lkordos on github +lllaffer on github +Lloyd Fournier +Lluís Batlle i Rossell +locpyl-tidnyd on github +Loganaden Velvindron +Logan Buth +Loic Dachary +Loïc Yhuel +lolbinarycat on github +lomberd2 on github +LoRd_MuldeR +Loren Kirkby +Lorenzo Miniero +Louis Solofrizzo +lRoccoon on github +Luan Cestari +Luật Nguyễn +Luca Altea +Luca Boccassi +Luca Niccoli +Lucas Adamski +Lucas Clemente Vella +Lucas Holt +Lucas Nussbaum +Lucas Pardue +Lucas Servén Marín +Lucas Severo +Lucien Zürcher +Ludek Finstrle +Ludovico Cavedon +Ludwig Nussel +Lukas Ruzicka +Lukas Tribus +Lukáš Zaoral +Lukasz Czekierda +Łukasz Domeradzki +lukaszgn on github +Luke Amery +Luke Call +Luke Dashjr +Luke Granger-Brown +Luke Hamburg +luminixinc on github +Luo Jinghua +Luong Dinh Dung +Luz Paz +lwthiker on github +Lyman Epp +Lyndon Hill +Maarten Billemont +Maciej Domanski +Maciej Karpiuk +Maciej Puzio +Maciej W. Rozycki +MacKenzie +madblobfish on github +MaeIsBad on github +magisterquis on hackerone +Mahmoud Samir Fayed +Maksim Arhipov +Maksim Kuzevanov +Maksim Ściepanienka +Maksim Stsepanenka +Maks Naumov +Maksymilian Arciemowicz +Malik Idrees Hasan Khan +Mamoru Tasaka +Mamta Upadhyay +Mandy Wu +Manfred Schwarb +Manuel Einfalt +Manuel Massing +Manuel Strehl +Manuj Bhatia +Marc Aldorasi +Marc-Antoine Perennou +Marc Boucher +Marc Deslauriers +Marc Doughty +Marcel Hernandez +Marcelo Echeverria +Marcelo Juchem +Marcel Raad +Marcel Roelofs +marc-groundctl on github +Marc Hesse +Marc Hörsken +Marcin Adamski +Marcin Gryszkalis +Marcin Konicki +Marcin Rataj +Marc Kleine-Budde +Marco Deckel +Marco G. Salvagno +Marco Kamner +Marco Maggi +Marcos Diazr +marcos-ng on github +Marc Renault +Marc Schlatter +Marcus Hoffmann +Marcus Klein +Marcus Müller +Marcus Sundberg +Marcus T +Marcus Webster +Margu +Marian Klymov +Marin Hannache +Mario Schroeder +Marius Albrecht +Marius Kleidl +Mark Brand +Mark Butler +Mark Davies +Mark Dodgson +Mark Gaiser +Mark Hamilton +Mark Huang +Mark Incley +Mark Itzcovitz +Mark Karpeles +Mark Lentczner +Mark Nottingham +Mark Phillips +Mark Roszko +Mark Salisbury +Mark Seuffert +Mark Sinkovics +Mark Snelling +Mark Swaanenburg +Mark Tully +Markus Duft +Markus Elfring +Markus Koetter +Markus Moeller +Markus Oberhumer +Markus Olsson +Markus Sommer +Markus Westerlind +Mark W. Eichin +Mark Wotton +Maros Priputen +Marquis de Muesli +marski on github +Martijn Koster +Martin Ågren +Martin Ankerl +Martin Bašti +Martin C. Martin +Martin D'Aloia +Martin Dorey +Martin Drasar +Martin Dreher +martinevsky +Martin Frodl +Martin Galvan +Martin Gartner +Martin Hager +Martin Halle +Martin Harrigan +Martin Hedenfalk +Martin Howarth +Martin Jansen +Martin Kammerhofer +Martin Kepplinger +Martin Lemke +Martin Peck +Martin Schmatz +Martin Skinner +Martin Staael +Martin Storsjö +Martin Strunz +Martin V +Martin Vejnár +Martin Waleczek +Martxel +Marty Kuhrt +Maruko +Marwan Yassini +Masaya Suzuki +masbug on github +Massimiliano Fantuzzi +Massimiliano Ziccardi +Massimo Callegari +MasterInQuestion on github +Master Inspire +Mateusz Loskot +Mathew Benson +Mathias Axelsson +Mathias Fuchs +Mathias Gumz +Mathieu Carbonneaux +Mathieu Garaud +Mathieu Legare +Matias N. Goldberg +Mats Lidell +Mats Lindestam +Matt Arsenault +Matteo Baccan +Matteo Bignotti +Matteo Bignottignotti +Matteo Rocco +Matt Ford +Matthew Blain +Matthew Clarke +Matthew Hall +Matthew Kerwin +Matthew Thompson +Matthew Whitehead +Matthias Bolte +Matthias Gatto +Matthias Naegler +Matthieu Baerts +Matt Holt +Mattias Fornander +Matt Jolly +Matt Kraai +Matt McClure +Matt Veenstra +Matt Witherspoon +Matt Wixson +Matus Uzak +mauke +Maurice Barnum +Maurício Meneghini Fauth +Mauricio Scheffer +Mauro Iorio +Mauro Rappa +Max Dymond +Max Eliaser +Max Faxälv +Maxim Dzhura +Maxime Larocque +Maxime Legros +Maxim Ivanov +Maxim Perenesenko +Maxim Prohorov +Max Katsev +Max Kellermann +Max Khon +Max Mehl +Max Peal +Max Savenkov +Max Zettlmeißl +mbeifuss on github +mccormickt12 on github +Median Median Stride +mehatzri on github +Mehmet Bozkurt +Mekonikum +Melissa Mears +Melroy van den Berg +Mel Zuser +Mert Yazıcıoğlu +Mettgut Jamalla +Micah Snyder +Michael Afanasiev +Michael Anti +Michael Baentsch +Michael Benedict +Michael Brehm +Michael Brown +Michael Calmer +Michael Cronenworth +Michael Curtis +Michael Day +Michael Drake +Michael Felt +Michael Forney +Michael Gmelin +Michael Goffioul +Michael Heimpold +Michael Hordijk +Michael Jahn +Michael Jerris +Michael Kalinin +Michael Kaufmann +Michael Kilburn +Michael Kolechkin +Michael König +Michael Kujawa +Michael Lee +Michael Litwak +Michael Maltese +Michael Mealling +Michael Mueller +Michael Musset +Michael O'Farrell +Michael Olbrich +Michael Osipov +Michael Schmid +Michael Schuster +Michael Smith +Michael Stapelberg +Michael Steuer +Michael Stillwell +Michael Trebilcock +Michael Vittiglio +Michael Wallner +Michał Antoniak +Michal Bonino +Michal Čaplygin +Michał Fita +Michał Górny +Michał Janiszewski +Michał Kowalczyk +Michal Marek +Michał Petryka +Michał Piechowski +Michal Rus +Michal Trybus +Michele Bini +Michel Promonet +Miguel Angel +Miguel Diaz +migueljcrum on github +Mihai Ionescu +Mikael Johansson +Mikael Sennerholm +Mikalai Ananenka +Mike Bytnar +Mike Crowe +Mike Dobbs +Mike Dowell +Mike Duglas +Mike Frysinger +Mike Gelfand +Mike Giancola +Mike Hasselberg +Mike Henshaw +Mike Hommey +Mike Mio +Mike Norton +Mike Power +Mike Protts +Mike Revi +Mike Tzou +Mikhail Kuznetsov +Miklos Nemeth +Milon Renatus +Miloš Ljumović +Mingliang Zhu +Mingtao Yang +Miroslav Franc +Miroslav Spousta +Mischa Salle +Mitz Wark +mkzero on github +modbw on github +Mohamed Daahir +Mohamed Lrhazi +Mohamed Osama +Mohammad AlSaleh +Mohammad Hasbini +Mohammadreza Hendiani +Mohammed Naser +Mohammed Sadiq +Mohun Biswas +momala454 on github +Momoka Yamamoto +MonkeybreadSoftware on github +Montg0mery on github +moohoorama on github +Morgan Willcock +Moritz +Moritz Buhl +Moritz Knüsel +Morten Minde Neergaard +Mostyn Bramley-Moore +Moti Avrahami +MrdUkk on github +MrSorcus on github +M.R.T on github +mschroeder-fzj on github +Muhammad Herdiansyah +Muhammad Hussein Ammari +Muhammed Yavuz Nuzumlalı +Murugan Balraj +musvaage on github +Muz Dima +Myk Taylor +n0name321 on github +Nach M. S. +Nagai H +naost3rn on github +Nao Yonashiro +Natanael Copa +Nate Prewitt +Nathanael Nerode +Nathan Coulter +Nathaniel J. Smith +Nathaniel R. Lewis +Nathaniel Waisbrot +Nathan Moinvaziri +Nathan O'Sullivan +na-trium-144 on github +Naveen Chandran +Naveen Noel +Neal McBurnett +Neal Poole +nedres on github +neex on github +Nehal J Wani +neheb on github +Neil Bowers +Neil Dunbar +Neil Horman +Neil Johari +Neil Kolban +Neil Spring +NeimadTL +nekopsykose on github +Nemos2024 on github +neutric on github +nevv on HackerOne/curl +newfunction +newfunction on hackerone +Niall McGee +Niall O'Reilly +nian6324 on github +nianxuejie on github +Nicholas Maniscalco +Nicholas Nethercote +Nick Banks +Nick Coghlan +Nick Draffen +Nick Gimbrone +Nick Humfrey +Nicklas Avén +Nick Miyake +nick-telia on github +Nick Zitzmann +nico-abram on github +Nico Baggus +Nicolas Berloquin +Nicolas Croiset +Nicolas F. +Nicolas François +Nicolas George +Nicolas Grekas +Nicolas Guillier +Nicolas Morey-Chaisemartin +Nicolas Noben +Nicolás Ojeda Bär +Nicolás San Martín +Nicolas Sterchele +Nico Rieck +Nic Roets +Niels Martignène +Niels van Tongeren +Nigel Brittain +Nikita Schmidt +Nikita Taranov +Nikitinskit Dmitriy +Niklas Angebrand +Niklas Hambüchen +Nikolai Kondrashov +Nikos Mavrogiannopoulos +Nikos Tsipinakis +Nils Goroll +nimaje on github +niner on github +Ning Dong +Niracler Li +Niranjan Hasabnis +Nir Soffer +Nis Jorgensen +nk +Noam Moshe +nobedee on github +NobodyXu on github +Nobuhiro Ban +Nodak Sodak +nono303 on github +nopjmp on github +Norbert Frese +Norbert Kett +norbertmm on github +Norbert Novotny +nosajsnikta on github +NTMan on github +Nuru on github +Octavio Schroeder +odek86 on github +Ofer +ohyeaah on github +Okhin Vasilij +Olaf Flebbe +Olaf Hering +Olaf Stüben +Ola Mork +Oleg Jukovec +Oleg Pudeyev +Oleguer Llopart +Olen Andoni +olesteban on github +Oli Kingshott +Oliver Chang +Oliver Gondža +Oliver Graute +Oliver Kuckertz +oliverpool on github +Oliver Roberts +Oliver Schindler +Oliver Urbann +Olivier Berger +Olivier Bonaventure +Olivier Brunel +Omar Ramadan +omau on github +Ondřej Hlavatý +Ondřej Koláček +opensignature on github +opensslonzos-github on github +Ophir Lojkine +Orange Tsai +Oren Souroujon +Oren Tirosh +Orgad Shaneh +Ori Avtalion +orycho on github +osabc on github +Osaila on github +Osama Albahrani +Oscar Koeroo +Oscar Norlander +Oskar Liljeblad +Oskar Sigvardsson +Oumph on github +Outvi V +ovidiu-benea on github +Ozan Cansel +Pablo Busse +Palo Markovic +pandada8 on github +Paolo Mossino +Paolo Piacentini +Paras Sethia +parazyd on github +Pascal Gaudette +Pascal Terjan +Pasha Kuznetsov +Pasi Karkkainen +patelvivekv1993 on github +patnyb on github +Pat Ray +Patrice Guerin +Patricia Muscalu +Patrick Bihan-Faou +Patrick Dawson +Patrick McManus +Patrick Monnerat +Patrick Rapin +Patrick Schlangen +Patrick Scott +Patrick Smith +Patrick Steinhardt +Patrick Watson +Patrik Thunstrom +Pau Garcia i Quiles +Paul B. Omta +Paul Donohue +Paul Dreik +Paul Gilmartin +Paul Groke +Paul Harrington +Paul Harris +Paul Hoffman +Paul Howarth +Paul Johnson +Paul Joyce +Paul Marks +Paul Marquis +Paul Moore +Paul Nolan +Paul Oliver +Paulo Roberto Tomasi +Paul Querna +Paul Saab +Paul Seligman +Paul Vixie +Paul Wise +Pavel Cenek +Pavel Gushchin +Pavel Kalyugin +Pavel Kropachev +Pavel Löbl +Pavel Mayorov +Pavel Orehov +Pavel Pavlov +Pavel Raiskup +Pavel Rochnyak +Pavel Volgarev +Pavol Markovic +Pawel A. Gajda +Pawel Kierski +Paweł Kowalski +Paweł Wegner +Paweł Witas +PBudmark on github +Pedro Henrique +Pedro Larroy +Pedro Monreal +Pedro Neves +pendrek at hackerone +Peng Li +Peng-Yu Chen +Per Jensen +Per Lundberg +Per Malmberg +Per Nilsson +Pete Cordell +Pete Lomax +Peter Bray +Peter Forret +Peter Frühberger +Peter Gal +Peter Goodman +Peter Heuchert +Peter Hjalmarsson +Pēteris Caune +Peteris Krumins +Peter Kokot +Peter Körner +Peter Korsgaard +Peter Krefting +Peter Lamare +Peter Lamberg +Peter Laser +Peter Marko +Peter O'Gorman +Peter Pentchev +Peter Piekarski +Peter Silva +Peter Simonyi +Peter Su +Peter Sumatra +Peter Sylvester +Peter Todd +Peter Varga +Peter Verhas +Peter Wang +Peter Wu +Peter Wullinger +Petr Bahula +Petr Novak +Petr Pisar +Petr Štetiar +Petr Voytsik +Phil Blundell +Phil Crump +Phil E. Taylor +Philip Chan +Philip Craig +Philip Gladstone +Philip Heiduck +Philip Langdale +Philippe Antoine +Philippe Antoine on HackerOne +Philippe Hameau +Philippe Marguinaud +Philipp Engel +Philippe Raoult +Philippe Vaucher +Philipp Klaus Krause +Philip Prindeville +Philipp Waehnert +Philip Sanetra +Phil Karn +Phil Lisiecki +Phil Pellouchoud +Pierre +Pierre Brico +Pierre Chapuis +Pierre-Etienne Meunier +Pierre Joye +Pierre Yager +Pierre Ynard +Pierre-Yves Bigourdan +Pierrick Charron +Piotr Dobrogost +Piotr Komborski +PleaseJustDont +Po-Chuan Hsieh +Pontakorn Prasertsuk +Pontus Lundkvist +Pooyan McSporran +Poul T Lomholt +Pramod Sharma +Prash Dush +Praveen Pvs +Prithvi MK +privetryan on github +Priyanka Shah +ProceduralMan on github +promptfuzz_ on hackerone +Pronyushkin Petr +prpr19xx on github +P R Schaffner +Przemysław Tomaszewski +pszemus on github +pszlazak on github +puckipedia on github +Puneet Pawaia +qhill +qhill on github +qiandu2006 on github +Qriist on github +Quagmire +Quanah Gibson-Mount +Quentin Balland +Quinn Slack +Radek Brich +Radek Zajic +Radoslav Georgiev +Radu Hociung +Radu Simionescu +Rafael Antonio +Rafaël Carré +Rafael Sagula +Rafał Mikrut +Rafa Muyo +Rafayel Mkrtchyan +Rahul Krishna M +Rainer Canavan +Rainer Jung +Rainer Koenig +Rainer Müller +RainRat +Raito Bezarius +Rajesh Naganathan +Rajkumar Mandal +Ralf A. Timmermann +ralfjunker on github +Ralf S. Engelschall +Ralph Beckmann +Ralph Langendam +Ralph Mitchell +Ralph Sennhauser +Ramiro Garcia +Ram Krushna Mishra +rampageX on github +ramsay-jones on github +RanBarLavie on github +Randall S. Becker +Randolf J +Randy Armstrong +Randy McMurchy +Ran Mozes +Raphael Gozzo +r-a-sattarov on github +Rasmus Melchior Jacobsen +Rasmus Thomsen +Raul Onitza-Klugman +Ravi Pratap +Ray Dassen +Ray Pekowski +Ray Satiro +Razvan Cojocaru +Razvan Pricope +rcombs on github +R. Dennis Steed +Red Hat Product Security +Reed Loden +Reinhard Max +Reinout van Schouwen +RekGRpth on github +Remco van Hooff +Remi Gacogne +Remo E +Rémy Léone +Renato Botelho +Renaud Allard +Renaud Chaillat +Renaud Duhaut +Renaud Guillard +Renaud Lehoux +Rene Bernhardt +Rene Rebe +renovate[bot] +renovate[bot] +Reuven Wachtfogel +RevaliQaQ on github +Reza Arbab +Rianov Viacheslav +riastradh on github +Ricardo Cadime +Ricardo Gomes +Ricardo Martins +Ricardo M. Correia +Richard Adams +Richard Alcock +Richard Archer +Richard Atterer +Richard Bowker +Richard Bramante +Richard Clayton +Richard Cooper +Richard Gorton +Richard Gray +Richard Hosking +Richard Hsu +Richard Levitte +Richard Marion +Richard Michael +Richard Moore +Richard Prescott +Richard Silverman +Richard van den Berg +Richard Whitehouse +Richard W.M. Jones +Rich Burridge +Rich FitzJohn +Rich Gray +Rich Mirch +Rich Rauenzahn +Rich Salz +Rich Turner +Richy Kim +Rici Lake +Rickard Hallerbäck +Rick Deist +Ricki Hirner +Rick Jones +Rick Lane +Rick Richardson +Rick Welykochy +Ricky Leverence +Ricky-Tigg on github +RiderALT on github +Rider Linden +Rikard Falkeborn +rilysh +Rinku Das +rl1987 on github +rmg-x on github +Rob Boeckermann +RobBotic1 on github +Robby Simpson +Rob Cotrone +Rob Crittenden +Rob Davies +Rob de Wit +Robert A. Monat +Robert B. Harris +Robert Brose +Robert Charles Muir +Robert Dunaj +Robert D. Young +Robert Foreman +Robert Iakobashvili +Robert Kolcun +Robert Linden +Robert Maynard +Robert Moreton +Robert Olson +Robert Prag +Robert Ronto +Robert Schumann +Robert Simpson +Robert Southee +Robert Weaver +Robert Wruck +Robin A. Meade +Robin Cornelius +Robin Douine +Robin Johnson +Robin Kay +Robin Marx +Rob Jones +Rob Sanders +Robson Braga Araujo +Rob Stanzel +Rob Ward +Rodger Combs +Rodney Simmons +Rodric Glaser +Rodrigo Silva +Rod Widdowson +Roger Leigh +Roger Orr +Roger Young +Roland Blom +Roland Hieber +Roland Krikava +Roland Zimmermann +Rolf Eike Beer +Rolland Dudemaine +Romain Coltel +Romain Fliedel +Romain Geissler +romamik om github +Roman Koifman +Roman Mamedov +Roman Zharkov +Romulo A. Ceccon +Ronald Crane +Ronan Pigott +Ron Eldor +Ronnie Mose +Ron Parker +Ron Zapp +Rosen Penev +Rosimildo da Silva +Ross Burton +roughtex on github +Roy Bellingan +Roy Li +Roy Shan +RubisetCie on github +Rudi Heitbaum +Rui LIU +Rui Pinheiro +Rune Kleveland +Ruslan Baratov +Ruslan Gazizov +Rutger Broekhoff +Rutger Hofman +Ruurd Beerstra +rwmjones on github +Ryan Beck-Buysse +Ryan Braud +ryancaicse on github +Ryan Carsten Schmidt +Ryan Chan +Ryan Mast +Ryan Nelson +Ryan Schmidt +Ryan Scott +Ryan Sleevi +Ryan Winograd +Ryuichi KAWAMATA +rzrymiak on github +s0urc3_ on hackerone +saimen +Sai Ram Kunala +Salah-Eddin Shaban +Saleem Abdulrasool +SaltyMilk +Salvador Dávila +Salvatore Sorrentino +Samanta Navarro +Sam Deane +Sam Hurst +Sam James +Sam Jessup +Sampo Kellomaki +Sam Roth +Sam Schanken +Samuel Chiang +Samuel Díaz García +Samuel Dionne-Riel +Samuel Henrique +Samuel Listopad +Samuel Marks +Samuel Surtees +Samuel Thibault +Samuel Tranchet +SandakovMM on github +Sander Gates +Sandor Feldi +Sandro Jaeckel +Sanjay Pujare +Santhana Todatry +Santino Keupp +Saqib Ali +Sara Golemon +Sarah Gooding +Saran Neti +Sascha Swiercy +Sascha Zengler +Satadru Pramanik +Satana de Sant'Ana +Saul good +saurabhsingh-dev on github +Saurav Babu +sayrer on github +sbernatsky on github +SBKarr on github +Scarlett McAllister +Scott Bailey +Scott Barrett +Scott Cantor +Scott Davis +Scott McCreary +Scott Mutter +Scott Talbert +sd0 on hackerone +Sean Boudreau +Sean Burford +Sean MacLennan +Sean McArthur +Sean Miller +Sean Molenaar +Sebastiaan van Erk +Sebastian Andersson +Sebastian Haglund +Sebastian Mundry +Sebastian Neubauer +Sebastian Pohlschmidt +Sebastian Rasmussen +Sebastian Sterk +Sebastian Walz +Sébastien Helleu +Sébastien Willemijns +selmelc on hackerone +SendSonS on github +Senthil Raja Velu +Sergei Kuzmin +Sergei Nikulov +Sergey +Sergey Alirzaev +Sergey Bronnikov +Sergey Fionov +Sergey Markelov +Sergey Ogryzkov +Sergey Ryabinin +Sergey Tatarincev +Sergii Kavunenko +Sergii Pylypenko +Sergio Ballestrero +Sergio Barresi +Sergio Borghese +Sergio Durigan Junior +Sergio-IME on github +Sergio Mijatovic +sergio-nsk on github +Serj Kalichev +Sertonix +SerusDev on github +Seshubabu Pasam +Seth Mos +Sevan Janiyan +sfan5 on github +Sgharat on github +Shachaf Ben-Kiki +ShadowZzj on github +Shailesh Kapse +Shankar Jadhavar +Shao Shuchao +Sharad Gupta +Shard +Sharon Brizinov +Shaun Jackman +Shaun Mirani +Shawn Landden +Shawn Poulson +Sh Diao +Sheshadri.V +Shikha Sharma +Shine Fan +Shiraz Kanga +shithappens2016 on github +Shlomi Fish +Shmulik Regev +Shohei Maeda +Siddhartha Prakash Jain +siddharthchhabrap on github +Sidney San Martín +Siegfried Gyuricsko +silveja1 on github +Simon Berger +Simon Chalifoux +Simon Dick +Simon H. +Simon Josefsson +Simon K +Simon Legner +Simon Liu +Simon Warta +simplerobot on github +Sinkevich Artem +Siva Sivaraman +Slaven Rezić +SLDiggie on github +Smackd0wn on github +S. Moonesamy +smuellerDD on github +sn on hackerone +sofaboss on github +Sohom Datta +Somnath Kundu +Song Ma +Sonia Subramanian +Sören Tempel +southernedge on github +Spacen Jasset +Spezifant on github +Spiridonoff A.V +Spoon Man +Spork Schivago +ssdbest on github +sspiri on github +sstruchtrup on github +Stadler Stephan +Stan Hu +Stanislav Ivochkin +Stanislav Lange +Stanislav Zidek +Stanley Wucw +Stan van de Burgt +Stathis Kapnidis +Stav Nir +steelman on github +Stefan Agner +Stefan Bühler +Stefan Eissing +Stefan Esser +Stefan Grether +Stefan Huber +Stefan Kanthak +Stefan Karpinski +Stefan Krause +Štefan Kremeň +Stefan Neis +Stefano Simonelli +Stefan Strogin +Stefan Talpalaru +Stefan Teleman +Stefan Tomanek +Stefan Ulrich +Stefan Yohansson +Steffen Kieß +Steinar H. Gunderson +steini2000 on github +Stepan Broz +Stepan Efremov +Stephan Bergmann +Stephane Pellegrino +Stephan Guilloux +Stephan Lagerholm +Stephan Mühlstrasser +Stephan Szabo +Stephen Boost +Stephen Brokenshire +Stephen Collyer +Stephen Farrell +Stephen Kick +Stephen M. Coakley +Stephen More +Stephen Toub +Sterling Hughes +Steve Green +Steve Havelka +Steve Herrell +Steve Holme +Steve H Truong +Steve Lhomme +Steve Little +Steve Marx +Steven Allen +Steven Bazyl +Steven G. Johnson +Steven Gu +Steven M. Schweda +stevenpackardblp on github +Steven Parkes +Steven Penny +Steve Oliphant +Steve Roskowski +Steve Walch +Stewart Gebbie +Stian Soiland-Reyes +Stoned Elipot +stootill on github +Stuart Henderson +Sukanya Hanumanthu +SumatraPeter on github +Sune Ahlgren +Sunny Bean +Sunny Purushe +SuperIlu on github +SuperStormer on github +Sven Anders +Sven Blumenstein +Sven Neuhaus +Sven Wegener +Svyatoslav Mishyn +swalkaus at yahoo.com +sylgal on github +Sylvestre Ledru +Symeon Paraschoudis +T200proX7 on github +Tadej Vengust +Tae Hyoung Ahn +Taiyu Len +Tal Regev +Tamás Bálint Misius +Tamir Duberstein +Taneli Vähäkangas +Tanguy Fautre +Taras Kushnir +tarek112 on github +Tatsuhiko Miyagawa +Tatsuhiro Tsujikawa +tawmoto on github +T. Bharath +tbugfinder on github +Ted Lyngmo +Teemu Yli-Elsila +Teh Kok How +Temprimus +Terence Eden +Terri Oda +Terry Wu +thanhchungbtc on github +TheAssassin on github +The Infinnovation team +TheKnarf on github +Theo +Theodore Dubois +therealhirudo on github +Thiago Suchorski +thisisgk on github +tholin on github +Thomas +Thomas1664 on github +Thomas Bouzerar +Thomas Braun +Thomas Danielsson +Thomas Ferguson +Thomas Gamper +Thomas Glanzmann +Thomas Guillem +Thomas J. Moore +Thomas Klausner +Thomas Lopatic +Thomas L. Shinnick +Thomas M. DuBuisson +Thomas Petazzoni +Thomas Pyle +Thomas Ruecker +Thomas Schwinge +Thomas Taylor +Thomas Tonino +Thomas van Hesteren +Thomas Vegas +Thomas Weißschuh +Thorsten Klein +Thorsten Schöning +Tianyi Song +Tiit Pikma +Till Maas +Till Wegmüller +Tim Ansell +Tim Baker +Tim Bartley +Tim Chen +Tim Costello +Tim Harder +Tim Heckman +Tim Hill +Tim Mcdonough +Timmy Schierling +Tim Newsome +Timo Lange +Timo Sirainen +Timotej Lazar +Timothe Litt +Timothy Gu +Timothy Polich +Timo Tijhof +Tim Rühsen +Tim Sedlmeyer +Tim Sneddon +Tim Stack +Tim Starling +Tim Tassonis +Timur Artikov +Tim Verhoeven +Tim Yuer +Tinus van den Berg +tinyboxvk +tiymat +TJ Saunders +Tk Xiong +tkzv on github +tlahn on github +tmkk on github +Tobias Blomberg +Tobias Bora +Tobias Gabriel +Tobias Hieta +Tobias Hintze +Tobias Lindgren +Tobias Markus +Tobias Nießen +Tobias Nygren +Tobias Nyholm +Tobias Rundström +Tobias Schaefer +Tobias Stoeckmann +Tobias Wendorff +Toby Peterson +Todd A Ouska +Todd Kaufmann +Todd Kulesza +Todd Short +Todd Vierling +Tomas Berger +Tomas Hoger +Tomas Jakobsson +Tomas Mlcoch +Tomas Mraz +Tomas Pospisek +Tomas Szepe +Tomas Tomecek +Tomas Volf +Tomasz Kojm +Tomasz Lacki +Tom Benoist +Tom Donovan +Tom Eccles +Tom G. Christensen +Tom Grace +Tom Greenslade +Tom Lee +Tom Mattison +Tommie Gannert +tommink[at]post.pl +Tom Moers +Tom Mueller +Tommy Chiang +Tommy Odom +Tommy Petty +Tommy Tam +Tom Regner +Tom Seddon +Tom Sparrow +Tom van der Woerdt +Tom Wright +tomy2105 on github +Tom Zerucha +Toni Moreno +Ton Voon +Tony Kelman +tonystz on github +Toon Claes +Toon Verwaest +Tor Arntsen +Torben Dannhauer +Torben Dury +Török Edwin +Torsten Foertsch +Toshio Kuratomi +Toshiyuki Maezawa +tpaukrt on github +Traian Nicolescu +Trail of Bits +tranzystorekk on github +Travis Burtrum +Travis Lane +Travis Obenhaus +Trivikram Kamat +Troels Walsted Hansen +Troy Engel +trrui-huawei +Trumeet on github +Trzik on github +Tseng Jun +Tuomas Siipola +Tuomo Rinne +Tupone Alfredo +Turiiya +T. Yamada +Tyler Hall +u20221022 on github +Ulf Härnhammar +Ulf Samuelsson +Ulrich Doehner +Ulrich Telle +Ulrich Zadow +UnicornZhang on github +updatede on github +UrsusArctos on github +User Sg +ustcqidi on github +Vadim Grinshpun +Valentin David +Valentín Gutiérrez +Valentin Richter +Valentyn Korniienko +Valerii Zapodovnikov +vanillajonathan on github +Varnavas Papaioannou +Vasiliy Faronov +Vasiliy Ulyanov +Vasily Lobaskin +Vasy Okhin +Venkat Akella +Venkataramana Mokkapati +Venkat Krishna R +Vicente Garcia +Victor Kislov +Victor Magierski +Victor Snezhko +VictorVG on github +Victor Vieux +Vijay Panghal +Vikram Saxena +Viktor Petersson +Viktor Szakats +Vilhelm Prytz +Ville Skyttä +Vilmos Nebehaj +Vincas Razma +Vincent Bronner +Vincent Grande +Vincent Le Normand +Vincent Penquerc'h +Vincent Sanders +Vincent Torri +violetlige on github +vitaha85 on github +Vitaly Varyvdin +Vítor Galvão +vl409 on github +Vlad Grachov +Vladimir Grishchenko +Vladimir Kotal +Vladimir Lazarenko +Vladimir Panteleev +Vladimir Varlamov +Vladislavs Sokurenko +Vlad Ureche +Vlastimil Ovčáčík +vlkl-sap on github +vlubart on github +Vojtech Janota +Vojtěch Král +Vojtech Minarik +Volker Schmid +Vollstrecker on github +Vsevolod Novikov +vshmuk on hackerone +vulnerabilityspotter on hackerone +Vulpes Vulpes +vuonganh1993 on github +vvb2060 on github +Vyron Tsingaras +w0x42 on hackerone +Waldek Kozba +Walter J. Mack +wangzhikun +Ward Willats +Warren Menzer +Wayne Haigh +Wei Chong Tan +Wenchao Li +Weng Xuetian +Wenxiang Qian +Werner Koch +Werner Stolz +Wes Hinsley +wesinator on github +Wesley Laxton +Wesley Miaw +Wez Furlong +Wham Bang +Wilfredo Sanchez +Wilhelm von Thiele +Will Dietz +Willem Hoek +Willem Sparreboom +William Ahern +William A. Rowe Jr +William Desportes +William Tang +Will Roberts +Winni Neessen +W. Mark Kubacki +wmsch on github +wncboy on github +Wojciech Zwiefka +wolfsage on hackerone +Wolf Vollprecht +Wouter Van Rooy +Wu Yongzheng +Wu Zheng +wxiaoguang on github +Wyatt O'Day +Wyatt OʼDay +x1sc0 on github +x2018 on github +Xavier Bouchoux +XhmikosR on github +XhstormR on github +xiadnoring on github +Xiangbin Li +xianghongai on github +Xiang Xiao +xiaofeng +Xiaoke Wang +Xiaoyin Liu +Xì Gà +Xi Ruoyao +XmiliaH on github +xnynx on github +xtonik on github +xwxbug on github +XYenon +Yaakov Selkowitz +Yadhu Krishna M +Yair Lenga +Yang Tse +Yaobin Wen +Yarram Sunil +Yasuharu Yamada +Yasuhiro Matsumoto +Yechiel Kalmenson +Yedaya Katsman +Yehezkel Horowitz +Yehoshua Hershberg +ygthien on github +Yifei Kong +Yihang Zhou +Yi Huang +Yiming Jing +Yingwei Liu +yiyuaner on github +Ymir1711 on github +Yonggang Luo +Yongkang Huang +Yoshimasa Ohno +Younes El-karama +youngchopin on github +Yousuke Kimoto +Yukihiro Kawada +Yun SangHo +Yurii Rashkovskii +Yuri Slobodyanyuk +Yuriy Chernyshov +Yuriy Sosov +yushicheng7788 on github +Yusuke Nakamura +Yu Xin +Yves Arrouye +Yves Lejeune +YX Hao +z2_ +Zachary Seguin +Zdenek Pavlas +Zekun Ni +zelinchen on github +zengwei +zengwei2000 +Zenju on github +Zero King +Zespre Schmidt +zhanghu on xiaomi +Zhang Wen +Zhang Xiuhua +Zhaoming Luo +Zhaoyang Wu +Zhao Yisha +zhengqwe on github +Zhibiao Wu +zhihaoy on github +Zhouyihai Ding +ZimCodes on github +zjyhjqs +zloi-user on github +zmcx16 on github +Zmey Petroff +zopsicle on github +Zvi Har'El +zzq1015 on github +Борис Верховский +Коваленко Анатолий Викторович +наб +Никита Дорохин +ウさん +不确定 +加藤郁之 +南宫雪珊 +左潇峰 +李四 +梦终无痕 +積丹尼 Dan Jacobson +罗朝辉 diff --git a/curl/docs/TODO.txt b/curl/docs/TODO.txt new file mode 100644 index 0000000..9e398d8 --- /dev/null +++ b/curl/docs/TODO.txt @@ -0,0 +1,1375 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + + Things that could be nice to do in the future + + Things to do in project curl. Please tell us what you think, contribute and + send us patches that improve things. + + Be aware that these are things that we could do, or have once been considered + things we could do. If you want to work on any of these areas, please + consider bringing it up for discussions first on the mailing list so that we + all agree it is still a good idea for the project. + + All bugs documented in the KNOWN_BUGS document are subject for fixing. + + 1. libcurl + 1.1 TFO support on Windows + 1.2 Consult %APPDATA% also for .netrc + 1.3 struct lifreq + 1.4 alt-svc sharing + 1.5 get rid of PATH_MAX + 1.6 thread-safe sharing + 1.8 CURLOPT_RESOLVE for any port number + 1.9 Cache negative name resolves + 1.10 auto-detect proxy + 1.11 minimize dependencies with dynamically loaded modules + 1.12 updated DNS server while running + 1.13 c-ares and CURLOPT_OPENSOCKETFUNCTION + 1.14 connect to multiple IPs in parallel + 1.15 Monitor connections in the connection pool + 1.16 Try to URL encode given URL + 1.17 Add support for IRIs + 1.18 try next proxy if one does not work + 1.19 provide timing info for each redirect + 1.20 SRV and URI DNS records + 1.21 netrc caching and sharing + 1.22 CURLINFO_PAUSE_STATE + 1.23 Offer API to flush the connection pool + 1.25 Expose tried IP addresses that failed + 1.28 FD_CLOEXEC + 1.29 WebSocket read callback + 1.30 config file parsing + 1.31 erase secrets from heap/stack after use + 1.32 add asynch getaddrinfo support + 1.33 make DoH inherit more transfer properties + + 2. libcurl - multi interface + 2.1 More non-blocking + 2.2 Better support for same name resolves + 2.3 Non-blocking curl_multi_remove_handle() + 2.4 Split connect and authentication process + 2.5 Edge-triggered sockets should work + 2.6 multi upkeep + 2.7 Virtual external sockets + 2.8 dynamically decide to use socketpair + + 3. Documentation + 3.1 Improve documentation about fork safety + + 4. FTP + 4.1 HOST + 4.4 Support CURLOPT_PREQUOTE for directories listings + 4.6 GSSAPI via Windows SSPI + 4.7 STAT for LIST without data connection + 4.8 Passive transfer could try other IP addresses + + 5. HTTP + 5.1 Provide the error body from a CONNECT response + 5.2 Obey Retry-After in redirects + 5.3 Rearrange request header order + 5.4 Allow SAN names in HTTP/2 server push + 5.5 auth= in URLs + 5.6 alt-svc should fallback if alt-svc does not work + 5.7 Require HTTP version X or higher + + 6. TELNET + 6.1 ditch stdin + 6.2 ditch telnet-specific select + 6.3 feature negotiation debug data + 6.4 exit immediately upon connection if stdin is /dev/null + + 7. SMTP + 7.1 Passing NOTIFY option to CURLOPT_MAIL_RCPT + 7.2 Enhanced capability support + 7.3 Add CURLOPT_MAIL_CLIENT option + + 8. POP3 + 8.2 Enhanced capability support + + 9. IMAP + 9.1 Enhanced capability support + + 10. LDAP + 10.1 SASL based authentication mechanisms + 10.2 CURLOPT_SSL_CTX_FUNCTION for LDAPS + 10.3 Paged searches on LDAP server + 10.4 Certificate-Based Authentication + + 11. SMB + 11.1 File listing support + 11.2 Honor file timestamps + 11.3 Use NTLMv2 + 11.4 Create remote directories + + 12. FILE + 12.1 Directory listing on non-POSIX + + 13. TLS + 13.1 TLS-PSK with OpenSSL + 13.2 TLS channel binding + 13.3 Defeat TLS fingerprinting + 13.4 Consider OCSP stapling by default + 13.5 Export session ids + 13.6 Provide callback for cert verification + 13.7 Less memory massaging with Schannel + 13.8 Support DANE + 13.9 TLS record padding + 13.10 Support Authority Information Access certificate extension (AIA) + 13.11 Some TLS options are not offered for HTTPS proxies + 13.13 Make sure we forbid TLS 1.3 post-handshake authentication + 13.14 Support the clienthello extension + 13.16 Share the CA cache + 13.17 Add missing features to TLS backends + + 14. Proxy + 14.1 Retry SOCKS handshake on address type not supported + + 15. Schannel + 15.1 Extend support for client certificate authentication + 15.2 Extend support for the --ciphers option + 15.4 Add option to allow abrupt server closure + + 16. SASL + 16.1 Other authentication mechanisms + 16.2 Add QOP support to GSSAPI authentication + + 17. SSH protocols + 17.1 Multiplexing + 17.2 Handle growing SFTP files + 17.3 Read keys from ~/.ssh/id_ecdsa, id_ed25519 + 17.4 Support CURLOPT_PREQUOTE + 17.5 SSH over HTTPS proxy with more backends + 17.6 SFTP with SCP:// + + 18. Command line tool + 18.1 sync + 18.2 glob posts + 18.4 --proxycommand + 18.5 UTF-8 filenames in Content-Disposition + 18.6 Option to make -Z merge lined based outputs on stdout + 18.7 specify which response codes that make -f/--fail return error + 18.9 Choose the name of file in braces for complex URLs + 18.10 improve how curl works in a Windows console window + 18.11 Windows: set attribute 'archive' for completed downloads + 18.12 keep running, read instructions from pipe/socket + 18.13 Acknowledge Ratelimit headers + 18.14 --dry-run + 18.15 --retry should resume + 18.17 consider filename from the redirected URL with -O ? + 18.18 retry on network is unreachable + 18.19 expand ~/ in config files + 18.20 hostname sections in config files + 18.21 retry on the redirected-to URL + 18.23 Set the modification date on an uploaded file + 18.24 Use multiple parallel transfers for a single download + 18.25 Prevent terminal injection when writing to terminal + 18.26 Custom progress meter update interval + 18.27 -J and -O with %-encoded filenames + 18.28 -J with -C - + 18.29 --retry and transfer timeouts + + 19. Build + 19.2 Enable PIE and RELRO by default + 19.3 Do not use GNU libtool on OpenBSD + 19.4 Package curl for Windows in a signed installer + 19.5 make configure use --cache-file more and better + + 20. Test suite + 20.1 SSL tunnel + 20.2 more protocols supported + 20.3 more platforms supported + 20.4 write an SMB test server to replace impacket + 20.5 Use the RFC 6265 test suite + 20.6 Run web-platform-tests URL tests + + 21. MQTT + 21.1 Support rate-limiting + 21.2 Support MQTTS + 21.3 Handle network blocks + + 22. TFTP + 22.1 TFTP does not convert LF to CRLF for mode=netascii + + 23. Gopher + 23.1 Handle network blocks + +============================================================================== + +1. libcurl + +1.1 TFO support on Windows + + libcurl supports the CURLOPT_TCP_FASTOPEN option since 7.49.0 for Linux and + macOS. Windows supports TCP Fast Open starting with Windows 10, version 1607 + and we should add support for it. + + TCP Fast Open is supported on several platforms but not on Windows. Work on + this was once started but never finished. + + See https://github.com/curl/curl/pull/3378 + +1.2 Consult %APPDATA% also for .netrc + + %APPDATA%\.netrc is not considered when running on Windows. should not it? + + See https://github.com/curl/curl/issues/4016 + +1.3 struct lifreq + + Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and + SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete. + To support IPv6 interface addresses for network interfaces properly. + +1.4 alt-svc sharing + + The share interface could benefit from allowing the alt-svc cache to be + possible to share between easy handles. + + See https://github.com/curl/curl/issues/4476 + + The share interface offers CURL_LOCK_DATA_CONNECT to have multiple easy + handle share a connection cache, but due to how connections are used they are + still not thread-safe when used shared. + + See https://github.com/curl/curl/issues/4915 and lib1541.c + + The share interface offers CURL_LOCK_DATA_HSTS to have multiple easy handle + share a HSTS cache, but this is not thread-safe. + +1.5 get rid of PATH_MAX + + Having code use and rely on PATH_MAX is not nice: + https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html + + Currently the libssh2 SSH based code uses it, but to remove PATH_MAX from + there we need libssh2 to properly tell us when we pass in a too small buffer + and its current API (as of libssh2 1.2.7) does not. + +1.6 thread-safe sharing + + Using the share interface users can share some data between easy handles but + several of the sharing options are documented as not safe and supported to + share between multiple concurrent threads. Fixing this would enable more + users to share data in more powerful ways. + +1.8 CURLOPT_RESOLVE for any port number + + This option allows applications to set a replacement IP address for a given + host + port pair. Consider making support for providing a replacement address + for the hostname on all port numbers. + + See https://github.com/curl/curl/issues/1264 + +1.9 Cache negative name resolves + + A name resolve that has failed is likely to fail when made again within a + short period of time. Currently we only cache positive responses. + +1.10 auto-detect proxy + + libcurl could be made to detect the system proxy setup automatically and use + that. On Windows, macOS and Linux desktops for example. + + The pull-request to use libproxy for this was deferred due to doubts on the + reliability of the dependency and how to use it: + https://github.com/curl/curl/pull/977 + + libdetectproxy is a (C++) library for detecting the proxy on Windows + https://github.com/paulharris/libdetectproxy + +1.11 minimize dependencies with dynamically loaded modules + + We can create a system with loadable modules/plug-ins, where these modules + would be the ones that link to 3rd party libs. That would allow us to avoid + having to load ALL dependencies since only the necessary ones for this + app/invoke/used protocols would be necessary to load. See + https://github.com/curl/curl/issues/349 + +1.12 updated DNS server while running + + If /etc/resolv.conf gets updated while a program using libcurl is running, it + is may cause name resolves to fail unless res_init() is called. We should + consider calling res_init() + retry once unconditionally on all name resolve + failures to mitigate against this. Firefox works like that. Note that Windows + does not have res_init() or an alternative. + + https://github.com/curl/curl/issues/2251 + +1.13 c-ares and CURLOPT_OPENSOCKETFUNCTION + + curl creates most sockets via the CURLOPT_OPENSOCKETFUNCTION callback and + close them with the CURLOPT_CLOSESOCKETFUNCTION callback. However, c-ares + does not use those functions and instead opens and closes the sockets itself. + This means that when curl passes the c-ares socket to the + CURLMOPT_SOCKETFUNCTION it is not owned by the application like other + sockets. + + See https://github.com/curl/curl/issues/2734 + +1.14 connect to multiple IPs in parallel + + curl currently implements the happy eyeball algorithm for connecting to the + IPv4 and IPv6 alternatives for a host in parallel, sticking with the + connection that "wins". We could implement a similar algorithm per individual + IP family as well when there are multiple available addresses: start with the + first address, then start a second attempt N milliseconds after and then a + third another N milliseconds later. That way there would be less waiting when + the first IP has problems. It also improves the connection timeout value + handling for multiple address situations. + +1.15 Monitor connections in the connection pool + + libcurl's connection cache or pool holds a number of open connections for the + purpose of possible subsequent connection reuse. It may contain a few up to a + significant amount of connections. Currently, libcurl leaves all connections + as they are and first when a connection is iterated over for matching or + reuse purpose it is verified that it is still alive. + + Those connections may get closed by the server side for idleness or they may + get an HTTP/2 ping from the peer to verify that they are still alive. By + adding monitoring of the connections while in the pool, libcurl can detect + dead connections (and close them) better and earlier, and it can handle + HTTP/2 pings to keep such ones alive even when not actively doing transfers + on them. + +1.16 Try to URL encode given URL + + Given a URL that for example contains spaces, libcurl could have an option + that would try somewhat harder than it does now and convert spaces to %20 and + perhaps URL encoded byte values over 128 etc (basically do what the redirect + following code already does). + + https://github.com/curl/curl/issues/514 + +1.17 Add support for IRIs + + IRIs (RFC 3987) allow localized, non-ASCII, names in the URL. To properly + support this, curl/libcurl would need to translate/encode the given input + from the input string encoding into percent encoded output "over the wire". + + To make that work smoothly for curl users even on Windows, curl would + probably need to be able to convert from several input encodings. + +1.18 try next proxy if one does not work + + Allow an application to specify a list of proxies to try, and failing to + connect to the first go on and try the next instead until the list is + exhausted. Browsers support this feature at least when they specify proxies + using PACs. + + https://github.com/curl/curl/issues/896 + +1.19 provide timing info for each redirect + + curl and libcurl provide timing information via a set of different + time-stamps (CURLINFO_*_TIME). When curl is following redirects, those + returned time value are the accumulated sums. An improvement could be to + offer separate timings for each redirect. + + https://github.com/curl/curl/issues/6743 + +1.20 SRV and URI DNS records + + Offer support for resolving SRV and URI DNS records for libcurl to know which + server to connect to for various protocols (including HTTP). + +1.21 netrc caching and sharing + + The netrc file is read and parsed each time a connection is setup, which + means that if a transfer needs multiple connections for authentication or + redirects, the file might be reread (and parsed) multiple times. This makes + it impossible to provide the file as a pipe. + +1.22 CURLINFO_PAUSE_STATE + + Return information about the transfer's current pause state, in both + directions. https://github.com/curl/curl/issues/2588 + +1.23 Offer API to flush the connection pool + + Sometimes applications want to flush all the existing connections kept alive. + An API could allow a forced flush or just a forced loop that would properly + close all connections that have been closed by the server already. + +1.25 Expose tried IP addresses that failed + + When libcurl fails to connect to a host, it could offer the application the + addresses that were used in the attempt. Source + dest IP, source + dest port + and protocol (UDP or TCP) for each failure. Possibly as a callback. Perhaps + also provide "reason". + + https://github.com/curl/curl/issues/2126 + +1.28 FD_CLOEXEC + + It sets the close-on-exec flag for the file descriptor, which causes the file + descriptor to be automatically (and atomically) closed when any of the + exec-family functions succeed. Should probably be set by default? + + https://github.com/curl/curl/issues/2252 + +1.29 WebSocket read callback + + Call the read callback once the connection is established to allow sending + the first message in the connection. + + https://github.com/curl/curl/issues/11402 + +1.30 config file parsing + + Consider providing an API, possibly in a separate companion library, for + parsing a config file like curl's -K/--config option to allow applications to + get the same ability to read curl options from files. + + See https://github.com/curl/curl/issues/3698 + +1.31 erase secrets from heap/stack after use + + Introducing a concept and system to erase secrets from memory after use, it + could help mitigate and lessen the impact of (future) security problems etc. + However: most secrets are passed to libcurl as clear text from the + application and then clearing them within the library adds nothing... + + https://github.com/curl/curl/issues/7268 + +1.32 add asynch getaddrinfo support + + Use getaddrinfo_a() to provide an asynch name resolver backend to libcurl + that does not use threads and does not depend on c-ares. The getaddrinfo_a + function is (probably?) glibc specific but that is a widely used libc among + our users. + + https://github.com/curl/curl/pull/6746 + +1.33 make DoH inherit more transfer properties + + Some options are not inherited because they are not relevant for the DoH SSL + connections, or inheriting the option may result in unexpected behavior. For + example the user's debug function callback is not inherited because it would + be unexpected for internal handles (ie DoH handles) to be passed to that + callback. + + If an option is not inherited then it is not possible to set it separately + for DoH without a DoH-specific option. For example: + CURLOPT_DOH_SSL_VERIFYHOST, CURLOPT_DOH_SSL_VERIFYPEER and + CURLOPT_DOH_SSL_VERIFYSTATUS. + + See https://github.com/curl/curl/issues/6605 + +2. libcurl - multi interface + +2.1 More non-blocking + + Make sure we do not ever loop because of non-blocking sockets returning + EWOULDBLOCK or similar. Blocking cases include: + + - Name resolves on non-Windows unless c-ares or the threaded resolver is used. + + - The threaded resolver may block on cleanup: + https://github.com/curl/curl/issues/4852 + + - file:// transfers + + - TELNET transfers + + - GSSAPI authentication for FTP transfers + + - The "DONE" operation (post transfer protocol-specific actions) for the + protocols SFTP, SMTP, FTP. Fixing multi_done() for this is a worthy task. + + - curl_multi_remove_handle for any of the above. See section 2.3. + + - Calling curl_ws_send() from a callback + +2.2 Better support for same name resolves + + If a name resolve has been initiated for name NN and a second easy handle + wants to resolve that name as well, make it wait for the first resolve to end + up in the cache instead of doing a second separate resolve. This is + especially needed when adding many simultaneous handles using the same host + name when the DNS resolver can get flooded. + +2.3 Non-blocking curl_multi_remove_handle() + + The multi interface has a few API calls that assume a blocking behavior, like + add_handle() and remove_handle() which limits what we can do internally. The + multi API need to be moved even more into a single function that "drives" + everything in a non-blocking manner and signals when something is done. A + remove or add would then only ask for the action to get started and then + multi_perform() etc still be called until the add/remove is completed. + +2.4 Split connect and authentication process + + The multi interface treats the authentication process as part of the connect + phase. As such any failures during authentication does not trigger the + relevant QUIT or LOGOFF for protocols such as IMAP, POP3 and SMTP. + +2.5 Edge-triggered sockets should work + + The multi_socket API should work with edge-triggered socket events. One of + the internal actions that need to be improved for this to work perfectly is + the 'maxloops' handling in transfer.c:readwrite_data(). + +2.6 multi upkeep + + In libcurl 7.62.0 we introduced curl_easy_upkeep. It unfortunately only works + on easy handles. We should introduces a version of that for the multi handle, + and also consider doing "upkeep" automatically on connections in the + connection pool when the multi handle is in used. + + See https://github.com/curl/curl/issues/3199 + +2.7 Virtual external sockets + + libcurl performs operations on the given file descriptor that presumes it is + a socket and an application cannot replace them at the moment. Allowing an + application to fully replace those would allow a larger degree of freedom and + flexibility. + + See https://github.com/curl/curl/issues/5835 + +2.8 dynamically decide to use socketpair + + For users who do not use curl_multi_wait() or do not care for + curl_multi_wakeup(), we could introduce a way to make libcurl NOT + create a socketpair in the multi handle. + + See https://github.com/curl/curl/issues/4829 + +3. Documentation + +3.1 Improve documentation about fork safety + + See https://github.com/curl/curl/issues/6968 + +4. FTP + +4.1 HOST + + HOST is a command for a client to tell which hostname to use, to offer FTP + servers named-based virtual hosting: + + https://datatracker.ietf.org/doc/html/rfc7151 + +4.4 Support CURLOPT_PREQUOTE for directions listings + + The lack of support is mostly an oversight and requires the FTP state machine + to get updated to get fixed. + + https://github.com/curl/curl/issues/8602 + +4.6 GSSAPI via Windows SSPI + + In addition to currently supporting the SASL GSSAPI mechanism (Kerberos V5) + via third-party GSS-API libraries, such as Heimdal or MIT Kerberos, also add + support for GSSAPI authentication via Windows SSPI. + +4.7 STAT for LIST without data connection + + Some FTP servers allow STAT for listing directories instead of using LIST, + and the response is then sent over the control connection instead of as the + otherwise usedw data connection: https://www.nsftools.com/tips/RawFTP.htm#STAT + + This is not detailed in any FTP specification. + +4.8 Passive transfer could try other IP addresses + + When doing FTP operations through a proxy at localhost, the reported spotted + that curl only tried to connect once to the proxy, while it had multiple + addresses and a failed connect on one address should make it try the next. + + After switching to passive mode (EPSV), curl could try all IP addresses for + "localhost". Currently it tries ::1, but it should also try 127.0.0.1. + + See https://github.com/curl/curl/issues/1508 + +5. HTTP + +5.1 Provide the error body from a CONNECT response + + When curl receives a body response from a CONNECT request to a proxy, it + always just reads and ignores it. It would make some users happy if curl + instead optionally would be able to make that responsible available. Via a + new callback? Through some other means? + + See https://github.com/curl/curl/issues/9513 + +5.2 Obey Retry-After in redirects + + The Retry-After is said to dicate "the minimum time that the user agent is + asked to wait before issuing the redirected request" and libcurl does not + obey this. + + See https://github.com/curl/curl/issues/11447 + +5.3 Rearrange request header order + + Server implementers often make an effort to detect browser and to reject + clients it can detect to not match. One of the last details we cannot yet + control in libcurl's HTTP requests, which also can be exploited to detect + that libcurl is in fact used even when it tries to impersonate a browser, is + the order of the request headers. I propose that we introduce a new option in + which you give headers a value, and then when the HTTP request is built it + sorts the headers based on that number. We could then have internally created + headers use a default value so only headers that need to be moved have to be + specified. + +5.4 Allow SAN names in HTTP/2 server push + + curl only allows HTTP/2 push promise if the provided :authority header value + exactly matches the hostname given in the URL. It could be extended to allow + any name that would match the Subject Alternative Names in the server's TLS + certificate. + + See https://github.com/curl/curl/pull/3581 + +5.5 auth= in URLs + + Add the ability to specify the preferred authentication mechanism to use by + using ;auth= in the login part of the URL. + + For example: + + http://test:pass;auth=NTLM@example.com would be equivalent to specifying + --user test:pass;auth=NTLM or --user test:pass --ntlm from the command line. + + Additionally this should be implemented for proxy base URLs as well. + +5.6 alt-svc should fallback if alt-svc does not work + + The alt-svc: header provides a set of alternative services for curl to use + instead of the original. If the first attempted one fails, it should try the + next etc and if all alternatives fail go back to the original. + + See https://github.com/curl/curl/issues/4908 + +5.7 Require HTTP version X or higher + + curl and libcurl provide options for trying higher HTTP versions (for example + HTTP/2) but then still allows the server to pick version 1.1. We could + consider adding a way to require a minimum version. + + See https://github.com/curl/curl/issues/7980 + +6. TELNET + +6.1 ditch stdin + + Reading input (to send to the remote server) on stdin is a crappy solution + for library purposes. We need to invent a good way for the application to be + able to provide the data to send. + +6.2 ditch telnet-specific select + + Move the telnet support's network select() loop go away and merge the code + into the main transfer loop. Until this is done, the multi interface does not + work for telnet. + +6.3 feature negotiation debug data + + Add telnet feature negotiation data to the debug callback as header data. + +6.4 exit immediately upon connection if stdin is /dev/null + + If it did, curl could be used to probe if there is an server there listening + on a specific port. That is, the following command would exit immediately + after the connection is established with exit code 0: + + curl -s --connect-timeout 2 telnet://example.com:80 NOTIFY=SUCCESS,FAILURE" ); + + https://github.com/curl/curl/issues/8232 + +7.2 Enhanced capability support + + Add the ability, for an application that uses libcurl, to obtain the list of + capabilities returned from the EHLO command. + +7.3 Add CURLOPT_MAIL_CLIENT option + + Rather than use the URL to specify the mail client string to present in the + HELO and EHLO commands, libcurl should support a new CURLOPT specifically for + specifying this data as the URL is non-standard and to be honest a bit of a + hack ;-) + + Please see the following thread for more information: + https://curl.se/mail/lib-2012-05/0178.html + + +8. POP3 + +8.2 Enhanced capability support + + Add the ability, for an application that uses libcurl, to obtain the list of + capabilities returned from the CAPA command. + +9. IMAP + +9.1 Enhanced capability support + + Add the ability, for an application that uses libcurl, to obtain the list of + capabilities returned from the CAPABILITY command. + +10. LDAP + +10.1 SASL based authentication mechanisms + + Currently the LDAP module only supports ldap_simple_bind_s() in order to bind + to an LDAP server. However, this function sends username and password details + using the simple authentication mechanism (as clear text). However, it should + be possible to use ldap_bind_s() instead specifying the security context + information ourselves. + +10.2 CURLOPT_SSL_CTX_FUNCTION for LDAPS + + CURLOPT_SSL_CTX_FUNCTION works perfectly for HTTPS and email protocols, but + it has no effect for LDAPS connections. + + https://github.com/curl/curl/issues/4108 + +10.3 Paged searches on LDAP server + + https://github.com/curl/curl/issues/4452 + +10.4 Certificate-Based Authentication + + LDAPS not possible with macOS and Windows with Certificate-Based Authentication + + https://github.com/curl/curl/issues/9641 + +11. SMB + +11.1 File listing support + + Add support for listing the contents of a SMB share. The output should + probably be the same as/similar to FTP. + +11.2 Honor file timestamps + + The timestamp of the transferred file should reflect that of the original + file. + +11.3 Use NTLMv2 + + Currently the SMB authentication uses NTLMv1. + +11.4 Create remote directories + + Support for creating remote directories when uploading a file to a directory + that does not exist on the server, just like --ftp-create-dirs. + + +12. FILE + +12.1 Directory listing on non-POSIX + + Listing the contents of a directory accessed with FILE only works on + platforms with opendir. Support could be added for more systems, like + Windows. + +13. TLS + +13.1 TLS-PSK with OpenSSL + + Transport Layer Security pre-shared key ciphersuites (TLS-PSK) is a set of + cryptographic protocols that provide secure communication based on pre-shared + keys (PSKs). These pre-shared keys are symmetric keys shared in advance among + the communicating parties. + + https://github.com/curl/curl/issues/5081 + +13.2 TLS channel binding + + TLS 1.2 and 1.3 provide the ability to extract some secret data from the TLS + connection and use it in the client request (usually in some sort of + authentication) to ensure that the data sent is bound to the specific TLS + connection and cannot be successfully intercepted by a proxy. This + functionality can be used in a standard authentication mechanism such as + GSS-API or SCRAM, or in custom approaches like custom HTTP Authentication + headers. + + For TLS 1.2, the binding type is usually tls-unique, and for TLS 1.3 it is + tls-exporter. + + https://datatracker.ietf.org/doc/html/rfc5929 + https://datatracker.ietf.org/doc/html/rfc9266 + https://github.com/curl/curl/issues/9226 + +13.3 Defeat TLS fingerprinting + + By changing the order of TLS extensions provided in the TLS handshake, it is + sometimes possible to circumvent TLS fingerprinting by servers. The TLS + extension order is of course not the only way to fingerprint a client. + +13.4 Consider OCSP stapling by default + + Treat a negative response a reason for aborting the connection. Since OCSP + stapling is presumed to get used much less in the future when Let's Encrypt + drops the OCSP support, the benefit of this might however be limited. + + https://github.com/curl/curl/issues/15483 + +13.5 Export session ids + + Add an interface to libcurl that enables "session IDs" to get + exported/imported. Cris Bailiff said: "OpenSSL has functions which can + serialise the current SSL state to a buffer of your choice, and recover/reset + the state from such a buffer at a later date - this is used by mod_ssl for + apache to implement and SSL session ID cache". + +13.6 Provide callback for cert verification + + OpenSSL supports a callback for customised verification of the peer + certificate, but this does not seem to be exposed in the libcurl APIs. Could + it be? There is so much that could be done if it were. + +13.7 Less memory massaging with Schannel + + The Schannel backend does a lot of custom memory management we would rather + avoid: the repeated alloc + free in sends and the custom memory + realloc + system for encrypted and decrypted data. That should be avoided and reduced + for 1) efficiency and 2) safety. + +13.8 Support DANE + + DNS-Based Authentication of Named Entities (DANE) is a way to provide SSL + keys and certs over DNS using DNSSEC as an alternative to the CA model. + https://www.rfc-editor.org/rfc/rfc6698.txt + + An initial patch was posted by Suresh Krishnaswamy on March 7th 2013 + (https://curl.se/mail/lib-2013-03/0075.html) but it was a too simple + approach. See Daniel's comments: + https://curl.se/mail/lib-2013-03/0103.html . libunbound may be the + correct library to base this development on. + + Björn Stenberg wrote a separate initial take on DANE that was never + completed. + +13.9 TLS record padding + + TLS (1.3) offers optional record padding and OpenSSL provides an API for it. + I could make sense for libcurl to offer this ability to applications to make + traffic patterns harder to figure out by network traffic observers. + + See https://github.com/curl/curl/issues/5398 + +13.10 Support Authority Information Access certificate extension (AIA) + + AIA can provide various things like CRLs but more importantly information + about intermediate CA certificates that can allow validation path to be + fulfilled when the HTTPS server does not itself provide them. + + Since AIA is about downloading certs on demand to complete a TLS handshake, + it is probably a bit tricky to get done right. + + See https://github.com/curl/curl/issues/2793 + +13.11 Some TLS options are not offered for HTTPS proxies + + Some TLS related options to the command line tool and libcurl are only + provided for the server and not for HTTPS proxies. --proxy-tls-max, + --proxy-tlsv1.3, --proxy-curves and a few more. + For more Documentation on this see: + https://curl.se/libcurl/c/tls-options.html + + https://github.com/curl/curl/issues/12286 + +13.13 Make sure we forbid TLS 1.3 post-handshake authentication + + RFC 8740 explains how using HTTP/2 must forbid the use of TLS 1.3 + post-handshake authentication. We should make sure to live up to that. + + See https://github.com/curl/curl/issues/5396 + +13.14 Support the clienthello extension + + Certain stupid networks and middle boxes have a problem with SSL handshake + packets that are within a certain size range because how that sets some bits + that previously (in older TLS version) were not set. The clienthello + extension adds padding to avoid that size range. + + https://datatracker.ietf.org/doc/html/rfc7685 + https://github.com/curl/curl/issues/2299 + +13.16 Share the CA cache + + For TLS backends that supports CA caching, it makes sense to allow the share + object to be used to store the CA cache as well via the share API. Would + allow multiple easy handles to reuse the CA cache and save themselves from a + lot of extra processing overhead. + +13.17 Add missing features to TLS backends + + The feature matrix at https://curl.se/libcurl/c/tls-options.html shows which + features are supported by which TLS backends, and thus also where there are + feature gaps. + +14. Proxy + +14.1 Retry SOCKS handshake on address type not supported + + When curl resolves a hostname, it might get a mix of IPv6 and IPv4 returned. + curl might then use an IPv6 address with a SOCKS5 proxy, which - if it does + not support IPv6 - returns "Address type not supported" and curl exits with + that error. + + Perhaps it is preferred if curl would in this situation instead first retry + the SOCKS handshake again for this case and then use one of the IPv4 + addresses for the target host. + + See https://github.com/curl/curl/issues/17222 + +15. Schannel + +15.1 Extend support for client certificate authentication + + The existing support for the -E/--cert and --key options could be + extended by supplying a custom certificate and key in PEM format, see: + - Getting a Certificate for Schannel + https://msdn.microsoft.com/en-us/library/windows/desktop/aa375447.aspx + +15.2 Extend support for the --ciphers option + + The existing support for the --ciphers option could be extended + by mapping the OpenSSL/GnuTLS cipher suites to the Schannel APIs, see + - Specifying Schannel Ciphers and Cipher Strengths + https://msdn.microsoft.com/en-us/library/windows/desktop/aa380161.aspx + +15.4 Add option to allow abrupt server closure + + libcurl with Schannel errors without a known termination point from the server + (such as length of transfer, or SSL "close notify" alert) to prevent against + a truncation attack. Really old servers may neglect to send any termination + point. An option could be added to ignore such abrupt closures. + + https://github.com/curl/curl/issues/4427 + +16. SASL + +16.1 Other authentication mechanisms + + Add support for other authentication mechanisms such as OLP, + GSS-SPNEGO and others. + +16.2 Add QOP support to GSSAPI authentication + + Currently the GSSAPI authentication only supports the default QOP of auth + (Authentication), whilst Kerberos V5 supports both auth-int (Authentication + with integrity protection) and auth-conf (Authentication with integrity and + privacy protection). + + +17. SSH protocols + +17.1 Multiplexing + + SSH is a perfectly fine multiplexed protocols which would allow libcurl to do + multiple parallel transfers from the same host using the same connection, + much in the same spirit as HTTP/2 does. libcurl however does not take + advantage of that ability but does instead always create a new connection for + new transfers even if an existing connection already exists to the host. + + To fix this, libcurl would have to detect an existing connection and "attach" + the new transfer to the existing one. + +17.2 Handle growing SFTP files + + The SFTP code in libcurl checks the file size *before* a transfer starts and + then proceeds to transfer exactly that amount of data. If the remote file + grows while the transfer is in progress libcurl does not notice and does not + adapt. The OpenSSH SFTP command line tool does and libcurl could also just + attempt to download more to see if there is more to get... + + https://github.com/curl/curl/issues/4344 + +17.3 Read keys from ~/.ssh/id_ecdsa, id_ed25519 + + The libssh2 backend in curl is limited to only reading keys from id_rsa and + id_dsa, which makes it fail connecting to servers that use more modern key + types. + + https://github.com/curl/curl/issues/8586 + +17.4 Support CURLOPT_PREQUOTE + + The two other QUOTE options are supported for SFTP, but this was left out for + unknown reasons. + +17.5 SSH over HTTPS proxy with more backends + + The SSH based protocols SFTP and SCP did not work over HTTPS proxy at + all until PR https://github.com/curl/curl/pull/6021 brought the + functionality with the libssh2 backend. Presumably, this support + can/could be added for the other backends as well. + +17.6 SFTP with SCP:// + + OpenSSH 9 switched their 'scp' tool to speak SFTP under the hood. Going + forward it might be worth having curl or libcurl attempt SFTP if SCP fails to + follow suite. + +18. Command line tool + +18.1 sync + + "curl --sync http://example.com/feed[1-100].rss" or + "curl --sync http://example.net/{index,calendar,history}.html" + + Downloads a range or set of URLs using the remote name, but only if the + remote file is newer than the local file. A Last-Modified HTTP date header + should also be used to set the mod date on the downloaded file. + +18.2 glob posts + + Globbing support for -d and -F, as in 'curl -d "name=foo[0-9]" URL'. + This is easily scripted though. + +18.4 --proxycommand + + Allow the user to make curl run a command and use its stdio to make requests + and not do any network connection by itself. Example: + + curl --proxycommand 'ssh pi@raspberrypi.local -W 10.1.1.75 80' \ + http://some/otherwise/unavailable/service.php + + See https://github.com/curl/curl/issues/4941 + +18.5 UTF-8 filenames in Content-Disposition + + RFC 6266 documents how UTF-8 names can be passed to a client in the + Content-Disposition header, and curl does not support this. + + https://github.com/curl/curl/issues/1888 + +18.6 Option to make -Z merge lined based outputs on stdout + + When a user requests multiple lined based files using -Z and sends them to + stdout, curl does not "merge" and send complete lines fine but may send + partial lines from several sources. + + https://github.com/curl/curl/issues/5175 + +18.7 specify which response codes that make -f/--fail return error + + Allows a user to better specify exactly which error code(s) that are fine + and which are errors for their specific uses cases + +18.9 Choose the name of file in braces for complex URLs + + When using braces to download a list of URLs and you use complicated names + in the list of alternatives, it could be handy to allow curl to use other + names when saving. + + Consider a way to offer that. Possibly like + {partURL1:name1,partURL2:name2,partURL3:name3} where the name following the + colon is the output name. + + See https://github.com/curl/curl/issues/221 + +18.10 improve how curl works in a Windows console window + + If you pull the scrollbar when transferring with curl in a Windows console + window, the transfer is interrupted and can get disconnected. This can + probably be improved. See https://github.com/curl/curl/issues/322 + +18.11 Windows: set attribute 'archive' for completed downloads + + The archive bit (FILE_ATTRIBUTE_ARCHIVE, 0x20) separates files that shall be + backed up from those that are either not ready or have not changed. + + Downloads in progress are neither ready to be backed up, nor should they be + opened by a different process. Only after a download has been completed it is + sensible to include it in any integer snapshot or backup of the system. + + See https://github.com/curl/curl/issues/3354 + +18.12 keep running, read instructions from pipe/socket + + Provide an option that makes curl not exit after the last URL (or even work + without a given URL), and then make it read instructions passed on a pipe or + over a socket to make further instructions so that a second subsequent curl + invoke can talk to the still running instance and ask for transfers to get + done, and thus maintain its connection pool, DNS cache and more. + +18.13 Acknowledge Ratelimit headers + + Consider a command line option that can make curl do multiple serial requests + while acknowledging server specified rate limits: + https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers/ + + See https://github.com/curl/curl/issues/5406 + +18.14 --dry-run + + A command line option that makes curl show exactly what it would do and send + if it would run for real. + + See https://github.com/curl/curl/issues/5426 + +18.15 --retry should resume + + When --retry is used and curl actually retries transfer, it should use the + already transferred data and do a resumed transfer for the rest (when + possible) so that it does not have to transfer the same data again that was + already transferred before the retry. + + See https://github.com/curl/curl/issues/1084 + +18.17 consider filename from the redirected URL with -O ? + + When a user gives a URL and uses -O, and curl follows a redirect to a new + URL, the filename is not extracted and used from the newly redirected-to URL + even if the new URL may have a much more sensible filename. + + This is clearly documented and helps for security since there is no surprise + to users which filename that might get overwritten, but maybe a new option + could allow for this or maybe -J should imply such a treatment as well as -J + already allows for the server to decide what filename to use so it already + provides the "may overwrite any file" risk. + + This is extra tricky if the original URL has no filename part at all since + then the current code path does error out with an error message, and we + cannot *know* already at that point if curl is redirected to a URL that has a + filename... + + See https://github.com/curl/curl/issues/1241 + +18.18 retry on network is unreachable + + The --retry option retries transfers on "transient failures". We later added + --retry-connrefused to also retry for "connection refused" errors. + + Suggestions have been brought to also allow retry on "network is unreachable" + errors and while totally reasonable, maybe we should consider a way to make + this more configurable than to add a new option for every new error people + want to retry for? + + https://github.com/curl/curl/issues/1603 + +18.19 expand ~/ in config files + + For example .curlrc could benefit from being able to do this. + + See https://github.com/curl/curl/issues/2317 + +18.20 hostname sections in config files + + config files would be more powerful if they could set different + configurations depending on used URLs, hostname or possibly origin. Then a + default .curlrc could a specific user-agent only when doing requests against + a certain site. + +18.21 retry on the redirected-to URL + + When curl is told to --retry a failed transfer and follows redirects, it + might get an HTTP 429 response from the redirected-to URL and not the + original one, which then could make curl decide to rather retry the transfer + on that URL only instead of the original operation to the original URL. + + Perhaps extra emphasized if the original transfer is a large POST that + redirects to a separate GET, and that GET is what gets the 529 + + See https://github.com/curl/curl/issues/5462 + +18.23 Set the modification date on an uploaded file + + For SFTP and possibly FTP, curl could offer an option to set the + modification time for the uploaded file. + + See https://github.com/curl/curl/issues/5768 + +18.24 Use multiple parallel transfers for a single download + + To enhance transfer speed, downloading a single URL can be split up into + multiple separate range downloads that get combined into a single final + result. + + An ideal implementation would not use a specified number of parallel + transfers, but curl could: + - First start getting the full file as transfer A + - If after N seconds have passed and the transfer is expected to continue for + M seconds or more, add a new transfer (B) that asks for the second half of + A's content (and stop A at the middle). + - If splitting up the work improves the transfer rate, it could then be done + again. Then again, etc up to a limit. + + This way, if transfer B fails (because Range: is not supported) it lets + transfer A remain the single one. N and M could be set to some sensible + defaults. + + See https://github.com/curl/curl/issues/5774 + +18.25 Prevent terminal injection when writing to terminal + + curl could offer an option to make escape sequence either non-functional or + avoid cursor moves or similar to reduce the risk of a user getting tricked by + clever tricks. + + See https://github.com/curl/curl/issues/6150 + +18.26 Custom progress meter update interval + + Users who are for example doing large downloads in CI or remote setups might + want the occasional progress meter update to see that the transfer is + progressing and has not stuck, but they may not appreciate the + many-times-a-second frequency curl can end up doing it with now. + +18.27 -J and -O with %-encoded filenames + + -J/--remote-header-name does not decode %-encoded filenames. RFC 6266 details + how it should be done. The can of worm is basically that we have no charset + handling in curl and ASCII >=128 is a challenge for us. Not to mention that + decoding also means that we need to check for nastiness that is attempted, + like "../" sequences and the like. Probably everything to the left of any + embedded slashes should be cut off. + https://curl.se/bug/view.cgi?id=1294 + + -O also does not decode %-encoded names, and while it has even less + information about the charset involved the process is similar to the -J case. + + Note that we do not decode -O without the user asking for it with some other + means, since -O has always been documented to use the name exactly as + specified in the URL. + +18.28 -J with -C - + + When using -J (with -O), automatically resumed downloading together with "-C + -" fails. Without -J the same command line works. This happens because the + resume logic is worked out before the target filename (and thus its + pre-transfer size) has been figured out. This can be improved. + + https://curl.se/bug/view.cgi?id=1169 + +18.29 --retry and transfer timeouts + + If using --retry and the transfer timeouts (possibly due to using -m or + -y/-Y) the next attempt does not resume the transfer properly from what was + downloaded in the previous attempt but truncates and restarts at the original + position where it was at before the previous failed attempt. See + https://curl.se/mail/lib-2008-01/0080.html and Mandriva bug report + https://qa.mandriva.com/show_bug.cgi?id=22565 + + +19. Build + +19.2 Enable PIE and RELRO by default + + Especially when having programs that execute curl via the command line, PIE + renders the exploitation of memory corruption vulnerabilities a lot more + difficult. This can be attributed to the additional information leaks being + required to conduct a successful attack. RELRO, on the other hand, masks + different binary sections like the GOT as read-only and thus kills a handful + of techniques that come in handy when attackers are able to arbitrarily + overwrite memory. A few tests showed that enabling these features had close + to no impact, neither on the performance nor on the general functionality of + curl. + +19.3 Do not use GNU libtool on OpenBSD + + When compiling curl on OpenBSD with "--enable-debug" it gives linking errors + when you use GNU libtool. This can be fixed by using the libtool provided by + OpenBSD itself. However for this the user always needs to invoke make with + "LIBTOOL=/usr/bin/libtool". It would be nice if the script could have some + magic to detect if this system is an OpenBSD host and then use the OpenBSD + libtool instead. + + See https://github.com/curl/curl/issues/5862 + +19.4 Package curl for Windows in a signed installer + + See https://github.com/curl/curl/issues/5424 + +19.5 make configure use --cache-file more and better + + The configure script can be improved to cache more values so that repeated + invokes run much faster. + + See https://github.com/curl/curl/issues/7753 + +20. Test suite + +20.1 SSL tunnel + + Make our own version of stunnel for simple port forwarding to enable HTTPS + and FTP-SSL tests without the stunnel dependency, and it could allow us to + provide test tools built with either OpenSSL or GnuTLS + +20.2 more protocols supported + + Extend the test suite to include more protocols. The telnet could just do FTP + or http operations (for which we have test servers). + +20.3 more platforms supported + + Make the test suite work on more platforms. OpenBSD and macOS. Remove + fork()s and it should become even more portable. + +20.4 write an SMB test server to replace impacket + + This would allow us to run SMB tests on more platforms and do better and more + covering tests. + + See https://github.com/curl/curl/issues/15697 + +20.5 Use the RFC 6265 test suite + + A test suite made for HTTP cookies (RFC 6265) by Adam Barth is available at + https://github.com/abarth/http-state/tree/master/tests + + It would be good if someone would write a script/setup that would run curl + with that test suite and detect deviances. Ideally, that would even be + incorporated into our regular test suite. + +20.6 Run web-platform-tests URL tests + + Run web-platform-tests URL tests and compare results with browsers on wpt.fyi + + It would help us find issues to fix and help us document where our parser + differs from the WHATWG URL spec parsers. + + See https://github.com/curl/curl/issues/4477 + +21. MQTT + +21.1 Support rate-limiting + + The rate-limiting logic is done in the PERFORMING state in multi.c but MQTT + is not (yet) implemented to use that. + +21.2 Support MQTTS + +21.3 Handle network blocks + + Running test suite with + `CURL_DBG_SOCK_WBLOCK=90 ./runtests.pl -a mqtt` makes several + MQTT test cases fail where they should not. + +22. TFTP + +22.1 TFTP does not convert LF to CRLF for mode=netascii + + RFC 3617 defines that an TFTP transfer can be done using "netascii" + mode. curl does not support extracting that mode from the URL nor does it treat + such transfers specifically. It should probably do LF to CRLF translations + for them. + + See https://github.com/curl/curl/issues/12655 + +23. Gopher + +23.1 Handle network blocks + + Running test suite with + `CURL_DBG_SOCK_WBLOCK=90 ./runtests.pl -a 1200 to 1300` makes several + Gopher test cases fail where they should not. diff --git a/curl/docs/TheArtOfHttpScripting.md b/curl/docs/TheArtOfHttpScripting.md new file mode 100644 index 0000000..46369d6 --- /dev/null +++ b/curl/docs/TheArtOfHttpScripting.md @@ -0,0 +1,712 @@ + + +# The Art Of Scripting HTTP Requests Using curl + +## Background + + This document assumes that you are familiar with HTML and general networking. + + The increasing amount of applications moving to the web has made "HTTP + Scripting" more frequently requested and wanted. To be able to automatically + extract information from the web, to fake users, to post or upload data to + web servers are all important tasks today. + + curl is a command line tool for doing all sorts of URL manipulations and + transfers, but this particular document focuses on how to use it when doing + HTTP requests for fun and profit. This documents assumes that you know how to + invoke `curl --help` or `curl --manual` to get basic information about it. + + curl is not written to do everything for you. It makes the requests, it gets + the data, it sends data and it retrieves the information. You probably need + to glue everything together using some kind of script language or repeated + manual invokes. + +## The HTTP Protocol + + HTTP is the protocol used to fetch data from web servers. It is a simple + protocol that is built upon TCP/IP. The protocol also allows information to + get sent to the server from the client using a few different methods, as is + shown here. + + HTTP is plain ASCII text lines being sent by the client to a server to + request a particular action, and then the server replies a few text lines + before the actual requested content is sent to the client. + + The client, curl, sends an HTTP request. The request contains a method (like + GET, POST, HEAD etc), a number of request headers and sometimes a request + body. The HTTP server responds with a status line (indicating if things went + well), response headers and most often also a response body. The "body" part + is the plain data you requested, like the actual HTML or the image etc. + +## See the Protocol + + Using curl's option [`--verbose`](https://curl.se/docs/manpage.html#-v) (`-v` + as a short option) displays what kind of commands curl sends to the server, + as well as a few other informational texts. + + `--verbose` is the single most useful option when it comes to debug or even + understand the curl<->server interaction. + + Sometimes even `--verbose` is not enough. Then + [`--trace`](https://curl.se/docs/manpage.html#-trace) and + [`--trace-ascii`](https://curl.se/docs/manpage.html#--trace-ascii) + offer even more details as they show **everything** curl sends and + receives. Use it like this: + + curl --trace-ascii debugdump.txt http://www.example.com/ + +## See the Timing + + Many times you may wonder what exactly is taking all the time, or you just + want to know the amount of milliseconds between two points in a transfer. For + those, and other similar situations, the + [`--trace-time`](https://curl.se/docs/manpage.html#--trace-time) option is + what you need. It prepends the time to each trace output line: + + curl --trace-ascii d.txt --trace-time http://example.com/ + +## See which Transfer + + When doing parallel transfers, it is relevant to see which transfer is doing + what. When response headers are received (and logged) you need to know which + transfer these are for. + [`--trace-ids`](https://curl.se/docs/manpage.html#--trace-ids) option is what + you need. It prepends the transfer and connection identifier to each trace + output line: + + curl --trace-ascii d.txt --trace-ids http://example.com/ + +## See the Response + + By default curl sends the response to stdout. You need to redirect it + somewhere to avoid that, most often that is done with `-o` or `-O`. + +# URL + +## Spec + + The Uniform Resource Locator format is how you specify the address of a + particular resource on the Internet. You know these, you have seen URLs like + https://curl.se or https://example.com a million times. RFC 3986 is the + canonical spec. The formal name is not URL, it is **URI**. + +## Host + + The hostname is usually resolved using DNS or your /etc/hosts file to an IP + address and that is what curl communicates with. Alternatively you specify + the IP address directly in the URL instead of a name. + + For development and other trying out situations, you can point to a different + IP address for a hostname than what would otherwise be used, by using curl's + [`--resolve`](https://curl.se/docs/manpage.html#--resolve) option: + + curl --resolve www.example.org:80:127.0.0.1 http://www.example.org/ + +## Port number + + Each protocol curl supports operates on a default port number, be it over TCP + or in some cases UDP. Normally you do not have to take that into + consideration, but at times you run test servers on other ports or + similar. Then you can specify the port number in the URL with a colon and a + number immediately following the hostname. Like when doing HTTP to port + 1234: + + curl http://www.example.org:1234/ + + The port number you specify in the URL is the number that the server uses to + offer its services. Sometimes you may use a proxy, and then you may + need to specify that proxy's port number separately from what curl needs to + connect to the server. Like when using an HTTP proxy on port 4321: + + curl --proxy http://proxy.example.org:4321 http://remote.example.org/ + +## Username and password + + Some services are setup to require HTTP authentication and then you need to + provide name and password which is then transferred to the remote site in + various ways depending on the exact authentication protocol used. + + You can opt to either insert the user and password in the URL or you can + provide them separately: + + curl http://user:password@example.org/ + + or + + curl -u user:password http://example.org/ + + You need to pay attention that this kind of HTTP authentication is not what + is usually done and requested by user-oriented websites these days. They tend + to use forms and cookies instead. + +## Path part + + The path part is just sent off to the server to request that it sends back + the associated response. The path is what is to the right side of the slash + that follows the hostname and possibly port number. + +# Fetch a page + +## GET + + The simplest and most common request/operation made using HTTP is to GET a + URL. The URL could itself refer to a webpage, an image or a file. The client + issues a GET request to the server and receives the document it asked for. + If you issue the command line + + curl https://curl.se + + you get a webpage returned in your terminal window. The entire HTML document + this URL identifies. + + All HTTP replies contain a set of response headers that are normally hidden, + use curl's [`--include`](https://curl.se/docs/manpage.html#-i) (`-i`) + option to display them as well as the rest of the document. + +## HEAD + + You can ask the remote server for ONLY the headers by using the + [`--head`](https://curl.se/docs/manpage.html#-I) (`-I`) option which makes + curl issue a HEAD request. In some special cases servers deny the HEAD method + while others still work, which is a particular kind of annoyance. + + The HEAD method is defined and made so that the server returns the headers + exactly the way it would do for a GET, but without a body. It means that you + may see a `Content-Length:` in the response headers, but there must not be an + actual body in the HEAD response. + +## Multiple URLs in a single command line + + A single curl command line may involve one or many URLs. The most common case + is probably to just use one, but you can specify any amount of URLs. Yes any. + No limits. You then get requests repeated over and over for all the given + URLs. + + Example, send two GET requests: + + curl http://url1.example.com http://url2.example.com + + If you use [`--data`](https://curl.se/docs/manpage.html#-d) to POST to + the URL, using multiple URLs means that you send that same POST to all the + given URLs. + + Example, send two POSTs: + + curl --data name=curl http://url1.example.com http://url2.example.com + + +## Multiple HTTP methods in a single command line + + Sometimes you need to operate on several URLs in a single command line and do + different HTTP methods on each. For this, you might enjoy the + [`--next`](https://curl.se/docs/manpage.html#-:) option. It is basically a + separator that separates a bunch of options from the next. All the URLs + before `--next` get the same method and get all the POST data merged into + one. + + When curl reaches the `--next` on the command line, it resets the method and + the POST data and allow a new set. + + Perhaps this is best shown with a few examples. To send first a HEAD and then + a GET: + + curl -I http://example.com --next http://example.com + + To first send a POST and then a GET: + + curl -d score=10 http://example.com/post.cgi --next http://example.com/results.html + +# HTML forms + +## Forms explained + + Forms are the general way a website can present an HTML page with fields for + the user to enter data in, and then press some kind of 'OK' or 'Submit' + button to get that data sent to the server. The server then typically uses + the posted data to decide how to act. Like using the entered words to search + in a database, or to add the info in a bug tracking system, display the + entered address on a map or using the info as a login-prompt verifying that + the user is allowed to see what it is about to see. + + Of course there has to be some kind of program on the server end to receive + the data you send. You cannot just invent something out of the air. + +## GET + + A GET-form uses the method GET, as specified in HTML like: + +```html +
    + + +
    +``` + + In your favorite browser, this form appears with a text box to fill in and a + press-button labeled "OK". If you fill in '1905' and press the OK button, + your browser then creates a new URL to get for you. The URL gets + `junk.cgi?birthyear=1905&press=OK` appended to the path part of the previous + URL. + + If the original form was seen on the page `www.example.com/when/birth.html`, + the second page you get becomes + `www.example.com/when/junk.cgi?birthyear=1905&press=OK`. + + Most search engines work this way. + + To make curl do the GET form post for you, just enter the expected created + URL: + + curl "http://www.example.com/when/junk.cgi?birthyear=1905&press=OK" + +## POST + + The GET method makes all input field names get displayed in the URL field of + your browser. That is generally a good thing when you want to be able to + bookmark that page with your given data, but it is an obvious disadvantage if + you entered secret information in one of the fields or if there are a large + amount of fields creating a long and unreadable URL. + + The HTTP protocol then offers the POST method. This way the client sends the + data separated from the URL and thus you do not see any of it in the URL + address field. + + The form would look similar to the previous one: + +```html +
    + + +
    +``` + + And to use curl to post this form with the same data filled in as before, we + could do it like: + + curl --data "birthyear=1905&press=%20OK%20" http://www.example.com/when/junk.cgi + + This kind of POST uses the Content-Type `application/x-www-form-urlencoded` + and is the most widely used POST kind. + + The data you send to the server MUST already be properly encoded, curl does + not do that for you. For example, if you want the data to contain a space, + you need to replace that space with `%20`, etc. Failing to comply with this + most likely causes your data to be received wrongly and messed up. + + Recent curl versions can in fact url-encode POST data for you, like this: + + curl --data-urlencode "name=I am Daniel" http://www.example.com + + If you repeat `--data` several times on the command line, curl concatenates + all the given data pieces - and put a `&` symbol between each data segment. + +## File Upload POST + + Back in late 1995 they defined an additional way to post data over HTTP. It + is documented in the RFC 1867, why this method sometimes is referred to as + RFC 1867-posting. + + This method is mainly designed to better support file uploads. A form that + allows a user to upload a file could be written like this in HTML: + +
    + + +
    + + This clearly shows that the Content-Type about to be sent is + `multipart/form-data`. + + To post to a form like this with curl, you enter a command line like: + + curl --form upload=@localfilename --form press=OK [URL] + +## Hidden Fields + + A common way for HTML based applications to pass state information between + pages is to add hidden fields to the forms. Hidden fields are already filled + in, they are not displayed to the user and they get passed along just as all + the other fields. + + A similar example form with one visible field, one hidden field and one + submit button could look like: + +```html +
    + + + +
    +``` + + To POST this with curl, you do not have to think about if the fields are + hidden or not. To curl they are all the same: + + curl --data "birthyear=1905&press=OK&person=daniel" [URL] + +## Figure Out What A POST Looks Like + + When you are about to fill in a form and send it to a server by using curl + instead of a browser, you are of course interested in sending a POST exactly + the way your browser does. + + An easy way to get to see this, is to save the HTML page with the form on + your local disk, modify the 'method' to a GET, and press the submit button + (you could also change the action URL if you want to). + + You then clearly see the data get appended to the URL, separated with a + `?`-letter as GET forms are supposed to. + +# HTTP upload + +## PUT + + Perhaps the best way to upload data to an HTTP server is to use PUT. Then + again, this of course requires that someone put a program or script on the + server end that knows how to receive an HTTP PUT stream. + + Put a file to an HTTP server with curl: + + curl --upload-file uploadfile http://www.example.com/receive.cgi + +# HTTP Authentication + +## Basic Authentication + + HTTP Authentication is the ability to tell the server your username and + password so that it can verify that you are allowed to do the request you are + doing. The Basic authentication used in HTTP (which is the type curl uses by + default) is **plain text** based, which means it sends username and password + only slightly obfuscated, but still fully readable by anyone that sniffs on + the network between you and the remote server. + + To tell curl to use a user and password for authentication: + + curl --user name:password http://www.example.com + +## Other Authentication + + The site might require a different authentication method (check the headers + returned by the server), and then + [`--ntlm`](https://curl.se/docs/manpage.html#--ntlm), + [`--digest`](https://curl.se/docs/manpage.html#--digest), + [`--negotiate`](https://curl.se/docs/manpage.html#--negotiate) or even + [`--anyauth`](https://curl.se/docs/manpage.html#--anyauth) might be + options that suit you. + +## Proxy Authentication + + Sometimes your HTTP access is only available through the use of an HTTP + proxy. This seems to be especially common at various companies. An HTTP proxy + may require its own user and password to allow the client to get through to + the Internet. To specify those with curl, run something like: + + curl --proxy-user proxyuser:proxypassword curl.se + + If your proxy requires the authentication to be done using the NTLM method, + use [`--proxy-ntlm`](https://curl.se/docs/manpage.html#--proxy-ntlm), if + it requires Digest use + [`--proxy-digest`](https://curl.se/docs/manpage.html#--proxy-digest). + + If you use any one of these user+password options but leave out the password + part, curl prompts for the password interactively. + +## Hiding credentials + + Do note that when a program is run, its parameters might be possible to see + when listing the running processes of the system. Thus, other users may be + able to watch your passwords if you pass them as plain command line + options. There are ways to circumvent this. + + It is worth noting that while this is how HTTP Authentication works, many + websites do not use this concept when they provide logins etc. See the Web + Login chapter further below for more details on that. + +# More HTTP Headers + +## Referer + + An HTTP request may include a 'referer' field (yes it is misspelled), which + can be used to tell from which URL the client got to this particular + resource. Some programs/scripts check the referer field of requests to verify + that this was not arriving from an external site or an unknown page. While + this is a stupid way to check something so easily forged, many scripts still + do it. Using curl, you can put anything you want in the referer-field and + thus more easily be able to fool the server into serving your request. + + Use curl to set the referer field with: + + curl --referer http://www.example.come http://www.example.com + +## User Agent + + Similar to the referer field, all HTTP requests may set the User-Agent + field. It names what user agent (client) that is being used. Many + applications use this information to decide how to display pages. Silly web + programmers try to make different pages for users of different browsers to + make them look the best possible for their particular browsers. They usually + also do different kinds of JavaScript etc. + + At times, you may learn that getting a page with curl does not return the + same page that you see when getting the page with your browser. Then you know + it is time to set the User Agent field to fool the server into thinking you + are one of those browsers. + + By default, curl uses curl/VERSION, such as User-Agent: curl/8.11.0. + + To make curl look like Internet Explorer 5 on a Windows 2000 box: + + curl --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" [URL] + + Or why not look like you are using Netscape 4.73 on an old Linux box: + + curl --user-agent "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" [URL] + +## Redirects + +## Location header + + When a resource is requested from a server, the reply from the server may + include a hint about where the browser should go next to find this page, or a + new page keeping newly generated output. The header that tells the browser to + redirect is `Location:`. + + curl does not follow `Location:` headers by default, but simply displays such + pages in the same manner it displays all HTTP replies. It does however + feature an option that makes it attempt to follow the `Location:` pointers. + + To tell curl to follow a Location: + + curl --location http://www.example.com + + If you use curl to POST to a site that immediately redirects you to another + page, you can safely use [`--location`](https://curl.se/docs/manpage.html#-L) + (`-L`) and `--data`/`--form` together. curl only uses POST in the first + request, and then revert to GET in the following operations. + +## Other redirects + + Browsers typically support at least two other ways of redirects that curl + does not: first the html may contain a meta refresh tag that asks the browser + to load a specific URL after a set number of seconds, or it may use + JavaScript to do it. + +# Cookies + +## Cookie Basics + + The way the web browsers do "client side state control" is by using + cookies. Cookies are just names with associated contents. The cookies are + sent to the client by the server. The server tells the client for what path + and hostname it wants the cookie sent back, and it also sends an expiration + date and a few more properties. + + When a client communicates with a server with a name and path as previously + specified in a received cookie, the client sends back the cookies and their + contents to the server, unless of course they are expired. + + Many applications and servers use this method to connect a series of requests + into a single logical session. To be able to use curl in such occasions, we + must be able to record and send back cookies the way the web application + expects them. The same way browsers deal with them. + +## Cookie options + + The simplest way to send a few cookies to the server when getting a page with + curl is to add them on the command line like: + + curl --cookie "name=Daniel" http://www.example.com + + Cookies are sent as common HTTP headers. This is practical as it allows curl + to record cookies simply by recording headers. Record cookies with curl by + using the [`--dump-header`](https://curl.se/docs/manpage.html#-D) (`-D`) + option like: + + curl --dump-header headers_and_cookies http://www.example.com + + (Take note that the + [`--cookie-jar`](https://curl.se/docs/manpage.html#-c) option described + below is a better way to store cookies.) + + curl has a full blown cookie parsing engine built-in that comes in use if you + want to reconnect to a server and use cookies that were stored from a + previous connection (or hand-crafted manually to fool the server into + believing you had a previous connection). To use previously stored cookies, + you run curl like: + + curl --cookie stored_cookies_in_file http://www.example.com + + curl's "cookie engine" gets enabled when you use the + [`--cookie`](https://curl.se/docs/manpage.html#-b) option. If you only + want curl to understand received cookies, use `--cookie` with a file that + does not exist. Example, if you want to let curl understand cookies from a + page and follow a location (and thus possibly send back cookies it received), + you can invoke it like: + + curl --cookie nada --location http://www.example.com + + curl has the ability to read and write cookie files that use the same file + format that Netscape and Mozilla once used. It is a convenient way to share + cookies between scripts or invokes. The `--cookie` (`-b`) switch + automatically detects if a given file is such a cookie file and parses it, + and by using the `--cookie-jar` (`-c`) option you make curl write a new + cookie file at the end of an operation: + + curl --cookie cookies.txt --cookie-jar newcookies.txt \ + http://www.example.com + +# HTTPS + +## HTTPS is HTTP secure + + There are a few ways to do secure HTTP transfers. By far the most common + protocol for doing this is what is generally known as HTTPS, HTTP over + SSL. SSL encrypts all the data that is sent and received over the network and + thus makes it harder for attackers to spy on sensitive information. + + SSL (or TLS as the current version of the standard is called) offers a set of + advanced features to do secure transfers over HTTP. + + curl supports encrypted fetches when built to use a TLS library and it can be + built to use one out of a fairly large set of libraries - `curl -V` shows + which one your curl was built to use (if any). To get a page from an HTTPS + server, simply run curl like: + + curl https://secure.example.com + +## Certificates + + In the HTTPS world, you use certificates to validate that you are the one you + claim to be, as an addition to normal passwords. curl supports client- side + certificates. All certificates are locked with a passphrase, which you need + to enter before the certificate can be used by curl. The passphrase can be + specified on the command line or if not, entered interactively when curl + queries for it. Use a certificate with curl on an HTTPS server like: + + curl --cert mycert.pem https://secure.example.com + + curl also tries to verify that the server is who it claims to be, by + verifying the server's certificate against a locally stored CA cert bundle. + Failing the verification causes curl to deny the connection. You must then + use [`--insecure`](https://curl.se/docs/manpage.html#-k) (`-k`) in case you + want to tell curl to ignore that the server cannot be verified. + + More about server certificate verification and ca cert bundles can be read in + the [`SSLCERTS` document](https://curl.se/docs/sslcerts.html). + + At times you may end up with your own CA cert store and then you can tell + curl to use that to verify the server's certificate: + + curl --cacert ca-bundle.pem https://example.com/ + +# Custom Request Elements + +## Modify method and headers + + Doing fancy stuff, you may need to add or change elements of a single curl + request. + + For example, you can change the POST method to `PROPFIND` and send the data + as `Content-Type: text/xml` (instead of the default `Content-Type`) like + this: + + curl --data "" --header "Content-Type: text/xml" \ + --request PROPFIND example.com + + You can delete a default header by providing one without content. Like you + can ruin the request by chopping off the `Host:` header: + + curl --header "Host:" http://www.example.com + + You can add headers the same way. Your server may want a `Destination:` + header, and you can add it: + + curl --header "Destination: http://nowhere" http://example.com + +## More on changed methods + + It should be noted that curl selects which methods to use on its own + depending on what action to ask for. `-d` makes a POST, `-I` makes a HEAD and + so on. If you use the [`--request`](https://curl.se/docs/manpage.html#-X) / + `-X` option you can change the method keyword curl selects, but you do not + modify curl's behavior. This means that if you for example use -d "data" to + do a POST, you can modify the method to a `PROPFIND` with `-X` and curl still + thinks it sends a POST. You can change the normal GET to a POST method by + simply adding `-X POST` in a command line like: + + curl -X POST http://example.org/ + + curl however still acts as if it sent a GET so it does not send any request + body etc. + +# Web Login + +## Some login tricks + + While not strictly just HTTP related, it still causes a lot of people + problems so here's the executive run-down of how the vast majority of all + login forms work and how to login to them using curl. + + It can also be noted that to do this properly in an automated fashion, you + most certainly need to script things and do multiple curl invokes etc. + + First, servers mostly use cookies to track the logged-in status of the + client, so you need to capture the cookies you receive in the responses. + Then, many sites also set a special cookie on the login page (to make sure + you got there through their login page) so you should make a habit of first + getting the login-form page to capture the cookies set there. + + Some web-based login systems feature various amounts of JavaScript, and + sometimes they use such code to set or modify cookie contents. Possibly they + do that to prevent programmed logins, like this manual describes how to... + Anyway, if reading the code is not enough to let you repeat the behavior + manually, capturing the HTTP requests done by your browsers and analyzing the + sent cookies is usually a working method to work out how to shortcut the + JavaScript need. + + In the actual `
    ` tag for the login, lots of sites fill-in + random/session or otherwise secretly generated hidden tags and you may need + to first capture the HTML code for the login form and extract all the hidden + fields to be able to do a proper login POST. Remember that the contents need + to be URL encoded when sent in a normal POST. + +# Debug + +## Some debug tricks + + Many times when you run curl on a site, you notice that the site does not + seem to respond the same way to your curl requests as it does to your + browser's. + + Then you need to start making your curl requests more similar to your + browser's requests: + + - Use the `--trace-ascii` option to store fully detailed logs of the requests + for easier analyzing and better understanding + + - Make sure you check for and use cookies when needed (both reading with + `--cookie` and writing with `--cookie-jar`) + + - Set user-agent (with [`-A`](https://curl.se/docs/manpage.html#-A)) to + one like a recent popular browser does + + - Set referer (with [`-E`](https://curl.se/docs/manpage.html#-E)) like + it is set by the browser + + - If you use POST, make sure you send all the fields and in the same order as + the browser does it. + +## Check what the browsers do + + A good helper to make sure you do this right, is the web browsers' developers + tools that let you view all headers you send and receive (even when using + HTTPS). + + A more raw approach is to capture the HTTP traffic on the network with tools + such as Wireshark or tcpdump and check what headers that were sent and + received by the browser. (HTTPS forces you to use `SSLKEYLOGFILE` to do + that.) diff --git a/curl/docs/URL-SYNTAX.md b/curl/docs/URL-SYNTAX.md new file mode 100644 index 0000000..81c6926 --- /dev/null +++ b/curl/docs/URL-SYNTAX.md @@ -0,0 +1,396 @@ + + +# URL syntax and their use in curl + +## Specifications + +The official "URL syntax" is primarily defined in these two different +specifications: + + - [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) (although URL is called + "URI" in there) + - [The WHATWG URL Specification](https://url.spec.whatwg.org/) + +RFC 3986 is the earlier one, and curl has always tried to adhere to that one +(since it shipped in January 2005). + +The WHATWG URL spec was written later, is incompatible with the RFC 3986 and +changes over time. + +## Variations + +URL parsers as implemented in browsers, libraries and tools usually opt to +support one of the mentioned specifications. Bugs, differences in +interpretations and the moving nature of the WHATWG spec does however make it +unlikely that multiple parsers treat URLs the same way. + +## Security + +Due to the inherent differences between URL parser implementations, it is +considered a security risk to mix different implementations and assume the +same behavior. + +For example, if you use one parser to check if a URL uses a good hostname or +the correct auth field, and then pass on that same URL to a *second* parser, +there is always a risk it treats the same URL differently. There is no right +and wrong in URL land, only differences of opinions. + +libcurl offers a separate API to its URL parser for this reason, among others. + +Applications may at times find it convenient to allow users to specify URLs +for various purposes and that string would then end up fed to curl. Getting a +URL from an external untrusted party and using it with curl brings several +security concerns: + +1. If you have an application that runs as or in a server application, getting + an unfiltered URL can trick your application to access a local resource + instead of a remote resource. Protecting yourself against localhost accesses + is hard when accepting user provided URLs. + +2. Such custom URLs can access other ports than you planned as port numbers + are part of the regular URL format. The combination of a local host and a + custom port number can allow external users to play tricks with your local + services. + +3. Such a URL might use other schemes than you thought of or planned for. + +## "RFC 3986 plus" + +curl recognizes a URL syntax that we call "RFC 3986 plus". It is grounded on +the well established RFC 3986 to make sure previously written command lines +and curl using scripts remain working. + +curl's URL parser allows a few deviations from the spec in order to +inter-operate better with URLs that appear in the wild. + +### Spaces + +A URL provided to curl cannot contain spaces. They need to be provided URL +encoded to be accepted in a URL by curl. + +An exception to this rule: `Location:` response headers that indicate to a +client where a resource has been redirected to, sometimes contain spaces. This +is a violation of RFC 3986 but is fine in the WHATWG spec. curl handles these +by re-encoding them to `%20`. + +### Non-ASCII + +Byte values in a provided URL that are outside of the printable ASCII range +are percent-encoded by curl. + +### Multiple slashes + +An absolute URL always starts with a "scheme" followed by a colon. For all the +schemes curl supports, the colon must be followed by two slashes according to +RFC 3986 but not according to the WHATWG spec - which allows one to infinity +amount. + +curl allows one, two or three slashes after the colon to still be considered a +valid URL. + +### "scheme-less" + +curl supports "URLs" that do not start with a scheme. This is not supported by +any of the specifications. This is a shortcut to entering URLs that was +supported by browsers early on and has been mimicked by curl. + +Based on what the hostname starts with, curl "guesses" what protocol to use: + + - `ftp.` means FTP + - `dict.` means DICT + - `ldap.` means LDAP + - `imap.` means IMAP + - `smtp.` means SMTP + - `pop3.` means POP3 + - all other means HTTP + +### Globbing letters + +The curl command line tool supports "globbing" of URLs. It means that you can +create ranges and lists using `[N-M]` and `{one,two,three}` sequences. The +letters used for this (`[]{}`) are reserved in RFC 3986 and can therefore not +legitimately be part of such a URL. + +They are however not reserved or special in the WHATWG specification, so +globbing can mess up such URLs. Globbing can be turned off for such occasions +(using `--globoff`). + +# URL syntax details + +A URL may consist of the following components - many of them are optional: + + [scheme][divider][userinfo][hostname][port number][path][query][fragment] + +Each component is separated from the following component with a divider +character or string. + +For example, this could look like: + + http://user:password@www.example.com:80/index.html?foo=bar#top + +## Scheme + +The scheme specifies the protocol to use. A curl build can support a few or +many different schemes. You can limit what schemes curl should accept. + +curl supports the following schemes on URLs specified to transfer. They are +matched case insensitively: + +`dict`, `file`, `ftp`, `ftps`, `gopher`, `gophers`, `http`, `https`, `imap`, +`imaps`, `ldap`, `ldaps`, `mqtt`, `pop3`, `pop3s`, `rtmp`, `rtmpe`, `rtmps`, +`rtmpt`, `rtmpte`, `rtmpts`, `rtsp`, `smb`, `smbs`, `smtp`, `smtps`, `telnet`, +`tftp` + +When the URL is specified to identify a proxy, curl recognizes the following +schemes: + +`http`, `https`, `socks4`, `socks4a`, `socks5`, `socks5h`, `socks` + +## Userinfo + +The userinfo field can be used to set username and password for +authentication purposes in this transfer. The use of this field is discouraged +since it often means passing around the password in plain text and is thus a +security risk. + +URLs for IMAP, POP3 and SMTP also support *login options* as part of the +userinfo field. They are provided as a semicolon after the password and then +the options. + +## Hostname + +The hostname part of the URL contains the address of the server that you want +to connect to. This can be the fully qualified domain name of the server, the +local network name of the machine on your network or the IP address of the +server or machine represented by either an IPv4 or IPv6 address (within +brackets). For example: + + http://www.example.com/ + + http://hostname/ + + http://192.168.0.1/ + + http://[2001:1890:1112:1::20]/ + +### "localhost" + +Starting in curl 7.77.0, curl uses loopback IP addresses for the name +`localhost`: `127.0.0.1` and `::1`. It does not resolve the name using the +resolver functions. + +This is done to make sure the host accessed is truly the localhost - the local +machine. + +### IDNA + +If curl was built with International Domain Name (IDN) support, it can also +handle hostnames using non-ASCII characters. + +When built with libidn2, curl uses the IDNA 2008 standard. This is equivalent +to the WHATWG URL spec, but differs from certain browsers that use IDNA 2003 +Transitional Processing. The two standards have a huge overlap but differ +slightly, perhaps most famously in how they deal with the +[German "double s"](https://en.wikipedia.org/wiki/%c3%9f) +([LATIN SMALL LETTER SHARP S](https://codepoints.net/U+00DF)). + +When WinIDN is used, curl uses IDNA 2003 Transitional Processing, like the rest +of Windows. + +## Port number + +If there is a colon after the hostname, that should be followed by the port +number to use. 1 - 65535. curl also supports a blank port number field - but +only if the URL starts with a scheme. + +If the port number is not specified in the URL, curl uses a default port +number based on the provide scheme: + +DICT 2628, FTP 21, FTPS 990, GOPHER 70, GOPHERS 70, HTTP 80, HTTPS 443, +IMAP 132, IMAPS 993, LDAP 369, LDAPS 636, MQTT 1883, POP3 110, POP3S 995, +RTMP 1935, RTMPS 443, RTMPT 80, RTSP 554, SCP 22, SFTP 22, SMB 445, SMBS 445, +SMTP 25, SMTPS 465, TELNET 23, TFTP 69 + +# Scheme specific behaviors + +## FTP + +The path part of an FTP request specifies the file to retrieve and from which +directory. If the file part is omitted then libcurl downloads the directory +listing for the directory specified. If the directory is omitted then the +directory listing for the root / home directory is returned. + +FTP servers typically put the user in its "home directory" after login, which +then differs between users. To explicitly specify the root directory of an FTP +server, start the path with double slash `//` or `/%2f` (2F is the hexadecimal +value of the ASCII code for the slash). + +## FILE + +When a `FILE://` URL is accessed on Windows systems, it can be crafted in a +way so that Windows attempts to connect to a (remote) machine when curl wants +to read or write such a path. + +curl only allows the hostname part of a FILE URL to be one out of these three +alternatives: `localhost`, `127.0.0.1` or blank ("", zero characters). +Anything else makes curl fail to parse the URL. + +### Windows-specific FILE details + +curl accepts that the FILE URL's path starts with a "drive letter". That is a +single letter `a` to `z` followed by a colon or a pipe character (`|`). + +The Windows operating system itself converts some file accesses to perform +network accesses over SMB/CIFS, through several different file path patterns. +This way, a `file://` URL passed to curl *might* be converted into a network +access inadvertently and unknowingly to curl. This is a Windows feature curl +cannot control or disable. + +## IMAP + +The path part of an IMAP request not only specifies the mailbox to list or +select, but can also be used to check the `UIDVALIDITY` of the mailbox, to +specify the `UID`, `SECTION` and `PARTIAL` octets of the message to fetch and +to specify what messages to search for. + +A top level folder list: + + imap://user:password@mail.example.com + +A folder list on the user's inbox: + + imap://user:password@mail.example.com/INBOX + +Select the user's inbox and fetch message with `uid = 1`: + + imap://user:password@mail.example.com/INBOX/;UID=1 + +Select the user's inbox and fetch the first message in the mail box: + + imap://user:password@mail.example.com/INBOX/;MAILINDEX=1 + +Select the user's inbox, check the `UIDVALIDITY` of the mailbox is 50 and +fetch message 2 if it is: + + imap://user:password@mail.example.com/INBOX;UIDVALIDITY=50/;UID=2 + +Select the user's inbox and fetch the text portion of message 3: + + imap://user:password@mail.example.com/INBOX/;UID=3/;SECTION=TEXT + +Select the user's inbox and fetch the first 1024 octets of message 4: + + imap://user:password@mail.example.com/INBOX/;UID=4/;PARTIAL=0.1024 + +Select the user's inbox and check for NEW messages: + + imap://user:password@mail.example.com/INBOX?NEW + +Select the user's inbox and search for messages containing "shadows" in the +subject line: + + imap://user:password@mail.example.com/INBOX?SUBJECT%20shadows + +Searching via the query part of the URL `?` is a search request for the +results to be returned as message sequence numbers (`MAILINDEX`). It is +possible to make a search request for results to be returned as unique ID +numbers (`UID`) by using a custom curl request via `-X`. `UID` numbers are +unique per session (and multiple sessions when `UIDVALIDITY` is the same). For +example, if you are searching for `"foo bar"` in header+body (`TEXT`) and you +want the matching `MAILINDEX` numbers returned then you could search via URL: + + imap://user:password@mail.example.com/INBOX?TEXT%20%22foo%20bar%22 + +If you want matching `UID` numbers you have to use a custom request: + + imap://user:password@mail.example.com/INBOX -X "UID SEARCH TEXT \"foo bar\"" + +For more information about IMAP commands please see RFC 9051. For more +information about the individual components of an IMAP URL please see RFC 5092. + +* Note old curl versions would `FETCH` by message sequence number when `UID` +was specified in the URL. That was a bug fixed in 7.62.0, which added +`MAILINDEX` to `FETCH` by mail sequence number. + +## LDAP + +The path part of a LDAP request can be used to specify the: Distinguished +Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field is +separated by a question mark and when that field is not required an empty +string with the question mark separator should be included. + +Search for the `DN` as `My Organization`: + + ldap://ldap.example.com/o=My%20Organization + +the same search but only return `postalAddress` attributes: + + ldap://ldap.example.com/o=My%20Organization?postalAddress + +Search for an empty `DN` and request information about the +`rootDomainNamingContext` attribute for an Active Directory server: + + ldap://ldap.example.com/?rootDomainNamingContext + +For more information about the individual components of a LDAP URL please +see [RFC 4516](https://datatracker.ietf.org/doc/html/rfc4516). + +## POP3 + +The path part of a POP3 request specifies the message ID to retrieve. If the +ID is not specified then a list of waiting messages is returned instead. + +## SCP + +The path part of an SCP URL specifies the path and file to retrieve or +upload. The file is taken as an absolute path from the root directory on the +server. + +To specify a path relative to the user's home directory on the server, prepend +`~/` to the path portion. + +## SFTP + +The path part of an SFTP URL specifies the file to retrieve or upload. If the +path ends with a slash (`/`) then a directory listing is returned instead of a +file. If the path is omitted entirely then the directory listing for the root +/ home directory is returned. + +## SMB +The path part of a SMB request specifies the file to retrieve and from what +share and directory or the share to upload to and as such, may not be omitted. +If the username is embedded in the URL then it must contain the domain name +and as such, the backslash must be URL encoded as %2f. + +When uploading to SMB, the size of the file needs to be known ahead of time, +meaning that you can upload a file passed to curl over a pipe like stdin. + +curl supports SMB version 1 (only) + +## SMTP + +The path part of a SMTP request specifies the hostname to present during +communication with the mail server. If the path is omitted, then libcurl +attempts to resolve the local computer's hostname. However, this may not +return the fully qualified domain name that is required by some mail servers +and specifying this path allows you to set an alternative name, such as your +machine's fully qualified domain name, which you might have obtained from an +external function such as gethostname or getaddrinfo. + +The default smtp port is 25. Some servers use port 587 as an alternative. + +## RTMP + +There is no official URL spec for RTMP so libcurl uses the URL syntax supported +by the underlying librtmp library. It has a syntax where it wants a +traditional URL, followed by a space and a series of space-separated +`name=value` pairs. + +While space is not typically a "legal" letter, libcurl accepts them. When a +user wants to pass in a `#` (hash) character it is treated as a fragment and +it gets cut off by libcurl if provided literally. You have to escape it by +providing it as backslash and its ASCII value in hexadecimal: `\23`. diff --git a/curl/docs/VERSIONS.md b/curl/docs/VERSIONS.md new file mode 100644 index 0000000..a6c34b4 --- /dev/null +++ b/curl/docs/VERSIONS.md @@ -0,0 +1,338 @@ + + +Version Numbers and Releases +============================ + + The command line tool curl and the library libcurl are individually + versioned, but they usually follow each other closely. + + The version numbering is always built up using the same system: + + X.Y.Z + + - X is main version number + - Y is release number + - Z is patch number + +## Bumping numbers + + One of these numbers get bumped in each new release. The numbers to the right + of a bumped number are reset to zero. + + The main version number is bumped when *really* big, world colliding changes + are made. The release number is bumped when changes are performed or + things/features are added. The patch number is bumped when the changes are + mere bugfixes. + + It means that after release 1.2.3, we can release 2.0.0 if something really + big has been made, 1.3.0 if not that big changes were made or 1.2.4 if only + bugs were fixed. + + Bumping, as in increasing the number with 1, is unconditionally only + affecting one of the numbers (except the ones to the right of it, that may be + set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99 + becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100.0 might come. + + All original curl source release archives are named according to the libcurl + version (not according to the curl client version that, as said before, might + differ). + + As a service to any application that might want to support new libcurl + features while still being able to build with older versions, all releases + have the libcurl version stored in the `curl/curlver.h` file using a static + numbering scheme that can be used for comparison. The version number is + defined as: + +```c +#define LIBCURL_VERSION_NUM 0xXXYYZZ +``` + + Where `XX`, `YY` and `ZZ` are the main version, release and patch numbers in + hexadecimal. All three number fields are always represented using two digits + (eight bits each). 1.2 would appear as "0x010200" while version 9.11.7 + appears as `0x090b07`. + + This 6-digit hexadecimal number is always a greater number in a more recent + release. It makes comparisons with greater than and less than work. + + This number is also available as three separate defines: + `LIBCURL_VERSION_MAJOR`, `LIBCURL_VERSION_MINOR` and `LIBCURL_VERSION_PATCH`. + +## Past releases + +This is a list of all public releases with their version numbers and release +dates. The tool was called `httpget` before 2.0, `urlget` before 4.0 then +`curl` since 4.0. `libcurl` and `curl` are always released in sync, using the +same version numbers. + +- 8.14.0: pending +- 8.13.0: April 2 2025 +- 8.12.1: February 13 2025 +- 8.12.0: February 5 2025 +- 8.11.1: December 11 2024 +- 8.11.0: November 6 2024 +- 8.10.1: September 18 2024 +- 8.10.0: September 11 2024 +- 8.9.1: July 31 2024 +- 8.9.0: July 24 2024 +- 8.8.0: May 22 2024 +- 8.7.1: March 27 2024 +- 8.7.0: March 27 2024 +- 8.6.0: January 31 2024 +- 8.5.0: December 6 2023 +- 8.4.0: October 11 2023 +- 8.3.0: September 13 2023 +- 8.2.1: July 26 2023 +- 8.2.0: July 19 2023 +- 8.1.2: May 30 2023 +- 8.1.1: May 23 2023 +- 8.1.0: May 17 2023 +- 8.0.1: March 20 2023 +- 8.0.0: March 20 2023 +- 7.88.1: February 20 2023 +- 7.88.0: February 15 2023 +- 7.87.0: December 21 2022 +- 7.86.0: October 26 2022 +- 7.85.0: August 31 2022 +- 7.84.0: June 27 2022 +- 7.83.1: May 11 2022 +- 7.83.0: April 27 2022 +- 7.82.0: March 5 2022 +- 7.81.0: January 5 2022 +- 7.80.0: November 10 2021 +- 7.79.1: September 22 2021 +- 7.79.0: September 15 2021 +- 7.78.0: July 21 2021 +- 7.77.0: May 26 2021 +- 7.76.1: April 14 2021 +- 7.76.0: March 31 2021 +- 7.75.0: February 3 2021 +- 7.74.0: December 9 2020 +- 7.73.0: October 14 2020 +- 7.72.0: August 19 2020 +- 7.71.1: July 1 2020 +- 7.71.0: June 24 2020 +- 7.70.0: April 29 2020 +- 7.69.1: March 11 2020 +- 7.69.0: March 4 2020 +- 7.68.0: January 8 2020 +- 7.67.0: November 6 2019 +- 7.66.0: September 11 2019 +- 7.65.3: July 19 2019 +- 7.65.2: July 17 2019 +- 7.65.1: June 5 2019 +- 7.65.0: May 22 2019 +- 7.64.1: March 27 2019 +- 7.64.0: February 6 2019 +- 7.63.0: December 12 2018 +- 7.62.0: October 31 2018 +- 7.61.1: September 5 2018 +- 7.61.0: July 11 2018 +- 7.60.0: May 16 2018 +- 7.59.0: March 14 2018 +- 7.58.0: January 24 2018 +- 7.57.0: November 29 2017 +- 7.56.1: October 23 2017 +- 7.56.0: October 4 2017 +- 7.55.1: August 14 2017 +- 7.55.0: August 9 2017 +- 7.54.1: June 14 2017 +- 7.54.0: April 19 2017 +- 7.53.1: February 24 2017 +- 7.53.0: February 22 2017 +- 7.52.1: December 23 2016 +- 7.52.0: December 21 2016 +- 7.51.0: November 2 2016 +- 7.50.3: September 14 2016 +- 7.50.2: September 7 2016 +- 7.50.1: August 3 2016 +- 7.50.0: July 21 2016 +- 7.49.1: May 30 2016 +- 7.49.0: May 18 2016 +- 7.48.0: March 23 2016 +- 7.47.1: February 8 2016 +- 7.47.0: January 27 2016 +- 7.46.0: December 2 2015 +- 7.45.0: October 7 2015 +- 7.44.0: August 12 2015 +- 7.43.0: June 17 2015 +- 7.42.1: April 29 2015 +- 7.42.0: April 22 2015 +- 7.41.0: February 25 2015 +- 7.40.0: January 8 2015 +- 7.39.0: November 5 2014 +- 7.38.0: September 10 2014 +- 7.37.1: July 16 2014 +- 7.37.0: May 21 2014 +- 7.36.0: March 26 2014 +- 7.35.0: January 29 2014 +- 7.34.0: December 17 2013 +- 7.33.0: October 14 2013 +- 7.32.0: August 12 2013 +- 7.31.0: June 22 2013 +- 7.30.0: April 12 2013 +- 7.29.0: February 6 2013 +- 7.28.1: November 20 2012 +- 7.28.0: October 10 2012 +- 7.27.0: July 27 2012 +- 7.26.0: May 24 2012 +- 7.25.0: March 22 2012 +- 7.24.0: January 24 2012 +- 7.23.1: November 17 2011 +- 7.23.0: November 15 2011 +- 7.22.0: September 13 2011 +- 7.21.7: June 23 2011 +- 7.21.6: April 22 2011 +- 7.21.5: April 17 2011 +- 7.21.4: February 17 2011 +- 7.21.3: December 15 2010 +- 7.21.2: October 13 2010 +- 7.21.1: August 11 2010 +- 7.21.0: June 16 2010 +- 7.20.1: April 14 2010 +- 7.20.0: February 9 2010 +- 7.19.7: November 4 2009 +- 7.19.6: August 12 2009 +- 7.19.5: May 18 2009 +- 7.19.4: March 3 2009 +- 7.19.3: January 19 2009 +- 7.19.2: November 13 2008 +- 7.19.1: November 5 2008 +- 7.19.0: September 1 2008 +- 7.18.2: June 4 2008 +- 7.18.1: March 30 2008 +- 7.18.0: January 28 2008 +- 7.17.1: October 29 2007 +- 7.17.0: September 13 2007 +- 7.16.4: July 10 2007 +- 7.16.3: June 25 2007 +- 7.16.2: April 11 2007 +- 7.16.1: January 29 2007 +- 7.16.0: October 30 2006 +- 7.15.5: August 7 2006 +- 7.15.4: June 12 2006 +- 7.15.3: March 20 2006 +- 7.15.2: February 27 2006 +- 7.15.1: December 7 2005 +- 7.15.0: October 13 2005 +- 7.14.1: September 1 2005 +- 7.14.0: May 16 2005 +- 7.13.2: April 4 2005 +- 7.13.1: March 4 2005 +- 7.13.0: February 1 2005 +- 7.12.3: December 20 2004 +- 7.12.2: October 18 2004 +- 7.12.1: August 10 2004 +- 7.12.0: June 2 2004 +- 7.11.2: April 26 2004 +- 7.11.1: March 19 2004 +- 7.11.0: January 22 2004 +- 7.10.8: November 1 2003 +- 7.10.7: August 15 2003 +- 7.10.6: July 28 2003 +- 7.10.5: May 19 2003 +- 7.10.4: April 2 2003 +- 7.10.3: January 14 2003 +- 7.10.2: November 18 2002 +- 7.10.1: October 11 2002 +- 7.10: October 1 2002 +- 7.9.8: June 13 2002 +- 7.9.7: May 10 2002 +- 7.9.6: April 14 2002 +- 7.9.5: March 7 2002 +- 7.9.4: March 4 2002 +- 7.9.3: January 23 2002 +- 7.9.2: December 5 2001 +- 7.9.1: November 4 2001 +- 7.9: September 23 2001 +- 7.8.1: August 20 2001 +- 7.8: June 7 2001 +- 7.7.3: May 4 2001 +- 7.7.2: April 22 2001 +- 7.7.1: April 3 2001 +- 7.7: March 22 2001 +- 7.6.1: February 9 2001 +- 7.6: January 26 2001 +- 7.5.2: January 4 2001 +- 7.5.1: December 11 2000 +- 7.5: December 1 2000 +- 7.4.2: November 15 2000 +- 7.4.1: October 16 2000 +- 7.4: October 16 2000 +- 7.3: September 28 2000 +- 7.2.1: August 31 2000 +- 7.2: August 30 2000 +- 7.1.1: August 21 2000 +- 7.1: August 7 2000 +- 6.5.2: March 21 2000 +- 6.5.1: March 20 2000 +- 6.5: March 13 2000 +- 6.4: January 17 2000 +- 6.3.1: November 23 1999 +- 6.3: November 10 1999 +- 6.2: October 21 1999 +- 6.1: October 17 1999 +- 6.0: September 13 1999 +- 5.11: August 25 1999 +- 5.10: August 13 1999 +- 5.9.1: July 30 1999 +- 5.9: May 22 1999 +- 5.8: May 5 1999 +- 5.7.1: April 23 1999 +- 5.7: April 20 1999 +- 5.5.1: January 27 1999 +- 5.5: January 15 1999 +- 5.4: January 7 1999 +- 5.3: December 21 1998 +- 5.2.1: December 14 1998 +- 5.2: December 14 1998 +- 5.0: December 1 1998 +- 4.10: October 26 1998 +- 4.9: October 7 1998 +- 4.8.4: September 20 1998 +- 4.8.3: September 7 1998 +- 4.8.2: August 14 1998 +- 4.8.1: August 7 1998 +- 4.8: July 30 1998 +- 4.7: July 20 1998 +- 4.6: July 3 1998 +- 4.5.1: June 12 1998 +- 4.5: May 30 1998 +- 4.4: May 13 1998 +- 4.3: April 30 1998 +- 4.2: April 15 1998 +- 4.1: April 3 1998 +- 4.0: March 20 1998 +- 3.12: March 14 1998 +- 3.11: February 9 1998 +- 3.10: February 4 1998 +- 3.9: February 4 1998 +- 3.7: January 15 1998 +- 3.6: January 1 1998 +- 3.5: December 15 1997 +- 3.2: December 1 1997 +- 3.1: November 24 1997 +- 3.0: November 1 1997 +- 2.9: October 15 1997 +- 2.8: October 1 1997 +- 2.7: September 20 1997 +- 2.6: September 10 1997 +- 2.5: September 1 1997 +- 2.4: August 27 1997 +- 2.3: August 21 1997 +- 2.2: August 14 1997 +- 2.1: August 10 1997 +- 2.0: August 1 1997 +- 1.5: July 21 1997 +- 1.4: July 15 1997 +- 1.3: June 1 1997 +- 1.2: May 1 1997 +- 1.1: April 20 1997 +- 1.0: April 8 1997 +- 0.3: February 1 1997 +- 0.2: December 17 1996 +- 0.1: November 11 1996 diff --git a/curl/docs/VULN-DISCLOSURE-POLICY.md b/curl/docs/VULN-DISCLOSURE-POLICY.md new file mode 100644 index 0000000..23deb6b --- /dev/null +++ b/curl/docs/VULN-DISCLOSURE-POLICY.md @@ -0,0 +1,349 @@ + + +# curl vulnerability disclosure policy + +This document describes how security vulnerabilities are handled in the curl +project. + +## Publishing Information + +All known and public curl or libcurl related vulnerabilities are listed on +[the curl website security page](https://curl.se/docs/security.html). + +Security vulnerabilities **should not** be entered in the project's public bug +tracker. + +## Vulnerability Handling + +The typical process for handling a new security vulnerability is as follows. + +No information should be made public about a vulnerability until it is +formally announced at the end of this process. That means, for example, that a +bug tracker entry must NOT be created to track the issue since that makes the +issue public and it should not be discussed on any of the project's public +mailing lists. Messages associated with any commits should not make any +reference to the security nature of the commit if done prior to the public +announcement. + +- The person discovering the issue, the reporter, reports the vulnerability on + [HackerOne](https://hackerone.com/curl). Issues filed there reach a handful + of selected and trusted people. + +- Messages that do not relate to the reporting or managing of an undisclosed + security vulnerability in curl or libcurl are ignored and no further action + is required. + +- A person in the security team responds to the original report to acknowledge + that a human has seen the report. + +- The security team investigates the report and either rejects it or accepts + it. See below for examples of problems that are not considered + vulnerabilities. + +- If the report is rejected, the team writes to the reporter to explain why. + +- If the report is accepted, the team writes to the reporter to let them + know it is accepted and that they are working on a fix. + +- The security team discusses the problem, works out a fix, considers the + impact of the problem and suggests a release schedule. This discussion + should involve the reporter as much as possible. + +- The release of the information should be "as soon as possible" and is most + often synchronized with an upcoming release that contains the fix. If the + reporter, or anyone else involved, thinks the next planned release is too + far away, then a separate earlier release should be considered. + +- Write a security advisory draft about the problem that explains what the + problem is, its impact, which versions it affects, solutions or workarounds, + when the release is out and make sure to credit all contributors properly. + Figure out the CWE (Common Weakness Enumeration) number for the flaw. See + [SECURITY-ADVISORY](https://curl.se/dev/advisory.html) for help on creating + the advisory. + +- Request a CVE Id for the issue. curl is a CNA (CVE Numbering Authority) and + can request its own numbers. + +- Update the "security advisory" with the CVE number. + +- The security team commits the fix in a private branch. The commit message + should ideally contain the CVE number. If the severity level of the issue is + set to Low or Medium, the fix is allowed to get merged into the master + repository via a normal PR - but without mentioning it being a security + vulnerability. + +- The monetary reward part of the bug-bounty is managed by the Internet Bug + Bounty team and the reporter is asked to request the reward from them after + the issue has been completely handled and published by curl. + +- No more than 10 days before release, inform + [distros@openwall](https://oss-security.openwall.org/wiki/mailing-lists/distros) + to prepare them about the upcoming public security vulnerability + announcement - attach the advisory draft for information with CVE and + current patch. 'distros' does not accept an embargo longer than 14 days and + they do not care for Windows-specific flaws. + +- No more than 48 hours before the release, the private branch is merged into + the master branch and pushed. Once pushed, the information is accessible to + the public and the actual release should follow suit immediately afterwards. + The time between the push and the release is used for final tests and + reviews. + +- The project team creates a release that includes the fix. + +- The project team announces the release and the vulnerability to the world in + the same manner we always announce releases. It gets sent to the + curl-announce, curl-library and curl-users mailing lists. + +- The security webpage on the website should get the new vulnerability + mentioned. + +## security (at curl dot se) + +This is a private mailing list for discussions on and about curl security +issues. + +Who is on this list? There are a couple of criteria you must meet, and then we +might ask you to join the list or you can ask to join it. It really is not a +formal process. We basically only require that you have a long-term presence +in the curl project and you have shown an understanding for the project and +its way of working. You must have been around for a good while and you should +have no plans of vanishing in the near future. + +We do not make the list of participants public mostly because it tends to vary +somewhat over time and a list somewhere only risks getting outdated. + +## Publishing Security Advisories + +1. Write up the security advisory, using markdown syntax. Use the same + subtitles as last time to maintain consistency. + +2. Name the advisory file after the allocated CVE id. + +3. Add a line on the top of the array in `curl-www/docs/vuln.pm`. + +4. Put the new advisory markdown file in the `curl-www/docs/` directory. Add it + to the git repository. + +5. Run `make` in your local web checkout and verify that things look fine. + +6. On security advisory release day, push the changes on the curl-www + repository's remote master branch. + +## HackerOne + +Request the issue to be disclosed. If there are sensitive details present in +the report and discussion, those should be redacted from the disclosure. The +default policy is to disclose as much as possible as soon as the vulnerability +has been published. + +## Bug Bounty + +See [BUG-BOUNTY](https://curl.se/docs/bugbounty.html) for details on the +bug bounty program. + +# Severity levels + +The curl project's security team rates security problems using four severity +levels depending how serious we consider the problem to be. We use **Low**, +**Medium**, **High** and **Critical**. We refrain from using numerical scoring +of vulnerabilities. + +We do not support CVSS as a method to grade security vulnerabilities, so we do +not set them for CVE records published by the curl project. We believe CVSS is +a broken system that often does not properly evaluate to suitable severity +levels that reflect all dimensions and factors involved. Other organizations +however set and provide CVSS scores for curl vulnerabilities. You need to +decide for yourself if you believe they know enough about the subjects +involved to make reasonable assessments. Deciding between four different +severity levels is hard enough for us. + +When deciding severity level on a particular issue, we take all the factors +into account: attack vector, attack complexity, required privileges, necessary +build configuration, protocols involved, platform specifics and also what +effects a possible exploit or trigger of the issue can lead do, including +confidentiality, integrity or availability problems. + +## Low + +This is a security problem that is truly hard or unlikely to exploit or +trigger. Due to timing, platform requirements or the fact that options or +protocols involved are rare etc. [Past +example](https://curl.se/docs/CVE-2022-43552.html) + +## Medium + +This is a security problem that is less hard than **Low** to exploit or +trigger. Less strict timing, wider platforms availability or involving more +widely used options or protocols. A problem that usually needs something else +to also happen to become serious. [Past +example](https://curl.se/docs/CVE-2022-32206.html) + +## High + +This issue in itself a serious problem with real world impact. Flaws that can +easily compromise the confidentiality, integrity or availability of resources. +Exploiting or triggering this problem is not hard. [Past +example](https://curl.se/docs/CVE-2019-3822.html) + +## Critical + +Easily exploitable by a remote unauthenticated attacker and lead to system +compromise (arbitrary code execution) without requiring user interaction, with +a common configuration on a popular platform. This issue has few restrictions +and requirements and can be exploited easily using most curl configurations. +[Past example](https://curl.se/docs/CVE-2000-0973.html) + +# Not security issues + +This is an incomplete list of issues that are not considered vulnerabilities. + +## Small memory leaks + +We do not consider a small memory leak a security problem; even if the amount +of allocated memory grows by a small amount every now and then. Long-living +applications and services already need to have counter-measures and deal with +growing memory usage, be it leaks or just increased use. A small memory or +resource leak is then expected to *not* cause a security problem. + +Of course there can be a discussion if a leak is small or not. A large leak +can be considered a security problem due to the DOS risk. If leaked memory +contains sensitive data it might also qualify as a security problem. + +## Never-ending transfers + +We do not consider flaws that cause a transfer to never end to be a security +problem. There are already several benign and likely reasons for transfers to +stall and never end, so applications that cannot deal with never-ending +transfers already need to have counter-measures established. + +If the problem avoids the regular counter-measures when it causes a never- +ending transfer, it might be a security problem. + +## Not practically possible + +If the flaw or vulnerability cannot practically get executed on existing +hardware it is not a security problem. + +## API misuse + +If a reported issue only triggers by an application using the API in a way +that is not documented to work or even documented to not work, it is probably +not going to be considered a security problem. We only guarantee secure and +proper functionality when the APIs are used as expected and documented. + +There can be a discussion about what the documentation actually means and how +to interpret the text, which might end up with us still agreeing that it is a +security problem. + +## Local attackers already present + +When an issue can only be attacked or misused by an attacker present on the +local system or network, the bar is raised. If a local user wrongfully has +elevated rights on your system enough to attack curl, they can probably +already do much worse harm and the problem is not really in curl. + +## Debug & Experiments + +Vulnerabilities in features which are off by default (in the build) and +documented as experimental, or exist only in debug mode, are not eligible for a +reward and we do not consider them security problems. + +## URL inconsistencies + +URL parser inconsistencies between browsers and curl are expected and are not +considered security vulnerabilities. The WHATWG URL Specification and RFC +3986+ (the plus meaning that it is an extended version) [are not completely +interoperable](https://github.com/bagder/docs/blob/master/URL-interop.md). + +Obvious parser bugs can still be vulnerabilities of course. + +## Visible command line arguments + +The curl command blanks the contents of a number of command line arguments to +prevent them from appearing in process listings. It does not blank all +arguments even if some of them that are not blanked might contain sensitive +data. We consider this functionality a best-effort and omissions are not +security vulnerabilities. + + - not all systems allow the arguments to be blanked in the first place + - since curl blanks the argument itself they are readable for a short moment + no matter what + - virtually every argument can contain sensitive data, depending on use + - blanking all arguments would make it impractical for users to differentiate + curl command lines in process listings + +## Busy-loops + +Busy-loops that consume 100% CPU time but eventually end (perhaps due to a set +timeout value or otherwise) are not considered security problems. Applications +are supposed to already handle situations when the transfer loop legitimately +consumes 100% CPU time, so while a prolonged such busy-loop is a nasty bug, we +do not consider it a security problem. + +## Saving files + +curl cannot protect against attacks where an attacker has write access to the +same directory where curl is directed to save files. + +## Tricking a user to run a command line + +A creative, misleading or funny looking command line is not a security +problem. The curl command line tool takes options and URLs on the command line +and if an attacker can trick the user to run a specifically crafted curl +command line, all bets are off. Such an attacker can just as well have the +user run a much worse command that can do something fatal (like +`sudo rm -rf /`). + +## Terminal output and escape sequences + +Content that is transferred from a server and gets displayed in a terminal by +curl may contain escape sequences or use other tricks to fool the user. This +is curl working as designed and is not a curl security problem. Escape +sequences, moving cursor, changing color etc, is also frequently used for +good. To reduce the risk of getting fooled, save files and browse them after +download using a display method that minimizes risks. + +## NULL dereferences and crashes + +If a malicious server can trigger a NULL dereference in curl or otherwise +cause curl to crash (and nothing worse), chances are big that we do not +consider that a security problem. + +Malicious servers can already cause considerable harm and denial of service +like scenarios without having to trigger such code paths. For example by +stalling, being terribly slow or by delivering enormous amounts of data. +Additionally, applications are expected to handle "normal" crashes without +that being the end of the world. + +There need to be more and special circumstances to treat such problems as +security issues. + +## Legacy dependencies + +Problems that can be triggered only by the use of a *legacy dependency* are +not considered security problems. + +A *legacy dependency* is here defined as: + +- the legacy version was released over ten years ago AND + +- the legacy version is no longer in use by any existing still supported + operating system or distribution AND + +- there are modern versions of equivalent or better functionality offered and + in common use + +## weak algorithms required for functionality + +curl supports several algorithms that are considered weak, like DES and MD5. +These algorithms are still not curl security vulnerabilities or security +problems as they are only used when the users explicitly ask for their use by +using the protocols or options that require the use of those algorithms. + +When servers upgrade to use secure alternatives, curl users should use those +options/protocols. diff --git a/curl/docs/curl-config.md b/curl/docs/curl-config.md new file mode 100644 index 0000000..12ad245 --- /dev/null +++ b/curl/docs/curl-config.md @@ -0,0 +1,124 @@ +--- +c: Copyright (C) Daniel Stenberg, , et al. +SPDX-License-Identifier: curl +Title: curl-config +Section: 1 +Source: curl-config +See-also: + - curl (1) +Added-in: 7.7.2 +--- + +# NAME + +curl-config - Get information about a libcurl installation + +# SYNOPSIS + +**curl-config [options]** + +# DESCRIPTION + +**curl-config** +displays information about the curl and libcurl installation. + +# OPTIONS + +## `--ca` + +Displays the built-in path to the CA cert bundle this libcurl uses. + +## `--cc` + +Displays the compiler used to build libcurl. + +## `--cflags` + +Set of compiler options (CFLAGS) to use when compiling files that use +libcurl. Currently that is only the include path to the curl include files. + +## `--checkfor [version]` + +Specify the oldest possible libcurl version string you want, and this script +returns 0 if the current installation is new enough or it returns 1 and +outputs a text saying that the current version is not new enough. (Added in +7.15.4) + +## `--configure` + +Displays the arguments given to configure when building curl. + +## `--feature` + +Lists what particular main features the installed libcurl was built with. At +the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume +any particular order. The keywords are separated by newlines. There may be +none, one, or several keywords in the list. + +## `--help` + +Displays the available options. + +## `--libs` + +Shows the complete set of libs and other linker options you need in order to +link your application with libcurl. + +## `--prefix` + +This is the prefix used when libcurl was installed. libcurl is then installed +in $prefix/lib and its header files are installed in $prefix/include and so +on. The prefix is set with `configure --prefix`. + +## `--protocols` + +Lists what particular protocols the installed libcurl was built to support. At +the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE, +TELNET, LDAP, DICT and many more. Do not assume any particular order. The +protocols are listed using uppercase and are separated by newlines. There may +be none, one, or several protocols in the list. (Added in 7.13.0) + +## `--ssl-backends` + +Lists the SSL backends that were enabled when libcurl was built. It might be +no, one or several names. If more than one name, they appear comma-separated. +(Added in 7.58.0) + +## `--static-libs` + +Shows the complete set of libs and other linker options you need in order to +link your application with libcurl statically. (Added in 7.17.1) + +## `--version` + +Outputs version information about the installed libcurl. + +## `--vernum` + +Outputs version information about the installed libcurl, in numerical mode. +This shows the version number, in hexadecimal, using 8 bits for each part: +major, minor, and patch numbers. This makes libcurl 7.7.4 appear as 070704 and +libcurl 12.13.14 appear as 0c0d0e... Note that the initial zero might be +omitted. (This option was broken in the 7.15.0 release.) + +# EXAMPLES + +What linker options do I need when I link with libcurl? + + $ curl-config --libs + +What compiler options do I need when I compile using libcurl functions? + + $ curl-config --cflags + +How do I know if libcurl was built with SSL support? + + $ curl-config --feature | grep SSL + +What's the installed libcurl version? + + $ curl-config --version + +How do I build a single file with a one-line command? + + $ `curl-config --cc --cflags` -o example source.c `curl-config --libs` diff --git a/curl/docs/examples/10-at-a-time.c b/curl/docs/examples/10-at-a-time.c new file mode 100644 index 0000000..38a0f24 --- /dev/null +++ b/curl/docs/examples/10-at-a-time.c @@ -0,0 +1,153 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Download many files in parallel, in the same thread. + * + */ + +#include +#include +#include + +static const char *urls[] = { + "https://www.microsoft.com", + "https://opensource.org", + "https://www.google.com", + "https://www.yahoo.com", + "https://www.ibm.com", + "https://www.mysql.com", + "https://www.oracle.com", + "https://www.ripe.net", + "https://www.iana.org", + "https://www.amazon.com", + "https://www.netcraft.com", + "https://www.heise.de", + "https://www.chip.de", + "https://www.ca.com", + "https://www.cnet.com", + "https://www.mozilla.org", + "https://www.cnn.com", + "https://www.wikipedia.org", + "https://www.dell.com", + "https://www.hp.com", + "https://www.cert.org", + "https://www.mit.edu", + "https://www.nist.gov", + "https://www.ebay.com", + "https://www.playstation.com", + "https://www.uefa.com", + "https://www.ieee.org", + "https://www.apple.com", + "https://www.symantec.com", + "https://www.zdnet.com", + "https://www.fujitsu.com/global/", + "https://www.supermicro.com", + "https://www.hotmail.com", + "https://www.ietf.org", + "https://www.bbc.co.uk", + "https://news.google.com", + "https://www.foxnews.com", + "https://www.msn.com", + "https://www.wired.com", + "https://www.sky.com", + "https://www.usatoday.com", + "https://www.cbs.com", + "https://www.nbc.com/", + "https://slashdot.org", + "https://www.informationweek.com", + "https://apache.org", + "https://www.un.org", +}; + +#define MAX_PARALLEL 10 /* number of simultaneous transfers */ +#define NUM_URLS sizeof(urls)/sizeof(char *) + +static size_t write_cb(char *data, size_t n, size_t l, void *userp) +{ + /* take care of the data here, ignored in this example */ + (void)data; + (void)userp; + return n*l; +} + +static void add_transfer(CURLM *cm, unsigned int i, int *left) +{ + CURL *eh = curl_easy_init(); + curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, write_cb); + curl_easy_setopt(eh, CURLOPT_URL, urls[i]); + curl_easy_setopt(eh, CURLOPT_PRIVATE, urls[i]); + curl_multi_add_handle(cm, eh); + (*left)++; +} + +int main(void) +{ + CURLM *cm; + CURLMsg *msg; + unsigned int transfers = 0; + int msgs_left = -1; + int left = 0; + + curl_global_init(CURL_GLOBAL_ALL); + cm = curl_multi_init(); + + /* Limit the amount of simultaneous connections curl should allow: */ + curl_multi_setopt(cm, CURLMOPT_MAXCONNECTS, (long)MAX_PARALLEL); + + for(transfers = 0; transfers < MAX_PARALLEL && transfers < NUM_URLS; + transfers++) + add_transfer(cm, transfers, &left); + + do { + int still_alive = 1; + curl_multi_perform(cm, &still_alive); + + /* !checksrc! disable EQUALSNULL 1 */ + while((msg = curl_multi_info_read(cm, &msgs_left)) != NULL) { + if(msg->msg == CURLMSG_DONE) { + char *url; + CURL *e = msg->easy_handle; + curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, &url); + fprintf(stderr, "R: %d - %s <%s>\n", + msg->data.result, curl_easy_strerror(msg->data.result), url); + curl_multi_remove_handle(cm, e); + curl_easy_cleanup(e); + left--; + } + else { + fprintf(stderr, "E: CURLMsg (%d)\n", msg->msg); + } + if(transfers < NUM_URLS) + add_transfer(cm, transfers++, &left); + } + if(left) + curl_multi_wait(cm, NULL, 0, 1000, NULL); + + } while(left); + + curl_multi_cleanup(cm); + curl_global_cleanup(); + + return EXIT_SUCCESS; +} diff --git a/curl/docs/examples/address-scope.c b/curl/docs/examples/address-scope.c new file mode 100644 index 0000000..43e9cf8 --- /dev/null +++ b/curl/docs/examples/address-scope.c @@ -0,0 +1,62 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP GET to an IPv6 address with specific scope + * + */ +#include +#include + +#if !defined(_WIN32) && !defined(MSDOS) && !defined(__AMIGA__) +#include +#endif + +int main(void) +{ +#if !defined(_WIN32) && !defined(MSDOS) && !defined(__AMIGA__) + /* Windows/MS-DOS users need to find how to use if_nametoindex() */ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + long my_scope_id; + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + + my_scope_id = (long)if_nametoindex("eth0"); + curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, my_scope_id); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } +#endif + return 0; +} diff --git a/curl/docs/examples/altsvc.c b/curl/docs/examples/altsvc.c new file mode 100644 index 0000000..2f70d05 --- /dev/null +++ b/curl/docs/examples/altsvc.c @@ -0,0 +1,58 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP with Alt-Svc support + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + + /* cache the alternatives in this file */ + curl_easy_setopt(curl, CURLOPT_ALTSVC, "altsvc.txt"); + + /* restrict which HTTP versions to use alternatives */ + curl_easy_setopt(curl, CURLOPT_ALTSVC_CTRL, (long) + CURLALTSVC_H1|CURLALTSVC_H2|CURLALTSVC_H3); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/anyauthput.c b/curl/docs/examples/anyauthput.c new file mode 100644 index 0000000..550c827 --- /dev/null +++ b/curl/docs/examples/anyauthput.c @@ -0,0 +1,164 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP PUT upload with authentication using "any" method. libcurl picks the + * one the server supports/wants. + * + */ +#include +#include +#include +#include + +#include + +#ifdef _WIN32 +#undef stat +#define stat _stat +#undef fstat +#define fstat _fstat +#define fileno _fileno +#endif + +#if LIBCURL_VERSION_NUM < 0x070c03 +#error "upgrade your libcurl to no less than 7.12.3" +#endif + +/* + * This example shows an HTTP PUT operation with authentication using "any" + * type. It PUTs a file given as a command line argument to the URL also given + * on the command line. + * + * Since libcurl 7.12.3, using "any" auth and POST/PUT requires a set seek + * function. + * + * This example also uses its own read callback. + */ + +/* seek callback function */ +static int my_seek(void *userp, curl_off_t offset, int origin) +{ + FILE *fp = (FILE *) userp; + + if(-1 == fseek(fp, (long) offset, origin)) + /* could not seek */ + return CURL_SEEKFUNC_CANTSEEK; + + return CURL_SEEKFUNC_OK; /* success! */ +} + +/* read callback function, fread() look alike */ +static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream) +{ + size_t nread; + + nread = fread(ptr, size, nmemb, stream); + + if(nread > 0) { + fprintf(stderr, "*** We read %lu bytes from file\n", (unsigned long)nread); + } + + return nread; +} + +int main(int argc, char **argv) +{ + CURL *curl; + CURLcode res; + FILE *fp; + struct stat file_info; + + char *file; + char *url; + + if(argc < 3) + return 1; + + file = argv[1]; + url = argv[2]; + + /* get the file size of the local file */ + fp = fopen(file, "rb"); + if(!fp) + return 2; + +#ifdef UNDER_CE + stat(file, &file_info); +#else + fstat(fileno(fp), &file_info); +#endif + + /* In Windows, this inits the Winsock stuff */ + curl_global_init(CURL_GLOBAL_ALL); + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + /* we want to use our own read function */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); + + /* which file to upload */ + curl_easy_setopt(curl, CURLOPT_READDATA, (void *) fp); + + /* set the seek function */ + curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION, my_seek); + + /* pass the file descriptor to the seek callback as well */ + curl_easy_setopt(curl, CURLOPT_SEEKDATA, (void *) fp); + + /* enable "uploading" (which means PUT when doing HTTP) */ + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* specify target URL, and note that this URL should also include a file + name, not only a directory (as you can do with GTP uploads) */ + curl_easy_setopt(curl, CURLOPT_URL, url); + + /* and give the size of the upload, this supports large file sizes + on systems that have general support for it */ + curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)file_info.st_size); + + /* tell libcurl we can use "any" auth, which lets the lib pick one, but it + also costs one extra round-trip and possibly sending of all the PUT + data twice!!! */ + curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_ANY); + + /* set user name and password for the authentication */ + curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password"); + + /* Now run off and do what you have been told! */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + fclose(fp); /* close the local file */ + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/block_ip.c b/curl/docs/examples/block_ip.c new file mode 100644 index 0000000..bff7b63 --- /dev/null +++ b/curl/docs/examples/block_ip.c @@ -0,0 +1,356 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Show how CURLOPT_OPENSOCKETFUNCTION can be used to block IP addresses. + * + */ +/* This is an advanced example that defines a whitelist or a blacklist to + * filter IP addresses. + */ + +#if defined(__AMIGA__) || defined(UNDER_CE) +#include +int main(void) { printf("Platform not supported.\n"); return 1; } +#else + +#ifdef _WIN32 +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS +#endif +#ifndef _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE +#endif +#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600 +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0600 /* Requires Windows Vista */ +#endif +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include +#include +#include + +#include + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +struct ip { + /* The user-provided IP address or network (use CIDR) to filter */ + char *str; + /* IP address family AF_INET (IPv4) or AF_INET6 (IPv6) */ + int family; + /* IP in network byte format */ + union netaddr { + struct in_addr ipv4; +#ifdef AF_INET6 + struct in6_addr ipv6; +#endif + } netaddr; + /* IP bits to match against. + * This is equal to the CIDR notation or max bits if no CIDR. + * For example if ip->str is 127.0.0.0/8 then ip->maskbits is 8. + */ + int maskbits; + struct ip *next; +}; + +enum connection_filter_t { + CONNECTION_FILTER_BLACKLIST, + CONNECTION_FILTER_WHITELIST +}; + +struct connection_filter { + struct ip *list; + enum connection_filter_t type; + int verbose; +#ifdef AF_INET6 + /* If the address being filtered is an IPv4-mapped IPv6 address then it is + * checked against IPv4 list entries as well, unless ipv6_v6only is set TRUE. + */ + int ipv6_v6only; +#endif +}; + +static struct ip *ip_list_append(struct ip *list, const char *data) +{ + struct ip *ip, *last; + char *cidr; + + ip = (struct ip *)calloc(1, sizeof(*ip)); + if(!ip) + return NULL; + + if(strchr(data, ':')) { +#ifdef AF_INET6 + ip->family = AF_INET6; +#else + free(ip); + return NULL; +#endif + } + else + ip->family = AF_INET; + + ip->str = strdup(data); + if(!ip->str) { + free(ip); + return NULL; + } + + /* determine the number of bits that this IP will match against */ + cidr = strchr(ip->str, '/'); + if(cidr) { + ip->maskbits = atoi(cidr + 1); + if(ip->maskbits <= 0 || +#ifdef AF_INET6 + (ip->family == AF_INET6 && ip->maskbits > 128) || +#endif + (ip->family == AF_INET && ip->maskbits > 32)) { + free(ip->str); + free(ip); + return NULL; + } + /* ignore the CIDR notation when converting ip->str to ip->netaddr */ + *cidr = '\0'; + } + else if(ip->family == AF_INET) + ip->maskbits = 32; +#ifdef AF_INET6 + else if(ip->family == AF_INET6) + ip->maskbits = 128; +#endif + + if(1 != inet_pton(ip->family, ip->str, &ip->netaddr)) { + free(ip->str); + free(ip); + return NULL; + } + + if(cidr) + *cidr = '/'; + + if(!list) + return ip; + for(last = list; last->next; last = last->next) + ; + last->next = ip; + return list; +} + +static void ip_list_free_all(struct ip *list) +{ + struct ip *next; + while(list) { + next = list->next; + free(list->str); + free(list); + list = next; + } +} + +static void free_connection_filter(struct connection_filter *filter) +{ + if(filter) { + ip_list_free_all(filter->list); + free(filter); + } +} + +static int ip_match(struct ip *ip, void *netaddr) +{ + int bytes, tailbits; + const unsigned char *x, *y; + + x = (unsigned char *)&ip->netaddr; + y = (unsigned char *)netaddr; + + for(bytes = ip->maskbits / 8; bytes; --bytes) { + if(*x++ != *y++) + return FALSE; + } + + tailbits = ip->maskbits % 8; + if(tailbits) { + unsigned char tailmask = (unsigned char)((0xFF << (8 - tailbits)) & 0xFF); + if((*x & tailmask) != (*y & tailmask)) + return FALSE; + } + + return TRUE; +} + +#ifdef AF_INET6 +static int is_ipv4_mapped_ipv6_address(int family, void *netaddr) +{ + if(family == AF_INET6) { + int i; + unsigned char *x = (unsigned char *)netaddr; + for(i = 0; i < 12; ++i) { + if(x[i]) + break; + } + /* support formats ::x.x.x.x (deprecated) and ::ffff:x.x.x.x */ + if((i == 12 && (x[i] || x[i + 1] || x[i + 2] || x[i + 3])) || + (i == 10 && (x[i] == 0xFF && x[i + 1] == 0xFF))) + return TRUE; + } + + return FALSE; +} +#endif /* AF_INET6 */ + +static curl_socket_t opensocket(void *clientp, + curlsocktype purpose, + struct curl_sockaddr *address) +{ + /* filter the address */ + if(purpose == CURLSOCKTYPE_IPCXN) { + void *cinaddr = NULL; + + if(address->family == AF_INET) + cinaddr = &((struct sockaddr_in *)(void *)&address->addr)->sin_addr; +#ifdef AF_INET6 + else if(address->family == AF_INET6) + cinaddr = &((struct sockaddr_in6 *)(void *)&address->addr)->sin6_addr; +#endif + + if(cinaddr) { + struct ip *ip; + struct connection_filter *filter = (struct connection_filter *)clientp; +#ifdef AF_INET6 + int mapped = !filter->ipv6_v6only && + is_ipv4_mapped_ipv6_address(address->family, cinaddr); +#endif + + for(ip = filter->list; ip; ip = ip->next) { + if(ip->family == address->family && ip_match(ip, cinaddr)) + break; +#ifdef AF_INET6 + if(mapped && ip->family == AF_INET && address->family == AF_INET6 && + ip_match(ip, (unsigned char *)cinaddr + 12)) + break; +#endif + } + + if(ip && filter->type == CONNECTION_FILTER_BLACKLIST) { + if(filter->verbose) { + char buf[128] = {0}; + inet_ntop(address->family, cinaddr, buf, sizeof(buf)); + fprintf(stderr, "* Rejecting IP %s due to blacklist entry %s.\n", + buf, ip->str); + } + return CURL_SOCKET_BAD; + } + else if(!ip && filter->type == CONNECTION_FILTER_WHITELIST) { + if(filter->verbose) { + char buf[128] = {0}; + inet_ntop(address->family, cinaddr, buf, sizeof(buf)); + fprintf(stderr, + "* Rejecting IP %s due to missing whitelist entry.\n", buf); + } + return CURL_SOCKET_BAD; + } + } + } + + return socket(address->family, address->socktype, address->protocol); +} + +int main(void) +{ + CURL *curl; + CURLcode res; + struct connection_filter *filter; + + filter = (struct connection_filter *)calloc(1, sizeof(*filter)); + if(!filter) + return 1; + + if(curl_global_init(CURL_GLOBAL_DEFAULT)) { + free(filter); + return 1; + } + + curl = curl_easy_init(); + if(!curl) { + curl_global_cleanup(); + free(filter); + return 1; + } + + /* Set the target URL */ + curl_easy_setopt(curl, CURLOPT_URL, "http://localhost"); + + /* Define an IP connection filter. + * If an address has CIDR notation then it matches the network. + * For example 74.6.143.25/24 matches 74.6.143.0 - 74.6.143.255. + */ + filter->type = CONNECTION_FILTER_BLACKLIST; + filter->list = ip_list_append(filter->list, "98.137.11.164"); + filter->list = ip_list_append(filter->list, "127.0.0.0/8"); +#ifdef AF_INET6 + filter->list = ip_list_append(filter->list, "::1"); +#endif + + /* Set the socket function which does the filtering */ + curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket); + curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, filter); + + /* Verbose mode */ + filter->verbose = TRUE; + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) { + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + } + + /* Clean up */ + curl_easy_cleanup(curl); + free_connection_filter(filter); + + /* Clean up libcurl */ + curl_global_cleanup(); + + return 0; +} +#endif diff --git a/curl/docs/examples/certinfo.c b/curl/docs/examples/certinfo.c new file mode 100644 index 0000000..795be6c --- /dev/null +++ b/curl/docs/examples/certinfo.c @@ -0,0 +1,87 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Extract lots of TLS certificate info. + * + */ +#include + +#include + +static size_t wrfu(void *ptr, size_t size, size_t nmemb, void *stream) +{ + (void)stream; + (void)ptr; + return size * nmemb; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/"); + + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wrfu); + + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + + curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); + curl_easy_setopt(curl, CURLOPT_CERTINFO, 1L); + + res = curl_easy_perform(curl); + + if(!res) { + struct curl_certinfo *certinfo; + + res = curl_easy_getinfo(curl, CURLINFO_CERTINFO, &certinfo); + + if(!res && certinfo) { + int i; + + printf("%d certs!\n", certinfo->num_of_certs); + + for(i = 0; i < certinfo->num_of_certs; i++) { + struct curl_slist *slist; + + for(slist = certinfo->certinfo[i]; slist; slist = slist->next) + printf("%s\n", slist->data); + + } + } + + } + + curl_easy_cleanup(curl); + } + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/chkspeed.c b/curl/docs/examples/chkspeed.c new file mode 100644 index 0000000..fc40814 --- /dev/null +++ b/curl/docs/examples/chkspeed.c @@ -0,0 +1,224 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Show transfer timing info after download completes. + * + */ +/* Example source code to show how the callback function can be used to + * download data into a chunk of memory instead of storing it in a file. + * After successful download we use curl_easy_getinfo() calls to get the + * amount of downloaded bytes, the time used for the whole download, and + * the average download speed. + * On Linux you can create the download test files with: + * dd if=/dev/urandom of=file_1M.bin bs=1M count=1 + * + */ + +#include +#include +#include + +#include + +#define URL_BASE "http://speedtest.your.domain/" +#define URL_1M URL_BASE "file_1M.bin" +#define URL_2M URL_BASE "file_2M.bin" +#define URL_5M URL_BASE "file_5M.bin" +#define URL_10M URL_BASE "file_10M.bin" +#define URL_20M URL_BASE "file_20M.bin" +#define URL_50M URL_BASE "file_50M.bin" +#define URL_100M URL_BASE "file_100M.bin" + +#define CHKSPEED_VERSION "1.0" + +static size_t WriteCallback(void *ptr, size_t size, size_t nmemb, void *data) +{ + /* we are not interested in the downloaded bytes itself, + so we only return the size we would have saved ... */ + (void)ptr; /* unused */ + (void)data; /* unused */ + return (size_t)(size * nmemb); +} + +int main(int argc, char *argv[]) +{ + CURL *curl_handle; + CURLcode res; + int prtall = 0, prtsep = 0, prttime = 0; + const char *url = URL_1M; + char *appname = argv[0]; + + if(argc > 1) { + /* parse input parameters */ + for(argc--, argv++; *argv; argc--, argv++) { + if(argv[0][0] == '-') { + switch(argv[0][1]) { + case 'h': + case 'H': + fprintf(stderr, + "\rUsage: %s [-m=1|2|5|10|20|50|100] [-t] [-x] [url]\n", + appname); + return 1; + case 'v': + case 'V': + fprintf(stderr, "\r%s %s - %s\n", + appname, CHKSPEED_VERSION, curl_version()); + return 1; + case 'a': + case 'A': + prtall = 1; + break; + case 'x': + case 'X': + prtsep = 1; + break; + case 't': + case 'T': + prttime = 1; + break; + case 'm': + case 'M': + if(argv[0][2] == '=') { + long m = strtol((*argv) + 3, NULL, 10); + switch(m) { + case 1: + url = URL_1M; + break; + case 2: + url = URL_2M; + break; + case 5: + url = URL_5M; + break; + case 10: + url = URL_10M; + break; + case 20: + url = URL_20M; + break; + case 50: + url = URL_50M; + break; + case 100: + url = URL_100M; + break; + default: + fprintf(stderr, "\r%s: invalid parameter %s\n", + appname, *argv + 3); + return 1; + } + break; + } + fprintf(stderr, "\r%s: invalid or unknown option %s\n", + appname, *argv); + return 1; + default: + fprintf(stderr, "\r%s: invalid or unknown option %s\n", + appname, *argv); + return 1; + } + } + else { + url = *argv; + } + } + } + + /* print separator line */ + if(prtsep) { + printf("-------------------------------------------------\n"); + } + /* print localtime */ + if(prttime) { + time_t t = time(NULL); + printf("Localtime: %s", ctime(&t)); + } + + /* init libcurl */ + curl_global_init(CURL_GLOBAL_ALL); + + /* init the curl session */ + curl_handle = curl_easy_init(); + + /* specify URL to get */ + curl_easy_setopt(curl_handle, CURLOPT_URL, url); + + /* send all data to this function */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteCallback); + + /* some servers do not like requests that are made without a user-agent + field, so we provide one */ + curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, + "libcurl-speedchecker/" CHKSPEED_VERSION); + + /* get it! */ + res = curl_easy_perform(curl_handle); + + if(CURLE_OK == res) { + curl_off_t val; + + /* check for bytes downloaded */ + res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD_T, &val); + if((CURLE_OK == res) && (val > 0)) + printf("Data downloaded: %lu bytes.\n", (unsigned long)val); + + /* check for total download time */ + res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME_T, &val); + if((CURLE_OK == res) && (val > 0)) + printf("Total download time: %lu.%06lu sec.\n", + (unsigned long)(val / 1000000), (unsigned long)(val % 1000000)); + + /* check for average download speed */ + res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD_T, &val); + if((CURLE_OK == res) && (val > 0)) + printf("Average download speed: %lu kbyte/sec.\n", + (unsigned long)(val / 1024)); + + if(prtall) { + /* check for name resolution time */ + res = curl_easy_getinfo(curl_handle, CURLINFO_NAMELOOKUP_TIME_T, &val); + if((CURLE_OK == res) && (val > 0)) + printf("Name lookup time: %lu.%06lu sec.\n", + (unsigned long)(val / 1000000), (unsigned long)(val % 1000000)); + + /* check for connect time */ + res = curl_easy_getinfo(curl_handle, CURLINFO_CONNECT_TIME_T, &val); + if((CURLE_OK == res) && (val > 0)) + printf("Connect time: %lu.%06lu sec.\n", + (unsigned long)(val / 1000000), (unsigned long)(val % 1000000)); + } + } + else { + fprintf(stderr, "Error while fetching '%s' : %s\n", + url, curl_easy_strerror(res)); + } + + /* cleanup curl stuff */ + curl_easy_cleanup(curl_handle); + + /* we are done with libcurl, so clean it up */ + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/connect-to.c b/curl/docs/examples/connect-to.c new file mode 100644 index 0000000..ad1e304 --- /dev/null +++ b/curl/docs/examples/connect-to.c @@ -0,0 +1,70 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use CURLOPT_CONNECT_TO to connect to "wrong" hostname + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + /* + Each single string should be written using the format + HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT where HOST is the host of the + request, PORT is the port of the request, CONNECT-TO-HOST is the host name + to connect to, and CONNECT-TO-PORT is the port to connect to. + */ + /* instead of curl.se:443, it resolves and uses example.com:443 but in other + aspects work as if it still is curl.se */ + struct curl_slist *host = curl_slist_append(NULL, + "curl.se:443:example.com:443"); + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_CONNECT_TO, host); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + /* since this connects to the wrong host, checking the host name in the + server certificate fails, so unless we disable the check libcurl + returns CURLE_PEER_FAILED_VERIFICATION */ + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + + /* Letting the wrong host name in the certificate be okay, the transfer + goes through but (most likely) causes a 404 or similar because it sends + an unknown name in the Host: header field */ + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + curl_slist_free_all(host); + + return (int)res; +} diff --git a/curl/docs/examples/cookie_interface.c b/curl/docs/examples/cookie_interface.c new file mode 100644 index 0000000..da40953 --- /dev/null +++ b/curl/docs/examples/cookie_interface.c @@ -0,0 +1,139 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Import and export cookies with COOKIELIST. + * + */ + +#include +#include +#include +#include + +#include +#include + +static int print_cookies(CURL *curl) +{ + CURLcode res; + struct curl_slist *cookies; + struct curl_slist *nc; + int i; + + printf("Cookies, curl knows:\n"); + res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies); + if(res != CURLE_OK) { + fprintf(stderr, "Curl curl_easy_getinfo failed: %s\n", + curl_easy_strerror(res)); + return 1; + } + nc = cookies; + i = 1; + while(nc) { + printf("[%d]: %s\n", i, nc->data); + nc = nc->next; + i++; + } + if(i == 1) { + printf("(none)\n"); + } + curl_slist_free_all(cookies); + + return 0; +} + +int +main(void) +{ + CURL *curl; + CURLcode res; + + curl_global_init(CURL_GLOBAL_ALL); + curl = curl_easy_init(); + if(curl) { + char nline[512]; + + curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/"); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); /* start cookie engine */ + res = curl_easy_perform(curl); + if(res != CURLE_OK) { + fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); + return 1; + } + + print_cookies(curl); + + printf("Erasing curl's knowledge of cookies!\n"); + curl_easy_setopt(curl, CURLOPT_COOKIELIST, "ALL"); + + print_cookies(curl); + + printf("-----------------------------------------------\n" + "Setting a cookie \"PREF\" via cookie interface:\n"); + /* Netscape format cookie */ + curl_msnprintf(nline, sizeof(nline), "%s\t%s\t%s\t%s\t%.0f\t%s\t%s", + ".example.com", "TRUE", "/", "FALSE", + difftime(time(NULL) + 31337, (time_t)0), + "PREF", "hello example, i like you!"); + res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline); + if(res != CURLE_OK) { + fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", + curl_easy_strerror(res)); + return 1; + } + + /* HTTP-header style cookie. If you use the Set-Cookie format and do not + specify a domain then the cookie is sent for any domain and is not + modified, likely not what you intended. For more information refer to + the CURLOPT_COOKIELIST documentation. + */ + curl_msnprintf(nline, sizeof(nline), + "Set-Cookie: OLD_PREF=3d141414bf4209321; " + "expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.example.com"); + res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline); + if(res != CURLE_OK) { + fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", + curl_easy_strerror(res)); + return 1; + } + + print_cookies(curl); + + res = curl_easy_perform(curl); + if(res != CURLE_OK) { + fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); + return 1; + } + + curl_easy_cleanup(curl); + } + else { + fprintf(stderr, "Curl init failed!\n"); + return 1; + } + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/debug.c b/curl/docs/examples/debug.c new file mode 100644 index 0000000..2bd8b97 --- /dev/null +++ b/curl/docs/examples/debug.c @@ -0,0 +1,155 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Show how CURLOPT_DEBUGFUNCTION can be used. + * + */ +#include +#include + +struct data { + char trace_ascii; /* 1 or 0 */ +}; + +static +void dump(const char *text, + FILE *stream, unsigned char *ptr, size_t size, + char nohex) +{ + size_t i; + size_t c; + + unsigned int width = 0x10; + + if(nohex) + /* without the hex output, we can fit more on screen */ + width = 0x40; + + fprintf(stream, "%s, %10.10lu bytes (0x%8.8lx)\n", + text, (unsigned long)size, (unsigned long)size); + + for(i = 0; i < size; i += width) { + + fprintf(stream, "%4.4lx: ", (unsigned long)i); + + if(!nohex) { + /* hex not disabled, show it */ + for(c = 0; c < width; c++) + if(i + c < size) + fprintf(stream, "%02x ", ptr[i + c]); + else + fputs(" ", stream); + } + + for(c = 0; (c < width) && (i + c < size); c++) { + /* check for 0D0A; if found, skip past and start a new line of output */ + if(nohex && (i + c + 1 < size) && ptr[i + c] == 0x0D && + ptr[i + c + 1] == 0x0A) { + i += (c + 2 - width); + break; + } + fprintf(stream, "%c", + (ptr[i + c] >= 0x20) && (ptr[i + c] < 0x80) ? ptr[i + c] : '.'); + /* check again for 0D0A, to avoid an extra \n if it's at width */ + if(nohex && (i + c + 2 < size) && ptr[i + c + 1] == 0x0D && + ptr[i + c + 2] == 0x0A) { + i += (c + 3 - width); + break; + } + } + fputc('\n', stream); /* newline */ + } + fflush(stream); +} + +static +int my_trace(CURL *handle, curl_infotype type, + char *data, size_t size, + void *userp) +{ + struct data *config = (struct data *)userp; + const char *text; + (void)handle; /* prevent compiler warning */ + + switch(type) { + case CURLINFO_TEXT: + fprintf(stderr, "== Info: %s", data); + return 0; + case CURLINFO_HEADER_OUT: + text = "=> Send header"; + break; + case CURLINFO_DATA_OUT: + text = "=> Send data"; + break; + case CURLINFO_SSL_DATA_OUT: + text = "=> Send SSL data"; + break; + case CURLINFO_HEADER_IN: + text = "<= Recv header"; + break; + case CURLINFO_DATA_IN: + text = "<= Recv data"; + break; + case CURLINFO_SSL_DATA_IN: + text = "<= Recv SSL data"; + break; + default: /* in case a new one is introduced to shock us */ + return 0; + } + + dump(text, stderr, (unsigned char *)data, size, config->trace_ascii); + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + struct data config; + + config.trace_ascii = 1; /* enable ASCII tracing */ + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace); + curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &config); + + /* the DEBUGFUNCTION has no effect until we enable VERBOSE */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* example.com is redirected, so we tell libcurl to follow redirection */ + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/default-scheme.c b/curl/docs/examples/default-scheme.c new file mode 100644 index 0000000..13e1e08 --- /dev/null +++ b/curl/docs/examples/default-scheme.c @@ -0,0 +1,57 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Change default scheme when none is provided in the URL + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "example.com"); + + /* Change the default protocol (scheme) for schemeless URLs from plain + "http" to use a secure one instead. */ + curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); + + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/externalsocket.c b/curl/docs/examples/externalsocket.c new file mode 100644 index 0000000..84c9ba4 --- /dev/null +++ b/curl/docs/examples/externalsocket.c @@ -0,0 +1,182 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Pass in a custom socket for libcurl to use. + * + */ +#ifdef _MSC_VER +#ifndef _WINSOCK_DEPRECATED_NO_WARNINGS +#define _WINSOCK_DEPRECATED_NO_WARNINGS /* for inet_addr() */ +#endif +#endif + +#include +#include +#include +#include + +#ifdef _WIN32 +#define close closesocket +#else +#include /* socket types */ +#include /* socket definitions */ +#include +#include /* inet (3) functions */ +#include /* misc. Unix functions */ +#endif + +#ifdef UNDER_CE +#define strerror(e) "?" +#else +#include +#endif + +/* The IP address and port number to connect to */ +#define IPADDR "127.0.0.1" +#define PORTNUM 80 + +#ifndef INADDR_NONE +#define INADDR_NONE 0xffffffff +#endif + +static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) +{ + size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); + return written; +} + +static int closecb(void *clientp, curl_socket_t item) +{ + (void)clientp; + printf("libcurl wants to close %d now\n", (int)item); + return 0; +} + +static curl_socket_t opensocket(void *clientp, + curlsocktype purpose, + struct curl_sockaddr *address) +{ + curl_socket_t sockfd; + (void)purpose; + (void)address; + sockfd = *(curl_socket_t *)clientp; + /* the actual externally set socket is passed in via the OPENSOCKETDATA + option */ + return sockfd; +} + +static int sockopt_callback(void *clientp, curl_socket_t curlfd, + curlsocktype purpose) +{ + (void)clientp; + (void)curlfd; + (void)purpose; + /* This return code was added in libcurl 7.21.5 */ + return CURL_SOCKOPT_ALREADY_CONNECTED; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + struct sockaddr_in servaddr; /* socket address structure */ + curl_socket_t sockfd; + +#ifdef _WIN32 + WSADATA wsaData; + int initwsa = WSAStartup(MAKEWORD(2, 2), &wsaData); + if(initwsa) { + printf("WSAStartup failed: %d\n", initwsa); + return 1; + } +#endif + + curl = curl_easy_init(); + if(curl) { + /* + * Note that libcurl internally thinks that you connect to the host and + * port that you specify in the URL option. + */ + curl_easy_setopt(curl, CURLOPT_URL, "http://99.99.99.99:9999"); + + /* Create the socket "manually" */ + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if(sockfd == CURL_SOCKET_BAD) { + printf("Error creating listening socket.\n"); + return 3; + } + + memset(&servaddr, 0, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(PORTNUM); + + servaddr.sin_addr.s_addr = inet_addr(IPADDR); + if(INADDR_NONE == servaddr.sin_addr.s_addr) { + close(sockfd); + return 2; + } + + if(connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) == + -1) { + close(sockfd); + printf("client error: connect: %s\n", strerror(errno)); + return 1; + } + + /* no progress meter please */ + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); + + /* send all data to this function */ + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + + /* call this function to get a socket */ + curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket); + curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &sockfd); + + /* call this function to close sockets */ + curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION, closecb); + curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, &sockfd); + + /* call this function to set options for the socket */ + curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockopt_callback); + + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + res = curl_easy_perform(curl); + + curl_easy_cleanup(curl); + + close(sockfd); + + if(res) { + printf("libcurl error: %d\n", res); + return 4; + } + } + +#ifdef _WIN32 + WSACleanup(); +#endif + return 0; +} diff --git a/curl/docs/examples/fileupload.c b/curl/docs/examples/fileupload.c new file mode 100644 index 0000000..0860c94 --- /dev/null +++ b/curl/docs/examples/fileupload.c @@ -0,0 +1,103 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Upload to a file:// URL + * + */ +#include +#include +#include +#include + +#ifdef _WIN32 +#undef stat +#define stat _stat +#undef fstat +#define fstat _fstat +#define fileno _fileno +#endif + +int main(void) +{ + CURL *curl; + CURLcode res; + struct stat file_info; + curl_off_t speed_upload, total_time; + FILE *fd; + + fd = fopen("debugit", "rb"); /* open file to upload */ + if(!fd) + return 1; /* cannot continue */ + + /* to get the file size */ +#ifdef UNDER_CE + if(stat("debugit", &file_info) != 0) { +#else + if(fstat(fileno(fd), &file_info) != 0) { +#endif + fclose(fd); + return 1; /* cannot continue */ + } + + curl = curl_easy_init(); + if(curl) { + /* upload to this place */ + curl_easy_setopt(curl, CURLOPT_URL, + "file:///home/dast/src/curl/debug/new"); + + /* tell it to "upload" to the URL */ + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* set where to read from (on Windows you need to use READFUNCTION too) */ + curl_easy_setopt(curl, CURLOPT_READDATA, fd); + + /* and give the size of the upload (optional) */ + curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)file_info.st_size); + + /* enable verbose for easier tracing */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) { + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + } + else { + /* now extract transfer info */ + curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &speed_upload); + curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &total_time); + + fprintf(stderr, "Speed: %lu bytes/sec during %lu.%06lu seconds\n", + (unsigned long)speed_upload, + (unsigned long)(total_time / 1000000), + (unsigned long)(total_time % 1000000)); + } + /* always cleanup */ + curl_easy_cleanup(curl); + } + fclose(fd); + return 0; +} diff --git a/curl/docs/examples/ftp-wildcard.c b/curl/docs/examples/ftp-wildcard.c new file mode 100644 index 0000000..ddc6e4a --- /dev/null +++ b/curl/docs/examples/ftp-wildcard.c @@ -0,0 +1,153 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * FTP wildcard pattern matching + * + */ +#include +#include + +struct callback_data { + FILE *output; +}; + +static long file_is_coming(struct curl_fileinfo *finfo, + void *data, + int remains); + +static long file_is_downloaded(void *data); + +static size_t write_it(char *buff, size_t size, size_t nmemb, + void *cb_data); + +int main(int argc, char **argv) +{ + /* curl easy handle */ + CURL *handle; + + /* help data */ + struct callback_data data = { 0 }; + + /* global initialization */ + CURLcode rc = curl_global_init(CURL_GLOBAL_ALL); + if(rc) + return (int)rc; + + /* initialization of easy handle */ + handle = curl_easy_init(); + if(!handle) { + curl_global_cleanup(); + return CURLE_OUT_OF_MEMORY; + } + + /* turn on wildcard matching */ + curl_easy_setopt(handle, CURLOPT_WILDCARDMATCH, 1L); + + /* callback is called before download of concrete file started */ + curl_easy_setopt(handle, CURLOPT_CHUNK_BGN_FUNCTION, file_is_coming); + + /* callback is called after data from the file have been transferred */ + curl_easy_setopt(handle, CURLOPT_CHUNK_END_FUNCTION, file_is_downloaded); + + /* this callback writes contents into files */ + curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_it); + + /* put transfer data into callbacks */ + curl_easy_setopt(handle, CURLOPT_CHUNK_DATA, &data); + curl_easy_setopt(handle, CURLOPT_WRITEDATA, &data); + + /* curl_easy_setopt(handle, CURLOPT_VERBOSE, 1L); */ + + /* set a URL containing wildcard pattern (only in the last part) */ + if(argc == 2) + curl_easy_setopt(handle, CURLOPT_URL, argv[1]); + else + curl_easy_setopt(handle, CURLOPT_URL, "ftp://example.com/test/*"); + + /* and start transfer! */ + rc = curl_easy_perform(handle); + + curl_easy_cleanup(handle); + curl_global_cleanup(); + return (int)rc; +} + +static long file_is_coming(struct curl_fileinfo *finfo, void *input, + int remains) +{ + struct callback_data *data = input; + printf("%3d %40s %10luB ", remains, finfo->filename, + (unsigned long)finfo->size); + + switch(finfo->filetype) { + case CURLFILETYPE_DIRECTORY: + printf(" DIR\n"); + break; + case CURLFILETYPE_FILE: + printf("FILE "); + break; + default: + printf("OTHER\n"); + break; + } + + if(finfo->filetype == CURLFILETYPE_FILE) { + /* do not transfer files >= 50B */ + if(finfo->size > 50) { + printf("SKIPPED\n"); + return CURL_CHUNK_BGN_FUNC_SKIP; + } + + data->output = fopen(finfo->filename, "wb"); + if(!data->output) { + return CURL_CHUNK_BGN_FUNC_FAIL; + } + } + + return CURL_CHUNK_BGN_FUNC_OK; +} + +static long file_is_downloaded(void *input) +{ + struct callback_data *data = input; + if(data->output) { + printf("DOWNLOADED\n"); + fclose(data->output); + data->output = 0x0; + } + return CURL_CHUNK_END_FUNC_OK; +} + +static size_t write_it(char *buff, size_t size, size_t nmemb, + void *cb_data) +{ + struct callback_data *data = cb_data; + size_t written = 0; + if(data->output) + written = fwrite(buff, size, nmemb, data->output); + else + /* listing output */ + written = fwrite(buff, size, nmemb, stdout); + return written; +} diff --git a/curl/docs/examples/ftpget.c b/curl/docs/examples/ftpget.c new file mode 100644 index 0000000..95369c1 --- /dev/null +++ b/curl/docs/examples/ftpget.c @@ -0,0 +1,94 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +#include + +#include + +/* + * Get a single file from an FTP server. + * + */ + +struct FtpFile { + const char *filename; + FILE *stream; +}; + +static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) +{ + struct FtpFile *out = (struct FtpFile *)stream; + if(!out->stream) { + /* open file for writing */ + out->stream = fopen(out->filename, "wb"); + if(!out->stream) + return 0; /* failure, cannot open file to write */ + } + return fwrite(buffer, size, nmemb, out->stream); +} + + +int main(void) +{ + CURL *curl; + CURLcode res; + struct FtpFile ftpfile = { + "curl.tar.gz", /* name to store the file as if successful */ + NULL + }; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + /* + * You better replace the URL with one that works! + */ + curl_easy_setopt(curl, CURLOPT_URL, + "ftp://ftp.example.com/curl/curl-7.9.2.tar.gz"); + /* Define our callback to get called when there is data to be written */ + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); + /* Set a pointer to our struct to pass to the callback */ + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile); + + /* Switch on full protocol/debug output */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + + if(CURLE_OK != res) { + /* we failed */ + fprintf(stderr, "curl told us %d\n", res); + } + } + + if(ftpfile.stream) + fclose(ftpfile.stream); /* close the local file */ + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/ftpgetinfo.c b/curl/docs/examples/ftpgetinfo.c new file mode 100644 index 0000000..485b26b --- /dev/null +++ b/curl/docs/examples/ftpgetinfo.c @@ -0,0 +1,93 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +#include +#include + +#include + +/* + * Checks a single file's size and mtime from an FTP server. + * + */ + +static size_t throw_away(void *ptr, size_t size, size_t nmemb, void *data) +{ + (void)ptr; + (void)data; + /* we are not interested in the headers itself, + so we only return the size we would have saved ... */ + return (size_t)(size * nmemb); +} + +int main(void) +{ + char ftpurl[] = "ftp://ftp.example.com/gnu/binutils/binutils-2.19.1.tar.bz2"; + CURL *curl; + CURLcode res; + long filetime = -1; + curl_off_t filesize = 0; + const char *filename = strrchr(ftpurl, '/') + 1; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, ftpurl); + /* No download if the file */ + curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); + /* Ask for filetime */ + curl_easy_setopt(curl, CURLOPT_FILETIME, 1L); + curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, throw_away); + curl_easy_setopt(curl, CURLOPT_HEADER, 0L); + /* Switch on full protocol/debug output */ + /* curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); */ + + res = curl_easy_perform(curl); + + if(CURLE_OK == res) { + /* https://curl.se/libcurl/c/curl_easy_getinfo.html */ + res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime); + if((CURLE_OK == res) && (filetime >= 0)) { + time_t file_time = (time_t)filetime; + printf("filetime %s: %s", filename, ctime(&file_time)); + } + res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, + &filesize); + if((CURLE_OK == res) && (filesize > 0)) + printf("filesize %s: %" CURL_FORMAT_CURL_OFF_T " bytes\n", + filename, filesize); + } + else { + /* we failed */ + fprintf(stderr, "curl told us %d\n", res); + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/ftpgetresp.c b/curl/docs/examples/ftpgetresp.c new file mode 100644 index 0000000..7b40f77 --- /dev/null +++ b/curl/docs/examples/ftpgetresp.c @@ -0,0 +1,85 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +#include + +#include + +/* + * Similar to ftpget.c but also stores the received response-lines + * in a separate file using our own callback! + * + */ +static size_t +write_response(void *ptr, size_t size, size_t nmemb, void *data) +{ + FILE *writehere = (FILE *)data; + return fwrite(ptr, size, nmemb, writehere); +} + +#define FTPBODY "ftp-list" +#define FTPHEADERS "ftp-responses" + +int main(void) +{ + CURL *curl; + CURLcode res; + FILE *ftpfile; + FILE *respfile; + + /* local filename to store the file as */ + ftpfile = fopen(FTPBODY, "wb"); /* b is binary, needed on Windows */ + if(!ftpfile) + return 1; + + /* local filename to store the FTP server's response lines in */ + respfile = fopen(FTPHEADERS, "wb"); /* b is binary, needed on Windows */ + if(!respfile) { + fclose(ftpfile); + return 1; + } + + curl = curl_easy_init(); + if(curl) { + /* Get a file listing from sunet */ + curl_easy_setopt(curl, CURLOPT_URL, "ftp://ftp.example.com/"); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, ftpfile); + /* If you intend to use this on Windows with a libcurl DLL, you must use + CURLOPT_WRITEFUNCTION as well */ + curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response); + curl_easy_setopt(curl, CURLOPT_HEADERDATA, respfile); + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + fclose(ftpfile); /* close the local file */ + fclose(respfile); /* close the response file */ + + return 0; +} diff --git a/curl/docs/examples/ftpsget.c b/curl/docs/examples/ftpsget.c new file mode 100644 index 0000000..dfe80b9 --- /dev/null +++ b/curl/docs/examples/ftpsget.c @@ -0,0 +1,101 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#include + +#include + +/* + * Get a single file from an FTPS server. + * + */ + +struct FtpFile { + const char *filename; + FILE *stream; +}; + +static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, + void *stream) +{ + struct FtpFile *out = (struct FtpFile *)stream; + if(!out->stream) { + /* open file for writing */ + out->stream = fopen(out->filename, "wb"); + if(!out->stream) + return 0; /* failure, cannot open file to write */ + } + return fwrite(buffer, size, nmemb, out->stream); +} + + +int main(void) +{ + CURL *curl; + CURLcode res; + struct FtpFile ftpfile = { + "yourfile.bin", /* name to store the file as if successful */ + NULL + }; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + /* + * You better replace the URL with one that works! Note that we use an + * FTP:// URL with standard explicit FTPS. You can also do FTPS:// URLs if + * you want to do the rarer kind of transfers: implicit. + */ + curl_easy_setopt(curl, CURLOPT_URL, + "ftp://user@server/home/user/file.txt"); + /* Define our callback to get called when there is data to be written */ + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); + /* Set a pointer to our struct to pass to the callback */ + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile); + + /* We activate SSL and we require it for both control and data */ + curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL); + + /* Switch on full protocol/debug output */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + + if(CURLE_OK != res) { + /* we failed */ + fprintf(stderr, "curl told us %d\n", res); + } + } + + if(ftpfile.stream) + fclose(ftpfile.stream); /* close the local file */ + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/ftpupload.c b/curl/docs/examples/ftpupload.c new file mode 100644 index 0000000..6e7bece --- /dev/null +++ b/curl/docs/examples/ftpupload.c @@ -0,0 +1,150 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +#include +#include + +#include +#include +#include +#include +#ifdef UNDER_CE +#define strerror(e) "?" +#else +#include +#endif +#ifdef _WIN32 +#include +#undef stat +#define stat _stat +#else +#include +#endif + +/* + * Performs an FTP upload and renames the file just after a successful + * transfer. + * + */ + +#define LOCAL_FILE "/tmp/uploadthis.txt" +#define UPLOAD_FILE_AS "while-uploading.txt" +#define REMOTE_URL "ftp://example.com/" UPLOAD_FILE_AS +#define RENAME_FILE_TO "renamed-and-fine.txt" + +/* NOTE: if you want this example to work on Windows with libcurl as a DLL, + you MUST also provide a read callback with CURLOPT_READFUNCTION. Failing to + do so might give you a crash since a DLL may not use the variable's memory + when passed in to it from an app like this. */ +static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream) +{ + unsigned long nread; + /* in real-world cases, this would probably get this data differently + as this fread() stuff is exactly what the library already would do + by default internally */ + size_t retcode = fread(ptr, size, nmemb, stream); + + if(retcode > 0) { + nread = (unsigned long)retcode; + fprintf(stderr, "*** We read %lu bytes from file\n", nread); + } + + return retcode; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + FILE *hd_src; + struct stat file_info; + unsigned long fsize; + + struct curl_slist *headerlist = NULL; + static const char buf_1 [] = "RNFR " UPLOAD_FILE_AS; + static const char buf_2 [] = "RNTO " RENAME_FILE_TO; + + /* get the file size of the local file */ + if(stat(LOCAL_FILE, &file_info)) { + printf("Couldn't open '%s': %s\n", LOCAL_FILE, strerror(errno)); + return 1; + } + fsize = (unsigned long)file_info.st_size; + + printf("Local file size: %lu bytes.\n", fsize); + + /* get a FILE * of the same file */ + hd_src = fopen(LOCAL_FILE, "rb"); + if(!hd_src) + return 2; + + /* In Windows, this inits the Winsock stuff */ + curl_global_init(CURL_GLOBAL_ALL); + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + /* build a list of commands to pass to libcurl */ + headerlist = curl_slist_append(headerlist, buf_1); + headerlist = curl_slist_append(headerlist, buf_2); + + /* we want to use our own read function */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); + + /* enable uploading */ + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* specify target */ + curl_easy_setopt(curl, CURLOPT_URL, REMOTE_URL); + + /* pass in that last of FTP commands to run after the transfer */ + curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist); + + /* now specify which file to upload */ + curl_easy_setopt(curl, CURLOPT_READDATA, hd_src); + + /* Set the size of the file to upload (optional). If you give a *_LARGE + option you MUST make sure that the type of the passed-in argument is a + curl_off_t. If you use CURLOPT_INFILESIZE (without _LARGE) you must + make sure that to pass in a type 'long' argument. */ + curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)fsize); + + /* Now run off and do what you have been told! */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* clean up the FTP commands list */ + curl_slist_free_all(headerlist); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + fclose(hd_src); /* close the local file */ + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/ftpuploadfrommem.c b/curl/docs/examples/ftpuploadfrommem.c new file mode 100644 index 0000000..2537486 --- /dev/null +++ b/curl/docs/examples/ftpuploadfrommem.c @@ -0,0 +1,126 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * FTP upload a file from memory + * + */ +#include +#include +#include + +static const char data[]= + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " + "Nam rhoncus odio id venenatis volutpat. Vestibulum dapibus " + "bibendum ullamcorper. Maecenas finibus elit augue, vel " + "condimentum odio maximus nec. In hac habitasse platea dictumst. " + "Vestibulum vel dolor et turpis rutrum finibus ac at nulla. " + "Vivamus nec neque ac elit blandit pretium vitae maximus ipsum. " + "Quisque sodales magna vel erat auctor, sed pellentesque nisi " + "rhoncus. Donec vehicula maximus pretium. Aliquam eu tincidunt " + "lorem."; + +struct WriteThis { + const char *readptr; + size_t sizeleft; +}; + +static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct WriteThis *upload = (struct WriteThis *)userp; + size_t max = size*nmemb; + + if(max < 1) + return 0; + + if(upload->sizeleft) { + size_t copylen = max; + if(copylen > upload->sizeleft) + copylen = upload->sizeleft; + memcpy(ptr, upload->readptr, copylen); + upload->readptr += copylen; + upload->sizeleft -= copylen; + return copylen; + } + + return 0; /* no more data left to deliver */ +} + +int main(void) +{ + CURL *curl; + CURLcode res; + + struct WriteThis upload; + + upload.readptr = data; + upload.sizeleft = strlen(data); + + /* In Windows, this inits the Winsock stuff */ + res = curl_global_init(CURL_GLOBAL_DEFAULT); + /* Check for errors */ + if(res != CURLE_OK) { + fprintf(stderr, "curl_global_init() failed: %s\n", + curl_easy_strerror(res)); + return 1; + } + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + /* First set the URL, the target file */ + curl_easy_setopt(curl, CURLOPT_URL, + "ftp://example.com/path/to/upload/file"); + + /* User and password for the FTP login */ + curl_easy_setopt(curl, CURLOPT_USERPWD, "login:secret"); + + /* Now specify we want to UPLOAD data */ + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* we want to use our own read function */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); + + /* pointer to pass to our read function */ + curl_easy_setopt(curl, CURLOPT_READDATA, &upload); + + /* get verbose debug output please */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Set the expected upload size. */ + curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)upload.sizeleft); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/ftpuploadresume.c b/curl/docs/examples/ftpuploadresume.c new file mode 100644 index 0000000..b02ad92 --- /dev/null +++ b/curl/docs/examples/ftpuploadresume.c @@ -0,0 +1,167 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Upload to FTP, resuming failed transfers. Active mode. + * + */ + +#include +#include +#include + +/* parse headers for Content-Length */ +static size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb, + void *stream) +{ + int r; + long len = 0; + + r = sscanf(ptr, "Content-Length: %ld\n", &len); + if(r) + *((long *) stream) = len; + + return size * nmemb; +} + +/* discard downloaded data */ +static size_t discardfunc(void *ptr, size_t size, size_t nmemb, void *stream) +{ + (void)ptr; + (void)stream; + return size * nmemb; +} + +/* read data to upload */ +static size_t readfunc(char *ptr, size_t size, size_t nmemb, void *stream) +{ + FILE *f = stream; + size_t n; + + if(ferror(f)) + return CURL_READFUNC_ABORT; + + n = fread(ptr, size, nmemb, f) * size; + + return n; +} + + +static int upload(CURL *curlhandle, const char *remotepath, + const char *localpath, long timeout, long tries) +{ + FILE *f; + long uploaded_len = 0; + CURLcode r = CURLE_GOT_NOTHING; + int c; + + f = fopen(localpath, "rb"); + if(!f) { +#ifndef UNDER_CE + perror(NULL); +#endif + return 0; + } + + curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L); + + curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath); + + if(timeout) + curl_easy_setopt(curlhandle, CURLOPT_SERVER_RESPONSE_TIMEOUT, timeout); + + curl_easy_setopt(curlhandle, CURLOPT_HEADERFUNCTION, getcontentlengthfunc); + curl_easy_setopt(curlhandle, CURLOPT_HEADERDATA, &uploaded_len); + + curl_easy_setopt(curlhandle, CURLOPT_WRITEFUNCTION, discardfunc); + + curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc); + curl_easy_setopt(curlhandle, CURLOPT_READDATA, f); + + /* enable active mode */ + curl_easy_setopt(curlhandle, CURLOPT_FTPPORT, "-"); + + /* allow the server no more than 7 seconds to connect back */ + curl_easy_setopt(curlhandle, CURLOPT_ACCEPTTIMEOUT_MS, 7000L); + + curl_easy_setopt(curlhandle, CURLOPT_FTP_CREATE_MISSING_DIRS, 1L); + + curl_easy_setopt(curlhandle, CURLOPT_VERBOSE, 1L); + + for(c = 0; (r != CURLE_OK) && (c < tries); c++) { + /* are we resuming? */ + if(c) { /* yes */ + /* determine the length of the file already written */ + + /* + * With NOBODY and NOHEADER, libcurl issues a SIZE command, but the only + * way to retrieve the result is to parse the returned Content-Length + * header. Thus, getcontentlengthfunc(). We need discardfunc() above + * because HEADER dumps the headers to stdout without it. + */ + curl_easy_setopt(curlhandle, CURLOPT_NOBODY, 1L); + curl_easy_setopt(curlhandle, CURLOPT_HEADER, 1L); + + r = curl_easy_perform(curlhandle); + if(r != CURLE_OK) + continue; + + curl_easy_setopt(curlhandle, CURLOPT_NOBODY, 0L); + curl_easy_setopt(curlhandle, CURLOPT_HEADER, 0L); + + fseek(f, uploaded_len, SEEK_SET); + + curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L); + } + else { /* no */ + curl_easy_setopt(curlhandle, CURLOPT_APPEND, 0L); + } + + r = curl_easy_perform(curlhandle); + } + + fclose(f); + + if(r == CURLE_OK) + return 1; + else { + fprintf(stderr, "%s\n", curl_easy_strerror(r)); + return 0; + } +} + +int main(void) +{ + CURL *curlhandle = NULL; + + curl_global_init(CURL_GLOBAL_ALL); + curlhandle = curl_easy_init(); + + upload(curlhandle, "ftp://user:pass@example.com/path/file", "C:\\file", + 0, 3); + + curl_easy_cleanup(curlhandle); + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/getinfo.c b/curl/docs/examples/getinfo.c new file mode 100644 index 0000000..9c178c2 --- /dev/null +++ b/curl/docs/examples/getinfo.c @@ -0,0 +1,54 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use getinfo to get content-type after completed transfer. + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/"); + res = curl_easy_perform(curl); + + if(CURLE_OK == res) { + char *ct; + /* ask for the content-type */ + res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct); + + if((CURLE_OK == res) && ct) + printf("We received Content-Type: %s\n", ct); + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/getinmemory.c b/curl/docs/examples/getinmemory.c new file mode 100644 index 0000000..173247d --- /dev/null +++ b/curl/docs/examples/getinmemory.c @@ -0,0 +1,118 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Shows how the write callback function can be used to download data into a + * chunk of memory instead of storing it in a file. + * + */ + +#include +#include +#include + +#include + +struct MemoryStruct { + char *memory; + size_t size; +}; + +static size_t +WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) +{ + size_t realsize = size * nmemb; + struct MemoryStruct *mem = (struct MemoryStruct *)userp; + + char *ptr = realloc(mem->memory, mem->size + realsize + 1); + if(!ptr) { + /* out of memory! */ + printf("not enough memory (realloc returned NULL)\n"); + return 0; + } + + mem->memory = ptr; + memcpy(&(mem->memory[mem->size]), contents, realsize); + mem->size += realsize; + mem->memory[mem->size] = 0; + + return realsize; +} + +int main(void) +{ + CURL *curl_handle; + CURLcode res; + + struct MemoryStruct chunk; + + chunk.memory = malloc(1); /* grown as needed by the realloc above */ + chunk.size = 0; /* no data at this point */ + + curl_global_init(CURL_GLOBAL_ALL); + + /* init the curl session */ + curl_handle = curl_easy_init(); + + /* specify URL to get */ + curl_easy_setopt(curl_handle, CURLOPT_URL, "https://www.example.com/"); + + /* send all data to this function */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); + + /* we pass our 'chunk' struct to the callback function */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk); + + /* some servers do not like requests that are made without a user-agent + field, so we provide one */ + curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0"); + + /* get it! */ + res = curl_easy_perform(curl_handle); + + /* check for errors */ + if(res != CURLE_OK) { + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + } + else { + /* + * Now, our chunk.memory points to a memory block that is chunk.size + * bytes big and contains the remote file. + * + * Do something nice with it! + */ + + printf("%lu bytes retrieved\n", (unsigned long)chunk.size); + } + + /* cleanup curl stuff */ + curl_easy_cleanup(curl_handle); + + free(chunk.memory); + + /* we are done with libcurl, so clean it up */ + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/getredirect.c b/curl/docs/examples/getredirect.c new file mode 100644 index 0000000..91c778d --- /dev/null +++ b/curl/docs/examples/getredirect.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Show how to extract Location: header and URL to redirect to. + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + char *location; + long response_code; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + + /* example.com is redirected, figure out the redirection! */ + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + else { + res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); + if((res == CURLE_OK) && + ((response_code / 100) != 3)) { + /* a redirect implies a 3xx response code */ + fprintf(stderr, "Not a redirect.\n"); + } + else { + res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &location); + + if((res == CURLE_OK) && location) { + /* This is the new absolute URL that you could redirect to, even if + * the Location: response header may have been a relative URL. */ + printf("Redirected to: %s\n", location); + } + } + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/getreferrer.c b/curl/docs/examples/getreferrer.c new file mode 100644 index 0000000..c46f782 --- /dev/null +++ b/curl/docs/examples/getreferrer.c @@ -0,0 +1,59 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Show how to extract referrer header. + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + + curl = curl_easy_init(); + if(curl) { + CURLcode res; + + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + curl_easy_setopt(curl, CURLOPT_REFERER, "https://example.org/referrer"); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + else { + char *hdr; + res = curl_easy_getinfo(curl, CURLINFO_REFERER, &hdr); + if((res == CURLE_OK) && hdr) + printf("Referrer header: %s\n", hdr); + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/headerapi.c b/curl/docs/examples/headerapi.c new file mode 100644 index 0000000..95c3668 --- /dev/null +++ b/curl/docs/examples/headerapi.c @@ -0,0 +1,81 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Extract headers post transfer with the header API + * + */ +#include +#include + +static size_t write_cb(char *data, size_t n, size_t l, void *userp) +{ + /* take care of the data here, ignored in this example */ + (void)data; + (void)userp; + return n*l; +} + +int main(void) +{ + CURL *curl; + + curl = curl_easy_init(); + if(curl) { + CURLcode res; + struct curl_header *header; + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + /* example.com is redirected, so we tell libcurl to follow redirection */ + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + + /* this example just ignores the content */ + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cb); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + if(CURLHE_OK == curl_easy_header(curl, "Content-Type", 0, CURLH_HEADER, + -1, &header)) + printf("Got content-type: %s\n", header->value); + + printf("All server headers:\n"); + { + struct curl_header *h; + struct curl_header *prev = NULL; + do { + h = curl_easy_nextheader(curl, CURLH_HEADER, -1, prev); + if(h) + printf(" %s: %s (%u)\n", h->name, h->value, (int)h->amount); + prev = h; + } while(h); + + } + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/hsts-preload.c b/curl/docs/examples/hsts-preload.c new file mode 100644 index 0000000..a25773f --- /dev/null +++ b/curl/docs/examples/hsts-preload.c @@ -0,0 +1,118 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Preload domains to HSTS + * + */ +#include +#include +#include + +struct entry { + const char *name; + const char *exp; +}; + +static const struct entry preload_hosts[] = { + { "example.com", "20370320 01:02:03" }, + { "curl.se", "20370320 03:02:01" }, + { NULL, NULL } /* end of list marker */ +}; + +struct state { + int index; +}; + +/* "read" is from the point of the library, it wants data from us. One domain + entry per invoke. */ +static CURLSTScode hstsread(CURL *easy, struct curl_hstsentry *e, + void *userp) +{ + const char *host; + const char *expire; + struct state *s = (struct state *)userp; + (void)easy; + host = preload_hosts[s->index].name; + expire = preload_hosts[s->index++].exp; + + if(host && (strlen(host) < e->namelen)) { + strcpy(e->name, host); + e->includeSubDomains = 0; + strcpy(e->expire, expire); + fprintf(stderr, "HSTS preload '%s' until '%s'\n", host, expire); + } + else + return CURLSTS_DONE; + return CURLSTS_OK; +} + +static CURLSTScode hstswrite(CURL *easy, struct curl_hstsentry *e, + struct curl_index *i, void *userp) +{ + (void)easy; + (void)userp; /* we have no custom input */ + printf("[%u/%u] %s %s\n", (unsigned int)i->index, (unsigned int)i->total, + e->name, e->expire); + return CURLSTS_OK; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + struct state st = {0}; + + /* enable HSTS for this handle */ + curl_easy_setopt(curl, CURLOPT_HSTS_CTRL, (long)CURLHSTS_ENABLE); + + /* function to call at first to populate the cache before the transfer */ + curl_easy_setopt(curl, CURLOPT_HSTSREADFUNCTION, hstsread); + curl_easy_setopt(curl, CURLOPT_HSTSREADDATA, &st); + + /* function to call after transfer to store the new state of the HSTS + cache */ + curl_easy_setopt(curl, CURLOPT_HSTSWRITEFUNCTION, hstswrite); + curl_easy_setopt(curl, CURLOPT_HSTSWRITEDATA, NULL); + + /* use the domain with HTTP but due to the preload, it should do the + transfer using HTTPS */ + curl_easy_setopt(curl, CURLOPT_URL, "http://curl.se"); + + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/http-options.c b/curl/docs/examples/http-options.c new file mode 100644 index 0000000..586b55f --- /dev/null +++ b/curl/docs/examples/http-options.c @@ -0,0 +1,59 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Issue an HTTP 'OPTIONS *' request + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "OPTIONS"); + + /* issue an OPTIONS * request (no leading slash) */ + curl_easy_setopt(curl, CURLOPT_REQUEST_TARGET, "*"); + + /* if this operation fails, allow risking a memory leak and do quick exit + from libcurl as this exits anyway */ + curl_easy_setopt(curl, CURLOPT_QUICK_EXIT, 1L); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/http-post.c b/curl/docs/examples/http-post.c new file mode 100644 index 0000000..901ee1e --- /dev/null +++ b/curl/docs/examples/http-post.c @@ -0,0 +1,61 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * simple HTTP POST using the easy interface + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + /* In Windows, this inits the Winsock stuff */ + curl_global_init(CURL_GLOBAL_ALL); + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + /* First set the URL that is about to receive our POST. This URL can + just as well be an https:// URL if that is what should receive the + data. */ + curl_easy_setopt(curl, CURLOPT_URL, "http://postit.example.com/moo.cgi"); + /* Now specify the POST data */ + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl"); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/http2-download.c b/curl/docs/examples/http2-download.c new file mode 100644 index 0000000..4a249fa --- /dev/null +++ b/curl/docs/examples/http2-download.c @@ -0,0 +1,236 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Multiplexed HTTP/2 downloads over a single connection + * + */ +#include +#include +#include +#ifdef UNDER_CE +#define strerror(e) "?" +#else +#include +#endif + +/* curl stuff */ +#include +#include + +#ifndef CURLPIPE_MULTIPLEX +/* This little trick makes sure that we do not enable pipelining for libcurls + old enough to not have this symbol. It is _not_ defined to zero in a recent + libcurl header. */ +#define CURLPIPE_MULTIPLEX 0 +#endif + +struct transfer { + CURL *easy; + unsigned int num; + FILE *out; +}; + +#define NUM_HANDLES 1000 + +static +void dump(const char *text, unsigned int num, unsigned char *ptr, size_t size, + char nohex) +{ + size_t i; + size_t c; + + unsigned int width = 0x10; + + if(nohex) + /* without the hex output, we can fit more on screen */ + width = 0x40; + + fprintf(stderr, "%u %s, %lu bytes (0x%lx)\n", + num, text, (unsigned long)size, (unsigned long)size); + + for(i = 0; i < size; i += width) { + + fprintf(stderr, "%4.4lx: ", (unsigned long)i); + + if(!nohex) { + /* hex not disabled, show it */ + for(c = 0; c < width; c++) + if(i + c < size) + fprintf(stderr, "%02x ", ptr[i + c]); + else + fputs(" ", stderr); + } + + for(c = 0; (c < width) && (i + c < size); c++) { + /* check for 0D0A; if found, skip past and start a new line of output */ + if(nohex && (i + c + 1 < size) && ptr[i + c] == 0x0D && + ptr[i + c + 1] == 0x0A) { + i += (c + 2 - width); + break; + } + fprintf(stderr, "%c", + (ptr[i + c] >= 0x20) && (ptr[i + c] < 0x80) ? ptr[i + c] : '.'); + /* check again for 0D0A, to avoid an extra \n if it's at width */ + if(nohex && (i + c + 2 < size) && ptr[i + c + 1] == 0x0D && + ptr[i + c + 2] == 0x0A) { + i += (c + 3 - width); + break; + } + } + fputc('\n', stderr); /* newline */ + } +} + +static +int my_trace(CURL *handle, curl_infotype type, + char *data, size_t size, + void *userp) +{ + const char *text; + struct transfer *t = (struct transfer *)userp; + unsigned int num = t->num; + (void)handle; /* prevent compiler warning */ + + switch(type) { + case CURLINFO_TEXT: + fprintf(stderr, "== %u Info: %s", num, data); + return 0; + case CURLINFO_HEADER_OUT: + text = "=> Send header"; + break; + case CURLINFO_DATA_OUT: + text = "=> Send data"; + break; + case CURLINFO_SSL_DATA_OUT: + text = "=> Send SSL data"; + break; + case CURLINFO_HEADER_IN: + text = "<= Recv header"; + break; + case CURLINFO_DATA_IN: + text = "<= Recv data"; + break; + case CURLINFO_SSL_DATA_IN: + text = "<= Recv SSL data"; + break; + default: /* in case a new one is introduced to shock us */ + return 0; + } + + dump(text, num, (unsigned char *)data, size, 1); + return 0; +} + +static int setup(struct transfer *t, int num) +{ + char filename[128]; + CURL *hnd; + + hnd = t->easy = curl_easy_init(); + + curl_msnprintf(filename, 128, "dl-%d", num); + + t->out = fopen(filename, "wb"); + if(!t->out) { + fprintf(stderr, "error: could not open file %s for writing: %s\n", + filename, strerror(errno)); + return 1; + } + + /* write to this file */ + curl_easy_setopt(hnd, CURLOPT_WRITEDATA, t->out); + + /* set the same URL */ + curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html"); + + /* please be verbose */ + curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); + curl_easy_setopt(hnd, CURLOPT_DEBUGDATA, t); + + /* enlarge the receive buffer for potentially higher transfer speeds */ + curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 100000L); + + /* HTTP/2 please */ + curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); + +#if (CURLPIPE_MULTIPLEX > 0) + /* wait for pipe connection to confirm */ + curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); +#endif + return 0; +} + +/* + * Download many transfers over HTTP/2, using the same connection! + */ +int main(int argc, char **argv) +{ + struct transfer trans[NUM_HANDLES]; + CURLM *multi_handle; + int i; + int still_running = 0; /* keep number of running handles */ + int num_transfers; + if(argc > 1) { + /* if given a number, do that many transfers */ + num_transfers = atoi(argv[1]); + if((num_transfers < 1) || (num_transfers > NUM_HANDLES)) + num_transfers = 3; /* a suitable low default */ + } + else + num_transfers = 3; /* suitable default */ + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + for(i = 0; i < num_transfers; i++) { + if(setup(&trans[i], i)) + return 1; + + /* add the individual transfer */ + curl_multi_add_handle(multi_handle, trans[i].easy); + } + + curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); + + do { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + } while(still_running); + + for(i = 0; i < num_transfers; i++) { + curl_multi_remove_handle(multi_handle, trans[i].easy); + curl_easy_cleanup(trans[i].easy); + } + + curl_multi_cleanup(multi_handle); + + return 0; +} diff --git a/curl/docs/examples/http2-pushinmemory.c b/curl/docs/examples/http2-pushinmemory.c new file mode 100644 index 0000000..53c368e --- /dev/null +++ b/curl/docs/examples/http2-pushinmemory.c @@ -0,0 +1,186 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP/2 server push. Receive all data in memory. + * + */ +#include +#include +#include + +/* curl stuff */ +#include + +struct Memory { + char *memory; + size_t size; +}; + +static size_t +write_cb(void *contents, size_t size, size_t nmemb, void *userp) +{ + size_t realsize = size * nmemb; + struct Memory *mem = (struct Memory *)userp; + char *ptr = realloc(mem->memory, mem->size + realsize + 1); + if(!ptr) { + /* out of memory! */ + printf("not enough memory (realloc returned NULL)\n"); + return 0; + } + + mem->memory = ptr; + memcpy(&(mem->memory[mem->size]), contents, realsize); + mem->size += realsize; + mem->memory[mem->size] = 0; + + return realsize; +} + +#define MAX_FILES 10 +static struct Memory files[MAX_FILES]; +static int pushindex = 1; + +static void init_memory(struct Memory *chunk) +{ + chunk->memory = malloc(1); /* grown as needed with realloc */ + chunk->size = 0; /* no data at this point */ +} + +static void setup(CURL *hnd) +{ + /* set the same URL */ + curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html"); + + /* HTTP/2 please */ + curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); + + /* we use a self-signed test server, skip verification during debugging */ + curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); + + /* write data to a struct */ + curl_easy_setopt(hnd, CURLOPT_WRITEFUNCTION, write_cb); + init_memory(&files[0]); + curl_easy_setopt(hnd, CURLOPT_WRITEDATA, &files[0]); + + /* wait for pipe connection to confirm */ + curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); +} + +/* called when there is an incoming push */ +static int server_push_callback(CURL *parent, + CURL *easy, + size_t num_headers, + struct curl_pushheaders *headers, + void *userp) +{ + char *headp; + int *transfers = (int *)userp; + (void)parent; /* we have no use for this */ + (void)num_headers; /* unused */ + + if(pushindex == MAX_FILES) + /* cannot fit anymore */ + return CURL_PUSH_DENY; + + /* write to this buffer */ + init_memory(&files[pushindex]); + curl_easy_setopt(easy, CURLOPT_WRITEDATA, &files[pushindex]); + pushindex++; + + headp = curl_pushheader_byname(headers, ":path"); + if(headp) + fprintf(stderr, "* Pushed :path '%s'\n", headp /* skip :path + colon */); + + (*transfers)++; /* one more */ + return CURL_PUSH_OK; +} + + +/* + * Download a file over HTTP/2, take care of server push. + */ +int main(void) +{ + CURL *easy; + CURLM *multi; + int still_running; /* keep number of running handles */ + int transfers = 1; /* we start with one */ + int i; + struct CURLMsg *m; + + /* init a multi stack */ + multi = curl_multi_init(); + + easy = curl_easy_init(); + + /* set options */ + setup(easy); + + /* add the easy transfer */ + curl_multi_add_handle(multi, easy); + + curl_multi_setopt(multi, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); + curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, server_push_callback); + curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &transfers); + + while(transfers) { + int rc; + CURLMcode mcode = curl_multi_perform(multi, &still_running); + if(mcode) + break; + + mcode = curl_multi_wait(multi, NULL, 0, 1000, &rc); + if(mcode) + break; + + + /* + * When doing server push, libcurl itself created and added one or more + * easy handles but *we* need to clean them up when they are done. + */ + do { + int msgq = 0; + m = curl_multi_info_read(multi, &msgq); + if(m && (m->msg == CURLMSG_DONE)) { + CURL *e = m->easy_handle; + transfers--; + curl_multi_remove_handle(multi, e); + curl_easy_cleanup(e); + } + } while(m); + + } + + + curl_multi_cleanup(multi); + + /* 'pushindex' is now the number of received transfers */ + for(i = 0; i < pushindex; i++) { + /* do something fun with the data, and then free it when done */ + free(files[i].memory); + } + + return 0; +} diff --git a/curl/docs/examples/http2-serverpush.c b/curl/docs/examples/http2-serverpush.c new file mode 100644 index 0000000..e259e14 --- /dev/null +++ b/curl/docs/examples/http2-serverpush.c @@ -0,0 +1,273 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP/2 server push + * + */ +#include +#include +#include + +/* curl stuff */ +#include +#include + +#ifndef CURLPIPE_MULTIPLEX +#error "too old libcurl, cannot do HTTP/2 server push!" +#endif + +static +void dump(const char *text, unsigned char *ptr, size_t size, + char nohex) +{ + size_t i; + size_t c; + + unsigned int width = 0x10; + + if(nohex) + /* without the hex output, we can fit more on screen */ + width = 0x40; + + fprintf(stderr, "%s, %lu bytes (0x%lx)\n", + text, (unsigned long)size, (unsigned long)size); + + for(i = 0; i < size; i += width) { + + fprintf(stderr, "%4.4lx: ", (unsigned long)i); + + if(!nohex) { + /* hex not disabled, show it */ + for(c = 0; c < width; c++) + if(i + c < size) + fprintf(stderr, "%02x ", ptr[i + c]); + else + fputs(" ", stderr); + } + + for(c = 0; (c < width) && (i + c < size); c++) { + /* check for 0D0A; if found, skip past and start a new line of output */ + if(nohex && (i + c + 1 < size) && ptr[i + c] == 0x0D && + ptr[i + c + 1] == 0x0A) { + i += (c + 2 - width); + break; + } + fprintf(stderr, "%c", + (ptr[i + c] >= 0x20) && (ptr[i + c] < 0x80) ? ptr[i + c] : '.'); + /* check again for 0D0A, to avoid an extra \n if it's at width */ + if(nohex && (i + c + 2 < size) && ptr[i + c + 1] == 0x0D && + ptr[i + c + 2] == 0x0A) { + i += (c + 3 - width); + break; + } + } + fputc('\n', stderr); /* newline */ + } +} + +static +int my_trace(CURL *handle, curl_infotype type, + char *data, size_t size, + void *userp) +{ + const char *text; + (void)handle; /* prevent compiler warning */ + (void)userp; + switch(type) { + case CURLINFO_TEXT: + fprintf(stderr, "== Info: %s", data); + return 0; + case CURLINFO_HEADER_OUT: + text = "=> Send header"; + break; + case CURLINFO_DATA_OUT: + text = "=> Send data"; + break; + case CURLINFO_SSL_DATA_OUT: + text = "=> Send SSL data"; + break; + case CURLINFO_HEADER_IN: + text = "<= Recv header"; + break; + case CURLINFO_DATA_IN: + text = "<= Recv data"; + break; + case CURLINFO_SSL_DATA_IN: + text = "<= Recv SSL data"; + break; + default: /* in case a new one is introduced to shock us */ + return 0; + } + + dump(text, (unsigned char *)data, size, 1); + return 0; +} + +#define OUTPUTFILE "dl" + +static int setup(CURL *hnd, const char *url) +{ + FILE *out = fopen(OUTPUTFILE, "wb"); + if(!out) + /* failed */ + return 1; + + /* write to this file */ + curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); + + /* set the same URL */ + curl_easy_setopt(hnd, CURLOPT_URL, url); + + /* please be verbose */ + curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); + + /* HTTP/2 please */ + curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); + + /* we use a self-signed test server, skip verification during debugging */ + curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); + +#if (CURLPIPE_MULTIPLEX > 0) + /* wait for pipe connection to confirm */ + curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); +#endif + return 0; /* all is good */ +} + +/* called when there is an incoming push */ +static int server_push_callback(CURL *parent, + CURL *easy, + size_t num_headers, + struct curl_pushheaders *headers, + void *userp) +{ + char *headp; + size_t i; + int *transfers = (int *)userp; + char filename[128]; + FILE *out; + static unsigned int count = 0; + + (void)parent; /* we have no use for this */ + + curl_msnprintf(filename, 128, "push%u", count++); + + /* here's a new stream, save it in a new file for each new push */ + out = fopen(filename, "wb"); + if(!out) { + /* if we cannot save it, deny it */ + fprintf(stderr, "Failed to create output file for push\n"); + return CURL_PUSH_DENY; + } + + /* write to this file */ + curl_easy_setopt(easy, CURLOPT_WRITEDATA, out); + + fprintf(stderr, "**** push callback approves stream %u, got %lu headers!\n", + count, (unsigned long)num_headers); + + for(i = 0; i < num_headers; i++) { + headp = curl_pushheader_bynum(headers, i); + fprintf(stderr, "**** header %lu: %s\n", (unsigned long)i, headp); + } + + headp = curl_pushheader_byname(headers, ":path"); + if(headp) { + fprintf(stderr, "**** The PATH is %s\n", headp /* skip :path + colon */); + } + + (*transfers)++; /* one more */ + return CURL_PUSH_OK; +} + + +/* + * Download a file over HTTP/2, take care of server push. + */ +int main(int argc, char *argv[]) +{ + CURL *easy; + CURLM *multi_handle; + int transfers = 1; /* we start with one */ + struct CURLMsg *m; + const char *url = "https://localhost:8443/index.html"; + + if(argc == 2) + url = argv[1]; + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + easy = curl_easy_init(); + + /* set options */ + if(setup(easy, url)) { + fprintf(stderr, "failed\n"); + return 1; + } + + /* add the easy transfer */ + curl_multi_add_handle(multi_handle, easy); + + curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); + curl_multi_setopt(multi_handle, CURLMOPT_PUSHFUNCTION, server_push_callback); + curl_multi_setopt(multi_handle, CURLMOPT_PUSHDATA, &transfers); + + do { + int still_running; /* keep number of running handles */ + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + + /* + * A little caution when doing server push is that libcurl itself has + * created and added one or more easy handles but we need to clean them up + * when we are done. + */ + + do { + int msgq = 0; + m = curl_multi_info_read(multi_handle, &msgq); + if(m && (m->msg == CURLMSG_DONE)) { + CURL *e = m->easy_handle; + transfers--; + curl_multi_remove_handle(multi_handle, e); + curl_easy_cleanup(e); + } + } while(m); + + } while(transfers); /* as long as we have transfers going */ + + curl_multi_cleanup(multi_handle); + + + return 0; +} diff --git a/curl/docs/examples/http2-upload.c b/curl/docs/examples/http2-upload.c new file mode 100644 index 0000000..580944f --- /dev/null +++ b/curl/docs/examples/http2-upload.c @@ -0,0 +1,342 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Multiplexed HTTP/2 uploads over a single connection + * + */ +#include +#include +#include +#include +#include +#ifdef UNDER_CE +#define strerror(e) "?" +#else +#include +#endif + +/* somewhat Unix-specific */ +#ifndef _MSC_VER +#include +#include +#endif + +#ifdef _WIN32 +#undef stat +#define stat _stat +#endif + +/* curl stuff */ +#include +#include + +#ifndef CURLPIPE_MULTIPLEX +/* This little trick makes sure that we do not enable pipelining for libcurls + old enough to not have this symbol. It is _not_ defined to zero in a recent + libcurl header. */ +#define CURLPIPE_MULTIPLEX 0 +#endif + +#define NUM_HANDLES 1000 + +#ifdef _MSC_VER +#define gettimeofday(a, b) my_gettimeofday((a), (b)) +static +int my_gettimeofday(struct timeval *tp, void *tzp) +{ + (void)tzp; + if(tp) { + /* Offset between 1601-01-01 and 1970-01-01 in 100 nanosec units */ + #define _WIN32_FT_OFFSET (116444736000000000) + union { + CURL_TYPEOF_CURL_OFF_T ns100; /* time since 1 Jan 1601 in 100ns units */ + FILETIME ft; + } _now; + GetSystemTimeAsFileTime(&_now.ft); + tp->tv_usec = (long)((_now.ns100 / 10) % 1000000); + tp->tv_sec = (long)((_now.ns100 - _WIN32_FT_OFFSET) / 10000000); + } + return 0; +} +#endif + +struct input { + FILE *in; + size_t bytes_read; /* count up */ + CURL *hnd; + int num; +}; + +static +void dump(const char *text, int num, unsigned char *ptr, size_t size, + char nohex) +{ + size_t i; + size_t c; + unsigned int width = 0x10; + + if(nohex) + /* without the hex output, we can fit more on screen */ + width = 0x40; + + fprintf(stderr, "%d %s, %lu bytes (0x%lx)\n", + num, text, (unsigned long)size, (unsigned long)size); + + for(i = 0; i < size; i += width) { + + fprintf(stderr, "%4.4lx: ", (unsigned long)i); + + if(!nohex) { + /* hex not disabled, show it */ + for(c = 0; c < width; c++) + if(i + c < size) + fprintf(stderr, "%02x ", ptr[i + c]); + else + fputs(" ", stderr); + } + + for(c = 0; (c < width) && (i + c < size); c++) { + /* check for 0D0A; if found, skip past and start a new line of output */ + if(nohex && (i + c + 1 < size) && ptr[i + c] == 0x0D && + ptr[i + c + 1] == 0x0A) { + i += (c + 2 - width); + break; + } + fprintf(stderr, "%c", + (ptr[i + c] >= 0x20) && (ptr[i + c] < 0x80) ? ptr[i + c] : '.'); + /* check again for 0D0A, to avoid an extra \n if it's at width */ + if(nohex && (i + c + 2 < size) && ptr[i + c + 1] == 0x0D && + ptr[i + c + 2] == 0x0A) { + i += (c + 3 - width); + break; + } + } + fputc('\n', stderr); /* newline */ + } +} + +static +int my_trace(CURL *handle, curl_infotype type, + char *data, size_t size, + void *userp) +{ + char timebuf[60]; + const char *text; + struct input *i = (struct input *)userp; + int num = i->num; + static time_t epoch_offset; + static int known_offset; + struct timeval tv; + time_t secs; + struct tm *now; + (void)handle; /* prevent compiler warning */ + + gettimeofday(&tv, NULL); + if(!known_offset) { + epoch_offset = time(NULL) - tv.tv_sec; + known_offset = 1; + } + secs = epoch_offset + tv.tv_sec; + now = localtime(&secs); /* not thread safe but we do not care */ + curl_msnprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld", + now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec); + + switch(type) { + case CURLINFO_TEXT: + fprintf(stderr, "%s [%d] Info: %s", timebuf, num, data); + return 0; + case CURLINFO_HEADER_OUT: + text = "=> Send header"; + break; + case CURLINFO_DATA_OUT: + text = "=> Send data"; + break; + case CURLINFO_SSL_DATA_OUT: + text = "=> Send SSL data"; + break; + case CURLINFO_HEADER_IN: + text = "<= Recv header"; + break; + case CURLINFO_DATA_IN: + text = "<= Recv data"; + break; + case CURLINFO_SSL_DATA_IN: + text = "<= Recv SSL data"; + break; + default: /* in case a new one is introduced to shock us */ + return 0; + } + + dump(text, num, (unsigned char *)data, size, 1); + return 0; +} + +static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct input *i = userp; + size_t retcode = fread(ptr, size, nmemb, i->in); + i->bytes_read += retcode; + return retcode; +} + +static int setup(struct input *i, int num, const char *upload) +{ + FILE *out; + char url[256]; + char filename[128]; + struct stat file_info; + curl_off_t uploadsize; + CURL *hnd; + + hnd = i->hnd = NULL; + + i->num = num; + curl_msnprintf(filename, 128, "dl-%d", num); + out = fopen(filename, "wb"); + if(!out) { + fprintf(stderr, "error: could not open file %s for writing: %s\n", upload, + strerror(errno)); + return 1; + } + + curl_msnprintf(url, 256, "https://localhost:8443/upload-%d", num); + + /* get the file size of the local file */ + if(stat(upload, &file_info)) { + fprintf(stderr, "error: could not stat file %s: %s\n", upload, + strerror(errno)); + fclose(out); + return 1; + } + + uploadsize = file_info.st_size; + + i->in = fopen(upload, "rb"); + if(!i->in) { + fprintf(stderr, "error: could not open file %s for reading: %s\n", upload, + strerror(errno)); + fclose(out); + return 1; + } + + hnd = i->hnd = curl_easy_init(); + + /* write to this file */ + curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); + + /* we want to use our own read function */ + curl_easy_setopt(hnd, CURLOPT_READFUNCTION, read_callback); + /* read from this file */ + curl_easy_setopt(hnd, CURLOPT_READDATA, i); + /* provide the size of the upload */ + curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, uploadsize); + + /* send in the URL to store the upload as */ + curl_easy_setopt(hnd, CURLOPT_URL, url); + + /* upload please */ + curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L); + + /* please be verbose */ + curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); + curl_easy_setopt(hnd, CURLOPT_DEBUGDATA, i); + + /* HTTP/2 please */ + curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); + + /* we use a self-signed test server, skip verification during debugging */ + curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); + curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); + +#if (CURLPIPE_MULTIPLEX > 0) + /* wait for pipe connection to confirm */ + curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); +#endif + return 0; +} + +/* + * Upload all files over HTTP/2, using the same physical connection! + */ +int main(int argc, char **argv) +{ + struct input trans[NUM_HANDLES]; + CURLM *multi_handle; + int i; + int still_running = 0; /* keep number of running handles */ + const char *filename = "index.html"; + int num_transfers; + + if(argc > 1) { + /* if given a number, do that many transfers */ + num_transfers = atoi(argv[1]); + + if(!num_transfers || (num_transfers > NUM_HANDLES)) + num_transfers = 3; /* a suitable low default */ + + if(argc > 2) + /* if given a file name, upload this! */ + filename = argv[2]; + } + else + num_transfers = 3; + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + for(i = 0; i < num_transfers; i++) { + if(setup(&trans[i], i, filename)) + return 1; + + /* add the individual transfer */ + curl_multi_add_handle(multi_handle, trans[i].hnd); + } + + curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); + + /* We do HTTP/2 so let's stick to one connection per host */ + curl_multi_setopt(multi_handle, CURLMOPT_MAX_HOST_CONNECTIONS, 1L); + + do { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + + } while(still_running); + + curl_multi_cleanup(multi_handle); + + for(i = 0; i < num_transfers; i++) { + curl_multi_remove_handle(multi_handle, trans[i].hnd); + curl_easy_cleanup(trans[i].hnd); + } + + return 0; +} diff --git a/curl/docs/examples/http3-present.c b/curl/docs/examples/http3-present.c new file mode 100644 index 0000000..56ba0f5 --- /dev/null +++ b/curl/docs/examples/http3-present.c @@ -0,0 +1,49 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Checks if HTTP/3 support is present in libcurl. + * + */ +#include +#include + +int main(void) +{ + curl_version_info_data *ver; + + curl_global_init(CURL_GLOBAL_ALL); + + ver = curl_version_info(CURLVERSION_NOW); + if(ver->features & CURL_VERSION_HTTP2) + printf("HTTP/2 support is present\n"); + + if(ver->features & CURL_VERSION_HTTP3) + printf("HTTP/3 support is present\n"); + + if(ver->features & CURL_VERSION_ALTSVC) + printf("Alt-svc support is present\n"); + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/http3.c b/curl/docs/examples/http3.c new file mode 100644 index 0000000..e278f2e --- /dev/null +++ b/curl/docs/examples/http3.c @@ -0,0 +1,55 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Very simple HTTP/3 GET + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + + /* Use HTTP/3 but fallback to earlier HTTP if necessary */ + curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, + (long)CURL_HTTP_VERSION_3); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/httpcustomheader.c b/curl/docs/examples/httpcustomheader.c new file mode 100644 index 0000000..a388167 --- /dev/null +++ b/curl/docs/examples/httpcustomheader.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP request with custom modified, removed and added headers + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + struct curl_slist *chunk = NULL; + + /* Remove a header curl would otherwise add by itself */ + chunk = curl_slist_append(chunk, "Accept:"); + + /* Add a custom header */ + chunk = curl_slist_append(chunk, "Another: yes"); + + /* Modify a header curl otherwise adds differently */ + chunk = curl_slist_append(chunk, "Host: example.com"); + + /* Add a header with "blank" contents to the right of the colon. Note that + we are then using a semicolon in the string we pass to curl! */ + chunk = curl_slist_append(chunk, "X-silly-header;"); + + /* set our custom set of headers */ + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); + + curl_easy_setopt(curl, CURLOPT_URL, "localhost"); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + + /* free the custom headers */ + curl_slist_free_all(chunk); + } + return 0; +} diff --git a/curl/docs/examples/httpput-postfields.c b/curl/docs/examples/httpput-postfields.c new file mode 100644 index 0000000..fdd6ffe --- /dev/null +++ b/curl/docs/examples/httpput-postfields.c @@ -0,0 +1,104 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP PUT using CURLOPT_POSTFIELDS + * + */ +#include +#include +#include + +static const char olivertwist[]= + "Among other public buildings in a certain town, which for many reasons " + "it will be prudent to refrain from mentioning, and to which I will assign " + "no fictitious name, there is one anciently common to most towns, great or " + "small: to wit, a workhouse; and in this workhouse was born; on a day and " + "date which I need not trouble myself to repeat, inasmuch as it can be of " + "no possible consequence to the reader, in this stage of the business at " + "all events; the item of mortality whose name is prefixed"; + +/* ... to the head of this chapter. String cut off to stick within the C90 + 509 byte limit. */ + +/* + * This example shows an HTTP PUT operation that sends a fixed buffer with + * CURLOPT_POSTFIELDS to the URL given as an argument. + */ + +int main(int argc, char **argv) +{ + CURL *curl; + CURLcode res; + char *url; + + if(argc < 2) + return 1; + + url = argv[1]; + + /* In Windows, this inits the Winsock stuff */ + curl_global_init(CURL_GLOBAL_ALL); + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + struct curl_slist *headers = NULL; + + /* default type with postfields is application/x-www-form-urlencoded, + change it if you want */ + headers = curl_slist_append(headers, "Content-Type: literature/classic"); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + + /* pass on content in request body. When CURLOPT_POSTFIELDSIZE is not used, + curl does strlen to get the size. */ + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, olivertwist); + + /* override the POST implied by CURLOPT_POSTFIELDS + * + * Warning: CURLOPT_CUSTOMREQUEST is problematic, especially if you want + * to follow redirects. Be aware. + */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT"); + + /* specify target URL, and note that this URL should include a file + name, not only a directory */ + curl_easy_setopt(curl, CURLOPT_URL, url); + + /* Now run off and do what you have been told! */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + + /* free headers */ + curl_slist_free_all(headers); + } + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/httpput.c b/curl/docs/examples/httpput.c new file mode 100644 index 0000000..3743e1b --- /dev/null +++ b/curl/docs/examples/httpput.c @@ -0,0 +1,130 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP PUT with easy interface and read callback + * + */ +#include +#include +#include +#include + +#ifdef _WIN32 +#undef stat +#define stat _stat +#endif + +/* + * This example shows an HTTP PUT operation. PUTs a file given as a command + * line argument to the URL also given on the command line. + * + * This example also uses its own read callback. + * + * Here's an article on how to setup a PUT handler for Apache: + * http://www.apacheweek.com/features/put + */ + +static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream) +{ + size_t retcode; + unsigned long nread; + + /* in real-world cases, this would probably get this data differently + as this fread() stuff is exactly what the library already would do + by default internally */ + retcode = fread(ptr, size, nmemb, stream); + + if(retcode > 0) { + nread = (unsigned long)retcode; + fprintf(stderr, "*** We read %lu bytes from file\n", nread); + } + + return retcode; +} + +int main(int argc, char **argv) +{ + CURL *curl; + CURLcode res; + FILE * hd_src; + struct stat file_info; + + char *file; + char *url; + + if(argc < 3) + return 1; + + file = argv[1]; + url = argv[2]; + + /* get the file size of the local file */ + stat(file, &file_info); + + /* get a FILE * of the same file, could also be made with + fdopen() from the previous descriptor, but hey this is just + an example! */ + hd_src = fopen(file, "rb"); + if(!hd_src) + return 2; + + /* In Windows, this inits the Winsock stuff */ + curl_global_init(CURL_GLOBAL_ALL); + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + /* we want to use our own read function */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); + + /* enable uploading (implies PUT over HTTP) */ + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* specify target URL, and note that this URL should include a file + name, not only a directory */ + curl_easy_setopt(curl, CURLOPT_URL, url); + + /* now specify which file to upload */ + curl_easy_setopt(curl, CURLOPT_READDATA, hd_src); + + /* provide the size of the upload, we typecast the value to curl_off_t + since we must be sure to use the correct data size */ + curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, + (curl_off_t)file_info.st_size); + + /* Now run off and do what you have been told! */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + fclose(hd_src); /* close the local file */ + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/https.c b/curl/docs/examples/https.c new file mode 100644 index 0000000..c1cba87 --- /dev/null +++ b/curl/docs/examples/https.c @@ -0,0 +1,83 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Simple HTTPS GET + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); + +#ifdef SKIP_PEER_VERIFICATION + /* + * If you want to connect to a site who is not using a certificate that is + * signed by one of the certs in the CA bundle you have, you can skip the + * verification of the server's certificate. This makes the connection + * A LOT LESS SECURE. + * + * If you have a CA cert for the server stored someplace else than in the + * default bundle, then the CURLOPT_CAPATH option might come handy for + * you. + */ + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); +#endif + +#ifdef SKIP_HOSTNAME_VERIFICATION + /* + * If the site you are connecting to uses a different host name that what + * they have mentioned in their server certificate's commonName (or + * subjectAltName) fields, libcurl refuses to connect. You can skip this + * check, but it makes the connection insecure. + */ + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); +#endif + + /* cache the CA cert bundle in memory for a week */ + curl_easy_setopt(curl, CURLOPT_CA_CACHE_TIMEOUT, 604800L); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/imap-append.c b/curl/docs/examples/imap-append.c new file mode 100644 index 0000000..1839dea --- /dev/null +++ b/curl/docs/examples/imap-append.c @@ -0,0 +1,130 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send email with IMAP + * + */ + +#include +#include +#include + +/* This is a simple example showing how to send mail using libcurl's IMAP + * capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +#define FROM "" +#define TO "" +#define CC "" + +static const char *payload_text = + "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n" + "To: " TO "\r\n" + "From: " FROM "(Example User)\r\n" + "Cc: " CC "(Another example User)\r\n" + "Message-ID: " + "\r\n" + "Subject: IMAP example message\r\n" + "\r\n" /* empty line to divide headers from body, see RFC 5322 */ + "The body of the message starts here.\r\n" + "\r\n" + "It could be a lot of lines, could be MIME encoded, whatever.\r\n" + "Check RFC 5322.\r\n"; + +struct upload_status { + size_t bytes_read; +}; + +static size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct upload_status *upload_ctx = (struct upload_status *)userp; + const char *data; + size_t room = size * nmemb; + + if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { + return 0; + } + + data = &payload_text[upload_ctx->bytes_read]; + + if(*data) { + size_t len = strlen(data); + if(room < len) + len = room; + memcpy(ptr, data, len); + upload_ctx->bytes_read += len; + + return len; + } + + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + size_t filesize; + long infilesize = LONG_MAX; + struct upload_status upload_ctx = { 0 }; + + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This creates a new message in folder "Sent". */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/Sent"); + + /* In this case, we are using a callback function to specify the data. You + * could just use the CURLOPT_READDATA option to specify a FILE pointer to + * read from. */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); + curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + filesize = strlen(payload_text); + if(filesize <= LONG_MAX) + infilesize = (long)filesize; + curl_easy_setopt(curl, CURLOPT_INFILESIZE, infilesize); + + /* Perform the append */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-authzid.c b/curl/docs/examples/imap-authzid.c new file mode 100644 index 0000000..eb615c6 --- /dev/null +++ b/curl/docs/examples/imap-authzid.c @@ -0,0 +1,73 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Retrieve emails from a shared IMAP mailbox + * + */ + +#include +#include + +/* This is a simple example showing how to fetch mail using libcurl's IMAP + * capabilities. + * + * Note that this example requires libcurl 7.66.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set the username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* Set the authorization identity (identity to act as) */ + curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "shared-mailbox"); + + /* Force PLAIN authentication */ + curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN"); + + /* This fetches message 1 from the user's inbox */ + curl_easy_setopt(curl, CURLOPT_URL, + "imap://imap.example.com/INBOX/;UID=1"); + + /* Perform the fetch */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-copy.c b/curl/docs/examples/imap-copy.c new file mode 100644 index 0000000..a221be0 --- /dev/null +++ b/curl/docs/examples/imap-copy.c @@ -0,0 +1,73 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Copy an email from one IMAP folder to another + * + */ + +#include +#include + +/* This is a simple example showing how to copy a mail from one mailbox folder + * to another using libcurl's IMAP capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is source mailbox folder to select */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX"); + + /* Set the COPY command specifying the message ID and destination folder */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "COPY 1 FOLDER"); + + /* Note that to perform a move operation you need to perform the copy, + * then mark the original mail as Deleted and EXPUNGE or CLOSE. Please see + * imap-store.c for more information on deleting messages. */ + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-create.c b/curl/docs/examples/imap-create.c new file mode 100644 index 0000000..6a9b565 --- /dev/null +++ b/curl/docs/examples/imap-create.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Create a new IMAP folder + * + */ + +#include +#include + +/* This is a simple example showing how to create a new mailbox folder using + * libcurl's IMAP capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); + + /* Set the CREATE command specifying the new folder name */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "CREATE FOLDER"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-delete.c b/curl/docs/examples/imap-delete.c new file mode 100644 index 0000000..e43ab2e --- /dev/null +++ b/curl/docs/examples/imap-delete.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Delete an IMAP folder + * + */ + +#include +#include + +/* This is a simple example showing how to delete an existing mailbox folder + * using libcurl's IMAP capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); + + /* Set the DELETE command specifying the existing folder */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE FOLDER"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-examine.c b/curl/docs/examples/imap-examine.c new file mode 100644 index 0000000..34217bf --- /dev/null +++ b/curl/docs/examples/imap-examine.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Obtain information about an IMAP folder + * + */ + +#include +#include + +/* This is a simple example showing how to obtain information about a mailbox + * folder using libcurl's IMAP capabilities via the EXAMINE command. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); + + /* Set the EXAMINE command specifying the mailbox folder */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "EXAMINE OUTBOX"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-fetch.c b/curl/docs/examples/imap-fetch.c new file mode 100644 index 0000000..416fe88 --- /dev/null +++ b/curl/docs/examples/imap-fetch.c @@ -0,0 +1,67 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Retrieve IMAP emails + * + */ + +#include +#include + +/* This is a simple example showing how to fetch mail using libcurl's IMAP + * capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This fetches message 1 from the user's inbox */ + curl_easy_setopt(curl, CURLOPT_URL, + "imap://imap.example.com/INBOX/;UID=1"); + + /* Perform the fetch */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-list.c b/curl/docs/examples/imap-list.c new file mode 100644 index 0000000..0253b54 --- /dev/null +++ b/curl/docs/examples/imap-list.c @@ -0,0 +1,68 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * List the folders within an IMAP mailbox + * + */ + +#include +#include + +/* This is a simple example showing how to list the folders within an IMAP + * mailbox. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This lists the folders within the user's mailbox. If you want to list + * the folders within a specific folder, for example the inbox, then + * specify the folder as a path in the URL such as /INBOX */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); + + /* Perform the list */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-lsub.c b/curl/docs/examples/imap-lsub.c new file mode 100644 index 0000000..cf45a5f --- /dev/null +++ b/curl/docs/examples/imap-lsub.c @@ -0,0 +1,70 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * List the subscribed IMAP folders + * + */ + +#include +#include + +/* This is a simple example showing how to list the subscribed folders within + * an IMAP mailbox. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); + + /* Set the LSUB command. Note the syntax is similar to that of a LIST + command. */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "LSUB \"\" *"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-multi.c b/curl/docs/examples/imap-multi.c new file mode 100644 index 0000000..42fa738 --- /dev/null +++ b/curl/docs/examples/imap-multi.c @@ -0,0 +1,83 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Get IMAP email with the multi interface + * + */ + +#include +#include +#include + +/* This is a simple example showing how to fetch mail using libcurl's IMAP + * capabilities. It builds on the imap-fetch.c example to demonstrate how to + * use libcurl's multi interface. + */ + +int main(void) +{ + CURL *curl; + CURLM *mcurl; + int still_running = 1; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(!curl) + return 1; + + mcurl = curl_multi_init(); + if(!mcurl) + return 2; + + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This fetches message 1 from the user's inbox */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX/;UID=1"); + + /* Tell the multi stack about our easy handle */ + curl_multi_add_handle(mcurl, curl); + + do { + CURLMcode mc = curl_multi_perform(mcurl, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(mcurl, NULL, 0, 1000, NULL); + + if(mc) + break; + } while(still_running); + + /* Always cleanup */ + curl_multi_remove_handle(mcurl, curl); + curl_multi_cleanup(mcurl); + curl_easy_cleanup(curl); + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/imap-noop.c b/curl/docs/examples/imap-noop.c new file mode 100644 index 0000000..9e5a3da --- /dev/null +++ b/curl/docs/examples/imap-noop.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Perform an IMAP noop + * + */ + +#include +#include + +/* This is a simple example showing how to perform a noop using libcurl's IMAP + * capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); + + /* Set the NOOP command */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "NOOP"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-search.c b/curl/docs/examples/imap-search.c new file mode 100644 index 0000000..141b06f --- /dev/null +++ b/curl/docs/examples/imap-search.c @@ -0,0 +1,73 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Search for new IMAP emails + * + */ + +#include +#include + +/* This is a simple example showing how to search for new messages using + * libcurl's IMAP capabilities. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is mailbox folder to select */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX"); + + /* Set the SEARCH command specifying what we want to search for. Note that + * this can contain a message sequence set and a number of search criteria + * keywords including flags such as ANSWERED, DELETED, DRAFT, FLAGGED, NEW, + * RECENT and SEEN. For more information about the search criteria please + * see RFC-3501 section 6.4.4. */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "SEARCH NEW"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-ssl.c b/curl/docs/examples/imap-ssl.c new file mode 100644 index 0000000..a2774be --- /dev/null +++ b/curl/docs/examples/imap-ssl.c @@ -0,0 +1,94 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * IMAP with implicit SSL + * + */ + +#include +#include + +/* This is a simple example showing how to fetch mail using libcurl's IMAP + * capabilities. It builds on the imap-fetch.c example adding transport + * security to protect the authentication details from being snooped. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This fetches message 1 from the user's inbox. Note the use of + * imaps:// rather than imap:// to request a SSL based connection. */ + curl_easy_setopt(curl, CURLOPT_URL, + "imaps://imap.example.com/INBOX/;UID=1"); + + /* If you want to connect to a site who is not using a certificate that is + * signed by one of the certs in the CA bundle you have, you can skip the + * verification of the server's certificate. This makes the connection + * A LOT LESS SECURE. + * + * If you have a CA cert for the server stored someplace else than in the + * default bundle, then the CURLOPT_CAPATH option might come handy for + * you. */ +#ifdef SKIP_PEER_VERIFICATION + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); +#endif + + /* If the site you are connecting to uses a different host name that what + * they have mentioned in their server certificate's commonName (or + * subjectAltName) fields, libcurl refuses to connect. You can skip this + * check, but it makes the connection insecure. */ +#ifdef SKIP_HOSTNAME_VERIFICATION + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); +#endif + + /* Since the traffic is encrypted, it is useful to turn on debug + * information within libcurl to see what is happening during the + * transfer */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the fetch */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-store.c b/curl/docs/examples/imap-store.c new file mode 100644 index 0000000..d04a607 --- /dev/null +++ b/curl/docs/examples/imap-store.c @@ -0,0 +1,84 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Modify the properties of an email over IMAP + * + */ + +#include +#include + +/* This is a simple example showing how to modify an existing mail using + * libcurl's IMAP capabilities with the STORE command. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is the mailbox folder to select */ + curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX"); + + /* Set the STORE command with the Deleted flag for message 1. Note that + * you can use the STORE command to set other flags such as Seen, Answered, + * Flagged, Draft and Recent. */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "STORE 1 +Flags \\Deleted"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + else { + /* Set the EXPUNGE command, although you can use the CLOSE command if you + * do not want to know the result of the STORE */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "EXPUNGE"); + + /* Perform the second custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + } + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/imap-tls.c b/curl/docs/examples/imap-tls.c new file mode 100644 index 0000000..838923b --- /dev/null +++ b/curl/docs/examples/imap-tls.c @@ -0,0 +1,94 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * IMAP using TLS + * + */ + +#include +#include + +/* This is a simple example showing how to fetch mail using libcurl's IMAP + * capabilities. It builds on the imap-fetch.c example adding transport + * security to protect the authentication details from being snooped. + * + * Note that this example requires libcurl 7.30.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This fetches message 1 from the user's inbox */ + curl_easy_setopt(curl, CURLOPT_URL, + "imap://imap.example.com/INBOX/;UID=1"); + + /* In this example, we start with a plain text connection, and upgrade to + * Transport Layer Security (TLS) using the STARTTLS command. Be careful + * of using CURLUSESSL_TRY here, because if TLS upgrade fails, the + * transfer continues anyway - see the security discussion in the libcurl + * tutorial for more details. */ + curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); + + /* If your server does not have a valid certificate, then you can disable + * part of the Transport Layer Security protection by setting the + * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false). + * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); + * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + * + * That is, in general, a bad idea. It is still better than sending your + * authentication details in plain text though. Instead, you should get + * the issuer certificate (or the host certificate if the certificate is + * self-signed) and add it to the set of certificates that are known to + * libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See docs/SSLCERTS + * for more information. */ + curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem"); + + /* Since the traffic is encrypted, it is useful to turn on debug + * information within libcurl to see what is happening during the + * transfer */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the fetch */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/interface.c b/curl/docs/examples/interface.c new file mode 100644 index 0000000..f1a2016 --- /dev/null +++ b/curl/docs/examples/interface.c @@ -0,0 +1,52 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use CURLOPT_INTERFACE to bind the outgoing socket to an interface + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* The interface needs to be a local existing interface over which you can + connect to the host in the URL. It can also specify an IP address, but + that address needs to be assigned one of the local network + interfaces. */ + curl_easy_setopt(curl, CURLOPT_INTERFACE, "enp3s0"); + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/ipv6.c b/curl/docs/examples/ipv6.c new file mode 100644 index 0000000..371e0f5 --- /dev/null +++ b/curl/docs/examples/ipv6.c @@ -0,0 +1,48 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTPS GET using IPv6 only + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_IPRESOLVE, (long)CURL_IPRESOLVE_V6); + + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + res = curl_easy_perform(curl); + + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/keepalive.c b/curl/docs/examples/keepalive.c new file mode 100644 index 0000000..e06d7ff --- /dev/null +++ b/curl/docs/examples/keepalive.c @@ -0,0 +1,58 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use the TCP keep-alive options + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* enable TCP keep-alive for this transfer */ + curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L); + + /* keep-alive idle time to 120 seconds */ + curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L); + + /* interval time between keep-alive probes: 60 seconds */ + curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L); + + /* maximum number of keep-alive probes: 3 */ + curl_easy_setopt(curl, CURLOPT_TCP_KEEPCNT, 3L); + + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + res = curl_easy_perform(curl); + + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/localport.c b/curl/docs/examples/localport.c new file mode 100644 index 0000000..7e88ce4 --- /dev/null +++ b/curl/docs/examples/localport.c @@ -0,0 +1,53 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use CURLOPT_LOCALPORT to control local port number + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Try to use a local port number between 20000-20009 */ + curl_easy_setopt(curl, CURLOPT_LOCALPORT, 20000L); + /* 10 means number of attempts, which starts with the number set in + CURLOPT_LOCALPORT. The lower value set, the smaller the chance it + works. */ + curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 10L); + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/maxconnects.c b/curl/docs/examples/maxconnects.c new file mode 100644 index 0000000..2e8e5b5 --- /dev/null +++ b/curl/docs/examples/maxconnects.c @@ -0,0 +1,66 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) James Fuller, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Set maximum number of persistent connections to 1. + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + const char *urls[] = { "https://example.com", + "https://curl.se", + "https://www.example/", + NULL /* end of list */ + }; + int i = 0; + + /* Change the maximum number of persistent connection */ + curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 1L); + + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* loop over the URLs */ + while(urls[i]) { + curl_easy_setopt(curl, CURLOPT_URL, urls[i]); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + i++; + } + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/multi-app.c b/curl/docs/examples/multi-app.c new file mode 100644 index 0000000..5bbf580 --- /dev/null +++ b/curl/docs/examples/multi-app.c @@ -0,0 +1,115 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * A basic application source code using the multi interface doing two + * transfers in parallel. + * + */ + +#include +#include + +/* curl stuff */ +#include + +/* + * Download an HTTP file and upload an FTP file simultaneously. + */ + +#define HANDLECOUNT 2 /* Number of simultaneous transfers */ +#define HTTP_HANDLE 0 /* Index for the HTTP transfer */ +#define FTP_HANDLE 1 /* Index for the FTP transfer */ + +int main(void) +{ + CURL *handles[HANDLECOUNT]; + CURLM *multi_handle; + + int still_running = 1; /* keep number of running handles */ + int i; + + CURLMsg *msg; /* for picking up messages with the transfer status */ + int msgs_left; /* how many messages are left */ + + /* Allocate one curl handle per transfer */ + for(i = 0; i < HANDLECOUNT; i++) + handles[i] = curl_easy_init(); + + /* set the options (I left out a few, you get the point anyway) */ + curl_easy_setopt(handles[HTTP_HANDLE], CURLOPT_URL, "https://example.com"); + + curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_URL, "ftp://example.com"); + curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_UPLOAD, 1L); + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + /* add the individual transfers */ + for(i = 0; i < HANDLECOUNT; i++) + curl_multi_add_handle(multi_handle, handles[i]); + + while(still_running) { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + } + /* See how the transfers went */ + /* !checksrc! disable EQUALSNULL 1 */ + while((msg = curl_multi_info_read(multi_handle, &msgs_left)) != NULL) { + if(msg->msg == CURLMSG_DONE) { + int idx; + + /* Find out which handle this message is about */ + for(idx = 0; idx < HANDLECOUNT; idx++) { + int found = (msg->easy_handle == handles[idx]); + if(found) + break; + } + + switch(idx) { + case HTTP_HANDLE: + printf("HTTP transfer completed with status %d\n", msg->data.result); + break; + case FTP_HANDLE: + printf("FTP transfer completed with status %d\n", msg->data.result); + break; + } + } + } + + /* remove the transfers and cleanup the handles */ + for(i = 0; i < HANDLECOUNT; i++) { + curl_multi_remove_handle(multi_handle, handles[i]); + curl_easy_cleanup(handles[i]); + } + + curl_multi_cleanup(multi_handle); + + return 0; +} diff --git a/curl/docs/examples/multi-debugcallback.c b/curl/docs/examples/multi-debugcallback.c new file mode 100644 index 0000000..79123ca --- /dev/null +++ b/curl/docs/examples/multi-debugcallback.c @@ -0,0 +1,161 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * multi interface and debug callback + * + */ + +#include +#include + +/* curl stuff */ +#include + +#define TRUE 1 + +static void dump(const char *text, FILE *stream, unsigned char *ptr, + size_t size, char nohex) +{ + size_t i; + size_t c; + + unsigned int width = 0x10; + + if(nohex) + /* without the hex output, we can fit more on screen */ + width = 0x40; + + fprintf(stream, "%s, %10.10lu bytes (0x%8.8lx)\n", + text, (unsigned long)size, (unsigned long)size); + + for(i = 0; i < size; i += width) { + + fprintf(stream, "%4.4lx: ", (unsigned long)i); + + if(!nohex) { + /* hex not disabled, show it */ + for(c = 0; c < width; c++) + if(i + c < size) + fprintf(stream, "%02x ", ptr[i + c]); + else + fputs(" ", stream); + } + + for(c = 0; (c < width) && (i + c < size); c++) { + /* check for 0D0A; if found, skip past and start a new line of output */ + if(nohex && (i + c + 1 < size) && ptr[i + c] == 0x0D && + ptr[i + c + 1] == 0x0A) { + i += (c + 2 - width); + break; + } + fprintf(stream, "%c", + (ptr[i + c] >= 0x20) && (ptr[i + c] < 0x80) ? ptr[i + c] : '.'); + /* check again for 0D0A, to avoid an extra \n if it's at width */ + if(nohex && (i + c + 2 < size) && ptr[i + c + 1] == 0x0D && + ptr[i + c + 2] == 0x0A) { + i += (c + 3 - width); + break; + } + } + fputc('\n', stream); /* newline */ + } + fflush(stream); +} + +static +int my_trace(CURL *handle, curl_infotype type, + unsigned char *data, size_t size, + void *userp) +{ + const char *text; + + (void)userp; + (void)handle; /* prevent compiler warning */ + + switch(type) { + case CURLINFO_TEXT: + fprintf(stderr, "== Info: %s", data); + return 0; + case CURLINFO_HEADER_OUT: + text = "=> Send header"; + break; + case CURLINFO_DATA_OUT: + text = "=> Send data"; + break; + case CURLINFO_HEADER_IN: + text = "<= Recv header"; + break; + case CURLINFO_DATA_IN: + text = "<= Recv data"; + break; + default: /* in case a new one is introduced to shock us */ + return 0; + } + + dump(text, stderr, data, size, TRUE); + return 0; +} + +/* + * Simply download an HTTP file. + */ +int main(void) +{ + CURL *http_handle; + CURLM *multi_handle; + + int still_running = 0; /* keep number of running handles */ + + http_handle = curl_easy_init(); + + /* set the options (I left out a few, you get the point anyway) */ + curl_easy_setopt(http_handle, CURLOPT_URL, "https://www.example.com/"); + + curl_easy_setopt(http_handle, CURLOPT_DEBUGFUNCTION, my_trace); + curl_easy_setopt(http_handle, CURLOPT_VERBOSE, 1L); + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + /* add the individual transfers */ + curl_multi_add_handle(multi_handle, http_handle); + + do { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + + } while(still_running); + + curl_multi_cleanup(multi_handle); + + curl_easy_cleanup(http_handle); + + return 0; +} diff --git a/curl/docs/examples/multi-double.c b/curl/docs/examples/multi-double.c new file mode 100644 index 0000000..99bd736 --- /dev/null +++ b/curl/docs/examples/multi-double.c @@ -0,0 +1,93 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * multi interface code doing two parallel HTTP transfers + * + */ +#include +#include + +/* curl stuff */ +#include + +/* + * Simply download two HTTP files! + */ +int main(void) +{ + CURL *http_handle; + CURL *http_handle2; + CURLM *multi_handle; + + int still_running = 1; /* keep number of running handles */ + + http_handle = curl_easy_init(); + http_handle2 = curl_easy_init(); + + /* set options */ + curl_easy_setopt(http_handle, CURLOPT_URL, "https://www.example.com/"); + + /* set options */ + curl_easy_setopt(http_handle2, CURLOPT_URL, "http://localhost/"); + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + /* add the individual transfers */ + curl_multi_add_handle(multi_handle, http_handle); + curl_multi_add_handle(multi_handle, http_handle2); + + while(still_running) { + CURLMsg *msg; + int queued; + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + + do { + msg = curl_multi_info_read(multi_handle, &queued); + if(msg) { + if(msg->msg == CURLMSG_DONE) { + /* a transfer ended */ + fprintf(stderr, "Transfer completed\n"); + } + } + } while(msg); + } + + curl_multi_remove_handle(multi_handle, http_handle); + curl_multi_remove_handle(multi_handle, http_handle2); + + curl_multi_cleanup(multi_handle); + + curl_easy_cleanup(http_handle); + curl_easy_cleanup(http_handle2); + + return 0; +} diff --git a/curl/docs/examples/multi-formadd.c b/curl/docs/examples/multi-formadd.c new file mode 100644 index 0000000..58c7e64 --- /dev/null +++ b/curl/docs/examples/multi-formadd.c @@ -0,0 +1,120 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * using the multi interface to do a multipart formpost without blocking + * + */ + +/* + * Warning: this example uses the deprecated form api. See "multi-post.c" + * for a similar example using the mime api. + */ + +#include +#include + +#include + +int main(void) +{ + CURL *curl; + + CURLM *multi_handle; + int still_running = 0; + + struct curl_httppost *formpost = NULL; + struct curl_httppost *lastptr = NULL; + struct curl_slist *headerlist = NULL; + static const char buf[] = "Expect:"; + + CURL_IGNORE_DEPRECATION( + /* Fill in the file upload field. This makes libcurl load data from + the given file name when curl_easy_perform() is called. */ + curl_formadd(&formpost, + &lastptr, + CURLFORM_COPYNAME, "sendfile", + CURLFORM_FILE, "multi-formadd.c", + CURLFORM_END); + + /* Fill in the filename field */ + curl_formadd(&formpost, + &lastptr, + CURLFORM_COPYNAME, "filename", + CURLFORM_COPYCONTENTS, "multi-formadd.c", + CURLFORM_END); + + /* Fill in the submit field too, even if this is rarely needed */ + curl_formadd(&formpost, + &lastptr, + CURLFORM_COPYNAME, "submit", + CURLFORM_COPYCONTENTS, "send", + CURLFORM_END); + ) + + curl = curl_easy_init(); + multi_handle = curl_multi_init(); + + /* initialize custom header list (stating that Expect: 100-continue is not + wanted */ + headerlist = curl_slist_append(headerlist, buf); + if(curl && multi_handle) { + + /* what URL that receives this POST */ + curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/upload.cgi"); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); + CURL_IGNORE_DEPRECATION( + curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); + ) + + curl_multi_add_handle(multi_handle, curl); + + do { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + + } while(still_running); + + curl_multi_cleanup(multi_handle); + + /* always cleanup */ + curl_easy_cleanup(curl); + + CURL_IGNORE_DEPRECATION( + /* then cleanup the formpost chain */ + curl_formfree(formpost); + ) + + /* free slist */ + curl_slist_free_all(headerlist); + } + return 0; +} diff --git a/curl/docs/examples/multi-legacy.c b/curl/docs/examples/multi-legacy.c new file mode 100644 index 0000000..b0c37ea --- /dev/null +++ b/curl/docs/examples/multi-legacy.c @@ -0,0 +1,191 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * A basic application source code using the multi interface doing two + * transfers in parallel without curl_multi_wait/poll. + * + */ + +#include +#include + +/* somewhat Unix-specific */ +#ifndef _WIN32 +#include +#include +#endif + +/* curl stuff */ +#include + +/* + * Download an HTTP file and upload an FTP file simultaneously. + */ + +#define HANDLECOUNT 2 /* Number of simultaneous transfers */ +#define HTTP_HANDLE 0 /* Index for the HTTP transfer */ +#define FTP_HANDLE 1 /* Index for the FTP transfer */ + +int main(void) +{ + CURL *handles[HANDLECOUNT]; + CURLM *multi_handle; + + int still_running = 0; /* keep number of running handles */ + int i; + + CURLMsg *msg; /* for picking up messages with the transfer status */ + int msgs_left; /* how many messages are left */ + + /* Allocate one curl handle per transfer */ + for(i = 0; i < HANDLECOUNT; i++) + handles[i] = curl_easy_init(); + + /* set the options (I left out a few, you get the point anyway) */ + curl_easy_setopt(handles[HTTP_HANDLE], CURLOPT_URL, "https://example.com"); + + curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_URL, "ftp://example.com"); + curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_UPLOAD, 1L); + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + /* add the individual transfers */ + for(i = 0; i < HANDLECOUNT; i++) + curl_multi_add_handle(multi_handle, handles[i]); + + /* we start some action by calling perform right away */ + curl_multi_perform(multi_handle, &still_running); + + while(still_running) { + struct timeval timeout; + int rc; /* select() return code */ + CURLMcode mc; /* curl_multi_fdset() return code */ + + fd_set fdread; + fd_set fdwrite; + fd_set fdexcep; + int maxfd = -1; + + long curl_timeo = -1; + + FD_ZERO(&fdread); + FD_ZERO(&fdwrite); + FD_ZERO(&fdexcep); + + /* set a suitable timeout to play around with */ + timeout.tv_sec = 1; + timeout.tv_usec = 0; + + curl_multi_timeout(multi_handle, &curl_timeo); + if(curl_timeo >= 0) { +#if defined(MSDOS) || defined(__AMIGA__) + timeout.tv_sec = (time_t)(curl_timeo / 1000); +#else + timeout.tv_sec = curl_timeo / 1000; +#endif + if(timeout.tv_sec > 1) + timeout.tv_sec = 1; + else +#if defined(MSDOS) || defined(__AMIGA__) + timeout.tv_usec = (time_t)(curl_timeo % 1000) * 1000; +#else + timeout.tv_usec = (int)(curl_timeo % 1000) * 1000; +#endif + } + + /* get file descriptors from the transfers */ + mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); + + if(mc != CURLM_OK) { + fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); + break; + } + + /* On success the value of maxfd is guaranteed to be >= -1. We call + select(maxfd + 1, ...); specially in case of (maxfd == -1) there are + no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- + to sleep 100ms, which is the minimum suggested value in the + curl_multi_fdset() doc. */ + + if(maxfd == -1) { +#ifdef _WIN32 + Sleep(100); + rc = 0; +#else + /* Portable sleep for platforms other than Windows. */ + struct timeval wait = {0}; + wait.tv_usec = 100 * 1000; /* 100ms */ + rc = select(0, NULL, NULL, NULL, &wait); +#endif + } + else { + /* Note that on some platforms 'timeout' may be modified by select(). + If you need access to the original value save a copy beforehand. */ + rc = select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout); + } + + switch(rc) { + case -1: + /* select error */ + break; + case 0: /* timeout */ + default: /* action */ + curl_multi_perform(multi_handle, &still_running); + break; + } + } + + /* See how the transfers went */ + /* !checksrc! disable EQUALSNULL 1 */ + while((msg = curl_multi_info_read(multi_handle, &msgs_left)) != NULL) { + if(msg->msg == CURLMSG_DONE) { + int idx; + + /* Find out which handle this message is about */ + for(idx = 0; idx < HANDLECOUNT; idx++) { + int found = (msg->easy_handle == handles[idx]); + if(found) + break; + } + + switch(idx) { + case HTTP_HANDLE: + printf("HTTP transfer completed with status %d\n", msg->data.result); + break; + case FTP_HANDLE: + printf("FTP transfer completed with status %d\n", msg->data.result); + break; + } + } + } + + curl_multi_cleanup(multi_handle); + + /* Free the curl handles */ + for(i = 0; i < HANDLECOUNT; i++) + curl_easy_cleanup(handles[i]); + + return 0; +} diff --git a/curl/docs/examples/multi-post.c b/curl/docs/examples/multi-post.c new file mode 100644 index 0000000..84af48f --- /dev/null +++ b/curl/docs/examples/multi-post.c @@ -0,0 +1,104 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * using the multi interface to do a multipart formpost without blocking + * + */ + +#include +#include + +#include + +int main(void) +{ + CURL *curl; + + CURLM *multi_handle; + int still_running = 0; + + curl_mime *form = NULL; + curl_mimepart *field = NULL; + struct curl_slist *headerlist = NULL; + static const char buf[] = "Expect:"; + + curl = curl_easy_init(); + multi_handle = curl_multi_init(); + + if(curl && multi_handle) { + /* Create the form */ + form = curl_mime_init(curl); + + /* Fill in the file upload field */ + field = curl_mime_addpart(form); + curl_mime_name(field, "sendfile"); + curl_mime_filedata(field, "multi-post.c"); + + /* Fill in the filename field */ + field = curl_mime_addpart(form); + curl_mime_name(field, "filename"); + curl_mime_data(field, "multi-post.c", CURL_ZERO_TERMINATED); + + /* Fill in the submit field too, even if this is rarely needed */ + field = curl_mime_addpart(form); + curl_mime_name(field, "submit"); + curl_mime_data(field, "send", CURL_ZERO_TERMINATED); + + /* initialize custom header list (stating that Expect: 100-continue is not + wanted */ + headerlist = curl_slist_append(headerlist, buf); + + /* what URL that receives this POST */ + curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/upload.cgi"); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); + curl_easy_setopt(curl, CURLOPT_MIMEPOST, form); + + curl_multi_add_handle(multi_handle, curl); + + do { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) + break; + } while(still_running); + + curl_multi_cleanup(multi_handle); + + /* always cleanup */ + curl_easy_cleanup(curl); + + /* then cleanup the form */ + curl_mime_free(form); + + /* free slist */ + curl_slist_free_all(headerlist); + } + return 0; +} diff --git a/curl/docs/examples/multi-single.c b/curl/docs/examples/multi-single.c new file mode 100644 index 0000000..0ead96f --- /dev/null +++ b/curl/docs/examples/multi-single.c @@ -0,0 +1,80 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * using the multi interface to do a single download + * + */ + +#include +#include + +/* curl stuff */ +#include + +/* + * Simply download an HTTP file. + */ +int main(void) +{ + CURL *http_handle; + CURLM *multi_handle; + int still_running = 1; /* keep number of running handles */ + + curl_global_init(CURL_GLOBAL_DEFAULT); + + http_handle = curl_easy_init(); + + /* set the options (I left out a few, you get the point anyway) */ + curl_easy_setopt(http_handle, CURLOPT_URL, "https://www.example.com/"); + + /* init a multi stack */ + multi_handle = curl_multi_init(); + + /* add the individual transfers */ + curl_multi_add_handle(multi_handle, http_handle); + + do { + CURLMcode mc = curl_multi_perform(multi_handle, &still_running); + + if(!mc) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(multi_handle, NULL, 0, 1000, NULL); + + if(mc) { + fprintf(stderr, "curl_multi_poll() failed, code %d.\n", (int)mc); + break; + } + + } while(still_running); + + curl_multi_remove_handle(multi_handle, http_handle); + + curl_easy_cleanup(http_handle); + + curl_multi_cleanup(multi_handle); + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/netrc.c b/curl/docs/examples/netrc.c new file mode 100644 index 0000000..42e1b63 --- /dev/null +++ b/curl/docs/examples/netrc.c @@ -0,0 +1,49 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use credentials from .netrc + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL); + curl_easy_setopt(curl, CURLOPT_NETRC_FILE, + "/home/daniel/s3cr3ts.txt"); + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + res = curl_easy_perform(curl); + + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/parseurl.c b/curl/docs/examples/parseurl.c new file mode 100644 index 0000000..8675adc --- /dev/null +++ b/curl/docs/examples/parseurl.c @@ -0,0 +1,80 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Basic URL API use. + * + */ +#include +#include + +#if !CURL_AT_LEAST_VERSION(7, 62, 0) +#error "this example requires curl 7.62.0 or later" +#endif + +int main(void) +{ + CURLU *h; + CURLUcode uc; + char *host; + char *path; + + h = curl_url(); /* get a handle to work with */ + if(!h) + return 1; + + /* parse a full URL */ + uc = curl_url_set(h, CURLUPART_URL, "http://example.com/path/index.html", 0); + if(uc) + goto fail; + + /* extract hostname from the parsed URL */ + uc = curl_url_get(h, CURLUPART_HOST, &host, 0); + if(!uc) { + printf("Host name: %s\n", host); + curl_free(host); + } + + /* extract the path from the parsed URL */ + uc = curl_url_get(h, CURLUPART_PATH, &path, 0); + if(!uc) { + printf("Path: %s\n", path); + curl_free(path); + } + + /* redirect with a relative URL */ + uc = curl_url_set(h, CURLUPART_URL, "../another/second.html", 0); + if(uc) + goto fail; + + /* extract the new, updated path */ + uc = curl_url_get(h, CURLUPART_PATH, &path, 0); + if(!uc) { + printf("Path: %s\n", path); + curl_free(path); + } + +fail: + curl_url_cleanup(h); /* free URL handle */ + return 0; +} diff --git a/curl/docs/examples/persistent.c b/curl/docs/examples/persistent.c new file mode 100644 index 0000000..be5e8c3 --- /dev/null +++ b/curl/docs/examples/persistent.c @@ -0,0 +1,70 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * reusing handles to do HTTP persistent connections + * + */ +#include + +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl_global_init(CURL_GLOBAL_ALL); + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(curl, CURLOPT_HEADER, 1L); + + /* get the first document */ + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* get another document from the same server using the same + connection */ + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/docs/"); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + return 0; +} diff --git a/curl/docs/examples/pop3-authzid.c b/curl/docs/examples/pop3-authzid.c new file mode 100644 index 0000000..3281b32 --- /dev/null +++ b/curl/docs/examples/pop3-authzid.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Retrieve emails from a shared POP3 mailbox + * + */ + +#include +#include + +/* This is a simple example showing how to retrieve mail using libcurl's POP3 + * capabilities. + * + * Note that this example requires libcurl 7.66.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set the username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* Set the authorization identity (identity to act as) */ + curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "shared-mailbox"); + + /* Force PLAIN authentication */ + curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN"); + + /* This retrieves message 1 from the user's mailbox */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); + + /* Perform the retr */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-dele.c b/curl/docs/examples/pop3-dele.c new file mode 100644 index 0000000..fe3795c --- /dev/null +++ b/curl/docs/examples/pop3-dele.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Delete POP3 emails + * + */ + +#include +#include + +/* This is a simple example showing how to delete an existing mail using + * libcurl's POP3 capabilities. + * + * Note that this example requires libcurl 7.26.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* You can specify the message either in the URL or DELE command */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); + + /* Set the DELE command */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELE"); + + /* Do not perform a transfer as DELE returns no data */ + curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-list.c b/curl/docs/examples/pop3-list.c new file mode 100644 index 0000000..2cd44e4 --- /dev/null +++ b/curl/docs/examples/pop3-list.c @@ -0,0 +1,66 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * List the contents of a POP3 mailbox + * + */ + +#include +#include + +/* This is a simple example using libcurl's POP3 capabilities to list the + * contents of a mailbox. + * + * Note that this example requires libcurl 7.20.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This lists every message of the given mailbox */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); + + /* Perform the list */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-multi.c b/curl/docs/examples/pop3-multi.c new file mode 100644 index 0000000..54eb7ec --- /dev/null +++ b/curl/docs/examples/pop3-multi.c @@ -0,0 +1,84 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Get POP3 email using the multi interface + * + */ + +#include +#include +#include + +/* This is a simple example showing how to retrieve mail using libcurl's POP3 + * capabilities. It builds on the pop3-retr.c example to demonstrate how to use + * libcurl's multi interface. + */ + +int main(void) +{ + CURL *curl; + CURLM *mcurl; + int still_running = 1; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(!curl) + return 1; + + mcurl = curl_multi_init(); + if(!mcurl) + return 2; + + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This retrieves message 1 from the user's mailbox */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); + + /* Tell the multi stack about our easy handle */ + curl_multi_add_handle(mcurl, curl); + + do { + CURLMcode mc = curl_multi_perform(mcurl, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(mcurl, NULL, 0, 1000, NULL); + + if(mc) + break; + + } while(still_running); + + /* Always cleanup */ + curl_multi_remove_handle(mcurl, curl); + curl_multi_cleanup(mcurl); + curl_easy_cleanup(curl); + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/pop3-noop.c b/curl/docs/examples/pop3-noop.c new file mode 100644 index 0000000..16181d2 --- /dev/null +++ b/curl/docs/examples/pop3-noop.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Perform a POP3 noop + * + */ + +#include +#include + +/* This is a simple example showing how to perform a noop using libcurl's POP3 + * capabilities. + * + * Note that this example requires libcurl 7.26.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); + + /* Set the NOOP command */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "NOOP"); + + /* Do not perform a transfer as NOOP returns no data */ + curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-retr.c b/curl/docs/examples/pop3-retr.c new file mode 100644 index 0000000..8e690f9 --- /dev/null +++ b/curl/docs/examples/pop3-retr.c @@ -0,0 +1,66 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Retrieve POP3 email + * + */ + +#include +#include + +/* This is a simple example showing how to retrieve mail using libcurl's POP3 + * capabilities. + * + * Note that this example requires libcurl 7.20.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This retrieves message 1 from the user's mailbox */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); + + /* Perform the retr */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-ssl.c b/curl/docs/examples/pop3-ssl.c new file mode 100644 index 0000000..dcc7992 --- /dev/null +++ b/curl/docs/examples/pop3-ssl.c @@ -0,0 +1,93 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Get POP3 email using implicit SSL + * + */ + +#include +#include + +/* This is a simple example showing how to retrieve mail using libcurl's POP3 + * capabilities. It builds on the pop3-retr.c example adding transport + * security to protect the authentication details from being snooped. + * + * Note that this example requires libcurl 7.20.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This retrieves message 1 from the user's mailbox. Note the use of + * pop3s:// rather than pop3:// to request a SSL based connection. */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3s://pop.example.com/1"); + + /* If you want to connect to a site who is not using a certificate that is + * signed by one of the certs in the CA bundle you have, you can skip the + * verification of the server's certificate. This makes the connection + * A LOT LESS SECURE. + * + * If you have a CA cert for the server stored someplace else than in the + * default bundle, then the CURLOPT_CAPATH option might come handy for + * you. */ +#ifdef SKIP_PEER_VERIFICATION + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); +#endif + + /* If the site you are connecting to uses a different host name that what + * they have mentioned in their server certificate's commonName (or + * subjectAltName) fields, libcurl refuses to connect. You can skip this + * check, but it makes the connection insecure. */ +#ifdef SKIP_HOSTNAME_VERIFICATION + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); +#endif + + /* Since the traffic is encrypted, it is useful to turn on debug + * information within libcurl to see what is happening during the + * transfer */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the retr */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-stat.c b/curl/docs/examples/pop3-stat.c new file mode 100644 index 0000000..419859b --- /dev/null +++ b/curl/docs/examples/pop3-stat.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Obtain POP3 message statistics + * + */ + +#include +#include + +/* This is a simple example showing how to obtain message statistics using + * libcurl's POP3 capabilities. + * + * Note that this example requires libcurl 7.26.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); + + /* Set the STAT command */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "STAT"); + + /* Do not perform a transfer as the data is in the response */ + curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-tls.c b/curl/docs/examples/pop3-tls.c new file mode 100644 index 0000000..7c2d824 --- /dev/null +++ b/curl/docs/examples/pop3-tls.c @@ -0,0 +1,93 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * POP3 using TLS + * + */ + +#include +#include + +/* This is a simple example showing how to retrieve mail using libcurl's POP3 + * capabilities. It builds on the pop3-retr.c example adding transport + * security to protect the authentication details from being snooped. + * + * Note that this example requires libcurl 7.20.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This retrieves message 1 from the user's mailbox */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); + + /* In this example, we start with a plain text connection, and upgrade to + * Transport Layer Security (TLS) using the STLS command. Be careful of + * using CURLUSESSL_TRY here, because if TLS upgrade fails, the transfer + * continues anyway - see the security discussion in the libcurl tutorial + * for more details. */ + curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); + + /* If your server does not have a valid certificate, then you can disable + * part of the Transport Layer Security protection by setting the + * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false). + * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); + * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + * + * That is, in general, a bad idea. It is still better than sending your + * authentication details in plain text though. Instead, you should get + * the issuer certificate (or the host certificate if the certificate is + * self-signed) and add it to the set of certificates that are known to + * libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See docs/SSLCERTS + * for more information. */ + curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem"); + + /* Since the traffic is encrypted, it is useful to turn on debug + * information within libcurl to see what is happening during the + * transfer */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Perform the retr */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-top.c b/curl/docs/examples/pop3-top.c new file mode 100644 index 0000000..7ceba88 --- /dev/null +++ b/curl/docs/examples/pop3-top.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * POP3 example showing how to retrieve only the headers of an email + * + */ + +#include +#include + +/* This is a simple example showing how to retrieve only the headers of a mail + * using libcurl's POP3 capabilities. + * + * Note that this example requires libcurl 7.26.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); + + /* Set the TOP command for message 1 to only include the headers */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "TOP 1 0"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/pop3-uidl.c b/curl/docs/examples/pop3-uidl.c new file mode 100644 index 0000000..496e5b0 --- /dev/null +++ b/curl/docs/examples/pop3-uidl.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * List the contents of a POP3 mailbox by unique ID + * + */ + +#include +#include + +/* This is a simple example using libcurl's POP3 capabilities to list the + * contents of a mailbox by unique ID. + * + * Note that this example requires libcurl 7.26.0 or above. + */ + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is just the server URL */ + curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); + + /* Set the UIDL command */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "UIDL"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/post-callback.c b/curl/docs/examples/post-callback.c new file mode 100644 index 0000000..1a213cb --- /dev/null +++ b/curl/docs/examples/post-callback.c @@ -0,0 +1,156 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Issue an HTTP POST and provide the data through the read callback. + * + */ +#include +#include +#include + +/* silly test data to POST */ +static const char data[]="Lorem ipsum dolor sit amet, consectetur adipiscing " + "elit. Sed vel urna neque. Ut quis leo metus. Quisque eleifend, ex at " + "laoreet rhoncus, odio ipsum semper metus, at tempus ante urna in mauris. " + "Suspendisse ornare tempor venenatis. Ut dui neque, pellentesque a varius " + "eget, mattis vitae ligula. Fusce ut pharetra est. Ut ullamcorper mi ac " + "sollicitudin semper. Praesent sit amet tellus varius, posuere nulla non, " + "rhoncus ipsum."; + +struct WriteThis { + const char *readptr; + size_t sizeleft; +}; + +static size_t read_callback(char *dest, size_t size, size_t nmemb, void *userp) +{ + struct WriteThis *wt = (struct WriteThis *)userp; + size_t buffer_size = size*nmemb; + + if(wt->sizeleft) { + /* copy as much as possible from the source to the destination */ + size_t copy_this_much = wt->sizeleft; + if(copy_this_much > buffer_size) + copy_this_much = buffer_size; + memcpy(dest, wt->readptr, copy_this_much); + + wt->readptr += copy_this_much; + wt->sizeleft -= copy_this_much; + return copy_this_much; /* we copied this many bytes */ + } + + return 0; /* no more data left to deliver */ +} + +int main(void) +{ + CURL *curl; + CURLcode res; + + struct WriteThis wt; + + wt.readptr = data; + wt.sizeleft = strlen(data); + + /* In Windows, this inits the Winsock stuff */ + res = curl_global_init(CURL_GLOBAL_DEFAULT); + /* Check for errors */ + if(res != CURLE_OK) { + fprintf(stderr, "curl_global_init() failed: %s\n", + curl_easy_strerror(res)); + return 1; + } + + /* get a curl handle */ + curl = curl_easy_init(); + if(curl) { + /* First set the URL that is about to receive our POST. */ + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/index.cgi"); + + /* Now specify we want to POST data */ + curl_easy_setopt(curl, CURLOPT_POST, 1L); + + /* we want to use our own read function */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); + + /* pointer to pass to our read function */ + curl_easy_setopt(curl, CURLOPT_READDATA, &wt); + + /* get verbose debug output please */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* + If you use POST to an HTTP 1.1 server, you can send data without knowing + the size before starting the POST if you use chunked encoding. You + enable this by adding a header like "Transfer-Encoding: chunked" with + CURLOPT_HTTPHEADER. With HTTP 1.0 or without chunked transfer, you must + specify the size in the request. + */ +#ifdef USE_CHUNKED + { + struct curl_slist *chunk = NULL; + + chunk = curl_slist_append(chunk, "Transfer-Encoding: chunked"); + res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); + /* use curl_slist_free_all() after the *perform() call to free this + list again */ + } +#else + /* Set the expected POST size. If you want to POST large amounts of data, + consider CURLOPT_POSTFIELDSIZE_LARGE */ + curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)wt.sizeleft); +#endif + +#ifdef DISABLE_EXPECT + /* + Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" + header. You can disable this header with CURLOPT_HTTPHEADER as usual. + NOTE: if you want chunked transfer too, you need to combine these two + since you can only set one list of headers with CURLOPT_HTTPHEADER. */ + + /* A less good option would be to enforce HTTP 1.0, but that might also + have other implications. */ + { + struct curl_slist *chunk = NULL; + + chunk = curl_slist_append(chunk, "Expect:"); + res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); + /* use curl_slist_free_all() after the *perform() call to free this + list again */ + } +#endif + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/postinmemory.c b/curl/docs/examples/postinmemory.c new file mode 100644 index 0000000..cbdc77f --- /dev/null +++ b/curl/docs/examples/postinmemory.c @@ -0,0 +1,113 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Make an HTTP POST with data from memory and receive response in memory. + * + */ +#include +#include +#include +#include + +struct MemoryStruct { + char *memory; + size_t size; +}; + +static size_t +WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) +{ + size_t realsize = size * nmemb; + struct MemoryStruct *mem = (struct MemoryStruct *)userp; + + char *ptr = realloc(mem->memory, mem->size + realsize + 1); + if(!ptr) { + /* out of memory! */ + printf("not enough memory (realloc returned NULL)\n"); + return 0; + } + + mem->memory = ptr; + memcpy(&(mem->memory[mem->size]), contents, realsize); + mem->size += realsize; + mem->memory[mem->size] = 0; + + return realsize; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + struct MemoryStruct chunk; + static const char *postthis = "Field=1&Field=2&Field=3"; + + chunk.memory = malloc(1); /* grown as needed by realloc above */ + chunk.size = 0; /* no data at this point */ + + curl_global_init(CURL_GLOBAL_ALL); + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.org/"); + + /* send all data to this function */ + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); + + /* we pass our 'chunk' struct to the callback function */ + curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk); + + /* some servers do not like requests that are made without a user-agent + field, so we provide one */ + curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-agent/1.0"); + + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postthis); + + /* if we do not provide POSTFIELDSIZE, libcurl calls strlen() by itself */ + curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(postthis)); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) { + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + } + else { + /* + * Now, our chunk.memory points to a memory block that is chunk.size + * bytes big and contains the remote file. + * + * Do something nice with it! + */ + printf("%s\n",chunk.memory); + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + free(chunk.memory); + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/postit2-formadd.c b/curl/docs/examples/postit2-formadd.c new file mode 100644 index 0000000..0d90346 --- /dev/null +++ b/curl/docs/examples/postit2-formadd.c @@ -0,0 +1,119 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP Multipart formpost with file upload and two additional parts. + * + */ + +/* + * Example code that uploads a filename 'foo' to a remote script that accepts + * "HTML form based" (as described in RFC 1738) uploads using HTTP POST. + * + * Warning: this example uses the deprecated form api. See "postit2.c" + * for a similar example using the mime api. + * + * The imaginary form we fill in looks like: + * + * + * Enter file: + * Enter filename: + * + * + */ + +#include +#include + +#include + +int main(int argc, char *argv[]) +{ + CURL *curl; + CURLcode res; + + struct curl_httppost *formpost = NULL; + struct curl_httppost *lastptr = NULL; + struct curl_slist *headerlist = NULL; + static const char buf[] = "Expect:"; + + curl_global_init(CURL_GLOBAL_ALL); + + CURL_IGNORE_DEPRECATION( + /* Fill in the file upload field */ + curl_formadd(&formpost, + &lastptr, + CURLFORM_COPYNAME, "sendfile", + CURLFORM_FILE, "postit2-formadd.c", + CURLFORM_END); + + /* Fill in the filename field */ + curl_formadd(&formpost, + &lastptr, + CURLFORM_COPYNAME, "filename", + CURLFORM_COPYCONTENTS, "postit2-formadd.c", + CURLFORM_END); + + + /* Fill in the submit field too, even if this is rarely needed */ + curl_formadd(&formpost, + &lastptr, + CURLFORM_COPYNAME, "submit", + CURLFORM_COPYCONTENTS, "send", + CURLFORM_END); + ) + + curl = curl_easy_init(); + /* initialize custom header list (stating that Expect: 100-continue is not + wanted */ + headerlist = curl_slist_append(headerlist, buf); + if(curl) { + /* what URL that receives this POST */ + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/examplepost.cgi"); + if((argc == 2) && (!strcmp(argv[1], "noexpectheader"))) + /* only disable 100-continue header if explicitly requested */ + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); + CURL_IGNORE_DEPRECATION( + curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); + ) + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + + CURL_IGNORE_DEPRECATION( + /* then cleanup the formpost chain */ + curl_formfree(formpost); + ) + + /* free slist */ + curl_slist_free_all(headerlist); + } + return 0; +} diff --git a/curl/docs/examples/postit2.c b/curl/docs/examples/postit2.c new file mode 100644 index 0000000..0f12cd4 --- /dev/null +++ b/curl/docs/examples/postit2.c @@ -0,0 +1,104 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * HTTP Multipart formpost with file upload and two additional parts. + * + */ +/* Example code that uploads a filename 'foo' to a remote script that accepts + * "HTML form based" (as described in RFC 1738) uploads using HTTP POST. + * + * The imaginary form we fill in looks like: + * + *
    + * Enter file: + * Enter filename: + * + *
    + * + */ + +#include +#include + +#include + +int main(int argc, char *argv[]) +{ + CURL *curl; + CURLcode res; + + curl_mime *form = NULL; + curl_mimepart *field = NULL; + struct curl_slist *headerlist = NULL; + static const char buf[] = "Expect:"; + + curl_global_init(CURL_GLOBAL_ALL); + + curl = curl_easy_init(); + if(curl) { + /* Create the form */ + form = curl_mime_init(curl); + + /* Fill in the file upload field */ + field = curl_mime_addpart(form); + curl_mime_name(field, "sendfile"); + curl_mime_filedata(field, "postit2.c"); + + /* Fill in the filename field */ + field = curl_mime_addpart(form); + curl_mime_name(field, "filename"); + curl_mime_data(field, "postit2.c", CURL_ZERO_TERMINATED); + + /* Fill in the submit field too, even if this is rarely needed */ + field = curl_mime_addpart(form); + curl_mime_name(field, "submit"); + curl_mime_data(field, "send", CURL_ZERO_TERMINATED); + + /* initialize custom header list (stating that Expect: 100-continue is not + wanted */ + headerlist = curl_slist_append(headerlist, buf); + /* what URL that receives this POST */ + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/examplepost.cgi"); + if((argc == 2) && (!strcmp(argv[1], "noexpectheader"))) + /* only disable 100-continue header if explicitly requested */ + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); + curl_easy_setopt(curl, CURLOPT_MIMEPOST, form); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + + /* then cleanup the form */ + curl_mime_free(form); + /* free slist */ + curl_slist_free_all(headerlist); + } + return 0; +} diff --git a/curl/docs/examples/progressfunc.c b/curl/docs/examples/progressfunc.c new file mode 100644 index 0000000..e164f03 --- /dev/null +++ b/curl/docs/examples/progressfunc.c @@ -0,0 +1,97 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use the progress callbacks, old and/or new one depending on available + * libcurl version. + * + */ +#include +#include + +#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3000000 +#define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000 + +struct myprogress { + curl_off_t lastruntime; /* type depends on version, see above */ + CURL *curl; +}; + +/* this is how the CURLOPT_XFERINFOFUNCTION callback works */ +static int xferinfo(void *p, + curl_off_t dltotal, curl_off_t dlnow, + curl_off_t ultotal, curl_off_t ulnow) +{ + struct myprogress *myp = (struct myprogress *)p; + CURL *curl = myp->curl; + curl_off_t curtime = 0; + + curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &curtime); + + /* under certain circumstances it may be desirable for certain functionality + to only run every N seconds, in order to do this the transaction time can + be used */ + if((curtime - myp->lastruntime) >= MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL) { + myp->lastruntime = curtime; + fprintf(stderr, "TOTAL TIME: %lu.%06lu\r\n", + (unsigned long)(curtime / 1000000), + (unsigned long)(curtime % 1000000)); + } + + fprintf(stderr, "UP: %lu of %lu DOWN: %lu of %lu\r\n", + (unsigned long)ulnow, (unsigned long)ultotal, + (unsigned long)dlnow, (unsigned long)dltotal); + + if(dlnow > STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES) + return 1; + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + struct myprogress prog; + + curl = curl_easy_init(); + if(curl) { + prog.lastruntime = 0; + prog.curl = curl; + + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); + + curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, xferinfo); + /* pass the struct pointer into the xferinfo function */ + curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &prog); + + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); + res = curl_easy_perform(curl); + + if(res != CURLE_OK) + fprintf(stderr, "%s\n", curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return (int)res; +} diff --git a/curl/docs/examples/protofeats.c b/curl/docs/examples/protofeats.c new file mode 100644 index 0000000..3e76221 --- /dev/null +++ b/curl/docs/examples/protofeats.c @@ -0,0 +1,52 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Outputs all protocols and features supported + * + */ +#include +#include + +#if !CURL_AT_LEAST_VERSION(7,87,0) +#error "too old libcurl" +#endif + +int main(void) +{ + curl_version_info_data *ver; + const char *const *ptr; + + curl_global_init(CURL_GLOBAL_ALL); + + ver = curl_version_info(CURLVERSION_NOW); + printf("Protocols:\n"); + for(ptr = ver->protocols; *ptr; ++ptr) + printf(" %s\n", *ptr); + printf("Features:\n"); + for(ptr = ver->feature_names; *ptr; ++ptr) + printf(" %s\n", *ptr); + + curl_global_cleanup(); + return 0; +} diff --git a/curl/docs/examples/range.c b/curl/docs/examples/range.c new file mode 100644 index 0000000..c8229fc --- /dev/null +++ b/curl/docs/examples/range.c @@ -0,0 +1,45 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * GET a range only of an HTTP resource + * + */ +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + curl_easy_setopt(curl, CURLOPT_RANGE, "200-999"); + + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/resolve.c b/curl/docs/examples/resolve.c new file mode 100644 index 0000000..6514e93 --- /dev/null +++ b/curl/docs/examples/resolve.c @@ -0,0 +1,58 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Use CURLOPT_RESOLVE to feed custom IP addresses for given hostname + port + * number combinations. + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + /* Each single name resolve string should be written using the format + HOST:PORT:ADDRESS where HOST is the name libcurl tries to resolve, PORT + is the port number of the service where libcurl wants to connect to the + HOST and ADDRESS is the numerical IP address + */ + struct curl_slist *host = curl_slist_append(NULL, + "example.com:443:127.0.0.1"); + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_RESOLVE, host); + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + + curl_slist_free_all(host); + + return (int)res; +} diff --git a/curl/docs/examples/rtsp-options.c b/curl/docs/examples/rtsp-options.c new file mode 100644 index 0000000..d1ddbf0 --- /dev/null +++ b/curl/docs/examples/rtsp-options.c @@ -0,0 +1,55 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Very simple RTSP request sending OPTIONS. + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "rtsp://example.com/"); + + curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, "12345"); + + curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, CURL_RTSPREQ_OPTIONS); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/sendrecv.c b/curl/docs/examples/sendrecv.c new file mode 100644 index 0000000..8cbb5b0 --- /dev/null +++ b/curl/docs/examples/sendrecv.c @@ -0,0 +1,179 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Demonstrate curl_easy_send() and curl_easy_recv() usage. + * + */ + +#include +#include +#include + +/* Avoid warning in FD_SET() with pre-2020 Cygwin/MSYS releases: + * warning: conversion to 'long unsigned int' from 'curl_socket_t' {aka 'int'} + * may change the sign of the result [-Wsign-conversion] + */ +#ifdef __GNUC__ +#pragma GCC diagnostic ignored "-Wsign-conversion" +#ifdef __DJGPP__ +#pragma GCC diagnostic ignored "-Warith-conversion" +#endif +#elif defined(_MSC_VER) +#pragma warning(disable:4127) /* conditional expression is constant */ +#endif + +/* Auxiliary function that waits on the socket. */ +static int wait_on_socket(curl_socket_t sockfd, int for_recv, long timeout_ms) +{ + struct timeval tv; + fd_set infd, outfd, errfd; + int res; + +#if defined(MSDOS) || defined(__AMIGA__) + tv.tv_sec = (time_t)(timeout_ms / 1000); + tv.tv_usec = (time_t)(timeout_ms % 1000) * 1000; +#else + tv.tv_sec = timeout_ms / 1000; + tv.tv_usec = (int)(timeout_ms % 1000) * 1000; +#endif + + FD_ZERO(&infd); + FD_ZERO(&outfd); + FD_ZERO(&errfd); + + FD_SET(sockfd, &errfd); /* always check for error */ + + if(for_recv) { + FD_SET(sockfd, &infd); + } + else { + FD_SET(sockfd, &outfd); + } + + /* select() returns the number of signalled sockets or -1 */ + res = select((int)sockfd + 1, &infd, &outfd, &errfd, &tv); + return res; +} + +int main(void) +{ + CURL *curl; + /* Minimalistic http request */ + const char *request = "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n"; + size_t request_len = strlen(request); + + /* A general note of caution here: if you are using curl_easy_recv() or + curl_easy_send() to implement HTTP or _any_ other protocol libcurl + supports "natively", you are doing it wrong and you should stop. + + This example uses HTTP only to show how to use this API, it does not + suggest that writing an application doing this is sensible. + */ + + curl = curl_easy_init(); + if(curl) { + CURLcode res; + curl_socket_t sockfd; + size_t nsent_total = 0; + + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + /* Do not do the transfer - only connect to host */ + curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L); + res = curl_easy_perform(curl); + + if(res != CURLE_OK) { + printf("Error: %s\n", curl_easy_strerror(res)); + return 1; + } + + /* Extract the socket from the curl handle - we need it for waiting. */ + res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd); + + if(res != CURLE_OK) { + printf("Error: %s\n", curl_easy_strerror(res)); + return 1; + } + + printf("Sending request.\n"); + + do { + /* Warning: This example program may loop indefinitely. + * A production-quality program must define a timeout and exit this loop + * as soon as the timeout has expired. */ + size_t nsent; + do { + nsent = 0; + res = curl_easy_send(curl, request + nsent_total, + request_len - nsent_total, &nsent); + nsent_total += nsent; + + if(res == CURLE_AGAIN && !wait_on_socket(sockfd, 0, 60000L)) { + printf("Error: timeout.\n"); + return 1; + } + } while(res == CURLE_AGAIN); + + if(res != CURLE_OK) { + printf("Error: %s\n", curl_easy_strerror(res)); + return 1; + } + + printf("Sent %lu bytes.\n", (unsigned long)nsent); + + } while(nsent_total < request_len); + + printf("Reading response.\n"); + + for(;;) { + /* Warning: This example program may loop indefinitely (see above). */ + char buf[1024]; + size_t nread; + do { + nread = 0; + res = curl_easy_recv(curl, buf, sizeof(buf), &nread); + + if(res == CURLE_AGAIN && !wait_on_socket(sockfd, 1, 60000L)) { + printf("Error: timeout.\n"); + return 1; + } + } while(res == CURLE_AGAIN); + + if(res != CURLE_OK) { + printf("Error: %s\n", curl_easy_strerror(res)); + break; + } + + if(nread == 0) { + /* end of the response */ + break; + } + + printf("Received %lu bytes.\n", (unsigned long)nread); + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/sepheaders.c b/curl/docs/examples/sepheaders.c new file mode 100644 index 0000000..31a3201 --- /dev/null +++ b/curl/docs/examples/sepheaders.c @@ -0,0 +1,95 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Simple HTTP GET that stores the headers in a separate file + * + */ +#include +#include + +#include + +static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) +{ + size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); + return written; +} + +int main(void) +{ + CURL *curl_handle; + static const char *headerfilename = "head.out"; + FILE *headerfile; + static const char *bodyfilename = "body.out"; + FILE *bodyfile; + + curl_global_init(CURL_GLOBAL_ALL); + + /* init the curl session */ + curl_handle = curl_easy_init(); + + /* set URL to get */ + curl_easy_setopt(curl_handle, CURLOPT_URL, "https://example.com"); + + /* no progress meter please */ + curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); + + /* send all data to this function */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); + + /* open the header file */ + headerfile = fopen(headerfilename, "wb"); + if(!headerfile) { + curl_easy_cleanup(curl_handle); + return -1; + } + + /* open the body file */ + bodyfile = fopen(bodyfilename, "wb"); + if(!bodyfile) { + curl_easy_cleanup(curl_handle); + fclose(headerfile); + return -1; + } + + /* we want the headers be written to this file handle */ + curl_easy_setopt(curl_handle, CURLOPT_HEADERDATA, headerfile); + + /* we want the body be written to this file handle instead of stdout */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, bodyfile); + + /* get it! */ + curl_easy_perform(curl_handle); + + /* close the header file */ + fclose(headerfile); + + /* close the body file */ + fclose(bodyfile); + + /* cleanup curl stuff */ + curl_easy_cleanup(curl_handle); + + return 0; +} diff --git a/curl/docs/examples/sftpget.c b/curl/docs/examples/sftpget.c new file mode 100644 index 0000000..6b594a1 --- /dev/null +++ b/curl/docs/examples/sftpget.c @@ -0,0 +1,112 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Gets a file using an SFTP URL. + * + */ + +#include + +#include + +/* define this to switch off the use of ssh-agent in this program */ +#undef DISABLE_SSH_AGENT + +/* + * This is an example showing how to get a single file from an SFTP server. It + * delays the actual destination file creation until the first write callback + * so that it does not create an empty file in case the remote file does not + * exist or something else fails. + */ + +struct FtpFile { + const char *filename; + FILE *stream; +}; + +static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, + void *stream) +{ + struct FtpFile *out = (struct FtpFile *)stream; + if(!out->stream) { + /* open file for writing */ + out->stream = fopen(out->filename, "wb"); + if(!out->stream) + return 0; /* failure, cannot open file to write */ + } + return fwrite(buffer, size, nmemb, out->stream); +} + + +int main(void) +{ + CURL *curl; + CURLcode res; + struct FtpFile ftpfile = { + "yourfile.bin", /* name to store the file as if successful */ + NULL + }; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + /* + * You better replace the URL with one that works! + */ + curl_easy_setopt(curl, CURLOPT_URL, + "sftp://user@server/home/user/file.txt"); + /* Define our callback to get called when there is data to be written */ + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); + /* Set a pointer to our struct to pass to the callback */ + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile); + +#ifndef DISABLE_SSH_AGENT + /* We activate ssh agent. For this to work you need + to have ssh-agent running (type set | grep SSH_AGENT to check) or + pageant on Windows (there is an icon in systray if so) */ + curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, (long)CURLSSH_AUTH_AGENT); +#endif + + /* Switch on full protocol/debug output */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + res = curl_easy_perform(curl); + + /* always cleanup */ + curl_easy_cleanup(curl); + + if(CURLE_OK != res) { + /* we failed */ + fprintf(stderr, "curl told us %d\n", res); + } + } + + if(ftpfile.stream) + fclose(ftpfile.stream); /* close the local file */ + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/sftpuploadresume.c b/curl/docs/examples/sftpuploadresume.c new file mode 100644 index 0000000..2803da3 --- /dev/null +++ b/curl/docs/examples/sftpuploadresume.c @@ -0,0 +1,139 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Upload to SFTP, resuming a previously aborted transfer. + * + */ + +#include +#include +#include + +/* read data to upload */ +static size_t readfunc(char *ptr, size_t size, size_t nmemb, void *stream) +{ + FILE *f = (FILE *)stream; + size_t n; + + if(ferror(f)) + return CURL_READFUNC_ABORT; + + n = fread(ptr, size, nmemb, f) * size; + + return n; +} + +/* + * sftpGetRemoteFileSize returns the remote file size in byte; -1 on error + */ +static curl_off_t sftpGetRemoteFileSize(const char *i_remoteFile) +{ + CURLcode result = CURLE_GOT_NOTHING; + curl_off_t remoteFileSizeByte = -1; + CURL *curlHandlePtr = curl_easy_init(); + + curl_easy_setopt(curlHandlePtr, CURLOPT_VERBOSE, 1L); + + curl_easy_setopt(curlHandlePtr, CURLOPT_URL, i_remoteFile); + curl_easy_setopt(curlHandlePtr, CURLOPT_NOPROGRESS, 1L); + curl_easy_setopt(curlHandlePtr, CURLOPT_NOBODY, 1L); + curl_easy_setopt(curlHandlePtr, CURLOPT_HEADER, 1L); + curl_easy_setopt(curlHandlePtr, CURLOPT_FILETIME, 1L); + + result = curl_easy_perform(curlHandlePtr); + if(CURLE_OK == result) { + result = curl_easy_getinfo(curlHandlePtr, + CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, + &remoteFileSizeByte); + if(result) + return -1; + printf("filesize: %lu\n", (unsigned long)remoteFileSizeByte); + } + curl_easy_cleanup(curlHandlePtr); + + return remoteFileSizeByte; +} + + +static int sftpResumeUpload(CURL *curlhandle, const char *remotepath, + const char *localpath) +{ + FILE *f = NULL; + CURLcode result = CURLE_GOT_NOTHING; + + curl_off_t remoteFileSizeByte = sftpGetRemoteFileSize(remotepath); + if(-1 == remoteFileSizeByte) { + printf("Error reading the remote file size: unable to resume upload\n"); + return -1; + } + + f = fopen(localpath, "rb"); + if(!f) { +#ifndef UNDER_CE + perror(NULL); +#endif + return 0; + } + + curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L); + curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath); + curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc); + curl_easy_setopt(curlhandle, CURLOPT_READDATA, f); + +#if defined(_WIN32) && !defined(UNDER_CE) + _fseeki64(f, remoteFileSizeByte, SEEK_SET); +#else + fseek(f, (long)remoteFileSizeByte, SEEK_SET); +#endif + curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L); + result = curl_easy_perform(curlhandle); + + fclose(f); + + if(result == CURLE_OK) + return 1; + else { + fprintf(stderr, "%s\n", curl_easy_strerror(result)); + return 0; + } +} + +int main(void) +{ + const char *remote = "sftp://user:pass@example.com/path/filename"; + const char *filename = "filename"; + CURL *curlhandle = NULL; + + curl_global_init(CURL_GLOBAL_ALL); + curlhandle = curl_easy_init(); + + if(!sftpResumeUpload(curlhandle, remote, filename)) { + printf("resumed upload using curl %s failed\n", curl_version()); + } + + curl_easy_cleanup(curlhandle); + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/shared-connection-cache.c b/curl/docs/examples/shared-connection-cache.c new file mode 100644 index 0000000..dc6805a --- /dev/null +++ b/curl/docs/examples/shared-connection-cache.c @@ -0,0 +1,87 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Connection cache shared between easy handles with the share interface + * + */ +#include +#include + +static void my_lock(CURL *handle, curl_lock_data data, + curl_lock_access laccess, void *useptr) +{ + (void)handle; + (void)data; + (void)laccess; + (void)useptr; + fprintf(stderr, "-> Mutex lock\n"); +} + +static void my_unlock(CURL *handle, curl_lock_data data, void *useptr) +{ + (void)handle; + (void)data; + (void)useptr; + fprintf(stderr, "<- Mutex unlock\n"); +} + +int main(void) +{ + CURLSH *share; + int i; + + share = curl_share_init(); + curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT); + + curl_share_setopt(share, CURLSHOPT_LOCKFUNC, my_lock); + curl_share_setopt(share, CURLSHOPT_UNLOCKFUNC, my_unlock); + + /* Loop the transfer and cleanup the handle properly every lap. This still + reuses connections since the pool is in the shared object! */ + + for(i = 0; i < 3; i++) { + CURL *curl = curl_easy_init(); + if(curl) { + CURLcode res; + + curl_easy_setopt(curl, CURLOPT_URL, "https://curl.se/"); + + /* use the share object */ + curl_easy_setopt(curl, CURLOPT_SHARE, share); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + } + + curl_share_cleanup(share); + return 0; +} diff --git a/curl/docs/examples/simple.c b/curl/docs/examples/simple.c new file mode 100644 index 0000000..53c8e47 --- /dev/null +++ b/curl/docs/examples/simple.c @@ -0,0 +1,53 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Very simple HTTP GET + * + */ +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + /* example.com is redirected, so we tell libcurl to follow redirection */ + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/simplepost.c b/curl/docs/examples/simplepost.c new file mode 100644 index 0000000..7ced982 --- /dev/null +++ b/curl/docs/examples/simplepost.c @@ -0,0 +1,58 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Very simple HTTP POST + * + */ +#include +#include +#include + +int main(void) +{ + CURL *curl; + CURLcode res; + + static const char *postthis = "moo mooo moo moo"; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postthis); + + /* if we do not provide POSTFIELDSIZE, libcurl calls strlen() by itself */ + curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(postthis)); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/simplessl.c b/curl/docs/examples/simplessl.c new file mode 100644 index 0000000..f9c0a78 --- /dev/null +++ b/curl/docs/examples/simplessl.c @@ -0,0 +1,154 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Shows HTTPS usage with client certs and optional ssl engine use. + * + */ +#include + +#include + +/* some requirements for this to work: + 1. set pCertFile to the file with the client certificate + 2. if the key is passphrase protected, set pPassphrase to the + passphrase you use + 3. if you are using a crypto engine: + 3.1. set a #define USE_ENGINE + 3.2. set pEngine to the name of the crypto engine you use + 3.3. set pKeyName to the key identifier you want to use + 4. if you do not use a crypto engine: + 4.1. set pKeyName to the filename of your client key + 4.2. if the format of the key file is DER, set pKeyType to "DER" + + !! verify of the server certificate is not implemented here !! + + **** This example only works with libcurl 7.9.3 and later! **** + +*/ + +int main(void) +{ + CURL *curl; + CURLcode res; + FILE *headerfile; + const char *pPassphrase = NULL; + + static const char *pCertFile = "testcert.pem"; + static const char *pCACertFile = "cacert.pem"; + static const char *pHeaderFile = "dumpit"; + + const char *pKeyName; + const char *pKeyType; + + const char *pEngine; + +#ifdef USE_ENGINE + pKeyName = "rsa_test"; + pKeyType = "ENG"; + pEngine = "chil"; /* for nChiper HSM... */ +#else + pKeyName = "testkey.pem"; + pKeyType = "PEM"; + pEngine = NULL; +#endif + + headerfile = fopen(pHeaderFile, "wb"); + if(!headerfile) + return 1; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(curl) { + /* what call to write: */ + curl_easy_setopt(curl, CURLOPT_URL, "HTTPS://secure.site.example"); + curl_easy_setopt(curl, CURLOPT_HEADERDATA, headerfile); + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable:4127) /* conditional expression is constant */ +#endif + do { /* dummy loop, just to break out from */ + if(pEngine) { + /* use crypto engine */ + if(curl_easy_setopt(curl, CURLOPT_SSLENGINE, pEngine) != CURLE_OK) { + /* load the crypto engine */ + fprintf(stderr, "cannot set crypto engine\n"); + break; + } + if(curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1L) != CURLE_OK) { + /* set the crypto engine as default */ + /* only needed for the first time you load + an engine in a curl object... */ + fprintf(stderr, "cannot set crypto engine as default\n"); + break; + } + } + /* cert is stored PEM coded in file... */ + /* since PEM is default, we needn't set it for PEM */ + curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, "PEM"); + + /* set the cert for client authentication */ + curl_easy_setopt(curl, CURLOPT_SSLCERT, pCertFile); + + /* sorry, for engine we must set the passphrase + (if the key has one...) */ + if(pPassphrase) + curl_easy_setopt(curl, CURLOPT_KEYPASSWD, pPassphrase); + + /* if we use a key stored in a crypto engine, + we must set the key type to "ENG" */ + curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, pKeyType); + + /* set the private key (file or ID in engine) */ + curl_easy_setopt(curl, CURLOPT_SSLKEY, pKeyName); + + /* set the file with the certs validating the server */ + curl_easy_setopt(curl, CURLOPT_CAINFO, pCACertFile); + + /* disconnect if we cannot validate server's cert */ + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* we are done... */ + } while(0); +#ifdef _MSC_VER +#pragma warning(pop) +#endif + /* always cleanup */ + curl_easy_cleanup(curl); + } + + curl_global_cleanup(); + + fclose(headerfile); + + return 0; +} diff --git a/curl/docs/examples/smtp-authzid.c b/curl/docs/examples/smtp-authzid.c new file mode 100644 index 0000000..daaeab1 --- /dev/null +++ b/curl/docs/examples/smtp-authzid.c @@ -0,0 +1,162 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send email on behalf of another user with SMTP + * + */ + +#include +#include +#include + +/* + * This is a simple example show how to send an email using libcurl's SMTP + * capabilities. + * + * Note that this example requires libcurl 7.66.0 or above. + */ + +/* The libcurl options want plain addresses, the viewable headers in the mail + * can get a full name as well. + */ +#define FROM_ADDR "" +#define SENDER_ADDR "" +#define TO_ADDR "" + +#define FROM_MAIL "Ursel " FROM_ADDR +#define SENDER_MAIL "Kurt " SENDER_ADDR +#define TO_MAIL "A Receiver " TO_ADDR + +static const char *payload_text = + "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n" + "To: " TO_MAIL "\r\n" + "From: " FROM_MAIL "\r\n" + "Sender: " SENDER_MAIL "\r\n" + "Message-ID: \r\n" + "Subject: SMTP example message\r\n" + "\r\n" /* empty line to divide headers from body, see RFC 5322 */ + "The body of the message starts here.\r\n" + "\r\n" + "It could be a lot of lines, could be MIME encoded, whatever.\r\n" + "Check RFC 5322.\r\n"; + +struct upload_status { + size_t bytes_read; +}; + +static size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct upload_status *upload_ctx = (struct upload_status *)userp; + const char *data; + size_t room = size * nmemb; + + if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { + return 0; + } + + data = &payload_text[upload_ctx->bytes_read]; + + if(data) { + size_t len = strlen(data); + if(room < len) + len = room; + memcpy(ptr, data, len); + upload_ctx->bytes_read += len; + + return len; + } + + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + struct curl_slist *recipients = NULL; + struct upload_status upload_ctx = { 0 }; + + curl = curl_easy_init(); + if(curl) { + /* This is the URL for your mailserver. In this example we connect to the + smtp-submission port as we require an authenticated connection. */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com:587"); + + /* Set the username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "kurt"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "xipj3plmq"); + + /* Set the authorization identity (identity to act as) */ + curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "ursel"); + + /* Force PLAIN authentication */ + curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN"); + + /* Note that this option is not strictly required, omitting it results in + * libcurl sending the MAIL FROM command with empty sender data. All + * autoresponses should have an empty reverse-path, and should be directed + * to the address in the reverse-path which triggered them. Otherwise, + * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more + * details. + */ + curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_ADDR); + + /* Add a recipient, in this particular case it corresponds to the + * To: addressee in the header. */ + recipients = curl_slist_append(recipients, TO_ADDR); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* We are using a callback function to specify the payload (the headers and + * body of the message). You could just use the CURLOPT_READDATA option to + * specify a FILE pointer to read from. */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); + curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* Send the message */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* curl does not send the QUIT command until you call cleanup, so you + * should be able to reuse this connection for additional messages + * (setting CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and + * calling curl_easy_perform() again. It may not be a good idea to keep + * the connection open for a long time though (more than a few minutes may + * result in the server timing out the connection), and you do want to + * clean up in the end. + */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/smtp-expn.c b/curl/docs/examples/smtp-expn.c new file mode 100644 index 0000000..202d1d0 --- /dev/null +++ b/curl/docs/examples/smtp-expn.c @@ -0,0 +1,81 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Expand an SMTP email mailing list + * + */ + +#include +#include +#include + +/* This is a simple example showing how to expand an email mailing list. + * + * Notes: + * + * 1) This example requires libcurl 7.34.0 or above. + * 2) Not all email servers support this command. + */ + +int main(void) +{ + CURL *curl; + CURLcode res; + struct curl_slist *recipients = NULL; + + curl = curl_easy_init(); + if(curl) { + /* This is the URL for your mailserver */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); + + /* Note that the CURLOPT_MAIL_RCPT takes a list, not a char array */ + recipients = curl_slist_append(recipients, "Friends"); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* Set the EXPN command */ + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "EXPN"); + + /* Perform the custom request */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* curl does not send the QUIT command until you call cleanup, so you + * should be able to reuse this connection for additional requests. It may + * not be a good idea to keep the connection open for a long time though + * (more than a few minutes may result in the server timing out the + * connection) and you do want to clean up in the end. + */ + curl_easy_cleanup(curl); + } + + return 0; +} diff --git a/curl/docs/examples/smtp-mail.c b/curl/docs/examples/smtp-mail.c new file mode 100644 index 0000000..29918de --- /dev/null +++ b/curl/docs/examples/smtp-mail.c @@ -0,0 +1,150 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send email with SMTP + * + */ + +#include +#include +#include + +/* + * For an SMTP example using the multi interface please see smtp-multi.c. + */ + +/* The libcurl options want plain addresses, the viewable headers in the mail + * can get a full name as well. + */ +#define FROM_ADDR "" +#define TO_ADDR "" +#define CC_ADDR "" + +#define FROM_MAIL "Sender Person " FROM_ADDR +#define TO_MAIL "A Receiver " TO_ADDR +#define CC_MAIL "John CC Smith " CC_ADDR + +static const char *payload_text = + "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n" + "To: " TO_MAIL "\r\n" + "From: " FROM_MAIL "\r\n" + "Cc: " CC_MAIL "\r\n" + "Message-ID: \r\n" + "Subject: SMTP example message\r\n" + "\r\n" /* empty line to divide headers from body, see RFC 5322 */ + "The body of the message starts here.\r\n" + "\r\n" + "It could be a lot of lines, could be MIME encoded, whatever.\r\n" + "Check RFC 5322.\r\n"; + +struct upload_status { + size_t bytes_read; +}; + +static size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct upload_status *upload_ctx = (struct upload_status *)userp; + const char *data; + size_t room = size * nmemb; + + if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { + return 0; + } + + data = &payload_text[upload_ctx->bytes_read]; + + if(data) { + size_t len = strlen(data); + if(room < len) + len = room; + memcpy(ptr, data, len); + upload_ctx->bytes_read += len; + + return len; + } + + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + struct curl_slist *recipients = NULL; + struct upload_status upload_ctx = { 0 }; + + curl = curl_easy_init(); + if(curl) { + /* This is the URL for your mailserver */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); + + /* Note that this option is not strictly required, omitting it results in + * libcurl sending the MAIL FROM command with empty sender data. All + * autoresponses should have an empty reverse-path, and should be directed + * to the address in the reverse-path which triggered them. Otherwise, + * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more + * details. + */ + curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_ADDR); + + /* Add two recipients, in this particular case they correspond to the + * To: and Cc: addressees in the header, but they could be any kind of + * recipient. */ + recipients = curl_slist_append(recipients, TO_ADDR); + recipients = curl_slist_append(recipients, CC_ADDR); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* We are using a callback function to specify the payload (the headers and + * body of the message). You could just use the CURLOPT_READDATA option to + * specify a FILE pointer to read from. */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); + curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* Send the message */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* curl does not send the QUIT command until you call cleanup, so you + * should be able to reuse this connection for additional messages + * (setting CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and + * calling curl_easy_perform() again. It may not be a good idea to keep + * the connection open for a long time though (more than a few minutes may + * result in the server timing out the connection), and you do want to + * clean up in the end. + */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/smtp-mime.c b/curl/docs/examples/smtp-mime.c new file mode 100644 index 0000000..7a2a9c6 --- /dev/null +++ b/curl/docs/examples/smtp-mime.c @@ -0,0 +1,168 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send SMTP mime emails + * + */ + +#include +#include +#include + +/* This is a simple example showing how to send mime mail using libcurl's SMTP + * capabilities. For an example of using the multi interface please see + * smtp-multi.c. + * + * Note that this example requires libcurl 7.56.0 or above. + */ + +#define FROM "" +#define TO "" +#define CC "" + +static const char *headers_text[] = { + "Date: Tue, 22 Aug 2017 14:08:43 +0100", + "To: " TO, + "From: " FROM " (Example User)", + "Cc: " CC " (Another example User)", + "Message-ID: ", + "Subject: example sending a MIME-formatted message", + NULL +}; + +static const char inline_text[] = + "This is the inline text message of the email.\r\n" + "\r\n" + " It could be a lot of lines that would be displayed in an email\r\n" + "viewer that is not able to handle HTML.\r\n"; + +static const char inline_html[] = + "\r\n" + "

    This is the inline HTML message of the email.

    " + "
    \r\n" + "

    It could be a lot of HTML data that would be displayed by " + "email viewers able to handle HTML.

    " + "\r\n"; + + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + + curl = curl_easy_init(); + if(curl) { + struct curl_slist *headers = NULL; + struct curl_slist *recipients = NULL; + struct curl_slist *slist = NULL; + curl_mime *mime; + curl_mime *alt; + curl_mimepart *part; + const char **cpp; + + /* This is the URL for your mailserver */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); + + /* Note that this option is not strictly required, omitting it results in + * libcurl sending the MAIL FROM command with empty sender data. All + * autoresponses should have an empty reverse-path, and should be directed + * to the address in the reverse-path which triggered them. Otherwise, + * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more + * details. + */ + curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM); + + /* Add two recipients, in this particular case they correspond to the + * To: and Cc: addressees in the header, but they could be any kind of + * recipient. */ + recipients = curl_slist_append(recipients, TO); + recipients = curl_slist_append(recipients, CC); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* allow one of the recipients to fail and still consider it okay */ + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT_ALLOWFAILS, 1L); + + /* Build and set the message header list. */ + for(cpp = headers_text; *cpp; cpp++) + headers = curl_slist_append(headers, *cpp); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + + /* Build the mime message. */ + mime = curl_mime_init(curl); + + /* The inline part is an alternative proposing the html and the text + versions of the email. */ + alt = curl_mime_init(curl); + + /* HTML message. */ + part = curl_mime_addpart(alt); + curl_mime_data(part, inline_html, CURL_ZERO_TERMINATED); + curl_mime_type(part, "text/html"); + + /* Text message. */ + part = curl_mime_addpart(alt); + curl_mime_data(part, inline_text, CURL_ZERO_TERMINATED); + + /* Create the inline part. */ + part = curl_mime_addpart(mime); + curl_mime_subparts(part, alt); + curl_mime_type(part, "multipart/alternative"); + slist = curl_slist_append(NULL, "Content-Disposition: inline"); + curl_mime_headers(part, slist, 1); + + /* Add the current source program as an attachment. */ + part = curl_mime_addpart(mime); + curl_mime_filedata(part, "smtp-mime.c"); + curl_easy_setopt(curl, CURLOPT_MIMEPOST, mime); + + /* Send the message */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free lists. */ + curl_slist_free_all(recipients); + curl_slist_free_all(headers); + + /* curl does not send the QUIT command until you call cleanup, so you + * should be able to reuse this connection for additional messages + * (setting CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and + * calling curl_easy_perform() again. It may not be a good idea to keep + * the connection open for a long time though (more than a few minutes may + * result in the server timing out the connection), and you do want to + * clean up in the end. + */ + curl_easy_cleanup(curl); + + /* Free multipart message. */ + curl_mime_free(mime); + } + + return (int)res; +} diff --git a/curl/docs/examples/smtp-multi.c b/curl/docs/examples/smtp-multi.c new file mode 100644 index 0000000..8837c57 --- /dev/null +++ b/curl/docs/examples/smtp-multi.c @@ -0,0 +1,153 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send SMTP email with the multi interface + * + */ + +#include +#include + +/* This is an example showing how to send mail using libcurl's SMTP + * capabilities. It builds on the smtp-mail.c example to demonstrate how to use + * libcurl's multi interface. + */ + +#define FROM_MAIL "" +#define TO_MAIL "" +#define CC_MAIL "" + +static const char *payload_text = + "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n" + "To: " TO_MAIL "\r\n" + "From: " FROM_MAIL "\r\n" + "Cc: " CC_MAIL "\r\n" + "Message-ID: \r\n" + "Subject: SMTP example message\r\n" + "\r\n" /* empty line to divide headers from body, see RFC 5322 */ + "The body of the message starts here.\r\n" + "\r\n" + "It could be a lot of lines, could be MIME encoded, whatever.\r\n" + "Check RFC 5322.\r\n"; + +struct upload_status { + size_t bytes_read; +}; + +static size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct upload_status *upload_ctx = (struct upload_status *)userp; + const char *data; + size_t room = size * nmemb; + + if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { + return 0; + } + + data = &payload_text[upload_ctx->bytes_read]; + + if(data) { + size_t len = strlen(data); + if(room < len) + len = room; + memcpy(ptr, data, len); + upload_ctx->bytes_read += len; + + return len; + } + + return 0; +} + +int main(void) +{ + CURL *curl; + CURLM *mcurl; + int still_running = 1; + struct curl_slist *recipients = NULL; + struct upload_status upload_ctx = { 0 }; + + curl_global_init(CURL_GLOBAL_DEFAULT); + + curl = curl_easy_init(); + if(!curl) + return 1; + + mcurl = curl_multi_init(); + if(!mcurl) + return 2; + + /* This is the URL for your mailserver */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); + + /* Note that this option is not strictly required, omitting it results in + * libcurl sending the MAIL FROM command with empty sender data. All + * autoresponses should have an empty reverse-path, and should be directed + * to the address in the reverse-path which triggered them. Otherwise, they + * could cause an endless loop. See RFC 5321 Section 4.5.5 for more details. + */ + curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_MAIL); + + /* Add two recipients, in this particular case they correspond to the + * To: and Cc: addressees in the header, but they could be any kind of + * recipient. */ + recipients = curl_slist_append(recipients, TO_MAIL); + recipients = curl_slist_append(recipients, CC_MAIL); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* We are using a callback function to specify the payload (the headers and + * body of the message). You could just use the CURLOPT_READDATA option to + * specify a FILE pointer to read from. */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); + curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* Tell the multi stack about our easy handle */ + curl_multi_add_handle(mcurl, curl); + + do { + CURLMcode mc = curl_multi_perform(mcurl, &still_running); + + if(still_running) + /* wait for activity, timeout or "nothing" */ + mc = curl_multi_poll(mcurl, NULL, 0, 1000, NULL); + + if(mc) + break; + + } while(still_running); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* Always cleanup */ + curl_multi_remove_handle(mcurl, curl); + curl_multi_cleanup(mcurl); + curl_easy_cleanup(curl); + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/smtp-ssl.c b/curl/docs/examples/smtp-ssl.c new file mode 100644 index 0000000..150de9c --- /dev/null +++ b/curl/docs/examples/smtp-ssl.c @@ -0,0 +1,170 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send SMTP email using implicit SSL + * + */ + +#include +#include +#include + +/* This is a simple example showing how to send mail using libcurl's SMTP + * capabilities. It builds on the smtp-mail.c example to add authentication + * and, more importantly, transport security to protect the authentication + * details from being snooped. + * + * Note that this example requires libcurl 7.20.0 or above. + */ + +#define FROM_MAIL "" +#define TO_MAIL "" +#define CC_MAIL "" + +static const char *payload_text = + "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n" + "To: " TO_MAIL "\r\n" + "From: " FROM_MAIL "\r\n" + "Cc: " CC_MAIL "\r\n" + "Message-ID: \r\n" + "Subject: SMTP example message\r\n" + "\r\n" /* empty line to divide headers from body, see RFC 5322 */ + "The body of the message starts here.\r\n" + "\r\n" + "It could be a lot of lines, could be MIME encoded, whatever.\r\n" + "Check RFC 5322.\r\n"; + +struct upload_status { + size_t bytes_read; +}; + +static size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct upload_status *upload_ctx = (struct upload_status *)userp; + const char *data; + size_t room = size * nmemb; + + if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { + return 0; + } + + data = &payload_text[upload_ctx->bytes_read]; + + if(data) { + size_t len = strlen(data); + if(room < len) + len = room; + memcpy(ptr, data, len); + upload_ctx->bytes_read += len; + + return len; + } + + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + struct curl_slist *recipients = NULL; + struct upload_status upload_ctx = { 0 }; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is the URL for your mailserver. Note the use of smtps:// rather + * than smtp:// to request a SSL based connection. */ + curl_easy_setopt(curl, CURLOPT_URL, "smtps://mainserver.example.net"); + + /* If you want to connect to a site who is not using a certificate that is + * signed by one of the certs in the CA bundle you have, you can skip the + * verification of the server's certificate. This makes the connection + * A LOT LESS SECURE. + * + * If you have a CA cert for the server stored someplace else than in the + * default bundle, then the CURLOPT_CAPATH option might come handy for + * you. */ +#ifdef SKIP_PEER_VERIFICATION + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); +#endif + + /* If the site you are connecting to uses a different host name that what + * they have mentioned in their server certificate's commonName (or + * subjectAltName) fields, libcurl refuses to connect. You can skip this + * check, but it makes the connection insecure. */ +#ifdef SKIP_HOSTNAME_VERIFICATION + curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); +#endif + + /* Note that this option is not strictly required, omitting it results in + * libcurl sending the MAIL FROM command with empty sender data. All + * autoresponses should have an empty reverse-path, and should be directed + * to the address in the reverse-path which triggered them. Otherwise, + * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more + * details. + */ + curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_MAIL); + + /* Add two recipients, in this particular case they correspond to the + * To: and Cc: addressees in the header, but they could be any kind of + * recipient. */ + recipients = curl_slist_append(recipients, TO_MAIL); + recipients = curl_slist_append(recipients, CC_MAIL); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* We are using a callback function to specify the payload (the headers and + * body of the message). You could just use the CURLOPT_READDATA option to + * specify a FILE pointer to read from. */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); + curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* Since the traffic is encrypted, it is useful to turn on debug + * information within libcurl to see what is happening during the + * transfer */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Send the message */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/smtp-tls.c b/curl/docs/examples/smtp-tls.c new file mode 100644 index 0000000..fd4e385 --- /dev/null +++ b/curl/docs/examples/smtp-tls.c @@ -0,0 +1,173 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Send SMTP email using implicit TLS + * + */ + +#include +#include +#include + +/* This is a simple example showing how to send mail using libcurl's SMTP + * capabilities. It builds on the smtp-mail.c example to add authentication + * and, more importantly, transport security to protect the authentication + * details from being snooped. + * + * Note that this example requires libcurl 7.20.0 or above. + */ + +#define FROM_MAIL "" +#define TO_MAIL "" +#define CC_MAIL "" + +static const char *payload_text = + "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n" + "To: " TO_MAIL "\r\n" + "From: " FROM_MAIL "\r\n" + "Cc: " CC_MAIL "\r\n" + "Message-ID: \r\n" + "Subject: SMTP example message\r\n" + "\r\n" /* empty line to divide headers from body, see RFC 5322 */ + "The body of the message starts here.\r\n" + "\r\n" + "It could be a lot of lines, could be MIME encoded, whatever.\r\n" + "Check RFC 5322.\r\n"; + +struct upload_status { + size_t bytes_read; +}; + +static size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp) +{ + struct upload_status *upload_ctx = (struct upload_status *)userp; + const char *data; + size_t room = size * nmemb; + + if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { + return 0; + } + + data = &payload_text[upload_ctx->bytes_read]; + + if(data) { + size_t len = strlen(data); + if(room < len) + len = room; + memcpy(ptr, data, len); + upload_ctx->bytes_read += len; + + return len; + } + + return 0; +} + +int main(void) +{ + CURL *curl; + CURLcode res = CURLE_OK; + struct curl_slist *recipients = NULL; + struct upload_status upload_ctx = { 0 }; + + curl = curl_easy_init(); + if(curl) { + /* Set username and password */ + curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); + curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); + + /* This is the URL for your mailserver. Note the use of port 587 here, + * instead of the normal SMTP port (25). Port 587 is commonly used for + * secure mail submission (see RFC 4403), but you should use whatever + * matches your server configuration. */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mainserver.example.net:587"); + + /* In this example, we start with a plain text connection, and upgrade to + * Transport Layer Security (TLS) using the STARTTLS command. Be careful + * of using CURLUSESSL_TRY here, because if TLS upgrade fails, the + * transfer continues anyway - see the security discussion in the libcurl + * tutorial for more details. */ + curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); + + /* If your server does not have a valid certificate, then you can disable + * part of the Transport Layer Security protection by setting the + * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false). + * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); + * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); + * That is, in general, a bad idea. It is still better than sending your + * authentication details in plain text though. Instead, you should get + * the issuer certificate (or the host certificate if the certificate is + * self-signed) and add it to the set of certificates that are known to + * libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See docs/SSLCERTS + * for more information. */ + curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem"); + + /* Note that this option is not strictly required, omitting it results in + * libcurl sending the MAIL FROM command with empty sender data. All + * autoresponses should have an empty reverse-path, and should be directed + * to the address in the reverse-path which triggered them. Otherwise, + * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more + * details. + */ + curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_MAIL); + + /* Add two recipients, in this particular case they correspond to the + * To: and Cc: addressees in the header, but they could be any kind of + * recipient. */ + recipients = curl_slist_append(recipients, TO_MAIL); + recipients = curl_slist_append(recipients, CC_MAIL); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* We are using a callback function to specify the payload (the headers and + * body of the message). You could just use the CURLOPT_READDATA option to + * specify a FILE pointer to read from. */ + curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); + curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); + curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); + + /* Since the traffic is encrypted, it is useful to turn on debug + * information within libcurl to see what is happening during the + * transfer. + */ + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* Send the message */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* Always cleanup */ + curl_easy_cleanup(curl); + } + + return (int)res; +} diff --git a/curl/docs/examples/smtp-vrfy.c b/curl/docs/examples/smtp-vrfy.c new file mode 100644 index 0000000..0135efe --- /dev/null +++ b/curl/docs/examples/smtp-vrfy.c @@ -0,0 +1,81 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Verify an SMTP email address + * + */ + +#include +#include +#include + +/* This is a simple example showing how to verify an email address from an + * SMTP server. + * + * Notes: + * + * 1) This example requires libcurl 7.34.0 or above. + * 2) Not all email servers support this command and even if your email server + * does support it, it may respond with a 252 response code even though the + * address does not exist. + */ + +int main(void) +{ + CURL *curl; + CURLcode res; + struct curl_slist *recipients = NULL; + + curl = curl_easy_init(); + if(curl) { + /* This is the URL for your mailserver */ + curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); + + /* Note that the CURLOPT_MAIL_RCPT takes a list, not a char array */ + recipients = curl_slist_append(recipients, ""); + curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); + + /* Perform the VRFY */ + res = curl_easy_perform(curl); + + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* Free the list of recipients */ + curl_slist_free_all(recipients); + + /* curl does not send the QUIT command until you call cleanup, so you + * should be able to reuse this connection for additional requests. It may + * not be a good idea to keep the connection open for a long time though + * (more than a few minutes may result in the server timing out the + * connection) and you do want to clean up in the end. + */ + curl_easy_cleanup(curl); + } + + return 0; +} diff --git a/curl/docs/examples/sslbackend.c b/curl/docs/examples/sslbackend.c new file mode 100644 index 0000000..fd2b575 --- /dev/null +++ b/curl/docs/examples/sslbackend.c @@ -0,0 +1,79 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Shows HTTPS usage with client certs and optional ssl engine use. + * + */ +#include +#include +#include +#include +#include + +#include + +/* + * An SSL-enabled libcurl is required for this sample to work (at least one + * SSL backend has to be configured). + * + * **** This example only works with libcurl 7.56.0 and later! **** +*/ + +int main(int argc, char **argv) +{ + const char *name = argc > 1 ? argv[1] : "openssl"; + CURLsslset result; + + if(!strcmp("list", name)) { + const curl_ssl_backend **list; + int i; + + result = curl_global_sslset(CURLSSLBACKEND_NONE, NULL, &list); + assert(result == CURLSSLSET_UNKNOWN_BACKEND); + + for(i = 0; list[i]; i++) + printf("SSL backend #%d: '%s' (ID: %d)\n", + i, list[i]->name, list[i]->id); + + return 0; + } + else if(isdigit((int)(unsigned char)*name)) { + int id = atoi(name); + + result = curl_global_sslset((curl_sslbackend)id, NULL, NULL); + } + else + result = curl_global_sslset(CURLSSLBACKEND_NONE, name, NULL); + + if(result == CURLSSLSET_UNKNOWN_BACKEND) { + fprintf(stderr, "Unknown SSL backend id: %s\n", name); + return 1; + } + + assert(result == CURLSSLSET_OK); + + printf("Version with SSL backend '%s':\n\n\t%s\n", name, curl_version()); + + return 0; +} diff --git a/curl/docs/examples/unixsocket.c b/curl/docs/examples/unixsocket.c new file mode 100644 index 0000000..299a121 --- /dev/null +++ b/curl/docs/examples/unixsocket.c @@ -0,0 +1,67 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Access HTTP server over Unix domain socket + * + */ +#include +#include + +#ifdef USE_ABSTRACT +/* + * The abstract socket namespace is a nonportable Linux extension. The name + * has no connection with filesystem pathnames. + */ +#define ABSTRACT "http-unix-domain" +#else +#define PATH "/tmp/http-unix-domain" +#endif + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); + +#ifdef USE_ABSTRACT + curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, ABSTRACT); +#else + curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, PATH); +#endif + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/url2file.c b/curl/docs/examples/url2file.c new file mode 100644 index 0000000..9ed7da5 --- /dev/null +++ b/curl/docs/examples/url2file.c @@ -0,0 +1,87 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Download a given URL into a local file named page.out. + * + */ +#include +#include + +#include + +static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) +{ + size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); + return written; +} + +int main(int argc, char *argv[]) +{ + CURL *curl_handle; + static const char *pagefilename = "page.out"; + FILE *pagefile; + + if(argc < 2) { + printf("Usage: %s \n", argv[0]); + return 1; + } + + curl_global_init(CURL_GLOBAL_ALL); + + /* init the curl session */ + curl_handle = curl_easy_init(); + + /* set URL to get here */ + curl_easy_setopt(curl_handle, CURLOPT_URL, argv[1]); + + /* Switch on full protocol/debug output while testing */ + curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L); + + /* disable progress meter, set to 0L to enable it */ + curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); + + /* send all data to this function */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); + + /* open the file */ + pagefile = fopen(pagefilename, "wb"); + if(pagefile) { + + /* write the page body to this file handle */ + curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, pagefile); + + /* get it! */ + curl_easy_perform(curl_handle); + + /* close the header file */ + fclose(pagefile); + } + + /* cleanup curl stuff */ + curl_easy_cleanup(curl_handle); + + curl_global_cleanup(); + + return 0; +} diff --git a/curl/docs/examples/urlapi.c b/curl/docs/examples/urlapi.c new file mode 100644 index 0000000..2ed78eb --- /dev/null +++ b/curl/docs/examples/urlapi.c @@ -0,0 +1,77 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * Set working URL with CURLU *. + * + */ +#include +#include + +#if !CURL_AT_LEAST_VERSION(7, 80, 0) +#error "this example requires curl 7.80.0 or later" +#endif + +int main(void) +{ + CURL *curl; + CURLcode res; + + CURLU *urlp; + CURLUcode uc; + + /* get a curl handle */ + curl = curl_easy_init(); + + /* init Curl URL */ + urlp = curl_url(); + uc = curl_url_set(urlp, CURLUPART_URL, + "http://example.com/path/index.html", 0); + + if(uc) { + fprintf(stderr, "curl_url_set() failed: %s", curl_url_strerror(uc)); + goto cleanup; + } + + if(curl) { + /* set urlp to use as working URL */ + curl_easy_setopt(curl, CURLOPT_CURLU, urlp); + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); + + /* only allow HTTP, TFTP and SFTP */ + curl_easy_setopt(curl, CURLOPT_PROTOCOLS_STR, "http,tftp,sftp"); + + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + goto cleanup; + } + +cleanup: + curl_url_cleanup(urlp); + curl_easy_cleanup(curl); + return 0; +} diff --git a/curl/docs/examples/websocket-cb.c b/curl/docs/examples/websocket-cb.c new file mode 100644 index 0000000..09d6c64 --- /dev/null +++ b/curl/docs/examples/websocket-cb.c @@ -0,0 +1,68 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * WebSocket download-only using write callback + * + */ +#include +#include + +static size_t writecb(char *b, size_t size, size_t nitems, void *p) +{ + CURL *easy = p; + size_t i; + const struct curl_ws_frame *frame = curl_ws_meta(easy); + fprintf(stderr, "Type: %s\n", frame->flags & CURLWS_BINARY ? + "binary" : "text"); + fprintf(stderr, "Bytes: %u", (unsigned int)(nitems * size)); + for(i = 0; i < nitems; i++) + fprintf(stderr, "%02x ", (unsigned char)b[i]); + return nitems; +} + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "wss://example.com"); + + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writecb); + /* pass the easy handle to the callback */ + curl_easy_setopt(curl, CURLOPT_WRITEDATA, curl); + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/examples/websocket.c b/curl/docs/examples/websocket.c new file mode 100644 index 0000000..758ee48 --- /dev/null +++ b/curl/docs/examples/websocket.c @@ -0,0 +1,135 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + * WebSocket using CONNECT_ONLY + * + */ +#include +#include +#ifdef _WIN32 +#include +#include +#define sleep(s) Sleep((DWORD)(s)) +#else +#include +#endif + +#include + +static int ping(CURL *curl, const char *send_payload) +{ + size_t sent; + CURLcode result = + curl_ws_send(curl, send_payload, strlen(send_payload), &sent, 0, + CURLWS_PING); + return (int)result; +} + +static int recv_pong(CURL *curl, const char *expected_payload) +{ + size_t rlen; + const struct curl_ws_frame *meta; + char buffer[256]; + CURLcode result = curl_ws_recv(curl, buffer, sizeof(buffer), &rlen, &meta); + if(!result) { + if(meta->flags & CURLWS_PONG) { + int same = 0; + fprintf(stderr, "ws: got PONG back\n"); + if(rlen == strlen(expected_payload)) { + if(!memcmp(expected_payload, buffer, rlen)) { + fprintf(stderr, "ws: got the same payload back\n"); + same = 1; + } + } + if(!same) + fprintf(stderr, "ws: did NOT get the same payload back\n"); + } + else { + fprintf(stderr, "recv_pong: got %u bytes rflags %x\n", (int)rlen, + meta->flags); + } + } + fprintf(stderr, "ws: curl_ws_recv returned %u, received %u\n", + (unsigned int)result, (unsigned int)rlen); + return (int)result; +} + +static CURLcode recv_any(CURL *curl) +{ + size_t rlen; + const struct curl_ws_frame *meta; + char buffer[256]; + + return curl_ws_recv(curl, buffer, sizeof(buffer), &rlen, &meta); +} + +/* close the connection */ +static void websocket_close(CURL *curl) +{ + size_t sent; + (void)curl_ws_send(curl, "", 0, &sent, 0, CURLWS_CLOSE); +} + +static void websocket(CURL *curl) +{ + int i = 0; + do { + recv_any(curl); + if(ping(curl, "foobar")) + return; + if(recv_pong(curl, "foobar")) { + return; + } + sleep(2); + } while(i++ < 10); + websocket_close(curl); +} + +int main(void) +{ + CURL *curl; + CURLcode res; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "wss://example.com"); + + curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 2L); /* websocket style */ + + /* Perform the request, res gets the return code */ + res = curl_easy_perform(curl); + /* Check for errors */ + if(res != CURLE_OK) + fprintf(stderr, "curl_easy_perform() failed: %s\n", + curl_easy_strerror(res)); + else { + /* connected and ready */ + websocket(curl); + } + + /* always cleanup */ + curl_easy_cleanup(curl); + } + return 0; +} diff --git a/curl/docs/libcurl/symbols-in-versions.txt b/curl/docs/libcurl/symbols-in-versions.txt new file mode 100644 index 0000000..e757219 --- /dev/null +++ b/curl/docs/libcurl/symbols-in-versions.txt @@ -0,0 +1,1171 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + + This document lists defines and other symbols present in libcurl, together + with exact information about the first libcurl version that provides the + symbol, the first version in which the symbol was marked as deprecated and + for a few symbols the last version that featured it. The names appear in + alphabetical order. + + Name Introduced Deprecated Last + +CURL_AT_LEAST_VERSION 7.43.0 +CURL_BLOB_COPY 7.71.0 +CURL_BLOB_NOCOPY 7.71.0 +CURL_CHUNK_BGN_FUNC_FAIL 7.21.0 +CURL_CHUNK_BGN_FUNC_OK 7.21.0 +CURL_CHUNK_BGN_FUNC_SKIP 7.21.0 +CURL_CHUNK_END_FUNC_FAIL 7.21.0 +CURL_CHUNK_END_FUNC_OK 7.21.0 +CURL_CSELECT_ERR 7.16.3 +CURL_CSELECT_IN 7.16.3 +CURL_CSELECT_OUT 7.16.3 +CURL_DEPRECATED 7.87.0 +CURL_DID_MEMORY_FUNC_TYPEDEFS 7.49.0 +CURL_EASY_NONE 7.14.0 - 7.15.4 +CURL_EASY_TIMEOUT 7.14.0 - 7.15.4 +CURL_ERROR_SIZE 7.1 +CURL_FNMATCHFUNC_FAIL 7.21.0 +CURL_FNMATCHFUNC_MATCH 7.21.0 +CURL_FNMATCHFUNC_NOMATCH 7.21.0 +CURL_FORMADD_DISABLED 7.12.1 7.56.0 +CURL_FORMADD_ILLEGAL_ARRAY 7.9.8 7.56.0 +CURL_FORMADD_INCOMPLETE 7.9.8 7.56.0 +CURL_FORMADD_MEMORY 7.9.8 7.56.0 +CURL_FORMADD_NULL 7.9.8 7.56.0 +CURL_FORMADD_OK 7.9.8 7.56.0 +CURL_FORMADD_OPTION_TWICE 7.9.8 7.56.0 +CURL_FORMADD_UNKNOWN_OPTION 7.9.8 7.56.0 +CURL_GLOBAL_ACK_EINTR 7.30.0 +CURL_GLOBAL_ALL 7.8 +CURL_GLOBAL_DEFAULT 7.8 +CURL_GLOBAL_NOTHING 7.8 +CURL_GLOBAL_SSL 7.8 +CURL_GLOBAL_WIN32 7.8.1 +CURL_HAS_DECLSPEC_ATTRIBUTE 8.13.0 +CURL_HET_DEFAULT 7.59.0 +CURL_HTTP_VERSION_1_0 7.9.1 +CURL_HTTP_VERSION_1_1 7.9.1 +CURL_HTTP_VERSION_2 7.43.0 +CURL_HTTP_VERSION_2_0 7.33.0 +CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE 7.49.0 +CURL_HTTP_VERSION_2TLS 7.47.0 +CURL_HTTP_VERSION_3 7.66.0 +CURL_HTTP_VERSION_3ONLY 7.88.0 +CURL_HTTP_VERSION_NONE 7.9.1 +CURL_HTTPPOST_BUFFER 7.46.0 +CURL_HTTPPOST_CALLBACK 7.46.0 +CURL_HTTPPOST_FILENAME 7.46.0 +CURL_HTTPPOST_LARGE 7.46.0 +CURL_HTTPPOST_PTRBUFFER 7.46.0 +CURL_HTTPPOST_PTRCONTENTS 7.46.0 +CURL_HTTPPOST_PTRNAME 7.46.0 +CURL_HTTPPOST_READFILE 7.46.0 +CURL_IGNORE_DEPRECATION 7.87.0 +CURL_IPRESOLVE_V4 7.10.8 +CURL_IPRESOLVE_V6 7.10.8 +CURL_IPRESOLVE_WHATEVER 7.10.8 +CURL_ISOCPP 7.10.2 +CURL_LOCK_ACCESS_NONE 7.10.3 +CURL_LOCK_ACCESS_SHARED 7.10.3 +CURL_LOCK_ACCESS_SINGLE 7.10.3 +CURL_LOCK_DATA_CONNECT 7.10.3 +CURL_LOCK_DATA_COOKIE 7.10.3 +CURL_LOCK_DATA_DNS 7.10.3 +CURL_LOCK_DATA_HSTS 7.88.0 +CURL_LOCK_DATA_NONE 7.10.3 +CURL_LOCK_DATA_PSL 7.61.0 +CURL_LOCK_DATA_SHARE 7.10.4 +CURL_LOCK_DATA_SSL_SESSION 7.10.3 +CURL_LOCK_TYPE_CONNECT 7.10 - 7.10.2 +CURL_LOCK_TYPE_COOKIE 7.10 - 7.10.2 +CURL_LOCK_TYPE_DNS 7.10 - 7.10.2 +CURL_LOCK_TYPE_NONE 7.10 - 7.10.2 +CURL_LOCK_TYPE_SSL_SESSION 7.10 - 7.10.2 +CURL_MAX_HTTP_HEADER 7.19.7 +CURL_MAX_READ_SIZE 7.53.0 +CURL_MAX_WRITE_SIZE 7.9.7 +CURL_NETRC_IGNORED 7.9.8 +CURL_NETRC_OPTIONAL 7.9.8 +CURL_NETRC_REQUIRED 7.9.8 +CURL_POLL_IN 7.14.0 +CURL_POLL_INOUT 7.14.0 +CURL_POLL_NONE 7.14.0 +CURL_POLL_OUT 7.14.0 +CURL_POLL_REMOVE 7.14.0 +CURL_PREREQFUNC_ABORT 7.79.0 +CURL_PREREQFUNC_OK 7.79.0 +CURL_PROGRESS_BAR 7.1.1 - 7.4.1 +CURL_PROGRESS_STATS 7.1.1 - 7.4.1 +CURL_PROGRESSFUNC_CONTINUE 7.68.0 +CURL_PULL_SYS_POLL_H 7.56.0 +CURL_PUSH_DENY 7.44.0 +CURL_PUSH_ERROROUT 7.72.0 +CURL_PUSH_OK 7.44.0 +CURL_READFUNC_ABORT 7.12.1 +CURL_READFUNC_PAUSE 7.18.0 +CURL_REDIR_GET_ALL 7.19.1 +CURL_REDIR_POST_301 7.19.1 +CURL_REDIR_POST_302 7.19.1 +CURL_REDIR_POST_303 7.26.0 +CURL_REDIR_POST_ALL 7.19.1 +CURL_RTSPREQ_ANNOUNCE 7.20.0 +CURL_RTSPREQ_DESCRIBE 7.20.0 +CURL_RTSPREQ_GET_PARAMETER 7.20.0 +CURL_RTSPREQ_NONE 7.20.0 +CURL_RTSPREQ_OPTIONS 7.20.0 +CURL_RTSPREQ_PAUSE 7.20.0 +CURL_RTSPREQ_PLAY 7.20.0 +CURL_RTSPREQ_RECEIVE 7.20.0 +CURL_RTSPREQ_RECORD 7.20.0 +CURL_RTSPREQ_SET_PARAMETER 7.20.0 +CURL_RTSPREQ_SETUP 7.20.0 +CURL_RTSPREQ_TEARDOWN 7.20.0 +CURL_SEEKFUNC_CANTSEEK 7.19.5 +CURL_SEEKFUNC_FAIL 7.19.5 +CURL_SEEKFUNC_OK 7.19.5 +CURL_SOCKET_BAD 7.14.0 +CURL_SOCKET_TIMEOUT 7.14.0 +CURL_SOCKOPT_ALREADY_CONNECTED 7.21.5 +CURL_SOCKOPT_ERROR 7.21.5 +CURL_SOCKOPT_OK 7.21.5 +CURL_SSLVERSION_DEFAULT 7.9.2 +CURL_SSLVERSION_MAX_DEFAULT 7.54.0 +CURL_SSLVERSION_MAX_NONE 7.54.0 +CURL_SSLVERSION_MAX_TLSv1_0 7.54.0 +CURL_SSLVERSION_MAX_TLSv1_1 7.54.0 +CURL_SSLVERSION_MAX_TLSv1_2 7.54.0 +CURL_SSLVERSION_MAX_TLSv1_3 7.54.0 +CURL_SSLVERSION_SSLv2 7.9.2 +CURL_SSLVERSION_SSLv3 7.9.2 +CURL_SSLVERSION_TLSv1 7.9.2 +CURL_SSLVERSION_TLSv1_0 7.34.0 +CURL_SSLVERSION_TLSv1_1 7.34.0 +CURL_SSLVERSION_TLSv1_2 7.34.0 +CURL_SSLVERSION_TLSv1_3 7.52.0 +CURL_STRICTER 7.50.2 +CURL_TIMECOND_IFMODSINCE 7.9.7 +CURL_TIMECOND_IFUNMODSINCE 7.9.7 +CURL_TIMECOND_LASTMOD 7.9.7 +CURL_TIMECOND_NONE 7.9.7 +CURL_TLSAUTH_NONE 7.21.4 +CURL_TLSAUTH_SRP 7.21.4 +CURL_TRAILERFUNC_ABORT 7.64.0 +CURL_TRAILERFUNC_OK 7.64.0 +CURL_UPKEEP_INTERVAL_DEFAULT 7.62.0 +CURL_VERSION_ALTSVC 7.64.1 +CURL_VERSION_ASYNCHDNS 7.10.7 +CURL_VERSION_BITS 7.43.0 +CURL_VERSION_BROTLI 7.57.0 +CURL_VERSION_CONV 7.15.4 +CURL_VERSION_CURLDEBUG 7.19.6 +CURL_VERSION_DEBUG 7.10.6 +CURL_VERSION_GSASL 7.76.0 +CURL_VERSION_GSSAPI 7.38.0 +CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0 +CURL_VERSION_HSTS 7.74.0 +CURL_VERSION_HTTP2 7.33.0 +CURL_VERSION_HTTP3 7.66.0 +CURL_VERSION_HTTPS_PROXY 7.52.0 +CURL_VERSION_IDN 7.12.0 +CURL_VERSION_IPV6 7.10 +CURL_VERSION_KERBEROS4 7.10 7.33.0 +CURL_VERSION_KERBEROS5 7.40.0 +CURL_VERSION_LARGEFILE 7.11.1 +CURL_VERSION_LIBZ 7.10 +CURL_VERSION_MULTI_SSL 7.56.0 +CURL_VERSION_NTLM 7.10.6 +CURL_VERSION_NTLM_WB 7.22.0 8.8.0 +CURL_VERSION_PSL 7.47.0 +CURL_VERSION_SPNEGO 7.10.8 +CURL_VERSION_SSL 7.10 +CURL_VERSION_SSPI 7.13.2 +CURL_VERSION_THREADSAFE 7.84.0 +CURL_VERSION_TLSAUTH_SRP 7.21.4 +CURL_VERSION_UNICODE 7.72.0 +CURL_VERSION_UNIX_SOCKETS 7.40.0 +CURL_VERSION_ZSTD 7.72.0 +CURL_WAIT_POLLIN 7.28.0 +CURL_WAIT_POLLOUT 7.28.0 +CURL_WAIT_POLLPRI 7.28.0 +CURL_WIN32 7.69.0 - 8.5.0 +CURL_WRITEFUNC_ERROR 7.87.0 +CURL_WRITEFUNC_PAUSE 7.18.0 +CURL_ZERO_TERMINATED 7.56.0 +CURLALTSVC_H1 7.64.1 +CURLALTSVC_H2 7.64.1 +CURLALTSVC_H3 7.64.1 +CURLALTSVC_READONLYFILE 7.64.1 +CURLAUTH_ANY 7.10.6 +CURLAUTH_ANYSAFE 7.10.6 +CURLAUTH_AWS_SIGV4 7.75.0 +CURLAUTH_BASIC 7.10.6 +CURLAUTH_BEARER 7.61.0 +CURLAUTH_DIGEST 7.10.6 +CURLAUTH_DIGEST_IE 7.19.3 +CURLAUTH_GSSAPI 7.55.0 +CURLAUTH_GSSNEGOTIATE 7.10.6 7.38.0 +CURLAUTH_NEGOTIATE 7.38.0 +CURLAUTH_NONE 7.10.6 +CURLAUTH_NTLM 7.10.6 +CURLAUTH_NTLM_WB 7.22.0 8.8.0 +CURLAUTH_ONLY 7.21.3 +CURLCLOSEPOLICY_CALLBACK 7.7 7.16.1 +CURLCLOSEPOLICY_LEAST_RECENTLY_USED 7.7 7.16.1 +CURLCLOSEPOLICY_LEAST_TRAFFIC 7.7 7.16.1 +CURLCLOSEPOLICY_NONE 7.7 7.16.1 +CURLCLOSEPOLICY_OLDEST 7.7 7.16.1 +CURLCLOSEPOLICY_SLOWEST 7.7 7.16.1 +CURLE_ABORTED_BY_CALLBACK 7.1 +CURLE_AGAIN 7.18.2 +CURLE_ALREADY_COMPLETE 7.7.2 7.8 +CURLE_AUTH_ERROR 7.66.0 +CURLE_BAD_CALLING_ORDER 7.1 7.17.0 +CURLE_BAD_CONTENT_ENCODING 7.10 +CURLE_BAD_DOWNLOAD_RESUME 7.10 +CURLE_BAD_FUNCTION_ARGUMENT 7.1 +CURLE_BAD_PASSWORD_ENTERED 7.4.2 7.17.0 +CURLE_CHUNK_FAILED 7.21.0 +CURLE_CONV_FAILED 7.15.4 7.82.0 +CURLE_CONV_REQD 7.15.4 7.82.0 +CURLE_COULDNT_CONNECT 7.1 +CURLE_COULDNT_RESOLVE_HOST 7.1 +CURLE_COULDNT_RESOLVE_PROXY 7.1 +CURLE_FAILED_INIT 7.1 +CURLE_FILE_COULDNT_READ_FILE 7.1 +CURLE_FILESIZE_EXCEEDED 7.10.8 +CURLE_FTP_ACCEPT_FAILED 7.24.0 +CURLE_FTP_ACCEPT_TIMEOUT 7.24.0 +CURLE_FTP_ACCESS_DENIED 7.1 7.17.0 +CURLE_FTP_BAD_DOWNLOAD_RESUME 7.1 7.1 +CURLE_FTP_BAD_FILE_LIST 7.21.0 +CURLE_FTP_CANT_GET_HOST 7.1 +CURLE_FTP_CANT_RECONNECT 7.1 7.17.0 +CURLE_FTP_COULDNT_GET_SIZE 7.1 7.17.0 +CURLE_FTP_COULDNT_RETR_FILE 7.1 +CURLE_FTP_COULDNT_SET_ASCII 7.1 7.17.0 +CURLE_FTP_COULDNT_SET_BINARY 7.1 7.17.0 +CURLE_FTP_COULDNT_SET_TYPE 7.17.0 +CURLE_FTP_COULDNT_STOR_FILE 7.1 7.16.3 +CURLE_FTP_COULDNT_USE_REST 7.1 +CURLE_FTP_PARTIAL_FILE 7.1 7.1 +CURLE_FTP_PORT_FAILED 7.1 +CURLE_FTP_PRET_FAILED 7.20.0 +CURLE_FTP_QUOTE_ERROR 7.1 7.17.0 +CURLE_FTP_SSL_FAILED 7.11.0 7.17.0 +CURLE_FTP_USER_PASSWORD_INCORRECT 7.1 7.17.0 +CURLE_FTP_WEIRD_227_FORMAT 7.1 +CURLE_FTP_WEIRD_PASS_REPLY 7.1 +CURLE_FTP_WEIRD_PASV_REPLY 7.1 +CURLE_FTP_WEIRD_SERVER_REPLY 7.1 7.51.0 +CURLE_FTP_WEIRD_USER_REPLY 7.1 7.17.0 +CURLE_FTP_WRITE_ERROR 7.1 7.17.0 +CURLE_FUNCTION_NOT_FOUND 7.1 +CURLE_GOT_NOTHING 7.9.1 +CURLE_HTTP2 7.38.0 +CURLE_HTTP2_STREAM 7.49.0 +CURLE_HTTP3 7.68.0 +CURLE_HTTP_NOT_FOUND 7.1 7.10.3 +CURLE_HTTP_PORT_FAILED 7.3 7.12.0 +CURLE_HTTP_POST_ERROR 7.1 +CURLE_HTTP_RANGE_ERROR 7.1 7.17.0 +CURLE_HTTP_RETURNED_ERROR 7.10.3 +CURLE_INTERFACE_FAILED 7.12.0 +CURLE_LDAP_CANNOT_BIND 7.1 +CURLE_LDAP_INVALID_URL 7.10.8 7.82.0 +CURLE_LDAP_SEARCH_FAILED 7.1 +CURLE_LIBRARY_NOT_FOUND 7.1 7.17.0 +CURLE_LOGIN_DENIED 7.13.1 +CURLE_MALFORMAT_USER 7.1 7.17.0 +CURLE_NO_CONNECTION_AVAILABLE 7.30.0 +CURLE_NOT_BUILT_IN 7.21.5 +CURLE_OK 7.1 +CURLE_OPERATION_TIMEDOUT 7.10.2 +CURLE_OPERATION_TIMEOUTED 7.1 7.17.0 +CURLE_OUT_OF_MEMORY 7.1 +CURLE_PARTIAL_FILE 7.1 +CURLE_PEER_FAILED_VERIFICATION 7.17.1 +CURLE_PROXY 7.73.0 +CURLE_QUIC_CONNECT_ERROR 7.69.0 +CURLE_QUOTE_ERROR 7.17.0 +CURLE_RANGE_ERROR 7.17.0 +CURLE_READ_ERROR 7.1 +CURLE_RECURSIVE_API_CALL 7.59.0 +CURLE_RECV_ERROR 7.10 +CURLE_REMOTE_ACCESS_DENIED 7.17.0 +CURLE_REMOTE_DISK_FULL 7.17.0 +CURLE_REMOTE_FILE_EXISTS 7.17.0 +CURLE_REMOTE_FILE_NOT_FOUND 7.16.1 +CURLE_RTSP_CSEQ_ERROR 7.20.0 +CURLE_RTSP_SESSION_ERROR 7.20.0 +CURLE_SEND_ERROR 7.10 +CURLE_SEND_FAIL_REWIND 7.12.3 +CURLE_SETOPT_OPTION_SYNTAX 7.78.0 +CURLE_SHARE_IN_USE 7.9.6 7.17.0 +CURLE_SSH 7.16.1 +CURLE_SSL_CACERT 7.10 7.62.0 +CURLE_SSL_CACERT_BADFILE 7.16.0 +CURLE_SSL_CERTPROBLEM 7.10 +CURLE_SSL_CIPHER 7.10 +CURLE_SSL_CLIENTCERT 7.77.0 +CURLE_SSL_CONNECT_ERROR 7.1 +CURLE_SSL_CRL_BADFILE 7.19.0 +CURLE_SSL_ENGINE_INITFAILED 7.12.3 +CURLE_SSL_ENGINE_NOTFOUND 7.9.3 +CURLE_SSL_ENGINE_SETFAILED 7.9.3 +CURLE_SSL_INVALIDCERTSTATUS 7.41.0 +CURLE_SSL_ISSUER_ERROR 7.19.0 +CURLE_SSL_PEER_CERTIFICATE 7.8 7.17.1 +CURLE_SSL_PINNEDPUBKEYNOTMATCH 7.39.0 +CURLE_SSL_SHUTDOWN_FAILED 7.16.1 +CURLE_TELNET_OPTION_SYNTAX 7.7 +CURLE_TFTP_DISKFULL 7.15.0 7.17.0 +CURLE_TFTP_EXISTS 7.15.0 7.17.0 +CURLE_TFTP_ILLEGAL 7.15.0 +CURLE_TFTP_NOSUCHUSER 7.15.0 +CURLE_TFTP_NOTFOUND 7.15.0 +CURLE_TFTP_PERM 7.15.0 +CURLE_TFTP_UNKNOWNID 7.15.0 +CURLE_TOO_LARGE 8.6.0 +CURLE_TOO_MANY_REDIRECTS 7.5 +CURLE_UNKNOWN_OPTION 7.21.5 +CURLE_UNKNOWN_TELNET_OPTION 7.7 7.21.5 +CURLE_UNRECOVERABLE_POLL 7.84.0 +CURLE_UNSUPPORTED_PROTOCOL 7.1 +CURLE_UPLOAD_FAILED 7.16.3 +CURLE_URL_MALFORMAT 7.1 +CURLE_ECH_REQUIRED 8.8.0 +CURLE_URL_MALFORMAT_USER 7.1 7.17.0 +CURLE_USE_SSL_FAILED 7.17.0 +CURLE_WEIRD_SERVER_REPLY 7.51.0 +CURLE_WRITE_ERROR 7.1 +CURLFILETYPE_DEVICE_BLOCK 7.21.0 +CURLFILETYPE_DEVICE_CHAR 7.21.0 +CURLFILETYPE_DIRECTORY 7.21.0 +CURLFILETYPE_DOOR 7.21.0 +CURLFILETYPE_FILE 7.21.0 +CURLFILETYPE_NAMEDPIPE 7.21.0 +CURLFILETYPE_SOCKET 7.21.0 +CURLFILETYPE_SYMLINK 7.21.0 +CURLFILETYPE_UNKNOWN 7.21.0 +CURLFINFOFLAG_KNOWN_FILENAME 7.21.0 +CURLFINFOFLAG_KNOWN_FILETYPE 7.21.0 +CURLFINFOFLAG_KNOWN_GID 7.21.0 +CURLFINFOFLAG_KNOWN_HLINKCOUNT 7.21.0 +CURLFINFOFLAG_KNOWN_PERM 7.21.0 +CURLFINFOFLAG_KNOWN_SIZE 7.21.0 +CURLFINFOFLAG_KNOWN_TIME 7.21.0 +CURLFINFOFLAG_KNOWN_UID 7.21.0 +CURLFOLLOW_ALL 8.13.0 +CURLFOLLOW_OBEYCODE 8.13.0 +CURLFOLLOW_FIRSTONLY 8.13.0 +CURLFORM_ARRAY 7.9.1 7.56.0 +CURLFORM_ARRAY_END 7.9.1 7.9.5 7.9.6 +CURLFORM_ARRAY_START 7.9.1 7.9.5 7.9.6 +CURLFORM_BUFFER 7.9.8 7.56.0 +CURLFORM_BUFFERLENGTH 7.9.8 7.56.0 +CURLFORM_BUFFERPTR 7.9.8 7.56.0 +CURLFORM_CONTENTHEADER 7.9.3 7.56.0 +CURLFORM_CONTENTLEN 7.46.0 7.56.0 +CURLFORM_CONTENTSLENGTH 7.9 7.56.0 +CURLFORM_CONTENTTYPE 7.9 7.56.0 +CURLFORM_COPYCONTENTS 7.9 7.56.0 +CURLFORM_COPYNAME 7.9 7.56.0 +CURLFORM_END 7.9 7.56.0 +CURLFORM_FILE 7.9 7.56.0 +CURLFORM_FILECONTENT 7.9.1 7.56.0 +CURLFORM_FILENAME 7.9.6 7.56.0 +CURLFORM_NAMELENGTH 7.9 7.56.0 +CURLFORM_NOTHING 7.9 7.56.0 +CURLFORM_PTRCONTENTS 7.9 7.56.0 +CURLFORM_PTRNAME 7.9 7.56.0 +CURLFORM_STREAM 7.18.2 7.56.0 +CURLFTP_CREATE_DIR 7.19.4 +CURLFTP_CREATE_DIR_NONE 7.19.4 +CURLFTP_CREATE_DIR_RETRY 7.19.4 +CURLFTPAUTH_DEFAULT 7.12.2 +CURLFTPAUTH_SSL 7.12.2 +CURLFTPAUTH_TLS 7.12.2 +CURLFTPMETHOD_DEFAULT 7.15.3 +CURLFTPMETHOD_MULTICWD 7.15.3 +CURLFTPMETHOD_NOCWD 7.15.3 +CURLFTPMETHOD_SINGLECWD 7.15.3 +CURLFTPSSL_ALL 7.11.0 7.17.0 +CURLFTPSSL_CCC_ACTIVE 7.16.2 +CURLFTPSSL_CCC_NONE 7.16.2 +CURLFTPSSL_CCC_PASSIVE 7.16.1 +CURLFTPSSL_CONTROL 7.11.0 7.17.0 +CURLFTPSSL_NONE 7.11.0 7.17.0 +CURLFTPSSL_TRY 7.11.0 7.17.0 +CURLGSSAPI_DELEGATION_FLAG 7.22.0 +CURLGSSAPI_DELEGATION_NONE 7.22.0 +CURLGSSAPI_DELEGATION_POLICY_FLAG 7.22.0 +CURLH_1XX 7.83.0 +CURLH_CONNECT 7.83.0 +CURLH_HEADER 7.83.0 +CURLH_PSEUDO 7.83.0 +CURLH_TRAILER 7.83.0 +CURLHE_BAD_ARGUMENT 7.83.0 +CURLHE_BADINDEX 7.83.0 +CURLHE_MISSING 7.83.0 +CURLHE_NOHEADERS 7.83.0 +CURLHE_NOREQUEST 7.83.0 +CURLHE_NOT_BUILT_IN 7.83.0 +CURLHE_OK 7.83.0 +CURLHE_OUT_OF_MEMORY 7.83.0 +CURLHEADER_SEPARATE 7.37.0 +CURLHEADER_UNIFIED 7.37.0 +CURLHSTS_ENABLE 7.74.0 +CURLHSTS_READONLYFILE 7.74.0 +CURLINFO_ACTIVESOCKET 7.45.0 +CURLINFO_APPCONNECT_TIME 7.19.0 +CURLINFO_APPCONNECT_TIME_T 7.61.0 +CURLINFO_CAINFO 7.84.0 +CURLINFO_CAPATH 7.84.0 +CURLINFO_CERTINFO 7.19.1 +CURLINFO_CONDITION_UNMET 7.19.4 +CURLINFO_CONN_ID 8.2.0 +CURLINFO_CONNECT_TIME 7.4.1 +CURLINFO_CONNECT_TIME_T 7.61.0 +CURLINFO_CONTENT_LENGTH_DOWNLOAD 7.6.1 7.55.0 +CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 7.55.0 +CURLINFO_CONTENT_LENGTH_UPLOAD 7.6.1 7.55.0 +CURLINFO_CONTENT_LENGTH_UPLOAD_T 7.55.0 +CURLINFO_CONTENT_TYPE 7.9.4 +CURLINFO_COOKIELIST 7.14.1 +CURLINFO_DATA_IN 7.9.6 +CURLINFO_DATA_OUT 7.9.6 +CURLINFO_DOUBLE 7.4.1 +CURLINFO_EARLYDATA_SENT_T 8.11.0 +CURLINFO_EFFECTIVE_METHOD 7.72.0 +CURLINFO_EFFECTIVE_URL 7.4 +CURLINFO_END 7.9.6 +CURLINFO_FILETIME 7.5 +CURLINFO_FILETIME_T 7.59.0 +CURLINFO_FTP_ENTRY_PATH 7.15.4 +CURLINFO_HEADER_IN 7.9.6 +CURLINFO_HEADER_OUT 7.9.6 +CURLINFO_HEADER_SIZE 7.4.1 +CURLINFO_HTTP_CODE 7.4.1 7.10.8 +CURLINFO_HTTP_CONNECTCODE 7.10.7 +CURLINFO_HTTP_VERSION 7.50.0 +CURLINFO_HTTPAUTH_AVAIL 7.10.8 +CURLINFO_HTTPAUTH_USED 8.12.0 +CURLINFO_LASTONE 7.4.1 +CURLINFO_LASTSOCKET 7.15.2 7.45.0 +CURLINFO_LOCAL_IP 7.21.0 +CURLINFO_LOCAL_PORT 7.21.0 +CURLINFO_LONG 7.4.1 +CURLINFO_MASK 7.4.1 +CURLINFO_NAMELOOKUP_TIME 7.4.1 +CURLINFO_NAMELOOKUP_TIME_T 7.61.0 +CURLINFO_NONE 7.4.1 +CURLINFO_NUM_CONNECTS 7.12.3 +CURLINFO_OFF_T 7.55.0 +CURLINFO_OS_ERRNO 7.12.2 +CURLINFO_PRETRANSFER_TIME 7.4.1 +CURLINFO_PRETRANSFER_TIME_T 7.61.0 +CURLINFO_POSTTRANSFER_TIME_T 8.10.0 +CURLINFO_PRIMARY_IP 7.19.0 +CURLINFO_PRIMARY_PORT 7.21.0 +CURLINFO_PRIVATE 7.10.3 +CURLINFO_PROTOCOL 7.52.0 7.85.0 +CURLINFO_PROXY_ERROR 7.73.0 +CURLINFO_PROXY_SSL_VERIFYRESULT 7.52.0 +CURLINFO_PROXYAUTH_AVAIL 7.10.8 +CURLINFO_PROXYAUTH_USED 8.12.0 +CURLINFO_PTR 7.54.1 +CURLINFO_QUEUE_TIME_T 8.6.0 +CURLINFO_REDIRECT_COUNT 7.9.7 +CURLINFO_REDIRECT_TIME 7.9.7 +CURLINFO_REDIRECT_TIME_T 7.61.0 +CURLINFO_REDIRECT_URL 7.18.2 +CURLINFO_REFERER 7.76.0 +CURLINFO_REQUEST_SIZE 7.4.1 +CURLINFO_RESPONSE_CODE 7.10.8 +CURLINFO_RETRY_AFTER 7.66.0 +CURLINFO_RTSP_CLIENT_CSEQ 7.20.0 +CURLINFO_RTSP_CSEQ_RECV 7.20.0 +CURLINFO_RTSP_SERVER_CSEQ 7.20.0 +CURLINFO_RTSP_SESSION_ID 7.20.0 +CURLINFO_SCHEME 7.52.0 +CURLINFO_SIZE_DOWNLOAD 7.4.1 7.55.0 +CURLINFO_SIZE_DOWNLOAD_T 7.55.0 +CURLINFO_SIZE_UPLOAD 7.4.1 7.55.0 +CURLINFO_SIZE_UPLOAD_T 7.55.0 +CURLINFO_SLIST 7.12.3 +CURLINFO_SOCKET 7.45.0 +CURLINFO_SPEED_DOWNLOAD 7.4.1 7.55.0 +CURLINFO_SPEED_DOWNLOAD_T 7.55.0 +CURLINFO_SPEED_UPLOAD 7.4.1 7.55.0 +CURLINFO_SPEED_UPLOAD_T 7.55.0 +CURLINFO_SSL_DATA_IN 7.12.1 +CURLINFO_SSL_DATA_OUT 7.12.1 +CURLINFO_SSL_ENGINES 7.12.3 +CURLINFO_SSL_VERIFYRESULT 7.5 +CURLINFO_STARTTRANSFER_TIME 7.9.2 +CURLINFO_STARTTRANSFER_TIME_T 7.61.0 +CURLINFO_STRING 7.4.1 +CURLINFO_TEXT 7.9.6 +CURLINFO_TLS_SESSION 7.34.0 7.48.0 +CURLINFO_TLS_SSL_PTR 7.48.0 +CURLINFO_TOTAL_TIME 7.4.1 +CURLINFO_TOTAL_TIME_T 7.61.0 +CURLINFO_TYPEMASK 7.4.1 +CURLINFO_USED_PROXY 8.7.0 +CURLINFO_XFER_ID 8.2.0 +CURLIOCMD_NOP 7.12.3 +CURLIOCMD_RESTARTREAD 7.12.3 +CURLIOE_FAILRESTART 7.12.3 +CURLIOE_OK 7.12.3 +CURLIOE_UNKNOWNCMD 7.12.3 +CURLKHMATCH_MISMATCH 7.19.6 +CURLKHMATCH_MISSING 7.19.6 +CURLKHMATCH_OK 7.19.6 +CURLKHSTAT_DEFER 7.19.6 +CURLKHSTAT_FINE 7.19.6 +CURLKHSTAT_FINE_ADD_TO_FILE 7.19.6 +CURLKHSTAT_FINE_REPLACE 7.73.0 +CURLKHSTAT_REJECT 7.19.6 +CURLKHTYPE_DSS 7.19.6 +CURLKHTYPE_ECDSA 7.58.0 +CURLKHTYPE_ED25519 7.58.0 +CURLKHTYPE_RSA 7.19.6 +CURLKHTYPE_RSA1 7.19.6 +CURLKHTYPE_UNKNOWN 7.19.6 +CURLM_ABORTED_BY_CALLBACK 7.81.0 +CURLM_ADDED_ALREADY 7.33.0 +CURLM_BAD_EASY_HANDLE 7.9.6 +CURLM_BAD_FUNCTION_ARGUMENT 7.69.0 +CURLM_BAD_HANDLE 7.9.6 +CURLM_BAD_SOCKET 7.15.4 +CURLM_CALL_MULTI_PERFORM 7.9.6 +CURLM_CALL_MULTI_SOCKET 7.15.5 +CURLM_INTERNAL_ERROR 7.9.6 +CURLM_OK 7.9.6 +CURLM_OUT_OF_MEMORY 7.9.6 +CURLM_RECURSIVE_API_CALL 7.59.0 +CURLM_UNKNOWN_OPTION 7.15.4 +CURLM_UNRECOVERABLE_POLL 7.84.0 +CURLM_WAKEUP_FAILURE 7.68.0 +CURLMIMEOPT_FORMESCAPE 7.81.0 +CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 7.30.0 +CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 7.30.0 +CURLMOPT_MAX_CONCURRENT_STREAMS 7.67.0 +CURLMOPT_MAX_HOST_CONNECTIONS 7.30.0 +CURLMOPT_MAX_PIPELINE_LENGTH 7.30.0 +CURLMOPT_MAX_TOTAL_CONNECTIONS 7.30.0 +CURLMOPT_MAXCONNECTS 7.16.3 +CURLMOPT_PIPELINING 7.16.0 +CURLMOPT_PIPELINING_SERVER_BL 7.30.0 +CURLMOPT_PIPELINING_SITE_BL 7.30.0 +CURLMOPT_PUSHDATA 7.44.0 +CURLMOPT_PUSHFUNCTION 7.44.0 +CURLMOPT_SOCKETDATA 7.15.4 +CURLMOPT_SOCKETFUNCTION 7.15.4 +CURLMOPT_TIMERDATA 7.16.0 +CURLMOPT_TIMERFUNCTION 7.16.0 +CURLMSG_DONE 7.9.6 +CURLMSG_NONE 7.9.6 +CURLOPT 7.69.0 +CURLOPT_ABSTRACT_UNIX_SOCKET 7.53.0 +CURLOPT_ACCEPT_ENCODING 7.21.6 +CURLOPT_ACCEPTTIMEOUT_MS 7.24.0 +CURLOPT_ADDRESS_SCOPE 7.19.0 +CURLOPT_ALTSVC 7.64.1 +CURLOPT_ALTSVC_CTRL 7.64.1 +CURLOPT_APPEND 7.17.0 +CURLOPT_AUTOREFERER 7.1 +CURLOPT_AWS_SIGV4 7.75.0 +CURLOPT_BUFFERSIZE 7.10 +CURLOPT_CAINFO 7.4.2 +CURLOPT_CAINFO_BLOB 7.77.0 +CURLOPT_CAPATH 7.9.8 +CURLOPT_CA_CACHE_TIMEOUT 7.87.0 +CURLOPT_CERTINFO 7.19.1 +CURLOPT_CHUNK_BGN_FUNCTION 7.21.0 +CURLOPT_CHUNK_DATA 7.21.0 +CURLOPT_CHUNK_END_FUNCTION 7.21.0 +CURLOPT_CLOSEFUNCTION 7.7 7.11.1 7.15.5 +CURLOPT_CLOSEPOLICY 7.7 7.16.1 +CURLOPT_CLOSESOCKETDATA 7.21.7 +CURLOPT_CLOSESOCKETFUNCTION 7.21.7 +CURLOPT_CONNECT_ONLY 7.15.2 +CURLOPT_CONNECT_TO 7.49.0 +CURLOPT_CONNECTTIMEOUT 7.7 +CURLOPT_CONNECTTIMEOUT_MS 7.16.2 +CURLOPT_CONV_FROM_NETWORK_FUNCTION 7.15.4 7.82.0 +CURLOPT_CONV_FROM_UTF8_FUNCTION 7.15.4 7.82.0 +CURLOPT_CONV_TO_NETWORK_FUNCTION 7.15.4 7.82.0 +CURLOPT_COOKIE 7.1 +CURLOPT_COOKIEFILE 7.1 +CURLOPT_COOKIEJAR 7.9 +CURLOPT_COOKIELIST 7.14.1 +CURLOPT_COOKIESESSION 7.9.7 +CURLOPT_COPYPOSTFIELDS 7.17.1 +CURLOPT_CRLF 7.1 +CURLOPT_CRLFILE 7.19.0 +CURLOPT_CURLU 7.63.0 +CURLOPT_CUSTOMREQUEST 7.1 +CURLOPT_DEBUGDATA 7.9.6 +CURLOPT_DEBUGFUNCTION 7.9.6 +CURLOPT_DEFAULT_PROTOCOL 7.45.0 +CURLOPT_DIRLISTONLY 7.17.0 +CURLOPT_DISALLOW_USERNAME_IN_URL 7.61.0 +CURLOPT_DNS_CACHE_TIMEOUT 7.9.3 +CURLOPT_DNS_INTERFACE 7.33.0 +CURLOPT_DNS_LOCAL_IP4 7.33.0 +CURLOPT_DNS_LOCAL_IP6 7.33.0 +CURLOPT_DNS_SERVERS 7.24.0 +CURLOPT_DNS_SHUFFLE_ADDRESSES 7.60.0 +CURLOPT_DNS_USE_GLOBAL_CACHE 7.9.3 7.11.1 +CURLOPT_DOH_SSL_VERIFYHOST 7.76.0 +CURLOPT_DOH_SSL_VERIFYPEER 7.76.0 +CURLOPT_DOH_SSL_VERIFYSTATUS 7.76.0 +CURLOPT_DOH_URL 7.62.0 +CURLOPT_ECH 8.8.0 +CURLOPT_EGDSOCKET 7.7 7.84.0 +CURLOPT_ENCODING 7.10 7.21.6 +CURLOPT_ERRORBUFFER 7.1 +CURLOPT_EXPECT_100_TIMEOUT_MS 7.36.0 +CURLOPT_FAILONERROR 7.1 +CURLOPT_FILE 7.1 7.9.7 +CURLOPT_FILETIME 7.5 +CURLOPT_FNMATCH_DATA 7.21.0 +CURLOPT_FNMATCH_FUNCTION 7.21.0 +CURLOPT_FOLLOWLOCATION 7.1 +CURLOPT_FORBID_REUSE 7.7 +CURLOPT_FRESH_CONNECT 7.7 +CURLOPT_FTP_ACCOUNT 7.13.0 +CURLOPT_FTP_ALTERNATIVE_TO_USER 7.15.5 +CURLOPT_FTP_CREATE_MISSING_DIRS 7.10.7 +CURLOPT_FTP_FILEMETHOD 7.15.1 +CURLOPT_FTP_RESPONSE_TIMEOUT 7.10.8 7.85.0 +CURLOPT_FTP_SKIP_PASV_IP 7.15.0 +CURLOPT_FTP_SSL 7.11.0 7.16.4 +CURLOPT_FTP_SSL_CCC 7.16.1 +CURLOPT_FTP_USE_EPRT 7.10.5 +CURLOPT_FTP_USE_EPSV 7.9.2 +CURLOPT_FTP_USE_PRET 7.20.0 +CURLOPT_FTPAPPEND 7.1 7.16.4 +CURLOPT_FTPASCII 7.1 7.11.1 7.15.5 +CURLOPT_FTPLISTONLY 7.1 7.16.4 +CURLOPT_FTPPORT 7.1 +CURLOPT_FTPSSLAUTH 7.12.2 +CURLOPT_GSSAPI_DELEGATION 7.22.0 +CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 7.59.0 +CURLOPT_HAPROXYPROTOCOL 7.60.0 +CURLOPT_HAPROXY_CLIENT_IP 8.2.0 +CURLOPT_HEADER 7.1 +CURLOPT_HEADERDATA 7.10 +CURLOPT_HEADERFUNCTION 7.7.2 +CURLOPT_HEADEROPT 7.37.0 +CURLOPT_HSTS 7.74.0 +CURLOPT_HSTS_CTRL 7.74.0 +CURLOPT_HSTSREADDATA 7.74.0 +CURLOPT_HSTSREADFUNCTION 7.74.0 +CURLOPT_HSTSWRITEDATA 7.74.0 +CURLOPT_HSTSWRITEFUNCTION 7.74.0 +CURLOPT_HTTP09_ALLOWED 7.64.0 +CURLOPT_HTTP200ALIASES 7.10.3 +CURLOPT_HTTP_CONTENT_DECODING 7.16.2 +CURLOPT_HTTP_TRANSFER_DECODING 7.16.2 +CURLOPT_HTTP_VERSION 7.9.1 +CURLOPT_HTTPAUTH 7.10.6 +CURLOPT_HTTPGET 7.8.1 +CURLOPT_HTTPHEADER 7.1 +CURLOPT_HTTPPOST 7.1 7.56.0 +CURLOPT_HTTPPROXYTUNNEL 7.3 +CURLOPT_HTTPREQUEST 7.1 - 7.15.5 +CURLOPT_IGNORE_CONTENT_LENGTH 7.14.1 +CURLOPT_INFILE 7.1 7.9.7 +CURLOPT_INFILESIZE 7.1 +CURLOPT_INFILESIZE_LARGE 7.11.0 +CURLOPT_INTERFACE 7.3 +CURLOPT_INTERLEAVEDATA 7.20.0 +CURLOPT_INTERLEAVEFUNCTION 7.20.0 +CURLOPT_IOCTLDATA 7.12.3 7.18.0 +CURLOPT_IOCTLFUNCTION 7.12.3 7.18.0 +CURLOPT_IPRESOLVE 7.10.8 +CURLOPT_ISSUERCERT 7.19.0 +CURLOPT_ISSUERCERT_BLOB 7.71.0 +CURLOPT_KEEP_SENDING_ON_ERROR 7.51.0 +CURLOPT_KEYPASSWD 7.17.0 +CURLOPT_KRB4LEVEL 7.3 7.17.0 +CURLOPT_KRBLEVEL 7.16.4 +CURLOPT_LOCALPORT 7.15.2 +CURLOPT_LOCALPORTRANGE 7.15.2 +CURLOPT_LOGIN_OPTIONS 7.34.0 +CURLOPT_LOW_SPEED_LIMIT 7.1 +CURLOPT_LOW_SPEED_TIME 7.1 +CURLOPT_MAIL_AUTH 7.25.0 +CURLOPT_MAIL_FROM 7.20.0 +CURLOPT_MAIL_RCPT 7.20.0 +CURLOPT_MAIL_RCPT_ALLLOWFAILS 7.69.0 8.2.0 +CURLOPT_MAIL_RCPT_ALLOWFAILS 8.2.0 +CURLOPT_QUICK_EXIT 7.87.0 +CURLOPT_MAX_RECV_SPEED_LARGE 7.15.5 +CURLOPT_MAX_SEND_SPEED_LARGE 7.15.5 +CURLOPT_MAXAGE_CONN 7.65.0 +CURLOPT_MAXCONNECTS 7.7 +CURLOPT_MAXFILESIZE 7.10.8 +CURLOPT_MAXFILESIZE_LARGE 7.11.0 +CURLOPT_MAXLIFETIME_CONN 7.80.0 +CURLOPT_MAXREDIRS 7.5 +CURLOPT_MIME_OPTIONS 7.81.0 +CURLOPT_MIMEPOST 7.56.0 +CURLOPT_MUTE 7.1 7.8 7.15.5 +CURLOPT_NETRC 7.1 +CURLOPT_NETRC_FILE 7.11.0 +CURLOPT_NEW_DIRECTORY_PERMS 7.16.4 +CURLOPT_NEW_FILE_PERMS 7.16.4 +CURLOPT_NOBODY 7.1 +CURLOPT_NOPROGRESS 7.1 +CURLOPT_NOPROXY 7.19.4 +CURLOPT_NOSIGNAL 7.10 +CURLOPT_NOTHING 7.1.1 7.11.1 7.11.0 +CURLOPT_OPENSOCKETDATA 7.17.1 +CURLOPT_OPENSOCKETFUNCTION 7.17.1 +CURLOPT_PASSWDDATA 7.4.2 7.11.1 7.15.5 +CURLOPT_PASSWDFUNCTION 7.4.2 7.11.1 7.15.5 +CURLOPT_PASSWORD 7.19.1 +CURLOPT_PASV_HOST 7.12.1 7.16.0 7.15.5 +CURLOPT_PATH_AS_IS 7.42.0 +CURLOPT_PINNEDPUBLICKEY 7.39.0 +CURLOPT_PIPEWAIT 7.43.0 +CURLOPT_PORT 7.1 +CURLOPT_POST 7.1 +CURLOPT_POST301 7.17.1 7.19.1 +CURLOPT_POSTFIELDS 7.1 +CURLOPT_POSTFIELDSIZE 7.2 +CURLOPT_POSTFIELDSIZE_LARGE 7.11.1 +CURLOPT_POSTQUOTE 7.1 +CURLOPT_POSTREDIR 7.19.1 +CURLOPT_PRE_PROXY 7.52.0 +CURLOPT_PREQUOTE 7.9.5 +CURLOPT_PREREQDATA 7.80.0 +CURLOPT_PREREQFUNCTION 7.80.0 +CURLOPT_PRIVATE 7.10.3 +CURLOPT_PROGRESSDATA 7.1 +CURLOPT_PROGRESSFUNCTION 7.1 7.32.0 +CURLOPT_PROTOCOLS 7.19.4 7.85.0 +CURLOPT_PROTOCOLS_STR 7.85.0 +CURLOPT_PROXY 7.1 +CURLOPT_PROXY_CAINFO 7.52.0 +CURLOPT_PROXY_CAINFO_BLOB 7.77.0 +CURLOPT_PROXY_CAPATH 7.52.0 +CURLOPT_PROXY_CRLFILE 7.52.0 +CURLOPT_PROXY_ISSUERCERT 7.71.0 +CURLOPT_PROXY_ISSUERCERT_BLOB 7.71.0 +CURLOPT_PROXY_KEYPASSWD 7.52.0 +CURLOPT_PROXY_PINNEDPUBLICKEY 7.52.0 +CURLOPT_PROXY_SERVICE_NAME 7.43.0 +CURLOPT_PROXY_SSL_CIPHER_LIST 7.52.0 +CURLOPT_PROXY_SSL_OPTIONS 7.52.0 +CURLOPT_PROXY_SSL_VERIFYHOST 7.52.0 +CURLOPT_PROXY_SSL_VERIFYPEER 7.52.0 +CURLOPT_PROXY_SSLCERT 7.52.0 +CURLOPT_PROXY_SSLCERT_BLOB 7.71.0 +CURLOPT_PROXY_SSLCERTTYPE 7.52.0 +CURLOPT_PROXY_SSLKEY 7.52.0 +CURLOPT_PROXY_SSLKEY_BLOB 7.71.0 +CURLOPT_PROXY_SSLKEYTYPE 7.52.0 +CURLOPT_PROXY_SSLVERSION 7.52.0 +CURLOPT_PROXY_TLS13_CIPHERS 7.61.0 +CURLOPT_PROXY_TLSAUTH_PASSWORD 7.52.0 +CURLOPT_PROXY_TLSAUTH_TYPE 7.52.0 +CURLOPT_PROXY_TLSAUTH_USERNAME 7.52.0 +CURLOPT_PROXY_TRANSFER_MODE 7.18.0 +CURLOPT_PROXYAUTH 7.10.7 +CURLOPT_PROXYHEADER 7.37.0 +CURLOPT_PROXYPASSWORD 7.19.1 +CURLOPT_PROXYPORT 7.1 +CURLOPT_PROXYTYPE 7.10 +CURLOPT_PROXYUSERNAME 7.19.1 +CURLOPT_PROXYUSERPWD 7.1 +CURLOPT_PUT 7.1 7.12.1 +CURLOPT_QUOTE 7.1 +CURLOPT_RANDOM_FILE 7.7 7.84.0 +CURLOPT_RANGE 7.1 +CURLOPT_READDATA 7.9.7 +CURLOPT_READFUNCTION 7.1 +CURLOPT_REDIR_PROTOCOLS 7.19.4 7.85.0 +CURLOPT_REDIR_PROTOCOLS_STR 7.85.0 +CURLOPT_REFERER 7.1 +CURLOPT_REQUEST_TARGET 7.55.0 +CURLOPT_RESOLVE 7.21.3 +CURLOPT_RESOLVER_START_DATA 7.59.0 +CURLOPT_RESOLVER_START_FUNCTION 7.59.0 +CURLOPT_RESUME_FROM 7.1 +CURLOPT_RESUME_FROM_LARGE 7.11.0 +CURLOPT_RTSP_CLIENT_CSEQ 7.20.0 +CURLOPT_RTSP_REQUEST 7.20.0 +CURLOPT_RTSP_SERVER_CSEQ 7.20.0 +CURLOPT_RTSP_SESSION_ID 7.20.0 +CURLOPT_RTSP_STREAM_URI 7.20.0 +CURLOPT_RTSP_TRANSPORT 7.20.0 +CURLOPT_RTSPHEADER 7.20.0 +CURLOPT_SASL_AUTHZID 7.66.0 +CURLOPT_SASL_IR 7.31.0 +CURLOPT_SEEKDATA 7.18.0 +CURLOPT_SEEKFUNCTION 7.18.0 +CURLOPT_SERVER_RESPONSE_TIMEOUT 7.20.0 +CURLOPT_SERVER_RESPONSE_TIMEOUT_MS 8.6.0 +CURLOPT_SERVICE_NAME 7.43.0 +CURLOPT_SHARE 7.10 +CURLOPT_SOCKOPTDATA 7.16.0 +CURLOPT_SOCKOPTFUNCTION 7.16.0 +CURLOPT_SOCKS5_AUTH 7.55.0 +CURLOPT_SOCKS5_GSSAPI_NEC 7.19.4 +CURLOPT_SOCKS5_GSSAPI_SERVICE 7.19.4 7.49.0 +CURLOPT_SOURCE_HOST 7.12.1 - 7.15.5 +CURLOPT_SOURCE_PATH 7.12.1 - 7.15.5 +CURLOPT_SOURCE_PORT 7.12.1 - 7.15.5 +CURLOPT_SOURCE_POSTQUOTE 7.12.1 - 7.15.5 +CURLOPT_SOURCE_PREQUOTE 7.12.1 - 7.15.5 +CURLOPT_SOURCE_QUOTE 7.13.0 - 7.15.5 +CURLOPT_SOURCE_URL 7.13.0 - 7.15.5 +CURLOPT_SOURCE_USERPWD 7.12.1 - 7.15.5 +CURLOPT_SSH_AUTH_TYPES 7.16.1 +CURLOPT_SSH_COMPRESSION 7.56.0 +CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 7.17.1 +CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 7.80.0 +CURLOPT_SSH_HOSTKEYDATA 7.84.0 +CURLOPT_SSH_HOSTKEYFUNCTION 7.84.0 +CURLOPT_SSH_KEYDATA 7.19.6 +CURLOPT_SSH_KEYFUNCTION 7.19.6 +CURLOPT_SSH_KNOWNHOSTS 7.19.6 +CURLOPT_SSH_PRIVATE_KEYFILE 7.16.1 +CURLOPT_SSH_PUBLIC_KEYFILE 7.16.1 +CURLOPT_SSL_CIPHER_LIST 7.9 +CURLOPT_SSL_CTX_DATA 7.10.6 +CURLOPT_SSL_CTX_FUNCTION 7.10.6 +CURLOPT_SSL_EC_CURVES 7.73.0 +CURLOPT_SSL_ENABLE_ALPN 7.36.0 +CURLOPT_SSL_ENABLE_NPN 7.36.0 7.86.0 +CURLOPT_SSL_FALSESTART 7.42.0 +CURLOPT_SSL_OPTIONS 7.25.0 +CURLOPT_SSL_SESSIONID_CACHE 7.16.0 +CURLOPT_SSL_SIGNATURE_ALGORITHMS 8.14.0 +CURLOPT_SSL_VERIFYHOST 7.8.1 +CURLOPT_SSL_VERIFYPEER 7.4.2 +CURLOPT_SSL_VERIFYSTATUS 7.41.0 +CURLOPT_SSLCERT 7.1 +CURLOPT_SSLCERT_BLOB 7.71.0 +CURLOPT_SSLCERTPASSWD 7.1.1 7.17.0 +CURLOPT_SSLCERTTYPE 7.9.3 +CURLOPT_SSLENGINE 7.9.3 +CURLOPT_SSLENGINE_DEFAULT 7.9.3 +CURLOPT_SSLKEY 7.9.3 +CURLOPT_SSLKEY_BLOB 7.71.0 +CURLOPT_SSLKEYPASSWD 7.9.3 7.17.0 +CURLOPT_SSLKEYTYPE 7.9.3 +CURLOPT_SSLVERSION 7.1 +CURLOPT_STDERR 7.1 +CURLOPT_STREAM_DEPENDS 7.46.0 +CURLOPT_STREAM_DEPENDS_E 7.46.0 +CURLOPT_STREAM_WEIGHT 7.46.0 +CURLOPT_SUPPRESS_CONNECT_HEADERS 7.54.0 +CURLOPT_TCP_FASTOPEN 7.49.0 +CURLOPT_TCP_KEEPALIVE 7.25.0 +CURLOPT_TCP_KEEPIDLE 7.25.0 +CURLOPT_TCP_KEEPINTVL 7.25.0 +CURLOPT_TCP_KEEPCNT 8.9.0 +CURLOPT_TCP_NODELAY 7.11.2 +CURLOPT_TELNETOPTIONS 7.7 +CURLOPT_TFTP_BLKSIZE 7.19.4 +CURLOPT_TFTP_NO_OPTIONS 7.48.0 +CURLOPT_TIMECONDITION 7.1 +CURLOPT_TIMEOUT 7.1 +CURLOPT_TIMEOUT_MS 7.16.2 +CURLOPT_TIMEVALUE 7.1 +CURLOPT_TIMEVALUE_LARGE 7.59.0 +CURLOPT_TLS13_CIPHERS 7.61.0 +CURLOPT_TLSAUTH_PASSWORD 7.21.4 +CURLOPT_TLSAUTH_TYPE 7.21.4 +CURLOPT_TLSAUTH_USERNAME 7.21.4 +CURLOPT_TRAILERDATA 7.64.0 +CURLOPT_TRAILERFUNCTION 7.64.0 +CURLOPT_TRANSFER_ENCODING 7.21.6 +CURLOPT_TRANSFERTEXT 7.1.1 +CURLOPT_UNIX_SOCKET_PATH 7.40.0 +CURLOPT_UNRESTRICTED_AUTH 7.10.4 +CURLOPT_UPKEEP_INTERVAL_MS 7.62.0 +CURLOPT_UPLOAD 7.1 +CURLOPT_UPLOAD_BUFFERSIZE 7.62.0 +CURLOPT_UPLOAD_FLAGS 8.13.0 +CURLOPT_URL 7.1 +CURLOPT_USE_SSL 7.17.0 +CURLOPT_USERAGENT 7.1 +CURLOPT_USERNAME 7.19.1 +CURLOPT_USERPWD 7.1 +CURLOPT_VERBOSE 7.1 +CURLOPT_WILDCARDMATCH 7.21.0 +CURLOPT_WRITEDATA 7.9.7 +CURLOPT_WRITEFUNCTION 7.1 +CURLOPT_WRITEHEADER 7.1 +CURLOPT_WRITEINFO 7.1 +CURLOPT_WS_OPTIONS 7.86.0 +CURLOPT_XFERINFODATA 7.32.0 +CURLOPT_XFERINFOFUNCTION 7.32.0 +CURLOPT_XOAUTH2_BEARER 7.33.0 +CURLOPTDEPRECATED 7.87.0 +CURLOPTTYPE_BLOB 7.71.0 +CURLOPTTYPE_CBPOINT 7.73.0 +CURLOPTTYPE_FUNCTIONPOINT 7.1 +CURLOPTTYPE_LONG 7.1 +CURLOPTTYPE_OBJECTPOINT 7.1 +CURLOPTTYPE_OFF_T 7.11.0 +CURLOPTTYPE_SLISTPOINT 7.65.2 +CURLOPTTYPE_STRINGPOINT 7.46.0 +CURLOPTTYPE_VALUES 7.73.0 +CURLOT_BLOB 7.73.0 +CURLOT_CBPTR 7.73.0 +CURLOT_FLAG_ALIAS 7.73.0 +CURLOT_FUNCTION 7.73.0 +CURLOT_LONG 7.73.0 +CURLOT_OBJECT 7.73.0 +CURLOT_OFF_T 7.73.0 +CURLOT_SLIST 7.73.0 +CURLOT_STRING 7.73.0 +CURLOT_VALUES 7.73.0 +CURLPAUSE_ALL 7.18.0 +CURLPAUSE_CONT 7.18.0 +CURLPAUSE_RECV 7.18.0 +CURLPAUSE_RECV_CONT 7.18.0 +CURLPAUSE_SEND 7.18.0 +CURLPAUSE_SEND_CONT 7.18.0 +CURLPIPE_HTTP1 7.43.0 +CURLPIPE_MULTIPLEX 7.43.0 +CURLPIPE_NOTHING 7.43.0 +CURLPROTO_ALL 7.19.4 +CURLPROTO_DICT 7.19.4 +CURLPROTO_FILE 7.19.4 +CURLPROTO_FTP 7.19.4 +CURLPROTO_FTPS 7.19.4 +CURLPROTO_GOPHER 7.21.2 +CURLPROTO_GOPHERS 7.75.0 +CURLPROTO_HTTP 7.19.4 +CURLPROTO_HTTPS 7.19.4 +CURLPROTO_IMAP 7.20.0 +CURLPROTO_IMAPS 7.20.0 +CURLPROTO_LDAP 7.19.4 +CURLPROTO_LDAPS 7.19.4 +CURLPROTO_MQTT 7.71.0 +CURLPROTO_POP3 7.20.0 +CURLPROTO_POP3S 7.20.0 +CURLPROTO_RTMP 7.21.0 +CURLPROTO_RTMPE 7.21.0 +CURLPROTO_RTMPS 7.21.0 +CURLPROTO_RTMPT 7.21.0 +CURLPROTO_RTMPTE 7.21.0 +CURLPROTO_RTMPTS 7.21.0 +CURLPROTO_RTSP 7.20.0 +CURLPROTO_SCP 7.19.4 +CURLPROTO_SFTP 7.19.4 +CURLPROTO_SMB 7.40.0 +CURLPROTO_SMBS 7.40.0 +CURLPROTO_SMTP 7.20.0 +CURLPROTO_SMTPS 7.20.0 +CURLPROTO_TELNET 7.19.4 +CURLPROTO_TFTP 7.19.4 +CURLPROXY_HTTP 7.10 +CURLPROXY_HTTP_1_0 7.19.4 +CURLPROXY_HTTPS 7.52.0 +CURLPROXY_HTTPS2 8.1.0 +CURLPROXY_SOCKS4 7.10 +CURLPROXY_SOCKS4A 7.18.0 +CURLPROXY_SOCKS5 7.10 +CURLPROXY_SOCKS5_HOSTNAME 7.18.0 +CURLPX_BAD_ADDRESS_TYPE 7.73.0 +CURLPX_BAD_VERSION 7.73.0 +CURLPX_CLOSED 7.73.0 +CURLPX_GSSAPI 7.73.0 +CURLPX_GSSAPI_PERMSG 7.73.0 +CURLPX_GSSAPI_PROTECTION 7.73.0 +CURLPX_IDENTD 7.73.0 +CURLPX_IDENTD_DIFFER 7.73.0 +CURLPX_LONG_HOSTNAME 7.73.0 +CURLPX_LONG_PASSWD 7.73.0 +CURLPX_LONG_USER 7.73.0 +CURLPX_NO_AUTH 7.73.0 +CURLPX_OK 7.73.0 +CURLPX_RECV_ADDRESS 7.73.0 +CURLPX_RECV_AUTH 7.73.0 +CURLPX_RECV_CONNECT 7.73.0 +CURLPX_RECV_REQACK 7.73.0 +CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED 7.73.0 +CURLPX_REPLY_COMMAND_NOT_SUPPORTED 7.73.0 +CURLPX_REPLY_CONNECTION_REFUSED 7.73.0 +CURLPX_REPLY_GENERAL_SERVER_FAILURE 7.73.0 +CURLPX_REPLY_HOST_UNREACHABLE 7.73.0 +CURLPX_REPLY_NETWORK_UNREACHABLE 7.73.0 +CURLPX_REPLY_NOT_ALLOWED 7.73.0 +CURLPX_REPLY_TTL_EXPIRED 7.73.0 +CURLPX_REPLY_UNASSIGNED 7.73.0 +CURLPX_REQUEST_FAILED 7.73.0 +CURLPX_RESOLVE_HOST 7.73.0 +CURLPX_SEND_AUTH 7.73.0 +CURLPX_SEND_CONNECT 7.73.0 +CURLPX_SEND_REQUEST 7.73.0 +CURLPX_UNKNOWN_FAIL 7.73.0 +CURLPX_UNKNOWN_MODE 7.73.0 +CURLPX_USER_REJECTED 7.73.0 +CURLSHE_BAD_OPTION 7.10.3 +CURLSHE_IN_USE 7.10.3 +CURLSHE_INVALID 7.10.3 +CURLSHE_NOMEM 7.12.0 +CURLSHE_NOT_BUILT_IN 7.23.0 +CURLSHE_OK 7.10.3 +CURLSHOPT_LOCKFUNC 7.10.3 +CURLSHOPT_NONE 7.10.3 +CURLSHOPT_SHARE 7.10.3 +CURLSHOPT_UNLOCKFUNC 7.10.3 +CURLSHOPT_UNSHARE 7.10.3 +CURLSHOPT_USERDATA 7.10.3 +CURLSOCKTYPE_ACCEPT 7.28.0 +CURLSOCKTYPE_IPCXN 7.16.0 +CURLSSH_AUTH_AGENT 7.28.0 +CURLSSH_AUTH_ANY 7.16.1 +CURLSSH_AUTH_DEFAULT 7.16.1 +CURLSSH_AUTH_GSSAPI 7.58.0 +CURLSSH_AUTH_HOST 7.16.1 +CURLSSH_AUTH_KEYBOARD 7.16.1 +CURLSSH_AUTH_NONE 7.16.1 +CURLSSH_AUTH_PASSWORD 7.16.1 +CURLSSH_AUTH_PUBLICKEY 7.16.1 +CURLSSLBACKEND_AWSLC 8.1.0 +CURLSSLBACKEND_AXTLS 7.38.0 7.61.0 +CURLSSLBACKEND_BEARSSL 7.68.0 +CURLSSLBACKEND_BORINGSSL 7.49.0 +CURLSSLBACKEND_CYASSL 7.34.0 +CURLSSLBACKEND_DARWINSSL 7.34.0 7.64.1 +CURLSSLBACKEND_GNUTLS 7.34.0 +CURLSSLBACKEND_GSKIT 7.34.0 +CURLSSLBACKEND_LIBRESSL 7.49.0 +CURLSSLBACKEND_MBEDTLS 7.46.0 +CURLSSLBACKEND_MESALINK 7.62.0 +CURLSSLBACKEND_NONE 7.34.0 +CURLSSLBACKEND_NSS 7.34.0 +CURLSSLBACKEND_OPENSSL 7.34.0 +CURLSSLBACKEND_POLARSSL 7.34.0 7.69.0 +CURLSSLBACKEND_QSOSSL 7.34.0 - 7.38.0 +CURLSSLBACKEND_RUSTLS 7.76.0 +CURLSSLBACKEND_SCHANNEL 7.34.0 +CURLSSLBACKEND_SECURETRANSPORT 7.64.1 +CURLSSLBACKEND_WOLFSSL 7.49.0 +CURLSSLOPT_ALLOW_BEAST 7.25.0 +CURLSSLOPT_AUTO_CLIENT_CERT 7.77.0 +CURLSSLOPT_NATIVE_CA 7.71.0 +CURLSSLOPT_NO_PARTIALCHAIN 7.68.0 +CURLSSLOPT_NO_REVOKE 7.44.0 +CURLSSLOPT_REVOKE_BEST_EFFORT 7.70.0 +CURLSSLOPT_EARLYDATA 8.11.0 +CURLSSLSET_NO_BACKENDS 7.56.0 +CURLSSLSET_OK 7.56.0 +CURLSSLSET_TOO_LATE 7.56.0 +CURLSSLSET_UNKNOWN_BACKEND 7.56.0 +CURLSTS_DONE 7.74.0 +CURLSTS_FAIL 7.74.0 +CURLSTS_OK 7.74.0 +CURLU_ALLOW_SPACE 7.78.0 +CURLU_APPENDQUERY 7.62.0 +CURLU_DEFAULT_PORT 7.62.0 +CURLU_DEFAULT_SCHEME 7.62.0 +CURLU_DISALLOW_USER 7.62.0 +CURLU_GET_EMPTY 8.8.0 +CURLU_GUESS_SCHEME 7.62.0 +CURLU_NO_AUTHORITY 7.67.0 +CURLU_NO_DEFAULT_PORT 7.62.0 +CURLU_NO_GUESS_SCHEME 8.9.0 +CURLU_NON_SUPPORT_SCHEME 7.62.0 +CURLU_PATH_AS_IS 7.62.0 +CURLU_PUNY2IDN 8.3.0 +CURLU_PUNYCODE 7.88.0 +CURLU_URLDECODE 7.62.0 +CURLU_URLENCODE 7.62.0 +CURLUE_BAD_FILE_URL 7.81.0 +CURLUE_BAD_FRAGMENT 7.81.0 +CURLUE_BAD_HANDLE 7.62.0 +CURLUE_BAD_HOSTNAME 7.81.0 +CURLUE_BAD_IPV6 7.81.0 +CURLUE_BAD_LOGIN 7.81.0 +CURLUE_BAD_PARTPOINTER 7.62.0 +CURLUE_BAD_PASSWORD 7.81.0 +CURLUE_BAD_PATH 7.81.0 +CURLUE_BAD_PORT_NUMBER 7.62.0 +CURLUE_BAD_QUERY 7.81.0 +CURLUE_BAD_SCHEME 7.81.0 +CURLUE_BAD_SLASHES 7.81.0 +CURLUE_BAD_USER 7.81.0 +CURLUE_LACKS_IDN 7.88.0 +CURLUE_MALFORMED_INPUT 7.62.0 +CURLUE_NO_FRAGMENT 7.62.0 +CURLUE_NO_HOST 7.62.0 +CURLUE_NO_OPTIONS 7.62.0 +CURLUE_NO_PASSWORD 7.62.0 +CURLUE_NO_PORT 7.62.0 +CURLUE_NO_QUERY 7.62.0 +CURLUE_NO_SCHEME 7.62.0 +CURLUE_NO_USER 7.62.0 +CURLUE_NO_ZONEID 7.81.0 +CURLUE_OK 7.62.0 +CURLUE_OUT_OF_MEMORY 7.62.0 +CURLUE_TOO_LARGE 8.6.0 +CURLUE_UNKNOWN_PART 7.62.0 +CURLUE_UNSUPPORTED_SCHEME 7.62.0 +CURLUE_URLDECODE 7.62.0 +CURLUE_USER_NOT_ALLOWED 7.62.0 +CURLUPART_FRAGMENT 7.62.0 +CURLUPART_HOST 7.62.0 +CURLUPART_OPTIONS 7.62.0 +CURLUPART_PASSWORD 7.62.0 +CURLUPART_PATH 7.62.0 +CURLUPART_PORT 7.62.0 +CURLUPART_QUERY 7.62.0 +CURLUPART_SCHEME 7.62.0 +CURLUPART_URL 7.62.0 +CURLUPART_USER 7.62.0 +CURLUPART_ZONEID 7.65.0 +CURLULFLAG_ANSWERED 8.13.0 +CURLULFLAG_DELETED 8.13.0 +CURLULFLAG_DRAFT 8.13.0 +CURLULFLAG_FLAGGED 8.13.0 +CURLULFLAG_SEEN 8.13.0 +CURLUSESSL_ALL 7.17.0 +CURLUSESSL_CONTROL 7.17.0 +CURLUSESSL_NONE 7.17.0 +CURLUSESSL_TRY 7.17.0 +CURLVERSION_EIGHTH 7.72.0 +CURLVERSION_ELEVENTH 7.87.0 +CURLVERSION_FIFTH 7.57.0 +CURLVERSION_FIRST 7.10 +CURLVERSION_FOURTH 7.16.1 +CURLVERSION_NINTH 7.75.0 +CURLVERSION_NOW 7.10 +CURLVERSION_SECOND 7.11.1 +CURLVERSION_SEVENTH 7.70.0 +CURLVERSION_SIXTH 7.66.0 +CURLVERSION_TENTH 7.77.0 +CURLVERSION_THIRD 7.12.0 +CURLVERSION_TWELFTH 8.8.0 +CURLWARNING 7.66.0 +CURLWS_BINARY 7.86.0 +CURLWS_CLOSE 7.86.0 +CURLWS_CONT 7.86.0 +CURLWS_NOAUTOPONG 8.14.0 +CURLWS_OFFSET 7.86.0 +CURLWS_PING 7.86.0 +CURLWS_PONG 7.86.0 +CURLWS_RAW_MODE 7.86.0 +CURLWS_TEXT 7.86.0 +LIBCURL_COPYRIGHT 7.18.0 +LIBCURL_TIMESTAMP 7.16.2 +LIBCURL_VERSION 7.1.1 +LIBCURL_VERSION_MAJOR 7.11.0 +LIBCURL_VERSION_MINOR 7.11.0 +LIBCURL_VERSION_NUM 7.1.1 +LIBCURL_VERSION_PATCH 7.11.0 diff --git a/curl/docs/mk-ca-bundle.md b/curl/docs/mk-ca-bundle.md new file mode 100644 index 0000000..fe68635 --- /dev/null +++ b/curl/docs/mk-ca-bundle.md @@ -0,0 +1,127 @@ +--- +c: Copyright (C) Daniel Stenberg, , et al. +SPDX-License-Identifier: curl +Title: mk-ca-bundle +Section: 1 +Source: mk-ca-bundle +See-also: + - curl (1) +Added-in: n/a +--- + +# NAME + +mk-ca-bundle - convert Mozilla's certificate bundle to PEM format + +# SYNOPSIS + +mk-ca-bundle [options] [output] + +# DESCRIPTION + +This tool downloads the *certdata.txt* file from Mozilla's source tree over +HTTPS, then parses it and extracts the included certificates into PEM format. +By default, only CA root certificates trusted to issue SSL server +authentication certificates are extracted. These are then processed with the +OpenSSL command line tool to produce the final ca-bundle output file. + +The default *output* name is **ca-bundle.crt**. By setting it to '-' (a single +dash) you get the output sent to STDOUT instead of a file. + +The PEM format this scripts uses for output makes the result readily available +for use by just about all OpenSSL or GnuTLS powered applications, such as curl +and others. + +# OPTIONS + +The following options are supported: + +## -b + +backup an existing version of *output* + +## -d [name] + +specify which Mozilla tree to pull *certdata.txt* from (or a custom URL). +Valid names are: **aurora**, **beta**, **central**, **Mozilla**, **nss**, +**release** (default). They are shortcuts for which source tree to get the +certificate data from. + +## -f + +force rebuild even if *certdata.txt* is current (Added in version 1.17) + +## -i + +print version info about used modules + +## -k + +Allow insecure data transfer. By default (since 1.27) this command fails if +the HTTPS transfer fails. This overrides that decision (and opens for +man-in-the-middle attacks). + +## -l + +print license info about *certdata.txt* + +## -m + +(Added in 1.26) Include meta data comments in the output. The meta data is +specific information about each certificate that is stored in the original +file as comments and using this option makes those comments get passed on to +the output file. The meta data is not parsed in any way by mk-ca-bundle. + +## -n + +Do not download *certdata.txt* - use the existing. + +## -p [purposes]:[levels] + +list of Mozilla trust purposes and levels for certificates to include in +output. Takes the form of a comma separated list of purposes, a colon, and a +comma separated list of levels. The default is to include all certificates +trusted to issue SSL Server certificates (*SERVER_AUTH:TRUSTED_DELEGATOR*). + +Valid purposes are: **ALL**, **DIGITAL_SIGNATURE**, **NON_REPUDIATION**, +**KEY_ENCIPHERMENT**, **DATA_ENCIPHERMENT**, **KEY_AGREEMENT**, +**KEY_CERT_SIGN**, **CRL_SIGN**, **SERVER_AUTH** (default), **CLIENT_AUTH**, +**CODE_SIGNING**, **EMAIL_PROTECTION**, **IPSEC_END_SYSTEM**, +**IPSEC_TUNNEL**, **IPSEC_USER**, **TIME_STAMPING**, **STEP_UP_APPROVED** + +Valid trust levels are: **ALL**, **TRUSTED_DELEGATOR** (default), **NOT_TRUSTED**, +**MUST_VERIFY_TRUST**, **TRUSTED** + +## -q + +be really quiet (no progress output at all) + +## -t + +include plain text listing of certificates + +## -s [algorithms] + +A comma separated list of signature algorithms with which to hash/fingerprint +each certificate and output when run in plain text mode. + +Valid algorithms are: +ALL, NONE, MD5 (default), SHA1, SHA256, SHA384, SHA512 + +## -u + +unlink (remove) *certdata.txt* after processing + +## -v + +be verbose and print out processed certificate authorities + +# EXIT STATUS + +Returns 0 on success. Returns 1 if it fails to download data. + +# FILE FORMAT + +The file format used by Mozilla for this trust information is documented here: + +https://p11-glue.freedesktop.org/doc/storing-trust-policy/storing-trust-existing.html diff --git a/curl/docs/options-in-versions.txt b/curl/docs/options-in-versions.txt new file mode 100644 index 0000000..a9ef8db --- /dev/null +++ b/curl/docs/options-in-versions.txt @@ -0,0 +1,281 @@ + _ _ ____ _ + ___| | | | _ \| | + / __| | | | |_) | | + | (__| |_| | _ <| |___ + \___|\___/|_| \_\_____| + + This document lists all command line options present in curl, together with + exact information about the first curl version that supports it. The options + are sorted alphabetically on the long name. + + Long (short) Introduced + +--abstract-unix-socket 7.53.0 +--alt-svc 7.64.1 +--anyauth 7.10.6 +--append (-a) 4.8 +--aws-sigv4 7.75.0 +--basic 7.10.6 +--ca-native 8.2.0 +--cacert 7.5 +--capath 7.9.8 +--cert (-E) 5.0 +--cert-status 7.41.0 +--cert-type 7.9.3 +--ciphers 7.9 +--compressed 7.10 +--compressed-ssh 7.56.0 +--config (-K) 4.10 +--connect-timeout 7.7 +--connect-to 7.49.0 +--continue-at (-C) 4.8 +--cookie (-b) 4.9 +--cookie-jar (-c) 7.9 +--create-dirs 7.10.3 +--create-file-mode 7.75.0 +--crlf 5.7 +--crlfile 7.19.7 +--curves 7.73.0 +--data (-d) 4.0 +--data-ascii 7.2 +--data-binary 7.2 +--data-raw 7.43.0 +--data-urlencode 7.18.0 +--delegation 7.22.0 +--digest 7.10.6 +--disable (-q) 5.0 +--disable-eprt 7.10.5 +--disable-epsv 7.9.2 +--disallow-username-in-url 7.61.0 +--dns-interface 7.33.0 +--dns-ipv4-addr 7.33.0 +--dns-ipv6-addr 7.33.0 +--dns-servers 7.33.0 +--doh-cert-status 7.76.0 +--doh-insecure 7.76.0 +--doh-url 7.62.0 +--dump-ca-embed 8.10.0 +--dump-header (-D) 5.7 +--ech 8.8.0 +--egd-file 7.7 +--engine 7.9.3 +--etag-compare 7.68.0 +--etag-save 7.68.0 +--expect100-timeout 7.47.0 +--fail (-f) 4.0 +--fail-early 7.52.0 +--fail-with-body 7.76.0 +--false-start 7.42.0 +--form (-F) 5.0 +--form-escape 7.81.0 +--form-string 7.13.2 +--ftp-account 7.13.0 +--ftp-alternative-to-user 7.15.5 +--ftp-create-dirs 7.10.7 +--ftp-method 7.15.1 +--ftp-pasv 7.11.0 +--ftp-port (-P) 4.0 +--ftp-pret 7.20.0 +--ftp-skip-pasv-ip 7.15.0 +--ftp-ssl-ccc 7.16.1 +--ftp-ssl-ccc-mode 7.16.2 +--ftp-ssl-control 7.16.0 +--get (-G) 7.8.1 +--globoff (-g) 7.6 +--happy-eyeballs-timeout-ms 7.59.0 +--haproxy-protocol 7.60.0 +--haproxy-clientip 8.2.0 +--head (-I) 4.0 +--header (-H) 5.0 +--help (-h) 4.0 +--hostpubmd5 7.17.1 +--hostpubsha256 7.80.0 +--hsts 7.74.0 +--http0.9 7.64.0 +--http1.0 (-0) 7.9.1 +--http1.1 7.33.0 +--http2 7.33.0 +--http2-prior-knowledge 7.49.0 +--http3 7.66.0 +--http3-only 7.88.0 +--ignore-content-length 7.14.1 +--ip-tos 8.9.0 +--ipfs-gateway 8.4.0 +--insecure (-k) 7.10 +--interface 7.3 +--ipv4 (-4) 7.10.8 +--ipv6 (-6) 7.10.8 +--json 7.82.0 +--junk-session-cookies (-j) 7.9.7 +--keepalive-cnt 8.9.0 +--keepalive-time 7.18.0 +--key 7.9.3 +--key-type 7.9.3 +--krb 7.3 +--libcurl 7.16.1 +--limit-rate 7.10 +--list-only (-l) 4.0 +--local-port 7.15.2 +--location (-L) 4.9 +--location-trusted 7.10.4 +--login-options 7.34.0 +--mail-auth 7.25.0 +--mail-from 7.20.0 +--mail-rcpt 7.20.0 +--mail-rcpt-allowfails 7.69.0 +--manual (-M) 5.2 +--max-filesize 7.10.8 +--max-redirs 7.5 +--max-time (-m) 4.0 +--metalink 7.27.0 +--mptcp 8.9.0 +--negotiate 7.10.6 +--netrc (-n) 4.6 +--netrc-file 7.21.5 +--netrc-optional 7.9.8 +--next (-:) 7.36.0 +--no-alpn 7.36.0 +--no-buffer (-N) 6.5 +--no-clobber 7.83.0 +--no-keepalive 7.18.0 +--no-npn 7.36.0 +--no-progress-meter 7.67.0 +--no-sessionid 7.16.0 +--noproxy 7.19.4 +--ntlm 7.10.6 +--ntlm-wb 7.22.0 +--oauth2-bearer 7.33.0 +--output (-o) 4.0 +--output-dir 7.73.0 +--parallel (-Z) 7.66.0 +--parallel-immediate 7.68.0 +--parallel-max 7.66.0 +--pass 7.9.3 +--path-as-is 7.42.0 +--pinnedpubkey 7.39.0 +--post301 7.17.1 +--post302 7.19.1 +--post303 7.26.0 +--preproxy 7.52.0 +--progress-bar (-#) 5.10 +--proto 7.21.0 +--proto-default 7.45.0 +--proto-redir 7.21.0 +--proxy (-x) 4.0 +--proxy-anyauth 7.13.2 +--proxy-basic 7.12.0 +--proxy-ca-native 8.2.0 +--proxy-cacert 7.52.0 +--proxy-capath 7.52.0 +--proxy-cert 7.52.0 +--proxy-cert-type 7.52.0 +--proxy-ciphers 7.52.0 +--proxy-crlfile 7.52.0 +--proxy-digest 7.12.0 +--proxy-header 7.37.0 +--proxy-http2 8.1.0 +--proxy-insecure 7.52.0 +--proxy-key 7.52.0 +--proxy-key-type 7.52.0 +--proxy-negotiate 7.17.1 +--proxy-ntlm 7.10.7 +--proxy-pass 7.52.0 +--proxy-pinnedpubkey 7.59.0 +--proxy-service-name 7.43.0 +--proxy-ssl-allow-beast 7.52.0 +--proxy-ssl-auto-client-cert 7.77.0 +--proxy-tls13-ciphers 7.61.0 +--proxy-tlsauthtype 7.52.0 +--proxy-tlspassword 7.52.0 +--proxy-tlsuser 7.52.0 +--proxy-tlsv1 7.52.0 +--proxy-user (-U) 4.0 +--proxy1.0 7.19.4 +--proxytunnel (-p) 7.3 +--pubkey 7.16.2 +--quote (-Q) 5.3 +--random-file 7.7 +--range (-r) 4.0 +--rate 7.84.0 +--raw 7.16.2 +--referer (-e) 4.0 +--remote-header-name (-J) 7.20.0 +--remote-name (-O) 4.0 +--remote-name-all 7.19.0 +--remote-time (-R) 7.9 +--remove-on-error 7.83.0 +--request (-X) 6.0 +--request-target 7.55.0 +--resolve 7.21.3 +--retry 7.12.3 +--retry-all-errors 7.71.0 +--retry-connrefused 7.52.0 +--retry-delay 7.12.3 +--retry-max-time 7.12.3 +--sasl-authzid 7.66.0 +--sasl-ir 7.31.0 +--service-name 7.43.0 +--show-error (-S) 5.9 +--show-headers (-i) 4.8 +--silent (-s) 4.0 +--sigalgs 8.14.0 +--skip-existing 8.10.0 +--socks4 7.15.2 +--socks4a 7.18.0 +--socks5 7.18.0 +--socks5-basic 7.55.0 +--socks5-gssapi 7.55.0 +--socks5-gssapi-nec 7.19.4 +--socks5-gssapi-service 7.19.4 +--socks5-hostname 7.18.0 +--speed-limit (-Y) 4.7 +--speed-time (-y) 4.7 +--ssl 7.20.0 +--ssl-allow-beast 7.25.0 +--ssl-auto-client-cert 7.77.0 +--ssl-no-revoke 7.44.0 +--ssl-reqd 7.20.0 +--ssl-revoke-best-effort 7.70.0 +--ssl-sessions 8.12.0 +--sslv2 (-2) 5.9 +--sslv3 (-3) 5.9 +--stderr 6.2 +--styled-output 7.61.0 +--suppress-connect-headers 7.54.0 +--tcp-fastopen 7.49.0 +--tcp-nodelay 7.11.2 +--telnet-option (-t) 7.7 +--tftp-blksize 7.20.0 +--tftp-no-options 7.48.0 +--time-cond (-z) 5.8 +--tls-earlydata 8.11.0 +--tls-max 7.54.0 +--tls13-ciphers 7.61.0 +--tlsauthtype 7.21.4 +--tlspassword 7.21.4 +--tlsuser 7.21.4 +--tlsv1 (-1) 7.9.2 +--tlsv1.0 7.34.0 +--tlsv1.1 7.34.0 +--tlsv1.2 7.34.0 +--tlsv1.3 7.52.0 +--tr-encoding 7.21.6 +--trace 7.9.7 +--trace-ascii 7.9.7 +--trace-config 8.3.0 +--trace-ids 8.2.0 +--trace-time 7.14.0 +--unix-socket 7.40.0 +--upload-file (-T) 4.0 +--upload-flags 8.13.0 +--url 7.5 +--url-query 7.87.0 +--use-ascii (-B) 5.0 +--user (-u) 4.0 +--user-agent (-A) 4.5.1 +--variable 8.3.0 +--verbose (-v) 4.0 +--version (-V) 4.0 +--vlan-priority 8.9.0 +--write-out (-w) 6.5 +--xattr 7.21.3 diff --git a/curl/docs/wcurl.md b/curl/docs/wcurl.md new file mode 100644 index 0000000..4111af5 --- /dev/null +++ b/curl/docs/wcurl.md @@ -0,0 +1,145 @@ +--- +c: Copyright (C) Samuel Henrique , Sergio Durigan Junior and many contributors, see the AUTHORS file. +SPDX-License-Identifier: curl +Title: wcurl +Section: 1 +Source: wcurl +See-also: + - curl (1) + - trurl (1) +Added-in: n/a +--- + +# NAME + +**wcurl** - a simple wrapper around curl to easily download files. + +# SYNOPSIS + +**wcurl \...** + +**wcurl [--curl-options \]... [--dry-run] [--no-decode-filename] [-o|-O|--output \] [--] \...** + +**wcurl [--curl-options=\]... [--dry-run] [--no-decode-filename] [--output=\] [--] \...** + +**wcurl -V|--version** + +**wcurl -h|--help** + +# DESCRIPTION + +**wcurl** is a simple curl wrapper which lets you use curl to download files +without having to remember any parameters. + +Simply call **wcurl** with a list of URLs you want to download and **wcurl** +picks sane defaults. + +If you need anything more complex, you can provide any of curl's supported +parameters via the **--curl-options** option. Just beware that you likely +should be using curl directly if your use case is not covered. + +By default, **wcurl** does: + +## * Percent-encode whitespaces in URLs; + +## * Download multiple URLs in parallel + if the installed curl's version is \>= 7.66.0 (--parallel); + +## * Follow redirects; + +## * Automatically choose a filename as output; + +## * Avoid overwriting files + if the installed curl's version is \>= 7.83.0 (--no-clobber); + +## * Perform retries; + +## * Set the downloaded file timestamp + to the value provided by the server, if available; + +## * Default to https + if the URL does not contain any scheme; + +## * Disable curl's URL globbing parser + so {} and [] characters in URLs are not treated specially; + +## * Percent-decode the resulting filename; + +## * Use 'index.html' as the default filename + if there is none in the URL. + +# OPTIONS + +## --curl-options, --curl-options=\... + +Specify extra options to be passed when invoking curl. May be specified more +than once. + +## -o, -O, --output, --output=\ + +Use the provided output path instead of getting it from the URL. If multiple +URLs are provided, resulting files share the same name with a number appended to +the end (curl \>= 7.83.0). If this option is provided multiple times, only the +last value is considered. + +## --no-decode-filename + +Don't percent-decode the output filename, even if the percent-encoding in the +URL was done by **wcurl**, e.g.: The URL contained whitespaces. + +## --dry-run + +Do not actually execute curl, just print what would be invoked. + +## -V, \--version + +Print version information. + +## -h, \--help + +Print help message. + +# CURL_OPTIONS + +Any option supported by curl can be set here. This is not used by **wcurl**; it +is instead forwarded to the curl invocation. + +# URL + +URL to be downloaded. Anything that is not a parameter is considered +an URL. Whitespaces are percent-encoded and the URL is passed to curl, which +then performs the parsing. May be specified more than once. + +# EXAMPLES + +Download a single file: + +**wcurl example.com/filename.txt** + +Download two files in parallel: + +**wcurl example.com/filename1.txt example.com/filename2.txt** + +Download a file passing the **--progress-bar** and **--http2** flags to curl: + +**wcurl --curl-options="--progress-bar --http2" example.com/filename.txt** + +Resume from an interrupted download (if more options are used, this needs to +be the last one in the list): + +**wcurl --curl-options="--continue-at -" example.com/filename.txt** + +# AUTHORS + + Samuel Henrique \ + Sergio Durigan Junior \ + and many contributors, see the AUTHORS file. + +# REPORTING BUGS + +If you experience any problems with **wcurl** that you do not experience with +curl, submit an issue on Github: https://github.com/curl/wcurl + +# COPYRIGHT + +**wcurl** is licensed under the curl license diff --git a/curl/include/brotli/decode.h b/curl/include/brotli/decode.h new file mode 100644 index 0000000..af1aa23 --- /dev/null +++ b/curl/include/brotli/decode.h @@ -0,0 +1,409 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/** + * @file + * API for Brotli decompression. + */ + +#ifndef BROTLI_DEC_DECODE_H_ +#define BROTLI_DEC_DECODE_H_ + +#include +#include +#include + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/** + * Opaque structure that holds decoder state. + * + * Allocated and initialized with ::BrotliDecoderCreateInstance. + * Cleaned up and deallocated with ::BrotliDecoderDestroyInstance. + */ +typedef struct BrotliDecoderStateStruct BrotliDecoderState; + +/** + * Result type for ::BrotliDecoderDecompress and + * ::BrotliDecoderDecompressStream functions. + */ +typedef enum { + /** Decoding error, e.g. corrupted input or memory allocation problem. */ + BROTLI_DECODER_RESULT_ERROR = 0, + /** Decoding successfully completed. */ + BROTLI_DECODER_RESULT_SUCCESS = 1, + /** Partially done; should be called again with more input. */ + BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT = 2, + /** Partially done; should be called again with more output. */ + BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT = 3 +} BrotliDecoderResult; + +/** + * Template that evaluates items of ::BrotliDecoderErrorCode. + * + * Example: @code {.cpp} + * // Log Brotli error code. + * switch (brotliDecoderErrorCode) { + * #define CASE_(PREFIX, NAME, CODE) \ + * case BROTLI_DECODER ## PREFIX ## NAME: \ + * LOG(INFO) << "error code:" << #NAME; \ + * break; + * #define NEWLINE_ + * BROTLI_DECODER_ERROR_CODES_LIST(CASE_, NEWLINE_) + * #undef CASE_ + * #undef NEWLINE_ + * default: LOG(FATAL) << "unknown brotli error code"; + * } + * @endcode + */ +#define BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE, SEPARATOR) \ + BROTLI_ERROR_CODE(_, NO_ERROR, 0) SEPARATOR \ + /* Same as BrotliDecoderResult values */ \ + BROTLI_ERROR_CODE(_, SUCCESS, 1) SEPARATOR \ + BROTLI_ERROR_CODE(_, NEEDS_MORE_INPUT, 2) SEPARATOR \ + BROTLI_ERROR_CODE(_, NEEDS_MORE_OUTPUT, 3) SEPARATOR \ + \ + /* Errors caused by invalid input */ \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_NIBBLE, -1) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, RESERVED, -2) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, EXUBERANT_META_NIBBLE, -3) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_ALPHABET, -4) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, SIMPLE_HUFFMAN_SAME, -5) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, CL_SPACE, -6) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, HUFFMAN_SPACE, -7) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, CONTEXT_MAP_REPEAT, -8) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_1, -9) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, BLOCK_LENGTH_2, -10) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, TRANSFORM, -11) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, DICTIONARY, -12) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, WINDOW_BITS, -13) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_1, -14) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_2, -15) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_FORMAT_, DISTANCE, -16) SEPARATOR \ + \ + /* -17 code is reserved */ \ + \ + BROTLI_ERROR_CODE(_ERROR_, COMPOUND_DICTIONARY, -18) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_, DICTIONARY_NOT_SET, -19) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_, INVALID_ARGUMENTS, -20) SEPARATOR \ + \ + /* Memory allocation problems */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MODES, -21) SEPARATOR \ + /* Literal, insert and distance trees together */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, TREE_GROUPS, -22) SEPARATOR \ + /* -23..-24 codes are reserved for distinct tree groups */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, CONTEXT_MAP, -25) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_1, -26) SEPARATOR \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, RING_BUFFER_2, -27) SEPARATOR \ + /* -28..-29 codes are reserved for dynamic ring-buffer allocation */ \ + BROTLI_ERROR_CODE(_ERROR_ALLOC_, BLOCK_TYPE_TREES, -30) SEPARATOR \ + \ + /* "Impossible" states */ \ + BROTLI_ERROR_CODE(_ERROR_, UNREACHABLE, -31) + +/** + * Error code for detailed logging / production debugging. + * + * See ::BrotliDecoderGetErrorCode and ::BROTLI_LAST_ERROR_CODE. + */ +typedef enum { +#define BROTLI_COMMA_ , +#define BROTLI_ERROR_CODE_ENUM_ITEM_(PREFIX, NAME, CODE) \ + BROTLI_DECODER ## PREFIX ## NAME = CODE + BROTLI_DECODER_ERROR_CODES_LIST(BROTLI_ERROR_CODE_ENUM_ITEM_, BROTLI_COMMA_) +} BrotliDecoderErrorCode; +#undef BROTLI_ERROR_CODE_ENUM_ITEM_ +#undef BROTLI_COMMA_ + +/** + * The value of the last error code, negative integer. + * + * All other error code values are in the range from ::BROTLI_LAST_ERROR_CODE + * to @c -1. There are also 4 other possible non-error codes @c 0 .. @c 3 in + * ::BrotliDecoderErrorCode enumeration. + */ +#define BROTLI_LAST_ERROR_CODE BROTLI_DECODER_ERROR_UNREACHABLE + +/** Options to be used with ::BrotliDecoderSetParameter. */ +typedef enum BrotliDecoderParameter { + /** + * Disable "canny" ring buffer allocation strategy. + * + * Ring buffer is allocated according to window size, despite the real size of + * the content. + */ + BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION = 0, + /** + * Flag that determines if "Large Window Brotli" is used. + */ + BROTLI_DECODER_PARAM_LARGE_WINDOW = 1 +} BrotliDecoderParameter; + +/** + * Sets the specified parameter to the given decoder instance. + * + * @param state decoder instance + * @param param parameter to set + * @param value new parameter value + * @returns ::BROTLI_FALSE if parameter is unrecognized, or value is invalid + * @returns ::BROTLI_TRUE if value is accepted + */ +BROTLI_DEC_API BROTLI_BOOL BrotliDecoderSetParameter( + BrotliDecoderState* state, BrotliDecoderParameter param, uint32_t value); + +/** + * Adds LZ77 prefix dictionary, adds or replaces built-in static dictionary and + * transforms. + * + * Attached dictionary ownership is not transferred. + * Data provided to this method should be kept accessible until + * decoding is finished and decoder instance is destroyed. + * + * @note Dictionaries can NOT be attached after actual decoding is started. + * + * @param state decoder instance + * @param type dictionary data format + * @param data_size length of memory region pointed by @p data + * @param data dictionary data in format corresponding to @p type + * @returns ::BROTLI_FALSE if dictionary is corrupted, + * or dictionary count limit is reached + * @returns ::BROTLI_TRUE if dictionary is accepted / attached + */ +BROTLI_DEC_API BROTLI_BOOL BrotliDecoderAttachDictionary( + BrotliDecoderState* state, BrotliSharedDictionaryType type, + size_t data_size, const uint8_t data[BROTLI_ARRAY_PARAM(data_size)]); + +/** + * Creates an instance of ::BrotliDecoderState and initializes it. + * + * The instance can be used once for decoding and should then be destroyed with + * ::BrotliDecoderDestroyInstance, it cannot be reused for a new decoding + * session. + * + * @p alloc_func and @p free_func @b MUST be both zero or both non-zero. In the + * case they are both zero, default memory allocators are used. @p opaque is + * passed to @p alloc_func and @p free_func when they are called. @p free_func + * has to return without doing anything when asked to free a NULL pointer. + * + * @param alloc_func custom memory allocation function + * @param free_func custom memory free function + * @param opaque custom memory manager handle + * @returns @c 0 if instance can not be allocated or initialized + * @returns pointer to initialized ::BrotliDecoderState otherwise + */ +BROTLI_DEC_API BrotliDecoderState* BrotliDecoderCreateInstance( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque); + +/** + * Deinitializes and frees ::BrotliDecoderState instance. + * + * @param state decoder instance to be cleaned up and deallocated + */ +BROTLI_DEC_API void BrotliDecoderDestroyInstance(BrotliDecoderState* state); + +/** + * Performs one-shot memory-to-memory decompression. + * + * Decompresses the data in @p encoded_buffer into @p decoded_buffer, and sets + * @p *decoded_size to the decompressed length. + * + * @param encoded_size size of @p encoded_buffer + * @param encoded_buffer compressed data buffer with at least @p encoded_size + * addressable bytes + * @param[in, out] decoded_size @b in: size of @p decoded_buffer; \n + * @b out: length of decompressed data written to + * @p decoded_buffer + * @param decoded_buffer decompressed data destination buffer + * @returns ::BROTLI_DECODER_RESULT_ERROR if input is corrupted, memory + * allocation failed, or @p decoded_buffer is not large enough; + * @returns ::BROTLI_DECODER_RESULT_SUCCESS otherwise + */ +BROTLI_DEC_API BrotliDecoderResult BrotliDecoderDecompress( + size_t encoded_size, + const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)], + size_t* decoded_size, + uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]); + +/** + * Decompresses the input stream to the output stream. + * + * The values @p *available_in and @p *available_out must specify the number of + * bytes addressable at @p *next_in and @p *next_out respectively. + * When @p *available_out is @c 0, @p next_out is allowed to be @c NULL. + * + * After each call, @p *available_in will be decremented by the amount of input + * bytes consumed, and the @p *next_in pointer will be incremented by that + * amount. Similarly, @p *available_out will be decremented by the amount of + * output bytes written, and the @p *next_out pointer will be incremented by + * that amount. + * + * @p total_out, if it is not a null-pointer, will be set to the number + * of bytes decompressed since the last @p state initialization. + * + * @note Input is never overconsumed, so @p next_in and @p available_in could be + * passed to the next consumer after decoding is complete. + * + * @param state decoder instance + * @param[in, out] available_in @b in: amount of available input; \n + * @b out: amount of unused input + * @param[in, out] next_in pointer to the next compressed byte + * @param[in, out] available_out @b in: length of output buffer; \n + * @b out: remaining size of output buffer + * @param[in, out] next_out output buffer cursor; + * can be @c NULL if @p available_out is @c 0 + * @param[out] total_out number of bytes decompressed so far; can be @c NULL + * @returns ::BROTLI_DECODER_RESULT_ERROR if input is corrupted, memory + * allocation failed, arguments were invalid, etc.; + * use ::BrotliDecoderGetErrorCode to get detailed error code + * @returns ::BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT decoding is blocked until + * more input data is provided + * @returns ::BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT decoding is blocked until + * more output space is provided + * @returns ::BROTLI_DECODER_RESULT_SUCCESS decoding is finished, no more + * input might be consumed and no more output will be produced + */ +BROTLI_DEC_API BrotliDecoderResult BrotliDecoderDecompressStream( + BrotliDecoderState* state, size_t* available_in, const uint8_t** next_in, + size_t* available_out, uint8_t** next_out, size_t* total_out); + +/** + * Checks if decoder has more output. + * + * @param state decoder instance + * @returns ::BROTLI_TRUE, if decoder has some unconsumed output + * @returns ::BROTLI_FALSE otherwise + */ +BROTLI_DEC_API BROTLI_BOOL BrotliDecoderHasMoreOutput( + const BrotliDecoderState* state); + +/** + * Acquires pointer to internal output buffer. + * + * This method is used to make language bindings easier and more efficient: + * -# push data to ::BrotliDecoderDecompressStream, + * until ::BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT is reported + * -# use ::BrotliDecoderTakeOutput to peek bytes and copy to language-specific + * entity + * + * Also this could be useful if there is an output stream that is able to + * consume all the provided data (e.g. when data is saved to file system). + * + * @attention After every call to ::BrotliDecoderTakeOutput @p *size bytes of + * output are considered consumed for all consecutive calls to the + * instance methods; returned pointer becomes invalidated as well. + * + * @note Decoder output is not guaranteed to be contiguous. This means that + * after the size-unrestricted call to ::BrotliDecoderTakeOutput, + * immediate next call to ::BrotliDecoderTakeOutput may return more data. + * + * @param state decoder instance + * @param[in, out] size @b in: number of bytes caller is ready to take, @c 0 if + * any amount could be handled; \n + * @b out: amount of data pointed by returned pointer and + * considered consumed; \n + * out value is never greater than in value, unless it is @c 0 + * @returns pointer to output data + */ +BROTLI_DEC_API const uint8_t* BrotliDecoderTakeOutput( + BrotliDecoderState* state, size_t* size); + +/** + * Checks if instance has already consumed input. + * + * Instance that returns ::BROTLI_FALSE is considered "fresh" and could be + * reused. + * + * @param state decoder instance + * @returns ::BROTLI_TRUE if decoder has already used some input bytes + * @returns ::BROTLI_FALSE otherwise + */ +BROTLI_DEC_API BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* state); + +/** + * Checks if decoder instance reached the final state. + * + * @param state decoder instance + * @returns ::BROTLI_TRUE if decoder is in a state where it reached the end of + * the input and produced all of the output + * @returns ::BROTLI_FALSE otherwise + */ +BROTLI_DEC_API BROTLI_BOOL BrotliDecoderIsFinished( + const BrotliDecoderState* state); + +/** + * Acquires a detailed error code. + * + * Should be used only after ::BrotliDecoderDecompressStream returns + * ::BROTLI_DECODER_RESULT_ERROR. + * + * See also ::BrotliDecoderErrorString + * + * @param state decoder instance + * @returns last saved error code + */ +BROTLI_DEC_API BrotliDecoderErrorCode BrotliDecoderGetErrorCode( + const BrotliDecoderState* state); + +/** + * Converts error code to a c-string. + */ +BROTLI_DEC_API const char* BrotliDecoderErrorString(BrotliDecoderErrorCode c); + +/** + * Gets a decoder library version. + * + * Look at BROTLI_MAKE_HEX_VERSION for more information. + */ +BROTLI_DEC_API uint32_t BrotliDecoderVersion(void); + +/** + * Callback to fire on metadata block start. + * + * After this callback is fired, if @p size is not @c 0, it is followed by + * ::brotli_decoder_metadata_chunk_func as more metadata block contents become + * accessible. + * + * @param opaque callback handle + * @param size size of metadata block + */ +typedef void (*brotli_decoder_metadata_start_func)(void* opaque, size_t size); + +/** + * Callback to fire on metadata block chunk becomes available. + * + * This function can be invoked multiple times per metadata block; block should + * be considered finished when sum of @p size matches the announced metadata + * block size. Chunks contents pointed by @p data are transient and shouln not + * be accessed after leaving the callback. + * + * @param opaque callback handle + * @param data pointer to metadata contents + * @param size size of metadata block chunk, at least @c 1 + */ +typedef void (*brotli_decoder_metadata_chunk_func)(void* opaque, + const uint8_t* data, + size_t size); + +/** + * Sets callback for receiving metadata blocks. + * + * @param state decoder instance + * @param start_func callback on metadata block start + * @param chunk_func callback on metadata block chunk + * @param opaque callback handle + */ +BROTLI_DEC_API void BrotliDecoderSetMetadataCallbacks( + BrotliDecoderState* state, + brotli_decoder_metadata_start_func start_func, + brotli_decoder_metadata_chunk_func chunk_func, void* opaque); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_DEC_DECODE_H_ */ diff --git a/curl/include/brotli/encode.h b/curl/include/brotli/encode.h new file mode 100644 index 0000000..dea9931 --- /dev/null +++ b/curl/include/brotli/encode.h @@ -0,0 +1,501 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/** + * @file + * API for Brotli compression. + */ + +#ifndef BROTLI_ENC_ENCODE_H_ +#define BROTLI_ENC_ENCODE_H_ + +#include +#include +#include + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +/** Minimal value for ::BROTLI_PARAM_LGWIN parameter. */ +#define BROTLI_MIN_WINDOW_BITS 10 +/** + * Maximal value for ::BROTLI_PARAM_LGWIN parameter. + * + * @note equal to @c BROTLI_MAX_DISTANCE_BITS constant. + */ +#define BROTLI_MAX_WINDOW_BITS 24 +/** + * Maximal value for ::BROTLI_PARAM_LGWIN parameter + * in "Large Window Brotli" (32-bit). + */ +#define BROTLI_LARGE_MAX_WINDOW_BITS 30 +/** Minimal value for ::BROTLI_PARAM_LGBLOCK parameter. */ +#define BROTLI_MIN_INPUT_BLOCK_BITS 16 +/** Maximal value for ::BROTLI_PARAM_LGBLOCK parameter. */ +#define BROTLI_MAX_INPUT_BLOCK_BITS 24 +/** Minimal value for ::BROTLI_PARAM_QUALITY parameter. */ +#define BROTLI_MIN_QUALITY 0 +/** Maximal value for ::BROTLI_PARAM_QUALITY parameter. */ +#define BROTLI_MAX_QUALITY 11 + +/** Options for ::BROTLI_PARAM_MODE parameter. */ +typedef enum BrotliEncoderMode { + /** + * Default compression mode. + * + * In this mode compressor does not know anything in advance about the + * properties of the input. + */ + BROTLI_MODE_GENERIC = 0, + /** Compression mode for UTF-8 formatted text input. */ + BROTLI_MODE_TEXT = 1, + /** Compression mode used in WOFF 2.0. */ + BROTLI_MODE_FONT = 2 +} BrotliEncoderMode; + +/** Default value for ::BROTLI_PARAM_QUALITY parameter. */ +#define BROTLI_DEFAULT_QUALITY 11 +/** Default value for ::BROTLI_PARAM_LGWIN parameter. */ +#define BROTLI_DEFAULT_WINDOW 22 +/** Default value for ::BROTLI_PARAM_MODE parameter. */ +#define BROTLI_DEFAULT_MODE BROTLI_MODE_GENERIC + +/** Operations that can be performed by streaming encoder. */ +typedef enum BrotliEncoderOperation { + /** + * Process input. + * + * Encoder may postpone producing output, until it has processed enough input. + */ + BROTLI_OPERATION_PROCESS = 0, + /** + * Produce output for all processed input. + * + * Actual flush is performed when input stream is depleted and there is enough + * space in output stream. This means that client should repeat + * ::BROTLI_OPERATION_FLUSH operation until @p available_in becomes @c 0, and + * ::BrotliEncoderHasMoreOutput returns ::BROTLI_FALSE. If output is acquired + * via ::BrotliEncoderTakeOutput, then operation should be repeated after + * output buffer is drained. + * + * @warning Until flush is complete, client @b SHOULD @b NOT swap, + * reduce or extend input stream. + * + * When flush is complete, output data will be sufficient for decoder to + * reproduce all the given input. + */ + BROTLI_OPERATION_FLUSH = 1, + /** + * Finalize the stream. + * + * Actual finalization is performed when input stream is depleted and there is + * enough space in output stream. This means that client should repeat + * ::BROTLI_OPERATION_FINISH operation until @p available_in becomes @c 0, and + * ::BrotliEncoderHasMoreOutput returns ::BROTLI_FALSE. If output is acquired + * via ::BrotliEncoderTakeOutput, then operation should be repeated after + * output buffer is drained. + * + * @warning Until finalization is complete, client @b SHOULD @b NOT swap, + * reduce or extend input stream. + * + * Helper function ::BrotliEncoderIsFinished checks if stream is finalized and + * output fully dumped. + * + * Adding more input data to finalized stream is impossible. + */ + BROTLI_OPERATION_FINISH = 2, + /** + * Emit metadata block to stream. + * + * Metadata is opaque to Brotli: neither encoder, nor decoder processes this + * data or relies on it. It may be used to pass some extra information from + * encoder client to decoder client without interfering with main data stream. + * + * @note Encoder may emit empty metadata blocks internally, to pad encoded + * stream to byte boundary. + * + * @warning Until emitting metadata is complete client @b SHOULD @b NOT swap, + * reduce or extend input stream. + * + * @warning The whole content of input buffer is considered to be the content + * of metadata block. Do @b NOT @e append metadata to input stream, + * before it is depleted with other operations. + * + * Stream is soft-flushed before metadata block is emitted. Metadata block + * @b MUST be no longer than than 16MiB. + */ + BROTLI_OPERATION_EMIT_METADATA = 3 +} BrotliEncoderOperation; + +/** Options to be used with ::BrotliEncoderSetParameter. */ +typedef enum BrotliEncoderParameter { + /** + * Tune encoder for specific input. + * + * ::BrotliEncoderMode enumerates all available values. + */ + BROTLI_PARAM_MODE = 0, + /** + * The main compression speed-density lever. + * + * The higher the quality, the slower the compression. Range is + * from ::BROTLI_MIN_QUALITY to ::BROTLI_MAX_QUALITY. + */ + BROTLI_PARAM_QUALITY = 1, + /** + * Recommended sliding LZ77 window size. + * + * Encoder may reduce this value, e.g. if input is much smaller than + * window size. + * + * Window size is `(1 << value) - 16`. + * + * Range is from ::BROTLI_MIN_WINDOW_BITS to ::BROTLI_MAX_WINDOW_BITS. + */ + BROTLI_PARAM_LGWIN = 2, + /** + * Recommended input block size. + * + * Encoder may reduce this value, e.g. if input is much smaller than input + * block size. + * + * Range is from ::BROTLI_MIN_INPUT_BLOCK_BITS to + * ::BROTLI_MAX_INPUT_BLOCK_BITS. + * + * @note Bigger input block size allows better compression, but consumes more + * memory. \n The rough formula of memory used for temporary input + * storage is `3 << lgBlock`. + */ + BROTLI_PARAM_LGBLOCK = 3, + /** + * Flag that affects usage of "literal context modeling" format feature. + * + * This flag is a "decoding-speed vs compression ratio" trade-off. + */ + BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING = 4, + /** + * Estimated total input size for all ::BrotliEncoderCompressStream calls. + * + * The default value is 0, which means that the total input size is unknown. + */ + BROTLI_PARAM_SIZE_HINT = 5, + /** + * Flag that determines if "Large Window Brotli" is used. + */ + BROTLI_PARAM_LARGE_WINDOW = 6, + /** + * Recommended number of postfix bits (NPOSTFIX). + * + * Encoder may change this value. + * + * Range is from 0 to ::BROTLI_MAX_NPOSTFIX. + */ + BROTLI_PARAM_NPOSTFIX = 7, + /** + * Recommended number of direct distance codes (NDIRECT). + * + * Encoder may change this value. + * + * Range is from 0 to (15 << NPOSTFIX) in steps of (1 << NPOSTFIX). + */ + BROTLI_PARAM_NDIRECT = 8, + /** + * Number of bytes of input stream already processed by a different instance. + * + * @note It is important to configure all the encoder instances with same + * parameters (except this one) in order to allow all the encoded parts + * obey the same restrictions implied by header. + * + * If offset is not 0, then stream header is omitted. + * In any case output start is byte aligned, so for proper streams stitching + * "predecessor" stream must be flushed. + * + * Range is not artificially limited, but all the values greater or equal to + * maximal window size have the same effect. Values greater than 2**30 are not + * allowed. + */ + BROTLI_PARAM_STREAM_OFFSET = 9 +} BrotliEncoderParameter; + +/** + * Opaque structure that holds encoder state. + * + * Allocated and initialized with ::BrotliEncoderCreateInstance. + * Cleaned up and deallocated with ::BrotliEncoderDestroyInstance. + */ +typedef struct BrotliEncoderStateStruct BrotliEncoderState; + +/** + * Sets the specified parameter to the given encoder instance. + * + * @param state encoder instance + * @param param parameter to set + * @param value new parameter value + * @returns ::BROTLI_FALSE if parameter is unrecognized, or value is invalid + * @returns ::BROTLI_FALSE if value of parameter can not be changed at current + * encoder state (e.g. when encoding is started, window size might be + * already encoded and therefore it is impossible to change it) + * @returns ::BROTLI_TRUE if value is accepted + * @warning invalid values might be accepted in case they would not break + * encoding process. + */ +BROTLI_ENC_API BROTLI_BOOL BrotliEncoderSetParameter( + BrotliEncoderState* state, BrotliEncoderParameter param, uint32_t value); + +/** + * Creates an instance of ::BrotliEncoderState and initializes it. + * + * @p alloc_func and @p free_func @b MUST be both zero or both non-zero. In the + * case they are both zero, default memory allocators are used. @p opaque is + * passed to @p alloc_func and @p free_func when they are called. @p free_func + * has to return without doing anything when asked to free a NULL pointer. + * + * @param alloc_func custom memory allocation function + * @param free_func custom memory free function + * @param opaque custom memory manager handle + * @returns @c 0 if instance can not be allocated or initialized + * @returns pointer to initialized ::BrotliEncoderState otherwise + */ +BROTLI_ENC_API BrotliEncoderState* BrotliEncoderCreateInstance( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque); + +/** + * Deinitializes and frees ::BrotliEncoderState instance. + * + * @param state decoder instance to be cleaned up and deallocated + */ +BROTLI_ENC_API void BrotliEncoderDestroyInstance(BrotliEncoderState* state); + +/* Opaque type for pointer to different possible internal structures containing + dictionary prepared for the encoder */ +typedef struct BrotliEncoderPreparedDictionaryStruct + BrotliEncoderPreparedDictionary; + +/** + * Prepares a shared dictionary from the given file format for the encoder. + * + * @p alloc_func and @p free_func @b MUST be both zero or both non-zero. In the + * case they are both zero, default memory allocators are used. @p opaque is + * passed to @p alloc_func and @p free_func when they are called. @p free_func + * has to return without doing anything when asked to free a NULL pointer. + * + * @param type type of dictionary stored in data + * @param data_size size of @p data buffer + * @param data pointer to the dictionary data + * @param quality the maximum Brotli quality to prepare the dictionary for, + * use BROTLI_MAX_QUALITY by default + * @param alloc_func custom memory allocation function + * @param free_func custom memory free function + * @param opaque custom memory manager handle + */ +BROTLI_ENC_API BrotliEncoderPreparedDictionary* +BrotliEncoderPrepareDictionary(BrotliSharedDictionaryType type, + size_t data_size, const uint8_t data[BROTLI_ARRAY_PARAM(data_size)], + int quality, + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque); + +BROTLI_ENC_API void BrotliEncoderDestroyPreparedDictionary( + BrotliEncoderPreparedDictionary* dictionary); + +/** + * Attaches a prepared dictionary of any type to the encoder. Can be used + * multiple times to attach multiple dictionaries. The dictionary type was + * determined by BrotliEncoderPrepareDictionary. Multiple raw prefix + * dictionaries and/or max 1 serialized dictionary with custom words can be + * attached. + * + * @returns ::BROTLI_FALSE in case of error + * @returns ::BROTLI_TRUE otherwise + */ +BROTLI_ENC_API BROTLI_BOOL BrotliEncoderAttachPreparedDictionary( + BrotliEncoderState* state, + const BrotliEncoderPreparedDictionary* dictionary); + +/** + * Calculates the output size bound for the given @p input_size. + * + * @warning Result is only valid if quality is at least @c 2 and, in + * case ::BrotliEncoderCompressStream was used, no flushes + * (::BROTLI_OPERATION_FLUSH) were performed. + * + * @param input_size size of projected input + * @returns @c 0 if result does not fit @c size_t + */ +BROTLI_ENC_API size_t BrotliEncoderMaxCompressedSize(size_t input_size); + +/** + * Performs one-shot memory-to-memory compression. + * + * Compresses the data in @p input_buffer into @p encoded_buffer, and sets + * @p *encoded_size to the compressed length. + * + * @note If ::BrotliEncoderMaxCompressedSize(@p input_size) returns non-zero + * value, then output is guaranteed to be no longer than that. + * + * @note If @p lgwin is greater than ::BROTLI_MAX_WINDOW_BITS then resulting + * stream might be incompatible with RFC 7932; to decode such streams, + * decoder should be configured with + * ::BROTLI_DECODER_PARAM_LARGE_WINDOW = @c 1 + * + * @param quality quality parameter value, e.g. ::BROTLI_DEFAULT_QUALITY + * @param lgwin lgwin parameter value, e.g. ::BROTLI_DEFAULT_WINDOW + * @param mode mode parameter value, e.g. ::BROTLI_DEFAULT_MODE + * @param input_size size of @p input_buffer + * @param input_buffer input data buffer with at least @p input_size + * addressable bytes + * @param[in, out] encoded_size @b in: size of @p encoded_buffer; \n + * @b out: length of compressed data written to + * @p encoded_buffer, or @c 0 if compression fails + * @param encoded_buffer compressed data destination buffer + * @returns ::BROTLI_FALSE in case of compression error + * @returns ::BROTLI_FALSE if output buffer is too small + * @returns ::BROTLI_TRUE otherwise + */ +BROTLI_ENC_API BROTLI_BOOL BrotliEncoderCompress( + int quality, int lgwin, BrotliEncoderMode mode, size_t input_size, + const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)], + size_t* encoded_size, + uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]); + +/** + * Compresses input stream to output stream. + * + * The values @p *available_in and @p *available_out must specify the number of + * bytes addressable at @p *next_in and @p *next_out respectively. + * When @p *available_out is @c 0, @p next_out is allowed to be @c NULL. + * + * After each call, @p *available_in will be decremented by the amount of input + * bytes consumed, and the @p *next_in pointer will be incremented by that + * amount. Similarly, @p *available_out will be decremented by the amount of + * output bytes written, and the @p *next_out pointer will be incremented by + * that amount. + * + * @p total_out, if it is not a null-pointer, will be set to the number + * of bytes compressed since the last @p state initialization. + * + * + * + * Internally workflow consists of 3 tasks: + * -# (optionally) copy input data to internal buffer + * -# actually compress data and (optionally) store it to internal buffer + * -# (optionally) copy compressed bytes from internal buffer to output stream + * + * Whenever all 3 tasks can't move forward anymore, or error occurs, this + * method returns the control flow to caller. + * + * @p op is used to perform flush, finish the stream, or inject metadata block. + * See ::BrotliEncoderOperation for more information. + * + * Flushing the stream means forcing encoding of all input passed to encoder and + * completing the current output block, so it could be fully decoded by stream + * decoder. To perform flush set @p op to ::BROTLI_OPERATION_FLUSH. + * Under some circumstances (e.g. lack of output stream capacity) this operation + * would require several calls to ::BrotliEncoderCompressStream. The method must + * be called again until both input stream is depleted and encoder has no more + * output (see ::BrotliEncoderHasMoreOutput) after the method is called. + * + * Finishing the stream means encoding of all input passed to encoder and + * adding specific "final" marks, so stream decoder could determine that stream + * is complete. To perform finish set @p op to ::BROTLI_OPERATION_FINISH. + * Under some circumstances (e.g. lack of output stream capacity) this operation + * would require several calls to ::BrotliEncoderCompressStream. The method must + * be called again until both input stream is depleted and encoder has no more + * output (see ::BrotliEncoderHasMoreOutput) after the method is called. + * + * @warning When flushing and finishing, @p op should not change until operation + * is complete; input stream should not be swapped, reduced or + * extended as well. + * + * @param state encoder instance + * @param op requested operation + * @param[in, out] available_in @b in: amount of available input; \n + * @b out: amount of unused input + * @param[in, out] next_in pointer to the next input byte + * @param[in, out] available_out @b in: length of output buffer; \n + * @b out: remaining size of output buffer + * @param[in, out] next_out compressed output buffer cursor; + * can be @c NULL if @p available_out is @c 0 + * @param[out] total_out number of bytes produced so far; can be @c NULL + * @returns ::BROTLI_FALSE if there was an error + * @returns ::BROTLI_TRUE otherwise + */ +BROTLI_ENC_API BROTLI_BOOL BrotliEncoderCompressStream( + BrotliEncoderState* state, BrotliEncoderOperation op, size_t* available_in, + const uint8_t** next_in, size_t* available_out, uint8_t** next_out, + size_t* total_out); + +/** + * Checks if encoder instance reached the final state. + * + * @param state encoder instance + * @returns ::BROTLI_TRUE if encoder is in a state where it reached the end of + * the input and produced all of the output + * @returns ::BROTLI_FALSE otherwise + */ +BROTLI_ENC_API BROTLI_BOOL BrotliEncoderIsFinished(BrotliEncoderState* state); + +/** + * Checks if encoder has more output. + * + * @param state encoder instance + * @returns ::BROTLI_TRUE, if encoder has some unconsumed output + * @returns ::BROTLI_FALSE otherwise + */ +BROTLI_ENC_API BROTLI_BOOL BrotliEncoderHasMoreOutput( + BrotliEncoderState* state); + +/** + * Acquires pointer to internal output buffer. + * + * This method is used to make language bindings easier and more efficient: + * -# push data to ::BrotliEncoderCompressStream, + * until ::BrotliEncoderHasMoreOutput returns BROTLI_TRUE + * -# use ::BrotliEncoderTakeOutput to peek bytes and copy to language-specific + * entity + * + * Also this could be useful if there is an output stream that is able to + * consume all the provided data (e.g. when data is saved to file system). + * + * @attention After every call to ::BrotliEncoderTakeOutput @p *size bytes of + * output are considered consumed for all consecutive calls to the + * instance methods; returned pointer becomes invalidated as well. + * + * @note Encoder output is not guaranteed to be contiguous. This means that + * after the size-unrestricted call to ::BrotliEncoderTakeOutput, + * immediate next call to ::BrotliEncoderTakeOutput may return more data. + * + * @param state encoder instance + * @param[in, out] size @b in: number of bytes caller is ready to take, @c 0 if + * any amount could be handled; \n + * @b out: amount of data pointed by returned pointer and + * considered consumed; \n + * out value is never greater than in value, unless it is @c 0 + * @returns pointer to output data + */ +BROTLI_ENC_API const uint8_t* BrotliEncoderTakeOutput( + BrotliEncoderState* state, size_t* size); + +/* Returns the estimated peak memory usage (in bytes) of the BrotliCompress() + function, not counting the memory needed for the input and output. */ +BROTLI_ENC_EXTRA_API size_t BrotliEncoderEstimatePeakMemoryUsage( + int quality, int lgwin, size_t input_size); +/* Returns 0 if dictionary is not valid; otherwise returns allocation size. */ +BROTLI_ENC_EXTRA_API size_t BrotliEncoderGetPreparedDictionarySize( + const BrotliEncoderPreparedDictionary* dictionary); + +/** + * Gets an encoder library version. + * + * Look at BROTLI_MAKE_HEX_VERSION for more information. + */ +BROTLI_ENC_API uint32_t BrotliEncoderVersion(void); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_ENC_ENCODE_H_ */ diff --git a/curl/include/brotli/port.h b/curl/include/brotli/port.h new file mode 100644 index 0000000..0d50019 --- /dev/null +++ b/curl/include/brotli/port.h @@ -0,0 +1,305 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* Macros for compiler / platform specific API declarations. */ + +#ifndef BROTLI_COMMON_PORT_H_ +#define BROTLI_COMMON_PORT_H_ + +/* The following macros were borrowed from https://github.com/nemequ/hedley + * with permission of original author - Evan Nemerson */ + +/* >>> >>> >>> hedley macros */ + +#define BROTLI_MAKE_VERSION(major, minor, revision) \ + (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) +#define BROTLI_GNUC_VERSION \ + BROTLI_MAKE_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) +#define BROTLI_GNUC_VERSION BROTLI_MAKE_VERSION(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(BROTLI_GNUC_VERSION) +#define BROTLI_GNUC_VERSION_CHECK(major, minor, patch) \ + (BROTLI_GNUC_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_GNUC_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) +#define BROTLI_MSVC_VERSION \ + BROTLI_MAKE_VERSION((_MSC_FULL_VER / 10000000), \ + (_MSC_FULL_VER % 10000000) / 100000, \ + (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) +#define BROTLI_MSVC_VERSION \ + BROTLI_MAKE_VERSION((_MSC_FULL_VER / 1000000), \ + (_MSC_FULL_VER % 1000000) / 10000, \ + (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) +#define BROTLI_MSVC_VERSION \ + BROTLI_MAKE_VERSION(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if !defined(_MSC_VER) +#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) +#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) \ + (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) +#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) \ + (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else +#define BROTLI_MSVC_VERSION_CHECK(major, minor, patch) \ + (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) +#define BROTLI_INTEL_VERSION \ + BROTLI_MAKE_VERSION(__INTEL_COMPILER / 100, \ + __INTEL_COMPILER % 100, \ + __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) +#define BROTLI_INTEL_VERSION \ + BROTLI_MAKE_VERSION(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(BROTLI_INTEL_VERSION) +#define BROTLI_INTEL_VERSION_CHECK(major, minor, patch) \ + (BROTLI_INTEL_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_INTEL_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__PGI) && \ + defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) +#define BROTLI_PGI_VERSION \ + BROTLI_MAKE_VERSION(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(BROTLI_PGI_VERSION) +#define BROTLI_PGI_VERSION_CHECK(major, minor, patch) \ + (BROTLI_PGI_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_PGI_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) +#define BROTLI_SUNPRO_VERSION \ + BROTLI_MAKE_VERSION( \ + (((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), \ + (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), \ + (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) +#define BROTLI_SUNPRO_VERSION \ + BROTLI_MAKE_VERSION((__SUNPRO_C >> 8) & 0xf, \ + (__SUNPRO_C >> 4) & 0xf, \ + (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) +#define BROTLI_SUNPRO_VERSION \ + BROTLI_MAKE_VERSION( \ + (((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), \ + (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), \ + (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) +#define BROTLI_SUNPRO_VERSION \ + BROTLI_MAKE_VERSION((__SUNPRO_CC >> 8) & 0xf, \ + (__SUNPRO_CC >> 4) & 0xf, \ + (__SUNPRO_CC) & 0xf) +#endif + +#if defined(BROTLI_SUNPRO_VERSION) +#define BROTLI_SUNPRO_VERSION_CHECK(major, minor, patch) \ + (BROTLI_SUNPRO_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_SUNPRO_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) +#define BROTLI_ARM_VERSION \ + BROTLI_MAKE_VERSION((__ARMCOMPILER_VERSION / 1000000), \ + (__ARMCOMPILER_VERSION % 1000000) / 10000, \ + (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) +#define BROTLI_ARM_VERSION \ + BROTLI_MAKE_VERSION((__ARMCC_VERSION / 1000000), \ + (__ARMCC_VERSION % 1000000) / 10000, \ + (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(BROTLI_ARM_VERSION) +#define BROTLI_ARM_VERSION_CHECK(major, minor, patch) \ + (BROTLI_ARM_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_ARM_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__ibmxl__) +#define BROTLI_IBM_VERSION \ + BROTLI_MAKE_VERSION(__ibmxl_version__, \ + __ibmxl_release__, \ + __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) +#define BROTLI_IBM_VERSION \ + BROTLI_MAKE_VERSION(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) +#define BROTLI_IBM_VERSION BROTLI_MAKE_VERSION(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(BROTLI_IBM_VERSION) +#define BROTLI_IBM_VERSION_CHECK(major, minor, patch) \ + (BROTLI_IBM_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_IBM_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__TI_COMPILER_VERSION__) +#define BROTLI_TI_VERSION \ + BROTLI_MAKE_VERSION((__TI_COMPILER_VERSION__ / 1000000), \ + (__TI_COMPILER_VERSION__ % 1000000) / 1000, \ + (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(BROTLI_TI_VERSION) +#define BROTLI_TI_VERSION_CHECK(major, minor, patch) \ + (BROTLI_TI_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_TI_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__IAR_SYSTEMS_ICC__) +#if __VER__ > 1000 +#define BROTLI_IAR_VERSION \ + BROTLI_MAKE_VERSION((__VER__ / 1000000), \ + (__VER__ / 1000) % 1000, \ + (__VER__ % 1000)) +#else +#define BROTLI_IAR_VERSION BROTLI_MAKE_VERSION(VER / 100, __VER__ % 100, 0) +#endif +#endif + +#if defined(BROTLI_IAR_VERSION) +#define BROTLI_IAR_VERSION_CHECK(major, minor, patch) \ + (BROTLI_IAR_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_IAR_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__TINYC__) +#define BROTLI_TINYC_VERSION \ + BROTLI_MAKE_VERSION(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(BROTLI_TINYC_VERSION) +#define BROTLI_TINYC_VERSION_CHECK(major, minor, patch) \ + (BROTLI_TINYC_VERSION >= BROTLI_MAKE_VERSION(major, minor, patch)) +#else +#define BROTLI_TINYC_VERSION_CHECK(major, minor, patch) (0) +#endif + +#if defined(__has_attribute) +#define BROTLI_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch) \ + __has_attribute(attribute) +#else +#define BROTLI_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch) \ + BROTLI_GNUC_VERSION_CHECK(major, minor, patch) +#endif + +#if defined(__has_builtin) +#define BROTLI_GNUC_HAS_BUILTIN(builtin, major, minor, patch) \ + __has_builtin(builtin) +#else +#define BROTLI_GNUC_HAS_BUILTIN(builtin, major, minor, patch) \ + BROTLI_GNUC_VERSION_CHECK(major, minor, patch) +#endif + +#if defined(__has_feature) +#define BROTLI_HAS_FEATURE(feature) __has_feature(feature) +#else +#define BROTLI_HAS_FEATURE(feature) (0) +#endif + +#if defined(_WIN32) || defined(__CYGWIN__) +#define BROTLI_PUBLIC +#elif BROTLI_GNUC_VERSION_CHECK(3, 3, 0) || \ + BROTLI_TI_VERSION_CHECK(8, 0, 0) || \ + BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \ + BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \ + BROTLI_IBM_VERSION_CHECK(13, 1, 0) || \ + BROTLI_SUNPRO_VERSION_CHECK(5, 11, 0) || \ + (BROTLI_TI_VERSION_CHECK(7, 3, 0) && \ + defined(__TI_GNU_ATTRIBUTE_SUPPORT__) && defined(__TI_EABI__)) +#define BROTLI_PUBLIC __attribute__ ((visibility ("default"))) +#else +#define BROTLI_PUBLIC +#endif + +/* BROTLI_INTERNAL could be defined to override visibility, e.g. for tests. */ +#if !defined(BROTLI_INTERNAL) +#if defined(_WIN32) || defined(__CYGWIN__) +#define BROTLI_INTERNAL +#elif BROTLI_GNUC_VERSION_CHECK(3, 3, 0) || \ + BROTLI_TI_VERSION_CHECK(8, 0, 0) || \ + BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \ + BROTLI_ARM_VERSION_CHECK(4, 1, 0) || \ + BROTLI_IBM_VERSION_CHECK(13, 1, 0) || \ + BROTLI_SUNPRO_VERSION_CHECK(5, 11, 0) || \ + (BROTLI_TI_VERSION_CHECK(7, 3, 0) && \ + defined(__TI_GNU_ATTRIBUTE_SUPPORT__) && defined(__TI_EABI__)) +#define BROTLI_INTERNAL __attribute__ ((visibility ("hidden"))) +#else +#define BROTLI_INTERNAL +#endif +#endif + +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && !defined(__cplusplus) && \ + !defined(__PGI) && !defined(__PGIC__) && !defined(__TINYC__) && \ + !defined(__clang__) +#define BROTLI_ARRAY_PARAM(name) (name) +#else +#define BROTLI_ARRAY_PARAM(name) +#endif + +/* <<< <<< <<< end of hedley macros. */ + +#if defined(BROTLI_SHARED_COMPILATION) +#if defined(_WIN32) +#if defined(BROTLICOMMON_SHARED_COMPILATION) +#define BROTLI_COMMON_API __declspec(dllexport) +#else +#define BROTLI_COMMON_API __declspec(dllimport) +#endif /* BROTLICOMMON_SHARED_COMPILATION */ +#if defined(BROTLIDEC_SHARED_COMPILATION) +#define BROTLI_DEC_API __declspec(dllexport) +#else +#define BROTLI_DEC_API __declspec(dllimport) +#endif /* BROTLIDEC_SHARED_COMPILATION */ +#if defined(BROTLIENC_SHARED_COMPILATION) +#define BROTLI_ENC_API __declspec(dllexport) +#else +#define BROTLI_ENC_API __declspec(dllimport) +#endif /* BROTLIENC_SHARED_COMPILATION */ +#else /* _WIN32 */ +#define BROTLI_COMMON_API BROTLI_PUBLIC +#define BROTLI_DEC_API BROTLI_PUBLIC +#define BROTLI_ENC_API BROTLI_PUBLIC +#endif /* _WIN32 */ +#else /* BROTLI_SHARED_COMPILATION */ +#define BROTLI_COMMON_API +#define BROTLI_DEC_API +#define BROTLI_ENC_API +#endif + +#if defined(BROTLI_BUILD_ENC_EXTRA_API) +#define BROTLI_ENC_EXTRA_API BROTLI_ENC_API +#else +#define BROTLI_ENC_EXTRA_API BROTLI_INTERNAL +#endif + +#endif /* BROTLI_COMMON_PORT_H_ */ diff --git a/curl/include/brotli/shared_dictionary.h b/curl/include/brotli/shared_dictionary.h new file mode 100644 index 0000000..2970c2d --- /dev/null +++ b/curl/include/brotli/shared_dictionary.h @@ -0,0 +1,100 @@ +/* Copyright 2017 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/* (Opaque) Shared Dictionary definition and utilities. */ + +#ifndef BROTLI_COMMON_SHARED_DICTIONARY_H_ +#define BROTLI_COMMON_SHARED_DICTIONARY_H_ + +#include +#include + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define SHARED_BROTLI_MIN_DICTIONARY_WORD_LENGTH 4 +#define SHARED_BROTLI_MAX_DICTIONARY_WORD_LENGTH 31 +#define SHARED_BROTLI_NUM_DICTIONARY_CONTEXTS 64 +#define SHARED_BROTLI_MAX_COMPOUND_DICTS 15 + +/** + * Opaque structure that holds shared dictionary data. + * + * Allocated and initialized with ::BrotliSharedDictionaryCreateInstance. + * Cleaned up and deallocated with ::BrotliSharedDictionaryDestroyInstance. + */ +typedef struct BrotliSharedDictionaryStruct BrotliSharedDictionary; + +/** + * Input data type for ::BrotliSharedDictionaryAttach. + */ +typedef enum BrotliSharedDictionaryType { + /** Raw LZ77 prefix dictionary. */ + BROTLI_SHARED_DICTIONARY_RAW = 0, + /** Serialized shared dictionary. + * + * DO NOT USE: methods accepting this value will fail. + */ + BROTLI_SHARED_DICTIONARY_SERIALIZED = 1 +} BrotliSharedDictionaryType; + +/** + * Creates an instance of ::BrotliSharedDictionary. + * + * Fresh instance has default word dictionary and transforms + * and no LZ77 prefix dictionary. + * + * @p alloc_func and @p free_func @b MUST be both zero or both non-zero. In the + * case they are both zero, default memory allocators are used. @p opaque is + * passed to @p alloc_func and @p free_func when they are called. @p free_func + * has to return without doing anything when asked to free a NULL pointer. + * + * @param alloc_func custom memory allocation function + * @param free_func custom memory free function + * @param opaque custom memory manager handle + * @returns @c 0 if instance can not be allocated or initialized + * @returns pointer to initialized ::BrotliSharedDictionary otherwise + */ +BROTLI_COMMON_API BrotliSharedDictionary* BrotliSharedDictionaryCreateInstance( + brotli_alloc_func alloc_func, brotli_free_func free_func, void* opaque); + +/** + * Deinitializes and frees ::BrotliSharedDictionary instance. + * + * @param dict shared dictionary instance to be cleaned up and deallocated + */ +BROTLI_COMMON_API void BrotliSharedDictionaryDestroyInstance( + BrotliSharedDictionary* dict); + +/** + * Attaches dictionary to a given instance of ::BrotliSharedDictionary. + * + * Dictionary to be attached is represented in a serialized format as a region + * of memory. + * + * Provided data it partially referenced by a resulting (compound) dictionary, + * and should be kept untouched, while at least one compound dictionary uses it. + * This way memory overhead is kept minimal by the cost of additional resource + * management. + * + * @param dict dictionary to extend + * @param type type of dictionary to attach + * @param data_size size of @p data + * @param data serialized dictionary of type @p type, with at least @p data_size + * addressable bytes + * @returns ::BROTLI_TRUE if provided dictionary is successfully attached + * @returns ::BROTLI_FALSE otherwise + */ +BROTLI_COMMON_API BROTLI_BOOL BrotliSharedDictionaryAttach( + BrotliSharedDictionary* dict, BrotliSharedDictionaryType type, + size_t data_size, const uint8_t data[BROTLI_ARRAY_PARAM(data_size)]); + +#if defined(__cplusplus) || defined(c_plusplus) +} /* extern "C" */ +#endif + +#endif /* BROTLI_COMMON_SHARED_DICTIONARY_H_ */ diff --git a/curl/include/brotli/types.h b/curl/include/brotli/types.h new file mode 100644 index 0000000..eff1a3c --- /dev/null +++ b/curl/include/brotli/types.h @@ -0,0 +1,83 @@ +/* Copyright 2013 Google Inc. All Rights Reserved. + + Distributed under MIT license. + See file LICENSE for detail or copy at https://opensource.org/licenses/MIT +*/ + +/** + * @file + * Common types used in decoder and encoder API. + */ + +#ifndef BROTLI_COMMON_TYPES_H_ +#define BROTLI_COMMON_TYPES_H_ + +#include /* for size_t */ + +#if defined(_MSC_VER) && (_MSC_VER < 1600) +typedef __int8 int8_t; +typedef unsigned __int8 uint8_t; +typedef __int16 int16_t; +typedef unsigned __int16 uint16_t; +typedef __int32 int32_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +typedef __int64 int64_t; +#else +#include +#endif /* defined(_MSC_VER) && (_MSC_VER < 1600) */ + +/** + * A portable @c bool replacement. + * + * ::BROTLI_BOOL is a "documentation" type: actually it is @c int, but in API it + * denotes a type, whose only values are ::BROTLI_TRUE and ::BROTLI_FALSE. + * + * ::BROTLI_BOOL values passed to Brotli should either be ::BROTLI_TRUE or + * ::BROTLI_FALSE, or be a result of ::TO_BROTLI_BOOL macros. + * + * ::BROTLI_BOOL values returned by Brotli should not be tested for equality + * with @c true, @c false, ::BROTLI_TRUE, ::BROTLI_FALSE, but rather should be + * evaluated, for example: @code{.cpp} + * if (SomeBrotliFunction(encoder, BROTLI_TRUE) && + * !OtherBrotliFunction(decoder, BROTLI_FALSE)) { + * bool x = !!YetAnotherBrotliFunction(encoder, TO_BROLTI_BOOL(2 * 2 == 4)); + * DoSomething(x); + * } + * @endcode + */ +#define BROTLI_BOOL int +/** Portable @c true replacement. */ +#define BROTLI_TRUE 1 +/** Portable @c false replacement. */ +#define BROTLI_FALSE 0 +/** @c bool to ::BROTLI_BOOL conversion macros. */ +#define TO_BROTLI_BOOL(X) (!!(X) ? BROTLI_TRUE : BROTLI_FALSE) + +#define BROTLI_MAKE_UINT64_T(high, low) ((((uint64_t)(high)) << 32) | low) + +#define BROTLI_UINT32_MAX (~((uint32_t)0)) +#define BROTLI_SIZE_MAX (~((size_t)0)) + +/** + * Allocating function pointer type. + * + * @param opaque custom memory manager handle provided by client + * @param size requested memory region size; can not be @c 0 + * @returns @c 0 in the case of failure + * @returns a valid pointer to a memory region of at least @p size bytes + * long otherwise + */ +typedef void* (*brotli_alloc_func)(void* opaque, size_t size); + +/** + * Deallocating function pointer type. + * + * This function @b SHOULD do nothing if @p address is @c 0. + * + * @param opaque custom memory manager handle provided by client + * @param address memory region pointer returned by ::brotli_alloc_func, or @c 0 + */ +typedef void (*brotli_free_func)(void* opaque, void* address); + +#endif /* BROTLI_COMMON_TYPES_H_ */ diff --git a/curl/include/curl/curl.h b/curl/include/curl/curl.h new file mode 100644 index 0000000..128d1d3 --- /dev/null +++ b/curl/include/curl/curl.h @@ -0,0 +1,3348 @@ +#ifndef CURLINC_CURL_H +#define CURLINC_CURL_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * If you have libcurl problems, all docs and details are found here: + * https://curl.se/libcurl/ + */ + +#ifdef CURL_NO_OLDIES +#define CURL_STRICTER /* not used since 8.11.0 */ +#endif + +/* Compile-time deprecation macros. */ +#if (defined(__GNUC__) && \ + ((__GNUC__ > 12) || ((__GNUC__ == 12) && (__GNUC_MINOR__ >= 1))) || \ + (defined(__clang__) && __clang_major__ >= 3) || \ + defined(__IAR_SYSTEMS_ICC__)) && \ + !defined(__INTEL_COMPILER) && \ + !defined(CURL_DISABLE_DEPRECATION) && !defined(BUILDING_LIBCURL) +#define CURL_DEPRECATED(version, message) \ + __attribute__((deprecated("since " # version ". " message))) +#ifdef __IAR_SYSTEMS_ICC__ +#define CURL_IGNORE_DEPRECATION(statements) \ + _Pragma("diag_suppress=Pe1444") \ + statements \ + _Pragma("diag_default=Pe1444") +#else +#define CURL_IGNORE_DEPRECATION(statements) \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \ + statements \ + _Pragma("GCC diagnostic pop") +#endif +#else +#define CURL_DEPRECATED(version, message) +#define CURL_IGNORE_DEPRECATION(statements) statements +#endif + +#include "curlver.h" /* libcurl version defines */ +#include "system.h" /* determine things runtime */ + +#include +#include + +#if defined(__FreeBSD__) || defined(__MidnightBSD__) +/* Needed for __FreeBSD_version or __MidnightBSD_version symbol definition */ +#include +#endif + +/* The include stuff here below is mainly for time_t! */ +#include +#include + +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__) +#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \ + defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H)) +/* The check above prevents the winsock2.h inclusion if winsock.h already was + included, since they cannot co-exist without problems */ +#include +#include +#endif +#endif + +/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish + libc5-based Linux systems. Only include it on systems that are known to + require it! */ +#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ + defined(__minix) || defined(__INTEGRITY) || \ + defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ + defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \ + (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \ + (defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000)) || \ + defined(__sun__) || defined(__serenity__) || defined(__vxworks__) +#include +#endif + +#ifndef _WIN32 +#include +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void CURL; +typedef void CURLSH; + +/* + * libcurl external API function linkage decorations. + */ + +#ifdef __has_declspec_attribute +#define CURL_HAS_DECLSPEC_ATTRIBUTE(x) __has_declspec_attribute(x) +#else +#define CURL_HAS_DECLSPEC_ATTRIBUTE(x) 0 +#endif + +#ifdef CURL_STATICLIB +# define CURL_EXTERN +#elif defined(_WIN32) || \ + (CURL_HAS_DECLSPEC_ATTRIBUTE(dllexport) && \ + CURL_HAS_DECLSPEC_ATTRIBUTE(dllimport)) +# if defined(BUILDING_LIBCURL) +# define CURL_EXTERN __declspec(dllexport) +# else +# define CURL_EXTERN __declspec(dllimport) +# endif +#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS) +# define CURL_EXTERN CURL_EXTERN_SYMBOL +#else +# define CURL_EXTERN +#endif + +#ifndef curl_socket_typedef +/* socket typedef */ +#if defined(_WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H) +typedef SOCKET curl_socket_t; +#define CURL_SOCKET_BAD INVALID_SOCKET +#else +typedef int curl_socket_t; +#define CURL_SOCKET_BAD -1 +#endif +#define curl_socket_typedef +#endif /* curl_socket_typedef */ + +/* enum for the different supported SSL backends */ +typedef enum { + CURLSSLBACKEND_NONE = 0, + CURLSSLBACKEND_OPENSSL = 1, + CURLSSLBACKEND_GNUTLS = 2, + CURLSSLBACKEND_NSS CURL_DEPRECATED(8.3.0, "") = 3, + CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */ + CURLSSLBACKEND_GSKIT CURL_DEPRECATED(8.3.0, "") = 5, + CURLSSLBACKEND_POLARSSL CURL_DEPRECATED(7.69.0, "") = 6, + CURLSSLBACKEND_WOLFSSL = 7, + CURLSSLBACKEND_SCHANNEL = 8, + CURLSSLBACKEND_SECURETRANSPORT = 9, + CURLSSLBACKEND_AXTLS CURL_DEPRECATED(7.61.0, "") = 10, + CURLSSLBACKEND_MBEDTLS = 11, + CURLSSLBACKEND_MESALINK CURL_DEPRECATED(7.82.0, "") = 12, + CURLSSLBACKEND_BEARSSL = 13, + CURLSSLBACKEND_RUSTLS = 14 +} curl_sslbackend; + +/* aliases for library clones and renames */ +#define CURLSSLBACKEND_AWSLC CURLSSLBACKEND_OPENSSL +#define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL +#define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL + +/* deprecated names: */ +#define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL +#define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT + +/* bits for the CURLOPT_FOLLOWLOCATION option */ +#define CURLFOLLOW_ALL 1L /* generic follow redirects */ + +/* Do not use the custom method in the follow-up request if the HTTP code + instructs so (301, 302, 303). */ +#define CURLFOLLOW_OBEYCODE 2L + +/* Only use the custom method in the first request, always reset in the next */ +#define CURLFOLLOW_FIRSTONLY 3L + +struct curl_httppost { + struct curl_httppost *next; /* next entry in the list */ + char *name; /* pointer to allocated name */ + long namelength; /* length of name length */ + char *contents; /* pointer to allocated data contents */ + long contentslength; /* length of contents field, see also + CURL_HTTPPOST_LARGE */ + char *buffer; /* pointer to allocated buffer contents */ + long bufferlength; /* length of buffer field */ + char *contenttype; /* Content-Type */ + struct curl_slist *contentheader; /* list of extra headers for this form */ + struct curl_httppost *more; /* if one field name has more than one + file, this link should link to following + files */ + long flags; /* as defined below */ + +/* specified content is a filename */ +#define CURL_HTTPPOST_FILENAME (1<<0) +/* specified content is a filename */ +#define CURL_HTTPPOST_READFILE (1<<1) +/* name is only stored pointer do not free in formfree */ +#define CURL_HTTPPOST_PTRNAME (1<<2) +/* contents is only stored pointer do not free in formfree */ +#define CURL_HTTPPOST_PTRCONTENTS (1<<3) +/* upload file from buffer */ +#define CURL_HTTPPOST_BUFFER (1<<4) +/* upload file from pointer contents */ +#define CURL_HTTPPOST_PTRBUFFER (1<<5) +/* upload file contents by using the regular read callback to get the data and + pass the given pointer as custom pointer */ +#define CURL_HTTPPOST_CALLBACK (1<<6) +/* use size in 'contentlen', added in 7.46.0 */ +#define CURL_HTTPPOST_LARGE (1<<7) + + char *showfilename; /* The filename to show. If not set, the + actual filename will be used (if this + is a file part) */ + void *userp; /* custom pointer used for + HTTPPOST_CALLBACK posts */ + curl_off_t contentlen; /* alternative length of contents + field. Used if CURL_HTTPPOST_LARGE is + set. Added in 7.46.0 */ +}; + + +/* This is a return code for the progress callback that, when returned, will + signal libcurl to continue executing the default progress function */ +#define CURL_PROGRESSFUNC_CONTINUE 0x10000001 + +/* This is the CURLOPT_PROGRESSFUNCTION callback prototype. It is now + considered deprecated but was the only choice up until 7.31.0 */ +typedef int (*curl_progress_callback)(void *clientp, + double dltotal, + double dlnow, + double ultotal, + double ulnow); + +/* This is the CURLOPT_XFERINFOFUNCTION callback prototype. It was introduced + in 7.32.0, avoids the use of floating point numbers and provides more + detailed information. */ +typedef int (*curl_xferinfo_callback)(void *clientp, + curl_off_t dltotal, + curl_off_t dlnow, + curl_off_t ultotal, + curl_off_t ulnow); + +#ifndef CURL_MAX_READ_SIZE + /* The maximum receive buffer size configurable via CURLOPT_BUFFERSIZE. */ +#define CURL_MAX_READ_SIZE (10*1024*1024) +#endif + +#ifndef CURL_MAX_WRITE_SIZE + /* Tests have proven that 20K is a bad buffer size for uploads on Windows, + while 16K for some odd reason performed a lot better. We do the ifndef + check to allow this value to easier be changed at build time for those + who feel adventurous. The practical minimum is about 400 bytes since + libcurl uses a buffer of this size as a scratch area (unrelated to + network send operations). */ +#define CURL_MAX_WRITE_SIZE 16384 +#endif + +#ifndef CURL_MAX_HTTP_HEADER +/* The only reason to have a max limit for this is to avoid the risk of a bad + server feeding libcurl with a never-ending header that will cause reallocs + infinitely */ +#define CURL_MAX_HTTP_HEADER (100*1024) +#endif + +/* This is a magic return code for the write callback that, when returned, + will signal libcurl to pause receiving on the current transfer. */ +#define CURL_WRITEFUNC_PAUSE 0x10000001 + +/* This is a magic return code for the write callback that, when returned, + will signal an error from the callback. */ +#define CURL_WRITEFUNC_ERROR 0xFFFFFFFF + +typedef size_t (*curl_write_callback)(char *buffer, + size_t size, + size_t nitems, + void *outstream); + +/* This callback will be called when a new resolver request is made */ +typedef int (*curl_resolver_start_callback)(void *resolver_state, + void *reserved, void *userdata); + +/* enumeration of file types */ +typedef enum { + CURLFILETYPE_FILE = 0, + CURLFILETYPE_DIRECTORY, + CURLFILETYPE_SYMLINK, + CURLFILETYPE_DEVICE_BLOCK, + CURLFILETYPE_DEVICE_CHAR, + CURLFILETYPE_NAMEDPIPE, + CURLFILETYPE_SOCKET, + CURLFILETYPE_DOOR, /* is possible only on Sun Solaris now */ + + CURLFILETYPE_UNKNOWN /* should never occur */ +} curlfiletype; + +#define CURLFINFOFLAG_KNOWN_FILENAME (1<<0) +#define CURLFINFOFLAG_KNOWN_FILETYPE (1<<1) +#define CURLFINFOFLAG_KNOWN_TIME (1<<2) +#define CURLFINFOFLAG_KNOWN_PERM (1<<3) +#define CURLFINFOFLAG_KNOWN_UID (1<<4) +#define CURLFINFOFLAG_KNOWN_GID (1<<5) +#define CURLFINFOFLAG_KNOWN_SIZE (1<<6) +#define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7) + +/* Information about a single file, used when doing FTP wildcard matching */ +struct curl_fileinfo { + char *filename; + curlfiletype filetype; + time_t time; /* always zero! */ + unsigned int perm; + int uid; + int gid; + curl_off_t size; + long int hardlinks; + + struct { + /* If some of these fields is not NULL, it is a pointer to b_data. */ + char *time; + char *perm; + char *user; + char *group; + char *target; /* pointer to the target filename of a symlink */ + } strings; + + unsigned int flags; + + /* These are libcurl private struct fields. Previously used by libcurl, so + they must never be interfered with. */ + char *b_data; + size_t b_size; + size_t b_used; +}; + +/* return codes for CURLOPT_CHUNK_BGN_FUNCTION */ +#define CURL_CHUNK_BGN_FUNC_OK 0 +#define CURL_CHUNK_BGN_FUNC_FAIL 1 /* tell the lib to end the task */ +#define CURL_CHUNK_BGN_FUNC_SKIP 2 /* skip this chunk over */ + +/* if splitting of data transfer is enabled, this callback is called before + download of an individual chunk started. Note that parameter "remains" works + only for FTP wildcard downloading (for now), otherwise is not used */ +typedef long (*curl_chunk_bgn_callback)(const void *transfer_info, + void *ptr, + int remains); + +/* return codes for CURLOPT_CHUNK_END_FUNCTION */ +#define CURL_CHUNK_END_FUNC_OK 0 +#define CURL_CHUNK_END_FUNC_FAIL 1 /* tell the lib to end the task */ + +/* If splitting of data transfer is enabled this callback is called after + download of an individual chunk finished. + Note! After this callback was set then it have to be called FOR ALL chunks. + Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC. + This is the reason why we do not need "transfer_info" parameter in this + callback and we are not interested in "remains" parameter too. */ +typedef long (*curl_chunk_end_callback)(void *ptr); + +/* return codes for FNMATCHFUNCTION */ +#define CURL_FNMATCHFUNC_MATCH 0 /* string corresponds to the pattern */ +#define CURL_FNMATCHFUNC_NOMATCH 1 /* pattern does not match the string */ +#define CURL_FNMATCHFUNC_FAIL 2 /* an error occurred */ + +/* callback type for wildcard downloading pattern matching. If the + string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc. */ +typedef int (*curl_fnmatch_callback)(void *ptr, + const char *pattern, + const char *string); + +/* These are the return codes for the seek callbacks */ +#define CURL_SEEKFUNC_OK 0 +#define CURL_SEEKFUNC_FAIL 1 /* fail the entire transfer */ +#define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking cannot be done, so + libcurl might try other means instead */ +typedef int (*curl_seek_callback)(void *instream, + curl_off_t offset, + int origin); /* 'whence' */ + +/* This is a return code for the read callback that, when returned, will + signal libcurl to immediately abort the current transfer. */ +#define CURL_READFUNC_ABORT 0x10000000 +/* This is a return code for the read callback that, when returned, will + signal libcurl to pause sending data on the current transfer. */ +#define CURL_READFUNC_PAUSE 0x10000001 + +/* Return code for when the trailing headers' callback has terminated + without any errors */ +#define CURL_TRAILERFUNC_OK 0 +/* Return code for when was an error in the trailing header's list and we + want to abort the request */ +#define CURL_TRAILERFUNC_ABORT 1 + +typedef size_t (*curl_read_callback)(char *buffer, + size_t size, + size_t nitems, + void *instream); + +typedef int (*curl_trailer_callback)(struct curl_slist **list, + void *userdata); + +typedef enum { + CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */ + CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */ + CURLSOCKTYPE_LAST /* never use */ +} curlsocktype; + +/* The return code from the sockopt_callback can signal information back + to libcurl: */ +#define CURL_SOCKOPT_OK 0 +#define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return + CURLE_ABORTED_BY_CALLBACK */ +#define CURL_SOCKOPT_ALREADY_CONNECTED 2 + +typedef int (*curl_sockopt_callback)(void *clientp, + curl_socket_t curlfd, + curlsocktype purpose); + +struct curl_sockaddr { + int family; + int socktype; + int protocol; + unsigned int addrlen; /* addrlen was a socklen_t type before 7.18.0 but it + turned really ugly and painful on the systems that + lack this type */ + struct sockaddr addr; +}; + +typedef curl_socket_t +(*curl_opensocket_callback)(void *clientp, + curlsocktype purpose, + struct curl_sockaddr *address); + +typedef int +(*curl_closesocket_callback)(void *clientp, curl_socket_t item); + +typedef enum { + CURLIOE_OK, /* I/O operation successful */ + CURLIOE_UNKNOWNCMD, /* command was unknown to callback */ + CURLIOE_FAILRESTART, /* failed to restart the read */ + CURLIOE_LAST /* never use */ +} curlioerr; + +typedef enum { + CURLIOCMD_NOP, /* no operation */ + CURLIOCMD_RESTARTREAD, /* restart the read stream from start */ + CURLIOCMD_LAST /* never use */ +} curliocmd; + +typedef curlioerr (*curl_ioctl_callback)(CURL *handle, + int cmd, + void *clientp); + +#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS +/* + * The following typedef's are signatures of malloc, free, realloc, strdup and + * calloc respectively. Function pointers of these types can be passed to the + * curl_global_init_mem() function to set user defined memory management + * callback routines. + */ +typedef void *(*curl_malloc_callback)(size_t size); +typedef void (*curl_free_callback)(void *ptr); +typedef void *(*curl_realloc_callback)(void *ptr, size_t size); +typedef char *(*curl_strdup_callback)(const char *str); +typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size); + +#define CURL_DID_MEMORY_FUNC_TYPEDEFS +#endif + +/* the kind of data that is passed to information_callback */ +typedef enum { + CURLINFO_TEXT = 0, + CURLINFO_HEADER_IN, /* 1 */ + CURLINFO_HEADER_OUT, /* 2 */ + CURLINFO_DATA_IN, /* 3 */ + CURLINFO_DATA_OUT, /* 4 */ + CURLINFO_SSL_DATA_IN, /* 5 */ + CURLINFO_SSL_DATA_OUT, /* 6 */ + CURLINFO_END +} curl_infotype; + +typedef int (*curl_debug_callback) + (CURL *handle, /* the handle/transfer this concerns */ + curl_infotype type, /* what kind of data */ + char *data, /* points to the data */ + size_t size, /* size of the data pointed to */ + void *userptr); /* whatever the user please */ + +/* This is the CURLOPT_PREREQFUNCTION callback prototype. */ +typedef int (*curl_prereq_callback)(void *clientp, + char *conn_primary_ip, + char *conn_local_ip, + int conn_primary_port, + int conn_local_port); + +/* Return code for when the pre-request callback has terminated without + any errors */ +#define CURL_PREREQFUNC_OK 0 +/* Return code for when the pre-request callback wants to abort the + request */ +#define CURL_PREREQFUNC_ABORT 1 + +/* All possible error codes from all sorts of curl functions. Future versions + may return other values, stay prepared. + + Always add new return codes last. Never *EVER* remove any. The return + codes must remain the same! + */ + +typedef enum { + CURLE_OK = 0, + CURLE_UNSUPPORTED_PROTOCOL, /* 1 */ + CURLE_FAILED_INIT, /* 2 */ + CURLE_URL_MALFORMAT, /* 3 */ + CURLE_NOT_BUILT_IN, /* 4 - [was obsoleted in August 2007 for + 7.17.0, reused in April 2011 for 7.21.5] */ + CURLE_COULDNT_RESOLVE_PROXY, /* 5 */ + CURLE_COULDNT_RESOLVE_HOST, /* 6 */ + CURLE_COULDNT_CONNECT, /* 7 */ + CURLE_WEIRD_SERVER_REPLY, /* 8 */ + CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server + due to lack of access - when login fails + this is not returned. */ + CURLE_FTP_ACCEPT_FAILED, /* 10 - [was obsoleted in April 2006 for + 7.15.4, reused in Dec 2011 for 7.24.0]*/ + CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */ + CURLE_FTP_ACCEPT_TIMEOUT, /* 12 - timeout occurred accepting server + [was obsoleted in August 2007 for 7.17.0, + reused in Dec 2011 for 7.24.0]*/ + CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ + CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ + CURLE_FTP_CANT_GET_HOST, /* 15 */ + CURLE_HTTP2, /* 16 - A problem in the http2 framing layer. + [was obsoleted in August 2007 for 7.17.0, + reused in July 2014 for 7.38.0] */ + CURLE_FTP_COULDNT_SET_TYPE, /* 17 */ + CURLE_PARTIAL_FILE, /* 18 */ + CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ + CURLE_OBSOLETE20, /* 20 - NOT USED */ + CURLE_QUOTE_ERROR, /* 21 - quote command failure */ + CURLE_HTTP_RETURNED_ERROR, /* 22 */ + CURLE_WRITE_ERROR, /* 23 */ + CURLE_OBSOLETE24, /* 24 - NOT USED */ + CURLE_UPLOAD_FAILED, /* 25 - failed upload "command" */ + CURLE_READ_ERROR, /* 26 - could not open/read from file */ + CURLE_OUT_OF_MEMORY, /* 27 */ + CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was reached */ + CURLE_OBSOLETE29, /* 29 - NOT USED */ + CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */ + CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */ + CURLE_OBSOLETE32, /* 32 - NOT USED */ + CURLE_RANGE_ERROR, /* 33 - RANGE "command" did not work */ + CURLE_OBSOLETE34, /* 34 */ + CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */ + CURLE_BAD_DOWNLOAD_RESUME, /* 36 - could not resume download */ + CURLE_FILE_COULDNT_READ_FILE, /* 37 */ + CURLE_LDAP_CANNOT_BIND, /* 38 */ + CURLE_LDAP_SEARCH_FAILED, /* 39 */ + CURLE_OBSOLETE40, /* 40 - NOT USED */ + CURLE_OBSOLETE41, /* 41 - NOT USED starting with 7.53.0 */ + CURLE_ABORTED_BY_CALLBACK, /* 42 */ + CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */ + CURLE_OBSOLETE44, /* 44 - NOT USED */ + CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */ + CURLE_OBSOLETE46, /* 46 - NOT USED */ + CURLE_TOO_MANY_REDIRECTS, /* 47 - catch endless re-direct loops */ + CURLE_UNKNOWN_OPTION, /* 48 - User specified an unknown option */ + CURLE_SETOPT_OPTION_SYNTAX, /* 49 - Malformed setopt option */ + CURLE_OBSOLETE50, /* 50 - NOT USED */ + CURLE_OBSOLETE51, /* 51 - NOT USED */ + CURLE_GOT_NOTHING, /* 52 - when this is a specific error */ + CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */ + CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as + default */ + CURLE_SEND_ERROR, /* 55 - failed sending network data */ + CURLE_RECV_ERROR, /* 56 - failure in receiving network data */ + CURLE_OBSOLETE57, /* 57 - NOT IN USE */ + CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */ + CURLE_SSL_CIPHER, /* 59 - could not use specified cipher */ + CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint + was not verified fine */ + CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */ + CURLE_OBSOLETE62, /* 62 - NOT IN USE since 7.82.0 */ + CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */ + CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */ + CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind + that failed */ + CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */ + CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not + accepted and we failed to login */ + CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */ + CURLE_TFTP_PERM, /* 69 - permission problem on server */ + CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */ + CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */ + CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */ + CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */ + CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */ + CURLE_OBSOLETE75, /* 75 - NOT IN USE since 7.82.0 */ + CURLE_OBSOLETE76, /* 76 - NOT IN USE since 7.82.0 */ + CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing + or wrong format */ + CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */ + CURLE_SSH, /* 79 - error from the SSH layer, somewhat + generic so the error message will be of + interest when this has happened */ + + CURLE_SSL_SHUTDOWN_FAILED, /* 80 - Failed to shut down the SSL + connection */ + CURLE_AGAIN, /* 81 - socket is not ready for send/recv, + wait till it is ready and try again (Added + in 7.18.2) */ + CURLE_SSL_CRL_BADFILE, /* 82 - could not load CRL file, missing or + wrong format (Added in 7.19.0) */ + CURLE_SSL_ISSUER_ERROR, /* 83 - Issuer check failed. (Added in + 7.19.0) */ + CURLE_FTP_PRET_FAILED, /* 84 - a PRET command failed */ + CURLE_RTSP_CSEQ_ERROR, /* 85 - mismatch of RTSP CSeq numbers */ + CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Ids */ + CURLE_FTP_BAD_FILE_LIST, /* 87 - unable to parse FTP file list */ + CURLE_CHUNK_FAILED, /* 88 - chunk callback reported error */ + CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the + session will be queued */ + CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not + match */ + CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */ + CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer + */ + CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from + inside a callback */ + CURLE_AUTH_ERROR, /* 94 - an authentication function returned an + error */ + CURLE_HTTP3, /* 95 - An HTTP/3 layer problem */ + CURLE_QUIC_CONNECT_ERROR, /* 96 - QUIC connection error */ + CURLE_PROXY, /* 97 - proxy handshake error */ + CURLE_SSL_CLIENTCERT, /* 98 - client-side certificate required */ + CURLE_UNRECOVERABLE_POLL, /* 99 - poll/select returned fatal error */ + CURLE_TOO_LARGE, /* 100 - a value/data met its maximum */ + CURLE_ECH_REQUIRED, /* 101 - ECH tried but failed */ + CURL_LAST, /* never use! */ + + CURLE_RESERVED115 = 115, /* 115-126 - used in tests */ + CURLE_RESERVED116 = 116, + CURLE_RESERVED117 = 117, + CURLE_RESERVED118 = 118, + CURLE_RESERVED119 = 119, + CURLE_RESERVED120 = 120, + CURLE_RESERVED121 = 121, + CURLE_RESERVED122 = 122, + CURLE_RESERVED123 = 123, + CURLE_RESERVED124 = 124, + CURLE_RESERVED125 = 125, + CURLE_RESERVED126 = 126 +} CURLcode; + +#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all + the obsolete stuff removed! */ + +/* removed in 7.53.0 */ +#define CURLE_FUNCTION_NOT_FOUND CURLE_OBSOLETE41 + +/* removed in 7.56.0 */ +#define CURLE_HTTP_POST_ERROR CURLE_OBSOLETE34 + +/* Previously obsolete error code reused in 7.38.0 */ +#define CURLE_OBSOLETE16 CURLE_HTTP2 + +/* Previously obsolete error codes reused in 7.24.0 */ +#define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED +#define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT + +/* compatibility with older names */ +#define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING +#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY + +/* The following were added in 7.62.0 */ +#define CURLE_SSL_CACERT CURLE_PEER_FAILED_VERIFICATION + +/* The following were added in 7.21.5, April 2011 */ +#define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION + +/* Added for 7.78.0 */ +#define CURLE_TELNET_OPTION_SYNTAX CURLE_SETOPT_OPTION_SYNTAX + +/* The following were added in 7.17.1 */ +/* These are scheduled to disappear by 2009 */ +#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION + +/* The following were added in 7.17.0 */ +/* These are scheduled to disappear by 2009 */ +#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* no one should be using this! */ +#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46 +#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44 +#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10 +#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16 +#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32 +#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29 +#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12 +#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20 +#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40 +#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24 +#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57 +#define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN + +#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED +#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE +#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR +#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL +#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS +#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR +#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED + +/* The following were added earlier */ + +#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT +#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR +#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED +#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED +#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE +#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME +#define CURLE_LDAP_INVALID_URL CURLE_OBSOLETE62 +#define CURLE_CONV_REQD CURLE_OBSOLETE76 +#define CURLE_CONV_FAILED CURLE_OBSOLETE75 + +/* This was the error code 50 in 7.7.3 and a few earlier versions, this + is no longer used by libcurl but is instead #defined here only to not + make programs break */ +#define CURLE_ALREADY_COMPLETE 99999 + +/* Provide defines for really old option names */ +#define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */ +#define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */ +#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA + +/* Since long deprecated options with no code in the lib that does anything + with them. */ +#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40 +#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72 +#define CURLOPT_OBSOLETE72 9999 +#define CURLOPT_OBSOLETE40 9999 + +#endif /* !CURL_NO_OLDIES */ + +/* + * Proxy error codes. Returned in CURLINFO_PROXY_ERROR if CURLE_PROXY was + * return for the transfers. + */ +typedef enum { + CURLPX_OK, + CURLPX_BAD_ADDRESS_TYPE, + CURLPX_BAD_VERSION, + CURLPX_CLOSED, + CURLPX_GSSAPI, + CURLPX_GSSAPI_PERMSG, + CURLPX_GSSAPI_PROTECTION, + CURLPX_IDENTD, + CURLPX_IDENTD_DIFFER, + CURLPX_LONG_HOSTNAME, + CURLPX_LONG_PASSWD, + CURLPX_LONG_USER, + CURLPX_NO_AUTH, + CURLPX_RECV_ADDRESS, + CURLPX_RECV_AUTH, + CURLPX_RECV_CONNECT, + CURLPX_RECV_REQACK, + CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED, + CURLPX_REPLY_COMMAND_NOT_SUPPORTED, + CURLPX_REPLY_CONNECTION_REFUSED, + CURLPX_REPLY_GENERAL_SERVER_FAILURE, + CURLPX_REPLY_HOST_UNREACHABLE, + CURLPX_REPLY_NETWORK_UNREACHABLE, + CURLPX_REPLY_NOT_ALLOWED, + CURLPX_REPLY_TTL_EXPIRED, + CURLPX_REPLY_UNASSIGNED, + CURLPX_REQUEST_FAILED, + CURLPX_RESOLVE_HOST, + CURLPX_SEND_AUTH, + CURLPX_SEND_CONNECT, + CURLPX_SEND_REQUEST, + CURLPX_UNKNOWN_FAIL, + CURLPX_UNKNOWN_MODE, + CURLPX_USER_REJECTED, + CURLPX_LAST /* never use */ +} CURLproxycode; + +/* This prototype applies to all conversion callbacks */ +typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length); + +typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */ + void *ssl_ctx, /* actually an OpenSSL + or wolfSSL SSL_CTX, + or an mbedTLS + mbedtls_ssl_config */ + void *userptr); + +typedef enum { + CURLPROXY_HTTP = 0, /* added in 7.10, new in 7.19.4 default is to use + CONNECT HTTP/1.1 */ + CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT + HTTP/1.0 */ + CURLPROXY_HTTPS = 2, /* HTTPS but stick to HTTP/1 added in 7.52.0 */ + CURLPROXY_HTTPS2 = 3, /* HTTPS and attempt HTTP/2 added in 8.2.0 */ + CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already + in 7.10 */ + CURLPROXY_SOCKS5 = 5, /* added in 7.10 */ + CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */ + CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the + hostname rather than the IP address. added + in 7.18.0 */ +} curl_proxytype; /* this enum was added in 7.10 */ + +/* + * Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options: + * + * CURLAUTH_NONE - No HTTP authentication + * CURLAUTH_BASIC - HTTP Basic authentication (default) + * CURLAUTH_DIGEST - HTTP Digest authentication + * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication + * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated) + * CURLAUTH_NTLM - HTTP NTLM authentication + * CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour + * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper + * CURLAUTH_BEARER - HTTP Bearer token authentication + * CURLAUTH_ONLY - Use together with a single other type to force no + * authentication or just that single type + * CURLAUTH_ANY - All fine types set + * CURLAUTH_ANYSAFE - All fine types except Basic + */ + +#define CURLAUTH_NONE ((unsigned long)0) +#define CURLAUTH_BASIC (((unsigned long)1)<<0) +#define CURLAUTH_DIGEST (((unsigned long)1)<<1) +#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2) +/* Deprecated since the advent of CURLAUTH_NEGOTIATE */ +#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE +/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */ +#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE +#define CURLAUTH_NTLM (((unsigned long)1)<<3) +#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4) +#ifndef CURL_NO_OLDIES + /* functionality removed since 8.8.0 */ +#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5) +#endif +#define CURLAUTH_BEARER (((unsigned long)1)<<6) +#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7) +#define CURLAUTH_ONLY (((unsigned long)1)<<31) +#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) +#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) + +#define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */ +#define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */ +#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */ +#define CURLSSH_AUTH_PASSWORD (1<<1) /* password */ +#define CURLSSH_AUTH_HOST (1<<2) /* host key files */ +#define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */ +#define CURLSSH_AUTH_AGENT (1<<4) /* agent (ssh-agent, pageant...) */ +#define CURLSSH_AUTH_GSSAPI (1<<5) /* gssapi (kerberos, ...) */ +#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY + +#define CURLGSSAPI_DELEGATION_NONE 0 /* no delegation (default) */ +#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */ +#define CURLGSSAPI_DELEGATION_FLAG (1<<1) /* delegate always */ + +#define CURL_ERROR_SIZE 256 + +enum curl_khtype { + CURLKHTYPE_UNKNOWN, + CURLKHTYPE_RSA1, + CURLKHTYPE_RSA, + CURLKHTYPE_DSS, + CURLKHTYPE_ECDSA, + CURLKHTYPE_ED25519 +}; + +struct curl_khkey { + const char *key; /* points to a null-terminated string encoded with base64 + if len is zero, otherwise to the "raw" data */ + size_t len; + enum curl_khtype keytype; +}; + +/* this is the set of return values expected from the curl_sshkeycallback + callback */ +enum curl_khstat { + CURLKHSTAT_FINE_ADD_TO_FILE, + CURLKHSTAT_FINE, + CURLKHSTAT_REJECT, /* reject the connection, return an error */ + CURLKHSTAT_DEFER, /* do not accept it, but we cannot answer right now. + Causes a CURLE_PEER_FAILED_VERIFICATION error but the + connection will be left intact etc */ + CURLKHSTAT_FINE_REPLACE, /* accept and replace the wrong key */ + CURLKHSTAT_LAST /* not for use, only a marker for last-in-list */ +}; + +/* this is the set of status codes pass in to the callback */ +enum curl_khmatch { + CURLKHMATCH_OK, /* match */ + CURLKHMATCH_MISMATCH, /* host found, key mismatch! */ + CURLKHMATCH_MISSING, /* no matching host/key found */ + CURLKHMATCH_LAST /* not for use, only a marker for last-in-list */ +}; + +typedef int + (*curl_sshkeycallback) (CURL *easy, /* easy handle */ + const struct curl_khkey *knownkey, /* known */ + const struct curl_khkey *foundkey, /* found */ + enum curl_khmatch, /* libcurl's view on the keys */ + void *clientp); /* custom pointer passed with */ + /* CURLOPT_SSH_KEYDATA */ + +typedef int + (*curl_sshhostkeycallback) (void *clientp,/* custom pointer passed */ + /* with CURLOPT_SSH_HOSTKEYDATA */ + int keytype, /* CURLKHTYPE */ + const char *key, /* hostkey to check */ + size_t keylen); /* length of the key */ + /* return CURLE_OK to accept */ + /* or something else to refuse */ + + +/* parameter for the CURLOPT_USE_SSL option */ +#define CURLUSESSL_NONE 0L /* do not attempt to use SSL */ +#define CURLUSESSL_TRY 1L /* try using SSL, proceed anyway otherwise */ +#define CURLUSESSL_CONTROL 2L /* SSL for the control connection or fail */ +#define CURLUSESSL_ALL 3L /* SSL for all communication or fail */ + +typedef enum { + CURLUSESSL_LAST = 4 /* not an option, never use */ +} curl_usessl; + +/* Definition of bits for the CURLOPT_SSL_OPTIONS argument: */ + +/* - ALLOW_BEAST tells libcurl to allow the BEAST SSL vulnerability in the + name of improving interoperability with older servers. Some SSL libraries + have introduced work-arounds for this flaw but those work-arounds sometimes + make the SSL communication fail. To regain functionality with those broken + servers, a user can this way allow the vulnerability back. */ +#define CURLSSLOPT_ALLOW_BEAST (1<<0) + +/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those + SSL backends where such behavior is present. */ +#define CURLSSLOPT_NO_REVOKE (1<<1) + +/* - NO_PARTIALCHAIN tells libcurl to *NOT* accept a partial certificate chain + if possible. The OpenSSL backend has this ability. */ +#define CURLSSLOPT_NO_PARTIALCHAIN (1<<2) + +/* - REVOKE_BEST_EFFORT tells libcurl to ignore certificate revocation offline + checks and ignore missing revocation list for those SSL backends where such + behavior is present. */ +#define CURLSSLOPT_REVOKE_BEST_EFFORT (1<<3) + +/* - CURLSSLOPT_NATIVE_CA tells libcurl to use standard certificate store of + operating system. Currently implemented under MS-Windows. */ +#define CURLSSLOPT_NATIVE_CA (1<<4) + +/* - CURLSSLOPT_AUTO_CLIENT_CERT tells libcurl to automatically locate and use + a client certificate for authentication. (Schannel) */ +#define CURLSSLOPT_AUTO_CLIENT_CERT (1<<5) + +/* If possible, send data using TLS 1.3 early data */ +#define CURLSSLOPT_EARLYDATA (1<<6) + +/* The default connection attempt delay in milliseconds for happy eyeballs. + CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document + this value, keep them in sync. */ +#define CURL_HET_DEFAULT 200L + +/* The default connection upkeep interval in milliseconds. */ +#define CURL_UPKEEP_INTERVAL_DEFAULT 60000L + +#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all + the obsolete stuff removed! */ + +/* Backwards compatibility with older names */ +/* These are scheduled to disappear by 2009 */ + +#define CURLFTPSSL_NONE CURLUSESSL_NONE +#define CURLFTPSSL_TRY CURLUSESSL_TRY +#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL +#define CURLFTPSSL_ALL CURLUSESSL_ALL +#define CURLFTPSSL_LAST CURLUSESSL_LAST +#define curl_ftpssl curl_usessl +#endif /* !CURL_NO_OLDIES */ + +/* parameter for the CURLOPT_FTP_SSL_CCC option */ +typedef enum { + CURLFTPSSL_CCC_NONE, /* do not send CCC */ + CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */ + CURLFTPSSL_CCC_ACTIVE, /* Initiate the shutdown */ + CURLFTPSSL_CCC_LAST /* not an option, never use */ +} curl_ftpccc; + +/* parameter for the CURLOPT_FTPSSLAUTH option */ +typedef enum { + CURLFTPAUTH_DEFAULT, /* let libcurl decide */ + CURLFTPAUTH_SSL, /* use "AUTH SSL" */ + CURLFTPAUTH_TLS, /* use "AUTH TLS" */ + CURLFTPAUTH_LAST /* not an option, never use */ +} curl_ftpauth; + +/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */ +typedef enum { + CURLFTP_CREATE_DIR_NONE, /* do NOT create missing dirs! */ + CURLFTP_CREATE_DIR, /* (FTP/SFTP) if CWD fails, try MKD and then CWD + again if MKD succeeded, for SFTP this does + similar magic */ + CURLFTP_CREATE_DIR_RETRY, /* (FTP only) if CWD fails, try MKD and then CWD + again even if MKD failed! */ + CURLFTP_CREATE_DIR_LAST /* not an option, never use */ +} curl_ftpcreatedir; + +/* parameter for the CURLOPT_FTP_FILEMETHOD option */ +typedef enum { + CURLFTPMETHOD_DEFAULT, /* let libcurl pick */ + CURLFTPMETHOD_MULTICWD, /* single CWD operation for each path part */ + CURLFTPMETHOD_NOCWD, /* no CWD at all */ + CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */ + CURLFTPMETHOD_LAST /* not an option, never use */ +} curl_ftpmethod; + +/* bitmask defines for CURLOPT_HEADEROPT */ +#define CURLHEADER_UNIFIED 0 +#define CURLHEADER_SEPARATE (1<<0) + +/* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */ +#define CURLALTSVC_READONLYFILE (1<<2) +#define CURLALTSVC_H1 (1<<3) +#define CURLALTSVC_H2 (1<<4) +#define CURLALTSVC_H3 (1<<5) + +/* bitmask values for CURLOPT_UPLOAD_FLAGS */ +#define CURLULFLAG_ANSWERED (1L<<0) +#define CURLULFLAG_DELETED (1L<<1) +#define CURLULFLAG_DRAFT (1L<<2) +#define CURLULFLAG_FLAGGED (1L<<3) +#define CURLULFLAG_SEEN (1L<<4) + +struct curl_hstsentry { + char *name; + size_t namelen; + unsigned int includeSubDomains:1; + char expire[18]; /* YYYYMMDD HH:MM:SS [null-terminated] */ +}; + +struct curl_index { + size_t index; /* the provided entry's "index" or count */ + size_t total; /* total number of entries to save */ +}; + +typedef enum { + CURLSTS_OK, + CURLSTS_DONE, + CURLSTS_FAIL +} CURLSTScode; + +typedef CURLSTScode (*curl_hstsread_callback)(CURL *easy, + struct curl_hstsentry *e, + void *userp); +typedef CURLSTScode (*curl_hstswrite_callback)(CURL *easy, + struct curl_hstsentry *e, + struct curl_index *i, + void *userp); + +/* CURLHSTS_* are bits for the CURLOPT_HSTS option */ +#define CURLHSTS_ENABLE (long)(1<<0) +#define CURLHSTS_READONLYFILE (long)(1<<1) + +/* The CURLPROTO_ defines below are for the **deprecated** CURLOPT_*PROTOCOLS + options. Do not use. */ +#define CURLPROTO_HTTP (1<<0) +#define CURLPROTO_HTTPS (1<<1) +#define CURLPROTO_FTP (1<<2) +#define CURLPROTO_FTPS (1<<3) +#define CURLPROTO_SCP (1<<4) +#define CURLPROTO_SFTP (1<<5) +#define CURLPROTO_TELNET (1<<6) +#define CURLPROTO_LDAP (1<<7) +#define CURLPROTO_LDAPS (1<<8) +#define CURLPROTO_DICT (1<<9) +#define CURLPROTO_FILE (1<<10) +#define CURLPROTO_TFTP (1<<11) +#define CURLPROTO_IMAP (1<<12) +#define CURLPROTO_IMAPS (1<<13) +#define CURLPROTO_POP3 (1<<14) +#define CURLPROTO_POP3S (1<<15) +#define CURLPROTO_SMTP (1<<16) +#define CURLPROTO_SMTPS (1<<17) +#define CURLPROTO_RTSP (1<<18) +#define CURLPROTO_RTMP (1<<19) +#define CURLPROTO_RTMPT (1<<20) +#define CURLPROTO_RTMPE (1<<21) +#define CURLPROTO_RTMPTE (1<<22) +#define CURLPROTO_RTMPS (1<<23) +#define CURLPROTO_RTMPTS (1<<24) +#define CURLPROTO_GOPHER (1<<25) +#define CURLPROTO_SMB (1<<26) +#define CURLPROTO_SMBS (1<<27) +#define CURLPROTO_MQTT (1<<28) +#define CURLPROTO_GOPHERS (1<<29) +#define CURLPROTO_ALL (~0) /* enable everything */ + +/* long may be 32 or 64 bits, but we should never depend on anything else + but 32 */ +#define CURLOPTTYPE_LONG 0 +#define CURLOPTTYPE_OBJECTPOINT 10000 +#define CURLOPTTYPE_FUNCTIONPOINT 20000 +#define CURLOPTTYPE_OFF_T 30000 +#define CURLOPTTYPE_BLOB 40000 + +/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the + string options from the header file */ + + +#define CURLOPT(na,t,nu) na = t + nu +#define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu + +/* CURLOPT aliases that make no runtime difference */ + +/* 'char *' argument to a string with a trailing zero */ +#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT + +/* 'struct curl_slist *' argument */ +#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT + +/* 'void *' argument passed untouched to callback */ +#define CURLOPTTYPE_CBPOINT CURLOPTTYPE_OBJECTPOINT + +/* 'long' argument with a set of values/bitmask */ +#define CURLOPTTYPE_VALUES CURLOPTTYPE_LONG + +/* + * All CURLOPT_* values. + */ + +typedef enum { + /* This is the FILE * or void * the regular output should be written to. */ + CURLOPT(CURLOPT_WRITEDATA, CURLOPTTYPE_CBPOINT, 1), + + /* The full URL to get/put */ + CURLOPT(CURLOPT_URL, CURLOPTTYPE_STRINGPOINT, 2), + + /* Port number to connect to, if other than default. */ + CURLOPT(CURLOPT_PORT, CURLOPTTYPE_LONG, 3), + + /* Name of proxy to use. */ + CURLOPT(CURLOPT_PROXY, CURLOPTTYPE_STRINGPOINT, 4), + + /* "user:password;options" to use when fetching. */ + CURLOPT(CURLOPT_USERPWD, CURLOPTTYPE_STRINGPOINT, 5), + + /* "user:password" to use with proxy. */ + CURLOPT(CURLOPT_PROXYUSERPWD, CURLOPTTYPE_STRINGPOINT, 6), + + /* Range to get, specified as an ASCII string. */ + CURLOPT(CURLOPT_RANGE, CURLOPTTYPE_STRINGPOINT, 7), + + /* not used */ + + /* Specified file stream to upload from (use as input): */ + CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_CBPOINT, 9), + + /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE + * bytes big. */ + CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10), + + /* Function that will be called to store the output (instead of fwrite). The + * parameters will use fwrite() syntax, make sure to follow them. */ + CURLOPT(CURLOPT_WRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 11), + + /* Function that will be called to read the input (instead of fread). The + * parameters will use fread() syntax, make sure to follow them. */ + CURLOPT(CURLOPT_READFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 12), + + /* Time-out the read operation after this amount of seconds */ + CURLOPT(CURLOPT_TIMEOUT, CURLOPTTYPE_LONG, 13), + + /* If CURLOPT_READDATA is used, this can be used to inform libcurl about + * how large the file being sent really is. That allows better error + * checking and better verifies that the upload was successful. -1 means + * unknown size. + * + * For large file support, there is also a _LARGE version of the key + * which takes an off_t type, allowing platforms with larger off_t + * sizes to handle larger files. See below for INFILESIZE_LARGE. + */ + CURLOPT(CURLOPT_INFILESIZE, CURLOPTTYPE_LONG, 14), + + /* POST static input fields. */ + CURLOPT(CURLOPT_POSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 15), + + /* Set the referrer page (needed by some CGIs) */ + CURLOPT(CURLOPT_REFERER, CURLOPTTYPE_STRINGPOINT, 16), + + /* Set the FTP PORT string (interface name, named or numerical IP address) + Use i.e '-' to use default address. */ + CURLOPT(CURLOPT_FTPPORT, CURLOPTTYPE_STRINGPOINT, 17), + + /* Set the User-Agent string (examined by some CGIs) */ + CURLOPT(CURLOPT_USERAGENT, CURLOPTTYPE_STRINGPOINT, 18), + + /* If the download receives less than "low speed limit" bytes/second + * during "low speed time" seconds, the operations is aborted. + * You could i.e if you have a pretty high speed connection, abort if + * it is less than 2000 bytes/sec during 20 seconds. + */ + + /* Set the "low speed limit" */ + CURLOPT(CURLOPT_LOW_SPEED_LIMIT, CURLOPTTYPE_LONG, 19), + + /* Set the "low speed time" */ + CURLOPT(CURLOPT_LOW_SPEED_TIME, CURLOPTTYPE_LONG, 20), + + /* Set the continuation offset. + * + * Note there is also a _LARGE version of this key which uses + * off_t types, allowing for large file offsets on platforms which + * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE. + */ + CURLOPT(CURLOPT_RESUME_FROM, CURLOPTTYPE_LONG, 21), + + /* Set cookie in request: */ + CURLOPT(CURLOPT_COOKIE, CURLOPTTYPE_STRINGPOINT, 22), + + /* This points to a linked list of headers, struct curl_slist kind. This + list is also used for RTSP (in spite of its name) */ + CURLOPT(CURLOPT_HTTPHEADER, CURLOPTTYPE_SLISTPOINT, 23), + + /* This points to a linked list of post entries, struct curl_httppost */ + CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24, + 7.56.0, "Use CURLOPT_MIMEPOST"), + + /* name of the file keeping your private SSL-certificate */ + CURLOPT(CURLOPT_SSLCERT, CURLOPTTYPE_STRINGPOINT, 25), + + /* password for the SSL or SSH private key */ + CURLOPT(CURLOPT_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 26), + + /* send TYPE parameter? */ + CURLOPT(CURLOPT_CRLF, CURLOPTTYPE_LONG, 27), + + /* send linked-list of QUOTE commands */ + CURLOPT(CURLOPT_QUOTE, CURLOPTTYPE_SLISTPOINT, 28), + + /* send FILE * or void * to store headers to, if you use a callback it + is simply passed to the callback unmodified */ + CURLOPT(CURLOPT_HEADERDATA, CURLOPTTYPE_CBPOINT, 29), + + /* point to a file to read the initial cookies from, also enables + "cookie awareness" */ + CURLOPT(CURLOPT_COOKIEFILE, CURLOPTTYPE_STRINGPOINT, 31), + + /* What version to specifically try to use. + See CURL_SSLVERSION defines below. */ + CURLOPT(CURLOPT_SSLVERSION, CURLOPTTYPE_VALUES, 32), + + /* What kind of HTTP time condition to use, see defines */ + CURLOPT(CURLOPT_TIMECONDITION, CURLOPTTYPE_VALUES, 33), + + /* Time to use with the above condition. Specified in number of seconds + since 1 Jan 1970 */ + CURLOPT(CURLOPT_TIMEVALUE, CURLOPTTYPE_LONG, 34), + + /* 35 = OBSOLETE */ + + /* Custom request, for customizing the get command like + HTTP: DELETE, TRACE and others + FTP: to use a different list command + */ + CURLOPT(CURLOPT_CUSTOMREQUEST, CURLOPTTYPE_STRINGPOINT, 36), + + /* FILE handle to use instead of stderr */ + CURLOPT(CURLOPT_STDERR, CURLOPTTYPE_OBJECTPOINT, 37), + + /* 38 is not used */ + + /* send linked-list of post-transfer QUOTE commands */ + CURLOPT(CURLOPT_POSTQUOTE, CURLOPTTYPE_SLISTPOINT, 39), + + /* 40 is not used */ + + /* talk a lot */ + CURLOPT(CURLOPT_VERBOSE, CURLOPTTYPE_LONG, 41), + + /* throw the header out too */ + CURLOPT(CURLOPT_HEADER, CURLOPTTYPE_LONG, 42), + + /* shut off the progress meter */ + CURLOPT(CURLOPT_NOPROGRESS, CURLOPTTYPE_LONG, 43), + + /* use HEAD to get http document */ + CURLOPT(CURLOPT_NOBODY, CURLOPTTYPE_LONG, 44), + + /* no output on http error codes >= 400 */ + CURLOPT(CURLOPT_FAILONERROR, CURLOPTTYPE_LONG, 45), + + /* this is an upload */ + CURLOPT(CURLOPT_UPLOAD, CURLOPTTYPE_LONG, 46), + + /* HTTP POST method */ + CURLOPT(CURLOPT_POST, CURLOPTTYPE_LONG, 47), + + /* bare names when listing directories */ + CURLOPT(CURLOPT_DIRLISTONLY, CURLOPTTYPE_LONG, 48), + + /* Append instead of overwrite on upload! */ + CURLOPT(CURLOPT_APPEND, CURLOPTTYPE_LONG, 50), + + /* Specify whether to read the user+password from the .netrc or the URL. + * This must be one of the CURL_NETRC_* enums below. */ + CURLOPT(CURLOPT_NETRC, CURLOPTTYPE_VALUES, 51), + + /* use Location: Luke! */ + CURLOPT(CURLOPT_FOLLOWLOCATION, CURLOPTTYPE_LONG, 52), + + /* transfer data in text/ASCII format */ + CURLOPT(CURLOPT_TRANSFERTEXT, CURLOPTTYPE_LONG, 53), + + /* HTTP PUT */ + CURLOPTDEPRECATED(CURLOPT_PUT, CURLOPTTYPE_LONG, 54, + 7.12.1, "Use CURLOPT_UPLOAD"), + + /* 55 = OBSOLETE */ + + /* DEPRECATED + * Function that will be called instead of the internal progress display + * function. This function should be defined as the curl_progress_callback + * prototype defines. */ + CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56, + 7.32.0, "Use CURLOPT_XFERINFOFUNCTION"), + + /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION + callbacks */ + CURLOPT(CURLOPT_XFERINFODATA, CURLOPTTYPE_CBPOINT, 57), +#define CURLOPT_PROGRESSDATA CURLOPT_XFERINFODATA + + /* We want the referrer field set automatically when following locations */ + CURLOPT(CURLOPT_AUTOREFERER, CURLOPTTYPE_LONG, 58), + + /* Port of the proxy, can be set in the proxy string as well with: + "[host]:[port]" */ + CURLOPT(CURLOPT_PROXYPORT, CURLOPTTYPE_LONG, 59), + + /* size of the POST input data, if strlen() is not good to use */ + CURLOPT(CURLOPT_POSTFIELDSIZE, CURLOPTTYPE_LONG, 60), + + /* tunnel non-http operations through an HTTP proxy */ + CURLOPT(CURLOPT_HTTPPROXYTUNNEL, CURLOPTTYPE_LONG, 61), + + /* Set the interface string to use as outgoing network interface */ + CURLOPT(CURLOPT_INTERFACE, CURLOPTTYPE_STRINGPOINT, 62), + + /* Set the krb4/5 security level, this also enables krb4/5 awareness. This + * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string + * is set but does not match one of these, 'private' will be used. */ + CURLOPT(CURLOPT_KRBLEVEL, CURLOPTTYPE_STRINGPOINT, 63), + + /* Set if we should verify the peer in ssl handshake, set 1 to verify. */ + CURLOPT(CURLOPT_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 64), + + /* The CApath or CAfile used to validate the peer certificate + this option is used only if SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_CAINFO, CURLOPTTYPE_STRINGPOINT, 65), + + /* 66 = OBSOLETE */ + /* 67 = OBSOLETE */ + + /* Maximum number of http redirects to follow */ + CURLOPT(CURLOPT_MAXREDIRS, CURLOPTTYPE_LONG, 68), + + /* Pass a long set to 1 to get the date of the requested document (if + possible)! Pass a zero to shut it off. */ + CURLOPT(CURLOPT_FILETIME, CURLOPTTYPE_LONG, 69), + + /* This points to a linked list of telnet options */ + CURLOPT(CURLOPT_TELNETOPTIONS, CURLOPTTYPE_SLISTPOINT, 70), + + /* Max amount of cached alive connections */ + CURLOPT(CURLOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 71), + + /* 72 = OBSOLETE */ + /* 73 = OBSOLETE */ + + /* Set to explicitly use a new connection for the upcoming transfer. + Do not use this unless you are absolutely sure of this, as it makes the + operation slower and is less friendly for the network. */ + CURLOPT(CURLOPT_FRESH_CONNECT, CURLOPTTYPE_LONG, 74), + + /* Set to explicitly forbid the upcoming transfer's connection to be reused + when done. Do not use this unless you are absolutely sure of this, as it + makes the operation slower and is less friendly for the network. */ + CURLOPT(CURLOPT_FORBID_REUSE, CURLOPTTYPE_LONG, 75), + + /* Set to a filename that contains random data for libcurl to use to + seed the random engine when doing SSL connects. */ + CURLOPTDEPRECATED(CURLOPT_RANDOM_FILE, CURLOPTTYPE_STRINGPOINT, 76, + 7.84.0, "Serves no purpose anymore"), + + /* Set to the Entropy Gathering Daemon socket pathname */ + CURLOPTDEPRECATED(CURLOPT_EGDSOCKET, CURLOPTTYPE_STRINGPOINT, 77, + 7.84.0, "Serves no purpose anymore"), + + /* Time-out connect operations after this amount of seconds, if connects are + OK within this time, then fine... This only aborts the connect phase. */ + CURLOPT(CURLOPT_CONNECTTIMEOUT, CURLOPTTYPE_LONG, 78), + + /* Function that will be called to store headers (instead of fwrite). The + * parameters will use fwrite() syntax, make sure to follow them. */ + CURLOPT(CURLOPT_HEADERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 79), + + /* Set this to force the HTTP request to get back to GET. Only really usable + if POST, PUT or a custom request have been used first. + */ + CURLOPT(CURLOPT_HTTPGET, CURLOPTTYPE_LONG, 80), + + /* Set if we should verify the Common name from the peer certificate in ssl + * handshake, set 1 to check existence, 2 to ensure that it matches the + * provided hostname. */ + CURLOPT(CURLOPT_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 81), + + /* Specify which filename to write all known cookies in after completed + operation. Set filename to "-" (dash) to make it go to stdout. */ + CURLOPT(CURLOPT_COOKIEJAR, CURLOPTTYPE_STRINGPOINT, 82), + + /* Specify which TLS 1.2 (1.1, 1.0) ciphers to use */ + CURLOPT(CURLOPT_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 83), + + /* Specify which HTTP version to use! This must be set to one of the + CURL_HTTP_VERSION* enums set below. */ + CURLOPT(CURLOPT_HTTP_VERSION, CURLOPTTYPE_VALUES, 84), + + /* Specifically switch on or off the FTP engine's use of the EPSV command. By + default, that one will always be attempted before the more traditional + PASV command. */ + CURLOPT(CURLOPT_FTP_USE_EPSV, CURLOPTTYPE_LONG, 85), + + /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */ + CURLOPT(CURLOPT_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 86), + + /* name of the file keeping your private SSL-key */ + CURLOPT(CURLOPT_SSLKEY, CURLOPTTYPE_STRINGPOINT, 87), + + /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */ + CURLOPT(CURLOPT_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 88), + + /* crypto engine for the SSL-sub system */ + CURLOPT(CURLOPT_SSLENGINE, CURLOPTTYPE_STRINGPOINT, 89), + + /* set the crypto engine for the SSL-sub system as default + the param has no meaning... + */ + CURLOPT(CURLOPT_SSLENGINE_DEFAULT, CURLOPTTYPE_LONG, 90), + + /* Non-zero value means to use the global dns cache */ + /* DEPRECATED, do not use! */ + CURLOPTDEPRECATED(CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPTTYPE_LONG, 91, + 7.11.1, "Use CURLOPT_SHARE"), + + /* DNS cache timeout */ + CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92), + + /* send linked-list of pre-transfer QUOTE commands */ + CURLOPT(CURLOPT_PREQUOTE, CURLOPTTYPE_SLISTPOINT, 93), + + /* set the debug function */ + CURLOPT(CURLOPT_DEBUGFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 94), + + /* set the data for the debug function */ + CURLOPT(CURLOPT_DEBUGDATA, CURLOPTTYPE_CBPOINT, 95), + + /* mark this as start of a cookie session */ + CURLOPT(CURLOPT_COOKIESESSION, CURLOPTTYPE_LONG, 96), + + /* The CApath directory used to validate the peer certificate + this option is used only if SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_CAPATH, CURLOPTTYPE_STRINGPOINT, 97), + + /* Instruct libcurl to use a smaller receive buffer */ + CURLOPT(CURLOPT_BUFFERSIZE, CURLOPTTYPE_LONG, 98), + + /* Instruct libcurl to not use any signal/alarm handlers, even when using + timeouts. This option is useful for multi-threaded applications. + See libcurl-the-guide for more background information. */ + CURLOPT(CURLOPT_NOSIGNAL, CURLOPTTYPE_LONG, 99), + + /* Provide a CURLShare for mutexing non-ts data */ + CURLOPT(CURLOPT_SHARE, CURLOPTTYPE_OBJECTPOINT, 100), + + /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default), + CURLPROXY_HTTPS, CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and + CURLPROXY_SOCKS5. */ + CURLOPT(CURLOPT_PROXYTYPE, CURLOPTTYPE_VALUES, 101), + + /* Set the Accept-Encoding string. Use this to tell a server you would like + the response to be compressed. Before 7.21.6, this was known as + CURLOPT_ENCODING */ + CURLOPT(CURLOPT_ACCEPT_ENCODING, CURLOPTTYPE_STRINGPOINT, 102), + + /* Set pointer to private data */ + CURLOPT(CURLOPT_PRIVATE, CURLOPTTYPE_OBJECTPOINT, 103), + + /* Set aliases for HTTP 200 in the HTTP Response header */ + CURLOPT(CURLOPT_HTTP200ALIASES, CURLOPTTYPE_SLISTPOINT, 104), + + /* Continue to send authentication (user+password) when following locations, + even when hostname changed. This can potentially send off the name + and password to whatever host the server decides. */ + CURLOPT(CURLOPT_UNRESTRICTED_AUTH, CURLOPTTYPE_LONG, 105), + + /* Specifically switch on or off the FTP engine's use of the EPRT command ( + it also disables the LPRT attempt). By default, those ones will always be + attempted before the good old traditional PORT command. */ + CURLOPT(CURLOPT_FTP_USE_EPRT, CURLOPTTYPE_LONG, 106), + + /* Set this to a bitmask value to enable the particular authentications + methods you like. Use this in combination with CURLOPT_USERPWD. + Note that setting multiple bits may cause extra network round-trips. */ + CURLOPT(CURLOPT_HTTPAUTH, CURLOPTTYPE_VALUES, 107), + + /* Set the ssl context callback function, currently only for OpenSSL or + wolfSSL ssl_ctx, or mbedTLS mbedtls_ssl_config in the second argument. + The function must match the curl_ssl_ctx_callback prototype. */ + CURLOPT(CURLOPT_SSL_CTX_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 108), + + /* Set the userdata for the ssl context callback function's third + argument */ + CURLOPT(CURLOPT_SSL_CTX_DATA, CURLOPTTYPE_CBPOINT, 109), + + /* FTP Option that causes missing dirs to be created on the remote server. + In 7.19.4 we introduced the convenience enums for this option using the + CURLFTP_CREATE_DIR prefix. + */ + CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110), + + /* Set this to a bitmask value to enable the particular authentications + methods you like. Use this in combination with CURLOPT_PROXYUSERPWD. + Note that setting multiple bits may cause extra network round-trips. */ + CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111), + + /* Option that changes the timeout, in seconds, associated with getting a + response. This is different from transfer timeout time and essentially + places a demand on the server to acknowledge commands in a timely + manner. For FTP, SMTP, IMAP and POP3. */ + CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOPTTYPE_LONG, 112), + + /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to + tell libcurl to use those IP versions only. This only has effect on + systems with support for more than one, i.e IPv4 _and_ IPv6. */ + CURLOPT(CURLOPT_IPRESOLVE, CURLOPTTYPE_VALUES, 113), + + /* Set this option to limit the size of a file that will be downloaded from + an HTTP or FTP server. + + Note there is also _LARGE version which adds large file support for + platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */ + CURLOPT(CURLOPT_MAXFILESIZE, CURLOPTTYPE_LONG, 114), + + /* See the comment for INFILESIZE above, but in short, specifies + * the size of the file being uploaded. -1 means unknown. + */ + CURLOPT(CURLOPT_INFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 115), + + /* Sets the continuation offset. There is also a CURLOPTTYPE_LONG version + * of this; look above for RESUME_FROM. + */ + CURLOPT(CURLOPT_RESUME_FROM_LARGE, CURLOPTTYPE_OFF_T, 116), + + /* Sets the maximum size of data that will be downloaded from + * an HTTP or FTP server. See MAXFILESIZE above for the LONG version. + */ + CURLOPT(CURLOPT_MAXFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 117), + + /* Set this option to the filename of your .netrc file you want libcurl + to parse (using the CURLOPT_NETRC option). If not set, libcurl will do + a poor attempt to find the user's home directory and check for a .netrc + file in there. */ + CURLOPT(CURLOPT_NETRC_FILE, CURLOPTTYPE_STRINGPOINT, 118), + + /* Enable SSL/TLS for FTP, pick one of: + CURLUSESSL_TRY - try using SSL, proceed anyway otherwise + CURLUSESSL_CONTROL - SSL for the control connection or fail + CURLUSESSL_ALL - SSL for all communication or fail + */ + CURLOPT(CURLOPT_USE_SSL, CURLOPTTYPE_VALUES, 119), + + /* The _LARGE version of the standard POSTFIELDSIZE option */ + CURLOPT(CURLOPT_POSTFIELDSIZE_LARGE, CURLOPTTYPE_OFF_T, 120), + + /* Enable/disable the TCP Nagle algorithm */ + CURLOPT(CURLOPT_TCP_NODELAY, CURLOPTTYPE_LONG, 121), + + /* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 123 OBSOLETE. Gone in 7.16.0 */ + /* 124 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 125 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 126 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 127 OBSOLETE. Gone in 7.16.0 */ + /* 128 OBSOLETE. Gone in 7.16.0 */ + + /* When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL), this option + can be used to change libcurl's default action which is to first try + "AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK + response has been received. + + Available parameters are: + CURLFTPAUTH_DEFAULT - let libcurl decide + CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS + CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL + */ + CURLOPT(CURLOPT_FTPSSLAUTH, CURLOPTTYPE_VALUES, 129), + + CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130, + 7.18.0, "Use CURLOPT_SEEKFUNCTION"), + CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131, + 7.18.0, "Use CURLOPT_SEEKDATA"), + + /* 132 OBSOLETE. Gone in 7.16.0 */ + /* 133 OBSOLETE. Gone in 7.16.0 */ + + /* null-terminated string for pass on to the FTP server when asked for + "account" info */ + CURLOPT(CURLOPT_FTP_ACCOUNT, CURLOPTTYPE_STRINGPOINT, 134), + + /* feed cookie into cookie engine */ + CURLOPT(CURLOPT_COOKIELIST, CURLOPTTYPE_STRINGPOINT, 135), + + /* ignore Content-Length */ + CURLOPT(CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPTTYPE_LONG, 136), + + /* Set to non-zero to skip the IP address received in a 227 PASV FTP server + response. Typically used for FTP-SSL purposes but is not restricted to + that. libcurl will then instead use the same IP address it used for the + control connection. */ + CURLOPT(CURLOPT_FTP_SKIP_PASV_IP, CURLOPTTYPE_LONG, 137), + + /* Select "file method" to use when doing FTP, see the curl_ftpmethod + above. */ + CURLOPT(CURLOPT_FTP_FILEMETHOD, CURLOPTTYPE_VALUES, 138), + + /* Local port number to bind the socket to */ + CURLOPT(CURLOPT_LOCALPORT, CURLOPTTYPE_LONG, 139), + + /* Number of ports to try, including the first one set with LOCALPORT. + Thus, setting it to 1 will make no additional attempts but the first. + */ + CURLOPT(CURLOPT_LOCALPORTRANGE, CURLOPTTYPE_LONG, 140), + + /* no transfer, set up connection and let application use the socket by + extracting it with CURLINFO_LASTSOCKET */ + CURLOPT(CURLOPT_CONNECT_ONLY, CURLOPTTYPE_LONG, 141), + + /* Function that will be called to convert from the + network encoding (instead of using the iconv calls in libcurl) */ + CURLOPTDEPRECATED(CURLOPT_CONV_FROM_NETWORK_FUNCTION, + CURLOPTTYPE_FUNCTIONPOINT, 142, + 7.82.0, "Serves no purpose anymore"), + + /* Function that will be called to convert to the + network encoding (instead of using the iconv calls in libcurl) */ + CURLOPTDEPRECATED(CURLOPT_CONV_TO_NETWORK_FUNCTION, + CURLOPTTYPE_FUNCTIONPOINT, 143, + 7.82.0, "Serves no purpose anymore"), + + /* Function that will be called to convert from UTF8 + (instead of using the iconv calls in libcurl) + Note that this is used only for SSL certificate processing */ + CURLOPTDEPRECATED(CURLOPT_CONV_FROM_UTF8_FUNCTION, + CURLOPTTYPE_FUNCTIONPOINT, 144, + 7.82.0, "Serves no purpose anymore"), + + /* if the connection proceeds too quickly then need to slow it down */ + /* limit-rate: maximum number of bytes per second to send or receive */ + CURLOPT(CURLOPT_MAX_SEND_SPEED_LARGE, CURLOPTTYPE_OFF_T, 145), + CURLOPT(CURLOPT_MAX_RECV_SPEED_LARGE, CURLOPTTYPE_OFF_T, 146), + + /* Pointer to command string to send if USER/PASS fails. */ + CURLOPT(CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPTTYPE_STRINGPOINT, 147), + + /* callback function for setting socket options */ + CURLOPT(CURLOPT_SOCKOPTFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 148), + CURLOPT(CURLOPT_SOCKOPTDATA, CURLOPTTYPE_CBPOINT, 149), + + /* set to 0 to disable session ID reuse for this transfer, default is + enabled (== 1) */ + CURLOPT(CURLOPT_SSL_SESSIONID_CACHE, CURLOPTTYPE_LONG, 150), + + /* allowed SSH authentication methods */ + CURLOPT(CURLOPT_SSH_AUTH_TYPES, CURLOPTTYPE_VALUES, 151), + + /* Used by scp/sftp to do public/private key authentication */ + CURLOPT(CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPTTYPE_STRINGPOINT, 152), + CURLOPT(CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPTTYPE_STRINGPOINT, 153), + + /* Send CCC (Clear Command Channel) after authentication */ + CURLOPT(CURLOPT_FTP_SSL_CCC, CURLOPTTYPE_LONG, 154), + + /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */ + CURLOPT(CURLOPT_TIMEOUT_MS, CURLOPTTYPE_LONG, 155), + CURLOPT(CURLOPT_CONNECTTIMEOUT_MS, CURLOPTTYPE_LONG, 156), + + /* set to zero to disable the libcurl's decoding and thus pass the raw body + data to the application even when it is encoded/compressed */ + CURLOPT(CURLOPT_HTTP_TRANSFER_DECODING, CURLOPTTYPE_LONG, 157), + CURLOPT(CURLOPT_HTTP_CONTENT_DECODING, CURLOPTTYPE_LONG, 158), + + /* Permission used when creating new files and directories on the remote + server for protocols that support it, SFTP/SCP/FILE */ + CURLOPT(CURLOPT_NEW_FILE_PERMS, CURLOPTTYPE_LONG, 159), + CURLOPT(CURLOPT_NEW_DIRECTORY_PERMS, CURLOPTTYPE_LONG, 160), + + /* Set the behavior of POST when redirecting. Values must be set to one + of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */ + CURLOPT(CURLOPT_POSTREDIR, CURLOPTTYPE_VALUES, 161), + + /* used by scp/sftp to verify the host's public key */ + CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPTTYPE_STRINGPOINT, 162), + + /* Callback function for opening socket (instead of socket(2)). Optionally, + callback is able change the address or refuse to connect returning + CURL_SOCKET_BAD. The callback should have type + curl_opensocket_callback */ + CURLOPT(CURLOPT_OPENSOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 163), + CURLOPT(CURLOPT_OPENSOCKETDATA, CURLOPTTYPE_CBPOINT, 164), + + /* POST volatile input fields. */ + CURLOPT(CURLOPT_COPYPOSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 165), + + /* set transfer mode (;type=) when doing FTP via an HTTP proxy */ + CURLOPT(CURLOPT_PROXY_TRANSFER_MODE, CURLOPTTYPE_LONG, 166), + + /* Callback function for seeking in the input stream */ + CURLOPT(CURLOPT_SEEKFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 167), + CURLOPT(CURLOPT_SEEKDATA, CURLOPTTYPE_CBPOINT, 168), + + /* CRL file */ + CURLOPT(CURLOPT_CRLFILE, CURLOPTTYPE_STRINGPOINT, 169), + + /* Issuer certificate */ + CURLOPT(CURLOPT_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 170), + + /* (IPv6) Address scope */ + CURLOPT(CURLOPT_ADDRESS_SCOPE, CURLOPTTYPE_LONG, 171), + + /* Collect certificate chain info and allow it to get retrievable with + CURLINFO_CERTINFO after the transfer is complete. */ + CURLOPT(CURLOPT_CERTINFO, CURLOPTTYPE_LONG, 172), + + /* "name" and "pwd" to use when fetching. */ + CURLOPT(CURLOPT_USERNAME, CURLOPTTYPE_STRINGPOINT, 173), + CURLOPT(CURLOPT_PASSWORD, CURLOPTTYPE_STRINGPOINT, 174), + + /* "name" and "pwd" to use with Proxy when fetching. */ + CURLOPT(CURLOPT_PROXYUSERNAME, CURLOPTTYPE_STRINGPOINT, 175), + CURLOPT(CURLOPT_PROXYPASSWORD, CURLOPTTYPE_STRINGPOINT, 176), + + /* Comma separated list of hostnames defining no-proxy zones. These should + match both hostnames directly, and hostnames within a domain. For + example, local.com will match local.com and www.local.com, but NOT + notlocal.com or www.notlocal.com. For compatibility with other + implementations of this, .local.com will be considered to be the same as + local.com. A single * is the only valid wildcard, and effectively + disables the use of proxy. */ + CURLOPT(CURLOPT_NOPROXY, CURLOPTTYPE_STRINGPOINT, 177), + + /* block size for TFTP transfers */ + CURLOPT(CURLOPT_TFTP_BLKSIZE, CURLOPTTYPE_LONG, 178), + + /* Socks Service */ + /* DEPRECATED, do not use! */ + CURLOPTDEPRECATED(CURLOPT_SOCKS5_GSSAPI_SERVICE, + CURLOPTTYPE_STRINGPOINT, 179, + 7.49.0, "Use CURLOPT_PROXY_SERVICE_NAME"), + + /* Socks Service */ + CURLOPT(CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPTTYPE_LONG, 180), + + /* set the bitmask for the protocols that are allowed to be used for the + transfer, which thus helps the app which takes URLs from users or other + external inputs and want to restrict what protocol(s) to deal + with. Defaults to CURLPROTO_ALL. */ + CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181, + 7.85.0, "Use CURLOPT_PROTOCOLS_STR"), + + /* set the bitmask for the protocols that libcurl is allowed to follow to, + as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs + to be set in both bitmasks to be allowed to get redirected to. */ + CURLOPTDEPRECATED(CURLOPT_REDIR_PROTOCOLS, CURLOPTTYPE_LONG, 182, + 7.85.0, "Use CURLOPT_REDIR_PROTOCOLS_STR"), + + /* set the SSH knownhost filename to use */ + CURLOPT(CURLOPT_SSH_KNOWNHOSTS, CURLOPTTYPE_STRINGPOINT, 183), + + /* set the SSH host key callback, must point to a curl_sshkeycallback + function */ + CURLOPT(CURLOPT_SSH_KEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 184), + + /* set the SSH host key callback custom pointer */ + CURLOPT(CURLOPT_SSH_KEYDATA, CURLOPTTYPE_CBPOINT, 185), + + /* set the SMTP mail originator */ + CURLOPT(CURLOPT_MAIL_FROM, CURLOPTTYPE_STRINGPOINT, 186), + + /* set the list of SMTP mail receiver(s) */ + CURLOPT(CURLOPT_MAIL_RCPT, CURLOPTTYPE_SLISTPOINT, 187), + + /* FTP: send PRET before PASV */ + CURLOPT(CURLOPT_FTP_USE_PRET, CURLOPTTYPE_LONG, 188), + + /* RTSP request method (OPTIONS, SETUP, PLAY, etc...) */ + CURLOPT(CURLOPT_RTSP_REQUEST, CURLOPTTYPE_VALUES, 189), + + /* The RTSP session identifier */ + CURLOPT(CURLOPT_RTSP_SESSION_ID, CURLOPTTYPE_STRINGPOINT, 190), + + /* The RTSP stream URI */ + CURLOPT(CURLOPT_RTSP_STREAM_URI, CURLOPTTYPE_STRINGPOINT, 191), + + /* The Transport: header to use in RTSP requests */ + CURLOPT(CURLOPT_RTSP_TRANSPORT, CURLOPTTYPE_STRINGPOINT, 192), + + /* Manually initialize the client RTSP CSeq for this handle */ + CURLOPT(CURLOPT_RTSP_CLIENT_CSEQ, CURLOPTTYPE_LONG, 193), + + /* Manually initialize the server RTSP CSeq for this handle */ + CURLOPT(CURLOPT_RTSP_SERVER_CSEQ, CURLOPTTYPE_LONG, 194), + + /* The stream to pass to INTERLEAVEFUNCTION. */ + CURLOPT(CURLOPT_INTERLEAVEDATA, CURLOPTTYPE_CBPOINT, 195), + + /* Let the application define a custom write method for RTP data */ + CURLOPT(CURLOPT_INTERLEAVEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 196), + + /* Turn on wildcard matching */ + CURLOPT(CURLOPT_WILDCARDMATCH, CURLOPTTYPE_LONG, 197), + + /* Directory matching callback called before downloading of an + individual file (chunk) started */ + CURLOPT(CURLOPT_CHUNK_BGN_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 198), + + /* Directory matching callback called after the file (chunk) + was downloaded, or skipped */ + CURLOPT(CURLOPT_CHUNK_END_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 199), + + /* Change match (fnmatch-like) callback for wildcard matching */ + CURLOPT(CURLOPT_FNMATCH_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 200), + + /* Let the application define custom chunk data pointer */ + CURLOPT(CURLOPT_CHUNK_DATA, CURLOPTTYPE_CBPOINT, 201), + + /* FNMATCH_FUNCTION user pointer */ + CURLOPT(CURLOPT_FNMATCH_DATA, CURLOPTTYPE_CBPOINT, 202), + + /* send linked-list of name:port:address sets */ + CURLOPT(CURLOPT_RESOLVE, CURLOPTTYPE_SLISTPOINT, 203), + + /* Set a username for authenticated TLS */ + CURLOPT(CURLOPT_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 204), + + /* Set a password for authenticated TLS */ + CURLOPT(CURLOPT_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 205), + + /* Set authentication type for authenticated TLS */ + CURLOPT(CURLOPT_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 206), + + /* Set to 1 to enable the "TE:" header in HTTP requests to ask for + compressed transfer-encoded responses. Set to 0 to disable the use of TE: + in outgoing requests. The current default is 0, but it might change in a + future libcurl release. + + libcurl will ask for the compressed methods it knows of, and if that + is not any, it will not ask for transfer-encoding at all even if this + option is set to 1. + + */ + CURLOPT(CURLOPT_TRANSFER_ENCODING, CURLOPTTYPE_LONG, 207), + + /* Callback function for closing socket (instead of close(2)). The callback + should have type curl_closesocket_callback */ + CURLOPT(CURLOPT_CLOSESOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 208), + CURLOPT(CURLOPT_CLOSESOCKETDATA, CURLOPTTYPE_CBPOINT, 209), + + /* allow GSSAPI credential delegation */ + CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_VALUES, 210), + + /* Set the name servers to use for DNS resolution. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_SERVERS, CURLOPTTYPE_STRINGPOINT, 211), + + /* Time-out accept operations (currently for FTP only) after this amount + of milliseconds. */ + CURLOPT(CURLOPT_ACCEPTTIMEOUT_MS, CURLOPTTYPE_LONG, 212), + + /* Set TCP keepalive */ + CURLOPT(CURLOPT_TCP_KEEPALIVE, CURLOPTTYPE_LONG, 213), + + /* non-universal keepalive knobs (Linux, AIX, HP-UX, more) */ + CURLOPT(CURLOPT_TCP_KEEPIDLE, CURLOPTTYPE_LONG, 214), + CURLOPT(CURLOPT_TCP_KEEPINTVL, CURLOPTTYPE_LONG, 215), + + /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */ + CURLOPT(CURLOPT_SSL_OPTIONS, CURLOPTTYPE_VALUES, 216), + + /* Set the SMTP auth originator */ + CURLOPT(CURLOPT_MAIL_AUTH, CURLOPTTYPE_STRINGPOINT, 217), + + /* Enable/disable SASL initial response */ + CURLOPT(CURLOPT_SASL_IR, CURLOPTTYPE_LONG, 218), + + /* Function that will be called instead of the internal progress display + * function. This function should be defined as the curl_xferinfo_callback + * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */ + CURLOPT(CURLOPT_XFERINFOFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 219), + + /* The XOAUTH2 bearer token */ + CURLOPT(CURLOPT_XOAUTH2_BEARER, CURLOPTTYPE_STRINGPOINT, 220), + + /* Set the interface string to use as outgoing network + * interface for DNS requests. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_INTERFACE, CURLOPTTYPE_STRINGPOINT, 221), + + /* Set the local IPv4 address to use for outgoing DNS requests. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_LOCAL_IP4, CURLOPTTYPE_STRINGPOINT, 222), + + /* Set the local IPv6 address to use for outgoing DNS requests. + * Only supported by the c-ares DNS backend */ + CURLOPT(CURLOPT_DNS_LOCAL_IP6, CURLOPTTYPE_STRINGPOINT, 223), + + /* Set authentication options directly */ + CURLOPT(CURLOPT_LOGIN_OPTIONS, CURLOPTTYPE_STRINGPOINT, 224), + + /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */ + CURLOPTDEPRECATED(CURLOPT_SSL_ENABLE_NPN, CURLOPTTYPE_LONG, 225, + 7.86.0, "Has no function"), + + /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ + CURLOPT(CURLOPT_SSL_ENABLE_ALPN, CURLOPTTYPE_LONG, 226), + + /* Time to wait for a response to an HTTP request containing an + * Expect: 100-continue header before sending the data anyway. */ + CURLOPT(CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPTTYPE_LONG, 227), + + /* This points to a linked list of headers used for proxy requests only, + struct curl_slist kind */ + CURLOPT(CURLOPT_PROXYHEADER, CURLOPTTYPE_SLISTPOINT, 228), + + /* Pass in a bitmask of "header options" */ + CURLOPT(CURLOPT_HEADEROPT, CURLOPTTYPE_VALUES, 229), + + /* The public key in DER form used to validate the peer public key + this option is used only if SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 230), + + /* Path to Unix domain socket */ + CURLOPT(CURLOPT_UNIX_SOCKET_PATH, CURLOPTTYPE_STRINGPOINT, 231), + + /* Set if we should verify the certificate status. */ + CURLOPT(CURLOPT_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 232), + + /* Set if we should enable TLS false start. */ + CURLOPT(CURLOPT_SSL_FALSESTART, CURLOPTTYPE_LONG, 233), + + /* Do not squash dot-dot sequences */ + CURLOPT(CURLOPT_PATH_AS_IS, CURLOPTTYPE_LONG, 234), + + /* Proxy Service Name */ + CURLOPT(CURLOPT_PROXY_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 235), + + /* Service Name */ + CURLOPT(CURLOPT_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 236), + + /* Wait/do not wait for pipe/mutex to clarify */ + CURLOPT(CURLOPT_PIPEWAIT, CURLOPTTYPE_LONG, 237), + + /* Set the protocol used when curl is given a URL without a protocol */ + CURLOPT(CURLOPT_DEFAULT_PROTOCOL, CURLOPTTYPE_STRINGPOINT, 238), + + /* Set stream weight, 1 - 256 (default is 16) */ + CURLOPT(CURLOPT_STREAM_WEIGHT, CURLOPTTYPE_LONG, 239), + + /* Set stream dependency on another curl handle */ + CURLOPT(CURLOPT_STREAM_DEPENDS, CURLOPTTYPE_OBJECTPOINT, 240), + + /* Set E-xclusive stream dependency on another curl handle */ + CURLOPT(CURLOPT_STREAM_DEPENDS_E, CURLOPTTYPE_OBJECTPOINT, 241), + + /* Do not send any tftp option requests to the server */ + CURLOPT(CURLOPT_TFTP_NO_OPTIONS, CURLOPTTYPE_LONG, 242), + + /* Linked-list of host:port:connect-to-host:connect-to-port, + overrides the URL's host:port (only for the network layer) */ + CURLOPT(CURLOPT_CONNECT_TO, CURLOPTTYPE_SLISTPOINT, 243), + + /* Set TCP Fast Open */ + CURLOPT(CURLOPT_TCP_FASTOPEN, CURLOPTTYPE_LONG, 244), + + /* Continue to send data if the server responds early with an + * HTTP status code >= 300 */ + CURLOPT(CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPTTYPE_LONG, 245), + + /* The CApath or CAfile used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_CAINFO, CURLOPTTYPE_STRINGPOINT, 246), + + /* The CApath directory used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_CAPATH, CURLOPTTYPE_STRINGPOINT, 247), + + /* Set if we should verify the proxy in ssl handshake, + set 1 to verify. */ + CURLOPT(CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 248), + + /* Set if we should verify the Common name from the proxy certificate in ssl + * handshake, set 1 to check existence, 2 to ensure that it matches + * the provided hostname. */ + CURLOPT(CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 249), + + /* What version to specifically try to use for proxy. + See CURL_SSLVERSION defines below. */ + CURLOPT(CURLOPT_PROXY_SSLVERSION, CURLOPTTYPE_VALUES, 250), + + /* Set a username for authenticated TLS for proxy */ + CURLOPT(CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 251), + + /* Set a password for authenticated TLS for proxy */ + CURLOPT(CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 252), + + /* Set authentication type for authenticated TLS for proxy */ + CURLOPT(CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 253), + + /* name of the file keeping your private SSL-certificate for proxy */ + CURLOPT(CURLOPT_PROXY_SSLCERT, CURLOPTTYPE_STRINGPOINT, 254), + + /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") for + proxy */ + CURLOPT(CURLOPT_PROXY_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 255), + + /* name of the file keeping your private SSL-key for proxy */ + CURLOPT(CURLOPT_PROXY_SSLKEY, CURLOPTTYPE_STRINGPOINT, 256), + + /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") for + proxy */ + CURLOPT(CURLOPT_PROXY_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 257), + + /* password for the SSL private key for proxy */ + CURLOPT(CURLOPT_PROXY_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 258), + + /* Specify which TLS 1.2 (1.1, 1.0) ciphers to use for proxy */ + CURLOPT(CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 259), + + /* CRL file for proxy */ + CURLOPT(CURLOPT_PROXY_CRLFILE, CURLOPTTYPE_STRINGPOINT, 260), + + /* Enable/disable specific SSL features with a bitmask for proxy, see + CURLSSLOPT_* */ + CURLOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLOPTTYPE_LONG, 261), + + /* Name of pre proxy to use. */ + CURLOPT(CURLOPT_PRE_PROXY, CURLOPTTYPE_STRINGPOINT, 262), + + /* The public key in DER form used to validate the proxy public key + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 263), + + /* Path to an abstract Unix domain socket */ + CURLOPT(CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPTTYPE_STRINGPOINT, 264), + + /* Suppress proxy CONNECT response headers from user callbacks */ + CURLOPT(CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPTTYPE_LONG, 265), + + /* The request target, instead of extracted from the URL */ + CURLOPT(CURLOPT_REQUEST_TARGET, CURLOPTTYPE_STRINGPOINT, 266), + + /* bitmask of allowed auth methods for connections to SOCKS5 proxies */ + CURLOPT(CURLOPT_SOCKS5_AUTH, CURLOPTTYPE_LONG, 267), + + /* Enable/disable SSH compression */ + CURLOPT(CURLOPT_SSH_COMPRESSION, CURLOPTTYPE_LONG, 268), + + /* Post MIME data. */ + CURLOPT(CURLOPT_MIMEPOST, CURLOPTTYPE_OBJECTPOINT, 269), + + /* Time to use with the CURLOPT_TIMECONDITION. Specified in number of + seconds since 1 Jan 1970. */ + CURLOPT(CURLOPT_TIMEVALUE_LARGE, CURLOPTTYPE_OFF_T, 270), + + /* Head start in milliseconds to give happy eyeballs. */ + CURLOPT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPTTYPE_LONG, 271), + + /* Function that will be called before a resolver request is made */ + CURLOPT(CURLOPT_RESOLVER_START_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 272), + + /* User data to pass to the resolver start callback. */ + CURLOPT(CURLOPT_RESOLVER_START_DATA, CURLOPTTYPE_CBPOINT, 273), + + /* send HAProxy PROXY protocol header? */ + CURLOPT(CURLOPT_HAPROXYPROTOCOL, CURLOPTTYPE_LONG, 274), + + /* shuffle addresses before use when DNS returns multiple */ + CURLOPT(CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPTTYPE_LONG, 275), + + /* Specify which TLS 1.3 ciphers suites to use */ + CURLOPT(CURLOPT_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 276), + CURLOPT(CURLOPT_PROXY_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 277), + + /* Disallow specifying username/login in URL. */ + CURLOPT(CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPTTYPE_LONG, 278), + + /* DNS-over-HTTPS URL */ + CURLOPT(CURLOPT_DOH_URL, CURLOPTTYPE_STRINGPOINT, 279), + + /* Preferred buffer size to use for uploads */ + CURLOPT(CURLOPT_UPLOAD_BUFFERSIZE, CURLOPTTYPE_LONG, 280), + + /* Time in ms between connection upkeep calls for long-lived connections. */ + CURLOPT(CURLOPT_UPKEEP_INTERVAL_MS, CURLOPTTYPE_LONG, 281), + + /* Specify URL using CURL URL API. */ + CURLOPT(CURLOPT_CURLU, CURLOPTTYPE_OBJECTPOINT, 282), + + /* add trailing data just after no more data is available */ + CURLOPT(CURLOPT_TRAILERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 283), + + /* pointer to be passed to HTTP_TRAILER_FUNCTION */ + CURLOPT(CURLOPT_TRAILERDATA, CURLOPTTYPE_CBPOINT, 284), + + /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */ + CURLOPT(CURLOPT_HTTP09_ALLOWED, CURLOPTTYPE_LONG, 285), + + /* alt-svc control bitmask */ + CURLOPT(CURLOPT_ALTSVC_CTRL, CURLOPTTYPE_LONG, 286), + + /* alt-svc cache filename to possibly read from/write to */ + CURLOPT(CURLOPT_ALTSVC, CURLOPTTYPE_STRINGPOINT, 287), + + /* maximum age (idle time) of a connection to consider it for reuse + * (in seconds) */ + CURLOPT(CURLOPT_MAXAGE_CONN, CURLOPTTYPE_LONG, 288), + + /* SASL authorization identity */ + CURLOPT(CURLOPT_SASL_AUTHZID, CURLOPTTYPE_STRINGPOINT, 289), + + /* allow RCPT TO command to fail for some recipients */ + CURLOPT(CURLOPT_MAIL_RCPT_ALLOWFAILS, CURLOPTTYPE_LONG, 290), + + /* the private SSL-certificate as a "blob" */ + CURLOPT(CURLOPT_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 291), + CURLOPT(CURLOPT_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 292), + CURLOPT(CURLOPT_PROXY_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 293), + CURLOPT(CURLOPT_PROXY_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 294), + CURLOPT(CURLOPT_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 295), + + /* Issuer certificate for proxy */ + CURLOPT(CURLOPT_PROXY_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 296), + CURLOPT(CURLOPT_PROXY_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 297), + + /* the EC curves requested by the TLS client (RFC 8422, 5.1); + * OpenSSL support via 'set_groups'/'set_curves': + * https://docs.openssl.org/master/man3/SSL_CTX_set1_curves/ + */ + CURLOPT(CURLOPT_SSL_EC_CURVES, CURLOPTTYPE_STRINGPOINT, 298), + + /* HSTS bitmask */ + CURLOPT(CURLOPT_HSTS_CTRL, CURLOPTTYPE_LONG, 299), + /* HSTS filename */ + CURLOPT(CURLOPT_HSTS, CURLOPTTYPE_STRINGPOINT, 300), + + /* HSTS read callback */ + CURLOPT(CURLOPT_HSTSREADFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 301), + CURLOPT(CURLOPT_HSTSREADDATA, CURLOPTTYPE_CBPOINT, 302), + + /* HSTS write callback */ + CURLOPT(CURLOPT_HSTSWRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 303), + CURLOPT(CURLOPT_HSTSWRITEDATA, CURLOPTTYPE_CBPOINT, 304), + + /* Parameters for V4 signature */ + CURLOPT(CURLOPT_AWS_SIGV4, CURLOPTTYPE_STRINGPOINT, 305), + + /* Same as CURLOPT_SSL_VERIFYPEER but for DoH (DNS-over-HTTPS) servers. */ + CURLOPT(CURLOPT_DOH_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 306), + + /* Same as CURLOPT_SSL_VERIFYHOST but for DoH (DNS-over-HTTPS) servers. */ + CURLOPT(CURLOPT_DOH_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 307), + + /* Same as CURLOPT_SSL_VERIFYSTATUS but for DoH (DNS-over-HTTPS) servers. */ + CURLOPT(CURLOPT_DOH_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 308), + + /* The CA certificates as "blob" used to validate the peer certificate + this option is used only if SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_CAINFO_BLOB, CURLOPTTYPE_BLOB, 309), + + /* The CA certificates as "blob" used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CURLOPT(CURLOPT_PROXY_CAINFO_BLOB, CURLOPTTYPE_BLOB, 310), + + /* used by scp/sftp to verify the host's public key */ + CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CURLOPTTYPE_STRINGPOINT, 311), + + /* Function that will be called immediately before the initial request + is made on a connection (after any protocol negotiation step). */ + CURLOPT(CURLOPT_PREREQFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 312), + + /* Data passed to the CURLOPT_PREREQFUNCTION callback */ + CURLOPT(CURLOPT_PREREQDATA, CURLOPTTYPE_CBPOINT, 313), + + /* maximum age (since creation) of a connection to consider it for reuse + * (in seconds) */ + CURLOPT(CURLOPT_MAXLIFETIME_CONN, CURLOPTTYPE_LONG, 314), + + /* Set MIME option flags. */ + CURLOPT(CURLOPT_MIME_OPTIONS, CURLOPTTYPE_LONG, 315), + + /* set the SSH host key callback, must point to a curl_sshkeycallback + function */ + CURLOPT(CURLOPT_SSH_HOSTKEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 316), + + /* set the SSH host key callback custom pointer */ + CURLOPT(CURLOPT_SSH_HOSTKEYDATA, CURLOPTTYPE_CBPOINT, 317), + + /* specify which protocols that are allowed to be used for the transfer, + which thus helps the app which takes URLs from users or other external + inputs and want to restrict what protocol(s) to deal with. Defaults to + all built-in protocols. */ + CURLOPT(CURLOPT_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 318), + + /* specify which protocols that libcurl is allowed to follow directs to */ + CURLOPT(CURLOPT_REDIR_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 319), + + /* WebSockets options */ + CURLOPT(CURLOPT_WS_OPTIONS, CURLOPTTYPE_LONG, 320), + + /* CA cache timeout */ + CURLOPT(CURLOPT_CA_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 321), + + /* Can leak things, gonna exit() soon */ + CURLOPT(CURLOPT_QUICK_EXIT, CURLOPTTYPE_LONG, 322), + + /* set a specific client IP for HAProxy PROXY protocol header? */ + CURLOPT(CURLOPT_HAPROXY_CLIENT_IP, CURLOPTTYPE_STRINGPOINT, 323), + + /* millisecond version */ + CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT_MS, CURLOPTTYPE_LONG, 324), + + /* set ECH configuration */ + CURLOPT(CURLOPT_ECH, CURLOPTTYPE_STRINGPOINT, 325), + + /* maximum number of keepalive probes (Linux, *BSD, macOS, etc.) */ + CURLOPT(CURLOPT_TCP_KEEPCNT, CURLOPTTYPE_LONG, 326), + + CURLOPT(CURLOPT_UPLOAD_FLAGS, CURLOPTTYPE_LONG, 327), + + /* set TLS supported signature algorithms */ + CURLOPT(CURLOPT_SSL_SIGNATURE_ALGORITHMS, CURLOPTTYPE_STRINGPOINT, 328), + + CURLOPT_LASTENTRY /* the last unused */ +} CURLoption; + +#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all + the obsolete stuff removed! */ + +/* Backwards compatibility with older names */ +/* These are scheduled to disappear by 2011 */ + +/* This was added in version 7.19.1 */ +#define CURLOPT_POST301 CURLOPT_POSTREDIR + +/* These are scheduled to disappear by 2009 */ + +/* The following were added in 7.17.0 */ +#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD +#define CURLOPT_FTPAPPEND CURLOPT_APPEND +#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY +#define CURLOPT_FTP_SSL CURLOPT_USE_SSL + +/* The following were added earlier */ + +#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD +#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL + +/* */ +#define CURLOPT_FTP_RESPONSE_TIMEOUT CURLOPT_SERVER_RESPONSE_TIMEOUT + +/* Added in 8.2.0 */ +#define CURLOPT_MAIL_RCPT_ALLLOWFAILS CURLOPT_MAIL_RCPT_ALLOWFAILS + +#else +/* This is set if CURL_NO_OLDIES is defined at compile-time */ +#undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */ +#endif + + + /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host + name resolves addresses using more than one IP protocol version, this + option might be handy to force libcurl to use a specific IP version. */ +#define CURL_IPRESOLVE_WHATEVER 0 /* default, uses addresses to all IP + versions that your system allows */ +#define CURL_IPRESOLVE_V4 1 /* uses only IPv4 addresses/connections */ +#define CURL_IPRESOLVE_V6 2 /* uses only IPv6 addresses/connections */ + + /* Convenient "aliases" */ +#define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER + +/* These constants are for use with the CURLOPT_HTTP_VERSION option. */ +#define CURL_HTTP_VERSION_NONE 0L /* setting this means we do not care, and + that we would like the library to choose + the best possible for us! */ +#define CURL_HTTP_VERSION_1_0 1L /* please use HTTP 1.0 in the request */ +#define CURL_HTTP_VERSION_1_1 2L /* please use HTTP 1.1 in the request */ +#define CURL_HTTP_VERSION_2_0 3L /* please use HTTP 2 in the request */ +#define CURL_HTTP_VERSION_2TLS 4L /* use version 2 for HTTPS, version 1.1 for + HTTP */ +#define CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE 5L /* please use HTTP 2 without + HTTP/1.1 Upgrade */ +#define CURL_HTTP_VERSION_3 30L /* Use HTTP/3, fallback to HTTP/2 or + HTTP/1 if needed. For HTTPS only. For + HTTP, this option makes libcurl + return error. */ +#define CURL_HTTP_VERSION_3ONLY 31L /* Use HTTP/3 without fallback. For + HTTPS only. For HTTP, this makes + libcurl return error. */ +#define CURL_HTTP_VERSION_LAST 32L /* *ILLEGAL* http version */ + +/* Convenience definition simple because the name of the version is HTTP/2 and + not 2.0. The 2_0 version of the enum name was set while the version was + still planned to be 2.0 and we stick to it for compatibility. */ +#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0 + +/* + * Public API enums for RTSP requests + */ + +#define CURL_RTSPREQ_NONE 0L +#define CURL_RTSPREQ_OPTIONS 1L +#define CURL_RTSPREQ_DESCRIBE 2L +#define CURL_RTSPREQ_ANNOUNCE 3L +#define CURL_RTSPREQ_SETUP 4L +#define CURL_RTSPREQ_PLAY 5L +#define CURL_RTSPREQ_PAUSE 6L +#define CURL_RTSPREQ_TEARDOWN 7L +#define CURL_RTSPREQ_GET_PARAMETER 8L +#define CURL_RTSPREQ_SET_PARAMETER 9L +#define CURL_RTSPREQ_RECORD 10L +#define CURL_RTSPREQ_RECEIVE 11L +#define CURL_RTSPREQ_LAST 12L /* not used */ + + /* These enums are for use with the CURLOPT_NETRC option. */ +#define CURL_NETRC_IGNORED 0L /* The .netrc will never be read. + This is the default. */ +#define CURL_NETRC_OPTIONAL 1L /* A user:password in the URL will be preferred + to one in the .netrc. */ +#define CURL_NETRC_REQUIRED 2L /* A user:password in the URL will be ignored. + Unless one is set programmatically, the + .netrc will be queried. */ +enum CURL_NETRC_OPTION { + /* we set a single member here, just to make sure we still provide the enum, + but the values to use are defined above with L suffixes */ + CURL_NETRC_LAST = 3 +}; + +#define CURL_SSLVERSION_DEFAULT 0 +#define CURL_SSLVERSION_TLSv1 1 /* TLS 1.x */ +#define CURL_SSLVERSION_SSLv2 2 +#define CURL_SSLVERSION_SSLv3 3 +#define CURL_SSLVERSION_TLSv1_0 4 +#define CURL_SSLVERSION_TLSv1_1 5 +#define CURL_SSLVERSION_TLSv1_2 6 +#define CURL_SSLVERSION_TLSv1_3 7 + +#define CURL_SSLVERSION_LAST 8 /* never use, keep last */ + +#define CURL_SSLVERSION_MAX_NONE 0 +#define CURL_SSLVERSION_MAX_DEFAULT (CURL_SSLVERSION_TLSv1 << 16) +#define CURL_SSLVERSION_MAX_TLSv1_0 (CURL_SSLVERSION_TLSv1_0 << 16) +#define CURL_SSLVERSION_MAX_TLSv1_1 (CURL_SSLVERSION_TLSv1_1 << 16) +#define CURL_SSLVERSION_MAX_TLSv1_2 (CURL_SSLVERSION_TLSv1_2 << 16) +#define CURL_SSLVERSION_MAX_TLSv1_3 (CURL_SSLVERSION_TLSv1_3 << 16) + + /* never use, keep last */ +#define CURL_SSLVERSION_MAX_LAST (CURL_SSLVERSION_LAST << 16) + +#define CURL_TLSAUTH_NONE 0L +#define CURL_TLSAUTH_SRP 1L + +enum CURL_TLSAUTH { + /* we set a single member here, just to make sure we still provide the enum, + but the values to use are defined above with L suffixes */ + CURL_TLSAUTH_LAST = 2 +}; + +/* symbols to use with CURLOPT_POSTREDIR. + CURL_REDIR_POST_301, CURL_REDIR_POST_302 and CURL_REDIR_POST_303 + can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302 + | CURL_REDIR_POST_303 == CURL_REDIR_POST_ALL */ + +#define CURL_REDIR_GET_ALL 0 +#define CURL_REDIR_POST_301 1 +#define CURL_REDIR_POST_302 2 +#define CURL_REDIR_POST_303 4 +#define CURL_REDIR_POST_ALL \ + (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303) + +#define CURL_TIMECOND_NONE 0L +#define CURL_TIMECOND_IFMODSINCE 1L +#define CURL_TIMECOND_IFUNMODSINCE 2L +#define CURL_TIMECOND_LASTMOD 3L + +typedef enum { + /* we set a single member here, just to make sure we still provide + the enum typedef, but the values to use are defined above with L + suffixes */ + CURL_TIMECOND_LAST = 4 +} curl_TimeCond; + +/* Special size_t value signaling a null-terminated string. */ +#define CURL_ZERO_TERMINATED ((size_t) -1) + +/* curl_strequal() and curl_strnequal() are subject for removal in a future + release */ +CURL_EXTERN int curl_strequal(const char *s1, const char *s2); +CURL_EXTERN int curl_strnequal(const char *s1, const char *s2, size_t n); + +/* Mime/form handling support. */ +typedef struct curl_mime curl_mime; /* Mime context. */ +typedef struct curl_mimepart curl_mimepart; /* Mime part context. */ + +/* CURLMIMEOPT_ defines are for the CURLOPT_MIME_OPTIONS option. */ +#define CURLMIMEOPT_FORMESCAPE (1<<0) /* Use backslash-escaping for forms. */ + +/* + * NAME curl_mime_init() + * + * DESCRIPTION + * + * Create a mime context and return its handle. The easy parameter is the + * target handle. + */ +CURL_EXTERN curl_mime *curl_mime_init(CURL *easy); + +/* + * NAME curl_mime_free() + * + * DESCRIPTION + * + * release a mime handle and its substructures. + */ +CURL_EXTERN void curl_mime_free(curl_mime *mime); + +/* + * NAME curl_mime_addpart() + * + * DESCRIPTION + * + * Append a new empty part to the given mime context and return a handle to + * the created part. + */ +CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime); + +/* + * NAME curl_mime_name() + * + * DESCRIPTION + * + * Set mime/form part name. + */ +CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name); + +/* + * NAME curl_mime_filename() + * + * DESCRIPTION + * + * Set mime part remote filename. + */ +CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part, + const char *filename); + +/* + * NAME curl_mime_type() + * + * DESCRIPTION + * + * Set mime part type. + */ +CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype); + +/* + * NAME curl_mime_encoder() + * + * DESCRIPTION + * + * Set mime data transfer encoder. + */ +CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part, + const char *encoding); + +/* + * NAME curl_mime_data() + * + * DESCRIPTION + * + * Set mime part data source from memory data, + */ +CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part, + const char *data, size_t datasize); + +/* + * NAME curl_mime_filedata() + * + * DESCRIPTION + * + * Set mime part data source from named file. + */ +CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part, + const char *filename); + +/* + * NAME curl_mime_data_cb() + * + * DESCRIPTION + * + * Set mime part data source from callback function. + */ +CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part, + curl_off_t datasize, + curl_read_callback readfunc, + curl_seek_callback seekfunc, + curl_free_callback freefunc, + void *arg); + +/* + * NAME curl_mime_subparts() + * + * DESCRIPTION + * + * Set mime part data source from subparts. + */ +CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part, + curl_mime *subparts); +/* + * NAME curl_mime_headers() + * + * DESCRIPTION + * + * Set mime part headers. + */ +CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part, + struct curl_slist *headers, + int take_ownership); + +typedef enum { + /********* the first one is unused ************/ + CURLFORM_NOTHING CURL_DEPRECATED(7.56.0, ""), + CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"), + CURLFORM_PTRNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"), + CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""), + CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"), + CURLFORM_PTRCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"), + CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"), + CURLFORM_FILECONTENT CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"), + CURLFORM_ARRAY CURL_DEPRECATED(7.56.0, ""), + CURLFORM_OBSOLETE, + CURLFORM_FILE CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"), + + CURLFORM_BUFFER CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"), + CURLFORM_BUFFERPTR CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"), + CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"), + + CURLFORM_CONTENTTYPE CURL_DEPRECATED(7.56.0, "Use curl_mime_type()"), + CURLFORM_CONTENTHEADER CURL_DEPRECATED(7.56.0, "Use curl_mime_headers()"), + CURLFORM_FILENAME CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"), + CURLFORM_END, + CURLFORM_OBSOLETE2, + + CURLFORM_STREAM CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"), + CURLFORM_CONTENTLEN /* added in 7.46.0, provide a curl_off_t length */ + CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"), + + CURLFORM_LASTENTRY /* the last unused */ +} CURLformoption; + +/* structure to be used as parameter for CURLFORM_ARRAY */ +struct curl_forms { + CURLformoption option; + const char *value; +}; + +/* use this for multipart formpost building */ +/* Returns code for curl_formadd() + * + * Returns: + * CURL_FORMADD_OK on success + * CURL_FORMADD_MEMORY if the FormInfo allocation fails + * CURL_FORMADD_OPTION_TWICE if one option is given twice for one Form + * CURL_FORMADD_NULL if a null pointer was given for a char + * CURL_FORMADD_MEMORY if the allocation of a FormInfo struct failed + * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used + * CURL_FORMADD_INCOMPLETE if the some FormInfo is not complete (or error) + * CURL_FORMADD_MEMORY if a curl_httppost struct cannot be allocated + * CURL_FORMADD_MEMORY if some allocation for string copying failed. + * CURL_FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array + * + ***************************************************************************/ +typedef enum { + CURL_FORMADD_OK CURL_DEPRECATED(7.56.0, ""), /* 1st, no error */ + + CURL_FORMADD_MEMORY CURL_DEPRECATED(7.56.0, ""), + CURL_FORMADD_OPTION_TWICE CURL_DEPRECATED(7.56.0, ""), + CURL_FORMADD_NULL CURL_DEPRECATED(7.56.0, ""), + CURL_FORMADD_UNKNOWN_OPTION CURL_DEPRECATED(7.56.0, ""), + CURL_FORMADD_INCOMPLETE CURL_DEPRECATED(7.56.0, ""), + CURL_FORMADD_ILLEGAL_ARRAY CURL_DEPRECATED(7.56.0, ""), + /* libcurl was built with form api disabled */ + CURL_FORMADD_DISABLED CURL_DEPRECATED(7.56.0, ""), + + CURL_FORMADD_LAST /* last */ +} CURLFORMcode; + +/* + * NAME curl_formadd() + * + * DESCRIPTION + * + * Pretty advanced function for building multi-part formposts. Each invoke + * adds one part that together construct a full post. Then use + * CURLOPT_HTTPPOST to send it off to libcurl. + */ +CURL_EXTERN CURLFORMcode CURL_DEPRECATED(7.56.0, "Use curl_mime_init()") +curl_formadd(struct curl_httppost **httppost, + struct curl_httppost **last_post, + ...); + +/* + * callback function for curl_formget() + * The void *arg pointer will be the one passed as second argument to + * curl_formget(). + * The character buffer passed to it must not be freed. + * Should return the buffer length passed to it as the argument "len" on + * success. + */ +typedef size_t (*curl_formget_callback)(void *arg, const char *buf, + size_t len); + +/* + * NAME curl_formget() + * + * DESCRIPTION + * + * Serialize a curl_httppost struct built with curl_formadd(). + * Accepts a void pointer as second argument which will be passed to + * the curl_formget_callback function. + * Returns 0 on success. + */ +CURL_EXTERN int CURL_DEPRECATED(7.56.0, "") +curl_formget(struct curl_httppost *form, void *arg, + curl_formget_callback append); +/* + * NAME curl_formfree() + * + * DESCRIPTION + * + * Free a multipart formpost previously built with curl_formadd(). + */ +CURL_EXTERN void CURL_DEPRECATED(7.56.0, "Use curl_mime_free()") +curl_formfree(struct curl_httppost *form); + +/* + * NAME curl_getenv() + * + * DESCRIPTION + * + * Returns a malloc()'ed string that MUST be curl_free()ed after usage is + * complete. DEPRECATED - see lib/README.curlx + */ +CURL_EXTERN char *curl_getenv(const char *variable); + +/* + * NAME curl_version() + * + * DESCRIPTION + * + * Returns a static ASCII string of the libcurl version. + */ +CURL_EXTERN char *curl_version(void); + +/* + * NAME curl_easy_escape() + * + * DESCRIPTION + * + * Escapes URL strings (converts all letters consider illegal in URLs to their + * %XX versions). This function returns a new allocated string or NULL if an + * error occurred. + */ +CURL_EXTERN char *curl_easy_escape(CURL *handle, + const char *string, + int length); + +/* the previous version: */ +CURL_EXTERN char *curl_escape(const char *string, + int length); + + +/* + * NAME curl_easy_unescape() + * + * DESCRIPTION + * + * Unescapes URL encoding in strings (converts all %XX codes to their 8bit + * versions). This function returns a new allocated string or NULL if an error + * occurred. + * Conversion Note: On non-ASCII platforms the ASCII %XX codes are + * converted into the host encoding. + */ +CURL_EXTERN char *curl_easy_unescape(CURL *handle, + const char *string, + int length, + int *outlength); + +/* the previous version */ +CURL_EXTERN char *curl_unescape(const char *string, + int length); + +/* + * NAME curl_free() + * + * DESCRIPTION + * + * Provided for de-allocation in the same translation unit that did the + * allocation. Added in libcurl 7.10 + */ +CURL_EXTERN void curl_free(void *p); + +/* + * NAME curl_global_init() + * + * DESCRIPTION + * + * curl_global_init() should be invoked exactly once for each application that + * uses libcurl and before any call of other libcurl functions. + + * This function is thread-safe if CURL_VERSION_THREADSAFE is set in the + * curl_version_info_data.features flag (fetch by curl_version_info()). + + */ +CURL_EXTERN CURLcode curl_global_init(long flags); + +/* + * NAME curl_global_init_mem() + * + * DESCRIPTION + * + * curl_global_init() or curl_global_init_mem() should be invoked exactly once + * for each application that uses libcurl. This function can be used to + * initialize libcurl and set user defined memory management callback + * functions. Users can implement memory management routines to check for + * memory leaks, check for mis-use of the curl library etc. User registered + * callback routines will be invoked by this library instead of the system + * memory management routines like malloc, free etc. + */ +CURL_EXTERN CURLcode curl_global_init_mem(long flags, + curl_malloc_callback m, + curl_free_callback f, + curl_realloc_callback r, + curl_strdup_callback s, + curl_calloc_callback c); + +/* + * NAME curl_global_cleanup() + * + * DESCRIPTION + * + * curl_global_cleanup() should be invoked exactly once for each application + * that uses libcurl + */ +CURL_EXTERN void curl_global_cleanup(void); + +/* + * NAME curl_global_trace() + * + * DESCRIPTION + * + * curl_global_trace() can be invoked at application start to + * configure which components in curl should participate in tracing. + + * This function is thread-safe if CURL_VERSION_THREADSAFE is set in the + * curl_version_info_data.features flag (fetch by curl_version_info()). + + */ +CURL_EXTERN CURLcode curl_global_trace(const char *config); + +/* linked-list structure for the CURLOPT_QUOTE option (and other) */ +struct curl_slist { + char *data; + struct curl_slist *next; +}; + +/* + * NAME curl_global_sslset() + * + * DESCRIPTION + * + * When built with multiple SSL backends, curl_global_sslset() allows to + * choose one. This function can only be called once, and it must be called + * *before* curl_global_init(). + * + * The backend can be identified by the id (e.g. CURLSSLBACKEND_OPENSSL). The + * backend can also be specified via the name parameter (passing -1 as id). + * If both id and name are specified, the name will be ignored. If neither id + * nor name are specified, the function will fail with + * CURLSSLSET_UNKNOWN_BACKEND and set the "avail" pointer to the + * NULL-terminated list of available backends. + * + * Upon success, the function returns CURLSSLSET_OK. + * + * If the specified SSL backend is not available, the function returns + * CURLSSLSET_UNKNOWN_BACKEND and sets the "avail" pointer to a NULL-terminated + * list of available SSL backends. + * + * The SSL backend can be set only once. If it has already been set, a + * subsequent attempt to change it will result in a CURLSSLSET_TOO_LATE. + */ + +struct curl_ssl_backend { + curl_sslbackend id; + const char *name; +}; +typedef struct curl_ssl_backend curl_ssl_backend; + +typedef enum { + CURLSSLSET_OK = 0, + CURLSSLSET_UNKNOWN_BACKEND, + CURLSSLSET_TOO_LATE, + CURLSSLSET_NO_BACKENDS /* libcurl was built without any SSL support */ +} CURLsslset; + +CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, + const curl_ssl_backend ***avail); + +/* + * NAME curl_slist_append() + * + * DESCRIPTION + * + * Appends a string to a linked list. If no list exists, it will be created + * first. Returns the new list, after appending. + */ +CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *list, + const char *data); + +/* + * NAME curl_slist_free_all() + * + * DESCRIPTION + * + * free a previously built curl_slist. + */ +CURL_EXTERN void curl_slist_free_all(struct curl_slist *list); + +/* + * NAME curl_getdate() + * + * DESCRIPTION + * + * Returns the time, in seconds since 1 Jan 1970 of the time string given in + * the first argument. The time argument in the second parameter is unused + * and should be set to NULL. + */ +CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused); + +/* info about the certificate chain, for SSL backends that support it. Asked + for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ +struct curl_certinfo { + int num_of_certs; /* number of certificates with information */ + struct curl_slist **certinfo; /* for each index in this array, there is a + linked list with textual information for a + certificate in the format "name:content". + eg "Subject:foo", "Issuer:bar", etc. */ +}; + +/* Information about the SSL library used and the respective internal SSL + handle, which can be used to obtain further information regarding the + connection. Asked for with CURLINFO_TLS_SSL_PTR or CURLINFO_TLS_SESSION. */ +struct curl_tlssessioninfo { + curl_sslbackend backend; + void *internals; +}; + +#define CURLINFO_STRING 0x100000 +#define CURLINFO_LONG 0x200000 +#define CURLINFO_DOUBLE 0x300000 +#define CURLINFO_SLIST 0x400000 +#define CURLINFO_PTR 0x400000 /* same as SLIST */ +#define CURLINFO_SOCKET 0x500000 +#define CURLINFO_OFF_T 0x600000 +#define CURLINFO_MASK 0x0fffff +#define CURLINFO_TYPEMASK 0xf00000 + +typedef enum { + CURLINFO_NONE, /* first, never use this */ + CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1, + CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2, + CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3, + CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4, + CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5, + CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6, + CURLINFO_SIZE_UPLOAD CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_UPLOAD_T") + = CURLINFO_DOUBLE + 7, + CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7, + CURLINFO_SIZE_DOWNLOAD + CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_DOWNLOAD_T") + = CURLINFO_DOUBLE + 8, + CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8, + CURLINFO_SPEED_DOWNLOAD + CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_DOWNLOAD_T") + = CURLINFO_DOUBLE + 9, + CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9, + CURLINFO_SPEED_UPLOAD + CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_UPLOAD_T") + = CURLINFO_DOUBLE + 10, + CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 10, + CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11, + CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12, + CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13, + CURLINFO_FILETIME = CURLINFO_LONG + 14, + CURLINFO_FILETIME_T = CURLINFO_OFF_T + 14, + CURLINFO_CONTENT_LENGTH_DOWNLOAD + CURL_DEPRECATED(7.55.0, + "Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T") + = CURLINFO_DOUBLE + 15, + CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15, + CURLINFO_CONTENT_LENGTH_UPLOAD + CURL_DEPRECATED(7.55.0, + "Use CURLINFO_CONTENT_LENGTH_UPLOAD_T") + = CURLINFO_DOUBLE + 16, + CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 16, + CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17, + CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18, + CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19, + CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20, + CURLINFO_PRIVATE = CURLINFO_STRING + 21, + CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22, + CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23, + CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24, + CURLINFO_OS_ERRNO = CURLINFO_LONG + 25, + CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26, + CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27, + CURLINFO_COOKIELIST = CURLINFO_SLIST + 28, + CURLINFO_LASTSOCKET CURL_DEPRECATED(7.45.0, "Use CURLINFO_ACTIVESOCKET") + = CURLINFO_LONG + 29, + CURLINFO_FTP_ENTRY_PATH = CURLINFO_STRING + 30, + CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31, + CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32, + CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33, + CURLINFO_CERTINFO = CURLINFO_PTR + 34, + CURLINFO_CONDITION_UNMET = CURLINFO_LONG + 35, + CURLINFO_RTSP_SESSION_ID = CURLINFO_STRING + 36, + CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG + 37, + CURLINFO_RTSP_SERVER_CSEQ = CURLINFO_LONG + 38, + CURLINFO_RTSP_CSEQ_RECV = CURLINFO_LONG + 39, + CURLINFO_PRIMARY_PORT = CURLINFO_LONG + 40, + CURLINFO_LOCAL_IP = CURLINFO_STRING + 41, + CURLINFO_LOCAL_PORT = CURLINFO_LONG + 42, + CURLINFO_TLS_SESSION CURL_DEPRECATED(7.48.0, "Use CURLINFO_TLS_SSL_PTR") + = CURLINFO_PTR + 43, + CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44, + CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45, + CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46, + CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47, + CURLINFO_PROTOCOL CURL_DEPRECATED(7.85.0, "Use CURLINFO_SCHEME") + = CURLINFO_LONG + 48, + CURLINFO_SCHEME = CURLINFO_STRING + 49, + CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50, + CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51, + CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52, + CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53, + CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54, + CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55, + CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56, + CURLINFO_RETRY_AFTER = CURLINFO_OFF_T + 57, + CURLINFO_EFFECTIVE_METHOD = CURLINFO_STRING + 58, + CURLINFO_PROXY_ERROR = CURLINFO_LONG + 59, + CURLINFO_REFERER = CURLINFO_STRING + 60, + CURLINFO_CAINFO = CURLINFO_STRING + 61, + CURLINFO_CAPATH = CURLINFO_STRING + 62, + CURLINFO_XFER_ID = CURLINFO_OFF_T + 63, + CURLINFO_CONN_ID = CURLINFO_OFF_T + 64, + CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65, + CURLINFO_USED_PROXY = CURLINFO_LONG + 66, + CURLINFO_POSTTRANSFER_TIME_T = CURLINFO_OFF_T + 67, + CURLINFO_EARLYDATA_SENT_T = CURLINFO_OFF_T + 68, + CURLINFO_HTTPAUTH_USED = CURLINFO_LONG + 69, + CURLINFO_PROXYAUTH_USED = CURLINFO_LONG + 70, + CURLINFO_LASTONE = 70 +} CURLINFO; + +/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as + CURLINFO_HTTP_CODE */ +#define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE + +typedef enum { + CURLCLOSEPOLICY_NONE, /* first, never use this */ + + CURLCLOSEPOLICY_OLDEST, + CURLCLOSEPOLICY_LEAST_RECENTLY_USED, + CURLCLOSEPOLICY_LEAST_TRAFFIC, + CURLCLOSEPOLICY_SLOWEST, + CURLCLOSEPOLICY_CALLBACK, + + CURLCLOSEPOLICY_LAST /* last, never use this */ +} curl_closepolicy; + +#define CURL_GLOBAL_SSL (1<<0) /* no purpose since 7.57.0 */ +#define CURL_GLOBAL_WIN32 (1<<1) +#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32) +#define CURL_GLOBAL_NOTHING 0 +#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL +#define CURL_GLOBAL_ACK_EINTR (1<<2) + + +/***************************************************************************** + * Setup defines, protos etc for the sharing stuff. + */ + +/* Different data locks for a single share */ +typedef enum { + CURL_LOCK_DATA_NONE = 0, + /* CURL_LOCK_DATA_SHARE is used internally to say that + * the locking is just made to change the internal state of the share + * itself. + */ + CURL_LOCK_DATA_SHARE, + CURL_LOCK_DATA_COOKIE, + CURL_LOCK_DATA_DNS, + CURL_LOCK_DATA_SSL_SESSION, + CURL_LOCK_DATA_CONNECT, + CURL_LOCK_DATA_PSL, + CURL_LOCK_DATA_HSTS, + CURL_LOCK_DATA_LAST +} curl_lock_data; + +/* Different lock access types */ +typedef enum { + CURL_LOCK_ACCESS_NONE = 0, /* unspecified action */ + CURL_LOCK_ACCESS_SHARED = 1, /* for read perhaps */ + CURL_LOCK_ACCESS_SINGLE = 2, /* for write perhaps */ + CURL_LOCK_ACCESS_LAST /* never use */ +} curl_lock_access; + +typedef void (*curl_lock_function)(CURL *handle, + curl_lock_data data, + curl_lock_access locktype, + void *userptr); +typedef void (*curl_unlock_function)(CURL *handle, + curl_lock_data data, + void *userptr); + + +typedef enum { + CURLSHE_OK, /* all is fine */ + CURLSHE_BAD_OPTION, /* 1 */ + CURLSHE_IN_USE, /* 2 */ + CURLSHE_INVALID, /* 3 */ + CURLSHE_NOMEM, /* 4 out of memory */ + CURLSHE_NOT_BUILT_IN, /* 5 feature not present in lib */ + CURLSHE_LAST /* never use */ +} CURLSHcode; + +typedef enum { + CURLSHOPT_NONE, /* do not use */ + CURLSHOPT_SHARE, /* specify a data type to share */ + CURLSHOPT_UNSHARE, /* specify which data type to stop sharing */ + CURLSHOPT_LOCKFUNC, /* pass in a 'curl_lock_function' pointer */ + CURLSHOPT_UNLOCKFUNC, /* pass in a 'curl_unlock_function' pointer */ + CURLSHOPT_USERDATA, /* pass in a user data pointer used in the lock/unlock + callback functions */ + CURLSHOPT_LAST /* never use */ +} CURLSHoption; + +CURL_EXTERN CURLSH *curl_share_init(void); +CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, + ...); +CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *share); + +/**************************************************************************** + * Structures for querying information about the curl library at runtime. + */ + +typedef enum { + CURLVERSION_FIRST, /* 7.10 */ + CURLVERSION_SECOND, /* 7.11.1 */ + CURLVERSION_THIRD, /* 7.12.0 */ + CURLVERSION_FOURTH, /* 7.16.1 */ + CURLVERSION_FIFTH, /* 7.57.0 */ + CURLVERSION_SIXTH, /* 7.66.0 */ + CURLVERSION_SEVENTH, /* 7.70.0 */ + CURLVERSION_EIGHTH, /* 7.72.0 */ + CURLVERSION_NINTH, /* 7.75.0 */ + CURLVERSION_TENTH, /* 7.77.0 */ + CURLVERSION_ELEVENTH, /* 7.87.0 */ + CURLVERSION_TWELFTH, /* 8.8.0 */ + CURLVERSION_LAST /* never actually use this */ +} CURLversion; + +/* The 'CURLVERSION_NOW' is the symbolic name meant to be used by + basically all programs ever that want to get version information. It is + meant to be a built-in version number for what kind of struct the caller + expects. If the struct ever changes, we redefine the NOW to another enum + from above. */ +#define CURLVERSION_NOW CURLVERSION_TWELFTH + +struct curl_version_info_data { + CURLversion age; /* age of the returned struct */ + const char *version; /* LIBCURL_VERSION */ + unsigned int version_num; /* LIBCURL_VERSION_NUM */ + const char *host; /* OS/host/cpu/machine when configured */ + int features; /* bitmask, see defines below */ + const char *ssl_version; /* human readable string */ + long ssl_version_num; /* not used anymore, always 0 */ + const char *libz_version; /* human readable string */ + /* protocols is terminated by an entry with a NULL protoname */ + const char * const *protocols; + + /* The fields below this were added in CURLVERSION_SECOND */ + const char *ares; + int ares_num; + + /* This field was added in CURLVERSION_THIRD */ + const char *libidn; + + /* These field were added in CURLVERSION_FOURTH */ + + /* Same as '_libiconv_version' if built with HAVE_ICONV */ + int iconv_ver_num; + + const char *libssh_version; /* human readable string */ + + /* These fields were added in CURLVERSION_FIFTH */ + unsigned int brotli_ver_num; /* Numeric Brotli version + (MAJOR << 24) | (MINOR << 12) | PATCH */ + const char *brotli_version; /* human readable string. */ + + /* These fields were added in CURLVERSION_SIXTH */ + unsigned int nghttp2_ver_num; /* Numeric nghttp2 version + (MAJOR << 16) | (MINOR << 8) | PATCH */ + const char *nghttp2_version; /* human readable string. */ + const char *quic_version; /* human readable quic (+ HTTP/3) library + + version or NULL */ + + /* These fields were added in CURLVERSION_SEVENTH */ + const char *cainfo; /* the built-in default CURLOPT_CAINFO, might + be NULL */ + const char *capath; /* the built-in default CURLOPT_CAPATH, might + be NULL */ + + /* These fields were added in CURLVERSION_EIGHTH */ + unsigned int zstd_ver_num; /* Numeric Zstd version + (MAJOR << 24) | (MINOR << 12) | PATCH */ + const char *zstd_version; /* human readable string. */ + + /* These fields were added in CURLVERSION_NINTH */ + const char *hyper_version; /* human readable string. */ + + /* These fields were added in CURLVERSION_TENTH */ + const char *gsasl_version; /* human readable string. */ + + /* These fields were added in CURLVERSION_ELEVENTH */ + /* feature_names is terminated by an entry with a NULL feature name */ + const char * const *feature_names; + + /* These fields were added in CURLVERSION_TWELFTH */ + const char *rtmp_version; /* human readable string. */ +}; +typedef struct curl_version_info_data curl_version_info_data; + +#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */ +#define CURL_VERSION_KERBEROS4 (1<<1) /* Kerberos V4 auth is supported + (deprecated) */ +#define CURL_VERSION_SSL (1<<2) /* SSL options are present */ +#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */ +#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */ +#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth is supported + (deprecated) */ +#define CURL_VERSION_DEBUG (1<<6) /* Built with debug capabilities */ +#define CURL_VERSION_ASYNCHDNS (1<<7) /* Asynchronous DNS resolves */ +#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth is supported */ +#define CURL_VERSION_LARGEFILE (1<<9) /* Supports files larger than 2GB */ +#define CURL_VERSION_IDN (1<<10) /* Internationized Domain Names are + supported */ +#define CURL_VERSION_SSPI (1<<11) /* Built against Windows SSPI */ +#define CURL_VERSION_CONV (1<<12) /* Character conversions supported */ +#define CURL_VERSION_CURLDEBUG (1<<13) /* Debug memory tracking supported */ +#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */ +#define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegation to winbind helper + is supported */ +#define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */ +#define CURL_VERSION_GSSAPI (1<<17) /* Built against a GSS-API library */ +#define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */ +#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */ +#define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used + for cookie domain verification */ +#define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ +#define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ +#define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ +#define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */ +#define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */ +#define CURL_VERSION_ZSTD (1<<26) /* zstd features are present */ +#define CURL_VERSION_UNICODE (1<<27) /* Unicode support on Windows */ +#define CURL_VERSION_HSTS (1<<28) /* HSTS is supported */ +#define CURL_VERSION_GSASL (1<<29) /* libgsasl is supported */ +#define CURL_VERSION_THREADSAFE (1<<30) /* libcurl API is thread-safe */ + +/* + * NAME curl_version_info() + * + * DESCRIPTION + * + * This function returns a pointer to a static copy of the version info + * struct. See above. + */ +CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion); + +/* + * NAME curl_easy_strerror() + * + * DESCRIPTION + * + * The curl_easy_strerror function may be used to turn a CURLcode value + * into the equivalent human readable error string. This is useful + * for printing meaningful error messages. + */ +CURL_EXTERN const char *curl_easy_strerror(CURLcode); + +/* + * NAME curl_share_strerror() + * + * DESCRIPTION + * + * The curl_share_strerror function may be used to turn a CURLSHcode value + * into the equivalent human readable error string. This is useful + * for printing meaningful error messages. + */ +CURL_EXTERN const char *curl_share_strerror(CURLSHcode); + +/* + * NAME curl_easy_pause() + * + * DESCRIPTION + * + * The curl_easy_pause function pauses or unpauses transfers. Select the new + * state by setting the bitmask, use the convenience defines below. + * + */ +CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask); + +#define CURLPAUSE_RECV (1<<0) +#define CURLPAUSE_RECV_CONT (0) + +#define CURLPAUSE_SEND (1<<2) +#define CURLPAUSE_SEND_CONT (0) + +#define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND) +#define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT) + +/* + * NAME curl_easy_ssls_import() + * + * DESCRIPTION + * + * The curl_easy_ssls_import function adds a previously exported SSL session + * to the SSL session cache of the easy handle (or the underlying share). + */ +CURL_EXTERN CURLcode curl_easy_ssls_import(CURL *handle, + const char *session_key, + const unsigned char *shmac, + size_t shmac_len, + const unsigned char *sdata, + size_t sdata_len); + +/* This is the curl_ssls_export_cb callback prototype. It + * is passed to curl_easy_ssls_export() to extract SSL sessions/tickets. */ +typedef CURLcode curl_ssls_export_cb(CURL *handle, + void *userptr, + const char *session_key, + const unsigned char *shmac, + size_t shmac_len, + const unsigned char *sdata, + size_t sdata_len, + curl_off_t valid_until, + int ietf_tls_id, + const char *alpn, + size_t earlydata_max); + +/* + * NAME curl_easy_ssls_export() + * + * DESCRIPTION + * + * The curl_easy_ssls_export function iterates over all SSL sessions stored + * in the easy handle (or underlying share) and invokes the passed + * callback. + * + */ +CURL_EXTERN CURLcode curl_easy_ssls_export(CURL *handle, + curl_ssls_export_cb *export_fn, + void *userptr); + + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +/* unfortunately, the easy.h and multi.h include files need options and info + stuff before they can be included! */ +#include "easy.h" /* nothing in curl is fun without the easy stuff */ +#include "multi.h" +#include "urlapi.h" +#include "options.h" +#include "header.h" +#include "websockets.h" +#include "mprintf.h" + +/* the typechecker does not work in C++ (yet) */ +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \ + ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \ + !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK) +#include "typecheck-gcc.h" +#else +#if defined(__STDC__) && (__STDC__ >= 1) +/* This preprocessor magic that replaces a call with the exact same call is + only done to make sure application authors pass exactly three arguments + to these functions. */ +#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param) +#define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg) +#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param) +#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param) +#endif /* __STDC__ >= 1 */ +#endif /* gcc >= 4.3 && !__cplusplus && !CURL_DISABLE_TYPECHECK */ + +#endif /* CURLINC_CURL_H */ diff --git a/curl/include/curl/curlver.h b/curl/include/curl/curlver.h new file mode 100644 index 0000000..11e35ed --- /dev/null +++ b/curl/include/curl/curlver.h @@ -0,0 +1,79 @@ +#ifndef CURLINC_CURLVER_H +#define CURLINC_CURLVER_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* This header file contains nothing but libcurl version info, generated by + a script at release-time. This was made its own header file in 7.11.2 */ + +/* This is the global package copyright */ +#define LIBCURL_COPYRIGHT "Daniel Stenberg, ." + +/* This is the version number of the libcurl package from which this header + file origins: */ +#define LIBCURL_VERSION "8.14.0" + +/* The numeric version number is also available "in parts" by using these + defines: */ +#define LIBCURL_VERSION_MAJOR 8 +#define LIBCURL_VERSION_MINOR 14 +#define LIBCURL_VERSION_PATCH 0 + +/* This is the numeric version of the libcurl version number, meant for easier + parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will + always follow this syntax: + + 0xXXYYZZ + + Where XX, YY and ZZ are the main version, release and patch numbers in + hexadecimal (using 8 bits each). All three numbers are always represented + using two digits. 1.2 would appear as "0x010200" while version 9.11.7 + appears as "0x090b07". + + This 6-digit (24 bits) hexadecimal number does not show pre-release number, + and it is always a greater number in a more recent release. It makes + comparisons with greater than and less than work. + + Note: This define is the full hex number and _does not_ use the + CURL_VERSION_BITS() macro since curl's own configure script greps for it + and needs it to contain the full number. +*/ +#define LIBCURL_VERSION_NUM 0x080e00 + +/* + * This is the date and time when the full source package was created. The + * timestamp is not stored in git, as the timestamp is properly set in the + * tarballs by the maketgz script. + * + * The format of the date follows this template: + * + * "2007-11-23" + */ +#define LIBCURL_TIMESTAMP "2025-05-28" + +#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z)) +#define CURL_AT_LEAST_VERSION(x,y,z) \ + (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z)) + +#endif /* CURLINC_CURLVER_H */ diff --git a/curl/include/curl/easy.h b/curl/include/curl/easy.h new file mode 100644 index 0000000..56f8060 --- /dev/null +++ b/curl/include/curl/easy.h @@ -0,0 +1,125 @@ +#ifndef CURLINC_EASY_H +#define CURLINC_EASY_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +#ifdef __cplusplus +extern "C" { +#endif + +/* Flag bits in the curl_blob struct: */ +#define CURL_BLOB_COPY 1 /* tell libcurl to copy the data */ +#define CURL_BLOB_NOCOPY 0 /* tell libcurl to NOT copy the data */ + +struct curl_blob { + void *data; + size_t len; + unsigned int flags; /* bit 0 is defined, the rest are reserved and should be + left zeroes */ +}; + +CURL_EXTERN CURL *curl_easy_init(void); +CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...); +CURL_EXTERN CURLcode curl_easy_perform(CURL *curl); +CURL_EXTERN void curl_easy_cleanup(CURL *curl); + +/* + * NAME curl_easy_getinfo() + * + * DESCRIPTION + * + * Request internal information from the curl session with this function. + * The third argument MUST be pointing to the specific type of the used option + * which is documented in each manpage of the option. The data pointed to + * will be filled in accordingly and can be relied upon only if the function + * returns CURLE_OK. This function is intended to get used *AFTER* a performed + * transfer, all results from this function are undefined until the transfer + * is completed. + */ +CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...); + + +/* + * NAME curl_easy_duphandle() + * + * DESCRIPTION + * + * Creates a new curl session handle with the same options set for the handle + * passed in. Duplicating a handle could only be a matter of cloning data and + * options, internal state info and things like persistent connections cannot + * be transferred. It is useful in multithreaded applications when you can run + * curl_easy_duphandle() for each new thread to avoid a series of identical + * curl_easy_setopt() invokes in every thread. + */ +CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl); + +/* + * NAME curl_easy_reset() + * + * DESCRIPTION + * + * Re-initializes a curl handle to the default values. This puts back the + * handle to the same state as it was in when it was just created. + * + * It does keep: live connections, the Session ID cache, the DNS cache and the + * cookies. + */ +CURL_EXTERN void curl_easy_reset(CURL *curl); + +/* + * NAME curl_easy_recv() + * + * DESCRIPTION + * + * Receives data from the connected socket. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, + size_t *n); + +/* + * NAME curl_easy_send() + * + * DESCRIPTION + * + * Sends data over the connected socket. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer, + size_t buflen, size_t *n); + + +/* + * NAME curl_easy_upkeep() + * + * DESCRIPTION + * + * Performs connection upkeep for the given session handle. + */ +CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif diff --git a/curl/include/curl/header.h b/curl/include/curl/header.h new file mode 100644 index 0000000..8df11e1 --- /dev/null +++ b/curl/include/curl/header.h @@ -0,0 +1,74 @@ +#ifndef CURLINC_HEADER_H +#define CURLINC_HEADER_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif + +struct curl_header { + char *name; /* this might not use the same case */ + char *value; + size_t amount; /* number of headers using this name */ + size_t index; /* ... of this instance, 0 or higher */ + unsigned int origin; /* see bits below */ + void *anchor; /* handle privately used by libcurl */ +}; + +/* 'origin' bits */ +#define CURLH_HEADER (1<<0) /* plain server header */ +#define CURLH_TRAILER (1<<1) /* trailers */ +#define CURLH_CONNECT (1<<2) /* CONNECT headers */ +#define CURLH_1XX (1<<3) /* 1xx headers */ +#define CURLH_PSEUDO (1<<4) /* pseudo headers */ + +typedef enum { + CURLHE_OK, + CURLHE_BADINDEX, /* header exists but not with this index */ + CURLHE_MISSING, /* no such header exists */ + CURLHE_NOHEADERS, /* no headers at all exist (yet) */ + CURLHE_NOREQUEST, /* no request with this number was used */ + CURLHE_OUT_OF_MEMORY, /* out of memory while processing */ + CURLHE_BAD_ARGUMENT, /* a function argument was not okay */ + CURLHE_NOT_BUILT_IN /* if API was disabled in the build */ +} CURLHcode; + +CURL_EXTERN CURLHcode curl_easy_header(CURL *easy, + const char *name, + size_t index, + unsigned int origin, + int request, + struct curl_header **hout); + +CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy, + unsigned int origin, + int request, + struct curl_header *prev); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* CURLINC_HEADER_H */ diff --git a/curl/include/curl/mprintf.h b/curl/include/curl/mprintf.h new file mode 100644 index 0000000..88059c8 --- /dev/null +++ b/curl/include/curl/mprintf.h @@ -0,0 +1,85 @@ +#ifndef CURLINC_MPRINTF_H +#define CURLINC_MPRINTF_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#include +#include /* needed for FILE */ +#include "curl.h" /* for CURL_EXTERN */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef CURL_TEMP_PRINTF +#if (defined(__GNUC__) || defined(__clang__) || \ + defined(__IAR_SYSTEMS_ICC__)) && \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(CURL_NO_FMT_CHECKS) +#if defined(__MINGW32__) && !defined(__clang__) +#if defined(__MINGW_PRINTF_FORMAT) /* mingw-w64 3.0.0+. Needs stdio.h. */ +#define CURL_TEMP_PRINTF(fmt, arg) \ + __attribute__((format(__MINGW_PRINTF_FORMAT, fmt, arg))) +#else +#define CURL_TEMP_PRINTF(fmt, arg) +#endif +#else +#define CURL_TEMP_PRINTF(fmt, arg) \ + __attribute__((format(printf, fmt, arg))) +#endif +#else +#define CURL_TEMP_PRINTF(fmt, arg) +#endif +#endif + +CURL_EXTERN int curl_mprintf(const char *format, ...) + CURL_TEMP_PRINTF(1, 2); +CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...) + CURL_TEMP_PRINTF(2, 3); +CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...) + CURL_TEMP_PRINTF(2, 3); +CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength, + const char *format, ...) + CURL_TEMP_PRINTF(3, 4); +CURL_EXTERN int curl_mvprintf(const char *format, va_list args) + CURL_TEMP_PRINTF(1, 0); +CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args) + CURL_TEMP_PRINTF(2, 0); +CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args) + CURL_TEMP_PRINTF(2, 0); +CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength, + const char *format, va_list args) + CURL_TEMP_PRINTF(3, 0); +CURL_EXTERN char *curl_maprintf(const char *format, ...) + CURL_TEMP_PRINTF(1, 2); +CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args) + CURL_TEMP_PRINTF(1, 0); + +#undef CURL_TEMP_PRINTF + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* CURLINC_MPRINTF_H */ diff --git a/curl/include/curl/multi.h b/curl/include/curl/multi.h new file mode 100644 index 0000000..42469bb --- /dev/null +++ b/curl/include/curl/multi.h @@ -0,0 +1,481 @@ +#ifndef CURLINC_MULTI_H +#define CURLINC_MULTI_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ +/* + This is an "external" header file. Do not give away any internals here! + + GOALS + + o Enable a "pull" interface. The application that uses libcurl decides where + and when to ask libcurl to get/send data. + + o Enable multiple simultaneous transfers in the same thread without making it + complicated for the application. + + o Enable the application to select() on its own file descriptors and curl's + file descriptors simultaneous easily. + +*/ + +/* + * This header file should not really need to include "curl.h" since curl.h + * itself includes this file and we expect user applications to do #include + * without the need for especially including multi.h. + * + * For some reason we added this include here at one point, and rather than to + * break existing (wrongly written) libcurl applications, we leave it as-is + * but with this warning attached. + */ +#include "curl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void CURLM; + +typedef enum { + CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or + curl_multi_socket*() soon */ + CURLM_OK, + CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */ + CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */ + CURLM_OUT_OF_MEMORY, /* if you ever get this, you are in deep sh*t */ + CURLM_INTERNAL_ERROR, /* this is a libcurl bug */ + CURLM_BAD_SOCKET, /* the passed in socket argument did not match */ + CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */ + CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was + attempted to get added - again */ + CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a + callback */ + CURLM_WAKEUP_FAILURE, /* wakeup is unavailable or failed */ + CURLM_BAD_FUNCTION_ARGUMENT, /* function called with a bad parameter */ + CURLM_ABORTED_BY_CALLBACK, + CURLM_UNRECOVERABLE_POLL, + CURLM_LAST +} CURLMcode; + +/* just to make code nicer when using curl_multi_socket() you can now check + for CURLM_CALL_MULTI_SOCKET too in the same style it works for + curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */ +#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM + +/* bitmask bits for CURLMOPT_PIPELINING */ +#define CURLPIPE_NOTHING 0L +#define CURLPIPE_HTTP1 1L +#define CURLPIPE_MULTIPLEX 2L + +typedef enum { + CURLMSG_NONE, /* first, not used */ + CURLMSG_DONE, /* This easy handle has completed. 'result' contains + the CURLcode of the transfer */ + CURLMSG_LAST /* last, not used */ +} CURLMSG; + +struct CURLMsg { + CURLMSG msg; /* what this message means */ + CURL *easy_handle; /* the handle it concerns */ + union { + void *whatever; /* message-specific data */ + CURLcode result; /* return code for transfer */ + } data; +}; +typedef struct CURLMsg CURLMsg; + +/* Based on poll(2) structure and values. + * We do not use pollfd and POLL* constants explicitly + * to cover platforms without poll(). */ +#define CURL_WAIT_POLLIN 0x0001 +#define CURL_WAIT_POLLPRI 0x0002 +#define CURL_WAIT_POLLOUT 0x0004 + +struct curl_waitfd { + curl_socket_t fd; + short events; + short revents; +}; + +/* + * Name: curl_multi_init() + * + * Desc: initialize multi-style curl usage + * + * Returns: a new CURLM handle to use in all 'curl_multi' functions. + */ +CURL_EXTERN CURLM *curl_multi_init(void); + +/* + * Name: curl_multi_add_handle() + * + * Desc: add a standard curl handle to the multi stack + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle, + CURL *curl_handle); + + /* + * Name: curl_multi_remove_handle() + * + * Desc: removes a curl handle from the multi stack again + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle, + CURL *curl_handle); + + /* + * Name: curl_multi_fdset() + * + * Desc: Ask curl for its fd_set sets. The app can use these to select() or + * poll() on. We want curl_multi_perform() called as soon as one of + * them are ready. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, + fd_set *read_fd_set, + fd_set *write_fd_set, + fd_set *exc_fd_set, + int *max_fd); + +/* + * Name: curl_multi_wait() + * + * Desc: Poll on all fds within a CURLM set as well as any + * additional fds passed to the function. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle, + struct curl_waitfd extra_fds[], + unsigned int extra_nfds, + int timeout_ms, + int *ret); + +/* + * Name: curl_multi_poll() + * + * Desc: Poll on all fds within a CURLM set as well as any + * additional fds passed to the function. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, + struct curl_waitfd extra_fds[], + unsigned int extra_nfds, + int timeout_ms, + int *ret); + +/* + * Name: curl_multi_wakeup() + * + * Desc: wakes up a sleeping curl_multi_poll call. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle); + + /* + * Name: curl_multi_perform() + * + * Desc: When the app thinks there is data available for curl it calls this + * function to read/write whatever there is right now. This returns + * as soon as the reads and writes are done. This function does not + * require that there actually is data available for reading or that + * data can be written, it can be called just in case. It returns + * the number of handles that still transfer data in the second + * argument's integer-pointer. + * + * Returns: CURLMcode type, general multi error code. *NOTE* that this only + * returns errors etc regarding the whole multi stack. There might + * still have occurred problems on individual transfers even when + * this returns OK. + */ +CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle, + int *running_handles); + + /* + * Name: curl_multi_cleanup() + * + * Desc: Cleans up and removes a whole multi stack. It does not free or + * touch any individual easy handles in any way. We need to define + * in what state those handles will be if this function is called + * in the middle of a transfer. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); + +/* + * Name: curl_multi_info_read() + * + * Desc: Ask the multi handle if there is any messages/informationals from + * the individual transfers. Messages include informationals such as + * error code from the transfer or just the fact that a transfer is + * completed. More details on these should be written down as well. + * + * Repeated calls to this function will return a new struct each + * time, until a special "end of msgs" struct is returned as a signal + * that there is no more to get at this point. + * + * The data the returned pointer points to will not survive calling + * curl_multi_cleanup(). + * + * The 'CURLMsg' struct is meant to be simple and only contain basic + * information. If more involved information is wanted, we will + * provide the particular "transfer handle" in that struct and that + * should/could/would be used in subsequent curl_easy_getinfo() calls + * (or similar). The point being that we must never expose complex + * structs to applications, as then we will undoubtably get backwards + * compatibility problems in the future. + * + * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out + * of structs. It also writes the number of messages left in the + * queue (after this read) in the integer the second argument points + * to. + */ +CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle, + int *msgs_in_queue); + +/* + * Name: curl_multi_strerror() + * + * Desc: The curl_multi_strerror function may be used to turn a CURLMcode + * value into the equivalent human readable error string. This is + * useful for printing meaningful error messages. + * + * Returns: A pointer to a null-terminated error message. + */ +CURL_EXTERN const char *curl_multi_strerror(CURLMcode); + +/* + * Name: curl_multi_socket() and + * curl_multi_socket_all() + * + * Desc: An alternative version of curl_multi_perform() that allows the + * application to pass in one of the file descriptors that have been + * detected to have "action" on them and let libcurl perform. + * See manpage for details. + */ +#define CURL_POLL_NONE 0 +#define CURL_POLL_IN 1 +#define CURL_POLL_OUT 2 +#define CURL_POLL_INOUT 3 +#define CURL_POLL_REMOVE 4 + +#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD + +#define CURL_CSELECT_IN 0x01 +#define CURL_CSELECT_OUT 0x02 +#define CURL_CSELECT_ERR 0x04 + +typedef int (*curl_socket_callback)(CURL *easy, /* easy handle */ + curl_socket_t s, /* socket */ + int what, /* see above */ + void *userp, /* private callback + pointer */ + void *socketp); /* private socket + pointer */ +/* + * Name: curl_multi_timer_callback + * + * Desc: Called by libcurl whenever the library detects a change in the + * maximum number of milliseconds the app is allowed to wait before + * curl_multi_socket() or curl_multi_perform() must be called + * (to allow libcurl's timed events to take place). + * + * Returns: The callback should return zero. + */ +typedef int (*curl_multi_timer_callback)(CURLM *multi, /* multi handle */ + long timeout_ms, /* see above */ + void *userp); /* private callback + pointer */ + +CURL_EXTERN CURLMcode CURL_DEPRECATED(7.19.5, "Use curl_multi_socket_action()") +curl_multi_socket(CURLM *multi_handle, curl_socket_t s, int *running_handles); + +CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle, + curl_socket_t s, + int ev_bitmask, + int *running_handles); + +CURL_EXTERN CURLMcode CURL_DEPRECATED(7.19.5, "Use curl_multi_socket_action()") +curl_multi_socket_all(CURLM *multi_handle, int *running_handles); + +#ifndef CURL_ALLOW_OLD_MULTI_SOCKET +/* This macro below was added in 7.16.3 to push users who recompile to use + the new curl_multi_socket_action() instead of the old curl_multi_socket() +*/ +#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z) +#endif + +/* + * Name: curl_multi_timeout() + * + * Desc: Returns the maximum number of milliseconds the app is allowed to + * wait before curl_multi_socket() or curl_multi_perform() must be + * called (to allow libcurl's timed events to take place). + * + * Returns: CURLM error code. + */ +CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle, + long *milliseconds); + +typedef enum { + /* This is the socket callback function pointer */ + CURLOPT(CURLMOPT_SOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 1), + + /* This is the argument passed to the socket callback */ + CURLOPT(CURLMOPT_SOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 2), + + /* set to 1 to enable pipelining for this multi handle */ + CURLOPT(CURLMOPT_PIPELINING, CURLOPTTYPE_LONG, 3), + + /* This is the timer callback function pointer */ + CURLOPT(CURLMOPT_TIMERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 4), + + /* This is the argument passed to the timer callback */ + CURLOPT(CURLMOPT_TIMERDATA, CURLOPTTYPE_OBJECTPOINT, 5), + + /* maximum number of entries in the connection cache */ + CURLOPT(CURLMOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 6), + + /* maximum number of (pipelining) connections to one host */ + CURLOPT(CURLMOPT_MAX_HOST_CONNECTIONS, CURLOPTTYPE_LONG, 7), + + /* maximum number of requests in a pipeline */ + CURLOPT(CURLMOPT_MAX_PIPELINE_LENGTH, CURLOPTTYPE_LONG, 8), + + /* a connection with a content-length longer than this + will not be considered for pipelining */ + CURLOPT(CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 9), + + /* a connection with a chunk length longer than this + will not be considered for pipelining */ + CURLOPT(CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 10), + + /* a list of site names(+port) that are blocked from pipelining */ + CURLOPT(CURLMOPT_PIPELINING_SITE_BL, CURLOPTTYPE_OBJECTPOINT, 11), + + /* a list of server types that are blocked from pipelining */ + CURLOPT(CURLMOPT_PIPELINING_SERVER_BL, CURLOPTTYPE_OBJECTPOINT, 12), + + /* maximum number of open connections in total */ + CURLOPT(CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPTTYPE_LONG, 13), + + /* This is the server push callback function pointer */ + CURLOPT(CURLMOPT_PUSHFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 14), + + /* This is the argument passed to the server push callback */ + CURLOPT(CURLMOPT_PUSHDATA, CURLOPTTYPE_OBJECTPOINT, 15), + + /* maximum number of concurrent streams to support on a connection */ + CURLOPT(CURLMOPT_MAX_CONCURRENT_STREAMS, CURLOPTTYPE_LONG, 16), + + CURLMOPT_LASTENTRY /* the last unused */ +} CURLMoption; + + +/* + * Name: curl_multi_setopt() + * + * Desc: Sets options for the multi handle. + * + * Returns: CURLM error code. + */ +CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle, + CURLMoption option, ...); + + +/* + * Name: curl_multi_assign() + * + * Desc: This function sets an association in the multi handle between the + * given socket and a private pointer of the application. This is + * (only) useful for curl_multi_socket uses. + * + * Returns: CURLM error code. + */ +CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle, + curl_socket_t sockfd, void *sockp); + +/* + * Name: curl_multi_get_handles() + * + * Desc: Returns an allocated array holding all handles currently added to + * the multi handle. Marks the final entry with a NULL pointer. If + * there is no easy handle added to the multi handle, this function + * returns an array with the first entry as a NULL pointer. + * + * Returns: NULL on failure, otherwise a CURL **array pointer + */ +CURL_EXTERN CURL **curl_multi_get_handles(CURLM *multi_handle); + +/* + * Name: curl_push_callback + * + * Desc: This callback gets called when a new stream is being pushed by the + * server. It approves or denies the new stream. It can also decide + * to completely fail the connection. + * + * Returns: CURL_PUSH_OK, CURL_PUSH_DENY or CURL_PUSH_ERROROUT + */ +#define CURL_PUSH_OK 0 +#define CURL_PUSH_DENY 1 +#define CURL_PUSH_ERROROUT 2 /* added in 7.72.0 */ + +struct curl_pushheaders; /* forward declaration only */ + +CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h, + size_t num); +CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h, + const char *name); + +typedef int (*curl_push_callback)(CURL *parent, + CURL *easy, + size_t num_headers, + struct curl_pushheaders *headers, + void *userp); + +/* + * Name: curl_multi_waitfds() + * + * Desc: Ask curl for fds for polling. The app can use these to poll on. + * We want curl_multi_perform() called as soon as one of them are + * ready. Passing zero size allows to get just a number of fds. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_waitfds(CURLM *multi, + struct curl_waitfd *ufds, + unsigned int size, + unsigned int *fd_count); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif diff --git a/curl/include/curl/options.h b/curl/include/curl/options.h new file mode 100644 index 0000000..1ed76a9 --- /dev/null +++ b/curl/include/curl/options.h @@ -0,0 +1,70 @@ +#ifndef CURLINC_OPTIONS_H +#define CURLINC_OPTIONS_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + CURLOT_LONG, /* long (a range of values) */ + CURLOT_VALUES, /* (a defined set or bitmask) */ + CURLOT_OFF_T, /* curl_off_t (a range of values) */ + CURLOT_OBJECT, /* pointer (void *) */ + CURLOT_STRING, /* (char * to null-terminated buffer) */ + CURLOT_SLIST, /* (struct curl_slist *) */ + CURLOT_CBPTR, /* (void * passed as-is to a callback) */ + CURLOT_BLOB, /* blob (struct curl_blob *) */ + CURLOT_FUNCTION /* function pointer */ +} curl_easytype; + +/* Flag bits */ + +/* "alias" means it is provided for old programs to remain functional, + we prefer another name */ +#define CURLOT_FLAG_ALIAS (1<<0) + +/* The CURLOPTTYPE_* id ranges can still be used to figure out what type/size + to use for curl_easy_setopt() for the given id */ +struct curl_easyoption { + const char *name; + CURLoption id; + curl_easytype type; + unsigned int flags; +}; + +CURL_EXTERN const struct curl_easyoption * +curl_easy_option_by_name(const char *name); + +CURL_EXTERN const struct curl_easyoption * +curl_easy_option_by_id(CURLoption id); + +CURL_EXTERN const struct curl_easyoption * +curl_easy_option_next(const struct curl_easyoption *prev); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif +#endif /* CURLINC_OPTIONS_H */ diff --git a/curl/include/curl/stdcheaders.h b/curl/include/curl/stdcheaders.h new file mode 100644 index 0000000..7451aa3 --- /dev/null +++ b/curl/include/curl/stdcheaders.h @@ -0,0 +1,35 @@ +#ifndef CURLINC_STDCHEADERS_H +#define CURLINC_STDCHEADERS_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#include + +size_t fread(void *, size_t, size_t, FILE *); +size_t fwrite(const void *, size_t, size_t, FILE *); + +int strcasecmp(const char *, const char *); +int strncasecmp(const char *, const char *, size_t); + +#endif /* CURLINC_STDCHEADERS_H */ diff --git a/curl/include/curl/system.h b/curl/include/curl/system.h new file mode 100644 index 0000000..f1c2719 --- /dev/null +++ b/curl/include/curl/system.h @@ -0,0 +1,450 @@ +#ifndef CURLINC_SYSTEM_H +#define CURLINC_SYSTEM_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* + * Try to keep one section per platform, compiler and architecture, otherwise, + * if an existing section is reused for a different one and later on the + * original is adjusted, probably the piggybacking one can be adversely + * changed. + * + * In order to differentiate between platforms/compilers/architectures use + * only compiler built-in predefined preprocessor symbols. + * + * curl_off_t + * ---------- + * + * For any given platform/compiler curl_off_t MUST be typedef'ed to a 64-bit + * wide signed integral data type. The width of this data type must remain + * constant and independent of any possible large file support settings. + * + * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall + * only be violated if off_t is the only 64-bit data type available and the + * size of off_t is independent of large file support settings. Keep your + * build on the safe side avoiding an off_t gating. If you have a 64-bit + * off_t then take for sure that another 64-bit data type exists, dig deeper + * and you will find it. + * + */ + +#ifdef __DJGPP__ +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__BORLANDC__) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__POCC__) +# if defined(_MSC_VER) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# else +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__LCC__) +# if defined(__MCST__) /* MCST eLbrus Compiler Collection */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 +# else /* Local (or Little) C Compiler */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# endif + +#elif defined(macintosh) +# include +# if TYPE_LONGLONG +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int + +#elif defined(__TANDEM) +# if !defined(__LP64) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int +# endif + +#elif defined(UNDER_CE) +# if defined(__MINGW32CE__) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# else +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# endif + +#elif defined(__MINGW32__) +# include +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T PRId64 +# define CURL_FORMAT_CURL_OFF_TU PRIu64 +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +# define CURL_PULL_SYS_TYPES_H 1 + +#elif defined(__VMS) +# if defined(__VAX) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# else +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int + +#elif defined(__OS400__) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__MVS__) +# if defined(_LONG_LONG) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else /* _LP64 and default */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__370__) +# if defined(__IBMC__) || defined(__IBMCPP__) +# if defined(_LONG_LONG) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else /* _LP64 and default */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 +# endif + +#elif defined(TPF) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +#elif defined(__TINYC__) /* also known as tcc */ +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio */ +# if !defined(__LP64) && (defined(__ILP32) || \ + defined(__i386) || \ + defined(__sparcv8) || \ + defined(__sparcv8plus)) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# elif defined(__LP64) || \ + defined(__amd64) || defined(__sparcv9) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__xlc__) /* IBM xlc compiler */ +# if !defined(_LP64) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#elif defined(__hpux) /* HP aCC compiler */ +# if !defined(_LP64) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# else +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +/* ===================================== */ +/* KEEP MSVC THE PENULTIMATE ENTRY */ +/* ===================================== */ + +#elif defined(_MSC_VER) +# if (_MSC_VER >= 1800) +# include +# define CURL_FORMAT_CURL_OFF_T PRId64 +# define CURL_FORMAT_CURL_OFF_TU PRIu64 +# else +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# endif +# define CURL_TYPEOF_CURL_OFF_T __int64 +# define CURL_SUFFIX_CURL_OFF_T i64 +# define CURL_SUFFIX_CURL_OFF_TU ui64 +# define CURL_TYPEOF_CURL_SOCKLEN_T int + +/* ===================================== */ +/* KEEP GENERIC GCC THE LAST ENTRY */ +/* ===================================== */ + +#elif defined(__GNUC__) && !defined(_SCO_DS) +# if !defined(__LP64__) && \ + (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \ + defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \ + defined(__sparc__) || defined(__mips__) || defined(__sh__) || \ + defined(__XTENSA__) || \ + (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \ + (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L)) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "lld" +# define CURL_FORMAT_CURL_OFF_TU "llu" +# define CURL_SUFFIX_CURL_OFF_T LL +# define CURL_SUFFIX_CURL_OFF_TU ULL +# define CURL_POPCOUNT64(x) __builtin_popcountll(x) +# define CURL_CTZ64(x) __builtin_ctzll(x) +# elif defined(__LP64__) || \ + defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \ + defined(__e2k__) || \ + (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \ + (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L) +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_POPCOUNT64(x) __builtin_popcountl(x) +# define CURL_CTZ64(x) __builtin_ctzl(x) +# endif +# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t +# define CURL_PULL_SYS_TYPES_H 1 +# define CURL_PULL_SYS_SOCKET_H 1 + +#else +/* generic "safe guess" on old 32-bit style */ +# define CURL_TYPEOF_CURL_OFF_T long +# define CURL_FORMAT_CURL_OFF_T "ld" +# define CURL_FORMAT_CURL_OFF_TU "lu" +# define CURL_SUFFIX_CURL_OFF_T L +# define CURL_SUFFIX_CURL_OFF_TU UL +# define CURL_TYPEOF_CURL_SOCKLEN_T int +#endif + +#ifdef _AIX +/* AIX needs */ +#define CURL_PULL_SYS_POLL_H +#endif + +/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */ +/* sys/types.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_TYPES_H +# include +#endif + +/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */ +/* sys/socket.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_SOCKET_H +# include +#endif + +/* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */ +/* sys/poll.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_POLL_H +# include +#endif + +/* Data type definition of curl_socklen_t. */ +#ifdef CURL_TYPEOF_CURL_SOCKLEN_T + typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; +#endif + +/* Data type definition of curl_off_t. */ + +#ifdef CURL_TYPEOF_CURL_OFF_T + typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; +#endif + +/* + * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow + * these to be visible and exported by the external libcurl interface API, + * while also making them visible to the library internals, simply including + * curl_setup.h, without actually needing to include curl.h internally. + * If some day this section would grow big enough, all this should be moved + * to its own header file. + */ + +/* + * Figure out if we can use the ## preprocessor operator, which is supported + * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__ + * or __cplusplus so we need to carefully check for them too. + */ + +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \ + defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \ + defined(__POCC__) || defined(__HIGHC__) || \ + defined(__ILEC400__) + /* This compiler is believed to have an ISO compatible preprocessor */ +#define CURL_ISOCPP +#else + /* This compiler is believed NOT to have an ISO compatible preprocessor */ +#undef CURL_ISOCPP +#endif + +/* + * Macros for minimum-width signed and unsigned curl_off_t integer constants. + */ + +#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551) +# define CURLINC_OFF_T_C_HLPR2(x) x +# define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x) +# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \ + CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T) +# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \ + CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU) +#else +# ifdef CURL_ISOCPP +# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix +# else +# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix +# endif +# define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix) +# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T) +# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU) +#endif + +#endif /* CURLINC_SYSTEM_H */ diff --git a/curl/include/curl/typecheck-gcc.h b/curl/include/curl/typecheck-gcc.h new file mode 100644 index 0000000..6415269 --- /dev/null +++ b/curl/include/curl/typecheck-gcc.h @@ -0,0 +1,867 @@ +#ifndef CURLINC_TYPECHECK_GCC_H +#define CURLINC_TYPECHECK_GCC_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +/* wraps curl_easy_setopt() with typechecking */ + +/* To add a new kind of warning, add an + * if(curlcheck_sometype_option(_curl_opt)) + * if(!curlcheck_sometype(value)) + * _curl_easy_setopt_err_sometype(); + * block and define curlcheck_sometype_option, curlcheck_sometype and + * _curl_easy_setopt_err_sometype below + * + * NOTE: We use two nested 'if' statements here instead of the && operator, in + * order to work around gcc bug #32061. It affects only gcc 4.3.x/4.4.x + * when compiling with -Wlogical-op. + * + * To add an option that uses the same type as an existing option, you will + * just need to extend the appropriate _curl_*_option macro + */ + +#define curl_easy_setopt(handle, option, value) \ + __extension__({ \ + if(__builtin_constant_p(option)) { \ + CURL_IGNORE_DEPRECATION( \ + if(curlcheck_long_option(option)) \ + if(!curlcheck_long(value)) \ + _curl_easy_setopt_err_long(); \ + if(curlcheck_off_t_option(option)) \ + if(!curlcheck_off_t(value)) \ + _curl_easy_setopt_err_curl_off_t(); \ + if(curlcheck_string_option(option)) \ + if(!curlcheck_string(value)) \ + _curl_easy_setopt_err_string(); \ + if((option) == CURLOPT_PRIVATE) { } \ + if(curlcheck_write_cb_option(option)) \ + if(!curlcheck_write_cb(value)) \ + _curl_easy_setopt_err_write_callback(); \ + if(curlcheck_curl_option(option)) \ + if(!curlcheck_curl(value)) \ + _curl_easy_setopt_err_curl(); \ + if((option) == CURLOPT_RESOLVER_START_FUNCTION) \ + if(!curlcheck_resolver_start_callback(value)) \ + _curl_easy_setopt_err_resolver_start_callback(); \ + if((option) == CURLOPT_READFUNCTION) \ + if(!curlcheck_read_cb(value)) \ + _curl_easy_setopt_err_read_cb(); \ + if((option) == CURLOPT_IOCTLFUNCTION) \ + if(!curlcheck_ioctl_cb(value)) \ + _curl_easy_setopt_err_ioctl_cb(); \ + if((option) == CURLOPT_SOCKOPTFUNCTION) \ + if(!curlcheck_sockopt_cb(value)) \ + _curl_easy_setopt_err_sockopt_cb(); \ + if((option) == CURLOPT_OPENSOCKETFUNCTION) \ + if(!curlcheck_opensocket_cb(value)) \ + _curl_easy_setopt_err_opensocket_cb(); \ + if((option) == CURLOPT_PROGRESSFUNCTION) \ + if(!curlcheck_progress_cb(value)) \ + _curl_easy_setopt_err_progress_cb(); \ + if((option) == CURLOPT_XFERINFOFUNCTION) \ + if(!curlcheck_xferinfo_cb(value)) \ + _curl_easy_setopt_err_xferinfo_cb(); \ + if((option) == CURLOPT_DEBUGFUNCTION) \ + if(!curlcheck_debug_cb(value)) \ + _curl_easy_setopt_err_debug_cb(); \ + if((option) == CURLOPT_SSL_CTX_FUNCTION) \ + if(!curlcheck_ssl_ctx_cb(value)) \ + _curl_easy_setopt_err_ssl_ctx_cb(); \ + if(curlcheck_conv_cb_option(option)) \ + if(!curlcheck_conv_cb(value)) \ + _curl_easy_setopt_err_conv_cb(); \ + if((option) == CURLOPT_SEEKFUNCTION) \ + if(!curlcheck_seek_cb(value)) \ + _curl_easy_setopt_err_seek_cb(); \ + if((option) == CURLOPT_CHUNK_BGN_FUNCTION) \ + if(!curlcheck_chunk_bgn_cb(value)) \ + _curl_easy_setopt_err_chunk_bgn_cb(); \ + if((option) == CURLOPT_CHUNK_END_FUNCTION) \ + if(!curlcheck_chunk_end_cb(value)) \ + _curl_easy_setopt_err_chunk_end_cb(); \ + if((option) == CURLOPT_CLOSESOCKETFUNCTION) \ + if(!curlcheck_close_socket_cb(value)) \ + _curl_easy_setopt_err_close_socket_cb(); \ + if((option) == CURLOPT_FNMATCH_FUNCTION) \ + if(!curlcheck_fnmatch_cb(value)) \ + _curl_easy_setopt_err_fnmatch_cb(); \ + if((option) == CURLOPT_HSTSREADFUNCTION) \ + if(!curlcheck_hstsread_cb(value)) \ + _curl_easy_setopt_err_hstsread_cb(); \ + if((option) == CURLOPT_HSTSWRITEFUNCTION) \ + if(!curlcheck_hstswrite_cb(value)) \ + _curl_easy_setopt_err_hstswrite_cb(); \ + if((option) == CURLOPT_SSH_HOSTKEYFUNCTION) \ + if(!curlcheck_ssh_hostkey_cb(value)) \ + _curl_easy_setopt_err_ssh_hostkey_cb(); \ + if((option) == CURLOPT_SSH_KEYFUNCTION) \ + if(!curlcheck_ssh_key_cb(value)) \ + _curl_easy_setopt_err_ssh_key_cb(); \ + if((option) == CURLOPT_INTERLEAVEFUNCTION) \ + if(!curlcheck_interleave_cb(value)) \ + _curl_easy_setopt_err_interleave_cb(); \ + if((option) == CURLOPT_PREREQFUNCTION) \ + if(!curlcheck_prereq_cb(value)) \ + _curl_easy_setopt_err_prereq_cb(); \ + if((option) == CURLOPT_TRAILERFUNCTION) \ + if(!curlcheck_trailer_cb(value)) \ + _curl_easy_setopt_err_trailer_cb(); \ + if(curlcheck_cb_data_option(option)) \ + if(!curlcheck_cb_data(value)) \ + _curl_easy_setopt_err_cb_data(); \ + if((option) == CURLOPT_ERRORBUFFER) \ + if(!curlcheck_error_buffer(value)) \ + _curl_easy_setopt_err_error_buffer(); \ + if((option) == CURLOPT_CURLU) \ + if(!curlcheck_ptr((value), CURLU)) \ + _curl_easy_setopt_err_curlu(); \ + if((option) == CURLOPT_STDERR) \ + if(!curlcheck_FILE(value)) \ + _curl_easy_setopt_err_FILE(); \ + if(curlcheck_postfields_option(option)) \ + if(!curlcheck_postfields(value)) \ + _curl_easy_setopt_err_postfields(); \ + if((option) == CURLOPT_HTTPPOST) \ + if(!curlcheck_arr((value), struct curl_httppost)) \ + _curl_easy_setopt_err_curl_httpost(); \ + if((option) == CURLOPT_MIMEPOST) \ + if(!curlcheck_ptr((value), curl_mime)) \ + _curl_easy_setopt_err_curl_mimepost(); \ + if(curlcheck_slist_option(option)) \ + if(!curlcheck_arr((value), struct curl_slist)) \ + _curl_easy_setopt_err_curl_slist(); \ + if((option) == CURLOPT_SHARE) \ + if(!curlcheck_ptr((value), CURLSH)) \ + _curl_easy_setopt_err_CURLSH(); \ + ) \ + } \ + curl_easy_setopt(handle, option, value); \ + }) + +/* wraps curl_easy_getinfo() with typechecking */ +#define curl_easy_getinfo(handle, info, arg) \ + __extension__({ \ + if(__builtin_constant_p(info)) { \ + CURL_IGNORE_DEPRECATION( \ + if(curlcheck_string_info(info)) \ + if(!curlcheck_arr((arg), char *)) \ + _curl_easy_getinfo_err_string(); \ + if(curlcheck_long_info(info)) \ + if(!curlcheck_arr((arg), long)) \ + _curl_easy_getinfo_err_long(); \ + if(curlcheck_double_info(info)) \ + if(!curlcheck_arr((arg), double)) \ + _curl_easy_getinfo_err_double(); \ + if(curlcheck_slist_info(info)) \ + if(!curlcheck_arr((arg), struct curl_slist *)) \ + _curl_easy_getinfo_err_curl_slist(); \ + if(curlcheck_tlssessioninfo_info(info)) \ + if(!curlcheck_arr((arg), struct curl_tlssessioninfo *)) \ + _curl_easy_getinfo_err_curl_tlssesssioninfo(); \ + if(curlcheck_certinfo_info(info)) \ + if(!curlcheck_arr((arg), struct curl_certinfo *)) \ + _curl_easy_getinfo_err_curl_certinfo(); \ + if(curlcheck_socket_info(info)) \ + if(!curlcheck_arr((arg), curl_socket_t)) \ + _curl_easy_getinfo_err_curl_socket(); \ + if(curlcheck_off_t_info(info)) \ + if(!curlcheck_arr((arg), curl_off_t)) \ + _curl_easy_getinfo_err_curl_off_t(); \ + ) \ + } \ + curl_easy_getinfo(handle, info, arg); \ + }) + +/* + * For now, just make sure that the functions are called with three arguments + */ +#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param) +#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param) + +/* the actual warnings, triggered by calling the _curl_easy_setopt_err* + * functions */ + +/* To define a new warning, use _CURL_WARNING(identifier, "message") */ +#define CURLWARNING(id, message) \ + static void __attribute__((__warning__(message))) \ + __attribute__((__unused__)) __attribute__((__noinline__)) \ + id(void) { __asm__(""); } + +CURLWARNING(_curl_easy_setopt_err_long, + "curl_easy_setopt expects a long argument") +CURLWARNING(_curl_easy_setopt_err_curl_off_t, + "curl_easy_setopt expects a curl_off_t argument") +CURLWARNING(_curl_easy_setopt_err_string, + "curl_easy_setopt expects a " + "string ('char *' or char[]) argument") +CURLWARNING(_curl_easy_setopt_err_write_callback, + "curl_easy_setopt expects a curl_write_callback argument") +CURLWARNING(_curl_easy_setopt_err_resolver_start_callback, + "curl_easy_setopt expects a " + "curl_resolver_start_callback argument") +CURLWARNING(_curl_easy_setopt_err_read_cb, + "curl_easy_setopt expects a curl_read_callback argument") +CURLWARNING(_curl_easy_setopt_err_ioctl_cb, + "curl_easy_setopt expects a curl_ioctl_callback argument") +CURLWARNING(_curl_easy_setopt_err_sockopt_cb, + "curl_easy_setopt expects a curl_sockopt_callback argument") +CURLWARNING(_curl_easy_setopt_err_opensocket_cb, + "curl_easy_setopt expects a " + "curl_opensocket_callback argument") +CURLWARNING(_curl_easy_setopt_err_progress_cb, + "curl_easy_setopt expects a curl_progress_callback argument") +CURLWARNING(_curl_easy_setopt_err_xferinfo_cb, + "curl_easy_setopt expects a curl_xferinfo_callback argument") +CURLWARNING(_curl_easy_setopt_err_debug_cb, + "curl_easy_setopt expects a curl_debug_callback argument") +CURLWARNING(_curl_easy_setopt_err_ssl_ctx_cb, + "curl_easy_setopt expects a curl_ssl_ctx_callback argument") +CURLWARNING(_curl_easy_setopt_err_conv_cb, + "curl_easy_setopt expects a curl_conv_callback argument") +CURLWARNING(_curl_easy_setopt_err_seek_cb, + "curl_easy_setopt expects a curl_seek_callback argument") +CURLWARNING(_curl_easy_setopt_err_cb_data, + "curl_easy_setopt expects a " + "private data pointer as argument") +CURLWARNING(_curl_easy_setopt_err_chunk_bgn_cb, + "curl_easy_setopt expects a curl_chunk_bgn_callback argument") +CURLWARNING(_curl_easy_setopt_err_chunk_end_cb, + "curl_easy_setopt expects a curl_chunk_end_callback argument") +CURLWARNING(_curl_easy_setopt_err_close_socket_cb, + "curl_easy_setopt expects a curl_closesocket_callback argument") +CURLWARNING(_curl_easy_setopt_err_fnmatch_cb, + "curl_easy_setopt expects a curl_fnmatch_callback argument") +CURLWARNING(_curl_easy_setopt_err_hstsread_cb, + "curl_easy_setopt expects a curl_hstsread_callback argument") +CURLWARNING(_curl_easy_setopt_err_hstswrite_cb, + "curl_easy_setopt expects a curl_hstswrite_callback argument") +CURLWARNING(_curl_easy_setopt_err_ssh_key_cb, + "curl_easy_setopt expects a curl_sshkeycallback argument") +CURLWARNING(_curl_easy_setopt_err_ssh_hostkey_cb, + "curl_easy_setopt expects a curl_sshhostkeycallback argument") +CURLWARNING(_curl_easy_setopt_err_interleave_cb, + "curl_easy_setopt expects a curl_interleave_callback argument") +CURLWARNING(_curl_easy_setopt_err_prereq_cb, + "curl_easy_setopt expects a curl_prereq_callback argument") +CURLWARNING(_curl_easy_setopt_err_trailer_cb, + "curl_easy_setopt expects a curl_trailerfunc_ok argument") +CURLWARNING(_curl_easy_setopt_err_error_buffer, + "curl_easy_setopt expects a " + "char buffer of CURL_ERROR_SIZE as argument") +CURLWARNING(_curl_easy_setopt_err_curlu, + "curl_easy_setopt expects a 'CURLU *' argument") +CURLWARNING(_curl_easy_setopt_err_curl, + "curl_easy_setopt expects a 'CURL *' argument") +CURLWARNING(_curl_easy_setopt_err_FILE, + "curl_easy_setopt expects a 'FILE *' argument") +CURLWARNING(_curl_easy_setopt_err_postfields, + "curl_easy_setopt expects a 'void *' or 'char *' argument") +CURLWARNING(_curl_easy_setopt_err_curl_httpost, + "curl_easy_setopt expects a 'struct curl_httppost *' " + "argument") +CURLWARNING(_curl_easy_setopt_err_curl_mimepost, + "curl_easy_setopt expects a 'curl_mime *' " + "argument") +CURLWARNING(_curl_easy_setopt_err_curl_slist, + "curl_easy_setopt expects a 'struct curl_slist *' argument") +CURLWARNING(_curl_easy_setopt_err_CURLSH, + "curl_easy_setopt expects a CURLSH* argument") +CURLWARNING(_curl_easy_getinfo_err_string, + "curl_easy_getinfo expects a pointer to 'char *'") +CURLWARNING(_curl_easy_getinfo_err_long, + "curl_easy_getinfo expects a pointer to long") +CURLWARNING(_curl_easy_getinfo_err_double, + "curl_easy_getinfo expects a pointer to double") +CURLWARNING(_curl_easy_getinfo_err_curl_slist, + "curl_easy_getinfo expects a pointer to 'struct curl_slist *'") +CURLWARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo, + "curl_easy_getinfo expects a pointer to " + "'struct curl_tlssessioninfo *'") +CURLWARNING(_curl_easy_getinfo_err_curl_certinfo, + "curl_easy_getinfo expects a pointer to " + "'struct curl_certinfo *'") +CURLWARNING(_curl_easy_getinfo_err_curl_socket, + "curl_easy_getinfo expects a pointer to curl_socket_t") +CURLWARNING(_curl_easy_getinfo_err_curl_off_t, + "curl_easy_getinfo expects a pointer to curl_off_t") + +/* groups of curl_easy_setops options that take the same type of argument */ + +/* evaluates to true if option takes a long argument */ +#define curlcheck_long_option(option) \ + (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT) + +#define curlcheck_off_t_option(option) \ + (((option) > CURLOPTTYPE_OFF_T) && ((option) < CURLOPTTYPE_BLOB)) + +/* option takes a CURL * argument */ +#define curlcheck_curl_option(option) \ + ((option) == CURLOPT_STREAM_DEPENDS || \ + (option) == CURLOPT_STREAM_DEPENDS_E || \ + 0) + +/* evaluates to true if option takes a char* argument */ +#define curlcheck_string_option(option) \ + ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \ + (option) == CURLOPT_ACCEPT_ENCODING || \ + (option) == CURLOPT_ALTSVC || \ + (option) == CURLOPT_CAINFO || \ + (option) == CURLOPT_CAPATH || \ + (option) == CURLOPT_COOKIE || \ + (option) == CURLOPT_COOKIEFILE || \ + (option) == CURLOPT_COOKIEJAR || \ + (option) == CURLOPT_COOKIELIST || \ + (option) == CURLOPT_CRLFILE || \ + (option) == CURLOPT_CUSTOMREQUEST || \ + (option) == CURLOPT_DEFAULT_PROTOCOL || \ + (option) == CURLOPT_DNS_INTERFACE || \ + (option) == CURLOPT_DNS_LOCAL_IP4 || \ + (option) == CURLOPT_DNS_LOCAL_IP6 || \ + (option) == CURLOPT_DNS_SERVERS || \ + (option) == CURLOPT_DOH_URL || \ + (option) == CURLOPT_ECH || \ + (option) == CURLOPT_EGDSOCKET || \ + (option) == CURLOPT_FTP_ACCOUNT || \ + (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \ + (option) == CURLOPT_FTPPORT || \ + (option) == CURLOPT_HAPROXY_CLIENT_IP || \ + (option) == CURLOPT_HSTS || \ + (option) == CURLOPT_INTERFACE || \ + (option) == CURLOPT_ISSUERCERT || \ + (option) == CURLOPT_KEYPASSWD || \ + (option) == CURLOPT_KRBLEVEL || \ + (option) == CURLOPT_LOGIN_OPTIONS || \ + (option) == CURLOPT_MAIL_AUTH || \ + (option) == CURLOPT_MAIL_FROM || \ + (option) == CURLOPT_NETRC_FILE || \ + (option) == CURLOPT_NOPROXY || \ + (option) == CURLOPT_PASSWORD || \ + (option) == CURLOPT_PINNEDPUBLICKEY || \ + (option) == CURLOPT_PRE_PROXY || \ + (option) == CURLOPT_PROTOCOLS_STR || \ + (option) == CURLOPT_PROXY || \ + (option) == CURLOPT_PROXY_CAINFO || \ + (option) == CURLOPT_PROXY_CAPATH || \ + (option) == CURLOPT_PROXY_CRLFILE || \ + (option) == CURLOPT_PROXY_ISSUERCERT || \ + (option) == CURLOPT_PROXY_KEYPASSWD || \ + (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \ + (option) == CURLOPT_PROXY_SERVICE_NAME || \ + (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \ + (option) == CURLOPT_PROXY_SSLCERT || \ + (option) == CURLOPT_PROXY_SSLCERTTYPE || \ + (option) == CURLOPT_PROXY_SSLKEY || \ + (option) == CURLOPT_PROXY_SSLKEYTYPE || \ + (option) == CURLOPT_PROXY_TLS13_CIPHERS || \ + (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \ + (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \ + (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \ + (option) == CURLOPT_PROXYPASSWORD || \ + (option) == CURLOPT_PROXYUSERNAME || \ + (option) == CURLOPT_PROXYUSERPWD || \ + (option) == CURLOPT_RANDOM_FILE || \ + (option) == CURLOPT_RANGE || \ + (option) == CURLOPT_REDIR_PROTOCOLS_STR || \ + (option) == CURLOPT_REFERER || \ + (option) == CURLOPT_REQUEST_TARGET || \ + (option) == CURLOPT_RTSP_SESSION_ID || \ + (option) == CURLOPT_RTSP_STREAM_URI || \ + (option) == CURLOPT_RTSP_TRANSPORT || \ + (option) == CURLOPT_SASL_AUTHZID || \ + (option) == CURLOPT_SERVICE_NAME || \ + (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \ + (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \ + (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 || \ + (option) == CURLOPT_SSH_KNOWNHOSTS || \ + (option) == CURLOPT_SSH_PRIVATE_KEYFILE || \ + (option) == CURLOPT_SSH_PUBLIC_KEYFILE || \ + (option) == CURLOPT_SSLCERT || \ + (option) == CURLOPT_SSLCERTTYPE || \ + (option) == CURLOPT_SSLENGINE || \ + (option) == CURLOPT_SSLKEY || \ + (option) == CURLOPT_SSLKEYTYPE || \ + (option) == CURLOPT_SSL_CIPHER_LIST || \ + (option) == CURLOPT_SSL_EC_CURVES || \ + (option) == CURLOPT_SSL_SIGNATURE_ALGORITHMS || \ + (option) == CURLOPT_TLS13_CIPHERS || \ + (option) == CURLOPT_TLSAUTH_PASSWORD || \ + (option) == CURLOPT_TLSAUTH_TYPE || \ + (option) == CURLOPT_TLSAUTH_USERNAME || \ + (option) == CURLOPT_UNIX_SOCKET_PATH || \ + (option) == CURLOPT_URL || \ + (option) == CURLOPT_USERAGENT || \ + (option) == CURLOPT_USERNAME || \ + (option) == CURLOPT_AWS_SIGV4 || \ + (option) == CURLOPT_USERPWD || \ + (option) == CURLOPT_XOAUTH2_BEARER || \ + 0) + +/* evaluates to true if option takes a curl_write_callback argument */ +#define curlcheck_write_cb_option(option) \ + ((option) == CURLOPT_HEADERFUNCTION || \ + (option) == CURLOPT_WRITEFUNCTION) + +/* evaluates to true if option takes a curl_conv_callback argument */ +#define curlcheck_conv_cb_option(option) \ + ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \ + (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \ + (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION) + +/* evaluates to true if option takes a data argument to pass to a callback */ +#define curlcheck_cb_data_option(option) \ + ((option) == CURLOPT_CHUNK_DATA || \ + (option) == CURLOPT_CLOSESOCKETDATA || \ + (option) == CURLOPT_DEBUGDATA || \ + (option) == CURLOPT_FNMATCH_DATA || \ + (option) == CURLOPT_HEADERDATA || \ + (option) == CURLOPT_HSTSREADDATA || \ + (option) == CURLOPT_HSTSWRITEDATA || \ + (option) == CURLOPT_INTERLEAVEDATA || \ + (option) == CURLOPT_IOCTLDATA || \ + (option) == CURLOPT_OPENSOCKETDATA || \ + (option) == CURLOPT_PREREQDATA || \ + (option) == CURLOPT_XFERINFODATA || \ + (option) == CURLOPT_READDATA || \ + (option) == CURLOPT_SEEKDATA || \ + (option) == CURLOPT_SOCKOPTDATA || \ + (option) == CURLOPT_SSH_KEYDATA || \ + (option) == CURLOPT_SSL_CTX_DATA || \ + (option) == CURLOPT_WRITEDATA || \ + (option) == CURLOPT_RESOLVER_START_DATA || \ + (option) == CURLOPT_TRAILERDATA || \ + (option) == CURLOPT_SSH_HOSTKEYDATA || \ + 0) + +/* evaluates to true if option takes a POST data argument (void* or char*) */ +#define curlcheck_postfields_option(option) \ + ((option) == CURLOPT_POSTFIELDS || \ + (option) == CURLOPT_COPYPOSTFIELDS || \ + 0) + +/* evaluates to true if option takes a struct curl_slist * argument */ +#define curlcheck_slist_option(option) \ + ((option) == CURLOPT_HTTP200ALIASES || \ + (option) == CURLOPT_HTTPHEADER || \ + (option) == CURLOPT_MAIL_RCPT || \ + (option) == CURLOPT_POSTQUOTE || \ + (option) == CURLOPT_PREQUOTE || \ + (option) == CURLOPT_PROXYHEADER || \ + (option) == CURLOPT_QUOTE || \ + (option) == CURLOPT_RESOLVE || \ + (option) == CURLOPT_TELNETOPTIONS || \ + (option) == CURLOPT_CONNECT_TO || \ + 0) + +/* groups of curl_easy_getinfo infos that take the same type of argument */ + +/* evaluates to true if info expects a pointer to char * argument */ +#define curlcheck_string_info(info) \ + (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG && \ + (info) != CURLINFO_PRIVATE) + +/* evaluates to true if info expects a pointer to long argument */ +#define curlcheck_long_info(info) \ + (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE) + +/* evaluates to true if info expects a pointer to double argument */ +#define curlcheck_double_info(info) \ + (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST) + +/* true if info expects a pointer to struct curl_slist * argument */ +#define curlcheck_slist_info(info) \ + (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST)) + +/* true if info expects a pointer to struct curl_tlssessioninfo * argument */ +#define curlcheck_tlssessioninfo_info(info) \ + (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION)) + +/* true if info expects a pointer to struct curl_certinfo * argument */ +#define curlcheck_certinfo_info(info) ((info) == CURLINFO_CERTINFO) + +/* true if info expects a pointer to struct curl_socket_t argument */ +#define curlcheck_socket_info(info) \ + (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T) + +/* true if info expects a pointer to curl_off_t argument */ +#define curlcheck_off_t_info(info) \ + (CURLINFO_OFF_T < (info)) + + +/* typecheck helpers -- check whether given expression has requested type */ + +/* For pointers, you can use the curlcheck_ptr/curlcheck_arr macros, + * otherwise define a new macro. Search for __builtin_types_compatible_p + * in the GCC manual. + * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is + * the actual expression passed to the curl_easy_setopt macro. This + * means that you can only apply the sizeof and __typeof__ operators, no + * == or whatsoever. + */ + +/* XXX: should evaluate to true if expr is a pointer */ +#define curlcheck_any_ptr(expr) \ + (sizeof(expr) == sizeof(void *)) + +/* evaluates to true if expr is NULL */ +/* XXX: must not evaluate expr, so this check is not accurate */ +#define curlcheck_NULL(expr) \ + (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL))) + +/* evaluates to true if expr is type*, const type* or NULL */ +#define curlcheck_ptr(expr, type) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), type *) || \ + __builtin_types_compatible_p(__typeof__(expr), const type *)) + +/* evaluates to true if expr is one of type[], type*, NULL or const type* */ +#define curlcheck_arr(expr, type) \ + (curlcheck_ptr((expr), type) || \ + __builtin_types_compatible_p(__typeof__(expr), type [])) + +/* evaluates to true if expr is a string */ +#define curlcheck_string(expr) \ + (curlcheck_arr((expr), char) || \ + curlcheck_arr((expr), signed char) || \ + curlcheck_arr((expr), unsigned char)) + +/* evaluates to true if expr is a CURL * */ +#define curlcheck_curl(expr) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), CURL *)) + + +/* evaluates to true if expr is a long (no matter the signedness) + * XXX: for now, int is also accepted (and therefore short and char, which + * are promoted to int when passed to a variadic function) */ +#define curlcheck_long(expr) \ + ( \ + ((sizeof(long) != sizeof(int)) && \ + (__builtin_types_compatible_p(__typeof__(expr), long) || \ + __builtin_types_compatible_p(__typeof__(expr), signed long) || \ + __builtin_types_compatible_p(__typeof__(expr), unsigned long))) \ + || \ + ((sizeof(long) == sizeof(int)) && \ + (__builtin_types_compatible_p(__typeof__(expr), long) || \ + __builtin_types_compatible_p(__typeof__(expr), signed long) || \ + __builtin_types_compatible_p(__typeof__(expr), unsigned long) || \ + __builtin_types_compatible_p(__typeof__(expr), int) || \ + __builtin_types_compatible_p(__typeof__(expr), signed int) || \ + __builtin_types_compatible_p(__typeof__(expr), unsigned int) || \ + __builtin_types_compatible_p(__typeof__(expr), short) || \ + __builtin_types_compatible_p(__typeof__(expr), signed short) || \ + __builtin_types_compatible_p(__typeof__(expr), unsigned short) || \ + __builtin_types_compatible_p(__typeof__(expr), char) || \ + __builtin_types_compatible_p(__typeof__(expr), signed char) || \ + __builtin_types_compatible_p(__typeof__(expr), unsigned char))) \ + ) + +/* evaluates to true if expr is of type curl_off_t */ +#define curlcheck_off_t(expr) \ + (__builtin_types_compatible_p(__typeof__(expr), curl_off_t)) + +/* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */ +/* XXX: also check size of an char[] array? */ +#define curlcheck_error_buffer(expr) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), char *) || \ + __builtin_types_compatible_p(__typeof__(expr), char[])) + +/* evaluates to true if expr is of type (const) void* or (const) FILE* */ +#if 0 +#define curlcheck_cb_data(expr) \ + (curlcheck_ptr((expr), void) || \ + curlcheck_ptr((expr), FILE)) +#else /* be less strict */ +#define curlcheck_cb_data(expr) \ + curlcheck_any_ptr(expr) +#endif + +/* evaluates to true if expr is of type FILE* */ +#define curlcheck_FILE(expr) \ + (curlcheck_NULL(expr) || \ + (__builtin_types_compatible_p(__typeof__(expr), FILE *))) + +/* evaluates to true if expr can be passed as POST data (void* or char*) */ +#define curlcheck_postfields(expr) \ + (curlcheck_ptr((expr), void) || \ + curlcheck_arr((expr), char) || \ + curlcheck_arr((expr), unsigned char)) + +/* helper: __builtin_types_compatible_p distinguishes between functions and + * function pointers, hide it */ +#define curlcheck_cb_compatible(func, type) \ + (__builtin_types_compatible_p(__typeof__(func), type) || \ + __builtin_types_compatible_p(__typeof__(func) *, type)) + +/* evaluates to true if expr is of type curl_resolver_start_callback */ +#define curlcheck_resolver_start_callback(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_resolver_start_callback)) + +/* evaluates to true if expr is of type curl_read_callback or "similar" */ +#define curlcheck_read_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), __typeof__(fread) *) || \ + curlcheck_cb_compatible((expr), curl_read_callback) || \ + curlcheck_cb_compatible((expr), _curl_read_callback1) || \ + curlcheck_cb_compatible((expr), _curl_read_callback2) || \ + curlcheck_cb_compatible((expr), _curl_read_callback3) || \ + curlcheck_cb_compatible((expr), _curl_read_callback4) || \ + curlcheck_cb_compatible((expr), _curl_read_callback5) || \ + curlcheck_cb_compatible((expr), _curl_read_callback6)) +typedef size_t (*_curl_read_callback1)(char *, size_t, size_t, void *); +typedef size_t (*_curl_read_callback2)(char *, size_t, size_t, const void *); +typedef size_t (*_curl_read_callback3)(char *, size_t, size_t, FILE *); +typedef size_t (*_curl_read_callback4)(void *, size_t, size_t, void *); +typedef size_t (*_curl_read_callback5)(void *, size_t, size_t, const void *); +typedef size_t (*_curl_read_callback6)(void *, size_t, size_t, FILE *); + +/* evaluates to true if expr is of type curl_write_callback or "similar" */ +#define curlcheck_write_cb(expr) \ + (curlcheck_read_cb(expr) || \ + curlcheck_cb_compatible((expr), __typeof__(fwrite) *) || \ + curlcheck_cb_compatible((expr), curl_write_callback) || \ + curlcheck_cb_compatible((expr), _curl_write_callback1) || \ + curlcheck_cb_compatible((expr), _curl_write_callback2) || \ + curlcheck_cb_compatible((expr), _curl_write_callback3) || \ + curlcheck_cb_compatible((expr), _curl_write_callback4) || \ + curlcheck_cb_compatible((expr), _curl_write_callback5) || \ + curlcheck_cb_compatible((expr), _curl_write_callback6)) +typedef size_t (*_curl_write_callback1)(const char *, size_t, size_t, void *); +typedef size_t (*_curl_write_callback2)(const char *, size_t, size_t, + const void *); +typedef size_t (*_curl_write_callback3)(const char *, size_t, size_t, FILE *); +typedef size_t (*_curl_write_callback4)(const void *, size_t, size_t, void *); +typedef size_t (*_curl_write_callback5)(const void *, size_t, size_t, + const void *); +typedef size_t (*_curl_write_callback6)(const void *, size_t, size_t, FILE *); + +/* evaluates to true if expr is of type curl_ioctl_callback or "similar" */ +#define curlcheck_ioctl_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_ioctl_callback) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback1) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback2) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback3) || \ + curlcheck_cb_compatible((expr), _curl_ioctl_callback4)) +typedef curlioerr (*_curl_ioctl_callback1)(CURL *, int, void *); +typedef curlioerr (*_curl_ioctl_callback2)(CURL *, int, const void *); +typedef curlioerr (*_curl_ioctl_callback3)(CURL *, curliocmd, void *); +typedef curlioerr (*_curl_ioctl_callback4)(CURL *, curliocmd, const void *); + +/* evaluates to true if expr is of type curl_sockopt_callback or "similar" */ +#define curlcheck_sockopt_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_sockopt_callback) || \ + curlcheck_cb_compatible((expr), _curl_sockopt_callback1) || \ + curlcheck_cb_compatible((expr), _curl_sockopt_callback2)) +typedef int (*_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype); +typedef int (*_curl_sockopt_callback2)(const void *, curl_socket_t, + curlsocktype); + +/* evaluates to true if expr is of type curl_opensocket_callback or + "similar" */ +#define curlcheck_opensocket_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_opensocket_callback) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback1) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback2) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback3) || \ + curlcheck_cb_compatible((expr), _curl_opensocket_callback4)) +typedef curl_socket_t (*_curl_opensocket_callback1) + (void *, curlsocktype, struct curl_sockaddr *); +typedef curl_socket_t (*_curl_opensocket_callback2) + (void *, curlsocktype, const struct curl_sockaddr *); +typedef curl_socket_t (*_curl_opensocket_callback3) + (const void *, curlsocktype, struct curl_sockaddr *); +typedef curl_socket_t (*_curl_opensocket_callback4) + (const void *, curlsocktype, const struct curl_sockaddr *); + +/* evaluates to true if expr is of type curl_progress_callback or "similar" */ +#define curlcheck_progress_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_progress_callback) || \ + curlcheck_cb_compatible((expr), _curl_progress_callback1) || \ + curlcheck_cb_compatible((expr), _curl_progress_callback2)) +typedef int (*_curl_progress_callback1)(void *, + double, double, double, double); +typedef int (*_curl_progress_callback2)(const void *, + double, double, double, double); + +/* evaluates to true if expr is of type curl_xferinfo_callback */ +#define curlcheck_xferinfo_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_xferinfo_callback)) + +/* evaluates to true if expr is of type curl_debug_callback or "similar" */ +#define curlcheck_debug_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_debug_callback) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback1) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback2) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback3) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback4) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback5) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback6) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback7) || \ + curlcheck_cb_compatible((expr), _curl_debug_callback8)) +typedef int (*_curl_debug_callback1) (CURL *, + curl_infotype, char *, size_t, void *); +typedef int (*_curl_debug_callback2) (CURL *, + curl_infotype, char *, size_t, const void *); +typedef int (*_curl_debug_callback3) (CURL *, + curl_infotype, const char *, size_t, void *); +typedef int (*_curl_debug_callback4) (CURL *, + curl_infotype, const char *, size_t, const void *); +typedef int (*_curl_debug_callback5) (CURL *, + curl_infotype, unsigned char *, size_t, void *); +typedef int (*_curl_debug_callback6) (CURL *, + curl_infotype, unsigned char *, size_t, const void *); +typedef int (*_curl_debug_callback7) (CURL *, + curl_infotype, const unsigned char *, size_t, void *); +typedef int (*_curl_debug_callback8) (CURL *, + curl_infotype, const unsigned char *, size_t, const void *); + +/* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */ +/* this is getting even messier... */ +#define curlcheck_ssl_ctx_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_ssl_ctx_callback) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback1) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback2) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback3) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback4) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback5) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback6) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback7) || \ + curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback8)) +typedef CURLcode (*_curl_ssl_ctx_callback1)(CURL *, void *, void *); +typedef CURLcode (*_curl_ssl_ctx_callback2)(CURL *, void *, const void *); +typedef CURLcode (*_curl_ssl_ctx_callback3)(CURL *, const void *, void *); +typedef CURLcode (*_curl_ssl_ctx_callback4)(CURL *, const void *, + const void *); +#ifdef HEADER_SSL_H +/* hack: if we included OpenSSL's ssl.h, we know about SSL_CTX + * this will of course break if we are included before OpenSSL headers... + */ +typedef CURLcode (*_curl_ssl_ctx_callback5)(CURL *, SSL_CTX *, void *); +typedef CURLcode (*_curl_ssl_ctx_callback6)(CURL *, SSL_CTX *, const void *); +typedef CURLcode (*_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX *, void *); +typedef CURLcode (*_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX *, + const void *); +#else +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback5; +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback6; +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback7; +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback8; +#endif + +/* evaluates to true if expr is of type curl_conv_callback or "similar" */ +#define curlcheck_conv_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_conv_callback) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback1) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback2) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback3) || \ + curlcheck_cb_compatible((expr), _curl_conv_callback4)) +typedef CURLcode (*_curl_conv_callback1)(char *, size_t length); +typedef CURLcode (*_curl_conv_callback2)(const char *, size_t length); +typedef CURLcode (*_curl_conv_callback3)(void *, size_t length); +typedef CURLcode (*_curl_conv_callback4)(const void *, size_t length); + +/* evaluates to true if expr is of type curl_seek_callback or "similar" */ +#define curlcheck_seek_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_seek_callback) || \ + curlcheck_cb_compatible((expr), _curl_seek_callback1) || \ + curlcheck_cb_compatible((expr), _curl_seek_callback2)) +typedef CURLcode (*_curl_seek_callback1)(void *, curl_off_t, int); +typedef CURLcode (*_curl_seek_callback2)(const void *, curl_off_t, int); + +/* evaluates to true if expr is of type curl_chunk_bgn_callback */ +#define curlcheck_chunk_bgn_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_chunk_bgn_callback) || \ + curlcheck_cb_compatible((expr), _curl_chunk_bgn_callback1) || \ + curlcheck_cb_compatible((expr), _curl_chunk_bgn_callback2)) +typedef long (*_curl_chunk_bgn_callback1)(struct curl_fileinfo *, + void *, int); +typedef long (*_curl_chunk_bgn_callback2)(void *, void *, int); + +/* evaluates to true if expr is of type curl_chunk_end_callback */ +#define curlcheck_chunk_end_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_chunk_end_callback)) + +/* evaluates to true if expr is of type curl_closesocket_callback */ +#define curlcheck_close_socket_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_closesocket_callback)) + +/* evaluates to true if expr is of type curl_fnmatch_callback */ +#define curlcheck_fnmatch_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_fnmatch_callback)) + +/* evaluates to true if expr is of type curl_hstsread_callback */ +#define curlcheck_hstsread_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_hstsread_callback)) + +/* evaluates to true if expr is of type curl_hstswrite_callback */ +#define curlcheck_hstswrite_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_hstswrite_callback)) + +/* evaluates to true if expr is of type curl_sshhostkeycallback */ +#define curlcheck_ssh_hostkey_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_sshhostkeycallback)) + +/* evaluates to true if expr is of type curl_sshkeycallback */ +#define curlcheck_ssh_key_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_sshkeycallback)) + +/* evaluates to true if expr is of type curl_interleave_callback */ +#define curlcheck_interleave_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), _curl_interleave_callback1) || \ + curlcheck_cb_compatible((expr), _curl_interleave_callback2)) +typedef size_t (*_curl_interleave_callback1)(void *p, size_t s, + size_t n, void *u); +typedef size_t (*_curl_interleave_callback2)(char *p, size_t s, + size_t n, void *u); + +/* evaluates to true if expr is of type curl_prereq_callback */ +#define curlcheck_prereq_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_prereq_callback)) + +/* evaluates to true if expr is of type curl_trailer_callback */ +#define curlcheck_trailer_cb(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_trailer_callback)) + +#endif /* CURLINC_TYPECHECK_GCC_H */ diff --git a/curl/include/curl/urlapi.h b/curl/include/curl/urlapi.h new file mode 100644 index 0000000..b4a6e5d --- /dev/null +++ b/curl/include/curl/urlapi.h @@ -0,0 +1,155 @@ +#ifndef CURLINC_URLAPI_H +#define CURLINC_URLAPI_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#include "curl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* the error codes for the URL API */ +typedef enum { + CURLUE_OK, + CURLUE_BAD_HANDLE, /* 1 */ + CURLUE_BAD_PARTPOINTER, /* 2 */ + CURLUE_MALFORMED_INPUT, /* 3 */ + CURLUE_BAD_PORT_NUMBER, /* 4 */ + CURLUE_UNSUPPORTED_SCHEME, /* 5 */ + CURLUE_URLDECODE, /* 6 */ + CURLUE_OUT_OF_MEMORY, /* 7 */ + CURLUE_USER_NOT_ALLOWED, /* 8 */ + CURLUE_UNKNOWN_PART, /* 9 */ + CURLUE_NO_SCHEME, /* 10 */ + CURLUE_NO_USER, /* 11 */ + CURLUE_NO_PASSWORD, /* 12 */ + CURLUE_NO_OPTIONS, /* 13 */ + CURLUE_NO_HOST, /* 14 */ + CURLUE_NO_PORT, /* 15 */ + CURLUE_NO_QUERY, /* 16 */ + CURLUE_NO_FRAGMENT, /* 17 */ + CURLUE_NO_ZONEID, /* 18 */ + CURLUE_BAD_FILE_URL, /* 19 */ + CURLUE_BAD_FRAGMENT, /* 20 */ + CURLUE_BAD_HOSTNAME, /* 21 */ + CURLUE_BAD_IPV6, /* 22 */ + CURLUE_BAD_LOGIN, /* 23 */ + CURLUE_BAD_PASSWORD, /* 24 */ + CURLUE_BAD_PATH, /* 25 */ + CURLUE_BAD_QUERY, /* 26 */ + CURLUE_BAD_SCHEME, /* 27 */ + CURLUE_BAD_SLASHES, /* 28 */ + CURLUE_BAD_USER, /* 29 */ + CURLUE_LACKS_IDN, /* 30 */ + CURLUE_TOO_LARGE, /* 31 */ + CURLUE_LAST +} CURLUcode; + +typedef enum { + CURLUPART_URL, + CURLUPART_SCHEME, + CURLUPART_USER, + CURLUPART_PASSWORD, + CURLUPART_OPTIONS, + CURLUPART_HOST, + CURLUPART_PORT, + CURLUPART_PATH, + CURLUPART_QUERY, + CURLUPART_FRAGMENT, + CURLUPART_ZONEID /* added in 7.65.0 */ +} CURLUPart; + +#define CURLU_DEFAULT_PORT (1<<0) /* return default port number */ +#define CURLU_NO_DEFAULT_PORT (1<<1) /* act as if no port number was set, + if the port number matches the + default for the scheme */ +#define CURLU_DEFAULT_SCHEME (1<<2) /* return default scheme if + missing */ +#define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */ +#define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */ +#define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */ +#define CURLU_URLDECODE (1<<6) /* URL decode on get */ +#define CURLU_URLENCODE (1<<7) /* URL encode on set */ +#define CURLU_APPENDQUERY (1<<8) /* append a form style part */ +#define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */ +#define CURLU_NO_AUTHORITY (1<<10) /* Allow empty authority when the + scheme is unknown. */ +#define CURLU_ALLOW_SPACE (1<<11) /* Allow spaces in the URL */ +#define CURLU_PUNYCODE (1<<12) /* get the hostname in punycode */ +#define CURLU_PUNY2IDN (1<<13) /* punycode => IDN conversion */ +#define CURLU_GET_EMPTY (1<<14) /* allow empty queries and fragments + when extracting the URL or the + components */ +#define CURLU_NO_GUESS_SCHEME (1<<15) /* for get, do not accept a guess */ + +typedef struct Curl_URL CURLU; + +/* + * curl_url() creates a new CURLU handle and returns a pointer to it. + * Must be freed with curl_url_cleanup(). + */ +CURL_EXTERN CURLU *curl_url(void); + +/* + * curl_url_cleanup() frees the CURLU handle and related resources used for + * the URL parsing. It will not free strings previously returned with the URL + * API. + */ +CURL_EXTERN void curl_url_cleanup(CURLU *handle); + +/* + * curl_url_dup() duplicates a CURLU handle and returns a new copy. The new + * handle must also be freed with curl_url_cleanup(). + */ +CURL_EXTERN CURLU *curl_url_dup(const CURLU *in); + +/* + * curl_url_get() extracts a specific part of the URL from a CURLU + * handle. Returns error code. The returned pointer MUST be freed with + * curl_free() afterwards. + */ +CURL_EXTERN CURLUcode curl_url_get(const CURLU *handle, CURLUPart what, + char **part, unsigned int flags); + +/* + * curl_url_set() sets a specific part of the URL in a CURLU handle. Returns + * error code. The passed in string will be copied. Passing a NULL instead of + * a part string, clears that part. + */ +CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what, + const char *part, unsigned int flags); + +/* + * curl_url_strerror() turns a CURLUcode value into the equivalent human + * readable error string. This is useful for printing meaningful error + * messages. + */ +CURL_EXTERN const char *curl_url_strerror(CURLUcode); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* CURLINC_URLAPI_H */ diff --git a/curl/include/curl/websockets.h b/curl/include/curl/websockets.h new file mode 100644 index 0000000..afb86b4 --- /dev/null +++ b/curl/include/curl/websockets.h @@ -0,0 +1,85 @@ +#ifndef CURLINC_WEBSOCKETS_H +#define CURLINC_WEBSOCKETS_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + * SPDX-License-Identifier: curl + * + ***************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif + +struct curl_ws_frame { + int age; /* zero */ + int flags; /* See the CURLWS_* defines */ + curl_off_t offset; /* the offset of this data into the frame */ + curl_off_t bytesleft; /* number of pending bytes left of the payload */ + size_t len; /* size of the current data chunk */ +}; + +/* flag bits */ +#define CURLWS_TEXT (1<<0) +#define CURLWS_BINARY (1<<1) +#define CURLWS_CONT (1<<2) +#define CURLWS_CLOSE (1<<3) +#define CURLWS_PING (1<<4) +#define CURLWS_OFFSET (1<<5) + +/* + * NAME curl_ws_recv() + * + * DESCRIPTION + * + * Receives data from the websocket connection. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURL_EXTERN CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen, + size_t *recv, + const struct curl_ws_frame **metap); + +/* flags for curl_ws_send() */ +#define CURLWS_PONG (1<<6) + +/* + * NAME curl_ws_send() + * + * DESCRIPTION + * + * Sends data over the websocket connection. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURL_EXTERN CURLcode curl_ws_send(CURL *curl, const void *buffer, + size_t buflen, size_t *sent, + curl_off_t fragsize, + unsigned int flags); + +/* bits for the CURLOPT_WS_OPTIONS bitmask: */ +#define CURLWS_RAW_MODE (1<<0) +#define CURLWS_NOAUTOPONG (1<<1) + +CURL_EXTERN const struct curl_ws_frame *curl_ws_meta(CURL *curl); + +#ifdef __cplusplus +} +#endif + +#endif /* CURLINC_WEBSOCKETS_H */ diff --git a/curl/include/libpsl.h b/curl/include/libpsl.h new file mode 100644 index 0000000..d7946e5 --- /dev/null +++ b/curl/include/libpsl.h @@ -0,0 +1,210 @@ +/* + * Copyright(c) 2014-2024 Tim Ruehsen + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * This file is part of libpsl. + * + * Header file for libpsl library routines + * + * Changelog + * 20.03.2014 Tim Ruehsen created + * + */ + +#ifndef LIBPSL_LIBPSL_H +#define LIBPSL_LIBPSL_H + +#include +#include + +#define PSL_VERSION "0.21.5" +#define PSL_VERSION_MAJOR 0 +#define PSL_VERSION_MINOR 21 +#define PSL_VERSION_PATCH 5 +#define PSL_VERSION_NUMBER 0x001505 + +/* support clang's __has_declspec_attribute attribute */ +#ifndef __has_declspec_attribute +# define __has_declspec_attribute(x) 0 +#endif + +#ifndef PSL_API +#if defined BUILDING_PSL && HAVE_VISIBILITY +# define PSL_API __attribute__ ((__visibility__("default"))) +#elif defined BUILDING_PSL && (defined _MSC_VER || __has_declspec_attribute(dllexport)) && !defined PSL_STATIC +# define PSL_API __declspec(dllexport) +#elif (defined _MSC_VER || __has_declspec_attribute(dllimport)) && !defined PSL_STATIC +# define PSL_API __declspec(dllimport) +#else +# define PSL_API +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* types for psl_is_public_suffix2() */ +#define PSL_TYPE_ICANN (1<<0) +#define PSL_TYPE_PRIVATE (1<<1) +#define PSL_TYPE_NO_STAR_RULE (1<<2) +#define PSL_TYPE_ANY (PSL_TYPE_ICANN | PSL_TYPE_PRIVATE) + +/** + * psl_error_t: + * @PSL_SUCCESS: Successful return. + * @PSL_ERR_INVALID_ARG: Invalid argument. + * @PSL_ERR_CONVERTER: Failed to open libicu utf-16 converter. + * @PSL_ERR_TO_UTF16: Failed to convert to utf-16. + * @PSL_ERR_TO_LOWER: Failed to convert utf-16 to lowercase. + * @PSL_ERR_TO_UTF8: Failed to convert utf-16 to utf-8. + * @PSL_ERR_NO_MEM: Failed to allocate memory. + * + * Return codes for PSL functions. + * Negative return codes mean failure. + * Positive values are reserved for non-error return codes. + */ +typedef enum { + PSL_SUCCESS = 0, + PSL_ERR_INVALID_ARG = -1, + PSL_ERR_CONVERTER = -2, /* failed to open libicu utf-16 converter */ + PSL_ERR_TO_UTF16 = -3, /* failed to convert to utf-16 */ + PSL_ERR_TO_LOWER = -4, /* failed to convert utf-16 to lowercase */ + PSL_ERR_TO_UTF8 = -5, /* failed to convert utf-16 to utf-8 */ + PSL_ERR_NO_MEM = -6 /* failed to allocate memory */ +} psl_error_t; + +typedef struct psl_ctx_st psl_ctx_t; + +/* frees PSL context */ +PSL_API +void + psl_free(psl_ctx_t *psl); + +/* frees memory allocated by libpsl routines */ +PSL_API +void + psl_free_string(char *str); + +/* loads PSL data from file */ +PSL_API +psl_ctx_t * + psl_load_file(const char *fname); + +/* loads PSL data from FILE pointer */ +PSL_API +psl_ctx_t * + psl_load_fp(FILE *fp); + +/* retrieves builtin PSL data */ +PSL_API +const psl_ctx_t * + psl_builtin(void); + +/* retrieves most recent PSL data */ +PSL_API +psl_ctx_t * + psl_latest(const char *fname); + +/* checks whether domain is a public suffix or not */ +PSL_API +int + psl_is_public_suffix(const psl_ctx_t *psl, const char *domain); + +/* checks whether domain is a public suffix regarding the type or not */ +PSL_API +int + psl_is_public_suffix2(const psl_ctx_t *psl, const char *domain, int type); + +/* checks whether cookie_domain is acceptable for domain or not */ +PSL_API +int + psl_is_cookie_domain_acceptable(const psl_ctx_t *psl, const char *hostname, const char *cookie_domain); + +/* returns the longest not registrable domain within 'domain' or NULL if none found */ +PSL_API +const char * + psl_unregistrable_domain(const psl_ctx_t *psl, const char *domain); + +/* returns the shortest possible registrable domain part or NULL if domain is not registrable at all */ +PSL_API +const char * + psl_registrable_domain(const psl_ctx_t *psl, const char *domain); + +/* convert a string into lowercase UTF-8 */ +PSL_API +psl_error_t + psl_str_to_utf8lower(const char *str, const char *encoding, const char *locale, char **lower); + +/* does not include exceptions */ +PSL_API +int + psl_suffix_count(const psl_ctx_t *psl); + +/* just counts exceptions */ +PSL_API +int + psl_suffix_exception_count(const psl_ctx_t *psl); + +/* just counts wildcards */ +PSL_API +int + psl_suffix_wildcard_count(const psl_ctx_t *psl); + +/* returns mtime of PSL source file */ +PSL_API +time_t + psl_builtin_file_time(void); + +/* returns SHA1 checksum (hex-encoded, lowercase) of PSL source file */ +PSL_API +const char * + psl_builtin_sha1sum(void); + +/* returns file name of PSL source file */ +PSL_API +const char * + psl_builtin_filename(void); + +/* returns name of distribution PSL data file */ +PSL_API +const char * + psl_dist_filename(void); + +/* returns library version string */ +PSL_API +const char * + psl_get_version(void); + +/* checks library version number */ +PSL_API +int + psl_check_version_number(int version); + +/* returns whether the built-in data is outdated or not */ +PSL_API +int + psl_builtin_outdated(void); + +#ifdef __cplusplus +} +#endif + +#endif /* LIBPSL_LIBPSL_H */ diff --git a/curl/include/libssh2.h b/curl/include/libssh2.h new file mode 100644 index 0000000..f47858a --- /dev/null +++ b/curl/include/libssh2.h @@ -0,0 +1,1516 @@ +/* Copyright (C) Sara Golemon + * Copyright (C) Daniel Stenberg + * Copyright (C) Simon Josefsson + * All rights reserved. + * + * Redistribution and use in source and binary forms, + * with or without modification, are permitted provided + * that the following conditions are met: + * + * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * + * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the copyright holder nor the names + * of any other contributors may be used to endorse or + * promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef LIBSSH2_H +#define LIBSSH2_H 1 + +#define LIBSSH2_COPYRIGHT "The libssh2 project and its contributors." + +/* We use underscore instead of dash when appending DEV in dev versions just + to make the BANNER define (used by src/session.c) be a valid SSH + banner. Release versions have no appended strings and may of course not + have dashes either. */ +#define LIBSSH2_VERSION "1.11.1" + +/* The numeric version number is also available "in parts" by using these + defines: */ +#define LIBSSH2_VERSION_MAJOR 1 +#define LIBSSH2_VERSION_MINOR 11 +#define LIBSSH2_VERSION_PATCH 1 + +/* This is the numeric version of the libssh2 version number, meant for easier + parsing and comparisons by programs. The LIBSSH2_VERSION_NUM define will + always follow this syntax: + + 0xXXYYZZ + + Where XX, YY and ZZ are the main version, release and patch numbers in + hexadecimal (using 8 bits each). All three numbers are always represented + using two digits. 1.2 would appear as "0x010200" while version 9.11.7 + appears as "0x090b07". + + This 6-digit (24 bits) hexadecimal number does not show pre-release number, + and it is always a greater number in a more recent release. It makes + comparisons with greater than and less than work. +*/ +#define LIBSSH2_VERSION_NUM 0x010b01 + +/* + * This is the date and time when the full source package was created. The + * timestamp is not stored in the source code repo, as the timestamp is + * properly set in the tarballs by the maketgz script. + * + * The format of the date should follow this template: + * + * "Mon Feb 12 11:35:33 UTC 2007" + */ +#define LIBSSH2_TIMESTAMP "Wed Oct 16 08:03:21 UTC 2024" + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 +# include +# include +#endif + +#include +#include +#include +#include + +/* Allow alternate API prefix from CFLAGS or calling app */ +#ifndef LIBSSH2_API +# ifdef _WIN32 +# if defined(LIBSSH2_EXPORTS) || defined(_WINDLL) +# ifdef LIBSSH2_LIBRARY +# define LIBSSH2_API __declspec(dllexport) +# else +# define LIBSSH2_API __declspec(dllimport) +# endif /* LIBSSH2_LIBRARY */ +# else +# define LIBSSH2_API +# endif +# else /* !_WIN32 */ +# define LIBSSH2_API +# endif /* _WIN32 */ +#endif /* LIBSSH2_API */ + +#ifdef HAVE_SYS_UIO_H +# include +#endif + +#ifdef _MSC_VER +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; +typedef unsigned int uint32_t; +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +typedef unsigned __int64 libssh2_uint64_t; +typedef __int64 libssh2_int64_t; +#if (!defined(HAVE_SSIZE_T) && !defined(ssize_t)) +typedef SSIZE_T ssize_t; +#define HAVE_SSIZE_T +#endif +#else +#include +typedef unsigned long long libssh2_uint64_t; +typedef long long libssh2_int64_t; +#endif + +#ifdef _WIN32 +typedef SOCKET libssh2_socket_t; +#define LIBSSH2_INVALID_SOCKET INVALID_SOCKET +#define LIBSSH2_SOCKET_CLOSE(s) closesocket(s) +#else /* !_WIN32 */ +typedef int libssh2_socket_t; +#define LIBSSH2_INVALID_SOCKET -1 +#define LIBSSH2_SOCKET_CLOSE(s) close(s) +#endif /* _WIN32 */ + +/* Compile-time deprecation macros */ +#if !defined(LIBSSH2_DISABLE_DEPRECATION) && !defined(LIBSSH2_LIBRARY) +# if defined(_MSC_VER) +# if _MSC_VER >= 1400 +# define LIBSSH2_DEPRECATED(version, message) \ + __declspec(deprecated("since libssh2 " # version ". " message)) +# elif _MSC_VER >= 1310 +# define LIBSSH2_DEPRECATED(version, message) \ + __declspec(deprecated) +# endif +# elif defined(__GNUC__) && !defined(__INTEL_COMPILER) +# if (defined(__clang__) && __clang_major__ >= 3) || \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) +# define LIBSSH2_DEPRECATED(version, message) \ + __attribute__((deprecated("since libssh2 " # version ". " message))) +# elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# define LIBSSH2_DEPRECATED(version, message) \ + __attribute__((deprecated)) +# endif +# elif defined(__SUNPRO_C) && __SUNPRO_C >= 0x5130 +# define LIBSSH2_DEPRECATED(version, message) \ + __attribute__((deprecated)) +# endif +#endif + +#ifndef LIBSSH2_DEPRECATED +#define LIBSSH2_DEPRECATED(version, message) +#endif + +/* + * Determine whether there is small or large file support on windows. + */ + +#if defined(_MSC_VER) && !defined(_WIN32_WCE) +# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64) +# define LIBSSH2_USE_WIN32_LARGE_FILES +# else +# define LIBSSH2_USE_WIN32_SMALL_FILES +# endif +#endif + +#if defined(__MINGW32__) && !defined(LIBSSH2_USE_WIN32_LARGE_FILES) +# define LIBSSH2_USE_WIN32_LARGE_FILES +#endif + +#if defined(__WATCOMC__) && !defined(LIBSSH2_USE_WIN32_LARGE_FILES) +# define LIBSSH2_USE_WIN32_LARGE_FILES +#endif + +#if defined(__POCC__) +# undef LIBSSH2_USE_WIN32_LARGE_FILES +#endif + +#if defined(_WIN32) && !defined(LIBSSH2_USE_WIN32_LARGE_FILES) && \ + !defined(LIBSSH2_USE_WIN32_SMALL_FILES) +# define LIBSSH2_USE_WIN32_SMALL_FILES +#endif + +/* + * Large file (>2Gb) support using WIN32 functions. + */ + +#ifdef LIBSSH2_USE_WIN32_LARGE_FILES +# include +# define LIBSSH2_STRUCT_STAT_SIZE_FORMAT "%I64d" +typedef struct _stati64 libssh2_struct_stat; +typedef __int64 libssh2_struct_stat_size; +#endif + +/* + * Small file (<2Gb) support using WIN32 functions. + */ + +#ifdef LIBSSH2_USE_WIN32_SMALL_FILES +# ifndef _WIN32_WCE +# define LIBSSH2_STRUCT_STAT_SIZE_FORMAT "%d" +typedef struct _stat libssh2_struct_stat; +typedef off_t libssh2_struct_stat_size; +# endif +#endif + +#ifndef LIBSSH2_STRUCT_STAT_SIZE_FORMAT +# ifdef __VMS +/* We have to roll our own format here because %z is a C99-ism we don't + have. */ +# if __USE_OFF64_T || __USING_STD_STAT +# define LIBSSH2_STRUCT_STAT_SIZE_FORMAT "%Ld" +# else +# define LIBSSH2_STRUCT_STAT_SIZE_FORMAT "%d" +# endif +# else +# define LIBSSH2_STRUCT_STAT_SIZE_FORMAT "%zd" +# endif +typedef struct stat libssh2_struct_stat; +typedef off_t libssh2_struct_stat_size; +#endif + +/* Part of every banner, user specified or not */ +#define LIBSSH2_SSH_BANNER "SSH-2.0-libssh2_" LIBSSH2_VERSION + +#define LIBSSH2_SSH_DEFAULT_BANNER LIBSSH2_SSH_BANNER +#define LIBSSH2_SSH_DEFAULT_BANNER_WITH_CRLF LIBSSH2_SSH_DEFAULT_BANNER "\r\n" + +/* Defaults for pty requests */ +#define LIBSSH2_TERM_WIDTH 80 +#define LIBSSH2_TERM_HEIGHT 24 +#define LIBSSH2_TERM_WIDTH_PX 0 +#define LIBSSH2_TERM_HEIGHT_PX 0 + +/* 1/4 second */ +#define LIBSSH2_SOCKET_POLL_UDELAY 250000 +/* 0.25 * 120 == 30 seconds */ +#define LIBSSH2_SOCKET_POLL_MAXLOOPS 120 + +/* Maximum size to allow a payload to compress to, plays it safe by falling + short of spec limits */ +#define LIBSSH2_PACKET_MAXCOMP 32000 + +/* Maximum size to allow a payload to deccompress to, plays it safe by + allowing more than spec requires */ +#define LIBSSH2_PACKET_MAXDECOMP 40000 + +/* Maximum size for an inbound compressed payload, plays it safe by + overshooting spec limits */ +#define LIBSSH2_PACKET_MAXPAYLOAD 40000 + +/* Malloc callbacks */ +#define LIBSSH2_ALLOC_FUNC(name) void *name(size_t count, void **abstract) +#define LIBSSH2_REALLOC_FUNC(name) void *name(void *ptr, size_t count, \ + void **abstract) +#define LIBSSH2_FREE_FUNC(name) void name(void *ptr, void **abstract) + +typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT +{ + unsigned char *text; + size_t length; + unsigned char echo; +} LIBSSH2_USERAUTH_KBDINT_PROMPT; + +typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE +{ + char *text; + unsigned int length; /* FIXME: change type to size_t */ +} LIBSSH2_USERAUTH_KBDINT_RESPONSE; + +typedef struct _LIBSSH2_SK_SIG_INFO { + uint8_t flags; + uint32_t counter; + unsigned char *sig_r; + size_t sig_r_len; + unsigned char *sig_s; + size_t sig_s_len; +} LIBSSH2_SK_SIG_INFO; + +/* 'publickey' authentication callback */ +#define LIBSSH2_USERAUTH_PUBLICKEY_SIGN_FUNC(name) \ + int name(LIBSSH2_SESSION *session, unsigned char **sig, size_t *sig_len, \ + const unsigned char *data, size_t data_len, void **abstract) + +/* 'keyboard-interactive' authentication callback */ +/* FIXME: name_len, instruction_len -> size_t, num_prompts -> unsigned int? */ +#define LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC(name_) \ + void name_(const char *name, int name_len, const char *instruction, \ + int instruction_len, int num_prompts, \ + const LIBSSH2_USERAUTH_KBDINT_PROMPT *prompts, \ + LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses, void **abstract) + +/* SK authentication callback */ +#define LIBSSH2_USERAUTH_SK_SIGN_FUNC(name) \ + int name(LIBSSH2_SESSION *session, LIBSSH2_SK_SIG_INFO *sig_info, \ + const unsigned char *data, size_t data_len, \ + int algorithm, uint8_t flags, \ + const char *application, const unsigned char *key_handle, \ + size_t handle_len, \ + void **abstract) + +/* Flags for SK authentication */ +#define LIBSSH2_SK_PRESENCE_REQUIRED 0x01 +#define LIBSSH2_SK_VERIFICATION_REQUIRED 0x04 + +/* FIXME: update lengths to size_t (or ssize_t): */ + +/* Callbacks for special SSH packets */ +#define LIBSSH2_IGNORE_FUNC(name) \ + void name(LIBSSH2_SESSION *session, const char *message, int message_len, \ + void **abstract) + +#define LIBSSH2_DEBUG_FUNC(name) \ + void name(LIBSSH2_SESSION *session, int always_display, \ + const char *message, int message_len, \ + const char *language, int language_len, \ + void **abstract) + +#define LIBSSH2_DISCONNECT_FUNC(name) \ + void name(LIBSSH2_SESSION *session, int reason, \ + const char *message, int message_len, \ + const char *language, int language_len, \ + void **abstract) + +#define LIBSSH2_PASSWD_CHANGEREQ_FUNC(name) \ + void name(LIBSSH2_SESSION *session, char **newpw, int *newpw_len, \ + void **abstract) + +#define LIBSSH2_MACERROR_FUNC(name) \ + int name(LIBSSH2_SESSION *session, const char *packet, int packet_len, \ + void **abstract) + +#define LIBSSH2_X11_OPEN_FUNC(name) \ + void name(LIBSSH2_SESSION *session, LIBSSH2_CHANNEL *channel, \ + const char *shost, int sport, void **abstract) + +#define LIBSSH2_AUTHAGENT_FUNC(name) \ + void name(LIBSSH2_SESSION *session, LIBSSH2_CHANNEL *channel, \ + void **abstract) + +#define LIBSSH2_ADD_IDENTITIES_FUNC(name) \ + void name(LIBSSH2_SESSION *session, void *buffer, \ + const char *agent_path, void **abstract) + +#define LIBSSH2_AUTHAGENT_SIGN_FUNC(name) \ + int name(LIBSSH2_SESSION* session, \ + unsigned char *blob, unsigned int blen, \ + const unsigned char *data, unsigned int dlen, \ + unsigned char **signature, unsigned int *sigLen, \ + const char *agentPath, \ + void **abstract) + +#define LIBSSH2_CHANNEL_CLOSE_FUNC(name) \ + void name(LIBSSH2_SESSION *session, void **session_abstract, \ + LIBSSH2_CHANNEL *channel, void **channel_abstract) + +/* I/O callbacks */ +#define LIBSSH2_RECV_FUNC(name) \ + ssize_t name(libssh2_socket_t socket, \ + void *buffer, size_t length, \ + int flags, void **abstract) +#define LIBSSH2_SEND_FUNC(name) \ + ssize_t name(libssh2_socket_t socket, \ + const void *buffer, size_t length, \ + int flags, void **abstract) + +/* libssh2_session_callback_set() constants */ +#define LIBSSH2_CALLBACK_IGNORE 0 +#define LIBSSH2_CALLBACK_DEBUG 1 +#define LIBSSH2_CALLBACK_DISCONNECT 2 +#define LIBSSH2_CALLBACK_MACERROR 3 +#define LIBSSH2_CALLBACK_X11 4 +#define LIBSSH2_CALLBACK_SEND 5 +#define LIBSSH2_CALLBACK_RECV 6 +#define LIBSSH2_CALLBACK_AUTHAGENT 7 +#define LIBSSH2_CALLBACK_AUTHAGENT_IDENTITIES 8 +#define LIBSSH2_CALLBACK_AUTHAGENT_SIGN 9 + +/* libssh2_session_method_pref() constants */ +#define LIBSSH2_METHOD_KEX 0 +#define LIBSSH2_METHOD_HOSTKEY 1 +#define LIBSSH2_METHOD_CRYPT_CS 2 +#define LIBSSH2_METHOD_CRYPT_SC 3 +#define LIBSSH2_METHOD_MAC_CS 4 +#define LIBSSH2_METHOD_MAC_SC 5 +#define LIBSSH2_METHOD_COMP_CS 6 +#define LIBSSH2_METHOD_COMP_SC 7 +#define LIBSSH2_METHOD_LANG_CS 8 +#define LIBSSH2_METHOD_LANG_SC 9 +#define LIBSSH2_METHOD_SIGN_ALGO 10 + +/* flags */ +#define LIBSSH2_FLAG_SIGPIPE 1 +#define LIBSSH2_FLAG_COMPRESS 2 +#define LIBSSH2_FLAG_QUOTE_PATHS 3 + +typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION; +typedef struct _LIBSSH2_CHANNEL LIBSSH2_CHANNEL; +typedef struct _LIBSSH2_LISTENER LIBSSH2_LISTENER; +typedef struct _LIBSSH2_KNOWNHOSTS LIBSSH2_KNOWNHOSTS; +typedef struct _LIBSSH2_AGENT LIBSSH2_AGENT; + +/* SK signature callback */ +typedef struct _LIBSSH2_PRIVKEY_SK { + int algorithm; + uint8_t flags; + const char *application; + const unsigned char *key_handle; + size_t handle_len; + LIBSSH2_USERAUTH_SK_SIGN_FUNC((*sign_callback)); + void **orig_abstract; +} LIBSSH2_PRIVKEY_SK; + +int +libssh2_sign_sk(LIBSSH2_SESSION *session, + unsigned char **sig, + size_t *sig_len, + const unsigned char *data, + size_t data_len, + void **abstract); + +typedef struct _LIBSSH2_POLLFD { + unsigned char type; /* LIBSSH2_POLLFD_* below */ + + union { + libssh2_socket_t socket; /* File descriptors -- examined with + system select() call */ + LIBSSH2_CHANNEL *channel; /* Examined by checking internal state */ + LIBSSH2_LISTENER *listener; /* Read polls only -- are inbound + connections waiting to be accepted? */ + } fd; + + unsigned long events; /* Requested Events */ + unsigned long revents; /* Returned Events */ +} LIBSSH2_POLLFD; + +/* Poll FD Descriptor Types */ +#define LIBSSH2_POLLFD_SOCKET 1 +#define LIBSSH2_POLLFD_CHANNEL 2 +#define LIBSSH2_POLLFD_LISTENER 3 + +/* Note: Win32 Doesn't actually have a poll() implementation, so some of these + values are faked with select() data */ +/* Poll FD events/revents -- Match sys/poll.h where possible */ +#define LIBSSH2_POLLFD_POLLIN 0x0001 /* Data available to be read or + connection available -- + All */ +#define LIBSSH2_POLLFD_POLLPRI 0x0002 /* Priority data available to + be read -- Socket only */ +#define LIBSSH2_POLLFD_POLLEXT 0x0002 /* Extended data available to + be read -- Channel only */ +#define LIBSSH2_POLLFD_POLLOUT 0x0004 /* Can may be written -- + Socket/Channel */ +/* revents only */ +#define LIBSSH2_POLLFD_POLLERR 0x0008 /* Error Condition -- Socket */ +#define LIBSSH2_POLLFD_POLLHUP 0x0010 /* HangUp/EOF -- Socket */ +#define LIBSSH2_POLLFD_SESSION_CLOSED 0x0010 /* Session Disconnect */ +#define LIBSSH2_POLLFD_POLLNVAL 0x0020 /* Invalid request -- Socket + Only */ +#define LIBSSH2_POLLFD_POLLEX 0x0040 /* Exception Condition -- + Socket/Win32 */ +#define LIBSSH2_POLLFD_CHANNEL_CLOSED 0x0080 /* Channel Disconnect */ +#define LIBSSH2_POLLFD_LISTENER_CLOSED 0x0080 /* Listener Disconnect */ + +#define HAVE_LIBSSH2_SESSION_BLOCK_DIRECTION +/* Block Direction Types */ +#define LIBSSH2_SESSION_BLOCK_INBOUND 0x0001 +#define LIBSSH2_SESSION_BLOCK_OUTBOUND 0x0002 + +/* Hash Types */ +#define LIBSSH2_HOSTKEY_HASH_MD5 1 +#define LIBSSH2_HOSTKEY_HASH_SHA1 2 +#define LIBSSH2_HOSTKEY_HASH_SHA256 3 + +/* Hostkey Types */ +#define LIBSSH2_HOSTKEY_TYPE_UNKNOWN 0 +#define LIBSSH2_HOSTKEY_TYPE_RSA 1 +#define LIBSSH2_HOSTKEY_TYPE_DSS 2 /* deprecated */ +#define LIBSSH2_HOSTKEY_TYPE_ECDSA_256 3 +#define LIBSSH2_HOSTKEY_TYPE_ECDSA_384 4 +#define LIBSSH2_HOSTKEY_TYPE_ECDSA_521 5 +#define LIBSSH2_HOSTKEY_TYPE_ED25519 6 + +/* Disconnect Codes (defined by SSH protocol) */ +#define SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT 1 +#define SSH_DISCONNECT_PROTOCOL_ERROR 2 +#define SSH_DISCONNECT_KEY_EXCHANGE_FAILED 3 +#define SSH_DISCONNECT_RESERVED 4 +#define SSH_DISCONNECT_MAC_ERROR 5 +#define SSH_DISCONNECT_COMPRESSION_ERROR 6 +#define SSH_DISCONNECT_SERVICE_NOT_AVAILABLE 7 +#define SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED 8 +#define SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE 9 +#define SSH_DISCONNECT_CONNECTION_LOST 10 +#define SSH_DISCONNECT_BY_APPLICATION 11 +#define SSH_DISCONNECT_TOO_MANY_CONNECTIONS 12 +#define SSH_DISCONNECT_AUTH_CANCELLED_BY_USER 13 +#define SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE 14 +#define SSH_DISCONNECT_ILLEGAL_USER_NAME 15 + +/* Error Codes (defined by libssh2) */ +#define LIBSSH2_ERROR_NONE 0 + +/* The library once used -1 as a generic error return value on numerous places + through the code, which subsequently was converted to + LIBSSH2_ERROR_SOCKET_NONE uses over time. As this is a generic error code, + the goal is to never ever return this code but instead make sure that a + more accurate and descriptive error code is used. */ +#define LIBSSH2_ERROR_SOCKET_NONE -1 + +#define LIBSSH2_ERROR_BANNER_RECV -2 +#define LIBSSH2_ERROR_BANNER_SEND -3 +#define LIBSSH2_ERROR_INVALID_MAC -4 +#define LIBSSH2_ERROR_KEX_FAILURE -5 +#define LIBSSH2_ERROR_ALLOC -6 +#define LIBSSH2_ERROR_SOCKET_SEND -7 +#define LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE -8 +#define LIBSSH2_ERROR_TIMEOUT -9 +#define LIBSSH2_ERROR_HOSTKEY_INIT -10 +#define LIBSSH2_ERROR_HOSTKEY_SIGN -11 +#define LIBSSH2_ERROR_DECRYPT -12 +#define LIBSSH2_ERROR_SOCKET_DISCONNECT -13 +#define LIBSSH2_ERROR_PROTO -14 +#define LIBSSH2_ERROR_PASSWORD_EXPIRED -15 +#define LIBSSH2_ERROR_FILE -16 +#define LIBSSH2_ERROR_METHOD_NONE -17 +#define LIBSSH2_ERROR_AUTHENTICATION_FAILED -18 +#define LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED \ + LIBSSH2_ERROR_AUTHENTICATION_FAILED +#define LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED -19 +#define LIBSSH2_ERROR_CHANNEL_OUTOFORDER -20 +#define LIBSSH2_ERROR_CHANNEL_FAILURE -21 +#define LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED -22 +#define LIBSSH2_ERROR_CHANNEL_UNKNOWN -23 +#define LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED -24 +#define LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED -25 +#define LIBSSH2_ERROR_CHANNEL_CLOSED -26 +#define LIBSSH2_ERROR_CHANNEL_EOF_SENT -27 +#define LIBSSH2_ERROR_SCP_PROTOCOL -28 +#define LIBSSH2_ERROR_ZLIB -29 +#define LIBSSH2_ERROR_SOCKET_TIMEOUT -30 +#define LIBSSH2_ERROR_SFTP_PROTOCOL -31 +#define LIBSSH2_ERROR_REQUEST_DENIED -32 +#define LIBSSH2_ERROR_METHOD_NOT_SUPPORTED -33 +#define LIBSSH2_ERROR_INVAL -34 +#define LIBSSH2_ERROR_INVALID_POLL_TYPE -35 +#define LIBSSH2_ERROR_PUBLICKEY_PROTOCOL -36 +#define LIBSSH2_ERROR_EAGAIN -37 +#define LIBSSH2_ERROR_BUFFER_TOO_SMALL -38 +#define LIBSSH2_ERROR_BAD_USE -39 +#define LIBSSH2_ERROR_COMPRESS -40 +#define LIBSSH2_ERROR_OUT_OF_BOUNDARY -41 +#define LIBSSH2_ERROR_AGENT_PROTOCOL -42 +#define LIBSSH2_ERROR_SOCKET_RECV -43 +#define LIBSSH2_ERROR_ENCRYPT -44 +#define LIBSSH2_ERROR_BAD_SOCKET -45 +#define LIBSSH2_ERROR_KNOWN_HOSTS -46 +#define LIBSSH2_ERROR_CHANNEL_WINDOW_FULL -47 +#define LIBSSH2_ERROR_KEYFILE_AUTH_FAILED -48 +#define LIBSSH2_ERROR_RANDGEN -49 +#define LIBSSH2_ERROR_MISSING_USERAUTH_BANNER -50 +#define LIBSSH2_ERROR_ALGO_UNSUPPORTED -51 +#define LIBSSH2_ERROR_MAC_FAILURE -52 +#define LIBSSH2_ERROR_HASH_INIT -53 +#define LIBSSH2_ERROR_HASH_CALC -54 + +/* this is a define to provide the old (<= 1.2.7) name */ +#define LIBSSH2_ERROR_BANNER_NONE LIBSSH2_ERROR_BANNER_RECV + +/* Global API */ +#define LIBSSH2_INIT_NO_CRYPTO 0x0001 + +/* + * libssh2_init() + * + * Initialize the libssh2 functions. This typically initialize the + * crypto library. It uses a global state, and is not thread safe -- + * you must make sure this function is not called concurrently. + * + * Flags can be: + * 0: Normal initialize + * LIBSSH2_INIT_NO_CRYPTO: Do not initialize the crypto library (ie. + * OPENSSL_add_cipher_algoritms() for OpenSSL + * + * Returns 0 if succeeded, or a negative value for error. + */ +LIBSSH2_API int libssh2_init(int flags); + +/* + * libssh2_exit() + * + * Exit the libssh2 functions and free's all memory used internal. + */ +LIBSSH2_API void libssh2_exit(void); + +/* + * libssh2_free() + * + * Deallocate memory allocated by earlier call to libssh2 functions. + */ +LIBSSH2_API void libssh2_free(LIBSSH2_SESSION *session, void *ptr); + +/* + * libssh2_session_supported_algs() + * + * Fills algs with a list of supported acryptographic algorithms. Returns a + * non-negative number (number of supported algorithms) on success or a + * negative number (an error code) on failure. + * + * NOTE: on success, algs must be deallocated (by calling libssh2_free) when + * not needed anymore + */ +LIBSSH2_API int libssh2_session_supported_algs(LIBSSH2_SESSION* session, + int method_type, + const char ***algs); + +/* Session API */ +LIBSSH2_API LIBSSH2_SESSION * +libssh2_session_init_ex(LIBSSH2_ALLOC_FUNC((*my_alloc)), + LIBSSH2_FREE_FUNC((*my_free)), + LIBSSH2_REALLOC_FUNC((*my_realloc)), void *abstract); +#define libssh2_session_init() libssh2_session_init_ex(NULL, NULL, NULL, NULL) + +LIBSSH2_API void **libssh2_session_abstract(LIBSSH2_SESSION *session); + +typedef void (libssh2_cb_generic)(void); + +LIBSSH2_API libssh2_cb_generic * +libssh2_session_callback_set2(LIBSSH2_SESSION *session, int cbtype, + libssh2_cb_generic *callback); + +LIBSSH2_DEPRECATED(1.11.1, "Use libssh2_session_callback_set2()") +LIBSSH2_API void *libssh2_session_callback_set(LIBSSH2_SESSION *session, + int cbtype, void *callback); +LIBSSH2_API int libssh2_session_banner_set(LIBSSH2_SESSION *session, + const char *banner); +#ifndef LIBSSH2_NO_DEPRECATED +LIBSSH2_DEPRECATED(1.4.0, "Use libssh2_session_banner_set()") +LIBSSH2_API int libssh2_banner_set(LIBSSH2_SESSION *session, + const char *banner); + +LIBSSH2_DEPRECATED(1.2.8, "Use libssh2_session_handshake()") +LIBSSH2_API int libssh2_session_startup(LIBSSH2_SESSION *session, int sock); +#endif +LIBSSH2_API int libssh2_session_handshake(LIBSSH2_SESSION *session, + libssh2_socket_t sock); +LIBSSH2_API int libssh2_session_disconnect_ex(LIBSSH2_SESSION *session, + int reason, + const char *description, + const char *lang); +#define libssh2_session_disconnect(session, description) \ + libssh2_session_disconnect_ex((session), SSH_DISCONNECT_BY_APPLICATION, \ + (description), "") + +LIBSSH2_API int libssh2_session_free(LIBSSH2_SESSION *session); + +LIBSSH2_API const char *libssh2_hostkey_hash(LIBSSH2_SESSION *session, + int hash_type); + +LIBSSH2_API const char *libssh2_session_hostkey(LIBSSH2_SESSION *session, + size_t *len, int *type); + +LIBSSH2_API int libssh2_session_method_pref(LIBSSH2_SESSION *session, + int method_type, + const char *prefs); +LIBSSH2_API const char *libssh2_session_methods(LIBSSH2_SESSION *session, + int method_type); +LIBSSH2_API int libssh2_session_last_error(LIBSSH2_SESSION *session, + char **errmsg, + int *errmsg_len, int want_buf); +LIBSSH2_API int libssh2_session_last_errno(LIBSSH2_SESSION *session); +LIBSSH2_API int libssh2_session_set_last_error(LIBSSH2_SESSION* session, + int errcode, + const char *errmsg); +LIBSSH2_API int libssh2_session_block_directions(LIBSSH2_SESSION *session); + +LIBSSH2_API int libssh2_session_flag(LIBSSH2_SESSION *session, int flag, + int value); +LIBSSH2_API const char *libssh2_session_banner_get(LIBSSH2_SESSION *session); + +/* Userauth API */ +LIBSSH2_API char *libssh2_userauth_list(LIBSSH2_SESSION *session, + const char *username, + unsigned int username_len); +LIBSSH2_API int libssh2_userauth_banner(LIBSSH2_SESSION *session, + char **banner); +LIBSSH2_API int libssh2_userauth_authenticated(LIBSSH2_SESSION *session); + +LIBSSH2_API int +libssh2_userauth_password_ex(LIBSSH2_SESSION *session, + const char *username, + unsigned int username_len, + const char *password, + unsigned int password_len, + LIBSSH2_PASSWD_CHANGEREQ_FUNC + ((*passwd_change_cb))); + +#define libssh2_userauth_password(session, username, password) \ + libssh2_userauth_password_ex((session), (username), \ + (unsigned int)strlen(username), \ + (password), (unsigned int)strlen(password), \ + NULL) + +LIBSSH2_API int +libssh2_userauth_publickey_fromfile_ex(LIBSSH2_SESSION *session, + const char *username, + unsigned int username_len, + const char *publickey, + const char *privatekey, + const char *passphrase); + +#define libssh2_userauth_publickey_fromfile(session, username, publickey, \ + privatekey, passphrase) \ + libssh2_userauth_publickey_fromfile_ex((session), (username), \ + (unsigned int)strlen(username), \ + (publickey), \ + (privatekey), (passphrase)) + +LIBSSH2_API int +libssh2_userauth_publickey(LIBSSH2_SESSION *session, + const char *username, + const unsigned char *pubkeydata, + size_t pubkeydata_len, + LIBSSH2_USERAUTH_PUBLICKEY_SIGN_FUNC + ((*sign_callback)), + void **abstract); + +LIBSSH2_API int +libssh2_userauth_hostbased_fromfile_ex(LIBSSH2_SESSION *session, + const char *username, + unsigned int username_len, + const char *publickey, + const char *privatekey, + const char *passphrase, + const char *hostname, + unsigned int hostname_len, + const char *local_username, + unsigned int local_username_len); + +#define libssh2_userauth_hostbased_fromfile(session, username, publickey, \ + privatekey, passphrase, hostname) \ + libssh2_userauth_hostbased_fromfile_ex((session), (username), \ + (unsigned int)strlen(username), \ + (publickey), \ + (privatekey), (passphrase), \ + (hostname), \ + (unsigned int)strlen(hostname), \ + (username), \ + (unsigned int)strlen(username)) + +LIBSSH2_API int +libssh2_userauth_publickey_frommemory(LIBSSH2_SESSION *session, + const char *username, + size_t username_len, + const char *publickeyfiledata, + size_t publickeyfiledata_len, + const char *privatekeyfiledata, + size_t privatekeyfiledata_len, + const char *passphrase); + +/* + * response_callback is provided with filled by library prompts array, + * but client must allocate and fill individual responses. Responses + * array is already allocated. Responses data will be freed by libssh2 + * after callback return, but before subsequent callback invocation. + */ +LIBSSH2_API int +libssh2_userauth_keyboard_interactive_ex(LIBSSH2_SESSION* session, + const char *username, + unsigned int username_len, + LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC + ((*response_callback))); + +#define libssh2_userauth_keyboard_interactive(session, username, \ + response_callback) \ + libssh2_userauth_keyboard_interactive_ex((session), (username), \ + (unsigned int)strlen(username), \ + (response_callback)) + +LIBSSH2_API int +libssh2_userauth_publickey_sk(LIBSSH2_SESSION *session, + const char *username, + size_t username_len, + const unsigned char *pubkeydata, + size_t pubkeydata_len, + const char *privatekeydata, + size_t privatekeydata_len, + const char *passphrase, + LIBSSH2_USERAUTH_SK_SIGN_FUNC + ((*sign_callback)), + void **abstract); + +LIBSSH2_API int libssh2_poll(LIBSSH2_POLLFD *fds, unsigned int nfds, + long timeout); + +/* Channel API */ +#define LIBSSH2_CHANNEL_WINDOW_DEFAULT (2*1024*1024) +#define LIBSSH2_CHANNEL_PACKET_DEFAULT 32768 +#define LIBSSH2_CHANNEL_MINADJUST 1024 + +/* Extended Data Handling */ +#define LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL 0 +#define LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE 1 +#define LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE 2 + +#define SSH_EXTENDED_DATA_STDERR 1 + +/* Returned by any function that would block during a read/write operation */ +#define LIBSSH2CHANNEL_EAGAIN LIBSSH2_ERROR_EAGAIN + +LIBSSH2_API LIBSSH2_CHANNEL * +libssh2_channel_open_ex(LIBSSH2_SESSION *session, const char *channel_type, + unsigned int channel_type_len, + unsigned int window_size, unsigned int packet_size, + const char *message, unsigned int message_len); + +#define libssh2_channel_open_session(session) \ + libssh2_channel_open_ex((session), "session", sizeof("session") - 1, \ + LIBSSH2_CHANNEL_WINDOW_DEFAULT, \ + LIBSSH2_CHANNEL_PACKET_DEFAULT, NULL, 0) + +LIBSSH2_API LIBSSH2_CHANNEL * +libssh2_channel_direct_tcpip_ex(LIBSSH2_SESSION *session, const char *host, + int port, const char *shost, int sport); +#define libssh2_channel_direct_tcpip(session, host, port) \ + libssh2_channel_direct_tcpip_ex((session), (host), (port), "127.0.0.1", 22) + +LIBSSH2_API LIBSSH2_CHANNEL * +libssh2_channel_direct_streamlocal_ex(LIBSSH2_SESSION * session, + const char *socket_path, + const char *shost, int sport); + +LIBSSH2_API LIBSSH2_LISTENER * +libssh2_channel_forward_listen_ex(LIBSSH2_SESSION *session, const char *host, + int port, int *bound_port, + int queue_maxsize); +#define libssh2_channel_forward_listen(session, port) \ + libssh2_channel_forward_listen_ex((session), NULL, (port), NULL, 16) + +LIBSSH2_API int libssh2_channel_forward_cancel(LIBSSH2_LISTENER *listener); + +LIBSSH2_API LIBSSH2_CHANNEL * +libssh2_channel_forward_accept(LIBSSH2_LISTENER *listener); + +LIBSSH2_API int libssh2_channel_setenv_ex(LIBSSH2_CHANNEL *channel, + const char *varname, + unsigned int varname_len, + const char *value, + unsigned int value_len); + +#define libssh2_channel_setenv(channel, varname, value) \ + libssh2_channel_setenv_ex((channel), (varname), \ + (unsigned int)strlen(varname), (value), \ + (unsigned int)strlen(value)) + +LIBSSH2_API int libssh2_channel_request_auth_agent(LIBSSH2_CHANNEL *channel); + +LIBSSH2_API int libssh2_channel_request_pty_ex(LIBSSH2_CHANNEL *channel, + const char *term, + unsigned int term_len, + const char *modes, + unsigned int modes_len, + int width, int height, + int width_px, int height_px); +#define libssh2_channel_request_pty(channel, term) \ + libssh2_channel_request_pty_ex((channel), (term), \ + (unsigned int)strlen(term), \ + NULL, 0, \ + LIBSSH2_TERM_WIDTH, \ + LIBSSH2_TERM_HEIGHT, \ + LIBSSH2_TERM_WIDTH_PX, \ + LIBSSH2_TERM_HEIGHT_PX) + +LIBSSH2_API int libssh2_channel_request_pty_size_ex(LIBSSH2_CHANNEL *channel, + int width, int height, + int width_px, + int height_px); +#define libssh2_channel_request_pty_size(channel, width, height) \ + libssh2_channel_request_pty_size_ex((channel), (width), (height), 0, 0) + +LIBSSH2_API int libssh2_channel_x11_req_ex(LIBSSH2_CHANNEL *channel, + int single_connection, + const char *auth_proto, + const char *auth_cookie, + int screen_number); +#define libssh2_channel_x11_req(channel, screen_number) \ + libssh2_channel_x11_req_ex((channel), 0, NULL, NULL, (screen_number)) + +LIBSSH2_API int libssh2_channel_signal_ex(LIBSSH2_CHANNEL *channel, + const char *signame, + size_t signame_len); +#define libssh2_channel_signal(channel, signame) \ + libssh2_channel_signal_ex((channel), signame, strlen(signame)) + +LIBSSH2_API int libssh2_channel_process_startup(LIBSSH2_CHANNEL *channel, + const char *request, + unsigned int request_len, + const char *message, + unsigned int message_len); +#define libssh2_channel_shell(channel) \ + libssh2_channel_process_startup((channel), "shell", sizeof("shell") - 1, \ + NULL, 0) +#define libssh2_channel_exec(channel, command) \ + libssh2_channel_process_startup((channel), "exec", sizeof("exec") - 1, \ + (command), (unsigned int)strlen(command)) +#define libssh2_channel_subsystem(channel, subsystem) \ + libssh2_channel_process_startup((channel), "subsystem", \ + sizeof("subsystem") - 1, (subsystem), \ + (unsigned int)strlen(subsystem)) + +LIBSSH2_API ssize_t libssh2_channel_read_ex(LIBSSH2_CHANNEL *channel, + int stream_id, char *buf, + size_t buflen); +#define libssh2_channel_read(channel, buf, buflen) \ + libssh2_channel_read_ex((channel), 0, \ + (buf), (buflen)) +#define libssh2_channel_read_stderr(channel, buf, buflen) \ + libssh2_channel_read_ex((channel), SSH_EXTENDED_DATA_STDERR, \ + (buf), (buflen)) + +LIBSSH2_API int libssh2_poll_channel_read(LIBSSH2_CHANNEL *channel, + int extended); + +LIBSSH2_API unsigned long +libssh2_channel_window_read_ex(LIBSSH2_CHANNEL *channel, + unsigned long *read_avail, + unsigned long *window_size_initial); +#define libssh2_channel_window_read(channel) \ + libssh2_channel_window_read_ex((channel), NULL, NULL) + +#ifndef LIBSSH2_NO_DEPRECATED +LIBSSH2_DEPRECATED(1.1.0, "Use libssh2_channel_receive_window_adjust2()") +LIBSSH2_API unsigned long +libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL *channel, + unsigned long adjustment, + unsigned char force); +#endif +LIBSSH2_API int +libssh2_channel_receive_window_adjust2(LIBSSH2_CHANNEL *channel, + unsigned long adjustment, + unsigned char force, + unsigned int *storewindow); + +LIBSSH2_API ssize_t libssh2_channel_write_ex(LIBSSH2_CHANNEL *channel, + int stream_id, const char *buf, + size_t buflen); + +#define libssh2_channel_write(channel, buf, buflen) \ + libssh2_channel_write_ex((channel), 0, \ + (buf), (buflen)) +#define libssh2_channel_write_stderr(channel, buf, buflen) \ + libssh2_channel_write_ex((channel), SSH_EXTENDED_DATA_STDERR, \ + (buf), (buflen)) + +LIBSSH2_API unsigned long +libssh2_channel_window_write_ex(LIBSSH2_CHANNEL *channel, + unsigned long *window_size_initial); +#define libssh2_channel_window_write(channel) \ + libssh2_channel_window_write_ex((channel), NULL) + +LIBSSH2_API void libssh2_session_set_blocking(LIBSSH2_SESSION* session, + int blocking); +LIBSSH2_API int libssh2_session_get_blocking(LIBSSH2_SESSION* session); + +LIBSSH2_API void libssh2_channel_set_blocking(LIBSSH2_CHANNEL *channel, + int blocking); + +LIBSSH2_API void libssh2_session_set_timeout(LIBSSH2_SESSION* session, + long timeout); +LIBSSH2_API long libssh2_session_get_timeout(LIBSSH2_SESSION* session); + +LIBSSH2_API void libssh2_session_set_read_timeout(LIBSSH2_SESSION* session, + long timeout); +LIBSSH2_API long libssh2_session_get_read_timeout(LIBSSH2_SESSION* session); + +#ifndef LIBSSH2_NO_DEPRECATED +LIBSSH2_DEPRECATED(1.1.0, "libssh2_channel_handle_extended_data2()") +LIBSSH2_API void libssh2_channel_handle_extended_data(LIBSSH2_CHANNEL *channel, + int ignore_mode); +#endif +LIBSSH2_API int libssh2_channel_handle_extended_data2(LIBSSH2_CHANNEL *channel, + int ignore_mode); + +#ifndef LIBSSH2_NO_DEPRECATED +/* libssh2_channel_ignore_extended_data() is defined below for BC with version + * 0.1 + * + * Future uses should use libssh2_channel_handle_extended_data() directly if + * LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE is passed, extended data will be read + * (FIFO) from the standard data channel + */ +/* DEPRECATED since 0.3.0. Use libssh2_channel_handle_extended_data2(). */ +#define libssh2_channel_ignore_extended_data(channel, ignore) \ + libssh2_channel_handle_extended_data((channel), (ignore) ? \ + LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE : \ + LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL) +#endif + +#define LIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA -1 +#define LIBSSH2_CHANNEL_FLUSH_ALL -2 +LIBSSH2_API int libssh2_channel_flush_ex(LIBSSH2_CHANNEL *channel, + int streamid); +#define libssh2_channel_flush(channel) libssh2_channel_flush_ex((channel), 0) +#define libssh2_channel_flush_stderr(channel) \ + libssh2_channel_flush_ex((channel), SSH_EXTENDED_DATA_STDERR) + +LIBSSH2_API int libssh2_channel_get_exit_status(LIBSSH2_CHANNEL* channel); +LIBSSH2_API int libssh2_channel_get_exit_signal(LIBSSH2_CHANNEL* channel, + char **exitsignal, + size_t *exitsignal_len, + char **errmsg, + size_t *errmsg_len, + char **langtag, + size_t *langtag_len); +LIBSSH2_API int libssh2_channel_send_eof(LIBSSH2_CHANNEL *channel); +LIBSSH2_API int libssh2_channel_eof(LIBSSH2_CHANNEL *channel); +LIBSSH2_API int libssh2_channel_wait_eof(LIBSSH2_CHANNEL *channel); +LIBSSH2_API int libssh2_channel_close(LIBSSH2_CHANNEL *channel); +LIBSSH2_API int libssh2_channel_wait_closed(LIBSSH2_CHANNEL *channel); +LIBSSH2_API int libssh2_channel_free(LIBSSH2_CHANNEL *channel); + +#ifndef LIBSSH2_NO_DEPRECATED +LIBSSH2_DEPRECATED(1.7.0, "Use libssh2_scp_recv2()") +LIBSSH2_API LIBSSH2_CHANNEL *libssh2_scp_recv(LIBSSH2_SESSION *session, + const char *path, + struct stat *sb); +#endif +/* Use libssh2_scp_recv2() for large (> 2GB) file support on windows */ +LIBSSH2_API LIBSSH2_CHANNEL *libssh2_scp_recv2(LIBSSH2_SESSION *session, + const char *path, + libssh2_struct_stat *sb); +LIBSSH2_API LIBSSH2_CHANNEL *libssh2_scp_send_ex(LIBSSH2_SESSION *session, + const char *path, int mode, + size_t size, long mtime, + long atime); +LIBSSH2_API LIBSSH2_CHANNEL * +libssh2_scp_send64(LIBSSH2_SESSION *session, const char *path, int mode, + libssh2_int64_t size, time_t mtime, time_t atime); + +#define libssh2_scp_send(session, path, mode, size) \ + libssh2_scp_send_ex((session), (path), (mode), (size), 0, 0) + +/* DEPRECATED */ +LIBSSH2_API int libssh2_base64_decode(LIBSSH2_SESSION *session, char **dest, + unsigned int *dest_len, + const char *src, unsigned int src_len); + +LIBSSH2_API +const char *libssh2_version(int req_version_num); + +typedef enum { + libssh2_no_crypto = 0, + libssh2_openssl, + libssh2_gcrypt, + libssh2_mbedtls, + libssh2_wincng, + libssh2_os400qc3 +} libssh2_crypto_engine_t; + +LIBSSH2_API +libssh2_crypto_engine_t libssh2_crypto_engine(void); + +#define HAVE_LIBSSH2_KNOWNHOST_API 0x010101 /* since 1.1.1 */ +#define HAVE_LIBSSH2_VERSION_API 0x010100 /* libssh2_version since 1.1 */ +#define HAVE_LIBSSH2_CRYPTOENGINE_API 0x011100 /* libssh2_crypto_engine + since 1.11 */ + +struct libssh2_knownhost { + unsigned int magic; /* magic stored by the library */ + void *node; /* handle to the internal representation of this host */ + char *name; /* this is NULL if no plain text host name exists */ + char *key; /* key in base64/printable format */ + int typemask; +}; + +/* + * libssh2_knownhost_init() + * + * Init a collection of known hosts. Returns the pointer to a collection. + * + */ +LIBSSH2_API LIBSSH2_KNOWNHOSTS * +libssh2_knownhost_init(LIBSSH2_SESSION *session); + +/* + * libssh2_knownhost_add() + * + * Add a host and its associated key to the collection of known hosts. + * + * The 'type' argument specifies on what format the given host and keys are: + * + * plain - ascii "hostname.domain.tld" + * sha1 - SHA1( ) base64-encoded! + * custom - another hash + * + * If 'sha1' is selected as type, the salt must be provided to the salt + * argument. This too base64 encoded. + * + * The SHA-1 hash is what OpenSSH can be told to use in known_hosts files. If + * a custom type is used, salt is ignored and you must provide the host + * pre-hashed when checking for it in the libssh2_knownhost_check() function. + * + * The keylen parameter may be omitted (zero) if the key is provided as a + * NULL-terminated base64-encoded string. + */ + +/* host format (2 bits) */ +#define LIBSSH2_KNOWNHOST_TYPE_MASK 0xffff +#define LIBSSH2_KNOWNHOST_TYPE_PLAIN 1 +#define LIBSSH2_KNOWNHOST_TYPE_SHA1 2 /* always base64 encoded */ +#define LIBSSH2_KNOWNHOST_TYPE_CUSTOM 3 + +/* key format (2 bits) */ +#define LIBSSH2_KNOWNHOST_KEYENC_MASK (3<<16) +#define LIBSSH2_KNOWNHOST_KEYENC_RAW (1<<16) +#define LIBSSH2_KNOWNHOST_KEYENC_BASE64 (2<<16) + +/* type of key (4 bits) */ +#define LIBSSH2_KNOWNHOST_KEY_MASK (15<<18) +#define LIBSSH2_KNOWNHOST_KEY_SHIFT 18 +#define LIBSSH2_KNOWNHOST_KEY_RSA1 (1<<18) +#define LIBSSH2_KNOWNHOST_KEY_SSHRSA (2<<18) +#define LIBSSH2_KNOWNHOST_KEY_SSHDSS (3<<18) /* deprecated */ +#define LIBSSH2_KNOWNHOST_KEY_ECDSA_256 (4<<18) +#define LIBSSH2_KNOWNHOST_KEY_ECDSA_384 (5<<18) +#define LIBSSH2_KNOWNHOST_KEY_ECDSA_521 (6<<18) +#define LIBSSH2_KNOWNHOST_KEY_ED25519 (7<<18) +#define LIBSSH2_KNOWNHOST_KEY_UNKNOWN (15<<18) + +LIBSSH2_API int +libssh2_knownhost_add(LIBSSH2_KNOWNHOSTS *hosts, + const char *host, + const char *salt, + const char *key, size_t keylen, int typemask, + struct libssh2_knownhost **store); + +/* + * libssh2_knownhost_addc() + * + * Add a host and its associated key to the collection of known hosts. + * + * Takes a comment argument that may be NULL. A NULL comment indicates + * there is no comment and the entry will end directly after the key + * when written out to a file. An empty string "" comment will indicate an + * empty comment which will cause a single space to be written after the key. + * + * The 'type' argument specifies on what format the given host and keys are: + * + * plain - ascii "hostname.domain.tld" + * sha1 - SHA1( ) base64-encoded! + * custom - another hash + * + * If 'sha1' is selected as type, the salt must be provided to the salt + * argument. This too base64 encoded. + * + * The SHA-1 hash is what OpenSSH can be told to use in known_hosts files. + * If a custom type is used, salt is ignored and you must provide the host + * pre-hashed when checking for it in the libssh2_knownhost_check() function. + * + * The keylen parameter may be omitted (zero) if the key is provided as a + * NULL-terminated base64-encoded string. + */ + +LIBSSH2_API int +libssh2_knownhost_addc(LIBSSH2_KNOWNHOSTS *hosts, + const char *host, + const char *salt, + const char *key, size_t keylen, + const char *comment, size_t commentlen, int typemask, + struct libssh2_knownhost **store); + +/* + * libssh2_knownhost_check() + * + * Check a host and its associated key against the collection of known hosts. + * + * The type is the type/format of the given host name. + * + * plain - ascii "hostname.domain.tld" + * custom - prehashed base64 encoded. Note that this cannot use any salts. + * + * + * 'knownhost' may be set to NULL if you don't care about that info. + * + * Returns: + * + * LIBSSH2_KNOWNHOST_CHECK_* values, see below + * + */ + +#define LIBSSH2_KNOWNHOST_CHECK_MATCH 0 +#define LIBSSH2_KNOWNHOST_CHECK_MISMATCH 1 +#define LIBSSH2_KNOWNHOST_CHECK_NOTFOUND 2 +#define LIBSSH2_KNOWNHOST_CHECK_FAILURE 3 + +LIBSSH2_API int +libssh2_knownhost_check(LIBSSH2_KNOWNHOSTS *hosts, + const char *host, const char *key, size_t keylen, + int typemask, + struct libssh2_knownhost **knownhost); + +/* this function is identital to the above one, but also takes a port + argument that allows libssh2 to do a better check */ +LIBSSH2_API int +libssh2_knownhost_checkp(LIBSSH2_KNOWNHOSTS *hosts, + const char *host, int port, + const char *key, size_t keylen, + int typemask, + struct libssh2_knownhost **knownhost); + +/* + * libssh2_knownhost_del() + * + * Remove a host from the collection of known hosts. The 'entry' struct is + * retrieved by a call to libssh2_knownhost_check(). + * + */ +LIBSSH2_API int +libssh2_knownhost_del(LIBSSH2_KNOWNHOSTS *hosts, + struct libssh2_knownhost *entry); + +/* + * libssh2_knownhost_free() + * + * Free an entire collection of known hosts. + * + */ +LIBSSH2_API void +libssh2_knownhost_free(LIBSSH2_KNOWNHOSTS *hosts); + +/* + * libssh2_knownhost_readline() + * + * Pass in a line of a file of 'type'. It makes libssh2 read this line. + * + * LIBSSH2_KNOWNHOST_FILE_OPENSSH is the only supported type. + * + */ +LIBSSH2_API int +libssh2_knownhost_readline(LIBSSH2_KNOWNHOSTS *hosts, + const char *line, size_t len, int type); + +/* + * libssh2_knownhost_readfile() + * + * Add hosts+key pairs from a given file. + * + * Returns a negative value for error or number of successfully added hosts. + * + * This implementation currently only knows one 'type' (openssh), all others + * are reserved for future use. + */ + +#define LIBSSH2_KNOWNHOST_FILE_OPENSSH 1 + +LIBSSH2_API int +libssh2_knownhost_readfile(LIBSSH2_KNOWNHOSTS *hosts, + const char *filename, int type); + +/* + * libssh2_knownhost_writeline() + * + * Ask libssh2 to convert a known host to an output line for storage. + * + * Note that this function returns LIBSSH2_ERROR_BUFFER_TOO_SMALL if the given + * output buffer is too small to hold the desired output. + * + * This implementation currently only knows one 'type' (openssh), all others + * are reserved for future use. + * + */ +LIBSSH2_API int +libssh2_knownhost_writeline(LIBSSH2_KNOWNHOSTS *hosts, + struct libssh2_knownhost *known, + char *buffer, size_t buflen, + size_t *outlen, /* the amount of written data */ + int type); + +/* + * libssh2_knownhost_writefile() + * + * Write hosts+key pairs to a given file. + * + * This implementation currently only knows one 'type' (openssh), all others + * are reserved for future use. + */ + +LIBSSH2_API int +libssh2_knownhost_writefile(LIBSSH2_KNOWNHOSTS *hosts, + const char *filename, int type); + +/* + * libssh2_knownhost_get() + * + * Traverse the internal list of known hosts. Pass NULL to 'prev' to get + * the first one. Or pass a pointer to the previously returned one to get the + * next. + * + * Returns: + * 0 if a fine host was stored in 'store' + * 1 if end of hosts + * [negative] on errors + */ +LIBSSH2_API int +libssh2_knownhost_get(LIBSSH2_KNOWNHOSTS *hosts, + struct libssh2_knownhost **store, + struct libssh2_knownhost *prev); + +#define HAVE_LIBSSH2_AGENT_API 0x010202 /* since 1.2.2 */ + +struct libssh2_agent_publickey { + unsigned int magic; /* magic stored by the library */ + void *node; /* handle to the internal representation of key */ + unsigned char *blob; /* public key blob */ + size_t blob_len; /* length of the public key blob */ + char *comment; /* comment in printable format */ +}; + +/* + * libssh2_agent_init() + * + * Init an ssh-agent handle. Returns the pointer to the handle. + * + */ +LIBSSH2_API LIBSSH2_AGENT * +libssh2_agent_init(LIBSSH2_SESSION *session); + +/* + * libssh2_agent_connect() + * + * Connect to an ssh-agent. + * + * Returns 0 if succeeded, or a negative value for error. + */ +LIBSSH2_API int +libssh2_agent_connect(LIBSSH2_AGENT *agent); + +/* + * libssh2_agent_list_identities() + * + * Request an ssh-agent to list identities. + * + * Returns 0 if succeeded, or a negative value for error. + */ +LIBSSH2_API int +libssh2_agent_list_identities(LIBSSH2_AGENT *agent); + +/* + * libssh2_agent_get_identity() + * + * Traverse the internal list of public keys. Pass NULL to 'prev' to get + * the first one. Or pass a pointer to the previously returned one to get the + * next. + * + * Returns: + * 0 if a fine public key was stored in 'store' + * 1 if end of public keys + * [negative] on errors + */ +LIBSSH2_API int +libssh2_agent_get_identity(LIBSSH2_AGENT *agent, + struct libssh2_agent_publickey **store, + struct libssh2_agent_publickey *prev); + +/* + * libssh2_agent_userauth() + * + * Do publickey user authentication with the help of ssh-agent. + * + * Returns 0 if succeeded, or a negative value for error. + */ +LIBSSH2_API int +libssh2_agent_userauth(LIBSSH2_AGENT *agent, + const char *username, + struct libssh2_agent_publickey *identity); + +/* + * libssh2_agent_sign() + * + * Sign a payload using a system-installed ssh-agent. + * + * Returns 0 if succeeded, or a negative value for error. + */ +LIBSSH2_API int +libssh2_agent_sign(LIBSSH2_AGENT *agent, + struct libssh2_agent_publickey *identity, + unsigned char **sig, + size_t *s_len, + const unsigned char *data, + size_t d_len, + const char *method, + unsigned int method_len); + +/* + * libssh2_agent_disconnect() + * + * Close a connection to an ssh-agent. + * + * Returns 0 if succeeded, or a negative value for error. + */ +LIBSSH2_API int +libssh2_agent_disconnect(LIBSSH2_AGENT *agent); + +/* + * libssh2_agent_free() + * + * Free an ssh-agent handle. This function also frees the internal + * collection of public keys. + */ +LIBSSH2_API void +libssh2_agent_free(LIBSSH2_AGENT *agent); + +/* + * libssh2_agent_set_identity_path() + * + * Allows a custom agent identity socket path beyond SSH_AUTH_SOCK env + * + */ +LIBSSH2_API void +libssh2_agent_set_identity_path(LIBSSH2_AGENT *agent, + const char *path); + +/* + * libssh2_agent_get_identity_path() + * + * Returns the custom agent identity socket path if set + * + */ +LIBSSH2_API const char * +libssh2_agent_get_identity_path(LIBSSH2_AGENT *agent); + +/* + * libssh2_keepalive_config() + * + * Set how often keepalive messages should be sent. WANT_REPLY + * indicates whether the keepalive messages should request a response + * from the server. INTERVAL is number of seconds that can pass + * without any I/O, use 0 (the default) to disable keepalives. To + * avoid some busy-loop corner-cases, if you specify an interval of 1 + * it will be treated as 2. + * + * Note that non-blocking applications are responsible for sending the + * keepalive messages using libssh2_keepalive_send(). + */ +LIBSSH2_API void libssh2_keepalive_config(LIBSSH2_SESSION *session, + int want_reply, + unsigned int interval); + +/* + * libssh2_keepalive_send() + * + * Send a keepalive message if needed. SECONDS_TO_NEXT indicates how + * many seconds you can sleep after this call before you need to call + * it again. Returns 0 on success, or LIBSSH2_ERROR_SOCKET_SEND on + * I/O errors. + */ +LIBSSH2_API int libssh2_keepalive_send(LIBSSH2_SESSION *session, + int *seconds_to_next); + +/* NOTE NOTE NOTE + libssh2_trace() has no function in builds that aren't built with debug + enabled + */ +LIBSSH2_API int libssh2_trace(LIBSSH2_SESSION *session, int bitmask); +#define LIBSSH2_TRACE_TRANS (1<<1) +#define LIBSSH2_TRACE_KEX (1<<2) +#define LIBSSH2_TRACE_AUTH (1<<3) +#define LIBSSH2_TRACE_CONN (1<<4) +#define LIBSSH2_TRACE_SCP (1<<5) +#define LIBSSH2_TRACE_SFTP (1<<6) +#define LIBSSH2_TRACE_ERROR (1<<7) +#define LIBSSH2_TRACE_PUBLICKEY (1<<8) +#define LIBSSH2_TRACE_SOCKET (1<<9) + +typedef void (*libssh2_trace_handler_func)(LIBSSH2_SESSION*, + void *, + const char *, + size_t); +LIBSSH2_API int libssh2_trace_sethandler(LIBSSH2_SESSION *session, + void *context, + libssh2_trace_handler_func callback); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* !RC_INVOKED */ + +#endif /* LIBSSH2_H */ diff --git a/curl/include/libssh2_publickey.h b/curl/include/libssh2_publickey.h new file mode 100644 index 0000000..566acd6 --- /dev/null +++ b/curl/include/libssh2_publickey.h @@ -0,0 +1,128 @@ +/* Copyright (C) Sara Golemon + * All rights reserved. + * + * Redistribution and use in source and binary forms, + * with or without modification, are permitted provided + * that the following conditions are met: + * + * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * + * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the copyright holder nor the names + * of any other contributors may be used to endorse or + * promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +/* Note: This include file is only needed for using the + * publickey SUBSYSTEM which is not the same as publickey + * authentication. For authentication you only need libssh2.h + * + * For more information on the publickey subsystem, + * refer to IETF draft: secsh-publickey + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef LIBSSH2_PUBLICKEY_H +#define LIBSSH2_PUBLICKEY_H 1 + +#include "libssh2.h" + +typedef struct _LIBSSH2_PUBLICKEY LIBSSH2_PUBLICKEY; + +typedef struct _libssh2_publickey_attribute { + const char *name; + unsigned long name_len; + const char *value; + unsigned long value_len; + char mandatory; +} libssh2_publickey_attribute; + +typedef struct _libssh2_publickey_list { + unsigned char *packet; /* For freeing */ + + const unsigned char *name; + unsigned long name_len; + const unsigned char *blob; + unsigned long blob_len; + unsigned long num_attrs; + libssh2_publickey_attribute *attrs; /* free me */ +} libssh2_publickey_list; + +/* Generally use the first macro here, but if both name and value are string + literals, you can use _fast() to take advantage of preprocessing */ +#define libssh2_publickey_attribute(name, value, mandatory) \ + { (name), strlen(name), (value), strlen(value), (mandatory) }, +#define libssh2_publickey_attribute_fast(name, value, mandatory) \ + { (name), sizeof(name) - 1, (value), sizeof(value) - 1, (mandatory) }, + +#ifdef __cplusplus +extern "C" { +#endif + +/* Publickey Subsystem */ +LIBSSH2_API LIBSSH2_PUBLICKEY * +libssh2_publickey_init(LIBSSH2_SESSION *session); + +LIBSSH2_API int +libssh2_publickey_add_ex(LIBSSH2_PUBLICKEY *pkey, + const unsigned char *name, + unsigned long name_len, + const unsigned char *blob, + unsigned long blob_len, char overwrite, + unsigned long num_attrs, + const libssh2_publickey_attribute attrs[]); +#define libssh2_publickey_add(pkey, name, blob, blob_len, overwrite, \ + num_attrs, attrs) \ + libssh2_publickey_add_ex((pkey), \ + (name), strlen(name), \ + (blob), (blob_len), \ + (overwrite), (num_attrs), (attrs)) + +LIBSSH2_API int libssh2_publickey_remove_ex(LIBSSH2_PUBLICKEY *pkey, + const unsigned char *name, + unsigned long name_len, + const unsigned char *blob, + unsigned long blob_len); +#define libssh2_publickey_remove(pkey, name, blob, blob_len) \ + libssh2_publickey_remove_ex((pkey), \ + (name), strlen(name), \ + (blob), (blob_len)) + +LIBSSH2_API int +libssh2_publickey_list_fetch(LIBSSH2_PUBLICKEY *pkey, + unsigned long *num_keys, + libssh2_publickey_list **pkey_list); +LIBSSH2_API void +libssh2_publickey_list_free(LIBSSH2_PUBLICKEY *pkey, + libssh2_publickey_list *pkey_list); + +LIBSSH2_API int libssh2_publickey_shutdown(LIBSSH2_PUBLICKEY *pkey); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* LIBSSH2_PUBLICKEY_H */ diff --git a/curl/include/libssh2_sftp.h b/curl/include/libssh2_sftp.h new file mode 100644 index 0000000..ab7b0af --- /dev/null +++ b/curl/include/libssh2_sftp.h @@ -0,0 +1,382 @@ +/* Copyright (C) Sara Golemon + * All rights reserved. + * + * Redistribution and use in source and binary forms, + * with or without modification, are permitted provided + * that the following conditions are met: + * + * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * + * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the copyright holder nor the names + * of any other contributors may be used to endorse or + * promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef LIBSSH2_SFTP_H +#define LIBSSH2_SFTP_H 1 + +#include "libssh2.h" + +#ifndef _WIN32 +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Note: Version 6 was documented at the time of writing + * However it was marked as "DO NOT IMPLEMENT" due to pending changes + * + * Let's start with Version 3 (The version found in OpenSSH) and go from there + */ +#define LIBSSH2_SFTP_VERSION 3 + +typedef struct _LIBSSH2_SFTP LIBSSH2_SFTP; +typedef struct _LIBSSH2_SFTP_HANDLE LIBSSH2_SFTP_HANDLE; +typedef struct _LIBSSH2_SFTP_ATTRIBUTES LIBSSH2_SFTP_ATTRIBUTES; +typedef struct _LIBSSH2_SFTP_STATVFS LIBSSH2_SFTP_STATVFS; + +/* Flags for open_ex() */ +#define LIBSSH2_SFTP_OPENFILE 0 +#define LIBSSH2_SFTP_OPENDIR 1 + +/* Flags for rename_ex() */ +#define LIBSSH2_SFTP_RENAME_OVERWRITE 0x00000001 +#define LIBSSH2_SFTP_RENAME_ATOMIC 0x00000002 +#define LIBSSH2_SFTP_RENAME_NATIVE 0x00000004 + +/* Flags for stat_ex() */ +#define LIBSSH2_SFTP_STAT 0 +#define LIBSSH2_SFTP_LSTAT 1 +#define LIBSSH2_SFTP_SETSTAT 2 + +/* Flags for symlink_ex() */ +#define LIBSSH2_SFTP_SYMLINK 0 +#define LIBSSH2_SFTP_READLINK 1 +#define LIBSSH2_SFTP_REALPATH 2 + +/* Flags for sftp_mkdir() */ +#define LIBSSH2_SFTP_DEFAULT_MODE -1 + +/* SFTP attribute flag bits */ +#define LIBSSH2_SFTP_ATTR_SIZE 0x00000001 +#define LIBSSH2_SFTP_ATTR_UIDGID 0x00000002 +#define LIBSSH2_SFTP_ATTR_PERMISSIONS 0x00000004 +#define LIBSSH2_SFTP_ATTR_ACMODTIME 0x00000008 +#define LIBSSH2_SFTP_ATTR_EXTENDED 0x80000000 + +/* SFTP statvfs flag bits */ +#define LIBSSH2_SFTP_ST_RDONLY 0x00000001 +#define LIBSSH2_SFTP_ST_NOSUID 0x00000002 + +struct _LIBSSH2_SFTP_ATTRIBUTES { + /* If flags & ATTR_* bit is set, then the value in this struct will be + * meaningful Otherwise it should be ignored + */ + unsigned long flags; + + libssh2_uint64_t filesize; + unsigned long uid, gid; + unsigned long permissions; + unsigned long atime, mtime; +}; + +struct _LIBSSH2_SFTP_STATVFS { + libssh2_uint64_t f_bsize; /* file system block size */ + libssh2_uint64_t f_frsize; /* fragment size */ + libssh2_uint64_t f_blocks; /* size of fs in f_frsize units */ + libssh2_uint64_t f_bfree; /* # free blocks */ + libssh2_uint64_t f_bavail; /* # free blocks for non-root */ + libssh2_uint64_t f_files; /* # inodes */ + libssh2_uint64_t f_ffree; /* # free inodes */ + libssh2_uint64_t f_favail; /* # free inodes for non-root */ + libssh2_uint64_t f_fsid; /* file system ID */ + libssh2_uint64_t f_flag; /* mount flags */ + libssh2_uint64_t f_namemax; /* maximum filename length */ +}; + +/* SFTP filetypes */ +#define LIBSSH2_SFTP_TYPE_REGULAR 1 +#define LIBSSH2_SFTP_TYPE_DIRECTORY 2 +#define LIBSSH2_SFTP_TYPE_SYMLINK 3 +#define LIBSSH2_SFTP_TYPE_SPECIAL 4 +#define LIBSSH2_SFTP_TYPE_UNKNOWN 5 +#define LIBSSH2_SFTP_TYPE_SOCKET 6 +#define LIBSSH2_SFTP_TYPE_CHAR_DEVICE 7 +#define LIBSSH2_SFTP_TYPE_BLOCK_DEVICE 8 +#define LIBSSH2_SFTP_TYPE_FIFO 9 + +/* + * Reproduce the POSIX file modes here for systems that are not POSIX + * compliant. + * + * These is used in "permissions" of "struct _LIBSSH2_SFTP_ATTRIBUTES" + */ +/* File type */ +#define LIBSSH2_SFTP_S_IFMT 0170000 /* type of file mask */ +#define LIBSSH2_SFTP_S_IFIFO 0010000 /* named pipe (fifo) */ +#define LIBSSH2_SFTP_S_IFCHR 0020000 /* character special */ +#define LIBSSH2_SFTP_S_IFDIR 0040000 /* directory */ +#define LIBSSH2_SFTP_S_IFBLK 0060000 /* block special */ +#define LIBSSH2_SFTP_S_IFREG 0100000 /* regular */ +#define LIBSSH2_SFTP_S_IFLNK 0120000 /* symbolic link */ +#define LIBSSH2_SFTP_S_IFSOCK 0140000 /* socket */ + +/* File mode */ +/* Read, write, execute/search by owner */ +#define LIBSSH2_SFTP_S_IRWXU 0000700 /* RWX mask for owner */ +#define LIBSSH2_SFTP_S_IRUSR 0000400 /* R for owner */ +#define LIBSSH2_SFTP_S_IWUSR 0000200 /* W for owner */ +#define LIBSSH2_SFTP_S_IXUSR 0000100 /* X for owner */ +/* Read, write, execute/search by group */ +#define LIBSSH2_SFTP_S_IRWXG 0000070 /* RWX mask for group */ +#define LIBSSH2_SFTP_S_IRGRP 0000040 /* R for group */ +#define LIBSSH2_SFTP_S_IWGRP 0000020 /* W for group */ +#define LIBSSH2_SFTP_S_IXGRP 0000010 /* X for group */ +/* Read, write, execute/search by others */ +#define LIBSSH2_SFTP_S_IRWXO 0000007 /* RWX mask for other */ +#define LIBSSH2_SFTP_S_IROTH 0000004 /* R for other */ +#define LIBSSH2_SFTP_S_IWOTH 0000002 /* W for other */ +#define LIBSSH2_SFTP_S_IXOTH 0000001 /* X for other */ + +/* macros to check for specific file types, added in 1.2.5 */ +#define LIBSSH2_SFTP_S_ISLNK(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFLNK) +#define LIBSSH2_SFTP_S_ISREG(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFREG) +#define LIBSSH2_SFTP_S_ISDIR(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFDIR) +#define LIBSSH2_SFTP_S_ISCHR(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFCHR) +#define LIBSSH2_SFTP_S_ISBLK(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFBLK) +#define LIBSSH2_SFTP_S_ISFIFO(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFIFO) +#define LIBSSH2_SFTP_S_ISSOCK(m) \ + (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFSOCK) + +/* SFTP File Transfer Flags -- (e.g. flags parameter to sftp_open()) + * Danger will robinson... APPEND doesn't have any effect on OpenSSH servers */ +#define LIBSSH2_FXF_READ 0x00000001 +#define LIBSSH2_FXF_WRITE 0x00000002 +#define LIBSSH2_FXF_APPEND 0x00000004 +#define LIBSSH2_FXF_CREAT 0x00000008 +#define LIBSSH2_FXF_TRUNC 0x00000010 +#define LIBSSH2_FXF_EXCL 0x00000020 + +/* SFTP Status Codes (returned by libssh2_sftp_last_error() ) */ +#define LIBSSH2_FX_OK 0UL +#define LIBSSH2_FX_EOF 1UL +#define LIBSSH2_FX_NO_SUCH_FILE 2UL +#define LIBSSH2_FX_PERMISSION_DENIED 3UL +#define LIBSSH2_FX_FAILURE 4UL +#define LIBSSH2_FX_BAD_MESSAGE 5UL +#define LIBSSH2_FX_NO_CONNECTION 6UL +#define LIBSSH2_FX_CONNECTION_LOST 7UL +#define LIBSSH2_FX_OP_UNSUPPORTED 8UL +#define LIBSSH2_FX_INVALID_HANDLE 9UL +#define LIBSSH2_FX_NO_SUCH_PATH 10UL +#define LIBSSH2_FX_FILE_ALREADY_EXISTS 11UL +#define LIBSSH2_FX_WRITE_PROTECT 12UL +#define LIBSSH2_FX_NO_MEDIA 13UL +#define LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM 14UL +#define LIBSSH2_FX_QUOTA_EXCEEDED 15UL +#define LIBSSH2_FX_UNKNOWN_PRINCIPLE 16UL /* Initial mis-spelling */ +#define LIBSSH2_FX_UNKNOWN_PRINCIPAL 16UL +#define LIBSSH2_FX_LOCK_CONFlICT 17UL /* Initial mis-spelling */ +#define LIBSSH2_FX_LOCK_CONFLICT 17UL +#define LIBSSH2_FX_DIR_NOT_EMPTY 18UL +#define LIBSSH2_FX_NOT_A_DIRECTORY 19UL +#define LIBSSH2_FX_INVALID_FILENAME 20UL +#define LIBSSH2_FX_LINK_LOOP 21UL + +/* Returned by any function that would block during a read/write operation */ +#define LIBSSH2SFTP_EAGAIN LIBSSH2_ERROR_EAGAIN + +/* SFTP API */ +LIBSSH2_API LIBSSH2_SFTP *libssh2_sftp_init(LIBSSH2_SESSION *session); +LIBSSH2_API int libssh2_sftp_shutdown(LIBSSH2_SFTP *sftp); +LIBSSH2_API unsigned long libssh2_sftp_last_error(LIBSSH2_SFTP *sftp); +LIBSSH2_API LIBSSH2_CHANNEL *libssh2_sftp_get_channel(LIBSSH2_SFTP *sftp); + +/* File / Directory Ops */ +LIBSSH2_API LIBSSH2_SFTP_HANDLE * +libssh2_sftp_open_ex(LIBSSH2_SFTP *sftp, + const char *filename, + unsigned int filename_len, + unsigned long flags, + long mode, int open_type); +#define libssh2_sftp_open(sftp, filename, flags, mode) \ + libssh2_sftp_open_ex((sftp), \ + (filename), (unsigned int)strlen(filename), \ + (flags), (mode), LIBSSH2_SFTP_OPENFILE) +#define libssh2_sftp_opendir(sftp, path) \ + libssh2_sftp_open_ex((sftp), \ + (path), (unsigned int)strlen(path), \ + 0, 0, LIBSSH2_SFTP_OPENDIR) +LIBSSH2_API LIBSSH2_SFTP_HANDLE * +libssh2_sftp_open_ex_r(LIBSSH2_SFTP *sftp, + const char *filename, + size_t filename_len, + unsigned long flags, + long mode, int open_type, + LIBSSH2_SFTP_ATTRIBUTES *attrs); +#define libssh2_sftp_open_r(sftp, filename, flags, mode, attrs) \ + libssh2_sftp_open_ex_r((sftp), (filename), strlen(filename), \ + (flags), (mode), LIBSSH2_SFTP_OPENFILE, \ + (attrs)) + +LIBSSH2_API ssize_t libssh2_sftp_read(LIBSSH2_SFTP_HANDLE *handle, + char *buffer, size_t buffer_maxlen); + +LIBSSH2_API int libssh2_sftp_readdir_ex(LIBSSH2_SFTP_HANDLE *handle, \ + char *buffer, size_t buffer_maxlen, + char *longentry, + size_t longentry_maxlen, + LIBSSH2_SFTP_ATTRIBUTES *attrs); +#define libssh2_sftp_readdir(handle, buffer, buffer_maxlen, attrs) \ + libssh2_sftp_readdir_ex((handle), (buffer), (buffer_maxlen), NULL, 0, \ + (attrs)) + +LIBSSH2_API ssize_t libssh2_sftp_write(LIBSSH2_SFTP_HANDLE *handle, + const char *buffer, size_t count); +LIBSSH2_API int libssh2_sftp_fsync(LIBSSH2_SFTP_HANDLE *handle); + +LIBSSH2_API int libssh2_sftp_close_handle(LIBSSH2_SFTP_HANDLE *handle); +#define libssh2_sftp_close(handle) libssh2_sftp_close_handle(handle) +#define libssh2_sftp_closedir(handle) libssh2_sftp_close_handle(handle) + +LIBSSH2_API void libssh2_sftp_seek(LIBSSH2_SFTP_HANDLE *handle, size_t offset); +LIBSSH2_API void libssh2_sftp_seek64(LIBSSH2_SFTP_HANDLE *handle, + libssh2_uint64_t offset); +#define libssh2_sftp_rewind(handle) libssh2_sftp_seek64((handle), 0) + +LIBSSH2_API size_t libssh2_sftp_tell(LIBSSH2_SFTP_HANDLE *handle); +LIBSSH2_API libssh2_uint64_t libssh2_sftp_tell64(LIBSSH2_SFTP_HANDLE *handle); + +LIBSSH2_API int libssh2_sftp_fstat_ex(LIBSSH2_SFTP_HANDLE *handle, + LIBSSH2_SFTP_ATTRIBUTES *attrs, + int setstat); +#define libssh2_sftp_fstat(handle, attrs) \ + libssh2_sftp_fstat_ex((handle), (attrs), 0) +#define libssh2_sftp_fsetstat(handle, attrs) \ + libssh2_sftp_fstat_ex((handle), (attrs), 1) + +/* Miscellaneous Ops */ +LIBSSH2_API int libssh2_sftp_rename_ex(LIBSSH2_SFTP *sftp, + const char *source_filename, + unsigned int srouce_filename_len, + const char *dest_filename, + unsigned int dest_filename_len, + long flags); +#define libssh2_sftp_rename(sftp, sourcefile, destfile) \ + libssh2_sftp_rename_ex((sftp), \ + (sourcefile), (unsigned int)strlen(sourcefile), \ + (destfile), (unsigned int)strlen(destfile), \ + LIBSSH2_SFTP_RENAME_OVERWRITE | \ + LIBSSH2_SFTP_RENAME_ATOMIC | \ + LIBSSH2_SFTP_RENAME_NATIVE) + +LIBSSH2_API int libssh2_sftp_posix_rename_ex(LIBSSH2_SFTP *sftp, + const char *source_filename, + size_t srouce_filename_len, + const char *dest_filename, + size_t dest_filename_len); +#define libssh2_sftp_posix_rename(sftp, sourcefile, destfile) \ + libssh2_sftp_posix_rename_ex((sftp), (sourcefile), strlen(sourcefile), \ + (destfile), strlen(destfile)) + +LIBSSH2_API int libssh2_sftp_unlink_ex(LIBSSH2_SFTP *sftp, + const char *filename, + unsigned int filename_len); +#define libssh2_sftp_unlink(sftp, filename) \ + libssh2_sftp_unlink_ex((sftp), (filename), (unsigned int)strlen(filename)) + +LIBSSH2_API int libssh2_sftp_fstatvfs(LIBSSH2_SFTP_HANDLE *handle, + LIBSSH2_SFTP_STATVFS *st); + +LIBSSH2_API int libssh2_sftp_statvfs(LIBSSH2_SFTP *sftp, + const char *path, + size_t path_len, + LIBSSH2_SFTP_STATVFS *st); + +LIBSSH2_API int libssh2_sftp_mkdir_ex(LIBSSH2_SFTP *sftp, + const char *path, + unsigned int path_len, long mode); +#define libssh2_sftp_mkdir(sftp, path, mode) \ + libssh2_sftp_mkdir_ex((sftp), (path), (unsigned int)strlen(path), (mode)) + +LIBSSH2_API int libssh2_sftp_rmdir_ex(LIBSSH2_SFTP *sftp, + const char *path, + unsigned int path_len); +#define libssh2_sftp_rmdir(sftp, path) \ + libssh2_sftp_rmdir_ex((sftp), (path), (unsigned int)strlen(path)) + +LIBSSH2_API int libssh2_sftp_stat_ex(LIBSSH2_SFTP *sftp, + const char *path, + unsigned int path_len, + int stat_type, + LIBSSH2_SFTP_ATTRIBUTES *attrs); +#define libssh2_sftp_stat(sftp, path, attrs) \ + libssh2_sftp_stat_ex((sftp), (path), (unsigned int)strlen(path), \ + LIBSSH2_SFTP_STAT, (attrs)) +#define libssh2_sftp_lstat(sftp, path, attrs) \ + libssh2_sftp_stat_ex((sftp), (path), (unsigned int)strlen(path), \ + LIBSSH2_SFTP_LSTAT, (attrs)) +#define libssh2_sftp_setstat(sftp, path, attrs) \ + libssh2_sftp_stat_ex((sftp), (path), (unsigned int)strlen(path), \ + LIBSSH2_SFTP_SETSTAT, (attrs)) + +LIBSSH2_API int libssh2_sftp_symlink_ex(LIBSSH2_SFTP *sftp, + const char *path, + unsigned int path_len, + char *target, + unsigned int target_len, + int link_type); +#define libssh2_sftp_symlink(sftp, orig, linkpath) \ + libssh2_sftp_symlink_ex((sftp), \ + (orig), (unsigned int)strlen(orig), \ + (linkpath), (unsigned int)strlen(linkpath), \ + LIBSSH2_SFTP_SYMLINK) +#define libssh2_sftp_readlink(sftp, path, target, maxlen) \ + libssh2_sftp_symlink_ex((sftp), \ + (path), (unsigned int)strlen(path), \ + (target), (maxlen), \ + LIBSSH2_SFTP_READLINK) +#define libssh2_sftp_realpath(sftp, path, target, maxlen) \ + libssh2_sftp_symlink_ex((sftp), \ + (path), (unsigned int)strlen(path), \ + (target), (maxlen), \ + LIBSSH2_SFTP_REALPATH) + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* LIBSSH2_SFTP_H */ diff --git a/curl/include/nghttp2/nghttp2.h b/curl/include/nghttp2/nghttp2.h new file mode 100644 index 0000000..3d91af5 --- /dev/null +++ b/curl/include/nghttp2/nghttp2.h @@ -0,0 +1,6838 @@ +/* + * nghttp2 - HTTP/2 C Library + * + * Copyright (c) 2013, 2014 Tatsuhiro Tsujikawa + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGHTTP2_H +#define NGHTTP2_H + +/* Define WIN32 when build target is Win32 API (borrowed from + libcurl) */ +#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) +# define WIN32 +#endif + +/* Compatibility for non-Clang compilers */ +#ifndef __has_declspec_attribute +# define __has_declspec_attribute(x) 0 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if defined(_MSC_VER) && (_MSC_VER < 1800) +/* MSVC < 2013 does not have inttypes.h because it is not C99 + compliant. See compiler macros and version number in + https://sourceforge.net/p/predef/wiki/Compilers/ */ +# include +#else /* !defined(_MSC_VER) || (_MSC_VER >= 1800) */ +# include +#endif /* !defined(_MSC_VER) || (_MSC_VER >= 1800) */ +#include +#include +#include + +#include + +#ifdef NGHTTP2_STATICLIB +# define NGHTTP2_EXTERN +#elif defined(WIN32) || \ + (__has_declspec_attribute(dllexport) && __has_declspec_attribute(dllimport)) +# ifdef BUILDING_NGHTTP2 +# define NGHTTP2_EXTERN __declspec(dllexport) +# else /* !BUILDING_NGHTTP2 */ +# define NGHTTP2_EXTERN __declspec(dllimport) +# endif /* !BUILDING_NGHTTP2 */ +#else /* !defined(WIN32) */ +# ifdef BUILDING_NGHTTP2 +# define NGHTTP2_EXTERN __attribute__((visibility("default"))) +# else /* !BUILDING_NGHTTP2 */ +# define NGHTTP2_EXTERN +# endif /* !BUILDING_NGHTTP2 */ +#endif /* !defined(WIN32) */ + +#ifdef BUILDING_NGHTTP2 +# undef NGHTTP2_NO_SSIZE_T +#endif /* BUILDING_NGHTTP2 */ + +/** + * @typedef + * + * :type:`nghttp2_ssize` is a signed counterpart of size_t. + */ +typedef ptrdiff_t nghttp2_ssize; + +/** + * @macro + * + * The protocol version identification string of this library + * supports. This identifier is used if HTTP/2 is used over TLS. + */ +#define NGHTTP2_PROTO_VERSION_ID "h2" +/** + * @macro + * + * The length of :macro:`NGHTTP2_PROTO_VERSION_ID`. + */ +#define NGHTTP2_PROTO_VERSION_ID_LEN 2 + +/** + * @macro + * + * The serialized form of ALPN protocol identifier this library + * supports. Notice that first byte is the length of following + * protocol identifier. This is the same wire format of `TLS ALPN + * extension `_. This is useful + * to process incoming ALPN tokens in wire format. + */ +#define NGHTTP2_PROTO_ALPN "\x2h2" + +/** + * @macro + * + * The length of :macro:`NGHTTP2_PROTO_ALPN`. + */ +#define NGHTTP2_PROTO_ALPN_LEN (sizeof(NGHTTP2_PROTO_ALPN) - 1) + +/** + * @macro + * + * The protocol version identification string of this library + * supports. This identifier is used if HTTP/2 is used over cleartext + * TCP. + */ +#define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID "h2c" + +/** + * @macro + * + * The length of :macro:`NGHTTP2_CLEARTEXT_PROTO_VERSION_ID`. + */ +#define NGHTTP2_CLEARTEXT_PROTO_VERSION_ID_LEN 3 + +struct nghttp2_session; +/** + * @struct + * + * The primary structure to hold the resources needed for a HTTP/2 + * session. The details of this structure are intentionally hidden + * from the public API. + */ +typedef struct nghttp2_session nghttp2_session; + +/** + * @macro + * + * The age of :type:`nghttp2_info` + */ +#define NGHTTP2_VERSION_AGE 1 + +/** + * @struct + * + * This struct is what `nghttp2_version()` returns. It holds + * information about the particular nghttp2 version. + */ +typedef struct { + /** + * Age of this struct. This instance of nghttp2 sets it to + * :macro:`NGHTTP2_VERSION_AGE` but a future version may bump it and + * add more struct fields at the bottom + */ + int age; + /** + * the :macro:`NGHTTP2_VERSION_NUM` number (since age ==1) + */ + int version_num; + /** + * points to the :macro:`NGHTTP2_VERSION` string (since age ==1) + */ + const char *version_str; + /** + * points to the :macro:`NGHTTP2_PROTO_VERSION_ID` string this + * instance implements (since age ==1) + */ + const char *proto_str; + /* -------- the above fields all exist when age == 1 */ +} nghttp2_info; + +/** + * @macro + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * The default weight of stream dependency. + */ +#define NGHTTP2_DEFAULT_WEIGHT 16 + +/** + * @macro + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * The maximum weight of stream dependency. + */ +#define NGHTTP2_MAX_WEIGHT 256 + +/** + * @macro + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * The minimum weight of stream dependency. + */ +#define NGHTTP2_MIN_WEIGHT 1 + +/** + * @macro + * + * The maximum window size + */ +#define NGHTTP2_MAX_WINDOW_SIZE ((int32_t)((1U << 31) - 1)) + +/** + * @macro + * + * The initial window size for stream level flow control. + */ +#define NGHTTP2_INITIAL_WINDOW_SIZE ((1 << 16) - 1) +/** + * @macro + * + * The initial window size for connection level flow control. + */ +#define NGHTTP2_INITIAL_CONNECTION_WINDOW_SIZE ((1 << 16) - 1) + +/** + * @macro + * + * The default header table size. + */ +#define NGHTTP2_DEFAULT_HEADER_TABLE_SIZE (1 << 12) + +/** + * @macro + * + * The client magic string, which is the first 24 bytes byte string of + * client connection preface. + */ +#define NGHTTP2_CLIENT_MAGIC "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" + +/** + * @macro + * + * The length of :macro:`NGHTTP2_CLIENT_MAGIC`. + */ +#define NGHTTP2_CLIENT_MAGIC_LEN 24 + +/** + * @macro + * + * The default max number of settings per SETTINGS frame + */ +#define NGHTTP2_DEFAULT_MAX_SETTINGS 32 + +/** + * @enum + * + * Error codes used in this library. The code range is [-999, -500], + * inclusive. The following values are defined: + */ +typedef enum { + /** + * Invalid argument passed. + */ + NGHTTP2_ERR_INVALID_ARGUMENT = -501, + /** + * Out of buffer space. + */ + NGHTTP2_ERR_BUFFER_ERROR = -502, + /** + * The specified protocol version is not supported. + */ + NGHTTP2_ERR_UNSUPPORTED_VERSION = -503, + /** + * Used as a return value from :type:`nghttp2_send_callback2`, + * :type:`nghttp2_recv_callback` and + * :type:`nghttp2_send_data_callback` to indicate that the operation + * would block. + */ + NGHTTP2_ERR_WOULDBLOCK = -504, + /** + * General protocol error + */ + NGHTTP2_ERR_PROTO = -505, + /** + * The frame is invalid. + */ + NGHTTP2_ERR_INVALID_FRAME = -506, + /** + * The peer performed a shutdown on the connection. + */ + NGHTTP2_ERR_EOF = -507, + /** + * Used as a return value from + * :func:`nghttp2_data_source_read_callback2` to indicate that data + * transfer is postponed. See + * :func:`nghttp2_data_source_read_callback2` for details. + */ + NGHTTP2_ERR_DEFERRED = -508, + /** + * Stream ID has reached the maximum value. Therefore no stream ID + * is available. + */ + NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE = -509, + /** + * The stream is already closed; or the stream ID is invalid. + */ + NGHTTP2_ERR_STREAM_CLOSED = -510, + /** + * RST_STREAM has been added to the outbound queue. The stream is + * in closing state. + */ + NGHTTP2_ERR_STREAM_CLOSING = -511, + /** + * The transmission is not allowed for this stream (e.g., a frame + * with END_STREAM flag set has already sent). + */ + NGHTTP2_ERR_STREAM_SHUT_WR = -512, + /** + * The stream ID is invalid. + */ + NGHTTP2_ERR_INVALID_STREAM_ID = -513, + /** + * The state of the stream is not valid (e.g., DATA cannot be sent + * to the stream if response HEADERS has not been sent). + */ + NGHTTP2_ERR_INVALID_STREAM_STATE = -514, + /** + * Another DATA frame has already been deferred. + */ + NGHTTP2_ERR_DEFERRED_DATA_EXIST = -515, + /** + * Starting new stream is not allowed (e.g., GOAWAY has been sent + * and/or received). + */ + NGHTTP2_ERR_START_STREAM_NOT_ALLOWED = -516, + /** + * GOAWAY has already been sent. + */ + NGHTTP2_ERR_GOAWAY_ALREADY_SENT = -517, + /** + * The received frame contains the invalid header block (e.g., There + * are duplicate header names; or the header names are not encoded + * in US-ASCII character set and not lower cased; or the header name + * is zero-length string; or the header value contains multiple + * in-sequence NUL bytes). + */ + NGHTTP2_ERR_INVALID_HEADER_BLOCK = -518, + /** + * Indicates that the context is not suitable to perform the + * requested operation. + */ + NGHTTP2_ERR_INVALID_STATE = -519, + /** + * The user callback function failed due to the temporal error. + */ + NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE = -521, + /** + * The length of the frame is invalid, either too large or too small. + */ + NGHTTP2_ERR_FRAME_SIZE_ERROR = -522, + /** + * Header block inflate/deflate error. + */ + NGHTTP2_ERR_HEADER_COMP = -523, + /** + * Flow control error + */ + NGHTTP2_ERR_FLOW_CONTROL = -524, + /** + * Insufficient buffer size given to function. + */ + NGHTTP2_ERR_INSUFF_BUFSIZE = -525, + /** + * Callback was paused by the application + */ + NGHTTP2_ERR_PAUSE = -526, + /** + * There are too many in-flight SETTING frame and no more + * transmission of SETTINGS is allowed. + */ + NGHTTP2_ERR_TOO_MANY_INFLIGHT_SETTINGS = -527, + /** + * The server push is disabled. + */ + NGHTTP2_ERR_PUSH_DISABLED = -528, + /** + * DATA or HEADERS frame for a given stream has been already + * submitted and has not been fully processed yet. Application + * should wait for the transmission of the previously submitted + * frame before submitting another. + */ + NGHTTP2_ERR_DATA_EXIST = -529, + /** + * The current session is closing due to a connection error or + * `nghttp2_session_terminate_session()` is called. + */ + NGHTTP2_ERR_SESSION_CLOSING = -530, + /** + * Invalid HTTP header field was received and stream is going to be + * closed. + */ + NGHTTP2_ERR_HTTP_HEADER = -531, + /** + * Violation in HTTP messaging rule. + */ + NGHTTP2_ERR_HTTP_MESSAGING = -532, + /** + * Stream was refused. + */ + NGHTTP2_ERR_REFUSED_STREAM = -533, + /** + * Unexpected internal error, but recovered. + */ + NGHTTP2_ERR_INTERNAL = -534, + /** + * Indicates that a processing was canceled. + */ + NGHTTP2_ERR_CANCEL = -535, + /** + * When a local endpoint expects to receive SETTINGS frame, it + * receives an other type of frame. + */ + NGHTTP2_ERR_SETTINGS_EXPECTED = -536, + /** + * When a local endpoint receives too many settings entries + * in a single SETTINGS frame. + */ + NGHTTP2_ERR_TOO_MANY_SETTINGS = -537, + /** + * The errors < :enum:`nghttp2_error.NGHTTP2_ERR_FATAL` mean that + * the library is under unexpected condition and processing was + * terminated (e.g., out of memory). If application receives this + * error code, it must stop using that :type:`nghttp2_session` + * object and only allowed operation for that object is deallocate + * it using `nghttp2_session_del()`. + */ + NGHTTP2_ERR_FATAL = -900, + /** + * Out of memory. This is a fatal error. + */ + NGHTTP2_ERR_NOMEM = -901, + /** + * The user callback function failed. This is a fatal error. + */ + NGHTTP2_ERR_CALLBACK_FAILURE = -902, + /** + * Invalid client magic (see :macro:`NGHTTP2_CLIENT_MAGIC`) was + * received and further processing is not possible. + */ + NGHTTP2_ERR_BAD_CLIENT_MAGIC = -903, + /** + * Possible flooding by peer was detected in this HTTP/2 session. + * Flooding is measured by how many PING and SETTINGS frames with + * ACK flag set are queued for transmission. These frames are + * response for the peer initiated frames, and peer can cause memory + * exhaustion on server side to send these frames forever and does + * not read network. + */ + NGHTTP2_ERR_FLOODED = -904, + /** + * When a local endpoint receives too many CONTINUATION frames + * following a HEADER frame. + */ + NGHTTP2_ERR_TOO_MANY_CONTINUATIONS = -905, +} nghttp2_error; + +/** + * @struct + * + * The object representing single contiguous buffer. + */ +typedef struct { + /** + * The pointer to the buffer. + */ + uint8_t *base; + /** + * The length of the buffer. + */ + size_t len; +} nghttp2_vec; + +struct nghttp2_rcbuf; + +/** + * @struct + * + * The object representing reference counted buffer. The details of + * this structure are intentionally hidden from the public API. + */ +typedef struct nghttp2_rcbuf nghttp2_rcbuf; + +/** + * @function + * + * Increments the reference count of |rcbuf| by 1. + */ +NGHTTP2_EXTERN void nghttp2_rcbuf_incref(nghttp2_rcbuf *rcbuf); + +/** + * @function + * + * Decrements the reference count of |rcbuf| by 1. If the reference + * count becomes zero, the object pointed by |rcbuf| will be freed. + * In this case, application must not use |rcbuf| again. + */ +NGHTTP2_EXTERN void nghttp2_rcbuf_decref(nghttp2_rcbuf *rcbuf); + +/** + * @function + * + * Returns the underlying buffer managed by |rcbuf|. + */ +NGHTTP2_EXTERN nghttp2_vec nghttp2_rcbuf_get_buf(nghttp2_rcbuf *rcbuf); + +/** + * @function + * + * Returns nonzero if the underlying buffer is statically allocated, + * and 0 otherwise. This can be useful for language bindings that wish + * to avoid creating duplicate strings for these buffers. + */ +NGHTTP2_EXTERN int nghttp2_rcbuf_is_static(const nghttp2_rcbuf *rcbuf); + +/** + * @enum + * + * The flags for header field name/value pair. + */ +typedef enum { + /** + * No flag set. + */ + NGHTTP2_NV_FLAG_NONE = 0, + /** + * Indicates that this name/value pair must not be indexed ("Literal + * Header Field never Indexed" representation must be used in HPACK + * encoding). Other implementation calls this bit as "sensitive". + */ + NGHTTP2_NV_FLAG_NO_INDEX = 0x01, + /** + * This flag is set solely by application. If this flag is set, the + * library does not make a copy of header field name. This could + * improve performance. + */ + NGHTTP2_NV_FLAG_NO_COPY_NAME = 0x02, + /** + * This flag is set solely by application. If this flag is set, the + * library does not make a copy of header field value. This could + * improve performance. + */ + NGHTTP2_NV_FLAG_NO_COPY_VALUE = 0x04 +} nghttp2_nv_flag; + +/** + * @struct + * + * The name/value pair, which mainly used to represent header fields. + */ +typedef struct { + /** + * The |name| byte string. If this struct is presented from library + * (e.g., :type:`nghttp2_on_frame_recv_callback`), |name| is + * guaranteed to be NULL-terminated. For some callbacks + * (:type:`nghttp2_before_frame_send_callback`, + * :type:`nghttp2_on_frame_send_callback`, and + * :type:`nghttp2_on_frame_not_send_callback`), it may not be + * NULL-terminated if header field is passed from application with + * the flag :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`). + * When application is constructing this struct, |name| is not + * required to be NULL-terminated. + */ + uint8_t *name; + /** + * The |value| byte string. If this struct is presented from + * library (e.g., :type:`nghttp2_on_frame_recv_callback`), |value| + * is guaranteed to be NULL-terminated. For some callbacks + * (:type:`nghttp2_before_frame_send_callback`, + * :type:`nghttp2_on_frame_send_callback`, and + * :type:`nghttp2_on_frame_not_send_callback`), it may not be + * NULL-terminated if header field is passed from application with + * the flag :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE`). + * When application is constructing this struct, |value| is not + * required to be NULL-terminated. + */ + uint8_t *value; + /** + * The length of the |name|, excluding terminating NULL. + */ + size_t namelen; + /** + * The length of the |value|, excluding terminating NULL. + */ + size_t valuelen; + /** + * Bitwise OR of one or more of :type:`nghttp2_nv_flag`. + */ + uint8_t flags; +} nghttp2_nv; + +/** + * @enum + * + * The frame types in HTTP/2 specification. + */ +typedef enum { + /** + * The DATA frame. + */ + NGHTTP2_DATA = 0, + /** + * The HEADERS frame. + */ + NGHTTP2_HEADERS = 0x01, + /** + * The PRIORITY frame. + */ + NGHTTP2_PRIORITY = 0x02, + /** + * The RST_STREAM frame. + */ + NGHTTP2_RST_STREAM = 0x03, + /** + * The SETTINGS frame. + */ + NGHTTP2_SETTINGS = 0x04, + /** + * The PUSH_PROMISE frame. + */ + NGHTTP2_PUSH_PROMISE = 0x05, + /** + * The PING frame. + */ + NGHTTP2_PING = 0x06, + /** + * The GOAWAY frame. + */ + NGHTTP2_GOAWAY = 0x07, + /** + * The WINDOW_UPDATE frame. + */ + NGHTTP2_WINDOW_UPDATE = 0x08, + /** + * The CONTINUATION frame. This frame type won't be passed to any + * callbacks because the library processes this frame type and its + * preceding HEADERS/PUSH_PROMISE as a single frame. + */ + NGHTTP2_CONTINUATION = 0x09, + /** + * The ALTSVC frame, which is defined in `RFC 7383 + * `_. + */ + NGHTTP2_ALTSVC = 0x0a, + /** + * The ORIGIN frame, which is defined by `RFC 8336 + * `_. + */ + NGHTTP2_ORIGIN = 0x0c, + /** + * The PRIORITY_UPDATE frame, which is defined by :rfc:`9218`. + */ + NGHTTP2_PRIORITY_UPDATE = 0x10 +} nghttp2_frame_type; + +/** + * @enum + * + * The flags for HTTP/2 frames. This enum defines all flags for all + * frames. + */ +typedef enum { + /** + * No flag set. + */ + NGHTTP2_FLAG_NONE = 0, + /** + * The END_STREAM flag. + */ + NGHTTP2_FLAG_END_STREAM = 0x01, + /** + * The END_HEADERS flag. + */ + NGHTTP2_FLAG_END_HEADERS = 0x04, + /** + * The ACK flag. + */ + NGHTTP2_FLAG_ACK = 0x01, + /** + * The PADDED flag. + */ + NGHTTP2_FLAG_PADDED = 0x08, + /** + * The PRIORITY flag. + */ + NGHTTP2_FLAG_PRIORITY = 0x20 +} nghttp2_flag; + +/** + * @enum + * The SETTINGS ID. + */ +typedef enum { + /** + * SETTINGS_HEADER_TABLE_SIZE + */ + NGHTTP2_SETTINGS_HEADER_TABLE_SIZE = 0x01, + /** + * SETTINGS_ENABLE_PUSH + */ + NGHTTP2_SETTINGS_ENABLE_PUSH = 0x02, + /** + * SETTINGS_MAX_CONCURRENT_STREAMS + */ + NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS = 0x03, + /** + * SETTINGS_INITIAL_WINDOW_SIZE + */ + NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE = 0x04, + /** + * SETTINGS_MAX_FRAME_SIZE + */ + NGHTTP2_SETTINGS_MAX_FRAME_SIZE = 0x05, + /** + * SETTINGS_MAX_HEADER_LIST_SIZE + */ + NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE = 0x06, + /** + * SETTINGS_ENABLE_CONNECT_PROTOCOL + * (`RFC 8441 `_) + */ + NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL = 0x08, + /** + * SETTINGS_NO_RFC7540_PRIORITIES (:rfc:`9218`) + */ + NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES = 0x09 +} nghttp2_settings_id; +/* Note: If we add SETTINGS, update the capacity of + NGHTTP2_INBOUND_NUM_IV as well */ + +/** + * @macro + * + * .. warning:: + * + * Deprecated. The initial max concurrent streams is 0xffffffffu. + * + * Default maximum number of incoming concurrent streams. Use + * `nghttp2_submit_settings()` with + * :enum:`nghttp2_settings_id.NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS` + * to change the maximum number of incoming concurrent streams. + * + * .. note:: + * + * The maximum number of outgoing concurrent streams is 100 by + * default. + */ +#define NGHTTP2_INITIAL_MAX_CONCURRENT_STREAMS ((1U << 31) - 1) + +/** + * @enum + * The status codes for the RST_STREAM and GOAWAY frames. + */ +typedef enum { + /** + * No errors. + */ + NGHTTP2_NO_ERROR = 0x00, + /** + * PROTOCOL_ERROR + */ + NGHTTP2_PROTOCOL_ERROR = 0x01, + /** + * INTERNAL_ERROR + */ + NGHTTP2_INTERNAL_ERROR = 0x02, + /** + * FLOW_CONTROL_ERROR + */ + NGHTTP2_FLOW_CONTROL_ERROR = 0x03, + /** + * SETTINGS_TIMEOUT + */ + NGHTTP2_SETTINGS_TIMEOUT = 0x04, + /** + * STREAM_CLOSED + */ + NGHTTP2_STREAM_CLOSED = 0x05, + /** + * FRAME_SIZE_ERROR + */ + NGHTTP2_FRAME_SIZE_ERROR = 0x06, + /** + * REFUSED_STREAM + */ + NGHTTP2_REFUSED_STREAM = 0x07, + /** + * CANCEL + */ + NGHTTP2_CANCEL = 0x08, + /** + * COMPRESSION_ERROR + */ + NGHTTP2_COMPRESSION_ERROR = 0x09, + /** + * CONNECT_ERROR + */ + NGHTTP2_CONNECT_ERROR = 0x0a, + /** + * ENHANCE_YOUR_CALM + */ + NGHTTP2_ENHANCE_YOUR_CALM = 0x0b, + /** + * INADEQUATE_SECURITY + */ + NGHTTP2_INADEQUATE_SECURITY = 0x0c, + /** + * HTTP_1_1_REQUIRED + */ + NGHTTP2_HTTP_1_1_REQUIRED = 0x0d +} nghttp2_error_code; + +/** + * @struct + * The frame header. + */ +typedef struct { + /** + * The length field of this frame, excluding frame header. + */ + size_t length; + /** + * The stream identifier (aka, stream ID) + */ + int32_t stream_id; + /** + * The type of this frame. See `nghttp2_frame_type`. + */ + uint8_t type; + /** + * The flags. + */ + uint8_t flags; + /** + * Reserved bit in frame header. Currently, this is always set to 0 + * and application should not expect something useful in here. + */ + uint8_t reserved; +} nghttp2_frame_hd; + +/** + * @union + * + * This union represents the some kind of data source passed to + * :type:`nghttp2_data_source_read_callback2`. + */ +typedef union { + /** + * The integer field, suitable for a file descriptor. + */ + int fd; + /** + * The pointer to an arbitrary object. + */ + void *ptr; +} nghttp2_data_source; + +/** + * @enum + * + * The flags used to set in |data_flags| output parameter in + * :type:`nghttp2_data_source_read_callback2`. + */ +typedef enum { + /** + * No flag set. + */ + NGHTTP2_DATA_FLAG_NONE = 0, + /** + * Indicates EOF was sensed. + */ + NGHTTP2_DATA_FLAG_EOF = 0x01, + /** + * Indicates that END_STREAM flag must not be set even if + * NGHTTP2_DATA_FLAG_EOF is set. Usually this flag is used to send + * trailer fields with `nghttp2_submit_request2()` or + * `nghttp2_submit_response2()`. + */ + NGHTTP2_DATA_FLAG_NO_END_STREAM = 0x02, + /** + * Indicates that application will send complete DATA frame in + * :type:`nghttp2_send_data_callback`. + */ + NGHTTP2_DATA_FLAG_NO_COPY = 0x04 +} nghttp2_data_flag; + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_data_source_read_callback2` + * instead. + * + * Callback function invoked when the library wants to read data from + * the |source|. The read data is sent in the stream |stream_id|. + * The implementation of this function must read at most |length| + * bytes of data from |source| (or possibly other places) and store + * them in |buf| and return number of data stored in |buf|. If EOF is + * reached, set :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF` flag + * in |*data_flags|. + * + * Sometime it is desirable to avoid copying data into |buf| and let + * application to send data directly. To achieve this, set + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_COPY` to + * |*data_flags| (and possibly other flags, just like when we do + * copy), and return the number of bytes to send without copying data + * into |buf|. The library, seeing + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_COPY`, will invoke + * :type:`nghttp2_send_data_callback`. The application must send + * complete DATA frame in that callback. + * + * If this callback is set by `nghttp2_submit_request()`, + * `nghttp2_submit_response()` or `nghttp2_submit_headers()` and + * `nghttp2_submit_data()` with flag parameter + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM` set, and + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF` flag is set to + * |*data_flags|, DATA frame will have END_STREAM flag set. Usually, + * this is expected behaviour and all are fine. One exception is send + * trailer fields. You cannot send trailer fields after sending frame + * with END_STREAM set. To avoid this problem, one can set + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_END_STREAM` along + * with :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF` to signal the + * library not to set END_STREAM in DATA frame. Then application can + * use `nghttp2_submit_trailer()` to send trailer fields. + * `nghttp2_submit_trailer()` can be called inside this callback. + * + * If the application wants to postpone DATA frames (e.g., + * asynchronous I/O, or reading data blocks for long time), it is + * achieved by returning :enum:`nghttp2_error.NGHTTP2_ERR_DEFERRED` + * without reading any data in this invocation. The library removes + * DATA frame from the outgoing queue temporarily. To move back + * deferred DATA frame to outgoing queue, call + * `nghttp2_session_resume_data()`. + * + * By default, |length| is limited to 16KiB at maximum. If peer + * allows larger frames, application can enlarge transmission buffer + * size. See :type:`nghttp2_data_source_read_length_callback` for + * more details. + * + * If the application just wants to return from + * `nghttp2_session_send()` or `nghttp2_session_mem_send()` without + * sending anything, return :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE`. + * + * In case of error, there are 2 choices. Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE` will + * close the stream by issuing RST_STREAM with + * :enum:`nghttp2_error_code.NGHTTP2_INTERNAL_ERROR`. If a different + * error code is desirable, use `nghttp2_submit_rst_stream()` with a + * desired error code and then return + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. + * Returning :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` will + * signal the entire session failure. + */ +typedef ssize_t (*nghttp2_data_source_read_callback)( + nghttp2_session *session, int32_t stream_id, uint8_t *buf, size_t length, + uint32_t *data_flags, nghttp2_data_source *source, void *user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @functypedef + * + * Callback function invoked when the library wants to read data from + * the |source|. The read data is sent in the stream |stream_id|. + * The implementation of this function must read at most |length| + * bytes of data from |source| (or possibly other places) and store + * them in |buf| and return number of data stored in |buf|. If EOF is + * reached, set :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF` flag + * in |*data_flags|. + * + * Sometime it is desirable to avoid copying data into |buf| and let + * application to send data directly. To achieve this, set + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_COPY` to + * |*data_flags| (and possibly other flags, just like when we do + * copy), and return the number of bytes to send without copying data + * into |buf|. The library, seeing + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_COPY`, will invoke + * :type:`nghttp2_send_data_callback`. The application must send + * complete DATA frame in that callback. + * + * If this callback is set by `nghttp2_submit_request2()`, + * `nghttp2_submit_response2()` or `nghttp2_submit_headers()` and + * `nghttp2_submit_data2()` with flag parameter + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM` set, and + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF` flag is set to + * |*data_flags|, DATA frame will have END_STREAM flag set. Usually, + * this is expected behaviour and all are fine. One exception is send + * trailer fields. You cannot send trailer fields after sending frame + * with END_STREAM set. To avoid this problem, one can set + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_END_STREAM` along + * with :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF` to signal the + * library not to set END_STREAM in DATA frame. Then application can + * use `nghttp2_submit_trailer()` to send trailer fields. + * `nghttp2_submit_trailer()` can be called inside this callback. + * + * If the application wants to postpone DATA frames (e.g., + * asynchronous I/O, or reading data blocks for long time), it is + * achieved by returning :enum:`nghttp2_error.NGHTTP2_ERR_DEFERRED` + * without reading any data in this invocation. The library removes + * DATA frame from the outgoing queue temporarily. To move back + * deferred DATA frame to outgoing queue, call + * `nghttp2_session_resume_data()`. + * + * By default, |length| is limited to 16KiB at maximum. If peer + * allows larger frames, application can enlarge transmission buffer + * size. See :type:`nghttp2_data_source_read_length_callback` for + * more details. + * + * If the application just wants to return from + * `nghttp2_session_send()` or `nghttp2_session_mem_send2()` without + * sending anything, return :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE`. + * + * In case of error, there are 2 choices. Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE` will + * close the stream by issuing RST_STREAM with + * :enum:`nghttp2_error_code.NGHTTP2_INTERNAL_ERROR`. If a different + * error code is desirable, use `nghttp2_submit_rst_stream()` with a + * desired error code and then return + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. + * Returning :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` will + * signal the entire session failure. + */ +typedef nghttp2_ssize (*nghttp2_data_source_read_callback2)( + nghttp2_session *session, int32_t stream_id, uint8_t *buf, size_t length, + uint32_t *data_flags, nghttp2_data_source *source, void *user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @struct + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_data_provider2` instead. + * + * This struct represents the data source and the way to read a chunk + * of data from it. + */ +typedef struct { + /** + * The data source. + */ + nghttp2_data_source source; + /** + * The callback function to read a chunk of data from the |source|. + */ + nghttp2_data_source_read_callback read_callback; +} nghttp2_data_provider; + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @struct + * + * This struct represents the data source and the way to read a chunk + * of data from it. + */ +typedef struct { + /** + * The data source. + */ + nghttp2_data_source source; + /** + * The callback function to read a chunk of data from the |source|. + */ + nghttp2_data_source_read_callback2 read_callback; +} nghttp2_data_provider2; + +/** + * @struct + * + * The DATA frame. The received data is delivered via + * :type:`nghttp2_on_data_chunk_recv_callback`. + */ +typedef struct { + nghttp2_frame_hd hd; + /** + * The length of the padding in this frame. This includes PAD_HIGH + * and PAD_LOW. + */ + size_t padlen; +} nghttp2_data; + +/** + * @enum + * + * The category of HEADERS, which indicates the role of the frame. In + * HTTP/2 spec, request, response, push response and other arbitrary + * headers (e.g., trailer fields) are all called just HEADERS. To + * give the application the role of incoming HEADERS frame, we define + * several categories. + */ +typedef enum { + /** + * The HEADERS frame is opening new stream, which is analogous to + * SYN_STREAM in SPDY. + */ + NGHTTP2_HCAT_REQUEST = 0, + /** + * The HEADERS frame is the first response headers, which is + * analogous to SYN_REPLY in SPDY. + */ + NGHTTP2_HCAT_RESPONSE = 1, + /** + * The HEADERS frame is the first headers sent against reserved + * stream. + */ + NGHTTP2_HCAT_PUSH_RESPONSE = 2, + /** + * The HEADERS frame which does not apply for the above categories, + * which is analogous to HEADERS in SPDY. If non-final response + * (e.g., status 1xx) is used, final response HEADERS frame will be + * categorized here. + */ + NGHTTP2_HCAT_HEADERS = 3 +} nghttp2_headers_category; + +/** + * @struct + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * The structure to specify stream dependency. + */ +typedef struct { + /** + * The stream ID of the stream to depend on. Specifying 0 makes + * stream not depend any other stream. + */ + int32_t stream_id; + /** + * The weight of this dependency. + */ + int32_t weight; + /** + * nonzero means exclusive dependency + */ + uint8_t exclusive; +} nghttp2_priority_spec; + +/** + * @struct + * + * The HEADERS frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The length of the padding in this frame. This includes PAD_HIGH + * and PAD_LOW. + */ + size_t padlen; + /** + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * The priority specification + */ + nghttp2_priority_spec pri_spec; + /** + * The name/value pairs. + */ + nghttp2_nv *nva; + /** + * The number of name/value pairs in |nva|. + */ + size_t nvlen; + /** + * The category of this HEADERS frame. + */ + nghttp2_headers_category cat; +} nghttp2_headers; + +/** + * @struct + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * The PRIORITY frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The priority specification. + */ + nghttp2_priority_spec pri_spec; +} nghttp2_priority; + +/** + * @struct + * + * The RST_STREAM frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The error code. See :type:`nghttp2_error_code`. + */ + uint32_t error_code; +} nghttp2_rst_stream; + +/** + * @struct + * + * The SETTINGS ID/Value pair. It has the following members: + */ +typedef struct { + /** + * The SETTINGS ID. See :type:`nghttp2_settings_id`. + */ + int32_t settings_id; + /** + * The value of this entry. + */ + uint32_t value; +} nghttp2_settings_entry; + +/** + * @struct + * + * The SETTINGS frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The number of SETTINGS ID/Value pairs in |iv|. + */ + size_t niv; + /** + * The pointer to the array of SETTINGS ID/Value pair. + */ + nghttp2_settings_entry *iv; +} nghttp2_settings; + +/** + * @struct + * + * The PUSH_PROMISE frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The length of the padding in this frame. This includes PAD_HIGH + * and PAD_LOW. + */ + size_t padlen; + /** + * The name/value pairs. + */ + nghttp2_nv *nva; + /** + * The number of name/value pairs in |nva|. + */ + size_t nvlen; + /** + * The promised stream ID + */ + int32_t promised_stream_id; + /** + * Reserved bit. Currently this is always set to 0 and application + * should not expect something useful in here. + */ + uint8_t reserved; +} nghttp2_push_promise; + +/** + * @struct + * + * The PING frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The opaque data + */ + uint8_t opaque_data[8]; +} nghttp2_ping; + +/** + * @struct + * + * The GOAWAY frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The last stream stream ID. + */ + int32_t last_stream_id; + /** + * The error code. See :type:`nghttp2_error_code`. + */ + uint32_t error_code; + /** + * The additional debug data + */ + uint8_t *opaque_data; + /** + * The length of |opaque_data| member. + */ + size_t opaque_data_len; + /** + * Reserved bit. Currently this is always set to 0 and application + * should not expect something useful in here. + */ + uint8_t reserved; +} nghttp2_goaway; + +/** + * @struct + * + * The WINDOW_UPDATE frame. It has the following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The window size increment. + */ + int32_t window_size_increment; + /** + * Reserved bit. Currently this is always set to 0 and application + * should not expect something useful in here. + */ + uint8_t reserved; +} nghttp2_window_update; + +/** + * @struct + * + * The extension frame. It has following members: + */ +typedef struct { + /** + * The frame header. + */ + nghttp2_frame_hd hd; + /** + * The pointer to extension payload. The exact pointer type is + * determined by hd.type. + * + * Currently, no extension is supported. This is a place holder for + * the future extensions. + */ + void *payload; +} nghttp2_extension; + +/** + * @union + * + * This union includes all frames to pass them to various function + * calls as nghttp2_frame type. The CONTINUATION frame is omitted + * from here because the library deals with it internally. + */ +typedef union { + /** + * The frame header, which is convenient to inspect frame header. + */ + nghttp2_frame_hd hd; + /** + * The DATA frame. + */ + nghttp2_data data; + /** + * The HEADERS frame. + */ + nghttp2_headers headers; + /** + * The PRIORITY frame. + */ + nghttp2_priority priority; + /** + * The RST_STREAM frame. + */ + nghttp2_rst_stream rst_stream; + /** + * The SETTINGS frame. + */ + nghttp2_settings settings; + /** + * The PUSH_PROMISE frame. + */ + nghttp2_push_promise push_promise; + /** + * The PING frame. + */ + nghttp2_ping ping; + /** + * The GOAWAY frame. + */ + nghttp2_goaway goaway; + /** + * The WINDOW_UPDATE frame. + */ + nghttp2_window_update window_update; + /** + * The extension frame. + */ + nghttp2_extension ext; +} nghttp2_frame; + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_send_callback2` instead. + * + * Callback function invoked when |session| wants to send data to the + * remote peer. The implementation of this function must send at most + * |length| bytes of data stored in |data|. The |flags| is currently + * not used and always 0. It must return the number of bytes sent if + * it succeeds. If it cannot send any single byte without blocking, + * it must return :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. For + * other errors, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. The + * |user_data| pointer is the third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * This callback is required if the application uses + * `nghttp2_session_send()` to send data to the remote endpoint. If + * the application uses solely `nghttp2_session_mem_send()` instead, + * this callback function is unnecessary. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_send_callback()`. + * + * .. note:: + * + * The |length| may be very small. If that is the case, and + * application disables Nagle algorithm (``TCP_NODELAY``), then just + * writing |data| to the network stack leads to very small packet, + * and it is very inefficient. An application should be responsible + * to buffer up small chunks of data as necessary to avoid this + * situation. + */ +typedef ssize_t (*nghttp2_send_callback)(nghttp2_session *session, + const uint8_t *data, size_t length, + int flags, void *user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @functypedef + * + * Callback function invoked when |session| wants to send data to the + * remote peer. The implementation of this function must send at most + * |length| bytes of data stored in |data|. The |flags| is currently + * not used and always 0. It must return the number of bytes sent if + * it succeeds. If it cannot send any single byte without blocking, + * it must return :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. For + * other errors, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. The + * |user_data| pointer is the third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * This callback is required if the application uses + * `nghttp2_session_send()` to send data to the remote endpoint. If + * the application uses solely `nghttp2_session_mem_send2()` instead, + * this callback function is unnecessary. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_send_callback2()`. + * + * .. note:: + * + * The |length| may be very small. If that is the case, and + * application disables Nagle algorithm (``TCP_NODELAY``), then just + * writing |data| to the network stack leads to very small packet, + * and it is very inefficient. An application should be responsible + * to buffer up small chunks of data as necessary to avoid this + * situation. + */ +typedef nghttp2_ssize (*nghttp2_send_callback2)(nghttp2_session *session, + const uint8_t *data, + size_t length, int flags, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_COPY` is used in + * :type:`nghttp2_data_source_read_callback` to send complete DATA + * frame. + * + * The |frame| is a DATA frame to send. The |framehd| is the + * serialized frame header (9 bytes). The |length| is the length of + * application data to send (this does not include padding). The + * |source| is the same pointer passed to + * :type:`nghttp2_data_source_read_callback`. + * + * The application first must send frame header |framehd| of length 9 + * bytes. If ``frame->data.padlen > 0``, send 1 byte of value + * ``frame->data.padlen - 1``. Then send exactly |length| bytes of + * application data. Finally, if ``frame->data.padlen > 1``, send + * ``frame->data.padlen - 1`` bytes of zero as padding. + * + * The application has to send complete DATA frame in this callback. + * If all data were written successfully, return 0. + * + * If it cannot send any data at all, just return + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`; the library will call + * this callback with the same parameters later (It is recommended to + * send complete DATA frame at once in this function to deal with + * error; if partial frame data has already sent, it is impossible to + * send another data in that state, and all we can do is tear down + * connection). When data is fully processed, but application wants + * to make `nghttp2_session_mem_send2()` or `nghttp2_session_send()` + * return immediately without processing next frames, return + * :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE`. If application decided to + * reset this stream, return + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`, then + * the library will send RST_STREAM with INTERNAL_ERROR as error code. + * The application can also return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`, which will + * result in connection closure. Returning any other value is treated + * as :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` is returned. + */ +typedef int (*nghttp2_send_data_callback)(nghttp2_session *session, + nghttp2_frame *frame, + const uint8_t *framehd, size_t length, + nghttp2_data_source *source, + void *user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_recv_callback2` instead. + * + * Callback function invoked when |session| wants to receive data from + * the remote peer. The implementation of this function must read at + * most |length| bytes of data and store it in |buf|. The |flags| is + * currently not used and always 0. It must return the number of + * bytes written in |buf| if it succeeds. If it cannot read any + * single byte without blocking, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. If it gets EOF + * before it reads any single byte, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_EOF`. For other errors, it must + * return :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * Returning 0 is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. The |user_data| + * pointer is the third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * This callback is required if the application uses + * `nghttp2_session_recv()` to receive data from the remote endpoint. + * If the application uses solely `nghttp2_session_mem_recv()` + * instead, this callback function is unnecessary. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_recv_callback()`. + */ +typedef ssize_t (*nghttp2_recv_callback)(nghttp2_session *session, uint8_t *buf, + size_t length, int flags, + void *user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @functypedef + * + * Callback function invoked when |session| wants to receive data from + * the remote peer. The implementation of this function must read at + * most |length| bytes of data and store it in |buf|. The |flags| is + * currently not used and always 0. It must return the number of + * bytes written in |buf| if it succeeds. If it cannot read any + * single byte without blocking, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. If it gets EOF + * before it reads any single byte, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_EOF`. For other errors, it must + * return :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * Returning 0 is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. The |user_data| + * pointer is the third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * This callback is required if the application uses + * `nghttp2_session_recv()` to receive data from the remote endpoint. + * If the application uses solely `nghttp2_session_mem_recv2()` + * instead, this callback function is unnecessary. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_recv_callback2()`. + */ +typedef nghttp2_ssize (*nghttp2_recv_callback2)(nghttp2_session *session, + uint8_t *buf, size_t length, + int flags, void *user_data); + +/** + * @functypedef + * + * Callback function invoked by `nghttp2_session_recv()` and + * `nghttp2_session_mem_recv2()` when a frame is received. The + * |user_data| pointer is the third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * If frame is HEADERS or PUSH_PROMISE, the ``nva`` and ``nvlen`` + * member of their data structure are always ``NULL`` and 0 + * respectively. The header name/value pairs are emitted via + * :type:`nghttp2_on_header_callback`. + * + * Only HEADERS and DATA frame can signal the end of incoming data. + * If ``frame->hd.flags & NGHTTP2_FLAG_END_STREAM`` is nonzero, the + * |frame| is the last frame from the remote peer in this stream. + * + * This callback won't be called for CONTINUATION frames. + * HEADERS/PUSH_PROMISE + CONTINUATIONs are treated as single frame. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero value is returned, it is treated as fatal error and + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_frame_recv_callback()`. + */ +typedef int (*nghttp2_on_frame_recv_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked by `nghttp2_session_recv()` and + * `nghttp2_session_mem_recv2()` when an invalid non-DATA frame is + * received. The error is indicated by the |lib_error_code|, which is + * one of the values defined in :type:`nghttp2_error`. When this + * callback function is invoked, the library automatically submits + * either RST_STREAM or GOAWAY frame. The |user_data| pointer is the + * third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * If frame is HEADERS or PUSH_PROMISE, the ``nva`` and ``nvlen`` + * member of their data structure are always ``NULL`` and 0 + * respectively. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero is returned, it is treated as fatal error and + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_invalid_frame_recv_callback()`. + */ +typedef int (*nghttp2_on_invalid_frame_recv_callback)( + nghttp2_session *session, const nghttp2_frame *frame, int lib_error_code, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when a chunk of data in DATA frame is + * received. The |stream_id| is the stream ID this DATA frame belongs + * to. The |flags| is the flags of DATA frame which this data chunk + * is contained. ``(flags & NGHTTP2_FLAG_END_STREAM) != 0`` does not + * necessarily mean this chunk of data is the last one in the stream. + * You should use :type:`nghttp2_on_frame_recv_callback` to know all + * data frames are received. The |user_data| pointer is the third + * argument passed in to the call to `nghttp2_session_client_new()` or + * `nghttp2_session_server_new()`. + * + * If the application uses `nghttp2_session_mem_recv2()`, it can + * return :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` to make + * `nghttp2_session_mem_recv2()` return without processing further + * input bytes. The memory by pointed by the |data| is retained until + * `nghttp2_session_mem_recv2()` or `nghttp2_session_recv()` is + * called. The application must retain the input bytes which was used + * to produce the |data| parameter, because it may refer to the memory + * region included in the input bytes. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero is returned, it is treated as fatal error, and + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_data_chunk_recv_callback()`. + */ +typedef int (*nghttp2_on_data_chunk_recv_callback)(nghttp2_session *session, + uint8_t flags, + int32_t stream_id, + const uint8_t *data, + size_t len, void *user_data); + +/** + * @functypedef + * + * Callback function invoked just before the non-DATA frame |frame| is + * sent. The |user_data| pointer is the third argument passed in to + * the call to `nghttp2_session_client_new()` or + * `nghttp2_session_server_new()`. + * + * The implementation of this function must return 0 if it succeeds. + * It can also return :enum:`nghttp2_error.NGHTTP2_ERR_CANCEL` to + * cancel the transmission of the given frame. + * + * If there is a fatal error while executing this callback, the + * implementation should return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`, which makes + * `nghttp2_session_send()` and `nghttp2_session_mem_send2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * If the other value is returned, it is treated as if + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` is returned. + * But the implementation should not rely on this since the library + * may define new return value to extend its capability. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_before_frame_send_callback()`. + */ +typedef int (*nghttp2_before_frame_send_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked after the frame |frame| is sent. The + * |user_data| pointer is the third argument passed in to the call to + * `nghttp2_session_client_new()` or `nghttp2_session_server_new()`. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero is returned, it is treated as fatal error and + * `nghttp2_session_send()` and `nghttp2_session_mem_send2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_frame_send_callback()`. + */ +typedef int (*nghttp2_on_frame_send_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked after the non-DATA frame |frame| is not + * sent because of the error. The error is indicated by the + * |lib_error_code|, which is one of the values defined in + * :type:`nghttp2_error`. The |user_data| pointer is the third + * argument passed in to the call to `nghttp2_session_client_new()` or + * `nghttp2_session_server_new()`. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero is returned, it is treated as fatal error and + * `nghttp2_session_send()` and `nghttp2_session_mem_send2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * `nghttp2_session_get_stream_user_data()` can be used to get + * associated data. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_frame_not_send_callback()`. + */ +typedef int (*nghttp2_on_frame_not_send_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + int lib_error_code, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when the stream |stream_id| is closed. + * The reason of closure is indicated by the |error_code|. The + * |error_code| is usually one of :enum:`nghttp2_error_code`, but that + * is not guaranteed. The stream_user_data, which was specified in + * `nghttp2_submit_request2()` or `nghttp2_submit_headers()`, is still + * available in this function. The |user_data| pointer is the third + * argument passed in to the call to `nghttp2_session_client_new()` or + * `nghttp2_session_server_new()`. + * + * This function is also called for a stream in reserved state. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero is returned, it is treated as fatal error and + * `nghttp2_session_recv()`, `nghttp2_session_mem_recv2()`, + * `nghttp2_session_send()`, and `nghttp2_session_mem_send2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_stream_close_callback()`. + */ +typedef int (*nghttp2_on_stream_close_callback)(nghttp2_session *session, + int32_t stream_id, + uint32_t error_code, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when the reception of header block in + * HEADERS or PUSH_PROMISE is started. Each header name/value pair + * will be emitted by :type:`nghttp2_on_header_callback`. + * + * The ``frame->hd.flags`` may not have + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_HEADERS` flag set, which + * indicates that one or more CONTINUATION frames are involved. But + * the application does not need to care about that because the header + * name/value pairs are emitted transparently regardless of + * CONTINUATION frames. + * + * The server applications probably create an object to store + * information about new stream if ``frame->hd.type == + * NGHTTP2_HEADERS`` and ``frame->headers.cat == + * NGHTTP2_HCAT_REQUEST``. If |session| is configured as server side, + * ``frame->headers.cat`` is either ``NGHTTP2_HCAT_REQUEST`` + * containing request headers or ``NGHTTP2_HCAT_HEADERS`` containing + * trailer fields and never get PUSH_PROMISE in this callback. + * + * For the client applications, ``frame->hd.type`` is either + * ``NGHTTP2_HEADERS`` or ``NGHTTP2_PUSH_PROMISE``. In case of + * ``NGHTTP2_HEADERS``, ``frame->headers.cat == + * NGHTTP2_HCAT_RESPONSE`` means that it is the first response + * headers, but it may be non-final response which is indicated by 1xx + * status code. In this case, there may be zero or more HEADERS frame + * with ``frame->headers.cat == NGHTTP2_HCAT_HEADERS`` which has + * non-final response code and finally client gets exactly one HEADERS + * frame with ``frame->headers.cat == NGHTTP2_HCAT_HEADERS`` + * containing final response headers (non-1xx status code). The + * trailer fields also has ``frame->headers.cat == + * NGHTTP2_HCAT_HEADERS`` which does not contain any status code. + * + * Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE` will + * close the stream (promised stream if frame is PUSH_PROMISE) by + * issuing RST_STREAM with + * :enum:`nghttp2_error_code.NGHTTP2_INTERNAL_ERROR`. In this case, + * :type:`nghttp2_on_header_callback` and + * :type:`nghttp2_on_frame_recv_callback` will not be invoked. If a + * different error code is desirable, use + * `nghttp2_submit_rst_stream()` with a desired error code and then + * return :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. + * Again, use ``frame->push_promise.promised_stream_id`` as stream_id + * parameter in `nghttp2_submit_rst_stream()` if frame is + * PUSH_PROMISE. + * + * The implementation of this function must return 0 if it succeeds. + * It can return + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE` to + * reset the stream (promised stream if frame is PUSH_PROMISE). For + * critical errors, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the other + * value is returned, it is treated as if + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` is returned. If + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` is returned, + * `nghttp2_session_mem_recv2()` function will immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_begin_headers_callback()`. + */ +typedef int (*nghttp2_on_begin_headers_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when a header name/value pair is received + * for the |frame|. The |name| of length |namelen| is header name. + * The |value| of length |valuelen| is header value. The |flags| is + * bitwise OR of one or more of :type:`nghttp2_nv_flag`. + * + * If :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_INDEX` is set in + * |flags|, the receiver must not index this name/value pair when + * forwarding it to the next hop. More specifically, "Literal Header + * Field never Indexed" representation must be used in HPACK encoding. + * + * When this callback is invoked, ``frame->hd.type`` is either + * :enum:`nghttp2_frame_type.NGHTTP2_HEADERS` or + * :enum:`nghttp2_frame_type.NGHTTP2_PUSH_PROMISE`. After all header + * name/value pairs are processed with this callback, and no error has + * been detected, :type:`nghttp2_on_frame_recv_callback` will be + * invoked. If there is an error in decompression, + * :type:`nghttp2_on_frame_recv_callback` for the |frame| will not be + * invoked. + * + * Both |name| and |value| are guaranteed to be NULL-terminated. The + * |namelen| and |valuelen| do not include terminal NULL. If + * `nghttp2_option_set_no_http_messaging()` is used with nonzero + * value, NULL character may be included in |name| or |value| before + * terminating NULL. + * + * Please note that unless `nghttp2_option_set_no_http_messaging()` is + * used, nghttp2 library does perform validation against the |name| + * and the |value| using `nghttp2_check_header_name()` and + * `nghttp2_check_header_value()`. In addition to this, nghttp2 + * performs validation based on HTTP Messaging rule, which is briefly + * explained in :ref:`http-messaging` section. + * + * If the application uses `nghttp2_session_mem_recv2()`, it can + * return :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` to make + * `nghttp2_session_mem_recv2()` return without processing further + * input bytes. The memory pointed by |frame|, |name| and |value| + * parameters are retained until `nghttp2_session_mem_recv2()` or + * `nghttp2_session_recv()` is called. The application must retain + * the input bytes which was used to produce these parameters, because + * it may refer to the memory region included in the input bytes. + * + * Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE` will + * close the stream (promised stream if frame is PUSH_PROMISE) by + * issuing RST_STREAM with + * :enum:`nghttp2_error_code.NGHTTP2_INTERNAL_ERROR`. In this case, + * :type:`nghttp2_on_header_callback` and + * :type:`nghttp2_on_frame_recv_callback` will not be invoked. If a + * different error code is desirable, use + * `nghttp2_submit_rst_stream()` with a desired error code and then + * return :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. + * Again, use ``frame->push_promise.promised_stream_id`` as stream_id + * parameter in `nghttp2_submit_rst_stream()` if frame is + * PUSH_PROMISE. + * + * The implementation of this function must return 0 if it succeeds. + * It may return :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` or + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. For + * other critical failures, it must return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the other + * nonzero value is returned, it is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` is returned, + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_header_callback()`. + * + * .. warning:: + * + * Application should properly limit the total buffer size to store + * incoming header fields. Without it, peer may send large number + * of header fields or large header fields to cause out of memory in + * local endpoint. Due to how HPACK works, peer can do this + * effectively without using much memory on their own. + */ +typedef int (*nghttp2_on_header_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + const uint8_t *name, size_t namelen, + const uint8_t *value, size_t valuelen, + uint8_t flags, void *user_data); + +/** + * @functypedef + * + * Callback function invoked when a header name/value pair is received + * for the |frame|. The |name| is header name. The |value| is header + * value. The |flags| is bitwise OR of one or more of + * :type:`nghttp2_nv_flag`. + * + * This callback behaves like :type:`nghttp2_on_header_callback`, + * except that |name| and |value| are stored in reference counted + * buffer. If application wishes to keep these references without + * copying them, use `nghttp2_rcbuf_incref()` to increment their + * reference count. It is the application's responsibility to call + * `nghttp2_rcbuf_decref()` if they called `nghttp2_rcbuf_incref()` so + * as not to leak memory. If the |session| is created by + * `nghttp2_session_server_new3()` or `nghttp2_session_client_new3()`, + * the function to free memory is the one belongs to the mem + * parameter. As long as this free function alives, |name| and + * |value| can live after |session| was destroyed. + */ +typedef int (*nghttp2_on_header_callback2)(nghttp2_session *session, + const nghttp2_frame *frame, + nghttp2_rcbuf *name, + nghttp2_rcbuf *value, uint8_t flags, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when a invalid header name/value pair is + * received for the |frame|. + * + * The parameter and behaviour are similar to + * :type:`nghttp2_on_header_callback`. The difference is that this + * callback is only invoked when a invalid header name/value pair is + * received which is treated as stream error if this callback is not + * set. Only invalid regular header field are passed to this + * callback. In other words, invalid pseudo header field is not + * passed to this callback. Also header fields which includes upper + * cased latter are also treated as error without passing them to this + * callback. + * + * This callback is only considered if HTTP messaging validation is + * turned on (which is on by default, see + * `nghttp2_option_set_no_http_messaging()`). + * + * With this callback, application inspects the incoming invalid + * field, and it also can reset stream from this callback by returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. By + * default, the error code is + * :enum:`nghttp2_error_code.NGHTTP2_PROTOCOL_ERROR`. To change the + * error code, call `nghttp2_submit_rst_stream()` with the error code + * of choice in addition to returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. + * + * If 0 is returned, the header field is ignored, and the stream is + * not reset. + */ +typedef int (*nghttp2_on_invalid_header_callback)( + nghttp2_session *session, const nghttp2_frame *frame, const uint8_t *name, + size_t namelen, const uint8_t *value, size_t valuelen, uint8_t flags, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when a invalid header name/value pair is + * received for the |frame|. + * + * The parameter and behaviour are similar to + * :type:`nghttp2_on_header_callback2`. The difference is that this + * callback is only invoked when a invalid header name/value pair is + * received which is silently ignored if this callback is not set. + * Only invalid regular header field are passed to this callback. In + * other words, invalid pseudo header field is not passed to this + * callback. Also header fields which includes upper cased latter are + * also treated as error without passing them to this callback. + * + * This callback is only considered if HTTP messaging validation is + * turned on (which is on by default, see + * `nghttp2_option_set_no_http_messaging()`). + * + * With this callback, application inspects the incoming invalid + * field, and it also can reset stream from this callback by returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. By + * default, the error code is + * :enum:`nghttp2_error_code.NGHTTP2_INTERNAL_ERROR`. To change the + * error code, call `nghttp2_submit_rst_stream()` with the error code + * of choice in addition to returning + * :enum:`nghttp2_error.NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. + */ +typedef int (*nghttp2_on_invalid_header_callback2)( + nghttp2_session *session, const nghttp2_frame *frame, nghttp2_rcbuf *name, + nghttp2_rcbuf *value, uint8_t flags, void *user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_select_padding_callback2` + * instead. + * + * Callback function invoked when the library asks application how + * many padding bytes are required for the transmission of the + * |frame|. The application must choose the total length of payload + * including padded bytes in range [frame->hd.length, max_payloadlen], + * inclusive. Choosing number not in this range will be treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. Returning + * ``frame->hd.length`` means no padding is added. Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` will make + * `nghttp2_session_send()` and `nghttp2_session_mem_send()` functions + * immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_select_padding_callback()`. + */ +typedef ssize_t (*nghttp2_select_padding_callback)(nghttp2_session *session, + const nghttp2_frame *frame, + size_t max_payloadlen, + void *user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @functypedef + * + * Callback function invoked when the library asks application how + * many padding bytes are required for the transmission of the + * |frame|. The application must choose the total length of payload + * including padded bytes in range [frame->hd.length, max_payloadlen], + * inclusive. Choosing number not in this range will be treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. Returning + * ``frame->hd.length`` means no padding is added. Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` will make + * `nghttp2_session_send()` and `nghttp2_session_mem_send2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_select_padding_callback2()`. + */ +typedef nghttp2_ssize (*nghttp2_select_padding_callback2)( + nghttp2_session *session, const nghttp2_frame *frame, size_t max_payloadlen, + void *user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use + * :type:`nghttp2_data_source_read_length_callback2` instead. + * + * Callback function invoked when library wants to get max length of + * data to send data to the remote peer. The implementation of this + * function should return a value in the following range. [1, + * min(|session_remote_window_size|, |stream_remote_window_size|, + * |remote_max_frame_size|)]. If a value greater than this range is + * returned than the max allow value will be used. Returning a value + * smaller than this range is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. The + * |frame_type| is provided for future extensibility and identifies + * the type of frame (see :type:`nghttp2_frame_type`) for which to get + * the length for. Currently supported frame types are: + * :enum:`nghttp2_frame_type.NGHTTP2_DATA`. + * + * This callback can be used to control the length in bytes for which + * :type:`nghttp2_data_source_read_callback` is allowed to send to the + * remote endpoint. This callback is optional. Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` will signal the + * entire session failure. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_data_source_read_length_callback()`. + */ +typedef ssize_t (*nghttp2_data_source_read_length_callback)( + nghttp2_session *session, uint8_t frame_type, int32_t stream_id, + int32_t session_remote_window_size, int32_t stream_remote_window_size, + uint32_t remote_max_frame_size, void *user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @functypedef + * + * Callback function invoked when library wants to get max length of + * data to send data to the remote peer. The implementation of this + * function should return a value in the following range. [1, + * min(|session_remote_window_size|, |stream_remote_window_size|, + * |remote_max_frame_size|)]. If a value greater than this range is + * returned than the max allow value will be used. Returning a value + * smaller than this range is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. The + * |frame_type| is provided for future extensibility and identifies + * the type of frame (see :type:`nghttp2_frame_type`) for which to get + * the length for. Currently supported frame types are: + * :enum:`nghttp2_frame_type.NGHTTP2_DATA`. + * + * This callback can be used to control the length in bytes for which + * :type:`nghttp2_data_source_read_callback` is allowed to send to the + * remote endpoint. This callback is optional. Returning + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` will signal the + * entire session failure. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_data_source_read_length_callback2()`. + */ +typedef nghttp2_ssize (*nghttp2_data_source_read_length_callback2)( + nghttp2_session *session, uint8_t frame_type, int32_t stream_id, + int32_t session_remote_window_size, int32_t stream_remote_window_size, + uint32_t remote_max_frame_size, void *user_data); + +/** + * @functypedef + * + * Callback function invoked when a frame header is received. The + * |hd| points to received frame header. + * + * Unlike :type:`nghttp2_on_frame_recv_callback`, this callback will + * also be called when frame header of CONTINUATION frame is received. + * + * If both :type:`nghttp2_on_begin_frame_callback` and + * :type:`nghttp2_on_begin_headers_callback` are set and HEADERS or + * PUSH_PROMISE is received, :type:`nghttp2_on_begin_frame_callback` + * will be called first. + * + * The implementation of this function must return 0 if it succeeds. + * If nonzero value is returned, it is treated as fatal error and + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * + * To set this callback to :type:`nghttp2_session_callbacks`, use + * `nghttp2_session_callbacks_set_on_begin_frame_callback()`. + */ +typedef int (*nghttp2_on_begin_frame_callback)(nghttp2_session *session, + const nghttp2_frame_hd *hd, + void *user_data); + +/** + * @functypedef + * + * Callback function invoked when chunk of extension frame payload is + * received. The |hd| points to frame header. The received + * chunk is |data| of length |len|. + * + * The implementation of this function must return 0 if it succeeds. + * + * To abort processing this extension frame, return + * :enum:`nghttp2_error.NGHTTP2_ERR_CANCEL`. + * + * If fatal error occurred, application should return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. In this case, + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the other + * values are returned, currently they are treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp2_on_extension_chunk_recv_callback)( + nghttp2_session *session, const nghttp2_frame_hd *hd, const uint8_t *data, + size_t len, void *user_data); + +/** + * @functypedef + * + * Callback function invoked when library asks the application to + * unpack extension payload from its wire format. The extension + * payload has been passed to the application using + * :type:`nghttp2_on_extension_chunk_recv_callback`. The frame header + * is already unpacked by the library and provided as |hd|. + * + * To receive extension frames, the application must tell desired + * extension frame type to the library using + * `nghttp2_option_set_user_recv_extension_type()`. + * + * The implementation of this function may store the pointer to the + * created object as a result of unpacking in |*payload|, and returns + * 0. The pointer stored in |*payload| is opaque to the library, and + * the library does not own its pointer. |*payload| is initialized as + * ``NULL``. The |*payload| is available as ``frame->ext.payload`` in + * :type:`nghttp2_on_frame_recv_callback`. Therefore if application + * can free that memory inside :type:`nghttp2_on_frame_recv_callback` + * callback. Of course, application has a liberty not to use + * |*payload|, and do its own mechanism to process extension frames. + * + * To abort processing this extension frame, return + * :enum:`nghttp2_error.NGHTTP2_ERR_CANCEL`. + * + * If fatal error occurred, application should return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. In this case, + * `nghttp2_session_recv()` and `nghttp2_session_mem_recv2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the other + * values are returned, currently they are treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp2_unpack_extension_callback)(nghttp2_session *session, + void **payload, + const nghttp2_frame_hd *hd, + void *user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_pack_extension_callback2` + * instead. + * + * Callback function invoked when library asks the application to pack + * extension payload in its wire format. The frame header will be + * packed by library. Application must pack payload only. + * ``frame->ext.payload`` is the object passed to + * `nghttp2_submit_extension()` as payload parameter. Application + * must pack extension payload to the |buf| of its capacity |len| + * bytes. The |len| is at least 16KiB. + * + * The implementation of this function should return the number of + * bytes written into |buf| when it succeeds. + * + * To abort processing this extension frame, return + * :enum:`nghttp2_error.NGHTTP2_ERR_CANCEL`, and + * :type:`nghttp2_on_frame_not_send_callback` will be invoked. + * + * If fatal error occurred, application should return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. In this case, + * `nghttp2_session_send()` and `nghttp2_session_mem_send()` functions + * immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the other + * values are returned, currently they are treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the return + * value is strictly larger than |len|, it is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + */ +typedef ssize_t (*nghttp2_pack_extension_callback)(nghttp2_session *session, + uint8_t *buf, size_t len, + const nghttp2_frame *frame, + void *user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @functypedef + * + * Callback function invoked when library asks the application to pack + * extension payload in its wire format. The frame header will be + * packed by library. Application must pack payload only. + * ``frame->ext.payload`` is the object passed to + * `nghttp2_submit_extension()` as payload parameter. Application + * must pack extension payload to the |buf| of its capacity |len| + * bytes. The |len| is at least 16KiB. + * + * The implementation of this function should return the number of + * bytes written into |buf| when it succeeds. + * + * To abort processing this extension frame, return + * :enum:`nghttp2_error.NGHTTP2_ERR_CANCEL`, and + * :type:`nghttp2_on_frame_not_send_callback` will be invoked. + * + * If fatal error occurred, application should return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. In this case, + * `nghttp2_session_send()` and `nghttp2_session_mem_send2()` + * functions immediately return + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the other + * values are returned, currently they are treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. If the return + * value is strictly larger than |len|, it is treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + */ +typedef nghttp2_ssize (*nghttp2_pack_extension_callback2)( + nghttp2_session *session, uint8_t *buf, size_t len, + const nghttp2_frame *frame, void *user_data); + +/** + * @functypedef + * + * .. warning:: + * + * Deprecated. Use :type:`nghttp2_error_callback2` instead. + * + * Callback function invoked when library provides the error message + * intended for human consumption. This callback is solely for + * debugging purpose. The |msg| is typically NULL-terminated string + * of length |len|. |len| does not include the sentinel NULL + * character. + * + * The format of error message may change between nghttp2 library + * versions. The application should not depend on the particular + * format. + * + * Normally, application should return 0 from this callback. If fatal + * error occurred while doing something in this callback, application + * should return :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * In this case, library will return immediately with return value + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. Currently, if + * nonzero value is returned from this callback, they are treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`, but application + * should not rely on this details. + */ +typedef int (*nghttp2_error_callback)(nghttp2_session *session, const char *msg, + size_t len, void *user_data); + +/** + * @functypedef + * + * Callback function invoked when library provides the error code, and + * message. This callback is solely for debugging purpose. + * |lib_error_code| is one of error code defined in + * :enum:`nghttp2_error`. The |msg| is typically NULL-terminated + * string of length |len|, and intended for human consumption. |len| + * does not include the sentinel NULL character. + * + * The format of error message may change between nghttp2 library + * versions. The application should not depend on the particular + * format. + * + * Normally, application should return 0 from this callback. If fatal + * error occurred while doing something in this callback, application + * should return :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. + * In this case, library will return immediately with return value + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`. Currently, if + * nonzero value is returned from this callback, they are treated as + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE`, but application + * should not rely on this details. + */ +typedef int (*nghttp2_error_callback2)(nghttp2_session *session, + int lib_error_code, const char *msg, + size_t len, void *user_data); + +struct nghttp2_session_callbacks; + +/** + * @struct + * + * Callback functions for :type:`nghttp2_session`. The details of + * this structure are intentionally hidden from the public API. + */ +typedef struct nghttp2_session_callbacks nghttp2_session_callbacks; + +/** + * @function + * + * Initializes |*callbacks_ptr| with NULL values. + * + * The initialized object can be used when initializing multiple + * :type:`nghttp2_session` objects. + * + * When the application finished using this object, it can use + * `nghttp2_session_callbacks_del()` to free its memory. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_session_callbacks_new(nghttp2_session_callbacks **callbacks_ptr); + +/** + * @function + * + * Frees any resources allocated for |callbacks|. If |callbacks| is + * ``NULL``, this function does nothing. + */ +NGHTTP2_EXTERN void +nghttp2_session_callbacks_del(nghttp2_session_callbacks *callbacks); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_session_callbacks_set_send_callback2()` + * with :type:`nghttp2_send_callback2` instead. + * + * Sets callback function invoked when a session wants to send data to + * the remote peer. This callback is not necessary if the application + * uses solely `nghttp2_session_mem_send()` to serialize data to + * transmit. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_send_callback( + nghttp2_session_callbacks *cbs, nghttp2_send_callback send_callback); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Sets callback function invoked when a session wants to send data to + * the remote peer. This callback is not necessary if the application + * uses solely `nghttp2_session_mem_send2()` to serialize data to + * transmit. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_send_callback2( + nghttp2_session_callbacks *cbs, nghttp2_send_callback2 send_callback); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_session_callbacks_set_recv_callback2()` + * with :type:`nghttp2_recv_callback2` instead. + * + * Sets callback function invoked when the a session wants to receive + * data from the remote peer. This callback is not necessary if the + * application uses solely `nghttp2_session_mem_recv()` to process + * received data. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_recv_callback( + nghttp2_session_callbacks *cbs, nghttp2_recv_callback recv_callback); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Sets callback function invoked when the a session wants to receive + * data from the remote peer. This callback is not necessary if the + * application uses solely `nghttp2_session_mem_recv2()` to process + * received data. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_recv_callback2( + nghttp2_session_callbacks *cbs, nghttp2_recv_callback2 recv_callback); + +/** + * @function + * + * Sets callback function invoked by `nghttp2_session_recv()` and + * `nghttp2_session_mem_recv2()` when a frame is received. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_frame_recv_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_frame_recv_callback on_frame_recv_callback); + +/** + * @function + * + * Sets callback function invoked by `nghttp2_session_recv()` and + * `nghttp2_session_mem_recv2()` when an invalid non-DATA frame is + * received. + */ +NGHTTP2_EXTERN void +nghttp2_session_callbacks_set_on_invalid_frame_recv_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_invalid_frame_recv_callback on_invalid_frame_recv_callback); + +/** + * @function + * + * Sets callback function invoked when a chunk of data in DATA frame + * is received. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_data_chunk_recv_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_data_chunk_recv_callback on_data_chunk_recv_callback); + +/** + * @function + * + * Sets callback function invoked before a non-DATA frame is sent. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_before_frame_send_callback( + nghttp2_session_callbacks *cbs, + nghttp2_before_frame_send_callback before_frame_send_callback); + +/** + * @function + * + * Sets callback function invoked after a frame is sent. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_frame_send_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_frame_send_callback on_frame_send_callback); + +/** + * @function + * + * Sets callback function invoked when a non-DATA frame is not sent + * because of an error. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_frame_not_send_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_frame_not_send_callback on_frame_not_send_callback); + +/** + * @function + * + * Sets callback function invoked when the stream is closed. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_stream_close_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_stream_close_callback on_stream_close_callback); + +/** + * @function + * + * Sets callback function invoked when the reception of header block + * in HEADERS or PUSH_PROMISE is started. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_begin_headers_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_begin_headers_callback on_begin_headers_callback); + +/** + * @function + * + * Sets callback function invoked when a header name/value pair is + * received. If both + * `nghttp2_session_callbacks_set_on_header_callback()` and + * `nghttp2_session_callbacks_set_on_header_callback2()` are used to + * set callbacks, the latter has the precedence. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_header_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_header_callback on_header_callback); + +/** + * @function + * + * Sets callback function invoked when a header name/value pair is + * received. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_header_callback2( + nghttp2_session_callbacks *cbs, + nghttp2_on_header_callback2 on_header_callback2); + +/** + * @function + * + * Sets callback function invoked when a invalid header name/value + * pair is received. If both + * `nghttp2_session_callbacks_set_on_invalid_header_callback()` and + * `nghttp2_session_callbacks_set_on_invalid_header_callback2()` are + * used to set callbacks, the latter takes the precedence. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_invalid_header_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_invalid_header_callback on_invalid_header_callback); + +/** + * @function + * + * Sets callback function invoked when a invalid header name/value + * pair is received. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_invalid_header_callback2( + nghttp2_session_callbacks *cbs, + nghttp2_on_invalid_header_callback2 on_invalid_header_callback2); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use + * `nghttp2_session_callbacks_set_select_padding_callback2()` with + * :type:`nghttp2_select_padding_callback2` instead. + * + * Sets callback function invoked when the library asks application + * how many padding bytes are required for the transmission of the + * given frame. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_select_padding_callback( + nghttp2_session_callbacks *cbs, + nghttp2_select_padding_callback select_padding_callback); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Sets callback function invoked when the library asks application + * how many padding bytes are required for the transmission of the + * given frame. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_select_padding_callback2( + nghttp2_session_callbacks *cbs, + nghttp2_select_padding_callback2 select_padding_callback); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use + * `nghttp2_session_callbacks_set_data_source_read_length_callback2()` + * with :type:`nghttp2_data_source_read_length_callback2` instead. + * + * Sets callback function determine the length allowed in + * :type:`nghttp2_data_source_read_callback`. + */ +NGHTTP2_EXTERN void +nghttp2_session_callbacks_set_data_source_read_length_callback( + nghttp2_session_callbacks *cbs, + nghttp2_data_source_read_length_callback data_source_read_length_callback); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Sets callback function determine the length allowed in + * :type:`nghttp2_data_source_read_callback2`. + */ +NGHTTP2_EXTERN void +nghttp2_session_callbacks_set_data_source_read_length_callback2( + nghttp2_session_callbacks *cbs, + nghttp2_data_source_read_length_callback2 data_source_read_length_callback); + +/** + * @function + * + * Sets callback function invoked when a frame header is received. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_on_begin_frame_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_begin_frame_callback on_begin_frame_callback); + +/** + * @function + * + * Sets callback function invoked when + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_COPY` is used in + * :type:`nghttp2_data_source_read_callback2` to avoid data copy. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_send_data_callback( + nghttp2_session_callbacks *cbs, + nghttp2_send_data_callback send_data_callback); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use + * `nghttp2_session_callbacks_set_pack_extension_callback2()` with + * :type:`nghttp2_pack_extension_callback2` instead. + * + * Sets callback function invoked when the library asks the + * application to pack extension frame payload in wire format. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_pack_extension_callback( + nghttp2_session_callbacks *cbs, + nghttp2_pack_extension_callback pack_extension_callback); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Sets callback function invoked when the library asks the + * application to pack extension frame payload in wire format. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_pack_extension_callback2( + nghttp2_session_callbacks *cbs, + nghttp2_pack_extension_callback2 pack_extension_callback); + +/** + * @function + * + * Sets callback function invoked when the library asks the + * application to unpack extension frame payload from wire format. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_unpack_extension_callback( + nghttp2_session_callbacks *cbs, + nghttp2_unpack_extension_callback unpack_extension_callback); + +/** + * @function + * + * Sets callback function invoked when chunk of extension frame + * payload is received. + */ +NGHTTP2_EXTERN void +nghttp2_session_callbacks_set_on_extension_chunk_recv_callback( + nghttp2_session_callbacks *cbs, + nghttp2_on_extension_chunk_recv_callback on_extension_chunk_recv_callback); + +/** + * @function + * + * .. warning:: + * + * Deprecated. Use + * `nghttp2_session_callbacks_set_error_callback2()` with + * :type:`nghttp2_error_callback2` instead. + * + * Sets callback function invoked when library tells error message to + * the application. + * + * If both :type:`nghttp2_error_callback` and + * :type:`nghttp2_error_callback2` are set, the latter takes + * precedence. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_error_callback( + nghttp2_session_callbacks *cbs, nghttp2_error_callback error_callback); + +/** + * @function + * + * Sets callback function invoked when library tells error code, and + * message to the application. + * + * If both :type:`nghttp2_error_callback` and + * :type:`nghttp2_error_callback2` are set, the latter takes + * precedence. + */ +NGHTTP2_EXTERN void nghttp2_session_callbacks_set_error_callback2( + nghttp2_session_callbacks *cbs, nghttp2_error_callback2 error_callback2); + +/** + * @functypedef + * + * Custom memory allocator to replace malloc(). The |mem_user_data| + * is the mem_user_data member of :type:`nghttp2_mem` structure. + */ +typedef void *(*nghttp2_malloc)(size_t size, void *mem_user_data); + +/** + * @functypedef + * + * Custom memory allocator to replace free(). The |mem_user_data| is + * the mem_user_data member of :type:`nghttp2_mem` structure. + */ +typedef void (*nghttp2_free)(void *ptr, void *mem_user_data); + +/** + * @functypedef + * + * Custom memory allocator to replace calloc(). The |mem_user_data| + * is the mem_user_data member of :type:`nghttp2_mem` structure. + */ +typedef void *(*nghttp2_calloc)(size_t nmemb, size_t size, void *mem_user_data); + +/** + * @functypedef + * + * Custom memory allocator to replace realloc(). The |mem_user_data| + * is the mem_user_data member of :type:`nghttp2_mem` structure. + */ +typedef void *(*nghttp2_realloc)(void *ptr, size_t size, void *mem_user_data); + +/** + * @struct + * + * Custom memory allocator functions and user defined pointer. The + * |mem_user_data| member is passed to each allocator function. This + * can be used, for example, to achieve per-session memory pool. + * + * In the following example code, ``my_malloc``, ``my_free``, + * ``my_calloc`` and ``my_realloc`` are the replacement of the + * standard allocators ``malloc``, ``free``, ``calloc`` and + * ``realloc`` respectively:: + * + * void *my_malloc_cb(size_t size, void *mem_user_data) { + * return my_malloc(size); + * } + * + * void my_free_cb(void *ptr, void *mem_user_data) { my_free(ptr); } + * + * void *my_calloc_cb(size_t nmemb, size_t size, void *mem_user_data) { + * return my_calloc(nmemb, size); + * } + * + * void *my_realloc_cb(void *ptr, size_t size, void *mem_user_data) { + * return my_realloc(ptr, size); + * } + * + * void session_new() { + * nghttp2_session *session; + * nghttp2_session_callbacks *callbacks; + * nghttp2_mem mem = {NULL, my_malloc_cb, my_free_cb, my_calloc_cb, + * my_realloc_cb}; + * + * ... + * + * nghttp2_session_client_new3(&session, callbacks, NULL, NULL, &mem); + * + * ... + * } + */ +typedef struct { + /** + * An arbitrary user supplied data. This is passed to each + * allocator function. + */ + void *mem_user_data; + /** + * Custom allocator function to replace malloc(). + */ + nghttp2_malloc malloc; + /** + * Custom allocator function to replace free(). + */ + nghttp2_free free; + /** + * Custom allocator function to replace calloc(). + */ + nghttp2_calloc calloc; + /** + * Custom allocator function to replace realloc(). + */ + nghttp2_realloc realloc; +} nghttp2_mem; + +struct nghttp2_option; + +/** + * @struct + * + * Configuration options for :type:`nghttp2_session`. The details of + * this structure are intentionally hidden from the public API. + */ +typedef struct nghttp2_option nghttp2_option; + +/** + * @function + * + * Initializes |*option_ptr| with default values. + * + * When the application finished using this object, it can use + * `nghttp2_option_del()` to free its memory. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_option_new(nghttp2_option **option_ptr); + +/** + * @function + * + * Frees any resources allocated for |option|. If |option| is + * ``NULL``, this function does nothing. + */ +NGHTTP2_EXTERN void nghttp2_option_del(nghttp2_option *option); + +/** + * @function + * + * This option prevents the library from sending WINDOW_UPDATE for a + * connection automatically. If this option is set to nonzero, the + * library won't send WINDOW_UPDATE for DATA until application calls + * `nghttp2_session_consume()` to indicate the consumed amount of + * data. Don't use `nghttp2_submit_window_update()` for this purpose. + * By default, this option is set to zero. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_no_auto_window_update(nghttp2_option *option, int val); + +/** + * @function + * + * This option sets the SETTINGS_MAX_CONCURRENT_STREAMS value of + * remote endpoint as if it is received in SETTINGS frame. Without + * specifying this option, the maximum number of outgoing concurrent + * streams is initially limited to 100 to avoid issues when the local + * endpoint submits lots of requests before receiving initial SETTINGS + * frame from the remote endpoint, since sending them at once to the + * remote endpoint could lead to rejection of some of the requests. + * This value will be overwritten when the local endpoint receives + * initial SETTINGS frame from the remote endpoint, either to the + * value advertised in SETTINGS_MAX_CONCURRENT_STREAMS or to the + * default value (unlimited) if none was advertised. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_peer_max_concurrent_streams(nghttp2_option *option, + uint32_t val); + +/** + * @function + * + * By default, nghttp2 library, if configured as server, requires + * first 24 bytes of client magic byte string (MAGIC). In most cases, + * this will simplify the implementation of server. But sometimes + * server may want to detect the application protocol based on first + * few bytes on clear text communication. + * + * If this option is used with nonzero |val|, nghttp2 library does not + * handle MAGIC. It still checks following SETTINGS frame. This + * means that applications should deal with MAGIC by themselves. + * + * If this option is not used or used with zero value, if MAGIC does + * not match :macro:`NGHTTP2_CLIENT_MAGIC`, `nghttp2_session_recv()` + * and `nghttp2_session_mem_recv2()` will return error + * :enum:`nghttp2_error.NGHTTP2_ERR_BAD_CLIENT_MAGIC`, which is fatal + * error. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_no_recv_client_magic(nghttp2_option *option, int val); + +/** + * @function + * + * By default, nghttp2 library enforces subset of HTTP Messaging rules + * described in `HTTP/2 specification, section 8 + * `_. See + * :ref:`http-messaging` section for details. For those applications + * who use nghttp2 library as non-HTTP use, give nonzero to |val| to + * disable this enforcement. Please note that disabling this feature + * does not change the fundamental client and server model of HTTP. + * That is, even if the validation is disabled, only client can send + * requests. + */ +NGHTTP2_EXTERN void nghttp2_option_set_no_http_messaging(nghttp2_option *option, + int val); + +/** + * @function + * + * RFC 7540 does not enforce any limit on the number of incoming + * reserved streams (in RFC 7540 terms, streams in reserved (remote) + * state). This only affects client side, since only server can push + * streams. Malicious server can push arbitrary number of streams, + * and make client's memory exhausted. This option can set the + * maximum number of such incoming streams to avoid possible memory + * exhaustion. If this option is set, and pushed streams are + * automatically closed on reception, without calling user provided + * callback, if they exceed the given limit. The default value is + * 200. If session is configured as server side, this option has no + * effect. Server can control the number of streams to push. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_max_reserved_remote_streams(nghttp2_option *option, + uint32_t val); + +/** + * @function + * + * Sets extension frame type the application is willing to handle with + * user defined callbacks (see + * :type:`nghttp2_on_extension_chunk_recv_callback` and + * :type:`nghttp2_unpack_extension_callback`). The |type| is + * extension frame type, and must be strictly greater than 0x9. + * Otherwise, this function does nothing. The application can call + * this function multiple times to set more than one frame type to + * receive. The application does not have to call this function if it + * just sends extension frames. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_user_recv_extension_type(nghttp2_option *option, + uint8_t type); + +/** + * @function + * + * Sets extension frame type the application is willing to receive + * using builtin handler. The |type| is the extension frame type to + * receive, and must be strictly greater than 0x9. Otherwise, this + * function does nothing. The application can call this function + * multiple times to set more than one frame type to receive. The + * application does not have to call this function if it just sends + * extension frames. + * + * If same frame type is passed to both + * `nghttp2_option_set_builtin_recv_extension_type()` and + * `nghttp2_option_set_user_recv_extension_type()`, the latter takes + * precedence. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_builtin_recv_extension_type(nghttp2_option *option, + uint8_t type); + +/** + * @function + * + * This option prevents the library from sending PING frame with ACK + * flag set automatically when PING frame without ACK flag set is + * received. If this option is set to nonzero, the library won't send + * PING frame with ACK flag set in the response for incoming PING + * frame. The application can send PING frame with ACK flag set using + * `nghttp2_submit_ping()` with :enum:`nghttp2_flag.NGHTTP2_FLAG_ACK` + * as flags parameter. + */ +NGHTTP2_EXTERN void nghttp2_option_set_no_auto_ping_ack(nghttp2_option *option, + int val); + +/** + * @function + * + * This option sets the maximum length of header block (a set of + * header fields per one HEADERS frame) to send. The length of a + * given set of header fields is calculated using + * `nghttp2_hd_deflate_bound()`. The default value is 64KiB. If + * application attempts to send header fields larger than this limit, + * the transmission of the frame fails with error code + * :enum:`nghttp2_error.NGHTTP2_ERR_FRAME_SIZE_ERROR`. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_max_send_header_block_length(nghttp2_option *option, + size_t val); + +/** + * @function + * + * This option sets the maximum dynamic table size for deflating + * header fields. The default value is 4KiB. In HTTP/2, receiver of + * deflated header block can specify maximum dynamic table size. The + * actual maximum size is the minimum of the size receiver specified + * and this option value. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_max_deflate_dynamic_table_size(nghttp2_option *option, + size_t val); + +/** + * @function + * + * .. warning:: + * + * Deprecated. Closed streams are not retained anymore. + * + * This function works as before, but it does not take any effect + * against :type:`nghttp2_session`. + */ +NGHTTP2_EXTERN void nghttp2_option_set_no_closed_streams(nghttp2_option *option, + int val); + +/** + * @function + * + * This function sets the maximum number of outgoing SETTINGS ACK and + * PING ACK frames retained in :type:`nghttp2_session` object. If + * more than those frames are retained, the peer is considered to be + * misbehaving and session will be closed. The default value is 1000. + */ +NGHTTP2_EXTERN void nghttp2_option_set_max_outbound_ack(nghttp2_option *option, + size_t val); + +/** + * @function + * + * This function sets the maximum number of SETTINGS entries per + * SETTINGS frame that will be accepted. If more than those entries + * are received, the peer is considered to be misbehaving and session + * will be closed. The default value is 32. + */ +NGHTTP2_EXTERN void nghttp2_option_set_max_settings(nghttp2_option *option, + size_t val); + +/** + * @function + * + * .. warning:: + * Deprecated. :rfc:`7540` priorities have been removed. + * + * This function works as before, but it does not take any effect + * against :type:`nghttp2_session`. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_server_fallback_rfc7540_priorities(nghttp2_option *option, + int val); + +/** + * @function + * + * This option, if set to nonzero, turns off RFC 9113 leading and + * trailing white spaces validation against HTTP field value. Some + * important fields, such as HTTP/2 pseudo header fields, are + * validated more strictly and this option does not apply to them. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation( + nghttp2_option *option, int val); + +/** + * @function + * + * This function sets the rate limit for the incoming stream reset + * (RST_STREAM frame). It is server use only. It is a token-bucket + * based rate limiter. |burst| specifies the number of tokens that is + * initially available. The maximum number of tokens is capped to + * this value. |rate| specifies the number of tokens that are + * regenerated per second. An incoming RST_STREAM consumes one token. + * If there is no token available, GOAWAY is sent to tear down the + * connection. |burst| and |rate| default to 1000 and 33 + * respectively. + */ +NGHTTP2_EXTERN void +nghttp2_option_set_stream_reset_rate_limit(nghttp2_option *option, + uint64_t burst, uint64_t rate); + +/** + * @function + * + * This function sets the maximum number of CONTINUATION frames + * following an incoming HEADER frame. If more than those frames are + * received, the remote endpoint is considered to be misbehaving and + * session will be closed. The default value is 8. + */ +NGHTTP2_EXTERN void nghttp2_option_set_max_continuations(nghttp2_option *option, + size_t val); + +/** + * @function + * + * Initializes |*session_ptr| for client use. The all members of + * |callbacks| are copied to |*session_ptr|. Therefore |*session_ptr| + * does not store |callbacks|. The |user_data| is an arbitrary user + * supplied data, which will be passed to the callback functions. + * + * The :type:`nghttp2_send_callback2` must be specified. If the + * application code uses `nghttp2_session_recv()`, the + * :type:`nghttp2_recv_callback` must be specified. The other members + * of |callbacks| can be ``NULL``. + * + * If this function fails, |*session_ptr| is left untouched. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_session_client_new(nghttp2_session **session_ptr, + const nghttp2_session_callbacks *callbacks, + void *user_data); + +/** + * @function + * + * Initializes |*session_ptr| for server use. The all members of + * |callbacks| are copied to |*session_ptr|. Therefore |*session_ptr| + * does not store |callbacks|. The |user_data| is an arbitrary user + * supplied data, which will be passed to the callback functions. + * + * The :type:`nghttp2_send_callback2` must be specified. If the + * application code uses `nghttp2_session_recv()`, the + * :type:`nghttp2_recv_callback` must be specified. The other members + * of |callbacks| can be ``NULL``. + * + * If this function fails, |*session_ptr| is left untouched. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_session_server_new(nghttp2_session **session_ptr, + const nghttp2_session_callbacks *callbacks, + void *user_data); + +/** + * @function + * + * Like `nghttp2_session_client_new()`, but with additional options + * specified in the |option|. + * + * The |option| can be ``NULL`` and the call is equivalent to + * `nghttp2_session_client_new()`. + * + * This function does not take ownership |option|. The application is + * responsible for freeing |option| if it finishes using the object. + * + * The library code does not refer to |option| after this function + * returns. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_session_client_new2(nghttp2_session **session_ptr, + const nghttp2_session_callbacks *callbacks, + void *user_data, const nghttp2_option *option); + +/** + * @function + * + * Like `nghttp2_session_server_new()`, but with additional options + * specified in the |option|. + * + * The |option| can be ``NULL`` and the call is equivalent to + * `nghttp2_session_server_new()`. + * + * This function does not take ownership |option|. The application is + * responsible for freeing |option| if it finishes using the object. + * + * The library code does not refer to |option| after this function + * returns. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_session_server_new2(nghttp2_session **session_ptr, + const nghttp2_session_callbacks *callbacks, + void *user_data, const nghttp2_option *option); + +/** + * @function + * + * Like `nghttp2_session_client_new2()`, but with additional custom + * memory allocator specified in the |mem|. + * + * The |mem| can be ``NULL`` and the call is equivalent to + * `nghttp2_session_client_new2()`. + * + * This function does not take ownership |mem|. The application is + * responsible for freeing |mem|. + * + * The library code does not refer to |mem| pointer after this + * function returns, so the application can safely free it. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_session_client_new3( + nghttp2_session **session_ptr, const nghttp2_session_callbacks *callbacks, + void *user_data, const nghttp2_option *option, nghttp2_mem *mem); + +/** + * @function + * + * Like `nghttp2_session_server_new2()`, but with additional custom + * memory allocator specified in the |mem|. + * + * The |mem| can be ``NULL`` and the call is equivalent to + * `nghttp2_session_server_new2()`. + * + * This function does not take ownership |mem|. The application is + * responsible for freeing |mem|. + * + * The library code does not refer to |mem| pointer after this + * function returns, so the application can safely free it. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_session_server_new3( + nghttp2_session **session_ptr, const nghttp2_session_callbacks *callbacks, + void *user_data, const nghttp2_option *option, nghttp2_mem *mem); + +/** + * @function + * + * Frees any resources allocated for |session|. If |session| is + * ``NULL``, this function does nothing. + */ +NGHTTP2_EXTERN void nghttp2_session_del(nghttp2_session *session); + +/** + * @function + * + * Sends pending frames to the remote peer. + * + * This function retrieves the highest prioritized frame from the + * outbound queue and sends it to the remote peer. It does this as + * many times as possible until the user callback + * :type:`nghttp2_send_callback2` returns + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`, the outbound queue + * becomes empty or flow control is triggered (remote window size + * becomes depleted or maximum number of concurrent streams is + * reached). This function calls several callback functions which are + * passed when initializing the |session|. Here is the simple time + * chart which tells when each callback is invoked: + * + * 1. Get the next frame to send from outbound queue. + * + * 2. Prepare transmission of the frame. + * + * 3. If the control frame cannot be sent because some preconditions + * are not met (e.g., request HEADERS cannot be sent after GOAWAY), + * :type:`nghttp2_on_frame_not_send_callback` is invoked. Abort + * the following steps. + * + * 4. If the frame is HEADERS, PUSH_PROMISE or DATA, + * :type:`nghttp2_select_padding_callback` is invoked. + * + * 5. If the frame is request HEADERS, the stream is opened here. + * + * 6. :type:`nghttp2_before_frame_send_callback` is invoked. + * + * 7. If :enum:`nghttp2_error.NGHTTP2_ERR_CANCEL` is returned from + * :type:`nghttp2_before_frame_send_callback`, the current frame + * transmission is canceled, and + * :type:`nghttp2_on_frame_not_send_callback` is invoked. Abort + * the following steps. + * + * 8. :type:`nghttp2_send_callback2` is invoked one or more times to + * send the frame. + * + * 9. :type:`nghttp2_on_frame_send_callback` is invoked. + * + * 10. If the transmission of the frame triggers closure of the + * stream, the stream is closed and + * :type:`nghttp2_on_stream_close_callback` is invoked. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` + * The callback function failed. + */ +NGHTTP2_EXTERN int nghttp2_session_send(nghttp2_session *session); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_session_mem_send2()` instead. + * + * Returns the serialized data to send. + * + * This function behaves like `nghttp2_session_send()` except that it + * does not use :type:`nghttp2_send_callback` to transmit data. + * Instead, it assigns the pointer to the serialized data to the + * |*data_ptr| and returns its length. The other callbacks are called + * in the same way as they are in `nghttp2_session_send()`. + * + * If no data is available to send, this function returns 0. + * + * This function may not return all serialized data in one invocation. + * To get all data, call this function repeatedly until it returns 0 + * or one of negative error codes. + * + * The assigned |*data_ptr| is valid until the next call of + * `nghttp2_session_mem_send()` or `nghttp2_session_send()`. + * + * The caller must send all data before sending the next chunk of + * data. + * + * This function returns the length of the data pointed by the + * |*data_ptr| if it succeeds, or one of the following negative error + * codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * + * .. note:: + * + * This function may produce very small byte string. If that is the + * case, and application disables Nagle algorithm (``TCP_NODELAY``), + * then writing this small chunk leads to very small packet, and it + * is very inefficient. An application should be responsible to + * buffer up small chunks of data as necessary to avoid this + * situation. + */ +NGHTTP2_EXTERN ssize_t nghttp2_session_mem_send(nghttp2_session *session, + const uint8_t **data_ptr); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Returns the serialized data to send. + * + * This function behaves like `nghttp2_session_send()` except that it + * does not use :type:`nghttp2_send_callback2` to transmit data. + * Instead, it assigns the pointer to the serialized data to the + * |*data_ptr| and returns its length. The other callbacks are called + * in the same way as they are in `nghttp2_session_send()`. + * + * If no data is available to send, this function returns 0. + * + * This function may not return all serialized data in one invocation. + * To get all data, call this function repeatedly until it returns 0 + * or one of negative error codes. + * + * The assigned |*data_ptr| is valid until the next call of + * `nghttp2_session_mem_send2()` or `nghttp2_session_send()`. + * + * The caller must send all data before sending the next chunk of + * data. + * + * This function returns the length of the data pointed by the + * |*data_ptr| if it succeeds, or one of the following negative error + * codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * + * .. note:: + * + * This function may produce very small byte string. If that is the + * case, and application disables Nagle algorithm (``TCP_NODELAY``), + * then writing this small chunk leads to very small packet, and it + * is very inefficient. An application should be responsible to + * buffer up small chunks of data as necessary to avoid this + * situation. + */ +NGHTTP2_EXTERN nghttp2_ssize +nghttp2_session_mem_send2(nghttp2_session *session, const uint8_t **data_ptr); + +/** + * @function + * + * Receives frames from the remote peer. + * + * This function receives as many frames as possible until the user + * callback :type:`nghttp2_recv_callback` returns + * :enum:`nghttp2_error.NGHTTP2_ERR_WOULDBLOCK`. This function calls + * several callback functions which are passed when initializing the + * |session|. Here is the simple time chart which tells when each + * callback is invoked: + * + * 1. :type:`nghttp2_recv_callback` is invoked one or more times to + * receive frame header. + * + * 2. When frame header is received, + * :type:`nghttp2_on_begin_frame_callback` is invoked. + * + * 3. If the frame is DATA frame: + * + * 1. :type:`nghttp2_recv_callback` is invoked to receive DATA + * payload. For each chunk of data, + * :type:`nghttp2_on_data_chunk_recv_callback` is invoked. + * + * 2. If one DATA frame is completely received, + * :type:`nghttp2_on_frame_recv_callback` is invoked. If the + * reception of the frame triggers the closure of the stream, + * :type:`nghttp2_on_stream_close_callback` is invoked. + * + * 4. If the frame is the control frame: + * + * 1. :type:`nghttp2_recv_callback` is invoked one or more times to + * receive whole frame. + * + * 2. If the received frame is valid, then following actions are + * taken. If the frame is either HEADERS or PUSH_PROMISE, + * :type:`nghttp2_on_begin_headers_callback` is invoked. Then + * :type:`nghttp2_on_header_callback` is invoked for each header + * name/value pair. For invalid header field, + * :type:`nghttp2_on_invalid_header_callback` is called. After + * all name/value pairs are emitted successfully, + * :type:`nghttp2_on_frame_recv_callback` is invoked. For other + * frames, :type:`nghttp2_on_frame_recv_callback` is invoked. + * If the reception of the frame triggers the closure of the + * stream, :type:`nghttp2_on_stream_close_callback` is invoked. + * + * 3. If the received frame is unpacked but is interpreted as + * invalid, :type:`nghttp2_on_invalid_frame_recv_callback` is + * invoked. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_EOF` + * The remote peer did shutdown on the connection. + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` + * The callback function failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_BAD_CLIENT_MAGIC` + * Invalid client magic was detected. This error only returns + * when |session| was configured as server and + * `nghttp2_option_set_no_recv_client_magic()` is not used with + * nonzero value. + * :enum:`nghttp2_error.NGHTTP2_ERR_FLOODED` + * Flooding was detected in this HTTP/2 session, and it must be + * closed. This is most likely caused by misbehaviour of peer. + */ +NGHTTP2_EXTERN int nghttp2_session_recv(nghttp2_session *session); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_session_mem_recv2()` instead. + * + * Processes data |in| as an input from the remote endpoint. The + * |inlen| indicates the number of bytes to receive in the |in|. + * + * This function behaves like `nghttp2_session_recv()` except that it + * does not use :type:`nghttp2_recv_callback` to receive data; the + * |in| is the only data for the invocation of this function. If all + * bytes are processed, this function returns. The other callbacks + * are called in the same way as they are in `nghttp2_session_recv()`. + * + * In the current implementation, this function always tries to + * processes |inlen| bytes of input data unless either an error occurs or + * :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` is returned from + * :type:`nghttp2_on_header_callback` or + * :type:`nghttp2_on_data_chunk_recv_callback`. If + * :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` is used, the return value + * includes the number of bytes which was used to produce the data or + * frame for the callback. + * + * This function returns the number of processed bytes, or one of the + * following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` + * The callback function failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_BAD_CLIENT_MAGIC` + * Invalid client magic was detected. This error only returns + * when |session| was configured as server and + * `nghttp2_option_set_no_recv_client_magic()` is not used with + * nonzero value. + * :enum:`nghttp2_error.NGHTTP2_ERR_FLOODED` + * Flooding was detected in this HTTP/2 session, and it must be + * closed. This is most likely caused by misbehaviour of peer. + */ +NGHTTP2_EXTERN ssize_t nghttp2_session_mem_recv(nghttp2_session *session, + const uint8_t *in, + size_t inlen); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Processes data |in| as an input from the remote endpoint. The + * |inlen| indicates the number of bytes to receive in the |in|. + * + * This function behaves like `nghttp2_session_recv()` except that it + * does not use :type:`nghttp2_recv_callback` to receive data; the + * |in| is the only data for the invocation of this function. If all + * bytes are processed, this function returns. The other callbacks + * are called in the same way as they are in `nghttp2_session_recv()`. + * + * In the current implementation, this function always tries to + * processes |inlen| bytes of input data unless either an error occurs or + * :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` is returned from + * :type:`nghttp2_on_header_callback` or + * :type:`nghttp2_on_data_chunk_recv_callback`. If + * :enum:`nghttp2_error.NGHTTP2_ERR_PAUSE` is used, the return value + * includes the number of bytes which was used to produce the data or + * frame for the callback. + * + * This function returns the number of processed bytes, or one of the + * following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_CALLBACK_FAILURE` + * The callback function failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_BAD_CLIENT_MAGIC` + * Invalid client magic was detected. This error only returns + * when |session| was configured as server and + * `nghttp2_option_set_no_recv_client_magic()` is not used with + * nonzero value. + * :enum:`nghttp2_error.NGHTTP2_ERR_FLOODED` + * Flooding was detected in this HTTP/2 session, and it must be + * closed. This is most likely caused by misbehaviour of peer. + */ +NGHTTP2_EXTERN nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, + const uint8_t *in, + size_t inlen); + +/** + * @function + * + * Puts back previously deferred DATA frame in the stream |stream_id| + * to the outbound queue. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The stream does not exist; or no deferred data exist. + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_session_resume_data(nghttp2_session *session, + int32_t stream_id); + +/** + * @function + * + * Returns nonzero value if |session| wants to receive data from the + * remote peer. + * + * If both `nghttp2_session_want_read()` and + * `nghttp2_session_want_write()` return 0, the application should + * drop the connection. + */ +NGHTTP2_EXTERN int nghttp2_session_want_read(nghttp2_session *session); + +/** + * @function + * + * Returns nonzero value if |session| wants to send data to the remote + * peer. + * + * If both `nghttp2_session_want_read()` and + * `nghttp2_session_want_write()` return 0, the application should + * drop the connection. + */ +NGHTTP2_EXTERN int nghttp2_session_want_write(nghttp2_session *session); + +/** + * @function + * + * Returns stream_user_data for the stream |stream_id|. The + * stream_user_data is provided by `nghttp2_submit_request2()`, + * `nghttp2_submit_headers()` or + * `nghttp2_session_set_stream_user_data()`. Unless it is set using + * `nghttp2_session_set_stream_user_data()`, if the stream is + * initiated by the remote endpoint, stream_user_data is always + * ``NULL``. If the stream does not exist, this function returns + * ``NULL``. + */ +NGHTTP2_EXTERN void * +nghttp2_session_get_stream_user_data(nghttp2_session *session, + int32_t stream_id); + +/** + * @function + * + * Sets the |stream_user_data| to the stream denoted by the + * |stream_id|. If a stream user data is already set to the stream, + * it is replaced with the |stream_user_data|. It is valid to specify + * ``NULL`` in the |stream_user_data|, which nullifies the associated + * data pointer. + * + * It is valid to set the |stream_user_data| to the stream reserved by + * PUSH_PROMISE frame. + * + * This function returns 0 if it succeeds, or one of following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The stream does not exist + */ +NGHTTP2_EXTERN int +nghttp2_session_set_stream_user_data(nghttp2_session *session, + int32_t stream_id, void *stream_user_data); + +/** + * @function + * + * Sets |user_data| to |session|, overwriting the existing user data + * specified in `nghttp2_session_client_new()`, or + * `nghttp2_session_server_new()`. + */ +NGHTTP2_EXTERN void nghttp2_session_set_user_data(nghttp2_session *session, + void *user_data); + +/** + * @function + * + * Returns the number of frames in the outbound queue. This does not + * include the deferred DATA frames. + */ +NGHTTP2_EXTERN size_t +nghttp2_session_get_outbound_queue_size(nghttp2_session *session); + +/** + * @function + * + * Returns the number of DATA payload in bytes received without + * WINDOW_UPDATE transmission for the stream |stream_id|. The local + * (receive) window size can be adjusted by + * `nghttp2_submit_window_update()`. This function takes into account + * that and returns effective data length. In particular, if the + * local window size is reduced by submitting negative + * window_size_increment with `nghttp2_submit_window_update()`, this + * function returns the number of bytes less than actually received. + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t nghttp2_session_get_stream_effective_recv_data_length( + nghttp2_session *session, int32_t stream_id); + +/** + * @function + * + * Returns the local (receive) window size for the stream |stream_id|. + * The local window size can be adjusted by + * `nghttp2_submit_window_update()`. This function takes into account + * that and returns effective window size. + * + * This function does not take into account the amount of received + * data from the remote endpoint. Use + * `nghttp2_session_get_stream_local_window_size()` to know the amount + * of data the remote endpoint can send without receiving stream level + * WINDOW_UPDATE frame. Note that each stream is still subject to the + * connection level flow control. + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t nghttp2_session_get_stream_effective_local_window_size( + nghttp2_session *session, int32_t stream_id); + +/** + * @function + * + * Returns the amount of flow-controlled payload (e.g., DATA) that the + * remote endpoint can send without receiving stream level + * WINDOW_UPDATE frame. It is also subject to the connection level + * flow control. So the actual amount of data to send is + * min(`nghttp2_session_get_stream_local_window_size()`, + * `nghttp2_session_get_local_window_size()`). + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t nghttp2_session_get_stream_local_window_size( + nghttp2_session *session, int32_t stream_id); + +/** + * @function + * + * Returns the number of DATA payload in bytes received without + * WINDOW_UPDATE transmission for a connection. The local (receive) + * window size can be adjusted by `nghttp2_submit_window_update()`. + * This function takes into account that and returns effective data + * length. In particular, if the local window size is reduced by + * submitting negative window_size_increment with + * `nghttp2_submit_window_update()`, this function returns the number + * of bytes less than actually received. + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t +nghttp2_session_get_effective_recv_data_length(nghttp2_session *session); + +/** + * @function + * + * Returns the local (receive) window size for a connection. The + * local window size can be adjusted by + * `nghttp2_submit_window_update()`. This function takes into account + * that and returns effective window size. + * + * This function does not take into account the amount of received + * data from the remote endpoint. Use + * `nghttp2_session_get_local_window_size()` to know the amount of + * data the remote endpoint can send without receiving + * connection-level WINDOW_UPDATE frame. Note that each stream is + * still subject to the stream level flow control. + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t +nghttp2_session_get_effective_local_window_size(nghttp2_session *session); + +/** + * @function + * + * Returns the amount of flow-controlled payload (e.g., DATA) that the + * remote endpoint can send without receiving connection level + * WINDOW_UPDATE frame. Note that each stream is still subject to the + * stream level flow control (see + * `nghttp2_session_get_stream_local_window_size()`). + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t +nghttp2_session_get_local_window_size(nghttp2_session *session); + +/** + * @function + * + * Returns the remote window size for a given stream |stream_id|. + * + * This is the amount of flow-controlled payload (e.g., DATA) that the + * local endpoint can send without stream level WINDOW_UPDATE. There + * is also connection level flow control, so the effective size of + * payload that the local endpoint can actually send is + * min(`nghttp2_session_get_stream_remote_window_size()`, + * `nghttp2_session_get_remote_window_size()`). + * + * This function returns -1 if it fails. + */ +NGHTTP2_EXTERN int32_t nghttp2_session_get_stream_remote_window_size( + nghttp2_session *session, int32_t stream_id); + +/** + * @function + * + * Returns the remote window size for a connection. + * + * This function always succeeds. + */ +NGHTTP2_EXTERN int32_t +nghttp2_session_get_remote_window_size(nghttp2_session *session); + +/** + * @function + * + * Returns 1 if local peer half closed the given stream |stream_id|. + * Returns 0 if it did not. Returns -1 if no such stream exists. + */ +NGHTTP2_EXTERN int +nghttp2_session_get_stream_local_close(nghttp2_session *session, + int32_t stream_id); + +/** + * @function + * + * Returns 1 if remote peer half closed the given stream |stream_id|. + * Returns 0 if it did not. Returns -1 if no such stream exists. + */ +NGHTTP2_EXTERN int +nghttp2_session_get_stream_remote_close(nghttp2_session *session, + int32_t stream_id); + +/** + * @function + * + * Returns the current dynamic table size of HPACK inflater, including + * the overhead 32 bytes per entry described in RFC 7541. + */ +NGHTTP2_EXTERN size_t +nghttp2_session_get_hd_inflate_dynamic_table_size(nghttp2_session *session); + +/** + * @function + * + * Returns the current dynamic table size of HPACK deflater including + * the overhead 32 bytes per entry described in RFC 7541. + */ +NGHTTP2_EXTERN size_t +nghttp2_session_get_hd_deflate_dynamic_table_size(nghttp2_session *session); + +/** + * @function + * + * Signals the session so that the connection should be terminated. + * + * The last stream ID is the minimum value between the stream ID of a + * stream for which :type:`nghttp2_on_frame_recv_callback` was called + * most recently and the last stream ID we have sent to the peer + * previously. + * + * The |error_code| is the error code of this GOAWAY frame. The + * pre-defined error code is one of :enum:`nghttp2_error_code`. + * + * After the transmission, both `nghttp2_session_want_read()` and + * `nghttp2_session_want_write()` return 0. + * + * This function should be called when the connection should be + * terminated after sending GOAWAY. If the remaining streams should + * be processed after GOAWAY, use `nghttp2_submit_goaway()` instead. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_session_terminate_session(nghttp2_session *session, + uint32_t error_code); + +/** + * @function + * + * Signals the session so that the connection should be terminated. + * + * This function behaves like `nghttp2_session_terminate_session()`, + * but the last stream ID can be specified by the application for fine + * grained control of stream. The HTTP/2 specification does not allow + * last_stream_id to be increased. So the actual value sent as + * last_stream_id is the minimum value between the given + * |last_stream_id| and the last_stream_id we have previously sent to + * the peer. + * + * The |last_stream_id| is peer's stream ID or 0. So if |session| is + * initialized as client, |last_stream_id| must be even or 0. If + * |session| is initialized as server, |last_stream_id| must be odd or + * 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |last_stream_id| is invalid. + */ +NGHTTP2_EXTERN int nghttp2_session_terminate_session2(nghttp2_session *session, + int32_t last_stream_id, + uint32_t error_code); + +/** + * @function + * + * Signals to the client that the server started graceful shutdown + * procedure. + * + * This function is only usable for server. If this function is + * called with client side session, this function returns + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. + * + * To gracefully shutdown HTTP/2 session, server should call this + * function to send GOAWAY with last_stream_id (1u << 31) - 1. And + * after some delay (e.g., 1 RTT), send another GOAWAY with the stream + * ID that the server has some processing using + * `nghttp2_submit_goaway()`. See also + * `nghttp2_session_get_last_proc_stream_id()`. + * + * Unlike `nghttp2_submit_goaway()`, this function just sends GOAWAY + * and does nothing more. This is a mere indication to the client + * that session shutdown is imminent. The application should call + * `nghttp2_submit_goaway()` with appropriate last_stream_id after + * this call. + * + * If one or more GOAWAY frame have been already sent by either + * `nghttp2_submit_goaway()` or `nghttp2_session_terminate_session()`, + * this function has no effect. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The |session| is initialized as client. + */ +NGHTTP2_EXTERN int nghttp2_submit_shutdown_notice(nghttp2_session *session); + +/** + * @function + * + * Returns the value of SETTINGS |id| notified by a remote endpoint. + * The |id| must be one of values defined in + * :enum:`nghttp2_settings_id`. + */ +NGHTTP2_EXTERN uint32_t nghttp2_session_get_remote_settings( + nghttp2_session *session, nghttp2_settings_id id); + +/** + * @function + * + * Returns the value of SETTINGS |id| of local endpoint acknowledged + * by the remote endpoint. The |id| must be one of the values defined + * in :enum:`nghttp2_settings_id`. + */ +NGHTTP2_EXTERN uint32_t nghttp2_session_get_local_settings( + nghttp2_session *session, nghttp2_settings_id id); + +/** + * @function + * + * Tells the |session| that next stream ID is |next_stream_id|. The + * |next_stream_id| must be equal or greater than the value returned + * by `nghttp2_session_get_next_stream_id()`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |next_stream_id| is strictly less than the value + * `nghttp2_session_get_next_stream_id()` returns; or + * |next_stream_id| is invalid (e.g., even integer for client, or + * odd integer for server). + */ +NGHTTP2_EXTERN int nghttp2_session_set_next_stream_id(nghttp2_session *session, + int32_t next_stream_id); + +/** + * @function + * + * Returns the next outgoing stream ID. Notice that return type is + * uint32_t. If we run out of stream ID for this session, this + * function returns 1 << 31. + */ +NGHTTP2_EXTERN uint32_t +nghttp2_session_get_next_stream_id(nghttp2_session *session); + +/** + * @function + * + * Tells the |session| that |size| bytes for a stream denoted by + * |stream_id| were consumed by application and are ready to + * WINDOW_UPDATE. The consumed bytes are counted towards both + * connection and stream level WINDOW_UPDATE (see + * `nghttp2_session_consume_connection()` and + * `nghttp2_session_consume_stream()` to update consumption + * independently). This function is intended to be used without + * automatic window update (see + * `nghttp2_option_set_no_auto_window_update()`). + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * Automatic WINDOW_UPDATE is not disabled. + */ +NGHTTP2_EXTERN int nghttp2_session_consume(nghttp2_session *session, + int32_t stream_id, size_t size); + +/** + * @function + * + * Like `nghttp2_session_consume()`, but this only tells library that + * |size| bytes were consumed only for connection level. Note that + * HTTP/2 maintains connection and stream level flow control windows + * independently. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * Automatic WINDOW_UPDATE is not disabled. + */ +NGHTTP2_EXTERN int nghttp2_session_consume_connection(nghttp2_session *session, + size_t size); + +/** + * @function + * + * Like `nghttp2_session_consume()`, but this only tells library that + * |size| bytes were consumed only for stream denoted by |stream_id|. + * Note that HTTP/2 maintains connection and stream level flow control + * windows independently. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * Automatic WINDOW_UPDATE is not disabled. + */ +NGHTTP2_EXTERN int nghttp2_session_consume_stream(nghttp2_session *session, + int32_t stream_id, + size_t size); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function is noop. It always returns 0. + */ +NGHTTP2_EXTERN int +nghttp2_session_change_stream_priority(nghttp2_session *session, + int32_t stream_id, + const nghttp2_priority_spec *pri_spec); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function is noop. It always returns 0. + */ +NGHTTP2_EXTERN int +nghttp2_session_create_idle_stream(nghttp2_session *session, int32_t stream_id, + const nghttp2_priority_spec *pri_spec); + +/** + * @function + * + * .. warning:: + * + * This function is deprecated in favor of + * `nghttp2_session_upgrade2()`, because this function lacks the + * parameter to tell the library the request method used in the + * original HTTP request. This information is required for client + * to validate actual response body length against content-length + * header field (see `nghttp2_option_set_no_http_messaging()`). If + * HEAD is used in request, the length of response body must be 0 + * regardless of value included in content-length header field. + * + * Performs post-process of HTTP Upgrade request. This function can + * be called from both client and server, but the behavior is very + * different in each other. + * + * If called from client side, the |settings_payload| must be the + * value sent in ``HTTP2-Settings`` header field and must be decoded + * by base64url decoder. The |settings_payloadlen| is the length of + * |settings_payload|. The |settings_payload| is unpacked and its + * setting values will be submitted using `nghttp2_submit_settings()`. + * This means that the client application code does not need to submit + * SETTINGS by itself. The stream with stream ID=1 is opened and the + * |stream_user_data| is used for its stream_user_data. The opened + * stream becomes half-closed (local) state. + * + * If called from server side, the |settings_payload| must be the + * value received in ``HTTP2-Settings`` header field and must be + * decoded by base64url decoder. The |settings_payloadlen| is the + * length of |settings_payload|. It is treated as if the SETTINGS + * frame with that payload is received. Thus, callback functions for + * the reception of SETTINGS frame will be invoked. The stream with + * stream ID=1 is opened. The |stream_user_data| is ignored. The + * opened stream becomes half-closed (remote). + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |settings_payload| is badly formed. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The stream ID 1 is already used or closed; or is not available. + */ +NGHTTP2_EXTERN int nghttp2_session_upgrade(nghttp2_session *session, + const uint8_t *settings_payload, + size_t settings_payloadlen, + void *stream_user_data); + +/** + * @function + * + * Performs post-process of HTTP Upgrade request. This function can + * be called from both client and server, but the behavior is very + * different in each other. + * + * If called from client side, the |settings_payload| must be the + * value sent in ``HTTP2-Settings`` header field and must be decoded + * by base64url decoder. The |settings_payloadlen| is the length of + * |settings_payload|. The |settings_payload| is unpacked and its + * setting values will be submitted using `nghttp2_submit_settings()`. + * This means that the client application code does not need to submit + * SETTINGS by itself. The stream with stream ID=1 is opened and the + * |stream_user_data| is used for its stream_user_data. The opened + * stream becomes half-closed (local) state. + * + * If called from server side, the |settings_payload| must be the + * value received in ``HTTP2-Settings`` header field and must be + * decoded by base64url decoder. The |settings_payloadlen| is the + * length of |settings_payload|. It is treated as if the SETTINGS + * frame with that payload is received. Thus, callback functions for + * the reception of SETTINGS frame will be invoked. The stream with + * stream ID=1 is opened. The |stream_user_data| is ignored. The + * opened stream becomes half-closed (remote). + * + * If the request method is HEAD, pass nonzero value to + * |head_request|. Otherwise, pass 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |settings_payload| is badly formed. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The stream ID 1 is already used or closed; or is not available. + */ +NGHTTP2_EXTERN int nghttp2_session_upgrade2(nghttp2_session *session, + const uint8_t *settings_payload, + size_t settings_payloadlen, + int head_request, + void *stream_user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_pack_settings_payload2()` instead. + * + * Serializes the SETTINGS values |iv| in the |buf|. The size of the + * |buf| is specified by |buflen|. The number of entries in the |iv| + * array is given by |niv|. The required space in |buf| for the |niv| + * entries is ``6*niv`` bytes and if the given buffer is too small, an + * error is returned. This function is used mainly for creating a + * SETTINGS payload to be sent with the ``HTTP2-Settings`` header + * field in an HTTP Upgrade request. The data written in |buf| is NOT + * base64url encoded and the application is responsible for encoding. + * + * This function returns the number of bytes written in |buf|, or one + * of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |iv| contains duplicate settings ID or invalid value. + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` + * The provided |buflen| size is too small to hold the output. + */ +NGHTTP2_EXTERN ssize_t nghttp2_pack_settings_payload( + uint8_t *buf, size_t buflen, const nghttp2_settings_entry *iv, size_t niv); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Serializes the SETTINGS values |iv| in the |buf|. The size of the + * |buf| is specified by |buflen|. The number of entries in the |iv| + * array is given by |niv|. The required space in |buf| for the |niv| + * entries is ``6*niv`` bytes and if the given buffer is too small, an + * error is returned. This function is used mainly for creating a + * SETTINGS payload to be sent with the ``HTTP2-Settings`` header + * field in an HTTP Upgrade request. The data written in |buf| is NOT + * base64url encoded and the application is responsible for encoding. + * + * This function returns the number of bytes written in |buf|, or one + * of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |iv| contains duplicate settings ID or invalid value. + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` + * The provided |buflen| size is too small to hold the output. + */ +NGHTTP2_EXTERN nghttp2_ssize nghttp2_pack_settings_payload2( + uint8_t *buf, size_t buflen, const nghttp2_settings_entry *iv, size_t niv); + +/** + * @function + * + * Returns string describing the |lib_error_code|. The + * |lib_error_code| must be one of the :enum:`nghttp2_error`. + */ +NGHTTP2_EXTERN const char *nghttp2_strerror(int lib_error_code); + +/** + * @function + * + * Returns string representation of HTTP/2 error code |error_code| + * (e.g., ``PROTOCOL_ERROR`` is returned if ``error_code == + * NGHTTP2_PROTOCOL_ERROR``). If string representation is unknown for + * given |error_code|, this function returns string ``unknown``. + */ +NGHTTP2_EXTERN const char *nghttp2_http2_strerror(uint32_t error_code); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * Initializes |pri_spec| with the |stream_id| of the stream to depend + * on with |weight| and its exclusive flag. If |exclusive| is + * nonzero, exclusive flag is set. + * + * The |weight| must be in [:macro:`NGHTTP2_MIN_WEIGHT`, + * :macro:`NGHTTP2_MAX_WEIGHT`], inclusive. + */ +NGHTTP2_EXTERN void nghttp2_priority_spec_init(nghttp2_priority_spec *pri_spec, + int32_t stream_id, + int32_t weight, int exclusive); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * Initializes |pri_spec| with the default values. The default values + * are: stream_id = 0, weight = :macro:`NGHTTP2_DEFAULT_WEIGHT` and + * exclusive = 0. + */ +NGHTTP2_EXTERN void +nghttp2_priority_spec_default_init(nghttp2_priority_spec *pri_spec); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * Returns nonzero if the |pri_spec| is filled with default values. + */ +NGHTTP2_EXTERN int +nghttp2_priority_spec_check_default(const nghttp2_priority_spec *pri_spec); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_submit_request2()` instead. + * + * Submits HEADERS frame and optionally one or more DATA frames. + * + * The |pri_spec| is ignored. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application is responsible to include + * required pseudo-header fields (header field whose name starts with + * ":") in |nva| and must place pseudo-headers before regular header + * fields. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * HTTP/2 specification has requirement about header fields in the + * request HEADERS. See the specification for more details. + * + * If |data_prd| is not ``NULL``, it provides data which will be sent + * in subsequent DATA frames. In this case, a method that allows + * request message bodies + * (https://tools.ietf.org/html/rfc7231#section-4) must be specified + * with ``:method`` key in |nva| (e.g. ``POST``). This function does + * not take ownership of the |data_prd|. The function copies the + * members of the |data_prd|. If |data_prd| is ``NULL``, HEADERS have + * END_STREAM set. The |stream_user_data| is data associated to the + * stream opened by this request and can be an arbitrary pointer, + * which can be retrieved later by + * `nghttp2_session_get_stream_user_data()`. + * + * This function returns assigned stream ID if it succeeds, or one of + * the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE` + * No stream ID is available because maximum stream ID was + * reached. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The |session| is server session. + * + * .. warning:: + * + * This function returns assigned stream ID if it succeeds. But + * that stream is not created yet. The application must not submit + * frame to that stream ID before + * :type:`nghttp2_before_frame_send_callback` is called for this + * frame. This means `nghttp2_session_get_stream_user_data()` does + * not work before the callback. But + * `nghttp2_session_set_stream_user_data()` handles this situation + * specially, and it can set data to a stream during this period. + * + */ +NGHTTP2_EXTERN int32_t nghttp2_submit_request( + nghttp2_session *session, const nghttp2_priority_spec *pri_spec, + const nghttp2_nv *nva, size_t nvlen, const nghttp2_data_provider *data_prd, + void *stream_user_data); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Submits HEADERS frame and optionally one or more DATA frames. + * + * The |pri_spec| is ignored. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application is responsible to include + * required pseudo-header fields (header field whose name starts with + * ":") in |nva| and must place pseudo-headers before regular header + * fields. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * HTTP/2 specification has requirement about header fields in the + * request HEADERS. See the specification for more details. + * + * If |data_prd| is not ``NULL``, it provides data which will be sent + * in subsequent DATA frames. In this case, a method that allows + * request message bodies + * (https://tools.ietf.org/html/rfc7231#section-4) must be specified + * with ``:method`` key in |nva| (e.g. ``POST``). This function does + * not take ownership of the |data_prd|. The function copies the + * members of the |data_prd|. If |data_prd| is ``NULL``, HEADERS have + * END_STREAM set. The |stream_user_data| is data associated to the + * stream opened by this request and can be an arbitrary pointer, + * which can be retrieved later by + * `nghttp2_session_get_stream_user_data()`. + * + * This function returns assigned stream ID if it succeeds, or one of + * the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE` + * No stream ID is available because maximum stream ID was + * reached. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The |session| is server session. + * + * .. warning:: + * + * This function returns assigned stream ID if it succeeds. But + * that stream is not created yet. The application must not submit + * frame to that stream ID before + * :type:`nghttp2_before_frame_send_callback` is called for this + * frame. This means `nghttp2_session_get_stream_user_data()` does + * not work before the callback. But + * `nghttp2_session_set_stream_user_data()` handles this situation + * specially, and it can set data to a stream during this period. + * + */ +NGHTTP2_EXTERN int32_t nghttp2_submit_request2( + nghttp2_session *session, const nghttp2_priority_spec *pri_spec, + const nghttp2_nv *nva, size_t nvlen, const nghttp2_data_provider2 *data_prd, + void *stream_user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_submit_response2()` instead. + * + * Submits response HEADERS frame and optionally one or more DATA + * frames against the stream |stream_id|. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application is responsible to include + * required pseudo-header fields (header field whose name starts with + * ":") in |nva| and must place pseudo-headers before regular header + * fields. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * HTTP/2 specification has requirement about header fields in the + * response HEADERS. See the specification for more details. + * + * If |data_prd| is not ``NULL``, it provides data which will be sent + * in subsequent DATA frames. This function does not take ownership + * of the |data_prd|. The function copies the members of the + * |data_prd|. If |data_prd| is ``NULL``, HEADERS will have + * END_STREAM flag set. + * + * This method can be used as normal HTTP response and push response. + * When pushing a resource using this function, the |session| must be + * configured using `nghttp2_session_server_new()` or its variants and + * the target stream denoted by the |stream_id| must be reserved using + * `nghttp2_submit_push_promise()`. + * + * To send non-final response headers (e.g., HTTP status 101), don't + * use this function because this function half-closes the outbound + * stream. Instead, use `nghttp2_submit_headers()` for this purpose. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` + * DATA or HEADERS has been already submitted and not fully + * processed yet. Normally, this does not happen, but when + * application wrongly calls `nghttp2_submit_response()` twice, + * this may happen. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The |session| is client session. + * + * .. warning:: + * + * Calling this function twice for the same stream ID may lead to + * program crash. It is generally considered to a programming error + * to commit response twice. + */ +NGHTTP2_EXTERN int +nghttp2_submit_response(nghttp2_session *session, int32_t stream_id, + const nghttp2_nv *nva, size_t nvlen, + const nghttp2_data_provider *data_prd); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Submits response HEADERS frame and optionally one or more DATA + * frames against the stream |stream_id|. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application is responsible to include + * required pseudo-header fields (header field whose name starts with + * ":") in |nva| and must place pseudo-headers before regular header + * fields. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * HTTP/2 specification has requirement about header fields in the + * response HEADERS. See the specification for more details. + * + * If |data_prd| is not ``NULL``, it provides data which will be sent + * in subsequent DATA frames. This function does not take ownership + * of the |data_prd|. The function copies the members of the + * |data_prd|. If |data_prd| is ``NULL``, HEADERS will have + * END_STREAM flag set. + * + * This method can be used as normal HTTP response and push response. + * When pushing a resource using this function, the |session| must be + * configured using `nghttp2_session_server_new()` or its variants and + * the target stream denoted by the |stream_id| must be reserved using + * `nghttp2_submit_push_promise()`. + * + * To send non-final response headers (e.g., HTTP status 101), don't + * use this function because this function half-closes the outbound + * stream. Instead, use `nghttp2_submit_headers()` for this purpose. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` + * DATA or HEADERS has been already submitted and not fully + * processed yet. Normally, this does not happen, but when + * application wrongly calls `nghttp2_submit_response2()` twice, + * this may happen. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The |session| is client session. + * + * .. warning:: + * + * Calling this function twice for the same stream ID may lead to + * program crash. It is generally considered to a programming error + * to commit response twice. + */ +NGHTTP2_EXTERN int +nghttp2_submit_response2(nghttp2_session *session, int32_t stream_id, + const nghttp2_nv *nva, size_t nvlen, + const nghttp2_data_provider2 *data_prd); + +/** + * @function + * + * Submits trailer fields HEADERS against the stream |stream_id|. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application must not include pseudo-header + * fields (headers whose names starts with ":") in |nva|. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * For server, trailer fields must follow response HEADERS or response + * DATA without END_STREAM flat set. The library does not enforce + * this requirement, and applications should do this for themselves. + * If `nghttp2_submit_trailer()` is called before any response HEADERS + * submission (usually by `nghttp2_submit_response2()`), the content + * of |nva| will be sent as response headers, which will result in + * error. + * + * This function has the same effect with `nghttp2_submit_headers()`, + * with flags = :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM` and both + * pri_spec and stream_user_data to NULL. + * + * To submit trailer fields after `nghttp2_submit_response2()` is + * called, the application has to specify + * :type:`nghttp2_data_provider2` to `nghttp2_submit_response2()`. + * Inside of :type:`nghttp2_data_source_read_callback2`, when setting + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_EOF`, also set + * :enum:`nghttp2_data_flag.NGHTTP2_DATA_FLAG_NO_END_STREAM`. After + * that, the application can send trailer fields using + * `nghttp2_submit_trailer()`. `nghttp2_submit_trailer()` can be used + * inside :type:`nghttp2_data_source_read_callback2`. + * + * This function returns 0 if it succeeds and |stream_id| is -1. + * Otherwise, this function returns 0 if it succeeds, or one of the + * following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + */ +NGHTTP2_EXTERN int nghttp2_submit_trailer(nghttp2_session *session, + int32_t stream_id, + const nghttp2_nv *nva, size_t nvlen); + +/** + * @function + * + * Submits HEADERS frame. The |flags| is bitwise OR of the + * following values: + * + * * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM` + * + * If |flags| includes :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM`, + * this frame has END_STREAM flag set. + * + * The library handles the CONTINUATION frame internally and it + * correctly sets END_HEADERS to the last sequence of the PUSH_PROMISE + * or CONTINUATION frame. + * + * If the |stream_id| is -1, this frame is assumed as request (i.e., + * request HEADERS frame which opens new stream). In this case, the + * assigned stream ID will be returned. Otherwise, specify stream ID + * in |stream_id|. + * + * The |pri_spec| is ignored. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application is responsible to include + * required pseudo-header fields (header field whose name starts with + * ":") in |nva| and must place pseudo-headers before regular header + * fields. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * The |stream_user_data| is a pointer to an arbitrary data which is + * associated to the stream this frame will open. Therefore it is + * only used if this frame opens streams, in other words, it changes + * stream state from idle or reserved to open. + * + * This function is low-level in a sense that the application code can + * specify flags directly. For usual HTTP request, + * `nghttp2_submit_request2()` is useful. Likewise, for HTTP + * response, prefer `nghttp2_submit_response2()`. + * + * This function returns newly assigned stream ID if it succeeds and + * |stream_id| is -1. Otherwise, this function returns 0 if it + * succeeds, or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE` + * No stream ID is available because maximum stream ID was + * reached. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` + * DATA or HEADERS has been already submitted and not fully + * processed yet. This happens if stream denoted by |stream_id| + * is in reserved state. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * The |stream_id| is -1, and |session| is server session. + * + * .. warning:: + * + * This function returns assigned stream ID if it succeeds and + * |stream_id| is -1. But that stream is not opened yet. The + * application must not submit frame to that stream ID before + * :type:`nghttp2_before_frame_send_callback` is called for this + * frame. + * + */ +NGHTTP2_EXTERN int32_t nghttp2_submit_headers( + nghttp2_session *session, uint8_t flags, int32_t stream_id, + const nghttp2_priority_spec *pri_spec, const nghttp2_nv *nva, size_t nvlen, + void *stream_user_data); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_submit_data2()` instead. + * + * Submits one or more DATA frames to the stream |stream_id|. The + * data to be sent are provided by |data_prd|. If |flags| contains + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM`, the last DATA frame + * has END_STREAM flag set. + * + * This function does not take ownership of the |data_prd|. The + * function copies the members of the |data_prd|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` + * DATA or HEADERS has been already submitted and not fully + * processed yet. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_CLOSED` + * The stream was already closed; or the |stream_id| is invalid. + * + * .. note:: + * + * Currently, only one DATA or HEADERS is allowed for a stream at a + * time. Submitting these frames more than once before first DATA + * or HEADERS is finished results in + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` error code. The + * earliest callback which tells that previous frame is done is + * :type:`nghttp2_on_frame_send_callback`. In side that callback, + * new data can be submitted using `nghttp2_submit_data()`. Of + * course, all data except for last one must not have + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM` flag set in |flags|. + * This sounds a bit complicated, and we recommend to use + * `nghttp2_submit_request()` and `nghttp2_submit_response()` to + * avoid this cascading issue. The experience shows that for HTTP + * use, these two functions are enough to implement both client and + * server. + */ +NGHTTP2_EXTERN int nghttp2_submit_data(nghttp2_session *session, uint8_t flags, + int32_t stream_id, + const nghttp2_data_provider *data_prd); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Submits one or more DATA frames to the stream |stream_id|. The + * data to be sent are provided by |data_prd|. If |flags| contains + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM`, the last DATA frame + * has END_STREAM flag set. + * + * This function does not take ownership of the |data_prd|. The + * function copies the members of the |data_prd|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` + * DATA or HEADERS has been already submitted and not fully + * processed yet. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_CLOSED` + * The stream was already closed; or the |stream_id| is invalid. + * + * .. note:: + * + * Currently, only one DATA or HEADERS is allowed for a stream at a + * time. Submitting these frames more than once before first DATA + * or HEADERS is finished results in + * :enum:`nghttp2_error.NGHTTP2_ERR_DATA_EXIST` error code. The + * earliest callback which tells that previous frame is done is + * :type:`nghttp2_on_frame_send_callback`. In side that callback, + * new data can be submitted using `nghttp2_submit_data2()`. Of + * course, all data except for last one must not have + * :enum:`nghttp2_flag.NGHTTP2_FLAG_END_STREAM` flag set in |flags|. + * This sounds a bit complicated, and we recommend to use + * `nghttp2_submit_request2()` and `nghttp2_submit_response2()` to + * avoid this cascading issue. The experience shows that for HTTP + * use, these two functions are enough to implement both client and + * server. + */ +NGHTTP2_EXTERN int nghttp2_submit_data2(nghttp2_session *session, uint8_t flags, + int32_t stream_id, + const nghttp2_data_provider2 *data_prd); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function is noop. It always returns 0. + */ +NGHTTP2_EXTERN int +nghttp2_submit_priority(nghttp2_session *session, uint8_t flags, + int32_t stream_id, + const nghttp2_priority_spec *pri_spec); + +/** + * @macro + * + * :macro:`NGHTTP2_EXTPRI_DEFAULT_URGENCY` is the default urgency + * level for :rfc:`9218` extensible priorities. + */ +#define NGHTTP2_EXTPRI_DEFAULT_URGENCY 3 + +/** + * @macro + * + * :macro:`NGHTTP2_EXTPRI_URGENCY_HIGH` is the highest urgency level + * for :rfc:`9218` extensible priorities. + */ +#define NGHTTP2_EXTPRI_URGENCY_HIGH 0 + +/** + * @macro + * + * :macro:`NGHTTP2_EXTPRI_URGENCY_LOW` is the lowest urgency level for + * :rfc:`9218` extensible priorities. + */ +#define NGHTTP2_EXTPRI_URGENCY_LOW 7 + +/** + * @macro + * + * :macro:`NGHTTP2_EXTPRI_URGENCY_LEVELS` is the number of urgency + * levels for :rfc:`9218` extensible priorities. + */ +#define NGHTTP2_EXTPRI_URGENCY_LEVELS (NGHTTP2_EXTPRI_URGENCY_LOW + 1) + +/** + * @struct + * + * :type:`nghttp2_extpri` is :rfc:`9218` extensible priorities + * specification for a stream. + */ +typedef struct nghttp2_extpri { + /** + * :member:`urgency` is the urgency of a stream, it must be in + * [:macro:`NGHTTP2_EXTPRI_URGENCY_HIGH`, + * :macro:`NGHTTP2_EXTPRI_URGENCY_LOW`], inclusive, and 0 is the + * highest urgency. + */ + uint32_t urgency; + /** + * :member:`inc` indicates that a content can be processed + * incrementally or not. If inc is 0, it cannot be processed + * incrementally. If inc is 1, it can be processed incrementally. + * Other value is not permitted. + */ + int inc; +} nghttp2_extpri; + +/** + * @function + * + * Submits RST_STREAM frame to cancel/reject the stream |stream_id| + * with the error code |error_code|. + * + * The pre-defined error code is one of :enum:`nghttp2_error_code`. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0. + */ +NGHTTP2_EXTERN int nghttp2_submit_rst_stream(nghttp2_session *session, + uint8_t flags, int32_t stream_id, + uint32_t error_code); + +/** + * @function + * + * Stores local settings and submits SETTINGS frame. The |iv| is the + * pointer to the array of :type:`nghttp2_settings_entry`. The |niv| + * indicates the number of :type:`nghttp2_settings_entry`. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * This function does not take ownership of the |iv|. This function + * copies all the elements in the |iv|. + * + * While updating individual stream's local window size, if the window + * size becomes strictly larger than NGHTTP2_MAX_WINDOW_SIZE, + * RST_STREAM is issued against such a stream. + * + * SETTINGS with :enum:`nghttp2_flag.NGHTTP2_FLAG_ACK` is + * automatically submitted by the library and application could not + * send it at its will. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |iv| contains invalid value (e.g., initial window size + * strictly greater than (1 << 31) - 1. + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_submit_settings(nghttp2_session *session, + uint8_t flags, + const nghttp2_settings_entry *iv, + size_t niv); + +/** + * @function + * + * Submits PUSH_PROMISE frame. + * + * The |flags| is currently ignored. The library handles the + * CONTINUATION frame internally and it correctly sets END_HEADERS to + * the last sequence of the PUSH_PROMISE or CONTINUATION frame. + * + * The |stream_id| must be client initiated stream ID. + * + * The |nva| is an array of name/value pair :type:`nghttp2_nv` with + * |nvlen| elements. The application is responsible to include + * required pseudo-header fields (header field whose name starts with + * ":") in |nva| and must place pseudo-headers before regular header + * fields. + * + * This function creates copies of all name/value pairs in |nva|. It + * also lower-cases all names in |nva|. The order of elements in + * |nva| is preserved. For header fields with + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME` and + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_VALUE` are set, + * header field name and value are not copied respectively. With + * :enum:`nghttp2_nv_flag.NGHTTP2_NV_FLAG_NO_COPY_NAME`, application + * is responsible to pass header field name in lowercase. The + * application should maintain the references to them until + * :type:`nghttp2_on_frame_send_callback` or + * :type:`nghttp2_on_frame_not_send_callback` is called. + * + * The |promised_stream_user_data| is a pointer to an arbitrary data + * which is associated to the promised stream this frame will open and + * make it in reserved state. It is available using + * `nghttp2_session_get_stream_user_data()`. The application can + * access it in :type:`nghttp2_before_frame_send_callback` and + * :type:`nghttp2_on_frame_send_callback` of this frame. + * + * The client side is not allowed to use this function. + * + * To submit response headers and data, use + * `nghttp2_submit_response2()`. + * + * This function returns assigned promised stream ID if it succeeds, + * or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_PROTO` + * This function was invoked when |session| is initialized as + * client. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE` + * No stream ID is available because maximum stream ID was + * reached. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is 0; The |stream_id| does not designate stream + * that peer initiated. + * :enum:`nghttp2_error.NGHTTP2_ERR_STREAM_CLOSED` + * The stream was already closed; or the |stream_id| is invalid. + * + * .. warning:: + * + * This function returns assigned promised stream ID if it succeeds. + * As of 1.16.0, stream object for pushed resource is created when + * this function succeeds. In that case, the application can submit + * push response for the promised frame. + * + * In 1.15.0 or prior versions, pushed stream is not opened yet when + * this function succeeds. The application must not submit frame to + * that stream ID before :type:`nghttp2_before_frame_send_callback` + * is called for this frame. + * + */ +NGHTTP2_EXTERN int32_t nghttp2_submit_push_promise( + nghttp2_session *session, uint8_t flags, int32_t stream_id, + const nghttp2_nv *nva, size_t nvlen, void *promised_stream_user_data); + +/** + * @function + * + * Submits PING frame. You don't have to send PING back when you + * received PING frame. The library automatically submits PING frame + * in this case. + * + * The |flags| is bitwise OR of 0 or more of the following value. + * + * * :enum:`nghttp2_flag.NGHTTP2_FLAG_ACK` + * + * Unless `nghttp2_option_set_no_auto_ping_ack()` is used, the |flags| + * should be :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * If the |opaque_data| is non ``NULL``, then it should point to the 8 + * bytes array of memory to specify opaque data to send with PING + * frame. If the |opaque_data| is ``NULL``, zero-cleared 8 bytes will + * be sent as opaque data. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_submit_ping(nghttp2_session *session, uint8_t flags, + const uint8_t *opaque_data); + +/** + * @function + * + * Submits GOAWAY frame with the last stream ID |last_stream_id| and + * the error code |error_code|. + * + * The pre-defined error code is one of :enum:`nghttp2_error_code`. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * The |last_stream_id| is peer's stream ID or 0. So if |session| is + * initialized as client, |last_stream_id| must be even or 0. If + * |session| is initialized as server, |last_stream_id| must be odd or + * 0. + * + * The HTTP/2 specification says last_stream_id must not be increased + * from the value previously sent. So the actual value sent as + * last_stream_id is the minimum value between the given + * |last_stream_id| and the last_stream_id previously sent to the + * peer. + * + * If the |opaque_data| is not ``NULL`` and |opaque_data_len| is not + * zero, those data will be sent as additional debug data. The + * library makes a copy of the memory region pointed by |opaque_data| + * with the length |opaque_data_len|, so the caller does not need to + * keep this memory after the return of this function. If the + * |opaque_data_len| is 0, the |opaque_data| could be ``NULL``. + * + * After successful transmission of GOAWAY, following things happen. + * All incoming streams having strictly more than |last_stream_id| are + * closed. All incoming HEADERS which starts new stream are simply + * ignored. After all active streams are handled, both + * `nghttp2_session_want_read()` and `nghttp2_session_want_write()` + * return 0 and the application can close session. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |opaque_data_len| is too large; the |last_stream_id| is + * invalid. + */ +NGHTTP2_EXTERN int nghttp2_submit_goaway(nghttp2_session *session, + uint8_t flags, int32_t last_stream_id, + uint32_t error_code, + const uint8_t *opaque_data, + size_t opaque_data_len); + +/** + * @function + * + * Returns the last stream ID of a stream for which + * :type:`nghttp2_on_frame_recv_callback` was invoked most recently. + * The returned value can be used as last_stream_id parameter for + * `nghttp2_submit_goaway()` and + * `nghttp2_session_terminate_session2()`. + * + * This function always succeeds. + */ +NGHTTP2_EXTERN int32_t +nghttp2_session_get_last_proc_stream_id(nghttp2_session *session); + +/** + * @function + * + * Returns nonzero if new request can be sent from local endpoint. + * + * This function return 0 if request is not allowed for this session. + * There are several reasons why request is not allowed. Some of the + * reasons are: session is server; stream ID has been spent; GOAWAY + * has been sent or received. + * + * The application can call `nghttp2_submit_request2()` without + * consulting this function. In that case, + * `nghttp2_submit_request2()` may return error. Or, request is + * failed to sent, and :type:`nghttp2_on_stream_close_callback` is + * called. + */ +NGHTTP2_EXTERN int +nghttp2_session_check_request_allowed(nghttp2_session *session); + +/** + * @function + * + * Returns nonzero if |session| is initialized as server side session. + */ +NGHTTP2_EXTERN int +nghttp2_session_check_server_session(nghttp2_session *session); + +/** + * @function + * + * Submits WINDOW_UPDATE frame. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * The |stream_id| is the stream ID to send this WINDOW_UPDATE. To + * send connection level WINDOW_UPDATE, specify 0 to |stream_id|. + * + * If the |window_size_increment| is positive, the WINDOW_UPDATE with + * that value as window_size_increment is queued. If the + * |window_size_increment| is larger than the received bytes from the + * remote endpoint, the local window size is increased by that + * difference. If the sole purpose is to increase the local window + * size, consider to use `nghttp2_session_set_local_window_size()`. + * + * If the |window_size_increment| is negative, the local window size + * is decreased by -|window_size_increment|. If automatic + * WINDOW_UPDATE is enabled + * (`nghttp2_option_set_no_auto_window_update()`), and the library + * decided that the WINDOW_UPDATE should be submitted, then + * WINDOW_UPDATE is queued with the current received bytes count. If + * the sole purpose is to decrease the local window size, consider to + * use `nghttp2_session_set_local_window_size()`. + * + * If the |window_size_increment| is 0, the function does nothing and + * returns 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_FLOW_CONTROL` + * The local window size overflow or gets negative. + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_submit_window_update(nghttp2_session *session, + uint8_t flags, + int32_t stream_id, + int32_t window_size_increment); + +/** + * @function + * + * Set local window size (local endpoints's window size) to the given + * |window_size| for the given stream denoted by |stream_id|. To + * change connection level window size, specify 0 to |stream_id|. To + * increase window size, this function may submit WINDOW_UPDATE frame + * to transmission queue. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * This sounds similar to `nghttp2_submit_window_update()`, but there + * are 2 differences. The first difference is that this function + * takes the absolute value of window size to set, rather than the + * delta. To change the window size, this may be easier to use since + * the application just declares the intended window size, rather than + * calculating delta. The second difference is that + * `nghttp2_submit_window_update()` affects the received bytes count + * which has not acked yet. By the specification of + * `nghttp2_submit_window_update()`, to strictly increase the local + * window size, we have to submit delta including all received bytes + * count, which might not be desirable in some cases. On the other + * hand, this function does not affect the received bytes count. It + * just sets the local window size to the given value. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |stream_id| is negative. + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_session_set_local_window_size(nghttp2_session *session, uint8_t flags, + int32_t stream_id, int32_t window_size); + +/** + * @function + * + * Submits extension frame. + * + * Application can pass arbitrary frame flags and stream ID in |flags| + * and |stream_id| respectively. The |payload| is opaque pointer, and + * it can be accessible though ``frame->ext.payload`` in + * :type:`nghttp2_pack_extension_callback2`. The library will not own + * passed |payload| pointer. + * + * The application must set :type:`nghttp2_pack_extension_callback2` + * using `nghttp2_session_callbacks_set_pack_extension_callback2()`. + * + * The application should retain the memory pointed by |payload| until + * the transmission of extension frame is done (which is indicated by + * :type:`nghttp2_on_frame_send_callback`), or transmission fails + * (which is indicated by :type:`nghttp2_on_frame_not_send_callback`). + * If application does not touch this memory region after packing it + * into a wire format, application can free it inside + * :type:`nghttp2_pack_extension_callback2`. + * + * The standard HTTP/2 frame cannot be sent with this function, so + * |type| must be strictly grater than 0x9. Otherwise, this function + * will fail with error code + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * If :type:`nghttp2_pack_extension_callback2` is not set. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * If |type| specifies standard HTTP/2 frame type. The frame + * types in the rage [0x0, 0x9], both inclusive, are standard + * HTTP/2 frame type, and cannot be sent using this function. + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory + */ +NGHTTP2_EXTERN int nghttp2_submit_extension(nghttp2_session *session, + uint8_t type, uint8_t flags, + int32_t stream_id, void *payload); + +/** + * @struct + * + * The payload of ALTSVC frame. ALTSVC frame is a non-critical + * extension to HTTP/2. If this frame is received, and + * `nghttp2_option_set_user_recv_extension_type()` is not set, and + * `nghttp2_option_set_builtin_recv_extension_type()` is set for + * :enum:`nghttp2_frame_type.NGHTTP2_ALTSVC`, + * ``nghttp2_extension.payload`` will point to this struct. + * + * It has the following members: + */ +typedef struct { + /** + * The pointer to origin which this alternative service is + * associated with. This is not necessarily NULL-terminated. + */ + uint8_t *origin; + /** + * The length of the |origin|. + */ + size_t origin_len; + /** + * The pointer to Alt-Svc field value contained in ALTSVC frame. + * This is not necessarily NULL-terminated. + */ + uint8_t *field_value; + /** + * The length of the |field_value|. + */ + size_t field_value_len; +} nghttp2_ext_altsvc; + +/** + * @function + * + * Submits ALTSVC frame. + * + * ALTSVC frame is a non-critical extension to HTTP/2, and defined in + * `RFC 7383 `_. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * The |origin| points to the origin this alternative service is + * associated with. The |origin_len| is the length of the origin. If + * |stream_id| is 0, the origin must be specified. If |stream_id| is + * not zero, the origin must be empty (in other words, |origin_len| + * must be 0). + * + * The ALTSVC frame is only usable from server side. If this function + * is invoked with client side session, this function returns + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The function is called from client side session + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The sum of |origin_len| and |field_value_len| is larger than + * 16382; or |origin_len| is 0 while |stream_id| is 0; or + * |origin_len| is not 0 while |stream_id| is not 0. + */ +NGHTTP2_EXTERN int nghttp2_submit_altsvc(nghttp2_session *session, + uint8_t flags, int32_t stream_id, + const uint8_t *origin, + size_t origin_len, + const uint8_t *field_value, + size_t field_value_len); + +/** + * @struct + * + * The single entry of an origin. + */ +typedef struct { + /** + * The pointer to origin. No validation is made against this field + * by the library. This is not necessarily NULL-terminated. + */ + uint8_t *origin; + /** + * The length of the |origin|. + */ + size_t origin_len; +} nghttp2_origin_entry; + +/** + * @struct + * + * The payload of ORIGIN frame. ORIGIN frame is a non-critical + * extension to HTTP/2 and defined by `RFC 8336 + * `_. + * + * If this frame is received, and + * `nghttp2_option_set_user_recv_extension_type()` is not set, and + * `nghttp2_option_set_builtin_recv_extension_type()` is set for + * :enum:`nghttp2_frame_type.NGHTTP2_ORIGIN`, + * ``nghttp2_extension.payload`` will point to this struct. + * + * It has the following members: + */ +typedef struct { + /** + * The number of origins contained in |ov|. + */ + size_t nov; + /** + * The pointer to the array of origins contained in ORIGIN frame. + */ + nghttp2_origin_entry *ov; +} nghttp2_ext_origin; + +/** + * @function + * + * Submits ORIGIN frame. + * + * ORIGIN frame is a non-critical extension to HTTP/2 and defined by + * `RFC 8336 `_. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * The |ov| points to the array of origins. The |nov| specifies the + * number of origins included in |ov|. This function creates copies + * of all elements in |ov|. + * + * The ORIGIN frame is only usable by a server. If this function is + * invoked with client side session, this function returns + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The function is called from client side session. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * There are too many origins, or an origin is too large to fit + * into a default frame payload. + */ +NGHTTP2_EXTERN int nghttp2_submit_origin(nghttp2_session *session, + uint8_t flags, + const nghttp2_origin_entry *ov, + size_t nov); + +/** + * @struct + * + * The payload of PRIORITY_UPDATE frame. PRIORITY_UPDATE frame is a + * non-critical extension to HTTP/2. If this frame is received, and + * `nghttp2_option_set_user_recv_extension_type()` is not set, and + * `nghttp2_option_set_builtin_recv_extension_type()` is set for + * :enum:`nghttp2_frame_type.NGHTTP2_PRIORITY_UPDATE`, + * ``nghttp2_extension.payload`` will point to this struct. + * + * It has the following members: + */ +typedef struct { + /** + * The stream ID of the stream whose priority is updated. + */ + int32_t stream_id; + /** + * The pointer to Priority field value. It is not necessarily + * NULL-terminated. + */ + uint8_t *field_value; + /** + * The length of the :member:`field_value`. + */ + size_t field_value_len; +} nghttp2_ext_priority_update; + +/** + * @function + * + * Submits PRIORITY_UPDATE frame. + * + * PRIORITY_UPDATE frame is a non-critical extension to HTTP/2, and + * defined in :rfc:`9218#section-7.1`. + * + * The |flags| is currently ignored and should be + * :enum:`nghttp2_flag.NGHTTP2_FLAG_NONE`. + * + * The |stream_id| is the ID of stream which is prioritized. The + * |field_value| points to the Priority field value. The + * |field_value_len| is the length of the Priority field value. + * + * If this function is called by server, + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` is returned. + * + * If + * :enum:`nghttp2_settings_id.NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES` + * of value of 0 is received by a remote endpoint (or it is omitted), + * this function does nothing and returns 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The function is called from server side session + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * The |field_value_len| is larger than 16380; or |stream_id| is + * 0. + */ +NGHTTP2_EXTERN int nghttp2_submit_priority_update(nghttp2_session *session, + uint8_t flags, + int32_t stream_id, + const uint8_t *field_value, + size_t field_value_len); + +/** + * @function + * + * Changes the priority of the existing stream denoted by |stream_id|. + * The new priority is |extpri|. This function is meant to be used by + * server for :rfc:`9218` extensible prioritization scheme. + * + * If |session| is initialized as client, this function returns + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. For client, use + * `nghttp2_submit_priority_update()` instead. + * + * If :member:`extpri->urgency ` is out of + * bound, it is set to :macro:`NGHTTP2_EXTPRI_URGENCY_LOW`. + * + * If |ignore_client_signal| is nonzero, server starts to ignore + * client priority signals for this stream. + * + * If + * :enum:`nghttp2_settings_id.NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES` + * of value of 1 is not submitted via `nghttp2_submit_settings()`, + * this function does nothing and returns 0. + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The |session| is initialized as client. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * |stream_id| is zero; or a stream denoted by |stream_id| is not + * found. + */ +NGHTTP2_EXTERN int nghttp2_session_change_extpri_stream_priority( + nghttp2_session *session, int32_t stream_id, const nghttp2_extpri *extpri, + int ignore_client_signal); + +/** + * @function + * + * Stores the stream priority of the existing stream denoted by + * |stream_id| in the object pointed by |extpri|. This function is + * meant to be used by server for :rfc:`9218` extensible + * prioritization scheme. + * + * If |session| is initialized as client, this function returns + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. + * + * If + * :enum:`nghttp2_settings_id.NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES` + * of value of 1 is not submitted via `nghttp2_submit_settings()`, + * this function does nothing and returns 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The |session| is initialized as client. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * |stream_id| is zero; or a stream denoted by |stream_id| is not + * found. + */ +NGHTTP2_EXTERN int nghttp2_session_get_extpri_stream_priority( + nghttp2_session *session, nghttp2_extpri *extpri, int32_t stream_id); + +/** + * @function + * + * Parses Priority header field value pointed by |value| of length + * |len|, and stores the result in the object pointed by |extpri|. + * Priority header field is defined in :rfc:`9218`. + * + * This function does not initialize the object pointed by |extpri| + * before storing the result. It only assigns the values that the + * parser correctly extracted to fields. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT` + * Failed to parse the header field value. + */ +NGHTTP2_EXTERN int nghttp2_extpri_parse_priority(nghttp2_extpri *extpri, + const uint8_t *value, + size_t len); + +/** + * @function + * + * Compares ``lhs->name`` of length ``lhs->namelen`` bytes and + * ``rhs->name`` of length ``rhs->namelen`` bytes. Returns negative + * integer if ``lhs->name`` is found to be less than ``rhs->name``; or + * returns positive integer if ``lhs->name`` is found to be greater + * than ``rhs->name``; or returns 0 otherwise. + */ +NGHTTP2_EXTERN int nghttp2_nv_compare_name(const nghttp2_nv *lhs, + const nghttp2_nv *rhs); + +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_select_alpn` instead. + * + * A helper function for dealing with ALPN in server side. The |in| + * contains peer's protocol list in preferable order. The format of + * |in| is length-prefixed and not null-terminated. For example, + * ``h2`` and ``http/1.1`` stored in |in| like this:: + * + * in[0] = 2 + * in[1..2] = "h2" + * in[3] = 8 + * in[4..11] = "http/1.1" + * inlen = 12 + * + * The selection algorithm is as follows: + * + * 1. If peer's list contains HTTP/2 protocol the library supports, + * it is selected and returns 1. The following step is not taken. + * + * 2. If peer's list contains ``http/1.1``, this function selects + * ``http/1.1`` and returns 0. The following step is not taken. + * + * 3. This function selects nothing and returns -1 (So called + * non-overlap case). In this case, |out| and |outlen| are left + * untouched. + * + * Selecting ``h2`` means that ``h2`` is written into |*out| and its + * length (which is 2) is assigned to |*outlen|. + * + * For ALPN, refer to https://tools.ietf.org/html/rfc7301 + * + * To use this method you should do something like:: + * + * static int alpn_select_proto_cb(SSL* ssl, + * const unsigned char **out, + * unsigned char *outlen, + * const unsigned char *in, + * unsigned int inlen, + * void *arg) + * { + * int rv; + * rv = nghttp2_select_next_protocol((unsigned char**)out, outlen, + * in, inlen); + * if (rv == -1) { + * return SSL_TLSEXT_ERR_NOACK; + * } + * if (rv == 1) { + * ((MyType*)arg)->http2_selected = 1; + * } + * return SSL_TLSEXT_ERR_OK; + * } + * ... + * SSL_CTX_set_alpn_select_cb(ssl_ctx, alpn_select_proto_cb, my_obj); + * + */ +NGHTTP2_EXTERN int nghttp2_select_next_protocol(unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen); + +/** + * @function + * + * A helper function for dealing with ALPN in server side. The |in| + * contains peer's protocol list in preferable order. The format of + * |in| is length-prefixed and not null-terminated. For example, + * ``h2`` and ``http/1.1`` stored in |in| like this:: + * + * in[0] = 2 + * in[1..2] = "h2" + * in[3] = 8 + * in[4..11] = "http/1.1" + * inlen = 12 + * + * The selection algorithm is as follows: + * + * 1. If peer's list contains HTTP/2 protocol the library supports, + * it is selected and returns 1. The following step is not taken. + * + * 2. If peer's list contains ``http/1.1``, this function selects + * ``http/1.1`` and returns 0. The following step is not taken. + * + * 3. This function selects nothing and returns -1 (So called + * non-overlap case). In this case, |out| and |outlen| are left + * untouched. + * + * Selecting ``h2`` means that ``h2`` is written into |*out| and its + * length (which is 2) is assigned to |*outlen|. + * + * For ALPN, refer to https://tools.ietf.org/html/rfc7301 + * + * To use this method you should do something like:: + * + * static int alpn_select_proto_cb(SSL* ssl, + * const unsigned char **out, + * unsigned char *outlen, + * const unsigned char *in, + * unsigned int inlen, + * void *arg) + * { + * int rv; + * rv = nghttp2_select_alpn(out, outlen, in, inlen); + * if (rv == -1) { + * return SSL_TLSEXT_ERR_NOACK; + * } + * if (rv == 1) { + * ((MyType*)arg)->http2_selected = 1; + * } + * return SSL_TLSEXT_ERR_OK; + * } + * ... + * SSL_CTX_set_alpn_select_cb(ssl_ctx, alpn_select_proto_cb, my_obj); + * + */ +NGHTTP2_EXTERN int nghttp2_select_alpn(const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen); + +/** + * @function + * + * Returns a pointer to a nghttp2_info struct with version information + * about the run-time library in use. The |least_version| argument + * can be set to a 24 bit numerical value for the least accepted + * version number and if the condition is not met, this function will + * return a ``NULL``. Pass in 0 to skip the version checking. + */ +NGHTTP2_EXTERN nghttp2_info *nghttp2_version(int least_version); + +/** + * @function + * + * Returns nonzero if the :type:`nghttp2_error` library error code + * |lib_error| is fatal. + */ +NGHTTP2_EXTERN int nghttp2_is_fatal(int lib_error_code); + +/** + * @function + * + * Returns nonzero if HTTP header field name |name| of length |len| is + * valid according to http://tools.ietf.org/html/rfc7230#section-3.2 + * + * Because this is a header field name in HTTP2, the upper cased alphabet + * is treated as error. + */ +NGHTTP2_EXTERN int nghttp2_check_header_name(const uint8_t *name, size_t len); + +/** + * @function + * + * Returns nonzero if HTTP header field value |value| of length |len| + * is valid according to + * http://tools.ietf.org/html/rfc7230#section-3.2 + * + * This function is considered obsolete, and application should + * consider to use `nghttp2_check_header_value_rfc9113()` instead. + */ +NGHTTP2_EXTERN int nghttp2_check_header_value(const uint8_t *value, size_t len); + +/** + * @function + * + * Returns nonzero if HTTP header field value |value| of length |len| + * is valid according to + * http://tools.ietf.org/html/rfc7230#section-3.2, plus + * https://datatracker.ietf.org/doc/html/rfc9113#section-8.2.1 + */ +NGHTTP2_EXTERN int nghttp2_check_header_value_rfc9113(const uint8_t *value, + size_t len); + +/** + * @function + * + * Returns nonzero if the |value| which is supposed to be the value of + * the :method header field is valid according to + * https://datatracker.ietf.org/doc/html/rfc7231#section-4 and + * https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.6 + */ +NGHTTP2_EXTERN int nghttp2_check_method(const uint8_t *value, size_t len); + +/** + * @function + * + * Returns nonzero if the |value| which is supposed to be the value of + * the :path header field is valid according to + * https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3 + * + * |value| is valid if it merely consists of the allowed characters. + * In particular, it does not check whether |value| follows the syntax + * of path. The allowed characters are all characters valid by + * `nghttp2_check_header_value` minus SPC and HT. + */ +NGHTTP2_EXTERN int nghttp2_check_path(const uint8_t *value, size_t len); + +/** + * @function + * + * Returns nonzero if the |value| which is supposed to be the value of the + * :authority or host header field is valid according to + * https://tools.ietf.org/html/rfc3986#section-3.2 + * + * Note that :authority and host field values are not authority. They + * do not include userinfo in RFC 3986, see + * https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2, that + * is, it does not include '@'. This function treats '@' as a valid + * character. + * + * |value| is valid if it merely consists of the allowed characters. + * In particular, it does not check whether |value| follows the syntax + * of authority. + */ +NGHTTP2_EXTERN int nghttp2_check_authority(const uint8_t *value, size_t len); + +/* HPACK API */ + +struct nghttp2_hd_deflater; + +/** + * @struct + * + * HPACK deflater object. + */ +typedef struct nghttp2_hd_deflater nghttp2_hd_deflater; + +/** + * @function + * + * Initializes |*deflater_ptr| for deflating name/values pairs. + * + * The |max_deflate_dynamic_table_size| is the upper bound of header + * table size the deflater will use. + * + * If this function fails, |*deflater_ptr| is left untouched. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_hd_deflate_new(nghttp2_hd_deflater **deflater_ptr, + size_t max_deflate_dynamic_table_size); + +/** + * @function + * + * Like `nghttp2_hd_deflate_new()`, but with additional custom memory + * allocator specified in the |mem|. + * + * The |mem| can be ``NULL`` and the call is equivalent to + * `nghttp2_hd_deflate_new()`. + * + * This function does not take ownership |mem|. The application is + * responsible for freeing |mem|. + * + * The library code does not refer to |mem| pointer after this + * function returns, so the application can safely free it. + */ +NGHTTP2_EXTERN int +nghttp2_hd_deflate_new2(nghttp2_hd_deflater **deflater_ptr, + size_t max_deflate_dynamic_table_size, + nghttp2_mem *mem); + +/** + * @function + * + * Deallocates any resources allocated for |deflater|. + */ +NGHTTP2_EXTERN void nghttp2_hd_deflate_del(nghttp2_hd_deflater *deflater); + +/** + * @function + * + * Changes header table size of the |deflater| to + * |settings_max_dynamic_table_size| bytes. This may trigger eviction + * in the dynamic table. + * + * The |settings_max_dynamic_table_size| should be the value received + * in SETTINGS_HEADER_TABLE_SIZE. + * + * The deflater never uses more memory than + * ``max_deflate_dynamic_table_size`` bytes specified in + * `nghttp2_hd_deflate_new()`. Therefore, if + * |settings_max_dynamic_table_size| > + * ``max_deflate_dynamic_table_size``, resulting maximum table size + * becomes ``max_deflate_dynamic_table_size``. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int +nghttp2_hd_deflate_change_table_size(nghttp2_hd_deflater *deflater, + size_t settings_max_dynamic_table_size); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_hd_deflate_hd2()` instead. + * + * Deflates the |nva|, which has the |nvlen| name/value pairs, into + * the |buf| of length |buflen|. + * + * If |buf| is not large enough to store the deflated header block, + * this function fails with + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`. The caller + * should use `nghttp2_hd_deflate_bound()` to know the upper bound of + * buffer size required to deflate given header name/value pairs. + * + * Once this function fails, subsequent call of this function always + * returns :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`. + * + * After this function returns, it is safe to delete the |nva|. + * + * This function returns the number of bytes written to |buf| if it + * succeeds, or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Deflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` + * The provided |buflen| size is too small to hold the output. + */ +NGHTTP2_EXTERN ssize_t nghttp2_hd_deflate_hd(nghttp2_hd_deflater *deflater, + uint8_t *buf, size_t buflen, + const nghttp2_nv *nva, + size_t nvlen); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Deflates the |nva|, which has the |nvlen| name/value pairs, into + * the |buf| of length |buflen|. + * + * If |buf| is not large enough to store the deflated header block, + * this function fails with + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`. The caller + * should use `nghttp2_hd_deflate_bound()` to know the upper bound of + * buffer size required to deflate given header name/value pairs. + * + * Once this function fails, subsequent call of this function always + * returns :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`. + * + * After this function returns, it is safe to delete the |nva|. + * + * This function returns the number of bytes written to |buf| if it + * succeeds, or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Deflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` + * The provided |buflen| size is too small to hold the output. + */ +NGHTTP2_EXTERN nghttp2_ssize +nghttp2_hd_deflate_hd2(nghttp2_hd_deflater *deflater, uint8_t *buf, + size_t buflen, const nghttp2_nv *nva, size_t nvlen); + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_hd_deflate_hd_vec2()` instead. + * + * Deflates the |nva|, which has the |nvlen| name/value pairs, into + * the |veclen| size of buf vector |vec|. The each size of buffer + * must be set in len field of :type:`nghttp2_vec`. If and only if + * one chunk is filled up completely, next chunk will be used. If + * |vec| is not large enough to store the deflated header block, this + * function fails with + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`. The caller + * should use `nghttp2_hd_deflate_bound()` to know the upper bound of + * buffer size required to deflate given header name/value pairs. + * + * Once this function fails, subsequent call of this function always + * returns :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`. + * + * After this function returns, it is safe to delete the |nva|. + * + * This function returns the number of bytes written to |vec| if it + * succeeds, or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Deflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` + * The provided |buflen| size is too small to hold the output. + */ +NGHTTP2_EXTERN ssize_t nghttp2_hd_deflate_hd_vec(nghttp2_hd_deflater *deflater, + const nghttp2_vec *vec, + size_t veclen, + const nghttp2_nv *nva, + size_t nvlen); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Deflates the |nva|, which has the |nvlen| name/value pairs, into + * the |veclen| size of buf vector |vec|. The each size of buffer + * must be set in len field of :type:`nghttp2_vec`. If and only if + * one chunk is filled up completely, next chunk will be used. If + * |vec| is not large enough to store the deflated header block, this + * function fails with + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE`. The caller + * should use `nghttp2_hd_deflate_bound()` to know the upper bound of + * buffer size required to deflate given header name/value pairs. + * + * Once this function fails, subsequent call of this function always + * returns :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP`. + * + * After this function returns, it is safe to delete the |nva|. + * + * This function returns the number of bytes written to |vec| if it + * succeeds, or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Deflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_INSUFF_BUFSIZE` + * The provided |buflen| size is too small to hold the output. + */ +NGHTTP2_EXTERN nghttp2_ssize nghttp2_hd_deflate_hd_vec2( + nghttp2_hd_deflater *deflater, const nghttp2_vec *vec, size_t veclen, + const nghttp2_nv *nva, size_t nvlen); + +/** + * @function + * + * Returns an upper bound on the compressed size after deflation of + * |nva| of length |nvlen|. + */ +NGHTTP2_EXTERN size_t nghttp2_hd_deflate_bound(nghttp2_hd_deflater *deflater, + const nghttp2_nv *nva, + size_t nvlen); + +/** + * @function + * + * Returns the number of entries that header table of |deflater| + * contains. This is the sum of the number of static table and + * dynamic table, so the return value is at least 61. + */ +NGHTTP2_EXTERN +size_t nghttp2_hd_deflate_get_num_table_entries(nghttp2_hd_deflater *deflater); + +/** + * @function + * + * Returns the table entry denoted by |idx| from header table of + * |deflater|. The |idx| is 1-based, and idx=1 returns first entry of + * static table. idx=62 returns first entry of dynamic table if it + * exists. Specifying idx=0 is error, and this function returns NULL. + * If |idx| is strictly greater than the number of entries the tables + * contain, this function returns NULL. + */ +NGHTTP2_EXTERN +const nghttp2_nv * +nghttp2_hd_deflate_get_table_entry(nghttp2_hd_deflater *deflater, size_t idx); + +/** + * @function + * + * Returns the used dynamic table size, including the overhead 32 + * bytes per entry described in RFC 7541. + */ +NGHTTP2_EXTERN +size_t nghttp2_hd_deflate_get_dynamic_table_size(nghttp2_hd_deflater *deflater); + +/** + * @function + * + * Returns the maximum dynamic table size. + */ +NGHTTP2_EXTERN +size_t +nghttp2_hd_deflate_get_max_dynamic_table_size(nghttp2_hd_deflater *deflater); + +struct nghttp2_hd_inflater; + +/** + * @struct + * + * HPACK inflater object. + */ +typedef struct nghttp2_hd_inflater nghttp2_hd_inflater; + +/** + * @function + * + * Initializes |*inflater_ptr| for inflating name/values pairs. + * + * If this function fails, |*inflater_ptr| is left untouched. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + */ +NGHTTP2_EXTERN int nghttp2_hd_inflate_new(nghttp2_hd_inflater **inflater_ptr); + +/** + * @function + * + * Like `nghttp2_hd_inflate_new()`, but with additional custom memory + * allocator specified in the |mem|. + * + * The |mem| can be ``NULL`` and the call is equivalent to + * `nghttp2_hd_inflate_new()`. + * + * This function does not take ownership |mem|. The application is + * responsible for freeing |mem|. + * + * The library code does not refer to |mem| pointer after this + * function returns, so the application can safely free it. + */ +NGHTTP2_EXTERN int nghttp2_hd_inflate_new2(nghttp2_hd_inflater **inflater_ptr, + nghttp2_mem *mem); + +/** + * @function + * + * Deallocates any resources allocated for |inflater|. + */ +NGHTTP2_EXTERN void nghttp2_hd_inflate_del(nghttp2_hd_inflater *inflater); + +/** + * @function + * + * Changes header table size in the |inflater|. This may trigger + * eviction in the dynamic table. + * + * The |settings_max_dynamic_table_size| should be the value + * transmitted in SETTINGS_HEADER_TABLE_SIZE. + * + * This function must not be called while header block is being + * inflated. In other words, this function must be called after + * initialization of |inflater|, but before calling + * `nghttp2_hd_inflate_hd3()`, or after + * `nghttp2_hd_inflate_end_headers()`. Otherwise, + * `NGHTTP2_ERR_INVALID_STATE` was returned. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_INVALID_STATE` + * The function is called while header block is being inflated. + * Probably, application missed to call + * `nghttp2_hd_inflate_end_headers()`. + */ +NGHTTP2_EXTERN int +nghttp2_hd_inflate_change_table_size(nghttp2_hd_inflater *inflater, + size_t settings_max_dynamic_table_size); + +/** + * @enum + * + * The flags for header inflation. + */ +typedef enum { + /** + * No flag set. + */ + NGHTTP2_HD_INFLATE_NONE = 0, + /** + * Indicates all headers were inflated. + */ + NGHTTP2_HD_INFLATE_FINAL = 0x01, + /** + * Indicates a header was emitted. + */ + NGHTTP2_HD_INFLATE_EMIT = 0x02 +} nghttp2_hd_inflate_flag; + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_hd_inflate_hd2()` instead. + * + * Inflates name/value block stored in |in| with length |inlen|. This + * function performs decompression. For each successful emission of + * header name/value pair, + * :enum:`nghttp2_hd_inflate_flag.NGHTTP2_HD_INFLATE_EMIT` is set in + * |*inflate_flags| and name/value pair is assigned to the |nv_out| + * and the function returns. The caller must not free the members of + * |nv_out|. + * + * The |nv_out| may include pointers to the memory region in the |in|. + * The caller must retain the |in| while the |nv_out| is used. + * + * The application should call this function repeatedly until the + * ``(*inflate_flags) & NGHTTP2_HD_INFLATE_FINAL`` is nonzero and + * return value is non-negative. This means the all input values are + * processed successfully. Then the application must call + * `nghttp2_hd_inflate_end_headers()` to prepare for the next header + * block input. + * + * The caller can feed complete compressed header block. It also can + * feed it in several chunks. The caller must set |in_final| to + * nonzero if the given input is the last block of the compressed + * header. + * + * This function returns the number of bytes processed if it succeeds, + * or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Inflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_BUFFER_ERROR` + * The header field name or value is too large. + * + * Example follows:: + * + * int inflate_header_block(nghttp2_hd_inflater *hd_inflater, + * uint8_t *in, size_t inlen, int final) + * { + * ssize_t rv; + * + * for(;;) { + * nghttp2_nv nv; + * int inflate_flags = 0; + * + * rv = nghttp2_hd_inflate_hd(hd_inflater, &nv, &inflate_flags, + * in, inlen, final); + * + * if(rv < 0) { + * fprintf(stderr, "inflate failed with error code %zd", rv); + * return -1; + * } + * + * in += rv; + * inlen -= rv; + * + * if(inflate_flags & NGHTTP2_HD_INFLATE_EMIT) { + * fwrite(nv.name, nv.namelen, 1, stderr); + * fprintf(stderr, ": "); + * fwrite(nv.value, nv.valuelen, 1, stderr); + * fprintf(stderr, "\n"); + * } + * if(inflate_flags & NGHTTP2_HD_INFLATE_FINAL) { + * nghttp2_hd_inflate_end_headers(hd_inflater); + * break; + * } + * if((inflate_flags & NGHTTP2_HD_INFLATE_EMIT) == 0 && + * inlen == 0) { + * break; + * } + * } + * + * return 0; + * } + * + */ +NGHTTP2_EXTERN ssize_t nghttp2_hd_inflate_hd(nghttp2_hd_inflater *inflater, + nghttp2_nv *nv_out, + int *inflate_flags, uint8_t *in, + size_t inlen, int in_final); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +#ifndef NGHTTP2_NO_SSIZE_T +/** + * @function + * + * .. warning:: + * + * Deprecated. Use `nghttp2_hd_inflate_hd3()` instead. + * + * Inflates name/value block stored in |in| with length |inlen|. This + * function performs decompression. For each successful emission of + * header name/value pair, + * :enum:`nghttp2_hd_inflate_flag.NGHTTP2_HD_INFLATE_EMIT` is set in + * |*inflate_flags| and name/value pair is assigned to the |nv_out| + * and the function returns. The caller must not free the members of + * |nv_out|. + * + * The |nv_out| may include pointers to the memory region in the |in|. + * The caller must retain the |in| while the |nv_out| is used. + * + * The application should call this function repeatedly until the + * ``(*inflate_flags) & NGHTTP2_HD_INFLATE_FINAL`` is nonzero and + * return value is non-negative. If that happens, all given input + * data (|inlen| bytes) are processed successfully. Then the + * application must call `nghttp2_hd_inflate_end_headers()` to prepare + * for the next header block input. + * + * In other words, if |in_final| is nonzero, and this function returns + * |inlen|, you can assert that + * :enum:`nghttp2_hd_inflate_final.NGHTTP2_HD_INFLATE_FINAL` is set in + * |*inflate_flags|. + * + * The caller can feed complete compressed header block. It also can + * feed it in several chunks. The caller must set |in_final| to + * nonzero if the given input is the last block of the compressed + * header. + * + * This function returns the number of bytes processed if it succeeds, + * or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Inflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_BUFFER_ERROR` + * The header field name or value is too large. + * + * Example follows:: + * + * int inflate_header_block(nghttp2_hd_inflater *hd_inflater, + * uint8_t *in, size_t inlen, int final) + * { + * ssize_t rv; + * + * for(;;) { + * nghttp2_nv nv; + * int inflate_flags = 0; + * + * rv = nghttp2_hd_inflate_hd2(hd_inflater, &nv, &inflate_flags, + * in, inlen, final); + * + * if(rv < 0) { + * fprintf(stderr, "inflate failed with error code %zd", rv); + * return -1; + * } + * + * in += rv; + * inlen -= rv; + * + * if(inflate_flags & NGHTTP2_HD_INFLATE_EMIT) { + * fwrite(nv.name, nv.namelen, 1, stderr); + * fprintf(stderr, ": "); + * fwrite(nv.value, nv.valuelen, 1, stderr); + * fprintf(stderr, "\n"); + * } + * if(inflate_flags & NGHTTP2_HD_INFLATE_FINAL) { + * nghttp2_hd_inflate_end_headers(hd_inflater); + * break; + * } + * if((inflate_flags & NGHTTP2_HD_INFLATE_EMIT) == 0 && + * inlen == 0) { + * break; + * } + * } + * + * return 0; + * } + * + */ +NGHTTP2_EXTERN ssize_t nghttp2_hd_inflate_hd2(nghttp2_hd_inflater *inflater, + nghttp2_nv *nv_out, + int *inflate_flags, + const uint8_t *in, size_t inlen, + int in_final); + +#endif /* NGHTTP2_NO_SSIZE_T */ + +/** + * @function + * + * Inflates name/value block stored in |in| with length |inlen|. This + * function performs decompression. For each successful emission of + * header name/value pair, + * :enum:`nghttp2_hd_inflate_flag.NGHTTP2_HD_INFLATE_EMIT` is set in + * |*inflate_flags| and name/value pair is assigned to the |nv_out| + * and the function returns. The caller must not free the members of + * |nv_out|. + * + * The |nv_out| may include pointers to the memory region in the |in|. + * The caller must retain the |in| while the |nv_out| is used. + * + * The application should call this function repeatedly until the + * ``(*inflate_flags) & NGHTTP2_HD_INFLATE_FINAL`` is nonzero and + * return value is non-negative. If that happens, all given input + * data (|inlen| bytes) are processed successfully. Then the + * application must call `nghttp2_hd_inflate_end_headers()` to prepare + * for the next header block input. + * + * In other words, if |in_final| is nonzero, and this function returns + * |inlen|, you can assert that + * :enum:`nghttp2_hd_inflate_final.NGHTTP2_HD_INFLATE_FINAL` is set in + * |*inflate_flags|. + * + * The caller can feed complete compressed header block. It also can + * feed it in several chunks. The caller must set |in_final| to + * nonzero if the given input is the last block of the compressed + * header. + * + * This function returns the number of bytes processed if it succeeds, + * or one of the following negative error codes: + * + * :enum:`nghttp2_error.NGHTTP2_ERR_NOMEM` + * Out of memory. + * :enum:`nghttp2_error.NGHTTP2_ERR_HEADER_COMP` + * Inflation process has failed. + * :enum:`nghttp2_error.NGHTTP2_ERR_BUFFER_ERROR` + * The header field name or value is too large. + * + * Example follows:: + * + * int inflate_header_block(nghttp2_hd_inflater *hd_inflater, + * uint8_t *in, size_t inlen, int final) + * { + * nghttp2_ssize rv; + * + * for(;;) { + * nghttp2_nv nv; + * int inflate_flags = 0; + * + * rv = nghttp2_hd_inflate_hd3(hd_inflater, &nv, &inflate_flags, + * in, inlen, final); + * + * if(rv < 0) { + * fprintf(stderr, "inflate failed with error code %td", rv); + * return -1; + * } + * + * in += rv; + * inlen -= rv; + * + * if(inflate_flags & NGHTTP2_HD_INFLATE_EMIT) { + * fwrite(nv.name, nv.namelen, 1, stderr); + * fprintf(stderr, ": "); + * fwrite(nv.value, nv.valuelen, 1, stderr); + * fprintf(stderr, "\n"); + * } + * if(inflate_flags & NGHTTP2_HD_INFLATE_FINAL) { + * nghttp2_hd_inflate_end_headers(hd_inflater); + * break; + * } + * if((inflate_flags & NGHTTP2_HD_INFLATE_EMIT) == 0 && + * inlen == 0) { + * break; + * } + * } + * + * return 0; + * } + * + */ +NGHTTP2_EXTERN nghttp2_ssize nghttp2_hd_inflate_hd3( + nghttp2_hd_inflater *inflater, nghttp2_nv *nv_out, int *inflate_flags, + const uint8_t *in, size_t inlen, int in_final); + +/** + * @function + * + * Signals the end of decompression for one header block. + * + * This function returns 0 if it succeeds. Currently this function + * always succeeds. + */ +NGHTTP2_EXTERN int +nghttp2_hd_inflate_end_headers(nghttp2_hd_inflater *inflater); + +/** + * @function + * + * Returns the number of entries that header table of |inflater| + * contains. This is the sum of the number of static table and + * dynamic table, so the return value is at least 61. + */ +NGHTTP2_EXTERN +size_t nghttp2_hd_inflate_get_num_table_entries(nghttp2_hd_inflater *inflater); + +/** + * @function + * + * Returns the table entry denoted by |idx| from header table of + * |inflater|. The |idx| is 1-based, and idx=1 returns first entry of + * static table. idx=62 returns first entry of dynamic table if it + * exists. Specifying idx=0 is error, and this function returns NULL. + * If |idx| is strictly greater than the number of entries the tables + * contain, this function returns NULL. + */ +NGHTTP2_EXTERN +const nghttp2_nv * +nghttp2_hd_inflate_get_table_entry(nghttp2_hd_inflater *inflater, size_t idx); + +/** + * @function + * + * Returns the used dynamic table size, including the overhead 32 + * bytes per entry described in RFC 7541. + */ +NGHTTP2_EXTERN +size_t nghttp2_hd_inflate_get_dynamic_table_size(nghttp2_hd_inflater *inflater); + +/** + * @function + * + * Returns the maximum dynamic table size. + */ +NGHTTP2_EXTERN +size_t +nghttp2_hd_inflate_get_max_dynamic_table_size(nghttp2_hd_inflater *inflater); + +struct nghttp2_stream; + +/** + * @struct + * + * The structure to represent HTTP/2 stream. The details of this + * structure are intentionally hidden from the public API. + */ +typedef struct nghttp2_stream nghttp2_stream; + +/** + * @function + * + * Returns pointer to :type:`nghttp2_stream` object denoted by + * |stream_id|. If stream was not found, returns NULL. + * + * Returns imaginary root stream (see + * `nghttp2_session_get_root_stream()`) if 0 is given in |stream_id|. + * + * Unless |stream_id| == 0, the returned pointer is valid until next + * call of `nghttp2_session_send()`, `nghttp2_session_mem_send2()`, + * `nghttp2_session_recv()`, and `nghttp2_session_mem_recv2()`. + */ +NGHTTP2_EXTERN nghttp2_stream * +nghttp2_session_find_stream(nghttp2_session *session, int32_t stream_id); + +/** + * @enum + * + * State of stream as described in RFC 7540. + */ +typedef enum { + /** + * idle state. + */ + NGHTTP2_STREAM_STATE_IDLE = 1, + /** + * open state. + */ + NGHTTP2_STREAM_STATE_OPEN, + /** + * reserved (local) state. + */ + NGHTTP2_STREAM_STATE_RESERVED_LOCAL, + /** + * reserved (remote) state. + */ + NGHTTP2_STREAM_STATE_RESERVED_REMOTE, + /** + * half closed (local) state. + */ + NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL, + /** + * half closed (remote) state. + */ + NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE, + /** + * closed state. + */ + NGHTTP2_STREAM_STATE_CLOSED +} nghttp2_stream_proto_state; + +/** + * @function + * + * Returns state of |stream|. The root stream retrieved by + * `nghttp2_session_get_root_stream()` will have stream state + * :enum:`nghttp2_stream_proto_state.NGHTTP2_STREAM_STATE_IDLE`. + */ +NGHTTP2_EXTERN nghttp2_stream_proto_state +nghttp2_stream_get_state(nghttp2_stream *stream); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * Returns root of dependency tree, which is imaginary stream with + * stream ID 0. The returned pointer is valid until |session| is + * freed by `nghttp2_session_del()`. + */ +NGHTTP2_EXTERN nghttp2_stream * +nghttp2_session_get_root_stream(nghttp2_session *session); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function always returns NULL. + */ +NGHTTP2_EXTERN nghttp2_stream * +nghttp2_stream_get_parent(nghttp2_stream *stream); + +NGHTTP2_EXTERN int32_t nghttp2_stream_get_stream_id(nghttp2_stream *stream); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function always returns NULL. + */ +NGHTTP2_EXTERN nghttp2_stream * +nghttp2_stream_get_next_sibling(nghttp2_stream *stream); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function always returns NULL. + */ +NGHTTP2_EXTERN nghttp2_stream * +nghttp2_stream_get_previous_sibling(nghttp2_stream *stream); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function always returns NULL. + */ +NGHTTP2_EXTERN nghttp2_stream * +nghttp2_stream_get_first_child(nghttp2_stream *stream); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function always returns :macro:`NGHTTP2_DEFAULT_WEIGHT`. + */ +NGHTTP2_EXTERN int32_t nghttp2_stream_get_weight(nghttp2_stream *stream); + +/** + * @function + * + * .. warning:: + * + * Deprecated. :rfc:`7540` priorities are deprecated by + * :rfc:`9113`. Consider migrating to :rfc:`9218` extensible + * prioritization scheme. + * + * This function always returns 0. + */ +NGHTTP2_EXTERN int32_t +nghttp2_stream_get_sum_dependency_weight(nghttp2_stream *stream); + +/** + * @functypedef + * + * Callback function invoked when the library outputs debug logging. + * The function is called with arguments suitable for ``vfprintf(3)`` + * + * The debug output is only enabled if the library is built with + * ``DEBUGBUILD`` macro defined. + */ +typedef void (*nghttp2_debug_vprintf_callback)(const char *format, + va_list args); + +/** + * @function + * + * Sets a debug output callback called by the library when built with + * ``DEBUGBUILD`` macro defined. If this option is not used, debug + * log is written into standard error output. + * + * For builds without ``DEBUGBUILD`` macro defined, this function is + * noop. + * + * Note that building with ``DEBUGBUILD`` may cause significant + * performance penalty to libnghttp2 because of extra processing. It + * should be used for debugging purpose only. + * + * .. Warning:: + * + * Building with ``DEBUGBUILD`` may cause significant performance + * penalty to libnghttp2 because of extra processing. It should be + * used for debugging purpose only. We write this two times because + * this is important. + */ +NGHTTP2_EXTERN void nghttp2_set_debug_vprintf_callback( + nghttp2_debug_vprintf_callback debug_vprintf_callback); + +#ifdef __cplusplus +} +#endif + +#endif /* NGHTTP2_H */ diff --git a/curl/include/nghttp2/nghttp2ver.h b/curl/include/nghttp2/nghttp2ver.h new file mode 100644 index 0000000..1302eb5 --- /dev/null +++ b/curl/include/nghttp2/nghttp2ver.h @@ -0,0 +1,42 @@ +/* + * nghttp2 - HTTP/2 C Library + * + * Copyright (c) 2012, 2013 Tatsuhiro Tsujikawa + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGHTTP2VER_H +#define NGHTTP2VER_H + +/** + * @macro + * Version number of the nghttp2 library release + */ +#define NGHTTP2_VERSION "1.65.0" + +/** + * @macro + * Numerical representation of the version number of the nghttp2 library + * release. This is a 24 bit number with 8 bits for major number, 8 bits + * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. + */ +#define NGHTTP2_VERSION_NUM 0x014100 + +#endif /* NGHTTP2VER_H */ diff --git a/curl/include/nghttp3/nghttp3.h b/curl/include/nghttp3/nghttp3.h new file mode 100644 index 0000000..bcf5ece --- /dev/null +++ b/curl/include/nghttp3/nghttp3.h @@ -0,0 +1,2939 @@ +/* + * nghttp3 + * + * Copyright (c) 2018 nghttp3 contributors + * Copyright (c) 2017 ngtcp2 contributors + * Copyright (c) 2017 nghttp2 contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGHTTP3_H +#define NGHTTP3_H + +/* Define WIN32 when build target is Win32 API (borrowed from + libcurl) */ +#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) +# define WIN32 +#endif /* (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) */ + +#ifdef __cplusplus +extern "C" { +#endif /* defined(__cplusplus) */ + +#include +#if defined(_MSC_VER) && (_MSC_VER < 1800) +/* MSVC < 2013 does not have inttypes.h because it is not C99 + compliant. See compiler macros and version number in + https://sourceforge.net/p/predef/wiki/Compilers/ */ +# include +#else /* !(defined(_MSC_VER) && (_MSC_VER < 1800)) */ +# include +#endif /* !(defined(_MSC_VER) && (_MSC_VER < 1800)) */ +#include +#include +#include + +#include + +#ifdef NGHTTP3_STATICLIB +# define NGHTTP3_EXTERN +#elif defined(WIN32) +# ifdef BUILDING_NGHTTP3 +# define NGHTTP3_EXTERN __declspec(dllexport) +# else /* !defined(BUILDING_NGHTTP3) */ +# define NGHTTP3_EXTERN __declspec(dllimport) +# endif /* !defined(BUILDING_NGHTTP3) */ +#else /* !(defined(NGHTTP3_STATICLIB) || defined(WIN32)) */ +# ifdef BUILDING_NGHTTP3 +# define NGHTTP3_EXTERN __attribute__((visibility("default"))) +# else /* !defined(BUILDING_NGHTTP3) */ +# define NGHTTP3_EXTERN +# endif /* !defined(BUILDING_NGHTTP3) */ +#endif /* !(defined(NGHTTP3_STATICLIB) || defined(WIN32)) */ + +#ifdef _MSC_VER +# define NGHTTP3_ALIGN(N) __declspec(align(N)) +#else /* !defined(_MSC_VER) */ +# define NGHTTP3_ALIGN(N) __attribute__((aligned(N))) +#endif /* !defined(_MSC_VER) */ + +/** + * @typedef + * + * :type:`nghttp3_ssize` is signed counterpart of size_t. + */ +typedef ptrdiff_t nghttp3_ssize; + +/** + * @macro + * + * :macro:`NGHTTP3_ALPN_H3` is a serialized form of HTTP/3 ALPN + * protocol identifier this library supports. Notice that the first + * byte is the length of the following protocol identifier. + */ +#define NGHTTP3_ALPN_H3 "\x2h3" + +/** + * @macrosection + * + * nghttp3 library error codes + */ + +/** + * @macro + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` indicates that a passed + * argument is invalid. + */ +#define NGHTTP3_ERR_INVALID_ARGUMENT -101 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_INVALID_STATE` indicates that a requested + * operation is not allowed at the current connection state. + */ +#define NGHTTP3_ERR_INVALID_STATE -102 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_WOULDBLOCK` indicates that an operation might + * block. + */ +#define NGHTTP3_ERR_WOULDBLOCK -103 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_STREAM_IN_USE` indicates that a stream ID is + * already in use. + */ +#define NGHTTP3_ERR_STREAM_IN_USE -104 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_MALFORMED_HTTP_HEADER` indicates that an HTTP + * header field is malformed. + */ +#define NGHTTP3_ERR_MALFORMED_HTTP_HEADER -105 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_REMOVE_HTTP_HEADER` indicates that an HTTP + * header field is discarded. + */ +#define NGHTTP3_ERR_REMOVE_HTTP_HEADER -106 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_MALFORMED_HTTP_MESSAGING` indicates that HTTP + * messaging is malformed. + */ +#define NGHTTP3_ERR_MALFORMED_HTTP_MESSAGING -107 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_QPACK_FATAL` indicates that a fatal error is + * occurred during QPACK processing, and it cannot be recoverable. + */ +#define NGHTTP3_ERR_QPACK_FATAL -108 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_QPACK_HEADER_TOO_LARGE` indicates that a header + * field is too large to process. + */ +#define NGHTTP3_ERR_QPACK_HEADER_TOO_LARGE -109 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` indicates that a stream is + * not found. + */ +#define NGHTTP3_ERR_STREAM_NOT_FOUND -110 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_CONN_CLOSING` indicates that a connection is + * closing state. + */ +#define NGHTTP3_ERR_CONN_CLOSING -111 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_STREAM_DATA_OVERFLOW` indicates that the length + * of stream data is too long, and causes overflow. + */ +#define NGHTTP3_ERR_STREAM_DATA_OVERFLOW -112 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_QPACK_DECOMPRESSION_FAILED` indicates that a + * QPACK decompression failed. + */ +#define NGHTTP3_ERR_QPACK_DECOMPRESSION_FAILED -401 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_QPACK_ENCODER_STREAM_ERROR` indicates that an + * error occurred while reading QPACK encoder stream. + */ +#define NGHTTP3_ERR_QPACK_ENCODER_STREAM_ERROR -402 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_QPACK_DECODER_STREAM_ERROR` indicates that an + * error occurred while reading QPACK decoder stream. + */ +#define NGHTTP3_ERR_QPACK_DECODER_STREAM_ERROR -403 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_FRAME_UNEXPECTED` indicates that an + * unexpected HTTP/3 frame is received. + */ +#define NGHTTP3_ERR_H3_FRAME_UNEXPECTED -601 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_FRAME_ERROR` indicates that an HTTP/3 frame + * is malformed. + */ +#define NGHTTP3_ERR_H3_FRAME_ERROR -602 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_MISSING_SETTINGS` indicates that an HTTP/3 + * SETTINGS frame is missing. + */ +#define NGHTTP3_ERR_H3_MISSING_SETTINGS -603 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_INTERNAL_ERROR` indicates an internal error. + */ +#define NGHTTP3_ERR_H3_INTERNAL_ERROR -604 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_CLOSED_CRITICAL_STREAM` indicates that a + * critical stream is closed. + */ +#define NGHTTP3_ERR_H3_CLOSED_CRITICAL_STREAM -605 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_GENERAL_PROTOCOL_ERROR` indicates a general + * protocol error. This is typically a catch-all error. + */ +#define NGHTTP3_ERR_H3_GENERAL_PROTOCOL_ERROR -606 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_ID_ERROR` indicates that an ID related error + * occurred. + */ +#define NGHTTP3_ERR_H3_ID_ERROR -607 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_SETTINGS_ERROR` indicates that an HTTP/3 + * SETTINGS frame is malformed. + */ +#define NGHTTP3_ERR_H3_SETTINGS_ERROR -608 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_H3_STREAM_CREATION_ERROR` indicates that a + * remote endpoint attempts to create a new stream which is not + * allowed. + */ +#define NGHTTP3_ERR_H3_STREAM_CREATION_ERROR -609 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_FATAL` indicates that error codes less than + * this value is fatal error. When this error is returned, an + * endpoint should drop connection immediately. + */ +#define NGHTTP3_ERR_FATAL -900 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_NOMEM` indicates out of memory. + */ +#define NGHTTP3_ERR_NOMEM -901 +/** + * @macro + * + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` indicates that user defined + * callback function failed. + */ +#define NGHTTP3_ERR_CALLBACK_FAILURE -902 + +/** + * @macrosection + * + * HTTP/3 application error code + */ + +/** + * @macro + * + * :macro:`NGHTTP3_H3_NO_ERROR` is HTTP/3 application error code + * ``H3_NO_ERROR``. + */ +#define NGHTTP3_H3_NO_ERROR 0x0100 +/** + * @macro + * + * :macro:`NGHTTP3_H3_GENERAL_PROTOCOL_ERROR` is HTTP/3 application + * error code ``H3_GENERAL_PROTOCOL_ERROR``. + */ +#define NGHTTP3_H3_GENERAL_PROTOCOL_ERROR 0x0101 +/** + * @macro + * + * :macro:`NGHTTP3_H3_INTERNAL_ERROR` is HTTP/3 application error code + * ``H3_INTERNAL_ERROR``. + */ +#define NGHTTP3_H3_INTERNAL_ERROR 0x0102 +/** + * @macro + * + * :macro:`NGHTTP3_H3_STREAM_CREATION_ERROR` is HTTP/3 application + * error code ``H3_STREAM_CREATION_ERROR``. + */ +#define NGHTTP3_H3_STREAM_CREATION_ERROR 0x0103 +/** + * @macro + * + * :macro:`NGHTTP3_H3_CLOSED_CRITICAL_STREAM` is HTTP/3 application + * error code ``H3_CLOSED_CRITICAL_STREAM``. + */ +#define NGHTTP3_H3_CLOSED_CRITICAL_STREAM 0x0104 +/** + * @macro + * + * :macro:`NGHTTP3_H3_FRAME_UNEXPECTED` is HTTP/3 application error + * code ``H3_FRAME_UNEXPECTED``. + */ +#define NGHTTP3_H3_FRAME_UNEXPECTED 0x0105 +/** + * @macro + * + * :macro:`NGHTTP3_H3_FRAME_ERROR` is HTTP/3 application error code + * ``H3_FRAME_ERROR``. + */ +#define NGHTTP3_H3_FRAME_ERROR 0x0106 +/** + * @macro + * + * :macro:`NGHTTP3_H3_EXCESSIVE_LOAD` is HTTP/3 application error code + * ``H3_EXCESSIVE_LOAD``. + */ +#define NGHTTP3_H3_EXCESSIVE_LOAD 0x0107 +/** + * @macro + * + * :macro:`NGHTTP3_H3_ID_ERROR` is HTTP/3 application error code + * ``H3_ID_ERROR``. + */ +#define NGHTTP3_H3_ID_ERROR 0x0108 +/** + * @macro + * + * :macro:`NGHTTP3_H3_SETTINGS_ERROR` is HTTP/3 application error code + * ``H3_SETTINGS_ERROR``. + */ +#define NGHTTP3_H3_SETTINGS_ERROR 0x0109 +/** + * @macro + * + * :macro:`NGHTTP3_H3_MISSING_SETTINGS` is HTTP/3 application error + * code ``H3_MISSING_SETTINGS``. + */ +#define NGHTTP3_H3_MISSING_SETTINGS 0x010a +/** + * @macro + * + * :macro:`NGHTTP3_H3_REQUEST_REJECTED` is HTTP/3 application error + * code ``H3_REQUEST_REJECTED``. + */ +#define NGHTTP3_H3_REQUEST_REJECTED 0x010b +/** + * @macro + * + * :macro:`NGHTTP3_H3_REQUEST_CANCELLED` is HTTP/3 application error + * code ``H3_REQUEST_CANCELLED``. + */ +#define NGHTTP3_H3_REQUEST_CANCELLED 0x010c +/** + * @macro + * + * :macro:`NGHTTP3_H3_REQUEST_INCOMPLETE` is HTTP/3 application error + * code ``H3_REQUEST_INCOMPLETE``. + */ +#define NGHTTP3_H3_REQUEST_INCOMPLETE 0x010d +/** + * @macro + * + * :macro:`NGHTTP3_H3_MESSAGE_ERROR` is HTTP/3 application error code + * ``H3_MESSAGE_ERROR``. + */ +#define NGHTTP3_H3_MESSAGE_ERROR 0x010e +/** + * @macro + * + * :macro:`NGHTTP3_H3_CONNECT_ERROR` is HTTP/3 application error code + * ``H3_CONNECT_ERROR``. + */ +#define NGHTTP3_H3_CONNECT_ERROR 0x010f +/** + * @macro + * + * :macro:`NGHTTP3_H3_VERSION_FALLBACK` is HTTP/3 application error + * code ``H3_VERSION_FALLBACK``. + */ +#define NGHTTP3_H3_VERSION_FALLBACK 0x0110 +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_DECOMPRESSION_FAILED` is HTTP/3 application + * error code ``QPACK_DECOMPRESSION_FAILED``. + */ +#define NGHTTP3_QPACK_DECOMPRESSION_FAILED 0x0200 +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_ENCODER_STREAM_ERROR` is HTTP/3 application + * error code ``QPACK_ENCODER_STREAM_ERROR``. + */ +#define NGHTTP3_QPACK_ENCODER_STREAM_ERROR 0x0201 +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_DECODER_STREAM_ERROR` is HTTP/3 application + * error code ``QPACK_DECODER_STREAM_ERROR``. + */ +#define NGHTTP3_QPACK_DECODER_STREAM_ERROR 0x0202 + +/** + * @functypedef + * + * :type:`nghttp3_malloc` is a custom memory allocator to replace + * :manpage:`malloc(3)`. The |user_data| is the + * :member:`nghttp3_mem.user_data`. + */ +typedef void *(*nghttp3_malloc)(size_t size, void *user_data); + +/** + * @functypedef + * + * :type:`nghttp3_free` is a custom memory allocator to replace + * :manpage:`free(3)`. The |user_data| is the + * :member:`nghttp3_mem.user_data`. + */ +typedef void (*nghttp3_free)(void *ptr, void *user_data); + +/** + * @functypedef + * + * :type:`nghttp3_calloc` is a custom memory allocator to replace + * :manpage:`calloc(3)`. The |user_data| is the + * :member:`nghttp3_mem.user_data`. + */ +typedef void *(*nghttp3_calloc)(size_t nmemb, size_t size, void *user_data); + +/** + * @functypedef + * + * :type:`nghttp3_realloc` is a custom memory allocator to replace + * :manpage:`realloc(3)`. The |user_data| is the + * :member:`nghttp3_mem.user_data`. + */ +typedef void *(*nghttp3_realloc)(void *ptr, size_t size, void *user_data); + +/** + * @struct + * + * :type:`nghttp3_mem` is a custom memory allocator functions and user + * defined pointer. The :member:`user_data` field is passed to each + * allocator function. This can be used, for example, to achieve + * per-session memory pool. + * + * In the following example code, ``my_malloc``, ``my_free``, + * ``my_calloc``, and ``my_realloc`` are the replacement of the + * standard allocators :manpage:`malloc(3)`, :manpage:`free(3)`, + * :manpage:`calloc(3)` and :manpage:`realloc(3)` respectively:: + * + * void *my_malloc_cb(size_t size, void *user_data) { + * (void)user_data; + * return my_malloc(size); + * } + * + * void my_free_cb(void *ptr, void *user_data) { + * (void)user_data; + * my_free(ptr); + * } + * + * void *my_calloc_cb(size_t nmemb, size_t size, void *user_data) { + * (void)user_data; + * return my_calloc(nmemb, size); + * } + * + * void *my_realloc_cb(void *ptr, size_t size, void *user_data) { + * (void)user_data; + * return my_realloc(ptr, size); + * } + * + * void conn_new() { + * nghttp3_mem mem = {NULL, my_malloc_cb, my_free_cb, my_calloc_cb, + * my_realloc_cb}; + * + * ... + * } + */ +typedef struct nghttp3_mem { + /** + * :member:`user_data` is an arbitrary user supplied data. This is + * passed to each allocator function. + */ + void *user_data; + /** + * :member:`malloc` is a custom allocator function to replace + * :manpage:`malloc(3)`. + */ + nghttp3_malloc malloc; + /** + * :member:`free` is a custom allocator function to replace + * :manpage:`free(3)`. + */ + nghttp3_free free; + /** + * :member:`calloc` is a custom allocator function to replace + * :manpage:`calloc(3)`. + */ + nghttp3_calloc calloc; + /** + * :member:`realloc` is a custom allocator function to replace + * :manpage:`realloc(3)`. + */ + nghttp3_realloc realloc; +} nghttp3_mem; + +/** + * @function + * + * `nghttp3_mem_default` returns the default memory allocator which + * uses malloc/calloc/realloc/free. + */ +NGHTTP3_EXTERN const nghttp3_mem *nghttp3_mem_default(void); + +/** + * @struct + * + * :type:`nghttp3_vec` is ``struct iovec`` compatible structure to + * reference arbitrary array of bytes. + */ +typedef struct nghttp3_vec { + /** + * :member:`base` points to the data. + */ + uint8_t *base; + /** + * :member:`len` is the number of bytes which the buffer pointed by + * :member:`base` contains. + */ + size_t len; +} nghttp3_vec; + +/** + * @struct + * + * :type:`nghttp3_rcbuf` is the object representing reference counted + * buffer. The details of this structure are intentionally hidden + * from the public API. + */ +typedef struct nghttp3_rcbuf nghttp3_rcbuf; + +/** + * @function + * + * `nghttp3_rcbuf_incref` increments the reference count of |rcbuf| by + * 1. + */ +NGHTTP3_EXTERN void nghttp3_rcbuf_incref(nghttp3_rcbuf *rcbuf); + +/** + * @function + * + * `nghttp3_rcbuf_decref` decrements the reference count of |rcbuf| by + * 1. If the reference count becomes zero, the object pointed by + * |rcbuf| will be freed. In this case, application must not use + * |rcbuf| again. + */ +NGHTTP3_EXTERN void nghttp3_rcbuf_decref(nghttp3_rcbuf *rcbuf); + +/** + * @function + * + * `nghttp3_rcbuf_get_buf` returns the underlying buffer managed by + * |rcbuf|. + */ +NGHTTP3_EXTERN nghttp3_vec nghttp3_rcbuf_get_buf(const nghttp3_rcbuf *rcbuf); + +/** + * @function + * + * `nghttp3_rcbuf_is_static` returns nonzero if the underlying buffer + * is statically allocated, and 0 otherwise. This can be useful for + * language bindings that wish to avoid creating duplicate strings for + * these buffers. + */ +NGHTTP3_EXTERN int nghttp3_rcbuf_is_static(const nghttp3_rcbuf *rcbuf); + +/** + * @struct + * + * :type:`nghttp3_buf` is the variable size buffer. + */ +typedef struct nghttp3_buf { + /** + * :member:`begin` points to the beginning of the buffer. + */ + uint8_t *begin; + /** + * :member:`end` points to the one beyond of the last byte of the + * buffer + */ + uint8_t *end; + /** + * :member:`pos` points to the start of data. Typically, this + * points to the address that next data should be read. Initially, + * it points to :member:`begin`. + */ + uint8_t *pos; + /** + * :member:`last` points to the one beyond of the last data of the + * buffer. Typically, new data is written at this point. + * Initially, it points to :member:`begin`. + */ + uint8_t *last; +} nghttp3_buf; + +/** + * @function + * + * `nghttp3_buf_init` initializes empty |buf|. + */ +NGHTTP3_EXTERN void nghttp3_buf_init(nghttp3_buf *buf); + +/** + * @function + * + * `nghttp3_buf_free` frees resources allocated for |buf| using |mem| + * as memory allocator. :member:`buf->begin ` must + * be a heap buffer allocated by |mem|. + */ +NGHTTP3_EXTERN void nghttp3_buf_free(nghttp3_buf *buf, const nghttp3_mem *mem); + +/** + * @function + * + * `nghttp3_buf_left` returns the number of additional bytes which can + * be written to the underlying buffer. In other words, it returns + * :member:`buf->end ` - :member:`buf->last + * `. + */ +NGHTTP3_EXTERN size_t nghttp3_buf_left(const nghttp3_buf *buf); + +/** + * @function + * + * `nghttp3_buf_len` returns the number of bytes left to read. In + * other words, it returns :member:`buf->last ` - + * :member:`buf->pos `. + */ +NGHTTP3_EXTERN size_t nghttp3_buf_len(const nghttp3_buf *buf); + +/** + * @function + * + * `nghttp3_buf_reset` sets :member:`buf->pos ` and + * :member:`buf->last ` to :member:`buf->begin + * `. + */ +NGHTTP3_EXTERN void nghttp3_buf_reset(nghttp3_buf *buf); + +/** + * @macrosection + * + * Flags for HTTP field name/value pair + */ + +/** + * @macro + * + * :macro:`NGHTTP3_NV_FLAG_NONE` indicates no flag set. + */ +#define NGHTTP3_NV_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGHTTP3_NV_FLAG_NEVER_INDEX` indicates that this name/value + * pair must not be indexed. Other implementation calls this bit as + * "sensitive". + */ +#define NGHTTP3_NV_FLAG_NEVER_INDEX 0x01u + +/** + * @macro + * + * :macro:`NGHTTP3_NV_FLAG_NO_COPY_NAME` is set solely by application. + * If this flag is set, the library does not make a copy of field + * name. This could improve performance. + */ +#define NGHTTP3_NV_FLAG_NO_COPY_NAME 0x02u + +/** + * @macro + * + * :macro:`NGHTTP3_NV_FLAG_NO_COPY_VALUE` is set solely by + * application. If this flag is set, the library does not make a copy + * of field value. This could improve performance. + */ +#define NGHTTP3_NV_FLAG_NO_COPY_VALUE 0x04u + +/** + * @macro + * + * :macro:`NGHTTP3_NV_FLAG_TRY_INDEX` gives a hint to QPACK encoder to + * index an HTTP field which is not indexed by default. This is just + * a hint, and QPACK encoder might not encode the field in various + * reasons. + */ +#define NGHTTP3_NV_FLAG_TRY_INDEX 0x08u + +/** + * @struct + * + * :type:`nghttp3_nv` is the name/value pair, which mainly used to + * represent HTTP fields. + */ +typedef struct nghttp3_nv { + /** + * :member:`name` is the HTTP field name. + */ + const uint8_t *name; + /** + * :member:`value` is the HTTP field value. + */ + const uint8_t *value; + /** + * :member:`namelen` is the length of the |name|, excluding + * terminating NULL. + */ + size_t namelen; + /** + * :member:`valuelen` is the length of the |value|, excluding + * terminating NULL. + */ + size_t valuelen; + /** + * :member:`flags` is bitwise OR of one or more of + * :macro:`NGHTTP3_NV_FLAG_* `. + */ + uint8_t flags; +} nghttp3_nv; + +/* Generated by mkstatichdtbl.py */ +/** + * @enum + * + * :type:`nghttp3_qpack_token` defines HTTP field name tokens to + * identify field name quickly. It appears in + * :member:`nghttp3_qpack_nv.token`. + */ +typedef enum nghttp3_qpack_token { + /** + * :enum:`NGHTTP3_QPACK_TOKEN__AUTHORITY` is a token for + * ``:authority``. + */ + NGHTTP3_QPACK_TOKEN__AUTHORITY = 0, + /** + * :enum:`NGHTTP3_QPACK_TOKEN__PATH` is a token for ``:path``. + */ + NGHTTP3_QPACK_TOKEN__PATH = 8, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_AGE` is a token for ``age``. + */ + NGHTTP3_QPACK_TOKEN_AGE = 43, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CONTENT_DISPOSITION` is a token for + * ``content-disposition``. + */ + NGHTTP3_QPACK_TOKEN_CONTENT_DISPOSITION = 52, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CONTENT_LENGTH` is a token for + * ``content-length``. + */ + NGHTTP3_QPACK_TOKEN_CONTENT_LENGTH = 55, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_COOKIE` is a token for ``cookie``. + */ + NGHTTP3_QPACK_TOKEN_COOKIE = 68, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_DATE` is a token for ``date``. + */ + NGHTTP3_QPACK_TOKEN_DATE = 69, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ETAG` is a token for ``etag``. + */ + NGHTTP3_QPACK_TOKEN_ETAG = 71, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_IF_MODIFIED_SINCE` is a token for + * ``if-modified-since``. + */ + NGHTTP3_QPACK_TOKEN_IF_MODIFIED_SINCE = 74, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_IF_NONE_MATCH` is a token for + * ``if-none-match``. + */ + NGHTTP3_QPACK_TOKEN_IF_NONE_MATCH = 75, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_LAST_MODIFIED` is a token for + * ``last-modified``. + */ + NGHTTP3_QPACK_TOKEN_LAST_MODIFIED = 77, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_LINK` is a token for ``link``. + */ + NGHTTP3_QPACK_TOKEN_LINK = 78, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_LOCATION` is a token for ``location``. + */ + NGHTTP3_QPACK_TOKEN_LOCATION = 79, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_REFERER` is a token for ``referer``. + */ + NGHTTP3_QPACK_TOKEN_REFERER = 83, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_SET_COOKIE` is a token for + * ``set-cookie``. + */ + NGHTTP3_QPACK_TOKEN_SET_COOKIE = 85, + /** + * :enum:`NGHTTP3_QPACK_TOKEN__METHOD` is a token for ``:method``. + */ + NGHTTP3_QPACK_TOKEN__METHOD = 1, + /** + * :enum:`NGHTTP3_QPACK_TOKEN__SCHEME` is a token for ``:scheme``. + */ + NGHTTP3_QPACK_TOKEN__SCHEME = 9, + /** + * :enum:`NGHTTP3_QPACK_TOKEN__STATUS` is a token for ``:status``. + */ + NGHTTP3_QPACK_TOKEN__STATUS = 11, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCEPT` is a token for ``accept``. + */ + NGHTTP3_QPACK_TOKEN_ACCEPT = 25, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCEPT_ENCODING` is a token for + * ``accept-encoding``. + */ + NGHTTP3_QPACK_TOKEN_ACCEPT_ENCODING = 27, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCEPT_RANGES` is a token for + * ``accept-ranges``. + */ + NGHTTP3_QPACK_TOKEN_ACCEPT_RANGES = 29, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_HEADERS` is a + * token for ``access-control-allow-headers``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_HEADERS = 32, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_ORIGIN` is a + * token for ``access-control-allow-origin``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_ORIGIN = 38, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CACHE_CONTROL` is a token for + * ``cache-control``. + */ + NGHTTP3_QPACK_TOKEN_CACHE_CONTROL = 46, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CONTENT_ENCODING` is a token for + * ``content-encoding``. + */ + NGHTTP3_QPACK_TOKEN_CONTENT_ENCODING = 53, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CONTENT_TYPE` is a token for + * ``content-type``. + */ + NGHTTP3_QPACK_TOKEN_CONTENT_TYPE = 57, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_RANGE` is a token for ``range``. + */ + NGHTTP3_QPACK_TOKEN_RANGE = 82, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_STRICT_TRANSPORT_SECURITY` is a token + * for ``strict-transport-security``. + */ + NGHTTP3_QPACK_TOKEN_STRICT_TRANSPORT_SECURITY = 86, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_VARY` is a token for ``vary``. + */ + NGHTTP3_QPACK_TOKEN_VARY = 92, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_X_CONTENT_TYPE_OPTIONS` is a token for + * ``x-content-type-options``. + */ + NGHTTP3_QPACK_TOKEN_X_CONTENT_TYPE_OPTIONS = 94, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_X_XSS_PROTECTION` is a token for + * ``x-xss-protection``. + */ + NGHTTP3_QPACK_TOKEN_X_XSS_PROTECTION = 98, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCEPT_LANGUAGE` is a token for + * ``accept-language``. + */ + NGHTTP3_QPACK_TOKEN_ACCEPT_LANGUAGE = 28, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_CREDENTIALS` is a + * token for ``access-control-allow-credentials``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_CREDENTIALS = 30, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_METHODS` is a + * token for ``access-control-allow-methods``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_ALLOW_METHODS = 35, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_EXPOSE_HEADERS` is a + * token for ``access-control-expose-headers``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_EXPOSE_HEADERS = 39, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_REQUEST_HEADERS` is a + * token for ``access-control-request-headers``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_REQUEST_HEADERS = 40, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_REQUEST_METHOD` is a + * token for ``access-control-request-method``. + */ + NGHTTP3_QPACK_TOKEN_ACCESS_CONTROL_REQUEST_METHOD = 41, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ALT_SVC` is a token for ``alt-svc``. + */ + NGHTTP3_QPACK_TOKEN_ALT_SVC = 44, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_AUTHORIZATION` is a token for + * ``authorization``. + */ + NGHTTP3_QPACK_TOKEN_AUTHORIZATION = 45, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CONTENT_SECURITY_POLICY` is a token + * for ``content-security-policy``. + */ + NGHTTP3_QPACK_TOKEN_CONTENT_SECURITY_POLICY = 56, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_EARLY_DATA` is a token for + * ``early-data``. + */ + NGHTTP3_QPACK_TOKEN_EARLY_DATA = 70, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_EXPECT_CT` is a token for + * ``expect-ct``. + */ + NGHTTP3_QPACK_TOKEN_EXPECT_CT = 72, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_FORWARDED` is a token for + * ``forwarded``. + */ + NGHTTP3_QPACK_TOKEN_FORWARDED = 73, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_IF_RANGE` is a token for ``if-range``. + */ + NGHTTP3_QPACK_TOKEN_IF_RANGE = 76, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_ORIGIN` is a token for ``origin``. + */ + NGHTTP3_QPACK_TOKEN_ORIGIN = 80, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_PURPOSE` is a token for ``purpose``. + */ + NGHTTP3_QPACK_TOKEN_PURPOSE = 81, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_SERVER` is a token for ``server``. + */ + NGHTTP3_QPACK_TOKEN_SERVER = 84, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_TIMING_ALLOW_ORIGIN` is a token for + * ``timing-allow-origin``. + */ + NGHTTP3_QPACK_TOKEN_TIMING_ALLOW_ORIGIN = 89, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_UPGRADE_INSECURE_REQUESTS` is a token + * for ``upgrade-insecure-requests``. + */ + NGHTTP3_QPACK_TOKEN_UPGRADE_INSECURE_REQUESTS = 90, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_USER_AGENT` is a token for + * ``user-agent``. + */ + NGHTTP3_QPACK_TOKEN_USER_AGENT = 91, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_X_FORWARDED_FOR` is a token for + * ``x-forwarded-for``. + */ + NGHTTP3_QPACK_TOKEN_X_FORWARDED_FOR = 95, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_X_FRAME_OPTIONS` is a token for + * ``x-frame-options``. + */ + NGHTTP3_QPACK_TOKEN_X_FRAME_OPTIONS = 96, + + /* Additional HTTP fields for HTTP messaging validation */ + + /** + * :enum:`NGHTTP3_QPACK_TOKEN_HOST` is a token for ``host``. + */ + NGHTTP3_QPACK_TOKEN_HOST = 1000, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_CONNECTION` is a token for + * ``connection``. + */ + NGHTTP3_QPACK_TOKEN_CONNECTION, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_KEEP_ALIVE` is a token for + * ``keep-alive``. + */ + NGHTTP3_QPACK_TOKEN_KEEP_ALIVE, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_PROXY_CONNECTION` is a token for + * ``proxy-connection``. + */ + NGHTTP3_QPACK_TOKEN_PROXY_CONNECTION, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_TRANSFER_ENCODING` is a token for + * ``transfer-encoding``. + */ + NGHTTP3_QPACK_TOKEN_TRANSFER_ENCODING, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_UPGRADE` is a token for ``upgrade``. + */ + NGHTTP3_QPACK_TOKEN_UPGRADE, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_TE` is a token for ``te``. + */ + NGHTTP3_QPACK_TOKEN_TE, + /** + * :enum:`NGHTTP3_QPACK_TOKEN__PROTOCOL` is a token for + * ``:protocol``. + */ + NGHTTP3_QPACK_TOKEN__PROTOCOL, + /** + * :enum:`NGHTTP3_QPACK_TOKEN_PRIORITY` is a token for ``priority``. + */ + NGHTTP3_QPACK_TOKEN_PRIORITY +} nghttp3_qpack_token; + +/** + * @struct + * + * :type:`nghttp3_qpack_nv` represents HTTP field name/value pair just + * like :type:`nghttp3_nv`. It is an extended version of + * :type:`nghttp3_nv`, and has reference counted buffers and tokens. + */ +typedef struct nghttp3_qpack_nv { + /** + * :member:`name` is the buffer containing HTTP field name. + * NULL-termination is guaranteed. + */ + nghttp3_rcbuf *name; + /** + * :member:`value` is the buffer containing HTTP field value. + * NULL-termination is guaranteed. + */ + nghttp3_rcbuf *value; + /** + * :member:`token` is :type:`nghttp3_qpack_token` value of + * :member:`name`. It could be -1 if we have no token for that HTTP + * field name. + */ + int32_t token; + /** + * :member:`flags` is a bitwise OR of one or more of + * :macro:`NGHTTP3_NV_FLAG_* `. + */ + uint8_t flags; +} nghttp3_qpack_nv; + +/** + * @struct + * + * :type:`nghttp3_qpack_encoder` is QPACK encoder. The details of + * this structure are intentionally hidden from the public API. + */ +typedef struct nghttp3_qpack_encoder nghttp3_qpack_encoder; + +/** + * @function + * + * `nghttp3_qpack_encoder_new` initializes QPACK encoder. |pencoder| + * must be non-NULL pointer. |hard_max_dtable_capacity| is the upper + * bound of the dynamic table capacity. |mem| is a memory allocator. + * This function allocates memory for :type:`nghttp3_qpack_encoder` + * itself, and assigns its pointer to |*pencoder| if it succeeds. + * + * The maximum dynamic table capacity is still 0. In order to change + * the maximum dynamic table capacity, call + * `nghttp3_qpack_encoder_set_max_dtable_capacity`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_qpack_encoder_new(nghttp3_qpack_encoder **pencoder, + size_t hard_max_dtable_capacity, + const nghttp3_mem *mem); + +/** + * @function + * + * `nghttp3_qpack_encoder_del` frees memory allocated for |encoder|. + * This function also frees memory pointed by |encoder| itself. This + * function does nothing if |encoder| is NULL. + */ +NGHTTP3_EXTERN void nghttp3_qpack_encoder_del(nghttp3_qpack_encoder *encoder); + +/** + * @function + * + * `nghttp3_qpack_encoder_encode` encodes the list of HTTP fields + * |nva|. |nvlen| is the length of |nva|. |stream_id| is the + * identifier of the stream which these HTTP fields belong to. This + * function writes field section prefix, encoded HTTP field section, + * and encoder stream to |pbuf|, |rbuf|, and |ebuf| respectively. + * Each :member:`nghttp3_buf.last` will be adjusted when data is + * written. An application should write |pbuf| and |rbuf| to the + * request stream in this order. + * + * The buffer pointed by |pbuf|, |rbuf|, and |ebuf| can be empty + * buffer. It is fine to pass a buffer initialized by + * `nghttp3_buf_init(buf) `. This function + * allocates memory for these buffers as necessary. In particular, it + * frees and expands buffer if the current capacity of buffer is not + * enough. If :member:`nghttp3_buf.begin` of any buffer is not NULL, + * it must be allocated by the same memory allocator passed to + * `nghttp3_qpack_encoder_new`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory + * :macro:`NGHTTP3_ERR_QPACK_FATAL` + * |encoder| is in unrecoverable error state, and cannot be used + * anymore. + */ +NGHTTP3_EXTERN int nghttp3_qpack_encoder_encode( + nghttp3_qpack_encoder *encoder, nghttp3_buf *pbuf, nghttp3_buf *rbuf, + nghttp3_buf *ebuf, int64_t stream_id, const nghttp3_nv *nva, size_t nvlen); + +/** + * @function + * + * `nghttp3_qpack_encoder_read_decoder` reads decoder stream. The + * buffer pointed by |src| of length |srclen| contains decoder stream. + * + * This function returns the number of bytes read, or one of the + * following negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory + * :macro:`NGHTTP3_ERR_QPACK_FATAL` + * |encoder| is in unrecoverable error state, and cannot be used + * anymore. + * :macro:`NGHTTP3_ERR_QPACK_DECODER_STREAM` + * |encoder| is unable to process input because it is malformed. + */ +NGHTTP3_EXTERN nghttp3_ssize nghttp3_qpack_encoder_read_decoder( + nghttp3_qpack_encoder *encoder, const uint8_t *src, size_t srclen); + +/** + * @function + * + * `nghttp3_qpack_encoder_set_max_dtable_capacity` sets max dynamic + * table capacity to |max_dtable_capacity|. If |max_dtable_capacity| + * is larger than ``hard_max_dtable_capacity`` parameter of + * `nghttp3_qpack_encoder_new`, it is truncated to the latter. + */ +NGHTTP3_EXTERN void +nghttp3_qpack_encoder_set_max_dtable_capacity(nghttp3_qpack_encoder *encoder, + size_t max_dtable_capacity); + +/** + * @function + * + * `nghttp3_qpack_encoder_set_max_blocked_streams` sets the number of + * streams which can be blocked to |max_blocked_streams|. + */ +NGHTTP3_EXTERN void +nghttp3_qpack_encoder_set_max_blocked_streams(nghttp3_qpack_encoder *encoder, + size_t max_blocked_streams); + +/** + * @function + * + * `nghttp3_qpack_encoder_ack_everything` tells |encoder| that all + * encoded HTTP field sections are acknowledged. This function is + * provided for debugging purpose only. In HTTP/3, |encoder| knows + * this by reading decoder stream with + * `nghttp3_qpack_encoder_read_decoder`. + */ +NGHTTP3_EXTERN void +nghttp3_qpack_encoder_ack_everything(nghttp3_qpack_encoder *encoder); + +/** + * @function + * + * `nghttp3_qpack_encoder_get_num_blocked_streams` returns the number + * of streams which are potentially blocked at decoder side. + */ +NGHTTP3_EXTERN size_t +nghttp3_qpack_encoder_get_num_blocked_streams(nghttp3_qpack_encoder *encoder); + +/** + * @struct + * + * :type:`nghttp3_qpack_stream_context` is a decoder context for an + * individual stream. Its state is per HTTP field section. In order + * to reuse this object for another HTTP field section, call + * `nghttp3_qpack_stream_context_reset`. The details of this + * structure are intentionally hidden from the public API. + */ +typedef struct nghttp3_qpack_stream_context nghttp3_qpack_stream_context; + +/** + * @function + * + * `nghttp3_qpack_stream_context_new` initializes stream context. + * |psctx| must be non-NULL pointer. |stream_id| is stream ID. |mem| + * is a memory allocator. This function allocates memory for + * :type:`nghttp3_qpack_stream_context` itself, and assigns its + * pointer to |*psctx| if it succeeds. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int +nghttp3_qpack_stream_context_new(nghttp3_qpack_stream_context **psctx, + int64_t stream_id, const nghttp3_mem *mem); + +/** + * @function + * + * `nghttp3_qpack_stream_context_del` frees memory allocated for + * |sctx|. This function frees memory pointed by |sctx| itself. This + * function does nothing if |sctx| is NULL. + */ +NGHTTP3_EXTERN void +nghttp3_qpack_stream_context_del(nghttp3_qpack_stream_context *sctx); + +/** + * @function + * + * `nghttp3_qpack_stream_context_get_ricnt` returns required insert + * count. + */ +NGHTTP3_EXTERN uint64_t +nghttp3_qpack_stream_context_get_ricnt(nghttp3_qpack_stream_context *sctx); + +/** + * @function + * + * `nghttp3_qpack_stream_context_reset` resets the state of |sctx|. + * Then it can be reused for decoding an another HTTP field section in + * the same stream. + */ +NGHTTP3_EXTERN +void nghttp3_qpack_stream_context_reset(nghttp3_qpack_stream_context *sctx); + +/** + * @struct + * + * :type:`nghttp3_qpack_decoder` is QPACK decoder. The details of + * this structure are intentionally hidden from the public API. + */ +typedef struct nghttp3_qpack_decoder nghttp3_qpack_decoder; + +/** + * @function + * + * `nghttp3_qpack_decoder_new` initializes QPACK decoder. |pdecoder| + * must be non-NULL pointer. |hard_max_dtable_capacity| is the upper + * bound of the dynamic table capacity. |max_blocked_streams| is the + * maximum number of streams which can be blocked. |mem| is a memory + * allocator. This function allocates memory for + * :type:`nghttp3_qpack_decoder` itself, and assigns its pointer to + * |*pdecoder| if it succeeds. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_qpack_decoder_new(nghttp3_qpack_decoder **pdecoder, + size_t hard_max_dtable_capacity, + size_t max_blocked_streams, + const nghttp3_mem *mem); + +/** + * @function + * + * `nghttp3_qpack_decoder_del` frees memory allocated for |decoder|. + * This function frees memory pointed by |decoder| itself. This + * function does nothing if |decoder| is NULL. + */ +NGHTTP3_EXTERN void nghttp3_qpack_decoder_del(nghttp3_qpack_decoder *decoder); + +/** + * @function + * + * `nghttp3_qpack_decoder_read_encoder` reads encoder stream. The + * buffer pointed by |src| of length |srclen| contains encoder stream. + * + * This function returns the number of bytes read, or one of the + * following negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + * :macro:`NGHTTP3_ERR_QPACK_FATAL` + * |decoder| is in unrecoverable error state, and cannot be used + * anymore. + * :macro:`NGHTTP3_ERR_QPACK_ENCODER_STREAM` + * Could not interpret encoder stream instruction. + */ +NGHTTP3_EXTERN nghttp3_ssize nghttp3_qpack_decoder_read_encoder( + nghttp3_qpack_decoder *decoder, const uint8_t *src, size_t srclen); + +/** + * @function + * + * `nghttp3_qpack_decoder_get_icnt` returns insert count. + */ +NGHTTP3_EXTERN uint64_t +nghttp3_qpack_decoder_get_icnt(const nghttp3_qpack_decoder *decoder); + +/** + * @macrosection + * + * Flags for QPACK decoder + */ + +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_DECODE_FLAG_NONE` indicates that no flag set. + */ +#define NGHTTP3_QPACK_DECODE_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_DECODE_FLAG_EMIT` indicates that an HTTP + * field is successfully decoded. + */ +#define NGHTTP3_QPACK_DECODE_FLAG_EMIT 0x01u + +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_DECODE_FLAG_FINAL` indicates that an entire + * HTTP field section has been decoded. + */ +#define NGHTTP3_QPACK_DECODE_FLAG_FINAL 0x02u + +/** + * @macro + * + * :macro:`NGHTTP3_QPACK_DECODE_FLAG_BLOCKED` indicates that decoding + * has been blocked. + */ +#define NGHTTP3_QPACK_DECODE_FLAG_BLOCKED 0x04u + +/** + * @function + * + * `nghttp3_qpack_decoder_read_request` reads request stream. The + * request stream is given as the buffer pointed by |src| of length + * |srclen|. |sctx| is the stream context, and it must be created by + * `nghttp3_qpack_stream_context_new`. |*pflags| must be non-NULL + * pointer. |nv| must be non-NULL pointer. + * + * If this function succeeds, it assigns flags to |*pflags|. If + * |*pflags| has :macro:`NGHTTP3_QPACK_DECODE_FLAG_EMIT` set, a + * decoded HTTP field is assigned to |nv|. If |*pflags| has + * :macro:`NGHTTP3_QPACK_DECODE_FLAG_FINAL` set, an entire HTTP field + * section has been successfully decoded. If |*pflags| has + * :macro:`NGHTTP3_QPACK_DECODE_FLAG_BLOCKED` set, decoding is blocked + * due to required insert count. + * + * When an HTTP field is decoded, an application receives it in |nv|. + * :member:`nv->name ` and :member:`nv->value + * ` are reference counted buffer, and their + * reference counts are already incremented for application use. + * Therefore, when application finishes processing |nv|, it must call + * `nghttp3_rcbuf_decref(nv->name) ` and + * `nghttp3_rcbuf_decref(nv->value) `, or memory + * leak might occur. These :type:`nghttp3_rcbuf` objects hold the + * pointer to :type:`nghttp3_mem` that is passed to + * `nghttp3_qpack_decoder_new` (or either `nghttp3_conn_client_new` or + * `nghttp3_conn_server_new` if it is used indirectly). As long as + * these objects are alive, the pointed :type:`nghttp3_mem` object + * must be available. Otherwise, `nghttp3_rcbuf_decref` will cause + * undefined behavior. + * + * This function returns the number of bytes read, or one of the + * following negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + * :macro:`NGHTTP3_ERR_QPACK_FATAL` + * |decoder| is in unrecoverable error state, and cannot be used + * anymore. + * :macro:`NGHTTP3_ERR_QPACK_DECOMPRESSION_FAILED` + * Could not interpret field line representations. + * :macro:`NGHTTP3_ERR_QPACK_HEADER_TOO_LARGE` + * HTTP field is too large. + */ +NGHTTP3_EXTERN nghttp3_ssize nghttp3_qpack_decoder_read_request( + nghttp3_qpack_decoder *decoder, nghttp3_qpack_stream_context *sctx, + nghttp3_qpack_nv *nv, uint8_t *pflags, const uint8_t *src, size_t srclen, + int fin); + +/** + * @function + * + * `nghttp3_qpack_decoder_write_decoder` writes decoder stream into + * |dbuf|. + * + * The caller must ensure that `nghttp3_buf_left(dbuf) + * ` >= + * `nghttp3_qpack_decoder_get_decoder_streamlen(decoder) + * `. + */ +NGHTTP3_EXTERN void +nghttp3_qpack_decoder_write_decoder(nghttp3_qpack_decoder *decoder, + nghttp3_buf *dbuf); + +/** + * @function + * + * `nghttp3_qpack_decoder_get_decoder_streamlen` returns the length of + * decoder stream that is currently pending. + */ +NGHTTP3_EXTERN size_t +nghttp3_qpack_decoder_get_decoder_streamlen(nghttp3_qpack_decoder *decoder); + +/** + * @function + * + * `nghttp3_qpack_decoder_cancel_stream` cancels HTTP field section + * decoding for stream denoted by |stream_id|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + * :macro:`NGHTTP3_ERR_QPACK_FATAL` + * Decoder stream overflow. + */ +NGHTTP3_EXTERN int +nghttp3_qpack_decoder_cancel_stream(nghttp3_qpack_decoder *decoder, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_qpack_decoder_set_max_dtable_capacity` sets + * |max_dtable_capacity| as maximum dynamic table size. + * |max_dtable_capacity| must be equal to, or smaller than + * ``hard_max_dtable_capacity`` parameter of + * `nghttp3_qpack_decoder_new`. Normally, the maximum capacity is + * communicated in encoder stream. This function is provided for + * debugging and testing purpose. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * |max_dtable_capacity| exceeds the upper bound of the dynamic + * table capacity. + */ +NGHTTP3_EXTERN int +nghttp3_qpack_decoder_set_max_dtable_capacity(nghttp3_qpack_decoder *decoder, + size_t max_dtable_capacity); + +/** + * @function + * + * `nghttp3_qpack_decoder_set_max_concurrent_streams` tells |decoder| + * the maximum number of concurrent streams that a remote endpoint can + * open, including both bidirectional and unidirectional streams which + * potentially receive QPACK encoded HEADERS frame. This value is + * used as a hint to limit the length of decoder stream. + */ +NGHTTP3_EXTERN void +nghttp3_qpack_decoder_set_max_concurrent_streams(nghttp3_qpack_decoder *decoder, + size_t max_concurrent_streams); + +/** + * @function + * + * `nghttp3_strerror` returns textual representation of |liberr|. + */ +NGHTTP3_EXTERN const char *nghttp3_strerror(int liberr); + +/** + * @function + * + * `nghttp3_err_infer_quic_app_error_code` returns a QUIC application + * error code which corresponds to |liberr|. + */ +NGHTTP3_EXTERN uint64_t nghttp3_err_infer_quic_app_error_code(int liberr); + +/** + * @functypedef + * + * :type:`nghttp3_debug_vprintf_callback` is a callback function + * invoked when the library outputs debug logging. The function is + * called with arguments suitable for :manpage:`vfprintf(3)`. + * + * The debug output is only enabled if the library is built with + * :macro:`DEBUGBUILD` macro defined. + */ +typedef void (*nghttp3_debug_vprintf_callback)(const char *format, + va_list args); + +/** + * @function + * + * `nghttp3_set_debug_vprintf_callback` sets a debug output callback + * called by the library when built with :macro:`DEBUGBUILD` macro + * defined. If a callback function is not set by this function, debug + * log is written into standard error output. + * + * For builds without :macro:`DEBUGBUILD` macro defined, this function + * is noop. + * + * Note that building with :macro:`DEBUGBUILD` may cause significant + * performance penalty to libnghttp3 because of extra processing. It + * should be used for debugging purpose only. + * + * .. Warning:: + * + * Building with :macro:`DEBUGBUILD` may cause significant + * performance penalty to libnghttp3 because of extra processing. + * It should be used for debugging purpose only. We write this two + * times because this is important. + */ +NGHTTP3_EXTERN void nghttp3_set_debug_vprintf_callback( + nghttp3_debug_vprintf_callback debug_vprintf_callback); + +/** + * @macrosection + * + * Shutdown related constants + */ + +/** + * @macro + * + * :macro:`NGHTTP3_SHUTDOWN_NOTICE_STREAM_ID` specifies stream ID sent + * by a server when it initiates graceful shutdown of the connection + * via `nghttp3_conn_submit_shutdown_notice`. + */ +#define NGHTTP3_SHUTDOWN_NOTICE_STREAM_ID ((1ull << 62) - 4) + +/** + * @macro + * + * :macro:`NGHTTP3_SHUTDOWN_NOTICE_PUSH_ID` specifies push ID sent by + * a client when it initiates graceful shutdown of the connection via + * `nghttp3_conn_submit_shutdown_notice`. Note that libnghttp3 does + * not implement HTTP/3 Server Push. + */ +#define NGHTTP3_SHUTDOWN_NOTICE_PUSH_ID ((1ull << 62) - 1) + +/** + * @struct + * + * :type:`nghttp3_conn` represents a single HTTP/3 connection. The + * details of this structure are intentionally hidden from the public + * API. + */ +typedef struct nghttp3_conn nghttp3_conn; + +#define NGHTTP3_SETTINGS_V1 1 +#define NGHTTP3_SETTINGS_VERSION NGHTTP3_SETTINGS_V1 + +/** + * @struct + * + * :type:`nghttp3_settings` defines HTTP/3 settings. + */ +typedef struct nghttp3_settings { + /** + * :member:`max_field_section_size` specifies the maximum header + * section (block) size. + */ + uint64_t max_field_section_size; + /** + * :member:`qpack_max_dtable_capacity` is the maximum size of QPACK + * dynamic table. + */ + size_t qpack_max_dtable_capacity; + /** + * :member:`qpack_encoder_max_dtable_capacity` is the upper bound of + * QPACK dynamic table capacity that the QPACK encoder is willing to + * use. The effective maximum dynamic table capacity is the minimum + * of this field and the value of the received + * SETTINGS_QPACK_MAX_TABLE_CAPACITY. If this field is set to 0, + * the encoder does not use the dynamic table. + * + * When :type:`nghttp3_settings` is passed to + * :member:`nghttp3_callbacks.recv_settings` callback, this field + * should be ignored. + */ + size_t qpack_encoder_max_dtable_capacity; + /** + * :member:`qpack_blocked_streams` is the maximum number of streams + * which can be blocked while they are being decoded. + */ + size_t qpack_blocked_streams; + /** + * :member:`enable_connect_protocol`, if set to nonzero, enables + * Extended CONNECT Method (see :rfc:`9220`). Client ignores this + * field. + */ + uint8_t enable_connect_protocol; + /** + * :member:`h3_datagram`, if set to nonzero, enables HTTP/3 + * Datagrams (see :rfc:`9297`). + */ + uint8_t h3_datagram; +} nghttp3_settings; + +/** + * @functypedef + * + * :type:`nghttp3_acked_stream_data` is a callback function which is + * invoked when data sent on stream denoted by |stream_id| supplied + * from application is acknowledged by remote endpoint. The number of + * bytes acknowledged is given in |datalen|. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_acked_stream_data)(nghttp3_conn *conn, int64_t stream_id, + uint64_t datalen, void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_conn_stream_close` is a callback function which is + * invoked when a stream identified by |stream_id| is closed. QUIC + * application error code |app_error_code| indicates the reason of + * this closure. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_stream_close)(nghttp3_conn *conn, int64_t stream_id, + uint64_t app_error_code, + void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_recv_data` is a callback function which is invoked + * when a part of request or response body on stream identified by + * |stream_id| is received. |data| points to the received data, and + * its length is |datalen|. + * + * The application is responsible for increasing flow control credit + * (say, increasing by |datalen| bytes). + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_recv_data)(nghttp3_conn *conn, int64_t stream_id, + const uint8_t *data, size_t datalen, + void *conn_user_data, void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_deferred_consume` is a callback function which is + * invoked when the library consumed |consumed| bytes for a stream + * identified by |stream_id|. This callback is used to notify the + * consumed bytes for stream blocked due to synchronization between + * streams. The application is responsible for increasing flow + * control credit by |consumed| bytes. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_deferred_consume)(nghttp3_conn *conn, int64_t stream_id, + size_t consumed, void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_begin_headers` is a callback function which is + * invoked when an incoming HTTP field section is started on a stream + * denoted by |stream_id|. Each HTTP field is passed to application + * by :type:`nghttp3_recv_header` callback. And then + * :type:`nghttp3_end_headers` is called when a whole HTTP field + * section is processed. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_begin_headers)(nghttp3_conn *conn, int64_t stream_id, + void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_recv_header` is a callback function which is invoked + * when an HTTP field is received on a stream denoted by |stream_id|. + * |name| contains a field name, and |value| contains a field value. + * |token| is one of token defined in :type:`nghttp3_qpack_token` or + * -1 if no token is defined for |name|. |flags| is bitwise OR of + * zero or more of :macro:`NGHTTP3_NV_FLAG_* `. + * + * The buffers for |name| and |value| are reference counted. If + * application needs to keep them, increment the reference count with + * `nghttp3_rcbuf_incref`. When they are no longer used, call + * `nghttp3_rcbuf_decref`. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_recv_header)(nghttp3_conn *conn, int64_t stream_id, + int32_t token, nghttp3_rcbuf *name, + nghttp3_rcbuf *value, uint8_t flags, + void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_end_headers` is a callback function which is invoked + * when an incoming HTTP field section has ended. + * + * If the stream ends with this HTTP field section, |fin| is set to + * nonzero. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_end_headers)(nghttp3_conn *conn, int64_t stream_id, + int fin, void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_end_stream` is a callback function which is invoked + * when the receiving side of stream is closed. For server, this + * callback function is invoked when HTTP request is received + * completely. For client, this callback function is invoked when + * HTTP response is received completely. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_end_stream)(nghttp3_conn *conn, int64_t stream_id, + void *conn_user_data, void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_stop_sending` is a callback function which is + * invoked when the library asks application to send STOP_SENDING to + * the stream identified by |stream_id|. QUIC application error code + * |app_error_code| indicates the reason for this action. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_stop_sending)(nghttp3_conn *conn, int64_t stream_id, + uint64_t app_error_code, + void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_reset_stream` is a callback function which is + * invoked when the library asks application to reset stream + * identified by |stream_id|. QUIC application error code + * |app_error_code| indicates the reason for this action. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_reset_stream)(nghttp3_conn *conn, int64_t stream_id, + uint64_t app_error_code, + void *conn_user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_shutdown` is a callback function which is invoked + * when a shutdown is initiated by the remote endpoint. For client, + * |id| contains a stream ID of a client initiated stream, for server, + * it contains a push ID. All client streams with stream ID, or pushes + * with push ID equal to, or larger than |ID| are guaranteed to not be + * processed by the remote endpoint. Note that libnghttp3 does not + * implement Server Push. + * + * Parameter |id| for client can contain a special value + * :macro:`NGHTTP3_SHUTDOWN_NOTICE_STREAM_ID`, and for server it can + * contain special value + * :macro:`NGHTTP3_SHUTDOWN_NOTICE_PUSH_ID`. These values signal + * request for graceful shutdown of the connection, triggered by + * remote endpoint's invocation of + * `nghttp3_conn_submit_shutdown_notice`. + * + * It is possible that this callback is invoked multiple times on a + * single connection, however the |id| can only stay the same or + * decrease, never increase. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_shutdown)(nghttp3_conn *conn, int64_t id, + void *conn_user_data); + +/** + * @functypedef + * + * :type:`nghttp3_recv_settings` is a callback function which is + * invoked when SETTINGS frame is received. |settings| is a received + * remote HTTP/3 settings. + * + * The implementation of this callback must return 0 if it succeeds. + * Returning :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` will return to the + * caller immediately. Any values other than 0 is treated as + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + */ +typedef int (*nghttp3_recv_settings)(nghttp3_conn *conn, + const nghttp3_settings *settings, + void *conn_user_data); + +#define NGHTTP3_CALLBACKS_V1 1 +#define NGHTTP3_CALLBACKS_VERSION NGHTTP3_CALLBACKS_V1 + +/** + * @struct + * + * :type:`nghttp3_callbacks` holds a set of callback functions. + */ +typedef struct nghttp3_callbacks { + /** + * :member:`acked_stream_data` is a callback function which is + * invoked when data sent on a particular stream have been + * acknowledged by a remote endpoint. + */ + nghttp3_acked_stream_data acked_stream_data; + /** + * :member:`stream_close` is a callback function which is invoked + * when a particular stream has closed. + */ + nghttp3_stream_close stream_close; + /** + * :member:`recv_data` is a callback function which is invoked when + * stream data is received. + */ + nghttp3_recv_data recv_data; + /** + * :member:`deferred_consume` is a callback function which is + * invoked when the library consumed data for a particular stream + * which had been blocked for synchronization between streams. + */ + nghttp3_deferred_consume deferred_consume; + /** + * :member:`begin_headers` is a callback function which is invoked + * when an HTTP header field section has started on a particular + * stream. + */ + nghttp3_begin_headers begin_headers; + /** + * :member:`recv_header` is a callback function which is invoked + * when a single HTTP header field is received on a particular + * stream. + */ + nghttp3_recv_header recv_header; + /** + * :member:`end_headers` is a callback function which is invoked + * when an HTTP header field section has ended on a particular + * stream. + */ + nghttp3_end_headers end_headers; + /** + * :member:`begin_trailers` is a callback function which is invoked + * when an HTTP trailer field section has started on a particular + * stream. + */ + nghttp3_begin_headers begin_trailers; + /** + * :member:`recv_trailer` is a callback function which is invoked + * when a single HTTP trailer field is received on a particular + * stream. + */ + nghttp3_recv_header recv_trailer; + /** + * :member:`end_trailers` is a callback function which is invoked + * when an HTTP trailer field section has ended on a particular + * stream. + */ + nghttp3_end_headers end_trailers; + /** + * :member:`stop_sending` is a callback function which is invoked + * when the library asks application to send STOP_SENDING to a + * particular stream. + */ + nghttp3_stop_sending stop_sending; + /** + * :member:`end_stream` is a callback function which is invoked when + * a receiving side of stream has been closed. + */ + nghttp3_end_stream end_stream; + /** + * :member:`reset_stream` is a callback function which is invoked + * when the library asks application to reset stream (by sending + * RESET_STREAM). + */ + nghttp3_reset_stream reset_stream; + /** + * :member:`shutdown` is a callback function which is invoked when + * the remote endpoint has signalled initiation of connection + * shutdown. + */ + nghttp3_shutdown shutdown; + /** + * :member:`recv_settings` is a callback function which is invoked + * when SETTINGS frame is received. + */ + nghttp3_recv_settings recv_settings; +} nghttp3_callbacks; + +/** + * @function + * + * `nghttp3_settings_default` fills |settings| with the default + * values. + * + * - :member:`max_field_section_size + * ` = :expr:`((1ull << 62) - 1)` + * - :member:`qpack_max_dtable_capacity + * ` = 0 + * - :member:`qpack_encoder_max_dtable_capacity + * ` = 4096 + * - :member:`qpack_blocked_streams + * ` = 0 + * - :member:`enable_connect_protocol + * ` = 0 + */ +NGHTTP3_EXTERN void +nghttp3_settings_default_versioned(int settings_version, + nghttp3_settings *settings); + +/** + * @function + * + * `nghttp3_conn_client_new` creates :type:`nghttp3_conn`, and + * initializes it for client use. The pointer to the object is stored + * in |*pconn|. If |mem| is ``NULL``, the memory allocator returned + * by `nghttp3_mem_default` is used. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int +nghttp3_conn_client_new_versioned(nghttp3_conn **pconn, int callbacks_version, + const nghttp3_callbacks *callbacks, + int settings_version, + const nghttp3_settings *settings, + const nghttp3_mem *mem, void *conn_user_data); + +/** + * @function + * + * `nghttp3_conn_server_new` creates :type:`nghttp3_conn`, and + * initializes it for server use. The pointer to the object is stored + * in |*pconn|. If |mem| is ``NULL``, the memory allocator returned + * by `nghttp3_mem_default` is used. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int +nghttp3_conn_server_new_versioned(nghttp3_conn **pconn, int callbacks_version, + const nghttp3_callbacks *callbacks, + int settings_version, + const nghttp3_settings *settings, + const nghttp3_mem *mem, void *conn_user_data); + +/** + * @function + * + * `nghttp3_conn_del` frees resources allocated for |conn|. This + * function also frees memory pointed by |conn| itself. This function + * does nothing if |conn| is NULL. + */ +NGHTTP3_EXTERN void nghttp3_conn_del(nghttp3_conn *conn); + +/** + * @function + * + * `nghttp3_conn_bind_control_stream` binds stream denoted by + * |stream_id| to outgoing unidirectional control stream. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_STATE` + * Control stream has already corresponding stream ID. + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_bind_control_stream(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_bind_qpack_streams` binds stream denoted by + * |qenc_stream_id| to outgoing QPACK encoder stream, and stream + * denoted by |qdec_stream_id| to outgoing QPACK encoder stream. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_STATE` + * QPACK encoder/decoder stream have already corresponding stream + * IDs. + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_bind_qpack_streams(nghttp3_conn *conn, + int64_t qenc_stream_id, + int64_t qdec_stream_id); + +/** + * @function + * + * `nghttp3_conn_read_stream` reads data |src| of length |srclen| on + * stream identified by |stream_id|. It returns the number of bytes + * consumed. The "consumed" means that application can increase flow + * control credit (both stream and connection) of underlying QUIC + * connection by that amount. It does not include the amount of data + * carried by DATA frame which contains application data (excluding + * any control or QPACK unidirectional streams). See + * :type:`nghttp3_recv_data` to handle those bytes. If |fin| is + * nonzero, this is the last data from remote endpoint in this stream. + * + * This function returns the number of bytes consumed, or one of the + * following negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` + * User callback failed. + * + * It may return the other error codes. The negative error code means + * that |conn| encountered a connection error, and the connection must + * be closed. Calling nghttp3 API other than `nghttp3_conn_del` + * causes undefined behavior. + */ +NGHTTP3_EXTERN nghttp3_ssize nghttp3_conn_read_stream(nghttp3_conn *conn, + int64_t stream_id, + const uint8_t *src, + size_t srclen, int fin); + +/** + * @function + * + * `nghttp3_conn_writev_stream` stores stream data to send to |vec| of + * length |veccnt|, and returns the number of nghttp3_vec object in + * which it stored data. It stores stream ID to |*pstream_id|. An + * application has to call `nghttp3_conn_add_write_offset` to inform + * |conn| of the actual number of bytes that underlying QUIC stack + * accepted. |*pfin| will be nonzero if this is the last data to + * send. If there is no stream to write data or send fin, this + * function returns 0, and -1 is assigned to |*pstream_id|. This + * function may return 0, and |*pstream_id| is not -1, and |*pfin| is + * nonzero. It means 0 length data to |*pstream_id|, and it is the + * last data to the stream. They must be passed to QUIC stack, and + * they are accepted, the application has to call + * `nghttp3_conn_add_write_offset` with 0 byte. + * + * This function returns the number of bytes consumed, or one of the + * following negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` + * User callback failed. + * + * It may return the other error codes. The negative error code means + * that |conn| encountered a connection error, and the connection must + * be closed. Calling nghttp3 API other than `nghttp3_conn_del` + * causes undefined behavior. + */ +NGHTTP3_EXTERN nghttp3_ssize nghttp3_conn_writev_stream(nghttp3_conn *conn, + int64_t *pstream_id, + int *pfin, + nghttp3_vec *vec, + size_t veccnt); + +/** + * @function + * + * `nghttp3_conn_add_write_offset` tells |conn| the number of bytes + * |n| for stream denoted by |stream_id| QUIC stack accepted. + * + * If stream has no data to send but just sends fin (closing the write + * side of a stream), the number of bytes sent is 0. It is important + * to call this function even if |n| is 0 in this case. It is safe to + * call this function if |n| is 0. + * + * `nghttp3_conn_writev_stream` must be called before calling this + * function to get data to send, and those data must be fed into QUIC + * stack. + * + * If a stream denoted by |stream_id| is not found, this function + * returns 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_add_write_offset(nghttp3_conn *conn, + int64_t stream_id, size_t n); + +/** + * @function + * + * `nghttp3_conn_add_ack_offset` tells |conn| the number of bytes |n| + * for stream denoted by |stream_id| QUIC stack has acknowledged. + * + * If a stream denoted by |stream_id| is not found, this function + * returns 0. + * + * Alternatively, `nghttp3_conn_update_ack_offset` can be used to + * accomplish the same thing. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` + * User callback failed. + */ +NGHTTP3_EXTERN int nghttp3_conn_add_ack_offset(nghttp3_conn *conn, + int64_t stream_id, uint64_t n); + +/** + * @function + * + * `nghttp3_conn_update_ack_offset` tells |conn| that QUIC stack has + * acknowledged the stream data up to |offset| for a stream denoted by + * |stream_id|. + * + * If a stream denoted by |stream_id| is not found, this function + * returns 0. + * + * Alternatively, `nghttp3_conn_add_ack_offset` can be used to + * accomplish the same thing. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * |offset| is less than the number of bytes acknowledged so far. + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` + * User callback failed. + */ +NGHTTP3_EXTERN int nghttp3_conn_update_ack_offset(nghttp3_conn *conn, + int64_t stream_id, + uint64_t offset); + +/** + * @function + * + * `nghttp3_conn_block_stream` tells the library that stream + * identified by |stream_id| is blocked due to QUIC flow control. + */ +NGHTTP3_EXTERN void nghttp3_conn_block_stream(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_unblock_stream` tells the library that stream + * identified by |stream_id| which was blocked by QUIC flow control + * (see `nghttp3_conn_block_stream`) is unblocked. + * + * If a stream denoted by |stream_id| is not found, this function + * returns 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_unblock_stream(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_is_stream_writable` returns nonzero if a stream + * identified by |stream_id| is writable. It is not writable if: + * + * - the stream does not exist; or, + * - the stream is closed (e.g., `nghttp3_conn_close_stream` is + * called); or, + * - the stream is QUIC flow control blocked (e.g., + * `nghttp3_conn_block_stream` is called); or, + * - the stream is input data blocked (e.g., + * :macro:`NGHTTP3_ERR_WOULDBLOCK` is returned from + * :type:`nghttp3_read_data_callback`); or, + * - the stream is half-closed local (e.g., + * `nghttp3_conn_shutdown_stream_write` is called). + */ +NGHTTP3_EXTERN int nghttp3_conn_is_stream_writable(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_shutdown_stream_write` tells the library that any + * further write operation to stream identified by |stream_id| is + * prohibited. This works like `nghttp3_conn_block_stream`, but it + * cannot be unblocked by `nghttp3_conn_unblock_stream`. + */ +NGHTTP3_EXTERN void nghttp3_conn_shutdown_stream_write(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_shutdown_stream_read` tells the library that + * read-side of stream denoted by |stream_id| is abruptly closed, and + * any further incoming data and pending stream data should be + * discarded. + * + * If a stream denoted by |stream_id| is not client bidirectional + * stream, this function returns 0. If the stream has already + * shutdown read-side stream, this function returns 0. + * + * This function does not fail if a stream denoted by |stream_id| is + * not found, although it may fail with the other reasons. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + * :macro:`NGHTTP3_ERR_QPACK_FATAL` + * QPACK decoder stream overflow. + */ +NGHTTP3_EXTERN int nghttp3_conn_shutdown_stream_read(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_resume_stream` resumes stream identified by + * |stream_id| which was previously unable to provide data. See + * :type:`nghttp3_read_data_callback`. + * + * If a stream denoted by |stream_id| is not found, this function + * returns 0. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_resume_stream(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_close_stream` tells the library that a stream + * identified by |stream_id| has been closed. QUIC application error + * code |app_error_code| is the reason of the closure. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found. + * :macro:`NGHTTP3_ERR_H3_CLOSED_CRITICAL_STREAM` + * A critical stream is closed. + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE` + * User callback failed + */ +NGHTTP3_EXTERN int nghttp3_conn_close_stream(nghttp3_conn *conn, + int64_t stream_id, + uint64_t app_error_code); + +/** + * @macrosection + * + * Data flags + */ + +/** + * @macro + * + * :macro:`NGHTTP3_DATA_FLAG_NONE` indicates no flag set. + */ +#define NGHTTP3_DATA_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGHTTP3_DATA_FLAG_EOF` indicates that all request or + * response body has been provided to the library. It also indicates + * that sending side of stream is closed unless + * :macro:`NGHTTP3_DATA_FLAG_NO_END_STREAM` is given at the same time. + */ +#define NGHTTP3_DATA_FLAG_EOF 0x01u + +/** + * @macro + * + * :macro:`NGHTTP3_DATA_FLAG_NO_END_STREAM` indicates that sending + * side of stream is not closed even if :macro:`NGHTTP3_DATA_FLAG_EOF` + * is set. Usually this flag is used to send trailer fields with + * `nghttp3_conn_submit_trailers`. If `nghttp3_conn_submit_trailers` + * has been called, regardless of this flag, the submitted trailer + * fields are sent. + */ +#define NGHTTP3_DATA_FLAG_NO_END_STREAM 0x02u + +/** + * @function + * + * `nghttp3_conn_set_max_client_streams_bidi` tells |conn| the + * cumulative number of bidirectional streams that client can open. + */ +NGHTTP3_EXTERN void +nghttp3_conn_set_max_client_streams_bidi(nghttp3_conn *conn, + uint64_t max_streams); + +/** + * @function + * + * `nghttp3_conn_set_max_concurrent_streams` tells |conn| the maximum + * number of concurrent streams that a remote endpoint can open, + * including both bidirectional and unidirectional streams which + * potentially receive QPACK encoded HEADERS frame. This value is + * used as a hint to limit the internal resource consumption. + */ +NGHTTP3_EXTERN void +nghttp3_conn_set_max_concurrent_streams(nghttp3_conn *conn, + size_t max_concurrent_streams); + +/** + * @functypedef + * + * :type:`nghttp3_read_data_callback` is a callback function invoked + * when the library asks an application to provide stream data for a + * stream denoted by |stream_id|. + * + * The library provides |vec| of length |veccnt| to the application. + * The application should fill data and its length to |vec|. It has + * to return the number of the filled objects. The application must + * retain data until they are safe to free. It is notified by + * :type:`nghttp3_acked_stream_data` callback. + * + * If this is the last data to send (or there is no data to send + * because all data have been sent already), set + * :macro:`NGHTTP3_DATA_FLAG_EOF` to |*pflags|. + * + * If the application is unable to provide data temporarily, return + * :macro:`NGHTTP3_ERR_WOULDBLOCK`. When it is ready to provide data, + * call `nghttp3_conn_resume_stream`. + * + * The callback should return the number of objects in |vec| that the + * application filled if it succeeds, or + * :macro:`NGHTTP3_ERR_CALLBACK_FAILURE`. + * + * TODO Add NGHTTP3_ERR_TEMPORAL_CALLBACK_FAILURE to reset just this + * stream. + */ +typedef nghttp3_ssize (*nghttp3_read_data_callback)( + nghttp3_conn *conn, int64_t stream_id, nghttp3_vec *vec, size_t veccnt, + uint32_t *pflags, void *conn_user_data, void *stream_user_data); + +/** + * @struct + * + * :type:`nghttp3_data_reader` specifies the way how to generate + * request or response body. + */ +typedef struct nghttp3_data_reader { + /** + * :member:`read_data` is a callback function to generate body. + */ + nghttp3_read_data_callback read_data; +} nghttp3_data_reader; + +/** + * @function + * + * `nghttp3_conn_submit_request` submits HTTP request header fields + * and body on the stream identified by |stream_id|. |stream_id| must + * be a client initiated bidirectional stream. Only client can submit + * HTTP request. |nva| of length |nvlen| specifies HTTP request + * header fields. |dr| specifies a request body. If there is no + * request body, specify NULL. If |dr| is NULL, it implies the end of + * stream. |stream_user_data| is an opaque pointer attached to the + * stream. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_CONN_CLOSING` + * Connection is shutting down, and no new stream is allowed. + * :macro:`NGHTTP3_ERR_STREAM_IN_USE` + * Stream has already been opened. + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_submit_request( + nghttp3_conn *conn, int64_t stream_id, const nghttp3_nv *nva, size_t nvlen, + const nghttp3_data_reader *dr, void *stream_user_data); + +/** + * @function + * + * `nghttp3_conn_submit_info` submits HTTP non-final response header + * fields on the stream identified by |stream_id|. |nva| of length + * |nvlen| specifies HTTP response header fields. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_submit_info(nghttp3_conn *conn, + int64_t stream_id, + const nghttp3_nv *nva, + size_t nvlen); + +/** + * @function + * + * `nghttp3_conn_submit_response` submits HTTP response header fields + * and body on the stream identified by |stream_id|. |nva| of length + * |nvlen| specifies HTTP response header fields. |dr| specifies a + * response body. If there is no response body, specify NULL. If + * |dr| is NULL, it implies the end of stream. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_submit_response(nghttp3_conn *conn, + int64_t stream_id, + const nghttp3_nv *nva, + size_t nvlen, + const nghttp3_data_reader *dr); + +/** + * @function + * + * `nghttp3_conn_submit_trailers` submits HTTP trailer fields on the + * stream identified by |stream_id|. |nva| of length |nvlen| + * specifies HTTP trailer fields. Calling this function implies the + * end of stream. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found + * :macro:`NGHTTP3_ERR_INVALID_STATE` + * Application has already submitted fin to stream. + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_submit_trailers(nghttp3_conn *conn, + int64_t stream_id, + const nghttp3_nv *nva, + size_t nvlen); + +/** + * @function + * + * `nghttp3_conn_submit_shutdown_notice` notifies the other endpoint + * to stop creating new stream. After a couple of RTTs later, call + * `nghttp3_conn_shutdown` to start graceful shutdown. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_submit_shutdown_notice(nghttp3_conn *conn); + +/** + * @function + * + * `nghttp3_conn_shutdown` starts graceful shutdown. It should be + * called after `nghttp3_conn_submit_shutdown_notice` and a couple of + * RTTs. After calling this function, the local endpoint starts + * rejecting new incoming streams. The existing streams are processed + * normally. See also `nghttp3_conn_is_drained`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_shutdown(nghttp3_conn *conn); + +/** + * @function + * + * `nghttp3_conn_set_stream_user_data` sets |stream_user_data| to the + * stream identified by |stream_id|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found. + */ +NGHTTP3_EXTERN int nghttp3_conn_set_stream_user_data(nghttp3_conn *conn, + int64_t stream_id, + void *stream_user_data); + +/** + * @function + * + * `nghttp3_conn_get_frame_payload_left` returns the number of bytes + * left to read current frame payload for a stream denoted by + * |stream_id|. If no such stream is found, or |stream_id| identifies + * neither client bidirectional stream nor remote control stream, it + * returns 0. + */ +NGHTTP3_EXTERN uint64_t nghttp3_conn_get_frame_payload_left(nghttp3_conn *conn, + int64_t stream_id); + +/** + * @macrosection + * + * HTTP stream priority flags + */ + +/** + * @macro + * + * :macro:`NGHTTP3_DEFAULT_URGENCY` is the default urgency level. + */ +#define NGHTTP3_DEFAULT_URGENCY 3 + +/** + * @macro + * + * :macro:`NGHTTP3_URGENCY_HIGH` is the highest urgency level. + */ +#define NGHTTP3_URGENCY_HIGH 0 + +/** + * @macro + * + * :macro:`NGHTTP3_URGENCY_LOW` is the lowest urgency level. + */ +#define NGHTTP3_URGENCY_LOW 7 + +/** + * @macro + * + * :macro:`NGHTTP3_URGENCY_LEVELS` is the number of urgency levels. + */ +#define NGHTTP3_URGENCY_LEVELS (NGHTTP3_URGENCY_LOW + 1) + +#define NGHTTP3_PRI_V1 1 +#define NGHTTP3_PRI_VERSION NGHTTP3_PRI_V1 + +/** + * @struct + * + * :type:`nghttp3_pri` represents HTTP priority. + */ +typedef struct NGHTTP3_ALIGN(8) nghttp3_pri { + /** + * :member:`urgency` is the urgency of a stream, it must be in + * [:macro:`NGHTTP3_URGENCY_HIGH`, :macro:`NGHTTP3_URGENCY_LOW`], + * inclusive, and 0 is the highest urgency. + */ + uint32_t urgency; + /** + * :member:`inc` indicates that a content can be processed + * incrementally or not. If it is 0, it cannot be processed + * incrementally. If it is 1, it can be processed incrementally. + * Other value is not permitted. + */ + uint8_t inc; +} nghttp3_pri; + +/** + * @function + * + * `nghttp3_conn_get_stream_priority` stores stream priority of a + * stream denoted by |stream_id| into |*dest|. |stream_id| must + * identify client initiated bidirectional stream. Only server can + * use this function. + * + * This function must not be called if |conn| is initialized as + * client. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * |stream_id| is not a client initiated bidirectional stream ID. + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found. + */ +NGHTTP3_EXTERN int nghttp3_conn_get_stream_priority_versioned( + nghttp3_conn *conn, int pri_version, nghttp3_pri *dest, int64_t stream_id); + +/** + * @function + * + * `nghttp3_conn_set_client_stream_priority` updates priority of a + * stream denoted by |stream_id| with the value pointed by |data| of + * length |datalen|, which should be a serialized :rfc:`9218` priority + * field value. |stream_id| must identify client initiated + * bidirectional stream. + * + * This function must not be called if |conn| is initialized as + * server. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * |stream_id| is not a client initiated bidirectional stream ID. + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found. + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_set_client_stream_priority(nghttp3_conn *conn, + int64_t stream_id, + const uint8_t *data, + size_t datalen); + +/** + * @function + * + * `nghttp3_conn_set_server_stream_priority` updates priority of a + * stream denoted by |stream_id| with the value pointed by |pri|. + * |stream_id| must identify client initiated bidirectional stream. + * + * This function must not be called if |conn| is initialized as + * client. + * + * This function completely overrides stream priority set by client, + * and any attempts to update priority by client are ignored. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * |stream_id| is not a client initiated bidirectional stream ID. + * :macro:`NGHTTP3_ERR_STREAM_NOT_FOUND` + * Stream not found. + * :macro:`NGHTTP3_ERR_NOMEM` + * Out of memory. + */ +NGHTTP3_EXTERN int nghttp3_conn_set_server_stream_priority_versioned( + nghttp3_conn *conn, int64_t stream_id, int pri_version, + const nghttp3_pri *pri); + +/** + * @function + * + * `nghttp3_vec_len` returns the sum of length in |vec| of |cnt| + * elements. + */ +NGHTTP3_EXTERN uint64_t nghttp3_vec_len(const nghttp3_vec *vec, size_t cnt); + +/** + * @function + * + * `nghttp3_check_header_name` returns nonzero if HTTP field name + * |name| of length |len| is valid according to + * :rfc:`7230#section-3.2`. + * + * Because this is an HTTP field name in HTTP/3, the upper cased + * alphabet is treated as error. + */ +NGHTTP3_EXTERN int nghttp3_check_header_name(const uint8_t *name, size_t len); + +/** + * @function + * + * `nghttp3_check_header_value` returns nonzero if HTTP field value + * |value| of length |len| is valid according to + * :rfc:`7230#section-3.2`. + */ +NGHTTP3_EXTERN int nghttp3_check_header_value(const uint8_t *value, size_t len); + +/** + * @function + * + * `nghttp3_conn_is_drained` returns nonzero if + * `nghttp3_conn_shutdown` has been called, and there is no active + * remote streams. This function is for server use only. + */ +NGHTTP3_EXTERN int nghttp3_conn_is_drained(nghttp3_conn *conn); + +/** + * @function + * + * `nghttp3_pri_parse_priority` parses Priority header field value + * pointed by |value| of length |len|, and stores the result in the + * object pointed by |dest|. Priority header field is defined in + * :rfc:`9218`. + * + * This function does not initialize the object pointed by |dest| + * before storing the result. It only assigns the values that the + * parser correctly extracted to fields. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * Failed to parse the header field value. + */ +NGHTTP3_EXTERN int nghttp3_pri_parse_priority_versioned(int pri_version, + nghttp3_pri *dest, + const uint8_t *value, + size_t len); + +/** + * @macrosection + * + * nghttp3_info flags + */ + +/** + * @macro + * + * :macro:`NGHTTP3_VERSION_AGE` is the age of :type:`nghttp3_info`. + */ +#define NGHTTP3_VERSION_AGE 1 + +/** + * @struct + * + * :type:`nghttp3_info` is what `nghttp3_version` returns. It holds + * information about the particular nghttp3 version. + */ +typedef struct nghttp3_info { + /** + * :member:`age` is the age of this struct. This instance of + * nghttp3 sets it to :macro:`NGHTTP3_VERSION_AGE` but a future + * version may bump it and add more struct fields at the bottom + */ + int age; + /** + * :member:`version_num` is the :macro:`NGHTTP3_VERSION_NUM` number + * (since age == 1) + */ + int version_num; + /** + * :member:`version_str` points to the :macro:`NGHTTP3_VERSION` + * string (since age ==1) + */ + const char *version_str; + /* -------- the above fields all exist when age == 1 */ +} nghttp3_info; + +/** + * @function + * + * `nghttp3_version` returns a pointer to a :type:`nghttp3_info` + * struct with version information about the run-time library in use. + * The |least_version| argument can be set to a 24 bit numerical value + * for the least accepted version number, and if the condition is not + * met, this function will return a ``NULL``. Pass in 0 to skip the + * version checking. + */ +NGHTTP3_EXTERN const nghttp3_info *nghttp3_version(int least_version); + +/** + * @function + * + * `nghttp3_err_is_fatal` returns nonzero if |liberr| is a fatal + * error. |liberr| must be one of nghttp3 library error codes (which + * is defined as NGHTTP3_ERR_* macro, such as + * :macro:`NGHTTP3_ERR_NOMEM`). + */ +NGHTTP3_EXTERN int nghttp3_err_is_fatal(int liberr); + +/* + * Versioned function wrappers + */ + +/* + * `nghttp3_settings_default` is a wrapper around + * `nghttp3_settings_default_versioned` to set the correct struct + * version. + */ +#define nghttp3_settings_default(SETTINGS) \ + nghttp3_settings_default_versioned(NGHTTP3_SETTINGS_VERSION, (SETTINGS)) + +/* + * `nghttp3_conn_client_new` is a wrapper around + * `nghttp3_conn_client_new_versioned` to set the correct struct + * version. + */ +#define nghttp3_conn_client_new(PCONN, CALLBACKS, SETTINGS, MEM, USER_DATA) \ + nghttp3_conn_client_new_versioned((PCONN), NGHTTP3_CALLBACKS_VERSION, \ + (CALLBACKS), NGHTTP3_SETTINGS_VERSION, \ + (SETTINGS), (MEM), (USER_DATA)) + +/* + * `nghttp3_conn_server_new` is a wrapper around + * `nghttp3_conn_server_new_versioned` to set the correct struct + * version. + */ +#define nghttp3_conn_server_new(PCONN, CALLBACKS, SETTINGS, MEM, USER_DATA) \ + nghttp3_conn_server_new_versioned((PCONN), NGHTTP3_CALLBACKS_VERSION, \ + (CALLBACKS), NGHTTP3_SETTINGS_VERSION, \ + (SETTINGS), (MEM), (USER_DATA)) + +/* + * `nghttp3_conn_set_server_stream_priority` is a wrapper around + * `nghttp3_conn_set_server_stream_priority_versioned` to set the + * correct struct version. + */ +#define nghttp3_conn_set_server_stream_priority(CONN, STREAM_ID, PRI) \ + nghttp3_conn_set_server_stream_priority_versioned( \ + (CONN), (STREAM_ID), NGHTTP3_PRI_VERSION, (PRI)) + +/* + * `nghttp3_conn_get_stream_priority` is a wrapper around + * `nghttp3_conn_get_stream_priority_versioned` to set the correct + * struct version. + */ +#define nghttp3_conn_get_stream_priority(CONN, DEST, STREAM_ID) \ + nghttp3_conn_get_stream_priority_versioned((CONN), NGHTTP3_PRI_VERSION, \ + (DEST), (STREAM_ID)) + +/* + * `nghttp3_pri_parse_priority` is a wrapper around + * `nghttp3_pri_parse_priority_versioned` to set the correct struct + * version. + */ +#define nghttp3_pri_parse_priority(DEST, VALUE, LEN) \ + nghttp3_pri_parse_priority_versioned(NGHTTP3_PRI_VERSION, (DEST), (VALUE), \ + (LEN)) + +#ifdef __cplusplus +} +#endif /* defined(__cplusplus) */ + +#endif /* !defined(NGHTTP3_H) */ diff --git a/curl/include/nghttp3/version.h b/curl/include/nghttp3/version.h new file mode 100644 index 0000000..4061c15 --- /dev/null +++ b/curl/include/nghttp3/version.h @@ -0,0 +1,46 @@ +/* + * nghttp3 + * + * Copyright (c) 2019 nghttp3 contributors + * Copyright (c) 2016 ngtcp2 contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGHTTP3_VERSION_H +#define NGHTTP3_VERSION_H + +/** + * @macro + * + * Version number of the nghttp3 library release. + */ +#define NGHTTP3_VERSION "1.10.1" + +/** + * @macro + * + * Numerical representation of the version number of the nghttp3 + * library release. This is a 24 bit number with 8 bits for major + * number, 8 bits for minor and 8 bits for patch. Version 1.2.3 + * becomes 0x010203. + */ +#define NGHTTP3_VERSION_NUM 0x010a01 + +#endif /* !defined(NGHTTP3_VERSION_H) */ diff --git a/curl/include/ngtcp2/ngtcp2.h b/curl/include/ngtcp2/ngtcp2.h new file mode 100644 index 0000000..d7a27b9 --- /dev/null +++ b/curl/include/ngtcp2/ngtcp2.h @@ -0,0 +1,5969 @@ +/* + * ngtcp2 + * + * Copyright (c) 2017 ngtcp2 contributors + * Copyright (c) 2017 nghttp2 contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGTCP2_H +#define NGTCP2_H + +/* Define WIN32 when build target is Win32 API (borrowed from + libcurl) */ +#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) +# define WIN32 +#endif /* (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) */ + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4324) +#endif /* defined(_MSC_VER) */ + +#include +#if defined(_MSC_VER) && (_MSC_VER < 1800) +/* MSVC < 2013 does not have inttypes.h because it is not C99 + compliant. See compiler macros and version number in + https://sourceforge.net/p/predef/wiki/Compilers/ */ +# include +#else /* !(defined(_MSC_VER) && (_MSC_VER < 1800)) */ +# include +#endif /* !(defined(_MSC_VER) && (_MSC_VER < 1800)) */ +#include +#include +#include + +#ifndef NGTCP2_USE_GENERIC_SOCKADDR +# ifdef WIN32 +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif /* !defined(WIN32_LEAN_AND_MEAN) */ +# include +# else /* !defined(WIN32) */ +# include +# include +# endif /* !defined(WIN32) */ +#endif /* !defined(NGTCP2_USE_GENERIC_SOCKADDR) */ + +#include + +#ifdef NGTCP2_STATICLIB +# define NGTCP2_EXTERN +#elif defined(WIN32) +# ifdef BUILDING_NGTCP2 +# define NGTCP2_EXTERN __declspec(dllexport) +# else /* !defined(BUILDING_NGTCP2) */ +# define NGTCP2_EXTERN __declspec(dllimport) +# endif /* !defined(BUILDING_NGTCP2) */ +#else /* !(defined(NGTCP2_STATICLIB) || defined(WIN32)) */ +# ifdef BUILDING_NGTCP2 +# define NGTCP2_EXTERN __attribute__((visibility("default"))) +# else /* !defined(BUILDING_NGTCP2) */ +# define NGTCP2_EXTERN +# endif /* !defined(BUILDING_NGTCP2) */ +#endif /* !(defined(NGTCP2_STATICLIB) || defined(WIN32)) */ + +#ifdef _MSC_VER +# define NGTCP2_ALIGN(N) __declspec(align(N)) +#else /* !defined(_MSC_VER) */ +# define NGTCP2_ALIGN(N) __attribute__((aligned(N))) +#endif /* !defined(_MSC_VER) */ + +#ifdef __cplusplus +extern "C" { +#endif /* defined(__cplusplus) */ + +/** + * @typedef + * + * :type:`ngtcp2_ssize` is signed counterpart of size_t. + */ +typedef ptrdiff_t ngtcp2_ssize; + +/** + * @functypedef + * + * :type:`ngtcp2_malloc` is a custom memory allocator to replace + * :manpage:`malloc(3)`. The |user_data| is + * :member:`ngtcp2_mem.user_data`. + */ +typedef void *(*ngtcp2_malloc)(size_t size, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_free` is a custom memory allocator to replace + * :manpage:`free(3)`. The |user_data| is + * :member:`ngtcp2_mem.user_data`. + */ +typedef void (*ngtcp2_free)(void *ptr, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_calloc` is a custom memory allocator to replace + * :manpage:`calloc(3)`. The |user_data| is the + * :member:`ngtcp2_mem.user_data`. + */ +typedef void *(*ngtcp2_calloc)(size_t nmemb, size_t size, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_realloc` is a custom memory allocator to replace + * :manpage:`realloc(3)`. The |user_data| is the + * :member:`ngtcp2_mem.user_data`. + */ +typedef void *(*ngtcp2_realloc)(void *ptr, size_t size, void *user_data); + +/** + * @struct + * + * :type:`ngtcp2_mem` is a custom memory allocator. The + * :member:`user_data` field is passed to each allocator function. + * This can be used, for example, to achieve per-connection memory + * pool. + * + * In the following example code, ``my_malloc``, ``my_free``, + * ``my_calloc`` and ``my_realloc`` are the replacement of the + * standard allocators :manpage:`malloc(3)`, :manpage:`free(3)`, + * :manpage:`calloc(3)` and :manpage:`realloc(3)` respectively:: + * + * void *my_malloc_cb(size_t size, void *user_data) { + * (void)user_data; + * return my_malloc(size); + * } + * + * void my_free_cb(void *ptr, void *user_data) { + * (void)user_data; + * my_free(ptr); + * } + * + * void *my_calloc_cb(size_t nmemb, size_t size, void *user_data) { + * (void)user_data; + * return my_calloc(nmemb, size); + * } + * + * void *my_realloc_cb(void *ptr, size_t size, void *user_data) { + * (void)user_data; + * return my_realloc(ptr, size); + * } + * + * void conn_new() { + * ngtcp2_mem mem = { + * .malloc = my_malloc_cb, + * .free = my_free_cb, + * .calloc = my_calloc_cb, + * .realloc = my_realloc_cb, + * }; + * + * ... + * } + */ +typedef struct ngtcp2_mem { + /** + * :member:`user_data` is an arbitrary user supplied data. This + * is passed to each allocator function. + */ + void *user_data; + /** + * :member:`malloc` is a custom allocator function to replace + * :manpage:`malloc(3)`. + */ + ngtcp2_malloc malloc; + /** + * :member:`free` is a custom allocator function to replace + * :manpage:`free(3)`. + */ + ngtcp2_free free; + /** + * :member:`calloc` is a custom allocator function to replace + * :manpage:`calloc(3)`. + */ + ngtcp2_calloc calloc; + /** + * :member:`realloc` is a custom allocator function to replace + * :manpage:`realloc(3)`. + */ + ngtcp2_realloc realloc; +} ngtcp2_mem; + +/** + * @macrosection + * + * Time related macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_NANOSECONDS` is a count of tick which corresponds to + * 1 nanosecond. + */ +#define NGTCP2_NANOSECONDS ((ngtcp2_duration)1ULL) + +/** + * @macro + * + * :macro:`NGTCP2_MICROSECONDS` is a count of tick which corresponds + * to 1 microsecond. + */ +#define NGTCP2_MICROSECONDS ((ngtcp2_duration)(1000ULL * NGTCP2_NANOSECONDS)) + +/** + * @macro + * + * :macro:`NGTCP2_MILLISECONDS` is a count of tick which corresponds + * to 1 millisecond. + */ +#define NGTCP2_MILLISECONDS ((ngtcp2_duration)(1000ULL * NGTCP2_MICROSECONDS)) + +/** + * @macro + * + * :macro:`NGTCP2_SECONDS` is a count of tick which corresponds to 1 + * second. + */ +#define NGTCP2_SECONDS ((ngtcp2_duration)(1000ULL * NGTCP2_MILLISECONDS)) + +/** + * @macro + * + * :macro:`NGTCP2_MINUTES` is a count of tick which corresponds to 1 + * minute. + */ +#define NGTCP2_MINUTES ((ngtcp2_duration)(60ULL * NGTCP2_SECONDS)) + +/** + * @macrosection + * + * QUIC protocol version macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_PROTO_VER_V1` is the QUIC version 1. + */ +#define NGTCP2_PROTO_VER_V1 ((uint32_t)0x00000001u) + +/** + * @macro + * + * :macro:`NGTCP2_PROTO_VER_V2` is the QUIC version 2. See + * :rfc:`9369`. + */ +#define NGTCP2_PROTO_VER_V2 ((uint32_t)0x6b3343cfu) + +/** + * @macro + * + * :macro:`NGTCP2_PROTO_VER_MAX` is the highest QUIC version that this + * library supports. Deprecated since v1.1.0. + */ +#define NGTCP2_PROTO_VER_MAX NGTCP2_PROTO_VER_V1 + +/** + * @macro + * + * :macro:`NGTCP2_PROTO_VER_MIN` is the lowest QUIC version that this + * library supports. Deprecated since v1.1.0. + */ +#define NGTCP2_PROTO_VER_MIN NGTCP2_PROTO_VER_V1 + +/** + * @macro + * + * :macro:`NGTCP2_RESERVED_VERSION_MASK` is the bit mask of reserved + * version. + */ +#define NGTCP2_RESERVED_VERSION_MASK 0x0a0a0a0au + +/** + * @macrosection + * + * UDP datagram related macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_MAX_UDP_PAYLOAD_SIZE` is the default maximum UDP + * datagram payload size that the local endpoint transmits. + */ +#define NGTCP2_MAX_UDP_PAYLOAD_SIZE 1200 + +/** + * @macro + * + * :macro:`NGTCP2_MAX_PMTUD_UDP_PAYLOAD_SIZE` is the maximum UDP + * datagram payload size that Path MTU Discovery can discover. + */ +#define NGTCP2_MAX_PMTUD_UDP_PAYLOAD_SIZE 1452 + +/** + * @macrosection + * + * QUIC specific macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_MAX_VARINT` is the maximum value which can be + * encoded in variable-length integer encoding. + */ +#define NGTCP2_MAX_VARINT ((1ULL << 62) - 1) + +/** + * @macro + * + * :macro:`NGTCP2_STATELESS_RESET_TOKENLEN` is the length of Stateless + * Reset Token. + */ +#define NGTCP2_STATELESS_RESET_TOKENLEN 16 + +/** + * @macro + * + * :macro:`NGTCP2_MIN_STATELESS_RESET_RANDLEN` is the minimum length + * of random bytes (Unpredictable Bits) in Stateless Reset packet. + */ +#define NGTCP2_MIN_STATELESS_RESET_RANDLEN 5 + +/** + * @macro + * + * :macro:`NGTCP2_PATH_CHALLENGE_DATALEN` is the length of + * PATH_CHALLENGE data. + */ +#define NGTCP2_PATH_CHALLENGE_DATALEN 8 + +/** + * @macro + * + * :macro:`NGTCP2_RETRY_KEY_V1` is an encryption key to create + * integrity tag of Retry packet. It is used for QUIC v1. + */ +#define NGTCP2_RETRY_KEY_V1 \ + "\xbe\x0c\x69\x0b\x9f\x66\x57\x5a\x1d\x76\x6b\x54\xe3\x68\xc8\x4e" + +/** + * @macro + * + * :macro:`NGTCP2_RETRY_NONCE_V1` is nonce used when generating + * integrity tag of Retry packet. It is used for QUIC v1. + */ +#define NGTCP2_RETRY_NONCE_V1 "\x46\x15\x99\xd3\x5d\x63\x2b\xf2\x23\x98\x25\xbb" + +/** + * @macro + * + * :macro:`NGTCP2_RETRY_KEY_V2` is an encryption key to create + * integrity tag of Retry packet. It is used for QUIC v2. See + * :rfc:`9369`. + */ +#define NGTCP2_RETRY_KEY_V2 \ + "\x8f\xb4\xb0\x1b\x56\xac\x48\xe2\x60\xfb\xcb\xce\xad\x7c\xcc\x92" + +/** + * @macro + * + * :macro:`NGTCP2_RETRY_NONCE_V2` is nonce used when generating + * integrity tag of Retry packet. It is used for QUIC v2. See + * :rfc:`9369`. + */ +#define NGTCP2_RETRY_NONCE_V2 "\xd8\x69\x69\xbc\x2d\x7c\x6d\x99\x90\xef\xb0\x4a" + +/** + * @macro + * + * :macro:`NGTCP2_HP_MASKLEN` is the length of header protection mask. + */ +#define NGTCP2_HP_MASKLEN 5 + +/** + * @macro + * + * :macro:`NGTCP2_HP_SAMPLELEN` is the number bytes sampled when + * encrypting a packet header. + */ +#define NGTCP2_HP_SAMPLELEN 16 + +/** + * @macro + * + * :macro:`NGTCP2_DEFAULT_INITIAL_RTT` is a default initial RTT. + */ +#define NGTCP2_DEFAULT_INITIAL_RTT (333 * NGTCP2_MILLISECONDS) + +/** + * @macro + * + * :macro:`NGTCP2_MAX_CIDLEN` is the maximum length of Connection ID. + */ +#define NGTCP2_MAX_CIDLEN 20 + +/** + * @macro + * + * :macro:`NGTCP2_MIN_CIDLEN` is the minimum length of Connection ID. + */ +#define NGTCP2_MIN_CIDLEN 1 + +/** + * @macro + * + * :macro:`NGTCP2_MIN_INITIAL_DCIDLEN` is the minimum length of + * Destination Connection ID in Client Initial packet if it does not + * bear token from Retry packet. + */ +#define NGTCP2_MIN_INITIAL_DCIDLEN 8 + +/** + * @macrosection + * + * ECN related macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_ECN_NOT_ECT` indicates no ECN marking. + */ +#define NGTCP2_ECN_NOT_ECT 0x0 + +/** + * @macro + * + * :macro:`NGTCP2_ECN_ECT_1` is ECT(1) codepoint. + */ +#define NGTCP2_ECN_ECT_1 0x1 + +/** + * @macro + * + * :macro:`NGTCP2_ECN_ECT_0` is ECT(0) codepoint. + */ +#define NGTCP2_ECN_ECT_0 0x2 + +/** + * @macro + * + * :macro:`NGTCP2_ECN_CE` is CE codepoint. + */ +#define NGTCP2_ECN_CE 0x3 + +/** + * @macro + * + * :macro:`NGTCP2_ECN_MASK` is a bit mask to get ECN marking. + */ +#define NGTCP2_ECN_MASK 0x3 + +#define NGTCP2_PKT_INFO_V1 1 +#define NGTCP2_PKT_INFO_VERSION NGTCP2_PKT_INFO_V1 + +/** + * @struct + * + * :type:`ngtcp2_pkt_info` is a packet metadata. + */ +typedef struct NGTCP2_ALIGN(8) ngtcp2_pkt_info { + /** + * :member:`ecn` is ECN marking, and when it is passed to + * `ngtcp2_conn_read_pkt()`, it should be either + * :macro:`NGTCP2_ECN_NOT_ECT`, :macro:`NGTCP2_ECN_ECT_1`, + * :macro:`NGTCP2_ECN_ECT_0`, or :macro:`NGTCP2_ECN_CE`. + */ + uint8_t ecn; +} ngtcp2_pkt_info; + +/** + * @macrosection + * + * ngtcp2 library error codes + */ + +/** + * @macro + * + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` indicates that a passed + * argument is invalid. + */ +#define NGTCP2_ERR_INVALID_ARGUMENT -201 +/** + * @macro + * + * :macro:`NGTCP2_ERR_NOBUF` indicates that a provided buffer does not + * have enough space to store data. + */ +#define NGTCP2_ERR_NOBUF -202 +/** + * @macro + * + * :macro:`NGTCP2_ERR_PROTO` indicates a general protocol error. + */ +#define NGTCP2_ERR_PROTO -203 +/** + * @macro + * + * :macro:`NGTCP2_ERR_INVALID_STATE` indicates that a requested + * operation is not allowed at the current connection state. + */ +#define NGTCP2_ERR_INVALID_STATE -204 +/** + * @macro + * + * :macro:`NGTCP2_ERR_ACK_FRAME` indicates that an invalid ACK frame + * is received. + */ +#define NGTCP2_ERR_ACK_FRAME -205 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_ID_BLOCKED` indicates that there is no + * spare stream ID available. + */ +#define NGTCP2_ERR_STREAM_ID_BLOCKED -206 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_IN_USE` indicates that a stream ID is + * already in use. + */ +#define NGTCP2_ERR_STREAM_IN_USE -207 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_DATA_BLOCKED` indicates that stream data + * cannot be sent because of flow control. + */ +#define NGTCP2_ERR_STREAM_DATA_BLOCKED -208 +/** + * @macro + * + * :macro:`NGTCP2_ERR_FLOW_CONTROL` indicates flow control error. + */ +#define NGTCP2_ERR_FLOW_CONTROL -209 +/** + * @macro + * + * :macro:`NGTCP2_ERR_CONNECTION_ID_LIMIT` indicates that the number + * of received Connection ID exceeds acceptable limit. + */ +#define NGTCP2_ERR_CONNECTION_ID_LIMIT -210 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_LIMIT` indicates that a remote endpoint + * opens more streams that is permitted. + */ +#define NGTCP2_ERR_STREAM_LIMIT -211 +/** + * @macro + * + * :macro:`NGTCP2_ERR_FINAL_SIZE` indicates that inconsistent final + * size of a stream. + */ +#define NGTCP2_ERR_FINAL_SIZE -212 +/** + * @macro + * + * :macro:`NGTCP2_ERR_CRYPTO` indicates crypto (TLS) related error. + */ +#define NGTCP2_ERR_CRYPTO -213 +/** + * @macro + * + * :macro:`NGTCP2_ERR_PKT_NUM_EXHAUSTED` indicates that packet number + * is exhausted. + */ +#define NGTCP2_ERR_PKT_NUM_EXHAUSTED -214 +/** + * @macro + * + * :macro:`NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM` indicates that a + * required transport parameter is missing. + */ +#define NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM -215 +/** + * @macro + * + * :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` indicates that a + * transport parameter is malformed. + */ +#define NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM -216 +/** + * @macro + * + * :macro:`NGTCP2_ERR_FRAME_ENCODING` indicates there is an error in + * frame encoding. + */ +#define NGTCP2_ERR_FRAME_ENCODING -217 +/** + * @macro + * + * :macro:`NGTCP2_ERR_DECRYPT` indicates a decryption failure. + */ +#define NGTCP2_ERR_DECRYPT -218 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_SHUT_WR` indicates no more data can be + * sent to a stream. + */ +#define NGTCP2_ERR_STREAM_SHUT_WR -219 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_NOT_FOUND` indicates that a stream was + * not found. + */ +#define NGTCP2_ERR_STREAM_NOT_FOUND -220 +/** + * @macro + * + * :macro:`NGTCP2_ERR_STREAM_STATE` indicates that a requested + * operation is not allowed at the current stream state. + */ +#define NGTCP2_ERR_STREAM_STATE -221 +/** + * @macro + * + * :macro:`NGTCP2_ERR_RECV_VERSION_NEGOTIATION` indicates that Version + * Negotiation packet was received. + */ +#define NGTCP2_ERR_RECV_VERSION_NEGOTIATION -222 +/** + * @macro + * + * :macro:`NGTCP2_ERR_CLOSING` indicates that connection is in closing + * state. + */ +#define NGTCP2_ERR_CLOSING -223 +/** + * @macro + * + * :macro:`NGTCP2_ERR_DRAINING` indicates that connection is in + * draining state. + */ +#define NGTCP2_ERR_DRAINING -224 +/** + * @macro + * + * :macro:`NGTCP2_ERR_TRANSPORT_PARAM` indicates a general transport + * parameter error. + */ +#define NGTCP2_ERR_TRANSPORT_PARAM -225 +/** + * @macro + * + * :macro:`NGTCP2_ERR_DISCARD_PKT` indicates a packet was discarded. + */ +#define NGTCP2_ERR_DISCARD_PKT -226 +/** + * @macro + * + * :macro:`NGTCP2_ERR_CONN_ID_BLOCKED` indicates that there is no + * spare Connection ID available. + */ +#define NGTCP2_ERR_CONN_ID_BLOCKED -227 +/** + * @macro + * + * :macro:`NGTCP2_ERR_INTERNAL` indicates an internal error. + */ +#define NGTCP2_ERR_INTERNAL -228 +/** + * @macro + * + * :macro:`NGTCP2_ERR_CRYPTO_BUFFER_EXCEEDED` indicates that a crypto + * buffer exceeded. + */ +#define NGTCP2_ERR_CRYPTO_BUFFER_EXCEEDED -229 +/** + * @macro + * + * :macro:`NGTCP2_ERR_WRITE_MORE` indicates + * :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE` is used and a function call + * succeeded. + */ +#define NGTCP2_ERR_WRITE_MORE -230 +/** + * @macro + * + * :macro:`NGTCP2_ERR_RETRY` indicates that server should send Retry + * packet. + */ +#define NGTCP2_ERR_RETRY -231 +/** + * @macro + * + * :macro:`NGTCP2_ERR_DROP_CONN` indicates that an endpoint should + * drop connection immediately. + */ +#define NGTCP2_ERR_DROP_CONN -232 +/** + * @macro + * + * :macro:`NGTCP2_ERR_AEAD_LIMIT_REACHED` indicates AEAD encryption + * limit is reached and key update is not available. An endpoint + * should drop connection immediately. + */ +#define NGTCP2_ERR_AEAD_LIMIT_REACHED -233 +/** + * @macro + * + * :macro:`NGTCP2_ERR_NO_VIABLE_PATH` indicates that path validation + * could not probe that a path is capable of sending UDP datagram + * payload of size at least 1200 bytes. + */ +#define NGTCP2_ERR_NO_VIABLE_PATH -234 +/** + * @macro + * + * :macro:`NGTCP2_ERR_VERSION_NEGOTIATION` indicates that server + * should send Version Negotiation packet. + */ +#define NGTCP2_ERR_VERSION_NEGOTIATION -235 +/** + * @macro + * + * :macro:`NGTCP2_ERR_HANDSHAKE_TIMEOUT` indicates that QUIC + * connection is not established before the specified deadline. + */ +#define NGTCP2_ERR_HANDSHAKE_TIMEOUT -236 +/** + * @macro + * + * :macro:`NGTCP2_ERR_VERSION_NEGOTIATION_FAILURE` indicates the + * version negotiation failed. + */ +#define NGTCP2_ERR_VERSION_NEGOTIATION_FAILURE -237 +/** + * @macro + * + * :macro:`NGTCP2_ERR_IDLE_CLOSE` indicates the connection should be + * closed silently because of idle timeout. + */ +#define NGTCP2_ERR_IDLE_CLOSE -238 +/** + * @macro + * + * :macro:`NGTCP2_ERR_FATAL` indicates that error codes less than this + * value is fatal error. When this error is returned, an endpoint + * should close connection immediately. + */ +#define NGTCP2_ERR_FATAL -500 +/** + * @macro + * + * :macro:`NGTCP2_ERR_NOMEM` indicates out of memory. + */ +#define NGTCP2_ERR_NOMEM -501 +/** + * @macro + * + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` indicates that user defined + * callback function failed. + */ +#define NGTCP2_ERR_CALLBACK_FAILURE -502 + +/** + * @macrosection + * + * QUIC packet header flags + */ + +/** + * @macro + * + * :macro:`NGTCP2_PKT_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_PKT_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_PKT_FLAG_LONG_FORM` indicates the Long header packet + * header. + */ +#define NGTCP2_PKT_FLAG_LONG_FORM 0x01u + +/** + * @macro + * + * :macro:`NGTCP2_PKT_FLAG_FIXED_BIT_CLEAR` indicates that Fixed Bit + * (aka QUIC bit) is not set. + */ +#define NGTCP2_PKT_FLAG_FIXED_BIT_CLEAR 0x02u + +/** + * @macro + * + * :macro:`NGTCP2_PKT_FLAG_KEY_PHASE` indicates Key Phase bit set. + */ +#define NGTCP2_PKT_FLAG_KEY_PHASE 0x04u + +/** + * @enum + * + * :type:`ngtcp2_pkt_type` defines QUIC version-independent QUIC + * packet types. + */ +typedef enum ngtcp2_pkt_type { + /** + * :enum:`NGTCP2_PKT_VERSION_NEGOTIATION` is defined by libngtcp2 + * for convenience. + */ + NGTCP2_PKT_VERSION_NEGOTIATION = 0x80, + /** + * :enum:`NGTCP2_PKT_STATELESS_RESET` is defined by libngtcp2 for + * convenience. + */ + NGTCP2_PKT_STATELESS_RESET = 0x81, + /** + * :enum:`NGTCP2_PKT_INITIAL` indicates Initial packet. + */ + NGTCP2_PKT_INITIAL = 0x10, + /** + * :enum:`NGTCP2_PKT_0RTT` indicates 0-RTT packet. + */ + NGTCP2_PKT_0RTT = 0x11, + /** + * :enum:`NGTCP2_PKT_HANDSHAKE` indicates Handshake packet. + */ + NGTCP2_PKT_HANDSHAKE = 0x12, + /** + * :enum:`NGTCP2_PKT_RETRY` indicates Retry packet. + */ + NGTCP2_PKT_RETRY = 0x13, + /** + * :enum:`NGTCP2_PKT_1RTT` is defined by libngtcp2 for convenience. + */ + NGTCP2_PKT_1RTT = 0x40 +} ngtcp2_pkt_type; + +/** + * @macrosection + * + * QUIC transport error code + */ + +/** + * @macro + * + * :macro:`NGTCP2_NO_ERROR` is QUIC transport error code ``NO_ERROR``. + */ +#define NGTCP2_NO_ERROR 0x0u + +/** + * @macro + * + * :macro:`NGTCP2_INTERNAL_ERROR` is QUIC transport error code + * ``INTERNAL_ERROR``. + */ +#define NGTCP2_INTERNAL_ERROR 0x1u + +/** + * @macro + * + * :macro:`NGTCP2_CONNECTION_REFUSED` is QUIC transport error code + * ``CONNECTION_REFUSED``. + */ +#define NGTCP2_CONNECTION_REFUSED 0x2u + +/** + * @macro + * + * :macro:`NGTCP2_FLOW_CONTROL_ERROR` is QUIC transport error code + * ``FLOW_CONTROL_ERROR``. + */ +#define NGTCP2_FLOW_CONTROL_ERROR 0x3u + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_LIMIT_ERROR` is QUIC transport error code + * ``STREAM_LIMIT_ERROR``. + */ +#define NGTCP2_STREAM_LIMIT_ERROR 0x4u + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_STATE_ERROR` is QUIC transport error code + * ``STREAM_STATE_ERROR``. + */ +#define NGTCP2_STREAM_STATE_ERROR 0x5u + +/** + * @macro + * + * :macro:`NGTCP2_FINAL_SIZE_ERROR` is QUIC transport error code + * ``FINAL_SIZE_ERROR``. + */ +#define NGTCP2_FINAL_SIZE_ERROR 0x6u + +/** + * @macro + * + * :macro:`NGTCP2_FRAME_ENCODING_ERROR` is QUIC transport error code + * ``FRAME_ENCODING_ERROR``. + */ +#define NGTCP2_FRAME_ENCODING_ERROR 0x7u + +/** + * @macro + * + * :macro:`NGTCP2_TRANSPORT_PARAMETER_ERROR` is QUIC transport error + * code ``TRANSPORT_PARAMETER_ERROR``. + */ +#define NGTCP2_TRANSPORT_PARAMETER_ERROR 0x8u + +/** + * @macro + * + * :macro:`NGTCP2_CONNECTION_ID_LIMIT_ERROR` is QUIC transport error + * code ``CONNECTION_ID_LIMIT_ERROR``. + */ +#define NGTCP2_CONNECTION_ID_LIMIT_ERROR 0x9u + +/** + * @macro + * + * :macro:`NGTCP2_PROTOCOL_VIOLATION` is QUIC transport error code + * ``PROTOCOL_VIOLATION``. + */ +#define NGTCP2_PROTOCOL_VIOLATION 0xau + +/** + * @macro + * + * :macro:`NGTCP2_INVALID_TOKEN` is QUIC transport error code + * ``INVALID_TOKEN``. + */ +#define NGTCP2_INVALID_TOKEN 0xbu + +/** + * @macro + * + * :macro:`NGTCP2_APPLICATION_ERROR` is QUIC transport error code + * ``APPLICATION_ERROR``. + */ +#define NGTCP2_APPLICATION_ERROR 0xcu + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_BUFFER_EXCEEDED` is QUIC transport error code + * ``CRYPTO_BUFFER_EXCEEDED``. + */ +#define NGTCP2_CRYPTO_BUFFER_EXCEEDED 0xdu + +/** + * @macro + * + * :macro:`NGTCP2_KEY_UPDATE_ERROR` is QUIC transport error code + * ``KEY_UPDATE_ERROR``. + */ +#define NGTCP2_KEY_UPDATE_ERROR 0xeu + +/** + * @macro + * + * :macro:`NGTCP2_AEAD_LIMIT_REACHED` is QUIC transport error code + * ``AEAD_LIMIT_REACHED``. + */ +#define NGTCP2_AEAD_LIMIT_REACHED 0xfu + +/** + * @macro + * + * :macro:`NGTCP2_NO_VIABLE_PATH` is QUIC transport error code + * ``NO_VIABLE_PATH``. + */ +#define NGTCP2_NO_VIABLE_PATH 0x10u + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_ERROR` is QUIC transport error code + * ``CRYPTO_ERROR``. + */ +#define NGTCP2_CRYPTO_ERROR 0x100u + +/** + * @macro + * + * :macro:`NGTCP2_VERSION_NEGOTIATION_ERROR` is QUIC transport error + * code ``VERSION_NEGOTIATION_ERROR``. See :rfc:`9368`. + */ +#define NGTCP2_VERSION_NEGOTIATION_ERROR 0x11 + +/** + * @enum + * + * :type:`ngtcp2_path_validation_result` defines path validation + * result code. + */ +typedef enum ngtcp2_path_validation_result { + /** + * :enum:`NGTCP2_PATH_VALIDATION_RESULT_SUCCESS` indicates + * successful validation. + */ + NGTCP2_PATH_VALIDATION_RESULT_SUCCESS, + /** + * :enum:`NGTCP2_PATH_VALIDATION_RESULT_FAILURE` indicates + * validation failure. + */ + NGTCP2_PATH_VALIDATION_RESULT_FAILURE, + /** + * :enum:`NGTCP2_PATH_VALIDATION_RESULT_ABORTED` indicates that path + * validation was aborted. + */ + NGTCP2_PATH_VALIDATION_RESULT_ABORTED +} ngtcp2_path_validation_result; + +/** + * @typedef + * + * :type:`ngtcp2_tstamp` is a timestamp with nanosecond resolution. + * ``UINT64_MAX`` is an invalid value, and it is often used to + * indicate that no value is set. + */ +typedef uint64_t ngtcp2_tstamp; + +/** + * @typedef + * + * :type:`ngtcp2_duration` is a period of time in nanosecond + * resolution. ``UINT64_MAX`` is an invalid value, and it is often + * used to indicate that no value is set. + */ +typedef uint64_t ngtcp2_duration; + +/** + * @struct + * + * :type:`ngtcp2_cid` holds a Connection ID. + */ +typedef struct ngtcp2_cid { + /** + * :member:`datalen` is the length of Connection ID. + */ + size_t datalen; + /** + * :member:`data` is the buffer to store Connection ID. + */ + uint8_t data[NGTCP2_MAX_CIDLEN]; +} ngtcp2_cid; + +/** + * @struct + * + * :type:`ngtcp2_vec` is struct iovec compatible structure to + * reference arbitrary array of bytes. + */ +typedef struct ngtcp2_vec { + /** + * :member:`base` points to the data. + */ + uint8_t *base; + /** + * :member:`len` is the number of bytes which the buffer pointed by + * base contains. + */ + size_t len; +} ngtcp2_vec; + +/** + * @function + * + * `ngtcp2_cid_init` initializes Connection ID |cid| with the byte + * string pointed by |data| and its length is |datalen|. |datalen| + * must be at most :macro:`NGTCP2_MAX_CIDLEN`. + */ +NGTCP2_EXTERN void ngtcp2_cid_init(ngtcp2_cid *cid, const uint8_t *data, + size_t datalen); + +/** + * @function + * + * `ngtcp2_cid_eq` returns nonzero if |a| and |b| share the same + * Connection ID. + */ +NGTCP2_EXTERN int ngtcp2_cid_eq(const ngtcp2_cid *a, const ngtcp2_cid *b); + +/** + * @struct + * + * :type:`ngtcp2_pkt_hd` represents QUIC packet header. + */ +typedef struct ngtcp2_pkt_hd { + /** + * :member:`dcid` is Destination Connection ID. + */ + ngtcp2_cid dcid; + /** + * :member:`scid` is Source Connection ID. + */ + ngtcp2_cid scid; + /** + * :member:`pkt_num` is a packet number. + */ + int64_t pkt_num; + /** + * :member:`token` contains token. Only Initial packet may contain + * token. NULL if no token is present. + */ + const uint8_t *token; + /** + * :member:`tokenlen` is the length of :member:`token`. 0 if no + * token is present. + */ + size_t tokenlen; + /** + * :member:`pkt_numlen` is the number of bytes spent to encode + * :member:`pkt_num`. + */ + size_t pkt_numlen; + /** + * :member:`len` is the sum of :member:`pkt_numlen` and the length + * of QUIC packet payload. + */ + size_t len; + /** + * :member:`version` is QUIC version. + */ + uint32_t version; + /** + * :member:`type` is a type of QUIC packet. This field does not + * have a QUIC packet type defined for a specific QUIC version. + * Instead, it contains version independent packet type defined by + * this library. See :type:`ngtcp2_pkt_type`. + */ + uint8_t type; + /** + * :member:`flags` is zero or more of :macro:`NGTCP2_PKT_FLAG_* + * `. + */ + uint8_t flags; +} ngtcp2_pkt_hd; + +/** + * @struct + * + * :type:`ngtcp2_pkt_stateless_reset` represents Stateless Reset. + */ +typedef struct ngtcp2_pkt_stateless_reset { + /** + * :member:`stateless_reset_token` contains stateless reset token. + */ + uint8_t stateless_reset_token[NGTCP2_STATELESS_RESET_TOKENLEN]; + /** + * :member:`rand` points a buffer which contains random bytes + * section. + */ + const uint8_t *rand; + /** + * :member:`randlen` is the number of random bytes. + */ + size_t randlen; +} ngtcp2_pkt_stateless_reset; + +/** + * @macrosection + * + * QUIC transport parameters related macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_DEFAULT_MAX_RECV_UDP_PAYLOAD_SIZE` is the default + * value of max_udp_payload_size transport parameter. + */ +#define NGTCP2_DEFAULT_MAX_RECV_UDP_PAYLOAD_SIZE 65527 + +/** + * @macro + * + * :macro:`NGTCP2_DEFAULT_ACK_DELAY_EXPONENT` is a default value of + * scaling factor of ACK Delay field in ACK frame. + */ +#define NGTCP2_DEFAULT_ACK_DELAY_EXPONENT 3 + +/** + * @macro + * + * :macro:`NGTCP2_DEFAULT_MAX_ACK_DELAY` is a default value of the + * maximum amount of time in nanoseconds by which endpoint delays + * sending acknowledgement. + */ +#define NGTCP2_DEFAULT_MAX_ACK_DELAY (25 * NGTCP2_MILLISECONDS) + +/** + * @macro + * + * :macro:`NGTCP2_DEFAULT_ACTIVE_CONNECTION_ID_LIMIT` is the default + * value of active_connection_id_limit transport parameter value if + * omitted. + */ +#define NGTCP2_DEFAULT_ACTIVE_CONNECTION_ID_LIMIT 2 + +/** + * @macro + * + * :macro:`NGTCP2_TLSEXT_QUIC_TRANSPORT_PARAMETERS_V1` is TLS + * extension type of quic_transport_parameters. + */ +#define NGTCP2_TLSEXT_QUIC_TRANSPORT_PARAMETERS_V1 0x39u + +#ifdef NGTCP2_USE_GENERIC_SOCKADDR +# ifndef NGTCP2_AF_INET +# error NGTCP2_AF_INET must be defined +# endif /* !defined(NGTCP2_AF_INET) */ + +# ifndef NGTCP2_AF_INET6 +# error NGTCP2_AF_INET6 must be defined +# endif /* !defined(NGTCP2_AF_INET6) */ + +typedef unsigned short int ngtcp2_sa_family; +typedef uint16_t ngtcp2_in_port; + +typedef struct ngtcp2_sockaddr { + ngtcp2_sa_family sa_family; + uint8_t sa_data[14]; +} ngtcp2_sockaddr; + +typedef struct ngtcp2_in_addr { + uint32_t s_addr; +} ngtcp2_in_addr; + +typedef struct ngtcp2_sockaddr_in { + ngtcp2_sa_family sin_family; + ngtcp2_in_port sin_port; + ngtcp2_in_addr sin_addr; + uint8_t sin_zero[8]; +} ngtcp2_sockaddr_in; + +typedef struct ngtcp2_in6_addr { + uint8_t in6_addr[16]; +} ngtcp2_in6_addr; + +typedef struct ngtcp2_sockaddr_in6 { + ngtcp2_sa_family sin6_family; + ngtcp2_in_port sin6_port; + uint32_t sin6_flowinfo; + ngtcp2_in6_addr sin6_addr; + uint32_t sin6_scope_id; +} ngtcp2_sockaddr_in6; + +typedef uint32_t ngtcp2_socklen; +#else /* !defined(NGTCP2_USE_GENERIC_SOCKADDR) */ +# define NGTCP2_AF_INET AF_INET +# define NGTCP2_AF_INET6 AF_INET6 + +/** + * @typedef + * + * :type:`ngtcp2_sockaddr` is typedefed to struct sockaddr. If + * :macro:`NGTCP2_USE_GENERIC_SOCKADDR` is defined, it is typedefed to + * the generic struct sockaddr defined in ngtcp2.h. + */ +typedef struct sockaddr ngtcp2_sockaddr; +/** + * @typedef + * + * :type:`ngtcp2_sockaddr_in` is typedefed to struct sockaddr_in. If + * :macro:`NGTCP2_USE_GENERIC_SOCKADDR` is defined, it is typedefed to + * the generic struct sockaddr_in defined in ngtcp2.h. + */ +typedef struct sockaddr_in ngtcp2_sockaddr_in; +/** + * @typedef + * + * :type:`ngtcp2_sockaddr_in6` is typedefed to struct sockaddr_in6. + * If :macro:`NGTCP2_USE_GENERIC_SOCKADDR` is defined, it is typedefed + * to the generic struct sockaddr_in6 defined in ngtcp2.h. + */ +typedef struct sockaddr_in6 ngtcp2_sockaddr_in6; +/** + * @typedef + * + * :type:`ngtcp2_socklen` is typedefed to socklen_t. If + * :macro:`NGTCP2_USE_GENERIC_SOCKADDR` is defined, it is typedefed to + * uint32_t. + */ +typedef socklen_t ngtcp2_socklen; +#endif /* !defined(NGTCP2_USE_GENERIC_SOCKADDR) */ + +/** + * @struct + * + * :type:`ngtcp2_sockaddr_union` conveniently includes all supported + * address types. + */ +typedef union ngtcp2_sockaddr_union { + ngtcp2_sockaddr sa; + ngtcp2_sockaddr_in in; + ngtcp2_sockaddr_in6 in6; +} ngtcp2_sockaddr_union; + +/** + * @struct + * + * :type:`ngtcp2_preferred_addr` represents preferred address + * structure. + */ +typedef struct ngtcp2_preferred_addr { + /** + * :member:`cid` is a Connection ID. + */ + ngtcp2_cid cid; + /** + * :member:`ipv4` contains IPv4 address and port. + */ + ngtcp2_sockaddr_in ipv4; + /** + * :member:`ipv6` contains IPv6 address and port. + */ + ngtcp2_sockaddr_in6 ipv6; + /** + * :member:`ipv4_present` indicates that :member:`ipv4` contains + * IPv4 address and port. + */ + uint8_t ipv4_present; + /** + * :member:`ipv6_present` indicates that :member:`ipv6` contains + * IPv6 address and port. + */ + uint8_t ipv6_present; + /** + * :member:`stateless_reset_token` contains stateless reset token. + */ + uint8_t stateless_reset_token[NGTCP2_STATELESS_RESET_TOKENLEN]; +} ngtcp2_preferred_addr; + +/** + * @struct + * + * :type:`ngtcp2_version_info` represents version_information + * structure. See :rfc:`9368`. + */ +typedef struct ngtcp2_version_info { + /** + * :member:`chosen_version` is the version chosen by the sender. + */ + uint32_t chosen_version; + /** + * :member:`available_versions` points the wire image of + * available_versions field. The each version is therefore in + * network byte order. + */ + const uint8_t *available_versions; + /** + * :member:`available_versionslen` is the number of bytes pointed by + * :member:`available_versions`, not the number of versions + * included. + */ + size_t available_versionslen; +} ngtcp2_version_info; + +#define NGTCP2_TRANSPORT_PARAMS_V1 1 +#define NGTCP2_TRANSPORT_PARAMS_VERSION NGTCP2_TRANSPORT_PARAMS_V1 + +/** + * @struct + * + * :type:`ngtcp2_transport_params` represents QUIC transport + * parameters. + */ +typedef struct ngtcp2_transport_params { + /** + * :member:`preferred_addr` contains preferred address if + * :member:`preferred_addr_present` is nonzero. + */ + ngtcp2_preferred_addr preferred_addr; + /** + * :member:`original_dcid` is the Destination Connection ID field + * from the first Initial packet from client. Server must specify + * this field and set :member:`original_dcid_present` to nonzero. + * It is expected that application knows the original Destination + * Connection ID even if it sends Retry packet, for example, by + * including it in retry token. Otherwise, application should not + * specify this field. + */ + ngtcp2_cid original_dcid; + /** + * :member:`initial_scid` is the Source Connection ID field from the + * first Initial packet the local endpoint sends. Application + * should not specify this field. If :member:`initial_scid_present` + * is set to nonzero, it indicates this field is set. + */ + ngtcp2_cid initial_scid; + /** + * :member:`retry_scid` is the Source Connection ID field from Retry + * packet. Only server uses this field. If server application + * received Initial packet with retry token from client, and server + * successfully verified its token, server application must set + * Destination Connection ID field from the Initial packet to this + * field, and set :member:`retry_scid_present` to nonzero. Server + * application must verify that the Destination Connection ID from + * Initial packet was sent in Retry packet by, for example, + * including the Connection ID in a token, or including it in AAD + * when encrypting a token. + */ + ngtcp2_cid retry_scid; + /** + * :member:`initial_max_stream_data_bidi_local` is the size of flow + * control window of locally initiated stream. This is the number + * of bytes that the remote endpoint can send, and the local + * endpoint must ensure that it has enough buffer to receive them. + */ + uint64_t initial_max_stream_data_bidi_local; + /** + * :member:`initial_max_stream_data_bidi_remote` is the size of flow + * control window of remotely initiated stream. This is the number + * of bytes that the remote endpoint can send, and the local + * endpoint must ensure that it has enough buffer to receive them. + */ + uint64_t initial_max_stream_data_bidi_remote; + /** + * :member:`initial_max_stream_data_uni` is the size of flow control + * window of remotely initiated unidirectional stream. This is the + * number of bytes that the remote endpoint can send, and the local + * endpoint must ensure that it has enough buffer to receive them. + */ + uint64_t initial_max_stream_data_uni; + /** + * :member:`initial_max_data` is the connection level flow control + * window. + */ + uint64_t initial_max_data; + /** + * :member:`initial_max_streams_bidi` is the number of concurrent + * streams that the remote endpoint can create. + */ + uint64_t initial_max_streams_bidi; + /** + * :member:`initial_max_streams_uni` is the number of concurrent + * unidirectional streams that the remote endpoint can create. + */ + uint64_t initial_max_streams_uni; + /** + * :member:`max_idle_timeout` is a duration during which sender + * allows quiescent. 0 means no idle timeout. It must not be + * UINT64_MAX. + */ + ngtcp2_duration max_idle_timeout; + /** + * :member:`max_udp_payload_size` is the maximum UDP payload size + * that the local endpoint can receive. + */ + uint64_t max_udp_payload_size; + /** + * :member:`active_connection_id_limit` is the maximum number of + * Connection ID that sender can store. If specified, it must be in + * the range of [:macro:`NGTCP2_DEFAULT_ACTIVE_CONNECTION_ID_LIMIT`, + * 8], inclusive. + */ + uint64_t active_connection_id_limit; + /** + * :member:`ack_delay_exponent` is the exponent used in ACK Delay + * field in ACK frame. + */ + uint64_t ack_delay_exponent; + /** + * :member:`max_ack_delay` is the maximum acknowledgement delay by + * which the local endpoint will delay sending acknowledgements. It + * must be strictly less than (1 << 14) milliseconds. + * Sub-millisecond part is dropped when sending it in a QUIC + * transport parameter. + */ + ngtcp2_duration max_ack_delay; + /** + * :member:`max_datagram_frame_size` is the maximum size of DATAGRAM + * frame that the local endpoint willingly receives. Specifying 0 + * disables DATAGRAM support. See :rfc:`9221`. + */ + uint64_t max_datagram_frame_size; + /** + * :member:`stateless_reset_token_present` is nonzero if + * :member:`stateless_reset_token` field is set. + */ + uint8_t stateless_reset_token_present; + /** + * :member:`disable_active_migration` is nonzero if the local + * endpoint does not support active connection migration. + */ + uint8_t disable_active_migration; + /** + * :member:`original_dcid_present` is nonzero if + * :member:`original_dcid` field is set. + */ + uint8_t original_dcid_present; + /** + * :member:`initial_scid_present` is nonzero if + * :member:`initial_scid` field is set. + */ + uint8_t initial_scid_present; + /** + * :member:`retry_scid_present` is nonzero if :member:`retry_scid` + * field is set. + */ + uint8_t retry_scid_present; + /** + * :member:`preferred_addr_present` is nonzero if + * :member:`preferred_address` is set. + */ + uint8_t preferred_addr_present; + /** + * :member:`stateless_reset_token` contains stateless reset token. + */ + uint8_t stateless_reset_token[NGTCP2_STATELESS_RESET_TOKENLEN]; + /** + * :member:`grease_quic_bit` is nonzero if sender supports "Greasing + * the QUIC Bit" extension. See :rfc:`9287`. + */ + uint8_t grease_quic_bit; + /** + * :member:`version_info` contains version_information field if + * :member:`version_info_present` is nonzero. Application should + * not specify this field. + */ + ngtcp2_version_info version_info; + /** + * :member:`version_info_present` is nonzero if + * :member:`version_info` is set. Application should not specify + * this field. + */ + uint8_t version_info_present; +} ngtcp2_transport_params; + +#define NGTCP2_CONN_INFO_V1 1 +#define NGTCP2_CONN_INFO_VERSION NGTCP2_CONN_INFO_V1 + +/** + * @struct + * + * :type:`ngtcp2_conn_info` holds various connection statistics. + */ +typedef struct ngtcp2_conn_info { + /** + * :member:`latest_rtt` is the latest RTT sample which is not + * adjusted by acknowledgement delay. + */ + ngtcp2_duration latest_rtt; + /** + * :member:`min_rtt` is the minimum RTT seen so far. It is not + * adjusted by acknowledgement delay. + */ + ngtcp2_duration min_rtt; + /** + * :member:`smoothed_rtt` is the smoothed RTT. + */ + ngtcp2_duration smoothed_rtt; + /** + * :member:`rttvar` is a mean deviation of observed RTT. + */ + ngtcp2_duration rttvar; + /** + * :member:`cwnd` is the size of congestion window. + */ + uint64_t cwnd; + /** + * :member:`ssthresh` is slow start threshold. + */ + uint64_t ssthresh; + /** + * :member:`bytes_in_flight` is the number in bytes of all sent + * packets which have not been acknowledged. + */ + uint64_t bytes_in_flight; +} ngtcp2_conn_info; + +/** + * @enum + * + * :type:`ngtcp2_cc_algo` defines congestion control algorithms. + */ +typedef enum ngtcp2_cc_algo { + /** + * :enum:`NGTCP2_CC_ALGO_RENO` represents Reno. + */ + NGTCP2_CC_ALGO_RENO = 0x00, + /** + * :enum:`NGTCP2_CC_ALGO_CUBIC` represents Cubic. + */ + NGTCP2_CC_ALGO_CUBIC = 0x01, + /** + * :enum:`NGTCP2_CC_ALGO_BBR` represents BBR v2. + */ + NGTCP2_CC_ALGO_BBR = 0x02 +} ngtcp2_cc_algo; + +/** + * @functypedef + * + * :type:`ngtcp2_printf` is a callback function for logging. + * |user_data| is the same object passed to `ngtcp2_conn_client_new` + * or `ngtcp2_conn_server_new`. + */ +typedef void (*ngtcp2_printf)(void *user_data, const char *format, ...); + +/** + * @macrosection + * + * QLog related macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_QLOG_WRITE_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_QLOG_WRITE_FLAG_NONE 0x00u +/** + * @macro + * + * :macro:`NGTCP2_QLOG_WRITE_FLAG_FIN` indicates that this is the + * final call to :type:`ngtcp2_qlog_write` in the current connection. + */ +#define NGTCP2_QLOG_WRITE_FLAG_FIN 0x01u + +/** + * @struct + * + * :type:`ngtcp2_rand_ctx` is a wrapper around native random number + * generator. It is opaque to the ngtcp2 library. This might be + * useful if application needs to specify random number generator per + * thread or per connection. + */ +typedef struct ngtcp2_rand_ctx { + /** + * :member:`native_handle` is a pointer to an underlying random + * number generator. + */ + void *native_handle; +} ngtcp2_rand_ctx; + +/** + * @functypedef + * + * :type:`ngtcp2_qlog_write` is a callback function which is called to + * write qlog |data| of length |datalen| bytes. |flags| is bitwise OR + * of zero or more of :macro:`NGTCP2_QLOG_WRITE_FLAG_* + * `. If + * :macro:`NGTCP2_QLOG_WRITE_FLAG_FIN` is set, |datalen| may be 0. + */ +typedef void (*ngtcp2_qlog_write)(void *user_data, uint32_t flags, + const void *data, size_t datalen); + +/** + * @enum + * + * :type:`ngtcp2_token_type` defines the type of token. + */ +typedef enum ngtcp2_token_type { + /** + * :enum:`NGTCP2_TOKEN_TYPE_UNKNOWN` indicates that the type of + * token is unknown. + */ + NGTCP2_TOKEN_TYPE_UNKNOWN, + /** + * :enum:`NGTCP2_TOKEN_TYPE_RETRY` indicates that a token comes from + * Retry packet. + */ + NGTCP2_TOKEN_TYPE_RETRY, + /** + * :enum:`NGTCP2_TOKEN_TYPE_NEW_TOKEN` indicates that a token comes + * from NEW_TOKEN frame. + */ + NGTCP2_TOKEN_TYPE_NEW_TOKEN +} ngtcp2_token_type; + +#define NGTCP2_SETTINGS_V1 1 +#define NGTCP2_SETTINGS_V2 2 +#define NGTCP2_SETTINGS_VERSION NGTCP2_SETTINGS_V2 + +/** + * @struct + * + * :type:`ngtcp2_settings` defines QUIC connection settings. + */ +typedef struct ngtcp2_settings { + /** + * :member:`qlog_write` is a callback function to write qlog. + * Setting ``NULL`` disables qlog. + */ + ngtcp2_qlog_write qlog_write; + /** + * :member:`cc_algo` specifies congestion control algorithm. + */ + ngtcp2_cc_algo cc_algo; + /** + * :member:`initial_ts` is an initial timestamp given to the + * library. + */ + ngtcp2_tstamp initial_ts; + /** + * :member:`initial_rtt` is an initial RTT. + */ + ngtcp2_duration initial_rtt; + /** + * :member:`log_printf` is a function that the library uses to write + * logs. ``NULL`` means no logging output. It is nothing to do + * with qlog. + */ + ngtcp2_printf log_printf; + /** + * :member:`max_tx_udp_payload_size` is the maximum size of UDP + * datagram payload that the local endpoint transmits. + */ + size_t max_tx_udp_payload_size; + /** + * :member:`token` is a token from Retry packet or NEW_TOKEN frame. + * + * Server sets this field if it received the token in Client Initial + * packet and successfully validated. It should also set + * :member:`token_type` field. + * + * Client sets this field if it intends to send token in its Initial + * packet. + * + * `ngtcp2_conn_server_new` and `ngtcp2_conn_client_new` make a copy + * of token. + * + * Set NULL if there is no token. + */ + const uint8_t *token; + /** + * :member:`tokenlen` is the length of :member:`token`. Set 0 if + * there is no token. + */ + size_t tokenlen; + /** + * :member:`token_type` is the type of token. Server application + * should set this field. + */ + ngtcp2_token_type token_type; + /** + * :member:`rand_ctx` is an optional random number generator to be + * passed to :type:`ngtcp2_rand` callback. + */ + ngtcp2_rand_ctx rand_ctx; + /** + * :member:`max_window` is the maximum connection-level flow control + * window if connection-level window auto-tuning is enabled. The + * connection-level window auto tuning is enabled if nonzero value + * is specified in this field. The initial value of window size is + * :member:`ngtcp2_transport_params.initial_max_data`. The window + * size is scaled up to the value specified in this field. + */ + uint64_t max_window; + /** + * :member:`max_stream_window` is the maximum stream-level flow + * control window if stream-level window auto-tuning is enabled. + * The stream-level window auto-tuning is enabled if nonzero value + * is specified in this field. The initial value of window size is + * :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_remote`, + * :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_local`, + * or :member:`ngtcp2_transport_params.initial_max_stream_data_uni`, + * depending on the type of stream. The window size is scaled up to + * the value specified in this field. + * + * Please note that the auto-tuning is done per stream. Even if the + * previous stream gets larger window as a result of auto-tuning, + * the new stream still starts with the initial value set in + * transport parameters. This might become a bottleneck if + * congestion window of a remote server is wide open. If this + * causes an issue, do not enable auto-tuning. + */ + uint64_t max_stream_window; + /** + * :member:`ack_thresh` is the minimum number of the received ACK + * eliciting packets that trigger the immediate acknowledgement from + * the local endpoint. + */ + size_t ack_thresh; + /** + * :member:`no_tx_udp_payload_size_shaping`, if set to nonzero, + * instructs the library not to limit the UDP payload size to + * :macro:`NGTCP2_MAX_UDP_PAYLOAD_SIZE` (which can be extended by + * Path MTU Discovery), and instead use the minimum size among the + * given buffer size, :member:`max_tx_udp_payload_size`, and the + * received max_udp_payload_size QUIC transport parameter. + */ + uint8_t no_tx_udp_payload_size_shaping; + /** + * :member:`handshake_timeout` is the period of time before giving + * up QUIC connection establishment. If QUIC handshake is not + * complete within this period, `ngtcp2_conn_handle_expiry` returns + * :macro:`NGTCP2_ERR_HANDSHAKE_TIMEOUT` error. The deadline is + * :member:`initial_ts` + :member:`handshake_timeout`. If this + * field is set to ``UINT64_MAX``, no handshake timeout is set. + */ + ngtcp2_duration handshake_timeout; + /** + * :member:`preferred_versions` is the array of versions that are + * preferred by the local endpoint. All versions set in this array + * must be supported by the library, and compatible to QUIC v1. The + * reserved versions are not allowed. They are sorted in the order + * of preference. + * + * On compatible version negotiation, server will negotiate one of + * those versions contained in this array if there is some overlap + * between these versions and the versions offered by the client. + * If there is no overlap, but the client chosen version is + * supported by the library, the server chooses the client chosen + * version as the negotiated version. This version set corresponds + * to Offered Versions described in :rfc:`9368`, and it should be + * included in Version Negotiation packet. + * + * Client uses this field and :member:`original_version` to prevent + * version downgrade attack if it reacted upon Version Negotiation + * packet. If this field is specified, client must include + * |client_chosen_version| passed to `ngtcp2_conn_client_new` unless + * |client_chosen_version| is a reserved version. + */ + const uint32_t *preferred_versions; + /** + * :member:`preferred_versionslen` is the number of versions that + * are contained in the array pointed by + * :member:`preferred_versions`. + */ + size_t preferred_versionslen; + /** + * :member:`available_versions` is the array of versions that are + * going to be set in :member:`available_versions + * ` field of outgoing + * version_information QUIC transport parameter. + * + * For server, this corresponds to Fully-Deployed Versions described + * in :rfc:`9368`. If this field is not set, it is set to + * :member:`preferred_versions` internally if + * :member:`preferred_versionslen` is not zero. If this field is + * not set, and :member:`preferred_versionslen` is zero, this field + * is set to :macro:`NGTCP2_PROTO_VER_V1` internally. + * + * Client must include |client_chosen_version| passed to + * `ngtcp2_conn_client_new` in this array if this field is set and + * |client_chosen_version| is not a reserved version. If this field + * is not set, |client_chosen_version| passed to + * `ngtcp2_conn_client_new` will be set in this field internally + * unless |client_chosen_version| is a reserved version. + */ + const uint32_t *available_versions; + /** + * :member:`available_versionslen` is the number of versions that + * are contained in the array pointed by + * :member:`available_versions`. + */ + size_t available_versionslen; + /** + * :member:`original_version` is the original version that client + * initially used to make a connection attempt. If it is set, and + * it differs from |client_chosen_version| passed to + * `ngtcp2_conn_client_new`, the library assumes that client reacted + * upon Version Negotiation packet. Server does not use this field. + */ + uint32_t original_version; + /** + * :member:`no_pmtud`, if set to nonzero, disables Path MTU + * Discovery. + */ + uint8_t no_pmtud; + /** + * :member:`initial_pkt_num` is the initial packet number for each + * packet number space. It must be in range [0, INT32_MAX], + * inclusive. + */ + uint32_t initial_pkt_num; + /* The following fields have been added since NGTCP2_SETTINGS_V2. */ + /** + * :member:`pmtud_probes` is the array of UDP datagram payload size + * to probe during Path MTU Discovery. The discovery is done in the + * order appeared in this array. The size must be strictly larger + * than 1200, otherwise the behavior is undefined. The maximum + * value in this array should be set to + * :member:`max_tx_udp_payload_size`. If this field is not set, the + * predefined PMTUD probes are made. This field has been available + * since v1.4.0. + */ + const uint16_t *pmtud_probes; + /** + * :member:`pmtud_probeslen` is the number of elements that are + * contained in the array pointed by :member:`pmtud_probes`. This + * field has been available since v1.4.0. + */ + size_t pmtud_probeslen; +} ngtcp2_settings; + +/** + * @struct + * + * :type:`ngtcp2_addr` is the endpoint address. + */ +typedef struct ngtcp2_addr { + /** + * :member:`addr` points to the buffer which contains endpoint + * address. It must not be ``NULL``. + */ + ngtcp2_sockaddr *addr; + /** + * :member:`addrlen` is the length of :member:`addr`. It must not + * be longer than sizeof(:type:`ngtcp2_sockaddr_union`). + */ + ngtcp2_socklen addrlen; +} ngtcp2_addr; + +/** + * @struct + * + * :type:`ngtcp2_path` is the network endpoints where a packet is sent + * and received. + */ +typedef struct ngtcp2_path { + /** + * :member:`local` is the address of local endpoint. + */ + ngtcp2_addr local; + /** + * :member:`remote` is the address of remote endpoint. + */ + ngtcp2_addr remote; + /** + * :member:`user_data` is an arbitrary data and opaque to the + * library. + * + * Note that :type:`ngtcp2_path` is generally passed to + * :type:`ngtcp2_conn` by an application, and :type:`ngtcp2_conn` + * stores their copies. Unfortunately, there is no way for the + * application to know when :type:`ngtcp2_conn` finished using a + * specific :type:`ngtcp2_path` object in mid connection, which + * means that the application cannot free the data pointed by this + * field. Therefore, it is advised to use this field only when the + * data pointed by this field persists in an entire lifetime of the + * connection. + */ + void *user_data; +} ngtcp2_path; + +/** + * @struct + * + * :type:`ngtcp2_path_storage` is a convenient struct to have buffers + * to store the longest addresses. + */ +typedef struct ngtcp2_path_storage { + /** + * :member:`path` stores network path. + */ + ngtcp2_path path; + /** + * :member:`local_addrbuf` is a buffer to store local address. + */ + ngtcp2_sockaddr_union local_addrbuf; + /** + * :member:`remote_addrbuf` is a buffer to store remote address. + */ + ngtcp2_sockaddr_union remote_addrbuf; +} ngtcp2_path_storage; + +/** + * @struct + * + * :type:`ngtcp2_crypto_md` is a wrapper around native message digest + * object. + */ +typedef struct ngtcp2_crypto_md { + /** + * :member:`native_handle` is a pointer to an underlying message + * digest object. + */ + void *native_handle; +} ngtcp2_crypto_md; + +/** + * @struct + * + * :type:`ngtcp2_crypto_aead` is a wrapper around native AEAD object. + */ +typedef struct ngtcp2_crypto_aead { + /** + * :member:`native_handle` is a pointer to an underlying AEAD + * object. + */ + void *native_handle; + /** + * :member:`max_overhead` is the number of additional bytes which + * AEAD encryption needs on encryption. + */ + size_t max_overhead; +} ngtcp2_crypto_aead; + +/** + * @struct + * + * :type:`ngtcp2_crypto_cipher` is a wrapper around native cipher + * object. + */ +typedef struct ngtcp2_crypto_cipher { + /** + * :member:`native_handle` is a pointer to an underlying cipher + * object. + */ + void *native_handle; +} ngtcp2_crypto_cipher; + +/** + * @struct + * + * :type:`ngtcp2_crypto_aead_ctx` is a wrapper around native AEAD + * cipher context object. It should be initialized with a specific + * key. ngtcp2 library reuses this context object to encrypt or + * decrypt multiple packets. + */ +typedef struct ngtcp2_crypto_aead_ctx { + /** + * :member:`native_handle` is a pointer to an underlying AEAD + * context object. + */ + void *native_handle; +} ngtcp2_crypto_aead_ctx; + +/** + * @struct + * + * :type:`ngtcp2_crypto_cipher_ctx` is a wrapper around native cipher + * context object. It should be initialized with a specific key. + * ngtcp2 library reuses this context object to encrypt or decrypt + * multiple packet headers. + */ +typedef struct ngtcp2_crypto_cipher_ctx { + /** + * :member:`native_handle` is a pointer to an underlying cipher + * context object. + */ + void *native_handle; +} ngtcp2_crypto_cipher_ctx; + +/** + * @struct + * + * :type:`ngtcp2_crypto_ctx` is a convenient structure to bind all + * crypto related objects in one place. Use + * `ngtcp2_crypto_ctx_initial` to initialize this struct for Initial + * packet encryption. For Handshake and 1-RTT packets, use + * `ngtcp2_crypto_ctx_tls`. For 0-RTT packets, use + * `ngtcp2_crypto_ctx_tls_early`. + */ +typedef struct ngtcp2_crypto_ctx { + /** + * :member:`aead` is AEAD object. + */ + ngtcp2_crypto_aead aead; + /** + * :member:`md` is message digest object. + */ + ngtcp2_crypto_md md; + /** + * :member:`hp` is header protection cipher. + */ + ngtcp2_crypto_cipher hp; + /** + * :member:`max_encryption` is the number of encryption which this + * key can be used with. + */ + uint64_t max_encryption; + /** + * :member:`max_decryption_failure` is the number of decryption + * failure with this key. + */ + uint64_t max_decryption_failure; +} ngtcp2_crypto_ctx; + +/** + * @function + * + * `ngtcp2_transport_params_encode` encodes |params| in |dest| of + * length |destlen|. + * + * If |dest| is NULL, and |destlen| is zero, this function just + * returns the number of bytes required to store the encoded transport + * parameters. + * + * This function returns the number of bytes written, or one of the + * following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_transport_params_encode_versioned( + uint8_t *dest, size_t destlen, int transport_params_version, + const ngtcp2_transport_params *params); + +/** + * @function + * + * `ngtcp2_transport_params_decode` decodes transport parameters in + * |data| of length |datalen|, and stores the result in the object + * pointed by |params|. + * + * If an optional parameter is missing, the default value is assigned. + * + * The following fields may point to somewhere inside the buffer + * pointed by |data| of length |datalen|: + * + * - :member:`ngtcp2_transport_params.version_info.available_versions + * ` + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` + * The input is malformed. + */ +NGTCP2_EXTERN int +ngtcp2_transport_params_decode_versioned(int transport_params_version, + ngtcp2_transport_params *params, + const uint8_t *data, size_t datalen); + +/** + * @function + * + * `ngtcp2_transport_params_decode_new` decodes transport parameters + * in |data| of length |datalen|, and stores the result in the object + * allocated dynamically. The pointer to the allocated object is + * assigned to |*pparams|. Unlike `ngtcp2_transport_params_decode`, + * all direct and indirect fields are also allocated dynamically if + * needed. + * + * |mem| is a memory allocator to allocate memory. If |mem| is + * ``NULL``, the memory allocator returned by `ngtcp2_mem_default()` + * is used. + * + * If the optional parameters are missing, the default value is + * assigned. + * + * `ngtcp2_transport_params_del` frees the memory allocated by this + * function. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` + * The input is malformed. + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int +ngtcp2_transport_params_decode_new(ngtcp2_transport_params **pparams, + const uint8_t *data, size_t datalen, + const ngtcp2_mem *mem); + +/** + * @function + * + * `ngtcp2_transport_params_del` frees the |params| which must be + * dynamically allocated by `ngtcp2_transport_params_decode_new`. + * + * |mem| is a memory allocator that allocated |params|. If |mem| is + * ``NULL``, the memory allocator returned by `ngtcp2_mem_default()` + * is used. + * + * If |params| is ``NULL``, this function does nothing. + */ +NGTCP2_EXTERN void ngtcp2_transport_params_del(ngtcp2_transport_params *params, + const ngtcp2_mem *mem); + +/** + * @struct + * + * :type:`ngtcp2_version_cid` is a convenient struct to store the + * result of `ngtcp2_pkt_decode_version_cid`. + */ +typedef struct ngtcp2_version_cid { + /** + * :member:`version` stores QUIC version. + */ + uint32_t version; + /** + * :member:`dcid` points to the Destination Connection ID. + */ + const uint8_t *dcid; + /** + * :member:`dcidlen` is the length of the Destination Connection ID + * pointed by :member:`dcid`. + */ + size_t dcidlen; + /** + * :member:`scid` points to the Source Connection ID. + */ + const uint8_t *scid; + /** + * :member:`scidlen` is the length of the Source Connection ID + * pointed by :member:`scid`. + */ + size_t scidlen; +} ngtcp2_version_cid; + +/** + * @function + * + * `ngtcp2_pkt_decode_version_cid` extracts QUIC version, Destination + * Connection ID and Source Connection ID from the packet pointed by + * |data| of length |datalen|. This function can handle Connection ID + * up to 255 bytes unlike `ngtcp2_pkt_decode_hd_long` or + * `ngtcp2_pkt_decode_hd_short` which are only capable of handling + * Connection ID less than or equal to :macro:`NGTCP2_MAX_CIDLEN`. + * Longer Connection ID is only valid if the version is unsupported + * QUIC version. + * + * If the given packet is Long header packet, this function extracts + * the version from the packet, and assigns it to + * :member:`dest->version `. It also + * extracts the pointer to the Destination Connection ID and its + * length, and assigns them to :member:`dest->dcid + * ` and :member:`dest->dcidlen + * ` respectively. Similarly, it extracts + * the pointer to the Source Connection ID and its length, and assigns + * them to :member:`dest->scid ` and + * :member:`dest->scidlen ` respectively. + * |short_dcidlen| is ignored. + * + * If the given packet is Short header packet, :member:`dest->version + * ` will be 0, :member:`dest->scid + * ` will be ``NULL``, and + * :member:`dest->scidlen ` will be 0. + * Because the Short header packet does not have the length of + * Destination Connection ID, the caller has to pass the length in + * |short_dcidlen|. This function extracts the pointer to the + * Destination Connection ID, and assigns it to :member:`dest->dcid + * `. |short_dcidlen| is assigned to + * :member:`dest->dcidlen `. + * + * If Version Negotiation is required, this function returns + * :macro:`NGTCP2_ERR_VERSION_NEGOTIATION`. Unlike the other error + * cases, all fields of |dest| are assigned as described above. + * + * This function returns 0 if it succeeds. Otherwise, one of the + * following negative error code: + * + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * The function could not decode the packet header. + * :macro:`NGTCP2_ERR_VERSION_NEGOTIATION` + * Version Negotiation packet should be sent. + */ +NGTCP2_EXTERN int ngtcp2_pkt_decode_version_cid(ngtcp2_version_cid *dest, + const uint8_t *data, + size_t datalen, + size_t short_dcidlen); + +/** + * @function + * + * `ngtcp2_pkt_decode_hd_long` decodes QUIC long packet header in + * |pkt| of length |pktlen|. This function only parses the input just + * before packet number field. + * + * This function does not verify that length field is correct. In + * other words, this function succeeds even if length > |pktlen|. + * + * This function can handle Connection ID up to + * :macro:`NGTCP2_MAX_CIDLEN`. Consider to use + * `ngtcp2_pkt_decode_version_cid` to get longer Connection ID. + * + * This function handles Version Negotiation specially. If version + * field is 0, |pkt| must contain Version Negotiation packet. Version + * Negotiation packet has random type in wire format. For + * convenience, this function sets + * :enum:`ngtcp2_pkt_type.NGTCP2_PKT_VERSION_NEGOTIATION` to + * :member:`dest->type `, clears + * :macro:`NGTCP2_PKT_FLAG_LONG_FORM` flag from :member:`dest->flags + * `, and sets 0 to :member:`dest->len + * `. Version Negotiation packet occupies a single + * packet. + * + * It stores the result in the object pointed by |dest|, and returns + * the number of bytes decoded to read the packet header if it + * succeeds, or one of the following error codes: + * + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * Packet is too short; or it is not a long header + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_pkt_decode_hd_long(ngtcp2_pkt_hd *dest, + const uint8_t *pkt, + size_t pktlen); + +/** + * @function + * + * `ngtcp2_pkt_decode_hd_short` decodes QUIC short header in |pkt| of + * length |pktlen|. Short header packet does not encode the length of + * Connection ID, thus we need the input from the outside. |dcidlen| + * is the length of Destination Connection ID in packet header. This + * function only parses the input just before packet number field. + * This function can handle Connection ID up to + * :macro:`NGTCP2_MAX_CIDLEN`. Consider to use + * `ngtcp2_pkt_decode_version_cid` to get longer Connection ID. It + * stores the result in the object pointed by |dest|, and returns the + * number of bytes decoded to read the packet header if it succeeds, + * or one of the following error codes: + * + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * Packet is too short; or it is not a short header + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_pkt_decode_hd_short(ngtcp2_pkt_hd *dest, + const uint8_t *pkt, + size_t pktlen, + size_t dcidlen); + +/** + * @function + * + * `ngtcp2_pkt_write_stateless_reset` writes Stateless Reset packet in + * the buffer pointed by |dest| whose length is |destlen|. + * |stateless_reset_token| is a pointer to the Stateless Reset Token, + * and its length must be :macro:`NGTCP2_STATELESS_RESET_TOKENLEN` + * bytes long. |rand| specifies the random octets preceding Stateless + * Reset Token. The length of |rand| is specified by |randlen| which + * must be at least :macro:`NGTCP2_MIN_STATELESS_RESET_RANDLEN` bytes + * long. + * + * If |randlen| is too long to write them all in the buffer, |rand| is + * written to the buffer as much as possible, and is truncated. + * + * This function returns the number of bytes written to the buffer, or + * one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * |randlen| is strictly less than + * :macro:`NGTCP2_MIN_STATELESS_RESET_RANDLEN`. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_pkt_write_stateless_reset( + uint8_t *dest, size_t destlen, const uint8_t *stateless_reset_token, + const uint8_t *rand, size_t randlen); + +/** + * @function + * + * `ngtcp2_pkt_write_version_negotiation` writes Version Negotiation + * packet in the buffer pointed by |dest| whose length is |destlen|. + * |unused_random| should be generated randomly. |dcid| is a + * Connection ID which appeared in a packet as a Source Connection ID + * sent by client which caused version negotiation. Similarly, |scid| + * is a Connection ID which appeared in a packet as a Destination + * Connection ID sent by client. |sv| is a list of supported + * versions, and |nsv| specifies the number of supported versions + * included in |sv|. + * + * This function returns the number of bytes written to the buffer, or + * one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_pkt_write_version_negotiation( + uint8_t *dest, size_t destlen, uint8_t unused_random, const uint8_t *dcid, + size_t dcidlen, const uint8_t *scid, size_t scidlen, const uint32_t *sv, + size_t nsv); + +/** + * @struct + * + * :type:`ngtcp2_conn` represents a single QUIC connection. + */ +typedef struct ngtcp2_conn ngtcp2_conn; + +/** + * @functypedef + * + * :type:`ngtcp2_client_initial` is invoked when client application + * asks TLS stack to produce first TLS cryptographic handshake data. + * + * This implementation of this callback must get the first handshake + * data from TLS stack, and pass it to ngtcp2 library using + * `ngtcp2_conn_submit_crypto_data` function. Make sure that before + * calling `ngtcp2_conn_submit_crypto_data` function, client + * application must create initial packet protection keys and IVs, and + * provide them to ngtcp2 library using + * `ngtcp2_conn_install_initial_key`. + * + * This callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library call + * return immediately. + */ +typedef int (*ngtcp2_client_initial)(ngtcp2_conn *conn, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_recv_client_initial` is invoked when server receives + * Initial packet from client. An server application must implement + * this callback, and generate initial keys and IVs for both + * transmission and reception. Install them using + * `ngtcp2_conn_install_initial_key`. |dcid| is the Destination + * Connection ID in Initial packet received from client. It is used + * to derive initial packet protection keys. + * + * The callback function must return 0 if it succeeds. If an error + * occurs, return :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the + * library call return immediately. + */ +typedef int (*ngtcp2_recv_client_initial)(ngtcp2_conn *conn, + const ngtcp2_cid *dcid, + void *user_data); + +/** + * @enum + * + * :type:`ngtcp2_encryption_level` is QUIC encryption level. + */ +typedef enum ngtcp2_encryption_level { + /** + * :enum:`NGTCP2_ENCRYPTION_LEVEL_INITIAL` is Initial encryption + * level. + */ + NGTCP2_ENCRYPTION_LEVEL_INITIAL, + /** + * :enum:`NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE` is Handshake encryption + * level. + */ + NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE, + /** + * :enum:`NGTCP2_ENCRYPTION_LEVEL_1RTT` is 1-RTT encryption level. + */ + NGTCP2_ENCRYPTION_LEVEL_1RTT, + /** + * :enum:`NGTCP2_ENCRYPTION_LEVEL_0RTT` is 0-RTT encryption level. + */ + NGTCP2_ENCRYPTION_LEVEL_0RTT +} ngtcp2_encryption_level; + +/** + * @functypedef + * + * :type`ngtcp2_recv_crypto_data` is invoked when crypto data is + * received. The received data is pointed by |data|, and its length + * is |datalen|. The |offset| specifies the offset where |data| is + * positioned. |user_data| is the arbitrary pointer passed to + * `ngtcp2_conn_client_new` or `ngtcp2_conn_server_new`. The ngtcp2 + * library ensures that the crypto data is passed to the application + * in the increasing order of |offset|. |datalen| is always strictly + * greater than 0. |encryption_level| indicates the encryption level + * where this data is received. Crypto data can never be received in + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`. + * + * The application should provide the given data to TLS stack. + * + * The callback function must return 0 if it succeeds, or one of the + * following negative error codes: + * + * - :macro:`NGTCP2_ERR_CRYPTO` + * - :macro:`NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM` + * - :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` + * - :macro:`NGTCP2_ERR_TRANSPORT_PARAM` + * - :macro:`NGTCP2_ERR_PROTO` + * - :macro:`NGTCP2_ERR_VERSION_NEGOTIATION_FAILURE` + * - :macro:`NGTCP2_ERR_NOMEM` + * - :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * + * If the other value is returned, it is treated as + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + * + * If application encounters fatal error, return + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library call + * return immediately. + */ +typedef int (*ngtcp2_recv_crypto_data)(ngtcp2_conn *conn, + ngtcp2_encryption_level encryption_level, + uint64_t offset, const uint8_t *data, + size_t datalen, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_handshake_completed` is invoked when QUIC + * cryptographic handshake has completed. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_handshake_completed)(ngtcp2_conn *conn, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_handshake_confirmed` is invoked when QUIC + * cryptographic handshake is confirmed. The handshake confirmation + * means that both endpoints agree that handshake has finished. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_handshake_confirmed)(ngtcp2_conn *conn, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_recv_version_negotiation` is invoked when Version + * Negotiation packet is received. |hd| is the pointer to the QUIC + * packet header object. The vector |sv| of |nsv| elements contains + * the QUIC version the server supports. Since Version Negotiation is + * only sent by server, this callback function is used by client only. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library call + * return immediately. + */ +typedef int (*ngtcp2_recv_version_negotiation)(ngtcp2_conn *conn, + const ngtcp2_pkt_hd *hd, + const uint32_t *sv, size_t nsv, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_recv_retry` is invoked when Retry packet is received. + * This callback is client use only. + * + * Application must regenerate packet protection key, IV, and header + * protection key for Initial packets using the Destination Connection + * ID obtained by :member:`hd->scid `, and install + * them by calling `ngtcp2_conn_install_initial_key`. + * + * 0-RTT data accepted by the ngtcp2 library will be automatically + * retransmitted as 0-RTT data by the library. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_recv_retry)(ngtcp2_conn *conn, const ngtcp2_pkt_hd *hd, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_encrypt` is invoked when the ngtcp2 library asks the + * application to encrypt packet payload. The packet payload to + * encrypt is passed as |plaintext| of length |plaintextlen|. The + * AEAD cipher is |aead|. |aead_ctx| is the AEAD cipher context + * object which is initialized with the specific encryption key. The + * nonce is passed as |nonce| of length |noncelen|. The Additional + * Authenticated Data is passed as |aad| of length |aadlen|. + * + * The implementation of this callback must encrypt |plaintext| using + * the negotiated cipher suite, and write the ciphertext into the + * buffer pointed by |dest|. |dest| has enough capacity to store the + * ciphertext and any additional AEAD tag data. + * + * |dest| and |plaintext| may point to the same buffer. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library call + * return immediately. + */ +typedef int (*ngtcp2_encrypt)(uint8_t *dest, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, + const uint8_t *plaintext, size_t plaintextlen, + const uint8_t *nonce, size_t noncelen, + const uint8_t *aad, size_t aadlen); + +/** + * @functypedef + * + * :type:`ngtcp2_decrypt` is invoked when the ngtcp2 library asks the + * application to decrypt packet payload. The packet payload to + * decrypt is passed as |ciphertext| of length |ciphertextlen|. The + * AEAD cipher is |aead|. |aead_ctx| is the AEAD cipher context + * object which is initialized with the specific decryption key. The + * nonce is passed as |nonce| of length |noncelen|. The Additional + * Authenticated Data is passed as |aad| of length |aadlen|. + * + * The implementation of this callback must decrypt |ciphertext| using + * the negotiated cipher suite, and write the ciphertext into the + * buffer pointed by |dest|. |dest| has enough capacity to store the + * cleartext. + * + * |dest| and |ciphertext| may point to the same buffer. + * + * The callback function must return 0 if it succeeds. If TLS stack + * fails to decrypt data, return :macro:`NGTCP2_ERR_DECRYPT`. For any + * other errors, return :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which + * makes the library call return immediately. + */ +typedef int (*ngtcp2_decrypt)(uint8_t *dest, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, + const uint8_t *ciphertext, size_t ciphertextlen, + const uint8_t *nonce, size_t noncelen, + const uint8_t *aad, size_t aadlen); + +/** + * @functypedef + * + * :type:`ngtcp2_hp_mask` is invoked when the ngtcp2 library asks the + * application to produce a mask to encrypt or decrypt packet header. + * The encryption cipher is |hp|. |hp_ctx| is the cipher context + * object which is initialized with the specific header protection + * key. The sample is passed as |sample| which is + * :macro:`NGTCP2_HP_SAMPLELEN` bytes long. + * + * The implementation of this callback must produce a mask using the + * header protection cipher suite specified by QUIC specification, and + * write the result into the buffer pointed by |dest|. The length of + * the mask must be at least :macro:`NGTCP2_HP_MASKLEN`. The library + * only uses the first :macro:`NGTCP2_HP_MASKLEN` bytes of the + * produced mask. The buffer pointed by |dest| is guaranteed to have + * at least :macro:`NGTCP2_HP_SAMPLELEN` bytes available for + * convenience. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library call + * return immediately. + */ +typedef int (*ngtcp2_hp_mask)(uint8_t *dest, const ngtcp2_crypto_cipher *hp, + const ngtcp2_crypto_cipher_ctx *hp_ctx, + const uint8_t *sample); + +/** + * @macrosection + * + * STREAM frame data flags + */ + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_DATA_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_STREAM_DATA_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_DATA_FLAG_FIN` indicates that this chunk of + * data is final piece of an incoming stream. + */ +#define NGTCP2_STREAM_DATA_FLAG_FIN 0x01u + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_DATA_FLAG_0RTT` indicates that this chunk of + * data contains data received in 0-RTT packet, and the handshake has + * not completed yet, which means that the data might be replayed. + */ +#define NGTCP2_STREAM_DATA_FLAG_0RTT 0x02u + +/** + * @functypedef + * + * :type:`ngtcp2_recv_stream_data` is invoked when stream data is + * received. The stream is specified by |stream_id|. |flags| is the + * bitwise-OR of zero or more of :macro:`NGTCP2_STREAM_DATA_FLAG_* + * `. If |flags| & + * :macro:`NGTCP2_STREAM_DATA_FLAG_FIN` is nonzero, this portion of + * the data is the last data in this stream. |offset| is the offset + * where this data begins. The library ensures that data is passed to + * the application in the non-decreasing order of |offset| without any + * overlap. The data is passed as |data| of length |datalen|. + * |datalen| may be 0 if and only if |fin| is nonzero. + * + * If :macro:`NGTCP2_STREAM_DATA_FLAG_0RTT` is set in |flags|, it + * indicates that a part of or whole data was received in 0-RTT + * packet, and a handshake has not completed yet. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library return + * immediately. + */ +typedef int (*ngtcp2_recv_stream_data)(ngtcp2_conn *conn, uint32_t flags, + int64_t stream_id, uint64_t offset, + const uint8_t *data, size_t datalen, + void *user_data, void *stream_user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_stream_open` is a callback function which is called + * when remote stream is opened by a remote endpoint. This function + * is not called if stream is opened by implicitly (we might + * reconsider this behaviour later). + * + * The implementation of this callback should return 0 if it succeeds. + * Returning :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library + * call return immediately. + */ +typedef int (*ngtcp2_stream_open)(ngtcp2_conn *conn, int64_t stream_id, + void *user_data); + +/** + * @macrosection + * + * Stream close flags + */ + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_CLOSE_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_STREAM_CLOSE_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_STREAM_CLOSE_FLAG_APP_ERROR_CODE_SET` indicates that + * app_error_code parameter is set. + */ +#define NGTCP2_STREAM_CLOSE_FLAG_APP_ERROR_CODE_SET 0x01u + +/** + * @functypedef + * + * :type:`ngtcp2_stream_close` is invoked when a stream is closed. + * This callback is not called when QUIC connection is closed before + * existing streams are closed. |flags| is the bitwise-OR of zero or + * more of :macro:`NGTCP2_STREAM_CLOSE_FLAG_* + * `. |app_error_code| indicates the + * error code of this closure if + * :macro:`NGTCP2_STREAM_CLOSE_FLAG_APP_ERROR_CODE_SET` is set in + * |flags|. If it is not set, the stream was closed without any error + * code, which generally means success. + * + * |app_error_code| is the first application error code sent by a + * local endpoint, or received from a remote endpoint. If a stream is + * closed cleanly, no application error code is exchanged. Since QUIC + * stack does not know the application error code which indicates "no + * errors", |app_error_code| is set to 0 and + * :macro:`NGTCP2_STREAM_CLOSE_FLAG_APP_ERROR_CODE_SET` is not set in + * |flags| in this case. + * + * The implementation of this callback should return 0 if it succeeds. + * Returning :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library + * call return immediately. + */ +typedef int (*ngtcp2_stream_close)(ngtcp2_conn *conn, uint32_t flags, + int64_t stream_id, uint64_t app_error_code, + void *user_data, void *stream_user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_stream_reset` is invoked when a stream identified by + * |stream_id| is reset by a remote endpoint. + * + * The implementation of this callback should return 0 if it succeeds. + * Returning :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library + * call return immediately. + */ +typedef int (*ngtcp2_stream_reset)(ngtcp2_conn *conn, int64_t stream_id, + uint64_t final_size, uint64_t app_error_code, + void *user_data, void *stream_user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_acked_stream_data_offset` is a callback function + * which is called when stream data in range [|offset|, |offset| + + * |datalen|) is acknowledged, and application can free the portion of + * data. For a given |stream_id|, this callback is called + * sequentially in increasing order of |offset| without any overlap. + * |datalen| is normally strictly greater than 0. One exception is + * that when a STREAM frame has fin flag set and 0 length data, this + * callback is invoked with |datalen| == 0. + * + * If a stream is closed prematurely, and stream data is still + * in-flight, this callback function is not called for those data. + * After :member:`ngtcp2_callbacks.stream_close` is called for a + * particular stream, |conn| does not touch data for the closed stream + * again, and application can free all unacknowledged stream data. + * + * The implementation of this callback should return 0 if it succeeds. + * Returning :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library + * call return immediately. + */ +typedef int (*ngtcp2_acked_stream_data_offset)( + ngtcp2_conn *conn, int64_t stream_id, uint64_t offset, uint64_t datalen, + void *user_data, void *stream_user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_recv_stateless_reset` is a callback function which is + * called when Stateless Reset packet is received. The stateless + * reset details are given in |sr|. + * + * The implementation of this callback should return 0 if it succeeds. + * Returning :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library + * call return immediately. + */ +typedef int (*ngtcp2_recv_stateless_reset)(ngtcp2_conn *conn, + const ngtcp2_pkt_stateless_reset *sr, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_extend_max_streams` is a callback function which is + * called every time max stream ID is strictly extended. + * |max_streams| is the cumulative number of streams which an endpoint + * can open. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_extend_max_streams)(ngtcp2_conn *conn, + uint64_t max_streams, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_extend_max_stream_data` is a callback function which + * is invoked when max stream data is extended. |stream_id| + * identifies the stream. |max_data| is a cumulative number of bytes + * an endpoint can send on this stream. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_extend_max_stream_data)(ngtcp2_conn *conn, + int64_t stream_id, + uint64_t max_data, void *user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_rand` is a callback function to get random data of + * length |destlen|. Application must fill random |destlen| bytes to + * the buffer pointed by |dest|. The generated data is used only in + * non-cryptographic context. But it is strongly recommended to use a + * secure random number generator. + */ +typedef void (*ngtcp2_rand)(uint8_t *dest, size_t destlen, + const ngtcp2_rand_ctx *rand_ctx); + +/** + * @functypedef + * + * :type:`ngtcp2_get_new_connection_id` is a callback function to ask + * an application for new connection ID. Application must generate + * new unused connection ID with the exact |cidlen| bytes, and store + * it in |cid|. It also has to generate a stateless reset token, and + * store it in |token|. The length of stateless reset token is + * :macro:`NGTCP2_STATELESS_RESET_TOKENLEN` and it is guaranteed that + * the buffer pointed by |token| has the sufficient space to store the + * token. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_get_new_connection_id)(ngtcp2_conn *conn, ngtcp2_cid *cid, + uint8_t *token, size_t cidlen, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_remove_connection_id` is a callback function which + * notifies the application that connection ID |cid| is no longer used + * by a remote endpoint. This Connection ID was previously offered by + * a local endpoint, and a remote endpoint could use it as Destination + * Connection ID when sending QUIC packet. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_remove_connection_id)(ngtcp2_conn *conn, + const ngtcp2_cid *cid, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_update_key` is a callback function which tells the + * application that it must generate new packet protection keying + * materials and AEAD cipher context objects with new keys. The + * current set of secrets are given as |current_rx_secret| and + * |current_tx_secret| of length |secretlen|. They are decryption and + * encryption secrets respectively. + * + * The application must generate new secrets and keys for both + * encryption and decryption. It must write decryption secret and IV + * to the buffer pointed by |rx_secret| and |rx_iv| respectively. It + * also must create new AEAD cipher context object with new decryption + * key and initialize |rx_aead_ctx| with it. Similarly, write + * encryption secret and IV to the buffer pointed by |tx_secret| and + * |tx_iv|. Create new AEAD cipher context object with new encryption + * key and initialize |tx_aead_ctx| with it. All given buffers have + * the enough capacity to store secret, key and IV. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_update_key)( + ngtcp2_conn *conn, uint8_t *rx_secret, uint8_t *tx_secret, + ngtcp2_crypto_aead_ctx *rx_aead_ctx, uint8_t *rx_iv, + ngtcp2_crypto_aead_ctx *tx_aead_ctx, uint8_t *tx_iv, + const uint8_t *current_rx_secret, const uint8_t *current_tx_secret, + size_t secretlen, void *user_data); + +/** + * @macrosection + * + * Path validation related macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_PATH_VALIDATION_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_PATH_VALIDATION_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_PATH_VALIDATION_FLAG_PREFERRED_ADDR` indicates the + * validation involving server preferred address. This flag is only + * set for client. + */ +#define NGTCP2_PATH_VALIDATION_FLAG_PREFERRED_ADDR 0x01u + +/** + * @macro + * + * :macro:`NGTCP2_PATH_VALIDATION_FLAG_NEW_TOKEN` indicates that + * server should send NEW_TOKEN frame for the new remote address. + * This flag is only set for server. + */ +#define NGTCP2_PATH_VALIDATION_FLAG_NEW_TOKEN 0x02u + +/** + * @functypedef + * + * :type:`ngtcp2_path_validation` is a callback function which tells + * an application the outcome of path validation. |flags| is zero or + * more of :macro:`NGTCP2_PATH_VALIDATION_FLAG_* + * `. |path| is the path that was + * validated. |old_path| is the path that is previously used before a + * local endpoint has migrated to |path| if |old_path| is not NULL. + * If |res| is + * :enum:`ngtcp2_path_validation_result.NGTCP2_PATH_VALIDATION_RESULT_SUCCESS`, + * the path validation succeeded. If |res| is + * :enum:`ngtcp2_path_validation_result.NGTCP2_PATH_VALIDATION_RESULT_FAILURE`, + * the path validation failed. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_path_validation)(ngtcp2_conn *conn, uint32_t flags, + const ngtcp2_path *path, + const ngtcp2_path *old_path, + ngtcp2_path_validation_result res, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_select_preferred_addr` is a callback function which + * asks a client application to choose server address from preferred + * addresses |paddr| received from server. An application should + * write a network path for a selected preferred address in |dest|. + * More specifically, the selected preferred address must be set to + * :member:`dest->remote `, a client source + * address must be set to :member:`dest->local `. + * If a client source address does not change for the new server + * address, leave :member:`dest->local ` + * unmodified, or copy the value of :member:`local + * ` field of the current network path obtained + * from `ngtcp2_conn_get_path()`. Both :member:`dest->local.addr + * ` and :member:`dest->remote.addr + * ` point to buffers which are at least + * sizeof(:type:`ngtcp2_sockaddr_union`) bytes long, respectively. If + * an application denies the preferred addresses, just leave |dest| + * unmodified (or set :member:`dest->remote.addrlen + * ` to 0), and return 0. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_select_preferred_addr)(ngtcp2_conn *conn, + ngtcp2_path *dest, + const ngtcp2_preferred_addr *paddr, + void *user_data); + +/** + * @enum + * + * :type:`ngtcp2_connection_id_status_type` defines a set of status + * for Destination Connection ID. + */ +typedef enum ngtcp2_connection_id_status_type { + /** + * :enum:`NGTCP2_CONNECTION_ID_STATUS_TYPE_ACTIVATE` indicates that + * a local endpoint starts using new Destination Connection ID. + */ + NGTCP2_CONNECTION_ID_STATUS_TYPE_ACTIVATE, + /** + * :enum:`NGTCP2_CONNECTION_ID_STATUS_TYPE_DEACTIVATE` indicates + * that a local endpoint stops using a given Destination Connection + * ID. + */ + NGTCP2_CONNECTION_ID_STATUS_TYPE_DEACTIVATE +} ngtcp2_connection_id_status_type; + +/** + * @functypedef + * + * :type:`ngtcp2_connection_id_status` is a callback function which is + * called when the status of Destination Connection ID changes. + * + * |token| is the associated stateless reset token, and it is ``NULL`` + * if no token is present. + * + * |type| is the one of the value defined in + * :type:`ngtcp2_connection_id_status_type`. The new value might be + * added in the future release. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_connection_id_status)( + ngtcp2_conn *conn, ngtcp2_connection_id_status_type type, uint64_t seq, + const ngtcp2_cid *cid, const uint8_t *token, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_recv_new_token` is a callback function which is + * called when new token is received from server. This callback is + * client use only. + * + * |token| is the received token of length |tokenlen| bytes long. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_recv_new_token)(ngtcp2_conn *conn, const uint8_t *token, + size_t tokenlen, void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_delete_crypto_aead_ctx` is a callback function which + * must delete the native object pointed by + * :member:`aead_ctx->native_handle + * `. + */ +typedef void (*ngtcp2_delete_crypto_aead_ctx)(ngtcp2_conn *conn, + ngtcp2_crypto_aead_ctx *aead_ctx, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_delete_crypto_cipher_ctx` is a callback function + * which must delete the native object pointed by + * :member:`cipher_ctx->native_handle + * `. + */ +typedef void (*ngtcp2_delete_crypto_cipher_ctx)( + ngtcp2_conn *conn, ngtcp2_crypto_cipher_ctx *cipher_ctx, void *user_data); + +/** + * @macrosection + * + * DATAGRAM frame flags + */ + +/** + * @macro + * + * :macro:`NGTCP2_DATAGRAM_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_DATAGRAM_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_DATAGRAM_FLAG_0RTT` indicates that DATAGRAM frame is + * received in 0-RTT packet, and the handshake has not completed yet, + * which means that the data might be replayed. + */ +#define NGTCP2_DATAGRAM_FLAG_0RTT 0x01u + +/** + * @functypedef + * + * :type:`ngtcp2_recv_datagram` is invoked when DATAGRAM frame is + * received. |flags| is bitwise-OR of zero or more of + * :macro:`NGTCP2_DATAGRAM_FLAG_* `. + * + * If :macro:`NGTCP2_DATAGRAM_FLAG_0RTT` is set in |flags|, it + * indicates that DATAGRAM frame was received in 0-RTT packet, and a + * handshake has not completed yet. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library return + * immediately. + */ +typedef int (*ngtcp2_recv_datagram)(ngtcp2_conn *conn, uint32_t flags, + const uint8_t *data, size_t datalen, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_ack_datagram` is invoked when a packet which contains + * DATAGRAM frame which is identified by |dgram_id| is acknowledged. + * |dgram_id| is the valued passed to `ngtcp2_conn_writev_datagram`. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library return + * immediately. + */ +typedef int (*ngtcp2_ack_datagram)(ngtcp2_conn *conn, uint64_t dgram_id, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_lost_datagram` is invoked when a packet which + * contains DATAGRAM frame which is identified by |dgram_id| is + * declared lost. |dgram_id| is the valued passed to + * `ngtcp2_conn_writev_datagram`. Note that the loss might be + * spurious, and DATAGRAM frame might be acknowledged later. + * + * The callback function must return 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` which makes the library return + * immediately. + */ +typedef int (*ngtcp2_lost_datagram)(ngtcp2_conn *conn, uint64_t dgram_id, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_get_path_challenge_data` is a callback function to + * ask an application for new data that is sent in PATH_CHALLENGE + * frame. Application must generate new unpredictable, exactly + * :macro:`NGTCP2_PATH_CHALLENGE_DATALEN` bytes of random data, and + * store them into the buffer pointed by |data|. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_get_path_challenge_data)(ngtcp2_conn *conn, uint8_t *data, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_stream_stop_sending` is invoked when a stream is no + * longer read by a local endpoint before it receives all stream data. + * This function is called at most once per stream. |app_error_code| + * is the error code passed to `ngtcp2_conn_shutdown_stream_read` or + * `ngtcp2_conn_shutdown_stream`. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_stream_stop_sending)(ngtcp2_conn *conn, int64_t stream_id, + uint64_t app_error_code, + void *user_data, + void *stream_user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_version_negotiation` is invoked when the compatible + * version negotiation takes place. For client, it is called when it + * sees a change in version field of a long header packet. This + * callback function might be called multiple times for client. For + * server, it is called once when the version is negotiated. + * + * The implementation of this callback must install new Initial keys + * for |version| and Destination Connection ID |client_dcid| from + * client. Use `ngtcp2_conn_install_vneg_initial_key` to install + * keys. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_version_negotiation)(ngtcp2_conn *conn, uint32_t version, + const ngtcp2_cid *client_dcid, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_recv_key` is invoked when new key is installed to + * |conn| during QUIC cryptographic handshake. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_recv_key)(ngtcp2_conn *conn, ngtcp2_encryption_level level, + void *user_data); + +/** + * @functypedef + * + * :type:`ngtcp2_tls_early_data_rejected` is invoked when early data + * was rejected by server during TLS handshake, or client decided not + * to attempt early data. + * + * The callback function must return 0 if it succeeds. Returning + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return + * immediately. + */ +typedef int (*ngtcp2_tls_early_data_rejected)(ngtcp2_conn *conn, + void *user_data); + +#define NGTCP2_CALLBACKS_V1 1 +#define NGTCP2_CALLBACKS_VERSION NGTCP2_CALLBACKS_V1 + +/** + * @struct + * + * :type:`ngtcp2_callbacks` holds a set of callback functions. + */ +typedef struct ngtcp2_callbacks { + /** + * :member:`client_initial` is a callback function which is invoked + * when client asks TLS stack to produce first TLS cryptographic + * handshake message. This callback function must be specified for + * a client application. + */ + ngtcp2_client_initial client_initial; + /** + * :member:`recv_client_initial` is a callback function which is + * invoked when a server receives the first Initial packet from + * client. This callback function must be specified for a server + * application. + */ + ngtcp2_recv_client_initial recv_client_initial; + /** + * :member:`recv_crypto_data` is a callback function which is + * invoked when cryptographic data (CRYPTO frame, in other words, + * TLS message) is received. This callback function must be + * specified. + */ + ngtcp2_recv_crypto_data recv_crypto_data; + /** + * :member:`handshake_completed` is a callback function which is + * invoked when QUIC cryptographic handshake has completed. This + * callback function is optional. + */ + ngtcp2_handshake_completed handshake_completed; + /** + * :member:`recv_version_negotiation` is a callback function which + * is invoked when Version Negotiation packet is received by a + * client. This callback function is optional. + */ + ngtcp2_recv_version_negotiation recv_version_negotiation; + /** + * :member:`encrypt` is a callback function which is invoked to + * encrypt a QUIC packet. This callback function must be specified. + */ + ngtcp2_encrypt encrypt; + /** + * :member:`decrypt` is a callback function which is invoked to + * decrypt a QUIC packet. This callback function must be specified. + */ + ngtcp2_decrypt decrypt; + /** + * :member:`hp_mask` is a callback function which is invoked to get + * a mask to encrypt or decrypt QUIC packet header. This callback + * function must be specified. + */ + ngtcp2_hp_mask hp_mask; + /** + * :member:`recv_stream_data` is a callback function which is + * invoked when stream data, which includes application data, is + * received. This callback function is optional. + */ + ngtcp2_recv_stream_data recv_stream_data; + /** + * :member:`acked_stream_data_offset` is a callback function which + * is invoked when stream data, which includes application data, is + * acknowledged by a remote endpoint. It tells an application the + * largest offset of acknowledged stream data without a gap so that + * application can free memory for the data up to that offset. This + * callback function is optional. + */ + ngtcp2_acked_stream_data_offset acked_stream_data_offset; + /** + * :member:`stream_open` is a callback function which is invoked + * when new remote stream is opened by a remote endpoint. This + * callback function is optional. + */ + ngtcp2_stream_open stream_open; + /** + * :member:`stream_close` is a callback function which is invoked + * when a stream is closed. This callback function is optional. + */ + ngtcp2_stream_close stream_close; + /** + * :member:`recv_stateless_reset` is a callback function which is + * invoked when Stateless Reset packet is received. This callback + * function is optional. + */ + ngtcp2_recv_stateless_reset recv_stateless_reset; + /** + * :member:`recv_retry` is a callback function which is invoked when + * a client receives Retry packet. For client, this callback + * function must be specified. Server never receive Retry packet. + */ + ngtcp2_recv_retry recv_retry; + /** + * :member:`extend_max_local_streams_bidi` is a callback function + * which is invoked when the number of bidirectional stream which a + * local endpoint can open is increased. This callback function is + * optional. + */ + ngtcp2_extend_max_streams extend_max_local_streams_bidi; + /** + * :member:`extend_max_local_streams_uni` is a callback function + * which is invoked when the number of unidirectional stream which a + * local endpoint can open is increased. This callback function is + * optional. + */ + ngtcp2_extend_max_streams extend_max_local_streams_uni; + /** + * :member:`rand` is a callback function which is invoked when the + * library needs random data. This callback function must be + * specified. + */ + ngtcp2_rand rand; + /** + * :member:`get_new_connection_id` is a callback function which is + * invoked when the library needs new connection ID. This callback + * function must be specified. + */ + ngtcp2_get_new_connection_id get_new_connection_id; + /** + * :member:`remove_connection_id` is a callback function which + * notifies an application that connection ID is no longer used by a + * remote endpoint. This callback function is optional. + */ + ngtcp2_remove_connection_id remove_connection_id; + /** + * :member:`update_key` is a callback function which is invoked when + * the library tells an application that it must update keying + * materials, and install new keys. This callback function must be + * specified. + */ + ngtcp2_update_key update_key; + /** + * :member:`path_validation` is a callback function which is invoked + * when path validation completed. This callback function is + * optional. + */ + ngtcp2_path_validation path_validation; + /** + * :member:`select_preferred_addr` is a callback function which is + * invoked when the library asks a client to select preferred + * address presented by a server. If not set, client ignores + * preferred addresses. This callback function is optional. + */ + ngtcp2_select_preferred_addr select_preferred_addr; + /** + * :member:`stream_reset` is a callback function which is invoked + * when a stream is reset by a remote endpoint. This callback + * function is optional. + */ + ngtcp2_stream_reset stream_reset; + /** + * :member:`extend_max_remote_streams_bidi` is a callback function + * which is invoked when the number of bidirectional streams which a + * remote endpoint can open is increased. This callback function is + * optional. + */ + ngtcp2_extend_max_streams extend_max_remote_streams_bidi; + /** + * :member:`extend_max_remote_streams_uni` is a callback function + * which is invoked when the number of unidirectional streams which + * a remote endpoint can open is increased. This callback function + * is optional. + */ + ngtcp2_extend_max_streams extend_max_remote_streams_uni; + /** + * :member:`extend_max_stream_data` is callback function which is + * invoked when the maximum offset of stream data that a local + * endpoint can send is increased. This callback function is + * optional. + */ + ngtcp2_extend_max_stream_data extend_max_stream_data; + /** + * :member:`dcid_status` is a callback function which is invoked + * when the new Destination Connection ID is activated, or the + * activated Destination Connection ID is now deactivated. This + * callback function is optional. + */ + ngtcp2_connection_id_status dcid_status; + /** + * :member:`handshake_confirmed` is a callback function which is + * invoked when both endpoints agree that handshake has finished. + * This field is ignored by server because + * :member:`handshake_completed` also indicates the handshake + * confirmation for server. This callback function is optional. + */ + ngtcp2_handshake_confirmed handshake_confirmed; + /** + * :member:`recv_new_token` is a callback function which is invoked + * when new token is received from server. This field is ignored by + * server. This callback function is optional. + */ + ngtcp2_recv_new_token recv_new_token; + /** + * :member:`delete_crypto_aead_ctx` is a callback function which + * deletes a given AEAD cipher context object. This callback + * function must be specified. + */ + ngtcp2_delete_crypto_aead_ctx delete_crypto_aead_ctx; + /** + * :member:`delete_crypto_cipher_ctx` is a callback function which + * deletes a given cipher context object. This callback function + * must be specified. + */ + ngtcp2_delete_crypto_cipher_ctx delete_crypto_cipher_ctx; + /** + * :member:`recv_datagram` is a callback function which is invoked + * when DATAGRAM frame is received. This callback function is + * optional. + */ + ngtcp2_recv_datagram recv_datagram; + /** + * :member:`ack_datagram` is a callback function which is invoked + * when a QUIC packet containing DATAGRAM frame is acknowledged by a + * remote endpoint. This callback function is optional. + */ + ngtcp2_ack_datagram ack_datagram; + /** + * :member:`lost_datagram` is a callback function which is invoked + * when a QUIC packet containing DATAGRAM frame is declared lost. + * This callback function is optional. + */ + ngtcp2_lost_datagram lost_datagram; + /** + * :member:`get_path_challenge_data` is a callback function which is + * invoked when the library needs new data sent along with + * PATH_CHALLENGE frame. This callback must be specified. + */ + ngtcp2_get_path_challenge_data get_path_challenge_data; + /** + * :member:`stream_stop_sending` is a callback function which is + * invoked when a local endpoint no longer reads from a stream + * before it receives all stream data. This callback function is + * optional. + */ + ngtcp2_stream_stop_sending stream_stop_sending; + /** + * :member:`version_negotiation` is a callback function which is + * invoked when the compatible version negotiation takes place. + * This callback function must be specified. + */ + ngtcp2_version_negotiation version_negotiation; + /** + * :member:`recv_rx_key` is a callback function which is invoked + * when a new key for decrypting packets is installed during QUIC + * cryptographic handshake. It is not called for + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_INITIAL`. + */ + ngtcp2_recv_key recv_rx_key; + /** + * :member:`recv_tx_key` is a callback function which is invoked + * when a new key for encrypting packets is installed during QUIC + * cryptographic handshake. It is not called for + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_INITIAL`. + */ + ngtcp2_recv_key recv_tx_key; + /** + * :member:`tls_early_data_rejected` is a callback function which is + * invoked when server rejected early data during TLS handshake, or + * client decided not to attempt early data. This callback function + * is only used by client. + */ + ngtcp2_tls_early_data_rejected tls_early_data_rejected; +} ngtcp2_callbacks; + +/** + * @function + * + * `ngtcp2_pkt_write_connection_close` writes Initial packet + * containing CONNECTION_CLOSE frame with the given |error_code| and + * the optional |reason| of length |reasonlen| to the buffer pointed + * by |dest| of length |destlen|. All encryption parameters are for + * Initial packet encryption. The packet number is always 0. + * + * The primary use case of this function is for server to send + * CONNECTION_CLOSE frame in Initial packet to close connection + * without committing any state when validating Retry token fails. + * + * This function returns the number of bytes written if it succeeds, + * or one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * Callback function failed. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_pkt_write_connection_close( + uint8_t *dest, size_t destlen, uint32_t version, const ngtcp2_cid *dcid, + const ngtcp2_cid *scid, uint64_t error_code, const uint8_t *reason, + size_t reasonlen, ngtcp2_encrypt encrypt, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv, + ngtcp2_hp_mask hp_mask, const ngtcp2_crypto_cipher *hp, + const ngtcp2_crypto_cipher_ctx *hp_ctx); + +/** + * @function + * + * `ngtcp2_pkt_write_retry` writes Retry packet in the buffer pointed + * by |dest| whose length is |destlen|. |dcid| is the Connection ID + * which appeared in a packet as a Source Connection ID sent by + * client. |scid| is a server chosen Source Connection ID. |odcid| + * specifies Original Destination Connection ID which appeared in a + * packet as a Destination Connection ID sent by client. |token| + * specifies Retry Token, and |tokenlen| specifies its length. |aead| + * must be AEAD_AES_128_GCM. |aead_ctx| must be initialized with + * :macro:`NGTCP2_RETRY_KEY` as an encryption key. + * + * This function returns the number of bytes written to the buffer, or + * one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * Callback function failed. + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * :member:`odcid->datalen ` is less than + * :macro:`NGTCP2_MIN_INITIAL_DCIDLEN`. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_pkt_write_retry( + uint8_t *dest, size_t destlen, uint32_t version, const ngtcp2_cid *dcid, + const ngtcp2_cid *scid, const ngtcp2_cid *odcid, const uint8_t *token, + size_t tokenlen, ngtcp2_encrypt encrypt, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx); + +/** + * @function + * + * `ngtcp2_accept` is used by server implementation, and decides + * whether packet |pkt| of length |pktlen| from client is acceptable + * for the very first packet to a connection. + * + * If |dest| is not ``NULL`` and the function returns 0, the decoded + * packet header is stored in the object pointed by |dest|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * The packet is not acceptable for the very first packet to a new + * connection; or the function failed to parse the packet header. + */ +NGTCP2_EXTERN int ngtcp2_accept(ngtcp2_pkt_hd *dest, const uint8_t *pkt, + size_t pktlen); + +/** + * @function + * + * `ngtcp2_conn_client_new` creates new :type:`ngtcp2_conn`, and + * initializes it as client. On success, it stores the pointer to the + * newly allocated object in |*pconn|. |dcid| is a randomized + * Destination Connection ID which must be longer than or equal to + * :macro:`NGTCP2_MIN_INITIAL_DCIDLEN`. |scid| is a Source Connection + * ID chosen by client. |client_chosen_version| is a QUIC version + * that a client chooses. |path| is the network path where this QUIC + * connection is being established, and must not be ``NULL``. + * |callbacks|, |settings|, and |params| must not be ``NULL``, and the + * function makes a copy of each of them. |params| is a local QUIC + * transport parameters, and sent to a remote endpoint during + * handshake. |user_data| is the arbitrary pointer which is passed to + * the user-defined callback functions. If |mem| is ``NULL``, the + * memory allocator returned by `ngtcp2_mem_default()` is used. + * + * Call `ngtcp2_conn_del` to free memory allocated for |*pconn|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_client_new_versioned( + ngtcp2_conn **pconn, const ngtcp2_cid *dcid, const ngtcp2_cid *scid, + const ngtcp2_path *path, uint32_t client_chosen_version, + int callbacks_version, const ngtcp2_callbacks *callbacks, + int settings_version, const ngtcp2_settings *settings, + int transport_params_version, const ngtcp2_transport_params *params, + const ngtcp2_mem *mem, void *user_data); + +/** + * @function + * + * `ngtcp2_conn_server_new` creates new :type:`ngtcp2_conn`, and + * initializes it as server. On success, it stores the pointer to the + * newly allocated object in |*pconn|. |dcid| is a Destination + * Connection ID, and is usually the Connection ID that appears in + * client Initial packet as Source Connection ID. |scid| is a Source + * Connection ID chosen by server. |path| is the network path where + * this QUIC connection is being established, and must not be + * ``NULL``. |client_chosen_version| is a QUIC version that a client + * chooses. |callbacks|, |settings|, and |params| must not be + * ``NULL``, and the function makes a copy of each of them. |params| + * is a local QUIC transport parameters, and sent to a remote endpoint + * during handshake. |user_data| is the arbitrary pointer which is + * passed to the user-defined callback functions. If |mem| is + * ``NULL``, the memory allocator returned by `ngtcp2_mem_default()` + * is used. + * + * Call `ngtcp2_conn_del` to free memory allocated for |*pconn|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_server_new_versioned( + ngtcp2_conn **pconn, const ngtcp2_cid *dcid, const ngtcp2_cid *scid, + const ngtcp2_path *path, uint32_t client_chosen_version, + int callbacks_version, const ngtcp2_callbacks *callbacks, + int settings_version, const ngtcp2_settings *settings, + int transport_params_version, const ngtcp2_transport_params *params, + const ngtcp2_mem *mem, void *user_data); + +/** + * @function + * + * `ngtcp2_conn_del` frees resources allocated for |conn|. It also + * frees memory pointed by |conn|. + */ +NGTCP2_EXTERN void ngtcp2_conn_del(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_read_pkt` decrypts QUIC packet given in |pkt| of + * length |pktlen| and processes it. |path| is the network path the + * packet is delivered and must not be ``NULL``. |pi| is packet + * metadata and may be ``NULL``. This function performs QUIC handshake + * as well. + * + * This function must not be called from inside the callback + * functions. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_RETRY` + * Server must perform address validation by sending Retry packet + * (see `ngtcp2_crypto_write_retry` and `ngtcp2_pkt_write_retry`), + * and discard the connection state. Client application does not + * get this error code. + * :macro:`NGTCP2_ERR_DROP_CONN` + * Server application must drop the connection silently (without + * sending any CONNECTION_CLOSE frame), and discard connection + * state. Client application does not get this error code. + * :macro:`NGTCP2_ERR_DRAINING` + * A connection has entered the draining state, and no further + * packet transmission is allowed. + * :macro:`NGTCP2_ERR_CLOSING` + * A connection has entered the closing state, and no further + * packet transmission is allowed. Calling + * `ngtcp2_conn_write_connection_close` makes a connection enter + * this state. + * :macro:`NGTCP2_ERR_CRYPTO` + * An error happened in TLS stack. `ngtcp2_conn_get_tls_alert` + * returns TLS alert if set. + * + * If any other negative error is returned, call + * `ngtcp2_conn_write_connection_close` to get terminal packet, and + * sending it makes QUIC connection enter the closing state. + */ +NGTCP2_EXTERN int +ngtcp2_conn_read_pkt_versioned(ngtcp2_conn *conn, const ngtcp2_path *path, + int pkt_info_version, const ngtcp2_pkt_info *pi, + const uint8_t *pkt, size_t pktlen, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_write_pkt` is equivalent to calling + * `ngtcp2_conn_writev_stream` with -1 as |stream_id|, no stream data, + * and :macro:`NGTCP2_WRITE_STREAM_FLAG_NONE` as flags. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_pkt_versioned( + ngtcp2_conn *conn, ngtcp2_path *path, int pkt_info_version, + ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_tls_handshake_completed` tells |conn| that the TLS + * stack declares TLS handshake completion. This does not mean QUIC + * handshake has completed. The library needs extra conditions to be + * met. + */ +NGTCP2_EXTERN void ngtcp2_conn_tls_handshake_completed(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_handshake_completed` returns nonzero if QUIC + * handshake has completed. + */ +NGTCP2_EXTERN int ngtcp2_conn_get_handshake_completed(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_install_initial_key` installs packet protection keying + * materials for Initial packets. |rx_aead_ctx| is AEAD cipher + * context object, and must be initialized with a decryption key. + * |rx_iv| is IV of length |rx_ivlen| for decryption. |rx_hp_ctx| is + * a packet header protection cipher context object for decryption. + * Similarly, |tx_aead_ctx|, |tx_iv| and |tx_hp_ctx| are for + * encrypting outgoing packets, and are the same length with the + * decryption counterpart . If they have already been set, they are + * overwritten. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |rx_aead_ctx|, + * |rx_hp_ctx|, |tx_aead_ctx|, and |tx_hp_ctx|. + * :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` and + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be called + * to delete these objects when they are no longer used. If this + * function fails, the caller is responsible to delete them. + * + * After receiving Retry packet, a Destination Connection ID that + * client sends in Initial packet most likely changes. In that case, + * client application must generate these keying materials again based + * on new Destination Connection ID, and install them again with this + * function. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_initial_key( + ngtcp2_conn *conn, const ngtcp2_crypto_aead_ctx *rx_aead_ctx, + const uint8_t *rx_iv, const ngtcp2_crypto_cipher_ctx *rx_hp_ctx, + const ngtcp2_crypto_aead_ctx *tx_aead_ctx, const uint8_t *tx_iv, + const ngtcp2_crypto_cipher_ctx *tx_hp_ctx, size_t ivlen); + +/** + * @function + * + * `ngtcp2_conn_install_vneg_initial_key` installs packet protection + * keying materials for Initial packets on compatible version + * negotiation for |version|. |rx_aead_ctx| is AEAD cipher context + * object, and must be initialized with a decryption key. |rx_iv| is + * IV of length |rx_ivlen| for decryption. |rx_hp_ctx| is a packet + * header protection cipher context object for decryption. Similarly, + * |tx_aead_ctx|, |tx_iv| and |tx_hp_ctx| are for encrypting outgoing + * packets, and are the same length with the decryption counterpart. + * If they have already been set, they are overwritten. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |rx_aead_ctx|, + * |rx_hp_ctx|, |tx_aead_ctx|, and |tx_hp_ctx|. + * :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` and + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be called + * to delete these objects when they are no longer used. If this + * function fails, the caller is responsible to delete them. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_vneg_initial_key( + ngtcp2_conn *conn, uint32_t version, + const ngtcp2_crypto_aead_ctx *rx_aead_ctx, const uint8_t *rx_iv, + const ngtcp2_crypto_cipher_ctx *rx_hp_ctx, + const ngtcp2_crypto_aead_ctx *tx_aead_ctx, const uint8_t *tx_iv, + const ngtcp2_crypto_cipher_ctx *tx_hp_ctx, size_t ivlen); + +/** + * @function + * + * `ngtcp2_conn_install_rx_handshake_key` installs packet protection + * keying materials for decrypting incoming Handshake packets. + * |aead_ctx| is AEAD cipher context object which must be initialized + * with a decryption key. |iv| is IV of length |ivlen|. |hp_ctx| is + * a packet header protection cipher context object. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |aead_ctx|, + * and |hp_ctx|. :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` + * and :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be + * called to delete these objects when they are no longer used. If + * this function fails, the caller is responsible to delete them. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_rx_handshake_key( + ngtcp2_conn *conn, const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv, + size_t ivlen, const ngtcp2_crypto_cipher_ctx *hp_ctx); + +/** + * @function + * + * `ngtcp2_conn_install_tx_handshake_key` installs packet protection + * keying materials for encrypting outgoing Handshake packets. + * |aead_ctx| is AEAD cipher context object which must be initialized + * with an encryption key. |iv| is IV of length |ivlen|. |hp_ctx| is + * a packet header protection cipher context object. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |aead_ctx| and + * |hp_ctx|. :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` and + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be called + * to delete these objects when they are no longer used. If this + * function fails, the caller is responsible to delete them. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_tx_handshake_key( + ngtcp2_conn *conn, const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv, + size_t ivlen, const ngtcp2_crypto_cipher_ctx *hp_ctx); + +/** + * @function + * + * `ngtcp2_conn_install_0rtt_key` installs packet protection AEAD + * cipher context object |aead_ctx|, IV |iv| of length |ivlen|, and + * packet header protection cipher context object |hp_ctx| to encrypt + * (for client) or decrypt (for server) 0-RTT packets. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |aead_ctx| and + * |hp_ctx|. :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` and + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be called + * to delete these objects when they are no longer used. If this + * function fails, the caller is responsible to delete them. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_0rtt_key( + ngtcp2_conn *conn, const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv, + size_t ivlen, const ngtcp2_crypto_cipher_ctx *hp_ctx); + +/** + * @function + * + * `ngtcp2_conn_install_rx_key` installs packet protection keying + * materials for decrypting 1-RTT packets. |secret| of length + * |secretlen| is the decryption secret which is used to derive keying + * materials passed to this function. |aead_ctx| is AEAD cipher + * context object which must be initialized with a decryption key. + * |iv| is IV of length |ivlen|. |hp_ctx| is a packet header + * protection cipher context object. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |aead_ctx| and + * |hp_ctx|. :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` and + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be called + * to delete these objects when they are no longer used. If this + * function fails, the caller is responsible to delete them. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_rx_key( + ngtcp2_conn *conn, const uint8_t *secret, size_t secretlen, + const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv, size_t ivlen, + const ngtcp2_crypto_cipher_ctx *hp_ctx); + +/** + * @function + * + * `ngtcp2_conn_install_tx_key` installs packet protection keying + * materials for encrypting 1-RTT packets. |secret| of length + * |secretlen| is the encryption secret which is used to derive keying + * materials passed to this function. |aead_ctx| is AEAD cipher + * context object which must be initialized with an encryption key. + * |iv| is IV of length |ivlen|. |hp_ctx| is a packet header + * protection cipher context object. + * + * |ivlen| must be the minimum length of AEAD nonce, or 8 bytes if + * that is larger. + * + * If this function succeeds, |conn| takes ownership of |aead_ctx| and + * |hp_ctx|. :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` and + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` will be called + * to delete these objects when they are no longer used. If this + * function fails, the caller is responsible to delete them. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_install_tx_key( + ngtcp2_conn *conn, const uint8_t *secret, size_t secretlen, + const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv, size_t ivlen, + const ngtcp2_crypto_cipher_ctx *hp_ctx); + +/** + * @function + * + * `ngtcp2_conn_initiate_key_update` initiates the key update. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_INVALID_STATE` + * The previous key update has not been confirmed yet; or key + * update is too frequent; or new keys are not available yet. + */ +NGTCP2_EXTERN int ngtcp2_conn_initiate_key_update(ngtcp2_conn *conn, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_set_tls_error` sets the TLS related error |liberr| in + * |conn|. |liberr| must be one of ngtcp2 library error codes (which + * is defined as NGTCP2_ERR_* macro, such as + * :macro:`NGTCP2_ERR_DECRYPT`). In general, error code should be + * propagated via return value, but sometimes ngtcp2 API is called + * inside callback function of TLS stack, and it does not allow to + * return ngtcp2 error code directly. In this case, implementation + * can set the error code (e.g., + * :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM`) using this function. + * + * See also `ngtcp2_conn_get_tls_error`. + */ +NGTCP2_EXTERN void ngtcp2_conn_set_tls_error(ngtcp2_conn *conn, int liberr); + +/** + * @function + * + * `ngtcp2_conn_get_tls_error` returns the value set by + * `ngtcp2_conn_set_tls_error`. If no value is set, this function + * returns 0. + */ +NGTCP2_EXTERN int ngtcp2_conn_get_tls_error(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_tls_alert` sets a TLS alert |alert| generated by a + * TLS stack of a local endpoint to |conn|. + * + * See also `ngtcp2_conn_get_tls_alert`. + */ +NGTCP2_EXTERN void ngtcp2_conn_set_tls_alert(ngtcp2_conn *conn, uint8_t alert); + +/** + * @function + * + * `ngtcp2_conn_get_tls_alert` returns the value set by + * `ngtcp2_conn_set_tls_alert`. If no value is set, this function + * returns 0. + */ +NGTCP2_EXTERN uint8_t ngtcp2_conn_get_tls_alert(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_keep_alive_timeout` sets keep-alive timeout. If + * nonzero value is given, after a connection is idle at least in a + * given amount of time, a keep-alive packet is sent. If UINT64_MAX + * is set, keep-alive functionality is disabled, and this is the + * default. Specifying 0 in |timeout| is reserved for a future + * extension, and for now it is treated as if UINT64_MAX is given. + */ +NGTCP2_EXTERN void ngtcp2_conn_set_keep_alive_timeout(ngtcp2_conn *conn, + ngtcp2_duration timeout); + +/** + * @function + * + * `ngtcp2_conn_get_expiry` returns the next expiry time. It returns + * ``UINT64_MAX`` if there is no next expiry. + * + * Call `ngtcp2_conn_handle_expiry` and then + * `ngtcp2_conn_writev_stream` (or `ngtcp2_conn_writev_datagram`) when + * the expiry time has passed. + */ +NGTCP2_EXTERN ngtcp2_tstamp ngtcp2_conn_get_expiry(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_handle_expiry` handles expired timer. + */ +NGTCP2_EXTERN int ngtcp2_conn_handle_expiry(ngtcp2_conn *conn, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_get_pto` returns Probe Timeout (PTO). + */ +NGTCP2_EXTERN ngtcp2_duration ngtcp2_conn_get_pto(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_decode_and_set_remote_transport_params` decodes QUIC + * transport parameters from the buffer pointed by |data| of length + * |datalen|, and sets the result to |conn|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM` + * The required parameter is missing. + * :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` + * The input is malformed. + * :macro:`NGTCP2_ERR_TRANSPORT_PARAM` + * Failed to validate the remote QUIC transport parameters. + * :macro:`NGTCP2_ERR_VERSION_NEGOTIATION_FAILURE` + * Version negotiation failure. + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * User callback failed + */ +NGTCP2_EXTERN int ngtcp2_conn_decode_and_set_remote_transport_params( + ngtcp2_conn *conn, const uint8_t *data, size_t datalen); + +/** + * @function + * + * `ngtcp2_conn_get_remote_transport_params` returns a pointer to the + * remote QUIC transport parameters. If no remote transport + * parameters are set, it returns NULL. + */ +NGTCP2_EXTERN const ngtcp2_transport_params * +ngtcp2_conn_get_remote_transport_params(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_encode_0rtt_transport_params` encodes the QUIC + * transport parameters that are used for 0-RTT data in the buffer + * pointed by |dest| of length |destlen|. It includes at least the + * following fields: + * + * - :member:`ngtcp2_transport_params.initial_max_streams_bidi` + * - :member:`ngtcp2_transport_params.initial_max_streams_uni` + * - :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_local` + * - :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_remote` + * - :member:`ngtcp2_transport_params.initial_max_stream_data_uni` + * - :member:`ngtcp2_transport_params.initial_max_data` + * - :member:`ngtcp2_transport_params.active_connection_id_limit` + * - :member:`ngtcp2_transport_params.max_datagram_frame_size` + * + * If |conn| is initialized as server, the following additional fields + * are also included: + * + * - :member:`ngtcp2_transport_params.max_idle_timeout` + * - :member:`ngtcp2_transport_params.max_udp_payload_size` + * - :member:`ngtcp2_transport_params.disable_active_migration` + * + * If |conn| is initialized as client, these parameters are + * synthesized from the remote transport parameters received from + * server. Otherwise, it is the local transport parameters that are + * set by the local endpoint. + * + * This function returns the number of bytes written, or one of the + * following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + */ +NGTCP2_EXTERN +ngtcp2_ssize ngtcp2_conn_encode_0rtt_transport_params(ngtcp2_conn *conn, + uint8_t *dest, + size_t destlen); + +/** + * @function + * + * `ngtcp2_conn_decode_and_set_0rtt_transport_params` decodes QUIC + * transport parameters from |data| of length |datalen|, which is + * assumed to be the parameters received from the server in the + * previous connection, and sets it to |conn|. These parameters are + * used to send 0-RTT data. QUIC requires that client application + * should remember transport parameters along with a session ticket. + * + * At least following fields should be included: + * + * - :member:`ngtcp2_transport_params.initial_max_streams_bidi` + * - :member:`ngtcp2_transport_params.initial_max_streams_uni` + * - :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_local` + * - :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_remote` + * - :member:`ngtcp2_transport_params.initial_max_stream_data_uni` + * - :member:`ngtcp2_transport_params.initial_max_data` + * - :member:`ngtcp2_transport_params.active_connection_id_limit` + * - :member:`ngtcp2_transport_params.max_datagram_frame_size` (if + * DATAGRAM extension was negotiated) + * + * This function must only be used by client. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + * :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM` + * The input is malformed. + */ +NGTCP2_EXTERN int ngtcp2_conn_decode_and_set_0rtt_transport_params( + ngtcp2_conn *conn, const uint8_t *data, size_t datalen); + +/** + * @function + * + * `ngtcp2_conn_set_local_transport_params` sets the local transport + * parameters |params|. This function can only be called by server. + * Although the local transport parameters are passed to + * `ngtcp2_conn_server_new`, server might want to update them after + * ALPN is chosen. In that case, server can update the transport + * parameters with this function. Server must call this function + * before calling `ngtcp2_conn_install_tx_handshake_key`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_INVALID_STATE` + * `ngtcp2_conn_install_tx_handshake_key` has been called. + */ +NGTCP2_EXTERN int ngtcp2_conn_set_local_transport_params_versioned( + ngtcp2_conn *conn, int transport_params_version, + const ngtcp2_transport_params *params); + +/** + * @function + * + * `ngtcp2_conn_get_local_transport_params` returns a pointer to the + * local QUIC transport parameters. + */ +NGTCP2_EXTERN const ngtcp2_transport_params * +ngtcp2_conn_get_local_transport_params(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_encode_local_transport_params` encodes the local QUIC + * transport parameters in |dest| of length |destlen|. + * + * This function returns the number of bytes written, or one of the + * following negative error codes: + * + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_encode_local_transport_params( + ngtcp2_conn *conn, uint8_t *dest, size_t destlen); + +/** + * @function + * + * `ngtcp2_conn_open_bidi_stream` opens new bidirectional stream. The + * |stream_user_data| is the user data specific to the stream. The + * stream ID of the opened stream is stored in |*pstream_id|. + * + * Application can call this function before handshake completes. For + * 0-RTT packet, application can call this function after calling + * `ngtcp2_conn_decode_and_set_0rtt_transport_params`. For 1-RTT + * packet, application can call this function after calling + * `ngtcp2_conn_decode_and_set_remote_transport_params` and + * `ngtcp2_conn_install_tx_key`. If ngtcp2 crypto support library is + * used, application can call this function after calling + * `ngtcp2_crypto_derive_and_install_tx_key` for 1-RTT packet. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_STREAM_ID_BLOCKED` + * The remote endpoint does not allow |stream_id| yet. + */ +NGTCP2_EXTERN int ngtcp2_conn_open_bidi_stream(ngtcp2_conn *conn, + int64_t *pstream_id, + void *stream_user_data); + +/** + * @function + * + * `ngtcp2_conn_open_uni_stream` opens new unidirectional stream. The + * |stream_user_data| is the user data specific to the stream. The + * stream ID of the opened stream is stored in |*pstream_id|. + * + * Application can call this function before handshake completes. For + * 0-RTT packet, application can call this function after calling + * `ngtcp2_conn_decode_and_set_0rtt_transport_params`. For 1-RTT + * packet, application can call this function after calling + * `ngtcp2_conn_decode_and_set_remote_transport_params` and + * `ngtcp2_conn_install_tx_key`. If ngtcp2 crypto support library is + * used, application can call this function after calling + * `ngtcp2_crypto_derive_and_install_tx_key` for 1-RTT packet. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_STREAM_ID_BLOCKED` + * The remote endpoint does not allow |stream_id| yet. + */ +NGTCP2_EXTERN int ngtcp2_conn_open_uni_stream(ngtcp2_conn *conn, + int64_t *pstream_id, + void *stream_user_data); + +/** + * @function + * + * `ngtcp2_conn_shutdown_stream` closes a stream denoted by + * |stream_id| abruptly. |app_error_code| is one of application error + * codes, and indicates the reason of shutdown. Successful call of + * this function does not immediately erase the state of the stream. + * The actual deletion is done when the remote endpoint sends + * acknowledgement. Calling this function is equivalent to call + * `ngtcp2_conn_shutdown_stream_read`, and + * `ngtcp2_conn_shutdown_stream_write` sequentially with the following + * differences. If |stream_id| refers to a local unidirectional + * stream, this function only shutdowns write side of the stream. If + * |stream_id| refers to a remote unidirectional stream, this function + * only shutdowns read side of the stream. + * + * |flags| is currently unused, and should be set to 0. + * + * This function returns 0 if a stream denoted by |stream_id| is not + * found. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + */ +NGTCP2_EXTERN int ngtcp2_conn_shutdown_stream(ngtcp2_conn *conn, uint32_t flags, + int64_t stream_id, + uint64_t app_error_code); + +/** + * @function + * + * `ngtcp2_conn_shutdown_stream_write` closes write-side of a stream + * denoted by |stream_id| abruptly. |app_error_code| is one of + * application error codes, and indicates the reason of shutdown. If + * this function succeeds, no further application data is sent to the + * remote endpoint. It discards all data which has not been + * acknowledged yet. + * + * |flags| is currently unused, and should be set to 0. + * + * This function returns 0 if a stream denoted by |stream_id| is not + * found. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * |stream_id| refers to a remote unidirectional stream. + */ +NGTCP2_EXTERN int ngtcp2_conn_shutdown_stream_write(ngtcp2_conn *conn, + uint32_t flags, + int64_t stream_id, + uint64_t app_error_code); + +/** + * @function + * + * `ngtcp2_conn_shutdown_stream_read` closes read-side of a stream + * denoted by |stream_id| abruptly. |app_error_code| is one of + * application error codes, and indicates the reason of shutdown. If + * this function succeeds, no further application data is forwarded to + * an application layer. + * + * |flags| is currently unused, and should be set to 0. + * + * This function returns 0 if a stream denoted by |stream_id| is not + * found. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * |stream_id| refers to a local unidirectional stream. + */ +NGTCP2_EXTERN int ngtcp2_conn_shutdown_stream_read(ngtcp2_conn *conn, + uint32_t flags, + int64_t stream_id, + uint64_t app_error_code); + +/** + * @macrosection + * + * Write stream data flags + */ + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_STREAM_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_WRITE_STREAM_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE` indicates that more data may + * come, and should be coalesced into the same packet if possible. + */ +#define NGTCP2_WRITE_STREAM_FLAG_MORE 0x01u + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_STREAM_FLAG_FIN` indicates that a passed data + * is the final part of a stream. + */ +#define NGTCP2_WRITE_STREAM_FLAG_FIN 0x02u + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_STREAM_FLAG_PADDING` indicates that a + * non-empty 0 RTT or 1 RTT ack-eliciting packet is padded to the + * minimum length of a sending path MTU or a given packet buffer when + * finalizing it. PATH_CHALLENGE, PATH_RESPONSE, CONNECTION_CLOSE + * only packets and PMTUD packets are excluded. + */ +#define NGTCP2_WRITE_STREAM_FLAG_PADDING 0x04u + +/** + * @function + * + * `ngtcp2_conn_write_stream` is just like + * `ngtcp2_conn_writev_stream`. The only difference is that it + * conveniently accepts a single buffer. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_stream_versioned( + ngtcp2_conn *conn, ngtcp2_path *path, int pkt_info_version, + ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen, ngtcp2_ssize *pdatalen, + uint32_t flags, int64_t stream_id, const uint8_t *data, size_t datalen, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_writev_stream` writes a packet containing stream data + * of a stream denoted by |stream_id|. The buffer of the packet is + * pointed by |dest| of length |destlen|. This function performs QUIC + * handshake as well. + * + * |destlen| should be at least + * :member:`ngtcp2_settings.max_tx_udp_payload_size`. It must be at + * least :macro:`NGTCP2_MAX_UDP_PAYLOAD_SIZE`. + * + * Specifying -1 to |stream_id| means no new stream data to send. + * + * If |path| is not ``NULL``, this function stores the network path + * with which the packet should be sent. Each addr field + * (:member:`ngtcp2_path.local` and :member:`ngtcp2_path.remote`) must + * point to the buffer which should be at least + * sizeof(:type:`sockaddr_union`) bytes long. The assignment might + * not be done if nothing is written to |dest|. + * + * If |pi| is not ``NULL``, this function stores packet metadata in it + * if it succeeds. The metadata includes ECN markings. When calling + * this function again after it returns + * :macro:`NGTCP2_ERR_WRITE_MORE`, caller must pass the same |pi| to + * this function. + * + * Stream data is specified as vector of data |datav|. |datavcnt| + * specifies the number of :type:`ngtcp2_vec` that |datav| includes. + * + * If all given data is encoded as STREAM frame in |dest|, and if + * |flags| & :macro:`NGTCP2_WRITE_STREAM_FLAG_FIN` is nonzero, fin + * flag is set to outgoing STREAM frame. Otherwise, fin flag in + * STREAM frame is not set. + * + * This packet may contain frames other than STREAM frame. The packet + * might not contain STREAM frame if other frames occupy the packet. + * In that case, |*pdatalen| would be -1 if |pdatalen| is not + * ``NULL``. + * + * Empty data is treated specially, and it is only accepted if no + * data, including the empty data, is submitted to a stream or + * :macro:`NGTCP2_WRITE_STREAM_FLAG_FIN` is set in |flags|. If 0 + * length STREAM frame is successfully serialized, |*pdatalen| would + * be 0. + * + * The number of data encoded in STREAM frame is stored in |*pdatalen| + * if it is not ``NULL``. The caller must keep the portion of data + * covered by |*pdatalen| bytes in tact until + * :member:`ngtcp2_callbacks.acked_stream_data_offset` indicates that + * they are acknowledged by a remote endpoint or the stream is closed. + * + * If the given stream data is small (e.g., few bytes), the packet + * might be severely under filled. Too many small packet might + * increase overall packet processing costs. Unless there are + * retransmissions, by default, application can only send 1 STREAM + * frame in one QUIC packet. In order to include more than 1 STREAM + * frame in one QUIC packet, specify + * :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE` in |flags|. This is + * analogous to ``MSG_MORE`` flag in :manpage:`send(2)`. If the + * :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE` is used, there are 4 + * outcomes: + * + * - The function returns the written length of packet just like + * without :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE`. This is because + * packet is nearly full, and the library decided to make a complete + * packet. |*pdatalen| might be -1 or >= 0. It may return 0 which + * indicates that no packet transmission is possible at the moment + * for some reason. + * + * - The function returns :macro:`NGTCP2_ERR_WRITE_MORE`. In this + * case, |*pdatalen| >= 0 is asserted. It indicates that + * application can still call this function with different stream + * data (or `ngtcp2_conn_writev_datagram` if it has data to send in + * unreliable datagram) to pack them into the same packet. + * Application has to specify the same |conn|, |path|, |pi|, |dest|, + * |destlen|, and |ts| parameters, otherwise the behaviour is + * undefined. The application can change |flags|. + * + * - The function returns one of the following negative error codes: + * :macro:`NGTCP2_ERR_STREAM_DATA_BLOCKED`, + * :macro:`NGTCP2_ERR_STREAM_NOT_FOUND`, or + * :macro:`NGTCP2_ERR_STREAM_SHUT_WR`. In this case, |*pdatalen| == + * -1 is asserted. Application can still write the stream data of + * the other streams by calling this function (or + * `ngtcp2_conn_writev_datagram` if it has data to send in + * unreliable datagram) to pack them into the same packet. + * Application has to specify the same |conn|, |path|, |pi|, |dest|, + * |destlen|, and |ts| parameters, otherwise the behaviour is + * undefined. The application can change |flags|. + * + * - The other negative error codes might be returned just like + * without :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE`. These errors + * should be treated as a connection error. + * + * When application uses :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE` at + * least once, it must not call other ngtcp2 API functions + * (application can still call `ngtcp2_conn_write_connection_close` to + * handle error from this function. It can also call + * `ngtcp2_conn_shutdown_stream_read`, + * `ngtcp2_conn_shutdown_stream_write`, and + * `ngtcp2_conn_shutdown_stream`), just keep calling this function (or + * `ngtcp2_conn_writev_datagram`) until it returns 0, a positive + * number (which indicates a complete packet is ready), or the error + * codes other than :macro:`NGTCP2_ERR_WRITE_MORE`, + * :macro:`NGTCP2_ERR_STREAM_DATA_BLOCKED`, + * :macro:`NGTCP2_ERR_STREAM_NOT_FOUND`, and + * :macro:`NGTCP2_ERR_STREAM_SHUT_WR`. If there is no stream data to + * include, call this function with |stream_id| as -1 to stop + * coalescing and write a packet. + * + * If :macro:`NGTCP2_WRITE_STREAM_FLAG_PADDING` is set in |flags| when + * finalizing a non-empty 0 RTT or 1 RTT ack-eliciting packet, the + * packet is padded to the minimum length of a sending path MTU or a + * given packet buffer. + * + * This function returns 0 if it cannot write any frame because buffer + * is too small, or packet is congestion limited. Application should + * keep reading and wait for congestion window to grow. + * + * This function must not be called from inside the callback + * functions. + * + * `ngtcp2_conn_update_pkt_tx_time` must be called after this + * function. Application may call this function multiple times before + * calling `ngtcp2_conn_update_pkt_tx_time`. + * + * This function returns the number of bytes written in |dest| if it + * succeeds, or one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_STREAM_NOT_FOUND` + * Stream does not exist + * :macro:`NGTCP2_ERR_STREAM_SHUT_WR` + * Stream is half closed (local); or stream is being reset. + * :macro:`NGTCP2_ERR_PKT_NUM_EXHAUSTED` + * Packet number is exhausted, and cannot send any more packet. + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * User callback failed + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * The total length of stream data is too large. + * :macro:`NGTCP2_ERR_STREAM_DATA_BLOCKED` + * Stream is blocked because of flow control. + * :macro:`NGTCP2_ERR_WRITE_MORE` + * (Only when :macro:`NGTCP2_WRITE_STREAM_FLAG_MORE` is specified) + * Application can call this function to pack more stream data + * into the same packet. See above to know how it works. + * + * If any other negative error is returned, call + * `ngtcp2_conn_write_connection_close` to get terminal packet, and + * sending it makes QUIC connection enter the closing state. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_writev_stream_versioned( + ngtcp2_conn *conn, ngtcp2_path *path, int pkt_info_version, + ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen, ngtcp2_ssize *pdatalen, + uint32_t flags, int64_t stream_id, const ngtcp2_vec *datav, size_t datavcnt, + ngtcp2_tstamp ts); + +/** + * @macrosection + * + * Write datagram flags + */ + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_NONE` indicates no flag set. + */ +#define NGTCP2_WRITE_DATAGRAM_FLAG_NONE 0x00u + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_MORE` indicates that more data + * may come, and should be coalesced into the same packet if possible. + */ +#define NGTCP2_WRITE_DATAGRAM_FLAG_MORE 0x01u + +/** + * @macro + * + * :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_PADDING` indicates that a + * non-empty 0 RTT or 1 RTT ack-eliciting packet is padded to the + * minimum length of a sending path MTU or a given packet buffer when + * finalizing it. PATH_CHALLENGE, PATH_RESPONSE, CONNECTION_CLOSE + * only packets and PMTUD packets are excluded. + */ +#define NGTCP2_WRITE_DATAGRAM_FLAG_PADDING 0x02u + +/** + * @function + * + * `ngtcp2_conn_write_datagram` is just like + * `ngtcp2_conn_writev_datagram`. The only difference is that it + * conveniently accepts a single buffer. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_datagram_versioned( + ngtcp2_conn *conn, ngtcp2_path *path, int pkt_info_version, + ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen, int *paccepted, + uint32_t flags, uint64_t dgram_id, const uint8_t *data, size_t datalen, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_writev_datagram` writes a packet containing unreliable + * data in DATAGRAM frame. The buffer of the packet is pointed by + * |dest| of length |destlen|. This function performs QUIC handshake + * as well. + * + * |destlen| should be at least + * :member:`ngtcp2_settings.max_tx_udp_payload_size`. It must be at + * least :macro:`NGTCP2_MAX_UDP_PAYLOAD_SIZE`. + * + * For |path| and |pi| parameters, refer to + * `ngtcp2_conn_writev_stream`. + * + * Stream data is specified as vector of data |datav|. |datavcnt| + * specifies the number of :type:`ngtcp2_vec` that |datav| includes. + * + * If the given data is written to the buffer, nonzero value is + * assigned to |*paccepted| if it is not NULL. The data in DATAGRAM + * frame cannot be fragmented; writing partial data is not possible. + * + * |dgram_id| is an opaque identifier which should uniquely identify + * the given DATAGRAM data. It is passed to + * :member:`ngtcp2_callbacks.ack_datagram` callback when a packet that + * contains DATAGRAM frame is acknowledged. It is also passed to + * :member:`ngtcp2_callbacks.lost_datagram` callback when a packet + * that contains DATAGRAM frame is declared lost. If an application + * uses neither of those callbacks, it can sets 0 to this parameter. + * + * This function might write other frames other than DATAGRAM frame, + * just like `ngtcp2_conn_writev_stream`. + * + * If the function returns 0, it means that no more data cannot be + * sent because of congestion control limit; or, data does not fit + * into the provided buffer; or, a local endpoint, as a server, is + * unable to send data because of its amplification limit. In this + * case, |*paccepted| is assigned zero if it is not NULL. + * + * If :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_MORE` is set in |flags|, + * there are 3 outcomes: + * + * - The function returns the written length of packet just like + * without :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_MORE`. This is + * because packet is nearly full and the library decided to make a + * complete packet. |*paccepted| might be zero or nonzero. + * + * - The function returns :macro:`NGTCP2_ERR_WRITE_MORE`. In this + * case, |*paccepted| != 0 is asserted. This indicates that + * application can call this function with another unreliable data + * (or `ngtcp2_conn_writev_stream` if it has stream data to send) to + * pack them into the same packet. Application has to specify the + * same |conn|, |path|, |pi|, |dest|, |destlen|, and |ts| + * parameters, otherwise the behaviour is undefined. The + * application can change |flags|. + * + * - The other error might be returned just like without + * :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_MORE`. + * + * When application sees :macro:`NGTCP2_ERR_WRITE_MORE`, it must not + * call other ngtcp2 API functions (application can still call + * `ngtcp2_conn_write_connection_close` to handle error from this + * function. It can also call `ngtcp2_conn_shutdown_stream_read`, + * `ngtcp2_conn_shutdown_stream_write`, and + * `ngtcp2_conn_shutdown_stream`). Just keep calling this function + * (or `ngtcp2_conn_writev_stream`) until it returns a positive number + * (which indicates a complete packet is ready). + * + * If :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_PADDING` is set in |flags| + * when finalizing a non-empty 0 RTT or 1 RTT ack-eliciting packet, + * the packet is padded to the minimum length of a sending path MTU or + * a given packet buffer. + * + * This function returns the number of bytes written in |dest| if it + * succeeds, or one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_PKT_NUM_EXHAUSTED` + * Packet number is exhausted, and cannot send any more packet. + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * User callback failed + * :macro:`NGTCP2_ERR_WRITE_MORE` + * (Only when :macro:`NGTCP2_WRITE_DATAGRAM_FLAG_MORE` is + * specified) Application can call this function to pack more data + * into the same packet. See above to know how it works. + * :macro:`NGTCP2_ERR_INVALID_STATE` + * A remote endpoint did not express the DATAGRAM frame support. + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * The provisional DATAGRAM frame size exceeds the maximum + * DATAGRAM frame size that a remote endpoint can receive. + * + * If any other negative error is returned, call + * `ngtcp2_conn_write_connection_close` to get terminal packet, and + * sending it makes QUIC connection enter the closing state. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_writev_datagram_versioned( + ngtcp2_conn *conn, ngtcp2_path *path, int pkt_info_version, + ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen, int *paccepted, + uint32_t flags, uint64_t dgram_id, const ngtcp2_vec *datav, size_t datavcnt, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_in_closing_period` returns nonzero if |conn| is in the + * closing period. + */ +NGTCP2_EXTERN int ngtcp2_conn_in_closing_period(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_in_draining_period` returns nonzero if |conn| is in + * the draining period. + */ +NGTCP2_EXTERN int ngtcp2_conn_in_draining_period(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_extend_max_stream_offset` extends the maximum stream + * data that a remote endpoint can send by |datalen|. |stream_id| + * specifies the stream ID. This function only extends stream-level + * flow control window. + * + * This function returns 0 if a stream denoted by |stream_id| is not + * found. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * |stream_id| refers to a local unidirectional stream. + */ +NGTCP2_EXTERN int ngtcp2_conn_extend_max_stream_offset(ngtcp2_conn *conn, + int64_t stream_id, + uint64_t datalen); + +/** + * @function + * + * `ngtcp2_conn_extend_max_offset` extends max data offset by + * |datalen|. This function only extends connection-level flow + * control window. + */ +NGTCP2_EXTERN void ngtcp2_conn_extend_max_offset(ngtcp2_conn *conn, + uint64_t datalen); + +/** + * @function + * + * `ngtcp2_conn_extend_max_streams_bidi` extends the number of maximum + * remote bidirectional streams that a remote endpoint can open by + * |n|. + * + * The library does not increase maximum stream limit automatically. + * The exception is when a stream is closed without + * :member:`ngtcp2_callbacks.stream_open` callback being called. In + * this case, stream limit is increased automatically. + */ +NGTCP2_EXTERN void ngtcp2_conn_extend_max_streams_bidi(ngtcp2_conn *conn, + size_t n); + +/** + * @function + * + * `ngtcp2_conn_extend_max_streams_uni` extends the number of maximum + * remote unidirectional streams that a remote endpoint can open by + * |n|. + * + * The library does not increase maximum stream limit automatically. + * The exception is when a stream is closed without + * :member:`ngtcp2_callbacks.stream_open` callback being called. In + * this case, stream limit is increased automatically. + */ +NGTCP2_EXTERN void ngtcp2_conn_extend_max_streams_uni(ngtcp2_conn *conn, + size_t n); + +/** + * @function + * + * `ngtcp2_conn_get_dcid` returns the non-NULL pointer to the current + * Destination Connection ID. If no Destination Connection ID is + * present, the return value is not ``NULL``, and its :member:`datalen + * ` field is 0. + */ +NGTCP2_EXTERN const ngtcp2_cid *ngtcp2_conn_get_dcid(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_client_initial_dcid` returns the non-NULL pointer + * to the Destination Connection ID that client sent in its Initial + * packet. If the Destination Connection ID is not present, the + * return value is not ``NULL``, and its :member:`datalen + * ` field is 0. + */ +NGTCP2_EXTERN const ngtcp2_cid * +ngtcp2_conn_get_client_initial_dcid(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_scid` writes the all Source Connection IDs which a + * local endpoint has provided to a remote endpoint, and are not + * retired in |dest|. If |dest| is NULL, this function does not write + * anything, and returns the number of Source Connection IDs that + * would otherwise be written to the provided buffer. The buffer + * pointed by |dest| must have sizeof(:type:`ngtcp2_cid`) * n bytes + * available, where n is the return value of `ngtcp2_conn_get_scid` + * with |dest| == NULL. + */ +NGTCP2_EXTERN size_t ngtcp2_conn_get_scid(ngtcp2_conn *conn, ngtcp2_cid *dest); + +/** + * @struct + * + * :type:`ngtcp2_cid_token` is the convenient struct to store + * Connection ID, its associated path, and stateless reset token. + */ +typedef struct ngtcp2_cid_token { + /** + * :member:`seq` is the sequence number of this Connection ID. + */ + uint64_t seq; + /** + * :member:`cid` is Connection ID. + */ + ngtcp2_cid cid; + /** + * :member:`ps` is the path which this Connection ID is associated + * with. + */ + ngtcp2_path_storage ps; + /** + * :member:`token` is the stateless reset token for this Connection + * ID. + */ + uint8_t token[NGTCP2_STATELESS_RESET_TOKENLEN]; + /** + * :member:`token_present` is nonzero if token contains stateless + * reset token. + */ + uint8_t token_present; +} ngtcp2_cid_token; + +/** + * @function + * + * `ngtcp2_conn_get_active_dcid` writes the all active Destination + * Connection IDs and their tokens to |dest|. Before handshake + * completes, this function returns 0. If |dest| is NULL, this + * function does not write anything, and returns the number of + * Destination Connection IDs that would otherwise be written to the + * provided buffer. The buffer pointed by |dest| must have + * sizeof(:type:`ngtcp2_cid_token`) * n bytes available, where n is + * the return value of `ngtcp2_conn_get_active_dcid` with |dest| == + * NULL. + */ +NGTCP2_EXTERN size_t ngtcp2_conn_get_active_dcid(ngtcp2_conn *conn, + ngtcp2_cid_token *dest); + +/** + * @function + * + * `ngtcp2_conn_get_client_chosen_version` returns the client chosen + * version. + */ +NGTCP2_EXTERN uint32_t ngtcp2_conn_get_client_chosen_version(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_negotiated_version` returns the negotiated + * version. + * + * Until the version is negotiated, this function returns 0. + */ +NGTCP2_EXTERN uint32_t ngtcp2_conn_get_negotiated_version(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_tls_early_data_rejected` tells |conn| that early data + * was rejected by a server during TLS handshake, or client decided + * not to attempt early data for some reason. |conn| discards the + * following connection states: + * + * - Any opened streams. + * - Stream identifier allocations. + * - Max data extended by `ngtcp2_conn_extend_max_offset`. + * - Max bidi streams extended by `ngtcp2_conn_extend_max_streams_bidi`. + * - Max uni streams extended by `ngtcp2_conn_extend_max_streams_uni`. + * + * Application which wishes to retransmit early data, it has to open + * streams, and send stream data again. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * User callback failed + */ +NGTCP2_EXTERN int ngtcp2_conn_tls_early_data_rejected(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_tls_early_data_rejected` returns nonzero if + * `ngtcp2_conn_tls_early_data_rejected` has been called. + */ +NGTCP2_EXTERN int ngtcp2_conn_get_tls_early_data_rejected(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_conn_info` assigns connection statistics data to + * |*cinfo|. + */ +NGTCP2_EXTERN void ngtcp2_conn_get_conn_info_versioned(ngtcp2_conn *conn, + int conn_info_version, + ngtcp2_conn_info *cinfo); + +/** + * @function + * + * `ngtcp2_conn_submit_crypto_data` submits crypto data |data| of + * length |datalen| to the library for transmission. + * |encryption_level| specifies the encryption level of data. + * + * The library makes a copy of the buffer pointed by |data| of length + * |datalen|. Application can discard |data|. + */ +NGTCP2_EXTERN int +ngtcp2_conn_submit_crypto_data(ngtcp2_conn *conn, + ngtcp2_encryption_level encryption_level, + const uint8_t *data, const size_t datalen); + +/** + * @function + * + * `ngtcp2_conn_submit_new_token` submits address validation token. + * It is sent in NEW_TOKEN frame. Only server can call this function. + * |tokenlen| must not be 0. + * + * This function makes a copy of the buffer pointed by |token| of + * length |tokenlen|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory. + */ +NGTCP2_EXTERN int ngtcp2_conn_submit_new_token(ngtcp2_conn *conn, + const uint8_t *token, + size_t tokenlen); + +/** + * @function + * + * `ngtcp2_conn_set_local_addr` sets local endpoint address |addr| to + * the current path of |conn|. This function is provided for testing + * purpose only. + */ +NGTCP2_EXTERN void ngtcp2_conn_set_local_addr(ngtcp2_conn *conn, + const ngtcp2_addr *addr); + +/** + * @function + * + * `ngtcp2_conn_set_path_user_data` sets the |path_user_data| to the + * current path (see :member:`ngtcp2_path.user_data`). + */ +NGTCP2_EXTERN void ngtcp2_conn_set_path_user_data(ngtcp2_conn *conn, + void *path_user_data); + +/** + * @function + * + * `ngtcp2_conn_get_path` returns the current path. + */ +NGTCP2_EXTERN const ngtcp2_path *ngtcp2_conn_get_path(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_max_tx_udp_payload_size` returns the maximum UDP + * payload size that this local endpoint would send. This is the + * value of :member:`ngtcp2_settings.max_tx_udp_payload_size` that is + * passed to `ngtcp2_conn_client_new` or `ngtcp2_conn_server_new`. + */ +NGTCP2_EXTERN size_t ngtcp2_conn_get_max_tx_udp_payload_size(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_path_max_tx_udp_payload_size` returns the maximum + * UDP payload size for the current path. If + * :member:`ngtcp2_settings.no_tx_udp_payload_size_shaping` is set to + * nonzero, this function is equivalent to + * `ngtcp2_conn_get_max_tx_udp_payload_size`. Otherwise, it returns + * the maximum UDP payload size that is probed for the current path. + */ +NGTCP2_EXTERN size_t +ngtcp2_conn_get_path_max_tx_udp_payload_size(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_initiate_immediate_migration` starts connection + * migration to the given |path|. Only client can initiate migration. + * This function does immediate migration; while the path validation + * is nonetheless performed, this function does not wait for it to + * succeed. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_INVALID_STATE` + * Migration is disabled; or handshake is not yet confirmed; or + * client is migrating to server's preferred address. + * :macro:`NGTCP2_ERR_CONN_ID_BLOCKED` + * No unused connection ID is available. + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * :member:`local ` field of |path| equals the + * current local address. + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + */ +NGTCP2_EXTERN int ngtcp2_conn_initiate_immediate_migration( + ngtcp2_conn *conn, const ngtcp2_path *path, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_initiate_migration` starts connection migration to the + * given |path|. Only client can initiate migration. Unlike + * `ngtcp2_conn_initiate_immediate_migration`, this function starts a + * path validation with a new path, and migrate to the new path after + * successful path validation. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_INVALID_STATE` + * Migration is disabled; or handshake is not yet confirmed; or + * client is migrating to server's preferred address. + * :macro:`NGTCP2_ERR_CONN_ID_BLOCKED` + * No unused connection ID is available. + * :macro:`NGTCP2_ERR_INVALID_ARGUMENT` + * :member:`local ` field of |path| equals the + * current local address. + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + */ +NGTCP2_EXTERN int ngtcp2_conn_initiate_migration(ngtcp2_conn *conn, + const ngtcp2_path *path, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_get_max_data_left` returns the number of bytes that + * this local endpoint can send in this connection without violating + * connection-level flow control. + */ +NGTCP2_EXTERN uint64_t ngtcp2_conn_get_max_data_left(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_max_stream_data_left` returns the number of bytes + * that this local endpoint can send to a stream identified by + * |stream_id| without violating stream-level flow control. If no + * such stream is found, this function returns 0. + */ +NGTCP2_EXTERN uint64_t ngtcp2_conn_get_max_stream_data_left(ngtcp2_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `ngtcp2_conn_get_streams_bidi_left` returns the number of + * bidirectional streams which the local endpoint can open without + * violating stream concurrency limit. + */ +NGTCP2_EXTERN uint64_t ngtcp2_conn_get_streams_bidi_left(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_streams_uni_left` returns the number of + * unidirectional streams which the local endpoint can open without + * violating stream concurrency limit. + */ +NGTCP2_EXTERN uint64_t ngtcp2_conn_get_streams_uni_left(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_cwnd_left` returns the cwnd minus the number of + * bytes in flight on the current path. If the former is smaller than + * the latter, this function returns 0. + */ +NGTCP2_EXTERN uint64_t ngtcp2_conn_get_cwnd_left(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_initial_crypto_ctx` sets |ctx| for Initial packet + * encryption. The passed data will be passed to + * :type:`ngtcp2_encrypt`, :type:`ngtcp2_decrypt` and + * :type:`ngtcp2_hp_mask` callbacks. + */ +NGTCP2_EXTERN void +ngtcp2_conn_set_initial_crypto_ctx(ngtcp2_conn *conn, + const ngtcp2_crypto_ctx *ctx); + +/** + * @function + * + * `ngtcp2_conn_get_initial_crypto_ctx` returns + * :type:`ngtcp2_crypto_ctx` object for Initial packet encryption. + */ +NGTCP2_EXTERN const ngtcp2_crypto_ctx * +ngtcp2_conn_get_initial_crypto_ctx(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_crypto_ctx` sets |ctx| for Handshake/1-RTT packet + * encryption. The passed data will be passed to + * :type:`ngtcp2_encrypt`, :type:`ngtcp2_decrypt` and + * :type:`ngtcp2_hp_mask` callbacks. + */ +NGTCP2_EXTERN void ngtcp2_conn_set_crypto_ctx(ngtcp2_conn *conn, + const ngtcp2_crypto_ctx *ctx); + +/** + * @function + * + * `ngtcp2_conn_get_crypto_ctx` returns :type:`ngtcp2_crypto_ctx` + * object for Handshake/1-RTT packet encryption. + */ +NGTCP2_EXTERN const ngtcp2_crypto_ctx * +ngtcp2_conn_get_crypto_ctx(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_0rtt_crypto_ctx` sets |ctx| for 0-RTT packet + * encryption. The passed data will be passed to + * :type:`ngtcp2_encrypt`, :type:`ngtcp2_decrypt` and + * :type:`ngtcp2_hp_mask` callbacks. + */ +NGTCP2_EXTERN void +ngtcp2_conn_set_0rtt_crypto_ctx(ngtcp2_conn *conn, + const ngtcp2_crypto_ctx *ctx); + +/** + * @function + * + * `ngtcp2_conn_get_0rtt_crypto_ctx` returns :type:`ngtcp2_crypto_ctx` + * object for 0-RTT packet encryption. + */ +NGTCP2_EXTERN const ngtcp2_crypto_ctx * +ngtcp2_conn_get_0rtt_crypto_ctx(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_tls_native_handle` returns TLS native handle set + * by `ngtcp2_conn_set_tls_native_handle`. + */ +NGTCP2_EXTERN void *ngtcp2_conn_get_tls_native_handle(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_tls_native_handle` sets TLS native handle + * |tls_native_handle| to |conn|. Internally, it is used as an opaque + * pointer. + */ +NGTCP2_EXTERN void ngtcp2_conn_set_tls_native_handle(ngtcp2_conn *conn, + void *tls_native_handle); + +/** + * @function + * + * `ngtcp2_conn_set_retry_aead` sets |aead| and |aead_ctx| for Retry + * integrity tag verification. |aead| must be AEAD_AES_128_GCM. + * |aead_ctx| must be initialized with :macro:`NGTCP2_RETRY_KEY` as + * encryption key. This function must be called if |conn| is + * initialized as client. Server does not verify the tag, and has no + * need to call this function. + * + * |conn| takes ownership of |aead_ctx|. + * :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` will be called to + * delete this object when it is no longer used. + */ +NGTCP2_EXTERN void +ngtcp2_conn_set_retry_aead(ngtcp2_conn *conn, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx); + +/** + * @enum + * + * :type:`ngtcp2_ccerr_type` defines connection error type. + */ +typedef enum ngtcp2_ccerr_type { + /** + * :enum:`NGTCP2_CCERR_TYPE_TRANSPORT` indicates the QUIC transport + * error, and the error code is QUIC transport error code. + */ + NGTCP2_CCERR_TYPE_TRANSPORT, + /** + * :enum:`NGTCP2_CCERR_TYPE_APPLICATION` indicates an application + * error, and the error code is application error code. + */ + NGTCP2_CCERR_TYPE_APPLICATION, + /** + * :enum:`NGTCP2_CCERR_TYPE_VERSION_NEGOTIATION` is a special case + * of QUIC transport error, and it indicates that client receives + * Version Negotiation packet. + */ + NGTCP2_CCERR_TYPE_VERSION_NEGOTIATION, + /** + * :enum:`NGTCP2_CCERR_TYPE_IDLE_CLOSE` is a special case of QUIC + * transport error, and it indicates that connection is closed + * because of idle timeout. + */ + NGTCP2_CCERR_TYPE_IDLE_CLOSE, + /** + * :enum:`NGTCP2_CCERR_TYPE_DROP_CONN` is a special case of QUIC + * transport error, and it indicates that connection should be + * dropped without sending a CONNECTION_CLOSE frame. + */ + NGTCP2_CCERR_TYPE_DROP_CONN, + /** + * :enum:`NGTCP2_CCERR_TYPE_RETRY` is a special case of QUIC + * transport error, and it indicates that RETRY packet should be + * sent to a client. + */ + NGTCP2_CCERR_TYPE_RETRY +} ngtcp2_ccerr_type; + +/** + * @struct + * + * :type:`ngtcp2_ccerr` contains connection error code, its type, a + * frame type that caused this error, and the optional reason phrase. + */ +typedef struct ngtcp2_ccerr { + /** + * :member:`type` is the type of this error. + */ + ngtcp2_ccerr_type type; + /** + * :member:`error_code` is the error code for connection closure. + * Its interpretation depends on :member:`type`. + */ + uint64_t error_code; + /** + * :member:`frame_type` is the type of QUIC frame which triggers + * this connection error. This field is set to 0 if the frame type + * is unknown. + */ + uint64_t frame_type; + /** + * :member:`reason` points to the buffer which contains a reason + * phrase. It may be NULL if there is no reason phrase. If it is + * received from a remote endpoint, it is truncated to at most 1024 + * bytes. + */ + const uint8_t *reason; + /** + * :member:`reasonlen` is the length of data pointed by + * :member:`reason`. + */ + size_t reasonlen; +} ngtcp2_ccerr; + +/** + * @function + * + * `ngtcp2_ccerr_default` initializes |ccerr| with the default values. + * It sets the following fields: + * + * - :member:`type ` = + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_TRANSPORT` + * - :member:`error_code ` = + * :macro:`NGTCP2_NO_ERROR`. + * - :member:`frame_type ` = 0 + * - :member:`reason ` = NULL + * - :member:`reasonlen ` = 0 + */ +NGTCP2_EXTERN void ngtcp2_ccerr_default(ngtcp2_ccerr *ccerr); + +/** + * @function + * + * `ngtcp2_ccerr_set_transport_error` sets :member:`ccerr->type + * ` to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_TRANSPORT`, and + * :member:`ccerr->error_code ` to + * |error_code|. |reason| is the reason phrase of length |reasonlen|. + * This function does not make a copy of the reason phrase. + */ +NGTCP2_EXTERN void ngtcp2_ccerr_set_transport_error(ngtcp2_ccerr *ccerr, + uint64_t error_code, + const uint8_t *reason, + size_t reasonlen); + +/** + * @function + * + * `ngtcp2_ccerr_set_liberr` sets type and error_code based on + * |liberr|. + * + * |reason| is the reason phrase of length |reasonlen|. This function + * does not make a copy of the reason phrase. + * + * If |liberr| is :macro:`NGTCP2_ERR_RECV_VERSION_NEGOTIATION`, + * :member:`ccerr->type ` is set to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_VERSION_NEGOTIATION`, + * and :member:`ccerr->error_code ` to + * :macro:`NGTCP2_NO_ERROR`. + * + * If |liberr| is :macro:`NGTCP2_ERR_IDLE_CLOSE`, :member:`ccerr->type + * ` is set to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_IDLE_CLOSE`, and + * :member:`ccerr->error_code ` to + * :macro:`NGTCP2_NO_ERROR`. + * + * If |liberr| is :macro:`NGTCP2_ERR_DROP_CONN`, :member:`ccerr->type + * ` is set to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_DROP_CONN`, and + * :member:`ccerr->error_code ` to + * :macro:`NGTCP2_NO_ERROR`. + * + * If |liberr| is :macro:`NGTCP2_ERR_RETRY`, :member:`ccerr->type + * ` is set to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_RETRY`, and + * :member:`ccerr->error_type ` to + * :macro:`NGTCP2_NO_ERROR`. + * + * Otherwise, :member:`ccerr->type ` is set to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_TRANSPORT`, and + * :member:`ccerr->error_code ` is set to an + * error code inferred by |liberr| (see + * `ngtcp2_err_infer_quic_transport_error_code`). + */ +NGTCP2_EXTERN void ngtcp2_ccerr_set_liberr(ngtcp2_ccerr *ccerr, int liberr, + const uint8_t *reason, + size_t reasonlen); + +/** + * @function + * + * `ngtcp2_ccerr_set_tls_alert` sets :member:`ccerr->type + * ` to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_TRANSPORT`, and + * :member:`ccerr->error_code ` to bitwise-OR + * of :macro:`NGTCP2_CRYPTO_ERROR` and |tls_alert|. |reason| is the + * reason phrase of length |reasonlen|. This function does not make a + * copy of the reason phrase. + */ +NGTCP2_EXTERN void ngtcp2_ccerr_set_tls_alert(ngtcp2_ccerr *ccerr, + uint8_t tls_alert, + const uint8_t *reason, + size_t reasonlen); + +/** + * @function + * + * `ngtcp2_ccerr_set_application_error` sets :member:`ccerr->type + * ` to + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_APPLICATION`, and + * :member:`ccerr->error_code ` to + * |error_code|. |reason| is the reason phrase of length |reasonlen|. + * This function does not make a copy of the reason phrase. + */ +NGTCP2_EXTERN void ngtcp2_ccerr_set_application_error(ngtcp2_ccerr *ccerr, + uint64_t error_code, + const uint8_t *reason, + size_t reasonlen); + +/** + * @function + * + * `ngtcp2_conn_write_connection_close` writes a packet which contains + * CONNECTION_CLOSE frame(s) (type 0x1c or 0x1d) in the buffer pointed + * by |dest| whose capacity is |destlen|. + * + * For client, |destlen| should be at least + * :macro:`NGTCP2_MAX_UDP_PAYLOAD_SIZE`. + * + * If |path| is not ``NULL``, this function stores the network path + * with which the packet should be sent. Each addr field must point + * to the buffer which should be at least + * sizeof(:type:`ngtcp2_sockaddr_union`) bytes long. The assignment + * might not be done if nothing is written to |dest|. + * + * If |pi| is not ``NULL``, this function stores packet metadata in it + * if it succeeds. The metadata includes ECN markings. + * + * If :member:`ccerr->type ` == + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_TRANSPORT`, this + * function sends CONNECTION_CLOSE (type 0x1c) frame. If + * :member:`ccerr->type ` == + * :enum:`ngtcp2_ccerr_type.NGTCP2_CCERR_TYPE_APPLICATION`, it sends + * CONNECTION_CLOSE (type 0x1d) frame. Otherwise, it does not produce + * any data, and returns 0. + * + * |destlen| could be shorten by some factors (e.g., server side + * amplification limit). This function returns + * :macro:`NGTCP2_ERR_NOBUF` if the resulting buffer is too small even + * if the given buffer has enough space. + * + * This function must not be called from inside the callback + * functions. + * + * At the moment, successful call to this function makes connection + * close. We may change this behaviour in the future to allow + * graceful shutdown. + * + * This function returns the number of bytes written in |dest| if it + * succeeds, or one of the following negative error codes: + * + * :macro:`NGTCP2_ERR_NOMEM` + * Out of memory + * :macro:`NGTCP2_ERR_NOBUF` + * Buffer is too small + * :macro:`NGTCP2_ERR_INVALID_STATE` + * The current state does not allow sending CONNECTION_CLOSE + * frame. + * :macro:`NGTCP2_ERR_PKT_NUM_EXHAUSTED` + * Packet number is exhausted, and cannot send any more packet. + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE` + * User callback failed + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_connection_close_versioned( + ngtcp2_conn *conn, ngtcp2_path *path, int pkt_info_version, + ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen, const ngtcp2_ccerr *ccerr, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_get_ccerr` returns the received connection close + * error. If no connection error is received, it returns + * :type:`ngtcp2_ccerr` that is initialized by `ngtcp2_ccerr_default`. + */ +NGTCP2_EXTERN const ngtcp2_ccerr *ngtcp2_conn_get_ccerr(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_is_local_stream` returns nonzero if |stream_id| + * denotes a locally initiated stream. + */ +NGTCP2_EXTERN int ngtcp2_conn_is_local_stream(ngtcp2_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `ngtcp2_conn_is_server` returns nonzero if |conn| is initialized as + * server. + */ +NGTCP2_EXTERN int ngtcp2_conn_is_server(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_after_retry` returns nonzero if |conn| as a client has + * received Retry packet from server, and successfully validated it. + */ +NGTCP2_EXTERN int ngtcp2_conn_after_retry(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_set_stream_user_data` sets |stream_user_data| to the + * stream identified by |stream_id|. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_ERR_STREAM_NOT_FOUND` + * Stream does not exist + */ +NGTCP2_EXTERN int ngtcp2_conn_set_stream_user_data(ngtcp2_conn *conn, + int64_t stream_id, + void *stream_user_data); + +/** + * @function + * + * `ngtcp2_conn_update_pkt_tx_time` sets the time instant of the next + * packet transmission to pace packets. This function must be called + * after (multiple invocation of) `ngtcp2_conn_writev_stream`. If + * packet aggregation (e.g., packet batching, GSO) is used, call this + * function after all aggregated datagrams are sent, which indicates + * multiple invocation of `ngtcp2_conn_writev_stream`. + */ +NGTCP2_EXTERN void ngtcp2_conn_update_pkt_tx_time(ngtcp2_conn *conn, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_conn_get_send_quantum` returns the maximum number of bytes + * that can be sent in one go without packet spacing. + */ +NGTCP2_EXTERN size_t ngtcp2_conn_get_send_quantum(ngtcp2_conn *conn); + +/** + * @function + * + * `ngtcp2_conn_get_stream_loss_count` returns the number of packets + * that contain STREAM frame for a stream identified by |stream_id| + * and are declared to be lost. The number may include the spurious + * losses. If no stream identified by |stream_id| is found, this + * function returns 0. + */ +NGTCP2_EXTERN size_t ngtcp2_conn_get_stream_loss_count(ngtcp2_conn *conn, + int64_t stream_id); + +/** + * @function + * + * `ngtcp2_strerror` returns the text representation of |liberr|. + * |liberr| must be one of ngtcp2 library error codes (which is + * defined as :macro:`NGTCP2_ERR_* ` + * macros). + */ +NGTCP2_EXTERN const char *ngtcp2_strerror(int liberr); + +/** + * @function + * + * `ngtcp2_err_is_fatal` returns nonzero if |liberr| is a fatal error. + * |liberr| must be one of ngtcp2 library error codes (which is + * defined as :macro:`NGTCP2_ERR_* ` + * macros). + */ +NGTCP2_EXTERN int ngtcp2_err_is_fatal(int liberr); + +/** + * @function + * + * `ngtcp2_err_infer_quic_transport_error_code` returns a QUIC + * transport error code which corresponds to |liberr|. |liberr| must + * be one of ngtcp2 library error codes (which is defined as + * :macro:`NGTCP2_ERR_* ` macros). + */ +NGTCP2_EXTERN uint64_t ngtcp2_err_infer_quic_transport_error_code(int liberr); + +/** + * @function + * + * `ngtcp2_addr_init` initializes |dest| with the given arguments and + * returns |dest|. + */ +NGTCP2_EXTERN ngtcp2_addr *ngtcp2_addr_init(ngtcp2_addr *dest, + const ngtcp2_sockaddr *addr, + ngtcp2_socklen addrlen); + +/** + * @function + * + * `ngtcp2_addr_copy_byte` copies |addr| of length |addrlen| into the + * buffer pointed by :member:`dest->addr `. + * :member:`dest->addrlen ` is updated to have + * |addrlen|. This function assumes that :member:`dest->addr + * ` points to a buffer which has a sufficient + * capacity to store the copy. + */ +NGTCP2_EXTERN void ngtcp2_addr_copy_byte(ngtcp2_addr *dest, + const ngtcp2_sockaddr *addr, + ngtcp2_socklen addrlen); + +/** + * @function + * + * `ngtcp2_path_storage_init` initializes |ps| with the given + * arguments. This function copies |local_addr| and |remote_addr|. + */ +NGTCP2_EXTERN void ngtcp2_path_storage_init(ngtcp2_path_storage *ps, + const ngtcp2_sockaddr *local_addr, + ngtcp2_socklen local_addrlen, + const ngtcp2_sockaddr *remote_addr, + ngtcp2_socklen remote_addrlen, + void *user_data); + +/** + * @function + * + * `ngtcp2_path_storage_zero` initializes |ps| with the zero length + * addresses. + */ +NGTCP2_EXTERN void ngtcp2_path_storage_zero(ngtcp2_path_storage *ps); + +/** + * @function + * + * `ngtcp2_settings_default` initializes |settings| with the default + * values. First this function fills |settings| with 0, and set the + * default value to the following fields: + * + * * :type:`cc_algo ` = + * :enum:`ngtcp2_cc_algo.NGTCP2_CC_ALGO_CUBIC` + * * :type:`initial_rtt ` = + * :macro:`NGTCP2_DEFAULT_INITIAL_RTT` + * * :type:`ack_thresh ` = 2 + * * :type:`max_tx_udp_payload_size + * ` = 1452 + * * :type:`handshake_timeout ` = + * ``UINT64_MAX`` + */ +NGTCP2_EXTERN void ngtcp2_settings_default_versioned(int settings_version, + ngtcp2_settings *settings); + +/** + * @function + * + * `ngtcp2_transport_params_default` initializes |params| with the + * default values. First this function fills |params| with 0, and set + * the default value to the following fields: + * + * * :type:`max_udp_payload_size + * ` = + * :macro:`NGTCP2_DEFAULT_MAX_RECV_UDP_PAYLOAD_SIZE` + * * :type:`ack_delay_exponent + * ` = + * :macro:`NGTCP2_DEFAULT_ACK_DELAY_EXPONENT` + * * :type:`max_ack_delay ` = + * :macro:`NGTCP2_DEFAULT_MAX_ACK_DELAY` + * * :type:`active_connection_id_limit + * ` = + * :macro:`NGTCP2_DEFAULT_ACTIVE_CONNECTION_ID_LIMIT` + */ +NGTCP2_EXTERN void +ngtcp2_transport_params_default_versioned(int transport_params_version, + ngtcp2_transport_params *params); + +/** + * @function + * + * `ngtcp2_mem_default` returns the default, system standard memory + * allocator. + */ +NGTCP2_EXTERN const ngtcp2_mem *ngtcp2_mem_default(void); + +/** + * @macrosection + * + * ngtcp2_info macros + */ + +/** + * @macro + * + * :macro:`NGTCP2_VERSION_AGE` is the age of :type:`ngtcp2_info` + */ +#define NGTCP2_VERSION_AGE 1 + +/** + * @struct + * + * :type:`ngtcp2_info` is what `ngtcp2_version` returns. It holds + * information about the particular ngtcp2 version. + */ +typedef struct ngtcp2_info { + /** + * :member:`age` is the age of this struct. This instance of ngtcp2 + * sets it to :macro:`NGTCP2_VERSION_AGE` but a future version may + * bump it and add more struct fields at the bottom + */ + int age; + /** + * :member:`version_num` is the :macro:`NGTCP2_VERSION_NUM` number + * (since :member:`age` ==1) + */ + int version_num; + /** + * :member:`version_str` points to the :macro:`NGTCP2_VERSION` + * string (since :member:`age` ==1) + */ + const char *version_str; + /* -------- the above fields all exist when age == 1 */ +} ngtcp2_info; + +/** + * @function + * + * `ngtcp2_version` returns a pointer to a :type:`ngtcp2_info` struct + * with version information about the run-time library in use. The + * |least_version| argument can be set to a 24 bit numerical value for + * the least accepted version number, and if the condition is not met, + * this function will return a ``NULL``. Pass in 0 to skip the + * version checking. + */ +NGTCP2_EXTERN const ngtcp2_info *ngtcp2_version(int least_version); + +/** + * @function + * + * `ngtcp2_is_bidi_stream` returns nonzero if |stream_id| denotes + * bidirectional stream. + */ +NGTCP2_EXTERN int ngtcp2_is_bidi_stream(int64_t stream_id); + +/** + * @function + * + * `ngtcp2_path_copy` copies |src| into |dest|. This function assumes + * that |dest| has enough buffer to store the deep copy of + * :member:`src->local ` and :member:`src->remote + * `. + */ +NGTCP2_EXTERN void ngtcp2_path_copy(ngtcp2_path *dest, const ngtcp2_path *src); + +/** + * @function + * + * `ngtcp2_path_eq` returns nonzero if |a| and |b| shares the same + * local and remote addresses. + */ +NGTCP2_EXTERN int ngtcp2_path_eq(const ngtcp2_path *a, const ngtcp2_path *b); + +/** + * @function + * + * `ngtcp2_is_supported_version` returns nonzero if the library + * supports QUIC version |version|. + */ +NGTCP2_EXTERN int ngtcp2_is_supported_version(uint32_t version); + +/** + * @function + * + * `ngtcp2_is_reserved_version` returns nonzero if |version| is a + * reserved version. + */ +NGTCP2_EXTERN int ngtcp2_is_reserved_version(uint32_t version); + +/** + * @function + * + * `ngtcp2_select_version` selects and returns a version from the + * version set |offered_versions| of |offered_versionslen| elements. + * |preferred_versions| of |preferred_versionslen| elements specifies + * the preference of versions, which is sorted in the order of + * preference. All versions included in |preferred_versions| must be + * supported by the library, that is, passing any version in the array + * to `ngtcp2_is_supported_version` must return nonzero. This + * function is intended to be used by client when it receives Version + * Negotiation packet. If no version is selected, this function + * returns 0. + */ +NGTCP2_EXTERN uint32_t ngtcp2_select_version(const uint32_t *preferred_versions, + size_t preferred_versionslen, + const uint32_t *offered_versions, + size_t offered_versionslen); + +/* + * Versioned function wrappers + */ + +/* + * `ngtcp2_conn_read_pkt` is a wrapper around + * `ngtcp2_conn_read_pkt_versioned` to set the correct struct version. + */ +#define ngtcp2_conn_read_pkt(CONN, PATH, PI, PKT, PKTLEN, TS) \ + ngtcp2_conn_read_pkt_versioned((CONN), (PATH), NGTCP2_PKT_INFO_VERSION, \ + (PI), (PKT), (PKTLEN), (TS)) + +/* + * `ngtcp2_conn_write_pkt` is a wrapper around + * `ngtcp2_conn_write_pkt_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_write_pkt(CONN, PATH, PI, DEST, DESTLEN, TS) \ + ngtcp2_conn_write_pkt_versioned((CONN), (PATH), NGTCP2_PKT_INFO_VERSION, \ + (PI), (DEST), (DESTLEN), (TS)) + +/* + * `ngtcp2_conn_write_stream` is a wrapper around + * `ngtcp2_conn_write_stream_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_write_stream(CONN, PATH, PI, DEST, DESTLEN, PDATALEN, \ + FLAGS, STREAM_ID, DATA, DATALEN, TS) \ + ngtcp2_conn_write_stream_versioned( \ + (CONN), (PATH), NGTCP2_PKT_INFO_VERSION, (PI), (DEST), (DESTLEN), \ + (PDATALEN), (FLAGS), (STREAM_ID), (DATA), (DATALEN), (TS)) + +/* + * `ngtcp2_conn_writev_stream` is a wrapper around + * `ngtcp2_conn_writev_stream_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_writev_stream(CONN, PATH, PI, DEST, DESTLEN, PDATALEN, \ + FLAGS, STREAM_ID, DATAV, DATAVCNT, TS) \ + ngtcp2_conn_writev_stream_versioned( \ + (CONN), (PATH), NGTCP2_PKT_INFO_VERSION, (PI), (DEST), (DESTLEN), \ + (PDATALEN), (FLAGS), (STREAM_ID), (DATAV), (DATAVCNT), (TS)) + +/* + * `ngtcp2_conn_write_datagram` is a wrapper around + * `ngtcp2_conn_write_datagram_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_write_datagram(CONN, PATH, PI, DEST, DESTLEN, PACCEPTED, \ + FLAGS, DGRAM_ID, DATA, DATALEN, TS) \ + ngtcp2_conn_write_datagram_versioned( \ + (CONN), (PATH), NGTCP2_PKT_INFO_VERSION, (PI), (DEST), (DESTLEN), \ + (PACCEPTED), (FLAGS), (DGRAM_ID), (DATA), (DATALEN), (TS)) + +/* + * `ngtcp2_conn_writev_datagram` is a wrapper around + * `ngtcp2_conn_writev_datagram_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_writev_datagram(CONN, PATH, PI, DEST, DESTLEN, PACCEPTED, \ + FLAGS, DGRAM_ID, DATAV, DATAVCNT, TS) \ + ngtcp2_conn_writev_datagram_versioned( \ + (CONN), (PATH), NGTCP2_PKT_INFO_VERSION, (PI), (DEST), (DESTLEN), \ + (PACCEPTED), (FLAGS), (DGRAM_ID), (DATAV), (DATAVCNT), (TS)) + +/* + * `ngtcp2_conn_write_connection_close` is a wrapper around + * `ngtcp2_conn_write_connection_close_versioned` to set the correct + * struct version. + */ +#define ngtcp2_conn_write_connection_close(CONN, PATH, PI, DEST, DESTLEN, \ + CCERR, TS) \ + ngtcp2_conn_write_connection_close_versioned( \ + (CONN), (PATH), NGTCP2_PKT_INFO_VERSION, (PI), (DEST), (DESTLEN), (CCERR), \ + (TS)) + +/* + * `ngtcp2_transport_params_encode` is a wrapper around + * `ngtcp2_transport_params_encode_versioned` to set the correct + * struct version. + */ +#define ngtcp2_transport_params_encode(DEST, DESTLEN, PARAMS) \ + ngtcp2_transport_params_encode_versioned( \ + (DEST), (DESTLEN), NGTCP2_TRANSPORT_PARAMS_VERSION, (PARAMS)) + +/* + * `ngtcp2_transport_params_decode` is a wrapper around + * `ngtcp2_transport_params_decode_versioned` to set the correct + * struct version. + */ +#define ngtcp2_transport_params_decode(PARAMS, DATA, DATALEN) \ + ngtcp2_transport_params_decode_versioned(NGTCP2_TRANSPORT_PARAMS_VERSION, \ + (PARAMS), (DATA), (DATALEN)) + +/* + * `ngtcp2_conn_client_new` is a wrapper around + * `ngtcp2_conn_client_new_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_client_new(PCONN, DCID, SCID, PATH, VERSION, CALLBACKS, \ + SETTINGS, PARAMS, MEM, USER_DATA) \ + ngtcp2_conn_client_new_versioned( \ + (PCONN), (DCID), (SCID), (PATH), (VERSION), NGTCP2_CALLBACKS_VERSION, \ + (CALLBACKS), NGTCP2_SETTINGS_VERSION, (SETTINGS), \ + NGTCP2_TRANSPORT_PARAMS_VERSION, (PARAMS), (MEM), (USER_DATA)) + +/* + * `ngtcp2_conn_server_new` is a wrapper around + * `ngtcp2_conn_server_new_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_server_new(PCONN, DCID, SCID, PATH, VERSION, CALLBACKS, \ + SETTINGS, PARAMS, MEM, USER_DATA) \ + ngtcp2_conn_server_new_versioned( \ + (PCONN), (DCID), (SCID), (PATH), (VERSION), NGTCP2_CALLBACKS_VERSION, \ + (CALLBACKS), NGTCP2_SETTINGS_VERSION, (SETTINGS), \ + NGTCP2_TRANSPORT_PARAMS_VERSION, (PARAMS), (MEM), (USER_DATA)) + +/* + * `ngtcp2_conn_set_local_transport_params` is a wrapper around + * `ngtcp2_conn_set_local_transport_params_versioned` to set the + * correct struct version. + */ +#define ngtcp2_conn_set_local_transport_params(CONN, PARAMS) \ + ngtcp2_conn_set_local_transport_params_versioned( \ + (CONN), NGTCP2_TRANSPORT_PARAMS_VERSION, (PARAMS)) + +/* + * `ngtcp2_transport_params_default` is a wrapper around + * `ngtcp2_transport_params_default_versioned` to set the correct + * struct version. + */ +#define ngtcp2_transport_params_default(PARAMS) \ + ngtcp2_transport_params_default_versioned(NGTCP2_TRANSPORT_PARAMS_VERSION, \ + (PARAMS)) + +/* + * `ngtcp2_conn_get_conn_info` is a wrapper around + * `ngtcp2_conn_get_conn_info_versioned` to set the correct struct + * version. + */ +#define ngtcp2_conn_get_conn_info(CONN, CINFO) \ + ngtcp2_conn_get_conn_info_versioned((CONN), NGTCP2_CONN_INFO_VERSION, (CINFO)) + +/* + * `ngtcp2_settings_default` is a wrapper around + * `ngtcp2_settings_default_versioned` to set the correct struct + * version. + */ +#define ngtcp2_settings_default(SETTINGS) \ + ngtcp2_settings_default_versioned(NGTCP2_SETTINGS_VERSION, (SETTINGS)) + +#ifdef _MSC_VER +# pragma warning(pop) +#endif /* defined(_MSC_VER) */ + +#ifdef __cplusplus +} +#endif /* defined(__cplusplus) */ + +#endif /* !defined(NGTCP2_H) */ diff --git a/curl/include/ngtcp2/ngtcp2_crypto.h b/curl/include/ngtcp2/ngtcp2_crypto.h new file mode 100644 index 0000000..003ec6b --- /dev/null +++ b/curl/include/ngtcp2/ngtcp2_crypto.h @@ -0,0 +1,963 @@ +/* + * ngtcp2 + * + * Copyright (c) 2019 ngtcp2 contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGTCP2_CRYPTO_H +#define NGTCP2_CRYPTO_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif /* defined(__cplusplus) */ + +#ifdef WIN32 +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif /* !defined(WIN32_LEAN_AND_MEAN) */ +# include +#endif /* defined(WIN32) */ + +/** + * @macrosection + * + * ngtcp2 crypto library error codes + */ + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_ERR_INTERNAL` indicates an internal error. + */ +#define NGTCP2_CRYPTO_ERR_INTERNAL -201 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_ERR_UNREADABLE_TOKEN` indicates that a token + * is unreadable because it is not correctly formatted; or verifying + * the integrity protection failed. + */ +#define NGTCP2_CRYPTO_ERR_UNREADABLE_TOKEN -202 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_ERR_VERIFY_TOKEN` indicates that a token does + * not probe the client address; or the token validity has expired; or + * it contains invalid Connection ID. + */ +#define NGTCP2_CRYPTO_ERR_VERIFY_TOKEN -203 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_ERR_NOMEM` indicates out of memory. + */ +#define NGTCP2_CRYPTO_ERR_NOMEM -501 + +/** + * @function + * + * `ngtcp2_crypto_ctx_tls` initializes |ctx| by extracting negotiated + * ciphers and message digests from native TLS session + * |tls_native_handle|. This is used for encrypting/decrypting + * Handshake and 1-RTT packets. If it is unable to obtain necessary + * data from |tls_native_handle|, this function returns NULL. + * + * If libngtcp2_crypto_quictls is linked, |tls_native_handle| must be + * a pointer to SSL object. + */ +NGTCP2_EXTERN ngtcp2_crypto_ctx *ngtcp2_crypto_ctx_tls(ngtcp2_crypto_ctx *ctx, + void *tls_native_handle); + +/** + * @function + * + * `ngtcp2_crypto_ctx_tls_early` initializes |ctx| by extracting early + * ciphers and message digests from native TLS session + * |tls_native_handle|. This is used for encrypting/decrypting 0-RTT + * packets. If it is unable to obtain necessary data from + * |tls_native_handle|, this function returns NULL. + * + * If libngtcp2_crypto_quictls is linked, |tls_native_handle| must be + * a pointer to SSL object. + */ +NGTCP2_EXTERN ngtcp2_crypto_ctx * +ngtcp2_crypto_ctx_tls_early(ngtcp2_crypto_ctx *ctx, void *tls_native_handle); + +/** + * @function + * + * `ngtcp2_crypto_md_init` initializes |md| with the provided + * |md_native_handle| which is an underlying message digest object. + * + * If libngtcp2_crypto_quictls is linked, |md_native_handle| must be a + * pointer to EVP_MD. + * + * If libngtcp2_crypto_gnutls is linked, |md_native_handle| must be + * gnutls_mac_algorithm_t casted to ``void *``. + * + * If libngtcp2_crypto_boringssl is linked, |md_native_handle| must be + * a pointer to EVP_MD. + */ +NGTCP2_EXTERN ngtcp2_crypto_md *ngtcp2_crypto_md_init(ngtcp2_crypto_md *md, + void *md_native_handle); + +/** + * @function + * + * `ngtcp2_crypto_md_hashlen` returns the length of |md| output. + */ +NGTCP2_EXTERN size_t ngtcp2_crypto_md_hashlen(const ngtcp2_crypto_md *md); + +/** + * @function + * + * `ngtcp2_crypto_aead_keylen` returns the length of key for |aead|. + */ +NGTCP2_EXTERN size_t ngtcp2_crypto_aead_keylen(const ngtcp2_crypto_aead *aead); + +/** + * @function + * + * `ngtcp2_crypto_aead_noncelen` returns the length of nonce for + * |aead|. + */ +NGTCP2_EXTERN size_t +ngtcp2_crypto_aead_noncelen(const ngtcp2_crypto_aead *aead); + +/** + * @function + * + * `ngtcp2_crypto_hkdf_extract` performs HKDF extract operation. + * + * The length of output is `ngtcp2_crypto_md_hashlen(md) + * `. The output is stored in the buffer + * pointed by |dest|. The caller is responsible to specify the buffer + * that has enough capacity to store the output. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_hkdf_extract(uint8_t *dest, const ngtcp2_crypto_md *md, + const uint8_t *secret, size_t secretlen, + const uint8_t *salt, size_t saltlen); + +/** + * @function + * + * `ngtcp2_crypto_hkdf_expand` performs HKDF expand operation. The + * result is |destlen| bytes long, and is stored in the buffer pointed + * by |dest|. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_hkdf_expand( + uint8_t *dest, size_t destlen, const ngtcp2_crypto_md *md, + const uint8_t *secret, size_t secretlen, const uint8_t *info, size_t infolen); + +/** + * @function + * + * `ngtcp2_crypto_hkdf` performs HKDF operation. The result is + * |destlen| bytes long, and is stored in the buffer pointed by + * |dest|. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_hkdf(uint8_t *dest, size_t destlen, + const ngtcp2_crypto_md *md, + const uint8_t *secret, size_t secretlen, + const uint8_t *salt, size_t saltlen, + const uint8_t *info, size_t infolen); + +/** + * @function + * + * `ngtcp2_crypto_packet_protection_ivlen` returns the length of IV + * used to encrypt QUIC packet. + */ +NGTCP2_EXTERN size_t +ngtcp2_crypto_packet_protection_ivlen(const ngtcp2_crypto_aead *aead); + +/** + * @function + * + * `ngtcp2_crypto_encrypt` encrypts |plaintext| of length + * |plaintextlen| and writes the ciphertext into the buffer pointed by + * |dest|. The length of ciphertext is |plaintextlen| + + * :member:`aead->max_overhead ` + * bytes long. |dest| must have enough capacity to store the + * ciphertext. |dest| and |plaintext| may point to the same buffer. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_encrypt(uint8_t *dest, + const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, + const uint8_t *plaintext, + size_t plaintextlen, + const uint8_t *nonce, size_t noncelen, + const uint8_t *aad, size_t aadlen); + +/** + * @function + * + * `ngtcp2_crypto_encrypt_cb` is a wrapper function around + * `ngtcp2_crypto_encrypt`. It can be directly passed to + * :member:`ngtcp2_callbacks.encrypt` field. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_encrypt_cb(uint8_t *dest, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, + const uint8_t *plaintext, size_t plaintextlen, + const uint8_t *nonce, size_t noncelen, + const uint8_t *aad, size_t aadlen); + +/** + * @function + * + * `ngtcp2_crypto_decrypt` decrypts |ciphertext| of length + * |ciphertextlen| and writes the plaintext into the buffer pointed by + * |dest|. The length of plaintext is |ciphertextlen| - + * :member:`aead->max_overhead ` + * bytes long. |dest| must have enough capacity to store the + * plaintext. |dest| and |ciphertext| may point to the same buffer. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_decrypt(uint8_t *dest, + const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, + const uint8_t *ciphertext, + size_t ciphertextlen, + const uint8_t *nonce, size_t noncelen, + const uint8_t *aad, size_t aadlen); + +/** + * @function + * + * `ngtcp2_crypto_decrypt_cb` is a wrapper function around + * `ngtcp2_crypto_decrypt`. It can be directly passed to + * :member:`ngtcp2_callbacks.decrypt` field. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_TLS_DECRYPT`. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_decrypt_cb(uint8_t *dest, const ngtcp2_crypto_aead *aead, + const ngtcp2_crypto_aead_ctx *aead_ctx, + const uint8_t *ciphertext, size_t ciphertextlen, + const uint8_t *nonce, size_t noncelen, + const uint8_t *aad, size_t aadlen); + +/** + * @function + * + * `ngtcp2_crypto_hp_mask` generates a mask which is used in packet + * header encryption. The mask is written to the buffer pointed by + * |dest|. The sample is passed as |sample| which is + * :macro:`NGTCP2_HP_SAMPLELEN` bytes long. The length of mask must + * be at least :macro:`NGTCP2_HP_MASKLEN`. The library only uses the + * first :macro:`NGTCP2_HP_MASKLEN` bytes of the produced mask. The + * buffer pointed by |dest| must have at least + * :macro:`NGTCP2_HP_SAMPLELEN` bytes available. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_hp_mask(uint8_t *dest, + const ngtcp2_crypto_cipher *hp, + const ngtcp2_crypto_cipher_ctx *hp_ctx, + const uint8_t *sample); + +/** + * @function + * + * `ngtcp2_crypto_hp_mask_cb` is a wrapper function around + * `ngtcp2_crypto_hp_mask`. It can be directly passed to + * :member:`ngtcp2_callbacks.hp_mask` field. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_hp_mask_cb(uint8_t *dest, const ngtcp2_crypto_cipher *hp, + const ngtcp2_crypto_cipher_ctx *hp_ctx, + const uint8_t *sample); + +/** + * @function + * + * `ngtcp2_crypto_derive_and_install_rx_key` derives the decryption + * keying materials from |secret|, and installs them to |conn|. + * + * If |key| is not NULL, the derived packet protection key is written + * to the buffer pointed by |key|. If |iv| is not NULL, the derived + * packet protection IV is written to the buffer pointed by |iv|. If + * |hp| is not NULL, the derived header protection key is written to + * the buffer pointed by |hp|. + * + * |secretlen| specifies the length of |secret|. + * + * The length of packet protection key and header protection key is + * `ngtcp2_crypto_aead_keylen(ctx->aead) `, + * and the length of packet protection IV is + * `ngtcp2_crypto_packet_protection_ivlen(ctx->aead) + * ` where ctx is obtained by + * `ngtcp2_crypto_ctx_tls` (or `ngtcp2_crypto_ctx_tls_early` if + * |level| == + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`). + * + * In the first call of this function, it calls + * `ngtcp2_conn_set_crypto_ctx` (or `ngtcp2_conn_set_early_crypto_ctx` + * if |level| == + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`) to + * set negotiated AEAD and message digest algorithm. After the + * successful call of this function, application can use + * `ngtcp2_conn_get_crypto_ctx` (or `ngtcp2_conn_get_0rtt_crypto_ctx` + * if |level| == + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`) to + * get :type:`ngtcp2_crypto_ctx`. + * + * If |conn| is initialized as client, and |level| is + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_1RTT`, this + * function retrieves a remote QUIC transport parameters extension + * from an object obtained by `ngtcp2_conn_get_tls_native_handle`, and + * sets it to |conn| by calling + * `ngtcp2_conn_decode_and_set_remote_transport_params`. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_derive_and_install_rx_key( + ngtcp2_conn *conn, uint8_t *key, uint8_t *iv, uint8_t *hp, + ngtcp2_encryption_level level, const uint8_t *secret, size_t secretlen); + +/** + * @function + * + * `ngtcp2_crypto_derive_and_install_tx_key` derives the encryption + * keying materials from |secret|, and installs new keys to |conn|. + * + * If |key| is not NULL, the derived packet protection key is written + * to the buffer pointed by |key|. If |iv| is not NULL, the derived + * packet protection IV is written to the buffer pointed by |iv|. If + * |hp| is not NULL, the derived header protection key is written to + * the buffer pointed by |hp|. + * + * |secretlen| specifies the length of |secret|. + * + * The length of packet protection key and header protection key is + * `ngtcp2_crypto_aead_keylen(ctx->aead) `, + * and the length of packet protection IV is + * `ngtcp2_crypto_packet_protection_ivlen(ctx->aead) + * ` where ctx is obtained by + * `ngtcp2_crypto_ctx_tls` (or `ngtcp2_crypto_ctx_tls_early` if + * |level| == + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`). + * + * In the first call of this function, it calls + * `ngtcp2_conn_set_crypto_ctx` (or `ngtcp2_conn_set_early_crypto_ctx` + * if |level| == + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`) to + * set negotiated AEAD and message digest algorithm. After the + * successful call of this function, application can use + * `ngtcp2_conn_get_crypto_ctx` (or `ngtcp2_conn_get_0rtt_crypto_ctx` + * if |level| == + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_0RTT`) to + * get :type:`ngtcp2_crypto_ctx`. + * + * If |conn| is initialized as server, and |level| is + * :enum:`ngtcp2_encryption_level.NGTCP2_ENCRYPTION_LEVEL_1RTT`, this + * function retrieves a remote QUIC transport parameters extension + * from an object obtained by `ngtcp2_conn_get_tls_native_handle`, and + * sets it to |conn| by calling + * `ngtcp2_conn_decode_and_set_remote_transport_params`. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_derive_and_install_tx_key( + ngtcp2_conn *conn, uint8_t *key, uint8_t *iv, uint8_t *hp, + ngtcp2_encryption_level level, const uint8_t *secret, size_t secretlen); + +/** + * @function + * + * `ngtcp2_crypto_update_key` updates traffic keying materials. + * + * The new decryption traffic secret is written to the buffer pointed + * by |rx_secret|. The length of secret is |secretlen| bytes, and + * |rx_secret| must point to the buffer which has enough capacity. + * + * The new encryption traffic secret is written to the buffer pointed + * by |tx_secret|. The length of secret is |secretlen| bytes, and + * |tx_secret| must point to the buffer which has enough capacity. + * + * The derived decryption packet protection key is written to the + * buffer pointed by |rx_key|. The derived decryption packet + * protection IV is written to the buffer pointed by |rx_iv|. + * |rx_aead_ctx| is initialized with the derived key and IV. + * + * The derived encryption packet protection key is written to the + * buffer pointed by |tx_key|. The derived encryption packet + * protection IV is written to the buffer pointed by |tx_iv|. + * |tx_aead_ctx| is initialized with the derived key and IV. + * + * |current_rx_secret| and |current_tx_secret| are the current + * decryption and encryption traffic secrets respectively. They share + * the same length with |rx_secret| and |tx_secret|. + * + * The length of packet protection key and header protection key is + * `ngtcp2_crypto_aead_keylen(ctx->aead) `, + * and the length of packet protection IV is + * `ngtcp2_crypto_packet_protection_ivlen(ctx->aead) + * ` where ctx is obtained by + * `ngtcp2_crypto_ctx_tls`. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_update_key( + ngtcp2_conn *conn, uint8_t *rx_secret, uint8_t *tx_secret, + ngtcp2_crypto_aead_ctx *rx_aead_ctx, uint8_t *rx_key, uint8_t *rx_iv, + ngtcp2_crypto_aead_ctx *tx_aead_ctx, uint8_t *tx_key, uint8_t *tx_iv, + const uint8_t *current_rx_secret, const uint8_t *current_tx_secret, + size_t secretlen); + +/** + * @function + * + * `ngtcp2_crypto_update_key_cb` is a wrapper function around + * `ngtcp2_crypto_update_key`. It can be directly passed to + * :member:`ngtcp2_callbacks.update_key` field. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + */ +NGTCP2_EXTERN int ngtcp2_crypto_update_key_cb( + ngtcp2_conn *conn, uint8_t *rx_secret, uint8_t *tx_secret, + ngtcp2_crypto_aead_ctx *rx_aead_ctx, uint8_t *rx_iv, + ngtcp2_crypto_aead_ctx *tx_aead_ctx, uint8_t *tx_iv, + const uint8_t *current_rx_secret, const uint8_t *current_tx_secret, + size_t secretlen, void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_client_initial_cb` installs initial secrets and + * encryption keys, and sets QUIC transport parameters. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.client_initial` field. It is only used + * by client. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + */ +NGTCP2_EXTERN int ngtcp2_crypto_client_initial_cb(ngtcp2_conn *conn, + void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_recv_retry_cb` re-installs initial secrets in + * response to incoming Retry packet. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.recv_retry` field. It is only used by + * client. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + */ +NGTCP2_EXTERN int ngtcp2_crypto_recv_retry_cb(ngtcp2_conn *conn, + const ngtcp2_pkt_hd *hd, + void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_recv_client_initial_cb` installs initial secrets in + * response to an incoming Initial packet from client, and sets QUIC + * transport parameters. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.recv_client_initial` field. It is only + * used by server. + * + * This function returns 0 if it succeeds, or + * :macro:`NGTCP2_ERR_CALLBACK_FAILURE`. + */ +NGTCP2_EXTERN int ngtcp2_crypto_recv_client_initial_cb(ngtcp2_conn *conn, + const ngtcp2_cid *dcid, + void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_read_write_crypto_data` reads CRYPTO data |data| of + * length |datalen| in an encryption level |encryption_level|, and may + * feed outgoing CRYPTO data to |conn|. This function can drive + * handshake. This function can be also used after handshake + * completes. It is allowed to call this function with |datalen| == + * 0. In this case, no additional read operation is done. + * + * This function returns 0 if it succeeds, or a negative error code. + * The generic error code is -1 if a specific error code is not + * suitable. The error codes less than -10000 are specific to + * underlying TLS implementation. For quictls, the error codes are + * defined in *ngtcp2_crypto_quictls.h*. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_read_write_crypto_data(ngtcp2_conn *conn, + ngtcp2_encryption_level encryption_level, + const uint8_t *data, size_t datalen); + +/** + * @function + * + * `ngtcp2_crypto_recv_crypto_data_cb` is a wrapper function around + * `ngtcp2_crypto_read_write_crypto_data`. It can be directly passed + * to :member:`ngtcp2_callbacks.recv_crypto_data` field. + * + * If this function is used, the TLS implementation specific error + * codes described in `ngtcp2_crypto_read_write_crypto_data` are + * treated as if it returns -1. Do not use this function if an + * application wishes to use the TLS implementation specific error + * codes. + */ +NGTCP2_EXTERN int ngtcp2_crypto_recv_crypto_data_cb( + ngtcp2_conn *conn, ngtcp2_encryption_level encryption_level, uint64_t offset, + const uint8_t *data, size_t datalen, void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_generate_stateless_reset_token` generates a + * stateless reset token using HKDF extraction using the given |cid| + * and |secret| as input. The token will be written to the buffer + * pointed by |token|, and it must have a capacity of at least + * :macro:`NGTCP2_STATELESS_RESET_TOKENLEN` bytes. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_generate_stateless_reset_token( + uint8_t *token, const uint8_t *secret, size_t secretlen, + const ngtcp2_cid *cid); + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_TOKEN_RAND_DATALEN` is the length of random + * data added to a token generated by + * `ngtcp2_crypto_generate_retry_token` or + * `ngtcp2_crypto_generate_regular_token`. + */ +#define NGTCP2_CRYPTO_TOKEN_RAND_DATALEN 16 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_TOKEN_MAGIC_RETRY` is the magic byte for + * Retry token generated by `ngtcp2_crypto_generate_retry_token`. + */ +#define NGTCP2_CRYPTO_TOKEN_MAGIC_RETRY 0xb6 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_TOKEN_MAGIC_RETRY2` is the magic byte for + * Retry token generated by `ngtcp2_crypto_generate_retry_token2`. + */ +#define NGTCP2_CRYPTO_TOKEN_MAGIC_RETRY2 0xb7 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_TOKEN_MAGIC_REGULAR` is the magic byte for a + * token generated by `ngtcp2_crypto_generate_regular_token`. + */ +#define NGTCP2_CRYPTO_TOKEN_MAGIC_REGULAR 0x36 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_MAX_RETRY_TOKENLEN` is the maximum length of + * a token generated by `ngtcp2_crypto_generate_retry_token`. + */ +#define NGTCP2_CRYPTO_MAX_RETRY_TOKENLEN \ + (/* magic = */ 1 + /* cid len = */ 1 + NGTCP2_MAX_CIDLEN + \ + sizeof(ngtcp2_tstamp) + /* aead tag = */ 16 + \ + NGTCP2_CRYPTO_TOKEN_RAND_DATALEN) + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_MAX_RETRY_TOKENLEN2` is the maximum length of + * a token generated by `ngtcp2_crypto_generate_retry_token2`. + */ +#define NGTCP2_CRYPTO_MAX_RETRY_TOKENLEN2 \ + (/* magic = */ 1 + sizeof(ngtcp2_sockaddr_union) + /* cid len = */ 1 + \ + NGTCP2_MAX_CIDLEN + sizeof(ngtcp2_tstamp) + /* aead tag = */ 16 + \ + NGTCP2_CRYPTO_TOKEN_RAND_DATALEN) + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_MAX_REGULAR_TOKENLEN` is the maximum length + * of a token generated by `ngtcp2_crypto_generate_regular_token`. + */ +#define NGTCP2_CRYPTO_MAX_REGULAR_TOKENLEN \ + (/* magic = */ 1 + sizeof(ngtcp2_tstamp) + /* aead tag = */ 16 + \ + NGTCP2_CRYPTO_TOKEN_RAND_DATALEN) + +/** + * @function + * + * `ngtcp2_crypto_generate_retry_token` generates a token in the + * buffer pointed by |token| that is sent with Retry packet. The + * buffer pointed by |token| must have at least + * :macro:`NGTCP2_CRYPTO_MAX_RETRY_TOKENLEN` bytes long. The + * successfully generated token starts with + * :macro:`NGTCP2_CRYPTO_TOKEN_MAGIC_RETRY`. |secret| of length + * |secretlen| is a keying material to generate keys to encrypt the + * token. |version| is QUIC version. |remote_addr| of length + * |remote_addrlen| is an address of client. |retry_scid| is a Source + * Connection ID chosen by server, and set in Retry packet. |odcid| + * is a Destination Connection ID in Initial packet sent by client. + * |ts| is the timestamp when the token is generated. + * + * See also `ngtcp2_crypto_generate_retry_token2`. + * + * This function returns the length of generated token if it succeeds, + * or -1. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_crypto_generate_retry_token( + uint8_t *token, const uint8_t *secret, size_t secretlen, uint32_t version, + const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen, + const ngtcp2_cid *retry_scid, const ngtcp2_cid *odcid, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_crypto_verify_retry_token` verifies Retry token stored in + * the buffer pointed by |token| of length |tokenlen|. |secret| of + * length |secretlen| is a keying material to generate keys to decrypt + * the token. |version| is QUIC version of the Initial packet that + * contains this token. |remote_addr| of length |remote_addrlen| is + * an address of client. |dcid| is a Destination Connection ID in + * Initial packet sent by client. |timeout| is the period during + * which the token is valid. |ts| is the current timestamp. When + * validation succeeds, the extracted Destination Connection ID (which + * is the Destination Connection ID in Initial packet sent by client + * that triggered Retry packet) is stored in the buffer pointed by + * |odcid|. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_verify_retry_token( + ngtcp2_cid *odcid, const uint8_t *token, size_t tokenlen, + const uint8_t *secret, size_t secretlen, uint32_t version, + const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen, + const ngtcp2_cid *dcid, ngtcp2_duration timeout, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_crypto_generate_retry_token2` generates a token in the + * buffer pointed by |token| that is sent with Retry packet. The + * buffer pointed by |token| must have at least + * :macro:`NGTCP2_CRYPTO_MAX_RETRY_TOKENLEN2` bytes long. The + * successfully generated token starts with + * :macro:`NGTCP2_CRYPTO_TOKEN_MAGIC_RETRY2`. |secret| of length + * |secretlen| is a keying material to generate keys to encrypt the + * token. |version| is QUIC version. |remote_addr| of length + * |remote_addrlen| is an address of client. |retry_scid| is a Source + * Connection ID chosen by server, and set in Retry packet. |odcid| + * is a Destination Connection ID in Initial packet sent by client. + * |ts| is the timestamp when the token is generated. + * + * Use this function instead of `ngtcp2_crypto_generate_retry_token` + * if more detailed error handling is required when verifying the + * token. `ngtcp2_crypto_verify_retry_token2` must be used to verify + * the token. + * + * This function returns the length of generated token if it succeeds, + * or -1. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_crypto_generate_retry_token2( + uint8_t *token, const uint8_t *secret, size_t secretlen, uint32_t version, + const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen, + const ngtcp2_cid *retry_scid, const ngtcp2_cid *odcid, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_crypto_verify_retry_token2` verifies Retry token stored in + * the buffer pointed by |token| of length |tokenlen|. |secret| of + * length |secretlen| is a keying material to generate keys to decrypt + * the token. |version| is QUIC version of the Initial packet that + * contains this token. |remote_addr| of length |remote_addrlen| is + * an address of client. |dcid| is a Destination Connection ID in + * Initial packet sent by client. |timeout| is the period during + * which the token is valid. |ts| is the current timestamp. When + * validation succeeds, the extracted Destination Connection ID (which + * is the Destination Connection ID in Initial packet sent by client + * that triggered Retry packet) is stored in the buffer pointed by + * |odcid|. + * + * The token must be generated by + * `ngtcp2_crypto_generate_retry_token2`. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGTCP2_CRYPTO_ERR_UNREADABLE_TOKEN` + * A token is badly formatted; or verifying the integrity + * protection failed. + * :macro:`NGTCP2_CRYPTO_ERR_VERIFY_TOKEN` + * A token does not probe the client address; or the token + * validity has expired; or it contains invalid Connection ID. + * :macro:`NGTCP2_CRYPTO_ERR_INTERNAL` + * Internal error occurred. + */ +NGTCP2_EXTERN int ngtcp2_crypto_verify_retry_token2( + ngtcp2_cid *odcid, const uint8_t *token, size_t tokenlen, + const uint8_t *secret, size_t secretlen, uint32_t version, + const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen, + const ngtcp2_cid *dcid, ngtcp2_duration timeout, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_crypto_generate_regular_token` generates a token in the + * buffer pointed by |token| that is sent with NEW_TOKEN frame. The + * buffer pointed by |token| must have at least + * :macro:`NGTCP2_CRYPTO_MAX_REGULAR_TOKENLEN` bytes long. The + * successfully generated token starts with + * :macro:`NGTCP2_CRYPTO_TOKEN_MAGIC_REGULAR`. |secret| of length + * |secretlen| is a keying material to generate keys to encrypt the + * token. |remote_addr| of length |remote_addrlen| is an address of + * client. |ts| is the timestamp when the token is generated. + * + * This function returns the length of generated token if it succeeds, + * or -1. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_crypto_generate_regular_token( + uint8_t *token, const uint8_t *secret, size_t secretlen, + const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen, + ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_crypto_verify_regular_token` verifies a regular token + * stored in the buffer pointed by |token| of length |tokenlen|. + * |secret| of length |secretlen| is a keying material to generate + * keys to decrypt the token. |remote_addr| of length + * |remote_addrlen| is an address of client. |timeout| is the period + * during which the token is valid. |ts| is the current timestamp. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_verify_regular_token( + const uint8_t *token, size_t tokenlen, const uint8_t *secret, + size_t secretlen, const ngtcp2_sockaddr *remote_addr, + ngtcp2_socklen remote_addrlen, ngtcp2_duration timeout, ngtcp2_tstamp ts); + +/** + * @function + * + * `ngtcp2_crypto_write_connection_close` writes Initial packet + * containing CONNECTION_CLOSE with the given |error_code| and the + * optional |reason| of length |reasonlen| to the buffer pointed by + * |dest| of length |destlen|. This function is designed for server + * to close connection without committing the state when validating + * Retry token fails. This function must not be used by client. The + * |dcid| must be the Source Connection ID in Initial packet from + * client. The |scid| must be the Destination Connection ID in + * Initial packet from client. |scid| is used to derive initial + * keying materials. + * + * This function wraps around `ngtcp2_pkt_write_connection_close` for + * easier use. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_crypto_write_connection_close( + uint8_t *dest, size_t destlen, uint32_t version, const ngtcp2_cid *dcid, + const ngtcp2_cid *scid, uint64_t error_code, const uint8_t *reason, + size_t reasonlen); + +/** + * @function + * + * `ngtcp2_crypto_write_retry` writes Retry packet to the buffer + * pointed by |dest| of length |destlen|. |dcid| is the Connection ID + * which appeared in a packet as a Source Connection ID sent by + * client. |scid| is a server chosen Source Connection ID. |odcid| + * specifies Original Destination Connection ID which appeared in a + * packet as a Destination Connection ID sent by client. |token| + * specifies Retry Token, and |tokenlen| specifies its length. + * + * This function wraps around `ngtcp2_pkt_write_retry` for easier use. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN ngtcp2_ssize ngtcp2_crypto_write_retry( + uint8_t *dest, size_t destlen, uint32_t version, const ngtcp2_cid *dcid, + const ngtcp2_cid *scid, const ngtcp2_cid *odcid, const uint8_t *token, + size_t tokenlen); + +/** + * @function + * + * `ngtcp2_crypto_aead_ctx_encrypt_init` initializes |aead_ctx| with + * new AEAD cipher context object for encryption which is constructed + * to use |key| as encryption key. |aead| specifies AEAD cipher to + * use. |noncelen| is the length of nonce. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_aead_ctx_encrypt_init(ngtcp2_crypto_aead_ctx *aead_ctx, + const ngtcp2_crypto_aead *aead, + const uint8_t *key, size_t noncelen); + +/** + * @function + * + * `ngtcp2_crypto_aead_ctx_decrypt_init` initializes |aead_ctx| with + * new AEAD cipher context object for decryption which is constructed + * to use |key| as decryption key. |aead| specifies AEAD cipher to + * use. |noncelen| is the length of nonce. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_aead_ctx_decrypt_init(ngtcp2_crypto_aead_ctx *aead_ctx, + const ngtcp2_crypto_aead *aead, + const uint8_t *key, size_t noncelen); + +/** + * @function + * + * `ngtcp2_crypto_aead_ctx_free` frees up resources used by + * |aead_ctx|. This function does not free the memory pointed by + * |aead_ctx| itself. + */ +NGTCP2_EXTERN void +ngtcp2_crypto_aead_ctx_free(ngtcp2_crypto_aead_ctx *aead_ctx); + +/** + * @function + * + * `ngtcp2_crypto_delete_crypto_aead_ctx_cb` deletes the given + * |aead_ctx|. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.delete_crypto_aead_ctx` field. + */ +NGTCP2_EXTERN void ngtcp2_crypto_delete_crypto_aead_ctx_cb( + ngtcp2_conn *conn, ngtcp2_crypto_aead_ctx *aead_ctx, void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_delete_crypto_cipher_ctx_cb` deletes the given + * |cipher_ctx|. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.delete_crypto_cipher_ctx` field. + */ +NGTCP2_EXTERN void ngtcp2_crypto_delete_crypto_cipher_ctx_cb( + ngtcp2_conn *conn, ngtcp2_crypto_cipher_ctx *cipher_ctx, void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_get_path_challenge_data_cb` writes unpredictable + * sequence of :macro:`NGTCP2_PATH_CHALLENGE_DATALEN` bytes to |data| + * which is sent with PATH_CHALLENGE frame. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.get_path_challenge_data` field. + */ +NGTCP2_EXTERN int ngtcp2_crypto_get_path_challenge_data_cb(ngtcp2_conn *conn, + uint8_t *data, + void *user_data); + +/** + * @function + * + * `ngtcp2_crypto_version_negotiation_cb` installs Initial keys for + * |version| which is negotiated or being negotiated. |client_dcid| + * is the destination connection ID in first Initial packet from + * client. + * + * This function can be directly passed to + * :member:`ngtcp2_callbacks.version_negotiation` field. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_version_negotiation_cb(ngtcp2_conn *conn, uint32_t version, + const ngtcp2_cid *client_dcid, + void *user_data); + +typedef struct ngtcp2_crypto_conn_ref ngtcp2_crypto_conn_ref; + +/** + * @functypedef + * + * :type:`ngtcp2_crypto_get_conn` is a callback function to get a + * pointer to :type:`ngtcp2_conn` from |conn_ref|. The implementation + * must return non-NULL :type:`ngtcp2_conn` object. + */ +typedef ngtcp2_conn *(*ngtcp2_crypto_get_conn)( + ngtcp2_crypto_conn_ref *conn_ref); + +/** + * @struct + * + * :type:`ngtcp2_crypto_conn_ref` is a structure to get a pointer to + * :type:`ngtcp2_conn`. It is meant to be set to TLS native handle as + * an application specific data (e.g. SSL_set_app_data in quictls). + */ +typedef struct ngtcp2_crypto_conn_ref { + /** + * :member:`get_conn` is a callback function to get a pointer to + * :type:`ngtcp2_conn` object. + */ + ngtcp2_crypto_get_conn get_conn; + /** + * :member:`user_data` is a pointer to arbitrary user data. + */ + void *user_data; +} ngtcp2_crypto_conn_ref; + +#ifdef __cplusplus +} +#endif /* defined(__cplusplus) */ + +#endif /* !defined(NGTCP2_CRYPTO_H) */ diff --git a/curl/include/ngtcp2/ngtcp2_crypto_quictls.h b/curl/include/ngtcp2/ngtcp2_crypto_quictls.h new file mode 100644 index 0000000..22e3eda --- /dev/null +++ b/curl/include/ngtcp2/ngtcp2_crypto_quictls.h @@ -0,0 +1,147 @@ +/* + * ngtcp2 + * + * Copyright (c) 2019 ngtcp2 contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGTCP2_CRYPTO_QUICTLS_H +#define NGTCP2_CRYPTO_QUICTLS_H + +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif /* defined(__cplusplus) */ + +/** + * @macrosection + * + * quictls specific error codes + */ + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_QUICTLS_ERR_TLS_WANT_X509_LOOKUP` is the + * error code which indicates that TLS handshake routine is + * interrupted by X509 certificate lookup. See + * :macro:`SSL_ERROR_WANT_X509_LOOKUP` error description from + * `SSL_do_handshake`. + */ +#define NGTCP2_CRYPTO_QUICTLS_ERR_TLS_WANT_X509_LOOKUP -10001 + +/** + * @macro + * + * :macro:`NGTCP2_CRYPTO_QUICTLS_ERR_TLS_WANT_CLIENT_HELLO_CB` is the + * error code which indicates that TLS handshake routine is + * interrupted by client hello callback. See + * :macro:`SSL_ERROR_WANT_CLIENT_HELLO_CB` error description from + * `SSL_do_handshake`. + */ +#define NGTCP2_CRYPTO_QUICTLS_ERR_TLS_WANT_CLIENT_HELLO_CB -10002 + +/** + * @function + * + * `ngtcp2_crypto_quictls_from_ossl_encryption_level` translates + * |ossl_level| to :type:`ngtcp2_encryption_level`. This function is + * only available for quictls backend. + */ +NGTCP2_EXTERN ngtcp2_encryption_level +ngtcp2_crypto_quictls_from_ossl_encryption_level( + OSSL_ENCRYPTION_LEVEL ossl_level); + +/** + * @function + * + * `ngtcp2_crypto_quictls_from_ngtcp2_encryption_level` translates + * |encryption_level| to OSSL_ENCRYPTION_LEVEL. This function is only + * available for quictls backend. + */ +NGTCP2_EXTERN OSSL_ENCRYPTION_LEVEL +ngtcp2_crypto_quictls_from_ngtcp2_encryption_level( + ngtcp2_encryption_level encryption_level); + +/** + * @function + * + * `ngtcp2_crypto_quictls_configure_server_context` configures + * |ssl_ctx| for server side QUIC connection. It performs the + * following modifications: + * + * - Set minimum and maximum TLS version to TLSv1.3. + * - Set SSL_QUIC_METHOD by calling SSL_CTX_set_quic_method. + * + * Application must set a pointer to :type:`ngtcp2_crypto_conn_ref` to + * SSL object by calling SSL_set_app_data, and + * :type:`ngtcp2_crypto_conn_ref` object must have + * :member:`ngtcp2_crypto_conn_ref.get_conn` field assigned to get + * :type:`ngtcp2_conn`. + * + * It returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_quictls_configure_server_context(SSL_CTX *ssl_ctx); + +/** + * @function + * + * `ngtcp2_crypto_quictls_configure_client_context` configures + * |ssl_ctx| for client side QUIC connection. It performs the + * following modifications: + * + * - Set minimum and maximum TLS version to TLSv1.3. + * - Set SSL_QUIC_METHOD by calling SSL_CTX_set_quic_method. + * + * Application must set a pointer to :type:`ngtcp2_crypto_conn_ref` to + * SSL object by calling SSL_set_app_data, and + * :type:`ngtcp2_crypto_conn_ref` object must have + * :member:`ngtcp2_crypto_conn_ref.get_conn` field assigned to get + * :type:`ngtcp2_conn`. + * + * It returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int +ngtcp2_crypto_quictls_configure_client_context(SSL_CTX *ssl_ctx); + +/** + * @function + * + * `ngtcp2_crypto_quictls_init` initializes libngtcp2_crypto_quictls + * library. This initialization is optional. For quictls >= 3.0, it + * is highly recommended to call this function before any use of + * libngtcp2_crypto library API to workaround the performance + * regression. Note that calling this function does not solve all + * performance issues introduced in 3.x. For quictls 1.1.1, this + * function does nothing, and always succeeds. + * + * This function returns 0 if it succeeds, or -1. + */ +NGTCP2_EXTERN int ngtcp2_crypto_quictls_init(void); + +#ifdef __cplusplus +} +#endif /* defined(__cplusplus) */ + +#endif /* !defined(NGTCP2_CRYPTO_QUICTLS_H) */ diff --git a/curl/include/ngtcp2/version.h b/curl/include/ngtcp2/version.h new file mode 100644 index 0000000..5a261a2 --- /dev/null +++ b/curl/include/ngtcp2/version.h @@ -0,0 +1,51 @@ +/* + * ngtcp2 + * + * Copyright (c) 2016 ngtcp2 contributors + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef NGTCP2_VERSION_H +#define NGTCP2_VERSION_H + +/** + * @macrosection + * + * Library version macros + */ + +/** + * @macro + * + * Version number of the ngtcp2 library release. + */ +#define NGTCP2_VERSION "1.13.0" + +/** + * @macro + * + * Numerical representation of the version number of the ngtcp2 + * library release. This is a 24 bit number with 8 bits for major + * number, 8 bits for minor and 8 bits for patch. Version 1.2.3 + * becomes 0x010203. + */ +#define NGTCP2_VERSION_NUM 0x010d00 + +#endif /* !defined(NGTCP2_VERSION_H) */ diff --git a/curl/include/openssl/aes.h b/curl/include/openssl/aes.h new file mode 100644 index 0000000..8903a8e --- /dev/null +++ b/curl/include/openssl/aes.h @@ -0,0 +1,120 @@ +/* $OpenBSD: aes.h,v 1.16 2025/01/25 17:59:44 tb Exp $ */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +#ifndef HEADER_AES_H +#define HEADER_AES_H + +#include + +#include + +#define AES_ENCRYPT 1 +#define AES_DECRYPT 0 + +/* Because array size can't be a const in C, the following two are macros. + Both sizes are in bytes. */ +#define AES_MAXNR 14 +#define AES_BLOCK_SIZE 16 + +#ifdef __cplusplus +extern "C" { +#endif + +/* This should be a hidden type, but EVP requires that the size be known */ +struct aes_key_st { + unsigned int rd_key[4 *(AES_MAXNR + 1)]; + int rounds; +}; +typedef struct aes_key_st AES_KEY; + +int AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); + +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_decrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); + +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char *ivec, int *num, + const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char *ivec, int *num, + const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char *ivec, int *num, + const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char *ivec, int *num); +void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char ivec[AES_BLOCK_SIZE], + unsigned char ecount_buf[AES_BLOCK_SIZE], unsigned int *num); +/* NB: the IV is _two_ blocks long */ +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, unsigned char *ivec, const int enc); + +int AES_wrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, + const unsigned char *in, unsigned int inlen); +int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, unsigned char *out, + const unsigned char *in, unsigned int inlen); + + +#ifdef __cplusplus +} +#endif + +#endif /* !HEADER_AES_H */ diff --git a/curl/include/openssl/asn1.h b/curl/include/openssl/asn1.h new file mode 100644 index 0000000..aeabbc0 --- /dev/null +++ b/curl/include/openssl/asn1.h @@ -0,0 +1,1124 @@ +/* $OpenBSD: asn1.h,v 1.92 2024/04/10 14:55:12 beck Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ASN1_H +#define HEADER_ASN1_H + +#include + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define V_ASN1_UNIVERSAL 0x00 +#define V_ASN1_APPLICATION 0x40 +#define V_ASN1_CONTEXT_SPECIFIC 0x80 +#define V_ASN1_PRIVATE 0xc0 + +#define V_ASN1_CONSTRUCTED 0x20 +#define V_ASN1_PRIMITIVE_TAG 0x1f +#define V_ASN1_PRIMATIVE_TAG 0x1f + +#define V_ASN1_APP_CHOOSE -2 /* let the recipient choose */ +#define V_ASN1_OTHER -3 /* used in ASN1_TYPE */ +#define V_ASN1_ANY -4 /* used in ASN1 template code */ + +#define V_ASN1_NEG 0x100 /* negative flag */ + +#define V_ASN1_UNDEF -1 +#define V_ASN1_EOC 0 +#define V_ASN1_BOOLEAN 1 /**/ +#define V_ASN1_INTEGER 2 +#define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +#define V_ASN1_BIT_STRING 3 +#define V_ASN1_OCTET_STRING 4 +#define V_ASN1_NULL 5 +#define V_ASN1_OBJECT 6 +#define V_ASN1_OBJECT_DESCRIPTOR 7 +#define V_ASN1_EXTERNAL 8 +#define V_ASN1_REAL 9 +#define V_ASN1_ENUMERATED 10 +#define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) +#define V_ASN1_UTF8STRING 12 +#define V_ASN1_SEQUENCE 16 +#define V_ASN1_SET 17 +#define V_ASN1_NUMERICSTRING 18 /**/ +#define V_ASN1_PRINTABLESTRING 19 +#define V_ASN1_T61STRING 20 +#define V_ASN1_TELETEXSTRING 20 /* alias */ +#define V_ASN1_VIDEOTEXSTRING 21 /**/ +#define V_ASN1_IA5STRING 22 +#define V_ASN1_UTCTIME 23 +#define V_ASN1_GENERALIZEDTIME 24 /**/ +#define V_ASN1_GRAPHICSTRING 25 /**/ +#define V_ASN1_ISO64STRING 26 /**/ +#define V_ASN1_VISIBLESTRING 26 /* alias */ +#define V_ASN1_GENERALSTRING 27 /**/ +#define V_ASN1_UNIVERSALSTRING 28 /**/ +#define V_ASN1_BMPSTRING 30 + +#define B_ASN1_NUMERICSTRING 0x0001 +#define B_ASN1_PRINTABLESTRING 0x0002 +#define B_ASN1_T61STRING 0x0004 +#define B_ASN1_TELETEXSTRING 0x0004 +#define B_ASN1_VIDEOTEXSTRING 0x0008 +#define B_ASN1_IA5STRING 0x0010 +#define B_ASN1_GRAPHICSTRING 0x0020 +#define B_ASN1_ISO64STRING 0x0040 +#define B_ASN1_VISIBLESTRING 0x0040 +#define B_ASN1_GENERALSTRING 0x0080 +#define B_ASN1_UNIVERSALSTRING 0x0100 +#define B_ASN1_OCTET_STRING 0x0200 +#define B_ASN1_BIT_STRING 0x0400 +#define B_ASN1_BMPSTRING 0x0800 +#define B_ASN1_UNKNOWN 0x1000 +#define B_ASN1_UTF8STRING 0x2000 +#define B_ASN1_UTCTIME 0x4000 +#define B_ASN1_GENERALIZEDTIME 0x8000 +#define B_ASN1_SEQUENCE 0x10000 + +/* For use with ASN1_mbstring_copy() */ +#define MBSTRING_FLAG 0x1000 +#define MBSTRING_UTF8 (MBSTRING_FLAG) +#define MBSTRING_ASC (MBSTRING_FLAG|1) +#define MBSTRING_BMP (MBSTRING_FLAG|2) +#define MBSTRING_UNIV (MBSTRING_FLAG|4) + +#define SMIME_OLDMIME 0x400 +#define SMIME_CRLFEOL 0x800 +#define SMIME_STREAM 0x1000 + +struct X509_algor_st; +DECLARE_STACK_OF(X509_ALGOR) + +#define DECLARE_ASN1_SET_OF(type) /* filled in by mkstack.pl */ +#define IMPLEMENT_ASN1_SET_OF(type) /* nothing, no longer needed */ + +#define ASN1_STRING_FLAG_BITS_LEFT 0x08 /* Set if 0x07 has bits left value */ +/* This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should + * be inserted in the memory buffer + */ +#define ASN1_STRING_FLAG_NDEF 0x010 + +/* This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been + * accessed. The flag will be reset when content has been written to it. + */ + +#define ASN1_STRING_FLAG_CONT 0x020 +/* This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING + * type. + */ +#define ASN1_STRING_FLAG_MSTRING 0x040 +/* This is the base type that holds just about everything :-) */ +struct asn1_string_st { + int length; + int type; + unsigned char *data; + /* The value of the following field depends on the type being + * held. It is mostly being used for BIT_STRING so if the + * input data has a non-zero 'unused bits' value, it will be + * handled correctly */ + long flags; +}; + +/* ASN1_ENCODING structure: this is used to save the received + * encoding of an ASN1 type. This is useful to get round + * problems with invalid encodings which can break signatures. + */ + +typedef struct ASN1_ENCODING_st { + unsigned char *enc; /* DER encoding */ + long len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +#define ASN1_LONG_UNDEF 0x7fffffffL + +#define STABLE_FLAGS_MALLOC 0x01 +#define STABLE_NO_MASK 0x02 +#define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) +#define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) + +typedef struct asn1_string_table_st { + int nid; + long minsize; + long maxsize; + unsigned long mask; + unsigned long flags; +} ASN1_STRING_TABLE; + +/* Declarations for template structures: for full definitions + * see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +#ifndef LIBRESSL_INTERNAL + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) + +#define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) + +#define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +#define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + +#define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(itname) + +#define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) + +#define DECLARE_ASN1_NDEF_FUNCTION(name) \ + int i2d_##name##_NDEF(name *a, unsigned char **out); + +#define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + +#define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + type *name##_new(void); \ + void name##_free(type *a); + +#define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) + +#define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx); + +#endif /* !LIBRESSL_INTERNAL */ + +#define D2I_OF(type) type *(*)(type **,const unsigned char **,long) +#define I2D_OF(type) int (*)(type *,unsigned char **) +#define I2D_OF_const(type) int (*)(const type *,unsigned char **) + +#define CHECKED_D2I_OF(type, d2i) \ + ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) +#define CHECKED_I2D_OF(type, i2d) \ + ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) +#define CHECKED_NEW_OF(type, xnew) \ + ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) +#define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +#define CHECKED_PPTR_OF(type, p) \ + ((void**) (1 ? p : (type**)0)) + +#define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) +#define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) +#define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) + +TYPEDEF_D2I2D_OF(void); + +/* The following macros and typedefs allow an ASN1_ITEM + * to be embedded in a structure and referenced. Since + * the ASN1_ITEM pointers need to be globally accessible + * (possibly from shared libraries) they may exist in + * different forms. On platforms that support it the + * ASN1_ITEM structure itself will be globally exported. + * Other platforms will export a function that returns + * an ASN1_ITEM pointer. + * + * To handle both cases transparently the macros below + * should be used instead of hard coding an ASN1_ITEM + * pointer in a structure. + * + * The structure will look like this: + * + * typedef struct SOMETHING_st { + * ... + * ASN1_ITEM_EXP *iptr; + * ... + * } SOMETHING; + * + * It would be initialised as e.g.: + * + * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; + * + * and the actual pointer extracted with: + * + * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); + * + * Finally an ASN1_ITEM pointer can be extracted from an + * appropriate reference with: ASN1_ITEM_rptr(X509). This + * would be used when a function takes an ASN1_ITEM * argument. + * + */ + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM ASN1_ITEM_EXP; + +#ifndef LIBRESSL_INTERNAL + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +#define ASN1_ITEM_ptr(iptr) (iptr) + +/* Macro to include ASN1_ITEM pointer from base type */ +#define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +#define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +#define DECLARE_ASN1_ITEM(name) \ + extern const ASN1_ITEM name##_it; + +#endif /* !LIBRESSL_INTERNAL */ + +/* Parameters used by ASN1_STRING_print_ex() */ + +/* These determine which characters to escape: + * RFC2253 special characters, control characters and + * MSB set characters + */ + +#define ASN1_STRFLGS_ESC_2253 1 +#define ASN1_STRFLGS_ESC_CTRL 2 +#define ASN1_STRFLGS_ESC_MSB 4 + + +/* This flag determines how we do escaping: normally + * RC2253 backslash only, set this to use backslash and + * quote. + */ + +#define ASN1_STRFLGS_ESC_QUOTE 8 + + +/* These three flags are internal use only. */ + +/* Character is a valid PrintableString character */ +#define CHARTYPE_PRINTABLESTRING 0x10 +/* Character needs escaping if it is the first character */ +#define CHARTYPE_FIRST_ESC_2253 0x20 +/* Character needs escaping if it is the last character */ +#define CHARTYPE_LAST_ESC_2253 0x40 + +/* NB the internal flags are safely reused below by flags + * handled at the top level. + */ + +/* If this is set we convert all character strings + * to UTF8 first + */ + +#define ASN1_STRFLGS_UTF8_CONVERT 0x10 + +/* If this is set we don't attempt to interpret content: + * just assume all strings are 1 byte per character. This + * will produce some pretty odd looking output! + */ + +#define ASN1_STRFLGS_IGNORE_TYPE 0x20 + +/* If this is set we include the string type in the output */ +#define ASN1_STRFLGS_SHOW_TYPE 0x40 + +/* This determines which strings to display and which to + * 'dump' (hex dump of content octets or DER encoding). We can + * only dump non character strings or everything. If we + * don't dump 'unknown' they are interpreted as character + * strings with 1 octet per character and are subject to + * the usual escaping options. + */ + +#define ASN1_STRFLGS_DUMP_ALL 0x80 +#define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 + +/* These determine what 'dumping' does, we can dump the + * content octets or the DER encoding: both use the + * RFC2253 #NNNNN notation. + */ + +#define ASN1_STRFLGS_DUMP_DER 0x200 + +/* All the string flags consistent with RFC2253, + * escaping control characters isn't essential in + * RFC2253 but it is advisable anyway. + */ + +#define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +DECLARE_STACK_OF(ASN1_INTEGER) + +DECLARE_STACK_OF(ASN1_GENERALSTRING) + +typedef struct asn1_type_st { + int type; + union { + char *ptr; + ASN1_BOOLEAN boolean; + ASN1_STRING * asn1_string; + ASN1_OBJECT * object; + ASN1_INTEGER * integer; + ASN1_ENUMERATED * enumerated; + ASN1_BIT_STRING * bit_string; + ASN1_OCTET_STRING * octet_string; + ASN1_PRINTABLESTRING * printablestring; + ASN1_T61STRING * t61string; + ASN1_IA5STRING * ia5string; + ASN1_GENERALSTRING * generalstring; + ASN1_BMPSTRING * bmpstring; + ASN1_UNIVERSALSTRING * universalstring; + ASN1_UTCTIME * utctime; + ASN1_GENERALIZEDTIME * generalizedtime; + ASN1_VISIBLESTRING * visiblestring; + ASN1_UTF8STRING * utf8string; + /* set and sequence are left complete and still + * contain the set or sequence bytes */ + ASN1_STRING * set; + ASN1_STRING * sequence; + ASN1_VALUE * asn1_value; + } value; +} ASN1_TYPE; + +DECLARE_STACK_OF(ASN1_TYPE) + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +ASN1_SEQUENCE_ANY *d2i_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len); +int i2d_ASN1_SEQUENCE_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out); +extern const ASN1_ITEM ASN1_SEQUENCE_ANY_it; +ASN1_SEQUENCE_ANY *d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a, const unsigned char **in, long len); +int i2d_ASN1_SET_ANY(const ASN1_SEQUENCE_ANY *a, unsigned char **out); +extern const ASN1_ITEM ASN1_SET_ANY_it; + +/* This is used to contain a list of bit names */ +typedef struct BIT_STRING_BITNAME_st { + int bitnum; + const char *lname; + const char *sname; +} BIT_STRING_BITNAME; + +#define B_ASN1_TIME \ + B_ASN1_UTCTIME | \ + B_ASN1_GENERALIZEDTIME + +#define B_ASN1_PRINTABLE \ + B_ASN1_NUMERICSTRING| \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_T61STRING| \ + B_ASN1_IA5STRING| \ + B_ASN1_BIT_STRING| \ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING|\ + B_ASN1_SEQUENCE|\ + B_ASN1_UNKNOWN + +#define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING + +#define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING| \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING + +ASN1_TYPE *ASN1_TYPE_new(void); +void ASN1_TYPE_free(ASN1_TYPE *a); +ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len); +int i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out); +extern const ASN1_ITEM ASN1_ANY_it; + +int ASN1_TYPE_get(const ASN1_TYPE *a); +void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); +int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); +int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); + +ASN1_OBJECT *ASN1_OBJECT_new(void); +void ASN1_OBJECT_free(ASN1_OBJECT *a); +int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp); +ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); + +extern const ASN1_ITEM ASN1_OBJECT_it; + +DECLARE_STACK_OF(ASN1_OBJECT) + +ASN1_STRING *ASN1_STRING_new(void); +void ASN1_STRING_free(ASN1_STRING *a); +int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); +ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); +ASN1_STRING *ASN1_STRING_type_new(int type); +int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); + /* Since this is used to store all sorts of things, via macros, for now, make + its data void * */ +int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); +void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); +int ASN1_STRING_length(const ASN1_STRING *x); +void ASN1_STRING_length_set(ASN1_STRING *x, int n); +int ASN1_STRING_type(const ASN1_STRING *x); +unsigned char *ASN1_STRING_data(ASN1_STRING *x); +const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x); + +ASN1_BIT_STRING *ASN1_BIT_STRING_new(void); +void ASN1_BIT_STRING_free(ASN1_BIT_STRING *a); +ASN1_BIT_STRING *d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len); +int i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_BIT_STRING_it; +int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); +int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); +int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n); + +ASN1_INTEGER *ASN1_INTEGER_new(void); +void ASN1_INTEGER_free(ASN1_INTEGER *a); +ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len); +int i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out); +extern const ASN1_ITEM ASN1_INTEGER_it; +ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +ASN1_INTEGER * ASN1_INTEGER_dup(const ASN1_INTEGER *x); +int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); + +ASN1_ENUMERATED *ASN1_ENUMERATED_new(void); +void ASN1_ENUMERATED_free(ASN1_ENUMERATED *a); +ASN1_ENUMERATED *d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len); +int i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out); +extern const ASN1_ITEM ASN1_ENUMERATED_it; + +int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); +ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); +ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); + +int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); + +int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, + time_t t); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, + time_t t, int offset_day, long offset_sec); +int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); + +ASN1_OCTET_STRING *ASN1_OCTET_STRING_new(void); +void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a); +ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len); +int i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_OCTET_STRING_it; +ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); +int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, + const ASN1_OCTET_STRING *b); +int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, + int len); + +ASN1_VISIBLESTRING *ASN1_VISIBLESTRING_new(void); +void ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a); +ASN1_VISIBLESTRING *d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len); +int i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_VISIBLESTRING_it; +ASN1_UNIVERSALSTRING *ASN1_UNIVERSALSTRING_new(void); +void ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a); +ASN1_UNIVERSALSTRING *d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len); +int i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_UNIVERSALSTRING_it; +ASN1_UTF8STRING *ASN1_UTF8STRING_new(void); +void ASN1_UTF8STRING_free(ASN1_UTF8STRING *a); +ASN1_UTF8STRING *d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len); +int i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_UTF8STRING_it; +ASN1_NULL *ASN1_NULL_new(void); +void ASN1_NULL_free(ASN1_NULL *a); +ASN1_NULL *d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len); +int i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out); +extern const ASN1_ITEM ASN1_NULL_it; +ASN1_BMPSTRING *ASN1_BMPSTRING_new(void); +void ASN1_BMPSTRING_free(ASN1_BMPSTRING *a); +ASN1_BMPSTRING *d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len); +int i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_BMPSTRING_it; + +ASN1_STRING *ASN1_PRINTABLE_new(void); +void ASN1_PRINTABLE_free(ASN1_STRING *a); +ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len); +int i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_PRINTABLE_it; + +ASN1_STRING *DIRECTORYSTRING_new(void); +void DIRECTORYSTRING_free(ASN1_STRING *a); +ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len); +int i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out); +extern const ASN1_ITEM DIRECTORYSTRING_it; +ASN1_STRING *DISPLAYTEXT_new(void); +void DISPLAYTEXT_free(ASN1_STRING *a); +ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len); +int i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out); +extern const ASN1_ITEM DISPLAYTEXT_it; +ASN1_PRINTABLESTRING *ASN1_PRINTABLESTRING_new(void); +void ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a); +ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len); +int i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_PRINTABLESTRING_it; +ASN1_T61STRING *ASN1_T61STRING_new(void); +void ASN1_T61STRING_free(ASN1_T61STRING *a); +ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len); +int i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_T61STRING_it; +ASN1_IA5STRING *ASN1_IA5STRING_new(void); +void ASN1_IA5STRING_free(ASN1_IA5STRING *a); +ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len); +int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_IA5STRING_it; +ASN1_GENERALSTRING *ASN1_GENERALSTRING_new(void); +void ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a); +ASN1_GENERALSTRING *d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len); +int i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out); +extern const ASN1_ITEM ASN1_GENERALSTRING_it; +ASN1_UTCTIME *ASN1_UTCTIME_new(void); +void ASN1_UTCTIME_free(ASN1_UTCTIME *a); +ASN1_UTCTIME *d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len); +int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out); +extern const ASN1_ITEM ASN1_UTCTIME_it; +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_new(void); +void ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len); +int i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out); +extern const ASN1_ITEM ASN1_GENERALIZEDTIME_it; +ASN1_TIME *ASN1_TIME_new(void); +void ASN1_TIME_free(ASN1_TIME *a); +ASN1_TIME *d2i_ASN1_TIME(ASN1_TIME **a, const unsigned char **in, long len); +int i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **out); +extern const ASN1_ITEM ASN1_TIME_it; + +int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm); +int ASN1_TIME_compare(const ASN1_TIME *t1, const ASN1_TIME *t2); +int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t2); +int ASN1_TIME_normalize(ASN1_TIME *t); +int ASN1_TIME_set_string_X509(ASN1_TIME *time, const char *str); +int ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, + const ASN1_TIME *to); + +extern const ASN1_ITEM ASN1_OCTET_STRING_NDEF_it; + +ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); +ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, + long offset_sec); +int ASN1_TIME_check(const ASN1_TIME *t); +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, + ASN1_GENERALIZEDTIME **out); +int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); + +#ifndef OPENSSL_NO_BIO +int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a); +int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); +int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a); +int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); +int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a); +int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); +int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type); +#endif +int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a); + +int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); +ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, + const char *sn, const char *ln); + +int ASN1_INTEGER_get_uint64(uint64_t *out_val, const ASN1_INTEGER *aint); +int ASN1_INTEGER_set_uint64(ASN1_INTEGER *aint, uint64_t val); +int ASN1_INTEGER_get_int64(int64_t *out_val, const ASN1_INTEGER *aint); +int ASN1_INTEGER_set_int64(ASN1_INTEGER *aint, int64_t val); +int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); +long ASN1_INTEGER_get(const ASN1_INTEGER *a); +ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); +BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); + +int ASN1_ENUMERATED_get_int64(int64_t *out_val, const ASN1_ENUMERATED *aenum); +int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *aenum, int64_t val); +int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); +long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a); +ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai); +BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn); + +/* General */ +/* given a string, return the correct type, max is the maximum length */ +int ASN1_PRINTABLE_type(const unsigned char *s, int max); + +/* SPECIALS */ +int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, + int *pclass, long omax); +void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag, + int xclass); +int ASN1_put_eoc(unsigned char **pp); +int ASN1_object_size(int constructed, int length, int tag); + +void *ASN1_item_dup(const ASN1_ITEM *it, void *x); + +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); + +void *ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x); + +#define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); + +#define ASN1_i2d_fp_of(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +#define ASN1_i2d_fp_of_const(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); +int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, + unsigned long flags); + +int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in); + +#ifndef OPENSSL_NO_BIO +void *ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x); + +#define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); + +#define ASN1_i2d_bio_of(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +#define ASN1_i2d_bio_of_const(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); +int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); +int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); +int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); +int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); +int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags); +int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); +int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, int dump); +#endif + +unsigned long ASN1_tag2bit(int tag); +const char *ASN1_tag2str(int tag); + +int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); + +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, const unsigned char *data, int len); +int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, + int max_len); +int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, const unsigned char *data, + int len); +int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, + unsigned char *data, int max_len); + +ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, + ASN1_OCTET_STRING **oct); +void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it); + +void ASN1_STRING_set_default_mask(unsigned long mask); +int ASN1_STRING_set_default_mask_asc(const char *p); +unsigned long ASN1_STRING_get_default_mask(void); +int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask); +int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask, long minsize, long maxsize); + +ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, + const unsigned char *in, int inlen, int inform, int nid); +const ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); + +/* ASN1 template functions */ + +/* Old API compatible functions */ +ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); +void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it); +int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); + +ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf); +ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf); + +/* ASN1 Print flags */ + +/* Indicate missing OPTIONAL fields */ +#define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 +/* Mark start and end of SEQUENCE */ +#define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 +/* Mark start and end of SEQUENCE/SET OF */ +#define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 +/* Show the ASN1 type of primitives */ +#define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 +/* Don't show ASN1 type of ANY */ +#define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 +/* Don't show ASN1 type of MSTRINGs */ +#define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 +/* Don't show field names in SEQUENCE */ +#define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 +/* Show structure names of each SEQUENCE field */ +#define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 +/* Don't show structure name even at top level */ +#define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 + +int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, + const ASN1_ITEM *it, const ASN1_PCTX *pctx); + +int SMIME_crlf_copy(BIO *in, BIO *out, int flags); +int SMIME_text(BIO *in, BIO *out); + +void ERR_load_ASN1_strings(void); + +/* Error codes for the ASN1 functions. */ + +/* Function codes. */ +#define ASN1_F_A2D_ASN1_OBJECT 100 +#define ASN1_F_A2I_ASN1_ENUMERATED 101 +#define ASN1_F_A2I_ASN1_INTEGER 102 +#define ASN1_F_A2I_ASN1_STRING 103 +#define ASN1_F_APPEND_EXP 176 +#define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 +#define ASN1_F_ASN1_CB 177 +#define ASN1_F_ASN1_CHECK_TLEN 104 +#define ASN1_F_ASN1_COLLATE_PRIMITIVE 105 +#define ASN1_F_ASN1_COLLECT 106 +#define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 +#define ASN1_F_ASN1_D2I_FP 109 +#define ASN1_F_ASN1_D2I_READ_BIO 107 +#define ASN1_F_ASN1_DIGEST 184 +#define ASN1_F_ASN1_DO_ADB 110 +#define ASN1_F_ASN1_DUP 111 +#define ASN1_F_ASN1_ENUMERATED_SET 112 +#define ASN1_F_ASN1_ENUMERATED_TO_BN 113 +#define ASN1_F_ASN1_EX_C2I 204 +#define ASN1_F_ASN1_FIND_END 190 +#define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 +#define ASN1_F_ASN1_GENERALIZEDTIME_SET 185 +#define ASN1_F_ASN1_GENERATE_V3 178 +#define ASN1_F_ASN1_GET_OBJECT 114 +#define ASN1_F_ASN1_HEADER_NEW 115 +#define ASN1_F_ASN1_I2D_BIO 116 +#define ASN1_F_ASN1_I2D_FP 117 +#define ASN1_F_ASN1_INTEGER_SET 118 +#define ASN1_F_ASN1_INTEGER_TO_BN 119 +#define ASN1_F_ASN1_ITEM_D2I_FP 206 +#define ASN1_F_ASN1_ITEM_DUP 191 +#define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121 +#define ASN1_F_ASN1_ITEM_EX_D2I 120 +#define ASN1_F_ASN1_ITEM_I2D_BIO 192 +#define ASN1_F_ASN1_ITEM_I2D_FP 193 +#define ASN1_F_ASN1_ITEM_PACK 198 +#define ASN1_F_ASN1_ITEM_SIGN 195 +#define ASN1_F_ASN1_ITEM_SIGN_CTX 220 +#define ASN1_F_ASN1_ITEM_UNPACK 199 +#define ASN1_F_ASN1_ITEM_VERIFY 197 +#define ASN1_F_ASN1_MBSTRING_NCOPY 122 +#define ASN1_F_ASN1_OBJECT_NEW 123 +#define ASN1_F_ASN1_OUTPUT_DATA 214 +#define ASN1_F_ASN1_PACK_STRING 124 +#define ASN1_F_ASN1_PCTX_NEW 205 +#define ASN1_F_ASN1_PKCS5_PBE_SET 125 +#define ASN1_F_ASN1_SEQ_PACK 126 +#define ASN1_F_ASN1_SEQ_UNPACK 127 +#define ASN1_F_ASN1_SIGN 128 +#define ASN1_F_ASN1_STR2TYPE 179 +#define ASN1_F_ASN1_STRING_SET 186 +#define ASN1_F_ASN1_STRING_TABLE_ADD 129 +#define ASN1_F_ASN1_STRING_TYPE_NEW 130 +#define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 +#define ASN1_F_ASN1_TEMPLATE_NEW 133 +#define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 +#define ASN1_F_ASN1_TIME_ADJ 217 +#define ASN1_F_ASN1_TIME_SET 175 +#define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 +#define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 +#define ASN1_F_ASN1_UNPACK_STRING 136 +#define ASN1_F_ASN1_UTCTIME_ADJ 218 +#define ASN1_F_ASN1_UTCTIME_SET 187 +#define ASN1_F_ASN1_VERIFY 137 +#define ASN1_F_B64_READ_ASN1 209 +#define ASN1_F_B64_WRITE_ASN1 210 +#define ASN1_F_BIO_NEW_NDEF 208 +#define ASN1_F_BITSTR_CB 180 +#define ASN1_F_BN_TO_ASN1_ENUMERATED 138 +#define ASN1_F_BN_TO_ASN1_INTEGER 139 +#define ASN1_F_C2I_ASN1_BIT_STRING 189 +#define ASN1_F_C2I_ASN1_INTEGER 194 +#define ASN1_F_C2I_ASN1_OBJECT 196 +#define ASN1_F_COLLECT_DATA 140 +#define ASN1_F_D2I_ASN1_BIT_STRING 141 +#define ASN1_F_D2I_ASN1_BOOLEAN 142 +#define ASN1_F_D2I_ASN1_BYTES 143 +#define ASN1_F_D2I_ASN1_GENERALIZEDTIME 144 +#define ASN1_F_D2I_ASN1_HEADER 145 +#define ASN1_F_D2I_ASN1_INTEGER 146 +#define ASN1_F_D2I_ASN1_OBJECT 147 +#define ASN1_F_D2I_ASN1_SET 148 +#define ASN1_F_D2I_ASN1_TYPE_BYTES 149 +#define ASN1_F_D2I_ASN1_UINTEGER 150 +#define ASN1_F_D2I_ASN1_UTCTIME 151 +#define ASN1_F_D2I_AUTOPRIVATEKEY 207 +#define ASN1_F_D2I_NETSCAPE_RSA 152 +#define ASN1_F_D2I_NETSCAPE_RSA_2 153 +#define ASN1_F_D2I_PRIVATEKEY 154 +#define ASN1_F_D2I_PUBLICKEY 155 +#define ASN1_F_D2I_RSA_NET 200 +#define ASN1_F_D2I_RSA_NET_2 201 +#define ASN1_F_D2I_X509 156 +#define ASN1_F_D2I_X509_CINF 157 +#define ASN1_F_D2I_X509_PKEY 159 +#define ASN1_F_I2D_ASN1_BIO_STREAM 211 +#define ASN1_F_I2D_ASN1_SET 188 +#define ASN1_F_I2D_ASN1_TIME 160 +#define ASN1_F_I2D_DSA_PUBKEY 161 +#define ASN1_F_I2D_EC_PUBKEY 181 +#define ASN1_F_I2D_PRIVATEKEY 163 +#define ASN1_F_I2D_PUBLICKEY 164 +#define ASN1_F_I2D_RSA_NET 162 +#define ASN1_F_I2D_RSA_PUBKEY 165 +#define ASN1_F_LONG_C2I 166 +#define ASN1_F_OID_MODULE_INIT 174 +#define ASN1_F_PARSE_TAGGING 182 +#define ASN1_F_PKCS5_PBE2_SET_IV 167 +#define ASN1_F_PKCS5_PBE_SET 202 +#define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 +#define ASN1_F_PKCS5_PBKDF2_SET 219 +#define ASN1_F_SMIME_READ_ASN1 212 +#define ASN1_F_SMIME_TEXT 213 +#define ASN1_F_X509_CINF_NEW 168 +#define ASN1_F_X509_CRL_ADD0_REVOKED 169 +#define ASN1_F_X509_INFO_NEW 170 +#define ASN1_F_X509_NAME_ENCODE 203 +#define ASN1_F_X509_NAME_EX_D2I 158 +#define ASN1_F_X509_NAME_EX_NEW 171 +#define ASN1_F_X509_NEW 172 +#define ASN1_F_X509_PKEY_NEW 173 + +/* Reason codes. */ +#define ASN1_R_ADDING_OBJECT 171 +#define ASN1_R_ASN1_PARSE_ERROR 203 +#define ASN1_R_ASN1_SIG_PARSE_ERROR 204 +#define ASN1_R_AUX_ERROR 100 +#define ASN1_R_BAD_CLASS 101 +#define ASN1_R_BAD_OBJECT_HEADER 102 +#define ASN1_R_BAD_PASSWORD_READ 103 +#define ASN1_R_BAD_TAG 104 +#define ASN1_R_BAD_TEMPLATE 230 +#define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 +#define ASN1_R_BN_LIB 105 +#define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 +#define ASN1_R_BUFFER_TOO_SMALL 107 +#define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 +#define ASN1_R_CONTEXT_NOT_INITIALISED 217 +#define ASN1_R_DATA_IS_WRONG 109 +#define ASN1_R_DECODE_ERROR 110 +#define ASN1_R_DECODING_ERROR 111 +#define ASN1_R_DEPTH_EXCEEDED 174 +#define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 +#define ASN1_R_ENCODE_ERROR 112 +#define ASN1_R_ERROR_GETTING_TIME 173 +#define ASN1_R_ERROR_LOADING_SECTION 172 +#define ASN1_R_ERROR_PARSING_SET_ELEMENT 113 +#define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 +#define ASN1_R_EXPECTING_AN_INTEGER 115 +#define ASN1_R_EXPECTING_AN_OBJECT 116 +#define ASN1_R_EXPECTING_A_BOOLEAN 117 +#define ASN1_R_EXPECTING_A_TIME 118 +#define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 +#define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 +#define ASN1_R_FIELD_MISSING 121 +#define ASN1_R_FIRST_NUM_TOO_LARGE 122 +#define ASN1_R_HEADER_TOO_LONG 123 +#define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 +#define ASN1_R_ILLEGAL_BOOLEAN 176 +#define ASN1_R_ILLEGAL_CHARACTERS 124 +#define ASN1_R_ILLEGAL_FORMAT 177 +#define ASN1_R_ILLEGAL_HEX 178 +#define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 +#define ASN1_R_ILLEGAL_INTEGER 180 +#define ASN1_R_ILLEGAL_NEGATIVE_VALUE 226 +#define ASN1_R_ILLEGAL_NESTED_TAGGING 181 +#define ASN1_R_ILLEGAL_NULL 125 +#define ASN1_R_ILLEGAL_NULL_VALUE 182 +#define ASN1_R_ILLEGAL_OBJECT 183 +#define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 +#define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 +#define ASN1_R_ILLEGAL_TAGGED_ANY 127 +#define ASN1_R_ILLEGAL_TIME_VALUE 184 +#define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 +#define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 +#define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 220 +#define ASN1_R_INVALID_BMPSTRING_LENGTH 129 +#define ASN1_R_INVALID_DIGIT 130 +#define ASN1_R_INVALID_MIME_TYPE 205 +#define ASN1_R_INVALID_MODIFIER 186 +#define ASN1_R_INVALID_NUMBER 187 +#define ASN1_R_INVALID_OBJECT_ENCODING 216 +#define ASN1_R_INVALID_SEPARATOR 131 +#define ASN1_R_INVALID_TIME_FORMAT 132 +#define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 +#define ASN1_R_INVALID_UTF8STRING 134 +#define ASN1_R_IV_TOO_LARGE 135 +#define ASN1_R_LENGTH_ERROR 136 +#define ASN1_R_LIST_ERROR 188 +#define ASN1_R_MIME_NO_CONTENT_TYPE 206 +#define ASN1_R_MIME_PARSE_ERROR 207 +#define ASN1_R_MIME_SIG_PARSE_ERROR 208 +#define ASN1_R_MISSING_EOC 137 +#define ASN1_R_MISSING_SECOND_NUMBER 138 +#define ASN1_R_MISSING_VALUE 189 +#define ASN1_R_MSTRING_NOT_UNIVERSAL 139 +#define ASN1_R_MSTRING_WRONG_TAG 140 +#define ASN1_R_NESTED_ASN1_STRING 197 +#define ASN1_R_NESTED_TOO_DEEP 219 +#define ASN1_R_NON_HEX_CHARACTERS 141 +#define ASN1_R_NOT_ASCII_FORMAT 190 +#define ASN1_R_NOT_ENOUGH_DATA 142 +#define ASN1_R_NO_CONTENT_TYPE 209 +#define ASN1_R_NO_DEFAULT_DIGEST 201 +#define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 +#define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 +#define ASN1_R_NO_MULTIPART_BOUNDARY 211 +#define ASN1_R_NO_SIG_CONTENT_TYPE 212 +#define ASN1_R_NULL_IS_WRONG_LENGTH 144 +#define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 +#define ASN1_R_ODD_NUMBER_OF_CHARS 145 +#define ASN1_R_PRIVATE_KEY_HEADER_MISSING 146 +#define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 +#define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 +#define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 +#define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 +#define ASN1_R_SHORT_LINE 150 +#define ASN1_R_SIG_INVALID_MIME_TYPE 213 +#define ASN1_R_STREAMING_NOT_SUPPORTED 202 +#define ASN1_R_STRING_TOO_LONG 151 +#define ASN1_R_STRING_TOO_SHORT 152 +#define ASN1_R_TAG_VALUE_TOO_HIGH 153 +#define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 +#define ASN1_R_TIME_NOT_ASCII_FORMAT 193 +#define ASN1_R_TOO_LARGE 223 +#define ASN1_R_TOO_LONG 155 +#define ASN1_R_TOO_SMALL 224 +#define ASN1_R_TYPE_NOT_CONSTRUCTED 156 +#define ASN1_R_TYPE_NOT_PRIMITIVE 231 +#define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 +#define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 +#define ASN1_R_UNEXPECTED_EOC 159 +#define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 +#define ASN1_R_UNKNOWN_FORMAT 160 +#define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 +#define ASN1_R_UNKNOWN_OBJECT_TYPE 162 +#define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 +#define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 +#define ASN1_R_UNKNOWN_TAG 194 +#define ASN1_R_UNKOWN_FORMAT 195 +#define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 +#define ASN1_R_UNSUPPORTED_CIPHER 165 +#define ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM 166 +#define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 +#define ASN1_R_UNSUPPORTED_TYPE 196 +#define ASN1_R_WRONG_INTEGER_TYPE 225 +#define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 +#define ASN1_R_WRONG_TAG 168 +#define ASN1_R_WRONG_TYPE 169 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/asn1t.h b/curl/include/openssl/asn1t.h new file mode 100644 index 0000000..22cde48 --- /dev/null +++ b/curl/include/openssl/asn1t.h @@ -0,0 +1,904 @@ +/* $OpenBSD: asn1t.h,v 1.24 2024/07/08 16:24:22 beck Exp $ */ +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project 2000. + */ +/* ==================================================================== + * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ASN1T_H +#define HEADER_ASN1T_H + +#include + +#include + +#include + +/* ASN1 template defines, structures and functions */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef LIBRESSL_INTERNAL + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +#define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) + + +/* Macros for start and end of ASN1_ITEM definition */ + +#define ASN1_ITEM_start(itname) \ + const ASN1_ITEM itname##_it = { + +#define static_ASN1_ITEM_start(itname) \ + static const ASN1_ITEM itname##_it = { + +#define ASN1_ITEM_end(itname) \ + }; + + + +/* Macros to aid ASN1 template writing */ + +#define ASN1_ITEM_TEMPLATE(tname) \ + static const ASN1_TEMPLATE tname##_item_tt + +#define ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + +#define static_ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + + +/* This is a ASN1 type which just embeds a template */ + +/* + * This pair helps declare a SEQUENCE. We can do: + * + * ASN1_SEQUENCE(stname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END(stname) + * + * This will produce an ASN1_ITEM called stname_it + * for a structure called stname. + * + * If you want the same structure but a different + * name then use: + * + * ASN1_SEQUENCE(itname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END_name(stname, itname) + * + * This will create an item called itname_it using + * a structure called stname. + */ + +#define ASN1_SEQUENCE(tname) \ + static const ASN1_TEMPLATE tname##_seq_tt[] + +#define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) + +#define static_ASN1_SEQUENCE_END(stname) static_ASN1_SEQUENCE_END_name(stname, stname) + +#define ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +#define static_ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +#define ASN1_NDEF_SEQUENCE(tname) \ + ASN1_SEQUENCE(tname) + +#define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ + ASN1_SEQUENCE_cb(tname, cb) + +#define ASN1_SEQUENCE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_SEQUENCE(tname) + +#define ASN1_SEQUENCE_ref(tname, cb, lck) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), lck, cb, 0}; \ + ASN1_SEQUENCE(tname) + +#define ASN1_SEQUENCE_enc(tname, enc, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ + ASN1_SEQUENCE(tname) + +#define ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + +#define static_ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + +#define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +#define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +#define static_ASN1_SEQUENCE_END_cb(stname, tname) static_ASN1_SEQUENCE_END_ref(stname, tname) + +#define ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +#define static_ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +#define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + + +/* + * This pair helps declare a CHOICE type. We can do: + * + * ASN1_CHOICE(chname) = { + * ... CHOICE options ... + * ASN1_CHOICE_END(chname) + * + * This will produce an ASN1_ITEM called chname_it + * for a structure called chname. The structure + * definition must look like this: + * typedef struct { + * int type; + * union { + * ASN1_SOMETHING *opt1; + * ASN1_SOMEOTHER *opt2; + * } value; + * } chname; + * + * the name of the selector must be 'type'. + * to use an alternative selector name use the + * ASN1_CHOICE_END_selector() version. + */ + +#define ASN1_CHOICE(tname) \ + static const ASN1_TEMPLATE tname##_ch_tt[] + +#define ASN1_CHOICE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ + ASN1_CHOICE(tname) + +#define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) + +#define static_ASN1_CHOICE_END(stname) static_ASN1_CHOICE_END_name(stname, stname) + +#define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) + +#define static_ASN1_CHOICE_END_name(stname, tname) static_ASN1_CHOICE_END_selector(stname, tname, type) + +#define ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +#define static_ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +#define ASN1_CHOICE_END_cb(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/* This helps with the template wrapper form of ASN1_ITEM */ + +#define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ + (flags), (tag), 0,\ + #name, ASN1_ITEM_ref(type) } + +/* These help with SEQUENCE or CHOICE components */ + +/* used to declare other types */ + +#define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ + (flags), (tag), offsetof(stname, field),\ + #field, ASN1_ITEM_ref(type) } + +/* implicit and explicit helper macros */ + +#define ASN1_IMP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type) + +#define ASN1_EXP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type) + +/* Any defined by macros: the field used is in the table itself */ + +#define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +#define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +/* Plain simple type */ +#define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) + +/* OPTIONAL simple type */ +#define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* IMPLICIT tagged simple type */ +#define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) + +/* IMPLICIT tagged OPTIONAL simple type */ +#define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* Same as above but EXPLICIT */ + +#define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) +#define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) + +/* SEQUENCE OF type */ +#define ASN1_SEQUENCE_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) + +/* OPTIONAL SEQUENCE OF */ +#define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Same as above but for SET OF */ + +#define ASN1_SET_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) + +#define ASN1_SET_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ + +#define ASN1_IMP_SET_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +#define ASN1_EXP_SET_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +#define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +#define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +#define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +#define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +#define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +#define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +/* EXPLICIT using indefinite length constructed form */ +#define ASN1_NDEF_EXP(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) + +/* EXPLICIT OPTIONAL using indefinite length constructed form */ +#define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) + +/* Macros for the ASN1_ADB structure */ + +#define ASN1_ADB(name) \ + static const ASN1_ADB_TABLE name##_adbtbl[] + + +#define ASN1_ADB_END(name, flags, field, app_table, def, none) \ + ;\ + static const ASN1_ADB name##_adb = {\ + flags,\ + offsetof(name, field),\ + app_table,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + } + + +#define ADB_ENTRY(val, template) {val, template} + +#define ASN1_ADB_TEMPLATE(name) \ + static const ASN1_TEMPLATE name##_tt + +#endif /* !LIBRESSL_INTERNAL */ + +/* This is the ASN1 template structure that defines + * a wrapper round the actual type. It determines the + * actual position of the field in the value structure, + * various flags such as OPTIONAL and the field name. + */ + +struct ASN1_TEMPLATE_st { + unsigned long flags; /* Various flags */ + long tag; /* tag, not used if no tagging */ + unsigned long offset; /* Offset of this field in structure */ + const char *field_name; /* Field name */ + ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ +}; + +/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ + +#define ASN1_TEMPLATE_item(t) (t->item_ptr) +#define ASN1_TEMPLATE_adb(t) (t->item_ptr) + +typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; +typedef struct ASN1_ADB_st ASN1_ADB; + +struct ASN1_ADB_st { + unsigned long flags; /* Various flags */ + unsigned long offset; /* Offset of selector field */ + const ASN1_ADB_TABLE *tbl; /* Table of possible types */ + long tblcount; /* Number of entries in tbl */ + const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ + const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ +}; + +struct ASN1_ADB_TABLE_st { + long value; /* NID for an object or value for an int */ + const ASN1_TEMPLATE tt; /* item for this value */ +}; + +/* template flags */ + +/* Field is optional */ +#define ASN1_TFLG_OPTIONAL (0x1) + +/* Field is a SET OF */ +#define ASN1_TFLG_SET_OF (0x1 << 1) + +/* Field is a SEQUENCE OF */ +#define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) + +/* Special case: this refers to a SET OF that + * will be sorted into DER order when encoded *and* + * the corresponding STACK will be modified to match + * the new order. + */ +#define ASN1_TFLG_SET_ORDER (0x3 << 1) + +/* Mask for SET OF or SEQUENCE OF */ +#define ASN1_TFLG_SK_MASK (0x3 << 1) + +/* These flags mean the tag should be taken from the + * tag field. If EXPLICIT then the underlying type + * is used for the inner tag. + */ + +/* IMPLICIT tagging */ +#define ASN1_TFLG_IMPTAG (0x1 << 3) + + +/* EXPLICIT tagging, inner tag from underlying type */ +#define ASN1_TFLG_EXPTAG (0x2 << 3) + +#define ASN1_TFLG_TAG_MASK (0x3 << 3) + +/* context specific IMPLICIT */ +#define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT + +/* context specific EXPLICIT */ +#define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT + +/* + * If tagging is in force these determine the type of tag to use. Otherwiser + * the tag is determined by the underlying type. These values reflect the + * actual octet format. + */ + +/* Universal tag */ +#define ASN1_TFLG_UNIVERSAL (0x0<<6) +/* Application tag */ +#define ASN1_TFLG_APPLICATION (0x1<<6) +/* Context specific tag */ +#define ASN1_TFLG_CONTEXT (0x2<<6) +/* Private tag */ +#define ASN1_TFLG_PRIVATE (0x3<<6) + +#define ASN1_TFLG_TAG_CLASS (0x3<<6) + +/* + * These are for ANY DEFINED BY type. In this case + * the 'item' field points to an ASN1_ADB structure + * which contains a table of values to decode the + * relevant type + */ + +#define ASN1_TFLG_ADB_MASK (0x3<<8) + +#define ASN1_TFLG_ADB_OID (0x1<<8) + +#define ASN1_TFLG_ADB_INT (0x1<<9) + +/* + * This flag when present in a SEQUENCE OF, SET OF + * or EXPLICIT causes indefinite length constructed + * encoding to be used if required. + */ + +#define ASN1_TFLG_NDEF (0x1<<11) + +/* This is the actual ASN1 item itself */ + +struct ASN1_ITEM_st { + char itype; /* The item type, primitive, SEQUENCE, CHOICE or extern */ + long utype; /* underlying type */ + const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains the contents */ + long tcount; /* Number of templates if SEQUENCE or CHOICE */ + const void *funcs; /* functions that handle this type */ + long size; /* Structure size (usually)*/ + const char *sname; /* Structure name */ +}; + +/* These are values for the itype field and + * determine how the type is interpreted. + * + * For PRIMITIVE types the underlying type + * determines the behaviour if items is NULL. + * + * Otherwise templates must contain a single + * template and the type is treated in the + * same way as the type specified in the template. + * + * For SEQUENCE types the templates field points + * to the members, the size field is the + * structure size. + * + * For CHOICE types the templates field points + * to each possible member (typically a union) + * and the 'size' field is the offset of the + * selector. + * + * The 'funcs' field is used for application + * specific functions. + * + * The EXTERN type uses a new style d2i/i2d. + * The new style should be used where possible + * because it avoids things like the d2i IMPLICIT + * hack. + * + * MSTRING is a multiple string type, it is used + * for a CHOICE of character strings where the + * actual strings all occupy an ASN1_STRING + * structure. In this case the 'utype' field + * has a special meaning, it is used as a mask + * of acceptable types using the B_ASN1 constants. + * + * NDEF_SEQUENCE is the same as SEQUENCE except + * that it will use indefinite length constructed + * encoding if requested. + * + */ + +#define ASN1_ITYPE_PRIMITIVE 0x0 + +#define ASN1_ITYPE_SEQUENCE 0x1 + +#define ASN1_ITYPE_CHOICE 0x2 + +#define ASN1_ITYPE_EXTERN 0x4 + +#define ASN1_ITYPE_MSTRING 0x5 + +#define ASN1_ITYPE_NDEF_SEQUENCE 0x6 + +/* Cache for ASN1 tag and length, so we + * don't keep re-reading it for things + * like CHOICE + */ + +struct ASN1_TLC_st { + char valid; /* Values below are valid */ + int ret; /* return value */ + long plen; /* length */ + int ptag; /* class value */ + int pclass; /* class value */ + int hdrlen; /* header length */ +}; + +/* Typedefs for ASN1 function pointers */ + +typedef ASN1_VALUE * ASN1_new_func(void); +typedef void ASN1_free_func(ASN1_VALUE *a); +typedef ASN1_VALUE * ASN1_d2i_func(ASN1_VALUE **a, const unsigned char ** in, long length); +typedef int ASN1_i2d_func(ASN1_VALUE * a, unsigned char **in); + +typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, + int tag, int aclass, char opt, ASN1_TLC *ctx); + +typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); +typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); +typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); + +typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, + int indent, const char *fname, + const ASN1_PCTX *pctx); + +typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); +typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); +typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); + +typedef struct ASN1_EXTERN_FUNCS_st { + void *app_data; + ASN1_ex_new_func *asn1_ex_new; + ASN1_ex_free_func *asn1_ex_free; + ASN1_ex_free_func *asn1_ex_clear; + ASN1_ex_d2i *asn1_ex_d2i; + ASN1_ex_i2d *asn1_ex_i2d; + ASN1_ex_print_func *asn1_ex_print; +} ASN1_EXTERN_FUNCS; + +typedef struct ASN1_PRIMITIVE_FUNCS_st { + void *app_data; + unsigned long flags; + ASN1_ex_new_func *prim_new; + ASN1_ex_free_func *prim_free; + ASN1_ex_free_func *prim_clear; + ASN1_primitive_c2i *prim_c2i; + ASN1_primitive_i2c *prim_i2c; + ASN1_primitive_print *prim_print; +} ASN1_PRIMITIVE_FUNCS; + +/* This is the ASN1_AUX structure: it handles various + * miscellaneous requirements. For example the use of + * reference counts and an informational callback. + * + * The "informational callback" is called at various + * points during the ASN1 encoding and decoding. It can + * be used to provide minor customisation of the structures + * used. This is most useful where the supplied routines + * *almost* do the right thing but need some extra help + * at a few points. If the callback returns zero then + * it is assumed a fatal error has occurred and the + * main operation should be abandoned. + * + * If major changes in the default behaviour are required + * then an external type is more appropriate. + */ + +typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, + void *exarg); + +typedef struct ASN1_AUX_st { + void *app_data; + int flags; + int ref_offset; /* Offset of reference value */ + int ref_lock; /* Lock type to use */ + ASN1_aux_cb *asn1_cb; + int enc_offset; /* Offset of ASN1_ENCODING structure */ +} ASN1_AUX; + +/* For print related callbacks exarg points to this structure */ +typedef struct ASN1_PRINT_ARG_st { + BIO *out; + int indent; + const ASN1_PCTX *pctx; +} ASN1_PRINT_ARG; + +/* For streaming related callbacks exarg points to this structure */ +typedef struct ASN1_STREAM_ARG_st { + /* BIO to stream through */ + BIO *out; + /* BIO with filters appended */ + BIO *ndef_bio; + /* Streaming I/O boundary */ + unsigned char **boundary; +} ASN1_STREAM_ARG; + +/* Flags in ASN1_AUX */ + +/* Use a reference count */ +#define ASN1_AFLG_REFCOUNT 1 +/* Save the encoding of structure (useful for signatures) */ +#define ASN1_AFLG_ENCODING 2 + +/* operation values for asn1_cb */ + +#define ASN1_OP_NEW_PRE 0 +#define ASN1_OP_NEW_POST 1 +#define ASN1_OP_FREE_PRE 2 +#define ASN1_OP_FREE_POST 3 +#define ASN1_OP_D2I_PRE 4 +#define ASN1_OP_D2I_POST 5 +#define ASN1_OP_I2D_PRE 6 +#define ASN1_OP_I2D_POST 7 +#define ASN1_OP_PRINT_PRE 8 +#define ASN1_OP_PRINT_POST 9 +#define ASN1_OP_STREAM_PRE 10 +#define ASN1_OP_STREAM_POST 11 +#define ASN1_OP_DETACHED_PRE 12 +#define ASN1_OP_DETACHED_POST 13 + +#ifndef LIBRESSL_INTERNAL + +/* Macro to implement a primitive type */ +#define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) +#define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement a multi string type */ +#define IMPLEMENT_ASN1_MSTRING(itname, mask) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ + ASN1_ITEM_end(itname) +#define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_EXTERN, \ + tag, \ + NULL, \ + 0, \ + &fptrs, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +/* Macro to implement standard functions in terms of ASN1_ITEM structures */ + +#define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) + +#define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) + +#define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ + IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) + +#define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) + +#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) + +#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ + pre stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + pre void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ + stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +#define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +#define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ + int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ + { \ + return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + } + +/* This includes evil casts to remove const: they will go away when full + * ASN1 constification is done. + */ +#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +#define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ + stname * stname##_dup(stname *x) \ + { \ + return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ + } + +#define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ + IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) + +#define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ + const ASN1_PCTX *pctx) \ + { \ + return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ + ASN1_ITEM_rptr(itname), pctx); \ + } + +#define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ + IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) + +#define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +#endif /* !LIBRESSL_INTERNAL */ + +/* external definitions for primitive types */ + +extern const ASN1_ITEM ASN1_BOOLEAN_it; +extern const ASN1_ITEM ASN1_TBOOLEAN_it; +extern const ASN1_ITEM ASN1_FBOOLEAN_it; +extern const ASN1_ITEM ASN1_SEQUENCE_it; +extern const ASN1_ITEM BIGNUM_it; +extern const ASN1_ITEM LONG_it; +extern const ASN1_ITEM ZLONG_it; +extern const ASN1_ITEM CBIGNUM_it; + +DECLARE_STACK_OF(ASN1_VALUE) + +/* Functions used internally by the ASN1 code */ + +int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); +void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); +int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, + int tag, int aclass, char opt, ASN1_TLC *ctx); + +int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/bio.h b/curl/include/openssl/bio.h new file mode 100644 index 0000000..8327ffc --- /dev/null +++ b/curl/include/openssl/bio.h @@ -0,0 +1,717 @@ +/* $OpenBSD: bio.h,v 1.64 2024/05/19 07:12:50 jsg Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BIO_H +#define HEADER_BIO_H +#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__) +#define __bounded__(x, y, z) +#endif +#include + +# include +#include + +#include + + +#ifdef __cplusplus +extern "C" { +#endif + +/* These are the 'types' of BIOs */ +#define BIO_TYPE_NONE 0 +#define BIO_TYPE_MEM (1|0x0400) +#define BIO_TYPE_FILE (2|0x0400) + +#define BIO_TYPE_FD (4|0x0400|0x0100) +#define BIO_TYPE_SOCKET (5|0x0400|0x0100) +#define BIO_TYPE_NULL (6|0x0400) +#define BIO_TYPE_SSL (7|0x0200) +#define BIO_TYPE_MD (8|0x0200) /* passive filter */ +#define BIO_TYPE_BUFFER (9|0x0200) /* filter */ +#define BIO_TYPE_CIPHER (10|0x0200) /* filter */ +#define BIO_TYPE_BASE64 (11|0x0200) /* filter */ +#define BIO_TYPE_CONNECT (12|0x0400|0x0100) /* socket - connect */ +#define BIO_TYPE_ACCEPT (13|0x0400|0x0100) /* socket for accept */ +#define BIO_TYPE_PROXY_CLIENT (14|0x0200) /* client proxy BIO */ +#define BIO_TYPE_PROXY_SERVER (15|0x0200) /* server proxy BIO */ +#define BIO_TYPE_NBIO_TEST (16|0x0200) /* server proxy BIO */ +#define BIO_TYPE_NULL_FILTER (17|0x0200) +#define BIO_TYPE_BER (18|0x0200) /* BER -> bin filter */ +#define BIO_TYPE_BIO (19|0x0400) /* (half a) BIO pair */ +#define BIO_TYPE_LINEBUFFER (20|0x0200) /* filter */ +#define BIO_TYPE_DGRAM (21|0x0400|0x0100) +#define BIO_TYPE_ASN1 (22|0x0200) /* filter */ +#define BIO_TYPE_COMP (23|0x0200) /* filter */ + +#define BIO_TYPE_DESCRIPTOR 0x0100 /* socket, fd, connect or accept */ +#define BIO_TYPE_FILTER 0x0200 +#define BIO_TYPE_SOURCE_SINK 0x0400 + +/* + * BIO_TYPE_START is the first user-allocated BIO type. No pre-defined type, + * flag bits aside, may exceed this value. + */ +#define BIO_TYPE_START 128 + +/* BIO_FILENAME_READ|BIO_CLOSE to open or close on free. + * BIO_set_fp(in,stdin,BIO_NOCLOSE); */ +#define BIO_NOCLOSE 0x00 +#define BIO_CLOSE 0x01 + +/* These are used in the following macros and are passed to + * BIO_ctrl() */ +#define BIO_CTRL_RESET 1 /* opt - rewind/zero etc */ +#define BIO_CTRL_EOF 2 /* opt - are we at the eof */ +#define BIO_CTRL_INFO 3 /* opt - extra tit-bits */ +#define BIO_CTRL_SET 4 /* man - set the 'IO' type */ +#define BIO_CTRL_GET 5 /* man - get the 'IO' type */ +#define BIO_CTRL_PUSH 6 /* opt - internal, used to signify change */ +#define BIO_CTRL_POP 7 /* opt - internal, used to signify change */ +#define BIO_CTRL_GET_CLOSE 8 /* man - set the 'close' on free */ +#define BIO_CTRL_SET_CLOSE 9 /* man - set the 'close' on free */ +#define BIO_CTRL_PENDING 10 /* opt - is their more data buffered */ +#define BIO_CTRL_FLUSH 11 /* opt - 'flush' buffered output */ +#define BIO_CTRL_DUP 12 /* man - extra stuff for 'duped' BIO */ +#define BIO_CTRL_WPENDING 13 /* opt - number of bytes still to write */ +/* callback is int cb(BIO *bio,state,ret); */ +#define BIO_CTRL_SET_CALLBACK 14 /* opt - set callback function */ +#define BIO_CTRL_GET_CALLBACK 15 /* opt - set callback function */ + +#define BIO_CTRL_SET_FILENAME 30 /* BIO_s_file special */ + +/* dgram BIO stuff */ +#define BIO_CTRL_DGRAM_CONNECT 31 /* BIO dgram special */ +#define BIO_CTRL_DGRAM_SET_CONNECTED 32 /* allow for an externally + * connected socket to be + * passed in */ +#define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33 /* setsockopt, essentially */ +#define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34 /* getsockopt, essentially */ +#define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35 /* setsockopt, essentially */ +#define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36 /* getsockopt, essentially */ + +#define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37 /* flag whether the last */ +#define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38 /* I/O operation tiemd out */ + +/* #ifdef IP_MTU_DISCOVER */ +#define BIO_CTRL_DGRAM_MTU_DISCOVER 39 /* set DF bit on egress packets */ +/* #endif */ + +#define BIO_CTRL_DGRAM_QUERY_MTU 40 /* as kernel for current MTU */ +#define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 +#define BIO_CTRL_DGRAM_GET_MTU 41 /* get cached value for MTU */ +#define BIO_CTRL_DGRAM_SET_MTU 42 /* set cached value for + * MTU. want to use this + * if asking the kernel + * fails */ + +#define BIO_CTRL_DGRAM_MTU_EXCEEDED 43 /* check whether the MTU + * was exceed in the + * previous write + * operation */ + +#define BIO_CTRL_DGRAM_GET_PEER 46 +#define BIO_CTRL_DGRAM_SET_PEER 44 /* Destination for the data */ + +#define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45 /* Next DTLS handshake timeout to + * adjust socket timeouts */ + + +/* modifiers */ +#define BIO_FP_READ 0x02 +#define BIO_FP_WRITE 0x04 +#define BIO_FP_APPEND 0x08 +#define BIO_FP_TEXT 0x10 + +#define BIO_FLAGS_READ 0x01 +#define BIO_FLAGS_WRITE 0x02 +#define BIO_FLAGS_IO_SPECIAL 0x04 +#define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) +#define BIO_FLAGS_SHOULD_RETRY 0x08 + +/* Used in BIO_gethostbyname() */ +#define BIO_GHBN_CTRL_HITS 1 +#define BIO_GHBN_CTRL_MISSES 2 +#define BIO_GHBN_CTRL_CACHE_SIZE 3 +#define BIO_GHBN_CTRL_GET_ENTRY 4 +#define BIO_GHBN_CTRL_FLUSH 5 + +/* Mostly used in the SSL BIO */ +/* Not used anymore + * #define BIO_FLAGS_PROTOCOL_DELAYED_READ 0x10 + * #define BIO_FLAGS_PROTOCOL_DELAYED_WRITE 0x20 + * #define BIO_FLAGS_PROTOCOL_STARTUP 0x40 + */ + +#define BIO_FLAGS_BASE64_NO_NL 0x100 + +/* This is used with memory BIOs: it means we shouldn't free up or change the + * data in any way. + */ +#define BIO_FLAGS_MEM_RDONLY 0x200 + +void BIO_set_flags(BIO *b, int flags); +int BIO_test_flags(const BIO *b, int flags); +void BIO_clear_flags(BIO *b, int flags); + +#define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) +#define BIO_set_retry_special(b) \ + BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) +#define BIO_set_retry_read(b) \ + BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) +#define BIO_set_retry_write(b) \ + BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) + +/* These are normally used internally in BIOs */ +#define BIO_clear_retry_flags(b) \ + BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) +#define BIO_get_retry_flags(b) \ + BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) + +/* These should be used by the application to tell why we should retry */ +#define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) +#define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) +#define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) +#define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) +#define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) + +/* The next three are used in conjunction with the + * BIO_should_io_special() condition. After this returns true, + * BIO *BIO_get_retry_BIO(BIO *bio, int *reason); will walk the BIO + * stack and return the 'reason' for the special and the offending BIO. + * Given a BIO, BIO_get_retry_reason(bio) will return the code. */ +/* Returned from the SSL bio when the certificate retrieval code had an error */ +#define BIO_RR_SSL_X509_LOOKUP 0x01 +/* Returned from the connect BIO when a connect would have blocked */ +#define BIO_RR_CONNECT 0x02 +/* Returned from the accept BIO when an accept would have blocked */ +#define BIO_RR_ACCEPT 0x03 + +/* These are passed by the BIO callback */ +#define BIO_CB_FREE 0x01 +#define BIO_CB_READ 0x02 +#define BIO_CB_WRITE 0x03 +#define BIO_CB_PUTS 0x04 +#define BIO_CB_GETS 0x05 +#define BIO_CB_CTRL 0x06 + +/* + * The callback is called before and after the underling operation, + * the BIO_CB_RETURN flag indicates if it is after the call. + */ +#define BIO_CB_RETURN 0x80 +#define BIO_CB_return(a) ((a)|BIO_CB_RETURN)) +#define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) +#define BIO_cb_post(a) ((a)&BIO_CB_RETURN) + +typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi, + long argl, long ret); +typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp, + size_t len, int argi, long argl, int ret, size_t *processed); + +BIO_callback_fn BIO_get_callback(const BIO *b); +void BIO_set_callback(BIO *b, BIO_callback_fn callback); + +BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b); +void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback); + +char *BIO_get_callback_arg(const BIO *b); +void BIO_set_callback_arg(BIO *b, char *arg); + +const char *BIO_method_name(const BIO *b); +int BIO_method_type(const BIO *b); + +typedef int BIO_info_cb(BIO *, int, int); +/* Compatibility with OpenSSL's backward compatibility. */ +typedef BIO_info_cb bio_info_cb; + +typedef struct bio_method_st BIO_METHOD; + +DECLARE_STACK_OF(BIO) + +/* Prefix and suffix callback in ASN1 BIO */ +typedef int asn1_ps_func(BIO *b, unsigned char **pbuf, int *plen, void *parg); + +/* BIO_METHOD accessors */ +BIO_METHOD *BIO_meth_new(int type, const char *name); +void BIO_meth_free(BIO_METHOD *biom); +int (*BIO_meth_get_write(const BIO_METHOD *biom))(BIO *, const char *, int); +int BIO_meth_set_write(BIO_METHOD *biom, + int (*write)(BIO *, const char *, int)); +int (*BIO_meth_get_read(const BIO_METHOD *biom))(BIO *, char *, int); +int BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int)); +int (*BIO_meth_get_puts(const BIO_METHOD *biom))(BIO *, const char *); +int BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *)); +int (*BIO_meth_get_gets(const BIO_METHOD *biom))(BIO *, char *, int); +int BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int)); +long (*BIO_meth_get_ctrl(const BIO_METHOD *biom))(BIO *, int, long, void *); +int BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *)); +int (*BIO_meth_get_create(const BIO_METHOD *biom))(BIO *); +int BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *)); +int (*BIO_meth_get_destroy(const BIO_METHOD *biom))(BIO *); +int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *)); +long (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom))(BIO *, int, BIO_info_cb *); +int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, + long (*callback_ctrl)(BIO *, int, BIO_info_cb *)); + +/* connect BIO stuff */ +#define BIO_CONN_S_BEFORE 1 +#define BIO_CONN_S_GET_IP 2 +#define BIO_CONN_S_GET_PORT 3 +#define BIO_CONN_S_CREATE_SOCKET 4 +#define BIO_CONN_S_CONNECT 5 +#define BIO_CONN_S_OK 6 +#define BIO_CONN_S_BLOCKED_CONNECT 7 +#define BIO_CONN_S_NBIO 8 +/*#define BIO_CONN_get_param_hostname BIO_ctrl */ + +#define BIO_C_SET_CONNECT 100 +#define BIO_C_DO_STATE_MACHINE 101 +#define BIO_C_SET_NBIO 102 +#define BIO_C_SET_PROXY_PARAM 103 +#define BIO_C_SET_FD 104 +#define BIO_C_GET_FD 105 +#define BIO_C_SET_FILE_PTR 106 +#define BIO_C_GET_FILE_PTR 107 +#define BIO_C_SET_FILENAME 108 +#define BIO_C_SET_SSL 109 +#define BIO_C_GET_SSL 110 +#define BIO_C_SET_MD 111 +#define BIO_C_GET_MD 112 +#define BIO_C_GET_CIPHER_STATUS 113 +#define BIO_C_SET_BUF_MEM 114 +#define BIO_C_GET_BUF_MEM_PTR 115 +#define BIO_C_GET_BUFF_NUM_LINES 116 +#define BIO_C_SET_BUFF_SIZE 117 +#define BIO_C_SET_ACCEPT 118 +#define BIO_C_SSL_MODE 119 +#define BIO_C_GET_MD_CTX 120 +#define BIO_C_GET_PROXY_PARAM 121 +#define BIO_C_SET_BUFF_READ_DATA 122 /* data to read first */ +#define BIO_C_GET_CONNECT 123 +#define BIO_C_GET_ACCEPT 124 +#define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 +#define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 +#define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 +#define BIO_C_FILE_SEEK 128 +#define BIO_C_GET_CIPHER_CTX 129 +#define BIO_C_SET_BUF_MEM_EOF_RETURN 130/*return end of input value*/ +#define BIO_C_SET_BIND_MODE 131 +#define BIO_C_GET_BIND_MODE 132 +#define BIO_C_FILE_TELL 133 +#define BIO_C_GET_SOCKS 134 +#define BIO_C_SET_SOCKS 135 + +#define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ +#define BIO_C_GET_WRITE_BUF_SIZE 137 +#define BIO_C_MAKE_BIO_PAIR 138 +#define BIO_C_DESTROY_BIO_PAIR 139 +#define BIO_C_GET_WRITE_GUARANTEE 140 +#define BIO_C_GET_READ_REQUEST 141 +#define BIO_C_SHUTDOWN_WR 142 +#define BIO_C_RESET_READ_REQUEST 147 +#define BIO_C_SET_MD_CTX 148 + +#define BIO_C_SET_EX_ARG 153 +#define BIO_C_GET_EX_ARG 154 + +#define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) +#define BIO_get_app_data(s) BIO_get_ex_data(s,0) + +/* BIO_s_connect() and BIO_s_socks4a_connect() */ +#define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name) +#define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port) +#define BIO_set_conn_ip(b,ip) BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)ip) +#define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port) +#define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0) +#define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1) +#define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2) +#define BIO_get_conn_int_port(b) BIO_int_ctrl(b,BIO_C_GET_CONNECT,3,0) + + +#define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +/* BIO_s_accept_socket() */ +#define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) +#define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +#define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?(void *)"a":NULL) +#define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio) + +#define BIO_BIND_NORMAL 0 +#define BIO_BIND_REUSEADDR_IF_UNUSED 1 +#define BIO_BIND_REUSEADDR 2 +#define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +#define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) + +#define BIO_do_connect(b) BIO_do_handshake(b) +#define BIO_do_accept(b) BIO_do_handshake(b) +#define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_proxy_client() */ +#define BIO_set_url(b,url) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url)) +#define BIO_set_proxies(b,p) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p)) +/* BIO_set_nbio(b,n) */ +#define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s)) +/* BIO *BIO_get_filter_bio(BIO *bio); */ +#define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)())) +#define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk) +#define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool) + +#define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp) +#define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p)) +#define BIO_get_url(b,url) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url)) +#define BIO_get_no_connect_return(b) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,NULL) + +#define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +#define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) + +#define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp) +#define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp) + +#define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +#define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* name is cast to lose const, but might be better to route through a function + so we can do it safely */ +#define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ,(char *)name) +#define BIO_write_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_WRITE,name) +#define BIO_append_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_APPEND,name) +#define BIO_rw_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) + +/* WARNING WARNING, this ups the reference count on the read bio of the + * SSL structure. This is because the ssl read BIO is now pointed to by + * the next_bio field in the bio. So when you free the BIO, make sure + * you are doing a BIO_free_all() to catch the underlying BIO. */ +#define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)ssl) +#define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp) +#define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) +#define BIO_set_ssl_renegotiate_bytes(b,num) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) +#define BIO_get_num_renegotiates(b) \ + BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) +#define BIO_set_ssl_renegotiate_timeout(b,seconds) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) + +/* defined in evp.h */ +/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */ + +#define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) +#define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)bm) +#define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp) +#define BIO_set_mem_eof_return(b,v) \ + BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) + +/* For the BIO_f_buffer() type */ +#define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) +#define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) +#define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) +#define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) +#define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) + +/* Don't use the next one unless you know what you are doing :-) */ +#define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) + +#define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) +#define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) +#define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) +#define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) +#define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +#define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) +/* ...pending macros have inappropriate return type */ +size_t BIO_ctrl_pending(BIO *b); +size_t BIO_ctrl_wpending(BIO *b); +#define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) +#define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ + cbp) +#define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) + +/* For the BIO_f_buffer() type */ +#define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) + +/* For BIO_s_bio() */ +#define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) +#define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) +#define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) +#define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) +#define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +/* macros with inappropriate type -- but ...pending macros use int too: */ +#define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) +#define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) +size_t BIO_ctrl_get_write_guarantee(BIO *b); +size_t BIO_ctrl_get_read_request(BIO *b); +int BIO_ctrl_reset_read_request(BIO *b); + +/* ctrl macros for dgram */ +#define BIO_ctrl_dgram_connect(b,peer) \ + (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)peer) +#define BIO_ctrl_set_connected(b, state, peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, state, (char *)peer) +#define BIO_dgram_recv_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) +#define BIO_dgram_send_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) +#define BIO_dgram_get_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)peer) +#define BIO_dgram_set_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)peer) + +/* These two aren't currently implemented */ +/* int BIO_get_ex_num(BIO *bio); */ +/* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ +int BIO_set_ex_data(BIO *bio, int idx, void *data); +void *BIO_get_ex_data(BIO *bio, int idx); +int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +unsigned long BIO_number_read(BIO *bio); +unsigned long BIO_number_written(BIO *bio); + +int BIO_get_new_index(void); +const BIO_METHOD *BIO_s_file(void); +BIO *BIO_new_file(const char *filename, const char *mode); +BIO *BIO_new_fp(FILE *stream, int close_flag); +BIO *BIO_new(const BIO_METHOD *type); +int BIO_free(BIO *a); +int BIO_up_ref(BIO *bio); +void *BIO_get_data(BIO *a); +void BIO_set_data(BIO *a, void *ptr); +int BIO_get_init(BIO *a); +void BIO_set_init(BIO *a, int init); +int BIO_get_shutdown(BIO *a); +void BIO_set_shutdown(BIO *a, int shut); +void BIO_vfree(BIO *a); +int BIO_read(BIO *b, void *data, int len) + __attribute__((__bounded__(__buffer__,2,3))); +int BIO_gets(BIO *bp, char *buf, int size) + __attribute__((__bounded__ (__string__,2,3))); +int BIO_write(BIO *b, const void *data, int len) + __attribute__((__bounded__(__buffer__,2,3))); +int BIO_puts(BIO *bp, const char *buf); +int BIO_indent(BIO *b, int indent, int max); +long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); +long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp); +char * BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); +BIO * BIO_push(BIO *b, BIO *append); +BIO * BIO_pop(BIO *b); +void BIO_free_all(BIO *a); +BIO * BIO_find_type(BIO *b, int bio_type); +BIO * BIO_next(BIO *b); +void BIO_set_next(BIO *b, BIO *next); +BIO * BIO_get_retry_BIO(BIO *bio, int *reason); +int BIO_get_retry_reason(BIO *bio); +void BIO_set_retry_reason(BIO *bio, int reason); +BIO * BIO_dup_chain(BIO *in); + +long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, + long argl, long ret); + +const BIO_METHOD *BIO_s_mem(void); +BIO *BIO_new_mem_buf(const void *buf, int len); +const BIO_METHOD *BIO_s_socket(void); +const BIO_METHOD *BIO_s_connect(void); +const BIO_METHOD *BIO_s_accept(void); +const BIO_METHOD *BIO_s_fd(void); +const BIO_METHOD *BIO_s_log(void); +const BIO_METHOD *BIO_s_bio(void); +const BIO_METHOD *BIO_s_null(void); +const BIO_METHOD *BIO_f_null(void); +const BIO_METHOD *BIO_f_buffer(void); +const BIO_METHOD *BIO_f_nbio_test(void); +#ifndef OPENSSL_NO_DGRAM +const BIO_METHOD *BIO_s_datagram(void); +#endif + +/* BIO_METHOD *BIO_f_ber(void); */ + +int BIO_sock_should_retry(int i); +int BIO_sock_non_fatal_error(int _error); +int BIO_dgram_non_fatal_error(int _error); + +int BIO_fd_should_retry(int i); +int BIO_fd_non_fatal_error(int _error); + +int BIO_dump(BIO *b, const char *bytes, int len); +int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); + +struct hostent *BIO_gethostbyname(const char *name); +/* We might want a thread-safe interface too: + * struct hostent *BIO_gethostbyname_r(const char *name, + * struct hostent *result, void *buffer, size_t buflen); + * or something similar (caller allocates a struct hostent, + * pointed to by "result", and additional buffer space for the various + * substructures; if the buffer does not suffice, NULL is returned + * and an appropriate error code is set). + */ +int BIO_sock_error(int sock); +int BIO_socket_ioctl(int fd, long type, void *arg); +int BIO_socket_nbio(int fd, int mode); +int BIO_get_port(const char *str, unsigned short *port_ptr); +int BIO_get_host_ip(const char *str, unsigned char *ip); +int BIO_get_accept_socket(char *host_port, int mode); +int BIO_accept(int sock, char **ip_port); +int BIO_sock_init(void ); +void BIO_sock_cleanup(void); +int BIO_set_tcp_ndelay(int sock, int turn_on); + +BIO *BIO_new_socket(int sock, int close_flag); +BIO *BIO_new_dgram(int fd, int close_flag); +BIO *BIO_new_fd(int fd, int close_flag); +BIO *BIO_new_connect(const char *host_port); +BIO *BIO_new_accept(const char *host_port); + +int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, + BIO **bio2, size_t writebuf2); +/* If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. + * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. + * Size 0 uses default value. + */ + +void BIO_copy_next_retry(BIO *b); + +/*long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);*/ + +/* Needed for libressl-portable. */ +#ifndef __MINGW_PRINTF_FORMAT +int BIO_printf(BIO *bio, const char *format, ...) + __attribute__((__format__(__printf__, 2, 3), __nonnull__(2))); +#else +int BIO_printf(BIO *bio, const char *format, ...) + __attribute__((__format__(__MINGW_PRINTF_FORMAT, 2, 3), __nonnull__(2))); +#endif + +void ERR_load_BIO_strings(void); + +/* Error codes for the BIO functions. */ + +/* Function codes. */ +#define BIO_F_ACPT_STATE 100 +#define BIO_F_BIO_ACCEPT 101 +#define BIO_F_BIO_BER_GET_HEADER 102 +#define BIO_F_BIO_CALLBACK_CTRL 131 +#define BIO_F_BIO_CTRL 103 +#define BIO_F_BIO_GETHOSTBYNAME 120 +#define BIO_F_BIO_GETS 104 +#define BIO_F_BIO_GET_ACCEPT_SOCKET 105 +#define BIO_F_BIO_GET_HOST_IP 106 +#define BIO_F_BIO_GET_PORT 107 +#define BIO_F_BIO_MAKE_PAIR 121 +#define BIO_F_BIO_NEW 108 +#define BIO_F_BIO_NEW_FILE 109 +#define BIO_F_BIO_NEW_MEM_BUF 126 +#define BIO_F_BIO_NREAD 123 +#define BIO_F_BIO_NREAD0 124 +#define BIO_F_BIO_NWRITE 125 +#define BIO_F_BIO_NWRITE0 122 +#define BIO_F_BIO_PUTS 110 +#define BIO_F_BIO_READ 111 +#define BIO_F_BIO_SOCK_INIT 112 +#define BIO_F_BIO_WRITE 113 +#define BIO_F_BUFFER_CTRL 114 +#define BIO_F_CONN_CTRL 127 +#define BIO_F_CONN_STATE 115 +#define BIO_F_DGRAM_SCTP_READ 132 +#define BIO_F_FILE_CTRL 116 +#define BIO_F_FILE_READ 130 +#define BIO_F_LINEBUFFER_CTRL 129 +#define BIO_F_MEM_READ 128 +#define BIO_F_MEM_WRITE 117 +#define BIO_F_SSL_NEW 118 +#define BIO_F_WSASTARTUP 119 + +/* Reason codes. */ +#define BIO_R_ACCEPT_ERROR 100 +#define BIO_R_BAD_FOPEN_MODE 101 +#define BIO_R_BAD_HOSTNAME_LOOKUP 102 +#define BIO_R_BROKEN_PIPE 124 +#define BIO_R_CONNECT_ERROR 103 +#define BIO_R_EOF_ON_MEMORY_BIO 127 +#define BIO_R_ERROR_SETTING_NBIO 104 +#define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPTED_SOCKET 105 +#define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPT_SOCKET 106 +#define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 +#define BIO_R_INVALID_ARGUMENT 125 +#define BIO_R_INVALID_IP_ADDRESS 108 +#define BIO_R_INVALID_PORT_NUMBER 129 +#define BIO_R_IN_USE 123 +#define BIO_R_KEEPALIVE 109 +#define BIO_R_LENGTH_TOO_LONG 130 +#define BIO_R_NBIO_CONNECT_ERROR 110 +#define BIO_R_NO_ACCEPT_PORT_SPECIFIED 111 +#define BIO_R_NO_HOSTNAME_SPECIFIED 112 +#define BIO_R_NO_PORT_DEFINED 113 +#define BIO_R_NO_PORT_SPECIFIED 114 +#define BIO_R_NO_SUCH_FILE 128 +#define BIO_R_NULL_PARAMETER 115 +#define BIO_R_TAG_MISMATCH 116 +#define BIO_R_UNABLE_TO_BIND_SOCKET 117 +#define BIO_R_UNABLE_TO_CREATE_SOCKET 118 +#define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 +#define BIO_R_UNINITIALIZED 120 +#define BIO_R_UNSUPPORTED_METHOD 121 +#define BIO_R_WRITE_TO_READ_ONLY_BIO 126 +#define BIO_R_WSASTARTUP 122 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/blowfish.h b/curl/include/openssl/blowfish.h new file mode 100644 index 0000000..5ea99af --- /dev/null +++ b/curl/include/openssl/blowfish.h @@ -0,0 +1,106 @@ +/* $OpenBSD: blowfish.h,v 1.18 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BLOWFISH_H +#define HEADER_BLOWFISH_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define BF_ENCRYPT 1 +#define BF_DECRYPT 0 + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! BF_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +#define BF_LONG unsigned int + +#define BF_ROUNDS 16 +#define BF_BLOCK 8 + +typedef struct bf_key_st { + BF_LONG P[BF_ROUNDS + 2]; + BF_LONG S[4*256]; +} BF_KEY; + +void BF_set_key(BF_KEY *key, int len, const unsigned char *data); + +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); + +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/bn.h b/curl/include/openssl/bn.h new file mode 100644 index 0000000..7c3c0b1 --- /dev/null +++ b/curl/include/openssl/bn.h @@ -0,0 +1,520 @@ +/* $OpenBSD: bn.h,v 1.80 2025/03/09 15:22:40 tb Exp $ */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the Eric Young open source + * license provided above. + * + * The binary polynomial arithmetic software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + * + */ + +#ifndef HEADER_BN_H +#define HEADER_BN_H + +#include +#include + +#include + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* This next option uses the C libraries (2 word)/(1 word) function. + * If it is not defined, I use my C version (which is slower). + * The reason for this flag is that when the particular C compiler + * library routine is used, and the library is linked with a different + * compiler, the library is missing. This mostly happens when the + * library is built with gcc and then linked using normal cc. This would + * be a common occurrence because gcc normally produces code that is + * 2 times faster than system compilers for the big number stuff. + * For machines with only one compiler (or shared libraries), this should + * be on. Again this in only really a problem on machines + * using "long long's", are 32bit, and are not using my assembler code. */ +/* #define BN_DIV2W */ + +#ifdef _LP64 +#undef BN_LLONG +#define BN_ULONG unsigned long +#define BN_LONG long +#define BN_BITS 128 +#define BN_BYTES 8 +#define BN_BITS2 64 +#define BN_BITS4 32 +#define BN_MASK2 (0xffffffffffffffffL) +#define BN_MASK2l (0xffffffffL) +#define BN_MASK2h (0xffffffff00000000L) +#define BN_MASK2h1 (0xffffffff80000000L) +#define BN_TBIT (0x8000000000000000L) +#define BN_DEC_CONV (10000000000000000000UL) +#define BN_DEC_FMT1 "%lu" +#define BN_DEC_FMT2 "%019lu" +#define BN_DEC_NUM 19 +#define BN_HEX_FMT1 "%lX" +#define BN_HEX_FMT2 "%016lX" +#else +#define BN_ULLONG unsigned long long +#define BN_LLONG +#define BN_ULONG unsigned int +#define BN_LONG int +#define BN_BITS 64 +#define BN_BYTES 4 +#define BN_BITS2 32 +#define BN_BITS4 16 +#define BN_MASK (0xffffffffffffffffLL) +#define BN_MASK2 (0xffffffffL) +#define BN_MASK2l (0xffff) +#define BN_MASK2h1 (0xffff8000L) +#define BN_MASK2h (0xffff0000L) +#define BN_TBIT (0x80000000L) +#define BN_DEC_CONV (1000000000L) +#define BN_DEC_FMT1 "%u" +#define BN_DEC_FMT2 "%09u" +#define BN_DEC_NUM 9 +#define BN_HEX_FMT1 "%X" +#define BN_HEX_FMT2 "%08X" +#endif + +#define BN_FLG_MALLOCED 0x01 +#define BN_FLG_STATIC_DATA 0x02 +#define BN_FLG_CONSTTIME 0x04 /* avoid leaking exponent information through timing, + * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, + * BN_div() will call BN_div_no_branch, + * BN_mod_inverse() will call BN_mod_inverse_no_branch. + */ + +void BN_set_flags(BIGNUM *b, int n); +int BN_get_flags(const BIGNUM *b, int n); +void BN_with_flags(BIGNUM *dest, const BIGNUM *src, int flags); + +/* Values for |top| in BN_rand() */ +#define BN_RAND_TOP_ANY -1 +#define BN_RAND_TOP_ONE 0 +#define BN_RAND_TOP_TWO 1 + +/* Values for |bottom| in BN_rand() */ +#define BN_RAND_BOTTOM_ANY 0 +#define BN_RAND_BOTTOM_ODD 1 + +BN_GENCB *BN_GENCB_new(void); +void BN_GENCB_free(BN_GENCB *cb); + +/* Wrapper function to make using BN_GENCB easier, */ +int BN_GENCB_call(BN_GENCB *cb, int a, int b); + +/* Populate a BN_GENCB structure with an "old"-style callback */ +void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback)(int, int, void *), + void *cb_arg); + +/* Populate a BN_GENCB structure with a "new"-style callback */ +void BN_GENCB_set(BN_GENCB *gencb, int (*callback)(int, int, BN_GENCB *), + void *cb_arg); + +void *BN_GENCB_get_arg(BN_GENCB *cb); + +#define BN_prime_checks 0 /* default: select number of iterations + based on the size of the number */ + +/* + * BN_prime_checks_for_size() returns the number of Miller-Rabin + * iterations that will be done for checking that a random number + * is probably prime. The error rate for accepting a composite + * number as prime depends on the size of the prime |b|. The error + * rates used are for calculating an RSA key with 2 primes, and so + * the level is what you would expect for a key of double the size + * of the prime. + * + * This table is generated using the algorithm of FIPS PUB 186-4 + * Digital Signature Standard (DSS), section F.1, page 117. + * (https://dx.doi.org/10.6028/NIST.FIPS.186-4) + * + * The following magma script was used to generate the output: + * securitybits:=125; + * k:=1024; + * for t:=1 to 65 do + * for M:=3 to Floor(2*Sqrt(k-1)-1) do + * S:=0; + * // Sum over m + * for m:=3 to M do + * s:=0; + * // Sum over j + * for j:=2 to m do + * s+:=(RealField(32)!2)^-(j+(k-1)/j); + * end for; + * S+:=2^(m-(m-1)*t)*s; + * end for; + * A:=2^(k-2-M*t); + * B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S; + * pkt:=2.00743*Log(2)*k*2^-k*(A+B); + * seclevel:=Floor(-Log(2,pkt)); + * if seclevel ge securitybits then + * printf "k: %5o, security: %o bits (t: %o, M: %o)\n",k,seclevel,t,M; + * break; + * end if; + * end for; + * if seclevel ge securitybits then break; end if; + * end for; + * + * It can be run online at: + * http://magma.maths.usyd.edu.au/calc + * + * And will output: + * k: 1024, security: 129 bits (t: 6, M: 23) + * + * k is the number of bits of the prime, securitybits is the level + * we want to reach. + * + * prime length | RSA key size | # MR tests | security level + * -------------+--------------|------------+--------------- + * (b) >= 6394 | >= 12788 | 3 | 256 bit + * (b) >= 3747 | >= 7494 | 3 | 192 bit + * (b) >= 1345 | >= 2690 | 4 | 128 bit + * (b) >= 1080 | >= 2160 | 5 | 128 bit + * (b) >= 852 | >= 1704 | 5 | 112 bit + * (b) >= 476 | >= 952 | 5 | 80 bit + * (b) >= 400 | >= 800 | 6 | 80 bit + * (b) >= 347 | >= 694 | 7 | 80 bit + * (b) >= 308 | >= 616 | 8 | 80 bit + * (b) >= 55 | >= 110 | 27 | 64 bit + * (b) >= 6 | >= 12 | 34 | 64 bit + */ + +#define BN_prime_checks_for_size(b) ((b) >= 3747 ? 3 : \ + (b) >= 1345 ? 4 : \ + (b) >= 476 ? 5 : \ + (b) >= 400 ? 6 : \ + (b) >= 347 ? 7 : \ + (b) >= 308 ? 8 : \ + (b) >= 55 ? 27 : \ + /* b >= 6 */ 34) + +#define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) + +int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w); +int BN_is_zero(const BIGNUM *a); +int BN_is_one(const BIGNUM *a); +int BN_is_word(const BIGNUM *a, const BN_ULONG w); +int BN_is_odd(const BIGNUM *a); + +void BN_zero(BIGNUM *a); +int BN_one(BIGNUM *a); + +const BIGNUM *BN_value_one(void); +BN_CTX *BN_CTX_new(void); +void BN_CTX_free(BN_CTX *c); +void BN_CTX_start(BN_CTX *ctx); +BIGNUM *BN_CTX_get(BN_CTX *ctx); +void BN_CTX_end(BN_CTX *ctx); +int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); +int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); +int BN_num_bits(const BIGNUM *a); +int BN_num_bits_word(BN_ULONG); +BIGNUM *BN_new(void); +void BN_clear_free(BIGNUM *a); +BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); +void BN_swap(BIGNUM *a, BIGNUM *b); +BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2bin(const BIGNUM *a, unsigned char *to); +int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); +BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); +int BN_bn2mpi(const BIGNUM *a, unsigned char *to); +int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); +int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); +void BN_set_negative(BIGNUM *b, int n); + +int BN_is_negative(const BIGNUM *b); + +int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, + BN_CTX *ctx); +#define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) + +int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); +int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); +int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); +int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + const BIGNUM *m, BN_CTX *ctx); +int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); +int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx); +int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); + +BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); +BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); +int BN_mul_word(BIGNUM *a, BN_ULONG w); +int BN_add_word(BIGNUM *a, BN_ULONG w); +int BN_sub_word(BIGNUM *a, BN_ULONG w); +int BN_set_word(BIGNUM *a, BN_ULONG w); +BN_ULONG BN_get_word(const BIGNUM *a); + +int BN_cmp(const BIGNUM *a, const BIGNUM *b); +void BN_free(BIGNUM *a); +int BN_is_bit_set(const BIGNUM *a, int n); +int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_lshift1(BIGNUM *r, const BIGNUM *a); +int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); + +int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx); +int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont); + +int BN_mask_bits(BIGNUM *a, int n); +int BN_print_fp(FILE *fp, const BIGNUM *a); +int BN_print(BIO *fp, const BIGNUM *a); +int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); +int BN_rshift1(BIGNUM *r, const BIGNUM *a); +void BN_clear(BIGNUM *a); +BIGNUM *BN_dup(const BIGNUM *a); +int BN_ucmp(const BIGNUM *a, const BIGNUM *b); +int BN_set_bit(BIGNUM *a, int n); +int BN_clear_bit(BIGNUM *a, int n); +char * BN_bn2hex(const BIGNUM *a); +char * BN_bn2dec(const BIGNUM *a); +int BN_hex2bn(BIGNUM **a, const char *str); +int BN_dec2bn(BIGNUM **a, const char *str); +int BN_asc2bn(BIGNUM **a, const char *str); +int BN_gcd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +int BN_kronecker(const BIGNUM *a,const BIGNUM *b,BN_CTX *ctx); /* returns -2 for error */ +BIGNUM *BN_mod_inverse(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); +BIGNUM *BN_mod_sqrt(BIGNUM *ret, + const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); + +void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords); + +int BN_security_bits(int L, int N); + +int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, + const BIGNUM *rem, BN_GENCB *cb); +int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, + int do_trial_division, BN_GENCB *cb); + +BN_MONT_CTX *BN_MONT_CTX_new(void); +int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, + BN_MONT_CTX *mont, BN_CTX *ctx); +int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont, + BN_CTX *ctx); +int BN_from_montgomery(BIGNUM *r, const BIGNUM *a, + BN_MONT_CTX *mont, BN_CTX *ctx); +void BN_MONT_CTX_free(BN_MONT_CTX *mont); +int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx); +BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, const BN_MONT_CTX *from); +BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, + const BIGNUM *mod, BN_CTX *ctx); + +/* Primes from RFC 2409 */ +BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn); +BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn); + +/* Primes from RFC 3526 */ +BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn); +BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn); + +void ERR_load_BN_strings(void); + +/* Error codes for the BN functions. */ + +/* Function codes. */ +#define BN_F_BNRAND 127 +#define BN_F_BN_BLINDING_CONVERT_EX 100 +#define BN_F_BN_BLINDING_CREATE_PARAM 128 +#define BN_F_BN_BLINDING_INVERT_EX 101 +#define BN_F_BN_BLINDING_NEW 102 +#define BN_F_BN_BLINDING_UPDATE 103 +#define BN_F_BN_BN2DEC 104 +#define BN_F_BN_BN2HEX 105 +#define BN_F_BN_CTX_GET 116 +#define BN_F_BN_CTX_NEW 106 +#define BN_F_BN_CTX_START 129 +#define BN_F_BN_DIV 107 +#define BN_F_BN_DIV_NO_BRANCH 138 +#define BN_F_BN_DIV_RECP 130 +#define BN_F_BN_EXP 123 +#define BN_F_BN_EXPAND2 108 +#define BN_F_BN_GENERATE_PRIME_EX 140 +#define BN_F_BN_EXPAND_INTERNAL 120 +#define BN_F_BN_GF2M_MOD 131 +#define BN_F_BN_GF2M_MOD_EXP 132 +#define BN_F_BN_GF2M_MOD_MUL 133 +#define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 +#define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 +#define BN_F_BN_GF2M_MOD_SQR 136 +#define BN_F_BN_GF2M_MOD_SQRT 137 +#define BN_F_BN_MOD_EXP2_MONT 118 +#define BN_F_BN_MOD_EXP_MONT 109 +#define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +#define BN_F_BN_MOD_EXP_MONT_WORD 117 +#define BN_F_BN_MOD_EXP_RECP 125 +#define BN_F_BN_MOD_EXP_SIMPLE 126 +#define BN_F_BN_MOD_INVERSE 110 +#define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +#define BN_F_BN_MOD_LSHIFT_QUICK 119 +#define BN_F_BN_MOD_MUL_RECIPROCAL 111 +#define BN_F_BN_MOD_SQRT 121 +#define BN_F_BN_MPI2BN 112 +#define BN_F_BN_NEW 113 +#define BN_F_BN_RAND 114 +#define BN_F_BN_RAND_RANGE 122 +#define BN_F_BN_USUB 115 + +/* Reason codes. */ +#define BN_R_ARG2_LT_ARG3 100 +#define BN_R_BAD_RECIPROCAL 101 +#define BN_R_BIGNUM_TOO_LONG 114 +#define BN_R_BITS_TOO_SMALL 117 +#define BN_R_CALLED_WITH_EVEN_MODULUS 102 +#define BN_R_DIV_BY_ZERO 103 +#define BN_R_ENCODING_ERROR 104 +#define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 +#define BN_R_INPUT_NOT_REDUCED 110 +#define BN_R_INVALID_ARGUMENT 118 +#define BN_R_INVALID_LENGTH 106 +#define BN_R_INVALID_RANGE 115 +#define BN_R_NOT_A_SQUARE 111 +#define BN_R_NOT_INITIALIZED 107 +#define BN_R_NO_INVERSE 108 +#define BN_R_NO_SOLUTION 116 +#define BN_R_P_IS_NOT_PRIME 112 +#define BN_R_TOO_MANY_ITERATIONS 113 +#define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/buffer.h b/curl/include/openssl/buffer.h new file mode 100644 index 0000000..d461d64 --- /dev/null +++ b/curl/include/openssl/buffer.h @@ -0,0 +1,102 @@ +/* $OpenBSD: buffer.h,v 1.17 2023/07/28 10:17:21 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_BUFFER_H +#define HEADER_BUFFER_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +/* Already declared in ossl_typ.h */ +/* typedef struct buf_mem_st BUF_MEM; */ + +struct buf_mem_st { + size_t length; /* current number of bytes */ + char *data; + size_t max; /* size of buffer */ +}; + +BUF_MEM *BUF_MEM_new(void); +void BUF_MEM_free(BUF_MEM *a); +int BUF_MEM_grow(BUF_MEM *str, size_t len); +int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); + +void ERR_load_BUF_strings(void); + +/* Error codes for the BUF functions. */ + +/* Function codes. */ +#define BUF_F_BUF_MEMDUP 103 +#define BUF_F_BUF_MEM_GROW 100 +#define BUF_F_BUF_MEM_GROW_CLEAN 105 +#define BUF_F_BUF_MEM_NEW 101 +#define BUF_F_BUF_STRDUP 102 +#define BUF_F_BUF_STRNDUP 104 + +/* Reason codes. */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/camellia.h b/curl/include/openssl/camellia.h new file mode 100644 index 0000000..c1f1a17 --- /dev/null +++ b/curl/include/openssl/camellia.h @@ -0,0 +1,121 @@ +/* $OpenBSD: camellia.h,v 1.6 2025/01/25 17:59:44 tb Exp $ */ +/* ==================================================================== + * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + */ + +#ifndef HEADER_CAMELLIA_H +#define HEADER_CAMELLIA_H + +#include + +#include + +#define CAMELLIA_ENCRYPT 1 +#define CAMELLIA_DECRYPT 0 + +/* Because array size can't be a const in C, the following two are macros. + Both sizes are in bytes. */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* This should be a hidden type, but EVP requires that the size be known */ + +#define CAMELLIA_BLOCK_SIZE 16 +#define CAMELLIA_TABLE_BYTE_LEN 272 +#define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) + +typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match with WORD */ + +struct camellia_key_st { + union { + double d; /* ensures 64-bit align */ + KEY_TABLE_TYPE rd_key; + } u; + int grand_rounds; +}; +typedef struct camellia_key_st CAMELLIA_KEY; + +int Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); + +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_decrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); + +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); + +#ifdef __cplusplus +} +#endif + +#endif /* !HEADER_Camellia_H */ diff --git a/curl/include/openssl/cast.h b/curl/include/openssl/cast.h new file mode 100644 index 0000000..5c12d91 --- /dev/null +++ b/curl/include/openssl/cast.h @@ -0,0 +1,99 @@ +/* $OpenBSD: cast.h,v 1.14 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CAST_H +#define HEADER_CAST_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define CAST_ENCRYPT 1 +#define CAST_DECRYPT 0 + +#define CAST_LONG unsigned int + +#define CAST_BLOCK 8 +#define CAST_KEY_LENGTH 16 + +typedef struct cast_key_st { + CAST_LONG data[32]; + int short_key; /* Use reduced rounds for short key */ +} CAST_KEY; + +void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, const CAST_KEY *key, + int enc); +void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const CAST_KEY *ks, unsigned char *iv, int enc); +void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, unsigned char *ivec, + int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/chacha.h b/curl/include/openssl/chacha.h new file mode 100644 index 0000000..7d30c51 --- /dev/null +++ b/curl/include/openssl/chacha.h @@ -0,0 +1,54 @@ +/* $OpenBSD: chacha.h,v 1.9 2025/01/25 17:59:44 tb Exp $ */ +/* + * Copyright (c) 2014 Joel Sing + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef HEADER_CHACHA_H +#define HEADER_CHACHA_H + +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + unsigned int input[16]; + unsigned char ks[64]; + unsigned char unused; +} ChaCha_ctx; + +void ChaCha_set_key(ChaCha_ctx *ctx, const unsigned char *key, + unsigned int keybits); +void ChaCha_set_iv(ChaCha_ctx *ctx, const unsigned char *iv, + const unsigned char *counter); +void ChaCha(ChaCha_ctx *ctx, unsigned char *out, const unsigned char *in, + size_t len); + +void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, + const unsigned char key[32], const unsigned char iv[8], uint64_t counter); +void CRYPTO_xchacha_20(unsigned char *out, const unsigned char *in, size_t len, + const unsigned char key[32], const unsigned char iv[24]); +void CRYPTO_hchacha_20(unsigned char out[32], + const unsigned char key[32], const unsigned char iv[16]); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_CHACHA_H */ diff --git a/curl/include/openssl/cmac.h b/curl/include/openssl/cmac.h new file mode 100644 index 0000000..f77dae1 --- /dev/null +++ b/curl/include/openssl/cmac.h @@ -0,0 +1,81 @@ +/* $OpenBSD: cmac.h,v 1.4 2024/03/02 09:30:21 tb Exp $ */ +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2010 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + + +#ifndef HEADER_CMAC_H +#define HEADER_CMAC_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* Opaque */ +typedef struct CMAC_CTX_st CMAC_CTX; + +CMAC_CTX *CMAC_CTX_new(void); +void CMAC_CTX_cleanup(CMAC_CTX *ctx); +void CMAC_CTX_free(CMAC_CTX *ctx); +EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); +int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); + +int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, + const EVP_CIPHER *cipher, ENGINE *impl); +int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); +int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/cms.h b/curl/include/openssl/cms.h new file mode 100644 index 0000000..90030bd --- /dev/null +++ b/curl/include/openssl/cms.h @@ -0,0 +1,534 @@ +/* $OpenBSD: cms.h,v 1.18 2024/03/30 00:35:15 joshua Exp $ */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_CMS_H +#define HEADER_CMS_H + +#include + +#ifndef OPENSSL_NO_CMS + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct CMS_ContentInfo_st CMS_ContentInfo; +typedef struct CMS_SignerInfo_st CMS_SignerInfo; +typedef struct CMS_CertificateChoices CMS_CertificateChoices; +typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; +typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; +typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; +typedef struct CMS_Receipt_st CMS_Receipt; +typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; +typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; + +DECLARE_STACK_OF(CMS_SignerInfo) +DECLARE_STACK_OF(CMS_RecipientEncryptedKey) +DECLARE_STACK_OF(CMS_RecipientInfo) +DECLARE_STACK_OF(CMS_RevocationInfoChoice) +CMS_ContentInfo *CMS_ContentInfo_new(void); +void CMS_ContentInfo_free(CMS_ContentInfo *a); +CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **a, const unsigned char **in, long len); +int i2d_CMS_ContentInfo(CMS_ContentInfo *a, unsigned char **out); +extern const ASN1_ITEM CMS_ContentInfo_it; +CMS_ReceiptRequest *CMS_ReceiptRequest_new(void); +void CMS_ReceiptRequest_free(CMS_ReceiptRequest *a); +CMS_ReceiptRequest *d2i_CMS_ReceiptRequest(CMS_ReceiptRequest **a, const unsigned char **in, long len); +int i2d_CMS_ReceiptRequest(CMS_ReceiptRequest *a, unsigned char **out); +extern const ASN1_ITEM CMS_ReceiptRequest_it; +int CMS_ContentInfo_print_ctx(BIO *out, CMS_ContentInfo *x, int indent, const ASN1_PCTX *pctx); + +#define CMS_SIGNERINFO_ISSUER_SERIAL 0 +#define CMS_SIGNERINFO_KEYIDENTIFIER 1 + +#define CMS_RECIPINFO_NONE -1 +#define CMS_RECIPINFO_TRANS 0 +#define CMS_RECIPINFO_AGREE 1 +#define CMS_RECIPINFO_KEK 2 +#define CMS_RECIPINFO_PASS 3 +#define CMS_RECIPINFO_OTHER 4 + +/* S/MIME related flags */ + +#define CMS_TEXT 0x1 +#define CMS_NOCERTS 0x2 +#define CMS_NO_CONTENT_VERIFY 0x4 +#define CMS_NO_ATTR_VERIFY 0x8 +#define CMS_NOSIGS \ + (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) +#define CMS_NOINTERN 0x10 +#define CMS_NO_SIGNER_CERT_VERIFY 0x20 +#define CMS_NOVERIFY 0x20 +#define CMS_DETACHED 0x40 +#define CMS_BINARY 0x80 +#define CMS_NOATTR 0x100 +#define CMS_NOSMIMECAP 0x200 +#define CMS_NOOLDMIMETYPE 0x400 +#define CMS_CRLFEOL 0x800 +#define CMS_STREAM 0x1000 +#define CMS_NOCRL 0x2000 +#define CMS_PARTIAL 0x4000 +#define CMS_REUSE_DIGEST 0x8000 +#define CMS_USE_KEYID 0x10000 +#define CMS_DEBUG_DECRYPT 0x20000 +#define CMS_KEY_PARAM 0x40000 +#define CMS_ASCIICRLF 0x80000 + +const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms); + +int CMS_get_version(const CMS_ContentInfo *cms, long *version); +int CMS_SignerInfo_get_version(const CMS_SignerInfo *si, long *version); + +BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); +int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); + +ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); +int CMS_is_detached(CMS_ContentInfo *cms); +int CMS_set_detached(CMS_ContentInfo *cms, int detached); + +CMS_ContentInfo *PEM_read_bio_CMS(BIO *bp, CMS_ContentInfo **x, + pem_password_cb *cb, void *u); +CMS_ContentInfo *PEM_read_CMS(FILE *fp, CMS_ContentInfo **x, + pem_password_cb *cb, void *u); +int PEM_write_bio_CMS(BIO *bp, const CMS_ContentInfo *x); +int PEM_write_CMS(FILE *fp, const CMS_ContentInfo *x); +int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); +CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); +int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); + +BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); +int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); +int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, + int flags); +CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); +int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); + +int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned int flags); + +CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, unsigned int flags); + +CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, X509 *signcert, + EVP_PKEY *pkey, STACK_OF(X509) *certs, unsigned int flags); + +int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); +CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); + +int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, + unsigned int flags); + +int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, const unsigned char *key, + size_t keylen, BIO *dcont, BIO *out, unsigned int flags); + +CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, size_t keylen, unsigned int flags); + +int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, + const unsigned char *key, size_t keylen); + +int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); + +int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, + STACK_OF(X509) *certs, X509_STORE *store, unsigned int flags); + +STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); + +CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags); + +int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, + BIO *dcont, BIO *out, unsigned int flags); + +int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); +int CMS_decrypt_set1_key(CMS_ContentInfo *cms, unsigned char *key, + size_t keylen, const unsigned char *id, size_t idlen); +int CMS_decrypt_set1_password(CMS_ContentInfo *cms, unsigned char *pass, + ssize_t passlen); + +STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); +int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); +EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); +CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); +CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509 *recip, + unsigned int flags); +int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); +int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); +int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, EVP_PKEY **pk, + X509 **recip, X509_ALGOR **palg); +int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, + ASN1_OCTET_STRING **keyid, X509_NAME **issuer, ASN1_INTEGER **sno); + +CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, + unsigned char *key, size_t keylen, unsigned char *id, size_t idlen, + ASN1_GENERALIZEDTIME *date, ASN1_OBJECT *otherTypeId, ASN1_TYPE *otherType); + +int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, X509_ALGOR **palg, + ASN1_OCTET_STRING **pid, ASN1_GENERALIZEDTIME **pdate, + ASN1_OBJECT **potherid, ASN1_TYPE **pothertype); + +int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, unsigned char *key, + size_t keylen); + +int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, + const unsigned char *id, size_t idlen); + +int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, unsigned char *pass, + ssize_t passlen); + +CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, int iter, + int wrap_nid, int pbe_nid, unsigned char *pass, ssize_t passlen, + const EVP_CIPHER *kekciph); + +int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); + +int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); + +int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); +const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); + +CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); +int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); +int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); +STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); + +CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); +int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); +int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); +STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); + +int CMS_SignedData_init(CMS_ContentInfo *cms); +CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, X509 *signer, + EVP_PKEY *pk, const EVP_MD *md, unsigned int flags); +EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); +EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); +STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); + +void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); +int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); +int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + unsigned int flags); +void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, X509 **signer, + X509_ALGOR **pdig, X509_ALGOR **psig); +ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); +int CMS_SignerInfo_sign(CMS_SignerInfo *si); +int CMS_SignerInfo_verify(CMS_SignerInfo *si); +int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); + +int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); +int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, int algnid, + int keysize); +int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); + +int CMS_signed_get_attr_count(const CMS_SignerInfo *si); +int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, int lastpos); +int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *obj, + int type, const void *bytes, int len); +int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, int nid, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, const void *bytes, int len); +void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); +int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, const void *bytes, int len); +int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, int nid, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, const char *attrname, + int type, const void *bytes, int len); +void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, + int allorfirst, STACK_OF(GENERAL_NAMES) *receiptList, + STACK_OF(GENERAL_NAMES) *receiptsTo); +int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); +void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, ASN1_STRING **pcid, + int *pallorfirst, STACK_OF(GENERAL_NAMES) **plist, + STACK_OF(GENERAL_NAMES) **prto); + +int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, X509_ALGOR **palg, + ASN1_OCTET_STRING **pukm); +STACK_OF(CMS_RecipientEncryptedKey) * + CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); + +int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, + X509_ALGOR **pubalg, ASN1_BIT_STRING **pubkey, ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); + +int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); + +int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, + ASN1_OCTET_STRING **keyid, ASN1_GENERALIZEDTIME **tm, + CMS_OtherKeyAttribute **other, X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, + X509 *cert); +int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); +EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); +int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, + CMS_RecipientInfo *ri, CMS_RecipientEncryptedKey *rek); + +int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, + ASN1_OCTET_STRING *ukm, int keylen); + +/* Backward compatibility for spelling errors. */ +#define CMS_R_UNKNOWN_DIGEST_ALGORITM CMS_R_UNKNOWN_DIGEST_ALGORITHM +#define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE \ + CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE + +int ERR_load_CMS_strings(void); + +/* + * CMS function codes. + */ +#define CMS_F_CHECK_CONTENT 99 +#define CMS_F_CMS_ADD0_CERT 164 +#define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 +#define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 +#define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 +#define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 +#define CMS_F_CMS_ADD1_SIGNER 102 +#define CMS_F_CMS_ADD1_SIGNINGTIME 103 +#define CMS_F_CMS_COMPRESS 104 +#define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 +#define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 +#define CMS_F_CMS_COPY_CONTENT 107 +#define CMS_F_CMS_COPY_MESSAGEDIGEST 108 +#define CMS_F_CMS_DATA 109 +#define CMS_F_CMS_DATAFINAL 110 +#define CMS_F_CMS_DATAINIT 111 +#define CMS_F_CMS_DECRYPT 112 +#define CMS_F_CMS_DECRYPT_SET1_KEY 113 +#define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 +#define CMS_F_CMS_DECRYPT_SET1_PKEY 114 +#define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 +#define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 +#define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 +#define CMS_F_CMS_DIGEST_VERIFY 118 +#define CMS_F_CMS_ENCODE_RECEIPT 161 +#define CMS_F_CMS_ENCRYPT 119 +#define CMS_F_CMS_ENCRYPTEDCONTENT_INIT 179 +#define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 +#define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 +#define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 +#define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 +#define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 +#define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 +#define CMS_F_CMS_ENVELOPED_DATA_INIT 126 +#define CMS_F_CMS_ENV_ASN1_CTRL 171 +#define CMS_F_CMS_FINAL 127 +#define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 +#define CMS_F_CMS_GET0_CONTENT 129 +#define CMS_F_CMS_GET0_ECONTENT_TYPE 130 +#define CMS_F_CMS_GET0_ENVELOPED 131 +#define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 +#define CMS_F_CMS_GET0_SIGNED 133 +#define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 +#define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 +#define CMS_F_CMS_RECEIPT_VERIFY 160 +#define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 +#define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 +#define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 +#define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 +#define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 +#define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 +#define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 +#define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 +#define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 +#define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 +#define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 +#define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 +#define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 +#define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 +#define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 +#define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 +#define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 +#define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 +#define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 +#define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 +#define CMS_F_CMS_SD_ASN1_CTRL 170 +#define CMS_F_CMS_SET1_IAS 176 +#define CMS_F_CMS_SET1_KEYID 177 +#define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 +#define CMS_F_CMS_SET_DETACHED 147 +#define CMS_F_CMS_SIGN 148 +#define CMS_F_CMS_SIGNED_DATA_INIT 149 +#define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 +#define CMS_F_CMS_SIGNERINFO_SIGN 151 +#define CMS_F_CMS_SIGNERINFO_VERIFY 152 +#define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 +#define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 +#define CMS_F_CMS_SIGN_RECEIPT 163 +#define CMS_F_CMS_STREAM 155 +#define CMS_F_CMS_UNCOMPRESS 156 +#define CMS_F_CMS_VERIFY 157 +#define CMS_F_KEK_UNWRAP_KEY 180 + +/* + * CMS reason codes. + */ +#define CMS_R_ADD_SIGNER_ERROR 99 +#define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 +#define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 +#define CMS_R_CERTIFICATE_VERIFY_ERROR 100 +#define CMS_R_CIPHER_INITIALISATION_ERROR 101 +#define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 +#define CMS_R_CMS_DATAFINAL_ERROR 103 +#define CMS_R_CMS_LIB 104 +#define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 +#define CMS_R_CONTENT_NOT_FOUND 105 +#define CMS_R_CONTENT_TYPE_MISMATCH 171 +#define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 +#define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 +#define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 +#define CMS_R_CONTENT_VERIFY_ERROR 109 +#define CMS_R_CTRL_ERROR 110 +#define CMS_R_CTRL_FAILURE 111 +#define CMS_R_DECRYPT_ERROR 112 +#define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 +#define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 +#define CMS_R_ERROR_SETTING_KEY 115 +#define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 +#define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 +#define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 +#define CMS_R_INVALID_KEY_LENGTH 118 +#define CMS_R_MD_BIO_INIT_ERROR 119 +#define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 +#define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 +#define CMS_R_MSGSIGDIGEST_ERROR 172 +#define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 +#define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 +#define CMS_R_NEED_ONE_SIGNER 164 +#define CMS_R_NOT_A_SIGNED_RECEIPT 165 +#define CMS_R_NOT_ENCRYPTED_DATA 122 +#define CMS_R_NOT_KEK 123 +#define CMS_R_NOT_KEY_AGREEMENT 181 +#define CMS_R_NOT_KEY_TRANSPORT 124 +#define CMS_R_NOT_PWRI 177 +#define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 +#define CMS_R_NO_CIPHER 126 +#define CMS_R_NO_CONTENT 127 +#define CMS_R_NO_CONTENT_TYPE 173 +#define CMS_R_NO_DEFAULT_DIGEST 128 +#define CMS_R_NO_DIGEST_SET 129 +#define CMS_R_NO_KEY 130 +#define CMS_R_NO_KEY_OR_CERT 174 +#define CMS_R_NO_MATCHING_DIGEST 131 +#define CMS_R_NO_MATCHING_RECIPIENT 132 +#define CMS_R_NO_MATCHING_SIGNATURE 166 +#define CMS_R_NO_MSGSIGDIGEST 167 +#define CMS_R_NO_PASSWORD 178 +#define CMS_R_NO_PRIVATE_KEY 133 +#define CMS_R_NO_PUBLIC_KEY 134 +#define CMS_R_NO_RECEIPT_REQUEST 168 +#define CMS_R_NO_SIGNERS 135 +#define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 +#define CMS_R_RECEIPT_DECODE_ERROR 169 +#define CMS_R_RECIPIENT_ERROR 137 +#define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 +#define CMS_R_SIGNFINAL_ERROR 139 +#define CMS_R_SMIME_TEXT_ERROR 140 +#define CMS_R_STORE_INIT_ERROR 141 +#define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 +#define CMS_R_TYPE_NOT_DATA 143 +#define CMS_R_TYPE_NOT_DIGESTED_DATA 144 +#define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 +#define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 +#define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 +#define CMS_R_UNKNOWN_CIPHER 148 +#define CMS_R_UNKNOWN_DIGEST_ALGORITHM 149 +#define CMS_R_UNKNOWN_ID 150 +#define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 +#define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 +#define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 +#define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 +#define CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE 155 +#define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 +#define CMS_R_UNSUPPORTED_TYPE 156 +#define CMS_R_UNWRAP_ERROR 157 +#define CMS_R_UNWRAP_FAILURE 180 +#define CMS_R_VERIFICATION_FAILURE 158 +#define CMS_R_WRAP_ERROR 159 + +#ifdef __cplusplus +} +#endif +#endif +#endif diff --git a/curl/include/openssl/comp.h b/curl/include/openssl/comp.h new file mode 100644 index 0000000..f033027 --- /dev/null +++ b/curl/include/openssl/comp.h @@ -0,0 +1,7 @@ +/* $OpenBSD: comp.h,v 1.13 2023/07/28 09:42:44 tb Exp $ */ + +/* + * Public domain. + * + * This header is intentionally left empty. Some software uses it unnecessarily. + */ diff --git a/curl/include/openssl/conf.h b/curl/include/openssl/conf.h new file mode 100644 index 0000000..58a9035 --- /dev/null +++ b/curl/include/openssl/conf.h @@ -0,0 +1,189 @@ +/* $OpenBSD: conf.h,v 1.28 2025/03/01 10:11:19 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_CONF_H +#define HEADER_CONF_H + +#include + +#include +#include +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + char *section; + char *name; + char *value; +} CONF_VALUE; + +DECLARE_STACK_OF(CONF_VALUE) +DECLARE_LHASH_OF(CONF_VALUE); + +struct conf_st; +struct conf_method_st; +typedef struct conf_method_st CONF_METHOD; + +/* Module definitions */ + +typedef struct conf_imodule_st CONF_IMODULE; +typedef struct conf_module_st CONF_MODULE; + +DECLARE_STACK_OF(CONF_MODULE) +DECLARE_STACK_OF(CONF_IMODULE) + +/* DSO module function typedefs */ +typedef int conf_init_func(CONF_IMODULE *md, const CONF *cnf); +typedef void conf_finish_func(CONF_IMODULE *md); + +#define CONF_MFLAGS_IGNORE_ERRORS 0x1 +#define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 +#define CONF_MFLAGS_SILENT 0x4 +#define CONF_MFLAGS_NO_DSO 0x8 +#define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 +#define CONF_MFLAGS_DEFAULT_SECTION 0x20 + +void OPENSSL_config(const char *config_name); +void OPENSSL_no_config(void); + +struct conf_st { + const CONF_METHOD *meth; + LHASH_OF(CONF_VALUE) *data; +}; + +CONF *NCONF_new(const CONF_METHOD *meth); +void NCONF_free(CONF *conf); + +int NCONF_load(CONF *conf, const char *file, long *eline); +int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); +STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, const char *section); +char *NCONF_get_string(const CONF *conf, const char *group, const char *name); +int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, + long *result); + +#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) + +/* Module functions */ + +int CONF_modules_load(const CONF *cnf, const char *appname, + unsigned long flags); +int CONF_modules_load_file(const char *filename, const char *appname, + unsigned long flags); +void CONF_modules_unload(int all); +void CONF_modules_finish(void); +void CONF_modules_free(void); + +char *CONF_get1_default_config_file(void); + +void ERR_load_CONF_strings(void); + +/* Error codes for the CONF functions. */ + +/* Function codes. */ +#define CONF_F_CONF_DUMP_FP 104 +#define CONF_F_CONF_LOAD 100 +#define CONF_F_CONF_LOAD_BIO 102 +#define CONF_F_CONF_LOAD_FP 103 +#define CONF_F_CONF_MODULES_LOAD 116 +#define CONF_F_CONF_PARSE_LIST 119 +#define CONF_F_DEF_LOAD 120 +#define CONF_F_DEF_LOAD_BIO 121 +#define CONF_F_MODULE_INIT 115 +#define CONF_F_MODULE_LOAD_DSO 117 +#define CONF_F_MODULE_RUN 118 +#define CONF_F_NCONF_DUMP_BIO 105 +#define CONF_F_NCONF_DUMP_FP 106 +#define CONF_F_NCONF_GET_NUMBER 107 +#define CONF_F_NCONF_GET_NUMBER_E 112 +#define CONF_F_NCONF_GET_SECTION 108 +#define CONF_F_NCONF_GET_STRING 109 +#define CONF_F_NCONF_LOAD 113 +#define CONF_F_NCONF_LOAD_BIO 110 +#define CONF_F_NCONF_LOAD_FP 114 +#define CONF_F_NCONF_NEW 111 +#define CONF_F_STR_COPY 101 + +/* Reason codes. */ +#define CONF_R_ERROR_LOADING_DSO 110 +#define CONF_R_LIST_CANNOT_BE_NULL 115 +#define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 +#define CONF_R_MISSING_EQUAL_SIGN 101 +#define CONF_R_MISSING_FINISH_FUNCTION 111 +#define CONF_R_MISSING_INIT_FUNCTION 112 +#define CONF_R_MODULE_INITIALIZATION_ERROR 109 +#define CONF_R_NO_CLOSE_BRACE 102 +#define CONF_R_NO_CONF 105 +#define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 +#define CONF_R_NO_SECTION 107 +#define CONF_R_NO_SUCH_FILE 114 +#define CONF_R_NO_VALUE 108 +#define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 +#define CONF_R_UNKNOWN_MODULE_NAME 113 +#define CONF_R_VARIABLE_EXPANSION_TOO_LONG 116 +#define CONF_R_VARIABLE_HAS_NO_VALUE 104 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/crypto.h b/curl/include/openssl/crypto.h new file mode 100644 index 0000000..b4230f1 --- /dev/null +++ b/curl/include/openssl/crypto.h @@ -0,0 +1,458 @@ +/* $OpenBSD: crypto.h,v 1.79 2025/03/09 15:29:56 tb Exp $ */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#include +#include +#include +#include + +#ifndef HEADER_CRYPTO_H +#define HEADER_CRYPTO_H + +#include + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Backward compatibility to SSLeay */ +/* This is more to be used to check the correct DLL is being used + * in the MS world. */ +#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +#define SSLEAY_VERSION 0 +/* #define SSLEAY_OPTIONS 1 no longer supported */ +#define SSLEAY_CFLAGS 2 +#define SSLEAY_BUILT_ON 3 +#define SSLEAY_PLATFORM 4 +#define SSLEAY_DIR 5 + +/* When changing the CRYPTO_LOCK_* list, be sure to maintain the text lock + * names in cryptlib.c + */ + +#define CRYPTO_LOCK_ERR 1 +#define CRYPTO_LOCK_EX_DATA 2 +#define CRYPTO_LOCK_X509 3 +#define CRYPTO_LOCK_X509_INFO 4 +#define CRYPTO_LOCK_X509_PKEY 5 +#define CRYPTO_LOCK_X509_CRL 6 +#define CRYPTO_LOCK_X509_REQ 7 +#define CRYPTO_LOCK_DSA 8 +#define CRYPTO_LOCK_RSA 9 +#define CRYPTO_LOCK_EVP_PKEY 10 +#define CRYPTO_LOCK_X509_STORE 11 +#define CRYPTO_LOCK_SSL_CTX 12 +#define CRYPTO_LOCK_SSL_CERT 13 +#define CRYPTO_LOCK_SSL_SESSION 14 +#define CRYPTO_LOCK_SSL_SESS_CERT 15 +#define CRYPTO_LOCK_SSL 16 +#define CRYPTO_LOCK_SSL_METHOD 17 +#define CRYPTO_LOCK_RAND 18 +#define CRYPTO_LOCK_RAND2 19 +#define CRYPTO_LOCK_MALLOC 20 +#define CRYPTO_LOCK_BIO 21 +#define CRYPTO_LOCK_GETHOSTBYNAME 22 +#define CRYPTO_LOCK_GETSERVBYNAME 23 +#define CRYPTO_LOCK_READDIR 24 +#define CRYPTO_LOCK_RSA_BLINDING 25 +#define CRYPTO_LOCK_DH 26 +#define CRYPTO_LOCK_MALLOC2 27 +#define CRYPTO_LOCK_DSO 28 +#define CRYPTO_LOCK_DYNLOCK 29 +#define CRYPTO_LOCK_ENGINE 30 +#define CRYPTO_LOCK_UI 31 +#define CRYPTO_LOCK_ECDSA 32 +#define CRYPTO_LOCK_EC 33 +#define CRYPTO_LOCK_ECDH 34 +#define CRYPTO_LOCK_BN 35 +#define CRYPTO_LOCK_EC_PRE_COMP 36 +#define CRYPTO_LOCK_STORE 37 +#define CRYPTO_LOCK_COMP 38 +#define CRYPTO_LOCK_FIPS 39 +#define CRYPTO_LOCK_FIPS2 40 +#define CRYPTO_NUM_LOCKS 41 + +#define CRYPTO_LOCK 1 +#define CRYPTO_UNLOCK 2 +#define CRYPTO_READ 4 +#define CRYPTO_WRITE 8 + +#ifndef CRYPTO_w_lock +#define CRYPTO_w_lock(type) \ + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,OPENSSL_FILE,OPENSSL_LINE) +#define CRYPTO_w_unlock(type) \ + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,OPENSSL_FILE,OPENSSL_LINE) +#define CRYPTO_r_lock(type) \ + CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,OPENSSL_FILE,OPENSSL_LINE) +#define CRYPTO_r_unlock(type) \ + CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,OPENSSL_FILE,OPENSSL_LINE) +#define CRYPTO_add(addr,amount,type) \ + CRYPTO_add_lock(addr,amount,type,OPENSSL_FILE,OPENSSL_LINE) +#endif + +/* Some applications as well as some parts of OpenSSL need to allocate + and deallocate locks in a dynamic fashion. The following typedef + makes this possible in a type-safe manner. */ +/* struct CRYPTO_dynlock_value has to be defined by the application. */ +typedef struct { + int references; + struct CRYPTO_dynlock_value *data; +} CRYPTO_dynlock; + + +/* The following can be used to detect memory leaks in the SSLeay library. + * It used, it turns on malloc checking */ + +#define CRYPTO_MEM_CHECK_OFF 0x0 /* an enume */ +#define CRYPTO_MEM_CHECK_ON 0x1 /* a bit */ +#define CRYPTO_MEM_CHECK_ENABLE 0x2 /* a bit */ +#define CRYPTO_MEM_CHECK_DISABLE 0x3 /* an enume */ + +/* The following are bit values to turn on or off options connected to the + * malloc checking functionality */ + +/* Adds time to the memory checking information */ +#define V_CRYPTO_MDEBUG_TIME 0x1 /* a bit */ +/* Adds thread number to the memory checking information */ +#define V_CRYPTO_MDEBUG_THREAD 0x2 /* a bit */ + +#define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) + + +/* predec of the BIO type */ +typedef struct bio_st BIO_dummy; + +struct crypto_ex_data_st { + void *sk; +}; +DECLARE_STACK_OF(void) + +#define CRYPTO_EX_INDEX_SSL 0 +#define CRYPTO_EX_INDEX_SSL_CTX 1 +#define CRYPTO_EX_INDEX_SSL_SESSION 2 +#define CRYPTO_EX_INDEX_APP 3 +#define CRYPTO_EX_INDEX_BIO 4 +#define CRYPTO_EX_INDEX_DH 5 +#define CRYPTO_EX_INDEX_DSA 6 +#define CRYPTO_EX_INDEX_EC_KEY 7 +#define CRYPTO_EX_INDEX_ENGINE 8 +#define CRYPTO_EX_INDEX_RSA 9 +#define CRYPTO_EX_INDEX_UI 10 +#define CRYPTO_EX_INDEX_UI_METHOD 11 +#define CRYPTO_EX_INDEX_X509 12 +#define CRYPTO_EX_INDEX_X509_STORE 13 +#define CRYPTO_EX_INDEX_X509_STORE_CTX 14 +#define CRYPTO_EX_INDEX__COUNT 15 + +#ifndef LIBRESSL_INTERNAL +#define CRYPTO_malloc_init() (0) +#define CRYPTO_malloc_debug_init() (0) +#endif /* LIBRESSL_INTERNAL */ + +#if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD +# ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ +# define CRYPTO_MDEBUG +# endif +#endif + +int CRYPTO_mem_ctrl(int mode); + +#define OPENSSL_malloc(num) CRYPTO_malloc((num),OPENSSL_FILE,OPENSSL_LINE) +#define OPENSSL_strdup(str) CRYPTO_strdup((str),OPENSSL_FILE,OPENSSL_LINE) +#define OPENSSL_free(addr) CRYPTO_free((addr),OPENSSL_FILE,OPENSSL_LINE) + +const char *OpenSSL_version(int type); +#define OPENSSL_VERSION 0 +#define OPENSSL_CFLAGS 1 +#define OPENSSL_BUILT_ON 2 +#define OPENSSL_PLATFORM 3 +#define OPENSSL_DIR 4 +#define OPENSSL_ENGINES_DIR 5 +unsigned long OpenSSL_version_num(void); + +const char *SSLeay_version(int type); +unsigned long SSLeay(void); + +/* Within a given class, get/register a new index */ +int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +/* Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a given + * class (invokes whatever per-class callbacks are applicable) */ +int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, + CRYPTO_EX_DATA *from); +void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +/* Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular index + * (relative to the class type involved) */ +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); +/* This function cleans up all "ex_data" state. It mustn't be called under + * potential race-conditions. */ +void CRYPTO_cleanup_all_ex_data(void); + +void CRYPTO_lock(int mode, int type, const char *file, int line); +int CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, + int line); + +/* Don't use this structure directly. */ +typedef struct crypto_threadid_st CRYPTO_THREADID; + +/* These functions are deprecated no-op stubs */ +void CRYPTO_set_id_callback(unsigned long (*func)(void)); +unsigned long (*CRYPTO_get_id_callback(void))(void); +unsigned long CRYPTO_thread_id(void); + +int CRYPTO_get_new_lockid(char *name); +const char *CRYPTO_get_lock_name(int type); + +int CRYPTO_num_locks(void); +void CRYPTO_set_locking_callback(void (*func)(int mode, int type, + const char *file, int line)); +void (*CRYPTO_get_locking_callback(void))(int mode, int type, + const char *file, int line); +void CRYPTO_set_add_lock_callback(int (*func)(int *num, int mount, int type, + const char *file, int line)); +int (*CRYPTO_get_add_lock_callback(void))(int *num, int mount, int type, + const char *file, int line); + +void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); +void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); +int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *)); +void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *); + +int CRYPTO_get_new_dynlockid(void); +void CRYPTO_destroy_dynlockid(int i); +struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); +void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*dyn_create_function)(const char *file, int line)); +void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line)); +void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)(struct CRYPTO_dynlock_value *l, const char *file, int line)); +struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void))(const char *file, int line); +void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line); +void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l, const char *file, int line); + +int CRYPTO_set_mem_functions(void *(*m)(size_t, const char *, int), + void *(*r)(void *, size_t, const char *, int), + void (*f)(void *, const char *, int)); + +void *CRYPTO_malloc(size_t num, const char *file, int line); +char *CRYPTO_strdup(const char *str, const char *file, int line); +void CRYPTO_free(void *ptr, const char *file, int line); + +void OPENSSL_cleanse(void *ptr, size_t len); + +/* + * Because this is a public header, use a portable method of indicating the + * function does not return, rather than __dead. + */ +#ifdef _MSC_VER +__declspec(noreturn) +#else +__attribute__((__noreturn__)) +#endif +void OpenSSLDie(const char *file, int line, const char *assertion); +#define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(OPENSSL_FILE, OPENSSL_LINE, #e),1)) + +int FIPS_mode(void); +int FIPS_mode_set(int r); + +void OPENSSL_init(void); + +/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It + * takes an amount of time dependent on |len|, but independent of the contents + * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a + * defined order as the return value when a != b is undefined, other than to be + * non-zero. */ +int CRYPTO_memcmp(const void *a, const void *b, size_t len); + +/* + * OpenSSL compatible OPENSSL_INIT options. + */ + +#define OPENSSL_INIT_NO_LOAD_CONFIG 0x00000001L +#define OPENSSL_INIT_LOAD_CONFIG 0x00000002L + +/* LibreSSL specific */ +#define _OPENSSL_INIT_FLAG_NOOP 0x80000000L + +/* + * These are provided for compatibility, but have no effect + * on how LibreSSL is initialized. + */ +#define OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_LOAD_CRYPTO_STRINGS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ADD_ALL_CIPHERS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ADD_ALL_DIGESTS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_NO_ADD_ALL_CIPHERS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_NO_ADD_ALL_DIGESTS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ASYNC _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_RDRAND _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_DYNAMIC _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_OPENSSL _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_CRYPTODEV _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_CAPI _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_PADLOCK _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_AFALG _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_reserved_internal _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ATFORK _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_ENGINE_ALL_BUILTIN _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_NO_ATEXIT _OPENSSL_INIT_FLAG_NOOP + +int OPENSSL_init_crypto(uint64_t opts, const void *settings); +void OPENSSL_cleanup(void); + +/* + * CPU capabilities. + */ +#define CRYPTO_CPU_CAPS_ACCELERATED_AES 0x00000001ULL + +uint64_t OPENSSL_cpu_caps(void); + +/* + * OpenSSL helpfully put OPENSSL_gmtime() here because all other time related + * functions are in asn1.h. + */ +struct tm *OPENSSL_gmtime(const time_t *time, struct tm *out_tm); + +void ERR_load_CRYPTO_strings(void); + +/* Error codes for the CRYPTO functions. */ + +/* Function codes. */ +#define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 +#define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 +#define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 +#define CRYPTO_F_CRYPTO_SET_EX_DATA 102 +#define CRYPTO_F_DEF_ADD_INDEX 104 +#define CRYPTO_F_DEF_GET_CLASS 105 +#define CRYPTO_F_FIPS_MODE_SET 109 +#define CRYPTO_F_INT_DUP_EX_DATA 106 +#define CRYPTO_F_INT_FREE_EX_DATA 107 +#define CRYPTO_F_INT_NEW_EX_DATA 108 + +/* Reason codes. */ +#define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 +#define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/ct.h b/curl/include/openssl/ct.h new file mode 100644 index 0000000..db5cf28 --- /dev/null +++ b/curl/include/openssl/ct.h @@ -0,0 +1,567 @@ +/* $OpenBSD: ct.h,v 1.8 2024/08/08 23:50:29 tb Exp $ */ +/* + * Public API for Certificate Transparency (CT). + * Written by Rob Percival (robpercival@google.com) for the OpenSSL project. + */ +/* ==================================================================== + * Copyright (c) 2016 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_CT_H +#define HEADER_CT_H + +#include + +#ifndef OPENSSL_NO_CT +#include +#include +#include +#ifdef __cplusplus +extern "C" { +#endif + +/* Minimum RSA key size, from RFC6962 */ +#define SCT_MIN_RSA_BITS 2048 + +/* All hashes are SHA256 in v1 of Certificate Transparency */ +#define CT_V1_HASHLEN SHA256_DIGEST_LENGTH + +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET = -1, + CT_LOG_ENTRY_TYPE_X509 = 0, + CT_LOG_ENTRY_TYPE_PRECERT = 1 +} ct_log_entry_type_t; + +typedef enum { + SCT_VERSION_NOT_SET = -1, + SCT_VERSION_V1 = 0 +} sct_version_t; + +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +typedef enum { + SCT_VALIDATION_STATUS_NOT_SET, + SCT_VALIDATION_STATUS_UNKNOWN_LOG, + SCT_VALIDATION_STATUS_VALID, + SCT_VALIDATION_STATUS_INVALID, + SCT_VALIDATION_STATUS_UNVERIFIED, + SCT_VALIDATION_STATUS_UNKNOWN_VERSION +} sct_validation_status_t; + +DECLARE_STACK_OF(SCT) +DECLARE_STACK_OF(CTLOG) + +/****************************************** + * CT policy evaluation context functions * + ******************************************/ + +/* + * Creates a new, empty policy evaluation context. + * The caller is responsible for calling CT_POLICY_EVAL_CTX_free when finished + * with the CT_POLICY_EVAL_CTX. + */ +CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void); + +/* Deletes a policy evaluation context and anything it owns. */ +void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx); + +/* Gets the peer certificate that the SCTs are for */ +X509 *CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the certificate associated with the received SCTs. + * Increments the reference count of cert. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert); + +/* Gets the issuer of the aforementioned certificate */ +X509 *CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the issuer of the certificate associated with the received SCTs. + * Increments the reference count of issuer. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer); + +/* Gets the CT logs that are trusted sources of SCTs */ +const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx); + +/* Sets the log store that is in use. It must outlive the CT_POLICY_EVAL_CTX. */ +void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx, + CTLOG_STORE *log_store); + +/* + * Gets the time, in milliseconds since the Unix epoch, that will be used as the + * current time when checking whether an SCT was issued in the future. + * Such SCTs will fail validation, as required by RFC6962. + */ +uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the time to evaluate SCTs against, in milliseconds since the Unix epoch. + * If an SCT's timestamp is after this time, it will be interpreted as having + * been issued in the future. RFC6962 states that "TLS clients MUST reject SCTs + * whose timestamp is in the future", so an SCT will not validate in this case. + */ +void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t time_in_ms); + +/***************** + * SCT functions * + *****************/ + +/* + * Creates a new, blank SCT. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new(void); + +/* + * Creates a new SCT from some base64-encoded strings. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new_from_base64(unsigned char version, const char *logid_base64, + ct_log_entry_type_t entry_type, uint64_t timestamp, + const char *extensions_base64, const char *signature_base64); + +/* + * Frees the SCT and the underlying data structures. + */ +void SCT_free(SCT *sct); + +/* + * Free a stack of SCTs, and the underlying SCTs themselves. + * Intended to be compatible with X509V3_EXT_FREE. + */ +void SCT_LIST_free(STACK_OF(SCT) *a); + +/* + * Returns the version of the SCT. + */ +sct_version_t SCT_get_version(const SCT *sct); + +/* + * Set the version of an SCT. + * Returns 1 on success, 0 if the version is unrecognized. + */ +int SCT_set_version(SCT *sct, sct_version_t version); + +/* + * Returns the log entry type of the SCT. + */ +ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct); + +/* + * Set the log entry type of an SCT. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type); + +/* + * Gets the ID of the log that an SCT came from. + * Ownership of the log ID remains with the SCT. + * Returns the length of the log ID. + */ +size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id); + +/* + * Set the log ID of an SCT to point directly to the *log_id specified. + * The SCT takes ownership of the specified pointer. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len); + +/* + * Set the log ID of an SCT. + * This makes a copy of the log_id. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, + size_t log_id_len); + +/* + * Returns the timestamp for the SCT (epoch time in milliseconds). + */ +uint64_t SCT_get_timestamp(const SCT *sct); + +/* + * Set the timestamp of an SCT (epoch time in milliseconds). + */ +void SCT_set_timestamp(SCT *sct, uint64_t timestamp); + +/* + * Return the NID for the signature used by the SCT. + * For CT v1, this will be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256 (or NID_undef if incorrect/unset). + */ +int SCT_get_signature_nid(const SCT *sct); + +/* + * Set the signature type of an SCT + * For CT v1, this should be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set_signature_nid(SCT *sct, int nid); + +/* + * Set *ext to point to the extension data for the SCT. ext must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext); + +/* + * Set the extensions of an SCT to point directly to the *ext specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len); + +/* + * Set the extensions of an SCT. + * This takes a copy of the ext. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set1_extensions(SCT *sct, const unsigned char *ext, + size_t ext_len); + +/* + * Set *sig to point to the signature for the SCT. sig must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_signature(const SCT *sct, unsigned char **sig); + +/* + * Set the signature of an SCT to point directly to the *sig specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len); + +/* + * Set the signature of an SCT to be a copy of the *sig specified. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set1_signature(SCT *sct, const unsigned char *sig, + size_t sig_len); + +/* + * The origin of this SCT, e.g. TLS extension, OCSP response, etc. + */ +sct_source_t SCT_get_source(const SCT *sct); + +/* + * Set the origin of this SCT, e.g. TLS extension, OCSP response, etc. + * Returns 1 on success, 0 otherwise. + */ +int SCT_set_source(SCT *sct, sct_source_t source); + +/* + * Returns a text string describing the validation status of |sct|. + */ +const char *SCT_validation_status_string(const SCT *sct); + +/* + * Pretty-prints an |sct| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * If |logs| is not NULL, it will be used to lookup the CT log that the SCT came + * from, so that the log name can be printed. + */ +void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs); + +/* + * Pretty-prints an |sct_list| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * SCTs will be delimited by |separator|. + * If |logs| is not NULL, it will be used to lookup the CT log that each SCT + * came from, so that the log names can be printed. + */ +void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent, + const char *separator, const CTLOG_STORE *logs); + +/* + * Gets the last result of validating this SCT. + * If it has not been validated yet, returns SCT_VALIDATION_STATUS_NOT_SET. + */ +sct_validation_status_t SCT_get_validation_status(const SCT *sct); + +/* + * Validates the given SCT with the provided context. + * Sets the "validation_status" field of the SCT. + * Returns 1 if the SCT is valid and the signature verifies. + * Returns 0 if the SCT is invalid or could not be verified. + * Returns -1 if an error occurs. + */ +int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx); + +/* + * Validates the given list of SCTs with the provided context. + * Sets the "validation_status" field of each SCT. + * Returns 1 if there are no invalid SCTs and all signatures verify. + * Returns 0 if at least one SCT is invalid or could not be verified. + * Returns a negative integer if an error occurs. + */ +int SCT_LIST_validate(const STACK_OF(SCT) *scts, + CT_POLICY_EVAL_CTX *ctx); + + +/********************************* + * SCT parsing and serialisation * + *********************************/ + +/* + * Serialize (to TLS format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just return the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Convert TLS format SCT list to a stack of SCTs. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + size_t len); + +/* + * Serialize (to DER format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just returns the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Parses an SCT list in DER format and returns it. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + long len); + +/* + * Serialize (to TLS format) an |sct| and write it to |out|. + * If |out| is null, no SCT will be output but the length will still be returned. + * If |out| points to a null pointer, a string will be allocated to hold the + * TLS-format SCT. It is the responsibility of the caller to free it. + * If |out| points to an allocated string, the TLS-format SCT will be written + * to it. + * The length of the SCT in TLS format will be returned. + */ +int i2o_SCT(const SCT *sct, unsigned char **out); + +/* + * Parses an SCT in TLS format and returns it. + * If |psct| is not null, it will end up pointing to the parsed SCT. If it + * already points to a non-null pointer, the pointer will be free'd. + * |in| should be a pointer to a string containing the TLS-format SCT. + * |in| will be advanced to the end of the SCT if parsing succeeds. + * |len| should be the length of the SCT in |in|. + * Returns NULL if an error occurs. + * If the SCT is an unsupported version, only the SCT's 'sct' and 'sct_len' + * fields will be populated (with |in| and |len| respectively). + */ +SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len); + +/******************** + * CT log functions * + ********************/ + +/* + * Creates a new CT log instance with the given |public_key| and |name|. + * Takes ownership of |public_key| but copies |name|. + * Returns NULL if malloc fails or if |public_key| cannot be converted to DER. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name); + +/* + * Creates a new CTLOG instance with the base64-encoded SubjectPublicKeyInfo DER + * in |pkey_base64|. The |name| is a string to help users identify this log. + * Returns 1 on success, 0 on failure. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +int CTLOG_new_from_base64(CTLOG **ct_log, const char *pkey_base64, + const char *name); + +/* + * Deletes a CT log instance and its fields. + */ +void CTLOG_free(CTLOG *log); + +/* Gets the name of the CT log */ +const char *CTLOG_get0_name(const CTLOG *log); +/* Gets the ID of the CT log */ +void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, + size_t *log_id_len); +/* Gets the public key of the CT log */ +EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log); + +/************************** + * CT log store functions * + **************************/ + +/* + * Creates a new CT log store. + * Should be deleted by the caller using CTLOG_STORE_free when no longer needed. + */ +CTLOG_STORE *CTLOG_STORE_new(void); + +/* + * Deletes a CT log store and all of the CT log instances held within. + */ +void CTLOG_STORE_free(CTLOG_STORE *store); + +/* + * Finds a CT log in the store based on its log ID. + * Returns the CT log, or NULL if no match is found. + */ +const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store, + const uint8_t *log_id, size_t log_id_len); + +/* + * Loads a CT log list into a |store| from a |file|. + * Returns 1 if loading is successful, or 0 otherwise. + */ +int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file); + +/* + * Loads the default CT log list into a |store|. + * Returns 1 if loading is successful, or 0 otherwise. + */ +int CTLOG_STORE_load_default_file(CTLOG_STORE *store); + +int ERR_load_CT_strings(void); + +/* + * CT function codes. + */ +# define CT_F_CTLOG_NEW 117 +# define CT_F_CTLOG_NEW_FROM_BASE64 118 +# define CT_F_CTLOG_NEW_FROM_CONF 119 +# define CT_F_CTLOG_STORE_LOAD_CTX_NEW 122 +# define CT_F_CTLOG_STORE_LOAD_FILE 123 +# define CT_F_CTLOG_STORE_LOAD_LOG 130 +# define CT_F_CTLOG_STORE_NEW 131 +# define CT_F_CT_BASE64_DECODE 124 +# define CT_F_CT_POLICY_EVAL_CTX_NEW 133 +# define CT_F_CT_V1_LOG_ID_FROM_PKEY 125 +# define CT_F_I2O_SCT 107 +# define CT_F_I2O_SCT_LIST 108 +# define CT_F_I2O_SCT_SIGNATURE 109 +# define CT_F_O2I_SCT 110 +# define CT_F_O2I_SCT_LIST 111 +# define CT_F_O2I_SCT_SIGNATURE 112 +# define CT_F_SCT_CTX_NEW 126 +# define CT_F_SCT_CTX_VERIFY 128 +# define CT_F_SCT_NEW 100 +# define CT_F_SCT_NEW_FROM_BASE64 127 +# define CT_F_SCT_SET0_LOG_ID 101 +# define CT_F_SCT_SET1_EXTENSIONS 114 +# define CT_F_SCT_SET1_LOG_ID 115 +# define CT_F_SCT_SET1_SIGNATURE 116 +# define CT_F_SCT_SET_LOG_ENTRY_TYPE 102 +# define CT_F_SCT_SET_SIGNATURE_NID 103 +# define CT_F_SCT_SET_VERSION 104 + +/* + * CT reason codes. + */ +# define CT_R_BASE64_DECODE_ERROR 108 +# define CT_R_INVALID_LOG_ID_LENGTH 100 +# define CT_R_LOG_CONF_INVALID 109 +# define CT_R_LOG_CONF_INVALID_KEY 110 +# define CT_R_LOG_CONF_MISSING_DESCRIPTION 111 +# define CT_R_LOG_CONF_MISSING_KEY 112 +# define CT_R_LOG_KEY_INVALID 113 +# define CT_R_SCT_FUTURE_TIMESTAMP 116 +# define CT_R_SCT_INVALID 104 +# define CT_R_SCT_INVALID_SIGNATURE 107 +# define CT_R_SCT_LIST_INVALID 105 +# define CT_R_SCT_LOG_ID_MISMATCH 114 +# define CT_R_SCT_NOT_SET 106 +# define CT_R_SCT_UNSUPPORTED_VERSION 115 +# define CT_R_UNRECOGNIZED_SIGNATURE_NID 101 +# define CT_R_UNSUPPORTED_ENTRY_TYPE 102 +# define CT_R_UNSUPPORTED_VERSION 103 + +#ifdef __cplusplus +} +#endif +#endif +#endif diff --git a/curl/include/openssl/curve25519.h b/curl/include/openssl/curve25519.h new file mode 100644 index 0000000..e42bc22 --- /dev/null +++ b/curl/include/openssl/curve25519.h @@ -0,0 +1,104 @@ +/* $OpenBSD: curve25519.h,v 1.7 2022/11/13 14:05:04 tb Exp $ */ +/* + * Copyright (c) 2015, Google Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef HEADER_CURVE25519_H +#define HEADER_CURVE25519_H + +#include + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +/* + * Curve25519. + * + * Curve25519 is an elliptic curve. See https://tools.ietf.org/html/rfc7748. + */ + +/* + * X25519. + * + * X25519 is the Diffie-Hellman primitive built from curve25519. It is + * sometimes referred to as curve25519, but X25519 is a more precise name. + * See http://cr.yp.to/ecdh.html and https://tools.ietf.org/html/rfc7748. + */ + +#define X25519_KEY_LENGTH 32 + +/* + * X25519_keypair sets |out_public_value| and |out_private_key| to a freshly + * generated, public/private key pair. + */ +void X25519_keypair(uint8_t out_public_value[X25519_KEY_LENGTH], + uint8_t out_private_key[X25519_KEY_LENGTH]); + +/* + * X25519 writes a shared key to |out_shared_key| that is calculated from the + * given private key and the peer's public value. It returns one on success and + * zero on error. + * + * Don't use the shared key directly, rather use a KDF and also include the two + * public values as inputs. + */ +int X25519(uint8_t out_shared_key[X25519_KEY_LENGTH], + const uint8_t private_key[X25519_KEY_LENGTH], + const uint8_t peers_public_value[X25519_KEY_LENGTH]); + +/* + * ED25519 + * + * Ed25519 is a signature scheme using a twisted Edwards curve that is + * birationally equivalent to curve25519. + */ + +#define ED25519_PRIVATE_KEY_LENGTH 32 +#define ED25519_PUBLIC_KEY_LENGTH 32 +#define ED25519_SIGNATURE_LENGTH 64 + +/* + * ED25519_keypair sets |out_public_key| and |out_private_key| to a freshly + * generated, public/private key pair. + */ +void ED25519_keypair(uint8_t out_public_key[ED25519_PUBLIC_KEY_LENGTH], + uint8_t out_private_key[ED25519_PRIVATE_KEY_LENGTH]); + +/* + * ED25519_sign sets |out_sig| to be a signature of |message_len| bytes from + * |message| using |public_key| and |private_key|. It returns one on success + * or zero on allocation failure. + */ +int ED25519_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len, + const uint8_t public_key[ED25519_PUBLIC_KEY_LENGTH], + const uint8_t private_key_seed[ED25519_PRIVATE_KEY_LENGTH]); + +/* + * ED25519_verify returns one iff |signature| is a valid signature by + * |public_key| of |message_len| bytes from |message|. It returns zero + * otherwise. + */ +int ED25519_verify(const uint8_t *message, size_t message_len, + const uint8_t signature[ED25519_SIGNATURE_LENGTH], + const uint8_t public_key[ED25519_PUBLIC_KEY_LENGTH]); + +#if defined(__cplusplus) +} /* extern C */ +#endif + +#endif /* HEADER_CURVE25519_H */ diff --git a/curl/include/openssl/des.h b/curl/include/openssl/des.h new file mode 100644 index 0000000..2d957a1 --- /dev/null +++ b/curl/include/openssl/des.h @@ -0,0 +1,206 @@ +/* $OpenBSD: des.h,v 1.23 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_NEW_DES_H +#define HEADER_NEW_DES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char DES_cblock[8]; +typedef /* const */ unsigned char const_DES_cblock[8]; +/* With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * + * and const_DES_cblock * are incompatible pointer types. */ + +typedef struct DES_ks { + union { + DES_cblock cblock; + /* make sure things are correct size on machines with + * 8 byte longs */ + DES_LONG deslong[2]; + } ks[16]; +} DES_key_schedule; + +#define DES_KEY_SZ (sizeof(DES_cblock)) +#define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) + +#define DES_ENCRYPT 1 +#define DES_DECRYPT 0 + +#define DES_CBC_MODE 0 +#define DES_PCBC_MODE 1 + +#define DES_ecb2_encrypt(i,o,k1,k2,e) \ + DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) + +#define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ + DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) + +#define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ + DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) + +#define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ + DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) + +extern int DES_check_key; /* defaults to false */ + +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, + long length, DES_key_schedule *schedule, + const_DES_cblock *ivec); +/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, DES_cblock *ivec, + int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, DES_cblock *ivec, + int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, DES_cblock *ivec, + const_DES_cblock *inw, const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, DES_cblock *ivec, + int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); + +/* This is the DES encryption function that gets called by just about + every other DES routine in the library. You should not use this + function except to implement 'modes' of DES. I say this because the + functions that call this routine do the conversion from 'char *' to + long, and this needs to be done to make sure 'non-aligned' memory + access do not occur. The characters are loaded 'little endian'. + Data is a pointer to 2 unsigned long's and ks is the + DES_key_schedule to use. enc, is non zero specifies encryption, + zero if decryption. */ +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); + +/* This functions is the same as DES_encrypt1() except that the DES + initial permutation (IP) and final permutation (FP) have been left + out. As for DES_encrypt1(), you should not use this function. + It is used by the routines in the library that implement triple DES. + IP() DES_encrypt2() DES_encrypt2() DES_encrypt2() FP() is the same + as DES_encrypt1() DES_encrypt1() DES_encrypt1() except faster :-). */ +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); + +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, + DES_cblock *ivec1, DES_cblock *ivec2, + int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +char *DES_fcrypt(const char *buf, const char *salt, char *ret); +char *DES_crypt(const char *buf, const char *salt); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, DES_cblock *ivec, + int enc); +DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], + long length, int out_count, DES_cblock *seed); +int DES_random_key(DES_cblock *ret); +void DES_set_odd_parity(DES_cblock *key); +int DES_check_key_parity(const_DES_cblock *key); +int DES_is_weak_key(const_DES_cblock *key); +/* DES_set_key (= set_key = DES_key_sched = key_sched) calls + * DES_set_key_checked if global variable DES_check_key is set, + * DES_set_key_unchecked otherwise. */ +int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_string_to_key(const char *str, DES_cblock *key); +void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, long length, + DES_key_schedule *schedule, DES_cblock *ivec, int *num, + int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length, + DES_key_schedule *schedule, DES_cblock *ivec, int *num); + +#define DES_fixup_key_parity DES_set_odd_parity + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/dh.h b/curl/include/openssl/dh.h new file mode 100644 index 0000000..04bda3f --- /dev/null +++ b/curl/include/openssl/dh.h @@ -0,0 +1,245 @@ +/* $OpenBSD: dh.h,v 1.38 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_DH_H +#define HEADER_DH_H + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include + +#ifndef OPENSSL_DH_MAX_MODULUS_BITS +# define OPENSSL_DH_MAX_MODULUS_BITS 10000 +#endif + +#define DH_FLAG_CACHE_MONT_P 0x01 + +/* If this flag is set the DH method is FIPS compliant and can be used + * in FIPS mode. This is set in the validated module method. If an + * application sets this flag in its own methods it is its reposibility + * to ensure the result is compliant. + */ + +#define DH_FLAG_FIPS_METHOD 0x0400 + +/* If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +#define DH_FLAG_NON_FIPS_ALLOW 0x0400 + +#ifdef __cplusplus +extern "C" { +#endif + +#define DH_GENERATOR_2 2 +/* #define DH_GENERATOR_3 3 */ +#define DH_GENERATOR_5 5 + +/* DH_check error codes */ +#define DH_CHECK_P_NOT_PRIME 0x01 +#define DH_CHECK_P_NOT_SAFE_PRIME 0x02 +#define DH_UNABLE_TO_CHECK_GENERATOR 0x04 +#define DH_NOT_SUITABLE_GENERATOR 0x08 +#define DH_CHECK_Q_NOT_PRIME 0x10 +#define DH_CHECK_INVALID_Q_VALUE 0x20 +#define DH_CHECK_INVALID_J_VALUE 0x40 + +/* DH_check_pub_key error codes */ +#define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +#define DH_CHECK_PUBKEY_TOO_LARGE 0x02 +#define DH_CHECK_PUBKEY_INVALID 0x04 + +/* primes p where (p-1)/2 is prime too are called "safe"; we define + this for backward compatibility: */ +#define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME + +DH *d2i_DHparams_bio(BIO *bp, DH **a); +int i2d_DHparams_bio(BIO *bp, DH *a); +DH *d2i_DHparams_fp(FILE *fp, DH **a); +int i2d_DHparams_fp(FILE *fp, DH *a); + +DH *DHparams_dup(DH *); + +const DH_METHOD *DH_OpenSSL(void); + +void DH_set_default_method(const DH_METHOD *meth); +const DH_METHOD *DH_get_default_method(void); +int DH_set_method(DH *dh, const DH_METHOD *meth); +DH *DH_new_method(ENGINE *engine); + +DH * DH_new(void); +void DH_free(DH *dh); +int DH_up_ref(DH *dh); +int DH_size(const DH *dh); +int DH_bits(const DH *dh); +int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); +int DH_security_bits(const DH *dh); + +ENGINE *DH_get0_engine(DH *d); +void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, + const BIGNUM **g); +int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); +void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); +int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); +const BIGNUM *DH_get0_p(const DH *dh); +const BIGNUM *DH_get0_q(const DH *dh); +const BIGNUM *DH_get0_g(const DH *dh); +const BIGNUM *DH_get0_priv_key(const DH *dh); +const BIGNUM *DH_get0_pub_key(const DH *dh); +void DH_clear_flags(DH *dh, int flags); +int DH_test_flags(const DH *dh, int flags); +void DH_set_flags(DH *dh, int flags); +long DH_get_length(const DH *dh); +int DH_set_length(DH *dh, long length); + +/* + * Wrapped in OPENSSL_NO_DEPRECATED in 0.9.8, added to rust-openssl in 2020, + * for "advanced DH support". + */ +DH * DH_generate_parameters(int prime_len,int generator, + void (*callback)(int,int,void *),void *cb_arg); + +/* New version */ +int DH_generate_parameters_ex(DH *dh, int prime_len,int generator, BN_GENCB *cb); + +int DH_check(const DH *dh,int *codes); +int DH_check_pub_key(const DH *dh,const BIGNUM *pub_key, int *codes); +int DH_generate_key(DH *dh); +int DH_compute_key(unsigned char *key,const BIGNUM *pub_key,DH *dh); +DH * d2i_DHparams(DH **a,const unsigned char **pp, long length); +int i2d_DHparams(const DH *a,unsigned char **pp); +int DHparams_print_fp(FILE *fp, const DH *x); +#ifndef OPENSSL_NO_BIO +int DHparams_print(BIO *bp, const DH *x); +#else +int DHparams_print(char *bp, const DH *x); +#endif + +#define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + +#define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + +#define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +#define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) + + +void ERR_load_DH_strings(void); + +/* Error codes for the DH functions. */ + +/* Function codes. */ +#define DH_F_COMPUTE_KEY 102 +#define DH_F_DHPARAMS_PRINT_FP 101 +#define DH_F_DH_BUILTIN_GENPARAMS 106 +#define DH_F_DH_COMPUTE_KEY 114 +#define DH_F_DH_GENERATE_KEY 115 +#define DH_F_DH_GENERATE_PARAMETERS_EX 116 +#define DH_F_DH_NEW_METHOD 105 +#define DH_F_DH_PARAM_DECODE 107 +#define DH_F_DH_PRIV_DECODE 110 +#define DH_F_DH_PRIV_ENCODE 111 +#define DH_F_DH_PUB_DECODE 108 +#define DH_F_DH_PUB_ENCODE 109 +#define DH_F_DO_DH_PRINT 100 +#define DH_F_GENERATE_KEY 103 +#define DH_F_GENERATE_PARAMETERS 104 +#define DH_F_PKEY_DH_DERIVE 112 +#define DH_F_PKEY_DH_KEYGEN 113 + +/* Reason codes. */ +#define DH_R_BAD_GENERATOR 101 +#define DH_R_BN_DECODE_ERROR 109 +#define DH_R_BN_ERROR 106 +#define DH_R_DECODE_ERROR 104 +#define DH_R_INVALID_PUBKEY 102 +#define DH_R_KEYS_NOT_SET 108 +#define DH_R_KEY_SIZE_TOO_SMALL 110 +#define DH_R_MODULUS_TOO_LARGE 103 +#define DH_R_NON_FIPS_METHOD 111 +#define DH_R_NO_PARAMETERS_SET 107 +#define DH_R_NO_PRIVATE_VALUE 100 +#define DH_R_PARAMETER_ENCODING_ERROR 105 +#define DH_R_CHECK_INVALID_J_VALUE 115 +#define DH_R_CHECK_INVALID_Q_VALUE 116 +#define DH_R_CHECK_PUBKEY_INVALID 122 +#define DH_R_CHECK_PUBKEY_TOO_LARGE 123 +#define DH_R_CHECK_PUBKEY_TOO_SMALL 124 +#define DH_R_CHECK_P_NOT_PRIME 117 +#define DH_R_CHECK_P_NOT_SAFE_PRIME 118 +#define DH_R_CHECK_Q_NOT_PRIME 119 +#define DH_R_MISSING_PUBKEY 125 +#define DH_R_NOT_SUITABLE_GENERATOR 120 +#define DH_R_UNABLE_TO_CHECK_GENERATOR 121 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/dsa.h b/curl/include/openssl/dsa.h new file mode 100644 index 0000000..7a8e7fc --- /dev/null +++ b/curl/include/openssl/dsa.h @@ -0,0 +1,263 @@ +/* $OpenBSD: dsa.h,v 1.48 2025/03/01 11:33:07 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +/* + * The DSS routines are based on patches supplied by + * Steven Schoch . He basically did the + * work and I have just tweaked them a little to fit into my + * stylistic vision for SSLeay :-) */ + +#ifndef HEADER_DSA_H +#define HEADER_DSA_H + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include +#ifndef OPENSSL_NO_DH +# include +#endif + +#include + +#ifndef OPENSSL_DSA_MAX_MODULUS_BITS +# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 +#endif + +#define DSA_FLAG_CACHE_MONT_P 0x01 + +/* If this flag is set the DSA method is FIPS compliant and can be used + * in FIPS mode. This is set in the validated module method. If an + * application sets this flag in its own methods it is its reposibility + * to ensure the result is compliant. + */ + +#define DSA_FLAG_FIPS_METHOD 0x0400 + +/* If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +#define DSA_FLAG_NON_FIPS_ALLOW 0x0400 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct DSA_SIG_st DSA_SIG; + +DSA *d2i_DSAparams_bio(BIO *bp, DSA **a); +int i2d_DSAparams_bio(BIO *bp, DSA *a); +DSA *d2i_DSAparams_fp(FILE *fp, DSA **a); +int i2d_DSAparams_fp(FILE *fp, DSA *a); + +DSA *DSAparams_dup(DSA *x); +DSA_SIG * DSA_SIG_new(void); +void DSA_SIG_free(DSA_SIG *a); +int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +DSA_SIG * d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); +void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); +int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); + +DSA_SIG * DSA_do_sign(const unsigned char *dgst,int dlen,DSA *dsa); +int DSA_do_verify(const unsigned char *dgst,int dgst_len, + DSA_SIG *sig,DSA *dsa); + +const DSA_METHOD *DSA_OpenSSL(void); + +void DSA_set_default_method(const DSA_METHOD *); +const DSA_METHOD *DSA_get_default_method(void); +int DSA_set_method(DSA *dsa, const DSA_METHOD *); + +DSA * DSA_new(void); +DSA * DSA_new_method(ENGINE *engine); +void DSA_free(DSA *r); +/* "up" the DSA object's reference count */ +int DSA_up_ref(DSA *r); +int DSA_size(const DSA *); +int DSA_bits(const DSA *d); + /* next 4 return -1 on error */ +int DSA_sign_setup( DSA *dsa,BN_CTX *ctx_in,BIGNUM **kinvp,BIGNUM **rp); +int DSA_sign(int type,const unsigned char *dgst,int dlen, + unsigned char *sig, unsigned int *siglen, DSA *dsa); +int DSA_verify(int type,const unsigned char *dgst,int dgst_len, + const unsigned char *sigbuf, int siglen, DSA *dsa); +int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); +int DSA_security_bits(const DSA *d); + +DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); +int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); +extern const ASN1_ITEM DSAPublicKey_it; + +DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); +int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +extern const ASN1_ITEM DSAPrivateKey_it; + +DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); +int i2d_DSAparams(const DSA *a,unsigned char **pp); +extern const ASN1_ITEM DSAparams_it; + +/* New version */ +int DSA_generate_parameters_ex(DSA *dsa, int bits, + const unsigned char *seed,int seed_len, + int *counter_ret, unsigned long *h_ret, BN_GENCB *cb); + +int DSA_generate_key(DSA *a); + +#ifndef OPENSSL_NO_BIO +int DSAparams_print(BIO *bp, const DSA *x); +int DSA_print(BIO *bp, const DSA *x, int off); +#endif +int DSAparams_print_fp(FILE *fp, const DSA *x); +int DSA_print_fp(FILE *bp, const DSA *x, int off); + +#ifndef OPENSSL_NO_DH +/* Convert DSA structure (key or just parameters) into DH structure + * (be careful to avoid small subgroup attacks when using this!) */ +DH *DSA_dup_DH(const DSA *r); +#endif + +void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, + const BIGNUM **g); +int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g); +void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key); +int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key); +const BIGNUM *DSA_get0_p(const DSA *d); +const BIGNUM *DSA_get0_q(const DSA *d); +const BIGNUM *DSA_get0_g(const DSA *d); +const BIGNUM *DSA_get0_pub_key(const DSA *d); +const BIGNUM *DSA_get0_priv_key(const DSA *d); +void DSA_clear_flags(DSA *d, int flags); +int DSA_test_flags(const DSA *d, int flags); +void DSA_set_flags(DSA *d, int flags); +ENGINE *DSA_get0_engine(DSA *d); + +DSA_METHOD *DSA_meth_new(const char *name, int flags); +void DSA_meth_free(DSA_METHOD *meth); +DSA_METHOD *DSA_meth_dup(const DSA_METHOD *meth); +const char *DSA_meth_get0_name(const DSA_METHOD *meth); +int DSA_meth_set1_name(DSA_METHOD *meth, const char *name); +int DSA_meth_set_sign(DSA_METHOD *meth, + DSA_SIG *(*sign)(const unsigned char *, int, DSA *)); +int DSA_meth_set_finish(DSA_METHOD *meth, int (*finish)(DSA *)); + +#define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) + +#define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) +#define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) +#define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) + +void ERR_load_DSA_strings(void); + +/* Error codes for the DSA functions. */ + +/* Function codes. */ +#define DSA_F_D2I_DSA_SIG 110 +#define DSA_F_DO_DSA_PRINT 104 +#define DSA_F_DSAPARAMS_PRINT 100 +#define DSA_F_DSAPARAMS_PRINT_FP 101 +#define DSA_F_DSA_DO_SIGN 112 +#define DSA_F_DSA_DO_VERIFY 113 +#define DSA_F_DSA_GENERATE_KEY 124 +#define DSA_F_DSA_GENERATE_PARAMETERS_EX 123 +#define DSA_F_DSA_NEW_METHOD 103 +#define DSA_F_DSA_PARAM_DECODE 119 +#define DSA_F_DSA_PRINT_FP 105 +#define DSA_F_DSA_PRIV_DECODE 115 +#define DSA_F_DSA_PRIV_ENCODE 116 +#define DSA_F_DSA_PUB_DECODE 117 +#define DSA_F_DSA_PUB_ENCODE 118 +#define DSA_F_DSA_SIGN 106 +#define DSA_F_DSA_SIGN_SETUP 107 +#define DSA_F_DSA_SIG_NEW 109 +#define DSA_F_DSA_SIG_PRINT 125 +#define DSA_F_DSA_VERIFY 108 +#define DSA_F_I2D_DSA_SIG 111 +#define DSA_F_OLD_DSA_PRIV_DECODE 122 +#define DSA_F_PKEY_DSA_CTRL 120 +#define DSA_F_PKEY_DSA_KEYGEN 121 +#define DSA_F_SIG_CB 114 + +/* Reason codes. */ +#define DSA_R_BAD_Q_VALUE 102 +#define DSA_R_BN_DECODE_ERROR 108 +#define DSA_R_BN_ERROR 109 +#define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 100 +#define DSA_R_DECODE_ERROR 104 +#define DSA_R_INVALID_DIGEST_TYPE 106 +#define DSA_R_INVALID_PARAMETERS 112 +#define DSA_R_MISSING_PARAMETERS 101 +#define DSA_R_MODULUS_TOO_LARGE 103 +#define DSA_R_NEED_NEW_SETUP_VALUES 110 +#define DSA_R_NON_FIPS_DSA_METHOD 111 +#define DSA_R_NO_PARAMETERS_SET 107 +#define DSA_R_PARAMETER_ENCODING_ERROR 105 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/dtls1.h b/curl/include/openssl/dtls1.h new file mode 100644 index 0000000..79542c8 --- /dev/null +++ b/curl/include/openssl/dtls1.h @@ -0,0 +1,107 @@ +/* $OpenBSD: dtls1.h,v 1.27 2021/05/16 13:56:30 jsing Exp $ */ +/* + * DTLS implementation written by Nagendra Modadugu + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + */ +/* ==================================================================== + * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_DTLS1_H +#define HEADER_DTLS1_H + +#if defined(_WIN32) +#include +#else +#include +#endif + +#include +#include +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define DTLS1_VERSION 0xFEFF +#define DTLS1_2_VERSION 0xFEFD +#define DTLS1_VERSION_MAJOR 0xFE + +/* lengths of messages */ +#define DTLS1_COOKIE_LENGTH 256 + +#define DTLS1_RT_HEADER_LENGTH 13 + +#define DTLS1_HM_HEADER_LENGTH 12 + +#define DTLS1_HM_BAD_FRAGMENT -2 +#define DTLS1_HM_FRAGMENT_RETRY -3 + +#define DTLS1_CCS_HEADER_LENGTH 1 + +#define DTLS1_AL_HEADER_LENGTH 2 + +/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ +#define DTLS1_TMO_READ_COUNT 2 +#define DTLS1_TMO_WRITE_COUNT 2 + +#define DTLS1_TMO_ALERT_COUNT 12 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/ec.h b/curl/include/openssl/ec.h new file mode 100644 index 0000000..5438dd8 --- /dev/null +++ b/curl/include/openssl/ec.h @@ -0,0 +1,675 @@ +/* $OpenBSD: ec.h,v 1.55 2025/03/10 08:38:11 tb Exp $ */ +/* + * Originally written by Bodo Moeller for the OpenSSL project. + */ +/* ==================================================================== + * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * The elliptic curve binary polynomial software is originally written by + * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. + */ + +#ifndef HEADER_EC_H +#define HEADER_EC_H + +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef OPENSSL_ECC_MAX_FIELD_BITS +#define OPENSSL_ECC_MAX_FIELD_BITS 661 +#endif + +/* Elliptic point conversion form as per X9.62, page 4 and section 4.4.2. */ +typedef enum { + POINT_CONVERSION_COMPRESSED = 2, + POINT_CONVERSION_UNCOMPRESSED = 4, + POINT_CONVERSION_HYBRID = 6 +} point_conversion_form_t; + +typedef struct ec_group_st EC_GROUP; +typedef struct ec_point_st EC_POINT; + +void EC_GROUP_free(EC_GROUP *group); +void EC_GROUP_clear_free(EC_GROUP *group); + +EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); + +int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, + const BIGNUM *order, const BIGNUM *cofactor); +const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); + +int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); +int EC_GROUP_order_bits(const EC_GROUP *group); +int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); + +void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); +int EC_GROUP_get_curve_name(const EC_GROUP *group); + +void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); +int EC_GROUP_get_asn1_flag(const EC_GROUP *group); + +void EC_GROUP_set_point_conversion_form(EC_GROUP *group, + point_conversion_form_t form); +point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); + +unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); +size_t EC_GROUP_get_seed_len(const EC_GROUP *); +size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); + +int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, + BN_CTX *ctx); + +int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, + BIGNUM *b, BN_CTX *ctx); + +int EC_GROUP_get_degree(const EC_GROUP *group); + +int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); +int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); + +/* Compare two EC_GROUPs. Returns 0 if both groups are equal, 1 otherwise. */ +int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); + +EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, + const BIGNUM *b, BN_CTX *ctx); +EC_GROUP *EC_GROUP_new_by_curve_name(int nid); + +typedef struct { + int nid; + const char *comment; +} EC_builtin_curve; + +size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); + +const char *EC_curve_nid2nist(int nid); +int EC_curve_nist2nid(const char *name); + +EC_POINT *EC_POINT_new(const EC_GROUP *group); +void EC_POINT_free(EC_POINT *point); +void EC_POINT_clear_free(EC_POINT *point); +int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); +EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); + +int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); + +int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); +int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p, + BIGNUM *x, BIGNUM *y, BN_CTX *ctx); +int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, int y_bit, BN_CTX *ctx); + +int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); +int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); +int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, + const BIGNUM *x, int y_bit, BN_CTX *ctx); +size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, unsigned char *buf, size_t len, BN_CTX *ctx); +int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, + const unsigned char *buf, size_t len, BN_CTX *ctx); + +BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BIGNUM *, BN_CTX *); +EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, EC_POINT *, + BN_CTX *); +char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, + point_conversion_form_t form, BN_CTX *); +EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, EC_POINT *, + BN_CTX *); + +int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + const EC_POINT *b, BN_CTX *ctx); +int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, + BN_CTX *ctx); +int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); +int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); +int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, + BN_CTX *ctx); +int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, + BN_CTX *ctx); + +int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); +int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, + const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); + +int EC_GROUP_get_basis_type(const EC_GROUP *); + +#define OPENSSL_EC_EXPLICIT_CURVE 0x000 +#define OPENSSL_EC_NAMED_CURVE 0x001 + +EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); +int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); + +#define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) +#define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +#define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +#define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) + +#ifndef OPENSSL_NO_BIO +int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); +#endif +int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); + +#define EC_PKEY_NO_PARAMETERS 0x001 +#define EC_PKEY_NO_PUBKEY 0x002 + +#define EC_FLAG_NON_FIPS_ALLOW 0x1 +#define EC_FLAG_FIPS_CHECKED 0x2 +#define EC_FLAG_COFACTOR_ECDH 0x1000 + +EC_KEY *EC_KEY_new(void); +int EC_KEY_get_flags(const EC_KEY *key); +void EC_KEY_set_flags(EC_KEY *key, int flags); +void EC_KEY_clear_flags(EC_KEY *key, int flags); +EC_KEY *EC_KEY_new_by_curve_name(int nid); +void EC_KEY_free(EC_KEY *key); +EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); +EC_KEY *EC_KEY_dup(const EC_KEY *src); +int EC_KEY_up_ref(EC_KEY *key); + +const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); +int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); +const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); +int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); +const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); +int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); + +unsigned EC_KEY_get_enc_flags(const EC_KEY *key); +void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); +point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); +void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); + +void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); +int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); +int EC_KEY_generate_key(EC_KEY *key); +int EC_KEY_check_key(const EC_KEY *key); +int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y); + +EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); +int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); +EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); +int i2d_ECParameters(EC_KEY *key, unsigned char **out); + +EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); +int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out); + +#ifndef OPENSSL_NO_BIO +int ECParameters_print(BIO *bp, const EC_KEY *key); +int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); +#endif +int ECParameters_print_fp(FILE *fp, const EC_KEY *key); +int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); + +#define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef) +int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg); +void *EC_KEY_get_ex_data(const EC_KEY *key, int idx); + +const EC_KEY_METHOD *EC_KEY_OpenSSL(void); +const EC_KEY_METHOD *EC_KEY_get_default_method(void); +void EC_KEY_set_default_method(const EC_KEY_METHOD *meth); +const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); +int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); +EC_KEY *EC_KEY_new_method(ENGINE *engine); + +int ECDH_size(const EC_KEY *ecdh); +int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, + EC_KEY *ecdh, + void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen)); + +typedef struct ECDSA_SIG_st ECDSA_SIG; + +ECDSA_SIG *ECDSA_SIG_new(void); +void ECDSA_SIG_free(ECDSA_SIG *sig); +int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); + +const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig); +const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig); +void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); +int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); + +int ECDSA_size(const EC_KEY *eckey); + +ECDSA_SIG *ECDSA_do_sign(const unsigned char *digest, int digest_len, + EC_KEY *eckey); +int ECDSA_do_verify(const unsigned char *digest, int digest_len, + const ECDSA_SIG *sig, EC_KEY *eckey); + +int ECDSA_sign(int type, const unsigned char *digest, int digest_len, + unsigned char *signature, unsigned int *signature_len, EC_KEY *eckey); +int ECDSA_verify(int type, const unsigned char *digest, int digest_len, + const unsigned char *signature, int signature_len, EC_KEY *eckey); + +EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); +void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); +void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, + int (*init)(EC_KEY *key), + void (*finish)(EC_KEY *key), + int (*copy)(EC_KEY *dest, const EC_KEY *src), + int (*set_group)(EC_KEY *key, const EC_GROUP *grp), + int (*set_private)(EC_KEY *key, const BIGNUM *priv_key), + int (*set_public)(EC_KEY *key, const EC_POINT *pub_key)); +void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, + int (*keygen)(EC_KEY *key)); +void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, + int (*ckey)(unsigned char **out, size_t *out_len, const EC_POINT *pub_key, + const EC_KEY *ecdh)); +void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, + int (*sign)(int type, const unsigned char *digest, int digest_len, + unsigned char *signature, unsigned int *signature_len, + const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), + int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(*sign_sig)(const unsigned char *digest, int digest_len, + const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey)); +void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, + int (*verify)(int type, const unsigned char *digest, int digest_len, + const unsigned char *signature, int signature_len, EC_KEY *eckey), + int (*verify_sig)(const unsigned char *digest, int digest_len, + const ECDSA_SIG *sig, EC_KEY *eckey)); +void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, + int (**pinit)(EC_KEY *key), + void (**pfinish)(EC_KEY *key), + int (**pcopy)(EC_KEY *dest, const EC_KEY *src), + int (**pset_group)(EC_KEY *key, const EC_GROUP *grp), + int (**pset_private)(EC_KEY *key, const BIGNUM *priv_key), + int (**pset_public)(EC_KEY *key, const EC_POINT *pub_key)); +void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, + int (**pkeygen)(EC_KEY *key)); +void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, + int (**pck)(unsigned char **out, size_t *out_len, const EC_POINT *pub_key, + const EC_KEY *ecdh)); +void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, + int (**psign)(int type, const unsigned char *digest, int digest_len, + unsigned char *signature, unsigned int *signature_len, + const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), + int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(**psign_sig)(const unsigned char *digest, int digest_len, + const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey)); +void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, + int (**pverify)(int type, const unsigned char *digest, int digest_len, + const unsigned char *signature, int signature_len, EC_KEY *eckey), + int (**pverify_sig)(const unsigned char *digest, int digest_len, + const ECDSA_SIG *sig, EC_KEY *eckey)); + +EC_KEY *ECParameters_dup(EC_KEY *key); + +#define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + +#define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) + +#define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) + +#define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) + +#define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) + +#define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) + +#define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)(md)) + +#define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)(pmd)) + +#define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) + +#define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, \ + (void *)(plen)) + +#define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)(p)) + +#define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)(p)) + +/* SM2 will skip the operation check so no need to pass operation here */ +#define EVP_PKEY_CTX_set1_id(ctx, id, id_len) \ + EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ + EVP_PKEY_CTRL_SET1_ID, (int)id_len, (void*)(id)) + +#define EVP_PKEY_CTX_get1_id(ctx, id) \ + EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ + EVP_PKEY_CTRL_GET1_ID, 0, (void*)(id)) + +#define EVP_PKEY_CTX_get1_id_len(ctx, id_len) \ + EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ + EVP_PKEY_CTRL_GET1_ID_LEN, 0, (void*)(id_len)) + +#define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) +#define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) +#define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) +#define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) +#define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) +#define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) +#define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) +#define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) +#define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) +#define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) +#define EVP_PKEY_CTRL_SET1_ID (EVP_PKEY_ALG_CTRL + 11) +#define EVP_PKEY_CTRL_GET1_ID (EVP_PKEY_ALG_CTRL + 12) +#define EVP_PKEY_CTRL_GET1_ID_LEN (EVP_PKEY_ALG_CTRL + 13) + +/* KDF types */ +#define EVP_PKEY_ECDH_KDF_NONE 1 +#define EVP_PKEY_ECDH_KDF_X9_63 2 + +void ERR_load_EC_strings(void); + +/* Error codes for the EC functions. */ + +/* Function codes. */ +#define EC_F_BN_TO_FELEM 224 +#define EC_F_COMPUTE_WNAF 143 +#define EC_F_D2I_ECPARAMETERS 144 +#define EC_F_D2I_ECPKPARAMETERS 145 +#define EC_F_D2I_ECPRIVATEKEY 146 +#define EC_F_DO_EC_KEY_PRINT 221 +#define EC_F_ECKEY_PARAM2TYPE 223 +#define EC_F_ECKEY_PARAM_DECODE 212 +#define EC_F_ECKEY_PRIV_DECODE 213 +#define EC_F_ECKEY_PRIV_ENCODE 214 +#define EC_F_ECKEY_PUB_DECODE 215 +#define EC_F_ECKEY_PUB_ENCODE 216 +#define EC_F_ECKEY_TYPE2PARAM 220 +#define EC_F_ECPARAMETERS_PRINT 147 +#define EC_F_ECPARAMETERS_PRINT_FP 148 +#define EC_F_ECPKPARAMETERS_PRINT 149 +#define EC_F_ECPKPARAMETERS_PRINT_FP 150 +#define EC_F_ECP_NIST_MOD_192 203 +#define EC_F_ECP_NIST_MOD_224 204 +#define EC_F_ECP_NIST_MOD_256 205 +#define EC_F_ECP_NIST_MOD_521 206 +#define EC_F_ECP_NISTZ256_GET_AFFINE 240 +#define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 +#define EC_F_ECP_NISTZ256_POINTS_MUL 241 +#define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 +#define EC_F_ECP_NISTZ256_SET_WORDS 245 +#define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 +#define EC_F_EC_ASN1_GROUP2CURVE 153 +#define EC_F_EC_ASN1_GROUP2FIELDID 154 +#define EC_F_EC_ASN1_GROUP2PARAMETERS 155 +#define EC_F_EC_ASN1_GROUP2PKPARAMETERS 156 +#define EC_F_EC_ASN1_PARAMETERS2GROUP 157 +#define EC_F_EC_ASN1_PKPARAMETERS2GROUP 158 +#define EC_F_EC_EX_DATA_SET_DATA 211 +#define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 +#define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 +#define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 +#define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 +#define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 +#define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 +#define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 +#define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 +#define EC_F_EC_GFP_MONT_FIELD_DECODE 133 +#define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 +#define EC_F_EC_GFP_MONT_FIELD_MUL 131 +#define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 +#define EC_F_EC_GFP_MONT_FIELD_SQR 132 +#define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 +#define EC_F_EC_GFP_MONT_GROUP_SET_CURVE_GFP 135 +#define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 +#define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 +#define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 +#define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 +#define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 +#define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 +#define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 +#define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 +#define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 +#define EC_F_EC_GFP_NIST_FIELD_MUL 200 +#define EC_F_EC_GFP_NIST_FIELD_SQR 201 +#define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +#define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 +#define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 +#define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE_GFP 100 +#define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR 101 +#define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 +#define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 +#define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 +#define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 +#define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 +#define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES_GFP 105 +#define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 +#define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES_GFP 128 +#define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 +#define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES_GFP 129 +#define EC_F_EC_GROUP_CHECK 170 +#define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 +#define EC_F_EC_GROUP_COPY 106 +#define EC_F_EC_GROUP_GET0_GENERATOR 139 +#define EC_F_EC_GROUP_GET_COFACTOR 140 +#define EC_F_EC_GROUP_GET_CURVE_GF2M 172 +#define EC_F_EC_GROUP_GET_CURVE_GFP 130 +#define EC_F_EC_GROUP_GET_DEGREE 173 +#define EC_F_EC_GROUP_GET_ORDER 141 +#define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 +#define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 +#define EC_F_EC_GROUP_NEW 108 +#define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 +#define EC_F_EC_GROUP_NEW_FROM_DATA 175 +#define EC_F_EC_GROUP_PRECOMPUTE_MULT 142 +#define EC_F_EC_GROUP_SET_CURVE_GF2M 176 +#define EC_F_EC_GROUP_SET_CURVE_GFP 109 +#define EC_F_EC_GROUP_SET_EXTRA_DATA 110 +#define EC_F_EC_GROUP_SET_GENERATOR 111 +#define EC_F_EC_KEY_CHECK_KEY 177 +#define EC_F_EC_KEY_COPY 178 +#define EC_F_EC_KEY_GENERATE_KEY 179 +#define EC_F_EC_KEY_NEW 182 +#define EC_F_EC_KEY_PRINT 180 +#define EC_F_EC_KEY_PRINT_FP 181 +#define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 +#define EC_F_EC_POINTS_MAKE_AFFINE 136 +#define EC_F_EC_POINT_ADD 112 +#define EC_F_EC_POINT_CMP 113 +#define EC_F_EC_POINT_COPY 114 +#define EC_F_EC_POINT_DBL 115 +#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 +#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 +#define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 +#define EC_F_EC_POINT_INVERT 210 +#define EC_F_EC_POINT_IS_AT_INFINITY 118 +#define EC_F_EC_POINT_IS_ON_CURVE 119 +#define EC_F_EC_POINT_MAKE_AFFINE 120 +#define EC_F_EC_POINT_MUL 184 +#define EC_F_EC_POINT_NEW 121 +#define EC_F_EC_POINT_OCT2POINT 122 +#define EC_F_EC_POINT_POINT2OCT 123 +#define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 +#define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 +#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 +#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 +#define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 +#define EC_F_EC_POINT_SET_TO_INFINITY 127 +#define EC_F_EC_PRE_COMP_DUP 207 +#define EC_F_EC_PRE_COMP_NEW 196 +#define EC_F_EC_WNAF_MUL 187 +#define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 +#define EC_F_I2D_ECPARAMETERS 190 +#define EC_F_I2D_ECPKPARAMETERS 191 +#define EC_F_I2D_ECPRIVATEKEY 192 +#define EC_F_I2O_ECPUBLICKEY 151 +#define EC_F_NISTP224_PRE_COMP_NEW 227 +#define EC_F_NISTP256_PRE_COMP_NEW 236 +#define EC_F_NISTP521_PRE_COMP_NEW 237 +#define EC_F_O2I_ECPUBLICKEY 152 +#define EC_F_OLD_EC_PRIV_DECODE 222 +#define EC_F_PKEY_EC_CTRL 197 +#define EC_F_PKEY_EC_CTRL_STR 198 +#define EC_F_PKEY_EC_DERIVE 217 +#define EC_F_PKEY_EC_KEYGEN 199 +#define EC_F_PKEY_EC_PARAMGEN 219 +#define EC_F_PKEY_EC_SIGN 218 + +/* Reason codes. */ +#define EC_R_ASN1_ERROR 115 +#define EC_R_ASN1_UNKNOWN_FIELD 116 +#define EC_R_BAD_SIGNATURE 166 +#define EC_R_BIGNUM_OUT_OF_RANGE 144 +#define EC_R_BUFFER_TOO_SMALL 100 +#define EC_R_COORDINATES_OUT_OF_RANGE 146 +#define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 +#define EC_R_DECODE_ERROR 142 +#define EC_R_DISCRIMINANT_IS_ZERO 118 +#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 +#define EC_R_FIELD_TOO_LARGE 143 +#define EC_R_GF2M_NOT_SUPPORTED 147 +#define EC_R_GROUP2PKPARAMETERS_FAILURE 120 +#define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 +#define EC_R_INCOMPATIBLE_OBJECTS 101 +#define EC_R_INVALID_ARGUMENT 112 +#define EC_R_INVALID_COMPRESSED_POINT 110 +#define EC_R_INVALID_COMPRESSION_BIT 109 +#define EC_R_INVALID_CURVE 141 +#define EC_R_INVALID_DIGEST 151 +#define EC_R_INVALID_DIGEST_TYPE 138 +#define EC_R_INVALID_ENCODING 102 +#define EC_R_INVALID_FIELD 103 +#define EC_R_INVALID_FORM 104 +#define EC_R_INVALID_GROUP_ORDER 122 +#define EC_R_INVALID_KEY 165 +#define EC_R_INVALID_OUTPUT_LENGTH 171 +#define EC_R_INVALID_PEER_KEY 152 +#define EC_R_INVALID_PENTANOMIAL_BASIS 132 +#define EC_R_INVALID_PRIVATE_KEY 123 +#define EC_R_INVALID_TRINOMIAL_BASIS 137 +#define EC_R_KDF_FAILED 167 +#define EC_R_KDF_PARAMETER_ERROR 148 +#define EC_R_KEY_TRUNCATION 168 +#define EC_R_KEYS_NOT_SET 140 +#define EC_R_MISSING_PARAMETERS 124 +#define EC_R_MISSING_PRIVATE_KEY 125 +#define EC_R_NEED_NEW_SETUP_VALUES 170 +#define EC_R_NOT_A_NIST_PRIME 135 +#define EC_R_NOT_A_SUPPORTED_NIST_PRIME 136 +#define EC_R_NOT_IMPLEMENTED 126 +#define EC_R_NOT_INITIALIZED 111 +#define EC_R_NO_FIELD_MOD 133 +#define EC_R_NO_PARAMETERS_SET 139 +#define EC_R_PASSED_NULL_PARAMETER 134 +#define EC_R_PEER_KEY_ERROR 149 +#define EC_R_PKPARAMETERS2GROUP_FAILURE 127 +#define EC_R_POINT_AT_INFINITY 106 +#define EC_R_POINT_ARITHMETIC_FAILURE 169 +#define EC_R_POINT_IS_NOT_ON_CURVE 107 +#define EC_R_SHARED_INFO_ERROR 150 +#define EC_R_SLOT_FULL 108 +#define EC_R_UNDEFINED_GENERATOR 113 +#define EC_R_UNDEFINED_ORDER 128 +#define EC_R_UNKNOWN_COFACTOR 164 +#define EC_R_UNKNOWN_GROUP 129 +#define EC_R_UNKNOWN_ORDER 114 +#define EC_R_UNSUPPORTED_FIELD 131 +#define EC_R_WRONG_CURVE_PARAMETERS 145 +#define EC_R_WRONG_ORDER 130 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/ecdh.h b/curl/include/openssl/ecdh.h new file mode 100644 index 0000000..0149d5c --- /dev/null +++ b/curl/include/openssl/ecdh.h @@ -0,0 +1,6 @@ +/* $OpenBSD: ecdh.h,v 1.10 2023/07/28 09:25:12 tb Exp $ */ +/* + * Public domain. + */ + +#include diff --git a/curl/include/openssl/ecdsa.h b/curl/include/openssl/ecdsa.h new file mode 100644 index 0000000..9f498eb --- /dev/null +++ b/curl/include/openssl/ecdsa.h @@ -0,0 +1,6 @@ +/* $OpenBSD: ecdsa.h,v 1.20 2023/07/28 09:16:17 tb Exp $ */ +/* + * Public domain. + */ + +#include diff --git a/curl/include/openssl/engine.h b/curl/include/openssl/engine.h new file mode 100644 index 0000000..20398f8 --- /dev/null +++ b/curl/include/openssl/engine.h @@ -0,0 +1,215 @@ +/* $OpenBSD: engine.h,v 1.44 2024/03/02 10:22:07 tb Exp $ */ +/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL + * project 2000. + */ +/* ==================================================================== + * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_ENGINE_H +#define HEADER_ENGINE_H + +#include + +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define ENGINE_METHOD_RSA (unsigned int)0x0001 +#define ENGINE_METHOD_DSA (unsigned int)0x0002 +#define ENGINE_METHOD_DH (unsigned int)0x0004 +#define ENGINE_METHOD_RAND (unsigned int)0x0008 +#define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 +#define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 +#define ENGINE_METHOD_STORE (unsigned int)0x0100 +#define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 +#define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 +#define ENGINE_METHOD_EC (unsigned int)0x0800 +#define ENGINE_METHOD_ALL (unsigned int)0xFFFF +#define ENGINE_METHOD_NONE (unsigned int)0x0000 + +/* + * Prototypes for the stub functions in engine_stubs.c. They are provided to + * build M2Crypto, Dovecot, apr-utils without patching. + */ +void ENGINE_load_builtin_engines(void); +void ENGINE_load_dynamic(void); +void ENGINE_load_openssl(void); +int ENGINE_register_all_complete(void); + +void ENGINE_cleanup(void); + +ENGINE *ENGINE_new(void); +int ENGINE_free(ENGINE *engine); +int ENGINE_init(ENGINE *engine); +int ENGINE_finish(ENGINE *engine); + +ENGINE *ENGINE_by_id(const char *id); +const char *ENGINE_get_id(const ENGINE *engine); +const char *ENGINE_get_name(const ENGINE *engine); + +int ENGINE_set_default(ENGINE *engine, unsigned int flags); + +ENGINE *ENGINE_get_default_RSA(void); +int ENGINE_set_default_RSA(ENGINE *engine); + +int ENGINE_ctrl_cmd(ENGINE *engine, const char *cmd_name, long i, void *p, + void (*f)(void), int cmd_optional); +int ENGINE_ctrl_cmd_string(ENGINE *engine, const char *cmd, const char *arg, + int cmd_optional); + +EVP_PKEY *ENGINE_load_private_key(ENGINE *engine, const char *key_id, + UI_METHOD *ui_method, void *callback_data); +EVP_PKEY *ENGINE_load_public_key(ENGINE *engine, const char *key_id, + UI_METHOD *ui_method, void *callback_data); + +/* Error codes for the ENGINE functions. */ + +/* Function codes. */ +#define ENGINE_F_DYNAMIC_CTRL 180 +#define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 +#define ENGINE_F_DYNAMIC_LOAD 182 +#define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 +#define ENGINE_F_ENGINE_ADD 105 +#define ENGINE_F_ENGINE_BY_ID 106 +#define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 +#define ENGINE_F_ENGINE_CTRL 142 +#define ENGINE_F_ENGINE_CTRL_CMD 178 +#define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 +#define ENGINE_F_ENGINE_FINISH 107 +#define ENGINE_F_ENGINE_FREE_UTIL 108 +#define ENGINE_F_ENGINE_GET_CIPHER 185 +#define ENGINE_F_ENGINE_GET_DEFAULT_TYPE 177 +#define ENGINE_F_ENGINE_GET_DIGEST 186 +#define ENGINE_F_ENGINE_GET_NEXT 115 +#define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 +#define ENGINE_F_ENGINE_GET_PKEY_METH 192 +#define ENGINE_F_ENGINE_GET_PREV 116 +#define ENGINE_F_ENGINE_INIT 119 +#define ENGINE_F_ENGINE_LIST_ADD 120 +#define ENGINE_F_ENGINE_LIST_REMOVE 121 +#define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 +#define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 +#define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 +#define ENGINE_F_ENGINE_NEW 122 +#define ENGINE_F_ENGINE_REMOVE 123 +#define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 +#define ENGINE_F_ENGINE_SET_DEFAULT_TYPE 126 +#define ENGINE_F_ENGINE_SET_ID 129 +#define ENGINE_F_ENGINE_SET_NAME 130 +#define ENGINE_F_ENGINE_TABLE_REGISTER 184 +#define ENGINE_F_ENGINE_UNLOAD_KEY 152 +#define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 +#define ENGINE_F_ENGINE_UP_REF 190 +#define ENGINE_F_INT_CTRL_HELPER 172 +#define ENGINE_F_INT_ENGINE_CONFIGURE 188 +#define ENGINE_F_INT_ENGINE_MODULE_INIT 187 +#define ENGINE_F_LOG_MESSAGE 141 + +/* Reason codes. */ +#define ENGINE_R_ALREADY_LOADED 100 +#define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 +#define ENGINE_R_CMD_NOT_EXECUTABLE 134 +#define ENGINE_R_COMMAND_TAKES_INPUT 135 +#define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 +#define ENGINE_R_CONFLICTING_ENGINE_ID 103 +#define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 +#define ENGINE_R_DH_NOT_IMPLEMENTED 139 +#define ENGINE_R_DSA_NOT_IMPLEMENTED 140 +#define ENGINE_R_DSO_FAILURE 104 +#define ENGINE_R_DSO_NOT_FOUND 132 +#define ENGINE_R_ENGINES_SECTION_ERROR 148 +#define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 +#define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 +#define ENGINE_R_ENGINE_SECTION_ERROR 149 +#define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 +#define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 +#define ENGINE_R_FINISH_FAILED 106 +#define ENGINE_R_GET_HANDLE_FAILED 107 +#define ENGINE_R_ID_OR_NAME_MISSING 108 +#define ENGINE_R_INIT_FAILED 109 +#define ENGINE_R_INTERNAL_LIST_ERROR 110 +#define ENGINE_R_INVALID_ARGUMENT 143 +#define ENGINE_R_INVALID_CMD_NAME 137 +#define ENGINE_R_INVALID_CMD_NUMBER 138 +#define ENGINE_R_INVALID_INIT_VALUE 151 +#define ENGINE_R_INVALID_STRING 150 +#define ENGINE_R_NOT_INITIALISED 117 +#define ENGINE_R_NOT_LOADED 112 +#define ENGINE_R_NO_CONTROL_FUNCTION 120 +#define ENGINE_R_NO_INDEX 144 +#define ENGINE_R_NO_LOAD_FUNCTION 125 +#define ENGINE_R_NO_REFERENCE 130 +#define ENGINE_R_NO_SUCH_ENGINE 116 +#define ENGINE_R_NO_UNLOAD_FUNCTION 126 +#define ENGINE_R_PROVIDE_PARAMETERS 113 +#define ENGINE_R_RSA_NOT_IMPLEMENTED 141 +#define ENGINE_R_UNIMPLEMENTED_CIPHER 146 +#define ENGINE_R_UNIMPLEMENTED_DIGEST 147 +#define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 +#define ENGINE_R_VERSION_INCOMPATIBILITY 145 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/err.h b/curl/include/openssl/err.h new file mode 100644 index 0000000..fe6c34d --- /dev/null +++ b/curl/include/openssl/err.h @@ -0,0 +1,396 @@ +/* $OpenBSD: err.h,v 1.36 2025/03/09 15:12:18 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_ERR_H +#define HEADER_ERR_H + +#include + +#include +#include + +#include +#ifndef OPENSSL_NO_BIO +#include +#endif +#ifndef OPENSSL_NO_LHASH +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef OPENSSL_NO_FILENAMES +#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) +#else +#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) +#endif + +#include + +#define ERR_TXT_MALLOCED 0x01 +#define ERR_TXT_STRING 0x02 + +#define ERR_FLAG_MARK 0x01 + +#define ERR_NUM_ERRORS 16 + +/* library */ +#define ERR_LIB_NONE 1 +#define ERR_LIB_SYS 2 +#define ERR_LIB_BN 3 +#define ERR_LIB_RSA 4 +#define ERR_LIB_DH 5 +#define ERR_LIB_EVP 6 +#define ERR_LIB_BUF 7 +#define ERR_LIB_OBJ 8 +#define ERR_LIB_PEM 9 +#define ERR_LIB_DSA 10 +#define ERR_LIB_X509 11 +/* #define ERR_LIB_METH 12 */ +#define ERR_LIB_ASN1 13 +#define ERR_LIB_CONF 14 +#define ERR_LIB_CRYPTO 15 +#define ERR_LIB_EC 16 +#define ERR_LIB_SSL 20 +/* #define ERR_LIB_SSL23 21 */ +/* #define ERR_LIB_SSL2 22 */ +/* #define ERR_LIB_SSL3 23 */ +/* #define ERR_LIB_RSAREF 30 */ +/* #define ERR_LIB_PROXY 31 */ +#define ERR_LIB_BIO 32 +#define ERR_LIB_PKCS7 33 +#define ERR_LIB_X509V3 34 +#define ERR_LIB_PKCS12 35 +#define ERR_LIB_RAND 36 +#define ERR_LIB_DSO 37 +#define ERR_LIB_ENGINE 38 +#define ERR_LIB_OCSP 39 +#define ERR_LIB_UI 40 +#define ERR_LIB_COMP 41 +#define ERR_LIB_ECDSA 42 +#define ERR_LIB_ECDH 43 +#define ERR_LIB_STORE 44 +#define ERR_LIB_FIPS 45 +#define ERR_LIB_CMS 46 +#define ERR_LIB_TS 47 +#define ERR_LIB_HMAC 48 +#define ERR_LIB_JPAKE 49 +#define ERR_LIB_GOST 50 +#define ERR_LIB_CT 51 +#define ERR_LIB_KDF 52 + +#define ERR_LIB_USER 128 + +#ifndef LIBRESSL_INTERNAL +#define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define GOSTerr(f,r) ERR_PUT_error(ERR_LIB_GOST,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CTerr(f, r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#define KDFerr(f, r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +#endif + +#ifdef LIBRESSL_INTERNAL +#define SYSerror(r) ERR_PUT_error(ERR_LIB_SYS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define BNerror(r) ERR_PUT_error(ERR_LIB_BN,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define RSAerror(r) ERR_PUT_error(ERR_LIB_RSA,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define DHerror(r) ERR_PUT_error(ERR_LIB_DH,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define EVPerror(r) ERR_PUT_error(ERR_LIB_EVP,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define BUFerror(r) ERR_PUT_error(ERR_LIB_BUF,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define OBJerror(r) ERR_PUT_error(ERR_LIB_OBJ,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define PEMerror(r) ERR_PUT_error(ERR_LIB_PEM,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define DSAerror(r) ERR_PUT_error(ERR_LIB_DSA,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define X509error(r) ERR_PUT_error(ERR_LIB_X509,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ASN1error(r) ERR_PUT_error(ERR_LIB_ASN1,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CONFerror(r) ERR_PUT_error(ERR_LIB_CONF,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CRYPTOerror(r) ERR_PUT_error(ERR_LIB_CRYPTO,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ECerror(r) ERR_PUT_error(ERR_LIB_EC,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define BIOerror(r) ERR_PUT_error(ERR_LIB_BIO,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define PKCS7error(r) ERR_PUT_error(ERR_LIB_PKCS7,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define X509V3error(r) ERR_PUT_error(ERR_LIB_X509V3,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define PKCS12error(r) ERR_PUT_error(ERR_LIB_PKCS12,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define RANDerror(r) ERR_PUT_error(ERR_LIB_RAND,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define DSOerror(r) ERR_PUT_error(ERR_LIB_DSO,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ENGINEerror(r) ERR_PUT_error(ERR_LIB_ENGINE,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define OCSPerror(r) ERR_PUT_error(ERR_LIB_OCSP,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define UIerror(r) ERR_PUT_error(ERR_LIB_UI,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define COMPerror(r) ERR_PUT_error(ERR_LIB_COMP,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ECDSAerror(r) ERR_PUT_error(ERR_LIB_ECDSA,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define ECDHerror(r) ERR_PUT_error(ERR_LIB_ECDH,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define STOREerror(r) ERR_PUT_error(ERR_LIB_STORE,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define FIPSerror(r) ERR_PUT_error(ERR_LIB_FIPS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CMSerror(r) ERR_PUT_error(ERR_LIB_CMS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define TSerror(r) ERR_PUT_error(ERR_LIB_TS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define HMACerror(r) ERR_PUT_error(ERR_LIB_HMAC,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define JPAKEerror(r) ERR_PUT_error(ERR_LIB_JPAKE,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define GOSTerror(r) ERR_PUT_error(ERR_LIB_GOST,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define CTerror(r) ERR_PUT_error(ERR_LIB_CT,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#define KDFerror(r) ERR_PUT_error(ERR_LIB_KDF,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) +#endif + +#define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)<<24L)| \ + ((((unsigned long)f)&0xfffL)<<12L)| \ + ((((unsigned long)r)&0xfffL))) +#define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) +#define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL) +#define ERR_GET_REASON(l) (int)((l)&0xfffL) +#define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL) + + +/* OS functions */ +#define SYS_F_FOPEN 1 +#define SYS_F_CONNECT 2 +#define SYS_F_GETSERVBYNAME 3 +#define SYS_F_SOCKET 4 +#define SYS_F_IOCTLSOCKET 5 +#define SYS_F_BIND 6 +#define SYS_F_LISTEN 7 +#define SYS_F_ACCEPT 8 +#define SYS_F_WSASTARTUP 9 /* Winsock stuff */ +#define SYS_F_OPENDIR 10 +#define SYS_F_FREAD 11 + + +/* reasons */ +#define ERR_R_SYS_LIB ERR_LIB_SYS /* 2 */ +#define ERR_R_BN_LIB ERR_LIB_BN /* 3 */ +#define ERR_R_RSA_LIB ERR_LIB_RSA /* 4 */ +#define ERR_R_DH_LIB ERR_LIB_DH /* 5 */ +#define ERR_R_EVP_LIB ERR_LIB_EVP /* 6 */ +#define ERR_R_BUF_LIB ERR_LIB_BUF /* 7 */ +#define ERR_R_OBJ_LIB ERR_LIB_OBJ /* 8 */ +#define ERR_R_PEM_LIB ERR_LIB_PEM /* 9 */ +#define ERR_R_DSA_LIB ERR_LIB_DSA /* 10 */ +#define ERR_R_X509_LIB ERR_LIB_X509 /* 11 */ +#define ERR_R_ASN1_LIB ERR_LIB_ASN1 /* 13 */ +#define ERR_R_CONF_LIB ERR_LIB_CONF /* 14 */ +#define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO /* 15 */ +#define ERR_R_EC_LIB ERR_LIB_EC /* 16 */ +#define ERR_R_SSL_LIB ERR_LIB_SSL /* 20 */ +#define ERR_R_BIO_LIB ERR_LIB_BIO /* 32 */ +#define ERR_R_PKCS7_LIB ERR_LIB_PKCS7 /* 33 */ +#define ERR_R_X509V3_LIB ERR_LIB_X509V3 /* 34 */ +#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12 /* 35 */ +#define ERR_R_RAND_LIB ERR_LIB_RAND /* 36 */ +#define ERR_R_DSO_LIB ERR_LIB_DSO /* 37 */ +#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE /* 38 */ +#define ERR_R_OCSP_LIB ERR_LIB_OCSP /* 39 */ +#define ERR_R_UI_LIB ERR_LIB_UI /* 40 */ +#define ERR_R_COMP_LIB ERR_LIB_COMP /* 41 */ +#define ERR_R_ECDSA_LIB ERR_LIB_ECDSA /* 42 */ +#define ERR_R_ECDH_LIB ERR_LIB_ECDH /* 43 */ +#define ERR_R_STORE_LIB ERR_LIB_STORE /* 44 */ +#define ERR_R_TS_LIB ERR_LIB_TS /* 45 */ + +#define ERR_R_NESTED_ASN1_ERROR 58 +#define ERR_R_BAD_ASN1_OBJECT_HEADER 59 +#define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60 +#define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61 +#define ERR_R_ASN1_LENGTH_MISMATCH 62 +#define ERR_R_MISSING_ASN1_EOS 63 + +/* fatal error */ +#define ERR_R_FATAL 64 +#define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) +#define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) +#define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) +#define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) +#define ERR_R_DISABLED (5|ERR_R_FATAL) +#define ERR_R_INIT_FAIL (6|ERR_R_FATAL) + +/* 99 is the maximum possible ERR_R_... code, higher values + * are reserved for the individual libraries */ + +typedef struct ERR_string_data_st { + unsigned long error; + const char *string; +} ERR_STRING_DATA; + +void ERR_put_error(int lib, int func, int reason, const char *file, int line); +void ERR_set_error_data(char *data, int flags); + +unsigned long ERR_get_error(void); +unsigned long ERR_get_error_line(const char **file, int *line); +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_error(void); +unsigned long ERR_peek_error_line(const char **file, int *line); +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); +unsigned long ERR_peek_last_error(void); +unsigned long ERR_peek_last_error_line(const char **file, int *line); +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); +void ERR_clear_error(void ); +char *ERR_error_string(unsigned long e, char *buf); +void ERR_error_string_n(unsigned long e, char *buf, size_t len); +const char *ERR_lib_error_string(unsigned long e); +const char *ERR_func_error_string(unsigned long e); +const char *ERR_reason_error_string(unsigned long e); +void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u), + void *u); +void ERR_print_errors_fp(FILE *fp); +#ifndef OPENSSL_NO_BIO +void ERR_print_errors(BIO *bp); +#endif +void ERR_asprintf_error_data(char * format, ...); +void ERR_load_strings(int lib, ERR_STRING_DATA *str); +void ERR_unload_strings(int lib, ERR_STRING_DATA *str); +void ERR_load_ERR_strings(void); +void ERR_load_crypto_strings(void); +void ERR_free_strings(void); + +void ERR_remove_thread_state(const CRYPTO_THREADID *tid); +/* Wrapped in OPENSSL_NO_DEPRECATED in 0.9.8. Still used in 2023. */ +void ERR_remove_state(unsigned long pid); + +int ERR_get_next_error_library(void); + +int ERR_set_mark(void); +int ERR_pop_to_mark(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/evp.h b/curl/include/openssl/evp.h new file mode 100644 index 0000000..c2b81d0 --- /dev/null +++ b/curl/include/openssl/evp.h @@ -0,0 +1,1292 @@ +/* $OpenBSD: evp.h,v 1.137 2024/08/31 10:38:49 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_ENVELOPE_H +#define HEADER_ENVELOPE_H + +#include + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif + +/* +#define EVP_RC2_KEY_SIZE 16 +#define EVP_RC4_KEY_SIZE 16 +#define EVP_BLOWFISH_KEY_SIZE 16 +#define EVP_CAST5_KEY_SIZE 16 +#define EVP_RC5_32_12_16_KEY_SIZE 16 +*/ +#define EVP_MAX_MD_SIZE 64 /* longest known is SHA512 */ +#define EVP_MAX_KEY_LENGTH 64 +#define EVP_MAX_IV_LENGTH 16 +#define EVP_MAX_BLOCK_LENGTH 32 + +#define PKCS5_SALT_LEN 8 +/* Default PKCS#5 iteration count */ +#define PKCS5_DEFAULT_ITER 2048 + +#include + +#define EVP_PK_RSA 0x0001 +#define EVP_PK_DSA 0x0002 +#define EVP_PK_DH 0x0004 +#define EVP_PK_EC 0x0008 +#define EVP_PKT_SIGN 0x0010 +#define EVP_PKT_ENC 0x0020 +#define EVP_PKT_EXCH 0x0040 +#define EVP_PKS_RSA 0x0100 +#define EVP_PKS_DSA 0x0200 +#define EVP_PKS_EC 0x0400 +#define EVP_PKT_EXP 0x1000 /* <= 512 bit key */ + +#define EVP_PKEY_NONE NID_undef +#define EVP_PKEY_RSA NID_rsaEncryption +#define EVP_PKEY_RSA_PSS NID_rsassaPss +#define EVP_PKEY_RSA2 NID_rsa +#define EVP_PKEY_DSA NID_dsa +#define EVP_PKEY_DSA1 NID_dsa_2 +#define EVP_PKEY_DSA2 NID_dsaWithSHA +#define EVP_PKEY_DSA3 NID_dsaWithSHA1 +#define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 +#define EVP_PKEY_DH NID_dhKeyAgreement +#define EVP_PKEY_EC NID_X9_62_id_ecPublicKey +#define EVP_PKEY_GOSTR01 NID_id_GostR3410_2001 +#define EVP_PKEY_GOSTIMIT NID_id_Gost28147_89_MAC +#define EVP_PKEY_HMAC NID_hmac +#define EVP_PKEY_CMAC NID_cmac +#define EVP_PKEY_HKDF NID_hkdf +#define EVP_PKEY_TLS1_PRF NID_tls1_prf +#define EVP_PKEY_GOSTR12_256 NID_id_tc26_gost3410_2012_256 +#define EVP_PKEY_GOSTR12_512 NID_id_tc26_gost3410_2012_512 +#define EVP_PKEY_ED25519 NID_ED25519 +#define EVP_PKEY_X25519 NID_X25519 + +#ifdef __cplusplus +extern "C" { +#endif + +#define EVP_PKEY_MO_SIGN 0x0001 +#define EVP_PKEY_MO_VERIFY 0x0002 +#define EVP_PKEY_MO_ENCRYPT 0x0004 +#define EVP_PKEY_MO_DECRYPT 0x0008 + +#ifndef EVP_MD +#define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single + * block */ + +/* DigestAlgorithmIdentifier flags... */ + +#define EVP_MD_FLAG_DIGALGID_MASK 0x0018 + +/* NULL or absent parameter accepted. Use NULL */ + +#define EVP_MD_FLAG_DIGALGID_NULL 0x0000 + +/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ + +#define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 + +/* Custom handling via ctrl */ + +#define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 + +#define EVP_MD_FLAG_FIPS 0x0400 /* Note if suitable for use in FIPS mode */ + +/* Digest ctrls */ + +#define EVP_MD_CTRL_DIGALGID 0x1 +#define EVP_MD_CTRL_MICALG 0x2 +#define EVP_MD_CTRL_SET_KEY 0x3 +#define EVP_MD_CTRL_GOST_SET_SBOX 0x4 + +/* Minimum Algorithm specific ctrl value */ + +#define EVP_MD_CTRL_ALG_CTRL 0x1000 + +#endif /* !EVP_MD */ + +/* values for EVP_MD_CTX flags */ + +#define EVP_MD_CTX_FLAG_ONESHOT 0x0001 /* digest update will be called + * once only */ +#define EVP_MD_CTX_FLAG_CLEANED 0x0002 /* context has already been + * cleaned */ +#define EVP_MD_CTX_FLAG_REUSE 0x0004 /* Don't free up ctx->md_data + * in EVP_MD_CTX_cleanup */ +/* FIPS and pad options are ignored in 1.0.0, definitions are here + * so we don't accidentally reuse the values for other purposes. + */ + +#define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008 /* Allow use of non FIPS digest + * in FIPS mode */ + +/* The following PAD options are also currently ignored in 1.0.0, digest + * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() + * instead. + */ +#define EVP_MD_CTX_FLAG_PAD_MASK 0xF0 /* RSA mode to use */ +#define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00 /* PKCS#1 v1.5 mode */ +#define EVP_MD_CTX_FLAG_PAD_PSS 0x20 /* PSS mode */ + +#define EVP_MD_CTX_FLAG_NO_INIT 0x0100 /* Don't initialize md_data */ + +/* Values for cipher flags */ + +/* Modes for ciphers */ + +#define EVP_CIPH_STREAM_CIPHER 0x0 +#define EVP_CIPH_ECB_MODE 0x1 +#define EVP_CIPH_CBC_MODE 0x2 +#define EVP_CIPH_CFB_MODE 0x3 +#define EVP_CIPH_OFB_MODE 0x4 +#define EVP_CIPH_CTR_MODE 0x5 +#define EVP_CIPH_GCM_MODE 0x6 +#define EVP_CIPH_CCM_MODE 0x7 +#define EVP_CIPH_XTS_MODE 0x10001 +#define EVP_CIPH_WRAP_MODE 0x10002 +#define EVP_CIPH_MODE 0xF0007 +/* Set if variable length cipher */ +#define EVP_CIPH_VARIABLE_LENGTH 0x8 +/* Set if the iv handling should be done by the cipher itself */ +#define EVP_CIPH_CUSTOM_IV 0x10 +/* Set if the cipher's init() function should be called if key is NULL */ +#define EVP_CIPH_ALWAYS_CALL_INIT 0x20 +/* Call ctrl() to init cipher parameters */ +#define EVP_CIPH_CTRL_INIT 0x40 +/* Don't use standard block padding */ +#define EVP_CIPH_NO_PADDING 0x100 +/* cipher handles random key generation */ +#define EVP_CIPH_RAND_KEY 0x200 +/* cipher has its own additional copying logic */ +#define EVP_CIPH_CUSTOM_COPY 0x400 +/* Allow use default ASN1 get/set iv */ +#define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 +/* Buffer length in bits not bytes: CFB1 mode only */ +#define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 +/* Note if suitable for use in FIPS mode */ +#define EVP_CIPH_FLAG_FIPS 0x4000 +/* Allow non FIPS cipher in FIPS mode */ +#define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 +/* Cipher handles any and all padding logic as well + * as finalisation. + */ +#define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 +#define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 + +/* + * Cipher context flag to indicate that we can handle wrap mode: if allowed in + * older applications, it could overflow buffers. + */ +#define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1 + +/* ctrl() values */ + +#define EVP_CTRL_INIT 0x0 +#define EVP_CTRL_GET_RC2_KEY_BITS 0x2 +#define EVP_CTRL_SET_RC2_KEY_BITS 0x3 +#define EVP_CTRL_GET_RC5_ROUNDS 0x4 +#define EVP_CTRL_SET_RC5_ROUNDS 0x5 +#define EVP_CTRL_RAND_KEY 0x6 +#define EVP_CTRL_PBE_PRF_NID 0x7 +#define EVP_CTRL_COPY 0x8 +#define EVP_CTRL_AEAD_SET_IVLEN 0x9 +#define EVP_CTRL_AEAD_GET_TAG 0x10 +#define EVP_CTRL_AEAD_SET_TAG 0x11 +#define EVP_CTRL_AEAD_SET_IV_FIXED 0x12 +#define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN +#define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG +#define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG +#define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED +#define EVP_CTRL_GCM_IV_GEN 0x13 +#define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN +#define EVP_CTRL_CCM_GET_TAG EVP_CTRL_AEAD_GET_TAG +#define EVP_CTRL_CCM_SET_TAG EVP_CTRL_AEAD_SET_TAG +#define EVP_CTRL_CCM_SET_L 0x14 +#define EVP_CTRL_CCM_SET_MSGLEN 0x15 +/* AEAD cipher deduces payload length and returns number of bytes + * required to store MAC and eventual padding. Subsequent call to + * EVP_Cipher even appends/verifies MAC. + */ +#define EVP_CTRL_AEAD_TLS1_AAD 0x16 +/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ +#define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 +/* Set the GCM invocation field, decrypt only */ +#define EVP_CTRL_GCM_SET_IV_INV 0x18 +/* Set the S-BOX NID for GOST ciphers */ +#define EVP_CTRL_GOST_SET_SBOX 0x19 + +/* GCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +#define EVP_GCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +#define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 +/* Length of tag for TLS */ +#define EVP_GCM_TLS_TAG_LEN 16 + +/* CCM TLS constants */ +/* Length of fixed part of IV derived from PRF */ +#define EVP_CCM_TLS_FIXED_IV_LEN 4 +/* Length of explicit part of IV part of TLS records */ +#define EVP_CCM_TLS_EXPLICIT_IV_LEN 8 +/* Total length of CCM IV length for TLS */ +#define EVP_CCM_TLS_IV_LEN 12 +/* Length of tag for TLS */ +#define EVP_CCM_TLS_TAG_LEN 16 +/* Length of CCM8 tag for TLS */ +#define EVP_CCM8_TLS_TAG_LEN 8 + +/* Length of tag for TLS */ +#define EVP_CHACHAPOLY_TLS_TAG_LEN 16 + +/* XXX - do we want to expose these? */ +#if defined(LIBRESSL_INTERNAL) +#define ED25519_KEYLEN 32 +#define X25519_KEYLEN 32 +#endif + +typedef struct evp_cipher_info_st { + const EVP_CIPHER *cipher; + unsigned char iv[EVP_MAX_IV_LENGTH]; +} EVP_CIPHER_INFO; + +/* Password based encryption function */ +typedef int EVP_PBE_KEYGEN(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, int en_de); + +#ifndef OPENSSL_NO_RSA +#define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ + (char *)(rsa)) +#endif + +#ifndef OPENSSL_NO_DSA +#define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ + (char *)(dsa)) +#endif + +#ifndef OPENSSL_NO_DH +#define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ + (char *)(dh)) +#endif + +#ifndef OPENSSL_NO_EC +#define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ + (char *)(eckey)) +#endif + +/* Add some extra combinations */ +#define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) +#define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) +#define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) +#define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) + +int EVP_MD_type(const EVP_MD *md); +#define EVP_MD_nid(e) EVP_MD_type(e) +#define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) +int EVP_MD_pkey_type(const EVP_MD *md); +int EVP_MD_size(const EVP_MD *md); +int EVP_MD_block_size(const EVP_MD *md); +unsigned long EVP_MD_flags(const EVP_MD *md); + +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); +void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); +EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); +void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); +#define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) +#define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) +#define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) + +int EVP_CIPHER_nid(const EVP_CIPHER *cipher); +#define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) +int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); +#define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) + +const EVP_CIPHER * EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); +int EVP_CIPHER_CTX_get_iv(const EVP_CIPHER_CTX *ctx, + unsigned char *iv, size_t len); +int EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, + const unsigned char *iv, size_t len); +int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); +void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); +void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx); +void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); +unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx); +#define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) +unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); +#define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE) + +EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len); +EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher); +void EVP_CIPHER_meth_free(EVP_CIPHER *cipher); + +int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len); +int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags); +int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size); +int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher, + int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key, + const unsigned char *iv, int enc)); +int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher, + int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out, + const unsigned char *in, size_t inl)); +int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher, + int (*cleanup)(EVP_CIPHER_CTX *)); +int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher, + int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *)); +int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher, + int (*get_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *)); +int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher, + int (*ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr)); + +EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *engine, + const unsigned char *private_key, size_t len); +EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *engine, + const unsigned char *public_key, size_t len); +int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, + unsigned char *out_private_key, size_t *out_len); +int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, + unsigned char *out_public_key, size_t *out_len); + +#define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80) +#define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80) + +#define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +#define EVP_SignInit(a,b) EVP_DigestInit(a,b) +#define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +#define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) +#define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) +#define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +#define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) +#define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) +#define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +#define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) + +#define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md) +#define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp) +#define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp) +#define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp) +#define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) +#define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp) + +int EVP_Cipher(EVP_CIPHER_CTX *c, unsigned char *out, const unsigned char *in, + unsigned int inl); + +EVP_MD_CTX *EVP_MD_CTX_new(void); +void EVP_MD_CTX_free(EVP_MD_CTX *ctx); +int EVP_MD_CTX_init(EVP_MD_CTX *ctx); +int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); +EVP_MD_CTX *EVP_MD_CTX_create(void); +void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); +int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); +int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); +void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); +void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); +int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int type, int arg, void *ptr); +int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); + +int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); +int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); +int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); +int EVP_Digest(const void *data, size_t count, unsigned char *md, + unsigned int *size, const EVP_MD *type, ENGINE *impl); + +int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in); +int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); +int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); + +int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); +int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, + const char *prompt, int verify); +void EVP_set_pw_prompt(const char *prompt); +char *EVP_get_pw_prompt(void); + +int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, + const unsigned char *salt, const unsigned char *data, int datal, int count, + unsigned char *key, unsigned char *iv); + +void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); +void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); +int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); + +int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, const unsigned char *iv); +int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv); +int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, const unsigned char *iv); +int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); +int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); + +int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + const unsigned char *key, const unsigned char *iv, int enc); +int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, + ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc); +int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); +int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); + +int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s, + EVP_PKEY *pkey); + +int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, + unsigned int siglen, EVP_PKEY *pkey); + +int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen); + +int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen, + const unsigned char *tbs, size_t tbslen); + +int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, + const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); +int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, + size_t siglen); + +int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret, + size_t siglen, const unsigned char *tbs, size_t tbslen); + +int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + const unsigned char *ek, int ekl, const unsigned char *iv, EVP_PKEY *priv); +int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, + unsigned char **ek, int *ekl, unsigned char *iv, EVP_PKEY **pubk, + int npubk); +int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); + +EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void); +void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx); +void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); +int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); +int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); + +void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); +int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl); +int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); +int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); + +int EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); +EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); +void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *a); +int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); +int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); +int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); +int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); + +#ifndef OPENSSL_NO_BIO +const BIO_METHOD *BIO_f_md(void); +const BIO_METHOD *BIO_f_base64(void); +const BIO_METHOD *BIO_f_cipher(void); +int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k, + const unsigned char *i, int enc); +#endif + +const EVP_MD *EVP_md_null(void); +#ifndef OPENSSL_NO_MD4 +const EVP_MD *EVP_md4(void); +#endif +#ifndef OPENSSL_NO_MD5 +const EVP_MD *EVP_md5(void); +const EVP_MD *EVP_md5_sha1(void); +#endif +#ifndef OPENSSL_NO_SHA +const EVP_MD *EVP_sha1(void); +#endif +#ifndef OPENSSL_NO_SHA256 +const EVP_MD *EVP_sha224(void); +const EVP_MD *EVP_sha256(void); +#endif +#ifndef OPENSSL_NO_SHA512 +const EVP_MD *EVP_sha384(void); +const EVP_MD *EVP_sha512(void); +const EVP_MD *EVP_sha512_224(void); +const EVP_MD *EVP_sha512_256(void); +#endif +#ifndef OPENSSL_NO_SHA3 +const EVP_MD *EVP_sha3_224(void); +const EVP_MD *EVP_sha3_256(void); +const EVP_MD *EVP_sha3_384(void); +const EVP_MD *EVP_sha3_512(void); +#endif +#ifndef OPENSSL_NO_SM3 +const EVP_MD *EVP_sm3(void); +#endif +#ifndef OPENSSL_NO_RIPEMD +const EVP_MD *EVP_ripemd160(void); +#endif +const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ +#ifndef OPENSSL_NO_DES +const EVP_CIPHER *EVP_des_ecb(void); +const EVP_CIPHER *EVP_des_ede(void); +const EVP_CIPHER *EVP_des_ede3(void); +const EVP_CIPHER *EVP_des_ede_ecb(void); +const EVP_CIPHER *EVP_des_ede3_ecb(void); +const EVP_CIPHER *EVP_des_cfb64(void); +# define EVP_des_cfb EVP_des_cfb64 +const EVP_CIPHER *EVP_des_cfb1(void); +const EVP_CIPHER *EVP_des_cfb8(void); +const EVP_CIPHER *EVP_des_ede_cfb64(void); +# define EVP_des_ede_cfb EVP_des_ede_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb64(void); +# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 +const EVP_CIPHER *EVP_des_ede3_cfb1(void); +const EVP_CIPHER *EVP_des_ede3_cfb8(void); +const EVP_CIPHER *EVP_des_ofb(void); +const EVP_CIPHER *EVP_des_ede_ofb(void); +const EVP_CIPHER *EVP_des_ede3_ofb(void); +const EVP_CIPHER *EVP_des_cbc(void); +const EVP_CIPHER *EVP_des_ede_cbc(void); +const EVP_CIPHER *EVP_des_ede3_cbc(void); +const EVP_CIPHER *EVP_desx_cbc(void); +#endif +#ifndef OPENSSL_NO_RC4 +const EVP_CIPHER *EVP_rc4(void); +const EVP_CIPHER *EVP_rc4_40(void); +#endif +#ifndef OPENSSL_NO_IDEA +const EVP_CIPHER *EVP_idea_ecb(void); +const EVP_CIPHER *EVP_idea_cfb64(void); +# define EVP_idea_cfb EVP_idea_cfb64 +const EVP_CIPHER *EVP_idea_ofb(void); +const EVP_CIPHER *EVP_idea_cbc(void); +#endif +#ifndef OPENSSL_NO_RC2 +const EVP_CIPHER *EVP_rc2_ecb(void); +const EVP_CIPHER *EVP_rc2_cbc(void); +const EVP_CIPHER *EVP_rc2_40_cbc(void); +const EVP_CIPHER *EVP_rc2_64_cbc(void); +const EVP_CIPHER *EVP_rc2_cfb64(void); +# define EVP_rc2_cfb EVP_rc2_cfb64 +const EVP_CIPHER *EVP_rc2_ofb(void); +#endif +#ifndef OPENSSL_NO_BF +const EVP_CIPHER *EVP_bf_ecb(void); +const EVP_CIPHER *EVP_bf_cbc(void); +const EVP_CIPHER *EVP_bf_cfb64(void); +# define EVP_bf_cfb EVP_bf_cfb64 +const EVP_CIPHER *EVP_bf_ofb(void); +#endif +#ifndef OPENSSL_NO_CAST +const EVP_CIPHER *EVP_cast5_ecb(void); +const EVP_CIPHER *EVP_cast5_cbc(void); +const EVP_CIPHER *EVP_cast5_cfb64(void); +# define EVP_cast5_cfb EVP_cast5_cfb64 +const EVP_CIPHER *EVP_cast5_ofb(void); +#endif +#ifndef OPENSSL_NO_AES +const EVP_CIPHER *EVP_aes_128_ecb(void); +const EVP_CIPHER *EVP_aes_128_cbc(void); +const EVP_CIPHER *EVP_aes_128_cfb1(void); +const EVP_CIPHER *EVP_aes_128_cfb8(void); +const EVP_CIPHER *EVP_aes_128_cfb128(void); +# define EVP_aes_128_cfb EVP_aes_128_cfb128 +const EVP_CIPHER *EVP_aes_128_ofb(void); +const EVP_CIPHER *EVP_aes_128_ctr(void); +const EVP_CIPHER *EVP_aes_128_ccm(void); +const EVP_CIPHER *EVP_aes_128_gcm(void); +const EVP_CIPHER *EVP_aes_128_wrap(void); +const EVP_CIPHER *EVP_aes_128_xts(void); +const EVP_CIPHER *EVP_aes_192_ecb(void); +const EVP_CIPHER *EVP_aes_192_cbc(void); +const EVP_CIPHER *EVP_aes_192_cfb1(void); +const EVP_CIPHER *EVP_aes_192_cfb8(void); +const EVP_CIPHER *EVP_aes_192_cfb128(void); +# define EVP_aes_192_cfb EVP_aes_192_cfb128 +const EVP_CIPHER *EVP_aes_192_ofb(void); +const EVP_CIPHER *EVP_aes_192_ctr(void); +const EVP_CIPHER *EVP_aes_192_ccm(void); +const EVP_CIPHER *EVP_aes_192_gcm(void); +const EVP_CIPHER *EVP_aes_192_wrap(void); +const EVP_CIPHER *EVP_aes_256_ecb(void); +const EVP_CIPHER *EVP_aes_256_cbc(void); +const EVP_CIPHER *EVP_aes_256_cfb1(void); +const EVP_CIPHER *EVP_aes_256_cfb8(void); +const EVP_CIPHER *EVP_aes_256_cfb128(void); +# define EVP_aes_256_cfb EVP_aes_256_cfb128 +const EVP_CIPHER *EVP_aes_256_ofb(void); +const EVP_CIPHER *EVP_aes_256_ctr(void); +const EVP_CIPHER *EVP_aes_256_ccm(void); +const EVP_CIPHER *EVP_aes_256_gcm(void); +const EVP_CIPHER *EVP_aes_256_wrap(void); +const EVP_CIPHER *EVP_aes_256_xts(void); +#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) +const EVP_CIPHER *EVP_chacha20_poly1305(void); +#endif +#endif +#ifndef OPENSSL_NO_CAMELLIA +const EVP_CIPHER *EVP_camellia_128_ecb(void); +const EVP_CIPHER *EVP_camellia_128_cbc(void); +const EVP_CIPHER *EVP_camellia_128_cfb1(void); +const EVP_CIPHER *EVP_camellia_128_cfb8(void); +const EVP_CIPHER *EVP_camellia_128_cfb128(void); +# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 +const EVP_CIPHER *EVP_camellia_128_ofb(void); +const EVP_CIPHER *EVP_camellia_192_ecb(void); +const EVP_CIPHER *EVP_camellia_192_cbc(void); +const EVP_CIPHER *EVP_camellia_192_cfb1(void); +const EVP_CIPHER *EVP_camellia_192_cfb8(void); +const EVP_CIPHER *EVP_camellia_192_cfb128(void); +# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 +const EVP_CIPHER *EVP_camellia_192_ofb(void); +const EVP_CIPHER *EVP_camellia_256_ecb(void); +const EVP_CIPHER *EVP_camellia_256_cbc(void); +const EVP_CIPHER *EVP_camellia_256_cfb1(void); +const EVP_CIPHER *EVP_camellia_256_cfb8(void); +const EVP_CIPHER *EVP_camellia_256_cfb128(void); +# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 +const EVP_CIPHER *EVP_camellia_256_ofb(void); +#endif + +#ifndef OPENSSL_NO_CHACHA +const EVP_CIPHER *EVP_chacha20(void); +#endif + +#ifndef OPENSSL_NO_SM4 +const EVP_CIPHER *EVP_sm4_ecb(void); +const EVP_CIPHER *EVP_sm4_cbc(void); +const EVP_CIPHER *EVP_sm4_cfb128(void); +#define EVP_sm4_cfb EVP_sm4_cfb128 +const EVP_CIPHER *EVP_sm4_ofb(void); +const EVP_CIPHER *EVP_sm4_ctr(void); +#endif + +void OPENSSL_add_all_algorithms_noconf(void); +void OPENSSL_add_all_algorithms_conf(void); + +#ifdef OPENSSL_LOAD_CONF +#define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_conf() +#else +#define OpenSSL_add_all_algorithms() OPENSSL_add_all_algorithms_noconf() +#endif + +void OpenSSL_add_all_ciphers(void); +void OpenSSL_add_all_digests(void); + +#define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() +#define SSLeay_add_all_ciphers() OpenSSL_add_all_ciphers() +#define SSLeay_add_all_digests() OpenSSL_add_all_digests() + +const EVP_CIPHER *EVP_get_cipherbyname(const char *name); +const EVP_MD *EVP_get_digestbyname(const char *name); +void EVP_cleanup(void); + +void EVP_CIPHER_do_all(void (*fn)(const EVP_CIPHER *ciph, const char *from, + const char *to, void *x), void *arg); +void EVP_CIPHER_do_all_sorted(void (*fn)(const EVP_CIPHER *ciph, + const char *from, const char *to, void *x), void *arg); + +void EVP_MD_do_all(void (*fn)(const EVP_MD *ciph, const char *from, + const char *to, void *x), void *arg); +void EVP_MD_do_all_sorted(void (*fn)(const EVP_MD *ciph, const char *from, + const char *to, void *x), void *arg); + +int EVP_PKEY_decrypt_old(unsigned char *dec_key, const unsigned char *enc_key, + int enc_key_len, EVP_PKEY *private_key); +int EVP_PKEY_encrypt_old(unsigned char *enc_key, const unsigned char *key, + int key_len, EVP_PKEY *pub_key); +int EVP_PKEY_type(int type); +int EVP_PKEY_id(const EVP_PKEY *pkey); +int EVP_PKEY_base_id(const EVP_PKEY *pkey); +int EVP_PKEY_bits(const EVP_PKEY *pkey); +int EVP_PKEY_security_bits(const EVP_PKEY *pkey); +int EVP_PKEY_size(const EVP_PKEY *pkey); +int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); +int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); +int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key); +void *EVP_PKEY_get0(const EVP_PKEY *pkey); +const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); + +#ifndef OPENSSL_NO_RSA +struct rsa_st; +struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); +struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); +int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); +#endif +#ifndef OPENSSL_NO_DSA +struct dsa_st; +struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); +struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); +int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); +#endif +#ifndef OPENSSL_NO_DH +struct dh_st; +struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey); +struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); +int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); +#endif +#ifndef OPENSSL_NO_EC +struct ec_key_st; +struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); +struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); +int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); +#endif + +EVP_PKEY *EVP_PKEY_new(void); +void EVP_PKEY_free(EVP_PKEY *pkey); +int EVP_PKEY_up_ref(EVP_PKEY *pkey); + +EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); + +EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length); +EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, + long length); +int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); + +int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); +int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); +int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode); +int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); + +int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, int indent, + ASN1_PCTX *pctx); +int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent, + ASN1_PCTX *pctx); +int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent, + ASN1_PCTX *pctx); + +int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); + +int EVP_CIPHER_type(const EVP_CIPHER *ctx); + +/* PKCS5 password based encryption */ +int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, + const unsigned char *salt, int saltlen, int iter, int keylen, + unsigned char *out); +int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, const unsigned char *salt, + int saltlen, int iter, const EVP_MD *digest, int keylen, + unsigned char *out); + +#define ASN1_PKEY_ALIAS 0x1 +#define ASN1_PKEY_DYNAMIC 0x2 +#define ASN1_PKEY_SIGPARAM_NULL 0x4 + +#define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 +#define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 +#define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 +#define ASN1_PKEY_CTRL_CMS_SIGN 0x5 +#define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 +#define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8 + +int EVP_PKEY_asn1_get_count(void); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, + const char *str, int len); +int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags, + const char **pinfo, const char **ppem_str, + const EVP_PKEY_ASN1_METHOD *ameth); + +const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey); + +#define EVP_PKEY_OP_UNDEFINED 0 +#define EVP_PKEY_OP_PARAMGEN (1<<1) +#define EVP_PKEY_OP_KEYGEN (1<<2) +#define EVP_PKEY_OP_SIGN (1<<3) +#define EVP_PKEY_OP_VERIFY (1<<4) +#define EVP_PKEY_OP_VERIFYRECOVER (1<<5) +#define EVP_PKEY_OP_SIGNCTX (1<<6) +#define EVP_PKEY_OP_VERIFYCTX (1<<7) +#define EVP_PKEY_OP_ENCRYPT (1<<8) +#define EVP_PKEY_OP_DECRYPT (1<<9) +#define EVP_PKEY_OP_DERIVE (1<<10) + +#define EVP_PKEY_OP_TYPE_SIG \ + (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ + | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) + +#define EVP_PKEY_OP_TYPE_CRYPT \ + (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) + +#define EVP_PKEY_OP_TYPE_NOGEN \ + (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE) + +#define EVP_PKEY_OP_TYPE_GEN \ + (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) + +#define EVP_PKEY_CTX_set_signature_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_MD, 0, (void *)md) + +#define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_GET_MD, 0, (void *)(pmd)) + +#define EVP_PKEY_CTRL_MD 1 +#define EVP_PKEY_CTRL_PEER_KEY 2 + +#define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 +#define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 + +#define EVP_PKEY_CTRL_PKCS7_SIGN 5 + +#define EVP_PKEY_CTRL_SET_MAC_KEY 6 + +#define EVP_PKEY_CTRL_DIGESTINIT 7 + +/* Used by GOST key encryption in TLS */ +#define EVP_PKEY_CTRL_SET_IV 8 + +#define EVP_PKEY_CTRL_CMS_ENCRYPT 9 +#define EVP_PKEY_CTRL_CMS_DECRYPT 10 +#define EVP_PKEY_CTRL_CMS_SIGN 11 + +#define EVP_PKEY_CTRL_CIPHER 12 + +#define EVP_PKEY_CTRL_GET_MD 13 + +#define EVP_PKEY_ALG_CTRL 0x1000 + + +#define EVP_PKEY_FLAG_AUTOARGLEN 2 +/* Method handles all operations: don't assume any digest related + * defaults. + */ +#define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 + +EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, int cmd, + int p1, void *p2); +int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, + const char *value); + +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); + +EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, const unsigned char *key, + int keylen); +EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, + size_t len, const EVP_CIPHER *cipher); + +void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); +EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); + +EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); + +void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); +void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen); +int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, unsigned char *rout, + size_t *routlen, const unsigned char *sig, size_t siglen); +int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); +int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, + const unsigned char *in, size_t inlen); + +int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); +int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); + +typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); +int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); +int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); + +void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); + +int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); + +/* Authenticated Encryption with Additional Data. + * + * AEAD couples confidentiality and integrity in a single primtive. AEAD + * algorithms take a key and then can seal and open individual messages. Each + * message has a unique, per-message nonce and, optionally, additional data + * which is authenticated but not included in the output. */ + +typedef struct evp_aead_st EVP_AEAD; + +#ifndef OPENSSL_NO_AES +/* EVP_aes_128_gcm is AES-128 in Galois Counter Mode. */ +const EVP_AEAD *EVP_aead_aes_128_gcm(void); +/* EVP_aes_256_gcm is AES-256 in Galois Counter Mode. */ +const EVP_AEAD *EVP_aead_aes_256_gcm(void); +#endif + +#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) +/* EVP_aead_chacha20_poly1305 is ChaCha20 with a Poly1305 authenticator. */ +const EVP_AEAD *EVP_aead_chacha20_poly1305(void); +/* EVP_aead_xchacha20_poly1305 is XChaCha20 with a Poly1305 authenticator. */ +const EVP_AEAD *EVP_aead_xchacha20_poly1305(void); +#endif + +/* EVP_AEAD_key_length returns the length of the keys used. */ +size_t EVP_AEAD_key_length(const EVP_AEAD *aead); + +/* EVP_AEAD_nonce_length returns the length of the per-message nonce. */ +size_t EVP_AEAD_nonce_length(const EVP_AEAD *aead); + +/* EVP_AEAD_max_overhead returns the maximum number of additional bytes added + * by the act of sealing data with the AEAD. */ +size_t EVP_AEAD_max_overhead(const EVP_AEAD *aead); + +/* EVP_AEAD_max_tag_len returns the maximum tag length when using this AEAD. + * This * is the largest value that can be passed as a tag length to + * EVP_AEAD_CTX_init. */ +size_t EVP_AEAD_max_tag_len(const EVP_AEAD *aead); + +/* An EVP_AEAD_CTX represents an AEAD algorithm configured with a specific key + * and message-independent IV. */ +typedef struct evp_aead_ctx_st EVP_AEAD_CTX; + +/* EVP_AEAD_MAX_TAG_LENGTH is the maximum tag length used by any AEAD + * defined in this header. */ +#define EVP_AEAD_MAX_TAG_LENGTH 16 + +/* EVP_AEAD_DEFAULT_TAG_LENGTH is a magic value that can be passed to + * EVP_AEAD_CTX_init to indicate that the default tag length for an AEAD + * should be used. */ +#define EVP_AEAD_DEFAULT_TAG_LENGTH 0 + +/* EVP_AEAD_CTX_new allocates a new context for use with EVP_AEAD_CTX_init. + * It can be cleaned up for reuse with EVP_AEAD_CTX_cleanup and must be freed + * with EVP_AEAD_CTX_free. */ +EVP_AEAD_CTX *EVP_AEAD_CTX_new(void); + +/* EVP_AEAD_CTX_free releases all memory owned by the context. */ +void EVP_AEAD_CTX_free(EVP_AEAD_CTX *ctx); + +/* EVP_AEAD_CTX_init initializes the context for the given AEAD algorithm. + * The implementation argument may be NULL to choose the default implementation. + * Authentication tags may be truncated by passing a tag length. A tag length + * of zero indicates the default tag length should be used. */ +int EVP_AEAD_CTX_init(EVP_AEAD_CTX *ctx, const EVP_AEAD *aead, + const unsigned char *key, size_t key_len, size_t tag_len, ENGINE *impl); + +/* EVP_AEAD_CTX_cleanup frees any data allocated for this context. */ +void EVP_AEAD_CTX_cleanup(EVP_AEAD_CTX *ctx); + +/* EVP_AEAD_CTX_seal encrypts and authenticates the input and authenticates + * any additional data (AD), the result being written as output. One is + * returned on success, otherwise zero. + * + * This function may be called (with the same EVP_AEAD_CTX) concurrently with + * itself or EVP_AEAD_CTX_open. + * + * At most max_out_len bytes are written as output and, in order to ensure + * success, this value should be the length of the input plus the result of + * EVP_AEAD_overhead. On successful return, out_len is set to the actual + * number of bytes written. + * + * The length of the nonce is must be equal to the result of + * EVP_AEAD_nonce_length for this AEAD. + * + * EVP_AEAD_CTX_seal never results in a partial output. If max_out_len is + * insufficient, zero will be returned and out_len will be set to zero. + * + * If the input and output are aliased then out must be <= in. */ +int EVP_AEAD_CTX_seal(const EVP_AEAD_CTX *ctx, unsigned char *out, + size_t *out_len, size_t max_out_len, const unsigned char *nonce, + size_t nonce_len, const unsigned char *in, size_t in_len, + const unsigned char *ad, size_t ad_len); + +/* EVP_AEAD_CTX_open authenticates the input and additional data, decrypting + * the input and writing it as output. One is returned on success, otherwise + * zero. + * + * This function may be called (with the same EVP_AEAD_CTX) concurrently with + * itself or EVP_AEAD_CTX_seal. + * + * At most the number of input bytes are written as output. In order to ensure + * success, max_out_len should be at least the same as the input length. On + * successful return out_len is set to the actual number of bytes written. + * + * The length of nonce must be equal to the result of EVP_AEAD_nonce_length + * for this AEAD. + * + * EVP_AEAD_CTX_open never results in a partial output. If max_out_len is + * insufficient, zero will be returned and out_len will be set to zero. + * + * If the input and output are aliased then out must be <= in. */ +int EVP_AEAD_CTX_open(const EVP_AEAD_CTX *ctx, unsigned char *out, + size_t *out_len, size_t max_out_len, const unsigned char *nonce, + size_t nonce_len, const unsigned char *in, size_t in_len, + const unsigned char *ad, size_t ad_len); + +void ERR_load_EVP_strings(void); + +/* Error codes for the EVP functions. */ + +/* Function codes. */ +#define EVP_F_AEAD_AES_GCM_INIT 187 +#define EVP_F_AEAD_AES_GCM_OPEN 188 +#define EVP_F_AEAD_AES_GCM_SEAL 189 +#define EVP_F_AEAD_CHACHA20_POLY1305_INIT 192 +#define EVP_F_AEAD_CHACHA20_POLY1305_OPEN 193 +#define EVP_F_AEAD_CHACHA20_POLY1305_SEAL 194 +#define EVP_F_AEAD_CTX_OPEN 185 +#define EVP_F_AEAD_CTX_SEAL 186 +#define EVP_F_AESNI_INIT_KEY 165 +#define EVP_F_AESNI_XTS_CIPHER 176 +#define EVP_F_AES_INIT_KEY 133 +#define EVP_F_AES_XTS 172 +#define EVP_F_AES_XTS_CIPHER 175 +#define EVP_F_ALG_MODULE_INIT 177 +#define EVP_F_CAMELLIA_INIT_KEY 159 +#define EVP_F_CMAC_INIT 173 +#define EVP_F_D2I_PKEY 100 +#define EVP_F_DO_SIGVER_INIT 161 +#define EVP_F_DSAPKEY2PKCS8 134 +#define EVP_F_DSA_PKEY2PKCS8 135 +#define EVP_F_ECDSA_PKEY2PKCS8 129 +#define EVP_F_ECKEY_PKEY2PKCS8 132 +#define EVP_F_EVP_AEAD_CTX_INIT 180 +#define EVP_F_EVP_AEAD_CTX_OPEN 190 +#define EVP_F_EVP_AEAD_CTX_SEAL 191 +#define EVP_F_EVP_BYTESTOKEY 200 +#define EVP_F_EVP_CIPHERINIT_EX 123 +#define EVP_F_EVP_CIPHER_CTX_COPY 163 +#define EVP_F_EVP_CIPHER_CTX_CTRL 124 +#define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 +#define EVP_F_EVP_CIPHER_GET_ASN1_IV 201 +#define EVP_F_EVP_CIPHER_SET_ASN1_IV 202 +#define EVP_F_EVP_DECRYPTFINAL_EX 101 +#define EVP_F_EVP_DECRYPTUPDATE 199 +#define EVP_F_EVP_DIGESTFINAL_EX 196 +#define EVP_F_EVP_DIGESTINIT_EX 128 +#define EVP_F_EVP_ENCRYPTFINAL_EX 127 +#define EVP_F_EVP_ENCRYPTUPDATE 198 +#define EVP_F_EVP_MD_CTX_COPY_EX 110 +#define EVP_F_EVP_MD_CTX_CTRL 195 +#define EVP_F_EVP_MD_SIZE 162 +#define EVP_F_EVP_OPENINIT 102 +#define EVP_F_EVP_PBE_ALG_ADD 115 +#define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 +#define EVP_F_EVP_PBE_CIPHERINIT 116 +#define EVP_F_EVP_PKCS82PKEY 111 +#define EVP_F_EVP_PKCS82PKEY_BROKEN 136 +#define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 +#define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 +#define EVP_F_EVP_PKEY_CTX_CTRL 137 +#define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 +#define EVP_F_EVP_PKEY_CTX_DUP 156 +#define EVP_F_EVP_PKEY_DECRYPT 104 +#define EVP_F_EVP_PKEY_DECRYPT_INIT 138 +#define EVP_F_EVP_PKEY_DECRYPT_OLD 151 +#define EVP_F_EVP_PKEY_DERIVE 153 +#define EVP_F_EVP_PKEY_DERIVE_INIT 154 +#define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 +#define EVP_F_EVP_PKEY_ENCRYPT 105 +#define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 +#define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 +#define EVP_F_EVP_PKEY_GET1_DH 119 +#define EVP_F_EVP_PKEY_GET1_DSA 120 +#define EVP_F_EVP_PKEY_GET1_ECDSA 130 +#define EVP_F_EVP_PKEY_GET1_EC_KEY 131 +#define EVP_F_EVP_PKEY_GET1_RSA 121 +#define EVP_F_EVP_PKEY_KEYGEN 146 +#define EVP_F_EVP_PKEY_KEYGEN_INIT 147 +#define EVP_F_EVP_PKEY_NEW 106 +#define EVP_F_EVP_PKEY_PARAMGEN 148 +#define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 +#define EVP_F_EVP_PKEY_SIGN 140 +#define EVP_F_EVP_PKEY_SIGN_INIT 141 +#define EVP_F_EVP_PKEY_VERIFY 142 +#define EVP_F_EVP_PKEY_VERIFY_INIT 143 +#define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 +#define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 +#define EVP_F_EVP_RIJNDAEL 126 +#define EVP_F_EVP_SIGNFINAL 107 +#define EVP_F_EVP_VERIFYFINAL 108 +#define EVP_F_FIPS_CIPHERINIT 166 +#define EVP_F_FIPS_CIPHER_CTX_COPY 170 +#define EVP_F_FIPS_CIPHER_CTX_CTRL 167 +#define EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH 171 +#define EVP_F_FIPS_DIGESTINIT 168 +#define EVP_F_FIPS_MD_CTX_COPY 169 +#define EVP_F_HMAC_INIT_EX 174 +#define EVP_F_INT_CTX_NEW 157 +#define EVP_F_PKCS5_PBE_KEYIVGEN 117 +#define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 +#define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 +#define EVP_F_PKCS8_SET_BROKEN 112 +#define EVP_F_PKEY_SET_TYPE 158 +#define EVP_F_RC2_GET_ASN1_TYPE_AND_IV 197 +#define EVP_F_RC2_MAGIC_TO_METH 109 +#define EVP_F_RC5_CTRL 125 + +/* Reason codes. */ +#define EVP_R_AES_IV_SETUP_FAILED 162 +#define EVP_R_AES_KEY_SETUP_FAILED 143 +#define EVP_R_ASN1_LIB 140 +#define EVP_R_BAD_BLOCK_LENGTH 136 +#define EVP_R_BAD_DECRYPT 100 +#define EVP_R_BAD_KEY_LENGTH 137 +#define EVP_R_BN_DECODE_ERROR 112 +#define EVP_R_BN_PUBKEY_ERROR 113 +#define EVP_R_BUFFER_TOO_SMALL 155 +#define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 +#define EVP_R_CIPHER_PARAMETER_ERROR 122 +#define EVP_R_COMMAND_NOT_SUPPORTED 147 +#define EVP_R_CTRL_NOT_IMPLEMENTED 132 +#define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 +#define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 +#define EVP_R_DECODE_ERROR 114 +#define EVP_R_DIFFERENT_KEY_TYPES 101 +#define EVP_R_DIFFERENT_PARAMETERS 153 +#define EVP_R_DISABLED_FOR_FIPS 163 +#define EVP_R_ENCODE_ERROR 115 +#define EVP_R_ERROR_LOADING_SECTION 165 +#define EVP_R_ERROR_SETTING_FIPS_MODE 166 +#define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 +#define EVP_R_EXPECTING_AN_HMAC_KEY 174 +#define EVP_R_EXPECTING_AN_RSA_KEY 127 +#define EVP_R_EXPECTING_A_DH_KEY 128 +#define EVP_R_EXPECTING_A_DSA_KEY 129 +#define EVP_R_EXPECTING_A_ECDSA_KEY 141 +#define EVP_R_EXPECTING_A_EC_KEY 142 +#define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 +#define EVP_R_GET_RAW_KEY_FAILED 182 +#define EVP_R_INITIALIZATION_ERROR 134 +#define EVP_R_INPUT_NOT_INITIALIZED 111 +#define EVP_R_INVALID_DIGEST 152 +#define EVP_R_INVALID_FIPS_MODE 168 +#define EVP_R_INVALID_IV_LENGTH 194 +#define EVP_R_INVALID_KEY_LENGTH 130 +#define EVP_R_INVALID_OPERATION 148 +#define EVP_R_IV_TOO_LARGE 102 +#define EVP_R_KEYGEN_FAILURE 120 +#define EVP_R_KEY_SETUP_FAILED 180 +#define EVP_R_MESSAGE_DIGEST_IS_NULL 159 +#define EVP_R_METHOD_NOT_SUPPORTED 144 +#define EVP_R_MISSING_PARAMETERS 103 +#define EVP_R_NO_CIPHER_SET 131 +#define EVP_R_NO_DEFAULT_DIGEST 158 +#define EVP_R_NO_DIGEST_SET 139 +#define EVP_R_NO_DSA_PARAMETERS 116 +#define EVP_R_NO_KEY_SET 154 +#define EVP_R_NO_OPERATION_SET 149 +#define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 +#define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 +#define EVP_R_ONLY_ONESHOT_SUPPORTED 177 +#define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 +#define EVP_R_OPERATON_NOT_INITIALIZED 151 +#define EVP_R_OUTPUT_ALIASES_INPUT 172 +#define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 +#define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 +#define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 +#define EVP_R_PUBLIC_KEY_NOT_RSA 106 +#define EVP_R_TAG_TOO_LARGE 171 +#define EVP_R_TOO_LARGE 164 +#define EVP_R_UNKNOWN_CIPHER 160 +#define EVP_R_UNKNOWN_DIGEST 161 +#define EVP_R_UNKNOWN_OPTION 169 +#define EVP_R_UNKNOWN_PBE_ALGORITHM 121 +#define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 +#define EVP_R_UNSUPPORTED_ALGORITHM 156 +#define EVP_R_UNSUPPORTED_CIPHER 107 +#define EVP_R_UNSUPPORTED_KEYLENGTH 123 +#define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 +#define EVP_R_UNSUPPORTED_KEY_SIZE 108 +#define EVP_R_UNSUPPORTED_PRF 125 +#define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 +#define EVP_R_WRAP_MODE_NOT_ALLOWED 170 +#define EVP_R_UNSUPPORTED_SALT_TYPE 126 +#define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 +#define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/hkdf.h b/curl/include/openssl/hkdf.h new file mode 100644 index 0000000..6cec526 --- /dev/null +++ b/curl/include/openssl/hkdf.h @@ -0,0 +1,65 @@ +/* $OpenBSD: hkdf.h,v 1.3 2023/08/11 04:52:08 tb Exp $ */ +/* Copyright (c) 2014, Google Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ + +#ifndef OPENSSL_HEADER_HKDF_H +#define OPENSSL_HEADER_HKDF_H + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +/* + * HKDF computes HKDF (as specified by RFC 5869) of initial keying + * material |secret| with |salt| and |info| using |digest|, and + * outputs |out_len| bytes to |out_key|. It returns one on success and + * zero on error. + * + * HKDF is an Extract-and-Expand algorithm. It does not do any key + * stretching, and as such, is not suited to be used alone to generate + * a key from a password. + */ + +int HKDF(uint8_t *out_key, size_t out_len, const EVP_MD *digest, + const uint8_t *secret, size_t secret_len, const uint8_t *salt, + size_t salt_len, const uint8_t *info, size_t info_len); + +/* + * HKDF_extract computes a HKDF PRK (as specified by RFC 5869) from + * initial keying material |secret| and salt |salt| using |digest|, + * and outputs |out_len| bytes to |out_key|. The maximum output size + * is |EVP_MAX_MD_SIZE|. It returns one on success and zero on error. + */ +int HKDF_extract(uint8_t *out_key, size_t *out_len, const EVP_MD *digest, + const uint8_t *secret, size_t secret_len, + const uint8_t *salt, size_t salt_len); + +/* + * HKDF_expand computes a HKDF OKM (as specified by RFC 5869) of + * length |out_len| from the PRK |prk| and info |info| using |digest|, + * and outputs the result to |out_key|. It returns one on success and + * zero on error. + */ +int HKDF_expand(uint8_t *out_key, size_t out_len, + const EVP_MD *digest, const uint8_t *prk, size_t prk_len, + const uint8_t *info, size_t info_len); + + +#if defined(__cplusplus) +} /* extern C */ +#endif + +#endif /* OPENSSL_HEADER_HKDF_H */ diff --git a/curl/include/openssl/hmac.h b/curl/include/openssl/hmac.h new file mode 100644 index 0000000..2216fd9 --- /dev/null +++ b/curl/include/openssl/hmac.h @@ -0,0 +1,101 @@ +/* $OpenBSD: hmac.h,v 1.21 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +#ifndef HEADER_HMAC_H +#define HEADER_HMAC_H + +#include + +#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__) +#define __bounded__(x, y, z) +#endif + +#include + +#define HMAC_MAX_MD_CBLOCK 144 /* largest known is SHA3-224 */ + +#ifdef __cplusplus +extern "C" { +#endif + +#define HMAC_size(e) (EVP_MD_size(HMAC_CTX_get_md((e)))) + +HMAC_CTX *HMAC_CTX_new(void); +void HMAC_CTX_free(HMAC_CTX *ctx); +int HMAC_CTX_reset(HMAC_CTX *ctx); + +int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md, + ENGINE *impl) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); +unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, + const unsigned char *d, size_t n, unsigned char *md, unsigned int *md_len) + __attribute__ ((__bounded__(__buffer__, 2, 3))) + __attribute__ ((__bounded__(__buffer__, 4, 5))) + __attribute__((__nonnull__ (6))); +int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); + +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); +const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/idea.h b/curl/include/openssl/idea.h new file mode 100644 index 0000000..2bdd364 --- /dev/null +++ b/curl/include/openssl/idea.h @@ -0,0 +1,94 @@ +/* $OpenBSD: idea.h,v 1.13 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_IDEA_H +#define HEADER_IDEA_H + +#include /* IDEA_INT, OPENSSL_NO_IDEA */ + +#define IDEA_ENCRYPT 1 +#define IDEA_DECRYPT 0 + +#define IDEA_BLOCK 8 +#define IDEA_KEY_LENGTH 16 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct idea_key_st { + IDEA_INT data[9][6]; +} IDEA_KEY_SCHEDULE; + +void idea_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void idea_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); +void idea_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, int enc); +void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, int *num); +void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/kdf.h b/curl/include/openssl/kdf.h new file mode 100644 index 0000000..578949c --- /dev/null +++ b/curl/include/openssl/kdf.h @@ -0,0 +1,137 @@ +/* $OpenBSD: kdf.h,v 1.9 2024/07/09 16:20:17 tb Exp $ */ +/* + * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project. + */ +/* ==================================================================== + * Copyright (c) 2016-2018 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + */ + +#ifndef HEADER_KDF_H +# define HEADER_KDF_H + +#ifdef __cplusplus +extern "C" { +#endif + +# define EVP_PKEY_CTRL_TLS_MD (EVP_PKEY_ALG_CTRL + 0) +# define EVP_PKEY_CTRL_TLS_SECRET (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_TLS_SEED (EVP_PKEY_ALG_CTRL + 2) + +# define EVP_PKEY_CTRL_HKDF_MD (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_HKDF_SALT (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_HKDF_KEY (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_HKDF_INFO (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_HKDF_MODE (EVP_PKEY_ALG_CTRL + 7) + +# define EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND 0 +# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY 1 +# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY 2 + + +# define EVP_PKEY_CTX_set_tls1_prf_md(pctx, md) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_set1_tls1_prf_secret(pctx, sec, seclen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_SECRET, seclen, (void *)(sec)) + +# define EVP_PKEY_CTX_add1_tls1_prf_seed(pctx, seed, seedlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_TLS_SEED, seedlen, (void *)(seed)) + + +# define EVP_PKEY_CTX_set_hkdf_md(pctx, md) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_set1_hkdf_salt(pctx, salt, saltlen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_SALT, saltlen, (void *)(salt)) + +# define EVP_PKEY_CTX_set1_hkdf_key(pctx, key, keylen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_KEY, keylen, (void *)(key)) + +# define EVP_PKEY_CTX_add1_hkdf_info(pctx, info, infolen) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_INFO, infolen, (void *)(info)) + +# define EVP_PKEY_CTX_hkdf_mode(pctx, mode) \ + EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_HKDF_MODE, mode, NULL) + +int ERR_load_KDF_strings(void); + +/* + * KDF function codes. + */ +# define KDF_F_PKEY_HKDF_CTRL_STR 103 +# define KDF_F_PKEY_HKDF_DERIVE 102 +# define KDF_F_PKEY_HKDF_INIT 108 +# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 100 +# define KDF_F_PKEY_TLS1_PRF_DERIVE 101 +# define KDF_F_PKEY_TLS1_PRF_INIT 110 +# define KDF_F_TLS1_PRF_ALG 111 + +/* + * KDF reason codes. + */ +# define KDF_R_INVALID_DIGEST 100 +# define KDF_R_MISSING_KEY 104 +# define KDF_R_MISSING_MESSAGE_DIGEST 105 +# define KDF_R_MISSING_SECRET 107 +# define KDF_R_MISSING_SEED 106 +# define KDF_R_UNKNOWN_PARAMETER_TYPE 103 +# define KDF_R_VALUE_MISSING 102 + +# ifdef __cplusplus +} +# endif +#endif diff --git a/curl/include/openssl/lhash.h b/curl/include/openssl/lhash.h new file mode 100644 index 0000000..86d0554 --- /dev/null +++ b/curl/include/openssl/lhash.h @@ -0,0 +1,179 @@ +/* $OpenBSD: lhash.h,v 1.14 2024/03/02 11:11:11 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +/* Header for dynamic hash table routines + * Author - Eric Young + */ + +#ifndef HEADER_LHASH_H +#define HEADER_LHASH_H + +#include + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef int (*LHASH_COMP_FN_TYPE)(const void *, const void *); +typedef unsigned long (*LHASH_HASH_FN_TYPE)(const void *); +typedef void (*LHASH_DOALL_FN_TYPE)(void *); +typedef void (*LHASH_DOALL_ARG_FN_TYPE)(void *, void *); + +/* Macros for declaring and implementing type-safe wrappers for LHASH callbacks. + * This way, callbacks can be provided to LHASH structures without function + * pointer casting and the macro-defined callbacks provide per-variable casting + * before deferring to the underlying type-specific callbacks. NB: It is + * possible to place a "static" in front of both the DECLARE and IMPLEMENT + * macros if the functions are strictly internal. */ + +/* First: "hash" functions */ +#define DECLARE_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *); +#define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *arg) { \ + const o_type *a = arg; \ + return name##_hash(a); } +#define LHASH_HASH_FN(name) name##_LHASH_HASH + +/* Second: "compare" functions */ +#define DECLARE_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *, const void *); +#define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ + const o_type *a = arg1; \ + const o_type *b = arg2; \ + return name##_cmp(a,b); } +#define LHASH_COMP_FN(name) name##_LHASH_COMP + +/* Third: "doall" functions */ +#define DECLARE_LHASH_DOALL_FN(name, o_type) \ + void name##_LHASH_DOALL(void *); +#define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ + void name##_LHASH_DOALL(void *arg) { \ + o_type *a = arg; \ + name##_doall(a); } +#define LHASH_DOALL_FN(name) name##_LHASH_DOALL + +/* Fourth: "doall_arg" functions */ +#define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *, void *); +#define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ + o_type *a = arg1; \ + a_type *b = arg2; \ + name##_doall_arg(a, b); } +#define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG + +typedef struct lhash_st _LHASH; + +#define LH_LOAD_MULT 256 + +_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); +void lh_free(_LHASH *lh); +int lh_error(_LHASH *lh); +void *lh_insert(_LHASH *lh, void *data); +void *lh_delete(_LHASH *lh, const void *data); +void *lh_retrieve(_LHASH *lh, const void *data); +void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); +void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); +unsigned long lh_strhash(const char *c); +unsigned long lh_num_items(const _LHASH *lh); + +/* Type checking... */ + +#define LHASH_OF(type) struct lhash_st_##type + +#define DECLARE_LHASH_OF(type) LHASH_OF(type) + +#define CHECKED_LHASH_OF(type,lh) \ + ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) + +/* Define wrapper functions. */ +#define LHM_lh_new(type, name) \ + ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name))) +#define LHM_lh_error(type, lh) \ + lh_error(CHECKED_LHASH_OF(type,lh)) +#define LHM_lh_insert(type, lh, inst) \ + ((type *)lh_insert(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +#define LHM_lh_retrieve(type, lh, inst) \ + ((type *)lh_retrieve(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +#define LHM_lh_delete(type, lh, inst) \ + ((type *)lh_delete(CHECKED_LHASH_OF(type, lh), \ + CHECKED_PTR_OF(type, inst))) +#define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) +#define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ + lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) +#define LHM_lh_num_items(type, lh) lh_num_items(CHECKED_LHASH_OF(type, lh)) +#define LHM_lh_free(type, lh) lh_free(CHECKED_LHASH_OF(type, lh)) + +DECLARE_LHASH_OF(OPENSSL_STRING); +DECLARE_LHASH_OF(OPENSSL_CSTRING); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/md4.h b/curl/include/openssl/md4.h new file mode 100644 index 0000000..d2a107a --- /dev/null +++ b/curl/include/openssl/md4.h @@ -0,0 +1,105 @@ +/* $OpenBSD: md4.h,v 1.22 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#include + +#ifndef HEADER_MD4_H +#define HEADER_MD4_H + +#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__) +#define __bounded__(x, y, z) +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! MD4_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +#define MD4_LONG unsigned int + +#define MD4_CBLOCK 64 +#define MD4_LBLOCK (MD4_CBLOCK/4) +#define MD4_DIGEST_LENGTH 16 + +typedef struct MD4state_st { + MD4_LONG A, B,C, D; + MD4_LONG Nl, Nh; + MD4_LONG data[MD4_LBLOCK]; + unsigned int num; +} MD4_CTX; + +int MD4_Init(MD4_CTX *c); +int MD4_Update(MD4_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int MD4_Final(unsigned char *md, MD4_CTX *c); +unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +void MD4_Transform(MD4_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/md5.h b/curl/include/openssl/md5.h new file mode 100644 index 0000000..4d94c84 --- /dev/null +++ b/curl/include/openssl/md5.h @@ -0,0 +1,99 @@ +/* $OpenBSD: md5.h,v 1.25 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#include + +#ifndef HEADER_MD5_H +#define HEADER_MD5_H + +#include + +#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__) +#define __bounded__(x, y, z) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define MD5_LONG unsigned int + +#define MD5_CBLOCK 64 +#define MD5_LBLOCK (MD5_CBLOCK/4) +#define MD5_DIGEST_LENGTH 16 + +typedef struct MD5state_st { + MD5_LONG A, B,C, D; + MD5_LONG Nl, Nh; + MD5_LONG data[MD5_LBLOCK]; + unsigned int num; +} MD5_CTX; + +int MD5_Init(MD5_CTX *c); +int MD5_Update(MD5_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int MD5_Final(unsigned char *md, MD5_CTX *c); +unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +void MD5_Transform(MD5_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/modes.h b/curl/include/openssl/modes.h new file mode 100644 index 0000000..53fa9af --- /dev/null +++ b/curl/include/openssl/modes.h @@ -0,0 +1,118 @@ +/* $OpenBSD: modes.h,v 1.6 2023/07/08 14:55:36 beck Exp $ */ +/* ==================================================================== + * Copyright (c) 2008 The OpenSSL Project. All rights reserved. + * + * Rights for redistribution and usage in source and binary + * forms are granted according to the OpenSSL license. + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void (*block128_f)(const unsigned char in[16], + unsigned char out[16], + const void *key); + +typedef void (*cbc128_f)(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int enc); + +typedef void (*ctr128_f)(const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16]); + +typedef void (*ccm128_f)(const unsigned char *in, unsigned char *out, + size_t blocks, const void *key, + const unsigned char ivec[16], unsigned char cmac[16]); + +void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); +void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], block128_f block); + +void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], unsigned char ecount_buf[16], + unsigned int *num, block128_f block); + +void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], unsigned char ecount_buf[16], + unsigned int *num, ctr128_f ctr); + +void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + block128_f block); + +void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); +void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, + size_t bits, const void *key, + unsigned char ivec[16], int *num, + int enc, block128_f block); + +typedef struct gcm128_context GCM128_CONTEXT; + +GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); +void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block); +void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, + size_t len); +int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, + size_t len); +int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len); +int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, + const unsigned char *in, unsigned char *out, + size_t len, ctr128_f stream); +int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char *tag, + size_t len); +void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); +void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); + +typedef struct ccm128_context CCM128_CONTEXT; + +void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, + unsigned int M, unsigned int L, void *key, block128_f block); +int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, + const unsigned char *nonce, size_t nlen, size_t mlen); +void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, + const unsigned char *aad, size_t alen); +int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, + const unsigned char *inp, unsigned char *out, size_t len); +int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, + const unsigned char *inp, unsigned char *out, size_t len); +int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, + const unsigned char *inp, unsigned char *out, size_t len, + ccm128_f stream); +int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, + const unsigned char *inp, unsigned char *out, size_t len, + ccm128_f stream); +size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); + +typedef struct xts128_context XTS128_CONTEXT; + +int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], + const unsigned char *inp, unsigned char *out, size_t len, int enc); + +#ifdef __cplusplus +} +#endif diff --git a/curl/include/openssl/obj_mac.h b/curl/include/openssl/obj_mac.h new file mode 100644 index 0000000..ace77cc --- /dev/null +++ b/curl/include/openssl/obj_mac.h @@ -0,0 +1,4643 @@ +/* crypto/objects/obj_mac.h */ + +/* THIS FILE IS GENERATED FROM objects.txt by objects.pl via the + * following command: + * perl objects.pl objects.txt obj_mac.num obj_mac.h + */ + +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#define SN_undef "UNDEF" +#define LN_undef "undefined" +#define NID_undef 0 +#define OBJ_undef 0L + +#define SN_itu_t "ITU-T" +#define LN_itu_t "itu-t" +#define NID_itu_t 645 +#define OBJ_itu_t 0L + +#define NID_ccitt 404 +#define OBJ_ccitt OBJ_itu_t + +#define SN_iso "ISO" +#define LN_iso "iso" +#define NID_iso 181 +#define OBJ_iso 1L + +#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" +#define LN_joint_iso_itu_t "joint-iso-itu-t" +#define NID_joint_iso_itu_t 646 +#define OBJ_joint_iso_itu_t 2L + +#define NID_joint_iso_ccitt 393 +#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t + +#define SN_member_body "member-body" +#define LN_member_body "ISO Member Body" +#define NID_member_body 182 +#define OBJ_member_body OBJ_iso,2L + +#define SN_identified_organization "identified-organization" +#define NID_identified_organization 676 +#define OBJ_identified_organization OBJ_iso,3L + +#define SN_hmac_md5 "HMAC-MD5" +#define LN_hmac_md5 "hmac-md5" +#define NID_hmac_md5 780 +#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L + +#define SN_hmac_sha1 "HMAC-SHA1" +#define LN_hmac_sha1 "hmac-sha1" +#define NID_hmac_sha1 781 +#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L + +#define SN_certicom_arc "certicom-arc" +#define NID_certicom_arc 677 +#define OBJ_certicom_arc OBJ_identified_organization,132L + +#define SN_international_organizations "international-organizations" +#define LN_international_organizations "International Organizations" +#define NID_international_organizations 647 +#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L + +#define SN_wap "wap" +#define NID_wap 678 +#define OBJ_wap OBJ_international_organizations,43L + +#define SN_wap_wsg "wap-wsg" +#define NID_wap_wsg 679 +#define OBJ_wap_wsg OBJ_wap,1L + +#define SN_selected_attribute_types "selected-attribute-types" +#define LN_selected_attribute_types "Selected Attribute Types" +#define NID_selected_attribute_types 394 +#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L + +#define SN_clearance "clearance" +#define NID_clearance 395 +#define OBJ_clearance OBJ_selected_attribute_types,55L + +#define SN_ISO_US "ISO-US" +#define LN_ISO_US "ISO US Member Body" +#define NID_ISO_US 183 +#define OBJ_ISO_US OBJ_member_body,840L + +#define SN_X9_57 "X9-57" +#define LN_X9_57 "X9.57" +#define NID_X9_57 184 +#define OBJ_X9_57 OBJ_ISO_US,10040L + +#define SN_X9cm "X9cm" +#define LN_X9cm "X9.57 CM ?" +#define NID_X9cm 185 +#define OBJ_X9cm OBJ_X9_57,4L + +#define SN_dsa "DSA" +#define LN_dsa "dsaEncryption" +#define NID_dsa 116 +#define OBJ_dsa OBJ_X9cm,1L + +#define SN_dsaWithSHA1 "DSA-SHA1" +#define LN_dsaWithSHA1 "dsaWithSHA1" +#define NID_dsaWithSHA1 113 +#define OBJ_dsaWithSHA1 OBJ_X9cm,3L + +#define SN_ansi_X9_62 "ansi-X9-62" +#define LN_ansi_X9_62 "ANSI X9.62" +#define NID_ansi_X9_62 405 +#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L + +#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L + +#define SN_X9_62_prime_field "prime-field" +#define NID_X9_62_prime_field 406 +#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L + +#define SN_X9_62_characteristic_two_field "characteristic-two-field" +#define NID_X9_62_characteristic_two_field 407 +#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L + +#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" +#define NID_X9_62_id_characteristic_two_basis 680 +#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L + +#define SN_X9_62_onBasis "onBasis" +#define NID_X9_62_onBasis 681 +#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L + +#define SN_X9_62_tpBasis "tpBasis" +#define NID_X9_62_tpBasis 682 +#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L + +#define SN_X9_62_ppBasis "ppBasis" +#define NID_X9_62_ppBasis 683 +#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L + +#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L + +#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" +#define NID_X9_62_id_ecPublicKey 408 +#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L + +#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L + +#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L + +#define SN_X9_62_c2pnb163v1 "c2pnb163v1" +#define NID_X9_62_c2pnb163v1 684 +#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L + +#define SN_X9_62_c2pnb163v2 "c2pnb163v2" +#define NID_X9_62_c2pnb163v2 685 +#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L + +#define SN_X9_62_c2pnb163v3 "c2pnb163v3" +#define NID_X9_62_c2pnb163v3 686 +#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L + +#define SN_X9_62_c2pnb176v1 "c2pnb176v1" +#define NID_X9_62_c2pnb176v1 687 +#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L + +#define SN_X9_62_c2tnb191v1 "c2tnb191v1" +#define NID_X9_62_c2tnb191v1 688 +#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L + +#define SN_X9_62_c2tnb191v2 "c2tnb191v2" +#define NID_X9_62_c2tnb191v2 689 +#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L + +#define SN_X9_62_c2tnb191v3 "c2tnb191v3" +#define NID_X9_62_c2tnb191v3 690 +#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L + +#define SN_X9_62_c2onb191v4 "c2onb191v4" +#define NID_X9_62_c2onb191v4 691 +#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L + +#define SN_X9_62_c2onb191v5 "c2onb191v5" +#define NID_X9_62_c2onb191v5 692 +#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L + +#define SN_X9_62_c2pnb208w1 "c2pnb208w1" +#define NID_X9_62_c2pnb208w1 693 +#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L + +#define SN_X9_62_c2tnb239v1 "c2tnb239v1" +#define NID_X9_62_c2tnb239v1 694 +#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L + +#define SN_X9_62_c2tnb239v2 "c2tnb239v2" +#define NID_X9_62_c2tnb239v2 695 +#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L + +#define SN_X9_62_c2tnb239v3 "c2tnb239v3" +#define NID_X9_62_c2tnb239v3 696 +#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L + +#define SN_X9_62_c2onb239v4 "c2onb239v4" +#define NID_X9_62_c2onb239v4 697 +#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L + +#define SN_X9_62_c2onb239v5 "c2onb239v5" +#define NID_X9_62_c2onb239v5 698 +#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L + +#define SN_X9_62_c2pnb272w1 "c2pnb272w1" +#define NID_X9_62_c2pnb272w1 699 +#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L + +#define SN_X9_62_c2pnb304w1 "c2pnb304w1" +#define NID_X9_62_c2pnb304w1 700 +#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L + +#define SN_X9_62_c2tnb359v1 "c2tnb359v1" +#define NID_X9_62_c2tnb359v1 701 +#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L + +#define SN_X9_62_c2pnb368w1 "c2pnb368w1" +#define NID_X9_62_c2pnb368w1 702 +#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L + +#define SN_X9_62_c2tnb431r1 "c2tnb431r1" +#define NID_X9_62_c2tnb431r1 703 +#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L + +#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L + +#define SN_X9_62_prime192v1 "prime192v1" +#define NID_X9_62_prime192v1 409 +#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L + +#define SN_X9_62_prime192v2 "prime192v2" +#define NID_X9_62_prime192v2 410 +#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L + +#define SN_X9_62_prime192v3 "prime192v3" +#define NID_X9_62_prime192v3 411 +#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L + +#define SN_X9_62_prime239v1 "prime239v1" +#define NID_X9_62_prime239v1 412 +#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L + +#define SN_X9_62_prime239v2 "prime239v2" +#define NID_X9_62_prime239v2 413 +#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L + +#define SN_X9_62_prime239v3 "prime239v3" +#define NID_X9_62_prime239v3 414 +#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L + +#define SN_X9_62_prime256v1 "prime256v1" +#define NID_X9_62_prime256v1 415 +#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L + +#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L + +#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" +#define NID_ecdsa_with_SHA1 416 +#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L + +#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" +#define NID_ecdsa_with_Recommended 791 +#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L + +#define SN_ecdsa_with_Specified "ecdsa-with-Specified" +#define NID_ecdsa_with_Specified 792 +#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L + +#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" +#define NID_ecdsa_with_SHA224 793 +#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L + +#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" +#define NID_ecdsa_with_SHA256 794 +#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L + +#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" +#define NID_ecdsa_with_SHA384 795 +#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L + +#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" +#define NID_ecdsa_with_SHA512 796 +#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L + +#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L + +#define SN_secp112r1 "secp112r1" +#define NID_secp112r1 704 +#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L + +#define SN_secp112r2 "secp112r2" +#define NID_secp112r2 705 +#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L + +#define SN_secp128r1 "secp128r1" +#define NID_secp128r1 706 +#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L + +#define SN_secp128r2 "secp128r2" +#define NID_secp128r2 707 +#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L + +#define SN_secp160k1 "secp160k1" +#define NID_secp160k1 708 +#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L + +#define SN_secp160r1 "secp160r1" +#define NID_secp160r1 709 +#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L + +#define SN_secp160r2 "secp160r2" +#define NID_secp160r2 710 +#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L + +#define SN_secp192k1 "secp192k1" +#define NID_secp192k1 711 +#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L + +#define SN_secp224k1 "secp224k1" +#define NID_secp224k1 712 +#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L + +#define SN_secp224r1 "secp224r1" +#define NID_secp224r1 713 +#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L + +#define SN_secp256k1 "secp256k1" +#define NID_secp256k1 714 +#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L + +#define SN_secp384r1 "secp384r1" +#define NID_secp384r1 715 +#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L + +#define SN_secp521r1 "secp521r1" +#define NID_secp521r1 716 +#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L + +#define SN_sect113r1 "sect113r1" +#define NID_sect113r1 717 +#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L + +#define SN_sect113r2 "sect113r2" +#define NID_sect113r2 718 +#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L + +#define SN_sect131r1 "sect131r1" +#define NID_sect131r1 719 +#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L + +#define SN_sect131r2 "sect131r2" +#define NID_sect131r2 720 +#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L + +#define SN_sect163k1 "sect163k1" +#define NID_sect163k1 721 +#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L + +#define SN_sect163r1 "sect163r1" +#define NID_sect163r1 722 +#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L + +#define SN_sect163r2 "sect163r2" +#define NID_sect163r2 723 +#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L + +#define SN_sect193r1 "sect193r1" +#define NID_sect193r1 724 +#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L + +#define SN_sect193r2 "sect193r2" +#define NID_sect193r2 725 +#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L + +#define SN_sect233k1 "sect233k1" +#define NID_sect233k1 726 +#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L + +#define SN_sect233r1 "sect233r1" +#define NID_sect233r1 727 +#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L + +#define SN_sect239k1 "sect239k1" +#define NID_sect239k1 728 +#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L + +#define SN_sect283k1 "sect283k1" +#define NID_sect283k1 729 +#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L + +#define SN_sect283r1 "sect283r1" +#define NID_sect283r1 730 +#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L + +#define SN_sect409k1 "sect409k1" +#define NID_sect409k1 731 +#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L + +#define SN_sect409r1 "sect409r1" +#define NID_sect409r1 732 +#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L + +#define SN_sect571k1 "sect571k1" +#define NID_sect571k1 733 +#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L + +#define SN_sect571r1 "sect571r1" +#define NID_sect571r1 734 +#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L + +#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L + +#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" +#define NID_wap_wsg_idm_ecid_wtls1 735 +#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L + +#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" +#define NID_wap_wsg_idm_ecid_wtls3 736 +#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L + +#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" +#define NID_wap_wsg_idm_ecid_wtls4 737 +#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L + +#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" +#define NID_wap_wsg_idm_ecid_wtls5 738 +#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L + +#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" +#define NID_wap_wsg_idm_ecid_wtls6 739 +#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L + +#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" +#define NID_wap_wsg_idm_ecid_wtls7 740 +#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L + +#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" +#define NID_wap_wsg_idm_ecid_wtls8 741 +#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L + +#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" +#define NID_wap_wsg_idm_ecid_wtls9 742 +#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L + +#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" +#define NID_wap_wsg_idm_ecid_wtls10 743 +#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L + +#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" +#define NID_wap_wsg_idm_ecid_wtls11 744 +#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L + +#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" +#define NID_wap_wsg_idm_ecid_wtls12 745 +#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L + +#define SN_cast5_cbc "CAST5-CBC" +#define LN_cast5_cbc "cast5-cbc" +#define NID_cast5_cbc 108 +#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L + +#define SN_cast5_ecb "CAST5-ECB" +#define LN_cast5_ecb "cast5-ecb" +#define NID_cast5_ecb 109 + +#define SN_cast5_cfb64 "CAST5-CFB" +#define LN_cast5_cfb64 "cast5-cfb" +#define NID_cast5_cfb64 110 + +#define SN_cast5_ofb64 "CAST5-OFB" +#define LN_cast5_ofb64 "cast5-ofb" +#define NID_cast5_ofb64 111 + +#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" +#define NID_pbeWithMD5AndCast5_CBC 112 +#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L + +#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" +#define LN_id_PasswordBasedMAC "password based MAC" +#define NID_id_PasswordBasedMAC 782 +#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L + +#define SN_id_DHBasedMac "id-DHBasedMac" +#define LN_id_DHBasedMac "Diffie-Hellman based MAC" +#define NID_id_DHBasedMac 783 +#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L + +#define SN_rsadsi "rsadsi" +#define LN_rsadsi "RSA Data Security, Inc." +#define NID_rsadsi 1 +#define OBJ_rsadsi OBJ_ISO_US,113549L + +#define SN_pkcs "pkcs" +#define LN_pkcs "RSA Data Security, Inc. PKCS" +#define NID_pkcs 2 +#define OBJ_pkcs OBJ_rsadsi,1L + +#define SN_pkcs1 "pkcs1" +#define NID_pkcs1 186 +#define OBJ_pkcs1 OBJ_pkcs,1L + +#define LN_rsaEncryption "rsaEncryption" +#define NID_rsaEncryption 6 +#define OBJ_rsaEncryption OBJ_pkcs1,1L + +#define SN_md2WithRSAEncryption "RSA-MD2" +#define LN_md2WithRSAEncryption "md2WithRSAEncryption" +#define NID_md2WithRSAEncryption 7 +#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L + +#define SN_md4WithRSAEncryption "RSA-MD4" +#define LN_md4WithRSAEncryption "md4WithRSAEncryption" +#define NID_md4WithRSAEncryption 396 +#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L + +#define SN_md5WithRSAEncryption "RSA-MD5" +#define LN_md5WithRSAEncryption "md5WithRSAEncryption" +#define NID_md5WithRSAEncryption 8 +#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L + +#define SN_sha1WithRSAEncryption "RSA-SHA1" +#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" +#define NID_sha1WithRSAEncryption 65 +#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L + +#define SN_rsaesOaep "RSAES-OAEP" +#define LN_rsaesOaep "rsaesOaep" +#define NID_rsaesOaep 919 +#define OBJ_rsaesOaep OBJ_pkcs1,7L + +#define SN_mgf1 "MGF1" +#define LN_mgf1 "mgf1" +#define NID_mgf1 911 +#define OBJ_mgf1 OBJ_pkcs1,8L + +#define SN_pSpecified "PSPECIFIED" +#define LN_pSpecified "pSpecified" +#define NID_pSpecified 992 +#define OBJ_pSpecified OBJ_pkcs1,9L + +#define SN_rsassaPss "RSASSA-PSS" +#define LN_rsassaPss "rsassaPss" +#define NID_rsassaPss 912 +#define OBJ_rsassaPss OBJ_pkcs1,10L + +#define SN_sha256WithRSAEncryption "RSA-SHA256" +#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" +#define NID_sha256WithRSAEncryption 668 +#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L + +#define SN_sha384WithRSAEncryption "RSA-SHA384" +#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" +#define NID_sha384WithRSAEncryption 669 +#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L + +#define SN_sha512WithRSAEncryption "RSA-SHA512" +#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" +#define NID_sha512WithRSAEncryption 670 +#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L + +#define SN_sha224WithRSAEncryption "RSA-SHA224" +#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" +#define NID_sha224WithRSAEncryption 671 +#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L + +#define SN_sha512_224WithRSAEncryption "RSA-SHA512/224" +#define LN_sha512_224WithRSAEncryption "sha512-224WithRSAEncryption" +#define NID_sha512_224WithRSAEncryption 1025 +#define OBJ_sha512_224WithRSAEncryption OBJ_pkcs1,15L + +#define SN_sha512_256WithRSAEncryption "RSA-SHA512/256" +#define LN_sha512_256WithRSAEncryption "sha512-256WithRSAEncryption" +#define NID_sha512_256WithRSAEncryption 1026 +#define OBJ_sha512_256WithRSAEncryption OBJ_pkcs1,16L + +#define SN_pkcs3 "pkcs3" +#define NID_pkcs3 27 +#define OBJ_pkcs3 OBJ_pkcs,3L + +#define LN_dhKeyAgreement "dhKeyAgreement" +#define NID_dhKeyAgreement 28 +#define OBJ_dhKeyAgreement OBJ_pkcs3,1L + +#define SN_pkcs5 "pkcs5" +#define NID_pkcs5 187 +#define OBJ_pkcs5 OBJ_pkcs,5L + +#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" +#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" +#define NID_pbeWithMD2AndDES_CBC 9 +#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L + +#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" +#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" +#define NID_pbeWithMD5AndDES_CBC 10 +#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L + +#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" +#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" +#define NID_pbeWithMD2AndRC2_CBC 168 +#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L + +#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" +#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" +#define NID_pbeWithMD5AndRC2_CBC 169 +#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L + +#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" +#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" +#define NID_pbeWithSHA1AndDES_CBC 170 +#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L + +#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" +#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" +#define NID_pbeWithSHA1AndRC2_CBC 68 +#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L + +#define LN_id_pbkdf2 "PBKDF2" +#define NID_id_pbkdf2 69 +#define OBJ_id_pbkdf2 OBJ_pkcs5,12L + +#define LN_pbes2 "PBES2" +#define NID_pbes2 161 +#define OBJ_pbes2 OBJ_pkcs5,13L + +#define LN_pbmac1 "PBMAC1" +#define NID_pbmac1 162 +#define OBJ_pbmac1 OBJ_pkcs5,14L + +#define SN_pkcs7 "pkcs7" +#define NID_pkcs7 20 +#define OBJ_pkcs7 OBJ_pkcs,7L + +#define LN_pkcs7_data "pkcs7-data" +#define NID_pkcs7_data 21 +#define OBJ_pkcs7_data OBJ_pkcs7,1L + +#define LN_pkcs7_signed "pkcs7-signedData" +#define NID_pkcs7_signed 22 +#define OBJ_pkcs7_signed OBJ_pkcs7,2L + +#define LN_pkcs7_enveloped "pkcs7-envelopedData" +#define NID_pkcs7_enveloped 23 +#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L + +#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" +#define NID_pkcs7_signedAndEnveloped 24 +#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L + +#define LN_pkcs7_digest "pkcs7-digestData" +#define NID_pkcs7_digest 25 +#define OBJ_pkcs7_digest OBJ_pkcs7,5L + +#define LN_pkcs7_encrypted "pkcs7-encryptedData" +#define NID_pkcs7_encrypted 26 +#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L + +#define SN_pkcs9 "pkcs9" +#define NID_pkcs9 47 +#define OBJ_pkcs9 OBJ_pkcs,9L + +#define LN_pkcs9_emailAddress "emailAddress" +#define NID_pkcs9_emailAddress 48 +#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L + +#define LN_pkcs9_unstructuredName "unstructuredName" +#define NID_pkcs9_unstructuredName 49 +#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L + +#define LN_pkcs9_contentType "contentType" +#define NID_pkcs9_contentType 50 +#define OBJ_pkcs9_contentType OBJ_pkcs9,3L + +#define LN_pkcs9_messageDigest "messageDigest" +#define NID_pkcs9_messageDigest 51 +#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L + +#define LN_pkcs9_signingTime "signingTime" +#define NID_pkcs9_signingTime 52 +#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L + +#define LN_pkcs9_countersignature "countersignature" +#define NID_pkcs9_countersignature 53 +#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L + +#define LN_pkcs9_challengePassword "challengePassword" +#define NID_pkcs9_challengePassword 54 +#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L + +#define LN_pkcs9_unstructuredAddress "unstructuredAddress" +#define NID_pkcs9_unstructuredAddress 55 +#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L + +#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" +#define NID_pkcs9_extCertAttributes 56 +#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L + +#define SN_ext_req "extReq" +#define LN_ext_req "Extension Request" +#define NID_ext_req 172 +#define OBJ_ext_req OBJ_pkcs9,14L + +#define SN_SMIMECapabilities "SMIME-CAPS" +#define LN_SMIMECapabilities "S/MIME Capabilities" +#define NID_SMIMECapabilities 167 +#define OBJ_SMIMECapabilities OBJ_pkcs9,15L + +#define SN_SMIME "SMIME" +#define LN_SMIME "S/MIME" +#define NID_SMIME 188 +#define OBJ_SMIME OBJ_pkcs9,16L + +#define SN_id_smime_mod "id-smime-mod" +#define NID_id_smime_mod 189 +#define OBJ_id_smime_mod OBJ_SMIME,0L + +#define SN_id_smime_ct "id-smime-ct" +#define NID_id_smime_ct 190 +#define OBJ_id_smime_ct OBJ_SMIME,1L + +#define SN_id_smime_aa "id-smime-aa" +#define NID_id_smime_aa 191 +#define OBJ_id_smime_aa OBJ_SMIME,2L + +#define SN_id_smime_alg "id-smime-alg" +#define NID_id_smime_alg 192 +#define OBJ_id_smime_alg OBJ_SMIME,3L + +#define SN_id_smime_cd "id-smime-cd" +#define NID_id_smime_cd 193 +#define OBJ_id_smime_cd OBJ_SMIME,4L + +#define SN_id_smime_spq "id-smime-spq" +#define NID_id_smime_spq 194 +#define OBJ_id_smime_spq OBJ_SMIME,5L + +#define SN_id_smime_cti "id-smime-cti" +#define NID_id_smime_cti 195 +#define OBJ_id_smime_cti OBJ_SMIME,6L + +#define SN_id_smime_mod_cms "id-smime-mod-cms" +#define NID_id_smime_mod_cms 196 +#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L + +#define SN_id_smime_mod_ess "id-smime-mod-ess" +#define NID_id_smime_mod_ess 197 +#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L + +#define SN_id_smime_mod_oid "id-smime-mod-oid" +#define NID_id_smime_mod_oid 198 +#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L + +#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" +#define NID_id_smime_mod_msg_v3 199 +#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L + +#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" +#define NID_id_smime_mod_ets_eSignature_88 200 +#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L + +#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" +#define NID_id_smime_mod_ets_eSignature_97 201 +#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L + +#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" +#define NID_id_smime_mod_ets_eSigPolicy_88 202 +#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L + +#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" +#define NID_id_smime_mod_ets_eSigPolicy_97 203 +#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L + +#define SN_id_smime_ct_receipt "id-smime-ct-receipt" +#define NID_id_smime_ct_receipt 204 +#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L + +#define SN_id_smime_ct_authData "id-smime-ct-authData" +#define NID_id_smime_ct_authData 205 +#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L + +#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" +#define NID_id_smime_ct_publishCert 206 +#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L + +#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" +#define NID_id_smime_ct_TSTInfo 207 +#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L + +#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" +#define NID_id_smime_ct_TDTInfo 208 +#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L + +#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" +#define NID_id_smime_ct_contentInfo 209 +#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L + +#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" +#define NID_id_smime_ct_DVCSRequestData 210 +#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L + +#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" +#define NID_id_smime_ct_DVCSResponseData 211 +#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L + +#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" +#define NID_id_smime_ct_compressedData 786 +#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L + +#define SN_id_ct_routeOriginAuthz "id-ct-routeOriginAuthz" +#define NID_id_ct_routeOriginAuthz 1001 +#define OBJ_id_ct_routeOriginAuthz OBJ_id_smime_ct,24L + +#define SN_id_ct_rpkiManifest "id-ct-rpkiManifest" +#define NID_id_ct_rpkiManifest 1002 +#define OBJ_id_ct_rpkiManifest OBJ_id_smime_ct,26L + +#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" +#define NID_id_ct_asciiTextWithCRLF 787 +#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L + +#define SN_id_ct_rpkiGhostbusters "id-ct-rpkiGhostbusters" +#define NID_id_ct_rpkiGhostbusters 1003 +#define OBJ_id_ct_rpkiGhostbusters OBJ_id_smime_ct,35L + +#define SN_id_ct_resourceTaggedAttest "id-ct-resourceTaggedAttest" +#define NID_id_ct_resourceTaggedAttest 1004 +#define OBJ_id_ct_resourceTaggedAttest OBJ_id_smime_ct,36L + +#define SN_id_ct_geofeedCSVwithCRLF "id-ct-geofeedCSVwithCRLF" +#define NID_id_ct_geofeedCSVwithCRLF 1013 +#define OBJ_id_ct_geofeedCSVwithCRLF OBJ_id_smime_ct,47L + +#define SN_id_ct_signedChecklist "id-ct-signedChecklist" +#define NID_id_ct_signedChecklist 1014 +#define OBJ_id_ct_signedChecklist OBJ_id_smime_ct,48L + +#define SN_id_ct_ASPA "id-ct-ASPA" +#define NID_id_ct_ASPA 1017 +#define OBJ_id_ct_ASPA OBJ_id_smime_ct,49L + +#define SN_id_ct_signedTAL "id-ct-signedTAL" +#define NID_id_ct_signedTAL 1024 +#define OBJ_id_ct_signedTAL OBJ_id_smime_ct,50L + +#define SN_id_ct_rpkiSignedPrefixList "id-ct-rpkiSignedPrefixList" +#define NID_id_ct_rpkiSignedPrefixList 1054 +#define OBJ_id_ct_rpkiSignedPrefixList OBJ_id_smime_ct,51L + +#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" +#define NID_id_smime_aa_receiptRequest 212 +#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L + +#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" +#define NID_id_smime_aa_securityLabel 213 +#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L + +#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" +#define NID_id_smime_aa_mlExpandHistory 214 +#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L + +#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" +#define NID_id_smime_aa_contentHint 215 +#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L + +#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" +#define NID_id_smime_aa_msgSigDigest 216 +#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L + +#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" +#define NID_id_smime_aa_encapContentType 217 +#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L + +#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" +#define NID_id_smime_aa_contentIdentifier 218 +#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L + +#define SN_id_smime_aa_macValue "id-smime-aa-macValue" +#define NID_id_smime_aa_macValue 219 +#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L + +#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" +#define NID_id_smime_aa_equivalentLabels 220 +#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L + +#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" +#define NID_id_smime_aa_contentReference 221 +#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L + +#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" +#define NID_id_smime_aa_encrypKeyPref 222 +#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L + +#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" +#define NID_id_smime_aa_signingCertificate 223 +#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L + +#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" +#define NID_id_smime_aa_smimeEncryptCerts 224 +#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L + +#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" +#define NID_id_smime_aa_timeStampToken 225 +#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L + +#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" +#define NID_id_smime_aa_ets_sigPolicyId 226 +#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L + +#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" +#define NID_id_smime_aa_ets_commitmentType 227 +#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L + +#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" +#define NID_id_smime_aa_ets_signerLocation 228 +#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L + +#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" +#define NID_id_smime_aa_ets_signerAttr 229 +#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L + +#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" +#define NID_id_smime_aa_ets_otherSigCert 230 +#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L + +#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" +#define NID_id_smime_aa_ets_contentTimestamp 231 +#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L + +#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" +#define NID_id_smime_aa_ets_CertificateRefs 232 +#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L + +#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" +#define NID_id_smime_aa_ets_RevocationRefs 233 +#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L + +#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" +#define NID_id_smime_aa_ets_certValues 234 +#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L + +#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" +#define NID_id_smime_aa_ets_revocationValues 235 +#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L + +#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" +#define NID_id_smime_aa_ets_escTimeStamp 236 +#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L + +#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" +#define NID_id_smime_aa_ets_certCRLTimestamp 237 +#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L + +#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" +#define NID_id_smime_aa_ets_archiveTimeStamp 238 +#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L + +#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" +#define NID_id_smime_aa_signatureType 239 +#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L + +#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" +#define NID_id_smime_aa_dvcs_dvc 240 +#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L + +#define SN_id_smime_aa_signingCertificateV2 "id-smime-aa-signingCertificateV2" +#define NID_id_smime_aa_signingCertificateV2 1023 +#define OBJ_id_smime_aa_signingCertificateV2 OBJ_id_smime_aa,47L + +#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" +#define NID_id_smime_alg_ESDHwith3DES 241 +#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L + +#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" +#define NID_id_smime_alg_ESDHwithRC2 242 +#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L + +#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" +#define NID_id_smime_alg_3DESwrap 243 +#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L + +#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" +#define NID_id_smime_alg_RC2wrap 244 +#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L + +#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" +#define NID_id_smime_alg_ESDH 245 +#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L + +#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" +#define NID_id_smime_alg_CMS3DESwrap 246 +#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L + +#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" +#define NID_id_smime_alg_CMSRC2wrap 247 +#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L + +#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" +#define NID_id_alg_PWRI_KEK 893 +#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L + +#define SN_id_smime_cd_ldap "id-smime-cd-ldap" +#define NID_id_smime_cd_ldap 248 +#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L + +#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" +#define NID_id_smime_spq_ets_sqt_uri 249 +#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L + +#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" +#define NID_id_smime_spq_ets_sqt_unotice 250 +#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L + +#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" +#define NID_id_smime_cti_ets_proofOfOrigin 251 +#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L + +#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" +#define NID_id_smime_cti_ets_proofOfReceipt 252 +#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L + +#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" +#define NID_id_smime_cti_ets_proofOfDelivery 253 +#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L + +#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" +#define NID_id_smime_cti_ets_proofOfSender 254 +#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L + +#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" +#define NID_id_smime_cti_ets_proofOfApproval 255 +#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L + +#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" +#define NID_id_smime_cti_ets_proofOfCreation 256 +#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L + +#define LN_friendlyName "friendlyName" +#define NID_friendlyName 156 +#define OBJ_friendlyName OBJ_pkcs9,20L + +#define LN_localKeyID "localKeyID" +#define NID_localKeyID 157 +#define OBJ_localKeyID OBJ_pkcs9,21L + +#define SN_ms_csp_name "CSPName" +#define LN_ms_csp_name "Microsoft CSP Name" +#define NID_ms_csp_name 417 +#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L + +#define SN_LocalKeySet "LocalKeySet" +#define LN_LocalKeySet "Microsoft Local Key set" +#define NID_LocalKeySet 856 +#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L + +#define OBJ_certTypes OBJ_pkcs9,22L + +#define LN_x509Certificate "x509Certificate" +#define NID_x509Certificate 158 +#define OBJ_x509Certificate OBJ_certTypes,1L + +#define LN_sdsiCertificate "sdsiCertificate" +#define NID_sdsiCertificate 159 +#define OBJ_sdsiCertificate OBJ_certTypes,2L + +#define OBJ_crlTypes OBJ_pkcs9,23L + +#define LN_x509Crl "x509Crl" +#define NID_x509Crl 160 +#define OBJ_x509Crl OBJ_crlTypes,1L + +#define OBJ_pkcs12 OBJ_pkcs,12L + +#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L + +#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" +#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" +#define NID_pbe_WithSHA1And128BitRC4 144 +#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L + +#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" +#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" +#define NID_pbe_WithSHA1And40BitRC4 145 +#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L + +#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" +#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 +#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L + +#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" +#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" +#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 +#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L + +#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" +#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" +#define NID_pbe_WithSHA1And128BitRC2_CBC 148 +#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L + +#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" +#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" +#define NID_pbe_WithSHA1And40BitRC2_CBC 149 +#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L + +#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L + +#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L + +#define LN_keyBag "keyBag" +#define NID_keyBag 150 +#define OBJ_keyBag OBJ_pkcs12_BagIds,1L + +#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" +#define NID_pkcs8ShroudedKeyBag 151 +#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L + +#define LN_certBag "certBag" +#define NID_certBag 152 +#define OBJ_certBag OBJ_pkcs12_BagIds,3L + +#define LN_crlBag "crlBag" +#define NID_crlBag 153 +#define OBJ_crlBag OBJ_pkcs12_BagIds,4L + +#define LN_secretBag "secretBag" +#define NID_secretBag 154 +#define OBJ_secretBag OBJ_pkcs12_BagIds,5L + +#define LN_safeContentsBag "safeContentsBag" +#define NID_safeContentsBag 155 +#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L + +#define SN_md2 "MD2" +#define LN_md2 "md2" +#define NID_md2 3 +#define OBJ_md2 OBJ_rsadsi,2L,2L + +#define SN_md4 "MD4" +#define LN_md4 "md4" +#define NID_md4 257 +#define OBJ_md4 OBJ_rsadsi,2L,4L + +#define SN_md5 "MD5" +#define LN_md5 "md5" +#define NID_md5 4 +#define OBJ_md5 OBJ_rsadsi,2L,5L + +#define SN_md5_sha1 "MD5-SHA1" +#define LN_md5_sha1 "md5-sha1" +#define NID_md5_sha1 114 + +#define LN_hmacWithMD5 "hmacWithMD5" +#define NID_hmacWithMD5 797 +#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L + +#define LN_hmacWithSHA1 "hmacWithSHA1" +#define NID_hmacWithSHA1 163 +#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L + +#define LN_hmacWithSHA224 "hmacWithSHA224" +#define NID_hmacWithSHA224 798 +#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L + +#define LN_hmacWithSHA256 "hmacWithSHA256" +#define NID_hmacWithSHA256 799 +#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L + +#define LN_hmacWithSHA384 "hmacWithSHA384" +#define NID_hmacWithSHA384 800 +#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L + +#define LN_hmacWithSHA512 "hmacWithSHA512" +#define NID_hmacWithSHA512 801 +#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L + +#define LN_hmacWithSHA512_224 "hmacWithSHA512-224" +#define NID_hmacWithSHA512_224 1027 +#define OBJ_hmacWithSHA512_224 OBJ_rsadsi,2L,12L + +#define LN_hmacWithSHA512_256 "hmacWithSHA512-256" +#define NID_hmacWithSHA512_256 1028 +#define OBJ_hmacWithSHA512_256 OBJ_rsadsi,2L,13L + +#define SN_rc2_cbc "RC2-CBC" +#define LN_rc2_cbc "rc2-cbc" +#define NID_rc2_cbc 37 +#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L + +#define SN_rc2_ecb "RC2-ECB" +#define LN_rc2_ecb "rc2-ecb" +#define NID_rc2_ecb 38 + +#define SN_rc2_cfb64 "RC2-CFB" +#define LN_rc2_cfb64 "rc2-cfb" +#define NID_rc2_cfb64 39 + +#define SN_rc2_ofb64 "RC2-OFB" +#define LN_rc2_ofb64 "rc2-ofb" +#define NID_rc2_ofb64 40 + +#define SN_rc2_40_cbc "RC2-40-CBC" +#define LN_rc2_40_cbc "rc2-40-cbc" +#define NID_rc2_40_cbc 98 + +#define SN_rc2_64_cbc "RC2-64-CBC" +#define LN_rc2_64_cbc "rc2-64-cbc" +#define NID_rc2_64_cbc 166 + +#define SN_rc4 "RC4" +#define LN_rc4 "rc4" +#define NID_rc4 5 +#define OBJ_rc4 OBJ_rsadsi,3L,4L + +#define SN_rc4_40 "RC4-40" +#define LN_rc4_40 "rc4-40" +#define NID_rc4_40 97 + +#define SN_des_ede3_cbc "DES-EDE3-CBC" +#define LN_des_ede3_cbc "des-ede3-cbc" +#define NID_des_ede3_cbc 44 +#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L + +#define SN_rc5_cbc "RC5-CBC" +#define LN_rc5_cbc "rc5-cbc" +#define NID_rc5_cbc 120 +#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L + +#define SN_rc5_ecb "RC5-ECB" +#define LN_rc5_ecb "rc5-ecb" +#define NID_rc5_ecb 121 + +#define SN_rc5_cfb64 "RC5-CFB" +#define LN_rc5_cfb64 "rc5-cfb" +#define NID_rc5_cfb64 122 + +#define SN_rc5_ofb64 "RC5-OFB" +#define LN_rc5_ofb64 "rc5-ofb" +#define NID_rc5_ofb64 123 + +#define SN_ms_ext_req "msExtReq" +#define LN_ms_ext_req "Microsoft Extension Request" +#define NID_ms_ext_req 171 +#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L + +#define SN_ms_code_ind "msCodeInd" +#define LN_ms_code_ind "Microsoft Individual Code Signing" +#define NID_ms_code_ind 134 +#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L + +#define SN_ms_code_com "msCodeCom" +#define LN_ms_code_com "Microsoft Commercial Code Signing" +#define NID_ms_code_com 135 +#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L + +#define SN_ms_ctl_sign "msCTLSign" +#define LN_ms_ctl_sign "Microsoft Trust List Signing" +#define NID_ms_ctl_sign 136 +#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L + +#define SN_ms_sgc "msSGC" +#define LN_ms_sgc "Microsoft Server Gated Crypto" +#define NID_ms_sgc 137 +#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L + +#define SN_ms_efs "msEFS" +#define LN_ms_efs "Microsoft Encrypted File System" +#define NID_ms_efs 138 +#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L + +#define SN_ms_smartcard_login "msSmartcardLogin" +#define LN_ms_smartcard_login "Microsoft Smartcardlogin" +#define NID_ms_smartcard_login 648 +#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L + +#define SN_ms_upn "msUPN" +#define LN_ms_upn "Microsoft Universal Principal Name" +#define NID_ms_upn 649 +#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L + +#define SN_idea_cbc "IDEA-CBC" +#define LN_idea_cbc "idea-cbc" +#define NID_idea_cbc 34 +#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L + +#define SN_idea_ecb "IDEA-ECB" +#define LN_idea_ecb "idea-ecb" +#define NID_idea_ecb 36 + +#define SN_idea_cfb64 "IDEA-CFB" +#define LN_idea_cfb64 "idea-cfb" +#define NID_idea_cfb64 35 + +#define SN_idea_ofb64 "IDEA-OFB" +#define LN_idea_ofb64 "idea-ofb" +#define NID_idea_ofb64 46 + +#define SN_bf_cbc "BF-CBC" +#define LN_bf_cbc "bf-cbc" +#define NID_bf_cbc 91 +#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L + +#define SN_bf_ecb "BF-ECB" +#define LN_bf_ecb "bf-ecb" +#define NID_bf_ecb 92 + +#define SN_bf_cfb64 "BF-CFB" +#define LN_bf_cfb64 "bf-cfb" +#define NID_bf_cfb64 93 + +#define SN_bf_ofb64 "BF-OFB" +#define LN_bf_ofb64 "bf-ofb" +#define NID_bf_ofb64 94 + +#define SN_id_pkix "PKIX" +#define NID_id_pkix 127 +#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L + +#define SN_id_pkix_mod "id-pkix-mod" +#define NID_id_pkix_mod 258 +#define OBJ_id_pkix_mod OBJ_id_pkix,0L + +#define SN_id_pe "id-pe" +#define NID_id_pe 175 +#define OBJ_id_pe OBJ_id_pkix,1L + +#define SN_id_qt "id-qt" +#define NID_id_qt 259 +#define OBJ_id_qt OBJ_id_pkix,2L + +#define SN_id_kp "id-kp" +#define NID_id_kp 128 +#define OBJ_id_kp OBJ_id_pkix,3L + +#define SN_id_it "id-it" +#define NID_id_it 260 +#define OBJ_id_it OBJ_id_pkix,4L + +#define SN_id_pkip "id-pkip" +#define NID_id_pkip 261 +#define OBJ_id_pkip OBJ_id_pkix,5L + +#define SN_id_alg "id-alg" +#define NID_id_alg 262 +#define OBJ_id_alg OBJ_id_pkix,6L + +#define SN_id_cmc "id-cmc" +#define NID_id_cmc 263 +#define OBJ_id_cmc OBJ_id_pkix,7L + +#define SN_id_on "id-on" +#define NID_id_on 264 +#define OBJ_id_on OBJ_id_pkix,8L + +#define SN_id_pda "id-pda" +#define NID_id_pda 265 +#define OBJ_id_pda OBJ_id_pkix,9L + +#define SN_id_aca "id-aca" +#define NID_id_aca 266 +#define OBJ_id_aca OBJ_id_pkix,10L + +#define SN_id_qcs "id-qcs" +#define NID_id_qcs 267 +#define OBJ_id_qcs OBJ_id_pkix,11L + +#define SN_id_cct "id-cct" +#define NID_id_cct 268 +#define OBJ_id_cct OBJ_id_pkix,12L + +#define SN_id_cp "id-cp" +#define NID_id_cp 1005 +#define OBJ_id_cp OBJ_id_pkix,14L + +#define SN_id_ppl "id-ppl" +#define NID_id_ppl 662 +#define OBJ_id_ppl OBJ_id_pkix,21L + +#define SN_id_ad "id-ad" +#define NID_id_ad 176 +#define OBJ_id_ad OBJ_id_pkix,48L + +#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" +#define NID_id_pkix1_explicit_88 269 +#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L + +#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" +#define NID_id_pkix1_implicit_88 270 +#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L + +#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" +#define NID_id_pkix1_explicit_93 271 +#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L + +#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" +#define NID_id_pkix1_implicit_93 272 +#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L + +#define SN_id_mod_crmf "id-mod-crmf" +#define NID_id_mod_crmf 273 +#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L + +#define SN_id_mod_cmc "id-mod-cmc" +#define NID_id_mod_cmc 274 +#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L + +#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" +#define NID_id_mod_kea_profile_88 275 +#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L + +#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" +#define NID_id_mod_kea_profile_93 276 +#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L + +#define SN_id_mod_cmp "id-mod-cmp" +#define NID_id_mod_cmp 277 +#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L + +#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" +#define NID_id_mod_qualified_cert_88 278 +#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L + +#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" +#define NID_id_mod_qualified_cert_93 279 +#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L + +#define SN_id_mod_attribute_cert "id-mod-attribute-cert" +#define NID_id_mod_attribute_cert 280 +#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L + +#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" +#define NID_id_mod_timestamp_protocol 281 +#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L + +#define SN_id_mod_ocsp "id-mod-ocsp" +#define NID_id_mod_ocsp 282 +#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L + +#define SN_id_mod_dvcs "id-mod-dvcs" +#define NID_id_mod_dvcs 283 +#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L + +#define SN_id_mod_cmp2000 "id-mod-cmp2000" +#define NID_id_mod_cmp2000 284 +#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L + +#define SN_info_access "authorityInfoAccess" +#define LN_info_access "Authority Information Access" +#define NID_info_access 177 +#define OBJ_info_access OBJ_id_pe,1L + +#define SN_biometricInfo "biometricInfo" +#define LN_biometricInfo "Biometric Info" +#define NID_biometricInfo 285 +#define OBJ_biometricInfo OBJ_id_pe,2L + +#define SN_qcStatements "qcStatements" +#define NID_qcStatements 286 +#define OBJ_qcStatements OBJ_id_pe,3L + +#define SN_ac_auditEntity "ac-auditEntity" +#define NID_ac_auditEntity 287 +#define OBJ_ac_auditEntity OBJ_id_pe,4L + +#define SN_ac_targeting "ac-targeting" +#define NID_ac_targeting 288 +#define OBJ_ac_targeting OBJ_id_pe,5L + +#define SN_aaControls "aaControls" +#define NID_aaControls 289 +#define OBJ_aaControls OBJ_id_pe,6L + +#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" +#define NID_sbgp_ipAddrBlock 290 +#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L + +#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" +#define NID_sbgp_autonomousSysNum 291 +#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L + +#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" +#define NID_sbgp_routerIdentifier 292 +#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L + +#define SN_ac_proxying "ac-proxying" +#define NID_ac_proxying 397 +#define OBJ_ac_proxying OBJ_id_pe,10L + +#define SN_sinfo_access "subjectInfoAccess" +#define LN_sinfo_access "Subject Information Access" +#define NID_sinfo_access 398 +#define OBJ_sinfo_access OBJ_id_pe,11L + +#define SN_proxyCertInfo "proxyCertInfo" +#define LN_proxyCertInfo "Proxy Certificate Information" +#define NID_proxyCertInfo 663 +#define OBJ_proxyCertInfo OBJ_id_pe,14L + +#define SN_tlsfeature "tlsfeature" +#define LN_tlsfeature "TLS Feature" +#define NID_tlsfeature 1016 +#define OBJ_tlsfeature OBJ_id_pe,24L + +#define SN_sbgp_ipAddrBlockv2 "sbgp-ipAddrBlockv2" +#define NID_sbgp_ipAddrBlockv2 1006 +#define OBJ_sbgp_ipAddrBlockv2 OBJ_id_pe,28L + +#define SN_sbgp_autonomousSysNumv2 "sbgp-autonomousSysNumv2" +#define NID_sbgp_autonomousSysNumv2 1007 +#define OBJ_sbgp_autonomousSysNumv2 OBJ_id_pe,29L + +#define SN_acmeIdentifier "acmeIdentifier" +#define LN_acmeIdentifier "ACME Identifier" +#define NID_acmeIdentifier 1053 +#define OBJ_acmeIdentifier OBJ_id_pe,31L + +#define SN_id_qt_cps "id-qt-cps" +#define LN_id_qt_cps "Policy Qualifier CPS" +#define NID_id_qt_cps 164 +#define OBJ_id_qt_cps OBJ_id_qt,1L + +#define SN_id_qt_unotice "id-qt-unotice" +#define LN_id_qt_unotice "Policy Qualifier User Notice" +#define NID_id_qt_unotice 165 +#define OBJ_id_qt_unotice OBJ_id_qt,2L + +#define SN_textNotice "textNotice" +#define NID_textNotice 293 +#define OBJ_textNotice OBJ_id_qt,3L + +#define SN_server_auth "serverAuth" +#define LN_server_auth "TLS Web Server Authentication" +#define NID_server_auth 129 +#define OBJ_server_auth OBJ_id_kp,1L + +#define SN_client_auth "clientAuth" +#define LN_client_auth "TLS Web Client Authentication" +#define NID_client_auth 130 +#define OBJ_client_auth OBJ_id_kp,2L + +#define SN_code_sign "codeSigning" +#define LN_code_sign "Code Signing" +#define NID_code_sign 131 +#define OBJ_code_sign OBJ_id_kp,3L + +#define SN_email_protect "emailProtection" +#define LN_email_protect "E-mail Protection" +#define NID_email_protect 132 +#define OBJ_email_protect OBJ_id_kp,4L + +#define SN_ipsecEndSystem "ipsecEndSystem" +#define LN_ipsecEndSystem "IPSec End System" +#define NID_ipsecEndSystem 294 +#define OBJ_ipsecEndSystem OBJ_id_kp,5L + +#define SN_ipsecTunnel "ipsecTunnel" +#define LN_ipsecTunnel "IPSec Tunnel" +#define NID_ipsecTunnel 295 +#define OBJ_ipsecTunnel OBJ_id_kp,6L + +#define SN_ipsecUser "ipsecUser" +#define LN_ipsecUser "IPSec User" +#define NID_ipsecUser 296 +#define OBJ_ipsecUser OBJ_id_kp,7L + +#define SN_time_stamp "timeStamping" +#define LN_time_stamp "Time Stamping" +#define NID_time_stamp 133 +#define OBJ_time_stamp OBJ_id_kp,8L + +#define SN_OCSP_sign "OCSPSigning" +#define LN_OCSP_sign "OCSP Signing" +#define NID_OCSP_sign 180 +#define OBJ_OCSP_sign OBJ_id_kp,9L + +#define SN_dvcs "DVCS" +#define LN_dvcs "dvcs" +#define NID_dvcs 297 +#define OBJ_dvcs OBJ_id_kp,10L + +#define SN_id_kp_bgpsec_router "id-kp-bgpsec-router" +#define LN_id_kp_bgpsec_router "BGPsec Router" +#define NID_id_kp_bgpsec_router 1015 +#define OBJ_id_kp_bgpsec_router OBJ_id_kp,30L + +#define SN_id_it_caProtEncCert "id-it-caProtEncCert" +#define NID_id_it_caProtEncCert 298 +#define OBJ_id_it_caProtEncCert OBJ_id_it,1L + +#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" +#define NID_id_it_signKeyPairTypes 299 +#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L + +#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" +#define NID_id_it_encKeyPairTypes 300 +#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L + +#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" +#define NID_id_it_preferredSymmAlg 301 +#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L + +#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" +#define NID_id_it_caKeyUpdateInfo 302 +#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L + +#define SN_id_it_currentCRL "id-it-currentCRL" +#define NID_id_it_currentCRL 303 +#define OBJ_id_it_currentCRL OBJ_id_it,6L + +#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" +#define NID_id_it_unsupportedOIDs 304 +#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L + +#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" +#define NID_id_it_subscriptionRequest 305 +#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L + +#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" +#define NID_id_it_subscriptionResponse 306 +#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L + +#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" +#define NID_id_it_keyPairParamReq 307 +#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L + +#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" +#define NID_id_it_keyPairParamRep 308 +#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L + +#define SN_id_it_revPassphrase "id-it-revPassphrase" +#define NID_id_it_revPassphrase 309 +#define OBJ_id_it_revPassphrase OBJ_id_it,12L + +#define SN_id_it_implicitConfirm "id-it-implicitConfirm" +#define NID_id_it_implicitConfirm 310 +#define OBJ_id_it_implicitConfirm OBJ_id_it,13L + +#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" +#define NID_id_it_confirmWaitTime 311 +#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L + +#define SN_id_it_origPKIMessage "id-it-origPKIMessage" +#define NID_id_it_origPKIMessage 312 +#define OBJ_id_it_origPKIMessage OBJ_id_it,15L + +#define SN_id_it_suppLangTags "id-it-suppLangTags" +#define NID_id_it_suppLangTags 784 +#define OBJ_id_it_suppLangTags OBJ_id_it,16L + +#define SN_id_regCtrl "id-regCtrl" +#define NID_id_regCtrl 313 +#define OBJ_id_regCtrl OBJ_id_pkip,1L + +#define SN_id_regInfo "id-regInfo" +#define NID_id_regInfo 314 +#define OBJ_id_regInfo OBJ_id_pkip,2L + +#define SN_id_regCtrl_regToken "id-regCtrl-regToken" +#define NID_id_regCtrl_regToken 315 +#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L + +#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" +#define NID_id_regCtrl_authenticator 316 +#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L + +#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" +#define NID_id_regCtrl_pkiPublicationInfo 317 +#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L + +#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" +#define NID_id_regCtrl_pkiArchiveOptions 318 +#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L + +#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" +#define NID_id_regCtrl_oldCertID 319 +#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L + +#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" +#define NID_id_regCtrl_protocolEncrKey 320 +#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L + +#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" +#define NID_id_regInfo_utf8Pairs 321 +#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L + +#define SN_id_regInfo_certReq "id-regInfo-certReq" +#define NID_id_regInfo_certReq 322 +#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L + +#define SN_id_alg_des40 "id-alg-des40" +#define NID_id_alg_des40 323 +#define OBJ_id_alg_des40 OBJ_id_alg,1L + +#define SN_id_alg_noSignature "id-alg-noSignature" +#define NID_id_alg_noSignature 324 +#define OBJ_id_alg_noSignature OBJ_id_alg,2L + +#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" +#define NID_id_alg_dh_sig_hmac_sha1 325 +#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L + +#define SN_id_alg_dh_pop "id-alg-dh-pop" +#define NID_id_alg_dh_pop 326 +#define OBJ_id_alg_dh_pop OBJ_id_alg,4L + +#define SN_id_cmc_statusInfo "id-cmc-statusInfo" +#define NID_id_cmc_statusInfo 327 +#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L + +#define SN_id_cmc_identification "id-cmc-identification" +#define NID_id_cmc_identification 328 +#define OBJ_id_cmc_identification OBJ_id_cmc,2L + +#define SN_id_cmc_identityProof "id-cmc-identityProof" +#define NID_id_cmc_identityProof 329 +#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L + +#define SN_id_cmc_dataReturn "id-cmc-dataReturn" +#define NID_id_cmc_dataReturn 330 +#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L + +#define SN_id_cmc_transactionId "id-cmc-transactionId" +#define NID_id_cmc_transactionId 331 +#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L + +#define SN_id_cmc_senderNonce "id-cmc-senderNonce" +#define NID_id_cmc_senderNonce 332 +#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L + +#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" +#define NID_id_cmc_recipientNonce 333 +#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L + +#define SN_id_cmc_addExtensions "id-cmc-addExtensions" +#define NID_id_cmc_addExtensions 334 +#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L + +#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" +#define NID_id_cmc_encryptedPOP 335 +#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L + +#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" +#define NID_id_cmc_decryptedPOP 336 +#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L + +#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" +#define NID_id_cmc_lraPOPWitness 337 +#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L + +#define SN_id_cmc_getCert "id-cmc-getCert" +#define NID_id_cmc_getCert 338 +#define OBJ_id_cmc_getCert OBJ_id_cmc,15L + +#define SN_id_cmc_getCRL "id-cmc-getCRL" +#define NID_id_cmc_getCRL 339 +#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L + +#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" +#define NID_id_cmc_revokeRequest 340 +#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L + +#define SN_id_cmc_regInfo "id-cmc-regInfo" +#define NID_id_cmc_regInfo 341 +#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L + +#define SN_id_cmc_responseInfo "id-cmc-responseInfo" +#define NID_id_cmc_responseInfo 342 +#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L + +#define SN_id_cmc_queryPending "id-cmc-queryPending" +#define NID_id_cmc_queryPending 343 +#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L + +#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" +#define NID_id_cmc_popLinkRandom 344 +#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L + +#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" +#define NID_id_cmc_popLinkWitness 345 +#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L + +#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" +#define NID_id_cmc_confirmCertAcceptance 346 +#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L + +#define SN_id_on_personalData "id-on-personalData" +#define NID_id_on_personalData 347 +#define OBJ_id_on_personalData OBJ_id_on,1L + +#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" +#define LN_id_on_permanentIdentifier "Permanent Identifier" +#define NID_id_on_permanentIdentifier 858 +#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L + +#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" +#define NID_id_pda_dateOfBirth 348 +#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L + +#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" +#define NID_id_pda_placeOfBirth 349 +#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L + +#define SN_id_pda_gender "id-pda-gender" +#define NID_id_pda_gender 351 +#define OBJ_id_pda_gender OBJ_id_pda,3L + +#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" +#define NID_id_pda_countryOfCitizenship 352 +#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L + +#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" +#define NID_id_pda_countryOfResidence 353 +#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L + +#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" +#define NID_id_aca_authenticationInfo 354 +#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L + +#define SN_id_aca_accessIdentity "id-aca-accessIdentity" +#define NID_id_aca_accessIdentity 355 +#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L + +#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" +#define NID_id_aca_chargingIdentity 356 +#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L + +#define SN_id_aca_group "id-aca-group" +#define NID_id_aca_group 357 +#define OBJ_id_aca_group OBJ_id_aca,4L + +#define SN_id_aca_role "id-aca-role" +#define NID_id_aca_role 358 +#define OBJ_id_aca_role OBJ_id_aca,5L + +#define SN_id_aca_encAttrs "id-aca-encAttrs" +#define NID_id_aca_encAttrs 399 +#define OBJ_id_aca_encAttrs OBJ_id_aca,6L + +#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" +#define NID_id_qcs_pkixQCSyntax_v1 359 +#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L + +#define SN_id_cct_crs "id-cct-crs" +#define NID_id_cct_crs 360 +#define OBJ_id_cct_crs OBJ_id_cct,1L + +#define SN_id_cct_PKIData "id-cct-PKIData" +#define NID_id_cct_PKIData 361 +#define OBJ_id_cct_PKIData OBJ_id_cct,2L + +#define SN_id_cct_PKIResponse "id-cct-PKIResponse" +#define NID_id_cct_PKIResponse 362 +#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L + +#define SN_ipAddr_asNumber "ipAddr-asNumber" +#define NID_ipAddr_asNumber 1008 +#define OBJ_ipAddr_asNumber OBJ_id_cp,2L + +#define SN_ipAddr_asNumberv2 "ipAddr-asNumberv2" +#define NID_ipAddr_asNumberv2 1009 +#define OBJ_ipAddr_asNumberv2 OBJ_id_cp,3L + +#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" +#define LN_id_ppl_anyLanguage "Any language" +#define NID_id_ppl_anyLanguage 664 +#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L + +#define SN_id_ppl_inheritAll "id-ppl-inheritAll" +#define LN_id_ppl_inheritAll "Inherit all" +#define NID_id_ppl_inheritAll 665 +#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L + +#define SN_Independent "id-ppl-independent" +#define LN_Independent "Independent" +#define NID_Independent 667 +#define OBJ_Independent OBJ_id_ppl,2L + +#define SN_ad_OCSP "OCSP" +#define LN_ad_OCSP "OCSP" +#define NID_ad_OCSP 178 +#define OBJ_ad_OCSP OBJ_id_ad,1L + +#define SN_ad_ca_issuers "caIssuers" +#define LN_ad_ca_issuers "CA Issuers" +#define NID_ad_ca_issuers 179 +#define OBJ_ad_ca_issuers OBJ_id_ad,2L + +#define SN_ad_timeStamping "ad_timestamping" +#define LN_ad_timeStamping "AD Time Stamping" +#define NID_ad_timeStamping 363 +#define OBJ_ad_timeStamping OBJ_id_ad,3L + +#define SN_ad_dvcs "AD_DVCS" +#define LN_ad_dvcs "ad dvcs" +#define NID_ad_dvcs 364 +#define OBJ_ad_dvcs OBJ_id_ad,4L + +#define SN_caRepository "caRepository" +#define LN_caRepository "CA Repository" +#define NID_caRepository 785 +#define OBJ_caRepository OBJ_id_ad,5L + +#define SN_rpkiManifest "rpkiManifest" +#define LN_rpkiManifest "RPKI Manifest" +#define NID_rpkiManifest 1010 +#define OBJ_rpkiManifest OBJ_id_ad,10L + +#define SN_signedObject "signedObject" +#define LN_signedObject "Signed Object" +#define NID_signedObject 1011 +#define OBJ_signedObject OBJ_id_ad,11L + +#define SN_rpkiNotify "rpkiNotify" +#define LN_rpkiNotify "RPKI Notify" +#define NID_rpkiNotify 1012 +#define OBJ_rpkiNotify OBJ_id_ad,13L + +#define OBJ_id_pkix_OCSP OBJ_ad_OCSP + +#define SN_id_pkix_OCSP_basic "basicOCSPResponse" +#define LN_id_pkix_OCSP_basic "Basic OCSP Response" +#define NID_id_pkix_OCSP_basic 365 +#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L + +#define SN_id_pkix_OCSP_Nonce "Nonce" +#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" +#define NID_id_pkix_OCSP_Nonce 366 +#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L + +#define SN_id_pkix_OCSP_CrlID "CrlID" +#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" +#define NID_id_pkix_OCSP_CrlID 367 +#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L + +#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" +#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" +#define NID_id_pkix_OCSP_acceptableResponses 368 +#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L + +#define SN_id_pkix_OCSP_noCheck "noCheck" +#define LN_id_pkix_OCSP_noCheck "OCSP No Check" +#define NID_id_pkix_OCSP_noCheck 369 +#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L + +#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" +#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" +#define NID_id_pkix_OCSP_archiveCutoff 370 +#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L + +#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" +#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" +#define NID_id_pkix_OCSP_serviceLocator 371 +#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L + +#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" +#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" +#define NID_id_pkix_OCSP_extendedStatus 372 +#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L + +#define SN_id_pkix_OCSP_valid "valid" +#define NID_id_pkix_OCSP_valid 373 +#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L + +#define SN_id_pkix_OCSP_path "path" +#define NID_id_pkix_OCSP_path 374 +#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L + +#define SN_id_pkix_OCSP_trustRoot "trustRoot" +#define LN_id_pkix_OCSP_trustRoot "Trust Root" +#define NID_id_pkix_OCSP_trustRoot 375 +#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L + +#define SN_algorithm "algorithm" +#define LN_algorithm "algorithm" +#define NID_algorithm 376 +#define OBJ_algorithm 1L,3L,14L,3L,2L + +#define SN_md5WithRSA "RSA-NP-MD5" +#define LN_md5WithRSA "md5WithRSA" +#define NID_md5WithRSA 104 +#define OBJ_md5WithRSA OBJ_algorithm,3L + +#define SN_des_ecb "DES-ECB" +#define LN_des_ecb "des-ecb" +#define NID_des_ecb 29 +#define OBJ_des_ecb OBJ_algorithm,6L + +#define SN_des_cbc "DES-CBC" +#define LN_des_cbc "des-cbc" +#define NID_des_cbc 31 +#define OBJ_des_cbc OBJ_algorithm,7L + +#define SN_des_ofb64 "DES-OFB" +#define LN_des_ofb64 "des-ofb" +#define NID_des_ofb64 45 +#define OBJ_des_ofb64 OBJ_algorithm,8L + +#define SN_des_cfb64 "DES-CFB" +#define LN_des_cfb64 "des-cfb" +#define NID_des_cfb64 30 +#define OBJ_des_cfb64 OBJ_algorithm,9L + +#define SN_rsaSignature "rsaSignature" +#define NID_rsaSignature 377 +#define OBJ_rsaSignature OBJ_algorithm,11L + +#define SN_dsa_2 "DSA-old" +#define LN_dsa_2 "dsaEncryption-old" +#define NID_dsa_2 67 +#define OBJ_dsa_2 OBJ_algorithm,12L + +#define SN_dsaWithSHA "DSA-SHA" +#define LN_dsaWithSHA "dsaWithSHA" +#define NID_dsaWithSHA 66 +#define OBJ_dsaWithSHA OBJ_algorithm,13L + +#define SN_shaWithRSAEncryption "RSA-SHA" +#define LN_shaWithRSAEncryption "shaWithRSAEncryption" +#define NID_shaWithRSAEncryption 42 +#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L + +#define SN_des_ede_ecb "DES-EDE" +#define LN_des_ede_ecb "des-ede" +#define NID_des_ede_ecb 32 +#define OBJ_des_ede_ecb OBJ_algorithm,17L + +#define SN_des_ede3_ecb "DES-EDE3" +#define LN_des_ede3_ecb "des-ede3" +#define NID_des_ede3_ecb 33 + +#define SN_des_ede_cbc "DES-EDE-CBC" +#define LN_des_ede_cbc "des-ede-cbc" +#define NID_des_ede_cbc 43 + +#define SN_des_ede_cfb64 "DES-EDE-CFB" +#define LN_des_ede_cfb64 "des-ede-cfb" +#define NID_des_ede_cfb64 60 + +#define SN_des_ede3_cfb64 "DES-EDE3-CFB" +#define LN_des_ede3_cfb64 "des-ede3-cfb" +#define NID_des_ede3_cfb64 61 + +#define SN_des_ede_ofb64 "DES-EDE-OFB" +#define LN_des_ede_ofb64 "des-ede-ofb" +#define NID_des_ede_ofb64 62 + +#define SN_des_ede3_ofb64 "DES-EDE3-OFB" +#define LN_des_ede3_ofb64 "des-ede3-ofb" +#define NID_des_ede3_ofb64 63 + +#define SN_desx_cbc "DESX-CBC" +#define LN_desx_cbc "desx-cbc" +#define NID_desx_cbc 80 + +#define SN_sha "SHA" +#define LN_sha "sha" +#define NID_sha 41 +#define OBJ_sha OBJ_algorithm,18L + +#define SN_sha1 "SHA1" +#define LN_sha1 "sha1" +#define NID_sha1 64 +#define OBJ_sha1 OBJ_algorithm,26L + +#define SN_dsaWithSHA1_2 "DSA-SHA1-old" +#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" +#define NID_dsaWithSHA1_2 70 +#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L + +#define SN_sha1WithRSA "RSA-SHA1-2" +#define LN_sha1WithRSA "sha1WithRSA" +#define NID_sha1WithRSA 115 +#define OBJ_sha1WithRSA OBJ_algorithm,29L + +#define SN_ripemd160 "RIPEMD160" +#define LN_ripemd160 "ripemd160" +#define NID_ripemd160 117 +#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L + +#define SN_ripemd160WithRSA "RSA-RIPEMD160" +#define LN_ripemd160WithRSA "ripemd160WithRSA" +#define NID_ripemd160WithRSA 119 +#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L + +#define SN_sxnet "SXNetID" +#define LN_sxnet "Strong Extranet ID" +#define NID_sxnet 143 +#define OBJ_sxnet 1L,3L,101L,1L,4L,1L + +#define SN_X500 "X500" +#define LN_X500 "directory services (X.500)" +#define NID_X500 11 +#define OBJ_X500 2L,5L + +#define SN_X509 "X509" +#define NID_X509 12 +#define OBJ_X509 OBJ_X500,4L + +#define SN_commonName "CN" +#define LN_commonName "commonName" +#define NID_commonName 13 +#define OBJ_commonName OBJ_X509,3L + +#define SN_surname "SN" +#define LN_surname "surname" +#define NID_surname 100 +#define OBJ_surname OBJ_X509,4L + +#define LN_serialNumber "serialNumber" +#define NID_serialNumber 105 +#define OBJ_serialNumber OBJ_X509,5L + +#define SN_countryName "C" +#define LN_countryName "countryName" +#define NID_countryName 14 +#define OBJ_countryName OBJ_X509,6L + +#define SN_localityName "L" +#define LN_localityName "localityName" +#define NID_localityName 15 +#define OBJ_localityName OBJ_X509,7L + +#define SN_stateOrProvinceName "ST" +#define LN_stateOrProvinceName "stateOrProvinceName" +#define NID_stateOrProvinceName 16 +#define OBJ_stateOrProvinceName OBJ_X509,8L + +#define SN_streetAddress "street" +#define LN_streetAddress "streetAddress" +#define NID_streetAddress 660 +#define OBJ_streetAddress OBJ_X509,9L + +#define SN_organizationName "O" +#define LN_organizationName "organizationName" +#define NID_organizationName 17 +#define OBJ_organizationName OBJ_X509,10L + +#define SN_organizationalUnitName "OU" +#define LN_organizationalUnitName "organizationalUnitName" +#define NID_organizationalUnitName 18 +#define OBJ_organizationalUnitName OBJ_X509,11L + +#define SN_title "title" +#define LN_title "title" +#define NID_title 106 +#define OBJ_title OBJ_X509,12L + +#define LN_description "description" +#define NID_description 107 +#define OBJ_description OBJ_X509,13L + +#define LN_searchGuide "searchGuide" +#define NID_searchGuide 859 +#define OBJ_searchGuide OBJ_X509,14L + +#define LN_businessCategory "businessCategory" +#define NID_businessCategory 860 +#define OBJ_businessCategory OBJ_X509,15L + +#define LN_postalAddress "postalAddress" +#define NID_postalAddress 861 +#define OBJ_postalAddress OBJ_X509,16L + +#define LN_postalCode "postalCode" +#define NID_postalCode 661 +#define OBJ_postalCode OBJ_X509,17L + +#define LN_postOfficeBox "postOfficeBox" +#define NID_postOfficeBox 862 +#define OBJ_postOfficeBox OBJ_X509,18L + +#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" +#define NID_physicalDeliveryOfficeName 863 +#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L + +#define LN_telephoneNumber "telephoneNumber" +#define NID_telephoneNumber 864 +#define OBJ_telephoneNumber OBJ_X509,20L + +#define LN_telexNumber "telexNumber" +#define NID_telexNumber 865 +#define OBJ_telexNumber OBJ_X509,21L + +#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" +#define NID_teletexTerminalIdentifier 866 +#define OBJ_teletexTerminalIdentifier OBJ_X509,22L + +#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" +#define NID_facsimileTelephoneNumber 867 +#define OBJ_facsimileTelephoneNumber OBJ_X509,23L + +#define LN_x121Address "x121Address" +#define NID_x121Address 868 +#define OBJ_x121Address OBJ_X509,24L + +#define LN_internationaliSDNNumber "internationaliSDNNumber" +#define NID_internationaliSDNNumber 869 +#define OBJ_internationaliSDNNumber OBJ_X509,25L + +#define LN_registeredAddress "registeredAddress" +#define NID_registeredAddress 870 +#define OBJ_registeredAddress OBJ_X509,26L + +#define LN_destinationIndicator "destinationIndicator" +#define NID_destinationIndicator 871 +#define OBJ_destinationIndicator OBJ_X509,27L + +#define LN_preferredDeliveryMethod "preferredDeliveryMethod" +#define NID_preferredDeliveryMethod 872 +#define OBJ_preferredDeliveryMethod OBJ_X509,28L + +#define LN_presentationAddress "presentationAddress" +#define NID_presentationAddress 873 +#define OBJ_presentationAddress OBJ_X509,29L + +#define LN_supportedApplicationContext "supportedApplicationContext" +#define NID_supportedApplicationContext 874 +#define OBJ_supportedApplicationContext OBJ_X509,30L + +#define SN_member "member" +#define NID_member 875 +#define OBJ_member OBJ_X509,31L + +#define SN_owner "owner" +#define NID_owner 876 +#define OBJ_owner OBJ_X509,32L + +#define LN_roleOccupant "roleOccupant" +#define NID_roleOccupant 877 +#define OBJ_roleOccupant OBJ_X509,33L + +#define SN_seeAlso "seeAlso" +#define NID_seeAlso 878 +#define OBJ_seeAlso OBJ_X509,34L + +#define LN_userPassword "userPassword" +#define NID_userPassword 879 +#define OBJ_userPassword OBJ_X509,35L + +#define LN_userCertificate "userCertificate" +#define NID_userCertificate 880 +#define OBJ_userCertificate OBJ_X509,36L + +#define LN_cACertificate "cACertificate" +#define NID_cACertificate 881 +#define OBJ_cACertificate OBJ_X509,37L + +#define LN_authorityRevocationList "authorityRevocationList" +#define NID_authorityRevocationList 882 +#define OBJ_authorityRevocationList OBJ_X509,38L + +#define LN_certificateRevocationList "certificateRevocationList" +#define NID_certificateRevocationList 883 +#define OBJ_certificateRevocationList OBJ_X509,39L + +#define LN_crossCertificatePair "crossCertificatePair" +#define NID_crossCertificatePair 884 +#define OBJ_crossCertificatePair OBJ_X509,40L + +#define SN_name "name" +#define LN_name "name" +#define NID_name 173 +#define OBJ_name OBJ_X509,41L + +#define SN_givenName "GN" +#define LN_givenName "givenName" +#define NID_givenName 99 +#define OBJ_givenName OBJ_X509,42L + +#define SN_initials "initials" +#define LN_initials "initials" +#define NID_initials 101 +#define OBJ_initials OBJ_X509,43L + +#define LN_generationQualifier "generationQualifier" +#define NID_generationQualifier 509 +#define OBJ_generationQualifier OBJ_X509,44L + +#define LN_x500UniqueIdentifier "x500UniqueIdentifier" +#define NID_x500UniqueIdentifier 503 +#define OBJ_x500UniqueIdentifier OBJ_X509,45L + +#define SN_dnQualifier "dnQualifier" +#define LN_dnQualifier "dnQualifier" +#define NID_dnQualifier 174 +#define OBJ_dnQualifier OBJ_X509,46L + +#define LN_enhancedSearchGuide "enhancedSearchGuide" +#define NID_enhancedSearchGuide 885 +#define OBJ_enhancedSearchGuide OBJ_X509,47L + +#define LN_protocolInformation "protocolInformation" +#define NID_protocolInformation 886 +#define OBJ_protocolInformation OBJ_X509,48L + +#define LN_distinguishedName "distinguishedName" +#define NID_distinguishedName 887 +#define OBJ_distinguishedName OBJ_X509,49L + +#define LN_uniqueMember "uniqueMember" +#define NID_uniqueMember 888 +#define OBJ_uniqueMember OBJ_X509,50L + +#define LN_houseIdentifier "houseIdentifier" +#define NID_houseIdentifier 889 +#define OBJ_houseIdentifier OBJ_X509,51L + +#define LN_supportedAlgorithms "supportedAlgorithms" +#define NID_supportedAlgorithms 890 +#define OBJ_supportedAlgorithms OBJ_X509,52L + +#define LN_deltaRevocationList "deltaRevocationList" +#define NID_deltaRevocationList 891 +#define OBJ_deltaRevocationList OBJ_X509,53L + +#define SN_dmdName "dmdName" +#define NID_dmdName 892 +#define OBJ_dmdName OBJ_X509,54L + +#define LN_pseudonym "pseudonym" +#define NID_pseudonym 510 +#define OBJ_pseudonym OBJ_X509,65L + +#define SN_role "role" +#define LN_role "role" +#define NID_role 400 +#define OBJ_role OBJ_X509,72L + +#define SN_X500algorithms "X500algorithms" +#define LN_X500algorithms "directory services - algorithms" +#define NID_X500algorithms 378 +#define OBJ_X500algorithms OBJ_X500,8L + +#define SN_rsa "RSA" +#define LN_rsa "rsa" +#define NID_rsa 19 +#define OBJ_rsa OBJ_X500algorithms,1L,1L + +#define SN_mdc2WithRSA "RSA-MDC2" +#define LN_mdc2WithRSA "mdc2WithRSA" +#define NID_mdc2WithRSA 96 +#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L + +#define SN_mdc2 "MDC2" +#define LN_mdc2 "mdc2" +#define NID_mdc2 95 +#define OBJ_mdc2 OBJ_X500algorithms,3L,101L + +#define SN_id_ce "id-ce" +#define NID_id_ce 81 +#define OBJ_id_ce OBJ_X500,29L + +#define SN_subject_directory_attributes "subjectDirectoryAttributes" +#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" +#define NID_subject_directory_attributes 769 +#define OBJ_subject_directory_attributes OBJ_id_ce,9L + +#define SN_subject_key_identifier "subjectKeyIdentifier" +#define LN_subject_key_identifier "X509v3 Subject Key Identifier" +#define NID_subject_key_identifier 82 +#define OBJ_subject_key_identifier OBJ_id_ce,14L + +#define SN_key_usage "keyUsage" +#define LN_key_usage "X509v3 Key Usage" +#define NID_key_usage 83 +#define OBJ_key_usage OBJ_id_ce,15L + +#define SN_private_key_usage_period "privateKeyUsagePeriod" +#define LN_private_key_usage_period "X509v3 Private Key Usage Period" +#define NID_private_key_usage_period 84 +#define OBJ_private_key_usage_period OBJ_id_ce,16L + +#define SN_subject_alt_name "subjectAltName" +#define LN_subject_alt_name "X509v3 Subject Alternative Name" +#define NID_subject_alt_name 85 +#define OBJ_subject_alt_name OBJ_id_ce,17L + +#define SN_issuer_alt_name "issuerAltName" +#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" +#define NID_issuer_alt_name 86 +#define OBJ_issuer_alt_name OBJ_id_ce,18L + +#define SN_basic_constraints "basicConstraints" +#define LN_basic_constraints "X509v3 Basic Constraints" +#define NID_basic_constraints 87 +#define OBJ_basic_constraints OBJ_id_ce,19L + +#define SN_crl_number "crlNumber" +#define LN_crl_number "X509v3 CRL Number" +#define NID_crl_number 88 +#define OBJ_crl_number OBJ_id_ce,20L + +#define SN_crl_reason "CRLReason" +#define LN_crl_reason "X509v3 CRL Reason Code" +#define NID_crl_reason 141 +#define OBJ_crl_reason OBJ_id_ce,21L + +#define SN_invalidity_date "invalidityDate" +#define LN_invalidity_date "Invalidity Date" +#define NID_invalidity_date 142 +#define OBJ_invalidity_date OBJ_id_ce,24L + +#define SN_delta_crl "deltaCRL" +#define LN_delta_crl "X509v3 Delta CRL Indicator" +#define NID_delta_crl 140 +#define OBJ_delta_crl OBJ_id_ce,27L + +#define SN_issuing_distribution_point "issuingDistributionPoint" +#define LN_issuing_distribution_point "X509v3 Issuing Distribution Point" +#define NID_issuing_distribution_point 770 +#define OBJ_issuing_distribution_point OBJ_id_ce,28L + +#define SN_certificate_issuer "certificateIssuer" +#define LN_certificate_issuer "X509v3 Certificate Issuer" +#define NID_certificate_issuer 771 +#define OBJ_certificate_issuer OBJ_id_ce,29L + +#define SN_name_constraints "nameConstraints" +#define LN_name_constraints "X509v3 Name Constraints" +#define NID_name_constraints 666 +#define OBJ_name_constraints OBJ_id_ce,30L + +#define SN_crl_distribution_points "crlDistributionPoints" +#define LN_crl_distribution_points "X509v3 CRL Distribution Points" +#define NID_crl_distribution_points 103 +#define OBJ_crl_distribution_points OBJ_id_ce,31L + +#define SN_certificate_policies "certificatePolicies" +#define LN_certificate_policies "X509v3 Certificate Policies" +#define NID_certificate_policies 89 +#define OBJ_certificate_policies OBJ_id_ce,32L + +#define SN_any_policy "anyPolicy" +#define LN_any_policy "X509v3 Any Policy" +#define NID_any_policy 746 +#define OBJ_any_policy OBJ_certificate_policies,0L + +#define SN_policy_mappings "policyMappings" +#define LN_policy_mappings "X509v3 Policy Mappings" +#define NID_policy_mappings 747 +#define OBJ_policy_mappings OBJ_id_ce,33L + +#define SN_authority_key_identifier "authorityKeyIdentifier" +#define LN_authority_key_identifier "X509v3 Authority Key Identifier" +#define NID_authority_key_identifier 90 +#define OBJ_authority_key_identifier OBJ_id_ce,35L + +#define SN_policy_constraints "policyConstraints" +#define LN_policy_constraints "X509v3 Policy Constraints" +#define NID_policy_constraints 401 +#define OBJ_policy_constraints OBJ_id_ce,36L + +#define SN_ext_key_usage "extendedKeyUsage" +#define LN_ext_key_usage "X509v3 Extended Key Usage" +#define NID_ext_key_usage 126 +#define OBJ_ext_key_usage OBJ_id_ce,37L + +#define SN_freshest_crl "freshestCRL" +#define LN_freshest_crl "X509v3 Freshest CRL" +#define NID_freshest_crl 857 +#define OBJ_freshest_crl OBJ_id_ce,46L + +#define SN_inhibit_any_policy "inhibitAnyPolicy" +#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" +#define NID_inhibit_any_policy 748 +#define OBJ_inhibit_any_policy OBJ_id_ce,54L + +#define SN_target_information "targetInformation" +#define LN_target_information "X509v3 AC Targeting" +#define NID_target_information 402 +#define OBJ_target_information OBJ_id_ce,55L + +#define SN_no_rev_avail "noRevAvail" +#define LN_no_rev_avail "X509v3 No Revocation Available" +#define NID_no_rev_avail 403 +#define OBJ_no_rev_avail OBJ_id_ce,56L + +#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" +#define LN_anyExtendedKeyUsage "Any Extended Key Usage" +#define NID_anyExtendedKeyUsage 910 +#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L + +#define SN_netscape "Netscape" +#define LN_netscape "Netscape Communications Corp." +#define NID_netscape 57 +#define OBJ_netscape 2L,16L,840L,1L,113730L + +#define SN_netscape_cert_extension "nsCertExt" +#define LN_netscape_cert_extension "Netscape Certificate Extension" +#define NID_netscape_cert_extension 58 +#define OBJ_netscape_cert_extension OBJ_netscape,1L + +#define SN_netscape_data_type "nsDataType" +#define LN_netscape_data_type "Netscape Data Type" +#define NID_netscape_data_type 59 +#define OBJ_netscape_data_type OBJ_netscape,2L + +#define SN_netscape_cert_type "nsCertType" +#define LN_netscape_cert_type "Netscape Cert Type" +#define NID_netscape_cert_type 71 +#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L + +#define SN_netscape_base_url "nsBaseUrl" +#define LN_netscape_base_url "Netscape Base Url" +#define NID_netscape_base_url 72 +#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L + +#define SN_netscape_revocation_url "nsRevocationUrl" +#define LN_netscape_revocation_url "Netscape Revocation Url" +#define NID_netscape_revocation_url 73 +#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L + +#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" +#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" +#define NID_netscape_ca_revocation_url 74 +#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L + +#define SN_netscape_renewal_url "nsRenewalUrl" +#define LN_netscape_renewal_url "Netscape Renewal Url" +#define NID_netscape_renewal_url 75 +#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L + +#define SN_netscape_ca_policy_url "nsCaPolicyUrl" +#define LN_netscape_ca_policy_url "Netscape CA Policy Url" +#define NID_netscape_ca_policy_url 76 +#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L + +#define SN_netscape_ssl_server_name "nsSslServerName" +#define LN_netscape_ssl_server_name "Netscape SSL Server Name" +#define NID_netscape_ssl_server_name 77 +#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L + +#define SN_netscape_comment "nsComment" +#define LN_netscape_comment "Netscape Comment" +#define NID_netscape_comment 78 +#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L + +#define SN_netscape_cert_sequence "nsCertSequence" +#define LN_netscape_cert_sequence "Netscape Certificate Sequence" +#define NID_netscape_cert_sequence 79 +#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L + +#define SN_ns_sgc "nsSGC" +#define LN_ns_sgc "Netscape Server Gated Crypto" +#define NID_ns_sgc 139 +#define OBJ_ns_sgc OBJ_netscape,4L,1L + +#define SN_org "ORG" +#define LN_org "org" +#define NID_org 379 +#define OBJ_org OBJ_iso,3L + +#define SN_dod "DOD" +#define LN_dod "dod" +#define NID_dod 380 +#define OBJ_dod OBJ_org,6L + +#define SN_iana "IANA" +#define LN_iana "iana" +#define NID_iana 381 +#define OBJ_iana OBJ_dod,1L + +#define OBJ_internet OBJ_iana + +#define SN_Directory "directory" +#define LN_Directory "Directory" +#define NID_Directory 382 +#define OBJ_Directory OBJ_internet,1L + +#define SN_Management "mgmt" +#define LN_Management "Management" +#define NID_Management 383 +#define OBJ_Management OBJ_internet,2L + +#define SN_Experimental "experimental" +#define LN_Experimental "Experimental" +#define NID_Experimental 384 +#define OBJ_Experimental OBJ_internet,3L + +#define SN_Private "private" +#define LN_Private "Private" +#define NID_Private 385 +#define OBJ_Private OBJ_internet,4L + +#define SN_Security "security" +#define LN_Security "Security" +#define NID_Security 386 +#define OBJ_Security OBJ_internet,5L + +#define SN_SNMPv2 "snmpv2" +#define LN_SNMPv2 "SNMPv2" +#define NID_SNMPv2 387 +#define OBJ_SNMPv2 OBJ_internet,6L + +#define LN_Mail "Mail" +#define NID_Mail 388 +#define OBJ_Mail OBJ_internet,7L + +#define SN_Enterprises "enterprises" +#define LN_Enterprises "Enterprises" +#define NID_Enterprises 389 +#define OBJ_Enterprises OBJ_Private,1L + +#define SN_dcObject "dcobject" +#define LN_dcObject "dcObject" +#define NID_dcObject 390 +#define OBJ_dcObject OBJ_Enterprises,1466L,344L + +#define OBJ_extendedValidation OBJ_Enterprises,311L,60L + +#define LN_jurisdictionLocalityName "jurisdictionLocalityName" +#define NID_jurisdictionLocalityName 956 +#define OBJ_jurisdictionLocalityName OBJ_extendedValidation,2L,1L,1L + +#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" +#define NID_jurisdictionStateOrProvinceName 957 +#define OBJ_jurisdictionStateOrProvinceName OBJ_extendedValidation,2L,1L,2L + +#define LN_jurisdictionCountryName "jurisdictionCountryName" +#define NID_jurisdictionCountryName 958 +#define OBJ_jurisdictionCountryName OBJ_extendedValidation,2L,1L,3L + +#define SN_mime_mhs "mime-mhs" +#define LN_mime_mhs "MIME MHS" +#define NID_mime_mhs 504 +#define OBJ_mime_mhs OBJ_Mail,1L + +#define SN_mime_mhs_headings "mime-mhs-headings" +#define LN_mime_mhs_headings "mime-mhs-headings" +#define NID_mime_mhs_headings 505 +#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L + +#define SN_mime_mhs_bodies "mime-mhs-bodies" +#define LN_mime_mhs_bodies "mime-mhs-bodies" +#define NID_mime_mhs_bodies 506 +#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L + +#define SN_id_hex_partial_message "id-hex-partial-message" +#define LN_id_hex_partial_message "id-hex-partial-message" +#define NID_id_hex_partial_message 507 +#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L + +#define SN_id_hex_multipart_message "id-hex-multipart-message" +#define LN_id_hex_multipart_message "id-hex-multipart-message" +#define NID_id_hex_multipart_message 508 +#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L + +#define SN_rle_compression "RLE" +#define LN_rle_compression "run length compression" +#define NID_rle_compression 124 +#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L + +#define SN_zlib_compression "ZLIB" +#define LN_zlib_compression "zlib compression" +#define NID_zlib_compression 125 +#define OBJ_zlib_compression OBJ_id_smime_alg,8L + +#define OBJ_csor 2L,16L,840L,1L,101L,3L + +#define OBJ_nistAlgorithms OBJ_csor,4L + +#define OBJ_aes OBJ_nistAlgorithms,1L + +#define SN_aes_128_ecb "AES-128-ECB" +#define LN_aes_128_ecb "aes-128-ecb" +#define NID_aes_128_ecb 418 +#define OBJ_aes_128_ecb OBJ_aes,1L + +#define SN_aes_128_cbc "AES-128-CBC" +#define LN_aes_128_cbc "aes-128-cbc" +#define NID_aes_128_cbc 419 +#define OBJ_aes_128_cbc OBJ_aes,2L + +#define SN_aes_128_ofb128 "AES-128-OFB" +#define LN_aes_128_ofb128 "aes-128-ofb" +#define NID_aes_128_ofb128 420 +#define OBJ_aes_128_ofb128 OBJ_aes,3L + +#define SN_aes_128_cfb128 "AES-128-CFB" +#define LN_aes_128_cfb128 "aes-128-cfb" +#define NID_aes_128_cfb128 421 +#define OBJ_aes_128_cfb128 OBJ_aes,4L + +#define SN_id_aes128_wrap "id-aes128-wrap" +#define NID_id_aes128_wrap 788 +#define OBJ_id_aes128_wrap OBJ_aes,5L + +#define SN_aes_128_gcm "id-aes128-GCM" +#define LN_aes_128_gcm "aes-128-gcm" +#define NID_aes_128_gcm 895 +#define OBJ_aes_128_gcm OBJ_aes,6L + +#define SN_aes_128_ccm "id-aes128-CCM" +#define LN_aes_128_ccm "aes-128-ccm" +#define NID_aes_128_ccm 896 +#define OBJ_aes_128_ccm OBJ_aes,7L + +#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" +#define NID_id_aes128_wrap_pad 897 +#define OBJ_id_aes128_wrap_pad OBJ_aes,8L + +#define SN_aes_192_ecb "AES-192-ECB" +#define LN_aes_192_ecb "aes-192-ecb" +#define NID_aes_192_ecb 422 +#define OBJ_aes_192_ecb OBJ_aes,21L + +#define SN_aes_192_cbc "AES-192-CBC" +#define LN_aes_192_cbc "aes-192-cbc" +#define NID_aes_192_cbc 423 +#define OBJ_aes_192_cbc OBJ_aes,22L + +#define SN_aes_192_ofb128 "AES-192-OFB" +#define LN_aes_192_ofb128 "aes-192-ofb" +#define NID_aes_192_ofb128 424 +#define OBJ_aes_192_ofb128 OBJ_aes,23L + +#define SN_aes_192_cfb128 "AES-192-CFB" +#define LN_aes_192_cfb128 "aes-192-cfb" +#define NID_aes_192_cfb128 425 +#define OBJ_aes_192_cfb128 OBJ_aes,24L + +#define SN_id_aes192_wrap "id-aes192-wrap" +#define NID_id_aes192_wrap 789 +#define OBJ_id_aes192_wrap OBJ_aes,25L + +#define SN_aes_192_gcm "id-aes192-GCM" +#define LN_aes_192_gcm "aes-192-gcm" +#define NID_aes_192_gcm 898 +#define OBJ_aes_192_gcm OBJ_aes,26L + +#define SN_aes_192_ccm "id-aes192-CCM" +#define LN_aes_192_ccm "aes-192-ccm" +#define NID_aes_192_ccm 899 +#define OBJ_aes_192_ccm OBJ_aes,27L + +#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" +#define NID_id_aes192_wrap_pad 900 +#define OBJ_id_aes192_wrap_pad OBJ_aes,28L + +#define SN_aes_256_ecb "AES-256-ECB" +#define LN_aes_256_ecb "aes-256-ecb" +#define NID_aes_256_ecb 426 +#define OBJ_aes_256_ecb OBJ_aes,41L + +#define SN_aes_256_cbc "AES-256-CBC" +#define LN_aes_256_cbc "aes-256-cbc" +#define NID_aes_256_cbc 427 +#define OBJ_aes_256_cbc OBJ_aes,42L + +#define SN_aes_256_ofb128 "AES-256-OFB" +#define LN_aes_256_ofb128 "aes-256-ofb" +#define NID_aes_256_ofb128 428 +#define OBJ_aes_256_ofb128 OBJ_aes,43L + +#define SN_aes_256_cfb128 "AES-256-CFB" +#define LN_aes_256_cfb128 "aes-256-cfb" +#define NID_aes_256_cfb128 429 +#define OBJ_aes_256_cfb128 OBJ_aes,44L + +#define SN_id_aes256_wrap "id-aes256-wrap" +#define NID_id_aes256_wrap 790 +#define OBJ_id_aes256_wrap OBJ_aes,45L + +#define SN_aes_256_gcm "id-aes256-GCM" +#define LN_aes_256_gcm "aes-256-gcm" +#define NID_aes_256_gcm 901 +#define OBJ_aes_256_gcm OBJ_aes,46L + +#define SN_aes_256_ccm "id-aes256-CCM" +#define LN_aes_256_ccm "aes-256-ccm" +#define NID_aes_256_ccm 902 +#define OBJ_aes_256_ccm OBJ_aes,47L + +#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" +#define NID_id_aes256_wrap_pad 903 +#define OBJ_id_aes256_wrap_pad OBJ_aes,48L + +#define SN_aes_128_cfb1 "AES-128-CFB1" +#define LN_aes_128_cfb1 "aes-128-cfb1" +#define NID_aes_128_cfb1 650 + +#define SN_aes_192_cfb1 "AES-192-CFB1" +#define LN_aes_192_cfb1 "aes-192-cfb1" +#define NID_aes_192_cfb1 651 + +#define SN_aes_256_cfb1 "AES-256-CFB1" +#define LN_aes_256_cfb1 "aes-256-cfb1" +#define NID_aes_256_cfb1 652 + +#define SN_aes_128_cfb8 "AES-128-CFB8" +#define LN_aes_128_cfb8 "aes-128-cfb8" +#define NID_aes_128_cfb8 653 + +#define SN_aes_192_cfb8 "AES-192-CFB8" +#define LN_aes_192_cfb8 "aes-192-cfb8" +#define NID_aes_192_cfb8 654 + +#define SN_aes_256_cfb8 "AES-256-CFB8" +#define LN_aes_256_cfb8 "aes-256-cfb8" +#define NID_aes_256_cfb8 655 + +#define SN_aes_128_ctr "AES-128-CTR" +#define LN_aes_128_ctr "aes-128-ctr" +#define NID_aes_128_ctr 904 + +#define SN_aes_192_ctr "AES-192-CTR" +#define LN_aes_192_ctr "aes-192-ctr" +#define NID_aes_192_ctr 905 + +#define SN_aes_256_ctr "AES-256-CTR" +#define LN_aes_256_ctr "aes-256-ctr" +#define NID_aes_256_ctr 906 + +#define SN_aes_128_xts "AES-128-XTS" +#define LN_aes_128_xts "aes-128-xts" +#define NID_aes_128_xts 913 + +#define SN_aes_256_xts "AES-256-XTS" +#define LN_aes_256_xts "aes-256-xts" +#define NID_aes_256_xts 914 + +#define SN_des_cfb1 "DES-CFB1" +#define LN_des_cfb1 "des-cfb1" +#define NID_des_cfb1 656 + +#define SN_des_cfb8 "DES-CFB8" +#define LN_des_cfb8 "des-cfb8" +#define NID_des_cfb8 657 + +#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" +#define LN_des_ede3_cfb1 "des-ede3-cfb1" +#define NID_des_ede3_cfb1 658 + +#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" +#define LN_des_ede3_cfb8 "des-ede3-cfb8" +#define NID_des_ede3_cfb8 659 + +#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L + +#define SN_sha256 "SHA256" +#define LN_sha256 "sha256" +#define NID_sha256 672 +#define OBJ_sha256 OBJ_nist_hashalgs,1L + +#define SN_sha384 "SHA384" +#define LN_sha384 "sha384" +#define NID_sha384 673 +#define OBJ_sha384 OBJ_nist_hashalgs,2L + +#define SN_sha512 "SHA512" +#define LN_sha512 "sha512" +#define NID_sha512 674 +#define OBJ_sha512 OBJ_nist_hashalgs,3L + +#define SN_sha224 "SHA224" +#define LN_sha224 "sha224" +#define NID_sha224 675 +#define OBJ_sha224 OBJ_nist_hashalgs,4L + +#define SN_sha512_224 "SHA512-224" +#define LN_sha512_224 "sha512-224" +#define NID_sha512_224 1029 +#define OBJ_sha512_224 OBJ_nist_hashalgs,5L + +#define SN_sha512_256 "SHA512-256" +#define LN_sha512_256 "sha512-256" +#define NID_sha512_256 1030 +#define OBJ_sha512_256 OBJ_nist_hashalgs,6L + +#define SN_sha3_224 "SHA3-224" +#define LN_sha3_224 "sha3-224" +#define NID_sha3_224 1031 +#define OBJ_sha3_224 OBJ_nist_hashalgs,7L + +#define SN_sha3_256 "SHA3-256" +#define LN_sha3_256 "sha3-256" +#define NID_sha3_256 1032 +#define OBJ_sha3_256 OBJ_nist_hashalgs,8L + +#define SN_sha3_384 "SHA3-384" +#define LN_sha3_384 "sha3-384" +#define NID_sha3_384 1033 +#define OBJ_sha3_384 OBJ_nist_hashalgs,9L + +#define SN_sha3_512 "SHA3-512" +#define LN_sha3_512 "sha3-512" +#define NID_sha3_512 1034 +#define OBJ_sha3_512 OBJ_nist_hashalgs,10L + +#define SN_hmac_sha3_224 "id-hmacWithSHA3-224" +#define LN_hmac_sha3_224 "hmac-sha3-224" +#define NID_hmac_sha3_224 1035 +#define OBJ_hmac_sha3_224 OBJ_nist_hashalgs,13L + +#define SN_hmac_sha3_256 "id-hmacWithSHA3-256" +#define LN_hmac_sha3_256 "hmac-sha3-256" +#define NID_hmac_sha3_256 1036 +#define OBJ_hmac_sha3_256 OBJ_nist_hashalgs,14L + +#define SN_hmac_sha3_384 "id-hmacWithSHA3-384" +#define LN_hmac_sha3_384 "hmac-sha3-384" +#define NID_hmac_sha3_384 1037 +#define OBJ_hmac_sha3_384 OBJ_nist_hashalgs,15L + +#define SN_hmac_sha3_512 "id-hmacWithSHA3-512" +#define LN_hmac_sha3_512 "hmac-sha3-512" +#define NID_hmac_sha3_512 1038 +#define OBJ_hmac_sha3_512 OBJ_nist_hashalgs,16L + +#define OBJ_nist_sigalgs OBJ_nistAlgorithms,3L + +#define SN_dsa_with_SHA224 "id-dsa-with-sha224" +#define LN_dsa_with_SHA224 "dsa_with_SHA224" +#define NID_dsa_with_SHA224 802 +#define OBJ_dsa_with_SHA224 OBJ_nist_sigalgs,1L + +#define SN_dsa_with_SHA256 "id-dsa-with-sha256" +#define LN_dsa_with_SHA256 "dsa_with_SHA256" +#define NID_dsa_with_SHA256 803 +#define OBJ_dsa_with_SHA256 OBJ_nist_sigalgs,2L + +#define SN_dsa_with_SHA384 "id-dsa-with-sha384" +#define LN_dsa_with_SHA384 "dsa_with_SHA384" +#define NID_dsa_with_SHA384 1039 +#define OBJ_dsa_with_SHA384 OBJ_nist_sigalgs,3L + +#define SN_dsa_with_SHA512 "id-dsa-with-sha512" +#define LN_dsa_with_SHA512 "dsa_with_SHA512" +#define NID_dsa_with_SHA512 1040 +#define OBJ_dsa_with_SHA512 OBJ_nist_sigalgs,4L + +#define SN_dsa_with_SHA3_224 "id-dsa-with-sha3-224" +#define LN_dsa_with_SHA3_224 "dsa_with_SHA3-224" +#define NID_dsa_with_SHA3_224 1041 +#define OBJ_dsa_with_SHA3_224 OBJ_nist_sigalgs,5L + +#define SN_dsa_with_SHA3_256 "id-dsa-with-sha3-256" +#define LN_dsa_with_SHA3_256 "dsa_with_SHA3-256" +#define NID_dsa_with_SHA3_256 1042 +#define OBJ_dsa_with_SHA3_256 OBJ_nist_sigalgs,6L + +#define SN_dsa_with_SHA3_384 "id-dsa-with-sha3-384" +#define LN_dsa_with_SHA3_384 "dsa_with_SHA3-384" +#define NID_dsa_with_SHA3_384 1043 +#define OBJ_dsa_with_SHA3_384 OBJ_nist_sigalgs,7L + +#define SN_dsa_with_SHA3_512 "id-dsa-with-sha3-512" +#define LN_dsa_with_SHA3_512 "dsa_with_SHA3-512" +#define NID_dsa_with_SHA3_512 1044 +#define OBJ_dsa_with_SHA3_512 OBJ_nist_sigalgs,8L + +#define SN_ecdsa_with_SHA3_224 "id-ecdsa-with-sha3-224" +#define LN_ecdsa_with_SHA3_224 "ecdsa_with_SHA3-224" +#define NID_ecdsa_with_SHA3_224 1045 +#define OBJ_ecdsa_with_SHA3_224 OBJ_nist_sigalgs,9L + +#define SN_ecdsa_with_SHA3_256 "id-ecdsa-with-sha3-256" +#define LN_ecdsa_with_SHA3_256 "ecdsa_with_SHA3-256" +#define NID_ecdsa_with_SHA3_256 1046 +#define OBJ_ecdsa_with_SHA3_256 OBJ_nist_sigalgs,10L + +#define SN_ecdsa_with_SHA3_384 "id-ecdsa-with-sha3-384" +#define LN_ecdsa_with_SHA3_384 "ecdsa_with_SHA3-384" +#define NID_ecdsa_with_SHA3_384 1047 +#define OBJ_ecdsa_with_SHA3_384 OBJ_nist_sigalgs,11L + +#define SN_ecdsa_with_SHA3_512 "id-ecdsa-with-sha3-512" +#define LN_ecdsa_with_SHA3_512 "ecdsa_with_SHA3-512" +#define NID_ecdsa_with_SHA3_512 1048 +#define OBJ_ecdsa_with_SHA3_512 OBJ_nist_sigalgs,12L + +#define SN_RSA_SHA3_224 "id-rsassa-pkcs1-v1_5-with-sha3-224" +#define LN_RSA_SHA3_224 "RSA-SHA3-224" +#define NID_RSA_SHA3_224 1049 +#define OBJ_RSA_SHA3_224 OBJ_nist_sigalgs,13L + +#define SN_RSA_SHA3_256 "id-rsassa-pkcs1-v1_5-with-sha3-256" +#define LN_RSA_SHA3_256 "RSA-SHA3-256" +#define NID_RSA_SHA3_256 1050 +#define OBJ_RSA_SHA3_256 OBJ_nist_sigalgs,14L + +#define SN_RSA_SHA3_384 "id-rsassa-pkcs1-v1_5-with-sha3-384" +#define LN_RSA_SHA3_384 "RSA-SHA3-384" +#define NID_RSA_SHA3_384 1051 +#define OBJ_RSA_SHA3_384 OBJ_nist_sigalgs,15L + +#define SN_RSA_SHA3_512 "id-rsassa-pkcs1-v1_5-with-sha3-512" +#define LN_RSA_SHA3_512 "RSA-SHA3-512" +#define NID_RSA_SHA3_512 1052 +#define OBJ_RSA_SHA3_512 OBJ_nist_sigalgs,16L + +#define SN_hold_instruction_code "holdInstructionCode" +#define LN_hold_instruction_code "Hold Instruction Code" +#define NID_hold_instruction_code 430 +#define OBJ_hold_instruction_code OBJ_id_ce,23L + +#define OBJ_holdInstruction OBJ_X9_57,2L + +#define SN_hold_instruction_none "holdInstructionNone" +#define LN_hold_instruction_none "Hold Instruction None" +#define NID_hold_instruction_none 431 +#define OBJ_hold_instruction_none OBJ_holdInstruction,1L + +#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" +#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" +#define NID_hold_instruction_call_issuer 432 +#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L + +#define SN_hold_instruction_reject "holdInstructionReject" +#define LN_hold_instruction_reject "Hold Instruction Reject" +#define NID_hold_instruction_reject 433 +#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L + +#define SN_data "data" +#define NID_data 434 +#define OBJ_data OBJ_itu_t,9L + +#define SN_pss "pss" +#define NID_pss 435 +#define OBJ_pss OBJ_data,2342L + +#define SN_ucl "ucl" +#define NID_ucl 436 +#define OBJ_ucl OBJ_pss,19200300L + +#define SN_pilot "pilot" +#define NID_pilot 437 +#define OBJ_pilot OBJ_ucl,100L + +#define LN_pilotAttributeType "pilotAttributeType" +#define NID_pilotAttributeType 438 +#define OBJ_pilotAttributeType OBJ_pilot,1L + +#define LN_pilotAttributeSyntax "pilotAttributeSyntax" +#define NID_pilotAttributeSyntax 439 +#define OBJ_pilotAttributeSyntax OBJ_pilot,3L + +#define LN_pilotObjectClass "pilotObjectClass" +#define NID_pilotObjectClass 440 +#define OBJ_pilotObjectClass OBJ_pilot,4L + +#define LN_pilotGroups "pilotGroups" +#define NID_pilotGroups 441 +#define OBJ_pilotGroups OBJ_pilot,10L + +#define LN_iA5StringSyntax "iA5StringSyntax" +#define NID_iA5StringSyntax 442 +#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L + +#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" +#define NID_caseIgnoreIA5StringSyntax 443 +#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L + +#define LN_pilotObject "pilotObject" +#define NID_pilotObject 444 +#define OBJ_pilotObject OBJ_pilotObjectClass,3L + +#define LN_pilotPerson "pilotPerson" +#define NID_pilotPerson 445 +#define OBJ_pilotPerson OBJ_pilotObjectClass,4L + +#define SN_account "account" +#define NID_account 446 +#define OBJ_account OBJ_pilotObjectClass,5L + +#define SN_document "document" +#define NID_document 447 +#define OBJ_document OBJ_pilotObjectClass,6L + +#define SN_room "room" +#define NID_room 448 +#define OBJ_room OBJ_pilotObjectClass,7L + +#define LN_documentSeries "documentSeries" +#define NID_documentSeries 449 +#define OBJ_documentSeries OBJ_pilotObjectClass,9L + +#define SN_Domain "domain" +#define LN_Domain "Domain" +#define NID_Domain 392 +#define OBJ_Domain OBJ_pilotObjectClass,13L + +#define LN_rFC822localPart "rFC822localPart" +#define NID_rFC822localPart 450 +#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L + +#define LN_dNSDomain "dNSDomain" +#define NID_dNSDomain 451 +#define OBJ_dNSDomain OBJ_pilotObjectClass,15L + +#define LN_domainRelatedObject "domainRelatedObject" +#define NID_domainRelatedObject 452 +#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L + +#define LN_friendlyCountry "friendlyCountry" +#define NID_friendlyCountry 453 +#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L + +#define LN_simpleSecurityObject "simpleSecurityObject" +#define NID_simpleSecurityObject 454 +#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L + +#define LN_pilotOrganization "pilotOrganization" +#define NID_pilotOrganization 455 +#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L + +#define LN_pilotDSA "pilotDSA" +#define NID_pilotDSA 456 +#define OBJ_pilotDSA OBJ_pilotObjectClass,21L + +#define LN_qualityLabelledData "qualityLabelledData" +#define NID_qualityLabelledData 457 +#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L + +#define SN_userId "UID" +#define LN_userId "userId" +#define NID_userId 458 +#define OBJ_userId OBJ_pilotAttributeType,1L + +#define LN_textEncodedORAddress "textEncodedORAddress" +#define NID_textEncodedORAddress 459 +#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L + +#define SN_rfc822Mailbox "mail" +#define LN_rfc822Mailbox "rfc822Mailbox" +#define NID_rfc822Mailbox 460 +#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L + +#define SN_info "info" +#define NID_info 461 +#define OBJ_info OBJ_pilotAttributeType,4L + +#define LN_favouriteDrink "favouriteDrink" +#define NID_favouriteDrink 462 +#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L + +#define LN_roomNumber "roomNumber" +#define NID_roomNumber 463 +#define OBJ_roomNumber OBJ_pilotAttributeType,6L + +#define SN_photo "photo" +#define NID_photo 464 +#define OBJ_photo OBJ_pilotAttributeType,7L + +#define LN_userClass "userClass" +#define NID_userClass 465 +#define OBJ_userClass OBJ_pilotAttributeType,8L + +#define SN_host "host" +#define NID_host 466 +#define OBJ_host OBJ_pilotAttributeType,9L + +#define SN_manager "manager" +#define NID_manager 467 +#define OBJ_manager OBJ_pilotAttributeType,10L + +#define LN_documentIdentifier "documentIdentifier" +#define NID_documentIdentifier 468 +#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L + +#define LN_documentTitle "documentTitle" +#define NID_documentTitle 469 +#define OBJ_documentTitle OBJ_pilotAttributeType,12L + +#define LN_documentVersion "documentVersion" +#define NID_documentVersion 470 +#define OBJ_documentVersion OBJ_pilotAttributeType,13L + +#define LN_documentAuthor "documentAuthor" +#define NID_documentAuthor 471 +#define OBJ_documentAuthor OBJ_pilotAttributeType,14L + +#define LN_documentLocation "documentLocation" +#define NID_documentLocation 472 +#define OBJ_documentLocation OBJ_pilotAttributeType,15L + +#define LN_homeTelephoneNumber "homeTelephoneNumber" +#define NID_homeTelephoneNumber 473 +#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L + +#define SN_secretary "secretary" +#define NID_secretary 474 +#define OBJ_secretary OBJ_pilotAttributeType,21L + +#define LN_otherMailbox "otherMailbox" +#define NID_otherMailbox 475 +#define OBJ_otherMailbox OBJ_pilotAttributeType,22L + +#define LN_lastModifiedTime "lastModifiedTime" +#define NID_lastModifiedTime 476 +#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L + +#define LN_lastModifiedBy "lastModifiedBy" +#define NID_lastModifiedBy 477 +#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L + +#define SN_domainComponent "DC" +#define LN_domainComponent "domainComponent" +#define NID_domainComponent 391 +#define OBJ_domainComponent OBJ_pilotAttributeType,25L + +#define LN_aRecord "aRecord" +#define NID_aRecord 478 +#define OBJ_aRecord OBJ_pilotAttributeType,26L + +#define LN_pilotAttributeType27 "pilotAttributeType27" +#define NID_pilotAttributeType27 479 +#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L + +#define LN_mXRecord "mXRecord" +#define NID_mXRecord 480 +#define OBJ_mXRecord OBJ_pilotAttributeType,28L + +#define LN_nSRecord "nSRecord" +#define NID_nSRecord 481 +#define OBJ_nSRecord OBJ_pilotAttributeType,29L + +#define LN_sOARecord "sOARecord" +#define NID_sOARecord 482 +#define OBJ_sOARecord OBJ_pilotAttributeType,30L + +#define LN_cNAMERecord "cNAMERecord" +#define NID_cNAMERecord 483 +#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L + +#define LN_associatedDomain "associatedDomain" +#define NID_associatedDomain 484 +#define OBJ_associatedDomain OBJ_pilotAttributeType,37L + +#define LN_associatedName "associatedName" +#define NID_associatedName 485 +#define OBJ_associatedName OBJ_pilotAttributeType,38L + +#define LN_homePostalAddress "homePostalAddress" +#define NID_homePostalAddress 486 +#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L + +#define LN_personalTitle "personalTitle" +#define NID_personalTitle 487 +#define OBJ_personalTitle OBJ_pilotAttributeType,40L + +#define LN_mobileTelephoneNumber "mobileTelephoneNumber" +#define NID_mobileTelephoneNumber 488 +#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L + +#define LN_pagerTelephoneNumber "pagerTelephoneNumber" +#define NID_pagerTelephoneNumber 489 +#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L + +#define LN_friendlyCountryName "friendlyCountryName" +#define NID_friendlyCountryName 490 +#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L + +#define LN_organizationalStatus "organizationalStatus" +#define NID_organizationalStatus 491 +#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L + +#define LN_janetMailbox "janetMailbox" +#define NID_janetMailbox 492 +#define OBJ_janetMailbox OBJ_pilotAttributeType,46L + +#define LN_mailPreferenceOption "mailPreferenceOption" +#define NID_mailPreferenceOption 493 +#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L + +#define LN_buildingName "buildingName" +#define NID_buildingName 494 +#define OBJ_buildingName OBJ_pilotAttributeType,48L + +#define LN_dSAQuality "dSAQuality" +#define NID_dSAQuality 495 +#define OBJ_dSAQuality OBJ_pilotAttributeType,49L + +#define LN_singleLevelQuality "singleLevelQuality" +#define NID_singleLevelQuality 496 +#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L + +#define LN_subtreeMinimumQuality "subtreeMinimumQuality" +#define NID_subtreeMinimumQuality 497 +#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L + +#define LN_subtreeMaximumQuality "subtreeMaximumQuality" +#define NID_subtreeMaximumQuality 498 +#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L + +#define LN_personalSignature "personalSignature" +#define NID_personalSignature 499 +#define OBJ_personalSignature OBJ_pilotAttributeType,53L + +#define LN_dITRedirect "dITRedirect" +#define NID_dITRedirect 500 +#define OBJ_dITRedirect OBJ_pilotAttributeType,54L + +#define SN_audio "audio" +#define NID_audio 501 +#define OBJ_audio OBJ_pilotAttributeType,55L + +#define LN_documentPublisher "documentPublisher" +#define NID_documentPublisher 502 +#define OBJ_documentPublisher OBJ_pilotAttributeType,56L + +#define SN_id_set "id-set" +#define LN_id_set "Secure Electronic Transactions" +#define NID_id_set 512 +#define OBJ_id_set OBJ_international_organizations,42L + +#define SN_set_ctype "set-ctype" +#define LN_set_ctype "content types" +#define NID_set_ctype 513 +#define OBJ_set_ctype OBJ_id_set,0L + +#define SN_set_msgExt "set-msgExt" +#define LN_set_msgExt "message extensions" +#define NID_set_msgExt 514 +#define OBJ_set_msgExt OBJ_id_set,1L + +#define SN_set_attr "set-attr" +#define NID_set_attr 515 +#define OBJ_set_attr OBJ_id_set,3L + +#define SN_set_policy "set-policy" +#define NID_set_policy 516 +#define OBJ_set_policy OBJ_id_set,5L + +#define SN_set_certExt "set-certExt" +#define LN_set_certExt "certificate extensions" +#define NID_set_certExt 517 +#define OBJ_set_certExt OBJ_id_set,7L + +#define SN_set_brand "set-brand" +#define NID_set_brand 518 +#define OBJ_set_brand OBJ_id_set,8L + +#define SN_setct_PANData "setct-PANData" +#define NID_setct_PANData 519 +#define OBJ_setct_PANData OBJ_set_ctype,0L + +#define SN_setct_PANToken "setct-PANToken" +#define NID_setct_PANToken 520 +#define OBJ_setct_PANToken OBJ_set_ctype,1L + +#define SN_setct_PANOnly "setct-PANOnly" +#define NID_setct_PANOnly 521 +#define OBJ_setct_PANOnly OBJ_set_ctype,2L + +#define SN_setct_OIData "setct-OIData" +#define NID_setct_OIData 522 +#define OBJ_setct_OIData OBJ_set_ctype,3L + +#define SN_setct_PI "setct-PI" +#define NID_setct_PI 523 +#define OBJ_setct_PI OBJ_set_ctype,4L + +#define SN_setct_PIData "setct-PIData" +#define NID_setct_PIData 524 +#define OBJ_setct_PIData OBJ_set_ctype,5L + +#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" +#define NID_setct_PIDataUnsigned 525 +#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L + +#define SN_setct_HODInput "setct-HODInput" +#define NID_setct_HODInput 526 +#define OBJ_setct_HODInput OBJ_set_ctype,7L + +#define SN_setct_AuthResBaggage "setct-AuthResBaggage" +#define NID_setct_AuthResBaggage 527 +#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L + +#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" +#define NID_setct_AuthRevReqBaggage 528 +#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L + +#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" +#define NID_setct_AuthRevResBaggage 529 +#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L + +#define SN_setct_CapTokenSeq "setct-CapTokenSeq" +#define NID_setct_CapTokenSeq 530 +#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L + +#define SN_setct_PInitResData "setct-PInitResData" +#define NID_setct_PInitResData 531 +#define OBJ_setct_PInitResData OBJ_set_ctype,12L + +#define SN_setct_PI_TBS "setct-PI-TBS" +#define NID_setct_PI_TBS 532 +#define OBJ_setct_PI_TBS OBJ_set_ctype,13L + +#define SN_setct_PResData "setct-PResData" +#define NID_setct_PResData 533 +#define OBJ_setct_PResData OBJ_set_ctype,14L + +#define SN_setct_AuthReqTBS "setct-AuthReqTBS" +#define NID_setct_AuthReqTBS 534 +#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L + +#define SN_setct_AuthResTBS "setct-AuthResTBS" +#define NID_setct_AuthResTBS 535 +#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L + +#define SN_setct_AuthResTBSX "setct-AuthResTBSX" +#define NID_setct_AuthResTBSX 536 +#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L + +#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" +#define NID_setct_AuthTokenTBS 537 +#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L + +#define SN_setct_CapTokenData "setct-CapTokenData" +#define NID_setct_CapTokenData 538 +#define OBJ_setct_CapTokenData OBJ_set_ctype,20L + +#define SN_setct_CapTokenTBS "setct-CapTokenTBS" +#define NID_setct_CapTokenTBS 539 +#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L + +#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" +#define NID_setct_AcqCardCodeMsg 540 +#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L + +#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" +#define NID_setct_AuthRevReqTBS 541 +#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L + +#define SN_setct_AuthRevResData "setct-AuthRevResData" +#define NID_setct_AuthRevResData 542 +#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L + +#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" +#define NID_setct_AuthRevResTBS 543 +#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L + +#define SN_setct_CapReqTBS "setct-CapReqTBS" +#define NID_setct_CapReqTBS 544 +#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L + +#define SN_setct_CapReqTBSX "setct-CapReqTBSX" +#define NID_setct_CapReqTBSX 545 +#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L + +#define SN_setct_CapResData "setct-CapResData" +#define NID_setct_CapResData 546 +#define OBJ_setct_CapResData OBJ_set_ctype,28L + +#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" +#define NID_setct_CapRevReqTBS 547 +#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L + +#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" +#define NID_setct_CapRevReqTBSX 548 +#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L + +#define SN_setct_CapRevResData "setct-CapRevResData" +#define NID_setct_CapRevResData 549 +#define OBJ_setct_CapRevResData OBJ_set_ctype,31L + +#define SN_setct_CredReqTBS "setct-CredReqTBS" +#define NID_setct_CredReqTBS 550 +#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L + +#define SN_setct_CredReqTBSX "setct-CredReqTBSX" +#define NID_setct_CredReqTBSX 551 +#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L + +#define SN_setct_CredResData "setct-CredResData" +#define NID_setct_CredResData 552 +#define OBJ_setct_CredResData OBJ_set_ctype,34L + +#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" +#define NID_setct_CredRevReqTBS 553 +#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L + +#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" +#define NID_setct_CredRevReqTBSX 554 +#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L + +#define SN_setct_CredRevResData "setct-CredRevResData" +#define NID_setct_CredRevResData 555 +#define OBJ_setct_CredRevResData OBJ_set_ctype,37L + +#define SN_setct_PCertReqData "setct-PCertReqData" +#define NID_setct_PCertReqData 556 +#define OBJ_setct_PCertReqData OBJ_set_ctype,38L + +#define SN_setct_PCertResTBS "setct-PCertResTBS" +#define NID_setct_PCertResTBS 557 +#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L + +#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" +#define NID_setct_BatchAdminReqData 558 +#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L + +#define SN_setct_BatchAdminResData "setct-BatchAdminResData" +#define NID_setct_BatchAdminResData 559 +#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L + +#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" +#define NID_setct_CardCInitResTBS 560 +#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L + +#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" +#define NID_setct_MeAqCInitResTBS 561 +#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L + +#define SN_setct_RegFormResTBS "setct-RegFormResTBS" +#define NID_setct_RegFormResTBS 562 +#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L + +#define SN_setct_CertReqData "setct-CertReqData" +#define NID_setct_CertReqData 563 +#define OBJ_setct_CertReqData OBJ_set_ctype,45L + +#define SN_setct_CertReqTBS "setct-CertReqTBS" +#define NID_setct_CertReqTBS 564 +#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L + +#define SN_setct_CertResData "setct-CertResData" +#define NID_setct_CertResData 565 +#define OBJ_setct_CertResData OBJ_set_ctype,47L + +#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" +#define NID_setct_CertInqReqTBS 566 +#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L + +#define SN_setct_ErrorTBS "setct-ErrorTBS" +#define NID_setct_ErrorTBS 567 +#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L + +#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" +#define NID_setct_PIDualSignedTBE 568 +#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L + +#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" +#define NID_setct_PIUnsignedTBE 569 +#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L + +#define SN_setct_AuthReqTBE "setct-AuthReqTBE" +#define NID_setct_AuthReqTBE 570 +#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L + +#define SN_setct_AuthResTBE "setct-AuthResTBE" +#define NID_setct_AuthResTBE 571 +#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L + +#define SN_setct_AuthResTBEX "setct-AuthResTBEX" +#define NID_setct_AuthResTBEX 572 +#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L + +#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" +#define NID_setct_AuthTokenTBE 573 +#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L + +#define SN_setct_CapTokenTBE "setct-CapTokenTBE" +#define NID_setct_CapTokenTBE 574 +#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L + +#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" +#define NID_setct_CapTokenTBEX 575 +#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L + +#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" +#define NID_setct_AcqCardCodeMsgTBE 576 +#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L + +#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" +#define NID_setct_AuthRevReqTBE 577 +#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L + +#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" +#define NID_setct_AuthRevResTBE 578 +#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L + +#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" +#define NID_setct_AuthRevResTBEB 579 +#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L + +#define SN_setct_CapReqTBE "setct-CapReqTBE" +#define NID_setct_CapReqTBE 580 +#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L + +#define SN_setct_CapReqTBEX "setct-CapReqTBEX" +#define NID_setct_CapReqTBEX 581 +#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L + +#define SN_setct_CapResTBE "setct-CapResTBE" +#define NID_setct_CapResTBE 582 +#define OBJ_setct_CapResTBE OBJ_set_ctype,64L + +#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" +#define NID_setct_CapRevReqTBE 583 +#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L + +#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" +#define NID_setct_CapRevReqTBEX 584 +#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L + +#define SN_setct_CapRevResTBE "setct-CapRevResTBE" +#define NID_setct_CapRevResTBE 585 +#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L + +#define SN_setct_CredReqTBE "setct-CredReqTBE" +#define NID_setct_CredReqTBE 586 +#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L + +#define SN_setct_CredReqTBEX "setct-CredReqTBEX" +#define NID_setct_CredReqTBEX 587 +#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L + +#define SN_setct_CredResTBE "setct-CredResTBE" +#define NID_setct_CredResTBE 588 +#define OBJ_setct_CredResTBE OBJ_set_ctype,70L + +#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" +#define NID_setct_CredRevReqTBE 589 +#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L + +#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" +#define NID_setct_CredRevReqTBEX 590 +#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L + +#define SN_setct_CredRevResTBE "setct-CredRevResTBE" +#define NID_setct_CredRevResTBE 591 +#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L + +#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" +#define NID_setct_BatchAdminReqTBE 592 +#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L + +#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" +#define NID_setct_BatchAdminResTBE 593 +#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L + +#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" +#define NID_setct_RegFormReqTBE 594 +#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L + +#define SN_setct_CertReqTBE "setct-CertReqTBE" +#define NID_setct_CertReqTBE 595 +#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L + +#define SN_setct_CertReqTBEX "setct-CertReqTBEX" +#define NID_setct_CertReqTBEX 596 +#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L + +#define SN_setct_CertResTBE "setct-CertResTBE" +#define NID_setct_CertResTBE 597 +#define OBJ_setct_CertResTBE OBJ_set_ctype,79L + +#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" +#define NID_setct_CRLNotificationTBS 598 +#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L + +#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" +#define NID_setct_CRLNotificationResTBS 599 +#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L + +#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" +#define NID_setct_BCIDistributionTBS 600 +#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L + +#define SN_setext_genCrypt "setext-genCrypt" +#define LN_setext_genCrypt "generic cryptogram" +#define NID_setext_genCrypt 601 +#define OBJ_setext_genCrypt OBJ_set_msgExt,1L + +#define SN_setext_miAuth "setext-miAuth" +#define LN_setext_miAuth "merchant initiated auth" +#define NID_setext_miAuth 602 +#define OBJ_setext_miAuth OBJ_set_msgExt,3L + +#define SN_setext_pinSecure "setext-pinSecure" +#define NID_setext_pinSecure 603 +#define OBJ_setext_pinSecure OBJ_set_msgExt,4L + +#define SN_setext_pinAny "setext-pinAny" +#define NID_setext_pinAny 604 +#define OBJ_setext_pinAny OBJ_set_msgExt,5L + +#define SN_setext_track2 "setext-track2" +#define NID_setext_track2 605 +#define OBJ_setext_track2 OBJ_set_msgExt,7L + +#define SN_setext_cv "setext-cv" +#define LN_setext_cv "additional verification" +#define NID_setext_cv 606 +#define OBJ_setext_cv OBJ_set_msgExt,8L + +#define SN_set_policy_root "set-policy-root" +#define NID_set_policy_root 607 +#define OBJ_set_policy_root OBJ_set_policy,0L + +#define SN_setCext_hashedRoot "setCext-hashedRoot" +#define NID_setCext_hashedRoot 608 +#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L + +#define SN_setCext_certType "setCext-certType" +#define NID_setCext_certType 609 +#define OBJ_setCext_certType OBJ_set_certExt,1L + +#define SN_setCext_merchData "setCext-merchData" +#define NID_setCext_merchData 610 +#define OBJ_setCext_merchData OBJ_set_certExt,2L + +#define SN_setCext_cCertRequired "setCext-cCertRequired" +#define NID_setCext_cCertRequired 611 +#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L + +#define SN_setCext_tunneling "setCext-tunneling" +#define NID_setCext_tunneling 612 +#define OBJ_setCext_tunneling OBJ_set_certExt,4L + +#define SN_setCext_setExt "setCext-setExt" +#define NID_setCext_setExt 613 +#define OBJ_setCext_setExt OBJ_set_certExt,5L + +#define SN_setCext_setQualf "setCext-setQualf" +#define NID_setCext_setQualf 614 +#define OBJ_setCext_setQualf OBJ_set_certExt,6L + +#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" +#define NID_setCext_PGWYcapabilities 615 +#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L + +#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" +#define NID_setCext_TokenIdentifier 616 +#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L + +#define SN_setCext_Track2Data "setCext-Track2Data" +#define NID_setCext_Track2Data 617 +#define OBJ_setCext_Track2Data OBJ_set_certExt,9L + +#define SN_setCext_TokenType "setCext-TokenType" +#define NID_setCext_TokenType 618 +#define OBJ_setCext_TokenType OBJ_set_certExt,10L + +#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" +#define NID_setCext_IssuerCapabilities 619 +#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L + +#define SN_setAttr_Cert "setAttr-Cert" +#define NID_setAttr_Cert 620 +#define OBJ_setAttr_Cert OBJ_set_attr,0L + +#define SN_setAttr_PGWYcap "setAttr-PGWYcap" +#define LN_setAttr_PGWYcap "payment gateway capabilities" +#define NID_setAttr_PGWYcap 621 +#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L + +#define SN_setAttr_TokenType "setAttr-TokenType" +#define NID_setAttr_TokenType 622 +#define OBJ_setAttr_TokenType OBJ_set_attr,2L + +#define SN_setAttr_IssCap "setAttr-IssCap" +#define LN_setAttr_IssCap "issuer capabilities" +#define NID_setAttr_IssCap 623 +#define OBJ_setAttr_IssCap OBJ_set_attr,3L + +#define SN_set_rootKeyThumb "set-rootKeyThumb" +#define NID_set_rootKeyThumb 624 +#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L + +#define SN_set_addPolicy "set-addPolicy" +#define NID_set_addPolicy 625 +#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L + +#define SN_setAttr_Token_EMV "setAttr-Token-EMV" +#define NID_setAttr_Token_EMV 626 +#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L + +#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" +#define NID_setAttr_Token_B0Prime 627 +#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L + +#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" +#define NID_setAttr_IssCap_CVM 628 +#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L + +#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" +#define NID_setAttr_IssCap_T2 629 +#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L + +#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" +#define NID_setAttr_IssCap_Sig 630 +#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L + +#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" +#define LN_setAttr_GenCryptgrm "generate cryptogram" +#define NID_setAttr_GenCryptgrm 631 +#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L + +#define SN_setAttr_T2Enc "setAttr-T2Enc" +#define LN_setAttr_T2Enc "encrypted track 2" +#define NID_setAttr_T2Enc 632 +#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L + +#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" +#define LN_setAttr_T2cleartxt "cleartext track 2" +#define NID_setAttr_T2cleartxt 633 +#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L + +#define SN_setAttr_TokICCsig "setAttr-TokICCsig" +#define LN_setAttr_TokICCsig "ICC or token signature" +#define NID_setAttr_TokICCsig 634 +#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L + +#define SN_setAttr_SecDevSig "setAttr-SecDevSig" +#define LN_setAttr_SecDevSig "secure device signature" +#define NID_setAttr_SecDevSig 635 +#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L + +#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" +#define NID_set_brand_IATA_ATA 636 +#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L + +#define SN_set_brand_Diners "set-brand-Diners" +#define NID_set_brand_Diners 637 +#define OBJ_set_brand_Diners OBJ_set_brand,30L + +#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" +#define NID_set_brand_AmericanExpress 638 +#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L + +#define SN_set_brand_JCB "set-brand-JCB" +#define NID_set_brand_JCB 639 +#define OBJ_set_brand_JCB OBJ_set_brand,35L + +#define SN_set_brand_Visa "set-brand-Visa" +#define NID_set_brand_Visa 640 +#define OBJ_set_brand_Visa OBJ_set_brand,4L + +#define SN_set_brand_MasterCard "set-brand-MasterCard" +#define NID_set_brand_MasterCard 641 +#define OBJ_set_brand_MasterCard OBJ_set_brand,5L + +#define SN_set_brand_Novus "set-brand-Novus" +#define NID_set_brand_Novus 642 +#define OBJ_set_brand_Novus OBJ_set_brand,6011L + +#define SN_des_cdmf "DES-CDMF" +#define LN_des_cdmf "des-cdmf" +#define NID_des_cdmf 643 +#define OBJ_des_cdmf OBJ_rsadsi,3L,10L + +#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" +#define NID_rsaOAEPEncryptionSET 644 +#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L + +#define SN_ipsec3 "Oakley-EC2N-3" +#define LN_ipsec3 "ipsec3" +#define NID_ipsec3 749 + +#define SN_ipsec4 "Oakley-EC2N-4" +#define LN_ipsec4 "ipsec4" +#define NID_ipsec4 750 + +#define SN_whirlpool "whirlpool" +#define NID_whirlpool 804 +#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L + +#define SN_cryptopro "cryptopro" +#define NID_cryptopro 805 +#define OBJ_cryptopro OBJ_member_body,643L,2L,2L + +#define SN_cryptocom "cryptocom" +#define NID_cryptocom 806 +#define OBJ_cryptocom OBJ_member_body,643L,2L,9L + +#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" +#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" +#define NID_id_GostR3411_94_with_GostR3410_2001 807 +#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L + +#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" +#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" +#define NID_id_GostR3411_94_with_GostR3410_94 808 +#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L + +#define SN_id_GostR3411_94 "md_gost94" +#define LN_id_GostR3411_94 "GOST R 34.11-94" +#define NID_id_GostR3411_94 809 +#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L + +#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" +#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" +#define NID_id_HMACGostR3411_94 810 +#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L + +#define SN_id_GostR3410_2001 "gost2001" +#define LN_id_GostR3410_2001 "GOST R 34.10-2001" +#define NID_id_GostR3410_2001 811 +#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L + +#define SN_id_GostR3410_94 "gost94" +#define LN_id_GostR3410_94 "GOST R 34.10-94" +#define NID_id_GostR3410_94 812 +#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L + +#define SN_id_Gost28147_89 "gost89" +#define LN_id_Gost28147_89 "GOST 28147-89" +#define NID_id_Gost28147_89 813 +#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L + +#define SN_gost89_cnt "gost89-cnt" +#define NID_gost89_cnt 814 + +#define SN_id_Gost28147_89_MAC "gost-mac" +#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" +#define NID_id_Gost28147_89_MAC 815 +#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L + +#define SN_id_GostR3411_94_prf "prf-gostr3411-94" +#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" +#define NID_id_GostR3411_94_prf 816 +#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L + +#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" +#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" +#define NID_id_GostR3410_2001DH 817 +#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L + +#define SN_id_GostR3410_94DH "id-GostR3410-94DH" +#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" +#define NID_id_GostR3410_94DH 818 +#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L + +#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" +#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 +#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L + +#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" +#define NID_id_Gost28147_89_None_KeyMeshing 820 +#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L + +#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" +#define NID_id_GostR3411_94_TestParamSet 821 +#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L + +#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" +#define NID_id_GostR3411_94_CryptoProParamSet 822 +#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L + +#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" +#define NID_id_Gost28147_89_TestParamSet 823 +#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L + +#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 +#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L + +#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 +#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L + +#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 +#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L + +#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 +#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L + +#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 +#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L + +#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" +#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 +#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L + +#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" +#define NID_id_GostR3410_94_TestParamSet 831 +#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L + +#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 +#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L + +#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 +#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L + +#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 +#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L + +#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 +#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L + +#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 +#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L + +#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 +#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L + +#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" +#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 +#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L + +#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" +#define NID_id_GostR3410_2001_TestParamSet 839 +#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L + +#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 +#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L + +#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 +#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L + +#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 +#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L + +#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 +#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L + +#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" +#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 +#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L + +#define SN_id_GostR3410_94_a "id-GostR3410-94-a" +#define NID_id_GostR3410_94_a 845 +#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L + +#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" +#define NID_id_GostR3410_94_aBis 846 +#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L + +#define SN_id_GostR3410_94_b "id-GostR3410-94-b" +#define NID_id_GostR3410_94_b 847 +#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L + +#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" +#define NID_id_GostR3410_94_bBis 848 +#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L + +#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" +#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" +#define NID_id_Gost28147_89_cc 849 +#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L + +#define SN_id_GostR3410_94_cc "gost94cc" +#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" +#define NID_id_GostR3410_94_cc 850 +#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L + +#define SN_id_GostR3410_2001_cc "gost2001cc" +#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" +#define NID_id_GostR3410_2001_cc 851 +#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L + +#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" +#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 +#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L + +#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" +#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" +#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 +#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L + +#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" +#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" +#define NID_id_GostR3410_2001_ParamSet_cc 854 +#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L + +#define SN_sm3 "SM3" +#define LN_sm3 "sm3" +#define NID_sm3 968 +#define OBJ_sm3 1L,2L,156L,10197L,1L,401L + +#define SN_sm3WithRSAEncryption "RSA-SM3" +#define LN_sm3WithRSAEncryption "sm3WithRSAEncryption" +#define NID_sm3WithRSAEncryption 969 +#define OBJ_sm3WithRSAEncryption 1L,2L,156L,10197L,1L,504L + +#define SN_camellia_128_cbc "CAMELLIA-128-CBC" +#define LN_camellia_128_cbc "camellia-128-cbc" +#define NID_camellia_128_cbc 751 +#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L + +#define SN_camellia_192_cbc "CAMELLIA-192-CBC" +#define LN_camellia_192_cbc "camellia-192-cbc" +#define NID_camellia_192_cbc 752 +#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L + +#define SN_camellia_256_cbc "CAMELLIA-256-CBC" +#define LN_camellia_256_cbc "camellia-256-cbc" +#define NID_camellia_256_cbc 753 +#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L + +#define SN_id_camellia128_wrap "id-camellia128-wrap" +#define NID_id_camellia128_wrap 907 +#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L + +#define SN_id_camellia192_wrap "id-camellia192-wrap" +#define NID_id_camellia192_wrap 908 +#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L + +#define SN_id_camellia256_wrap "id-camellia256-wrap" +#define NID_id_camellia256_wrap 909 +#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L + +#define OBJ_ntt_ds 0L,3L,4401L,5L + +#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L + +#define SN_camellia_128_ecb "CAMELLIA-128-ECB" +#define LN_camellia_128_ecb "camellia-128-ecb" +#define NID_camellia_128_ecb 754 +#define OBJ_camellia_128_ecb OBJ_camellia,1L + +#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" +#define LN_camellia_128_ofb128 "camellia-128-ofb" +#define NID_camellia_128_ofb128 766 +#define OBJ_camellia_128_ofb128 OBJ_camellia,3L + +#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" +#define LN_camellia_128_cfb128 "camellia-128-cfb" +#define NID_camellia_128_cfb128 757 +#define OBJ_camellia_128_cfb128 OBJ_camellia,4L + +#define SN_camellia_192_ecb "CAMELLIA-192-ECB" +#define LN_camellia_192_ecb "camellia-192-ecb" +#define NID_camellia_192_ecb 755 +#define OBJ_camellia_192_ecb OBJ_camellia,21L + +#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" +#define LN_camellia_192_ofb128 "camellia-192-ofb" +#define NID_camellia_192_ofb128 767 +#define OBJ_camellia_192_ofb128 OBJ_camellia,23L + +#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" +#define LN_camellia_192_cfb128 "camellia-192-cfb" +#define NID_camellia_192_cfb128 758 +#define OBJ_camellia_192_cfb128 OBJ_camellia,24L + +#define SN_camellia_256_ecb "CAMELLIA-256-ECB" +#define LN_camellia_256_ecb "camellia-256-ecb" +#define NID_camellia_256_ecb 756 +#define OBJ_camellia_256_ecb OBJ_camellia,41L + +#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" +#define LN_camellia_256_ofb128 "camellia-256-ofb" +#define NID_camellia_256_ofb128 768 +#define OBJ_camellia_256_ofb128 OBJ_camellia,43L + +#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" +#define LN_camellia_256_cfb128 "camellia-256-cfb" +#define NID_camellia_256_cfb128 759 +#define OBJ_camellia_256_cfb128 OBJ_camellia,44L + +#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" +#define LN_camellia_128_cfb1 "camellia-128-cfb1" +#define NID_camellia_128_cfb1 760 + +#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" +#define LN_camellia_192_cfb1 "camellia-192-cfb1" +#define NID_camellia_192_cfb1 761 + +#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" +#define LN_camellia_256_cfb1 "camellia-256-cfb1" +#define NID_camellia_256_cfb1 762 + +#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" +#define LN_camellia_128_cfb8 "camellia-128-cfb8" +#define NID_camellia_128_cfb8 763 + +#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" +#define LN_camellia_192_cfb8 "camellia-192-cfb8" +#define NID_camellia_192_cfb8 764 + +#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" +#define LN_camellia_256_cfb8 "camellia-256-cfb8" +#define NID_camellia_256_cfb8 765 + +#define SN_kisa "KISA" +#define LN_kisa "kisa" +#define NID_kisa 773 +#define OBJ_kisa OBJ_member_body,410L,200004L + +#define SN_seed_ecb "SEED-ECB" +#define LN_seed_ecb "seed-ecb" +#define NID_seed_ecb 776 +#define OBJ_seed_ecb OBJ_kisa,1L,3L + +#define SN_seed_cbc "SEED-CBC" +#define LN_seed_cbc "seed-cbc" +#define NID_seed_cbc 777 +#define OBJ_seed_cbc OBJ_kisa,1L,4L + +#define SN_seed_cfb128 "SEED-CFB" +#define LN_seed_cfb128 "seed-cfb" +#define NID_seed_cfb128 779 +#define OBJ_seed_cfb128 OBJ_kisa,1L,5L + +#define SN_seed_ofb128 "SEED-OFB" +#define LN_seed_ofb128 "seed-ofb" +#define NID_seed_ofb128 778 +#define OBJ_seed_ofb128 OBJ_kisa,1L,6L + +#define SN_ISO_CN "ISO-CN" +#define LN_ISO_CN "ISO CN Member Body" +#define NID_ISO_CN 970 +#define OBJ_ISO_CN OBJ_member_body,156L + +#define SN_oscca "oscca" +#define NID_oscca 971 +#define OBJ_oscca OBJ_ISO_CN,10197L + +#define SN_sm_scheme "sm-scheme" +#define NID_sm_scheme 972 +#define OBJ_sm_scheme OBJ_oscca,1L + +#define SN_sm4_ecb "SM4-ECB" +#define LN_sm4_ecb "sm4-ecb" +#define NID_sm4_ecb 973 +#define OBJ_sm4_ecb OBJ_sm_scheme,104L,1L + +#define SN_sm4_cbc "SM4-CBC" +#define LN_sm4_cbc "sm4-cbc" +#define NID_sm4_cbc 974 +#define OBJ_sm4_cbc OBJ_sm_scheme,104L,2L + +#define SN_sm4_ofb128 "SM4-OFB" +#define LN_sm4_ofb128 "sm4-ofb" +#define NID_sm4_ofb128 975 +#define OBJ_sm4_ofb128 OBJ_sm_scheme,104L,3L + +#define SN_sm4_cfb128 "SM4-CFB" +#define LN_sm4_cfb128 "sm4-cfb" +#define NID_sm4_cfb128 976 +#define OBJ_sm4_cfb128 OBJ_sm_scheme,104L,4L + +#define SN_sm4_cfb1 "SM4-CFB1" +#define LN_sm4_cfb1 "sm4-cfb1" +#define NID_sm4_cfb1 977 +#define OBJ_sm4_cfb1 OBJ_sm_scheme,104L,5L + +#define SN_sm4_cfb8 "SM4-CFB8" +#define LN_sm4_cfb8 "sm4-cfb8" +#define NID_sm4_cfb8 978 +#define OBJ_sm4_cfb8 OBJ_sm_scheme,104L,6L + +#define SN_sm4_ctr "SM4-CTR" +#define LN_sm4_ctr "sm4-ctr" +#define NID_sm4_ctr 979 +#define OBJ_sm4_ctr OBJ_sm_scheme,104L,7L + +#define SN_hmac "HMAC" +#define LN_hmac "hmac" +#define NID_hmac 855 + +#define SN_cmac "CMAC" +#define LN_cmac "cmac" +#define NID_cmac 894 + +#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" +#define LN_rc4_hmac_md5 "rc4-hmac-md5" +#define NID_rc4_hmac_md5 915 + +#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" +#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" +#define NID_aes_128_cbc_hmac_sha1 916 + +#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" +#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" +#define NID_aes_192_cbc_hmac_sha1 917 + +#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" +#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" +#define NID_aes_256_cbc_hmac_sha1 918 + +#define OBJ_x9_63_scheme 1L,3L,133L,16L,840L,63L,0L + +#define OBJ_secg_scheme OBJ_certicom_arc,1L + +#define SN_dhSinglePass_stdDH_sha1kdf_scheme "dhSinglePass-stdDH-sha1kdf-scheme" +#define NID_dhSinglePass_stdDH_sha1kdf_scheme 980 +#define OBJ_dhSinglePass_stdDH_sha1kdf_scheme OBJ_x9_63_scheme,2L + +#define SN_dhSinglePass_stdDH_sha224kdf_scheme "dhSinglePass-stdDH-sha224kdf-scheme" +#define NID_dhSinglePass_stdDH_sha224kdf_scheme 981 +#define OBJ_dhSinglePass_stdDH_sha224kdf_scheme OBJ_secg_scheme,11L,0L + +#define SN_dhSinglePass_stdDH_sha256kdf_scheme "dhSinglePass-stdDH-sha256kdf-scheme" +#define NID_dhSinglePass_stdDH_sha256kdf_scheme 982 +#define OBJ_dhSinglePass_stdDH_sha256kdf_scheme OBJ_secg_scheme,11L,1L + +#define SN_dhSinglePass_stdDH_sha384kdf_scheme "dhSinglePass-stdDH-sha384kdf-scheme" +#define NID_dhSinglePass_stdDH_sha384kdf_scheme 983 +#define OBJ_dhSinglePass_stdDH_sha384kdf_scheme OBJ_secg_scheme,11L,2L + +#define SN_dhSinglePass_stdDH_sha512kdf_scheme "dhSinglePass-stdDH-sha512kdf-scheme" +#define NID_dhSinglePass_stdDH_sha512kdf_scheme 984 +#define OBJ_dhSinglePass_stdDH_sha512kdf_scheme OBJ_secg_scheme,11L,3L + +#define SN_dhSinglePass_cofactorDH_sha1kdf_scheme "dhSinglePass-cofactorDH-sha1kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha1kdf_scheme 985 +#define OBJ_dhSinglePass_cofactorDH_sha1kdf_scheme OBJ_x9_63_scheme,3L + +#define SN_dhSinglePass_cofactorDH_sha224kdf_scheme "dhSinglePass-cofactorDH-sha224kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha224kdf_scheme 986 +#define OBJ_dhSinglePass_cofactorDH_sha224kdf_scheme OBJ_secg_scheme,14L,0L + +#define SN_dhSinglePass_cofactorDH_sha256kdf_scheme "dhSinglePass-cofactorDH-sha256kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha256kdf_scheme 987 +#define OBJ_dhSinglePass_cofactorDH_sha256kdf_scheme OBJ_secg_scheme,14L,1L + +#define SN_dhSinglePass_cofactorDH_sha384kdf_scheme "dhSinglePass-cofactorDH-sha384kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha384kdf_scheme 988 +#define OBJ_dhSinglePass_cofactorDH_sha384kdf_scheme OBJ_secg_scheme,14L,2L + +#define SN_dhSinglePass_cofactorDH_sha512kdf_scheme "dhSinglePass-cofactorDH-sha512kdf-scheme" +#define NID_dhSinglePass_cofactorDH_sha512kdf_scheme 989 +#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L + +#define SN_dh_std_kdf "dh-std-kdf" +#define NID_dh_std_kdf 990 + +#define SN_dh_cofactor_kdf "dh-cofactor-kdf" +#define NID_dh_cofactor_kdf 991 + +#define SN_ct_precert_scts "ct_precert_scts" +#define LN_ct_precert_scts "CT Precertificate SCTs" +#define NID_ct_precert_scts 1018 +#define OBJ_ct_precert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,2L + +#define SN_ct_precert_poison "ct_precert_poison" +#define LN_ct_precert_poison "CT Precertificate Poison" +#define NID_ct_precert_poison 1019 +#define OBJ_ct_precert_poison 1L,3L,6L,1L,4L,1L,11129L,2L,4L,3L + +#define SN_ct_precert_signer "ct_precert_signer" +#define LN_ct_precert_signer "CT Precertificate Signer" +#define NID_ct_precert_signer 1020 +#define OBJ_ct_precert_signer 1L,3L,6L,1L,4L,1L,11129L,2L,4L,4L + +#define SN_ct_cert_scts "ct_cert_scts" +#define LN_ct_cert_scts "CT Certificate SCTs" +#define NID_ct_cert_scts 1021 +#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L + +#define SN_tls1_prf "TLS1-PRF" +#define LN_tls1_prf "tls1-prf" +#define NID_tls1_prf 1055 + +#define SN_hkdf "HKDF" +#define LN_hkdf "hkdf" +#define NID_hkdf 1022 + +#define SN_teletrust "teletrust" +#define NID_teletrust 920 +#define OBJ_teletrust OBJ_identified_organization,36L + +#define SN_brainpool "brainpool" +#define NID_brainpool 921 +#define OBJ_brainpool OBJ_teletrust,3L,3L,2L,8L,1L + +#define SN_brainpoolP160r1 "brainpoolP160r1" +#define NID_brainpoolP160r1 922 +#define OBJ_brainpoolP160r1 OBJ_brainpool,1L,1L + +#define SN_brainpoolP160t1 "brainpoolP160t1" +#define NID_brainpoolP160t1 923 +#define OBJ_brainpoolP160t1 OBJ_brainpool,1L,2L + +#define SN_brainpoolP192r1 "brainpoolP192r1" +#define NID_brainpoolP192r1 924 +#define OBJ_brainpoolP192r1 OBJ_brainpool,1L,3L + +#define SN_brainpoolP192t1 "brainpoolP192t1" +#define NID_brainpoolP192t1 925 +#define OBJ_brainpoolP192t1 OBJ_brainpool,1L,4L + +#define SN_brainpoolP224r1 "brainpoolP224r1" +#define NID_brainpoolP224r1 926 +#define OBJ_brainpoolP224r1 OBJ_brainpool,1L,5L + +#define SN_brainpoolP224t1 "brainpoolP224t1" +#define NID_brainpoolP224t1 927 +#define OBJ_brainpoolP224t1 OBJ_brainpool,1L,6L + +#define SN_brainpoolP256r1 "brainpoolP256r1" +#define NID_brainpoolP256r1 928 +#define OBJ_brainpoolP256r1 OBJ_brainpool,1L,7L + +#define SN_brainpoolP256t1 "brainpoolP256t1" +#define NID_brainpoolP256t1 929 +#define OBJ_brainpoolP256t1 OBJ_brainpool,1L,8L + +#define SN_brainpoolP320r1 "brainpoolP320r1" +#define NID_brainpoolP320r1 930 +#define OBJ_brainpoolP320r1 OBJ_brainpool,1L,9L + +#define SN_brainpoolP320t1 "brainpoolP320t1" +#define NID_brainpoolP320t1 931 +#define OBJ_brainpoolP320t1 OBJ_brainpool,1L,10L + +#define SN_brainpoolP384r1 "brainpoolP384r1" +#define NID_brainpoolP384r1 932 +#define OBJ_brainpoolP384r1 OBJ_brainpool,1L,11L + +#define SN_brainpoolP384t1 "brainpoolP384t1" +#define NID_brainpoolP384t1 933 +#define OBJ_brainpoolP384t1 OBJ_brainpool,1L,12L + +#define SN_brainpoolP512r1 "brainpoolP512r1" +#define NID_brainpoolP512r1 934 +#define OBJ_brainpoolP512r1 OBJ_brainpool,1L,13L + +#define SN_brainpoolP512t1 "brainpoolP512t1" +#define NID_brainpoolP512t1 935 +#define OBJ_brainpoolP512t1 OBJ_brainpool,1L,14L + +#define SN_FRP256v1 "FRP256v1" +#define NID_FRP256v1 936 +#define OBJ_FRP256v1 1L,2L,250L,1L,223L,101L,256L,1L + +#define SN_chacha20 "ChaCha" +#define LN_chacha20 "chacha" +#define NID_chacha20 937 + +#define SN_chacha20_poly1305 "ChaCha20-Poly1305" +#define LN_chacha20_poly1305 "chacha20-poly1305" +#define NID_chacha20_poly1305 967 + +#define SN_gost89_ecb "gost89-ecb" +#define NID_gost89_ecb 938 + +#define SN_gost89_cbc "gost89-cbc" +#define NID_gost89_cbc 939 + +#define SN_tc26 "tc26" +#define NID_tc26 940 +#define OBJ_tc26 OBJ_member_body,643L,7L,1L + +#define SN_id_tc26_gost3411_2012_256 "streebog256" +#define LN_id_tc26_gost3411_2012_256 "GOST R 34.11-2012 (256 bit)" +#define NID_id_tc26_gost3411_2012_256 941 +#define OBJ_id_tc26_gost3411_2012_256 OBJ_tc26,1L,2L,2L + +#define SN_id_tc26_gost3411_2012_512 "streebog512" +#define LN_id_tc26_gost3411_2012_512 "GOST R 34-11-2012 (512 bit)" +#define NID_id_tc26_gost3411_2012_512 942 +#define OBJ_id_tc26_gost3411_2012_512 OBJ_tc26,1L,2L,3L + +#define SN_id_tc26_hmac_gost_3411_12_256 "id-tc26-hmac-gost-3411-12-256" +#define LN_id_tc26_hmac_gost_3411_12_256 "HMAC STREEBOG 256" +#define NID_id_tc26_hmac_gost_3411_12_256 999 +#define OBJ_id_tc26_hmac_gost_3411_12_256 OBJ_tc26,1L,4L,1L + +#define SN_id_tc26_hmac_gost_3411_12_512 "id-tc26-hmac-gost-3411-12-512" +#define LN_id_tc26_hmac_gost_3411_12_512 "HMAC STREEBOG 512" +#define NID_id_tc26_hmac_gost_3411_12_512 1000 +#define OBJ_id_tc26_hmac_gost_3411_12_512 OBJ_tc26,1L,4L,2L + +#define SN_id_tc26_gost_3410_12_256_paramSetA "id-tc26-gost-3410-12-256-paramSetA" +#define LN_id_tc26_gost_3410_12_256_paramSetA "GOST R 34.10-2012 (256 bit) ParamSet A" +#define NID_id_tc26_gost_3410_12_256_paramSetA 993 +#define OBJ_id_tc26_gost_3410_12_256_paramSetA OBJ_tc26,2L,1L,1L,1L + +#define SN_id_tc26_gost_3410_12_256_paramSetB "id-tc26-gost-3410-12-256-paramSetB" +#define LN_id_tc26_gost_3410_12_256_paramSetB "GOST R 34.10-2012 (256 bit) ParamSet B" +#define NID_id_tc26_gost_3410_12_256_paramSetB 994 +#define OBJ_id_tc26_gost_3410_12_256_paramSetB OBJ_tc26,2L,1L,1L,2L + +#define SN_id_tc26_gost_3410_12_256_paramSetC "id-tc26-gost-3410-12-256-paramSetC" +#define LN_id_tc26_gost_3410_12_256_paramSetC "GOST R 34.10-2012 (256 bit) ParamSet C" +#define NID_id_tc26_gost_3410_12_256_paramSetC 995 +#define OBJ_id_tc26_gost_3410_12_256_paramSetC OBJ_tc26,2L,1L,1L,3L + +#define SN_id_tc26_gost_3410_12_256_paramSetD "id-tc26-gost-3410-12-256-paramSetD" +#define LN_id_tc26_gost_3410_12_256_paramSetD "GOST R 34.10-2012 (256 bit) ParamSet D" +#define NID_id_tc26_gost_3410_12_256_paramSetD 996 +#define OBJ_id_tc26_gost_3410_12_256_paramSetD OBJ_tc26,2L,1L,1L,4L + +#define SN_id_tc26_gost_3410_12_512_paramSetTest "id-tc26-gost-3410-12-512-paramSetTest" +#define LN_id_tc26_gost_3410_12_512_paramSetTest "GOST R 34.10-2012 (512 bit) testing parameter set" +#define NID_id_tc26_gost_3410_12_512_paramSetTest 997 +#define OBJ_id_tc26_gost_3410_12_512_paramSetTest OBJ_tc26,2L,1L,2L,0L + +#define SN_id_tc26_gost_3410_12_512_paramSetA "id-tc26-gost-3410-12-512-paramSetA" +#define LN_id_tc26_gost_3410_12_512_paramSetA "GOST R 34.10-2012 (512 bit) ParamSet A" +#define NID_id_tc26_gost_3410_12_512_paramSetA 943 +#define OBJ_id_tc26_gost_3410_12_512_paramSetA OBJ_tc26,2L,1L,2L,1L + +#define SN_id_tc26_gost_3410_12_512_paramSetB "id-tc26-gost-3410-12-512-paramSetB" +#define LN_id_tc26_gost_3410_12_512_paramSetB "GOST R 34.10-2012 (512 bit) ParamSet B" +#define NID_id_tc26_gost_3410_12_512_paramSetB 944 +#define OBJ_id_tc26_gost_3410_12_512_paramSetB OBJ_tc26,2L,1L,2L,2L + +#define SN_id_tc26_gost_3410_12_512_paramSetC "id-tc26-gost-3410-12-512-paramSetC" +#define LN_id_tc26_gost_3410_12_512_paramSetC "GOST R 34.10-2012 (512 bit) ParamSet C" +#define NID_id_tc26_gost_3410_12_512_paramSetC 998 +#define OBJ_id_tc26_gost_3410_12_512_paramSetC OBJ_tc26,2L,1L,2L,3L + +#define SN_id_tc26_gost_28147_param_Z "id-tc26-gost-28147-param-Z" +#define NID_id_tc26_gost_28147_param_Z 945 +#define OBJ_id_tc26_gost_28147_param_Z OBJ_tc26,2L,5L,1L,1L + +#define SN_id_tc26_gost3410_2012_256 "id-tc26-gost3410-2012-256" +#define LN_id_tc26_gost3410_2012_256 "GOST R 34.10-2012 (256 bit)" +#define NID_id_tc26_gost3410_2012_256 946 +#define OBJ_id_tc26_gost3410_2012_256 OBJ_tc26,1L,1L,1L + +#define SN_id_tc26_gost3410_2012_512 "id-tc26-gost3410-2012-512" +#define LN_id_tc26_gost3410_2012_512 "GOST R 34.10-2012 (512 bit)" +#define NID_id_tc26_gost3410_2012_512 947 +#define OBJ_id_tc26_gost3410_2012_512 OBJ_tc26,1L,1L,2L + +#define SN_id_tc26_signwithdigest_gost3410_2012_256 "id-tc26-signwithdigest-gost3410-2012-256" +#define LN_id_tc26_signwithdigest_gost3410_2012_256 "GOST R 34.11-2012 with GOST R 34.10-2012 (256 bit)" +#define NID_id_tc26_signwithdigest_gost3410_2012_256 948 +#define OBJ_id_tc26_signwithdigest_gost3410_2012_256 OBJ_tc26,1L,3L,2L + +#define SN_id_tc26_signwithdigest_gost3410_2012_512 "id-tc26-signwithdigest-gost3410-2012-512" +#define LN_id_tc26_signwithdigest_gost3410_2012_512 "GOST R 34.11-2012 with GOST R 34.10-2012 (512 bit)" +#define NID_id_tc26_signwithdigest_gost3410_2012_512 949 +#define OBJ_id_tc26_signwithdigest_gost3410_2012_512 OBJ_tc26,1L,3L,3L + +#define SN_X25519 "X25519" +#define NID_X25519 950 +#define OBJ_X25519 1L,3L,101L,110L + +#define SN_X448 "X448" +#define NID_X448 951 +#define OBJ_X448 1L,3L,101L,111L + +#define SN_Ed25519 "Ed25519" +#define NID_Ed25519 952 +#define OBJ_Ed25519 1L,3L,101L,112L + +#define SN_Ed448 "Ed448" +#define NID_Ed448 953 +#define OBJ_Ed448 1L,3L,101L,113L + +#define SN_Ed25519ph "Ed25519ph" +#define NID_Ed25519ph 954 +#define OBJ_Ed25519ph 1L,3L,101L,114L + +#define SN_Ed448ph "Ed448ph" +#define NID_Ed448ph 955 +#define OBJ_Ed448ph 1L,3L,101L,115L + +#define SN_kx_rsa "KxRSA" +#define LN_kx_rsa "kx-rsa" +#define NID_kx_rsa 959 + +#define SN_kx_ecdhe "KxECDHE" +#define LN_kx_ecdhe "kx-ecdhe" +#define NID_kx_ecdhe 960 + +#define SN_kx_dhe "KxDHE" +#define LN_kx_dhe "kx-dhe" +#define NID_kx_dhe 961 + +#define SN_kx_gost "KxGOST" +#define LN_kx_gost "kx-gost" +#define NID_kx_gost 962 + +#define SN_auth_rsa "AuthRSA" +#define LN_auth_rsa "auth-rsa" +#define NID_auth_rsa 963 + +#define SN_auth_ecdsa "AuthECDSA" +#define LN_auth_ecdsa "auth-ecdsa" +#define NID_auth_ecdsa 964 + +#define SN_auth_gost01 "AuthGOST01" +#define LN_auth_gost01 "auth-gost01" +#define NID_auth_gost01 965 + +#define SN_auth_null "AuthNULL" +#define LN_auth_null "auth-null" +#define NID_auth_null 966 + diff --git a/curl/include/openssl/objects.h b/curl/include/openssl/objects.h new file mode 100644 index 0000000..1a8490b --- /dev/null +++ b/curl/include/openssl/objects.h @@ -0,0 +1,137 @@ +/* $OpenBSD: objects.h,v 1.29 2024/03/02 09:51:36 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_OBJECTS_H +#define HEADER_OBJECTS_H + +#include + +#define SN_ED25519 SN_Ed25519 +#define NID_ED25519 NID_Ed25519 +#define OBJ_ED25519 OBJ_Ed25519 + +#include +#include + +#define OBJ_NAME_TYPE_UNDEF 0x00 +#define OBJ_NAME_TYPE_MD_METH 0x01 +#define OBJ_NAME_TYPE_CIPHER_METH 0x02 +#define OBJ_NAME_TYPE_NUM 0x03 + +#define OBJ_NAME_ALIAS 0x8000 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct obj_name_st { + int type; + int alias; + const char *name; + const void *data; +} OBJ_NAME; + +void OBJ_NAME_do_all(int type, void (*fn)(const OBJ_NAME *, void *arg), + void *arg); +void OBJ_NAME_do_all_sorted(int type, void (*fn)(const OBJ_NAME *, void *arg), + void *arg); + +ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o); +ASN1_OBJECT * OBJ_nid2obj(int n); +const char * OBJ_nid2ln(int n); +const char * OBJ_nid2sn(int n); +int OBJ_obj2nid(const ASN1_OBJECT *o); +ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); +int OBJ_txt2nid(const char *s); +int OBJ_ln2nid(const char *s); +int OBJ_sn2nid(const char *s); +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); + +int OBJ_new_nid(int num); +int OBJ_create(const char *oid, const char *sn, const char *ln); +void OBJ_cleanup(void); +int OBJ_create_objects(BIO *in); + +size_t OBJ_length(const ASN1_OBJECT *obj); +const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj); + +int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); +int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); + +void ERR_load_OBJ_strings(void); + +/* Error codes for the OBJ functions. */ + +/* Function codes. */ +#define OBJ_F_OBJ_ADD_OBJECT 105 +#define OBJ_F_OBJ_CREATE 100 +#define OBJ_F_OBJ_DUP 101 +#define OBJ_F_OBJ_NAME_NEW_INDEX 106 +#define OBJ_F_OBJ_NID2LN 102 +#define OBJ_F_OBJ_NID2OBJ 103 +#define OBJ_F_OBJ_NID2SN 104 + +/* Reason codes. */ +#define OBJ_R_MALLOC_FAILURE 100 +#define OBJ_R_UNKNOWN_NID 101 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/ocsp.h b/curl/include/openssl/ocsp.h new file mode 100644 index 0000000..691ee4a --- /dev/null +++ b/curl/include/openssl/ocsp.h @@ -0,0 +1,484 @@ +/* $OpenBSD: ocsp.h,v 1.20 2022/07/12 14:42:49 kn Exp $ */ +/* Written by Tom Titchener for the OpenSSL + * project. */ + +/* History: + This file was transfered to Richard Levitte from CertCo by Kathy + Weinhold in mid-spring 2000 to be included in OpenSSL or released + as a patch kit. */ + +/* ==================================================================== + * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_OCSP_H +#define HEADER_OCSP_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * CRLReason ::= ENUMERATED { + * unspecified (0), + * keyCompromise (1), + * cACompromise (2), + * affiliationChanged (3), + * superseded (4), + * cessationOfOperation (5), + * certificateHold (6), + * removeFromCRL (8) } + */ +#define OCSP_REVOKED_STATUS_NOSTATUS -1 +#define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +#define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +#define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +#define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +#define OCSP_REVOKED_STATUS_SUPERSEDED 4 +#define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +#define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +#define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 + + +/* Various flags and values */ + +#define OCSP_DEFAULT_NONCE_LENGTH 16 + +#define OCSP_NOCERTS 0x1 +#define OCSP_NOINTERN 0x2 +#define OCSP_NOSIGS 0x4 +#define OCSP_NOCHAIN 0x8 +#define OCSP_NOVERIFY 0x10 +#define OCSP_NOEXPLICIT 0x20 +#define OCSP_NOCASIGN 0x40 +#define OCSP_NODELEGATED 0x80 +#define OCSP_NOCHECKS 0x100 +#define OCSP_TRUSTOTHER 0x200 +#define OCSP_RESPID_KEY 0x400 +#define OCSP_NOTIME 0x800 + +typedef struct ocsp_cert_id_st OCSP_CERTID; + +DECLARE_STACK_OF(OCSP_CERTID) + +typedef struct ocsp_one_request_st OCSP_ONEREQ; + +DECLARE_STACK_OF(OCSP_ONEREQ) + +typedef struct ocsp_req_info_st OCSP_REQINFO; +typedef struct ocsp_signature_st OCSP_SIGNATURE; +typedef struct ocsp_request_st OCSP_REQUEST; + +#define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 +#define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 +#define OCSP_RESPONSE_STATUS_INTERNALERROR 2 +#define OCSP_RESPONSE_STATUS_TRYLATER 3 +#define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 +#define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 + +typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; + +#define V_OCSP_RESPID_NAME 0 +#define V_OCSP_RESPID_KEY 1 + +DECLARE_STACK_OF(OCSP_RESPID) + +OCSP_RESPID *OCSP_RESPID_new(void); +void OCSP_RESPID_free(OCSP_RESPID *a); +OCSP_RESPID *d2i_OCSP_RESPID(OCSP_RESPID **a, const unsigned char **in, long len); +int i2d_OCSP_RESPID(OCSP_RESPID *a, unsigned char **out); +extern const ASN1_ITEM OCSP_RESPID_it; + +typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; + +#define V_OCSP_CERTSTATUS_GOOD 0 +#define V_OCSP_CERTSTATUS_REVOKED 1 +#define V_OCSP_CERTSTATUS_UNKNOWN 2 + +typedef struct ocsp_cert_status_st OCSP_CERTSTATUS; +typedef struct ocsp_single_response_st OCSP_SINGLERESP; + +DECLARE_STACK_OF(OCSP_SINGLERESP) + +typedef struct ocsp_response_data_st OCSP_RESPDATA; + +typedef struct ocsp_basic_response_st OCSP_BASICRESP; + +typedef struct ocsp_crl_id_st OCSP_CRLID; +typedef struct ocsp_service_locator_st OCSP_SERVICELOC; + +#define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +#define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" + +#define PEM_read_bio_OCSP_REQUEST(bp,x,cb) \ + (OCSP_REQUEST *)PEM_ASN1_read_bio((char *(*)())d2i_OCSP_REQUEST, \ + PEM_STRING_OCSP_REQUEST,bp,(char **)x,cb,NULL) + +#define PEM_read_bio_OCSP_RESPONSE(bp,x,cb) \ + (OCSP_RESPONSE *)PEM_ASN1_read_bio((char *(*)())d2i_OCSP_RESPONSE, \ + PEM_STRING_OCSP_RESPONSE,bp,(char **)x,cb,NULL) + +#define PEM_write_bio_OCSP_REQUEST(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +#define PEM_write_bio_OCSP_RESPONSE(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ + bp,(char *)o, NULL,NULL,0,NULL,NULL) + +#define ASN1_BIT_STRING_digest(data,type,md,len) \ + ASN1_item_digest(&ASN1_BIT_STRING_it,type,data,md,len) + +#define OCSP_CERTSTATUS_dup(cs) \ + ASN1_item_dup(&OCSP_CERTSTATUS_it, cs) + +OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); + +OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, + int maxline); +int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, const char *name, + const char *value); + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, + const X509 *issuer); + +OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, const X509_NAME *issuerName, + const ASN1_BIT_STRING *issuerKey, const ASN1_INTEGER *serialNumber); + +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); + +int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); +int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); +int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); +int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); + +int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); +int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); + +int OCSP_request_sign(OCSP_REQUEST *req, X509 *signer, EVP_PKEY *key, + const EVP_MD *dgst, STACK_OF(X509) *certs, unsigned long flags); + +int OCSP_response_status(OCSP_RESPONSE *resp); +OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); + +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs); +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, + STACK_OF(X509) *extra_certs); + +int OCSP_resp_count(OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP *bs); +const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, + const ASN1_OCTET_STRING **pid, const X509_NAME **pname); + +int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); +int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, + ASN1_GENERALIZEDTIME **revtime, ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, + int *reason, ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, ASN1_GENERALIZEDTIME **nextupd); +int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, + ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); + +int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, + X509_STORE *store, unsigned long flags); + +int OCSP_parse_url(const char *url, char **phost, char **pport, + char **ppath, int *pssl); + +int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); +int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); + +int OCSP_request_onereq_count(OCSP_REQUEST *req); +OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); +OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); +int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, + ASN1_OCTET_STRING **pikeyHash, ASN1_INTEGER **pserial, + OCSP_CERTID *cid); +int OCSP_request_is_signed(OCSP_REQUEST *req); +OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, OCSP_CERTID *cid, + int status, int reason, ASN1_TIME *revtime, ASN1_TIME *thisupd, + ASN1_TIME *nextupd); +int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); +int OCSP_basic_sign(OCSP_BASICRESP *brsp, X509 *signer, EVP_PKEY *key, + const EVP_MD *dgst, STACK_OF(X509) *certs, unsigned long flags); + +X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim); + +X509_EXTENSION *OCSP_accept_responses_new(char **oids); + +X509_EXTENSION *OCSP_archive_cutoff_new(char* tim); + +X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME* issuer, const char **urls); + +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); +int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); +int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); +X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); +void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, int *idx); +int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); + +int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); +int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); +int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); +X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); +X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); +void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); +int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); + +int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); +int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); +int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); +X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); +void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, + int *idx); +int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); + +int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); +int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, + int lastpos); +int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, + const ASN1_OBJECT *obj, int lastpos); +int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); +X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); +void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, + int *idx); +int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, + int loc); +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *x); + +OCSP_SINGLERESP *OCSP_SINGLERESP_new(void); +void OCSP_SINGLERESP_free(OCSP_SINGLERESP *a); +OCSP_SINGLERESP *d2i_OCSP_SINGLERESP(OCSP_SINGLERESP **a, const unsigned char **in, long len); +int i2d_OCSP_SINGLERESP(OCSP_SINGLERESP *a, unsigned char **out); +extern const ASN1_ITEM OCSP_SINGLERESP_it; +OCSP_CERTSTATUS *OCSP_CERTSTATUS_new(void); +void OCSP_CERTSTATUS_free(OCSP_CERTSTATUS *a); +OCSP_CERTSTATUS *d2i_OCSP_CERTSTATUS(OCSP_CERTSTATUS **a, const unsigned char **in, long len); +int i2d_OCSP_CERTSTATUS(OCSP_CERTSTATUS *a, unsigned char **out); +extern const ASN1_ITEM OCSP_CERTSTATUS_it; +OCSP_REVOKEDINFO *OCSP_REVOKEDINFO_new(void); +void OCSP_REVOKEDINFO_free(OCSP_REVOKEDINFO *a); +OCSP_REVOKEDINFO *d2i_OCSP_REVOKEDINFO(OCSP_REVOKEDINFO **a, const unsigned char **in, long len); +int i2d_OCSP_REVOKEDINFO(OCSP_REVOKEDINFO *a, unsigned char **out); +extern const ASN1_ITEM OCSP_REVOKEDINFO_it; +OCSP_BASICRESP *OCSP_BASICRESP_new(void); +void OCSP_BASICRESP_free(OCSP_BASICRESP *a); +OCSP_BASICRESP *d2i_OCSP_BASICRESP(OCSP_BASICRESP **a, const unsigned char **in, long len); +int i2d_OCSP_BASICRESP(OCSP_BASICRESP *a, unsigned char **out); +extern const ASN1_ITEM OCSP_BASICRESP_it; +OCSP_RESPDATA *OCSP_RESPDATA_new(void); +void OCSP_RESPDATA_free(OCSP_RESPDATA *a); +OCSP_RESPDATA *d2i_OCSP_RESPDATA(OCSP_RESPDATA **a, const unsigned char **in, long len); +int i2d_OCSP_RESPDATA(OCSP_RESPDATA *a, unsigned char **out); +extern const ASN1_ITEM OCSP_RESPDATA_it; +OCSP_RESPID *OCSP_RESPID_new(void); +void OCSP_RESPID_free(OCSP_RESPID *a); +OCSP_RESPID *d2i_OCSP_RESPID(OCSP_RESPID **a, const unsigned char **in, long len); +int i2d_OCSP_RESPID(OCSP_RESPID *a, unsigned char **out); +extern const ASN1_ITEM OCSP_RESPID_it; +OCSP_RESPONSE *OCSP_RESPONSE_new(void); +void OCSP_RESPONSE_free(OCSP_RESPONSE *a); +OCSP_RESPONSE *d2i_OCSP_RESPONSE(OCSP_RESPONSE **a, const unsigned char **in, long len); +int i2d_OCSP_RESPONSE(OCSP_RESPONSE *a, unsigned char **out); +OCSP_RESPONSE *d2i_OCSP_RESPONSE_bio(BIO *bp, OCSP_RESPONSE **a); +int i2d_OCSP_RESPONSE_bio(BIO *bp, OCSP_RESPONSE *a); +extern const ASN1_ITEM OCSP_RESPONSE_it; +OCSP_RESPBYTES *OCSP_RESPBYTES_new(void); +void OCSP_RESPBYTES_free(OCSP_RESPBYTES *a); +OCSP_RESPBYTES *d2i_OCSP_RESPBYTES(OCSP_RESPBYTES **a, const unsigned char **in, long len); +int i2d_OCSP_RESPBYTES(OCSP_RESPBYTES *a, unsigned char **out); +extern const ASN1_ITEM OCSP_RESPBYTES_it; +OCSP_ONEREQ *OCSP_ONEREQ_new(void); +void OCSP_ONEREQ_free(OCSP_ONEREQ *a); +OCSP_ONEREQ *d2i_OCSP_ONEREQ(OCSP_ONEREQ **a, const unsigned char **in, long len); +int i2d_OCSP_ONEREQ(OCSP_ONEREQ *a, unsigned char **out); +extern const ASN1_ITEM OCSP_ONEREQ_it; +OCSP_CERTID *OCSP_CERTID_new(void); +void OCSP_CERTID_free(OCSP_CERTID *a); +OCSP_CERTID *d2i_OCSP_CERTID(OCSP_CERTID **a, const unsigned char **in, long len); +int i2d_OCSP_CERTID(OCSP_CERTID *a, unsigned char **out); +extern const ASN1_ITEM OCSP_CERTID_it; +OCSP_REQUEST *OCSP_REQUEST_new(void); +void OCSP_REQUEST_free(OCSP_REQUEST *a); +OCSP_REQUEST *d2i_OCSP_REQUEST(OCSP_REQUEST **a, const unsigned char **in, long len); +int i2d_OCSP_REQUEST(OCSP_REQUEST *a, unsigned char **out); +OCSP_REQUEST *d2i_OCSP_REQUEST_bio(BIO *bp, OCSP_REQUEST **a); +int i2d_OCSP_REQUEST_bio(BIO *bp, OCSP_REQUEST *a); +extern const ASN1_ITEM OCSP_REQUEST_it; +OCSP_SIGNATURE *OCSP_SIGNATURE_new(void); +void OCSP_SIGNATURE_free(OCSP_SIGNATURE *a); +OCSP_SIGNATURE *d2i_OCSP_SIGNATURE(OCSP_SIGNATURE **a, const unsigned char **in, long len); +int i2d_OCSP_SIGNATURE(OCSP_SIGNATURE *a, unsigned char **out); +extern const ASN1_ITEM OCSP_SIGNATURE_it; +OCSP_REQINFO *OCSP_REQINFO_new(void); +void OCSP_REQINFO_free(OCSP_REQINFO *a); +OCSP_REQINFO *d2i_OCSP_REQINFO(OCSP_REQINFO **a, const unsigned char **in, long len); +int i2d_OCSP_REQINFO(OCSP_REQINFO *a, unsigned char **out); +extern const ASN1_ITEM OCSP_REQINFO_it; +OCSP_CRLID *OCSP_CRLID_new(void); +void OCSP_CRLID_free(OCSP_CRLID *a); +OCSP_CRLID *d2i_OCSP_CRLID(OCSP_CRLID **a, const unsigned char **in, long len); +int i2d_OCSP_CRLID(OCSP_CRLID *a, unsigned char **out); +extern const ASN1_ITEM OCSP_CRLID_it; +OCSP_SERVICELOC *OCSP_SERVICELOC_new(void); +void OCSP_SERVICELOC_free(OCSP_SERVICELOC *a); +OCSP_SERVICELOC *d2i_OCSP_SERVICELOC(OCSP_SERVICELOC **a, const unsigned char **in, long len); +int i2d_OCSP_SERVICELOC(OCSP_SERVICELOC *a, unsigned char **out); +extern const ASN1_ITEM OCSP_SERVICELOC_it; + +const char *OCSP_response_status_str(long s); +const char *OCSP_cert_status_str(long s); +const char *OCSP_crl_reason_str(long s); + +int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST* a, unsigned long flags); +int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE* o, unsigned long flags); + +int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, + X509_STORE *st, unsigned long flags); + +void ERR_load_OCSP_strings(void); + +/* Error codes for the OCSP functions. */ + +/* Function codes. */ +#define OCSP_F_ASN1_STRING_ENCODE 100 +#define OCSP_F_D2I_OCSP_NONCE 102 +#define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 +#define OCSP_F_OCSP_BASIC_SIGN 104 +#define OCSP_F_OCSP_BASIC_VERIFY 105 +#define OCSP_F_OCSP_CERT_ID_NEW 101 +#define OCSP_F_OCSP_CHECK_DELEGATED 106 +#define OCSP_F_OCSP_CHECK_IDS 107 +#define OCSP_F_OCSP_CHECK_ISSUER 108 +#define OCSP_F_OCSP_CHECK_VALIDITY 115 +#define OCSP_F_OCSP_MATCH_ISSUERID 109 +#define OCSP_F_OCSP_PARSE_URL 114 +#define OCSP_F_OCSP_REQUEST_SIGN 110 +#define OCSP_F_OCSP_REQUEST_VERIFY 116 +#define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 +#define OCSP_F_OCSP_SENDREQ_BIO 112 +#define OCSP_F_OCSP_SENDREQ_NBIO 117 +#define OCSP_F_PARSE_HTTP_LINE1 118 +#define OCSP_F_REQUEST_VERIFY 113 + +/* Reason codes. */ +#define OCSP_R_BAD_DATA 100 +#define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 +#define OCSP_R_DIGEST_ERR 102 +#define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 +#define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 +#define OCSP_R_ERROR_PARSING_URL 121 +#define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 +#define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 +#define OCSP_R_NOT_BASIC_RESPONSE 104 +#define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 +#define OCSP_R_NO_CONTENT 106 +#define OCSP_R_NO_PUBLIC_KEY 107 +#define OCSP_R_NO_RESPONSE_DATA 108 +#define OCSP_R_NO_REVOKED_TIME 109 +#define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 +#define OCSP_R_REQUEST_NOT_SIGNED 128 +#define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 +#define OCSP_R_ROOT_CA_NOT_TRUSTED 112 +#define OCSP_R_SERVER_READ_ERROR 113 +#define OCSP_R_SERVER_RESPONSE_ERROR 114 +#define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 +#define OCSP_R_SERVER_WRITE_ERROR 116 +#define OCSP_R_SIGNATURE_FAILURE 117 +#define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 +#define OCSP_R_STATUS_EXPIRED 125 +#define OCSP_R_STATUS_NOT_YET_VALID 126 +#define OCSP_R_STATUS_TOO_OLD 127 +#define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 +#define OCSP_R_UNKNOWN_NID 120 +#define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/opensslconf.h b/curl/include/openssl/opensslconf.h new file mode 100644 index 0000000..03cf31b --- /dev/null +++ b/curl/include/openssl/opensslconf.h @@ -0,0 +1,154 @@ +#include +/* crypto/opensslconf.h.in */ + +#if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR) +#define OPENSSLDIR "/etc/ssl" +#endif + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +#ifndef OPENSSL_FILE +#ifdef OPENSSL_NO_FILENAMES +#define OPENSSL_FILE "" +#define OPENSSL_LINE 0 +#else +#define OPENSSL_FILE __FILE__ +#define OPENSSL_LINE __LINE__ +#endif +#endif + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned int +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#undef RC4_CHUNK +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned long +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#define BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +/* The prime number generation stuff may not work when + * EIGHT_BIT but I don't care since I've only used this mode + * for debugging the bignum libraries */ +#undef SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#define THIRTY_TWO_BIT +#undef SIXTEEN_BIT +#undef EIGHT_BIT +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#undef BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#define DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependencies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#define DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very much CPU dependent */ +#ifndef DES_UNROLL +#define DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ diff --git a/curl/include/openssl/opensslfeatures.h b/curl/include/openssl/opensslfeatures.h new file mode 100644 index 0000000..41df8b8 --- /dev/null +++ b/curl/include/openssl/opensslfeatures.h @@ -0,0 +1,153 @@ +/* $OpenBSD: opensslfeatures.h,v 1.44 2024/08/31 10:38:49 tb Exp $ */ +/* + * Feature flags for LibreSSL... so you can actually tell when things + * are enabled, rather than not being able to tell when things are + * enabled (or possibly not yet not implemented, or removed!). + */ +#define LIBRESSL_HAS_QUIC +#define LIBRESSL_HAS_TLS1_3 +#define LIBRESSL_HAS_DTLS1_2 + +/* + * Used for compatibility with compilers lacking __attribute__ + */ +#if defined(_MSC_VER) && !defined(__clang__) && !defined(__attribute__) +#define __attribute__(a) +#endif + +#define OPENSSL_THREADS + +#define OPENSSL_NO_BUF_FREELISTS +#define OPENSSL_NO_DEPRECATED +#define OPENSSL_NO_EC2M +#define OPENSSL_NO_GMP +#define OPENSSL_NO_JPAKE +#define OPENSSL_NO_KRB5 +#define OPENSSL_NO_RSAX +#define OPENSSL_NO_SHA0 +#define OPENSSL_NO_SSL2 +#define OPENSSL_NO_STORE + +/* + * OPENSSL_NO_* flags that currently appear in OpenSSL. + */ + +/* #define OPENSSL_NO_AFALGENG */ +/* #define OPENSSL_NO_ALGORITHMS */ +/* #define OPENSSL_NO_ARIA */ +/* #define OPENSSL_NO_ASM */ +#define OPENSSL_NO_ASYNC +/* #define OPENSSL_NO_AUTOALGINIT */ +/* #define OPENSSL_NO_AUTOERRINIT */ +/* #define OPENSSL_NO_AUTOLOAD_CONFIG */ +/* #define OPENSSL_NO_BF */ +#define OPENSSL_NO_BLAKE2 +#define OPENSSL_NO_BROTLI +/* #define OPENSSL_NO_BUILTIN_OVERFLOW_CHECKING */ +/* #define OPENSSL_NO_CAMELLIA */ +#define OPENSSL_NO_CAPIENG +/* #define OPENSSL_NO_CAST */ +/* #define OPENSSL_NO_CHACHA */ +/* #define OPENSSL_NO_CMAC */ +/* #define OPENSSL_NO_CMP */ +/* #define OPENSSL_NO_CMS */ +#define OPENSSL_NO_COMP +/* #define OPENSSL_NO_COMP_ALG */ +/* #define OPENSSL_NO_CRMF */ +/* #define OPENSSL_NO_CRYPTO_MDEBUG */ +/* #define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE */ +/* #define OPENSSL_NO_CT */ +/* #define OPENSSL_NO_DECC_INIT */ +/* #define OPENSSL_NO_DES */ +/* #define OPENSSL_NO_DEVCRYPTOENG */ +/* #define OPENSSL_NO_DGRAM */ +/* #define OPENSSL_NO_DH */ +/* #define OPENSSL_NO_DSA */ +#define OPENSSL_NO_DSO +/* #define OPENSSL_NO_DTLS */ +#define OPENSSL_NO_DTLS1 +#ifndef LIBRESSL_HAS_DTLS1_2 +#define OPENSSL_NO_DTLS1_2 +#endif +/* #define OPENSSL_NO_DTLS1_2_METHOD */ +/* #define OPENSSL_NO_DTLS1_METHOD */ +#define OPENSSL_NO_DYNAMIC_ENGINE +/* #define OPENSSL_NO_EC */ +#define OPENSSL_NO_EC_NISTP_64_GCC_128 +#define OPENSSL_NO_EGD +#define OPENSSL_NO_ENGINE +/* #define OPENSSL_NO_ERR */ +/* #define OPENSSL_NO_FILENAMES */ +/* #define OPENSSL_NO_FUZZ_AFL */ +/* #define OPENSSL_NO_FUZZ_LIBFUZZER */ +#define OPENSSL_NO_GOST +#define OPENSSL_NO_HEARTBEATS +/* #define OPENSSL_NO_HW */ +/* #define OPENSSL_NO_HW_PADLOCK */ +/* #define OPENSSL_NO_IDEA */ +/* #define OPENSSL_NO_INLINE_ASM */ +/* #define OPENSSL_NO_KEYPARAMS */ +#define OPENSSL_NO_KTLS +/* #define OPENSSL_NO_KTLS_RX */ +/* #define OPENSSL_NO_KTLS_ZC_TX */ +/* #define OPENSSL_NO_LOCALE */ +#define OPENSSL_NO_MD2 +/* #define OPENSSL_NO_MD4 */ +/* #define OPENSSL_NO_MD5 */ +#define OPENSSL_NO_MDC2 +/* #define OPENSSL_NO_MULTIBLOCK */ +/* #define OPENSSL_NO_NEXTPROTONEG */ +/* #define OPENSSL_NO_OCB */ +/* #define OPENSSL_NO_OCSP */ +/* #define OPENSSL_NO_PADLOCKENG */ +/* #define OPENSSL_NO_PINSHARED */ +/* #define OPENSSL_NO_POLY1305 */ +/* #define OPENSSL_NO_POSIX_IO */ +#define OPENSSL_NO_PSK +#define OPENSSL_NO_QUIC +/* #define OPENSSL_NO_RC2 */ +/* #define OPENSSL_NO_RC4 */ +#define OPENSSL_NO_RC5 +/* #define OPENSSL_NO_RDRAND */ +/* #define OPENSSL_NO_RFC3779 */ +/* #define OPENSSL_NO_RMD160 */ +/* #define OPENSSL_NO_RSA */ +#define OPENSSL_NO_SCRYPT +#define OPENSSL_NO_SCTP +/* #define OPENSSL_NO_SECURE_MEMORY */ +#define OPENSSL_NO_SEED +/* #define OPENSSL_NO_SIPHASH */ +/* #define OPENSSL_NO_SIV */ +/* #define OPENSSL_NO_SM2 */ +/* #define OPENSSL_NO_SM3 */ +/* #define OPENSSL_NO_SM4 */ +/* #define OPENSSL_NO_SOCK */ +#define OPENSSL_NO_SRP +/* #define OPENSSL_NO_SRTP */ +#define OPENSSL_NO_SSL3 +#define OPENSSL_NO_SSL3_METHOD +#define OPENSSL_NO_SSL_TRACE +/* #define OPENSSL_NO_STATIC_ENGINE */ +/* #define OPENSSL_NO_STDIO */ +/* #define OPENSSL_NO_THREAD_POOL */ +/* #define OPENSSL_NO_TLS */ +#define OPENSSL_NO_TLS1 +#define OPENSSL_NO_TLS1_1 +#define OPENSSL_NO_TLS1_METHOD +#define OPENSSL_NO_TLS1_1_METHOD +/* #define OPENSSL_NO_TLS1_2 */ +/* #define OPENSSL_NO_TLS1_2_METHOD */ +#ifndef LIBRESSL_HAS_TLS1_3 +#define OPENSSL_NO_TLS1_3 +#endif +/* #define OPENSSL_NO_TLS1_METHOD */ +/* #define OPENSSL_NO_TRACE */ +/* #define OPENSSL_NO_TS */ +/* #define OPENSSL_NO_UI_CONSOLE */ +/* #define OPENSSL_NO_UNIT_TEST */ +/* #define OPENSSL_NO_UNIX_SOCK */ +/* #define OPENSSL_NO_WEAK_SSL_CIPHERS */ +#define OPENSSL_NO_WHIRLPOOL +/* #define OPENSSL_NO_WINSTORE */ +#define OPENSSL_NO_ZLIB +/* #define OPENSSL_NO_ZSTD */ diff --git a/curl/include/openssl/opensslv.h b/curl/include/openssl/opensslv.h new file mode 100644 index 0000000..bf06db8 --- /dev/null +++ b/curl/include/openssl/opensslv.h @@ -0,0 +1,18 @@ +/* $OpenBSD: opensslv.h,v 1.80 2025/03/09 15:49:18 tb Exp $ */ +#ifndef HEADER_OPENSSLV_H +#define HEADER_OPENSSLV_H + +/* These will change with each release of LibreSSL-portable */ +#define LIBRESSL_VERSION_NUMBER 0x4010000fL +/* ^ Patch starts here */ +#define LIBRESSL_VERSION_TEXT "LibreSSL 4.1.0" + +/* These will never change */ +#define OPENSSL_VERSION_NUMBER 0x20000000L +#define OPENSSL_VERSION_TEXT LIBRESSL_VERSION_TEXT +#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT + +#define SHLIB_VERSION_HISTORY "" +#define SHLIB_VERSION_NUMBER "1.0.0" + +#endif /* HEADER_OPENSSLV_H */ diff --git a/curl/include/openssl/ossl_typ.h b/curl/include/openssl/ossl_typ.h new file mode 100644 index 0000000..e82ad2f --- /dev/null +++ b/curl/include/openssl/ossl_typ.h @@ -0,0 +1,196 @@ +/* $OpenBSD: ossl_typ.h,v 1.31 2024/05/27 09:12:32 jsg Exp $ */ +/* ==================================================================== + * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_OPENSSL_TYPES_H +#define HEADER_OPENSSL_TYPES_H + +#include + +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct asn1_string_st ASN1_ENUMERATED; +typedef struct asn1_string_st ASN1_BIT_STRING; +typedef struct asn1_string_st ASN1_OCTET_STRING; +typedef struct asn1_string_st ASN1_PRINTABLESTRING; +typedef struct asn1_string_st ASN1_T61STRING; +typedef struct asn1_string_st ASN1_IA5STRING; +typedef struct asn1_string_st ASN1_GENERALSTRING; +typedef struct asn1_string_st ASN1_UNIVERSALSTRING; +typedef struct asn1_string_st ASN1_BMPSTRING; +typedef struct asn1_string_st ASN1_UTCTIME; +typedef struct asn1_string_st ASN1_TIME; +typedef struct asn1_string_st ASN1_GENERALIZEDTIME; +typedef struct asn1_string_st ASN1_VISIBLESTRING; +typedef struct asn1_string_st ASN1_UTF8STRING; +typedef struct asn1_string_st ASN1_STRING; +typedef int ASN1_BOOLEAN; +typedef int ASN1_NULL; + +typedef struct asn1_object_st ASN1_OBJECT; + +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct asn1_pctx_st ASN1_PCTX; + +#if defined(_WIN32) && defined(__WINCRYPT_H__) +#if !defined(LIBRESSL_INTERNAL) && !defined(LIBRESSL_DISABLE_OVERRIDE_WINCRYPT_DEFINES_WARNING) +#ifdef _MSC_VER +#pragma message("Warning, overriding WinCrypt defines") +#else +#warning overriding WinCrypt defines +#endif +#endif +#undef X509_NAME +#undef X509_EXTENSIONS +#undef OCSP_REQUEST +#undef OCSP_RESPONSE +#undef PKCS7_ISSUER_AND_SERIAL +#endif + +#ifdef BIGNUM +#undef BIGNUM +#endif +typedef struct bignum_st BIGNUM; +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_gencb_st BN_GENCB; + +typedef struct bio_st BIO; +typedef struct buf_mem_st BUF_MEM; + +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct evp_md_st EVP_MD; +typedef struct evp_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_st EVP_PKEY; + +typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; + +typedef struct evp_pkey_method_st EVP_PKEY_METHOD; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; + +typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX; + +typedef struct hmac_ctx_st HMAC_CTX; + +typedef struct dh_st DH; +typedef struct dh_method DH_METHOD; + +typedef struct dsa_st DSA; +typedef struct dsa_method DSA_METHOD; + +typedef struct ec_key_st EC_KEY; +typedef struct ec_key_method_st EC_KEY_METHOD; + +typedef struct rsa_st RSA; +typedef struct rsa_meth_st RSA_METHOD; +typedef struct rsa_pss_params_st RSA_PSS_PARAMS; + +typedef struct rand_meth_st RAND_METHOD; + +typedef struct x509_st X509; +typedef struct X509_algor_st X509_ALGOR; +typedef struct X509_crl_st X509_CRL; +typedef struct x509_revoked_st X509_REVOKED; +typedef struct X509_name_st X509_NAME; +typedef struct X509_pubkey_st X509_PUBKEY; +typedef struct x509_store_st X509_STORE; +typedef struct x509_store_ctx_st X509_STORE_CTX; + +typedef struct x509_object_st X509_OBJECT; +typedef struct x509_lookup_st X509_LOOKUP; +typedef struct x509_lookup_method_st X509_LOOKUP_METHOD; +typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM; + +typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; + +typedef struct v3_ext_ctx X509V3_CTX; +typedef struct conf_st CONF; + +typedef struct ui_st UI; +typedef struct ui_method_st UI_METHOD; + +typedef struct engine_st ENGINE; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX; + +typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; +typedef struct DIST_POINT_st DIST_POINT; +typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; +typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; + +/* If placed in pkcs12.h, we end up with a circular dependency with pkcs7.h */ +#define DECLARE_PKCS12_STACK_OF(type) /* Nothing */ +#define IMPLEMENT_PKCS12_STACK_OF(type) /* Nothing */ + +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; +/* Callback types for crypto.h */ +typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, + void *from_d, int idx, long argl, void *argp); + +typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; +typedef struct ocsp_response_st OCSP_RESPONSE; +typedef struct ocsp_responder_id_st OCSP_RESPID; + +typedef struct sct_st SCT; +typedef struct sct_ctx_st SCT_CTX; +typedef struct ctlog_st CTLOG; +typedef struct ctlog_store_st CTLOG_STORE; +typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX; + +#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/curl/include/openssl/pem.h b/curl/include/openssl/pem.h new file mode 100644 index 0000000..4fdab48 --- /dev/null +++ b/curl/include/openssl/pem.h @@ -0,0 +1,546 @@ +/* $OpenBSD: pem.h,v 1.28 2024/05/11 05:41:28 tb Exp $ */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_PEM_H +#define HEADER_PEM_H + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif +#ifndef OPENSSL_NO_STACK +#include +#endif +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define PEM_BUFSIZE 1024 + +#define PEM_OBJ_UNDEF 0 +#define PEM_OBJ_X509 1 +#define PEM_OBJ_X509_REQ 2 +#define PEM_OBJ_CRL 3 +#define PEM_OBJ_SSL_SESSION 4 +#define PEM_OBJ_PRIV_KEY 10 +#define PEM_OBJ_PRIV_RSA 11 +#define PEM_OBJ_PRIV_DSA 12 +#define PEM_OBJ_PRIV_DH 13 +#define PEM_OBJ_PUB_RSA 14 +#define PEM_OBJ_PUB_DSA 15 +#define PEM_OBJ_PUB_DH 16 +#define PEM_OBJ_DHPARAMS 17 +#define PEM_OBJ_DSAPARAMS 18 +#define PEM_OBJ_PRIV_RSA_PUBLIC 19 +#define PEM_OBJ_PRIV_ECDSA 20 +#define PEM_OBJ_PUB_ECDSA 21 +#define PEM_OBJ_ECPARAMETERS 22 + +#define PEM_ERROR 30 +#define PEM_DEK_DES_CBC 40 +#define PEM_DEK_IDEA_CBC 45 +#define PEM_DEK_DES_EDE 50 +#define PEM_DEK_DES_ECB 60 +#define PEM_DEK_RSA 70 +#define PEM_DEK_RSA_MD2 80 +#define PEM_DEK_RSA_MD5 90 + +#define PEM_MD_MD2 NID_md2 +#define PEM_MD_MD5 NID_md5 +#define PEM_MD_SHA NID_sha +#define PEM_MD_MD2_RSA NID_md2WithRSAEncryption +#define PEM_MD_MD5_RSA NID_md5WithRSAEncryption +#define PEM_MD_SHA_RSA NID_sha1WithRSAEncryption + +#define PEM_STRING_X509_OLD "X509 CERTIFICATE" +#define PEM_STRING_X509 "CERTIFICATE" +#define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" +#define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" +#define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" +#define PEM_STRING_X509_CRL "X509 CRL" +#define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" +#define PEM_STRING_PUBLIC "PUBLIC KEY" +#define PEM_STRING_RSA "RSA PRIVATE KEY" +#define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" +#define PEM_STRING_DSA "DSA PRIVATE KEY" +#define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" +#define PEM_STRING_PKCS7 "PKCS7" +#define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" +#define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" +#define PEM_STRING_PKCS8INF "PRIVATE KEY" +#define PEM_STRING_DHPARAMS "DH PARAMETERS" +#define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" +#define PEM_STRING_DSAPARAMS "DSA PARAMETERS" +#define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" +#define PEM_STRING_ECPARAMETERS "EC PARAMETERS" +#define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" +#define PEM_STRING_PARAMETERS "PARAMETERS" +#define PEM_STRING_CMS "CMS" + +/* enc_type is one off */ +#define PEM_TYPE_ENCRYPTED 10 +#define PEM_TYPE_MIC_ONLY 20 +#define PEM_TYPE_MIC_CLEAR 30 +#define PEM_TYPE_CLEAR 40 + +#ifndef LIBRESSL_INTERNAL +/* These macros make the PEM_read/PEM_write functions easier to maintain and + * write. Now they are all implemented with either: + * IMPLEMENT_PEM_rw(...) or IMPLEMENT_PEM_rw_cb(...) + */ + +#define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ +type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ +} + +#define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ +} + +#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, const type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + + +#define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ +type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ +} + +#define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ +} + +#define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, const type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} + +#define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ + } + +#define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ + } + +#define IMPLEMENT_PEM_write(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp(name, type, str, asn1) + +#define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) + +#define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) + +#define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) + +#define IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ + IMPLEMENT_PEM_read_fp(name, type, str, asn1) + +#define IMPLEMENT_PEM_rw(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write(name, type, str, asn1) + +#define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_const(name, type, str, asn1) + +#define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ + IMPLEMENT_PEM_read(name, type, str, asn1) \ + IMPLEMENT_PEM_write_cb(name, type, str, asn1) + +#endif + +/* These are the same except they are for the declarations */ + + +#define DECLARE_PEM_read_fp(name, type) \ + type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); + +#define DECLARE_PEM_write_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x); + +#define DECLARE_PEM_write_fp_const(name, type) \ + int PEM_write_##name(FILE *fp, const type *x); + +#define DECLARE_PEM_write_cb_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + + +#ifndef OPENSSL_NO_BIO +#define DECLARE_PEM_read_bio(name, type) \ + type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); + +#define DECLARE_PEM_write_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x); + +#define DECLARE_PEM_write_bio_const(name, type) \ + int PEM_write_bio_##name(BIO *bp, const type *x); + +#define DECLARE_PEM_write_cb_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); + +#else + +#define DECLARE_PEM_read_bio(name, type) /**/ +#define DECLARE_PEM_write_bio(name, type) /**/ +#define DECLARE_PEM_write_bio_const(name, type) /**/ +#define DECLARE_PEM_write_cb_bio(name, type) /**/ + +#endif + +#define DECLARE_PEM_write(name, type) \ + DECLARE_PEM_write_bio(name, type) \ + DECLARE_PEM_write_fp(name, type) + +#define DECLARE_PEM_write_const(name, type) \ + DECLARE_PEM_write_bio_const(name, type) \ + DECLARE_PEM_write_fp_const(name, type) + +#define DECLARE_PEM_write_cb(name, type) \ + DECLARE_PEM_write_cb_bio(name, type) \ + DECLARE_PEM_write_cb_fp(name, type) + +#define DECLARE_PEM_read(name, type) \ + DECLARE_PEM_read_bio(name, type) \ + DECLARE_PEM_read_fp(name, type) + +#define DECLARE_PEM_rw(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write(name, type) + +#define DECLARE_PEM_rw_const(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_const(name, type) + +#define DECLARE_PEM_rw_cb(name, type) \ + DECLARE_PEM_read(name, type) \ + DECLARE_PEM_write_cb(name, type) + +typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata); + +int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); +int PEM_do_header (EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, + pem_password_cb *callback, void *u); + +#ifndef OPENSSL_NO_BIO +int PEM_read_bio(BIO *bp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write_bio(BIO *bp, const char *name, const char *hdr, + const unsigned char *data, long len); +int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, + const char *name, BIO *bp, pem_password_cb *cb, void *u); +void * PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, + void **x, pem_password_cb *cb, void *u); +int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, + pem_password_cb *cb, void *u); + +STACK_OF(X509_INFO) * PEM_X509_INFO_read_bio(BIO *bp, + STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u); +int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, + unsigned char *kstr, int klen, pem_password_cb *cd, void *u); +#endif + +int PEM_read(FILE *fp, char **name, char **header, + unsigned char **data, long *len); +int PEM_write(FILE *fp, const char *name, const char *hdr, + const unsigned char *data, long len); +void * PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, + pem_password_cb *cb, void *u); +int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, + void *x, const EVP_CIPHER *enc, unsigned char *kstr, + int klen, pem_password_cb *callback, void *u); +STACK_OF(X509_INFO) * PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, + pem_password_cb *cb, void *u); + +int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); +int PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); +int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, + unsigned int *siglen, EVP_PKEY *pkey); + +int PEM_def_callback(char *buf, int num, int w, void *key); +void PEM_proc_type(char *buf, int type); +void PEM_dek_info(char *buf, const char *type, int len, char *str); + + +DECLARE_PEM_rw(X509, X509) + +DECLARE_PEM_rw(X509_AUX, X509) + +DECLARE_PEM_rw(X509_REQ, X509_REQ) +DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) + +DECLARE_PEM_rw(X509_CRL, X509_CRL) + +DECLARE_PEM_rw(PKCS7, PKCS7) + +DECLARE_PEM_rw(PKCS8, X509_SIG) + +DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) + +#ifndef OPENSSL_NO_RSA + +DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) + +DECLARE_PEM_rw_const(RSAPublicKey, RSA) +DECLARE_PEM_rw(RSA_PUBKEY, RSA) + +#endif + +#ifndef OPENSSL_NO_DSA + +DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) + +DECLARE_PEM_rw(DSA_PUBKEY, DSA) + +DECLARE_PEM_rw_const(DSAparams, DSA) + +#endif + +#ifndef OPENSSL_NO_EC +DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) +DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) +DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) +#endif + +#ifndef OPENSSL_NO_DH + +DECLARE_PEM_rw_const(DHparams, DH) + +#endif + +DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) + +DECLARE_PEM_rw(PUBKEY, EVP_PKEY) + +int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, + void *u); +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, + char *, int, pem_password_cb *, void *); +int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, + pem_password_cb *cb, void *u); + +EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u); + +int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cd, void *u); + +EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); +int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); + + +EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); +EVP_PKEY *b2i_PrivateKey_bio(BIO *in); +EVP_PKEY *b2i_PublicKey_bio(BIO *in); +int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); +int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); +#ifndef OPENSSL_NO_RC4 +EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); +int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, pem_password_cb *cb, + void *u); +#endif + + +void ERR_load_PEM_strings(void); + +/* Error codes for the PEM functions. */ + +/* Function codes. */ +#define PEM_F_B2I_DSS 127 +#define PEM_F_B2I_PVK_BIO 128 +#define PEM_F_B2I_RSA 129 +#define PEM_F_CHECK_BITLEN_DSA 130 +#define PEM_F_CHECK_BITLEN_RSA 131 +#define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 +#define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 +#define PEM_F_DO_B2I 132 +#define PEM_F_DO_B2I_BIO 133 +#define PEM_F_DO_BLOB_HEADER 134 +#define PEM_F_DO_PK8PKEY 126 +#define PEM_F_DO_PK8PKEY_FP 125 +#define PEM_F_DO_PVK_BODY 135 +#define PEM_F_DO_PVK_HEADER 136 +#define PEM_F_I2B_PVK 137 +#define PEM_F_I2B_PVK_BIO 138 +#define PEM_F_LOAD_IV 101 +#define PEM_F_PEM_ASN1_READ 102 +#define PEM_F_PEM_ASN1_READ_BIO 103 +#define PEM_F_PEM_ASN1_WRITE 104 +#define PEM_F_PEM_ASN1_WRITE_BIO 105 +#define PEM_F_PEM_DEF_CALLBACK 100 +#define PEM_F_PEM_DO_HEADER 106 +#define PEM_F_PEM_F_PEM_WRITE_PKCS8PRIVATEKEY 118 +#define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 +#define PEM_F_PEM_PK8PKEY 119 +#define PEM_F_PEM_READ 108 +#define PEM_F_PEM_READ_BIO 109 +#define PEM_F_PEM_READ_BIO_PARAMETERS 140 +#define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +#define PEM_F_PEM_READ_PRIVATEKEY 124 +#define PEM_F_PEM_SEALFINAL 110 +#define PEM_F_PEM_SEALINIT 111 +#define PEM_F_PEM_SIGNFINAL 112 +#define PEM_F_PEM_WRITE 113 +#define PEM_F_PEM_WRITE_BIO 114 +#define PEM_F_PEM_WRITE_PRIVATEKEY 139 +#define PEM_F_PEM_X509_INFO_READ 115 +#define PEM_F_PEM_X509_INFO_READ_BIO 116 +#define PEM_F_PEM_X509_INFO_WRITE_BIO 117 + +/* Reason codes. */ +#define PEM_R_BAD_BASE64_DECODE 100 +#define PEM_R_BAD_DECRYPT 101 +#define PEM_R_BAD_END_LINE 102 +#define PEM_R_BAD_IV_CHARS 103 +#define PEM_R_BAD_MAGIC_NUMBER 116 +#define PEM_R_BAD_PASSWORD_READ 104 +#define PEM_R_BAD_VERSION_NUMBER 117 +#define PEM_R_BIO_WRITE_FAILURE 118 +#define PEM_R_CIPHER_IS_NULL 127 +#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 +#define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 +#define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 +#define PEM_R_INCONSISTENT_HEADER 121 +#define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 +#define PEM_R_KEYBLOB_TOO_SHORT 123 +#define PEM_R_NOT_DEK_INFO 105 +#define PEM_R_NOT_ENCRYPTED 106 +#define PEM_R_NOT_PROC_TYPE 107 +#define PEM_R_NO_START_LINE 108 +#define PEM_R_PROBLEMS_GETTING_PASSWORD 109 +#define PEM_R_PUBLIC_KEY_NO_RSA 110 +#define PEM_R_PVK_DATA_TOO_SHORT 124 +#define PEM_R_PVK_TOO_SHORT 125 +#define PEM_R_READ_KEY 111 +#define PEM_R_SHORT_HEADER 112 +#define PEM_R_UNSUPPORTED_CIPHER 113 +#define PEM_R_UNSUPPORTED_ENCRYPTION 114 +#define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/pkcs12.h b/curl/include/openssl/pkcs12.h new file mode 100644 index 0000000..2007120 --- /dev/null +++ b/curl/include/openssl/pkcs12.h @@ -0,0 +1,284 @@ +/* $OpenBSD: pkcs12.h,v 1.29 2025/03/09 15:45:52 tb Exp $ */ +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project 1999. + */ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_PKCS12_H +#define HEADER_PKCS12_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define PKCS12_KEY_ID 1 +#define PKCS12_IV_ID 2 +#define PKCS12_MAC_ID 3 + +/* Default iteration count */ +#ifndef PKCS12_DEFAULT_ITER +#define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER +#endif + +#define PKCS12_MAC_KEY_LENGTH 20 + +#define PKCS12_SALT_LEN 8 + +/* Uncomment out next line for unicode password and names, otherwise ASCII */ + +/*#define PBE_UNICODE*/ + +#ifdef PBE_UNICODE +#define PKCS12_key_gen PKCS12_key_gen_uni +#define PKCS12_add_friendlyname PKCS12_add_friendlyname_uni +#else +#define PKCS12_key_gen PKCS12_key_gen_asc +#define PKCS12_add_friendlyname PKCS12_add_friendlyname_asc +#endif + +/* MS key usage constants */ + +#define KEY_EX 0x10 +#define KEY_SIG 0x80 + +typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; + +typedef struct PKCS12_st PKCS12; + +typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; + +DECLARE_STACK_OF(PKCS12_SAFEBAG) +DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG) + +typedef struct pkcs12_bag_st PKCS12_BAGS; + +#define PKCS12_ERROR 0 +#define PKCS12_OK 1 + +#ifndef LIBRESSL_INTERNAL + +/* Compatibility macros */ + +#define M_PKCS12_x5092certbag PKCS12_x5092certbag +#define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag + +#define M_PKCS12_certbag2x509 PKCS12_certbag2x509 +#define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl + +#define M_PKCS12_unpack_p7data PKCS12_unpack_p7data +#define M_PKCS12_pack_authsafes PKCS12_pack_authsafes +#define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes +#define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata + +#define M_PKCS12_decrypt_skey PKCS12_decrypt_skey +#define M_PKCS8_decrypt PKCS8_decrypt + +#endif /* !LIBRESSL_INTERNAL */ + +#define M_PKCS12_bag_type PKCS12_bag_type +#define M_PKCS12_cert_bag_type PKCS12_cert_bag_type +#define M_PKCS12_crl_bag_type PKCS12_cert_bag_type + +#define PKCS12_bag_type PKCS12_SAFEBAG_get_nid +#define PKCS12_cert_bag_type PKCS12_SAFEBAG_get_bag_nid + +#define PKCS12_certbag2x509 PKCS12_SAFEBAG_get1_cert +#define PKCS12_certbag2x509crl PKCS12_SAFEBAG_get1_crl + +#define PKCS12_x5092certbag PKCS12_SAFEBAG_create_cert +#define PKCS12_x509crl2certbag PKCS12_SAFEBAG_create_crl +#define PKCS12_MAKE_KEYBAG PKCS12_SAFEBAG_create0_p8inf +#define PKCS12_MAKE_SHKEYBAG PKCS12_SAFEBAG_create_pkcs8_encrypt + +const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag, + int attr_nid); +const STACK_OF(X509_ATTRIBUTE) * + PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag); + +X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag); +X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag); + +ASN1_TYPE *PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid); +int PKCS12_mac_present(const PKCS12 *p12); +void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, const X509_ALGOR **pmacalg, + const ASN1_OCTET_STRING **psalt, const ASN1_INTEGER **piter, + const PKCS12 *p12); + +const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag); +const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag); +const STACK_OF(PKCS12_SAFEBAG) * + PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag); +const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag); + +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char *pass, + int passlen); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, + const char *pass, int passlen); +X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8); + +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, + int passlen); +STACK_OF(PKCS7) *PKCS12_unpack_authsafes(const PKCS12 *p12); + +int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); +char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); +int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, unsigned char *out, + const EVP_MD *md_type); +int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); +int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + const EVP_MD *md_type); + +unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2asc(const unsigned char *uni, int unilen); + +PKCS12 *PKCS12_new(void); +void PKCS12_free(PKCS12 *a); +PKCS12 *d2i_PKCS12(PKCS12 **a, const unsigned char **in, long len); +int i2d_PKCS12(PKCS12 *a, unsigned char **out); +extern const ASN1_ITEM PKCS12_it; + +PKCS12_SAFEBAG *PKCS12_SAFEBAG_new(void); +void PKCS12_SAFEBAG_free(PKCS12_SAFEBAG *a); +PKCS12_SAFEBAG *d2i_PKCS12_SAFEBAG(PKCS12_SAFEBAG **a, const unsigned char **in, long len); +int i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **out); +extern const ASN1_ITEM PKCS12_SAFEBAG_it; + +void PKCS12_PBE_add(void); +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); +PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey, + X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, + int mac_iter, int keytype); + +int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); +int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); +PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); +PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); +int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); + +void ERR_load_PKCS12_strings(void); + +/* Error codes for the PKCS12 functions. */ + +/* Function codes. */ +#define PKCS12_F_PARSE_BAG 129 +#define PKCS12_F_PARSE_BAGS 103 +#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME 100 +#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC 127 +#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI 102 +#define PKCS12_F_PKCS12_ADD_LOCALKEYID 104 +#define PKCS12_F_PKCS12_CREATE 105 +#define PKCS12_F_PKCS12_GEN_MAC 107 +#define PKCS12_F_PKCS12_INIT 109 +#define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 +#define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 +#define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 +#define PKCS12_F_PKCS12_KEY_GEN_ASC 110 +#define PKCS12_F_PKCS12_KEY_GEN_UNI 111 +#define PKCS12_F_PKCS12_MAKE_KEYBAG 112 +#define PKCS12_F_PKCS12_MAKE_SHKEYBAG 113 +#define PKCS12_F_PKCS12_NEWPASS 128 +#define PKCS12_F_PKCS12_PACK_P7DATA 114 +#define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 +#define PKCS12_F_PKCS12_PARSE 118 +#define PKCS12_F_PKCS12_PBE_CRYPT 119 +#define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 +#define PKCS12_F_PKCS12_SETUP_MAC 122 +#define PKCS12_F_PKCS12_SET_MAC 123 +#define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 +#define PKCS12_F_PKCS12_UNPACK_P7DATA 131 +#define PKCS12_F_PKCS12_VERIFY_MAC 126 +#define PKCS12_F_PKCS8_ADD_KEYUSAGE 124 +#define PKCS12_F_PKCS8_ENCRYPT 125 + +/* Reason codes. */ +#define PKCS12_R_CANT_PACK_STRUCTURE 100 +#define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 +#define PKCS12_R_DECODE_ERROR 101 +#define PKCS12_R_ENCODE_ERROR 102 +#define PKCS12_R_ENCRYPT_ERROR 103 +#define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 +#define PKCS12_R_INVALID_NULL_ARGUMENT 104 +#define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 +#define PKCS12_R_IV_GEN_ERROR 106 +#define PKCS12_R_KEY_GEN_ERROR 107 +#define PKCS12_R_MAC_ABSENT 108 +#define PKCS12_R_MAC_GENERATION_ERROR 109 +#define PKCS12_R_MAC_SETUP_ERROR 110 +#define PKCS12_R_MAC_STRING_SET_ERROR 111 +#define PKCS12_R_MAC_VERIFY_ERROR 112 +#define PKCS12_R_MAC_VERIFY_FAILURE 113 +#define PKCS12_R_PARSE_ERROR 114 +#define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 +#define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 +#define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 +#define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 +#define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/pkcs7.h b/curl/include/openssl/pkcs7.h new file mode 100644 index 0000000..b286205 --- /dev/null +++ b/curl/include/openssl/pkcs7.h @@ -0,0 +1,522 @@ +/* $OpenBSD: pkcs7.h,v 1.22 2024/10/23 01:57:19 jsg Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_PKCS7_H +#define HEADER_PKCS7_H + +#include + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_WIN32) && defined(__WINCRYPT_H__) +#if !defined(LIBRESSL_INTERNAL) && !defined(LIBRESSL_DISABLE_OVERRIDE_WINCRYPT_DEFINES_WARNING) +#ifdef _MSC_VER +#pragma message("Warning, overriding WinCrypt defines") +#else +#warning overriding WinCrypt defines +#endif +#endif +#undef PKCS7_ISSUER_AND_SERIAL +#undef PKCS7_SIGNER_INFO +#endif + +/* +Encryption_ID DES-CBC +Digest_ID MD5 +Digest_Encryption_ID rsaEncryption +Key_Encryption_ID rsaEncryption +*/ + +typedef struct pkcs7_issuer_and_serial_st { + X509_NAME *issuer; + ASN1_INTEGER *serial; +} PKCS7_ISSUER_AND_SERIAL; + +typedef struct pkcs7_signer_info_st { + ASN1_INTEGER *version; /* version 1 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *digest_alg; + STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ + X509_ALGOR *digest_enc_alg; + ASN1_OCTET_STRING *enc_digest; + STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ + + /* The private key to sign with */ + EVP_PKEY *pkey; +} PKCS7_SIGNER_INFO; + +DECLARE_STACK_OF(PKCS7_SIGNER_INFO) + +typedef struct pkcs7_recip_info_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *key_enc_algor; + ASN1_OCTET_STRING *enc_key; + X509 *cert; /* get the pub-key from this */ +} PKCS7_RECIP_INFO; + +DECLARE_STACK_OF(PKCS7_RECIP_INFO) + +typedef struct pkcs7_signed_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + + struct pkcs7_st *contents; +} PKCS7_SIGNED; +/* The above structure is very very similar to PKCS7_SIGN_ENVELOPE. + * How about merging the two */ + +typedef struct pkcs7_enc_content_st { + ASN1_OBJECT *content_type; + X509_ALGOR *algorithm; + ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ + const EVP_CIPHER *cipher; +} PKCS7_ENC_CONTENT; + +typedef struct pkcs7_enveloped_st { + ASN1_INTEGER *version; /* version 0 */ + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENVELOPE; + +typedef struct pkcs7_signedandenveloped_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + + PKCS7_ENC_CONTENT *enc_data; + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; +} PKCS7_SIGN_ENVELOPE; + +typedef struct pkcs7_digest_st { + ASN1_INTEGER *version; /* version 0 */ + X509_ALGOR *md; /* md used */ + struct pkcs7_st *contents; + ASN1_OCTET_STRING *digest; +} PKCS7_DIGEST; + +typedef struct pkcs7_encrypted_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENCRYPT; + +typedef struct pkcs7_st { + /* The following is non NULL if it contains ASN1 encoding of + * this structure */ + unsigned char *asn1; + long length; + +#define PKCS7_S_HEADER 0 +#define PKCS7_S_BODY 1 +#define PKCS7_S_TAIL 2 + int state; /* used during processing */ + + int detached; + + ASN1_OBJECT *type; + /* content as defined by the type */ + /* all encryption/message digests are applied to the 'contents', + * leaving out the 'type' field. */ + union { + char *ptr; + + /* NID_pkcs7_data */ + ASN1_OCTET_STRING *data; + + /* NID_pkcs7_signed */ + PKCS7_SIGNED *sign; + + /* NID_pkcs7_enveloped */ + PKCS7_ENVELOPE *enveloped; + + /* NID_pkcs7_signedAndEnveloped */ + PKCS7_SIGN_ENVELOPE *signed_and_enveloped; + + /* NID_pkcs7_digest */ + PKCS7_DIGEST *digest; + + /* NID_pkcs7_encrypted */ + PKCS7_ENCRYPT *encrypted; + + /* Anything else */ + ASN1_TYPE *other; + } d; +} PKCS7; + +DECLARE_STACK_OF(PKCS7) +DECLARE_PKCS12_STACK_OF(PKCS7) + +#define PKCS7_OP_SET_DETACHED_SIGNATURE 1 +#define PKCS7_OP_GET_DETACHED_SIGNATURE 2 + +#define PKCS7_get_signed_attributes(si) ((si)->auth_attr) +#define PKCS7_get_attributes(si) ((si)->unauth_attr) + +#define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) +#define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) +#define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) +#define PKCS7_type_is_signedAndEnveloped(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) +#define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) +#define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) +#define PKCS7_type_is_encrypted(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) + +#define PKCS7_set_detached(p,v) \ + PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) +#define PKCS7_get_detached(p) \ + PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) + +#define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) + +/* S/MIME related flags */ + +#define PKCS7_TEXT 0x1 +#define PKCS7_NOCERTS 0x2 +#define PKCS7_NOSIGS 0x4 +#define PKCS7_NOCHAIN 0x8 +#define PKCS7_NOINTERN 0x10 +#define PKCS7_NOVERIFY 0x20 +#define PKCS7_DETACHED 0x40 +#define PKCS7_BINARY 0x80 +#define PKCS7_NOATTR 0x100 +#define PKCS7_NOSMIMECAP 0x200 +#define PKCS7_NOOLDMIMETYPE 0x400 +#define PKCS7_CRLFEOL 0x800 +#define PKCS7_STREAM 0x1000 +#define PKCS7_NOCRL 0x2000 +#define PKCS7_PARTIAL 0x4000 +#define PKCS7_REUSE_DIGEST 0x8000 + +/* Flags: for compatibility with older code */ + +#define SMIME_TEXT PKCS7_TEXT +#define SMIME_NOCERTS PKCS7_NOCERTS +#define SMIME_NOSIGS PKCS7_NOSIGS +#define SMIME_NOCHAIN PKCS7_NOCHAIN +#define SMIME_NOINTERN PKCS7_NOINTERN +#define SMIME_NOVERIFY PKCS7_NOVERIFY +#define SMIME_DETACHED PKCS7_DETACHED +#define SMIME_BINARY PKCS7_BINARY +#define SMIME_NOATTR PKCS7_NOATTR + +PKCS7_ISSUER_AND_SERIAL *PKCS7_ISSUER_AND_SERIAL_new(void); +void PKCS7_ISSUER_AND_SERIAL_free(PKCS7_ISSUER_AND_SERIAL *a); +PKCS7_ISSUER_AND_SERIAL *d2i_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL **a, const unsigned char **in, long len); +int i2d_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_ISSUER_AND_SERIAL_it; + +int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, + const EVP_MD *type, unsigned char *md, unsigned int *len); +PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); +int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); +PKCS7 *PKCS7_dup(PKCS7 *p7); +PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); +int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); +int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); +int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); + +PKCS7_SIGNER_INFO *PKCS7_SIGNER_INFO_new(void); +void PKCS7_SIGNER_INFO_free(PKCS7_SIGNER_INFO *a); +PKCS7_SIGNER_INFO *d2i_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO **a, const unsigned char **in, long len); +int i2d_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_SIGNER_INFO_it; +PKCS7_RECIP_INFO *PKCS7_RECIP_INFO_new(void); +void PKCS7_RECIP_INFO_free(PKCS7_RECIP_INFO *a); +PKCS7_RECIP_INFO *d2i_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO **a, const unsigned char **in, long len); +int i2d_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_RECIP_INFO_it; +PKCS7_SIGNED *PKCS7_SIGNED_new(void); +void PKCS7_SIGNED_free(PKCS7_SIGNED *a); +PKCS7_SIGNED *d2i_PKCS7_SIGNED(PKCS7_SIGNED **a, const unsigned char **in, long len); +int i2d_PKCS7_SIGNED(PKCS7_SIGNED *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_SIGNED_it; +PKCS7_ENC_CONTENT *PKCS7_ENC_CONTENT_new(void); +void PKCS7_ENC_CONTENT_free(PKCS7_ENC_CONTENT *a); +PKCS7_ENC_CONTENT *d2i_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT **a, const unsigned char **in, long len); +int i2d_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_ENC_CONTENT_it; +PKCS7_ENVELOPE *PKCS7_ENVELOPE_new(void); +void PKCS7_ENVELOPE_free(PKCS7_ENVELOPE *a); +PKCS7_ENVELOPE *d2i_PKCS7_ENVELOPE(PKCS7_ENVELOPE **a, const unsigned char **in, long len); +int i2d_PKCS7_ENVELOPE(PKCS7_ENVELOPE *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_ENVELOPE_it; +PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new(void); +void PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a); +PKCS7_SIGN_ENVELOPE *d2i_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE **a, const unsigned char **in, long len); +int i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_SIGN_ENVELOPE_it; +PKCS7_DIGEST *PKCS7_DIGEST_new(void); +void PKCS7_DIGEST_free(PKCS7_DIGEST *a); +PKCS7_DIGEST *d2i_PKCS7_DIGEST(PKCS7_DIGEST **a, const unsigned char **in, long len); +int i2d_PKCS7_DIGEST(PKCS7_DIGEST *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_DIGEST_it; +PKCS7_ENCRYPT *PKCS7_ENCRYPT_new(void); +void PKCS7_ENCRYPT_free(PKCS7_ENCRYPT *a); +PKCS7_ENCRYPT *d2i_PKCS7_ENCRYPT(PKCS7_ENCRYPT **a, const unsigned char **in, long len); +int i2d_PKCS7_ENCRYPT(PKCS7_ENCRYPT *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_ENCRYPT_it; +PKCS7 *PKCS7_new(void); +void PKCS7_free(PKCS7 *a); +PKCS7 *d2i_PKCS7(PKCS7 **a, const unsigned char **in, long len); +int i2d_PKCS7(PKCS7 *a, unsigned char **out); +extern const ASN1_ITEM PKCS7_it; + +extern const ASN1_ITEM PKCS7_ATTR_SIGN_it; +extern const ASN1_ITEM PKCS7_ATTR_VERIFY_it; + +int PKCS7_print_ctx(BIO *out, PKCS7 *x, int indent, const ASN1_PCTX *pctx); + +long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); + +int PKCS7_set_type(PKCS7 *p7, int type); +int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); +int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); +int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, + const EVP_MD *dgst); +int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); +int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); +int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); +int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); +int PKCS7_content_new(PKCS7 *p7, int nid); +int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, + BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, + X509 *x509); + +BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); +int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); +BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); + + +PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, + EVP_PKEY *pkey, const EVP_MD *dgst); +X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); +STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); + +PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); +void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, + X509_ALGOR **pdig, X509_ALGOR **psig); +void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); +int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); +int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); +int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); +int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); + +PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); +ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, + void *data); +int PKCS7_add_attribute (PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, + void *value); +ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); +ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); +int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE) *sk); + + +PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags); + +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, + X509 *signcert, EVP_PKEY *pkey, const EVP_MD *md, + int flags); + +int PKCS7_final(PKCS7 *p7, BIO *data, int flags); +int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, + BIO *indata, BIO *out, int flags); +STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags); +PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, + int flags); +int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags); + +int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, + STACK_OF(X509_ALGOR) *cap); +STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); +int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); + +int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); +int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); +int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, + const unsigned char *md, int mdlen); + +int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); +PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); + +BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); + + +void ERR_load_PKCS7_strings(void); + +/* Error codes for the PKCS7 functions. */ + +/* Function codes. */ +#define PKCS7_F_B64_READ_PKCS7 120 +#define PKCS7_F_B64_WRITE_PKCS7 121 +#define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 +#define PKCS7_F_I2D_PKCS7_BIO_STREAM 140 +#define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 +#define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 +#define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 +#define PKCS7_F_PKCS7_ADD_CRL 101 +#define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 +#define PKCS7_F_PKCS7_ADD_SIGNATURE 131 +#define PKCS7_F_PKCS7_ADD_SIGNER 103 +#define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 +#define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 +#define PKCS7_F_PKCS7_CTRL 104 +#define PKCS7_F_PKCS7_DATADECODE 112 +#define PKCS7_F_PKCS7_DATAFINAL 128 +#define PKCS7_F_PKCS7_DATAINIT 105 +#define PKCS7_F_PKCS7_DATASIGN 106 +#define PKCS7_F_PKCS7_DATAVERIFY 107 +#define PKCS7_F_PKCS7_DECRYPT 114 +#define PKCS7_F_PKCS7_DECRYPT_RINFO 133 +#define PKCS7_F_PKCS7_ENCODE_RINFO 132 +#define PKCS7_F_PKCS7_ENCRYPT 115 +#define PKCS7_F_PKCS7_FINAL 134 +#define PKCS7_F_PKCS7_FIND_DIGEST 127 +#define PKCS7_F_PKCS7_GET0_SIGNERS 124 +#define PKCS7_F_PKCS7_RECIP_INFO_SET 130 +#define PKCS7_F_PKCS7_SET_CIPHER 108 +#define PKCS7_F_PKCS7_SET_CONTENT 109 +#define PKCS7_F_PKCS7_SET_DIGEST 126 +#define PKCS7_F_PKCS7_SET_TYPE 110 +#define PKCS7_F_PKCS7_SIGN 116 +#define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 +#define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 +#define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 +#define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 +#define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 +#define PKCS7_F_PKCS7_VERIFY 117 +#define PKCS7_F_SMIME_READ_PKCS7 122 +#define PKCS7_F_SMIME_TEXT 123 + +/* Reason codes. */ +#define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 +#define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 +#define PKCS7_R_CIPHER_NOT_INITIALIZED 116 +#define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 +#define PKCS7_R_CTRL_ERROR 152 +#define PKCS7_R_DECODE_ERROR 130 +#define PKCS7_R_DECRYPTED_KEY_IS_WRONG_LENGTH 100 +#define PKCS7_R_DECRYPT_ERROR 119 +#define PKCS7_R_DIGEST_FAILURE 101 +#define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 +#define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 +#define PKCS7_R_ERROR_ADDING_RECIPIENT 120 +#define PKCS7_R_ERROR_SETTING_CIPHER 121 +#define PKCS7_R_INVALID_MIME_TYPE 131 +#define PKCS7_R_INVALID_NULL_POINTER 143 +#define PKCS7_R_MIME_NO_CONTENT_TYPE 132 +#define PKCS7_R_MIME_PARSE_ERROR 133 +#define PKCS7_R_MIME_SIG_PARSE_ERROR 134 +#define PKCS7_R_MISSING_CERIPEND_INFO 103 +#define PKCS7_R_NO_CONTENT 122 +#define PKCS7_R_NO_CONTENT_TYPE 135 +#define PKCS7_R_NO_DEFAULT_DIGEST 151 +#define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 +#define PKCS7_R_NO_MULTIPART_BODY_FAILURE 136 +#define PKCS7_R_NO_MULTIPART_BOUNDARY 137 +#define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 +#define PKCS7_R_NO_RECIPIENT_MATCHES_KEY 146 +#define PKCS7_R_NO_SIGNATURES_ON_DATA 123 +#define PKCS7_R_NO_SIGNERS 142 +#define PKCS7_R_NO_SIG_CONTENT_TYPE 138 +#define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 +#define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 +#define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 +#define PKCS7_R_PKCS7_DATAFINAL 126 +#define PKCS7_R_PKCS7_DATAFINAL_ERROR 125 +#define PKCS7_R_PKCS7_DATASIGN 145 +#define PKCS7_R_PKCS7_PARSE_ERROR 139 +#define PKCS7_R_PKCS7_SIG_PARSE_ERROR 140 +#define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 +#define PKCS7_R_SIGNATURE_FAILURE 105 +#define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 +#define PKCS7_R_SIGNING_CTRL_FAILURE 147 +#define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 +#define PKCS7_R_SIG_INVALID_MIME_TYPE 141 +#define PKCS7_R_SMIME_TEXT_ERROR 129 +#define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 +#define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 +#define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 +#define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 +#define PKCS7_R_UNKNOWN_OPERATION 110 +#define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 +#define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 +#define PKCS7_R_WRONG_CONTENT_TYPE 113 +#define PKCS7_R_WRONG_PKCS7_TYPE 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/poly1305.h b/curl/include/openssl/poly1305.h new file mode 100644 index 0000000..f538335 --- /dev/null +++ b/curl/include/openssl/poly1305.h @@ -0,0 +1,45 @@ +/* $OpenBSD: poly1305.h,v 1.4 2025/01/25 17:59:44 tb Exp $ */ +/* + * Copyright (c) 2014 Joel Sing + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef HEADER_POLY1305_H +#define HEADER_POLY1305_H + +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct poly1305_context { + size_t aligner; + unsigned char opaque[136]; +} poly1305_context; + +typedef struct poly1305_context poly1305_state; + +void CRYPTO_poly1305_init(poly1305_context *ctx, const unsigned char key[32]); +void CRYPTO_poly1305_update(poly1305_context *ctx, const unsigned char *in, + size_t len); +void CRYPTO_poly1305_finish(poly1305_context *ctx, unsigned char mac[16]); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_POLY1305_H */ diff --git a/curl/include/openssl/posix_time.h b/curl/include/openssl/posix_time.h new file mode 100644 index 0000000..82b3f30 --- /dev/null +++ b/curl/include/openssl/posix_time.h @@ -0,0 +1,54 @@ +/* $OpenBSD: posix_time.h,v 1.1 2024/02/18 16:28:38 tb Exp $ */ +/* + * Copyright (c) 2022, Google Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef OPENSSL_HEADER_POSIX_TIME_H +#define OPENSSL_HEADER_POSIX_TIME_H + +#include +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +/* + * OPENSSL_posix_to_tm converts a int64_t POSIX time value in |time|, which must + * be in the range of year 0000 to 9999, to a broken out time value in |tm|. It + * returns one on success and zero on error. + */ +int OPENSSL_posix_to_tm(int64_t time, struct tm *out_tm); + +/* + * OPENSSL_tm_to_posix converts a time value between the years 0 and 9999 in + * |tm| to a POSIX time value in |out|. One is returned on success, zero is + * returned on failure. It is a failure if |tm| contains out of range values. + */ +int OPENSSL_tm_to_posix(const struct tm *tm, int64_t *out); + +/* + * OPENSSL_timegm converts a time value between the years 0 and 9999 in |tm| to + * a time_t value in |out|. One is returned on success, zero is returned on + * failure. It is a failure if the converted time can not be represented in a + * time_t, or if the tm contains out of range values. + */ +int OPENSSL_timegm(const struct tm *tm, time_t *out); + +#if defined(__cplusplus) +} /* extern C */ +#endif + +#endif /* OPENSSL_HEADER_POSIX_TIME_H */ diff --git a/curl/include/openssl/rand.h b/curl/include/openssl/rand.h new file mode 100644 index 0000000..1a2c8f7 --- /dev/null +++ b/curl/include/openssl/rand.h @@ -0,0 +1,118 @@ +/* $OpenBSD: rand.h,v 1.25 2024/04/10 14:53:01 beck Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#include + +#ifndef HEADER_RAND_H +#define HEADER_RAND_H + +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct rand_meth_st RAND_METHOD; */ + +struct rand_meth_st { + void (*seed)(const void *buf, int num); + int (*bytes)(unsigned char *buf, int num); + void (*cleanup)(void); + void (*add)(const void *buf, int num, double entropy); + int (*pseudorand)(unsigned char *buf, int num); + int (*status)(void); +}; + +int RAND_set_rand_method(const RAND_METHOD *meth); +const RAND_METHOD *RAND_get_rand_method(void); +RAND_METHOD *RAND_SSLeay(void); + +void RAND_cleanup(void ); +int RAND_bytes(unsigned char *buf, int num); +int RAND_pseudo_bytes(unsigned char *buf, int num); +void RAND_seed(const void *buf, int num); +void RAND_add(const void *buf, int num, double entropy); +int RAND_load_file(const char *file, long max_bytes); +int RAND_write_file(const char *file); +const char *RAND_file_name(char *file, size_t num); +int RAND_status(void); +int RAND_poll(void); + +void ERR_load_RAND_strings(void); + +/* Error codes for the RAND functions. (no longer used) */ + +/* Function codes. */ +#define RAND_F_RAND_GET_RAND_METHOD 101 +#define RAND_F_RAND_INIT_FIPS 102 +#define RAND_F_SSLEAY_RAND_BYTES 100 + +/* Reason codes. */ +#define RAND_R_DUAL_EC_DRBG_DISABLED 104 +#define RAND_R_ERROR_INITIALISING_DRBG 102 +#define RAND_R_ERROR_INSTANTIATING_DRBG 103 +#define RAND_R_NO_FIPS_RANDOM_METHOD_SET 101 +#define RAND_R_PRNG_NOT_SEEDED 100 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/rc2.h b/curl/include/openssl/rc2.h new file mode 100644 index 0000000..96e395f --- /dev/null +++ b/curl/include/openssl/rc2.h @@ -0,0 +1,96 @@ +/* $OpenBSD: rc2.h,v 1.13 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RC2_H +#define HEADER_RC2_H + +#include /* OPENSSL_NO_RC2, RC2_INT */ + +#define RC2_ENCRYPT 1 +#define RC2_DECRYPT 0 + +#define RC2_BLOCK 8 +#define RC2_KEY_LENGTH 16 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc2_key_st { + RC2_INT data[64]; +} RC2_KEY; + +void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, RC2_KEY *key, + int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_decrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/rc4.h b/curl/include/openssl/rc4.h new file mode 100644 index 0000000..a204723 --- /dev/null +++ b/curl/include/openssl/rc4.h @@ -0,0 +1,83 @@ +/* $OpenBSD: rc4.h,v 1.16 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RC4_H +#define HEADER_RC4_H + +#include /* OPENSSL_NO_RC4, RC4_INT */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct rc4_key_st { + RC4_INT x, y; + RC4_INT data[256]; +} RC4_KEY; + +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/ripemd.h b/curl/include/openssl/ripemd.h new file mode 100644 index 0000000..c7b1bd7 --- /dev/null +++ b/curl/include/openssl/ripemd.h @@ -0,0 +1,107 @@ +/* $OpenBSD: ripemd.h,v 1.20 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#include + +#ifndef HEADER_RIPEMD_H +#define HEADER_RIPEMD_H + +#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__) +#define __bounded__(x, y, z) +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(__LP32__) +#define RIPEMD160_LONG unsigned long +#elif defined(__ILP64__) +#define RIPEMD160_LONG unsigned long +#define RIPEMD160_LONG_LOG2 3 +#else +#define RIPEMD160_LONG unsigned int +#endif + +#define RIPEMD160_CBLOCK 64 +#define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +#define RIPEMD160_DIGEST_LENGTH 20 + +typedef struct RIPEMD160state_st { + RIPEMD160_LONG A, B,C, D, E; + RIPEMD160_LONG Nl, Nh; + RIPEMD160_LONG data[RIPEMD160_LBLOCK]; + unsigned int num; +} RIPEMD160_CTX; + +int RIPEMD160_Init(RIPEMD160_CTX *c); +int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); +unsigned char *RIPEMD160(const unsigned char *d, size_t n, + unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/rsa.h b/curl/include/openssl/rsa.h new file mode 100644 index 0000000..5620128 --- /dev/null +++ b/curl/include/openssl/rsa.h @@ -0,0 +1,603 @@ +/* $OpenBSD: rsa.h,v 1.67 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_RSA_H +#define HEADER_RSA_H + +#include + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct rsa_pss_params_st { + X509_ALGOR *hashAlgorithm; + X509_ALGOR *maskGenAlgorithm; + ASN1_INTEGER *saltLength; + ASN1_INTEGER *trailerField; + + /* Hash algorithm decoded from maskGenAlgorithm. */ + X509_ALGOR *maskHash; +} /* RSA_PSS_PARAMS */; + +typedef struct rsa_oaep_params_st { + X509_ALGOR *hashFunc; + X509_ALGOR *maskGenFunc; + X509_ALGOR *pSourceFunc; + + /* Hash algorithm decoded from maskGenFunc. */ + X509_ALGOR *maskHash; +} RSA_OAEP_PARAMS; + +#ifndef OPENSSL_RSA_MAX_MODULUS_BITS +# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 +#endif + +#ifndef OPENSSL_RSA_SMALL_MODULUS_BITS +# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +#endif +#ifndef OPENSSL_RSA_MAX_PUBEXP_BITS +# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 /* exponent limit enforced for "large" modulus only */ +#endif + +#define RSA_3 0x3L +#define RSA_F4 0x10001L + +/* Don't check pub/private match. */ +#define RSA_METHOD_FLAG_NO_CHECK 0x0001 + +#define RSA_FLAG_CACHE_PUBLIC 0x0002 +#define RSA_FLAG_CACHE_PRIVATE 0x0004 +#define RSA_FLAG_BLINDING 0x0008 +#define RSA_FLAG_THREAD_SAFE 0x0010 + +/* + * This flag means the private key operations will be handled by rsa_mod_exp + * and that they do not depend on the private key components being present: + * for example a key stored in external hardware. Without this flag bn_mod_exp + * gets called when private key components are absent. + */ +#define RSA_FLAG_EXT_PKEY 0x0020 + +/* + * This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify functions. + */ +#define RSA_FLAG_SIGN_VER 0x0040 + +/* + * The built-in RSA implementation uses blinding by default, but other engines + * might not need it. + */ +#define RSA_FLAG_NO_BLINDING 0x0080 + +/* Salt length matches digest */ +#define RSA_PSS_SALTLEN_DIGEST -1 +/* Verify only: auto detect salt length */ +#define RSA_PSS_SALTLEN_AUTO -2 +/* Set salt length to maximum possible */ +#define RSA_PSS_SALTLEN_MAX -3 + +#define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, NULL) + +#define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) + +#define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ + RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) + +#define EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) + +#define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ + RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, 0, plen) + +#define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) + +#define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) + +#define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) + +#define EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) + +#define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)(md)) + +#define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)(pmd)) + +#define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)(pmd)) + +#define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)(l)) + +#define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)(l)) + +#define EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, \ + EVP_PKEY_OP_KEYGEN, EVP_PKEY_CTRL_MD, 0, (void *)(md)) + +#define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) +#define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) + +#define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) +#define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) +#define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) + +#define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) +#define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) +#define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) + +#define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) +#define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) + +#define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) +#define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) + +#define RSA_PKCS1_PADDING 1 +#define RSA_SSLV23_PADDING 2 +#define RSA_NO_PADDING 3 +#define RSA_PKCS1_OAEP_PADDING 4 +/* rust-openssl and erlang expose this and salt even uses it. */ +#define RSA_X931_PADDING 5 +/* EVP_PKEY_ only */ +#define RSA_PKCS1_PSS_PADDING 6 + +#define RSA_PKCS1_PADDING_SIZE 11 + +#define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) +#define RSA_get_app_data(s) RSA_get_ex_data(s,0) + +RSA *RSA_new(void); +RSA *RSA_new_method(ENGINE *engine); +int RSA_bits(const RSA *rsa); +int RSA_size(const RSA *rsa); + +/* + * Wrapped in OPENSSL_NO_DEPRECATED in 0.9.8. Still used for libressl bindings + * in rust-openssl. + */ +RSA *RSA_generate_key(int bits, unsigned long e, + void (*callback)(int, int, void *), void *cb_arg); + +/* New version */ +int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); + +int RSA_check_key(const RSA *); +/* next 4 return -1 on error */ +int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_public_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +void RSA_free(RSA *r); +/* "up" the RSA object's reference count */ +int RSA_up_ref(RSA *r); + +int RSA_flags(const RSA *r); + +void RSA_set_default_method(const RSA_METHOD *meth); +const RSA_METHOD *RSA_get_default_method(void); +const RSA_METHOD *RSA_get_method(const RSA *rsa); +int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); + +const RSA_METHOD *RSA_PKCS1_OpenSSL(void); +const RSA_METHOD *RSA_PKCS1_SSLeay(void); + +int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); + +RSA *d2i_RSAPublicKey(RSA **a, const unsigned char **in, long len); +int i2d_RSAPublicKey(const RSA *a, unsigned char **out); +extern const ASN1_ITEM RSAPublicKey_it; +RSA *d2i_RSAPrivateKey(RSA **a, const unsigned char **in, long len); +int i2d_RSAPrivateKey(const RSA *a, unsigned char **out); +extern const ASN1_ITEM RSAPrivateKey_it; + +RSA_PSS_PARAMS *RSA_PSS_PARAMS_new(void); +void RSA_PSS_PARAMS_free(RSA_PSS_PARAMS *a); +RSA_PSS_PARAMS *d2i_RSA_PSS_PARAMS(RSA_PSS_PARAMS **a, const unsigned char **in, long len); +int i2d_RSA_PSS_PARAMS(RSA_PSS_PARAMS *a, unsigned char **out); +extern const ASN1_ITEM RSA_PSS_PARAMS_it; + +RSA_OAEP_PARAMS *RSA_OAEP_PARAMS_new(void); +void RSA_OAEP_PARAMS_free(RSA_OAEP_PARAMS *a); +RSA_OAEP_PARAMS *d2i_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS **a, const unsigned char **in, long len); +int i2d_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS *a, unsigned char **out); +extern const ASN1_ITEM RSA_OAEP_PARAMS_it; + +int RSA_print_fp(FILE *fp, const RSA *r, int offset); + +#ifndef OPENSSL_NO_BIO +int RSA_print(BIO *bp, const RSA *r, int offset); +#endif + +/* The following 2 functions sign and verify a X509_SIG ASN1 object + * inside PKCS#1 padded RSA encryption */ +int RSA_sign(int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); +int RSA_verify(int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); + +/* The following 2 function sign and verify a ASN1_OCTET_STRING + * object inside PKCS#1 padded RSA encryption */ +int RSA_sign_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigret, unsigned int *siglen, + RSA *rsa); +int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigbuf, unsigned int siglen, + RSA *rsa); + +int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); +void RSA_blinding_off(RSA *rsa); + +int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int PKCS1_MGF1(unsigned char *mask, long len, + const unsigned char *seed, long seedlen, const EVP_MD *dgst); +int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, + const unsigned char *p, int pl); +int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len, + const unsigned char *p, int pl); +int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, const unsigned char *param, int plen, + const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, int num, const unsigned char *param, + int plen, const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_add_none(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_none(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); + +int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const unsigned char *EM, int sLen); +int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, int sLen); + +int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, const unsigned char *EM, + int sLen); + +int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLen); + +int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int RSA_set_ex_data(RSA *r, int idx, void *arg); +void *RSA_get_ex_data(const RSA *r, int idx); + +int RSA_security_bits(const RSA *rsa); + +void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, + const BIGNUM **d); +int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); +void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, + const BIGNUM **iqmp); +int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); +void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); +int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); +const BIGNUM *RSA_get0_n(const RSA *r); +const BIGNUM *RSA_get0_e(const RSA *r); +const BIGNUM *RSA_get0_d(const RSA *r); +const BIGNUM *RSA_get0_p(const RSA *r); +const BIGNUM *RSA_get0_q(const RSA *r); +const BIGNUM *RSA_get0_dmp1(const RSA *r); +const BIGNUM *RSA_get0_dmq1(const RSA *r); +const BIGNUM *RSA_get0_iqmp(const RSA *r); +const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r); +void RSA_clear_flags(RSA *r, int flags); +int RSA_test_flags(const RSA *r, int flags); +void RSA_set_flags(RSA *r, int flags); + +RSA *RSAPublicKey_dup(RSA *rsa); +RSA *RSAPrivateKey_dup(RSA *rsa); + +/* If this flag is set the RSA method is FIPS compliant and can be used + * in FIPS mode. This is set in the validated module method. If an + * application sets this flag in its own methods it is its responsibility + * to ensure the result is compliant. + */ + +#define RSA_FLAG_FIPS_METHOD 0x0400 + +/* If this flag is set the operations normally disabled in FIPS mode are + * permitted it is then the applications responsibility to ensure that the + * usage is compliant. + */ + +#define RSA_FLAG_NON_FIPS_ALLOW 0x0400 +/* Application has decided PRNG is good enough to generate a key: don't + * check. + */ +#define RSA_FLAG_CHECKED 0x0800 + +RSA_METHOD *RSA_meth_new(const char *name, int flags); +void RSA_meth_free(RSA_METHOD *meth); +RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); +int RSA_meth_set1_name(RSA_METHOD *meth, const char *name); +int RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding)); +int RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding)); +int (*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa); +int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa)); +int RSA_meth_set_pub_enc(RSA_METHOD *meth, int (*pub_enc)(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding)); +int RSA_meth_set_pub_dec(RSA_METHOD *meth, int (*pub_dec)(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding)); +int RSA_meth_set_mod_exp(RSA_METHOD *meth, int (*mod_exp)(BIGNUM *r0, + const BIGNUM *i, RSA *rsa, BN_CTX *ctx)); +int RSA_meth_set_bn_mod_exp(RSA_METHOD *meth, int (*bn_mod_exp)(BIGNUM *r, + const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *m_ctx)); +int RSA_meth_set_init(RSA_METHOD *meth, int (*init)(RSA *rsa)); +int RSA_meth_set_keygen(RSA_METHOD *meth, int (*keygen)(RSA *rsa, int bits, + BIGNUM *e, BN_GENCB *cb)); +int RSA_meth_set_flags(RSA_METHOD *meth, int flags); +int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data); +const char *RSA_meth_get0_name(const RSA_METHOD *); +int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth))(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding); +int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth))(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding); +int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth))(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding); +int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth))(int flen, + const unsigned char *from, unsigned char *to, RSA *rsa, int padding); +int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))(BIGNUM *r0, const BIGNUM *i, + RSA *rsa, BN_CTX *ctx); +int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))(BIGNUM *r, + const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, + BN_MONT_CTX *m_ctx); +int (*RSA_meth_get_init(const RSA_METHOD *meth))(RSA *rsa); +int (*RSA_meth_get_keygen(const RSA_METHOD *meth))(RSA *rsa, int bits, BIGNUM *e, + BN_GENCB *cb); +int RSA_meth_get_flags(const RSA_METHOD *meth); +void *RSA_meth_get0_app_data(const RSA_METHOD *meth); +int (*RSA_meth_get_sign(const RSA_METHOD *meth))(int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + const RSA *rsa); +int RSA_meth_set_sign(RSA_METHOD *rsa, int (*sign)(int type, + const unsigned char *m, unsigned int m_length, unsigned char *sigret, + unsigned int *siglen, const RSA *rsa)); +int (*RSA_meth_get_verify(const RSA_METHOD *meth))(int dtype, + const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa); +int RSA_meth_set_verify(RSA_METHOD *rsa, int (*verify)(int dtype, + const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, + unsigned int siglen, const RSA *rsa)); + + +void ERR_load_RSA_strings(void); + +/* Error codes for the RSA functions. */ + +/* Function codes. */ +#define RSA_F_CHECK_PADDING_MD 140 +#define RSA_F_DO_RSA_PRINT 146 +#define RSA_F_INT_RSA_VERIFY 145 +#define RSA_F_MEMORY_LOCK 100 +#define RSA_F_OLD_RSA_PRIV_DECODE 147 +#define RSA_F_PKEY_RSA_CTRL 143 +#define RSA_F_PKEY_RSA_CTRL_STR 144 +#define RSA_F_PKEY_RSA_SIGN 142 +#define RSA_F_PKEY_RSA_VERIFY 154 +#define RSA_F_PKEY_RSA_VERIFYRECOVER 141 +#define RSA_F_RSA_BUILTIN_KEYGEN 129 +#define RSA_F_RSA_CHECK_KEY 123 +#define RSA_F_RSA_EAY_MOD_EXP 157 +#define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 +#define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102 +#define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103 +#define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 +#define RSA_F_RSA_GENERATE_KEY 105 +#define RSA_F_RSA_GENERATE_KEY_EX 155 +#define RSA_F_RSA_ITEM_VERIFY 156 +#define RSA_F_RSA_MEMORY_LOCK 130 +#define RSA_F_RSA_NEW_METHOD 106 +#define RSA_F_RSA_NULL 124 +#define RSA_F_RSA_NULL_MOD_EXP 131 +#define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +#define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +#define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +#define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +#define RSA_F_RSA_PADDING_ADD_NONE 107 +#define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148 +#define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +#define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +#define RSA_F_RSA_PADDING_ADD_X931 127 +#define RSA_F_RSA_PADDING_CHECK_NONE 111 +#define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 +#define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 +#define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 +#define RSA_F_RSA_PADDING_CHECK_X931 128 +#define RSA_F_RSA_PRINT 115 +#define RSA_F_RSA_PRINT_FP 116 +#define RSA_F_RSA_PRIVATE_DECRYPT 150 +#define RSA_F_RSA_PRIVATE_ENCRYPT 151 +#define RSA_F_RSA_PRIV_DECODE 137 +#define RSA_F_RSA_PRIV_ENCODE 138 +#define RSA_F_RSA_PUBLIC_DECRYPT 152 +#define RSA_F_RSA_PUBLIC_ENCRYPT 153 +#define RSA_F_RSA_PUB_DECODE 139 +#define RSA_F_RSA_SETUP_BLINDING 136 +#define RSA_F_RSA_SIGN 117 +#define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 +#define RSA_F_RSA_VERIFY 119 +#define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 +#define RSA_F_RSA_VERIFY_PKCS1_PSS 126 +#define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 149 + +/* Reason codes. */ +#define RSA_R_ALGORITHM_MISMATCH 100 +#define RSA_R_BAD_E_VALUE 101 +#define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 +#define RSA_R_BAD_PAD_BYTE_COUNT 103 +#define RSA_R_BAD_SIGNATURE 104 +#define RSA_R_BLOCK_TYPE_IS_NOT_01 106 +#define RSA_R_BLOCK_TYPE_IS_NOT_02 107 +#define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 +#define RSA_R_DATA_TOO_LARGE 109 +#define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 +#define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 +#define RSA_R_DATA_TOO_SMALL 111 +#define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 +#define RSA_R_DIGEST_DOES_NOT_MATCH 158 +#define RSA_R_DIGEST_NOT_ALLOWED 145 +#define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 +#define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 +#define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 +#define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 +#define RSA_R_FIRST_OCTET_INVALID 133 +#define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 +#define RSA_R_INVALID_DIGEST 157 +#define RSA_R_INVALID_DIGEST_LENGTH 143 +#define RSA_R_INVALID_HEADER 137 +#define RSA_R_INVALID_KEYBITS 145 +#define RSA_R_INVALID_LABEL 160 +#define RSA_R_INVALID_MESSAGE_LENGTH 131 +#define RSA_R_INVALID_MGF1_MD 156 +#define RSA_R_INVALID_OAEP_PARAMETERS 161 +#define RSA_R_INVALID_PADDING 138 +#define RSA_R_INVALID_PADDING_MODE 141 +#define RSA_R_INVALID_PSS_PARAMETERS 149 +#define RSA_R_INVALID_PSS_SALTLEN 146 +#define RSA_R_INVALID_SALT_LENGTH 150 +#define RSA_R_INVALID_TRAILER 139 +#define RSA_R_INVALID_X931_DIGEST 142 +#define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 +#define RSA_R_KEY_SIZE_TOO_SMALL 120 +#define RSA_R_LAST_OCTET_INVALID 134 +#define RSA_R_MODULUS_TOO_LARGE 105 +#define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152 +#define RSA_R_NON_FIPS_RSA_METHOD 157 +#define RSA_R_NO_PUBLIC_EXPONENT 140 +#define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 +#define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 +#define RSA_R_OAEP_DECODING_ERROR 121 +#define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158 +#define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 +#define RSA_R_PADDING_CHECK_FAILED 114 +#define RSA_R_PSS_SALTLEN_TOO_SMALL 164 +#define RSA_R_P_NOT_PRIME 128 +#define RSA_R_Q_NOT_PRIME 129 +#define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 +#define RSA_R_SLEN_CHECK_FAILED 136 +#define RSA_R_SLEN_RECOVERY_FAILED 135 +#define RSA_R_SSLV3_ROLLBACK_ATTACK 115 +#define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 +#define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 +#define RSA_R_UNKNOWN_DIGEST 166 +#define RSA_R_UNKNOWN_MASK_DIGEST 151 +#define RSA_R_UNKNOWN_PADDING_TYPE 118 +#define RSA_R_UNKNOWN_PSS_DIGEST 152 +#define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162 +#define RSA_R_UNSUPPORTED_LABEL_SOURCE 163 +#define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 +#define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 +#define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 +#define RSA_R_VALUE_MISSING 147 +#define RSA_R_WRONG_SIGNATURE_LENGTH 119 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/safestack.h b/curl/include/openssl/safestack.h new file mode 100644 index 0000000..8425a45 --- /dev/null +++ b/curl/include/openssl/safestack.h @@ -0,0 +1,1739 @@ +/* $OpenBSD: safestack.h,v 1.33 2024/03/02 11:22:48 tb Exp $ */ +/* ==================================================================== + * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_SAFESTACK_H +#define HEADER_SAFESTACK_H + +#include + +#ifndef CHECKED_PTR_OF +#define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +#endif + +/* In C++ we get problems because an explicit cast is needed from (void *) + * we use CHECKED_STACK_OF to ensure the correct type is passed in the macros + * below. + */ + +#define CHECKED_STACK_OF(type, p) \ + ((_STACK*) (1 ? p : (STACK_OF(type)*)0)) + +#define CHECKED_SK_FREE_FUNC(type, p) \ + ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) + +#define CHECKED_SK_FREE_FUNC2(type, p) \ + ((void (*)(void *)) ((1 ? p : (void (*)(type))0))) + +#define CHECKED_SK_CMP_FUNC(type, p) \ + ((int (*)(const void *, const void *)) \ + ((1 ? p : (int (*)(const type * const *, const type * const *))0))) + +#define STACK_OF(type) struct stack_st_##type +#define PREDECLARE_STACK_OF(type) STACK_OF(type); + +#define DECLARE_STACK_OF(type) STACK_OF(type); +#define DECLARE_SPECIAL_STACK_OF(type, type2) STACK_OF(type); + +#define IMPLEMENT_STACK_OF(type) /* nada (obsolete in new safestack approach)*/ + + +/* Strings are special: normally an lhash entry will point to a single + * (somewhat) mutable object. In the case of strings: + * + * a) Instead of a single char, there is an array of chars, NUL-terminated. + * b) The string may have be immutable. + * + * So, they need their own declarations. Especially important for + * type-checking tools, such as Deputy. + * +o * In practice, however, it appears to be hard to have a const + * string. For now, I'm settling for dealing with the fact it is a + * string at all. + */ +typedef char *OPENSSL_STRING; + +typedef const char *OPENSSL_CSTRING; + +/* Confusingly, LHASH_OF(STRING) deals with char ** throughout, but + * STACK_OF(STRING) is really more like STACK_OF(char), only, as + * mentioned above, instead of a single char each entry is a + * NUL-terminated array of chars. So, we have to implement STRING + * specially for STACK_OF. This is dealt with in the autogenerated + * macros below. + */ + +DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) + +/* SKM_sk_... stack macros are internal to safestack.h: + * never use them directly, use sk__... instead */ +#define SKM_sk_new(type, cmp) \ + ((STACK_OF(type) *)sk_new(CHECKED_SK_CMP_FUNC(type, cmp))) +#define SKM_sk_new_null(type) \ + ((STACK_OF(type) *)sk_new_null()) +#define SKM_sk_free(type, st) \ + sk_free(CHECKED_STACK_OF(type, st)) +#define SKM_sk_num(type, st) \ + sk_num(CHECKED_STACK_OF(type, st)) +#define SKM_sk_value(type, st,i) \ + ((type *)sk_value(CHECKED_STACK_OF(type, st), i)) +#define SKM_sk_set(type, st,i,val) \ + sk_set(CHECKED_STACK_OF(type, st), i, CHECKED_PTR_OF(type, val)) +#define SKM_sk_zero(type, st) \ + sk_zero(CHECKED_STACK_OF(type, st)) +#define SKM_sk_push(type, st, val) \ + sk_push(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +#define SKM_sk_unshift(type, st, val) \ + sk_unshift(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +#define SKM_sk_find(type, st, val) \ + sk_find(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) +#define SKM_sk_delete(type, st, i) \ + (type *)sk_delete(CHECKED_STACK_OF(type, st), i) +#define SKM_sk_delete_ptr(type, st, ptr) \ + (type *)sk_delete_ptr(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, ptr)) +#define SKM_sk_insert(type, st,val, i) \ + sk_insert(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val), i) +#define SKM_sk_set_cmp_func(type, st, cmp) \ + ((int (*)(const type * const *,const type * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(type, st), CHECKED_SK_CMP_FUNC(type, cmp))) +#define SKM_sk_dup(type, st) \ + (STACK_OF(type) *)sk_dup(CHECKED_STACK_OF(type, st)) +#define SKM_sk_pop_free(type, st, free_func) \ + sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func)) +#define SKM_sk_shift(type, st) \ + (type *)sk_shift(CHECKED_STACK_OF(type, st)) +#define SKM_sk_pop(type, st) \ + (type *)sk_pop(CHECKED_STACK_OF(type, st)) +#define SKM_sk_sort(type, st) \ + sk_sort(CHECKED_STACK_OF(type, st)) +#define SKM_sk_is_sorted(type, st) \ + sk_is_sorted(CHECKED_STACK_OF(type, st)) + +#define sk_ACCESS_DESCRIPTION_new(cmp) SKM_sk_new(ACCESS_DESCRIPTION, (cmp)) +#define sk_ACCESS_DESCRIPTION_new_null() SKM_sk_new_null(ACCESS_DESCRIPTION) +#define sk_ACCESS_DESCRIPTION_free(st) SKM_sk_free(ACCESS_DESCRIPTION, (st)) +#define sk_ACCESS_DESCRIPTION_num(st) SKM_sk_num(ACCESS_DESCRIPTION, (st)) +#define sk_ACCESS_DESCRIPTION_value(st, i) SKM_sk_value(ACCESS_DESCRIPTION, (st), (i)) +#define sk_ACCESS_DESCRIPTION_set(st, i, val) SKM_sk_set(ACCESS_DESCRIPTION, (st), (i), (val)) +#define sk_ACCESS_DESCRIPTION_zero(st) SKM_sk_zero(ACCESS_DESCRIPTION, (st)) +#define sk_ACCESS_DESCRIPTION_push(st, val) SKM_sk_push(ACCESS_DESCRIPTION, (st), (val)) +#define sk_ACCESS_DESCRIPTION_unshift(st, val) SKM_sk_unshift(ACCESS_DESCRIPTION, (st), (val)) +#define sk_ACCESS_DESCRIPTION_find(st, val) SKM_sk_find(ACCESS_DESCRIPTION, (st), (val)) +#define sk_ACCESS_DESCRIPTION_delete(st, i) SKM_sk_delete(ACCESS_DESCRIPTION, (st), (i)) +#define sk_ACCESS_DESCRIPTION_delete_ptr(st, ptr) SKM_sk_delete_ptr(ACCESS_DESCRIPTION, (st), (ptr)) +#define sk_ACCESS_DESCRIPTION_insert(st, val, i) SKM_sk_insert(ACCESS_DESCRIPTION, (st), (val), (i)) +#define sk_ACCESS_DESCRIPTION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ACCESS_DESCRIPTION, (st), (cmp)) +#define sk_ACCESS_DESCRIPTION_dup(st) SKM_sk_dup(ACCESS_DESCRIPTION, st) +#define sk_ACCESS_DESCRIPTION_pop_free(st, free_func) SKM_sk_pop_free(ACCESS_DESCRIPTION, (st), (free_func)) +#define sk_ACCESS_DESCRIPTION_shift(st) SKM_sk_shift(ACCESS_DESCRIPTION, (st)) +#define sk_ACCESS_DESCRIPTION_pop(st) SKM_sk_pop(ACCESS_DESCRIPTION, (st)) +#define sk_ACCESS_DESCRIPTION_sort(st) SKM_sk_sort(ACCESS_DESCRIPTION, (st)) +#define sk_ACCESS_DESCRIPTION_is_sorted(st) SKM_sk_is_sorted(ACCESS_DESCRIPTION, (st)) + +#define sk_ASIdOrRange_new(cmp) SKM_sk_new(ASIdOrRange, (cmp)) +#define sk_ASIdOrRange_new_null() SKM_sk_new_null(ASIdOrRange) +#define sk_ASIdOrRange_free(st) SKM_sk_free(ASIdOrRange, (st)) +#define sk_ASIdOrRange_num(st) SKM_sk_num(ASIdOrRange, (st)) +#define sk_ASIdOrRange_value(st, i) SKM_sk_value(ASIdOrRange, (st), (i)) +#define sk_ASIdOrRange_set(st, i, val) SKM_sk_set(ASIdOrRange, (st), (i), (val)) +#define sk_ASIdOrRange_zero(st) SKM_sk_zero(ASIdOrRange, (st)) +#define sk_ASIdOrRange_push(st, val) SKM_sk_push(ASIdOrRange, (st), (val)) +#define sk_ASIdOrRange_unshift(st, val) SKM_sk_unshift(ASIdOrRange, (st), (val)) +#define sk_ASIdOrRange_find(st, val) SKM_sk_find(ASIdOrRange, (st), (val)) +#define sk_ASIdOrRange_delete(st, i) SKM_sk_delete(ASIdOrRange, (st), (i)) +#define sk_ASIdOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASIdOrRange, (st), (ptr)) +#define sk_ASIdOrRange_insert(st, val, i) SKM_sk_insert(ASIdOrRange, (st), (val), (i)) +#define sk_ASIdOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASIdOrRange, (st), (cmp)) +#define sk_ASIdOrRange_dup(st) SKM_sk_dup(ASIdOrRange, st) +#define sk_ASIdOrRange_pop_free(st, free_func) SKM_sk_pop_free(ASIdOrRange, (st), (free_func)) +#define sk_ASIdOrRange_shift(st) SKM_sk_shift(ASIdOrRange, (st)) +#define sk_ASIdOrRange_pop(st) SKM_sk_pop(ASIdOrRange, (st)) +#define sk_ASIdOrRange_sort(st) SKM_sk_sort(ASIdOrRange, (st)) +#define sk_ASIdOrRange_is_sorted(st) SKM_sk_is_sorted(ASIdOrRange, (st)) + +#define sk_ASN1_GENERALSTRING_new(cmp) SKM_sk_new(ASN1_GENERALSTRING, (cmp)) +#define sk_ASN1_GENERALSTRING_new_null() SKM_sk_new_null(ASN1_GENERALSTRING) +#define sk_ASN1_GENERALSTRING_free(st) SKM_sk_free(ASN1_GENERALSTRING, (st)) +#define sk_ASN1_GENERALSTRING_num(st) SKM_sk_num(ASN1_GENERALSTRING, (st)) +#define sk_ASN1_GENERALSTRING_value(st, i) SKM_sk_value(ASN1_GENERALSTRING, (st), (i)) +#define sk_ASN1_GENERALSTRING_set(st, i, val) SKM_sk_set(ASN1_GENERALSTRING, (st), (i), (val)) +#define sk_ASN1_GENERALSTRING_zero(st) SKM_sk_zero(ASN1_GENERALSTRING, (st)) +#define sk_ASN1_GENERALSTRING_push(st, val) SKM_sk_push(ASN1_GENERALSTRING, (st), (val)) +#define sk_ASN1_GENERALSTRING_unshift(st, val) SKM_sk_unshift(ASN1_GENERALSTRING, (st), (val)) +#define sk_ASN1_GENERALSTRING_find(st, val) SKM_sk_find(ASN1_GENERALSTRING, (st), (val)) +#define sk_ASN1_GENERALSTRING_delete(st, i) SKM_sk_delete(ASN1_GENERALSTRING, (st), (i)) +#define sk_ASN1_GENERALSTRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_GENERALSTRING, (st), (ptr)) +#define sk_ASN1_GENERALSTRING_insert(st, val, i) SKM_sk_insert(ASN1_GENERALSTRING, (st), (val), (i)) +#define sk_ASN1_GENERALSTRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_GENERALSTRING, (st), (cmp)) +#define sk_ASN1_GENERALSTRING_dup(st) SKM_sk_dup(ASN1_GENERALSTRING, st) +#define sk_ASN1_GENERALSTRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_GENERALSTRING, (st), (free_func)) +#define sk_ASN1_GENERALSTRING_shift(st) SKM_sk_shift(ASN1_GENERALSTRING, (st)) +#define sk_ASN1_GENERALSTRING_pop(st) SKM_sk_pop(ASN1_GENERALSTRING, (st)) +#define sk_ASN1_GENERALSTRING_sort(st) SKM_sk_sort(ASN1_GENERALSTRING, (st)) +#define sk_ASN1_GENERALSTRING_is_sorted(st) SKM_sk_is_sorted(ASN1_GENERALSTRING, (st)) + +#define sk_ASN1_INTEGER_new(cmp) SKM_sk_new(ASN1_INTEGER, (cmp)) +#define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER) +#define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st)) +#define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st)) +#define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i)) +#define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val)) +#define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st)) +#define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val)) +#define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val)) +#define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val)) +#define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i)) +#define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr)) +#define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i)) +#define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp)) +#define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st) +#define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func)) +#define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st)) +#define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st)) +#define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st)) +#define sk_ASN1_INTEGER_is_sorted(st) SKM_sk_is_sorted(ASN1_INTEGER, (st)) + +#define sk_ASN1_OBJECT_new(cmp) SKM_sk_new(ASN1_OBJECT, (cmp)) +#define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT) +#define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st)) +#define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st)) +#define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i)) +#define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val)) +#define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st)) +#define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val)) +#define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val)) +#define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val)) +#define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i)) +#define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr)) +#define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i)) +#define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp)) +#define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st) +#define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func)) +#define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st)) +#define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st)) +#define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st)) +#define sk_ASN1_OBJECT_is_sorted(st) SKM_sk_is_sorted(ASN1_OBJECT, (st)) + +#define sk_ASN1_TYPE_new(cmp) SKM_sk_new(ASN1_TYPE, (cmp)) +#define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE) +#define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st)) +#define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st)) +#define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i)) +#define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val)) +#define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st)) +#define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val)) +#define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val)) +#define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val)) +#define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i)) +#define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr)) +#define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i)) +#define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp)) +#define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st) +#define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func)) +#define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st)) +#define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st)) +#define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st)) +#define sk_ASN1_TYPE_is_sorted(st) SKM_sk_is_sorted(ASN1_TYPE, (st)) + +#define sk_ASN1_UTF8STRING_new(cmp) SKM_sk_new(ASN1_UTF8STRING, (cmp)) +#define sk_ASN1_UTF8STRING_new_null() SKM_sk_new_null(ASN1_UTF8STRING) +#define sk_ASN1_UTF8STRING_free(st) SKM_sk_free(ASN1_UTF8STRING, (st)) +#define sk_ASN1_UTF8STRING_num(st) SKM_sk_num(ASN1_UTF8STRING, (st)) +#define sk_ASN1_UTF8STRING_value(st, i) SKM_sk_value(ASN1_UTF8STRING, (st), (i)) +#define sk_ASN1_UTF8STRING_set(st, i, val) SKM_sk_set(ASN1_UTF8STRING, (st), (i), (val)) +#define sk_ASN1_UTF8STRING_zero(st) SKM_sk_zero(ASN1_UTF8STRING, (st)) +#define sk_ASN1_UTF8STRING_push(st, val) SKM_sk_push(ASN1_UTF8STRING, (st), (val)) +#define sk_ASN1_UTF8STRING_unshift(st, val) SKM_sk_unshift(ASN1_UTF8STRING, (st), (val)) +#define sk_ASN1_UTF8STRING_find(st, val) SKM_sk_find(ASN1_UTF8STRING, (st), (val)) +#define sk_ASN1_UTF8STRING_delete(st, i) SKM_sk_delete(ASN1_UTF8STRING, (st), (i)) +#define sk_ASN1_UTF8STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_UTF8STRING, (st), (ptr)) +#define sk_ASN1_UTF8STRING_insert(st, val, i) SKM_sk_insert(ASN1_UTF8STRING, (st), (val), (i)) +#define sk_ASN1_UTF8STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_UTF8STRING, (st), (cmp)) +#define sk_ASN1_UTF8STRING_dup(st) SKM_sk_dup(ASN1_UTF8STRING, st) +#define sk_ASN1_UTF8STRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_UTF8STRING, (st), (free_func)) +#define sk_ASN1_UTF8STRING_shift(st) SKM_sk_shift(ASN1_UTF8STRING, (st)) +#define sk_ASN1_UTF8STRING_pop(st) SKM_sk_pop(ASN1_UTF8STRING, (st)) +#define sk_ASN1_UTF8STRING_sort(st) SKM_sk_sort(ASN1_UTF8STRING, (st)) +#define sk_ASN1_UTF8STRING_is_sorted(st) SKM_sk_is_sorted(ASN1_UTF8STRING, (st)) + +#define sk_ASN1_VALUE_new(cmp) SKM_sk_new(ASN1_VALUE, (cmp)) +#define sk_ASN1_VALUE_new_null() SKM_sk_new_null(ASN1_VALUE) +#define sk_ASN1_VALUE_free(st) SKM_sk_free(ASN1_VALUE, (st)) +#define sk_ASN1_VALUE_num(st) SKM_sk_num(ASN1_VALUE, (st)) +#define sk_ASN1_VALUE_value(st, i) SKM_sk_value(ASN1_VALUE, (st), (i)) +#define sk_ASN1_VALUE_set(st, i, val) SKM_sk_set(ASN1_VALUE, (st), (i), (val)) +#define sk_ASN1_VALUE_zero(st) SKM_sk_zero(ASN1_VALUE, (st)) +#define sk_ASN1_VALUE_push(st, val) SKM_sk_push(ASN1_VALUE, (st), (val)) +#define sk_ASN1_VALUE_unshift(st, val) SKM_sk_unshift(ASN1_VALUE, (st), (val)) +#define sk_ASN1_VALUE_find(st, val) SKM_sk_find(ASN1_VALUE, (st), (val)) +#define sk_ASN1_VALUE_delete(st, i) SKM_sk_delete(ASN1_VALUE, (st), (i)) +#define sk_ASN1_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_VALUE, (st), (ptr)) +#define sk_ASN1_VALUE_insert(st, val, i) SKM_sk_insert(ASN1_VALUE, (st), (val), (i)) +#define sk_ASN1_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_VALUE, (st), (cmp)) +#define sk_ASN1_VALUE_dup(st) SKM_sk_dup(ASN1_VALUE, st) +#define sk_ASN1_VALUE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_VALUE, (st), (free_func)) +#define sk_ASN1_VALUE_shift(st) SKM_sk_shift(ASN1_VALUE, (st)) +#define sk_ASN1_VALUE_pop(st) SKM_sk_pop(ASN1_VALUE, (st)) +#define sk_ASN1_VALUE_sort(st) SKM_sk_sort(ASN1_VALUE, (st)) +#define sk_ASN1_VALUE_is_sorted(st) SKM_sk_is_sorted(ASN1_VALUE, (st)) + +#define sk_BIO_new(cmp) SKM_sk_new(BIO, (cmp)) +#define sk_BIO_new_null() SKM_sk_new_null(BIO) +#define sk_BIO_free(st) SKM_sk_free(BIO, (st)) +#define sk_BIO_num(st) SKM_sk_num(BIO, (st)) +#define sk_BIO_value(st, i) SKM_sk_value(BIO, (st), (i)) +#define sk_BIO_set(st, i, val) SKM_sk_set(BIO, (st), (i), (val)) +#define sk_BIO_zero(st) SKM_sk_zero(BIO, (st)) +#define sk_BIO_push(st, val) SKM_sk_push(BIO, (st), (val)) +#define sk_BIO_unshift(st, val) SKM_sk_unshift(BIO, (st), (val)) +#define sk_BIO_find(st, val) SKM_sk_find(BIO, (st), (val)) +#define sk_BIO_delete(st, i) SKM_sk_delete(BIO, (st), (i)) +#define sk_BIO_delete_ptr(st, ptr) SKM_sk_delete_ptr(BIO, (st), (ptr)) +#define sk_BIO_insert(st, val, i) SKM_sk_insert(BIO, (st), (val), (i)) +#define sk_BIO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BIO, (st), (cmp)) +#define sk_BIO_dup(st) SKM_sk_dup(BIO, st) +#define sk_BIO_pop_free(st, free_func) SKM_sk_pop_free(BIO, (st), (free_func)) +#define sk_BIO_shift(st) SKM_sk_shift(BIO, (st)) +#define sk_BIO_pop(st) SKM_sk_pop(BIO, (st)) +#define sk_BIO_sort(st) SKM_sk_sort(BIO, (st)) +#define sk_BIO_is_sorted(st) SKM_sk_is_sorted(BIO, (st)) + +#define sk_BY_DIR_ENTRY_new(cmp) SKM_sk_new(BY_DIR_ENTRY, (cmp)) +#define sk_BY_DIR_ENTRY_new_null() SKM_sk_new_null(BY_DIR_ENTRY) +#define sk_BY_DIR_ENTRY_free(st) SKM_sk_free(BY_DIR_ENTRY, (st)) +#define sk_BY_DIR_ENTRY_num(st) SKM_sk_num(BY_DIR_ENTRY, (st)) +#define sk_BY_DIR_ENTRY_value(st, i) SKM_sk_value(BY_DIR_ENTRY, (st), (i)) +#define sk_BY_DIR_ENTRY_set(st, i, val) SKM_sk_set(BY_DIR_ENTRY, (st), (i), (val)) +#define sk_BY_DIR_ENTRY_zero(st) SKM_sk_zero(BY_DIR_ENTRY, (st)) +#define sk_BY_DIR_ENTRY_push(st, val) SKM_sk_push(BY_DIR_ENTRY, (st), (val)) +#define sk_BY_DIR_ENTRY_unshift(st, val) SKM_sk_unshift(BY_DIR_ENTRY, (st), (val)) +#define sk_BY_DIR_ENTRY_find(st, val) SKM_sk_find(BY_DIR_ENTRY, (st), (val)) +#define sk_BY_DIR_ENTRY_delete(st, i) SKM_sk_delete(BY_DIR_ENTRY, (st), (i)) +#define sk_BY_DIR_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_ENTRY, (st), (ptr)) +#define sk_BY_DIR_ENTRY_insert(st, val, i) SKM_sk_insert(BY_DIR_ENTRY, (st), (val), (i)) +#define sk_BY_DIR_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_ENTRY, (st), (cmp)) +#define sk_BY_DIR_ENTRY_dup(st) SKM_sk_dup(BY_DIR_ENTRY, st) +#define sk_BY_DIR_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_ENTRY, (st), (free_func)) +#define sk_BY_DIR_ENTRY_shift(st) SKM_sk_shift(BY_DIR_ENTRY, (st)) +#define sk_BY_DIR_ENTRY_pop(st) SKM_sk_pop(BY_DIR_ENTRY, (st)) +#define sk_BY_DIR_ENTRY_sort(st) SKM_sk_sort(BY_DIR_ENTRY, (st)) +#define sk_BY_DIR_ENTRY_is_sorted(st) SKM_sk_is_sorted(BY_DIR_ENTRY, (st)) + +#define sk_BY_DIR_HASH_new(cmp) SKM_sk_new(BY_DIR_HASH, (cmp)) +#define sk_BY_DIR_HASH_new_null() SKM_sk_new_null(BY_DIR_HASH) +#define sk_BY_DIR_HASH_free(st) SKM_sk_free(BY_DIR_HASH, (st)) +#define sk_BY_DIR_HASH_num(st) SKM_sk_num(BY_DIR_HASH, (st)) +#define sk_BY_DIR_HASH_value(st, i) SKM_sk_value(BY_DIR_HASH, (st), (i)) +#define sk_BY_DIR_HASH_set(st, i, val) SKM_sk_set(BY_DIR_HASH, (st), (i), (val)) +#define sk_BY_DIR_HASH_zero(st) SKM_sk_zero(BY_DIR_HASH, (st)) +#define sk_BY_DIR_HASH_push(st, val) SKM_sk_push(BY_DIR_HASH, (st), (val)) +#define sk_BY_DIR_HASH_unshift(st, val) SKM_sk_unshift(BY_DIR_HASH, (st), (val)) +#define sk_BY_DIR_HASH_find(st, val) SKM_sk_find(BY_DIR_HASH, (st), (val)) +#define sk_BY_DIR_HASH_delete(st, i) SKM_sk_delete(BY_DIR_HASH, (st), (i)) +#define sk_BY_DIR_HASH_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_HASH, (st), (ptr)) +#define sk_BY_DIR_HASH_insert(st, val, i) SKM_sk_insert(BY_DIR_HASH, (st), (val), (i)) +#define sk_BY_DIR_HASH_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_HASH, (st), (cmp)) +#define sk_BY_DIR_HASH_dup(st) SKM_sk_dup(BY_DIR_HASH, st) +#define sk_BY_DIR_HASH_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_HASH, (st), (free_func)) +#define sk_BY_DIR_HASH_shift(st) SKM_sk_shift(BY_DIR_HASH, (st)) +#define sk_BY_DIR_HASH_pop(st) SKM_sk_pop(BY_DIR_HASH, (st)) +#define sk_BY_DIR_HASH_sort(st) SKM_sk_sort(BY_DIR_HASH, (st)) +#define sk_BY_DIR_HASH_is_sorted(st) SKM_sk_is_sorted(BY_DIR_HASH, (st)) + +#define sk_CMS_CertificateChoices_new(cmp) SKM_sk_new(CMS_CertificateChoices, (cmp)) +#define sk_CMS_CertificateChoices_new_null() SKM_sk_new_null(CMS_CertificateChoices) +#define sk_CMS_CertificateChoices_free(st) SKM_sk_free(CMS_CertificateChoices, (st)) +#define sk_CMS_CertificateChoices_num(st) SKM_sk_num(CMS_CertificateChoices, (st)) +#define sk_CMS_CertificateChoices_value(st, i) SKM_sk_value(CMS_CertificateChoices, (st), (i)) +#define sk_CMS_CertificateChoices_set(st, i, val) SKM_sk_set(CMS_CertificateChoices, (st), (i), (val)) +#define sk_CMS_CertificateChoices_zero(st) SKM_sk_zero(CMS_CertificateChoices, (st)) +#define sk_CMS_CertificateChoices_push(st, val) SKM_sk_push(CMS_CertificateChoices, (st), (val)) +#define sk_CMS_CertificateChoices_unshift(st, val) SKM_sk_unshift(CMS_CertificateChoices, (st), (val)) +#define sk_CMS_CertificateChoices_find(st, val) SKM_sk_find(CMS_CertificateChoices, (st), (val)) +#define sk_CMS_CertificateChoices_delete(st, i) SKM_sk_delete(CMS_CertificateChoices, (st), (i)) +#define sk_CMS_CertificateChoices_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_CertificateChoices, (st), (ptr)) +#define sk_CMS_CertificateChoices_insert(st, val, i) SKM_sk_insert(CMS_CertificateChoices, (st), (val), (i)) +#define sk_CMS_CertificateChoices_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_CertificateChoices, (st), (cmp)) +#define sk_CMS_CertificateChoices_dup(st) SKM_sk_dup(CMS_CertificateChoices, st) +#define sk_CMS_CertificateChoices_pop_free(st, free_func) SKM_sk_pop_free(CMS_CertificateChoices, (st), (free_func)) +#define sk_CMS_CertificateChoices_shift(st) SKM_sk_shift(CMS_CertificateChoices, (st)) +#define sk_CMS_CertificateChoices_pop(st) SKM_sk_pop(CMS_CertificateChoices, (st)) +#define sk_CMS_CertificateChoices_sort(st) SKM_sk_sort(CMS_CertificateChoices, (st)) +#define sk_CMS_CertificateChoices_is_sorted(st) SKM_sk_is_sorted(CMS_CertificateChoices, (st)) + +#define sk_CMS_RecipientEncryptedKey_new(cmp) SKM_sk_new(CMS_RecipientEncryptedKey, (cmp)) +#define sk_CMS_RecipientEncryptedKey_new_null() SKM_sk_new_null(CMS_RecipientEncryptedKey) +#define sk_CMS_RecipientEncryptedKey_free(st) SKM_sk_free(CMS_RecipientEncryptedKey, (st)) +#define sk_CMS_RecipientEncryptedKey_num(st) SKM_sk_num(CMS_RecipientEncryptedKey, (st)) +#define sk_CMS_RecipientEncryptedKey_value(st, i) SKM_sk_value(CMS_RecipientEncryptedKey, (st), (i)) +#define sk_CMS_RecipientEncryptedKey_set(st, i, val) SKM_sk_set(CMS_RecipientEncryptedKey, (st), (i), (val)) +#define sk_CMS_RecipientEncryptedKey_zero(st) SKM_sk_zero(CMS_RecipientEncryptedKey, (st)) +#define sk_CMS_RecipientEncryptedKey_push(st, val) SKM_sk_push(CMS_RecipientEncryptedKey, (st), (val)) +#define sk_CMS_RecipientEncryptedKey_unshift(st, val) SKM_sk_unshift(CMS_RecipientEncryptedKey, (st), (val)) +#define sk_CMS_RecipientEncryptedKey_find(st, val) SKM_sk_find(CMS_RecipientEncryptedKey, (st), (val)) +#define sk_CMS_RecipientEncryptedKey_delete(st, i) SKM_sk_delete(CMS_RecipientEncryptedKey, (st), (i)) +#define sk_CMS_RecipientEncryptedKey_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientEncryptedKey, (st), (ptr)) +#define sk_CMS_RecipientEncryptedKey_insert(st, val, i) SKM_sk_insert(CMS_RecipientEncryptedKey, (st), (val), (i)) +#define sk_CMS_RecipientEncryptedKey_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientEncryptedKey, (st), (cmp)) +#define sk_CMS_RecipientEncryptedKey_dup(st) SKM_sk_dup(CMS_RecipientEncryptedKey, st) +#define sk_CMS_RecipientEncryptedKey_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientEncryptedKey, (st), (free_func)) +#define sk_CMS_RecipientEncryptedKey_shift(st) SKM_sk_shift(CMS_RecipientEncryptedKey, (st)) +#define sk_CMS_RecipientEncryptedKey_pop(st) SKM_sk_pop(CMS_RecipientEncryptedKey, (st)) +#define sk_CMS_RecipientEncryptedKey_sort(st) SKM_sk_sort(CMS_RecipientEncryptedKey, (st)) +#define sk_CMS_RecipientEncryptedKey_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientEncryptedKey, (st)) + +#define sk_CMS_RecipientInfo_new(cmp) SKM_sk_new(CMS_RecipientInfo, (cmp)) +#define sk_CMS_RecipientInfo_new_null() SKM_sk_new_null(CMS_RecipientInfo) +#define sk_CMS_RecipientInfo_free(st) SKM_sk_free(CMS_RecipientInfo, (st)) +#define sk_CMS_RecipientInfo_num(st) SKM_sk_num(CMS_RecipientInfo, (st)) +#define sk_CMS_RecipientInfo_value(st, i) SKM_sk_value(CMS_RecipientInfo, (st), (i)) +#define sk_CMS_RecipientInfo_set(st, i, val) SKM_sk_set(CMS_RecipientInfo, (st), (i), (val)) +#define sk_CMS_RecipientInfo_zero(st) SKM_sk_zero(CMS_RecipientInfo, (st)) +#define sk_CMS_RecipientInfo_push(st, val) SKM_sk_push(CMS_RecipientInfo, (st), (val)) +#define sk_CMS_RecipientInfo_unshift(st, val) SKM_sk_unshift(CMS_RecipientInfo, (st), (val)) +#define sk_CMS_RecipientInfo_find(st, val) SKM_sk_find(CMS_RecipientInfo, (st), (val)) +#define sk_CMS_RecipientInfo_delete(st, i) SKM_sk_delete(CMS_RecipientInfo, (st), (i)) +#define sk_CMS_RecipientInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientInfo, (st), (ptr)) +#define sk_CMS_RecipientInfo_insert(st, val, i) SKM_sk_insert(CMS_RecipientInfo, (st), (val), (i)) +#define sk_CMS_RecipientInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientInfo, (st), (cmp)) +#define sk_CMS_RecipientInfo_dup(st) SKM_sk_dup(CMS_RecipientInfo, st) +#define sk_CMS_RecipientInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientInfo, (st), (free_func)) +#define sk_CMS_RecipientInfo_shift(st) SKM_sk_shift(CMS_RecipientInfo, (st)) +#define sk_CMS_RecipientInfo_pop(st) SKM_sk_pop(CMS_RecipientInfo, (st)) +#define sk_CMS_RecipientInfo_sort(st) SKM_sk_sort(CMS_RecipientInfo, (st)) +#define sk_CMS_RecipientInfo_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientInfo, (st)) + +#define sk_CMS_RevocationInfoChoice_new(cmp) SKM_sk_new(CMS_RevocationInfoChoice, (cmp)) +#define sk_CMS_RevocationInfoChoice_new_null() SKM_sk_new_null(CMS_RevocationInfoChoice) +#define sk_CMS_RevocationInfoChoice_free(st) SKM_sk_free(CMS_RevocationInfoChoice, (st)) +#define sk_CMS_RevocationInfoChoice_num(st) SKM_sk_num(CMS_RevocationInfoChoice, (st)) +#define sk_CMS_RevocationInfoChoice_value(st, i) SKM_sk_value(CMS_RevocationInfoChoice, (st), (i)) +#define sk_CMS_RevocationInfoChoice_set(st, i, val) SKM_sk_set(CMS_RevocationInfoChoice, (st), (i), (val)) +#define sk_CMS_RevocationInfoChoice_zero(st) SKM_sk_zero(CMS_RevocationInfoChoice, (st)) +#define sk_CMS_RevocationInfoChoice_push(st, val) SKM_sk_push(CMS_RevocationInfoChoice, (st), (val)) +#define sk_CMS_RevocationInfoChoice_unshift(st, val) SKM_sk_unshift(CMS_RevocationInfoChoice, (st), (val)) +#define sk_CMS_RevocationInfoChoice_find(st, val) SKM_sk_find(CMS_RevocationInfoChoice, (st), (val)) +#define sk_CMS_RevocationInfoChoice_delete(st, i) SKM_sk_delete(CMS_RevocationInfoChoice, (st), (i)) +#define sk_CMS_RevocationInfoChoice_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RevocationInfoChoice, (st), (ptr)) +#define sk_CMS_RevocationInfoChoice_insert(st, val, i) SKM_sk_insert(CMS_RevocationInfoChoice, (st), (val), (i)) +#define sk_CMS_RevocationInfoChoice_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RevocationInfoChoice, (st), (cmp)) +#define sk_CMS_RevocationInfoChoice_dup(st) SKM_sk_dup(CMS_RevocationInfoChoice, st) +#define sk_CMS_RevocationInfoChoice_pop_free(st, free_func) SKM_sk_pop_free(CMS_RevocationInfoChoice, (st), (free_func)) +#define sk_CMS_RevocationInfoChoice_shift(st) SKM_sk_shift(CMS_RevocationInfoChoice, (st)) +#define sk_CMS_RevocationInfoChoice_pop(st) SKM_sk_pop(CMS_RevocationInfoChoice, (st)) +#define sk_CMS_RevocationInfoChoice_sort(st) SKM_sk_sort(CMS_RevocationInfoChoice, (st)) +#define sk_CMS_RevocationInfoChoice_is_sorted(st) SKM_sk_is_sorted(CMS_RevocationInfoChoice, (st)) + +#define sk_CMS_SignerInfo_new(cmp) SKM_sk_new(CMS_SignerInfo, (cmp)) +#define sk_CMS_SignerInfo_new_null() SKM_sk_new_null(CMS_SignerInfo) +#define sk_CMS_SignerInfo_free(st) SKM_sk_free(CMS_SignerInfo, (st)) +#define sk_CMS_SignerInfo_num(st) SKM_sk_num(CMS_SignerInfo, (st)) +#define sk_CMS_SignerInfo_value(st, i) SKM_sk_value(CMS_SignerInfo, (st), (i)) +#define sk_CMS_SignerInfo_set(st, i, val) SKM_sk_set(CMS_SignerInfo, (st), (i), (val)) +#define sk_CMS_SignerInfo_zero(st) SKM_sk_zero(CMS_SignerInfo, (st)) +#define sk_CMS_SignerInfo_push(st, val) SKM_sk_push(CMS_SignerInfo, (st), (val)) +#define sk_CMS_SignerInfo_unshift(st, val) SKM_sk_unshift(CMS_SignerInfo, (st), (val)) +#define sk_CMS_SignerInfo_find(st, val) SKM_sk_find(CMS_SignerInfo, (st), (val)) +#define sk_CMS_SignerInfo_delete(st, i) SKM_sk_delete(CMS_SignerInfo, (st), (i)) +#define sk_CMS_SignerInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_SignerInfo, (st), (ptr)) +#define sk_CMS_SignerInfo_insert(st, val, i) SKM_sk_insert(CMS_SignerInfo, (st), (val), (i)) +#define sk_CMS_SignerInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_SignerInfo, (st), (cmp)) +#define sk_CMS_SignerInfo_dup(st) SKM_sk_dup(CMS_SignerInfo, st) +#define sk_CMS_SignerInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_SignerInfo, (st), (free_func)) +#define sk_CMS_SignerInfo_shift(st) SKM_sk_shift(CMS_SignerInfo, (st)) +#define sk_CMS_SignerInfo_pop(st) SKM_sk_pop(CMS_SignerInfo, (st)) +#define sk_CMS_SignerInfo_sort(st) SKM_sk_sort(CMS_SignerInfo, (st)) +#define sk_CMS_SignerInfo_is_sorted(st) SKM_sk_is_sorted(CMS_SignerInfo, (st)) + +#define sk_CONF_IMODULE_new(cmp) SKM_sk_new(CONF_IMODULE, (cmp)) +#define sk_CONF_IMODULE_new_null() SKM_sk_new_null(CONF_IMODULE) +#define sk_CONF_IMODULE_free(st) SKM_sk_free(CONF_IMODULE, (st)) +#define sk_CONF_IMODULE_num(st) SKM_sk_num(CONF_IMODULE, (st)) +#define sk_CONF_IMODULE_value(st, i) SKM_sk_value(CONF_IMODULE, (st), (i)) +#define sk_CONF_IMODULE_set(st, i, val) SKM_sk_set(CONF_IMODULE, (st), (i), (val)) +#define sk_CONF_IMODULE_zero(st) SKM_sk_zero(CONF_IMODULE, (st)) +#define sk_CONF_IMODULE_push(st, val) SKM_sk_push(CONF_IMODULE, (st), (val)) +#define sk_CONF_IMODULE_unshift(st, val) SKM_sk_unshift(CONF_IMODULE, (st), (val)) +#define sk_CONF_IMODULE_find(st, val) SKM_sk_find(CONF_IMODULE, (st), (val)) +#define sk_CONF_IMODULE_delete(st, i) SKM_sk_delete(CONF_IMODULE, (st), (i)) +#define sk_CONF_IMODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_IMODULE, (st), (ptr)) +#define sk_CONF_IMODULE_insert(st, val, i) SKM_sk_insert(CONF_IMODULE, (st), (val), (i)) +#define sk_CONF_IMODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_IMODULE, (st), (cmp)) +#define sk_CONF_IMODULE_dup(st) SKM_sk_dup(CONF_IMODULE, st) +#define sk_CONF_IMODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_IMODULE, (st), (free_func)) +#define sk_CONF_IMODULE_shift(st) SKM_sk_shift(CONF_IMODULE, (st)) +#define sk_CONF_IMODULE_pop(st) SKM_sk_pop(CONF_IMODULE, (st)) +#define sk_CONF_IMODULE_sort(st) SKM_sk_sort(CONF_IMODULE, (st)) +#define sk_CONF_IMODULE_is_sorted(st) SKM_sk_is_sorted(CONF_IMODULE, (st)) + +#define sk_CONF_MODULE_new(cmp) SKM_sk_new(CONF_MODULE, (cmp)) +#define sk_CONF_MODULE_new_null() SKM_sk_new_null(CONF_MODULE) +#define sk_CONF_MODULE_free(st) SKM_sk_free(CONF_MODULE, (st)) +#define sk_CONF_MODULE_num(st) SKM_sk_num(CONF_MODULE, (st)) +#define sk_CONF_MODULE_value(st, i) SKM_sk_value(CONF_MODULE, (st), (i)) +#define sk_CONF_MODULE_set(st, i, val) SKM_sk_set(CONF_MODULE, (st), (i), (val)) +#define sk_CONF_MODULE_zero(st) SKM_sk_zero(CONF_MODULE, (st)) +#define sk_CONF_MODULE_push(st, val) SKM_sk_push(CONF_MODULE, (st), (val)) +#define sk_CONF_MODULE_unshift(st, val) SKM_sk_unshift(CONF_MODULE, (st), (val)) +#define sk_CONF_MODULE_find(st, val) SKM_sk_find(CONF_MODULE, (st), (val)) +#define sk_CONF_MODULE_delete(st, i) SKM_sk_delete(CONF_MODULE, (st), (i)) +#define sk_CONF_MODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_MODULE, (st), (ptr)) +#define sk_CONF_MODULE_insert(st, val, i) SKM_sk_insert(CONF_MODULE, (st), (val), (i)) +#define sk_CONF_MODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_MODULE, (st), (cmp)) +#define sk_CONF_MODULE_dup(st) SKM_sk_dup(CONF_MODULE, st) +#define sk_CONF_MODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_MODULE, (st), (free_func)) +#define sk_CONF_MODULE_shift(st) SKM_sk_shift(CONF_MODULE, (st)) +#define sk_CONF_MODULE_pop(st) SKM_sk_pop(CONF_MODULE, (st)) +#define sk_CONF_MODULE_sort(st) SKM_sk_sort(CONF_MODULE, (st)) +#define sk_CONF_MODULE_is_sorted(st) SKM_sk_is_sorted(CONF_MODULE, (st)) + +#define sk_CONF_VALUE_new(cmp) SKM_sk_new(CONF_VALUE, (cmp)) +#define sk_CONF_VALUE_new_null() SKM_sk_new_null(CONF_VALUE) +#define sk_CONF_VALUE_free(st) SKM_sk_free(CONF_VALUE, (st)) +#define sk_CONF_VALUE_num(st) SKM_sk_num(CONF_VALUE, (st)) +#define sk_CONF_VALUE_value(st, i) SKM_sk_value(CONF_VALUE, (st), (i)) +#define sk_CONF_VALUE_set(st, i, val) SKM_sk_set(CONF_VALUE, (st), (i), (val)) +#define sk_CONF_VALUE_zero(st) SKM_sk_zero(CONF_VALUE, (st)) +#define sk_CONF_VALUE_push(st, val) SKM_sk_push(CONF_VALUE, (st), (val)) +#define sk_CONF_VALUE_unshift(st, val) SKM_sk_unshift(CONF_VALUE, (st), (val)) +#define sk_CONF_VALUE_find(st, val) SKM_sk_find(CONF_VALUE, (st), (val)) +#define sk_CONF_VALUE_delete(st, i) SKM_sk_delete(CONF_VALUE, (st), (i)) +#define sk_CONF_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_VALUE, (st), (ptr)) +#define sk_CONF_VALUE_insert(st, val, i) SKM_sk_insert(CONF_VALUE, (st), (val), (i)) +#define sk_CONF_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_VALUE, (st), (cmp)) +#define sk_CONF_VALUE_dup(st) SKM_sk_dup(CONF_VALUE, st) +#define sk_CONF_VALUE_pop_free(st, free_func) SKM_sk_pop_free(CONF_VALUE, (st), (free_func)) +#define sk_CONF_VALUE_shift(st) SKM_sk_shift(CONF_VALUE, (st)) +#define sk_CONF_VALUE_pop(st) SKM_sk_pop(CONF_VALUE, (st)) +#define sk_CONF_VALUE_sort(st) SKM_sk_sort(CONF_VALUE, (st)) +#define sk_CONF_VALUE_is_sorted(st) SKM_sk_is_sorted(CONF_VALUE, (st)) + +#define sk_CRYPTO_dynlock_new(cmp) SKM_sk_new(CRYPTO_dynlock, (cmp)) +#define sk_CRYPTO_dynlock_new_null() SKM_sk_new_null(CRYPTO_dynlock) +#define sk_CRYPTO_dynlock_free(st) SKM_sk_free(CRYPTO_dynlock, (st)) +#define sk_CRYPTO_dynlock_num(st) SKM_sk_num(CRYPTO_dynlock, (st)) +#define sk_CRYPTO_dynlock_value(st, i) SKM_sk_value(CRYPTO_dynlock, (st), (i)) +#define sk_CRYPTO_dynlock_set(st, i, val) SKM_sk_set(CRYPTO_dynlock, (st), (i), (val)) +#define sk_CRYPTO_dynlock_zero(st) SKM_sk_zero(CRYPTO_dynlock, (st)) +#define sk_CRYPTO_dynlock_push(st, val) SKM_sk_push(CRYPTO_dynlock, (st), (val)) +#define sk_CRYPTO_dynlock_unshift(st, val) SKM_sk_unshift(CRYPTO_dynlock, (st), (val)) +#define sk_CRYPTO_dynlock_find(st, val) SKM_sk_find(CRYPTO_dynlock, (st), (val)) +#define sk_CRYPTO_dynlock_delete(st, i) SKM_sk_delete(CRYPTO_dynlock, (st), (i)) +#define sk_CRYPTO_dynlock_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_dynlock, (st), (ptr)) +#define sk_CRYPTO_dynlock_insert(st, val, i) SKM_sk_insert(CRYPTO_dynlock, (st), (val), (i)) +#define sk_CRYPTO_dynlock_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_dynlock, (st), (cmp)) +#define sk_CRYPTO_dynlock_dup(st) SKM_sk_dup(CRYPTO_dynlock, st) +#define sk_CRYPTO_dynlock_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_dynlock, (st), (free_func)) +#define sk_CRYPTO_dynlock_shift(st) SKM_sk_shift(CRYPTO_dynlock, (st)) +#define sk_CRYPTO_dynlock_pop(st) SKM_sk_pop(CRYPTO_dynlock, (st)) +#define sk_CRYPTO_dynlock_sort(st) SKM_sk_sort(CRYPTO_dynlock, (st)) +#define sk_CRYPTO_dynlock_is_sorted(st) SKM_sk_is_sorted(CRYPTO_dynlock, (st)) + +#define sk_CTLOG_new(cmp) SKM_sk_new(CTLOG, (cmp)) +#define sk_CTLOG_new_null() SKM_sk_new_null(CTLOG) +#define sk_CTLOG_free(st) SKM_sk_free(CTLOG, (st)) +#define sk_CTLOG_num(st) SKM_sk_num(CTLOG, (st)) +#define sk_CTLOG_value(st, i) SKM_sk_value(CTLOG, (st), (i)) +#define sk_CTLOG_set(st, i, val) SKM_sk_set(CTLOG, (st), (i), (val)) +#define sk_CTLOG_zero(st) SKM_sk_zero(CTLOG, (st)) +#define sk_CTLOG_push(st, val) SKM_sk_push(CTLOG, (st), (val)) +#define sk_CTLOG_unshift(st, val) SKM_sk_unshift(CTLOG, (st), (val)) +#define sk_CTLOG_find(st, val) SKM_sk_find(CTLOG, (st), (val)) +#define sk_CTLOG_delete(st, i) SKM_sk_delete(CTLOG, (st), (i)) +#define sk_CTLOG_delete_ptr(st, ptr) SKM_sk_delete_ptr(CTLOG, (st), (ptr)) +#define sk_CTLOG_insert(st, val, i) SKM_sk_insert(CTLOG, (st), (val), (i)) +#define sk_CTLOG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CTLOG, (st), (cmp)) +#define sk_CTLOG_dup(st) SKM_sk_dup(CTLOG, st) +#define sk_CTLOG_pop_free(st, free_func) SKM_sk_pop_free(CTLOG, (st), (free_func)) +#define sk_CTLOG_shift(st) SKM_sk_shift(CTLOG, (st)) +#define sk_CTLOG_pop(st) SKM_sk_pop(CTLOG, (st)) +#define sk_CTLOG_sort(st) SKM_sk_sort(CTLOG, (st)) +#define sk_CTLOG_is_sorted(st) SKM_sk_is_sorted(CTLOG, (st)) + +#define sk_DIST_POINT_new(cmp) SKM_sk_new(DIST_POINT, (cmp)) +#define sk_DIST_POINT_new_null() SKM_sk_new_null(DIST_POINT) +#define sk_DIST_POINT_free(st) SKM_sk_free(DIST_POINT, (st)) +#define sk_DIST_POINT_num(st) SKM_sk_num(DIST_POINT, (st)) +#define sk_DIST_POINT_value(st, i) SKM_sk_value(DIST_POINT, (st), (i)) +#define sk_DIST_POINT_set(st, i, val) SKM_sk_set(DIST_POINT, (st), (i), (val)) +#define sk_DIST_POINT_zero(st) SKM_sk_zero(DIST_POINT, (st)) +#define sk_DIST_POINT_push(st, val) SKM_sk_push(DIST_POINT, (st), (val)) +#define sk_DIST_POINT_unshift(st, val) SKM_sk_unshift(DIST_POINT, (st), (val)) +#define sk_DIST_POINT_find(st, val) SKM_sk_find(DIST_POINT, (st), (val)) +#define sk_DIST_POINT_delete(st, i) SKM_sk_delete(DIST_POINT, (st), (i)) +#define sk_DIST_POINT_delete_ptr(st, ptr) SKM_sk_delete_ptr(DIST_POINT, (st), (ptr)) +#define sk_DIST_POINT_insert(st, val, i) SKM_sk_insert(DIST_POINT, (st), (val), (i)) +#define sk_DIST_POINT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(DIST_POINT, (st), (cmp)) +#define sk_DIST_POINT_dup(st) SKM_sk_dup(DIST_POINT, st) +#define sk_DIST_POINT_pop_free(st, free_func) SKM_sk_pop_free(DIST_POINT, (st), (free_func)) +#define sk_DIST_POINT_shift(st) SKM_sk_shift(DIST_POINT, (st)) +#define sk_DIST_POINT_pop(st) SKM_sk_pop(DIST_POINT, (st)) +#define sk_DIST_POINT_sort(st) SKM_sk_sort(DIST_POINT, (st)) +#define sk_DIST_POINT_is_sorted(st) SKM_sk_is_sorted(DIST_POINT, (st)) + +#define sk_ESS_CERT_ID_new(cmp) SKM_sk_new(ESS_CERT_ID, (cmp)) +#define sk_ESS_CERT_ID_new_null() SKM_sk_new_null(ESS_CERT_ID) +#define sk_ESS_CERT_ID_free(st) SKM_sk_free(ESS_CERT_ID, (st)) +#define sk_ESS_CERT_ID_num(st) SKM_sk_num(ESS_CERT_ID, (st)) +#define sk_ESS_CERT_ID_value(st, i) SKM_sk_value(ESS_CERT_ID, (st), (i)) +#define sk_ESS_CERT_ID_set(st, i, val) SKM_sk_set(ESS_CERT_ID, (st), (i), (val)) +#define sk_ESS_CERT_ID_zero(st) SKM_sk_zero(ESS_CERT_ID, (st)) +#define sk_ESS_CERT_ID_push(st, val) SKM_sk_push(ESS_CERT_ID, (st), (val)) +#define sk_ESS_CERT_ID_unshift(st, val) SKM_sk_unshift(ESS_CERT_ID, (st), (val)) +#define sk_ESS_CERT_ID_find(st, val) SKM_sk_find(ESS_CERT_ID, (st), (val)) +#define sk_ESS_CERT_ID_delete(st, i) SKM_sk_delete(ESS_CERT_ID, (st), (i)) +#define sk_ESS_CERT_ID_delete_ptr(st, ptr) SKM_sk_delete_ptr(ESS_CERT_ID, (st), (ptr)) +#define sk_ESS_CERT_ID_insert(st, val, i) SKM_sk_insert(ESS_CERT_ID, (st), (val), (i)) +#define sk_ESS_CERT_ID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ESS_CERT_ID, (st), (cmp)) +#define sk_ESS_CERT_ID_dup(st) SKM_sk_dup(ESS_CERT_ID, st) +#define sk_ESS_CERT_ID_pop_free(st, free_func) SKM_sk_pop_free(ESS_CERT_ID, (st), (free_func)) +#define sk_ESS_CERT_ID_shift(st) SKM_sk_shift(ESS_CERT_ID, (st)) +#define sk_ESS_CERT_ID_pop(st) SKM_sk_pop(ESS_CERT_ID, (st)) +#define sk_ESS_CERT_ID_sort(st) SKM_sk_sort(ESS_CERT_ID, (st)) +#define sk_ESS_CERT_ID_is_sorted(st) SKM_sk_is_sorted(ESS_CERT_ID, (st)) + +#ifdef LIBRESSL_INTERNAL +#define sk_ESS_CERT_ID_V2_new(cmp) SKM_sk_new(ESS_CERT_ID_V2, (cmp)) +#define sk_ESS_CERT_ID_V2_new_null() SKM_sk_new_null(ESS_CERT_ID_V2) +#define sk_ESS_CERT_ID_V2_free(st) SKM_sk_free(ESS_CERT_ID_V2, (st)) +#define sk_ESS_CERT_ID_V2_num(st) SKM_sk_num(ESS_CERT_ID_V2, (st)) +#define sk_ESS_CERT_ID_V2_value(st, i) SKM_sk_value(ESS_CERT_ID_V2, (st), (i)) +#define sk_ESS_CERT_ID_V2_set(st, i, val) SKM_sk_set(ESS_CERT_ID_V2, (st), (i), (val)) +#define sk_ESS_CERT_ID_V2_zero(st) SKM_sk_zero(ESS_CERT_ID_V2, (st)) +#define sk_ESS_CERT_ID_V2_push(st, val) SKM_sk_push(ESS_CERT_ID_V2, (st), (val)) +#define sk_ESS_CERT_ID_V2_unshift(st, val) SKM_sk_unshift(ESS_CERT_ID_V2, (st), (val)) +#define sk_ESS_CERT_ID_V2_find(st, val) SKM_sk_find(ESS_CERT_ID_V2, (st), (val)) +#define sk_ESS_CERT_ID_V2_delete(st, i) SKM_sk_delete(ESS_CERT_ID_V2, (st), (i)) +#define sk_ESS_CERT_ID_V2_delete_ptr(st, ptr) SKM_sk_delete_ptr(ESS_CERT_ID_V2, (st), (ptr)) +#define sk_ESS_CERT_ID_V2_insert(st, val, i) SKM_sk_insert(ESS_CERT_ID_V2, (st), (val), (i)) +#define sk_ESS_CERT_ID_V2_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ESS_CERT_ID_V2, (st), (cmp)) +#define sk_ESS_CERT_ID_V2_dup(st) SKM_sk_dup(ESS_CERT_ID_V2, st) +#define sk_ESS_CERT_ID_V2_pop_free(st, free_func) SKM_sk_pop_free(ESS_CERT_ID_V2, (st), (free_func)) +#define sk_ESS_CERT_ID_V2_shift(st) SKM_sk_shift(ESS_CERT_ID_V2, (st)) +#define sk_ESS_CERT_ID_V2_pop(st) SKM_sk_pop(ESS_CERT_ID_V2, (st)) +#define sk_ESS_CERT_ID_V2_sort(st) SKM_sk_sort(ESS_CERT_ID_V2, (st)) +#define sk_ESS_CERT_ID_V2_is_sorted(st) SKM_sk_is_sorted(ESS_CERT_ID_V2, (st)) +#endif /* LIBRESSL_INTERNAL */ + +#define sk_EVP_MD_new(cmp) SKM_sk_new(EVP_MD, (cmp)) +#define sk_EVP_MD_new_null() SKM_sk_new_null(EVP_MD) +#define sk_EVP_MD_free(st) SKM_sk_free(EVP_MD, (st)) +#define sk_EVP_MD_num(st) SKM_sk_num(EVP_MD, (st)) +#define sk_EVP_MD_value(st, i) SKM_sk_value(EVP_MD, (st), (i)) +#define sk_EVP_MD_set(st, i, val) SKM_sk_set(EVP_MD, (st), (i), (val)) +#define sk_EVP_MD_zero(st) SKM_sk_zero(EVP_MD, (st)) +#define sk_EVP_MD_push(st, val) SKM_sk_push(EVP_MD, (st), (val)) +#define sk_EVP_MD_unshift(st, val) SKM_sk_unshift(EVP_MD, (st), (val)) +#define sk_EVP_MD_find(st, val) SKM_sk_find(EVP_MD, (st), (val)) +#define sk_EVP_MD_delete(st, i) SKM_sk_delete(EVP_MD, (st), (i)) +#define sk_EVP_MD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_MD, (st), (ptr)) +#define sk_EVP_MD_insert(st, val, i) SKM_sk_insert(EVP_MD, (st), (val), (i)) +#define sk_EVP_MD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_MD, (st), (cmp)) +#define sk_EVP_MD_dup(st) SKM_sk_dup(EVP_MD, st) +#define sk_EVP_MD_pop_free(st, free_func) SKM_sk_pop_free(EVP_MD, (st), (free_func)) +#define sk_EVP_MD_shift(st) SKM_sk_shift(EVP_MD, (st)) +#define sk_EVP_MD_pop(st) SKM_sk_pop(EVP_MD, (st)) +#define sk_EVP_MD_sort(st) SKM_sk_sort(EVP_MD, (st)) +#define sk_EVP_MD_is_sorted(st) SKM_sk_is_sorted(EVP_MD, (st)) + +#define sk_EVP_PKEY_ASN1_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_ASN1_METHOD, (cmp)) +#define sk_EVP_PKEY_ASN1_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_ASN1_METHOD) +#define sk_EVP_PKEY_ASN1_METHOD_free(st) SKM_sk_free(EVP_PKEY_ASN1_METHOD, (st)) +#define sk_EVP_PKEY_ASN1_METHOD_num(st) SKM_sk_num(EVP_PKEY_ASN1_METHOD, (st)) +#define sk_EVP_PKEY_ASN1_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_ASN1_METHOD, (st), (i)) +#define sk_EVP_PKEY_ASN1_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_ASN1_METHOD, (st), (i), (val)) +#define sk_EVP_PKEY_ASN1_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_ASN1_METHOD, (st)) +#define sk_EVP_PKEY_ASN1_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_ASN1_METHOD, (st), (val)) +#define sk_EVP_PKEY_ASN1_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_ASN1_METHOD, (st), (val)) +#define sk_EVP_PKEY_ASN1_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_ASN1_METHOD, (st), (val)) +#define sk_EVP_PKEY_ASN1_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_ASN1_METHOD, (st), (i)) +#define sk_EVP_PKEY_ASN1_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_ASN1_METHOD, (st), (ptr)) +#define sk_EVP_PKEY_ASN1_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_ASN1_METHOD, (st), (val), (i)) +#define sk_EVP_PKEY_ASN1_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_ASN1_METHOD, (st), (cmp)) +#define sk_EVP_PKEY_ASN1_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_ASN1_METHOD, st) +#define sk_EVP_PKEY_ASN1_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_ASN1_METHOD, (st), (free_func)) +#define sk_EVP_PKEY_ASN1_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_ASN1_METHOD, (st)) +#define sk_EVP_PKEY_ASN1_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_ASN1_METHOD, (st)) +#define sk_EVP_PKEY_ASN1_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_ASN1_METHOD, (st)) +#define sk_EVP_PKEY_ASN1_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_ASN1_METHOD, (st)) + +#define sk_EVP_PKEY_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_METHOD, (cmp)) +#define sk_EVP_PKEY_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_METHOD) +#define sk_EVP_PKEY_METHOD_free(st) SKM_sk_free(EVP_PKEY_METHOD, (st)) +#define sk_EVP_PKEY_METHOD_num(st) SKM_sk_num(EVP_PKEY_METHOD, (st)) +#define sk_EVP_PKEY_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_METHOD, (st), (i)) +#define sk_EVP_PKEY_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_METHOD, (st), (i), (val)) +#define sk_EVP_PKEY_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_METHOD, (st)) +#define sk_EVP_PKEY_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_METHOD, (st), (val)) +#define sk_EVP_PKEY_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_METHOD, (st), (val)) +#define sk_EVP_PKEY_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_METHOD, (st), (val)) +#define sk_EVP_PKEY_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_METHOD, (st), (i)) +#define sk_EVP_PKEY_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_METHOD, (st), (ptr)) +#define sk_EVP_PKEY_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_METHOD, (st), (val), (i)) +#define sk_EVP_PKEY_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_METHOD, (st), (cmp)) +#define sk_EVP_PKEY_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_METHOD, st) +#define sk_EVP_PKEY_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_METHOD, (st), (free_func)) +#define sk_EVP_PKEY_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_METHOD, (st)) +#define sk_EVP_PKEY_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_METHOD, (st)) +#define sk_EVP_PKEY_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_METHOD, (st)) +#define sk_EVP_PKEY_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_METHOD, (st)) + +#define sk_GENERAL_NAME_new(cmp) SKM_sk_new(GENERAL_NAME, (cmp)) +#define sk_GENERAL_NAME_new_null() SKM_sk_new_null(GENERAL_NAME) +#define sk_GENERAL_NAME_free(st) SKM_sk_free(GENERAL_NAME, (st)) +#define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st)) +#define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i)) +#define sk_GENERAL_NAME_set(st, i, val) SKM_sk_set(GENERAL_NAME, (st), (i), (val)) +#define sk_GENERAL_NAME_zero(st) SKM_sk_zero(GENERAL_NAME, (st)) +#define sk_GENERAL_NAME_push(st, val) SKM_sk_push(GENERAL_NAME, (st), (val)) +#define sk_GENERAL_NAME_unshift(st, val) SKM_sk_unshift(GENERAL_NAME, (st), (val)) +#define sk_GENERAL_NAME_find(st, val) SKM_sk_find(GENERAL_NAME, (st), (val)) +#define sk_GENERAL_NAME_delete(st, i) SKM_sk_delete(GENERAL_NAME, (st), (i)) +#define sk_GENERAL_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAME, (st), (ptr)) +#define sk_GENERAL_NAME_insert(st, val, i) SKM_sk_insert(GENERAL_NAME, (st), (val), (i)) +#define sk_GENERAL_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAME, (st), (cmp)) +#define sk_GENERAL_NAME_dup(st) SKM_sk_dup(GENERAL_NAME, st) +#define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func)) +#define sk_GENERAL_NAME_shift(st) SKM_sk_shift(GENERAL_NAME, (st)) +#define sk_GENERAL_NAME_pop(st) SKM_sk_pop(GENERAL_NAME, (st)) +#define sk_GENERAL_NAME_sort(st) SKM_sk_sort(GENERAL_NAME, (st)) +#define sk_GENERAL_NAME_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAME, (st)) + +#define sk_GENERAL_NAMES_new(cmp) SKM_sk_new(GENERAL_NAMES, (cmp)) +#define sk_GENERAL_NAMES_new_null() SKM_sk_new_null(GENERAL_NAMES) +#define sk_GENERAL_NAMES_free(st) SKM_sk_free(GENERAL_NAMES, (st)) +#define sk_GENERAL_NAMES_num(st) SKM_sk_num(GENERAL_NAMES, (st)) +#define sk_GENERAL_NAMES_value(st, i) SKM_sk_value(GENERAL_NAMES, (st), (i)) +#define sk_GENERAL_NAMES_set(st, i, val) SKM_sk_set(GENERAL_NAMES, (st), (i), (val)) +#define sk_GENERAL_NAMES_zero(st) SKM_sk_zero(GENERAL_NAMES, (st)) +#define sk_GENERAL_NAMES_push(st, val) SKM_sk_push(GENERAL_NAMES, (st), (val)) +#define sk_GENERAL_NAMES_unshift(st, val) SKM_sk_unshift(GENERAL_NAMES, (st), (val)) +#define sk_GENERAL_NAMES_find(st, val) SKM_sk_find(GENERAL_NAMES, (st), (val)) +#define sk_GENERAL_NAMES_delete(st, i) SKM_sk_delete(GENERAL_NAMES, (st), (i)) +#define sk_GENERAL_NAMES_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAMES, (st), (ptr)) +#define sk_GENERAL_NAMES_insert(st, val, i) SKM_sk_insert(GENERAL_NAMES, (st), (val), (i)) +#define sk_GENERAL_NAMES_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAMES, (st), (cmp)) +#define sk_GENERAL_NAMES_dup(st) SKM_sk_dup(GENERAL_NAMES, st) +#define sk_GENERAL_NAMES_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAMES, (st), (free_func)) +#define sk_GENERAL_NAMES_shift(st) SKM_sk_shift(GENERAL_NAMES, (st)) +#define sk_GENERAL_NAMES_pop(st) SKM_sk_pop(GENERAL_NAMES, (st)) +#define sk_GENERAL_NAMES_sort(st) SKM_sk_sort(GENERAL_NAMES, (st)) +#define sk_GENERAL_NAMES_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAMES, (st)) + +#define sk_GENERAL_SUBTREE_new(cmp) SKM_sk_new(GENERAL_SUBTREE, (cmp)) +#define sk_GENERAL_SUBTREE_new_null() SKM_sk_new_null(GENERAL_SUBTREE) +#define sk_GENERAL_SUBTREE_free(st) SKM_sk_free(GENERAL_SUBTREE, (st)) +#define sk_GENERAL_SUBTREE_num(st) SKM_sk_num(GENERAL_SUBTREE, (st)) +#define sk_GENERAL_SUBTREE_value(st, i) SKM_sk_value(GENERAL_SUBTREE, (st), (i)) +#define sk_GENERAL_SUBTREE_set(st, i, val) SKM_sk_set(GENERAL_SUBTREE, (st), (i), (val)) +#define sk_GENERAL_SUBTREE_zero(st) SKM_sk_zero(GENERAL_SUBTREE, (st)) +#define sk_GENERAL_SUBTREE_push(st, val) SKM_sk_push(GENERAL_SUBTREE, (st), (val)) +#define sk_GENERAL_SUBTREE_unshift(st, val) SKM_sk_unshift(GENERAL_SUBTREE, (st), (val)) +#define sk_GENERAL_SUBTREE_find(st, val) SKM_sk_find(GENERAL_SUBTREE, (st), (val)) +#define sk_GENERAL_SUBTREE_delete(st, i) SKM_sk_delete(GENERAL_SUBTREE, (st), (i)) +#define sk_GENERAL_SUBTREE_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_SUBTREE, (st), (ptr)) +#define sk_GENERAL_SUBTREE_insert(st, val, i) SKM_sk_insert(GENERAL_SUBTREE, (st), (val), (i)) +#define sk_GENERAL_SUBTREE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_SUBTREE, (st), (cmp)) +#define sk_GENERAL_SUBTREE_dup(st) SKM_sk_dup(GENERAL_SUBTREE, st) +#define sk_GENERAL_SUBTREE_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_SUBTREE, (st), (free_func)) +#define sk_GENERAL_SUBTREE_shift(st) SKM_sk_shift(GENERAL_SUBTREE, (st)) +#define sk_GENERAL_SUBTREE_pop(st) SKM_sk_pop(GENERAL_SUBTREE, (st)) +#define sk_GENERAL_SUBTREE_sort(st) SKM_sk_sort(GENERAL_SUBTREE, (st)) +#define sk_GENERAL_SUBTREE_is_sorted(st) SKM_sk_is_sorted(GENERAL_SUBTREE, (st)) + +#define sk_IPAddressFamily_new(cmp) SKM_sk_new(IPAddressFamily, (cmp)) +#define sk_IPAddressFamily_new_null() SKM_sk_new_null(IPAddressFamily) +#define sk_IPAddressFamily_free(st) SKM_sk_free(IPAddressFamily, (st)) +#define sk_IPAddressFamily_num(st) SKM_sk_num(IPAddressFamily, (st)) +#define sk_IPAddressFamily_value(st, i) SKM_sk_value(IPAddressFamily, (st), (i)) +#define sk_IPAddressFamily_set(st, i, val) SKM_sk_set(IPAddressFamily, (st), (i), (val)) +#define sk_IPAddressFamily_zero(st) SKM_sk_zero(IPAddressFamily, (st)) +#define sk_IPAddressFamily_push(st, val) SKM_sk_push(IPAddressFamily, (st), (val)) +#define sk_IPAddressFamily_unshift(st, val) SKM_sk_unshift(IPAddressFamily, (st), (val)) +#define sk_IPAddressFamily_find(st, val) SKM_sk_find(IPAddressFamily, (st), (val)) +#define sk_IPAddressFamily_delete(st, i) SKM_sk_delete(IPAddressFamily, (st), (i)) +#define sk_IPAddressFamily_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressFamily, (st), (ptr)) +#define sk_IPAddressFamily_insert(st, val, i) SKM_sk_insert(IPAddressFamily, (st), (val), (i)) +#define sk_IPAddressFamily_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressFamily, (st), (cmp)) +#define sk_IPAddressFamily_dup(st) SKM_sk_dup(IPAddressFamily, st) +#define sk_IPAddressFamily_pop_free(st, free_func) SKM_sk_pop_free(IPAddressFamily, (st), (free_func)) +#define sk_IPAddressFamily_shift(st) SKM_sk_shift(IPAddressFamily, (st)) +#define sk_IPAddressFamily_pop(st) SKM_sk_pop(IPAddressFamily, (st)) +#define sk_IPAddressFamily_sort(st) SKM_sk_sort(IPAddressFamily, (st)) +#define sk_IPAddressFamily_is_sorted(st) SKM_sk_is_sorted(IPAddressFamily, (st)) + +#define sk_IPAddressOrRange_new(cmp) SKM_sk_new(IPAddressOrRange, (cmp)) +#define sk_IPAddressOrRange_new_null() SKM_sk_new_null(IPAddressOrRange) +#define sk_IPAddressOrRange_free(st) SKM_sk_free(IPAddressOrRange, (st)) +#define sk_IPAddressOrRange_num(st) SKM_sk_num(IPAddressOrRange, (st)) +#define sk_IPAddressOrRange_value(st, i) SKM_sk_value(IPAddressOrRange, (st), (i)) +#define sk_IPAddressOrRange_set(st, i, val) SKM_sk_set(IPAddressOrRange, (st), (i), (val)) +#define sk_IPAddressOrRange_zero(st) SKM_sk_zero(IPAddressOrRange, (st)) +#define sk_IPAddressOrRange_push(st, val) SKM_sk_push(IPAddressOrRange, (st), (val)) +#define sk_IPAddressOrRange_unshift(st, val) SKM_sk_unshift(IPAddressOrRange, (st), (val)) +#define sk_IPAddressOrRange_find(st, val) SKM_sk_find(IPAddressOrRange, (st), (val)) +#define sk_IPAddressOrRange_delete(st, i) SKM_sk_delete(IPAddressOrRange, (st), (i)) +#define sk_IPAddressOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressOrRange, (st), (ptr)) +#define sk_IPAddressOrRange_insert(st, val, i) SKM_sk_insert(IPAddressOrRange, (st), (val), (i)) +#define sk_IPAddressOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressOrRange, (st), (cmp)) +#define sk_IPAddressOrRange_dup(st) SKM_sk_dup(IPAddressOrRange, st) +#define sk_IPAddressOrRange_pop_free(st, free_func) SKM_sk_pop_free(IPAddressOrRange, (st), (free_func)) +#define sk_IPAddressOrRange_shift(st) SKM_sk_shift(IPAddressOrRange, (st)) +#define sk_IPAddressOrRange_pop(st) SKM_sk_pop(IPAddressOrRange, (st)) +#define sk_IPAddressOrRange_sort(st) SKM_sk_sort(IPAddressOrRange, (st)) +#define sk_IPAddressOrRange_is_sorted(st) SKM_sk_is_sorted(IPAddressOrRange, (st)) + +#define sk_MIME_HEADER_new(cmp) SKM_sk_new(MIME_HEADER, (cmp)) +#define sk_MIME_HEADER_new_null() SKM_sk_new_null(MIME_HEADER) +#define sk_MIME_HEADER_free(st) SKM_sk_free(MIME_HEADER, (st)) +#define sk_MIME_HEADER_num(st) SKM_sk_num(MIME_HEADER, (st)) +#define sk_MIME_HEADER_value(st, i) SKM_sk_value(MIME_HEADER, (st), (i)) +#define sk_MIME_HEADER_set(st, i, val) SKM_sk_set(MIME_HEADER, (st), (i), (val)) +#define sk_MIME_HEADER_zero(st) SKM_sk_zero(MIME_HEADER, (st)) +#define sk_MIME_HEADER_push(st, val) SKM_sk_push(MIME_HEADER, (st), (val)) +#define sk_MIME_HEADER_unshift(st, val) SKM_sk_unshift(MIME_HEADER, (st), (val)) +#define sk_MIME_HEADER_find(st, val) SKM_sk_find(MIME_HEADER, (st), (val)) +#define sk_MIME_HEADER_delete(st, i) SKM_sk_delete(MIME_HEADER, (st), (i)) +#define sk_MIME_HEADER_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_HEADER, (st), (ptr)) +#define sk_MIME_HEADER_insert(st, val, i) SKM_sk_insert(MIME_HEADER, (st), (val), (i)) +#define sk_MIME_HEADER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_HEADER, (st), (cmp)) +#define sk_MIME_HEADER_dup(st) SKM_sk_dup(MIME_HEADER, st) +#define sk_MIME_HEADER_pop_free(st, free_func) SKM_sk_pop_free(MIME_HEADER, (st), (free_func)) +#define sk_MIME_HEADER_shift(st) SKM_sk_shift(MIME_HEADER, (st)) +#define sk_MIME_HEADER_pop(st) SKM_sk_pop(MIME_HEADER, (st)) +#define sk_MIME_HEADER_sort(st) SKM_sk_sort(MIME_HEADER, (st)) +#define sk_MIME_HEADER_is_sorted(st) SKM_sk_is_sorted(MIME_HEADER, (st)) + +#define sk_MIME_PARAM_new(cmp) SKM_sk_new(MIME_PARAM, (cmp)) +#define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM) +#define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st)) +#define sk_MIME_PARAM_num(st) SKM_sk_num(MIME_PARAM, (st)) +#define sk_MIME_PARAM_value(st, i) SKM_sk_value(MIME_PARAM, (st), (i)) +#define sk_MIME_PARAM_set(st, i, val) SKM_sk_set(MIME_PARAM, (st), (i), (val)) +#define sk_MIME_PARAM_zero(st) SKM_sk_zero(MIME_PARAM, (st)) +#define sk_MIME_PARAM_push(st, val) SKM_sk_push(MIME_PARAM, (st), (val)) +#define sk_MIME_PARAM_unshift(st, val) SKM_sk_unshift(MIME_PARAM, (st), (val)) +#define sk_MIME_PARAM_find(st, val) SKM_sk_find(MIME_PARAM, (st), (val)) +#define sk_MIME_PARAM_delete(st, i) SKM_sk_delete(MIME_PARAM, (st), (i)) +#define sk_MIME_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_PARAM, (st), (ptr)) +#define sk_MIME_PARAM_insert(st, val, i) SKM_sk_insert(MIME_PARAM, (st), (val), (i)) +#define sk_MIME_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_PARAM, (st), (cmp)) +#define sk_MIME_PARAM_dup(st) SKM_sk_dup(MIME_PARAM, st) +#define sk_MIME_PARAM_pop_free(st, free_func) SKM_sk_pop_free(MIME_PARAM, (st), (free_func)) +#define sk_MIME_PARAM_shift(st) SKM_sk_shift(MIME_PARAM, (st)) +#define sk_MIME_PARAM_pop(st) SKM_sk_pop(MIME_PARAM, (st)) +#define sk_MIME_PARAM_sort(st) SKM_sk_sort(MIME_PARAM, (st)) +#define sk_MIME_PARAM_is_sorted(st) SKM_sk_is_sorted(MIME_PARAM, (st)) + +#define sk_NAME_FUNCS_new(cmp) SKM_sk_new(NAME_FUNCS, (cmp)) +#define sk_NAME_FUNCS_new_null() SKM_sk_new_null(NAME_FUNCS) +#define sk_NAME_FUNCS_free(st) SKM_sk_free(NAME_FUNCS, (st)) +#define sk_NAME_FUNCS_num(st) SKM_sk_num(NAME_FUNCS, (st)) +#define sk_NAME_FUNCS_value(st, i) SKM_sk_value(NAME_FUNCS, (st), (i)) +#define sk_NAME_FUNCS_set(st, i, val) SKM_sk_set(NAME_FUNCS, (st), (i), (val)) +#define sk_NAME_FUNCS_zero(st) SKM_sk_zero(NAME_FUNCS, (st)) +#define sk_NAME_FUNCS_push(st, val) SKM_sk_push(NAME_FUNCS, (st), (val)) +#define sk_NAME_FUNCS_unshift(st, val) SKM_sk_unshift(NAME_FUNCS, (st), (val)) +#define sk_NAME_FUNCS_find(st, val) SKM_sk_find(NAME_FUNCS, (st), (val)) +#define sk_NAME_FUNCS_delete(st, i) SKM_sk_delete(NAME_FUNCS, (st), (i)) +#define sk_NAME_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(NAME_FUNCS, (st), (ptr)) +#define sk_NAME_FUNCS_insert(st, val, i) SKM_sk_insert(NAME_FUNCS, (st), (val), (i)) +#define sk_NAME_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(NAME_FUNCS, (st), (cmp)) +#define sk_NAME_FUNCS_dup(st) SKM_sk_dup(NAME_FUNCS, st) +#define sk_NAME_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(NAME_FUNCS, (st), (free_func)) +#define sk_NAME_FUNCS_shift(st) SKM_sk_shift(NAME_FUNCS, (st)) +#define sk_NAME_FUNCS_pop(st) SKM_sk_pop(NAME_FUNCS, (st)) +#define sk_NAME_FUNCS_sort(st) SKM_sk_sort(NAME_FUNCS, (st)) +#define sk_NAME_FUNCS_is_sorted(st) SKM_sk_is_sorted(NAME_FUNCS, (st)) + +#define sk_OCSP_CERTID_new(cmp) SKM_sk_new(OCSP_CERTID, (cmp)) +#define sk_OCSP_CERTID_new_null() SKM_sk_new_null(OCSP_CERTID) +#define sk_OCSP_CERTID_free(st) SKM_sk_free(OCSP_CERTID, (st)) +#define sk_OCSP_CERTID_num(st) SKM_sk_num(OCSP_CERTID, (st)) +#define sk_OCSP_CERTID_value(st, i) SKM_sk_value(OCSP_CERTID, (st), (i)) +#define sk_OCSP_CERTID_set(st, i, val) SKM_sk_set(OCSP_CERTID, (st), (i), (val)) +#define sk_OCSP_CERTID_zero(st) SKM_sk_zero(OCSP_CERTID, (st)) +#define sk_OCSP_CERTID_push(st, val) SKM_sk_push(OCSP_CERTID, (st), (val)) +#define sk_OCSP_CERTID_unshift(st, val) SKM_sk_unshift(OCSP_CERTID, (st), (val)) +#define sk_OCSP_CERTID_find(st, val) SKM_sk_find(OCSP_CERTID, (st), (val)) +#define sk_OCSP_CERTID_delete(st, i) SKM_sk_delete(OCSP_CERTID, (st), (i)) +#define sk_OCSP_CERTID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_CERTID, (st), (ptr)) +#define sk_OCSP_CERTID_insert(st, val, i) SKM_sk_insert(OCSP_CERTID, (st), (val), (i)) +#define sk_OCSP_CERTID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_CERTID, (st), (cmp)) +#define sk_OCSP_CERTID_dup(st) SKM_sk_dup(OCSP_CERTID, st) +#define sk_OCSP_CERTID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_CERTID, (st), (free_func)) +#define sk_OCSP_CERTID_shift(st) SKM_sk_shift(OCSP_CERTID, (st)) +#define sk_OCSP_CERTID_pop(st) SKM_sk_pop(OCSP_CERTID, (st)) +#define sk_OCSP_CERTID_sort(st) SKM_sk_sort(OCSP_CERTID, (st)) +#define sk_OCSP_CERTID_is_sorted(st) SKM_sk_is_sorted(OCSP_CERTID, (st)) + +#define sk_OCSP_ONEREQ_new(cmp) SKM_sk_new(OCSP_ONEREQ, (cmp)) +#define sk_OCSP_ONEREQ_new_null() SKM_sk_new_null(OCSP_ONEREQ) +#define sk_OCSP_ONEREQ_free(st) SKM_sk_free(OCSP_ONEREQ, (st)) +#define sk_OCSP_ONEREQ_num(st) SKM_sk_num(OCSP_ONEREQ, (st)) +#define sk_OCSP_ONEREQ_value(st, i) SKM_sk_value(OCSP_ONEREQ, (st), (i)) +#define sk_OCSP_ONEREQ_set(st, i, val) SKM_sk_set(OCSP_ONEREQ, (st), (i), (val)) +#define sk_OCSP_ONEREQ_zero(st) SKM_sk_zero(OCSP_ONEREQ, (st)) +#define sk_OCSP_ONEREQ_push(st, val) SKM_sk_push(OCSP_ONEREQ, (st), (val)) +#define sk_OCSP_ONEREQ_unshift(st, val) SKM_sk_unshift(OCSP_ONEREQ, (st), (val)) +#define sk_OCSP_ONEREQ_find(st, val) SKM_sk_find(OCSP_ONEREQ, (st), (val)) +#define sk_OCSP_ONEREQ_delete(st, i) SKM_sk_delete(OCSP_ONEREQ, (st), (i)) +#define sk_OCSP_ONEREQ_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_ONEREQ, (st), (ptr)) +#define sk_OCSP_ONEREQ_insert(st, val, i) SKM_sk_insert(OCSP_ONEREQ, (st), (val), (i)) +#define sk_OCSP_ONEREQ_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_ONEREQ, (st), (cmp)) +#define sk_OCSP_ONEREQ_dup(st) SKM_sk_dup(OCSP_ONEREQ, st) +#define sk_OCSP_ONEREQ_pop_free(st, free_func) SKM_sk_pop_free(OCSP_ONEREQ, (st), (free_func)) +#define sk_OCSP_ONEREQ_shift(st) SKM_sk_shift(OCSP_ONEREQ, (st)) +#define sk_OCSP_ONEREQ_pop(st) SKM_sk_pop(OCSP_ONEREQ, (st)) +#define sk_OCSP_ONEREQ_sort(st) SKM_sk_sort(OCSP_ONEREQ, (st)) +#define sk_OCSP_ONEREQ_is_sorted(st) SKM_sk_is_sorted(OCSP_ONEREQ, (st)) + +#define sk_OCSP_RESPID_new(cmp) SKM_sk_new(OCSP_RESPID, (cmp)) +#define sk_OCSP_RESPID_new_null() SKM_sk_new_null(OCSP_RESPID) +#define sk_OCSP_RESPID_free(st) SKM_sk_free(OCSP_RESPID, (st)) +#define sk_OCSP_RESPID_num(st) SKM_sk_num(OCSP_RESPID, (st)) +#define sk_OCSP_RESPID_value(st, i) SKM_sk_value(OCSP_RESPID, (st), (i)) +#define sk_OCSP_RESPID_set(st, i, val) SKM_sk_set(OCSP_RESPID, (st), (i), (val)) +#define sk_OCSP_RESPID_zero(st) SKM_sk_zero(OCSP_RESPID, (st)) +#define sk_OCSP_RESPID_push(st, val) SKM_sk_push(OCSP_RESPID, (st), (val)) +#define sk_OCSP_RESPID_unshift(st, val) SKM_sk_unshift(OCSP_RESPID, (st), (val)) +#define sk_OCSP_RESPID_find(st, val) SKM_sk_find(OCSP_RESPID, (st), (val)) +#define sk_OCSP_RESPID_delete(st, i) SKM_sk_delete(OCSP_RESPID, (st), (i)) +#define sk_OCSP_RESPID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_RESPID, (st), (ptr)) +#define sk_OCSP_RESPID_insert(st, val, i) SKM_sk_insert(OCSP_RESPID, (st), (val), (i)) +#define sk_OCSP_RESPID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_RESPID, (st), (cmp)) +#define sk_OCSP_RESPID_dup(st) SKM_sk_dup(OCSP_RESPID, st) +#define sk_OCSP_RESPID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_RESPID, (st), (free_func)) +#define sk_OCSP_RESPID_shift(st) SKM_sk_shift(OCSP_RESPID, (st)) +#define sk_OCSP_RESPID_pop(st) SKM_sk_pop(OCSP_RESPID, (st)) +#define sk_OCSP_RESPID_sort(st) SKM_sk_sort(OCSP_RESPID, (st)) +#define sk_OCSP_RESPID_is_sorted(st) SKM_sk_is_sorted(OCSP_RESPID, (st)) + +#define sk_OCSP_SINGLERESP_new(cmp) SKM_sk_new(OCSP_SINGLERESP, (cmp)) +#define sk_OCSP_SINGLERESP_new_null() SKM_sk_new_null(OCSP_SINGLERESP) +#define sk_OCSP_SINGLERESP_free(st) SKM_sk_free(OCSP_SINGLERESP, (st)) +#define sk_OCSP_SINGLERESP_num(st) SKM_sk_num(OCSP_SINGLERESP, (st)) +#define sk_OCSP_SINGLERESP_value(st, i) SKM_sk_value(OCSP_SINGLERESP, (st), (i)) +#define sk_OCSP_SINGLERESP_set(st, i, val) SKM_sk_set(OCSP_SINGLERESP, (st), (i), (val)) +#define sk_OCSP_SINGLERESP_zero(st) SKM_sk_zero(OCSP_SINGLERESP, (st)) +#define sk_OCSP_SINGLERESP_push(st, val) SKM_sk_push(OCSP_SINGLERESP, (st), (val)) +#define sk_OCSP_SINGLERESP_unshift(st, val) SKM_sk_unshift(OCSP_SINGLERESP, (st), (val)) +#define sk_OCSP_SINGLERESP_find(st, val) SKM_sk_find(OCSP_SINGLERESP, (st), (val)) +#define sk_OCSP_SINGLERESP_delete(st, i) SKM_sk_delete(OCSP_SINGLERESP, (st), (i)) +#define sk_OCSP_SINGLERESP_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_SINGLERESP, (st), (ptr)) +#define sk_OCSP_SINGLERESP_insert(st, val, i) SKM_sk_insert(OCSP_SINGLERESP, (st), (val), (i)) +#define sk_OCSP_SINGLERESP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_SINGLERESP, (st), (cmp)) +#define sk_OCSP_SINGLERESP_dup(st) SKM_sk_dup(OCSP_SINGLERESP, st) +#define sk_OCSP_SINGLERESP_pop_free(st, free_func) SKM_sk_pop_free(OCSP_SINGLERESP, (st), (free_func)) +#define sk_OCSP_SINGLERESP_shift(st) SKM_sk_shift(OCSP_SINGLERESP, (st)) +#define sk_OCSP_SINGLERESP_pop(st) SKM_sk_pop(OCSP_SINGLERESP, (st)) +#define sk_OCSP_SINGLERESP_sort(st) SKM_sk_sort(OCSP_SINGLERESP, (st)) +#define sk_OCSP_SINGLERESP_is_sorted(st) SKM_sk_is_sorted(OCSP_SINGLERESP, (st)) + +#define sk_PKCS12_SAFEBAG_new(cmp) SKM_sk_new(PKCS12_SAFEBAG, (cmp)) +#define sk_PKCS12_SAFEBAG_new_null() SKM_sk_new_null(PKCS12_SAFEBAG) +#define sk_PKCS12_SAFEBAG_free(st) SKM_sk_free(PKCS12_SAFEBAG, (st)) +#define sk_PKCS12_SAFEBAG_num(st) SKM_sk_num(PKCS12_SAFEBAG, (st)) +#define sk_PKCS12_SAFEBAG_value(st, i) SKM_sk_value(PKCS12_SAFEBAG, (st), (i)) +#define sk_PKCS12_SAFEBAG_set(st, i, val) SKM_sk_set(PKCS12_SAFEBAG, (st), (i), (val)) +#define sk_PKCS12_SAFEBAG_zero(st) SKM_sk_zero(PKCS12_SAFEBAG, (st)) +#define sk_PKCS12_SAFEBAG_push(st, val) SKM_sk_push(PKCS12_SAFEBAG, (st), (val)) +#define sk_PKCS12_SAFEBAG_unshift(st, val) SKM_sk_unshift(PKCS12_SAFEBAG, (st), (val)) +#define sk_PKCS12_SAFEBAG_find(st, val) SKM_sk_find(PKCS12_SAFEBAG, (st), (val)) +#define sk_PKCS12_SAFEBAG_delete(st, i) SKM_sk_delete(PKCS12_SAFEBAG, (st), (i)) +#define sk_PKCS12_SAFEBAG_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS12_SAFEBAG, (st), (ptr)) +#define sk_PKCS12_SAFEBAG_insert(st, val, i) SKM_sk_insert(PKCS12_SAFEBAG, (st), (val), (i)) +#define sk_PKCS12_SAFEBAG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS12_SAFEBAG, (st), (cmp)) +#define sk_PKCS12_SAFEBAG_dup(st) SKM_sk_dup(PKCS12_SAFEBAG, st) +#define sk_PKCS12_SAFEBAG_pop_free(st, free_func) SKM_sk_pop_free(PKCS12_SAFEBAG, (st), (free_func)) +#define sk_PKCS12_SAFEBAG_shift(st) SKM_sk_shift(PKCS12_SAFEBAG, (st)) +#define sk_PKCS12_SAFEBAG_pop(st) SKM_sk_pop(PKCS12_SAFEBAG, (st)) +#define sk_PKCS12_SAFEBAG_sort(st) SKM_sk_sort(PKCS12_SAFEBAG, (st)) +#define sk_PKCS12_SAFEBAG_is_sorted(st) SKM_sk_is_sorted(PKCS12_SAFEBAG, (st)) + +#define sk_PKCS7_new(cmp) SKM_sk_new(PKCS7, (cmp)) +#define sk_PKCS7_new_null() SKM_sk_new_null(PKCS7) +#define sk_PKCS7_free(st) SKM_sk_free(PKCS7, (st)) +#define sk_PKCS7_num(st) SKM_sk_num(PKCS7, (st)) +#define sk_PKCS7_value(st, i) SKM_sk_value(PKCS7, (st), (i)) +#define sk_PKCS7_set(st, i, val) SKM_sk_set(PKCS7, (st), (i), (val)) +#define sk_PKCS7_zero(st) SKM_sk_zero(PKCS7, (st)) +#define sk_PKCS7_push(st, val) SKM_sk_push(PKCS7, (st), (val)) +#define sk_PKCS7_unshift(st, val) SKM_sk_unshift(PKCS7, (st), (val)) +#define sk_PKCS7_find(st, val) SKM_sk_find(PKCS7, (st), (val)) +#define sk_PKCS7_delete(st, i) SKM_sk_delete(PKCS7, (st), (i)) +#define sk_PKCS7_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7, (st), (ptr)) +#define sk_PKCS7_insert(st, val, i) SKM_sk_insert(PKCS7, (st), (val), (i)) +#define sk_PKCS7_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7, (st), (cmp)) +#define sk_PKCS7_dup(st) SKM_sk_dup(PKCS7, st) +#define sk_PKCS7_pop_free(st, free_func) SKM_sk_pop_free(PKCS7, (st), (free_func)) +#define sk_PKCS7_shift(st) SKM_sk_shift(PKCS7, (st)) +#define sk_PKCS7_pop(st) SKM_sk_pop(PKCS7, (st)) +#define sk_PKCS7_sort(st) SKM_sk_sort(PKCS7, (st)) +#define sk_PKCS7_is_sorted(st) SKM_sk_is_sorted(PKCS7, (st)) + +#define sk_PKCS7_RECIP_INFO_new(cmp) SKM_sk_new(PKCS7_RECIP_INFO, (cmp)) +#define sk_PKCS7_RECIP_INFO_new_null() SKM_sk_new_null(PKCS7_RECIP_INFO) +#define sk_PKCS7_RECIP_INFO_free(st) SKM_sk_free(PKCS7_RECIP_INFO, (st)) +#define sk_PKCS7_RECIP_INFO_num(st) SKM_sk_num(PKCS7_RECIP_INFO, (st)) +#define sk_PKCS7_RECIP_INFO_value(st, i) SKM_sk_value(PKCS7_RECIP_INFO, (st), (i)) +#define sk_PKCS7_RECIP_INFO_set(st, i, val) SKM_sk_set(PKCS7_RECIP_INFO, (st), (i), (val)) +#define sk_PKCS7_RECIP_INFO_zero(st) SKM_sk_zero(PKCS7_RECIP_INFO, (st)) +#define sk_PKCS7_RECIP_INFO_push(st, val) SKM_sk_push(PKCS7_RECIP_INFO, (st), (val)) +#define sk_PKCS7_RECIP_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_RECIP_INFO, (st), (val)) +#define sk_PKCS7_RECIP_INFO_find(st, val) SKM_sk_find(PKCS7_RECIP_INFO, (st), (val)) +#define sk_PKCS7_RECIP_INFO_delete(st, i) SKM_sk_delete(PKCS7_RECIP_INFO, (st), (i)) +#define sk_PKCS7_RECIP_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_RECIP_INFO, (st), (ptr)) +#define sk_PKCS7_RECIP_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_RECIP_INFO, (st), (val), (i)) +#define sk_PKCS7_RECIP_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_RECIP_INFO, (st), (cmp)) +#define sk_PKCS7_RECIP_INFO_dup(st) SKM_sk_dup(PKCS7_RECIP_INFO, st) +#define sk_PKCS7_RECIP_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_RECIP_INFO, (st), (free_func)) +#define sk_PKCS7_RECIP_INFO_shift(st) SKM_sk_shift(PKCS7_RECIP_INFO, (st)) +#define sk_PKCS7_RECIP_INFO_pop(st) SKM_sk_pop(PKCS7_RECIP_INFO, (st)) +#define sk_PKCS7_RECIP_INFO_sort(st) SKM_sk_sort(PKCS7_RECIP_INFO, (st)) +#define sk_PKCS7_RECIP_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_RECIP_INFO, (st)) + +#define sk_PKCS7_SIGNER_INFO_new(cmp) SKM_sk_new(PKCS7_SIGNER_INFO, (cmp)) +#define sk_PKCS7_SIGNER_INFO_new_null() SKM_sk_new_null(PKCS7_SIGNER_INFO) +#define sk_PKCS7_SIGNER_INFO_free(st) SKM_sk_free(PKCS7_SIGNER_INFO, (st)) +#define sk_PKCS7_SIGNER_INFO_num(st) SKM_sk_num(PKCS7_SIGNER_INFO, (st)) +#define sk_PKCS7_SIGNER_INFO_value(st, i) SKM_sk_value(PKCS7_SIGNER_INFO, (st), (i)) +#define sk_PKCS7_SIGNER_INFO_set(st, i, val) SKM_sk_set(PKCS7_SIGNER_INFO, (st), (i), (val)) +#define sk_PKCS7_SIGNER_INFO_zero(st) SKM_sk_zero(PKCS7_SIGNER_INFO, (st)) +#define sk_PKCS7_SIGNER_INFO_push(st, val) SKM_sk_push(PKCS7_SIGNER_INFO, (st), (val)) +#define sk_PKCS7_SIGNER_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_SIGNER_INFO, (st), (val)) +#define sk_PKCS7_SIGNER_INFO_find(st, val) SKM_sk_find(PKCS7_SIGNER_INFO, (st), (val)) +#define sk_PKCS7_SIGNER_INFO_delete(st, i) SKM_sk_delete(PKCS7_SIGNER_INFO, (st), (i)) +#define sk_PKCS7_SIGNER_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_SIGNER_INFO, (st), (ptr)) +#define sk_PKCS7_SIGNER_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_SIGNER_INFO, (st), (val), (i)) +#define sk_PKCS7_SIGNER_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_SIGNER_INFO, (st), (cmp)) +#define sk_PKCS7_SIGNER_INFO_dup(st) SKM_sk_dup(PKCS7_SIGNER_INFO, st) +#define sk_PKCS7_SIGNER_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_SIGNER_INFO, (st), (free_func)) +#define sk_PKCS7_SIGNER_INFO_shift(st) SKM_sk_shift(PKCS7_SIGNER_INFO, (st)) +#define sk_PKCS7_SIGNER_INFO_pop(st) SKM_sk_pop(PKCS7_SIGNER_INFO, (st)) +#define sk_PKCS7_SIGNER_INFO_sort(st) SKM_sk_sort(PKCS7_SIGNER_INFO, (st)) +#define sk_PKCS7_SIGNER_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_SIGNER_INFO, (st)) + +#define sk_POLICYINFO_new(cmp) SKM_sk_new(POLICYINFO, (cmp)) +#define sk_POLICYINFO_new_null() SKM_sk_new_null(POLICYINFO) +#define sk_POLICYINFO_free(st) SKM_sk_free(POLICYINFO, (st)) +#define sk_POLICYINFO_num(st) SKM_sk_num(POLICYINFO, (st)) +#define sk_POLICYINFO_value(st, i) SKM_sk_value(POLICYINFO, (st), (i)) +#define sk_POLICYINFO_set(st, i, val) SKM_sk_set(POLICYINFO, (st), (i), (val)) +#define sk_POLICYINFO_zero(st) SKM_sk_zero(POLICYINFO, (st)) +#define sk_POLICYINFO_push(st, val) SKM_sk_push(POLICYINFO, (st), (val)) +#define sk_POLICYINFO_unshift(st, val) SKM_sk_unshift(POLICYINFO, (st), (val)) +#define sk_POLICYINFO_find(st, val) SKM_sk_find(POLICYINFO, (st), (val)) +#define sk_POLICYINFO_delete(st, i) SKM_sk_delete(POLICYINFO, (st), (i)) +#define sk_POLICYINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYINFO, (st), (ptr)) +#define sk_POLICYINFO_insert(st, val, i) SKM_sk_insert(POLICYINFO, (st), (val), (i)) +#define sk_POLICYINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYINFO, (st), (cmp)) +#define sk_POLICYINFO_dup(st) SKM_sk_dup(POLICYINFO, st) +#define sk_POLICYINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYINFO, (st), (free_func)) +#define sk_POLICYINFO_shift(st) SKM_sk_shift(POLICYINFO, (st)) +#define sk_POLICYINFO_pop(st) SKM_sk_pop(POLICYINFO, (st)) +#define sk_POLICYINFO_sort(st) SKM_sk_sort(POLICYINFO, (st)) +#define sk_POLICYINFO_is_sorted(st) SKM_sk_is_sorted(POLICYINFO, (st)) + +#define sk_POLICYQUALINFO_new(cmp) SKM_sk_new(POLICYQUALINFO, (cmp)) +#define sk_POLICYQUALINFO_new_null() SKM_sk_new_null(POLICYQUALINFO) +#define sk_POLICYQUALINFO_free(st) SKM_sk_free(POLICYQUALINFO, (st)) +#define sk_POLICYQUALINFO_num(st) SKM_sk_num(POLICYQUALINFO, (st)) +#define sk_POLICYQUALINFO_value(st, i) SKM_sk_value(POLICYQUALINFO, (st), (i)) +#define sk_POLICYQUALINFO_set(st, i, val) SKM_sk_set(POLICYQUALINFO, (st), (i), (val)) +#define sk_POLICYQUALINFO_zero(st) SKM_sk_zero(POLICYQUALINFO, (st)) +#define sk_POLICYQUALINFO_push(st, val) SKM_sk_push(POLICYQUALINFO, (st), (val)) +#define sk_POLICYQUALINFO_unshift(st, val) SKM_sk_unshift(POLICYQUALINFO, (st), (val)) +#define sk_POLICYQUALINFO_find(st, val) SKM_sk_find(POLICYQUALINFO, (st), (val)) +#define sk_POLICYQUALINFO_delete(st, i) SKM_sk_delete(POLICYQUALINFO, (st), (i)) +#define sk_POLICYQUALINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYQUALINFO, (st), (ptr)) +#define sk_POLICYQUALINFO_insert(st, val, i) SKM_sk_insert(POLICYQUALINFO, (st), (val), (i)) +#define sk_POLICYQUALINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYQUALINFO, (st), (cmp)) +#define sk_POLICYQUALINFO_dup(st) SKM_sk_dup(POLICYQUALINFO, st) +#define sk_POLICYQUALINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYQUALINFO, (st), (free_func)) +#define sk_POLICYQUALINFO_shift(st) SKM_sk_shift(POLICYQUALINFO, (st)) +#define sk_POLICYQUALINFO_pop(st) SKM_sk_pop(POLICYQUALINFO, (st)) +#define sk_POLICYQUALINFO_sort(st) SKM_sk_sort(POLICYQUALINFO, (st)) +#define sk_POLICYQUALINFO_is_sorted(st) SKM_sk_is_sorted(POLICYQUALINFO, (st)) + +#define sk_POLICY_MAPPING_new(cmp) SKM_sk_new(POLICY_MAPPING, (cmp)) +#define sk_POLICY_MAPPING_new_null() SKM_sk_new_null(POLICY_MAPPING) +#define sk_POLICY_MAPPING_free(st) SKM_sk_free(POLICY_MAPPING, (st)) +#define sk_POLICY_MAPPING_num(st) SKM_sk_num(POLICY_MAPPING, (st)) +#define sk_POLICY_MAPPING_value(st, i) SKM_sk_value(POLICY_MAPPING, (st), (i)) +#define sk_POLICY_MAPPING_set(st, i, val) SKM_sk_set(POLICY_MAPPING, (st), (i), (val)) +#define sk_POLICY_MAPPING_zero(st) SKM_sk_zero(POLICY_MAPPING, (st)) +#define sk_POLICY_MAPPING_push(st, val) SKM_sk_push(POLICY_MAPPING, (st), (val)) +#define sk_POLICY_MAPPING_unshift(st, val) SKM_sk_unshift(POLICY_MAPPING, (st), (val)) +#define sk_POLICY_MAPPING_find(st, val) SKM_sk_find(POLICY_MAPPING, (st), (val)) +#define sk_POLICY_MAPPING_delete(st, i) SKM_sk_delete(POLICY_MAPPING, (st), (i)) +#define sk_POLICY_MAPPING_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICY_MAPPING, (st), (ptr)) +#define sk_POLICY_MAPPING_insert(st, val, i) SKM_sk_insert(POLICY_MAPPING, (st), (val), (i)) +#define sk_POLICY_MAPPING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICY_MAPPING, (st), (cmp)) +#define sk_POLICY_MAPPING_dup(st) SKM_sk_dup(POLICY_MAPPING, st) +#define sk_POLICY_MAPPING_pop_free(st, free_func) SKM_sk_pop_free(POLICY_MAPPING, (st), (free_func)) +#define sk_POLICY_MAPPING_shift(st) SKM_sk_shift(POLICY_MAPPING, (st)) +#define sk_POLICY_MAPPING_pop(st) SKM_sk_pop(POLICY_MAPPING, (st)) +#define sk_POLICY_MAPPING_sort(st) SKM_sk_sort(POLICY_MAPPING, (st)) +#define sk_POLICY_MAPPING_is_sorted(st) SKM_sk_is_sorted(POLICY_MAPPING, (st)) + +#define sk_SCT_new(cmp) SKM_sk_new(SCT, (cmp)) +#define sk_SCT_new_null() SKM_sk_new_null(SCT) +#define sk_SCT_free(st) SKM_sk_free(SCT, (st)) +#define sk_SCT_num(st) SKM_sk_num(SCT, (st)) +#define sk_SCT_value(st, i) SKM_sk_value(SCT, (st), (i)) +#define sk_SCT_set(st, i, val) SKM_sk_set(SCT, (st), (i), (val)) +#define sk_SCT_zero(st) SKM_sk_zero(SCT, (st)) +#define sk_SCT_push(st, val) SKM_sk_push(SCT, (st), (val)) +#define sk_SCT_unshift(st, val) SKM_sk_unshift(SCT, (st), (val)) +#define sk_SCT_find(st, val) SKM_sk_find(SCT, (st), (val)) +#define sk_SCT_delete(st, i) SKM_sk_delete(SCT, (st), (i)) +#define sk_SCT_delete_ptr(st, ptr) SKM_sk_delete_ptr(SCT, (st), (ptr)) +#define sk_SCT_insert(st, val, i) SKM_sk_insert(SCT, (st), (val), (i)) +#define sk_SCT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SCT, (st), (cmp)) +#define sk_SCT_dup(st) SKM_sk_dup(SCT, st) +#define sk_SCT_pop_free(st, free_func) SKM_sk_pop_free(SCT, (st), (free_func)) +#define sk_SCT_shift(st) SKM_sk_shift(SCT, (st)) +#define sk_SCT_pop(st) SKM_sk_pop(SCT, (st)) +#define sk_SCT_sort(st) SKM_sk_sort(SCT, (st)) +#define sk_SCT_is_sorted(st) SKM_sk_is_sorted(SCT, (st)) + +#define sk_SRTP_PROTECTION_PROFILE_new(cmp) SKM_sk_new(SRTP_PROTECTION_PROFILE, (cmp)) +#define sk_SRTP_PROTECTION_PROFILE_new_null() SKM_sk_new_null(SRTP_PROTECTION_PROFILE) +#define sk_SRTP_PROTECTION_PROFILE_free(st) SKM_sk_free(SRTP_PROTECTION_PROFILE, (st)) +#define sk_SRTP_PROTECTION_PROFILE_num(st) SKM_sk_num(SRTP_PROTECTION_PROFILE, (st)) +#define sk_SRTP_PROTECTION_PROFILE_value(st, i) SKM_sk_value(SRTP_PROTECTION_PROFILE, (st), (i)) +#define sk_SRTP_PROTECTION_PROFILE_set(st, i, val) SKM_sk_set(SRTP_PROTECTION_PROFILE, (st), (i), (val)) +#define sk_SRTP_PROTECTION_PROFILE_zero(st) SKM_sk_zero(SRTP_PROTECTION_PROFILE, (st)) +#define sk_SRTP_PROTECTION_PROFILE_push(st, val) SKM_sk_push(SRTP_PROTECTION_PROFILE, (st), (val)) +#define sk_SRTP_PROTECTION_PROFILE_unshift(st, val) SKM_sk_unshift(SRTP_PROTECTION_PROFILE, (st), (val)) +#define sk_SRTP_PROTECTION_PROFILE_find(st, val) SKM_sk_find(SRTP_PROTECTION_PROFILE, (st), (val)) +#define sk_SRTP_PROTECTION_PROFILE_delete(st, i) SKM_sk_delete(SRTP_PROTECTION_PROFILE, (st), (i)) +#define sk_SRTP_PROTECTION_PROFILE_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRTP_PROTECTION_PROFILE, (st), (ptr)) +#define sk_SRTP_PROTECTION_PROFILE_insert(st, val, i) SKM_sk_insert(SRTP_PROTECTION_PROFILE, (st), (val), (i)) +#define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRTP_PROTECTION_PROFILE, (st), (cmp)) +#define sk_SRTP_PROTECTION_PROFILE_dup(st) SKM_sk_dup(SRTP_PROTECTION_PROFILE, st) +#define sk_SRTP_PROTECTION_PROFILE_pop_free(st, free_func) SKM_sk_pop_free(SRTP_PROTECTION_PROFILE, (st), (free_func)) +#define sk_SRTP_PROTECTION_PROFILE_shift(st) SKM_sk_shift(SRTP_PROTECTION_PROFILE, (st)) +#define sk_SRTP_PROTECTION_PROFILE_pop(st) SKM_sk_pop(SRTP_PROTECTION_PROFILE, (st)) +#define sk_SRTP_PROTECTION_PROFILE_sort(st) SKM_sk_sort(SRTP_PROTECTION_PROFILE, (st)) +#define sk_SRTP_PROTECTION_PROFILE_is_sorted(st) SKM_sk_is_sorted(SRTP_PROTECTION_PROFILE, (st)) + +#define sk_SSL_CIPHER_new(cmp) SKM_sk_new(SSL_CIPHER, (cmp)) +#define sk_SSL_CIPHER_new_null() SKM_sk_new_null(SSL_CIPHER) +#define sk_SSL_CIPHER_free(st) SKM_sk_free(SSL_CIPHER, (st)) +#define sk_SSL_CIPHER_num(st) SKM_sk_num(SSL_CIPHER, (st)) +#define sk_SSL_CIPHER_value(st, i) SKM_sk_value(SSL_CIPHER, (st), (i)) +#define sk_SSL_CIPHER_set(st, i, val) SKM_sk_set(SSL_CIPHER, (st), (i), (val)) +#define sk_SSL_CIPHER_zero(st) SKM_sk_zero(SSL_CIPHER, (st)) +#define sk_SSL_CIPHER_push(st, val) SKM_sk_push(SSL_CIPHER, (st), (val)) +#define sk_SSL_CIPHER_unshift(st, val) SKM_sk_unshift(SSL_CIPHER, (st), (val)) +#define sk_SSL_CIPHER_find(st, val) SKM_sk_find(SSL_CIPHER, (st), (val)) +#define sk_SSL_CIPHER_delete(st, i) SKM_sk_delete(SSL_CIPHER, (st), (i)) +#define sk_SSL_CIPHER_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_CIPHER, (st), (ptr)) +#define sk_SSL_CIPHER_insert(st, val, i) SKM_sk_insert(SSL_CIPHER, (st), (val), (i)) +#define sk_SSL_CIPHER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_CIPHER, (st), (cmp)) +#define sk_SSL_CIPHER_dup(st) SKM_sk_dup(SSL_CIPHER, st) +#define sk_SSL_CIPHER_pop_free(st, free_func) SKM_sk_pop_free(SSL_CIPHER, (st), (free_func)) +#define sk_SSL_CIPHER_shift(st) SKM_sk_shift(SSL_CIPHER, (st)) +#define sk_SSL_CIPHER_pop(st) SKM_sk_pop(SSL_CIPHER, (st)) +#define sk_SSL_CIPHER_sort(st) SKM_sk_sort(SSL_CIPHER, (st)) +#define sk_SSL_CIPHER_is_sorted(st) SKM_sk_is_sorted(SSL_CIPHER, (st)) + +#define sk_SSL_COMP_new(cmp) SKM_sk_new(SSL_COMP, (cmp)) +#define sk_SSL_COMP_new_null() SKM_sk_new_null(SSL_COMP) +#define sk_SSL_COMP_free(st) SKM_sk_free(SSL_COMP, (st)) +#define sk_SSL_COMP_num(st) SKM_sk_num(SSL_COMP, (st)) +#define sk_SSL_COMP_value(st, i) SKM_sk_value(SSL_COMP, (st), (i)) +#define sk_SSL_COMP_set(st, i, val) SKM_sk_set(SSL_COMP, (st), (i), (val)) +#define sk_SSL_COMP_zero(st) SKM_sk_zero(SSL_COMP, (st)) +#define sk_SSL_COMP_push(st, val) SKM_sk_push(SSL_COMP, (st), (val)) +#define sk_SSL_COMP_unshift(st, val) SKM_sk_unshift(SSL_COMP, (st), (val)) +#define sk_SSL_COMP_find(st, val) SKM_sk_find(SSL_COMP, (st), (val)) +#define sk_SSL_COMP_delete(st, i) SKM_sk_delete(SSL_COMP, (st), (i)) +#define sk_SSL_COMP_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_COMP, (st), (ptr)) +#define sk_SSL_COMP_insert(st, val, i) SKM_sk_insert(SSL_COMP, (st), (val), (i)) +#define sk_SSL_COMP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_COMP, (st), (cmp)) +#define sk_SSL_COMP_dup(st) SKM_sk_dup(SSL_COMP, st) +#define sk_SSL_COMP_pop_free(st, free_func) SKM_sk_pop_free(SSL_COMP, (st), (free_func)) +#define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st)) +#define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st)) +#define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st)) +#define sk_SSL_COMP_is_sorted(st) SKM_sk_is_sorted(SSL_COMP, (st)) + +#define sk_STACK_OF_X509_NAME_ENTRY_new(cmp) SKM_sk_new(STACK_OF_X509_NAME_ENTRY, (cmp)) +#define sk_STACK_OF_X509_NAME_ENTRY_new_null() SKM_sk_new_null(STACK_OF_X509_NAME_ENTRY) +#define sk_STACK_OF_X509_NAME_ENTRY_free(st) SKM_sk_free(STACK_OF_X509_NAME_ENTRY, (st)) +#define sk_STACK_OF_X509_NAME_ENTRY_num(st) SKM_sk_num(STACK_OF_X509_NAME_ENTRY, (st)) +#define sk_STACK_OF_X509_NAME_ENTRY_value(st, i) SKM_sk_value(STACK_OF_X509_NAME_ENTRY, (st), (i)) +#define sk_STACK_OF_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(STACK_OF_X509_NAME_ENTRY, (st), (i), (val)) +#define sk_STACK_OF_X509_NAME_ENTRY_zero(st) SKM_sk_zero(STACK_OF_X509_NAME_ENTRY, (st)) +#define sk_STACK_OF_X509_NAME_ENTRY_push(st, val) SKM_sk_push(STACK_OF_X509_NAME_ENTRY, (st), (val)) +#define sk_STACK_OF_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(STACK_OF_X509_NAME_ENTRY, (st), (val)) +#define sk_STACK_OF_X509_NAME_ENTRY_find(st, val) SKM_sk_find(STACK_OF_X509_NAME_ENTRY, (st), (val)) +#define sk_STACK_OF_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(STACK_OF_X509_NAME_ENTRY, (st), (i)) +#define sk_STACK_OF_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(STACK_OF_X509_NAME_ENTRY, (st), (ptr)) +#define sk_STACK_OF_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(STACK_OF_X509_NAME_ENTRY, (st), (val), (i)) +#define sk_STACK_OF_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STACK_OF_X509_NAME_ENTRY, (st), (cmp)) +#define sk_STACK_OF_X509_NAME_ENTRY_dup(st) SKM_sk_dup(STACK_OF_X509_NAME_ENTRY, st) +#define sk_STACK_OF_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(STACK_OF_X509_NAME_ENTRY, (st), (free_func)) +#define sk_STACK_OF_X509_NAME_ENTRY_shift(st) SKM_sk_shift(STACK_OF_X509_NAME_ENTRY, (st)) +#define sk_STACK_OF_X509_NAME_ENTRY_pop(st) SKM_sk_pop(STACK_OF_X509_NAME_ENTRY, (st)) +#define sk_STACK_OF_X509_NAME_ENTRY_sort(st) SKM_sk_sort(STACK_OF_X509_NAME_ENTRY, (st)) +#define sk_STACK_OF_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(STACK_OF_X509_NAME_ENTRY, (st)) + +#define sk_STORE_ATTR_INFO_new(cmp) SKM_sk_new(STORE_ATTR_INFO, (cmp)) +#define sk_STORE_ATTR_INFO_new_null() SKM_sk_new_null(STORE_ATTR_INFO) +#define sk_STORE_ATTR_INFO_free(st) SKM_sk_free(STORE_ATTR_INFO, (st)) +#define sk_STORE_ATTR_INFO_num(st) SKM_sk_num(STORE_ATTR_INFO, (st)) +#define sk_STORE_ATTR_INFO_value(st, i) SKM_sk_value(STORE_ATTR_INFO, (st), (i)) +#define sk_STORE_ATTR_INFO_set(st, i, val) SKM_sk_set(STORE_ATTR_INFO, (st), (i), (val)) +#define sk_STORE_ATTR_INFO_zero(st) SKM_sk_zero(STORE_ATTR_INFO, (st)) +#define sk_STORE_ATTR_INFO_push(st, val) SKM_sk_push(STORE_ATTR_INFO, (st), (val)) +#define sk_STORE_ATTR_INFO_unshift(st, val) SKM_sk_unshift(STORE_ATTR_INFO, (st), (val)) +#define sk_STORE_ATTR_INFO_find(st, val) SKM_sk_find(STORE_ATTR_INFO, (st), (val)) +#define sk_STORE_ATTR_INFO_delete(st, i) SKM_sk_delete(STORE_ATTR_INFO, (st), (i)) +#define sk_STORE_ATTR_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_ATTR_INFO, (st), (ptr)) +#define sk_STORE_ATTR_INFO_insert(st, val, i) SKM_sk_insert(STORE_ATTR_INFO, (st), (val), (i)) +#define sk_STORE_ATTR_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_ATTR_INFO, (st), (cmp)) +#define sk_STORE_ATTR_INFO_dup(st) SKM_sk_dup(STORE_ATTR_INFO, st) +#define sk_STORE_ATTR_INFO_pop_free(st, free_func) SKM_sk_pop_free(STORE_ATTR_INFO, (st), (free_func)) +#define sk_STORE_ATTR_INFO_shift(st) SKM_sk_shift(STORE_ATTR_INFO, (st)) +#define sk_STORE_ATTR_INFO_pop(st) SKM_sk_pop(STORE_ATTR_INFO, (st)) +#define sk_STORE_ATTR_INFO_sort(st) SKM_sk_sort(STORE_ATTR_INFO, (st)) +#define sk_STORE_ATTR_INFO_is_sorted(st) SKM_sk_is_sorted(STORE_ATTR_INFO, (st)) + +#define sk_STORE_OBJECT_new(cmp) SKM_sk_new(STORE_OBJECT, (cmp)) +#define sk_STORE_OBJECT_new_null() SKM_sk_new_null(STORE_OBJECT) +#define sk_STORE_OBJECT_free(st) SKM_sk_free(STORE_OBJECT, (st)) +#define sk_STORE_OBJECT_num(st) SKM_sk_num(STORE_OBJECT, (st)) +#define sk_STORE_OBJECT_value(st, i) SKM_sk_value(STORE_OBJECT, (st), (i)) +#define sk_STORE_OBJECT_set(st, i, val) SKM_sk_set(STORE_OBJECT, (st), (i), (val)) +#define sk_STORE_OBJECT_zero(st) SKM_sk_zero(STORE_OBJECT, (st)) +#define sk_STORE_OBJECT_push(st, val) SKM_sk_push(STORE_OBJECT, (st), (val)) +#define sk_STORE_OBJECT_unshift(st, val) SKM_sk_unshift(STORE_OBJECT, (st), (val)) +#define sk_STORE_OBJECT_find(st, val) SKM_sk_find(STORE_OBJECT, (st), (val)) +#define sk_STORE_OBJECT_delete(st, i) SKM_sk_delete(STORE_OBJECT, (st), (i)) +#define sk_STORE_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_OBJECT, (st), (ptr)) +#define sk_STORE_OBJECT_insert(st, val, i) SKM_sk_insert(STORE_OBJECT, (st), (val), (i)) +#define sk_STORE_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_OBJECT, (st), (cmp)) +#define sk_STORE_OBJECT_dup(st) SKM_sk_dup(STORE_OBJECT, st) +#define sk_STORE_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(STORE_OBJECT, (st), (free_func)) +#define sk_STORE_OBJECT_shift(st) SKM_sk_shift(STORE_OBJECT, (st)) +#define sk_STORE_OBJECT_pop(st) SKM_sk_pop(STORE_OBJECT, (st)) +#define sk_STORE_OBJECT_sort(st) SKM_sk_sort(STORE_OBJECT, (st)) +#define sk_STORE_OBJECT_is_sorted(st) SKM_sk_is_sorted(STORE_OBJECT, (st)) + +#define sk_UI_STRING_new(cmp) SKM_sk_new(UI_STRING, (cmp)) +#define sk_UI_STRING_new_null() SKM_sk_new_null(UI_STRING) +#define sk_UI_STRING_free(st) SKM_sk_free(UI_STRING, (st)) +#define sk_UI_STRING_num(st) SKM_sk_num(UI_STRING, (st)) +#define sk_UI_STRING_value(st, i) SKM_sk_value(UI_STRING, (st), (i)) +#define sk_UI_STRING_set(st, i, val) SKM_sk_set(UI_STRING, (st), (i), (val)) +#define sk_UI_STRING_zero(st) SKM_sk_zero(UI_STRING, (st)) +#define sk_UI_STRING_push(st, val) SKM_sk_push(UI_STRING, (st), (val)) +#define sk_UI_STRING_unshift(st, val) SKM_sk_unshift(UI_STRING, (st), (val)) +#define sk_UI_STRING_find(st, val) SKM_sk_find(UI_STRING, (st), (val)) +#define sk_UI_STRING_delete(st, i) SKM_sk_delete(UI_STRING, (st), (i)) +#define sk_UI_STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(UI_STRING, (st), (ptr)) +#define sk_UI_STRING_insert(st, val, i) SKM_sk_insert(UI_STRING, (st), (val), (i)) +#define sk_UI_STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(UI_STRING, (st), (cmp)) +#define sk_UI_STRING_dup(st) SKM_sk_dup(UI_STRING, st) +#define sk_UI_STRING_pop_free(st, free_func) SKM_sk_pop_free(UI_STRING, (st), (free_func)) +#define sk_UI_STRING_shift(st) SKM_sk_shift(UI_STRING, (st)) +#define sk_UI_STRING_pop(st) SKM_sk_pop(UI_STRING, (st)) +#define sk_UI_STRING_sort(st) SKM_sk_sort(UI_STRING, (st)) +#define sk_UI_STRING_is_sorted(st) SKM_sk_is_sorted(UI_STRING, (st)) + +#define sk_X509_new(cmp) SKM_sk_new(X509, (cmp)) +#define sk_X509_new_null() SKM_sk_new_null(X509) +#define sk_X509_free(st) SKM_sk_free(X509, (st)) +#define sk_X509_num(st) SKM_sk_num(X509, (st)) +#define sk_X509_value(st, i) SKM_sk_value(X509, (st), (i)) +#define sk_X509_set(st, i, val) SKM_sk_set(X509, (st), (i), (val)) +#define sk_X509_zero(st) SKM_sk_zero(X509, (st)) +#define sk_X509_push(st, val) SKM_sk_push(X509, (st), (val)) +#define sk_X509_unshift(st, val) SKM_sk_unshift(X509, (st), (val)) +#define sk_X509_find(st, val) SKM_sk_find(X509, (st), (val)) +#define sk_X509_delete(st, i) SKM_sk_delete(X509, (st), (i)) +#define sk_X509_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509, (st), (ptr)) +#define sk_X509_insert(st, val, i) SKM_sk_insert(X509, (st), (val), (i)) +#define sk_X509_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509, (st), (cmp)) +#define sk_X509_dup(st) SKM_sk_dup(X509, st) +#define sk_X509_pop_free(st, free_func) SKM_sk_pop_free(X509, (st), (free_func)) +#define sk_X509_shift(st) SKM_sk_shift(X509, (st)) +#define sk_X509_pop(st) SKM_sk_pop(X509, (st)) +#define sk_X509_sort(st) SKM_sk_sort(X509, (st)) +#define sk_X509_is_sorted(st) SKM_sk_is_sorted(X509, (st)) + +#define sk_X509V3_EXT_METHOD_new(cmp) SKM_sk_new(X509V3_EXT_METHOD, (cmp)) +#define sk_X509V3_EXT_METHOD_new_null() SKM_sk_new_null(X509V3_EXT_METHOD) +#define sk_X509V3_EXT_METHOD_free(st) SKM_sk_free(X509V3_EXT_METHOD, (st)) +#define sk_X509V3_EXT_METHOD_num(st) SKM_sk_num(X509V3_EXT_METHOD, (st)) +#define sk_X509V3_EXT_METHOD_value(st, i) SKM_sk_value(X509V3_EXT_METHOD, (st), (i)) +#define sk_X509V3_EXT_METHOD_set(st, i, val) SKM_sk_set(X509V3_EXT_METHOD, (st), (i), (val)) +#define sk_X509V3_EXT_METHOD_zero(st) SKM_sk_zero(X509V3_EXT_METHOD, (st)) +#define sk_X509V3_EXT_METHOD_push(st, val) SKM_sk_push(X509V3_EXT_METHOD, (st), (val)) +#define sk_X509V3_EXT_METHOD_unshift(st, val) SKM_sk_unshift(X509V3_EXT_METHOD, (st), (val)) +#define sk_X509V3_EXT_METHOD_find(st, val) SKM_sk_find(X509V3_EXT_METHOD, (st), (val)) +#define sk_X509V3_EXT_METHOD_delete(st, i) SKM_sk_delete(X509V3_EXT_METHOD, (st), (i)) +#define sk_X509V3_EXT_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509V3_EXT_METHOD, (st), (ptr)) +#define sk_X509V3_EXT_METHOD_insert(st, val, i) SKM_sk_insert(X509V3_EXT_METHOD, (st), (val), (i)) +#define sk_X509V3_EXT_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509V3_EXT_METHOD, (st), (cmp)) +#define sk_X509V3_EXT_METHOD_dup(st) SKM_sk_dup(X509V3_EXT_METHOD, st) +#define sk_X509V3_EXT_METHOD_pop_free(st, free_func) SKM_sk_pop_free(X509V3_EXT_METHOD, (st), (free_func)) +#define sk_X509V3_EXT_METHOD_shift(st) SKM_sk_shift(X509V3_EXT_METHOD, (st)) +#define sk_X509V3_EXT_METHOD_pop(st) SKM_sk_pop(X509V3_EXT_METHOD, (st)) +#define sk_X509V3_EXT_METHOD_sort(st) SKM_sk_sort(X509V3_EXT_METHOD, (st)) +#define sk_X509V3_EXT_METHOD_is_sorted(st) SKM_sk_is_sorted(X509V3_EXT_METHOD, (st)) + +#define sk_X509_ALGOR_new(cmp) SKM_sk_new(X509_ALGOR, (cmp)) +#define sk_X509_ALGOR_new_null() SKM_sk_new_null(X509_ALGOR) +#define sk_X509_ALGOR_free(st) SKM_sk_free(X509_ALGOR, (st)) +#define sk_X509_ALGOR_num(st) SKM_sk_num(X509_ALGOR, (st)) +#define sk_X509_ALGOR_value(st, i) SKM_sk_value(X509_ALGOR, (st), (i)) +#define sk_X509_ALGOR_set(st, i, val) SKM_sk_set(X509_ALGOR, (st), (i), (val)) +#define sk_X509_ALGOR_zero(st) SKM_sk_zero(X509_ALGOR, (st)) +#define sk_X509_ALGOR_push(st, val) SKM_sk_push(X509_ALGOR, (st), (val)) +#define sk_X509_ALGOR_unshift(st, val) SKM_sk_unshift(X509_ALGOR, (st), (val)) +#define sk_X509_ALGOR_find(st, val) SKM_sk_find(X509_ALGOR, (st), (val)) +#define sk_X509_ALGOR_delete(st, i) SKM_sk_delete(X509_ALGOR, (st), (i)) +#define sk_X509_ALGOR_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ALGOR, (st), (ptr)) +#define sk_X509_ALGOR_insert(st, val, i) SKM_sk_insert(X509_ALGOR, (st), (val), (i)) +#define sk_X509_ALGOR_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ALGOR, (st), (cmp)) +#define sk_X509_ALGOR_dup(st) SKM_sk_dup(X509_ALGOR, st) +#define sk_X509_ALGOR_pop_free(st, free_func) SKM_sk_pop_free(X509_ALGOR, (st), (free_func)) +#define sk_X509_ALGOR_shift(st) SKM_sk_shift(X509_ALGOR, (st)) +#define sk_X509_ALGOR_pop(st) SKM_sk_pop(X509_ALGOR, (st)) +#define sk_X509_ALGOR_sort(st) SKM_sk_sort(X509_ALGOR, (st)) +#define sk_X509_ALGOR_is_sorted(st) SKM_sk_is_sorted(X509_ALGOR, (st)) + +#define sk_X509_ATTRIBUTE_new(cmp) SKM_sk_new(X509_ATTRIBUTE, (cmp)) +#define sk_X509_ATTRIBUTE_new_null() SKM_sk_new_null(X509_ATTRIBUTE) +#define sk_X509_ATTRIBUTE_free(st) SKM_sk_free(X509_ATTRIBUTE, (st)) +#define sk_X509_ATTRIBUTE_num(st) SKM_sk_num(X509_ATTRIBUTE, (st)) +#define sk_X509_ATTRIBUTE_value(st, i) SKM_sk_value(X509_ATTRIBUTE, (st), (i)) +#define sk_X509_ATTRIBUTE_set(st, i, val) SKM_sk_set(X509_ATTRIBUTE, (st), (i), (val)) +#define sk_X509_ATTRIBUTE_zero(st) SKM_sk_zero(X509_ATTRIBUTE, (st)) +#define sk_X509_ATTRIBUTE_push(st, val) SKM_sk_push(X509_ATTRIBUTE, (st), (val)) +#define sk_X509_ATTRIBUTE_unshift(st, val) SKM_sk_unshift(X509_ATTRIBUTE, (st), (val)) +#define sk_X509_ATTRIBUTE_find(st, val) SKM_sk_find(X509_ATTRIBUTE, (st), (val)) +#define sk_X509_ATTRIBUTE_delete(st, i) SKM_sk_delete(X509_ATTRIBUTE, (st), (i)) +#define sk_X509_ATTRIBUTE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ATTRIBUTE, (st), (ptr)) +#define sk_X509_ATTRIBUTE_insert(st, val, i) SKM_sk_insert(X509_ATTRIBUTE, (st), (val), (i)) +#define sk_X509_ATTRIBUTE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ATTRIBUTE, (st), (cmp)) +#define sk_X509_ATTRIBUTE_dup(st) SKM_sk_dup(X509_ATTRIBUTE, st) +#define sk_X509_ATTRIBUTE_pop_free(st, free_func) SKM_sk_pop_free(X509_ATTRIBUTE, (st), (free_func)) +#define sk_X509_ATTRIBUTE_shift(st) SKM_sk_shift(X509_ATTRIBUTE, (st)) +#define sk_X509_ATTRIBUTE_pop(st) SKM_sk_pop(X509_ATTRIBUTE, (st)) +#define sk_X509_ATTRIBUTE_sort(st) SKM_sk_sort(X509_ATTRIBUTE, (st)) +#define sk_X509_ATTRIBUTE_is_sorted(st) SKM_sk_is_sorted(X509_ATTRIBUTE, (st)) + +#define sk_X509_CRL_new(cmp) SKM_sk_new(X509_CRL, (cmp)) +#define sk_X509_CRL_new_null() SKM_sk_new_null(X509_CRL) +#define sk_X509_CRL_free(st) SKM_sk_free(X509_CRL, (st)) +#define sk_X509_CRL_num(st) SKM_sk_num(X509_CRL, (st)) +#define sk_X509_CRL_value(st, i) SKM_sk_value(X509_CRL, (st), (i)) +#define sk_X509_CRL_set(st, i, val) SKM_sk_set(X509_CRL, (st), (i), (val)) +#define sk_X509_CRL_zero(st) SKM_sk_zero(X509_CRL, (st)) +#define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val)) +#define sk_X509_CRL_unshift(st, val) SKM_sk_unshift(X509_CRL, (st), (val)) +#define sk_X509_CRL_find(st, val) SKM_sk_find(X509_CRL, (st), (val)) +#define sk_X509_CRL_delete(st, i) SKM_sk_delete(X509_CRL, (st), (i)) +#define sk_X509_CRL_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_CRL, (st), (ptr)) +#define sk_X509_CRL_insert(st, val, i) SKM_sk_insert(X509_CRL, (st), (val), (i)) +#define sk_X509_CRL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_CRL, (st), (cmp)) +#define sk_X509_CRL_dup(st) SKM_sk_dup(X509_CRL, st) +#define sk_X509_CRL_pop_free(st, free_func) SKM_sk_pop_free(X509_CRL, (st), (free_func)) +#define sk_X509_CRL_shift(st) SKM_sk_shift(X509_CRL, (st)) +#define sk_X509_CRL_pop(st) SKM_sk_pop(X509_CRL, (st)) +#define sk_X509_CRL_sort(st) SKM_sk_sort(X509_CRL, (st)) +#define sk_X509_CRL_is_sorted(st) SKM_sk_is_sorted(X509_CRL, (st)) + +#define sk_X509_EXTENSION_new(cmp) SKM_sk_new(X509_EXTENSION, (cmp)) +#define sk_X509_EXTENSION_new_null() SKM_sk_new_null(X509_EXTENSION) +#define sk_X509_EXTENSION_free(st) SKM_sk_free(X509_EXTENSION, (st)) +#define sk_X509_EXTENSION_num(st) SKM_sk_num(X509_EXTENSION, (st)) +#define sk_X509_EXTENSION_value(st, i) SKM_sk_value(X509_EXTENSION, (st), (i)) +#define sk_X509_EXTENSION_set(st, i, val) SKM_sk_set(X509_EXTENSION, (st), (i), (val)) +#define sk_X509_EXTENSION_zero(st) SKM_sk_zero(X509_EXTENSION, (st)) +#define sk_X509_EXTENSION_push(st, val) SKM_sk_push(X509_EXTENSION, (st), (val)) +#define sk_X509_EXTENSION_unshift(st, val) SKM_sk_unshift(X509_EXTENSION, (st), (val)) +#define sk_X509_EXTENSION_find(st, val) SKM_sk_find(X509_EXTENSION, (st), (val)) +#define sk_X509_EXTENSION_delete(st, i) SKM_sk_delete(X509_EXTENSION, (st), (i)) +#define sk_X509_EXTENSION_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_EXTENSION, (st), (ptr)) +#define sk_X509_EXTENSION_insert(st, val, i) SKM_sk_insert(X509_EXTENSION, (st), (val), (i)) +#define sk_X509_EXTENSION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_EXTENSION, (st), (cmp)) +#define sk_X509_EXTENSION_dup(st) SKM_sk_dup(X509_EXTENSION, st) +#define sk_X509_EXTENSION_pop_free(st, free_func) SKM_sk_pop_free(X509_EXTENSION, (st), (free_func)) +#define sk_X509_EXTENSION_shift(st) SKM_sk_shift(X509_EXTENSION, (st)) +#define sk_X509_EXTENSION_pop(st) SKM_sk_pop(X509_EXTENSION, (st)) +#define sk_X509_EXTENSION_sort(st) SKM_sk_sort(X509_EXTENSION, (st)) +#define sk_X509_EXTENSION_is_sorted(st) SKM_sk_is_sorted(X509_EXTENSION, (st)) + +#define sk_X509_INFO_new(cmp) SKM_sk_new(X509_INFO, (cmp)) +#define sk_X509_INFO_new_null() SKM_sk_new_null(X509_INFO) +#define sk_X509_INFO_free(st) SKM_sk_free(X509_INFO, (st)) +#define sk_X509_INFO_num(st) SKM_sk_num(X509_INFO, (st)) +#define sk_X509_INFO_value(st, i) SKM_sk_value(X509_INFO, (st), (i)) +#define sk_X509_INFO_set(st, i, val) SKM_sk_set(X509_INFO, (st), (i), (val)) +#define sk_X509_INFO_zero(st) SKM_sk_zero(X509_INFO, (st)) +#define sk_X509_INFO_push(st, val) SKM_sk_push(X509_INFO, (st), (val)) +#define sk_X509_INFO_unshift(st, val) SKM_sk_unshift(X509_INFO, (st), (val)) +#define sk_X509_INFO_find(st, val) SKM_sk_find(X509_INFO, (st), (val)) +#define sk_X509_INFO_delete(st, i) SKM_sk_delete(X509_INFO, (st), (i)) +#define sk_X509_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_INFO, (st), (ptr)) +#define sk_X509_INFO_insert(st, val, i) SKM_sk_insert(X509_INFO, (st), (val), (i)) +#define sk_X509_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_INFO, (st), (cmp)) +#define sk_X509_INFO_dup(st) SKM_sk_dup(X509_INFO, st) +#define sk_X509_INFO_pop_free(st, free_func) SKM_sk_pop_free(X509_INFO, (st), (free_func)) +#define sk_X509_INFO_shift(st) SKM_sk_shift(X509_INFO, (st)) +#define sk_X509_INFO_pop(st) SKM_sk_pop(X509_INFO, (st)) +#define sk_X509_INFO_sort(st) SKM_sk_sort(X509_INFO, (st)) +#define sk_X509_INFO_is_sorted(st) SKM_sk_is_sorted(X509_INFO, (st)) + +#define sk_X509_LOOKUP_new(cmp) SKM_sk_new(X509_LOOKUP, (cmp)) +#define sk_X509_LOOKUP_new_null() SKM_sk_new_null(X509_LOOKUP) +#define sk_X509_LOOKUP_free(st) SKM_sk_free(X509_LOOKUP, (st)) +#define sk_X509_LOOKUP_num(st) SKM_sk_num(X509_LOOKUP, (st)) +#define sk_X509_LOOKUP_value(st, i) SKM_sk_value(X509_LOOKUP, (st), (i)) +#define sk_X509_LOOKUP_set(st, i, val) SKM_sk_set(X509_LOOKUP, (st), (i), (val)) +#define sk_X509_LOOKUP_zero(st) SKM_sk_zero(X509_LOOKUP, (st)) +#define sk_X509_LOOKUP_push(st, val) SKM_sk_push(X509_LOOKUP, (st), (val)) +#define sk_X509_LOOKUP_unshift(st, val) SKM_sk_unshift(X509_LOOKUP, (st), (val)) +#define sk_X509_LOOKUP_find(st, val) SKM_sk_find(X509_LOOKUP, (st), (val)) +#define sk_X509_LOOKUP_delete(st, i) SKM_sk_delete(X509_LOOKUP, (st), (i)) +#define sk_X509_LOOKUP_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_LOOKUP, (st), (ptr)) +#define sk_X509_LOOKUP_insert(st, val, i) SKM_sk_insert(X509_LOOKUP, (st), (val), (i)) +#define sk_X509_LOOKUP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_LOOKUP, (st), (cmp)) +#define sk_X509_LOOKUP_dup(st) SKM_sk_dup(X509_LOOKUP, st) +#define sk_X509_LOOKUP_pop_free(st, free_func) SKM_sk_pop_free(X509_LOOKUP, (st), (free_func)) +#define sk_X509_LOOKUP_shift(st) SKM_sk_shift(X509_LOOKUP, (st)) +#define sk_X509_LOOKUP_pop(st) SKM_sk_pop(X509_LOOKUP, (st)) +#define sk_X509_LOOKUP_sort(st) SKM_sk_sort(X509_LOOKUP, (st)) +#define sk_X509_LOOKUP_is_sorted(st) SKM_sk_is_sorted(X509_LOOKUP, (st)) + +#define sk_X509_NAME_new(cmp) SKM_sk_new(X509_NAME, (cmp)) +#define sk_X509_NAME_new_null() SKM_sk_new_null(X509_NAME) +#define sk_X509_NAME_free(st) SKM_sk_free(X509_NAME, (st)) +#define sk_X509_NAME_num(st) SKM_sk_num(X509_NAME, (st)) +#define sk_X509_NAME_value(st, i) SKM_sk_value(X509_NAME, (st), (i)) +#define sk_X509_NAME_set(st, i, val) SKM_sk_set(X509_NAME, (st), (i), (val)) +#define sk_X509_NAME_zero(st) SKM_sk_zero(X509_NAME, (st)) +#define sk_X509_NAME_push(st, val) SKM_sk_push(X509_NAME, (st), (val)) +#define sk_X509_NAME_unshift(st, val) SKM_sk_unshift(X509_NAME, (st), (val)) +#define sk_X509_NAME_find(st, val) SKM_sk_find(X509_NAME, (st), (val)) +#define sk_X509_NAME_delete(st, i) SKM_sk_delete(X509_NAME, (st), (i)) +#define sk_X509_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME, (st), (ptr)) +#define sk_X509_NAME_insert(st, val, i) SKM_sk_insert(X509_NAME, (st), (val), (i)) +#define sk_X509_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME, (st), (cmp)) +#define sk_X509_NAME_dup(st) SKM_sk_dup(X509_NAME, st) +#define sk_X509_NAME_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME, (st), (free_func)) +#define sk_X509_NAME_shift(st) SKM_sk_shift(X509_NAME, (st)) +#define sk_X509_NAME_pop(st) SKM_sk_pop(X509_NAME, (st)) +#define sk_X509_NAME_sort(st) SKM_sk_sort(X509_NAME, (st)) +#define sk_X509_NAME_is_sorted(st) SKM_sk_is_sorted(X509_NAME, (st)) + +#define sk_X509_NAME_ENTRY_new(cmp) SKM_sk_new(X509_NAME_ENTRY, (cmp)) +#define sk_X509_NAME_ENTRY_new_null() SKM_sk_new_null(X509_NAME_ENTRY) +#define sk_X509_NAME_ENTRY_free(st) SKM_sk_free(X509_NAME_ENTRY, (st)) +#define sk_X509_NAME_ENTRY_num(st) SKM_sk_num(X509_NAME_ENTRY, (st)) +#define sk_X509_NAME_ENTRY_value(st, i) SKM_sk_value(X509_NAME_ENTRY, (st), (i)) +#define sk_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(X509_NAME_ENTRY, (st), (i), (val)) +#define sk_X509_NAME_ENTRY_zero(st) SKM_sk_zero(X509_NAME_ENTRY, (st)) +#define sk_X509_NAME_ENTRY_push(st, val) SKM_sk_push(X509_NAME_ENTRY, (st), (val)) +#define sk_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(X509_NAME_ENTRY, (st), (val)) +#define sk_X509_NAME_ENTRY_find(st, val) SKM_sk_find(X509_NAME_ENTRY, (st), (val)) +#define sk_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(X509_NAME_ENTRY, (st), (i)) +#define sk_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME_ENTRY, (st), (ptr)) +#define sk_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(X509_NAME_ENTRY, (st), (val), (i)) +#define sk_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME_ENTRY, (st), (cmp)) +#define sk_X509_NAME_ENTRY_dup(st) SKM_sk_dup(X509_NAME_ENTRY, st) +#define sk_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME_ENTRY, (st), (free_func)) +#define sk_X509_NAME_ENTRY_shift(st) SKM_sk_shift(X509_NAME_ENTRY, (st)) +#define sk_X509_NAME_ENTRY_pop(st) SKM_sk_pop(X509_NAME_ENTRY, (st)) +#define sk_X509_NAME_ENTRY_sort(st) SKM_sk_sort(X509_NAME_ENTRY, (st)) +#define sk_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(X509_NAME_ENTRY, (st)) + +#define sk_X509_OBJECT_new(cmp) SKM_sk_new(X509_OBJECT, (cmp)) +#define sk_X509_OBJECT_new_null() SKM_sk_new_null(X509_OBJECT) +#define sk_X509_OBJECT_free(st) SKM_sk_free(X509_OBJECT, (st)) +#define sk_X509_OBJECT_num(st) SKM_sk_num(X509_OBJECT, (st)) +#define sk_X509_OBJECT_value(st, i) SKM_sk_value(X509_OBJECT, (st), (i)) +#define sk_X509_OBJECT_set(st, i, val) SKM_sk_set(X509_OBJECT, (st), (i), (val)) +#define sk_X509_OBJECT_zero(st) SKM_sk_zero(X509_OBJECT, (st)) +#define sk_X509_OBJECT_push(st, val) SKM_sk_push(X509_OBJECT, (st), (val)) +#define sk_X509_OBJECT_unshift(st, val) SKM_sk_unshift(X509_OBJECT, (st), (val)) +#define sk_X509_OBJECT_find(st, val) SKM_sk_find(X509_OBJECT, (st), (val)) +#define sk_X509_OBJECT_delete(st, i) SKM_sk_delete(X509_OBJECT, (st), (i)) +#define sk_X509_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_OBJECT, (st), (ptr)) +#define sk_X509_OBJECT_insert(st, val, i) SKM_sk_insert(X509_OBJECT, (st), (val), (i)) +#define sk_X509_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_OBJECT, (st), (cmp)) +#define sk_X509_OBJECT_dup(st) SKM_sk_dup(X509_OBJECT, st) +#define sk_X509_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(X509_OBJECT, (st), (free_func)) +#define sk_X509_OBJECT_shift(st) SKM_sk_shift(X509_OBJECT, (st)) +#define sk_X509_OBJECT_pop(st) SKM_sk_pop(X509_OBJECT, (st)) +#define sk_X509_OBJECT_sort(st) SKM_sk_sort(X509_OBJECT, (st)) +#define sk_X509_OBJECT_is_sorted(st) SKM_sk_is_sorted(X509_OBJECT, (st)) + +#define sk_X509_REVOKED_new(cmp) SKM_sk_new(X509_REVOKED, (cmp)) +#define sk_X509_REVOKED_new_null() SKM_sk_new_null(X509_REVOKED) +#define sk_X509_REVOKED_free(st) SKM_sk_free(X509_REVOKED, (st)) +#define sk_X509_REVOKED_num(st) SKM_sk_num(X509_REVOKED, (st)) +#define sk_X509_REVOKED_value(st, i) SKM_sk_value(X509_REVOKED, (st), (i)) +#define sk_X509_REVOKED_set(st, i, val) SKM_sk_set(X509_REVOKED, (st), (i), (val)) +#define sk_X509_REVOKED_zero(st) SKM_sk_zero(X509_REVOKED, (st)) +#define sk_X509_REVOKED_push(st, val) SKM_sk_push(X509_REVOKED, (st), (val)) +#define sk_X509_REVOKED_unshift(st, val) SKM_sk_unshift(X509_REVOKED, (st), (val)) +#define sk_X509_REVOKED_find(st, val) SKM_sk_find(X509_REVOKED, (st), (val)) +#define sk_X509_REVOKED_delete(st, i) SKM_sk_delete(X509_REVOKED, (st), (i)) +#define sk_X509_REVOKED_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_REVOKED, (st), (ptr)) +#define sk_X509_REVOKED_insert(st, val, i) SKM_sk_insert(X509_REVOKED, (st), (val), (i)) +#define sk_X509_REVOKED_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_REVOKED, (st), (cmp)) +#define sk_X509_REVOKED_dup(st) SKM_sk_dup(X509_REVOKED, st) +#define sk_X509_REVOKED_pop_free(st, free_func) SKM_sk_pop_free(X509_REVOKED, (st), (free_func)) +#define sk_X509_REVOKED_shift(st) SKM_sk_shift(X509_REVOKED, (st)) +#define sk_X509_REVOKED_pop(st) SKM_sk_pop(X509_REVOKED, (st)) +#define sk_X509_REVOKED_sort(st) SKM_sk_sort(X509_REVOKED, (st)) +#define sk_X509_REVOKED_is_sorted(st) SKM_sk_is_sorted(X509_REVOKED, (st)) + +#define sk_X509_VERIFY_PARAM_new(cmp) SKM_sk_new(X509_VERIFY_PARAM, (cmp)) +#define sk_X509_VERIFY_PARAM_new_null() SKM_sk_new_null(X509_VERIFY_PARAM) +#define sk_X509_VERIFY_PARAM_free(st) SKM_sk_free(X509_VERIFY_PARAM, (st)) +#define sk_X509_VERIFY_PARAM_num(st) SKM_sk_num(X509_VERIFY_PARAM, (st)) +#define sk_X509_VERIFY_PARAM_value(st, i) SKM_sk_value(X509_VERIFY_PARAM, (st), (i)) +#define sk_X509_VERIFY_PARAM_set(st, i, val) SKM_sk_set(X509_VERIFY_PARAM, (st), (i), (val)) +#define sk_X509_VERIFY_PARAM_zero(st) SKM_sk_zero(X509_VERIFY_PARAM, (st)) +#define sk_X509_VERIFY_PARAM_push(st, val) SKM_sk_push(X509_VERIFY_PARAM, (st), (val)) +#define sk_X509_VERIFY_PARAM_unshift(st, val) SKM_sk_unshift(X509_VERIFY_PARAM, (st), (val)) +#define sk_X509_VERIFY_PARAM_find(st, val) SKM_sk_find(X509_VERIFY_PARAM, (st), (val)) +#define sk_X509_VERIFY_PARAM_delete(st, i) SKM_sk_delete(X509_VERIFY_PARAM, (st), (i)) +#define sk_X509_VERIFY_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_VERIFY_PARAM, (st), (ptr)) +#define sk_X509_VERIFY_PARAM_insert(st, val, i) SKM_sk_insert(X509_VERIFY_PARAM, (st), (val), (i)) +#define sk_X509_VERIFY_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_VERIFY_PARAM, (st), (cmp)) +#define sk_X509_VERIFY_PARAM_dup(st) SKM_sk_dup(X509_VERIFY_PARAM, st) +#define sk_X509_VERIFY_PARAM_pop_free(st, free_func) SKM_sk_pop_free(X509_VERIFY_PARAM, (st), (free_func)) +#define sk_X509_VERIFY_PARAM_shift(st) SKM_sk_shift(X509_VERIFY_PARAM, (st)) +#define sk_X509_VERIFY_PARAM_pop(st) SKM_sk_pop(X509_VERIFY_PARAM, (st)) +#define sk_X509_VERIFY_PARAM_sort(st) SKM_sk_sort(X509_VERIFY_PARAM, (st)) +#define sk_X509_VERIFY_PARAM_is_sorted(st) SKM_sk_is_sorted(X509_VERIFY_PARAM, (st)) + +#define sk_void_new(cmp) SKM_sk_new(void, (cmp)) +#define sk_void_new_null() SKM_sk_new_null(void) +#define sk_void_free(st) SKM_sk_free(void, (st)) +#define sk_void_num(st) SKM_sk_num(void, (st)) +#define sk_void_value(st, i) SKM_sk_value(void, (st), (i)) +#define sk_void_set(st, i, val) SKM_sk_set(void, (st), (i), (val)) +#define sk_void_zero(st) SKM_sk_zero(void, (st)) +#define sk_void_push(st, val) SKM_sk_push(void, (st), (val)) +#define sk_void_unshift(st, val) SKM_sk_unshift(void, (st), (val)) +#define sk_void_find(st, val) SKM_sk_find(void, (st), (val)) +#define sk_void_delete(st, i) SKM_sk_delete(void, (st), (i)) +#define sk_void_delete_ptr(st, ptr) SKM_sk_delete_ptr(void, (st), (ptr)) +#define sk_void_insert(st, val, i) SKM_sk_insert(void, (st), (val), (i)) +#define sk_void_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(void, (st), (cmp)) +#define sk_void_dup(st) SKM_sk_dup(void, st) +#define sk_void_pop_free(st, free_func) SKM_sk_pop_free(void, (st), (free_func)) +#define sk_void_shift(st) SKM_sk_shift(void, (st)) +#define sk_void_pop(st) SKM_sk_pop(void, (st)) +#define sk_void_sort(st) SKM_sk_sort(void, (st)) +#define sk_void_is_sorted(st) SKM_sk_is_sorted(void, (st)) + +#define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)sk_new(CHECKED_SK_CMP_FUNC(char, cmp))) +#define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null()) +#define sk_OPENSSL_STRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +#define sk_OPENSSL_STRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +#define sk_OPENSSL_STRING_value(st, i) ((OPENSSL_STRING)sk_value(CHECKED_STACK_OF(OPENSSL_STRING, st), i)) +#define sk_OPENSSL_STRING_num(st) SKM_sk_num(OPENSSL_STRING, st) +#define sk_OPENSSL_STRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_FREE_FUNC2(OPENSSL_STRING, free_func)) +#define sk_OPENSSL_STRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val), i) +#define sk_OPENSSL_STRING_free(st) SKM_sk_free(OPENSSL_STRING, st) +#define sk_OPENSSL_STRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_STRING, st), i, CHECKED_PTR_OF(char, val)) +#define sk_OPENSSL_STRING_zero(st) SKM_sk_zero(OPENSSL_STRING, (st)) +#define sk_OPENSSL_STRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +#define sk_OPENSSL_STRING_delete(st, i) SKM_sk_delete(OPENSSL_STRING, (st), (i)) +#define sk_OPENSSL_STRING_delete_ptr(st, ptr) (OPENSSL_STRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, ptr)) +#define sk_OPENSSL_STRING_set_cmp_func(st, cmp) \ + ((int (*)(const char * const *,const char * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_CMP_FUNC(char, cmp))) +#define sk_OPENSSL_STRING_dup(st) SKM_sk_dup(OPENSSL_STRING, st) +#define sk_OPENSSL_STRING_shift(st) SKM_sk_shift(OPENSSL_STRING, (st)) +#define sk_OPENSSL_STRING_pop(st) (char *)sk_pop(CHECKED_STACK_OF(OPENSSL_STRING, st)) +#define sk_OPENSSL_STRING_sort(st) SKM_sk_sort(OPENSSL_STRING, (st)) +#define sk_OPENSSL_STRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_STRING, (st)) + +#define sk_OPENSSL_PSTRING_new(cmp) ((STACK_OF(OPENSSL_PSTRING) *)sk_new(CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) +#define sk_OPENSSL_PSTRING_new_null() ((STACK_OF(OPENSSL_PSTRING) *)sk_new_null()) +#define sk_OPENSSL_PSTRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +#define sk_OPENSSL_PSTRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +#define sk_OPENSSL_PSTRING_value(st, i) ((OPENSSL_PSTRING)sk_value(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i)) +#define sk_OPENSSL_PSTRING_num(st) SKM_sk_num(OPENSSL_PSTRING, st) +#define sk_OPENSSL_PSTRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_FREE_FUNC2(OPENSSL_PSTRING, free_func)) +#define sk_OPENSSL_PSTRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val), i) +#define sk_OPENSSL_PSTRING_free(st) SKM_sk_free(OPENSSL_PSTRING, st) +#define sk_OPENSSL_PSTRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i, CHECKED_PTR_OF(OPENSSL_STRING, val)) +#define sk_OPENSSL_PSTRING_zero(st) SKM_sk_zero(OPENSSL_PSTRING, (st)) +#define sk_OPENSSL_PSTRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +#define sk_OPENSSL_PSTRING_delete(st, i) SKM_sk_delete(OPENSSL_PSTRING, (st), (i)) +#define sk_OPENSSL_PSTRING_delete_ptr(st, ptr) (OPENSSL_PSTRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, ptr)) +#define sk_OPENSSL_PSTRING_set_cmp_func(st, cmp) \ + ((int (*)(const OPENSSL_STRING * const *,const OPENSSL_STRING * const *)) \ + sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) +#define sk_OPENSSL_PSTRING_dup(st) SKM_sk_dup(OPENSSL_PSTRING, st) +#define sk_OPENSSL_PSTRING_shift(st) SKM_sk_shift(OPENSSL_PSTRING, (st)) +#define sk_OPENSSL_PSTRING_pop(st) (OPENSSL_STRING *)sk_pop(CHECKED_STACK_OF(OPENSSL_PSTRING, st)) +#define sk_OPENSSL_PSTRING_sort(st) SKM_sk_sort(OPENSSL_PSTRING, (st)) +#define sk_OPENSSL_PSTRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_PSTRING, (st)) + +#define lh_ADDED_OBJ_new() LHM_lh_new(ADDED_OBJ,added_obj) +#define lh_ADDED_OBJ_insert(lh,inst) LHM_lh_insert(ADDED_OBJ,lh,inst) +#define lh_ADDED_OBJ_retrieve(lh,inst) LHM_lh_retrieve(ADDED_OBJ,lh,inst) +#define lh_ADDED_OBJ_delete(lh,inst) LHM_lh_delete(ADDED_OBJ,lh,inst) +#define lh_ADDED_OBJ_doall(lh,fn) LHM_lh_doall(ADDED_OBJ,lh,fn) +#define lh_ADDED_OBJ_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ADDED_OBJ,lh,fn,arg_type,arg) +#define lh_ADDED_OBJ_error(lh) LHM_lh_error(ADDED_OBJ,lh) +#define lh_ADDED_OBJ_num_items(lh) LHM_lh_num_items(ADDED_OBJ,lh) +#define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) + +#define lh_CONF_VALUE_new() LHM_lh_new(CONF_VALUE,conf_value) +#define lh_CONF_VALUE_insert(lh,inst) LHM_lh_insert(CONF_VALUE,lh,inst) +#define lh_CONF_VALUE_retrieve(lh,inst) LHM_lh_retrieve(CONF_VALUE,lh,inst) +#define lh_CONF_VALUE_delete(lh,inst) LHM_lh_delete(CONF_VALUE,lh,inst) +#define lh_CONF_VALUE_doall(lh,fn) LHM_lh_doall(CONF_VALUE,lh,fn) +#define lh_CONF_VALUE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(CONF_VALUE,lh,fn,arg_type,arg) +#define lh_CONF_VALUE_error(lh) LHM_lh_error(CONF_VALUE,lh) +#define lh_CONF_VALUE_num_items(lh) LHM_lh_num_items(CONF_VALUE,lh) +#define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) + +#define lh_ERR_STATE_new() LHM_lh_new(ERR_STATE,err_state) +#define lh_ERR_STATE_insert(lh,inst) LHM_lh_insert(ERR_STATE,lh,inst) +#define lh_ERR_STATE_retrieve(lh,inst) LHM_lh_retrieve(ERR_STATE,lh,inst) +#define lh_ERR_STATE_delete(lh,inst) LHM_lh_delete(ERR_STATE,lh,inst) +#define lh_ERR_STATE_doall(lh,fn) LHM_lh_doall(ERR_STATE,lh,fn) +#define lh_ERR_STATE_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ERR_STATE,lh,fn,arg_type,arg) +#define lh_ERR_STATE_error(lh) LHM_lh_error(ERR_STATE,lh) +#define lh_ERR_STATE_num_items(lh) LHM_lh_num_items(ERR_STATE,lh) +#define lh_ERR_STATE_free(lh) LHM_lh_free(ERR_STATE,lh) + +#define lh_ERR_STRING_DATA_new() LHM_lh_new(ERR_STRING_DATA,err_string_data) +#define lh_ERR_STRING_DATA_insert(lh,inst) LHM_lh_insert(ERR_STRING_DATA,lh,inst) +#define lh_ERR_STRING_DATA_retrieve(lh,inst) LHM_lh_retrieve(ERR_STRING_DATA,lh,inst) +#define lh_ERR_STRING_DATA_delete(lh,inst) LHM_lh_delete(ERR_STRING_DATA,lh,inst) +#define lh_ERR_STRING_DATA_doall(lh,fn) LHM_lh_doall(ERR_STRING_DATA,lh,fn) +#define lh_ERR_STRING_DATA_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(ERR_STRING_DATA,lh,fn,arg_type,arg) +#define lh_ERR_STRING_DATA_error(lh) LHM_lh_error(ERR_STRING_DATA,lh) +#define lh_ERR_STRING_DATA_num_items(lh) LHM_lh_num_items(ERR_STRING_DATA,lh) +#define lh_ERR_STRING_DATA_free(lh) LHM_lh_free(ERR_STRING_DATA,lh) + +#define lh_EX_CLASS_ITEM_new() LHM_lh_new(EX_CLASS_ITEM,ex_class_item) +#define lh_EX_CLASS_ITEM_insert(lh,inst) LHM_lh_insert(EX_CLASS_ITEM,lh,inst) +#define lh_EX_CLASS_ITEM_retrieve(lh,inst) LHM_lh_retrieve(EX_CLASS_ITEM,lh,inst) +#define lh_EX_CLASS_ITEM_delete(lh,inst) LHM_lh_delete(EX_CLASS_ITEM,lh,inst) +#define lh_EX_CLASS_ITEM_doall(lh,fn) LHM_lh_doall(EX_CLASS_ITEM,lh,fn) +#define lh_EX_CLASS_ITEM_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(EX_CLASS_ITEM,lh,fn,arg_type,arg) +#define lh_EX_CLASS_ITEM_error(lh) LHM_lh_error(EX_CLASS_ITEM,lh) +#define lh_EX_CLASS_ITEM_num_items(lh) LHM_lh_num_items(EX_CLASS_ITEM,lh) +#define lh_EX_CLASS_ITEM_free(lh) LHM_lh_free(EX_CLASS_ITEM,lh) + +#define lh_FUNCTION_new() LHM_lh_new(FUNCTION,function) +#define lh_FUNCTION_insert(lh,inst) LHM_lh_insert(FUNCTION,lh,inst) +#define lh_FUNCTION_retrieve(lh,inst) LHM_lh_retrieve(FUNCTION,lh,inst) +#define lh_FUNCTION_delete(lh,inst) LHM_lh_delete(FUNCTION,lh,inst) +#define lh_FUNCTION_doall(lh,fn) LHM_lh_doall(FUNCTION,lh,fn) +#define lh_FUNCTION_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(FUNCTION,lh,fn,arg_type,arg) +#define lh_FUNCTION_error(lh) LHM_lh_error(FUNCTION,lh) +#define lh_FUNCTION_num_items(lh) LHM_lh_num_items(FUNCTION,lh) +#define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) + +#define lh_OBJ_NAME_new() LHM_lh_new(OBJ_NAME,obj_name) +#define lh_OBJ_NAME_insert(lh,inst) LHM_lh_insert(OBJ_NAME,lh,inst) +#define lh_OBJ_NAME_retrieve(lh,inst) LHM_lh_retrieve(OBJ_NAME,lh,inst) +#define lh_OBJ_NAME_delete(lh,inst) LHM_lh_delete(OBJ_NAME,lh,inst) +#define lh_OBJ_NAME_doall(lh,fn) LHM_lh_doall(OBJ_NAME,lh,fn) +#define lh_OBJ_NAME_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OBJ_NAME,lh,fn,arg_type,arg) +#define lh_OBJ_NAME_error(lh) LHM_lh_error(OBJ_NAME,lh) +#define lh_OBJ_NAME_num_items(lh) LHM_lh_num_items(OBJ_NAME,lh) +#define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) + +#define lh_OPENSSL_STRING_new() LHM_lh_new(OPENSSL_STRING,openssl_string) +#define lh_OPENSSL_STRING_insert(lh,inst) LHM_lh_insert(OPENSSL_STRING,lh,inst) +#define lh_OPENSSL_STRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_STRING,lh,inst) +#define lh_OPENSSL_STRING_delete(lh,inst) LHM_lh_delete(OPENSSL_STRING,lh,inst) +#define lh_OPENSSL_STRING_doall(lh,fn) LHM_lh_doall(OPENSSL_STRING,lh,fn) +#define lh_OPENSSL_STRING_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(OPENSSL_STRING,lh,fn,arg_type,arg) +#define lh_OPENSSL_STRING_error(lh) LHM_lh_error(OPENSSL_STRING,lh) +#define lh_OPENSSL_STRING_num_items(lh) LHM_lh_num_items(OPENSSL_STRING,lh) +#define lh_OPENSSL_STRING_free(lh) LHM_lh_free(OPENSSL_STRING,lh) + +#define lh_SSL_SESSION_new() LHM_lh_new(SSL_SESSION,ssl_session) +#define lh_SSL_SESSION_insert(lh,inst) LHM_lh_insert(SSL_SESSION,lh,inst) +#define lh_SSL_SESSION_retrieve(lh,inst) LHM_lh_retrieve(SSL_SESSION,lh,inst) +#define lh_SSL_SESSION_delete(lh,inst) LHM_lh_delete(SSL_SESSION,lh,inst) +#define lh_SSL_SESSION_doall(lh,fn) LHM_lh_doall(SSL_SESSION,lh,fn) +#define lh_SSL_SESSION_doall_arg(lh,fn,arg_type,arg) \ + LHM_lh_doall_arg(SSL_SESSION,lh,fn,arg_type,arg) +#define lh_SSL_SESSION_error(lh) LHM_lh_error(SSL_SESSION,lh) +#define lh_SSL_SESSION_num_items(lh) LHM_lh_num_items(SSL_SESSION,lh) +#define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) + +#endif /* !defined HEADER_SAFESTACK_H */ diff --git a/curl/include/openssl/sha.h b/curl/include/openssl/sha.h new file mode 100644 index 0000000..ec97f48 --- /dev/null +++ b/curl/include/openssl/sha.h @@ -0,0 +1,190 @@ +/* $OpenBSD: sha.h,v 1.26 2025/01/25 17:59:44 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#include + +#ifndef HEADER_SHA_H +#define HEADER_SHA_H +#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__OpenBSD__) +#define __bounded__(x, y, z) +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! SHA_LONG has to be at least 32 bits wide. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +#define SHA_LONG unsigned int + +#define SHA_LBLOCK 16 +#define SHA_CBLOCK (SHA_LBLOCK*4) /* SHA treats input data as a + * contiguous array of 32 bit + * wide big-endian values. */ +#define SHA_LAST_BLOCK (SHA_CBLOCK-8) +#define SHA_DIGEST_LENGTH 20 + +typedef struct SHAstate_st { + SHA_LONG h0, h1, h2, h3, h4; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num; +} SHA_CTX; + +#ifndef OPENSSL_NO_SHA1 +int SHA1_Init(SHA_CTX *c); +int SHA1_Update(SHA_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int SHA1_Final(unsigned char *md, SHA_CTX *c); +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +void SHA1_Transform(SHA_CTX *c, const unsigned char *data); +#endif + +#define SHA256_CBLOCK (SHA_LBLOCK*4) /* SHA-256 treats input data as a + * contiguous array of 32 bit + * wide big-endian values. */ +#define SHA224_DIGEST_LENGTH 28 +#define SHA256_DIGEST_LENGTH 32 + +typedef struct SHA256state_st { + SHA_LONG h[8]; + SHA_LONG Nl, Nh; + SHA_LONG data[SHA_LBLOCK]; + unsigned int num, md_len; +} SHA256_CTX; + +#ifndef OPENSSL_NO_SHA256 +int SHA224_Init(SHA256_CTX *c); +int SHA224_Update(SHA256_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int SHA224_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +int SHA256_Init(SHA256_CTX *c); +int SHA256_Update(SHA256_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int SHA256_Final(unsigned char *md, SHA256_CTX *c); +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); +#endif + +#define SHA384_DIGEST_LENGTH 48 +#define SHA512_DIGEST_LENGTH 64 + +#ifndef OPENSSL_NO_SHA512 +/* + * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 + * being exactly 64-bit wide. See Implementation Notes in sha512.c + * for further details. + */ +#define SHA512_CBLOCK (SHA_LBLOCK*8) /* SHA-512 treats input data as a + * contiguous array of 64 bit + * wide big-endian values. */ +#if defined(_LP64) +#define SHA_LONG64 unsigned long +#define U64(C) C##UL +#else +#define SHA_LONG64 unsigned long long +#define U64(C) C##ULL +#endif + +typedef struct SHA512state_st { + SHA_LONG64 h[8]; + SHA_LONG64 Nl, Nh; + union { + SHA_LONG64 d[SHA_LBLOCK]; + unsigned char p[SHA512_CBLOCK]; + } u; + unsigned int num, md_len; +} SHA512_CTX; +#endif + +#ifndef OPENSSL_NO_SHA512 +int SHA384_Init(SHA512_CTX *c); +int SHA384_Update(SHA512_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int SHA384_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +int SHA512_Init(SHA512_CTX *c); +int SHA512_Update(SHA512_CTX *c, const void *data, size_t len) + __attribute__ ((__bounded__(__buffer__, 2, 3))); +int SHA512_Final(unsigned char *md, SHA512_CTX *c); +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md) + __attribute__ ((__bounded__(__buffer__, 1, 2))) + __attribute__ ((__nonnull__(3))); +void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/sm3.h b/curl/include/openssl/sm3.h new file mode 100644 index 0000000..fa435d3 --- /dev/null +++ b/curl/include/openssl/sm3.h @@ -0,0 +1,49 @@ +/* $OpenBSD: sm3.h,v 1.2 2025/01/25 17:59:44 tb Exp $ */ +/* + * Copyright (c) 2018, Ribose Inc + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef HEADER_SM3_H +#define HEADER_SM3_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define SM3_DIGEST_LENGTH 32 +#define SM3_WORD unsigned int + +#define SM3_CBLOCK 64 +#define SM3_LBLOCK (SM3_CBLOCK / 4) + +typedef struct SM3state_st { + SM3_WORD A, B, C, D, E, F, G, H; + SM3_WORD Nl, Nh; + SM3_WORD data[SM3_LBLOCK]; + unsigned int num; +} SM3_CTX; + +int SM3_Init(SM3_CTX *c); +int SM3_Update(SM3_CTX *c, const void *data, size_t len); +int SM3_Final(unsigned char *md, SM3_CTX *c); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_SM3_H */ diff --git a/curl/include/openssl/sm4.h b/curl/include/openssl/sm4.h new file mode 100644 index 0000000..0c7fc22 --- /dev/null +++ b/curl/include/openssl/sm4.h @@ -0,0 +1,47 @@ +/* $OpenBSD: sm4.h,v 1.2 2025/01/25 17:59:44 tb Exp $ */ +/* + * Copyright (c) 2017, 2019 Ribose Inc + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef HEADER_SM4_H +#define HEADER_SM4_H + +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define SM4_DECRYPT 0 +#define SM4_ENCRYPT 1 + +#define SM4_BLOCK_SIZE 16 +#define SM4_KEY_SCHEDULE 32 + +typedef struct sm4_key_st { + unsigned char opaque[128]; +} SM4_KEY; + +int SM4_set_key(const uint8_t *key, SM4_KEY *ks); +void SM4_decrypt(const uint8_t *in, uint8_t *out, const SM4_KEY *ks); +void SM4_encrypt(const uint8_t *in, uint8_t *out, const SM4_KEY *ks); + +#ifdef __cplusplus +} +#endif + +#endif /* HEADER_SM4_H */ diff --git a/curl/include/openssl/srtp.h b/curl/include/openssl/srtp.h new file mode 100644 index 0000000..686e9d9 --- /dev/null +++ b/curl/include/openssl/srtp.h @@ -0,0 +1,148 @@ +/* $OpenBSD: srtp.h,v 1.8 2025/03/13 10:26:41 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* + * DTLS code by Eric Rescorla + * + * Copyright (C) 2006, Network Resonance, Inc. + * Copyright (C) 2011, RTFM, Inc. + */ + +#ifndef HEADER_D1_SRTP_H +#define HEADER_D1_SRTP_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define SRTP_AES128_CM_SHA1_80 0x0001 +#define SRTP_AES128_CM_SHA1_32 0x0002 +#define SRTP_AES128_F8_SHA1_80 0x0003 +#define SRTP_AES128_F8_SHA1_32 0x0004 +#define SRTP_NULL_SHA1_80 0x0005 +#define SRTP_NULL_SHA1_32 0x0006 + +/* AEAD SRTP protection profiles from RFC 7714 */ +#define SRTP_AEAD_AES_128_GCM 0x0007 +#define SRTP_AEAD_AES_256_GCM 0x0008 + +int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); +int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles); + +STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); +SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/ssl.h b/curl/include/openssl/ssl.h new file mode 100644 index 0000000..a1ed22b --- /dev/null +++ b/curl/include/openssl/ssl.h @@ -0,0 +1,2343 @@ +/* $OpenBSD: ssl.h,v 1.247 2025/03/12 14:03:55 jsing Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_SSL_H +#define HEADER_SSL_H + +#include + +#include + +#include +#include +#include + +#include + +#ifndef OPENSSL_NO_DEPRECATED +#include +#include +#include + +#ifndef OPENSSL_NO_X509 +#include +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* SSLeay version number for ASN.1 encoding of the session information */ +/* Version 0 - initial version + * Version 1 - added the optional peer certificate + */ +#define SSL_SESSION_ASN1_VERSION 0x0001 + +/* text strings for the ciphers */ +#define SSL_TXT_NULL_WITH_MD5 SSL2_TXT_NULL_WITH_MD5 +#define SSL_TXT_RC4_128_WITH_MD5 SSL2_TXT_RC4_128_WITH_MD5 +#define SSL_TXT_RC4_128_EXPORT40_WITH_MD5 SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 +#define SSL_TXT_RC2_128_CBC_WITH_MD5 SSL2_TXT_RC2_128_CBC_WITH_MD5 +#define SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 +#define SSL_TXT_IDEA_128_CBC_WITH_MD5 SSL2_TXT_IDEA_128_CBC_WITH_MD5 +#define SSL_TXT_DES_64_CBC_WITH_MD5 SSL2_TXT_DES_64_CBC_WITH_MD5 +#define SSL_TXT_DES_64_CBC_WITH_SHA SSL2_TXT_DES_64_CBC_WITH_SHA +#define SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 +#define SSL_TXT_DES_192_EDE3_CBC_WITH_SHA SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA + +/* VRS Additional Kerberos5 entries + */ +#define SSL_TXT_KRB5_RC4_128_SHA SSL3_TXT_KRB5_RC4_128_SHA +#define SSL_TXT_KRB5_IDEA_128_CBC_SHA SSL3_TXT_KRB5_IDEA_128_CBC_SHA +#define SSL_TXT_KRB5_RC4_128_MD5 SSL3_TXT_KRB5_RC4_128_MD5 +#define SSL_TXT_KRB5_IDEA_128_CBC_MD5 SSL3_TXT_KRB5_IDEA_128_CBC_MD5 + +#define SSL_TXT_KRB5_RC2_40_CBC_SHA SSL3_TXT_KRB5_RC2_40_CBC_SHA +#define SSL_TXT_KRB5_RC4_40_SHA SSL3_TXT_KRB5_RC4_40_SHA +#define SSL_TXT_KRB5_RC2_40_CBC_MD5 SSL3_TXT_KRB5_RC2_40_CBC_MD5 +#define SSL_TXT_KRB5_RC4_40_MD5 SSL3_TXT_KRB5_RC4_40_MD5 + +#define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA +#define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 +#define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA +#define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 +#define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA +#define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 +#define SSL_MAX_KRB5_PRINCIPAL_LENGTH 256 + +#define SSL_MAX_SSL_SESSION_ID_LENGTH 32 +#define SSL_MAX_SID_CTX_LENGTH 32 + +#define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) +#define SSL_MAX_KEY_ARG_LENGTH 8 +#define SSL_MAX_MASTER_KEY_LENGTH 48 + + +/* These are used to specify which ciphers to use and not to use */ + +#define SSL_TXT_LOW "LOW" +#define SSL_TXT_MEDIUM "MEDIUM" +#define SSL_TXT_HIGH "HIGH" + +#define SSL_TXT_kFZA "kFZA" /* unused! */ +#define SSL_TXT_aFZA "aFZA" /* unused! */ +#define SSL_TXT_eFZA "eFZA" /* unused! */ +#define SSL_TXT_FZA "FZA" /* unused! */ + +#define SSL_TXT_aNULL "aNULL" +#define SSL_TXT_eNULL "eNULL" +#define SSL_TXT_NULL "NULL" + +#define SSL_TXT_kRSA "kRSA" +#define SSL_TXT_kDHr "kDHr" /* no such ciphersuites supported! */ +#define SSL_TXT_kDHd "kDHd" /* no such ciphersuites supported! */ +#define SSL_TXT_kDH "kDH" /* no such ciphersuites supported! */ +#define SSL_TXT_kEDH "kEDH" +#define SSL_TXT_kKRB5 "kKRB5" +#define SSL_TXT_kECDHr "kECDHr" +#define SSL_TXT_kECDHe "kECDHe" +#define SSL_TXT_kECDH "kECDH" +#define SSL_TXT_kEECDH "kEECDH" +#define SSL_TXT_kPSK "kPSK" +#define SSL_TXT_kSRP "kSRP" + +#define SSL_TXT_aRSA "aRSA" +#define SSL_TXT_aDSS "aDSS" +#define SSL_TXT_aDH "aDH" /* no such ciphersuites supported! */ +#define SSL_TXT_aECDH "aECDH" +#define SSL_TXT_aKRB5 "aKRB5" +#define SSL_TXT_aECDSA "aECDSA" +#define SSL_TXT_aPSK "aPSK" + +#define SSL_TXT_DSS "DSS" +#define SSL_TXT_DH "DH" +#define SSL_TXT_DHE "DHE" /* same as "kDHE:-ADH" */ +#define SSL_TXT_EDH "EDH" /* previous name for DHE */ +#define SSL_TXT_ADH "ADH" +#define SSL_TXT_RSA "RSA" +#define SSL_TXT_ECDH "ECDH" +#define SSL_TXT_ECDHE "ECDHE" /* same as "kECDHE:-AECDH" */ +#define SSL_TXT_EECDH "EECDH" /* previous name for ECDHE */ +#define SSL_TXT_AECDH "AECDH" +#define SSL_TXT_ECDSA "ECDSA" +#define SSL_TXT_KRB5 "KRB5" +#define SSL_TXT_PSK "PSK" +#define SSL_TXT_SRP "SRP" + +#define SSL_TXT_DES "DES" +#define SSL_TXT_3DES "3DES" +#define SSL_TXT_RC4 "RC4" +#define SSL_TXT_RC2 "RC2" +#define SSL_TXT_IDEA "IDEA" +#define SSL_TXT_SEED "SEED" +#define SSL_TXT_AES128 "AES128" +#define SSL_TXT_AES256 "AES256" +#define SSL_TXT_AES "AES" +#define SSL_TXT_AES_GCM "AESGCM" +#define SSL_TXT_CAMELLIA128 "CAMELLIA128" +#define SSL_TXT_CAMELLIA256 "CAMELLIA256" +#define SSL_TXT_CAMELLIA "CAMELLIA" +#define SSL_TXT_CHACHA20 "CHACHA20" + +#define SSL_TXT_AEAD "AEAD" +#define SSL_TXT_MD5 "MD5" +#define SSL_TXT_SHA1 "SHA1" +#define SSL_TXT_SHA "SHA" /* same as "SHA1" */ +#define SSL_TXT_SHA256 "SHA256" +#define SSL_TXT_SHA384 "SHA384" + +#define SSL_TXT_DTLS1 "DTLSv1" +#define SSL_TXT_DTLS1_2 "DTLSv1.2" +#define SSL_TXT_SSLV2 "SSLv2" +#define SSL_TXT_SSLV3 "SSLv3" +#define SSL_TXT_TLSV1 "TLSv1" +#define SSL_TXT_TLSV1_1 "TLSv1.1" +#define SSL_TXT_TLSV1_2 "TLSv1.2" +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define SSL_TXT_TLSV1_3 "TLSv1.3" +#endif + +#define SSL_TXT_EXP "EXP" +#define SSL_TXT_EXPORT "EXPORT" + +#define SSL_TXT_ALL "ALL" + +/* + * COMPLEMENTOF* definitions. These identifiers are used to (de-select) + * ciphers normally not being used. + * Example: "RC4" will activate all ciphers using RC4 including ciphers + * without authentication, which would normally disabled by DEFAULT (due + * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" + * will make sure that it is also disabled in the specific selection. + * COMPLEMENTOF* identifiers are portable between version, as adjustments + * to the default cipher setup will also be included here. + * + * COMPLEMENTOFDEFAULT does not experience the same special treatment that + * DEFAULT gets, as only selection is being done and no sorting as needed + * for DEFAULT. + */ +#define SSL_TXT_CMPALL "COMPLEMENTOFALL" +#define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" + +/* The following cipher list is used by default. + * It also is substituted when an application-defined cipher list string + * starts with 'DEFAULT'. */ +#define SSL_DEFAULT_CIPHER_LIST "ALL:!aNULL:!eNULL:!SSLv2" +/* As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always + * starts with a reasonable order, and all we have to do for DEFAULT is + * throwing out anonymous and unencrypted ciphersuites! + * (The latter are not actually enabled by ALL, but "ALL:RSA" would enable + * some of them.) + */ + +/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ +#define SSL_SENT_SHUTDOWN 1 +#define SSL_RECEIVED_SHUTDOWN 2 + + +#define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 +#define SSL_FILETYPE_PEM X509_FILETYPE_PEM + +/* This is needed to stop compilers complaining about the + * 'struct ssl_st *' function parameters used to prototype callbacks + * in SSL_CTX. */ +typedef struct ssl_st *ssl_crock_st; + +typedef struct ssl_method_st SSL_METHOD; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct ssl_session_st SSL_SESSION; + +#if defined(LIBRESSL_HAS_QUIC) || defined(LIBRESSL_INTERNAL) +typedef struct ssl_quic_method_st SSL_QUIC_METHOD; +#endif + +DECLARE_STACK_OF(SSL_CIPHER) + +/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ +typedef struct srtp_protection_profile_st { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; + +DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE) + +typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, + int len, void *arg); +typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, + STACK_OF(SSL_CIPHER) *peer_ciphers, const SSL_CIPHER **cipher, void *arg); + +/* Allow initial connection to servers that don't support RI */ +#define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L + +/* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added + * in OpenSSL 0.9.6d. Usually (depending on the application protocol) + * the workaround is not needed. + * Unfortunately some broken SSL/TLS implementations cannot handle it + * at all, which is why it was previously included in SSL_OP_ALL. + * Now it's not. + */ +#define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L + +/* DTLS options */ +#define SSL_OP_NO_QUERY_MTU 0x00001000L +/* Turn on Cookie Exchange (on relevant for servers) */ +#define SSL_OP_COOKIE_EXCHANGE 0x00002000L +/* Don't use RFC4507 ticket extension */ +#define SSL_OP_NO_TICKET 0x00004000L + +/* As server, disallow session resumption on renegotiation */ +#define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L +/* Disallow client initiated renegotiation. */ +#define SSL_OP_NO_CLIENT_RENEGOTIATION 0x00020000L +/* Disallow client and server initiated renegotiation. */ +#define SSL_OP_NO_RENEGOTIATION 0x00040000L +/* Allow client initiated renegotiation. */ +#define SSL_OP_ALLOW_CLIENT_RENEGOTIATION 0x00080000L +/* If set, always create a new key when using tmp_dh parameters */ +#define SSL_OP_SINGLE_DH_USE 0x00100000L +/* Set on servers to choose the cipher according to the server's + * preferences */ +#define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L + +#define SSL_OP_NO_TLSv1 0x04000000L +#define SSL_OP_NO_TLSv1_2 0x08000000L +#define SSL_OP_NO_TLSv1_1 0x10000000L + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define SSL_OP_NO_TLSv1_3 0x20000000L +#endif + +#define SSL_OP_NO_DTLSv1 0x40000000L +#define SSL_OP_NO_DTLSv1_2 0x80000000L + +/* SSL_OP_ALL: various bug workarounds that should be rather harmless. */ +#define SSL_OP_ALL \ + (SSL_OP_LEGACY_SERVER_CONNECT) + +/* Obsolete flags kept for compatibility. No sane code should use them. */ +#define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x0 +#define SSL_OP_CISCO_ANYCONNECT 0x0 +#define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x0 +#define SSL_OP_EPHEMERAL_RSA 0x0 +#define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x0 +#define SSL_OP_MICROSOFT_SESS_ID_BUG 0x0 +#define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 +#define SSL_OP_NETSCAPE_CA_DN_BUG 0x0 +#define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x0 +#define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x0 +#define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x0 +#define SSL_OP_NO_COMPRESSION 0x0 +#define SSL_OP_NO_SSLv2 0x0 +#define SSL_OP_NO_SSLv3 0x0 +#define SSL_OP_PKCS1_CHECK_1 0x0 +#define SSL_OP_PKCS1_CHECK_2 0x0 +#define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x0 +#define SSL_OP_SINGLE_ECDH_USE 0x0 +#define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0 +#define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 +#define SSL_OP_TLSEXT_PADDING 0x0 +#define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0 +#define SSL_OP_TLS_D5_BUG 0x0 +#define SSL_OP_TLS_ROLLBACK_BUG 0x0 + +/* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success + * when just a single record has been written): */ +#define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001L +/* Make it possible to retry SSL_write() with changed buffer location + * (buffer contents must stay the same!); this is not the default to avoid + * the misconception that non-blocking SSL_write() behaves like + * non-blocking write(): */ +#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002L +/* Never bother the application with retries if the transport + * is blocking: */ +#define SSL_MODE_AUTO_RETRY 0x00000004L +/* Don't attempt to automatically build certificate chain */ +#define SSL_MODE_NO_AUTO_CHAIN 0x00000008L +/* Save RAM by releasing read and write buffers when they're empty. (SSL3 and + * TLS only.) "Released" buffers are put onto a free-list in the context + * or just freed (depending on the context's setting for freelist_max_len). */ +#define SSL_MODE_RELEASE_BUFFERS 0x00000010L + +/* Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, + * they cannot be used to clear bits. */ + +#define SSL_CTX_set_options(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) +#define SSL_CTX_clear_options(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) +#define SSL_CTX_get_options(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL) +#define SSL_set_options(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) +#define SSL_clear_options(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) +#define SSL_get_options(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_OPTIONS,0,NULL) + +#define SSL_CTX_set_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +#define SSL_CTX_clear_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) +#define SSL_CTX_get_mode(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +#define SSL_clear_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) +#define SSL_set_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +#define SSL_get_mode(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) +#define SSL_set_mtu(ssl, mtu) \ + SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) + +#define SSL_get_secure_renegotiation_support(ssl) \ + SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) + +void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, + int version, int content_type, const void *buf, size_t len, SSL *ssl, + void *arg)); +void SSL_set_msg_callback(SSL *ssl, void (*cb)(int write_p, int version, + int content_type, const void *buf, size_t len, SSL *ssl, void *arg)); +#define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +#define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line); +void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb); +SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx); +int SSL_set_num_tickets(SSL *s, size_t num_tickets); +size_t SSL_get_num_tickets(const SSL *s); +int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets); +size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx); +STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s); + +#define SSL_MAX_CERT_LIST_DEFAULT 1024*100 /* 100k max cert list :-) */ + +#define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) + +/* This callback type is used inside SSL_CTX, SSL, and in the functions that set + * them. It is used to override the generation of SSL/TLS session IDs in a + * server. Return value should be zero on an error, non-zero to proceed. Also, + * callbacks should themselves check if the id they generate is unique otherwise + * the SSL handshake will fail with an error - callbacks can do this using the + * 'ssl' value they're passed by; + * SSL_has_matching_session_id(ssl, id, *id_len) + * The length value passed in is set at the maximum size the session ID can be. + * In SSLv2 this is 16 bytes, whereas SSLv3/TLSv1 it is 32 bytes. The callback + * can alter this length to be less if desired, but under SSLv2 session IDs are + * supposed to be fixed at 16 bytes so the id will be padded after the callback + * returns in this case. It is also an error for the callback to set the size to + * zero. */ +typedef int (*GEN_SESSION_CB)(const SSL *ssl, unsigned char *id, + unsigned int *id_len); + +typedef struct ssl_comp_st SSL_COMP; + +#ifdef LIBRESSL_INTERNAL +DECLARE_STACK_OF(SSL_COMP) +struct lhash_st_SSL_SESSION { + int dummy; +}; +#endif + +#define SSL_SESS_CACHE_OFF 0x0000 +#define SSL_SESS_CACHE_CLIENT 0x0001 +#define SSL_SESS_CACHE_SERVER 0x0002 +#define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) +#define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 +/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ +#define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 +#define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 +#define SSL_SESS_CACHE_NO_INTERNAL \ + (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) + +struct lhash_st_SSL_SESSION *SSL_CTX_sessions(SSL_CTX *ctx); +#define SSL_CTX_sess_number(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +#define SSL_CTX_sess_connect(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) +#define SSL_CTX_sess_connect_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) +#define SSL_CTX_sess_connect_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) +#define SSL_CTX_sess_accept(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) +#define SSL_CTX_sess_accept_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) +#define SSL_CTX_sess_accept_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) +#define SSL_CTX_sess_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) +#define SSL_CTX_sess_cb_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) +#define SSL_CTX_sess_misses(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) +#define SSL_CTX_sess_timeouts(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) +#define SSL_CTX_sess_cache_full(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) + +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, + int (*new_session_cb)(struct ssl_st *ssl, SSL_SESSION *sess)); +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct ssl_st *ssl, + SSL_SESSION *sess); +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, + void (*remove_session_cb)(struct ssl_ctx_st *ctx, SSL_SESSION *sess)); +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct ssl_ctx_st *ctx, + SSL_SESSION *sess); +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, + SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, + const unsigned char *data, int len, int *copy)); +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(struct ssl_st *ssl, + const unsigned char *data, int len, int *copy); +void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(const SSL *ssl, + int type, int val)); +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl, int type, + int val); +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, + int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey)); +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509, + EVP_PKEY **pkey); +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, + unsigned int *cookie_len)); +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb)(SSL *ssl, const unsigned char *cookie, + unsigned int cookie_len)); +void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, int (*cb)(SSL *ssl, + const unsigned char **out, unsigned int *outlen, void *arg), void *arg); +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, int (*cb)(SSL *ssl, + unsigned char **out, unsigned char *outlen, const unsigned char *in, + unsigned int inlen, void *arg), void *arg); + +int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, const unsigned char *client, + unsigned int client_len); +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned int *len); + +#define OPENSSL_NPN_UNSUPPORTED 0 +#define OPENSSL_NPN_NEGOTIATED 1 +#define OPENSSL_NPN_NO_OVERLAP 2 + +int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, + unsigned int protos_len); +int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, + unsigned int protos_len); +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + int (*cb)(SSL *ssl, const unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, void *arg), void *arg); +void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, + unsigned int *len); + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md, + const unsigned char **id, size_t *idlen, SSL_SESSION **sess); +void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb); +#endif + +#define SSL_NOTHING 1 +#define SSL_WRITING 2 +#define SSL_READING 3 +#define SSL_X509_LOOKUP 4 + +/* These will only be used when doing non-blocking IO */ +#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_MAC_FLAG_READ_MAC_STREAM 1 +#define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 + +#ifdef __cplusplus +} +#endif + +#include +#include /* This is mostly sslv3 with a few tweaks */ +#include /* Datagram TLS */ +#include /* Support for the use_srtp extension */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* compatibility */ +#define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg)) +#define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) +#define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0,(char *)a)) +#define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) +#define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) +#define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0,(char *)arg)) + +/* The following are the possible values for ssl->state are are + * used to indicate where we are up to in the SSL connection establishment. + * The macros that follow are about the only things you should need to use + * and even then, only when using non-blocking IO. + * It can also be useful to work out where you were when the connection + * failed */ + +#define SSL_ST_CONNECT 0x1000 +#define SSL_ST_ACCEPT 0x2000 +#define SSL_ST_MASK 0x0FFF +#define SSL_ST_INIT (SSL_ST_CONNECT|SSL_ST_ACCEPT) +#define SSL_ST_BEFORE 0x4000 +#define SSL_ST_OK 0x03 +#define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) + +#define SSL_CB_LOOP 0x01 +#define SSL_CB_EXIT 0x02 +#define SSL_CB_READ 0x04 +#define SSL_CB_WRITE 0x08 +#define SSL_CB_ALERT 0x4000 /* used in callback */ +#define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) +#define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) +#define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) +#define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) +#define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) +#define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) +#define SSL_CB_HANDSHAKE_START 0x10 +#define SSL_CB_HANDSHAKE_DONE 0x20 + +/* Is the SSL_connection established? */ +#define SSL_get_state(a) (SSL_state((a))) +#define SSL_is_init_finished(a) (SSL_state((a)) == SSL_ST_OK) +#define SSL_in_init(a) (SSL_state((a))&SSL_ST_INIT) +#define SSL_in_before(a) (SSL_state((a))&SSL_ST_BEFORE) +#define SSL_in_connect_init(a) (SSL_state((a))&SSL_ST_CONNECT) +#define SSL_in_accept_init(a) (SSL_state((a))&SSL_ST_ACCEPT) + +/* The following 2 states are kept in ssl->rstate when reads fail, + * you should not need these */ +#define SSL_ST_READ_HEADER 0xF0 +#define SSL_ST_READ_BODY 0xF1 +#define SSL_ST_READ_DONE 0xF2 + +/* Obtain latest Finished message + * -- that we sent (SSL_get_finished) + * -- that we expected from peer (SSL_get_peer_finished). + * Returns length (0 == no Finished so far), copies up to 'count' bytes. */ +size_t SSL_get_finished(const SSL *s, void *buf, size_t count); +size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); + +/* use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options + * are 'ored' with SSL_VERIFY_PEER if they are desired */ +#define SSL_VERIFY_NONE 0x00 +#define SSL_VERIFY_PEER 0x01 +#define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 +#define SSL_VERIFY_CLIENT_ONCE 0x04 +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define SSL_VERIFY_POST_HANDSHAKE 0x08 + +int SSL_verify_client_post_handshake(SSL *s); +void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val); +void SSL_set_post_handshake_auth(SSL *s, int val); +#endif + +#define OpenSSL_add_ssl_algorithms() SSL_library_init() +#define SSLeay_add_ssl_algorithms() SSL_library_init() + +/* More backward compatibility */ +#define SSL_get_cipher(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +#define SSL_get_cipher_bits(s,np) \ + SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +#define SSL_get_cipher_version(s) \ + SSL_CIPHER_get_version(SSL_get_current_cipher(s)) +#define SSL_get_cipher_name(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +#define SSL_get_time(a) SSL_SESSION_get_time(a) +#define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) +#define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) +#define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) + +#define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) +#define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) + +SSL_SESSION *PEM_read_bio_SSL_SESSION(BIO *bp, SSL_SESSION **x, + pem_password_cb *cb, void *u); +SSL_SESSION *PEM_read_SSL_SESSION(FILE *fp, SSL_SESSION **x, + pem_password_cb *cb, void *u); +int PEM_write_bio_SSL_SESSION(BIO *bp, SSL_SESSION *x); +int PEM_write_SSL_SESSION(FILE *fp, SSL_SESSION *x); + +/* + * TLS Alerts. + * + * https://www.iana.org/assignments/tls-parameters/#tls-parameters-6 + */ + +/* Obsolete alerts. */ +#ifndef LIBRESSL_INTERNAL +#define SSL_AD_DECRYPTION_FAILED 21 /* Removed in TLSv1.1 */ +#define SSL_AD_NO_CERTIFICATE 41 /* Removed in TLSv1.0 */ +#define SSL_AD_EXPORT_RESTRICTION 60 /* Removed in TLSv1.1 */ +#endif + +#define SSL_AD_CLOSE_NOTIFY 0 +#define SSL_AD_UNEXPECTED_MESSAGE 10 +#define SSL_AD_BAD_RECORD_MAC 20 +#define SSL_AD_RECORD_OVERFLOW 22 +#define SSL_AD_DECOMPRESSION_FAILURE 30 /* Removed in TLSv1.3 */ +#define SSL_AD_HANDSHAKE_FAILURE 40 +#define SSL_AD_BAD_CERTIFICATE 42 +#define SSL_AD_UNSUPPORTED_CERTIFICATE 43 +#define SSL_AD_CERTIFICATE_REVOKED 44 +#define SSL_AD_CERTIFICATE_EXPIRED 45 +#define SSL_AD_CERTIFICATE_UNKNOWN 46 +#define SSL_AD_ILLEGAL_PARAMETER 47 +#define SSL_AD_UNKNOWN_CA 48 +#define SSL_AD_ACCESS_DENIED 49 +#define SSL_AD_DECODE_ERROR 50 +#define SSL_AD_DECRYPT_ERROR 51 +#define SSL_AD_PROTOCOL_VERSION 70 +#define SSL_AD_INSUFFICIENT_SECURITY 71 +#define SSL_AD_INTERNAL_ERROR 80 +#define SSL_AD_INAPPROPRIATE_FALLBACK 86 +#define SSL_AD_USER_CANCELLED 90 +#define SSL_AD_NO_RENEGOTIATION 100 /* Removed in TLSv1.3 */ +#define SSL_AD_MISSING_EXTENSION 109 /* Added in TLSv1.3. */ +#define SSL_AD_UNSUPPORTED_EXTENSION 110 +#define SSL_AD_CERTIFICATE_UNOBTAINABLE 111 /* Removed in TLSv1.3 */ +#define SSL_AD_UNRECOGNIZED_NAME 112 +#define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 +#define SSL_AD_BAD_CERTIFICATE_HASH_VALUE 114 /* Removed in TLSv1.3 */ +#define SSL_AD_UNKNOWN_PSK_IDENTITY 115 +#define SSL_AD_CERTIFICATE_REQUIRED 116 +#define SSL_AD_NO_APPLICATION_PROTOCOL 120 + +/* Offset to get an SSL_R_... value from an SSL_AD_... value. */ +#define SSL_AD_REASON_OFFSET 1000 + +#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_WANT_X509_LOOKUP 4 +#define SSL_ERROR_SYSCALL 5 +#define SSL_ERROR_ZERO_RETURN 6 +#define SSL_ERROR_WANT_CONNECT 7 +#define SSL_ERROR_WANT_ACCEPT 8 +#define SSL_ERROR_WANT_ASYNC 9 +#define SSL_ERROR_WANT_ASYNC_JOB 10 +#define SSL_ERROR_WANT_CLIENT_HELLO_CB 11 + +#define SSL_CTRL_NEED_TMP_RSA 1 +#define SSL_CTRL_SET_TMP_RSA 2 +#define SSL_CTRL_SET_TMP_DH 3 +#define SSL_CTRL_SET_TMP_ECDH 4 +#define SSL_CTRL_SET_TMP_RSA_CB 5 +#define SSL_CTRL_SET_TMP_DH_CB 6 +#define SSL_CTRL_SET_TMP_ECDH_CB 7 + +#define SSL_CTRL_GET_SESSION_REUSED 8 +#define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 +#define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 +#define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 +#define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 +#define SSL_CTRL_GET_FLAGS 13 +#define SSL_CTRL_EXTRA_CHAIN_CERT 14 + +#define SSL_CTRL_SET_MSG_CALLBACK 15 +#define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 + +/* only applies to datagram connections */ +#define SSL_CTRL_SET_MTU 17 +/* Stats */ +#define SSL_CTRL_SESS_NUMBER 20 +#define SSL_CTRL_SESS_CONNECT 21 +#define SSL_CTRL_SESS_CONNECT_GOOD 22 +#define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 +#define SSL_CTRL_SESS_ACCEPT 24 +#define SSL_CTRL_SESS_ACCEPT_GOOD 25 +#define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 +#define SSL_CTRL_SESS_HIT 27 +#define SSL_CTRL_SESS_CB_HIT 28 +#define SSL_CTRL_SESS_MISSES 29 +#define SSL_CTRL_SESS_TIMEOUTS 30 +#define SSL_CTRL_SESS_CACHE_FULL 31 +#define SSL_CTRL_OPTIONS 32 +#define SSL_CTRL_MODE 33 + +#define SSL_CTRL_GET_READ_AHEAD 40 +#define SSL_CTRL_SET_READ_AHEAD 41 +#define SSL_CTRL_SET_SESS_CACHE_SIZE 42 +#define SSL_CTRL_GET_SESS_CACHE_SIZE 43 +#define SSL_CTRL_SET_SESS_CACHE_MODE 44 +#define SSL_CTRL_GET_SESS_CACHE_MODE 45 + +#define SSL_CTRL_GET_MAX_CERT_LIST 50 +#define SSL_CTRL_SET_MAX_CERT_LIST 51 + +#define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 + +/* see tls1.h for macros based on these */ +#define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 +#define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 +#define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 +#define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 +#define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 +#define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 +#define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB 128 +#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 +#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE 127 +#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 +#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 +#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 +#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 + +#define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 + +#define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 +#define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 +#define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 + +#define SSL_CTRL_SET_SRP_ARG 78 +#define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 +#define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 +#define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 + +#define DTLS_CTRL_GET_TIMEOUT 73 +#define DTLS_CTRL_HANDLE_TIMEOUT 74 +#define DTLS_CTRL_LISTEN 75 + +#define SSL_CTRL_GET_RI_SUPPORT 76 +#define SSL_CTRL_CLEAR_OPTIONS 77 +#define SSL_CTRL_CLEAR_MODE 78 + +#define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 +#define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 + +#define SSL_CTRL_CHAIN 88 +#define SSL_CTRL_CHAIN_CERT 89 + +#define SSL_CTRL_SET_GROUPS 91 +#define SSL_CTRL_SET_GROUPS_LIST 92 +#define SSL_CTRL_GET_SHARED_GROUP 93 +#define SSL_CTRL_SET_ECDH_AUTO 94 + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 +#define SSL_CTRL_GET_PEER_TMP_KEY 109 +#define SSL_CTRL_GET_SERVER_TMP_KEY SSL_CTRL_GET_PEER_TMP_KEY +#else +#define SSL_CTRL_GET_SERVER_TMP_KEY 109 +#endif + +#define SSL_CTRL_GET_CHAIN_CERTS 115 + +#define SSL_CTRL_SET_DH_AUTO 118 + +#define SSL_CTRL_SET_MIN_PROTO_VERSION 123 +#define SSL_CTRL_SET_MAX_PROTO_VERSION 124 +#define SSL_CTRL_GET_MIN_PROTO_VERSION 130 +#define SSL_CTRL_GET_MAX_PROTO_VERSION 131 + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define SSL_CTRL_GET_SIGNATURE_NID 132 +#endif + +#define DTLSv1_get_timeout(ssl, arg) \ + SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg) +#define DTLSv1_handle_timeout(ssl) \ + SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) +#define DTLSv1_listen(ssl, peer) \ + SSL_ctrl(ssl,DTLS_CTRL_LISTEN,0, (void *)peer) + +#define SSL_session_reused(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL) +#define SSL_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) +#define SSL_clear_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) +#define SSL_total_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) + +#define SSL_CTX_need_tmp_RSA(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL) +#define SSL_CTX_set_tmp_rsa(ctx,rsa) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) +#define SSL_CTX_set_tmp_dh(ctx,dh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +#define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +#define SSL_CTX_set_dh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +#define SSL_CTX_set_ecdh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) + +#define SSL_need_tmp_RSA(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL) +#define SSL_set_tmp_rsa(ssl,rsa) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) +#define SSL_set_tmp_dh(ssl,dh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh) +#define SSL_set_tmp_ecdh(ssl,ecdh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) +#define SSL_set_dh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +#define SSL_set_ecdh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) + +int SSL_CTX_set0_chain(SSL_CTX *ctx, STACK_OF(X509) *chain); +int SSL_CTX_set1_chain(SSL_CTX *ctx, STACK_OF(X509) *chain); +int SSL_CTX_add0_chain_cert(SSL_CTX *ctx, X509 *x509); +int SSL_CTX_add1_chain_cert(SSL_CTX *ctx, X509 *x509); +int SSL_CTX_get0_chain_certs(const SSL_CTX *ctx, STACK_OF(X509) **out_chain); +int SSL_CTX_clear_chain_certs(SSL_CTX *ctx); + +int SSL_set0_chain(SSL *ssl, STACK_OF(X509) *chain); +int SSL_set1_chain(SSL *ssl, STACK_OF(X509) *chain); +int SSL_add0_chain_cert(SSL *ssl, X509 *x509); +int SSL_add1_chain_cert(SSL *ssl, X509 *x509); +int SSL_get0_chain_certs(const SSL *ssl, STACK_OF(X509) **out_chain); +int SSL_clear_chain_certs(SSL *ssl); + +int SSL_CTX_set1_groups(SSL_CTX *ctx, const int *groups, size_t groups_len); +int SSL_CTX_set1_groups_list(SSL_CTX *ctx, const char *groups); + +int SSL_set1_groups(SSL *ssl, const int *groups, size_t groups_len); +int SSL_set1_groups_list(SSL *ssl, const char *groups); + +int SSL_CTX_get_min_proto_version(SSL_CTX *ctx); +int SSL_CTX_get_max_proto_version(SSL_CTX *ctx); +int SSL_CTX_set_min_proto_version(SSL_CTX *ctx, uint16_t version); +int SSL_CTX_set_max_proto_version(SSL_CTX *ctx, uint16_t version); + +int SSL_get_min_proto_version(SSL *ssl); +int SSL_get_max_proto_version(SSL *ssl); +int SSL_set_min_proto_version(SSL *ssl, uint16_t version); +int SSL_set_max_proto_version(SSL *ssl, uint16_t version); + +const SSL_METHOD *SSL_CTX_get_ssl_method(const SSL_CTX *ctx); + +#ifndef LIBRESSL_INTERNAL +#define SSL_CTRL_SET_CURVES SSL_CTRL_SET_GROUPS +#define SSL_CTRL_SET_CURVES_LIST SSL_CTRL_SET_GROUPS_LIST + +#define SSL_CTX_set1_curves SSL_CTX_set1_groups +#define SSL_CTX_set1_curves_list SSL_CTX_set1_groups_list +#define SSL_set1_curves SSL_set1_groups +#define SSL_set1_curves_list SSL_set1_groups_list +#endif + +#define SSL_CTX_add_extra_chain_cert(ctx, x509) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, (char *)x509) +#define SSL_CTX_get_extra_chain_certs(ctx, px509) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_GET_EXTRA_CHAIN_CERTS, 0, px509) +#define SSL_CTX_get_extra_chain_certs_only(ctx, px509) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_GET_EXTRA_CHAIN_CERTS, 1, px509) +#define SSL_CTX_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS, 0, NULL) + +#define SSL_get_shared_group(s, n) \ + SSL_ctrl((s), SSL_CTRL_GET_SHARED_GROUP, (n), NULL) +#define SSL_get_shared_curve SSL_get_shared_group + +#define SSL_get_server_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define SSL_get_signature_nid(s, pn) \ + SSL_ctrl(s, SSL_CTRL_GET_SIGNATURE_NID, 0, pn) + +#define SSL_get_peer_signature_nid(s, pn) \ + SSL_ctrl(s, SSL_CTRL_GET_PEER_SIGNATURE_NID, 0, pn) +#define SSL_get_peer_tmp_key(s, pk) \ + SSL_ctrl(s, SSL_CTRL_GET_PEER_TMP_KEY, 0, pk) +#endif /* LIBRESSL_HAS_TLS1_3 || LIBRESSL_INTERNAL */ + +#ifndef LIBRESSL_INTERNAL +/* + * Also provide those functions as macros for compatibility with + * existing users. + */ +#define SSL_CTX_set0_chain SSL_CTX_set0_chain +#define SSL_CTX_set1_chain SSL_CTX_set1_chain +#define SSL_CTX_add0_chain_cert SSL_CTX_add0_chain_cert +#define SSL_CTX_add1_chain_cert SSL_CTX_add1_chain_cert +#define SSL_CTX_get0_chain_certs SSL_CTX_get0_chain_certs +#define SSL_CTX_clear_chain_certs SSL_CTX_clear_chain_certs + +#define SSL_add0_chain_cert SSL_add0_chain_cert +#define SSL_add1_chain_cert SSL_add1_chain_cert +#define SSL_set0_chain SSL_set0_chain +#define SSL_set1_chain SSL_set1_chain +#define SSL_get0_chain_certs SSL_get0_chain_certs +#define SSL_clear_chain_certs SSL_clear_chain_certs + +#define SSL_CTX_set1_groups SSL_CTX_set1_groups +#define SSL_CTX_set1_groups_list SSL_CTX_set1_groups_list +#define SSL_set1_groups SSL_set1_groups +#define SSL_set1_groups_list SSL_set1_groups_list + +#define SSL_CTX_get_min_proto_version SSL_CTX_get_min_proto_version +#define SSL_CTX_get_max_proto_version SSL_CTX_get_max_proto_version +#define SSL_CTX_set_min_proto_version SSL_CTX_set_min_proto_version +#define SSL_CTX_set_max_proto_version SSL_CTX_set_max_proto_version + +#define SSL_get_min_proto_version SSL_get_min_proto_version +#define SSL_get_max_proto_version SSL_get_max_proto_version +#define SSL_set_min_proto_version SSL_set_min_proto_version +#define SSL_set_max_proto_version SSL_set_max_proto_version +#endif + +const BIO_METHOD *BIO_f_ssl(void); +BIO *BIO_new_ssl(SSL_CTX *ctx, int client); +BIO *BIO_new_ssl_connect(SSL_CTX *ctx); +BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); +int BIO_ssl_copy_session_id(BIO *to, BIO *from); +void BIO_ssl_shutdown(BIO *ssl_bio); + +STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx); +int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str); +#endif +SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +void SSL_CTX_free(SSL_CTX *); +int SSL_CTX_up_ref(SSL_CTX *ctx); +long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); +long SSL_CTX_get_timeout(const SSL_CTX *ctx); +X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); +void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); +void SSL_CTX_set1_cert_store(SSL_CTX *ctx, X509_STORE *store); +X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); +int SSL_want(const SSL *s); +int SSL_clear(SSL *s); + +void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); + +const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); +int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); +const char * SSL_CIPHER_get_version(const SSL_CIPHER *c); +const char * SSL_CIPHER_get_name(const SSL_CIPHER *c); +unsigned long SSL_CIPHER_get_id(const SSL_CIPHER *c); +uint16_t SSL_CIPHER_get_value(const SSL_CIPHER *c); +const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); +int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c); +int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c); +int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); +int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); +const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c); +int SSL_CIPHER_is_aead(const SSL_CIPHER *c); + +int SSL_get_fd(const SSL *s); +int SSL_get_rfd(const SSL *s); +int SSL_get_wfd(const SSL *s); +const char * SSL_get_cipher_list(const SSL *s, int n); +char * SSL_get_shared_ciphers(const SSL *s, char *buf, int len); +int SSL_get_read_ahead(const SSL * s); +int SSL_pending(const SSL *s); +int SSL_set_fd(SSL *s, int fd); +int SSL_set_rfd(SSL *s, int fd); +int SSL_set_wfd(SSL *s, int fd); +void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); +BIO * SSL_get_rbio(const SSL *s); +void SSL_set0_rbio(SSL *s, BIO *rbio); +BIO * SSL_get_wbio(const SSL *s); +int SSL_set_cipher_list(SSL *s, const char *str); +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +int SSL_set_ciphersuites(SSL *s, const char *str); +#endif +void SSL_set_read_ahead(SSL *s, int yes); +int SSL_get_verify_mode(const SSL *s); +int SSL_get_verify_depth(const SSL *s); +int (*SSL_get_verify_callback(const SSL *s))(int, X509_STORE_CTX *); +void SSL_set_verify(SSL *s, int mode, + int (*callback)(int ok, X509_STORE_CTX *ctx)); +void SSL_set_verify_depth(SSL *s, int depth); +int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); +int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, long len); +int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); +int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, long len); +int SSL_use_certificate(SSL *ssl, X509 *x); +int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); + +int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); +int SSL_use_certificate_file(SSL *ssl, const char *file, int type); +int SSL_use_certificate_chain_file(SSL *ssl, const char *file); +int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); +int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); /* PEM type */ +int SSL_CTX_use_certificate_chain_mem(SSL_CTX *ctx, void *buf, int len); +STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); +int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *file); +int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *dir); + +void SSL_load_error_strings(void ); +const char *SSL_state_string(const SSL *s); +const char *SSL_rstate_string(const SSL *s); +const char *SSL_state_string_long(const SSL *s); +const char *SSL_rstate_string_long(const SSL *s); +const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *ss); +size_t SSL_SESSION_get_master_key(const SSL_SESSION *ss, + unsigned char *out, size_t max_out); +int SSL_SESSION_get_protocol_version(const SSL_SESSION *s); +long SSL_SESSION_get_time(const SSL_SESSION *s); +long SSL_SESSION_set_time(SSL_SESSION *s, long t); +long SSL_SESSION_get_timeout(const SSL_SESSION *s); +long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +int SSL_copy_session_id(SSL *to, const SSL *from); +X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); +int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, + unsigned int sid_len); +int SSL_SESSION_set1_id_context(SSL_SESSION *s, + const unsigned char *sid_ctx, unsigned int sid_ctx_len); +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +int SSL_SESSION_is_resumable(const SSL_SESSION *s); +#endif + +SSL_SESSION *SSL_SESSION_new(void); +void SSL_SESSION_free(SSL_SESSION *ses); +int SSL_SESSION_up_ref(SSL_SESSION *ss); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *ss, + unsigned int *len); +const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *ss, + unsigned int *len); +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *sess); +int SSL_SESSION_set_max_early_data(SSL_SESSION *sess, uint32_t max_early_data); +#endif +unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); +int SSL_SESSION_has_ticket(const SSL_SESSION *s); +unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *ss); +int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); +int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); +int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); +int SSL_set_session(SSL *to, SSL_SESSION *session); +int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); +int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *c); +int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB); +int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB); +int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, + unsigned int id_len); +SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, + long length); + +#ifdef HEADER_X509_H +X509 * SSL_get_peer_certificate(const SSL *s); +#endif + +STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); + +int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int, X509_STORE_CTX *); +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, + int (*callback)(int, X509_STORE_CTX *)); +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); +void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, int (*cb)(X509_STORE_CTX *, void *), void *arg); +int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); +int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len); +int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); +int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, const unsigned char *d, long len); +int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); +int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d); + +pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); +void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); +void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); +void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); + +int SSL_CTX_check_private_key(const SSL_CTX *ctx); +int SSL_check_private_key(const SSL *ctx); + +int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx, unsigned int sid_ctx_len); + +int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, unsigned int sid_ctx_len); + +int SSL_CTX_set_purpose(SSL_CTX *s, int purpose); +int SSL_set_purpose(SSL *s, int purpose); +int SSL_CTX_set_trust(SSL_CTX *s, int trust); +int SSL_set_trust(SSL *s, int trust); +int SSL_set1_host(SSL *s, const char *hostname); +void SSL_set_hostflags(SSL *s, unsigned int flags); +const char *SSL_get0_peername(SSL *s); + +X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); +int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); +X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); +int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); + +SSL *SSL_new(SSL_CTX *ctx); +void SSL_free(SSL *ssl); +int SSL_up_ref(SSL *ssl); +int SSL_accept(SSL *ssl); +int SSL_connect(SSL *ssl); +int SSL_is_dtls(const SSL *s); +int SSL_is_server(const SSL *s); +int SSL_read(SSL *ssl, void *buf, int num); +int SSL_peek(SSL *ssl, void *buf, int num); +int SSL_write(SSL *ssl, const void *buf, int num); +int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *bytes_read); +int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *bytes_peeked); +int SSL_write_ex(SSL *ssl, const void *buf, size_t num, size_t *bytes_written); + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx); +int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data); + +uint32_t SSL_get_max_early_data(const SSL *s); +int SSL_set_max_early_data(SSL *s, uint32_t max_early_data); + +#define SSL_EARLY_DATA_NOT_SENT 0 +#define SSL_EARLY_DATA_REJECTED 1 +#define SSL_EARLY_DATA_ACCEPTED 2 +int SSL_get_early_data_status(const SSL *s); + +#define SSL_READ_EARLY_DATA_ERROR 0 +#define SSL_READ_EARLY_DATA_SUCCESS 1 +#define SSL_READ_EARLY_DATA_FINISH 2 +int SSL_read_early_data(SSL *s, void *buf, size_t num, size_t *readbytes); +int SSL_write_early_data(SSL *s, const void *buf, size_t num, size_t *written); +#endif + +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); +long SSL_callback_ctrl(SSL *, int, void (*)(void)); +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); +long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); + +int SSL_get_error(const SSL *s, int ret_code); +const char *SSL_get_version(const SSL *s); + +/* This sets the 'default' SSL version that SSL_new() will create */ +int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); + +const SSL_METHOD *SSLv23_method(void); /* SSLv3 or TLSv1.* */ +const SSL_METHOD *SSLv23_server_method(void); /* SSLv3 or TLSv1.* */ +const SSL_METHOD *SSLv23_client_method(void); /* SSLv3 or TLSv1.* */ + +const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */ +const SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */ +const SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */ + +const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */ +const SSL_METHOD *TLSv1_1_server_method(void); /* TLSv1.1 */ +const SSL_METHOD *TLSv1_1_client_method(void); /* TLSv1.1 */ + +const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */ +const SSL_METHOD *TLSv1_2_server_method(void); /* TLSv1.2 */ +const SSL_METHOD *TLSv1_2_client_method(void); /* TLSv1.2 */ + +const SSL_METHOD *TLS_method(void); /* TLS v1.0 or later */ +const SSL_METHOD *TLS_server_method(void); /* TLS v1.0 or later */ +const SSL_METHOD *TLS_client_method(void); /* TLS v1.0 or later */ + +const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */ +const SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */ +const SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */ + +const SSL_METHOD *DTLSv1_2_method(void); /* DTLSv1.2 */ +const SSL_METHOD *DTLSv1_2_server_method(void); /* DTLSv1.2 */ +const SSL_METHOD *DTLSv1_2_client_method(void); /* DTLSv1.2 */ + +const SSL_METHOD *DTLS_method(void); /* DTLS v1.0 or later */ +const SSL_METHOD *DTLS_server_method(void); /* DTLS v1.0 or later */ +const SSL_METHOD *DTLS_client_method(void); /* DTLS v1.0 or later */ + +STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); +STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s); +STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s); + +int SSL_do_handshake(SSL *s); +int SSL_renegotiate(SSL *s); +int SSL_renegotiate_abbreviated(SSL *s); +int SSL_renegotiate_pending(SSL *s); +int SSL_shutdown(SSL *s); + +const SSL_METHOD *SSL_get_ssl_method(SSL *s); +int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); +const char *SSL_alert_type_string_long(int value); +const char *SSL_alert_type_string(int value); +const char *SSL_alert_desc_string_long(int value); +const char *SSL_alert_desc_string(int value); + +void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); +STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); +int SSL_add_client_CA(SSL *ssl, X509 *x); +int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +void SSL_set_connect_state(SSL *s); +void SSL_set_accept_state(SSL *s); + +long SSL_get_default_timeout(const SSL *s); + +char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); +STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk); + +SSL *SSL_dup(SSL *ssl); + +X509 *SSL_get_certificate(const SSL *ssl); +/* EVP_PKEY */ struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx,int mode); +int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl,int mode); +int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl,int mode); +int SSL_get_shutdown(const SSL *ssl); +int SSL_version(const SSL *ssl); +int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); +int SSL_CTX_load_verify_mem(SSL_CTX *ctx, void *buf, int len); +#define SSL_get0_session SSL_get_session /* just peek at pointer */ +SSL_SESSION *SSL_get_session(const SSL *ssl); +SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ +SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX* ctx); +void SSL_set_info_callback(SSL *ssl, + void (*cb)(const SSL *ssl, int type, int val)); +void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl, int type, int val); +int SSL_state(const SSL *ssl); +void SSL_set_state(SSL *ssl, int state); + +void SSL_set_verify_result(SSL *ssl, long v); +long SSL_get_verify_result(const SSL *ssl); + +int SSL_set_ex_data(SSL *ssl, int idx, void *data); +void *SSL_get_ex_data(const SSL *ssl, int idx); +int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); + +int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); +int SSL_SESSION_get_ex_new_index(long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); + +int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); +int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); + +int SSL_get_ex_data_X509_STORE_CTX_idx(void ); + +#define SSL_CTX_sess_set_cache_size(ctx,t) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) +#define SSL_CTX_sess_get_cache_size(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) +#define SSL_CTX_set_session_cache_mode(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) +#define SSL_CTX_get_session_cache_mode(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) + +#define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) +#define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) +#define SSL_CTX_get_read_ahead(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) +#define SSL_CTX_set_read_ahead(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) +#define SSL_CTX_get_max_cert_list(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +#define SSL_CTX_set_max_cert_list(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) +#define SSL_get_max_cert_list(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +#define SSL_set_max_cert_list(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) + +#define SSL_CTX_set_max_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +#define SSL_set_max_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) + +/* NB: the keylength is only applicable when is_export is true */ +void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, + RSA *(*cb)(SSL *ssl, int is_export, int keylength)); + +void SSL_set_tmp_rsa_callback(SSL *ssl, + RSA *(*cb)(SSL *ssl, int is_export, int keylength)); +void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, + DH *(*dh)(SSL *ssl, int is_export, int keylength)); +void SSL_set_tmp_dh_callback(SSL *ssl, + DH *(*dh)(SSL *ssl, int is_export, int keylength)); +void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, + EC_KEY *(*ecdh)(SSL *ssl, int is_export, int keylength)); +void SSL_set_tmp_ecdh_callback(SSL *ssl, + EC_KEY *(*ecdh)(SSL *ssl, int is_export, int keylength)); + +size_t SSL_get_client_random(const SSL *s, unsigned char *out, size_t max_out); +size_t SSL_get_server_random(const SSL *s, unsigned char *out, size_t max_out); + +const void *SSL_get_current_compression(SSL *s); +const void *SSL_get_current_expansion(SSL *s); + +const char *SSL_COMP_get_name(const void *comp); +void *SSL_COMP_get_compression_methods(void); + +/* TLS extensions functions */ +int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); + +int SSL_set_session_ticket_ext_cb(SSL *s, + tls_session_ticket_ext_cb_fn cb, void *arg); + +/* Pre-shared secret session resumption functions */ +int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn tls_session_secret_cb, void *arg); + +int SSL_cache_hit(SSL *s); + +/* What the "other" parameter contains in security callback */ +/* Mask for type */ +#define SSL_SECOP_OTHER_TYPE 0xffff0000 +#define SSL_SECOP_OTHER_NONE 0 +#define SSL_SECOP_OTHER_CIPHER (1 << 16) +#define SSL_SECOP_OTHER_CURVE (2 << 16) +#define SSL_SECOP_OTHER_DH (3 << 16) +#define SSL_SECOP_OTHER_PKEY (4 << 16) +#define SSL_SECOP_OTHER_SIGALG (5 << 16) +#define SSL_SECOP_OTHER_CERT (6 << 16) + +/* Indicated operation refers to peer key or certificate */ +#define SSL_SECOP_PEER 0x1000 + +/* Values for "op" parameter in security callback */ + +/* Called to filter ciphers */ +/* Ciphers client supports */ +#define SSL_SECOP_CIPHER_SUPPORTED (1 | SSL_SECOP_OTHER_CIPHER) +/* Cipher shared by client/server */ +#define SSL_SECOP_CIPHER_SHARED (2 | SSL_SECOP_OTHER_CIPHER) +/* Sanity check of cipher server selects */ +#define SSL_SECOP_CIPHER_CHECK (3 | SSL_SECOP_OTHER_CIPHER) +/* Curves supported by client */ +#define SSL_SECOP_CURVE_SUPPORTED (4 | SSL_SECOP_OTHER_CURVE) +/* Curves shared by client/server */ +#define SSL_SECOP_CURVE_SHARED (5 | SSL_SECOP_OTHER_CURVE) +/* Sanity check of curve server selects */ +#define SSL_SECOP_CURVE_CHECK (6 | SSL_SECOP_OTHER_CURVE) +/* Temporary DH key */ +/* + * XXX: changed in OpenSSL e2b420fdd70 to (7 | SSL_SECOP_OTHER_PKEY) + * Needs switching internal use of DH to EVP_PKEY. The code is not reachable + * from outside the library as long as we do not expose the callback in the API. + */ +#define SSL_SECOP_TMP_DH (7 | SSL_SECOP_OTHER_DH) +/* SSL/TLS version */ +#define SSL_SECOP_VERSION (9 | SSL_SECOP_OTHER_NONE) +/* Session tickets */ +#define SSL_SECOP_TICKET (10 | SSL_SECOP_OTHER_NONE) +/* Supported signature algorithms sent to peer */ +#define SSL_SECOP_SIGALG_SUPPORTED (11 | SSL_SECOP_OTHER_SIGALG) +/* Shared signature algorithm */ +#define SSL_SECOP_SIGALG_SHARED (12 | SSL_SECOP_OTHER_SIGALG) +/* Sanity check signature algorithm allowed */ +#define SSL_SECOP_SIGALG_CHECK (13 | SSL_SECOP_OTHER_SIGALG) +/* Used to get mask of supported public key signature algorithms */ +#define SSL_SECOP_SIGALG_MASK (14 | SSL_SECOP_OTHER_SIGALG) +/* Use to see if compression is allowed */ +#define SSL_SECOP_COMPRESSION (15 | SSL_SECOP_OTHER_NONE) +/* EE key in certificate */ +#define SSL_SECOP_EE_KEY (16 | SSL_SECOP_OTHER_CERT) +/* CA key in certificate */ +#define SSL_SECOP_CA_KEY (17 | SSL_SECOP_OTHER_CERT) +/* CA digest algorithm in certificate */ +#define SSL_SECOP_CA_MD (18 | SSL_SECOP_OTHER_CERT) +/* Peer EE key in certificate */ +#define SSL_SECOP_PEER_EE_KEY (SSL_SECOP_EE_KEY | SSL_SECOP_PEER) +/* Peer CA key in certificate */ +#define SSL_SECOP_PEER_CA_KEY (SSL_SECOP_CA_KEY | SSL_SECOP_PEER) +/* Peer CA digest algorithm in certificate */ +#define SSL_SECOP_PEER_CA_MD (SSL_SECOP_CA_MD | SSL_SECOP_PEER) + +void SSL_set_security_level(SSL *ssl, int level); +int SSL_get_security_level(const SSL *ssl); + +void SSL_CTX_set_security_level(SSL_CTX *ctx, int level); +int SSL_CTX_get_security_level(const SSL_CTX *ctx); + +#if defined(LIBRESSL_HAS_QUIC) || defined(LIBRESSL_INTERNAL) +/* + * QUIC integration. + * + * QUIC acts as an underlying transport for the TLS 1.3 handshake. The following + * functions allow a QUIC implementation to serve as the underlying transport as + * described in RFC 9001. + * + * When configured for QUIC, |SSL_do_handshake| will drive the handshake as + * before, but it will not use the configured |BIO|. It will call functions on + * |SSL_QUIC_METHOD| to configure secrets and send data. If data is needed from + * the peer, it will return |SSL_ERROR_WANT_READ|. As the caller receives data + * it can decrypt, it calls |SSL_provide_quic_data|. Subsequent + * |SSL_do_handshake| calls will then consume that data and progress the + * handshake. After the handshake is complete, the caller should continue to + * call |SSL_provide_quic_data| for any post-handshake data, followed by + * |SSL_process_quic_post_handshake| to process it. It is an error to call + * |SSL_peek|, |SSL_read| and |SSL_write| in QUIC. + * + * To avoid DoS attacks, the QUIC implementation must limit the amount of data + * being queued up. The implementation can call + * |SSL_quic_max_handshake_flight_len| to get the maximum buffer length at each + * encryption level. + * + * QUIC implementations must additionally configure transport parameters with + * |SSL_set_quic_transport_params|. |SSL_get_peer_quic_transport_params| may be + * used to query the value received from the peer. This extension is handled + * as an opaque byte string, which the caller is responsible for serializing + * and parsing. See RFC 9000 section 7.4 for further details. + */ + +/* + * ssl_encryption_level_t specifies the QUIC encryption level used to transmit + * handshake messages. + */ +typedef enum ssl_encryption_level_t { + ssl_encryption_initial = 0, + ssl_encryption_early_data, + ssl_encryption_handshake, + ssl_encryption_application, +} OSSL_ENCRYPTION_LEVEL; + +/* + * ssl_quic_method_st (aka |SSL_QUIC_METHOD|) describes custom QUIC hooks. + * + * Note that we provide both the new (BoringSSL) secrets interface + * (set_read_secret/set_write_secret) along with the old interface + * (set_encryption_secrets), which quictls is still using. + * + * Since some consumers fail to use named initialisers, the order of these + * functions is important. Hopefully all of these consumers use the old version. + */ +struct ssl_quic_method_st { + /* + * set_encryption_secrets configures the read and write secrets for the + * given encryption level. This function will always be called before an + * encryption level other than |ssl_encryption_initial| is used. + * + * When reading packets at a given level, the QUIC implementation must + * send ACKs at the same level, so this function provides read and write + * secrets together. The exception is |ssl_encryption_early_data|, where + * secrets are only available in the client to server direction. The + * other secret will be NULL. The server acknowledges such data at + * |ssl_encryption_application|, which will be configured in the same + * |SSL_do_handshake| call. + * + * This function should use |SSL_get_current_cipher| to determine the TLS + * cipher suite. + */ + int (*set_encryption_secrets)(SSL *ssl, enum ssl_encryption_level_t level, + const uint8_t *read_secret, const uint8_t *write_secret, + size_t secret_len); + + /* + * add_handshake_data adds handshake data to the current flight at the + * given encryption level. It returns one on success and zero on error. + * Callers should defer writing data to the network until |flush_flight| + * to better pack QUIC packets into transport datagrams. + * + * If |level| is not |ssl_encryption_initial|, this function will not be + * called before |level| is initialized with |set_write_secret|. + */ + int (*add_handshake_data)(SSL *ssl, enum ssl_encryption_level_t level, + const uint8_t *data, size_t len); + + /* + * flush_flight is called when the current flight is complete and should + * be written to the transport. Note a flight may contain data at + * several encryption levels. It returns one on success and zero on + * error. + */ + int (*flush_flight)(SSL *ssl); + + /* + * send_alert sends a fatal alert at the specified encryption level. It + * returns one on success and zero on error. + * + * If |level| is not |ssl_encryption_initial|, this function will not be + * called before |level| is initialized with |set_write_secret|. + */ + int (*send_alert)(SSL *ssl, enum ssl_encryption_level_t level, + uint8_t alert); + + /* + * set_read_secret configures the read secret and cipher suite for the + * given encryption level. It returns one on success and zero to + * terminate the handshake with an error. It will be called at most once + * per encryption level. + * + * Read keys will not be released before QUIC may use them. Once a level + * has been initialized, QUIC may begin processing data from it. + * Handshake data should be passed to |SSL_provide_quic_data| and + * application data (if |level| is |ssl_encryption_early_data| or + * |ssl_encryption_application|) may be processed according to the rules + * of the QUIC protocol. + */ + int (*set_read_secret)(SSL *ssl, enum ssl_encryption_level_t level, + const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len); + + /* + * set_write_secret behaves like |set_read_secret| but configures the + * write secret and cipher suite for the given encryption level. It will + * be called at most once per encryption level. + * + * Write keys will not be released before QUIC may use them. If |level| + * is |ssl_encryption_early_data| or |ssl_encryption_application|, QUIC + * may begin sending application data at |level|. + */ + int (*set_write_secret)(SSL *ssl, enum ssl_encryption_level_t level, + const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len); +}; + +/* + * SSL_CTX_set_quic_method configures the QUIC hooks. This should only be + * configured with a minimum version of TLS 1.3. |quic_method| must remain valid + * for the lifetime of |ctx|. It returns one on success and zero on error. + */ +int SSL_CTX_set_quic_method(SSL_CTX *ctx, const SSL_QUIC_METHOD *quic_method); + +/* + * SSL_set_quic_method configures the QUIC hooks. This should only be + * configured with a minimum version of TLS 1.3. |quic_method| must remain valid + * for the lifetime of |ssl|. It returns one on success and zero on error. + */ +int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method); + +/* SSL_is_quic returns true if an SSL has been configured for use with QUIC. */ +int SSL_is_quic(const SSL *ssl); + +/* + * SSL_quic_max_handshake_flight_len returns returns the maximum number of bytes + * that may be received at the given encryption level. This function should be + * used to limit buffering in the QUIC implementation. See RFC 9000 section 7.5. + */ +size_t SSL_quic_max_handshake_flight_len(const SSL *ssl, + enum ssl_encryption_level_t level); + +/* + * SSL_quic_read_level returns the current read encryption level. + */ +enum ssl_encryption_level_t SSL_quic_read_level(const SSL *ssl); + +/* + * SSL_quic_write_level returns the current write encryption level. + */ +enum ssl_encryption_level_t SSL_quic_write_level(const SSL *ssl); + +/* + * SSL_provide_quic_data provides data from QUIC at a particular encryption + * level |level|. It returns one on success and zero on error. Note this + * function will return zero if the handshake is not expecting data from |level| + * at this time. The QUIC implementation should then close the connection with + * an error. + */ +int SSL_provide_quic_data(SSL *ssl, enum ssl_encryption_level_t level, + const uint8_t *data, size_t len); + +/* + * SSL_process_quic_post_handshake processes any data that QUIC has provided + * after the handshake has completed. This includes NewSessionTicket messages + * sent by the server. It returns one on success and zero on error. + */ +int SSL_process_quic_post_handshake(SSL *ssl); + +/* + * SSL_set_quic_transport_params configures |ssl| to send |params| (of length + * |params_len|) in the quic_transport_parameters extension in either the + * ClientHello or EncryptedExtensions handshake message. It is an error to set + * transport parameters if |ssl| is not configured for QUIC. The buffer pointed + * to by |params| only need be valid for the duration of the call to this + * function. This function returns 1 on success and 0 on failure. + */ +int SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params, + size_t params_len); + +/* + * SSL_get_peer_quic_transport_params provides the caller with the value of the + * quic_transport_parameters extension sent by the peer. A pointer to the buffer + * containing the TransportParameters will be put in |*out_params|, and its + * length in |*params_len|. This buffer will be valid for the lifetime of the + * |SSL|. If no params were received from the peer, |*out_params_len| will be 0. + */ +void SSL_get_peer_quic_transport_params(const SSL *ssl, + const uint8_t **out_params, size_t *out_params_len); + +/* + * SSL_set_quic_use_legacy_codepoint configures whether to use the legacy QUIC + * extension codepoint 0xffa5 as opposed to the official value 57. This is + * unsupported in LibreSSL. + */ +void SSL_set_quic_use_legacy_codepoint(SSL *ssl, int use_legacy); + +#endif + +void ERR_load_SSL_strings(void); + +/* Error codes for the SSL functions. */ + +/* Function codes. */ +#define SSL_F_CLIENT_CERTIFICATE 100 +#define SSL_F_CLIENT_FINISHED 167 +#define SSL_F_CLIENT_HELLO 101 +#define SSL_F_CLIENT_MASTER_KEY 102 +#define SSL_F_D2I_SSL_SESSION 103 +#define SSL_F_DO_DTLS1_WRITE 245 +#define SSL_F_DO_SSL3_WRITE 104 +#define SSL_F_DTLS1_ACCEPT 246 +#define SSL_F_DTLS1_ADD_CERT_TO_BUF 295 +#define SSL_F_DTLS1_BUFFER_RECORD 247 +#define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 316 +#define SSL_F_DTLS1_CLIENT_HELLO 248 +#define SSL_F_DTLS1_CONNECT 249 +#define SSL_F_DTLS1_ENC 250 +#define SSL_F_DTLS1_GET_HELLO_VERIFY 251 +#define SSL_F_DTLS1_GET_MESSAGE 252 +#define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253 +#define SSL_F_DTLS1_GET_RECORD 254 +#define SSL_F_DTLS1_HANDLE_TIMEOUT 297 +#define SSL_F_DTLS1_HEARTBEAT 305 +#define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255 +#define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +#define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256 +#define SSL_F_DTLS1_PROCESS_RECORD 257 +#define SSL_F_DTLS1_READ_BYTES 258 +#define SSL_F_DTLS1_READ_FAILED 259 +#define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260 +#define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261 +#define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262 +#define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263 +#define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264 +#define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265 +#define SSL_F_DTLS1_SEND_SERVER_HELLO 266 +#define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267 +#define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +#define SSL_F_GET_CLIENT_FINISHED 105 +#define SSL_F_GET_CLIENT_HELLO 106 +#define SSL_F_GET_CLIENT_MASTER_KEY 107 +#define SSL_F_GET_SERVER_FINISHED 108 +#define SSL_F_GET_SERVER_HELLO 109 +#define SSL_F_GET_SERVER_VERIFY 110 +#define SSL_F_I2D_SSL_SESSION 111 +#define SSL_F_READ_N 112 +#define SSL_F_REQUEST_CERTIFICATE 113 +#define SSL_F_SERVER_FINISH 239 +#define SSL_F_SERVER_HELLO 114 +#define SSL_F_SERVER_VERIFY 240 +#define SSL_F_SSL23_ACCEPT 115 +#define SSL_F_SSL23_CLIENT_HELLO 116 +#define SSL_F_SSL23_CONNECT 117 +#define SSL_F_SSL23_GET_CLIENT_HELLO 118 +#define SSL_F_SSL23_GET_SERVER_HELLO 119 +#define SSL_F_SSL23_PEEK 237 +#define SSL_F_SSL23_READ 120 +#define SSL_F_SSL23_WRITE 121 +#define SSL_F_SSL2_ACCEPT 122 +#define SSL_F_SSL2_CONNECT 123 +#define SSL_F_SSL2_ENC_INIT 124 +#define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241 +#define SSL_F_SSL2_PEEK 234 +#define SSL_F_SSL2_READ 125 +#define SSL_F_SSL2_READ_INTERNAL 236 +#define SSL_F_SSL2_SET_CERTIFICATE 126 +#define SSL_F_SSL2_WRITE 127 +#define SSL_F_SSL3_ACCEPT 128 +#define SSL_F_SSL3_ADD_CERT_TO_BUF 296 +#define SSL_F_SSL3_CALLBACK_CTRL 233 +#define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +#define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +#define SSL_F_SSL3_CHECK_CLIENT_HELLO 304 +#define SSL_F_SSL3_CLIENT_HELLO 131 +#define SSL_F_SSL3_CONNECT 132 +#define SSL_F_SSL3_CTRL 213 +#define SSL_F_SSL3_CTX_CTRL 133 +#define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +#define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +#define SSL_F_SSL3_ENC 134 +#define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +#define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135 +#define SSL_F_SSL3_GET_CERT_STATUS 289 +#define SSL_F_SSL3_GET_CERT_VERIFY 136 +#define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137 +#define SSL_F_SSL3_GET_CLIENT_HELLO 138 +#define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139 +#define SSL_F_SSL3_GET_FINISHED 140 +#define SSL_F_SSL3_GET_KEY_EXCHANGE 141 +#define SSL_F_SSL3_GET_MESSAGE 142 +#define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283 +#define SSL_F_SSL3_GET_NEXT_PROTO 306 +#define SSL_F_SSL3_GET_RECORD 143 +#define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144 +#define SSL_F_SSL3_GET_SERVER_DONE 145 +#define SSL_F_SSL3_GET_SERVER_HELLO 146 +#define SSL_F_SSL3_HANDSHAKE_MAC 285 +#define SSL_F_SSL3_NEW_SESSION_TICKET 287 +#define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +#define SSL_F_SSL3_PEEK 235 +#define SSL_F_SSL3_READ_BYTES 148 +#define SSL_F_SSL3_READ_N 149 +#define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150 +#define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151 +#define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152 +#define SSL_F_SSL3_SEND_CLIENT_VERIFY 153 +#define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154 +#define SSL_F_SSL3_SEND_SERVER_HELLO 242 +#define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155 +#define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +#define SSL_F_SSL3_SETUP_READ_BUFFER 156 +#define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +#define SSL_F_SSL3_WRITE_BYTES 158 +#define SSL_F_SSL3_WRITE_PENDING 159 +#define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +#define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +#define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +#define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +#define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +#define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +#define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +#define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +#define SSL_F_SSL_BAD_METHOD 160 +#define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +#define SSL_F_SSL_CERT_DUP 221 +#define SSL_F_SSL_CERT_INST 222 +#define SSL_F_SSL_CERT_INSTANTIATE 214 +#define SSL_F_SSL_CERT_NEW 162 +#define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +#define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +#define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +#define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +#define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +#define SSL_F_SSL_CLEAR 164 +#define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +#define SSL_F_SSL_CREATE_CIPHER_LIST 166 +#define SSL_F_SSL_CTRL 232 +#define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +#define SSL_F_SSL_CTX_MAKE_PROFILES 309 +#define SSL_F_SSL_CTX_NEW 169 +#define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +#define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +#define SSL_F_SSL_CTX_SET_PURPOSE 226 +#define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +#define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +#define SSL_F_SSL_CTX_SET_TRUST 229 +#define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +#define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +#define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220 +#define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +#define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +#define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +#define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +#define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +#define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +#define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +#define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +#define SSL_F_SSL_DO_HANDSHAKE 180 +#define SSL_F_SSL_GET_NEW_SESSION 181 +#define SSL_F_SSL_GET_PREV_SESSION 217 +#define SSL_F_SSL_GET_SERVER_SEND_CERT 182 +#define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 +#define SSL_F_SSL_GET_SIGN_PKEY 183 +#define SSL_F_SSL_INIT_WBIO_BUFFER 184 +#define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +#define SSL_F_SSL_NEW 186 +#define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +#define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +#define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +#define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +#define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +#define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +#define SSL_F_SSL_PEEK 270 +#define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT 281 +#define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282 +#define SSL_F_SSL_READ 223 +#define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187 +#define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188 +#define SSL_F_SSL_SESSION_NEW 189 +#define SSL_F_SSL_SESSION_PRINT_FP 190 +#define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +#define SSL_F_SSL_SESS_CERT_NEW 225 +#define SSL_F_SSL_SET_CERT 191 +#define SSL_F_SSL_SET_CIPHER_LIST 271 +#define SSL_F_SSL_SET_FD 192 +#define SSL_F_SSL_SET_PKEY 193 +#define SSL_F_SSL_SET_PURPOSE 227 +#define SSL_F_SSL_SET_RFD 194 +#define SSL_F_SSL_SET_SESSION 195 +#define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +#define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +#define SSL_F_SSL_SET_TRUST 228 +#define SSL_F_SSL_SET_WFD 196 +#define SSL_F_SSL_SHUTDOWN 224 +#define SSL_F_SSL_SRP_CTX_INIT 313 +#define SSL_F_SSL_UNDEFINED_CONST_FUNCTION 243 +#define SSL_F_SSL_UNDEFINED_FUNCTION 197 +#define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +#define SSL_F_SSL_USE_CERTIFICATE 198 +#define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +#define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +#define SSL_F_SSL_USE_PRIVATEKEY 201 +#define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +#define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +#define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +#define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +#define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +#define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +#define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +#define SSL_F_SSL_WRITE 208 +#define SSL_F_TLS1_AEAD_CTX_INIT 339 +#define SSL_F_TLS1_CERT_VERIFY_MAC 286 +#define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 +#define SSL_F_TLS1_CHANGE_CIPHER_STATE_AEAD 340 +#define SSL_F_TLS1_CHANGE_CIPHER_STATE_CIPHER 338 +#define SSL_F_TLS1_CHECK_SERVERHELLO_TLSEXT 274 +#define SSL_F_TLS1_ENC 210 +#define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 +#define SSL_F_TLS1_HEARTBEAT 315 +#define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275 +#define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276 +#define SSL_F_TLS1_PRF 284 +#define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +#define SSL_F_WRITE_PENDING 212 + +/* Reason codes. */ +#define SSL_R_APP_DATA_IN_HANDSHAKE 100 +#define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 +#define SSL_R_BAD_ALERT_RECORD 101 +#define SSL_R_BAD_AUTHENTICATION_TYPE 102 +#define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 +#define SSL_R_BAD_CHECKSUM 104 +#define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 +#define SSL_R_BAD_DECOMPRESSION 107 +#define SSL_R_BAD_DH_G_LENGTH 108 +#define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 +#define SSL_R_BAD_DH_P_LENGTH 110 +#define SSL_R_BAD_DIGEST_LENGTH 111 +#define SSL_R_BAD_DSA_SIGNATURE 112 +#define SSL_R_BAD_ECC_CERT 304 +#define SSL_R_BAD_ECDSA_SIGNATURE 305 +#define SSL_R_BAD_ECPOINT 306 +#define SSL_R_BAD_HANDSHAKE_LENGTH 332 +#define SSL_R_BAD_HELLO_REQUEST 105 +#define SSL_R_BAD_LENGTH 271 +#define SSL_R_BAD_MAC_DECODE 113 +#define SSL_R_BAD_MAC_LENGTH 333 +#define SSL_R_BAD_MESSAGE_TYPE 114 +#define SSL_R_BAD_PACKET_LENGTH 115 +#define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 +#define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316 +#define SSL_R_BAD_RESPONSE_ARGUMENT 117 +#define SSL_R_BAD_RSA_DECRYPT 118 +#define SSL_R_BAD_RSA_ENCRYPT 119 +#define SSL_R_BAD_RSA_E_LENGTH 120 +#define SSL_R_BAD_RSA_MODULUS_LENGTH 121 +#define SSL_R_BAD_RSA_SIGNATURE 122 +#define SSL_R_BAD_SIGNATURE 123 +#define SSL_R_BAD_SRP_A_LENGTH 347 +#define SSL_R_BAD_SRP_B_LENGTH 348 +#define SSL_R_BAD_SRP_G_LENGTH 349 +#define SSL_R_BAD_SRP_N_LENGTH 350 +#define SSL_R_BAD_SRP_S_LENGTH 351 +#define SSL_R_BAD_SRTP_MKI_VALUE 352 +#define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 +#define SSL_R_BAD_SSL_FILETYPE 124 +#define SSL_R_BAD_SSL_SESSION_ID_LENGTH 125 +#define SSL_R_BAD_STATE 126 +#define SSL_R_BAD_WRITE_RETRY 127 +#define SSL_R_BIO_NOT_SET 128 +#define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 +#define SSL_R_BN_LIB 130 +#define SSL_R_CA_DN_LENGTH_MISMATCH 131 +#define SSL_R_CA_DN_TOO_LONG 132 +#define SSL_R_CA_KEY_TOO_SMALL 397 +#define SSL_R_CA_MD_TOO_WEAK 398 +#define SSL_R_CCS_RECEIVED_EARLY 133 +#define SSL_R_CERTIFICATE_VERIFY_FAILED 134 +#define SSL_R_CERT_LENGTH_MISMATCH 135 +#define SSL_R_CHALLENGE_IS_DIFFERENT 136 +#define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 +#define SSL_R_CIPHER_COMPRESSION_UNAVAILABLE 371 +#define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 +#define SSL_R_CIPHER_TABLE_SRC_ERROR 139 +#define SSL_R_CLIENTHELLO_TLSEXT 226 +#define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 +#define SSL_R_COMPRESSION_DISABLED 343 +#define SSL_R_COMPRESSION_FAILURE 141 +#define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 +#define SSL_R_COMPRESSION_LIBRARY_ERROR 142 +#define SSL_R_CONNECTION_ID_IS_DIFFERENT 143 +#define SSL_R_CONNECTION_TYPE_NOT_SET 144 +#define SSL_R_COOKIE_MISMATCH 308 +#define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 +#define SSL_R_DATA_LENGTH_TOO_LONG 146 +#define SSL_R_DECRYPTION_FAILED 147 +#define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 +#define SSL_R_DH_KEY_TOO_SMALL 394 +#define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 +#define SSL_R_DIGEST_CHECK_FAILED 149 +#define SSL_R_DTLS_MESSAGE_TOO_BIG 334 +#define SSL_R_DUPLICATE_COMPRESSION_ID 309 +#define SSL_R_ECC_CERT_NOT_FOR_KEY_AGREEMENT 317 +#define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 +#define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322 +#define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323 +#define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 +#define SSL_R_EE_KEY_TOO_SMALL 399 +#define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 +#define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 +#define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282 +#define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 +#define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 +#define SSL_R_EXTRA_DATA_IN_MESSAGE 153 +#define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 +#define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355 +#define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356 +#define SSL_R_HTTPS_PROXY_REQUEST 155 +#define SSL_R_HTTP_REQUEST 156 +#define SSL_R_ILLEGAL_PADDING 283 +#define SSL_R_INAPPROPRIATE_FALLBACK 373 +#define SSL_R_INCONSISTENT_COMPRESSION 340 +#define SSL_R_INVALID_CHALLENGE_LENGTH 158 +#define SSL_R_INVALID_COMMAND 280 +#define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 +#define SSL_R_INVALID_PURPOSE 278 +#define SSL_R_INVALID_SRP_USERNAME 357 +#define SSL_R_INVALID_STATUS_RESPONSE 328 +#define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 +#define SSL_R_INVALID_TRUST 279 +#define SSL_R_KEY_ARG_TOO_LONG 284 +#define SSL_R_KRB5 285 +#define SSL_R_KRB5_C_CC_PRINC 286 +#define SSL_R_KRB5_C_GET_CRED 287 +#define SSL_R_KRB5_C_INIT 288 +#define SSL_R_KRB5_C_MK_REQ 289 +#define SSL_R_KRB5_S_BAD_TICKET 290 +#define SSL_R_KRB5_S_INIT 291 +#define SSL_R_KRB5_S_RD_REQ 292 +#define SSL_R_KRB5_S_TKT_EXPIRED 293 +#define SSL_R_KRB5_S_TKT_NYV 294 +#define SSL_R_KRB5_S_TKT_SKEW 295 +#define SSL_R_LENGTH_MISMATCH 159 +#define SSL_R_LENGTH_TOO_SHORT 160 +#define SSL_R_LIBRARY_BUG 274 +#define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 +#define SSL_R_MESSAGE_TOO_LONG 296 +#define SSL_R_MISSING_DH_DSA_CERT 162 +#define SSL_R_MISSING_DH_KEY 163 +#define SSL_R_MISSING_DH_RSA_CERT 164 +#define SSL_R_MISSING_DSA_SIGNING_CERT 165 +#define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166 +#define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167 +#define SSL_R_MISSING_RSA_CERTIFICATE 168 +#define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 +#define SSL_R_MISSING_RSA_SIGNING_CERT 170 +#define SSL_R_MISSING_SRP_PARAM 358 +#define SSL_R_MISSING_TMP_DH_KEY 171 +#define SSL_R_MISSING_TMP_ECDH_KEY 311 +#define SSL_R_MISSING_TMP_RSA_KEY 172 +#define SSL_R_MISSING_TMP_RSA_PKEY 173 +#define SSL_R_MISSING_VERIFY_MESSAGE 174 +#define SSL_R_MULTIPLE_SGC_RESTARTS 346 +#define SSL_R_NON_SSLV2_INITIAL_PACKET 175 +#define SSL_R_NO_APPLICATION_PROTOCOL 235 +#define SSL_R_NO_CERTIFICATES_RETURNED 176 +#define SSL_R_NO_CERTIFICATE_ASSIGNED 177 +#define SSL_R_NO_CERTIFICATE_RETURNED 178 +#define SSL_R_NO_CERTIFICATE_SET 179 +#define SSL_R_NO_CERTIFICATE_SPECIFIED 180 +#define SSL_R_NO_CIPHERS_AVAILABLE 181 +#define SSL_R_NO_CIPHERS_PASSED 182 +#define SSL_R_NO_CIPHERS_SPECIFIED 183 +#define SSL_R_NO_CIPHER_LIST 184 +#define SSL_R_NO_CIPHER_MATCH 185 +#define SSL_R_NO_CLIENT_CERT_METHOD 331 +#define SSL_R_NO_CLIENT_CERT_RECEIVED 186 +#define SSL_R_NO_COMPRESSION_SPECIFIED 187 +#define SSL_R_NO_METHOD_SPECIFIED 188 +#define SSL_R_NO_PRIVATEKEY 189 +#define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 +#define SSL_R_NO_PROTOCOLS_AVAILABLE 191 +#define SSL_R_NO_PUBLICKEY 192 +#define SSL_R_NO_RENEGOTIATION 339 +#define SSL_R_NO_REQUIRED_DIGEST 324 +#define SSL_R_NO_SHARED_CIPHER 193 +#define SSL_R_NO_SRTP_PROFILES 359 +#define SSL_R_NO_VERIFY_CALLBACK 194 +#define SSL_R_NULL_SSL_CTX 195 +#define SSL_R_NULL_SSL_METHOD_PASSED 196 +#define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 +#define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 +#define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 +#define SSL_R_PACKET_LENGTH_TOO_LONG 198 +#define SSL_R_PARSE_TLSEXT 227 +#define SSL_R_PATH_TOO_LONG 270 +#define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 +#define SSL_R_PEER_ERROR 200 +#define SSL_R_PEER_ERROR_CERTIFICATE 201 +#define SSL_R_PEER_ERROR_NO_CERTIFICATE 202 +#define SSL_R_PEER_ERROR_NO_CIPHER 203 +#define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 204 +#define SSL_R_PRE_MAC_LENGTH_TOO_LONG 205 +#define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206 +#define SSL_R_PROTOCOL_IS_SHUTDOWN 207 +#define SSL_R_PSK_IDENTITY_NOT_FOUND 223 +#define SSL_R_PSK_NO_CLIENT_CB 224 +#define SSL_R_PSK_NO_SERVER_CB 225 +#define SSL_R_PUBLIC_KEY_ENCRYPT_ERROR 208 +#define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209 +#define SSL_R_PUBLIC_KEY_NOT_RSA 210 +#define SSL_R_READ_BIO_NOT_SET 211 +#define SSL_R_READ_TIMEOUT_EXPIRED 312 +#define SSL_R_READ_WRONG_PACKET_TYPE 212 +#define SSL_R_RECORD_LENGTH_MISMATCH 213 +#define SSL_R_RECORD_TOO_LARGE 214 +#define SSL_R_RECORD_TOO_SMALL 298 +#define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 +#define SSL_R_RENEGOTIATION_ENCODING_ERR 336 +#define SSL_R_RENEGOTIATION_MISMATCH 337 +#define SSL_R_REQUIRED_CIPHER_MISSING 215 +#define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342 +#define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216 +#define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217 +#define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218 +#define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 +#define SSL_R_SERVERHELLO_TLSEXT 275 +#define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 +#define SSL_R_SHORT_READ 219 +#define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 +#define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 +#define SSL_R_SRP_A_CALC 361 +#define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 +#define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 +#define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 +#define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 +#define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299 +#define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321 +#define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 +#define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 +#define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 +#define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 +#define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 +#define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 +#define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 +#define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 +#define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 +#define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 +#define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 +#define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 +#define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 +#define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 +#define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 +#define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 +#define SSL_R_SSL_HANDSHAKE_FAILURE 229 +#define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 +#define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 +#define SSL_R_SSL_SESSION_ID_CONFLICT 302 +#define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 +#define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 +#define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231 +#define SSL_R_SSL_SESSION_ID_TOO_LONG 408 +#define SSL_R_TLSV13_ALERT_MISSING_EXTENSION 1109 +#define SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED 1116 +#define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 +#define SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL 1120 +#define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 +#define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 +#define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 +#define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 +#define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086 +#define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 +#define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 +#define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 +#define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 +#define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 +#define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 +#define SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY 1115 +#define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 +#define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 +#define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 +#define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 +#define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 +#define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 +#define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232 +#define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 +#define SSL_R_TLS_HEARTBEAT_PENDING 366 +#define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 +#define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 +#define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233 +#define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234 +#define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236 +#define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313 +#define SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY 237 +#define SSL_R_UNABLE_TO_FIND_DH_PARAMETERS 238 +#define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 +#define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 +#define SSL_R_UNABLE_TO_FIND_SSL_METHOD 240 +#define SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES 241 +#define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 +#define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 +#define SSL_R_UNEXPECTED_MESSAGE 244 +#define SSL_R_UNEXPECTED_RECORD 245 +#define SSL_R_UNINITIALIZED 276 +#define SSL_R_UNKNOWN_ALERT_TYPE 246 +#define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 +#define SSL_R_UNKNOWN_CIPHER_RETURNED 248 +#define SSL_R_UNKNOWN_CIPHER_TYPE 249 +#define SSL_R_UNKNOWN_DIGEST 368 +#define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 +#define SSL_R_UNKNOWN_PKEY_TYPE 251 +#define SSL_R_UNKNOWN_PROTOCOL 252 +#define SSL_R_UNKNOWN_REMOTE_ERROR_TYPE 253 +#define SSL_R_UNKNOWN_SSL_VERSION 254 +#define SSL_R_UNKNOWN_STATE 255 +#define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 +#define SSL_R_UNSUPPORTED_CIPHER 256 +#define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 +#define SSL_R_UNSUPPORTED_DIGEST_TYPE 326 +#define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 +#define SSL_R_UNSUPPORTED_PROTOCOL 258 +#define SSL_R_UNSUPPORTED_SSL_VERSION 259 +#define SSL_R_UNSUPPORTED_STATUS_TYPE 329 +#define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 +#define SSL_R_VERSION_TOO_LOW 396 +#define SSL_R_WRITE_BIO_NOT_SET 260 +#define SSL_R_WRONG_CIPHER_RETURNED 261 +#define SSL_R_WRONG_CURVE 378 +#define SSL_R_WRONG_MESSAGE_TYPE 262 +#define SSL_R_WRONG_NUMBER_OF_KEY_BITS 263 +#define SSL_R_WRONG_SIGNATURE_LENGTH 264 +#define SSL_R_WRONG_SIGNATURE_SIZE 265 +#define SSL_R_WRONG_SIGNATURE_TYPE 370 +#define SSL_R_WRONG_SSL_VERSION 266 +#define SSL_R_WRONG_VERSION_NUMBER 267 +#define SSL_R_X509_LIB 268 +#define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 +#define SSL_R_PEER_BEHAVING_BADLY 666 +#define SSL_R_QUIC_INTERNAL_ERROR 667 +#define SSL_R_WRONG_ENCRYPTION_LEVEL_RECEIVED 668 +#define SSL_R_UNKNOWN 999 + +/* + * OpenSSL compatible OPENSSL_INIT options + */ + +/* + * These are provided for compatibility, but have no effect + * on how LibreSSL is initialized. + */ +#define OPENSSL_INIT_LOAD_SSL_STRINGS _OPENSSL_INIT_FLAG_NOOP +#define OPENSSL_INIT_SSL_DEFAULT _OPENSSL_INIT_FLAG_NOOP + +int OPENSSL_init_ssl(uint64_t opts, const void *settings); +int SSL_library_init(void); + +/* + * A few things still use this without #ifdef guard. + */ + +#define SSL2_VERSION 0x0002 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/ssl3.h b/curl/include/openssl/ssl3.h new file mode 100644 index 0000000..1b1110b --- /dev/null +++ b/curl/include/openssl/ssl3.h @@ -0,0 +1,441 @@ +/* $OpenBSD: ssl3.h,v 1.60 2024/03/02 11:47:41 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECC cipher suite support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_SSL3_H +#define HEADER_SSL3_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TLS_EMPTY_RENEGOTIATION_INFO_SCSV from RFC 5746. */ +#define SSL3_CK_SCSV 0x030000FF + +/* TLS_FALLBACK_SCSV from draft-ietf-tls-downgrade-scsv-03. */ +#define SSL3_CK_FALLBACK_SCSV 0x03005600 + +#define SSL3_CK_RSA_NULL_MD5 0x03000001 +#define SSL3_CK_RSA_NULL_SHA 0x03000002 +#define SSL3_CK_RSA_RC4_40_MD5 0x03000003 +#define SSL3_CK_RSA_RC4_128_MD5 0x03000004 +#define SSL3_CK_RSA_RC4_128_SHA 0x03000005 +#define SSL3_CK_RSA_RC2_40_MD5 0x03000006 +#define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 +#define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 +#define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 +#define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A + +#define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B +#define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C +#define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D +#define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E +#define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F +#define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 + +#define SSL3_CK_EDH_DSS_DES_40_CBC_SHA 0x03000011 +#define SSL3_CK_EDH_DSS_DES_64_CBC_SHA 0x03000012 +#define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 +#define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 +#define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 +#define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 + +#define SSL3_CK_ADH_RC4_40_MD5 0x03000017 +#define SSL3_CK_ADH_RC4_128_MD5 0x03000018 +#define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 +#define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A +#define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B + +/* VRS Additional Kerberos5 entries + */ +#define SSL3_CK_KRB5_DES_64_CBC_SHA 0x0300001E +#define SSL3_CK_KRB5_DES_192_CBC3_SHA 0x0300001F +#define SSL3_CK_KRB5_RC4_128_SHA 0x03000020 +#define SSL3_CK_KRB5_IDEA_128_CBC_SHA 0x03000021 +#define SSL3_CK_KRB5_DES_64_CBC_MD5 0x03000022 +#define SSL3_CK_KRB5_DES_192_CBC3_MD5 0x03000023 +#define SSL3_CK_KRB5_RC4_128_MD5 0x03000024 +#define SSL3_CK_KRB5_IDEA_128_CBC_MD5 0x03000025 + +#define SSL3_CK_KRB5_DES_40_CBC_SHA 0x03000026 +#define SSL3_CK_KRB5_RC2_40_CBC_SHA 0x03000027 +#define SSL3_CK_KRB5_RC4_40_SHA 0x03000028 +#define SSL3_CK_KRB5_DES_40_CBC_MD5 0x03000029 +#define SSL3_CK_KRB5_RC2_40_CBC_MD5 0x0300002A +#define SSL3_CK_KRB5_RC4_40_MD5 0x0300002B + +#define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" +#define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" +#define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" +#define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" +#define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" +#define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" +#define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" +#define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" +#define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" +#define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" + +#define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" +#define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" +#define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" +#define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" +#define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" +#define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" + +#define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" +#define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" +#define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" +#define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" +#define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" +#define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" + +#define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" +#define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" +#define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" +#define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" +#define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" + +#define SSL3_TXT_KRB5_DES_64_CBC_SHA "KRB5-DES-CBC-SHA" +#define SSL3_TXT_KRB5_DES_192_CBC3_SHA "KRB5-DES-CBC3-SHA" +#define SSL3_TXT_KRB5_RC4_128_SHA "KRB5-RC4-SHA" +#define SSL3_TXT_KRB5_IDEA_128_CBC_SHA "KRB5-IDEA-CBC-SHA" +#define SSL3_TXT_KRB5_DES_64_CBC_MD5 "KRB5-DES-CBC-MD5" +#define SSL3_TXT_KRB5_DES_192_CBC3_MD5 "KRB5-DES-CBC3-MD5" +#define SSL3_TXT_KRB5_RC4_128_MD5 "KRB5-RC4-MD5" +#define SSL3_TXT_KRB5_IDEA_128_CBC_MD5 "KRB5-IDEA-CBC-MD5" + +#define SSL3_TXT_KRB5_DES_40_CBC_SHA "EXP-KRB5-DES-CBC-SHA" +#define SSL3_TXT_KRB5_RC2_40_CBC_SHA "EXP-KRB5-RC2-CBC-SHA" +#define SSL3_TXT_KRB5_RC4_40_SHA "EXP-KRB5-RC4-SHA" +#define SSL3_TXT_KRB5_DES_40_CBC_MD5 "EXP-KRB5-DES-CBC-MD5" +#define SSL3_TXT_KRB5_RC2_40_CBC_MD5 "EXP-KRB5-RC2-CBC-MD5" +#define SSL3_TXT_KRB5_RC4_40_MD5 "EXP-KRB5-RC4-MD5" + +#define SSL3_SSL_SESSION_ID_LENGTH 32 +#define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 + +#define SSL3_MASTER_SECRET_SIZE 48 +#define SSL3_RANDOM_SIZE 32 +#define SSL3_SEQUENCE_SIZE 8 +#define SSL3_SESSION_ID_SIZE 32 +#define SSL3_CIPHER_VALUE_SIZE 2 + +#define SSL3_RT_HEADER_LENGTH 5 +#define SSL3_HM_HEADER_LENGTH 4 + +#define SSL3_ALIGN_PAYLOAD 8 + +/* This is the maximum MAC (digest) size used by the SSL library. + * Currently maximum of 20 is used by SHA1, but we reserve for + * future extension for 512-bit hashes. + */ + +#define SSL3_RT_MAX_MD_SIZE 64 + +/* Maximum block size used in all ciphersuites. Currently 16 for AES. + */ + +#define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 + +#define SSL3_RT_MAX_EXTRA (16384) + +/* Maximum plaintext length: defined by SSL/TLS standards */ +#define SSL3_RT_MAX_PLAIN_LENGTH 16384 +/* Maximum compression overhead: defined by SSL/TLS standards */ +#define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 + +/* The standards give a maximum encryption overhead of 1024 bytes. + * In practice the value is lower than this. The overhead is the maximum + * number of padding bytes (256) plus the mac size. + */ +#define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) + +/* OpenSSL currently only uses a padding length of at most one block so + * the send overhead is smaller. + */ + +#define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ + (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) + +/* If compression isn't used don't include the compression overhead */ +#define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH +#define SSL3_RT_MAX_ENCRYPTED_LENGTH \ + (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) +#define SSL3_RT_MAX_PACKET_SIZE \ + (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) + +#define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" +#define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" + +#define SSL3_VERSION 0x0300 +#define SSL3_VERSION_MAJOR 0x03 +#define SSL3_VERSION_MINOR 0x00 + +#define SSL3_RT_CHANGE_CIPHER_SPEC 20 +#define SSL3_RT_ALERT 21 +#define SSL3_RT_HANDSHAKE 22 +#define SSL3_RT_APPLICATION_DATA 23 + +#define SSL3_AL_WARNING 1 +#define SSL3_AL_FATAL 2 + +#ifndef LIBRESSL_INTERNAL +#define SSL3_AD_CLOSE_NOTIFY 0 +#define SSL3_AD_UNEXPECTED_MESSAGE 10 /* fatal */ +#define SSL3_AD_BAD_RECORD_MAC 20 /* fatal */ +#define SSL3_AD_DECOMPRESSION_FAILURE 30 /* fatal */ +#define SSL3_AD_HANDSHAKE_FAILURE 40 /* fatal */ +#define SSL3_AD_NO_CERTIFICATE 41 +#define SSL3_AD_BAD_CERTIFICATE 42 +#define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 +#define SSL3_AD_CERTIFICATE_REVOKED 44 +#define SSL3_AD_CERTIFICATE_EXPIRED 45 +#define SSL3_AD_CERTIFICATE_UNKNOWN 46 +#define SSL3_AD_ILLEGAL_PARAMETER 47 /* fatal */ +#endif + +#define TLS1_HB_REQUEST 1 +#define TLS1_HB_RESPONSE 2 + +#define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 +#define TLS1_FLAGS_FREEZE_TRANSCRIPT 0x0020 +#define SSL3_FLAGS_CCS_OK 0x0080 + +/* SSLv3 */ +/*client */ +/* extra state */ +#define SSL3_ST_CW_FLUSH (0x100|SSL_ST_CONNECT) +/* write to server */ +#define SSL3_ST_CW_CLNT_HELLO_A (0x110|SSL_ST_CONNECT) +#define SSL3_ST_CW_CLNT_HELLO_B (0x111|SSL_ST_CONNECT) +/* read from server */ +#define SSL3_ST_CR_SRVR_HELLO_A (0x120|SSL_ST_CONNECT) +#define SSL3_ST_CR_SRVR_HELLO_B (0x121|SSL_ST_CONNECT) +#define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A (0x126|SSL_ST_CONNECT) +#define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B (0x127|SSL_ST_CONNECT) +#define SSL3_ST_CR_CERT_A (0x130|SSL_ST_CONNECT) +#define SSL3_ST_CR_CERT_B (0x131|SSL_ST_CONNECT) +#define SSL3_ST_CR_KEY_EXCH_A (0x140|SSL_ST_CONNECT) +#define SSL3_ST_CR_KEY_EXCH_B (0x141|SSL_ST_CONNECT) +#define SSL3_ST_CR_CERT_REQ_A (0x150|SSL_ST_CONNECT) +#define SSL3_ST_CR_CERT_REQ_B (0x151|SSL_ST_CONNECT) +#define SSL3_ST_CR_SRVR_DONE_A (0x160|SSL_ST_CONNECT) +#define SSL3_ST_CR_SRVR_DONE_B (0x161|SSL_ST_CONNECT) +/* write to server */ +#define SSL3_ST_CW_CERT_A (0x170|SSL_ST_CONNECT) +#define SSL3_ST_CW_CERT_B (0x171|SSL_ST_CONNECT) +#define SSL3_ST_CW_CERT_C (0x172|SSL_ST_CONNECT) +#define SSL3_ST_CW_CERT_D (0x173|SSL_ST_CONNECT) +#define SSL3_ST_CW_KEY_EXCH_A (0x180|SSL_ST_CONNECT) +#define SSL3_ST_CW_KEY_EXCH_B (0x181|SSL_ST_CONNECT) +#define SSL3_ST_CW_CERT_VRFY_A (0x190|SSL_ST_CONNECT) +#define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT) +#define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT) +#define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT) +#define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) +#define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) +/* read from server */ +#define SSL3_ST_CR_CHANGE_A (0x1C0|SSL_ST_CONNECT) +#define SSL3_ST_CR_CHANGE_B (0x1C1|SSL_ST_CONNECT) +#define SSL3_ST_CR_FINISHED_A (0x1D0|SSL_ST_CONNECT) +#define SSL3_ST_CR_FINISHED_B (0x1D1|SSL_ST_CONNECT) +#define SSL3_ST_CR_SESSION_TICKET_A (0x1E0|SSL_ST_CONNECT) +#define SSL3_ST_CR_SESSION_TICKET_B (0x1E1|SSL_ST_CONNECT) +#define SSL3_ST_CR_CERT_STATUS_A (0x1F0|SSL_ST_CONNECT) +#define SSL3_ST_CR_CERT_STATUS_B (0x1F1|SSL_ST_CONNECT) + +/* server */ +/* extra state */ +#define SSL3_ST_SW_FLUSH (0x100|SSL_ST_ACCEPT) +/* read from client */ +/* Do not change the number values, they do matter */ +#define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CLNT_HELLO_B (0x111|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CLNT_HELLO_C (0x112|SSL_ST_ACCEPT) +/* write to client */ +#define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A (0x113|SSL_ST_ACCEPT) +#define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B (0x114|SSL_ST_ACCEPT) +#define SSL3_ST_SW_HELLO_REQ_A (0x120|SSL_ST_ACCEPT) +#define SSL3_ST_SW_HELLO_REQ_B (0x121|SSL_ST_ACCEPT) +#define SSL3_ST_SW_HELLO_REQ_C (0x122|SSL_ST_ACCEPT) +#define SSL3_ST_SW_SRVR_HELLO_A (0x130|SSL_ST_ACCEPT) +#define SSL3_ST_SW_SRVR_HELLO_B (0x131|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CERT_A (0x140|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CERT_B (0x141|SSL_ST_ACCEPT) +#define SSL3_ST_SW_KEY_EXCH_A (0x150|SSL_ST_ACCEPT) +#define SSL3_ST_SW_KEY_EXCH_B (0x151|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CERT_REQ_A (0x160|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CERT_REQ_B (0x161|SSL_ST_ACCEPT) +#define SSL3_ST_SW_SRVR_DONE_A (0x170|SSL_ST_ACCEPT) +#define SSL3_ST_SW_SRVR_DONE_B (0x171|SSL_ST_ACCEPT) +/* read from client */ +#define SSL3_ST_SR_CERT_A (0x180|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CERT_B (0x181|SSL_ST_ACCEPT) +#define SSL3_ST_SR_KEY_EXCH_A (0x190|SSL_ST_ACCEPT) +#define SSL3_ST_SR_KEY_EXCH_B (0x191|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CERT_VRFY_A (0x1A0|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT) +#define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT) +#define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) +#define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) +/* write to client */ +#define SSL3_ST_SW_CHANGE_A (0x1D0|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CHANGE_B (0x1D1|SSL_ST_ACCEPT) +#define SSL3_ST_SW_FINISHED_A (0x1E0|SSL_ST_ACCEPT) +#define SSL3_ST_SW_FINISHED_B (0x1E1|SSL_ST_ACCEPT) +#define SSL3_ST_SW_SESSION_TICKET_A (0x1F0|SSL_ST_ACCEPT) +#define SSL3_ST_SW_SESSION_TICKET_B (0x1F1|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CERT_STATUS_A (0x200|SSL_ST_ACCEPT) +#define SSL3_ST_SW_CERT_STATUS_B (0x201|SSL_ST_ACCEPT) + +#define SSL3_MT_HELLO_REQUEST 0 +#define SSL3_MT_CLIENT_HELLO 1 +#define SSL3_MT_SERVER_HELLO 2 +#define SSL3_MT_NEWSESSION_TICKET 4 +#define SSL3_MT_CERTIFICATE 11 +#define SSL3_MT_SERVER_KEY_EXCHANGE 12 +#define SSL3_MT_CERTIFICATE_REQUEST 13 +#define SSL3_MT_SERVER_DONE 14 +#define SSL3_MT_CERTIFICATE_VERIFY 15 +#define SSL3_MT_CLIENT_KEY_EXCHANGE 16 +#define SSL3_MT_FINISHED 20 +#define SSL3_MT_CERTIFICATE_STATUS 22 + +#define DTLS1_MT_HELLO_VERIFY_REQUEST 3 + +#define SSL3_MT_CCS 1 + +#ifndef LIBRESSL_INTERNAL +/* These are used when changing over to a new cipher */ +#define SSL3_CC_READ 0x01 +#define SSL3_CC_WRITE 0x02 +#define SSL3_CC_CLIENT 0x10 +#define SSL3_CC_SERVER 0x20 +#define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) +#define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) +#define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) +#define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/stack.h b/curl/include/openssl/stack.h new file mode 100644 index 0000000..783ccb4 --- /dev/null +++ b/curl/include/openssl/stack.h @@ -0,0 +1,99 @@ +/* $OpenBSD: stack.h,v 1.11 2024/03/02 11:20:36 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_STACK_H +#define HEADER_STACK_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct stack_st _STACK; + +#define M_sk_num(sk) ((sk) ? (sk)->num:-1) +#define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) + +int sk_num(const _STACK *); +void *sk_value(const _STACK *, int); + +void *sk_set(_STACK *, int, void *); + +_STACK *sk_new(int (*cmp)(const void *, const void *)); +_STACK *sk_new_null(void); +void sk_free(_STACK *); +void sk_pop_free(_STACK *st, void (*func)(void *)); +int sk_insert(_STACK *sk, void *data, int where); +void *sk_delete(_STACK *st, int loc); +void *sk_delete_ptr(_STACK *st, void *p); +int sk_find(_STACK *st, void *data); +int sk_push(_STACK *st, void *data); +int sk_unshift(_STACK *st, void *data); +void *sk_shift(_STACK *st); +void *sk_pop(_STACK *st); +void sk_zero(_STACK *st); +int (*sk_set_cmp_func(_STACK *sk, int (*c)(const void *, const void *)))( + const void *, const void *); +_STACK *sk_dup(_STACK *st); +void sk_sort(_STACK *st); +int sk_is_sorted(const _STACK *st); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/tls1.h b/curl/include/openssl/tls1.h new file mode 100644 index 0000000..d018fce --- /dev/null +++ b/curl/include/openssl/tls1.h @@ -0,0 +1,764 @@ +/* $OpenBSD: tls1.h,v 1.60 2024/10/23 01:57:19 jsg Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * + * Portions of the attached software ("Contribution") are developed by + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + * + * The Contribution is licensed pursuant to the OpenSSL open source + * license provided above. + * + * ECC cipher suite support in OpenSSL originally written by + * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. + * + */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ + +#ifndef HEADER_TLS1_H +#define HEADER_TLS1_H + +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define OPENSSL_TLS_SECURITY_LEVEL 1 + +#define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 + +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define TLS1_3_VERSION 0x0304 +#endif + +#define TLS1_2_VERSION 0x0303 +#define TLS1_2_VERSION_MAJOR 0x03 +#define TLS1_2_VERSION_MINOR 0x03 + +#define TLS1_1_VERSION 0x0302 +#define TLS1_1_VERSION_MAJOR 0x03 +#define TLS1_1_VERSION_MINOR 0x02 + +#define TLS1_VERSION 0x0301 +#define TLS1_VERSION_MAJOR 0x03 +#define TLS1_VERSION_MINOR 0x01 + +#ifndef LIBRESSL_INTERNAL +#define TLS1_AD_DECRYPTION_FAILED 21 +#define TLS1_AD_RECORD_OVERFLOW 22 +#define TLS1_AD_UNKNOWN_CA 48 /* fatal */ +#define TLS1_AD_ACCESS_DENIED 49 /* fatal */ +#define TLS1_AD_DECODE_ERROR 50 /* fatal */ +#define TLS1_AD_DECRYPT_ERROR 51 +#define TLS1_AD_EXPORT_RESTRICTION 60 /* fatal */ +#define TLS1_AD_PROTOCOL_VERSION 70 /* fatal */ +#define TLS1_AD_INSUFFICIENT_SECURITY 71 /* fatal */ +#define TLS1_AD_INTERNAL_ERROR 80 /* fatal */ +/* Code 86 from RFC 7507. */ +#define TLS1_AD_INAPPROPRIATE_FALLBACK 86 /* fatal */ +#define TLS1_AD_USER_CANCELLED 90 +#define TLS1_AD_NO_RENEGOTIATION 100 +/* Codes 110-114 from RFC 3546. */ +#define TLS1_AD_UNSUPPORTED_EXTENSION 110 +#define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 +#define TLS1_AD_UNRECOGNIZED_NAME 112 +#define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 +#define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 +/* Code 115 from RFC 4279. */ +#define TLS1_AD_UNKNOWN_PSK_IDENTITY 115 /* fatal */ +#endif + +/* + * TLS ExtensionType values. + * + * https://www.iana.org/assignments/tls-extensiontype-values/ + */ + +/* ExtensionType values from RFC 3546, RFC 4366 and RFC 6066. */ +#define TLSEXT_TYPE_server_name 0 +#define TLSEXT_TYPE_max_fragment_length 1 +#define TLSEXT_TYPE_client_certificate_url 2 +#define TLSEXT_TYPE_trusted_ca_keys 3 +#define TLSEXT_TYPE_truncated_hmac 4 +#define TLSEXT_TYPE_status_request 5 + +/* ExtensionType values from RFC 4681. */ +#define TLSEXT_TYPE_user_mapping 6 + +/* ExtensionType values from RFC 5878. */ +#define TLSEXT_TYPE_client_authz 7 +#define TLSEXT_TYPE_server_authz 8 + +/* ExtensionType values from RFC 6091. */ +#define TLSEXT_TYPE_cert_type 9 + +/* ExtensionType values from RFC 7919. */ +#define TLSEXT_TYPE_supported_groups 10 + +/* ExtensionType values from RFC 4492. */ +#ifndef LIBRESSL_INTERNAL +#define TLSEXT_TYPE_elliptic_curves TLSEXT_TYPE_supported_groups +#endif +#define TLSEXT_TYPE_ec_point_formats 11 + +/* ExtensionType value from RFC 5054. */ +#define TLSEXT_TYPE_srp 12 + +/* ExtensionType value from RFC 5246/RFC 8446. */ +#define TLSEXT_TYPE_signature_algorithms 13 + +/* ExtensionType value from RFC 5764. */ +#define TLSEXT_TYPE_use_srtp 14 + +/* ExtensionType value from RFC 5620. */ +#define TLSEXT_TYPE_heartbeat 15 + +/* ExtensionType value from RFC 7301. */ +#define TLSEXT_TYPE_application_layer_protocol_negotiation 16 + +/* ExtensionType value from RFC 7685. */ +#define TLSEXT_TYPE_padding 21 + +/* ExtensionType value from RFC 4507. */ +#define TLSEXT_TYPE_session_ticket 35 + +/* ExtensionType values from RFC 8446 section 4.2 */ +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define TLSEXT_TYPE_pre_shared_key 41 +#define TLSEXT_TYPE_early_data 42 +#define TLSEXT_TYPE_supported_versions 43 +#define TLSEXT_TYPE_cookie 44 +#define TLSEXT_TYPE_psk_key_exchange_modes 45 +#define TLSEXT_TYPE_certificate_authorities 47 +#define TLSEXT_TYPE_oid_filters 48 +#define TLSEXT_TYPE_post_handshake_auth 49 +#define TLSEXT_TYPE_signature_algorithms_cert 50 +#define TLSEXT_TYPE_key_share 51 +#endif + +/* ExtensionType value from RFC 9001 section 8.2 */ +#if defined(LIBRESSL_HAS_QUIC) || defined(LIBRESSL_INTERNAL) +#define TLSEXT_TYPE_quic_transport_parameters 57 +#endif + +/* + * TLS 1.3 extension names from OpenSSL, where they decided to use a different + * name from that given in RFC 8446. + */ +#if defined(LIBRESSL_HAS_TLS1_3) +#define TLSEXT_TYPE_psk TLSEXT_TYPE_pre_shared_key +#define TLSEXT_TYPE_psk_kex_modes TLSEXT_TYPE_psk_key_exchange_modes +#endif + +/* Temporary extension type */ +#define TLSEXT_TYPE_renegotiate 0xff01 + +/* NameType value from RFC 3546. */ +#define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC 3546 */ +#define TLSEXT_STATUSTYPE_ocsp 1 + +/* ECPointFormat values from RFC 4492. */ +#define TLSEXT_ECPOINTFORMAT_first 0 +#define TLSEXT_ECPOINTFORMAT_uncompressed 0 +#define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 +#define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 +#define TLSEXT_ECPOINTFORMAT_last 2 + +#define TLSEXT_MAXLEN_host_name 255 + +const char *SSL_get_servername(const SSL *s, const int type); +int SSL_get_servername_type(const SSL *s); +/* SSL_export_keying_material exports a value derived from the master secret, + * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and + * optional context. (Since a zero length context is allowed, the |use_context| + * flag controls whether a context is included.) + * + * It returns 1 on success and zero otherwise. + */ +int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, + const char *label, size_t llen, const unsigned char *p, size_t plen, + int use_context); + +int SSL_get_signature_type_nid(const SSL *ssl, int *nid); +int SSL_get_peer_signature_type_nid(const SSL *ssl, int *nid); + +#define SSL_set_tlsext_host_name(s,name) \ +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name) + +#define SSL_set_tlsext_debug_callback(ssl, cb) \ +SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,(void (*)(void))cb) + +#define SSL_set_tlsext_debug_arg(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0, (void *)arg) + +#define SSL_get_tlsext_status_type(ssl) \ +SSL_ctrl(ssl, SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE, 0, NULL) + +#define SSL_set_tlsext_status_type(ssl, type) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type, NULL) + +#define SSL_get_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +#define SSL_set_tlsext_status_exts(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) + +#define SSL_get_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +#define SSL_set_tlsext_status_ids(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) + +#define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ +SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0, (void *)arg) + +#define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen, (void *)arg) + +#define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb) + +#define SSL_TLSEXT_ERR_OK 0 +#define SSL_TLSEXT_ERR_ALERT_WARNING 1 +#define SSL_TLSEXT_ERR_ALERT_FATAL 2 +#define SSL_TLSEXT_ERR_NOACK 3 + +#define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) + +#define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLSEXT_TICKET_KEYS,(keylen),(keys)) +#define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLSEXT_TICKET_KEYS,(keylen),(keys)) + +#define SSL_CTX_get_tlsext_status_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) +#define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) + +#define SSL_CTX_get_tlsext_status_arg(ssl, arg) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG,0,(void *)arg) +#define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ +SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0,(void *)arg) + +#define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) + +/* PSK ciphersuites from RFC 4279. */ +#define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A +#define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B +#define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C +#define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D + +/* Additional TLS ciphersuites from expired Internet Draft + * draft-ietf-tls-56-bit-ciphersuites-01.txt + * (available if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see + * s3_lib.c). We actually treat them like SSL 3.0 ciphers, which we probably + * shouldn't. Note that the first two are actually not in the IDs. */ +#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060 /* not in ID */ +#define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061 /* not in ID */ +#define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 +#define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 +#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 +#define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 +#define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 + +/* AES ciphersuites from RFC 3268. */ + +#define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F +#define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 +#define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 +#define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 +#define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 +#define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 + +#define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 +#define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 +#define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 +#define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 +#define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 +#define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A + +/* TLS v1.2 ciphersuites */ +#define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B +#define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C +#define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D +#define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E +#define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F +#define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 + +/* Camellia ciphersuites from RFC 4132. */ +#define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 +#define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 +#define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 +#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 +#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 +#define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 + +/* TLS v1.2 ciphersuites */ +#define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 +#define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 +#define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 +#define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A +#define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B +#define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C +#define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D + +/* Camellia ciphersuites from RFC 4132. */ +#define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 +#define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 +#define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 +#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 +#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 +#define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 + +/* SEED ciphersuites from RFC 4162. */ +#define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 +#define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 +#define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 +#define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 +#define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A +#define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B + +/* TLS v1.2 GCM ciphersuites from RFC 5288. */ +#define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C +#define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D +#define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E +#define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F +#define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 +#define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 +#define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 +#define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 +#define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 +#define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 +#define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 +#define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 + +/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ +#define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BA +#define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BB +#define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BC +#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x030000BD +#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x030000BE +#define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA256 0x030000BF + +#define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C0 +#define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C1 +#define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C2 +#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x030000C3 +#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x030000C4 +#define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA256 0x030000C5 + +/* TLS 1.3 cipher suites from RFC 8446 appendix B.4. */ +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define TLS1_3_CK_AES_128_GCM_SHA256 0x03001301 +#define TLS1_3_CK_AES_256_GCM_SHA384 0x03001302 +#define TLS1_3_CK_CHACHA20_POLY1305_SHA256 0x03001303 +#define TLS1_3_CK_AES_128_CCM_SHA256 0x03001304 +#define TLS1_3_CK_AES_128_CCM_8_SHA256 0x03001305 +#endif + +/* ECC ciphersuites from RFC 4492. */ +#define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 +#define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 +#define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 +#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 +#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 + +#define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 +#define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 +#define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A + +#define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B +#define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C +#define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D +#define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E +#define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F + +#define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 +#define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 +#define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 +#define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 +#define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 + +#define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 +#define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 +#define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 +#define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 +#define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 + +/* SRP ciphersuites from RFC 5054. */ +#define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A +#define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B +#define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C +#define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D +#define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E +#define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F +#define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 +#define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 +#define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 + +/* ECDH HMAC based ciphersuites from RFC 5289. */ +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 +#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 +#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 +#define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 +#define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 +#define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 +#define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A + +/* ECDH GCM based ciphersuites from RFC 5289. */ +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C +#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D +#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E +#define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F +#define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 +#define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 +#define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 + +/* ChaCha20-Poly1305 based ciphersuites. */ +#define TLS1_CK_ECDHE_RSA_CHACHA20_POLY1305 0x0300CCA8 +#define TLS1_CK_ECDHE_ECDSA_CHACHA20_POLY1305 0x0300CCA9 +#define TLS1_CK_DHE_RSA_CHACHA20_POLY1305 0x0300CCAA + +#define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" +#define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" +#define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" +#define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA" +#define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" +#define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" +#define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" + +/* AES ciphersuites from RFC 3268. */ +#define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" +#define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" +#define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" +#define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" +#define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" +#define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" + +#define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" +#define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" +#define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" +#define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" +#define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" +#define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" + +/* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001) */ +#define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" +#define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" +#define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" + +#define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" +#define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" +#define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" + +#define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" +#define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" +#define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" +#define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" +#define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" + +#define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" +#define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" +#define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" +#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" +#define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" + +#define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" +#define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" +#define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" +#define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" +#define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" + +/* PSK ciphersuites from RFC 4279. */ +#define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" +#define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" +#define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" +#define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" + +/* SRP ciphersuite from RFC 5054. */ +#define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" +#define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" +#define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" +#define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" +#define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" +#define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" +#define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" +#define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" +#define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" + +/* Camellia ciphersuites from RFC 4132. */ +#define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" +#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" +#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" +#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" +#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" +#define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" + +#define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" +#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" +#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" +#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" +#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" +#define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" + +/* TLS 1.2 Camellia SHA-256 ciphersuites from RFC5932 */ +#define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA256 "CAMELLIA128-SHA256" +#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DH-DSS-CAMELLIA128-SHA256" +#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DH-RSA-CAMELLIA128-SHA256" +#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 "DHE-DSS-CAMELLIA128-SHA256" +#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 "DHE-RSA-CAMELLIA128-SHA256" +#define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA256 "ADH-CAMELLIA128-SHA256" + +#define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA256 "CAMELLIA256-SHA256" +#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DH-DSS-CAMELLIA256-SHA256" +#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DH-RSA-CAMELLIA256-SHA256" +#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 "DHE-DSS-CAMELLIA256-SHA256" +#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 "DHE-RSA-CAMELLIA256-SHA256" +#define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA256 "ADH-CAMELLIA256-SHA256" + +/* SEED ciphersuites from RFC 4162. */ +#define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" +#define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" +#define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" +#define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" +#define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" +#define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" + +/* TLS v1.2 ciphersuites. */ +#define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" +#define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" +#define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" +#define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" +#define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" +#define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" +#define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" +#define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" +#define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" +#define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" +#define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" +#define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" +#define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" + +/* TLS v1.2 GCM ciphersuites from RFC 5288. */ +#define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" +#define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" +#define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" +#define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" +#define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" +#define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" +#define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" +#define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" +#define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" +#define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" +#define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" +#define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" + +/* ECDH HMAC based ciphersuites from RFC 5289. */ +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" +#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" +#define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" +#define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" +#define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" + +/* ECDH GCM based ciphersuites from RFC 5289. */ +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" +#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" +#define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" +#define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" +#define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" + +/* ChaCha20-Poly1305 based ciphersuites. */ +#define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305 "ECDHE-RSA-CHACHA20-POLY1305" +#define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 "ECDHE-ECDSA-CHACHA20-POLY1305" +#define TLS1_TXT_DHE_RSA_WITH_CHACHA20_POLY1305 "DHE-RSA-CHACHA20-POLY1305" + +/* TLS 1.3 cipher suites from RFC 8446 appendix B.4. */ +#if defined(LIBRESSL_HAS_TLS1_3) || defined(LIBRESSL_INTERNAL) +#define TLS1_3_TXT_AES_128_GCM_SHA256 "AEAD-AES128-GCM-SHA256" +#define TLS1_3_TXT_AES_256_GCM_SHA384 "AEAD-AES256-GCM-SHA384" +#define TLS1_3_TXT_CHACHA20_POLY1305_SHA256 "AEAD-CHACHA20-POLY1305-SHA256" +#define TLS1_3_TXT_AES_128_CCM_SHA256 "AEAD-AES128-CCM-SHA256" +#define TLS1_3_TXT_AES_128_CCM_8_SHA256 "AEAD-AES128-CCM-8-SHA256" + +#define TLS1_3_RFC_AES_128_GCM_SHA256 "TLS_AES_128_GCM_SHA256" +#define TLS1_3_RFC_AES_256_GCM_SHA384 "TLS_AES_256_GCM_SHA384" +#define TLS1_3_RFC_CHACHA20_POLY1305_SHA256 "TLS_CHACHA20_POLY1305_SHA256" +#define TLS1_3_RFC_AES_128_CCM_SHA256 "TLS_AES_128_CCM_SHA256" +#define TLS1_3_RFC_AES_128_CCM_8_SHA256 "TLS_AES_128_CCM_8_SHA256" +#endif + +#define TLS1_FINISH_MAC_LENGTH 12 + +#define TLS_MD_MAX_CONST_SIZE 20 +#define TLS_MD_CLIENT_FINISH_CONST "client finished" +#define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 +#define TLS_MD_SERVER_FINISH_CONST "server finished" +#define TLS_MD_SERVER_FINISH_CONST_SIZE 15 +#define TLS_MD_KEY_EXPANSION_CONST "key expansion" +#define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 +#define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" +#define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 +#define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" +#define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 +#define TLS_MD_IV_BLOCK_CONST "IV block" +#define TLS_MD_IV_BLOCK_CONST_SIZE 8 +#define TLS_MD_MASTER_SECRET_CONST "master secret" +#define TLS_MD_MASTER_SECRET_CONST_SIZE 13 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/ts.h b/curl/include/openssl/ts.h new file mode 100644 index 0000000..c2b2a9e --- /dev/null +++ b/curl/include/openssl/ts.h @@ -0,0 +1,660 @@ +/* $OpenBSD: ts.h,v 1.24 2024/03/26 00:39:22 beck Exp $ */ +/* Written by Zoltan Glozik (zglozik@opentsa.org) for the OpenSSL + * project 2002, 2003, 2004. + */ +/* ==================================================================== + * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_TS_H +#define HEADER_TS_H + +#include + +#ifndef OPENSSL_NO_BUFFER +#include +#endif +#ifndef OPENSSL_NO_EVP +#include +#endif +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include +#include + +#ifndef OPENSSL_NO_RSA +#include +#endif + +#ifndef OPENSSL_NO_DSA +#include +#endif + +#ifndef OPENSSL_NO_DH +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +typedef struct TS_msg_imprint_st TS_MSG_IMPRINT; +typedef struct TS_req_st TS_REQ; +typedef struct TS_accuracy_st TS_ACCURACY; +typedef struct TS_tst_info_st TS_TST_INFO; + +/* Possible values for status. */ +#define TS_STATUS_GRANTED 0 +#define TS_STATUS_GRANTED_WITH_MODS 1 +#define TS_STATUS_REJECTION 2 +#define TS_STATUS_WAITING 3 +#define TS_STATUS_REVOCATION_WARNING 4 +#define TS_STATUS_REVOCATION_NOTIFICATION 5 + +/* Possible values for failure_info. */ +#define TS_INFO_BAD_ALG 0 +#define TS_INFO_BAD_REQUEST 2 +#define TS_INFO_BAD_DATA_FORMAT 5 +#define TS_INFO_TIME_NOT_AVAILABLE 14 +#define TS_INFO_UNACCEPTED_POLICY 15 +#define TS_INFO_UNACCEPTED_EXTENSION 16 +#define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 +#define TS_INFO_SYSTEM_FAILURE 25 + +typedef struct TS_status_info_st TS_STATUS_INFO; + +DECLARE_STACK_OF(ASN1_UTF8STRING) + +typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; +typedef struct ESS_cert_id ESS_CERT_ID; +DECLARE_STACK_OF(ESS_CERT_ID) +typedef struct ESS_signing_cert ESS_SIGNING_CERT; + +typedef struct ESS_cert_id_v2 ESS_CERT_ID_V2; +DECLARE_STACK_OF(ESS_CERT_ID_V2) + +typedef struct ESS_signing_cert_v2 ESS_SIGNING_CERT_V2; + +typedef struct TS_resp_st TS_RESP; + +TS_REQ *TS_REQ_new(void); +void TS_REQ_free(TS_REQ *a); +int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); +TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); + +TS_REQ *TS_REQ_dup(TS_REQ *a); + +TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); +int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); +TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); +int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); +void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, + const unsigned char **pp, long length); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); + +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT **a); +int i2d_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT *a); + +TS_RESP *TS_RESP_new(void); +void TS_RESP_free(TS_RESP *a); +int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); +TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_RESP *TS_RESP_dup(TS_RESP *a); + +TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); +int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); +TS_RESP *d2i_TS_RESP_bio(BIO *fp, TS_RESP **a); +int i2d_TS_RESP_bio(BIO *fp, TS_RESP *a); + +TS_STATUS_INFO *TS_STATUS_INFO_new(void); +void TS_STATUS_INFO_free(TS_STATUS_INFO *a); +int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); +TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, + const unsigned char **pp, long length); +TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); + +TS_TST_INFO *TS_TST_INFO_new(void); +void TS_TST_INFO_free(TS_TST_INFO *a); +int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); +TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, + long length); +TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); + +TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); +TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO **a); +int i2d_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO *a); + +TS_ACCURACY *TS_ACCURACY_new(void); +void TS_ACCURACY_free(TS_ACCURACY *a); +int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); +TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, + long length); +TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); + +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); +void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); +int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, + unsigned char **pp); +ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, + const unsigned char **pp, long length); +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); + +ESS_CERT_ID *ESS_CERT_ID_new(void); +void ESS_CERT_ID_free(ESS_CERT_ID *a); +int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); +ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, + long length); +ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); + +ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); +void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); +int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, + unsigned char **pp); +ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, + const unsigned char **pp, long length); +ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); + +int TS_REQ_set_version(TS_REQ *a, long version); +long TS_REQ_get_version(const TS_REQ *a); + +int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); + +int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); +X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); + +int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); +ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); + +int TS_REQ_set_policy_id(TS_REQ *a, const ASN1_OBJECT *policy); +ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); + +int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); + +int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); +int TS_REQ_get_cert_req(const TS_REQ *a); + +STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); +void TS_REQ_ext_free(TS_REQ *a); +int TS_REQ_get_ext_count(TS_REQ *a); +int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); +int TS_REQ_get_ext_by_OBJ(TS_REQ *a, const ASN1_OBJECT *obj, int lastpos); +int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); +X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); +X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); +int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); +void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); + +/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ + +int TS_REQ_print_bio(BIO *bio, TS_REQ *a); + +/* Function declarations for TS_RESP defined in ts/ts_rsp_utils.c */ + +int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); +TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); + +const ASN1_UTF8STRING *TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO *si); +const STACK_OF(ASN1_UTF8STRING) * + TS_STATUS_INFO_get0_text(const TS_STATUS_INFO *si); +const ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO *si); +int TS_STATUS_INFO_set_status(TS_STATUS_INFO *si, int i); + +/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ +void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); +PKCS7 *TS_RESP_get_token(TS_RESP *a); +TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); + +int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); +long TS_TST_INFO_get_version(const TS_TST_INFO *a); + +int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); +ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); + +int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); +TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); + +int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); +const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); + +int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); +const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); + +int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); +TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); + +int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); +const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); + +int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); +const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); + +int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); +const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); + +int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); +int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); + +int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); +const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); + +int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); +GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); + +STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); +void TS_TST_INFO_ext_free(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); +int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); +int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, const ASN1_OBJECT *obj, + int lastpos); +int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); +X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); +X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); +int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); +void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); + +/* Declarations related to response generation, defined in ts/ts_rsp_sign.c. */ + +/* Optional flags for response generation. */ + +/* Don't include the TSA name in response. */ +#define TS_TSA_NAME 0x01 + +/* Set ordering to true in response. */ +#define TS_ORDERING 0x02 + +/* + * Include the signer certificate and the other specified certificates in + * the ESS signing certificate attribute beside the PKCS7 signed data. + * Only the signer certificates is included by default. + */ +#define TS_ESS_CERT_ID_CHAIN 0x04 + +/* Forward declaration. */ +struct TS_resp_ctx; + +/* This must return a unique number less than 160 bits long. */ +typedef ASN1_INTEGER *(*TS_serial_cb)(struct TS_resp_ctx *, void *); + +/* This must return the seconds and microseconds since Jan 1, 1970 in + the sec and usec variables allocated by the caller. + Return non-zero for success and zero for failure. */ +typedef int (*TS_time_cb)(struct TS_resp_ctx *, void *, time_t *sec, long *usec); + +/* This must process the given extension. + * It can modify the TS_TST_INFO object of the context. + * Return values: !0 (processed), 0 (error, it must set the + * status info/failure info of the response). + */ +typedef int (*TS_extension_cb)(struct TS_resp_ctx *, X509_EXTENSION *, void *); + +typedef struct TS_resp_ctx TS_RESP_CTX; + +DECLARE_STACK_OF(EVP_MD) + +/* Creates a response context that can be used for generating responses. */ +TS_RESP_CTX *TS_RESP_CTX_new(void); +void TS_RESP_CTX_free(TS_RESP_CTX *ctx); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); + +/* This parameter must be set. */ +int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *def_policy); + +/* No additional certs are included in the response by default. */ +int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); + +/* Adds a new acceptable policy, only the default policy + is accepted by default. */ +int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *policy); + +/* Adds a new acceptable message digest. Note that no message digests + are accepted by default. The md argument is shared with the caller. */ +int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); + +/* Accuracy is not included by default. */ +int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, + int secs, int millis, int micros); + +/* Clock precision digits, i.e. the number of decimal digits: + '0' means sec, '3' msec, '6' usec, and so on. Default is 0. */ +int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, + unsigned clock_precision_digits); +/* At most we accept sec precision. */ +#define TS_MAX_CLOCK_PRECISION_DIGITS 0 + +/* No flags are set by default. */ +void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); + +/* Default callback always returns a constant. */ +void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); + +/* Default callback uses gettimeofday() and gmtime(). */ +void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); + +/* Default callback rejects all extensions. The extension callback is called + * when the TS_TST_INFO object is already set up and not signed yet. */ +/* FIXME: extension handling is not tested yet. */ +void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, + TS_extension_cb cb, void *data); + +/* The following methods can be used in the callbacks. */ +int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, + int status, const char *text); + +/* Sets the status info only if it is still TS_STATUS_GRANTED. */ +int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, + int status, const char *text); + +int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); + +/* The get methods below can be used in the extension callback. */ +TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); + +TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); + +/* + * Creates the signed TS_TST_INFO and puts it in TS_RESP. + * In case of errors it sets the status info properly. + * Returns NULL only in case of memory allocation/fatal error. + */ +TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); + +/* + * Declarations related to response verification, + * they are defined in ts/ts_rsp_verify.c. + */ + +int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, + X509_STORE *store, X509 **signer_out); + +/* Context structure for the generic verify method. */ + +/* Verify the signer's certificate and the signature of the response. */ +#define TS_VFY_SIGNATURE (1u << 0) +/* Verify the version number of the response. */ +#define TS_VFY_VERSION (1u << 1) +/* Verify if the policy supplied by the user matches the policy of the TSA. */ +#define TS_VFY_POLICY (1u << 2) +/* Verify the message imprint provided by the user. This flag should not be + specified with TS_VFY_DATA. */ +#define TS_VFY_IMPRINT (1u << 3) +/* Verify the message imprint computed by the verify method from the user + provided data and the MD algorithm of the response. This flag should not be + specified with TS_VFY_IMPRINT. */ +#define TS_VFY_DATA (1u << 4) +/* Verify the nonce value. */ +#define TS_VFY_NONCE (1u << 5) +/* Verify if the TSA name field matches the signer certificate. */ +#define TS_VFY_SIGNER (1u << 6) +/* Verify if the TSA name field equals to the user provided name. */ +#define TS_VFY_TSA_NAME (1u << 7) + +/* You can use the following convenience constants. */ +#define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_IMPRINT \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) +#define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ + | TS_VFY_VERSION \ + | TS_VFY_POLICY \ + | TS_VFY_DATA \ + | TS_VFY_NONCE \ + | TS_VFY_SIGNER \ + | TS_VFY_TSA_NAME) + +typedef struct TS_verify_ctx TS_VERIFY_CTX; + +int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); +int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); + +/* + * Declarations related to response verification context, + * they are defined in ts/ts_verify_ctx.c. + */ + +/* Set all fields to zero. */ +TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); +void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); +void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); + +int TS_VERIFY_CTX_add_flags(TS_VERIFY_CTX *ctx, int flags); +int TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int flags); +BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *bio); +X509_STORE *TS_VERIFY_CTX_set_store(TS_VERIFY_CTX *ctx, X509_STORE *store); +/* R$ special */ +#define TS_VERIFY_CTS_set_certs TS_VERIFY_CTX_set_certs +STACK_OF(X509) *TS_VERIFY_CTX_set_certs(TS_VERIFY_CTX *ctx, + STACK_OF(X509) *certs); +unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, + unsigned char *imprint, long imprint_len); + +/* + * If ctx is NULL, it allocates and returns a new object, otherwise + * it returns ctx. It initialises all the members as follows: + * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) + * certs = NULL + * store = NULL + * policy = policy from the request or NULL if absent (in this case + * TS_VFY_POLICY is cleared from flags as well) + * md_alg = MD algorithm from request + * imprint, imprint_len = imprint from request + * data = NULL + * nonce, nonce_len = nonce from the request or NULL if absent (in this case + * TS_VFY_NONCE is cleared from flags as well) + * tsa_name = NULL + * Important: after calling this method TS_VFY_SIGNATURE should be added! + */ +TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); + +/* Function declarations for TS_RESP defined in ts/ts_rsp_print.c */ + +int TS_RESP_print_bio(BIO *bio, TS_RESP *a); +int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); +int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); + +/* Common utility functions defined in ts/ts_lib.c */ + +int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); +int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); +int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); +int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); +int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); + +/* Function declarations for handling configuration options, + defined in ts/ts_conf.c */ + +X509 *TS_CONF_load_cert(const char *file); +STACK_OF(X509) *TS_CONF_load_certs(const char *file); +EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); +const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); +int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_cert(CONF *conf, const char *section, + const char *cert, TS_RESP_CTX *ctx); +int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, + TS_RESP_CTX *ctx); +int TS_CONF_set_signer_key(CONF *conf, const char *section, + const char *key, const char *pass, TS_RESP_CTX *ctx); +int TS_CONF_set_def_policy(CONF *conf, const char *section, + const char *policy, TS_RESP_CTX *ctx); +int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, + TS_RESP_CTX *ctx); +int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); +int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, + TS_RESP_CTX *ctx); + +void ERR_load_TS_strings(void); + +/* Error codes for the TS functions. */ + +/* Function codes. */ +#define TS_F_D2I_TS_RESP 147 +#define TS_F_DEF_SERIAL_CB 110 +#define TS_F_DEF_TIME_CB 111 +#define TS_F_ESS_ADD_SIGNING_CERT 112 +#define TS_F_ESS_CERT_ID_NEW_INIT 113 +#define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 +#define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 +#define TS_F_PKCS7_TO_TS_TST_INFO 148 +#define TS_F_TS_ACCURACY_SET_MICROS 115 +#define TS_F_TS_ACCURACY_SET_MILLIS 116 +#define TS_F_TS_ACCURACY_SET_SECONDS 117 +#define TS_F_TS_CHECK_IMPRINTS 100 +#define TS_F_TS_CHECK_NONCES 101 +#define TS_F_TS_CHECK_POLICY 102 +#define TS_F_TS_CHECK_SIGNING_CERTS 103 +#define TS_F_TS_CHECK_STATUS_INFO 104 +#define TS_F_TS_COMPUTE_IMPRINT 145 +#define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 +#define TS_F_TS_GET_STATUS_TEXT 105 +#define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 +#define TS_F_TS_REQ_SET_MSG_IMPRINT 119 +#define TS_F_TS_REQ_SET_NONCE 120 +#define TS_F_TS_REQ_SET_POLICY_ID 121 +#define TS_F_TS_RESP_CREATE_RESPONSE 122 +#define TS_F_TS_RESP_CREATE_TST_INFO 123 +#define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 +#define TS_F_TS_RESP_CTX_ADD_MD 125 +#define TS_F_TS_RESP_CTX_ADD_POLICY 126 +#define TS_F_TS_RESP_CTX_NEW 127 +#define TS_F_TS_RESP_CTX_SET_ACCURACY 128 +#define TS_F_TS_RESP_CTX_SET_CERTS 129 +#define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 +#define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 +#define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 +#define TS_F_TS_RESP_GET_POLICY 133 +#define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 +#define TS_F_TS_RESP_SET_STATUS_INFO 135 +#define TS_F_TS_RESP_SET_TST_INFO 150 +#define TS_F_TS_RESP_SIGN 136 +#define TS_F_TS_RESP_VERIFY_SIGNATURE 106 +#define TS_F_TS_RESP_VERIFY_TOKEN 107 +#define TS_F_TS_TST_INFO_SET_ACCURACY 137 +#define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 +#define TS_F_TS_TST_INFO_SET_NONCE 139 +#define TS_F_TS_TST_INFO_SET_POLICY_ID 140 +#define TS_F_TS_TST_INFO_SET_SERIAL 141 +#define TS_F_TS_TST_INFO_SET_TIME 142 +#define TS_F_TS_TST_INFO_SET_TSA 143 +#define TS_F_TS_VERIFY 108 +#define TS_F_TS_VERIFY_CERT 109 +#define TS_F_TS_VERIFY_CTX_NEW 144 + +/* Reason codes. */ +#define TS_R_BAD_PKCS7_TYPE 132 +#define TS_R_BAD_TYPE 133 +#define TS_R_CERTIFICATE_VERIFY_ERROR 100 +#define TS_R_COULD_NOT_SET_ENGINE 127 +#define TS_R_COULD_NOT_SET_TIME 115 +#define TS_R_D2I_TS_RESP_INT_FAILED 128 +#define TS_R_DETACHED_CONTENT 134 +#define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 +#define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 +#define TS_R_INVALID_NULL_POINTER 102 +#define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 +#define TS_R_MESSAGE_IMPRINT_MISMATCH 103 +#define TS_R_NONCE_MISMATCH 104 +#define TS_R_NONCE_NOT_RETURNED 105 +#define TS_R_NO_CONTENT 106 +#define TS_R_NO_TIME_STAMP_TOKEN 107 +#define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 +#define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 +#define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 +#define TS_R_POLICY_MISMATCH 108 +#define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 +#define TS_R_RESPONSE_SETUP_ERROR 121 +#define TS_R_SIGNATURE_FAILURE 109 +#define TS_R_THERE_MUST_BE_ONE_SIGNER 110 +#define TS_R_TIME_SYSCALL_ERROR 122 +#define TS_R_TOKEN_NOT_PRESENT 130 +#define TS_R_TOKEN_PRESENT 131 +#define TS_R_TSA_NAME_MISMATCH 111 +#define TS_R_TSA_UNTRUSTED 112 +#define TS_R_TST_INFO_SETUP_ERROR 123 +#define TS_R_TS_DATASIGN 124 +#define TS_R_UNACCEPTABLE_POLICY 125 +#define TS_R_UNSUPPORTED_MD_ALGORITHM 126 +#define TS_R_UNSUPPORTED_VERSION 113 +#define TS_R_WRONG_CONTENT_TYPE 114 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/txt_db.h b/curl/include/openssl/txt_db.h new file mode 100644 index 0000000..56b6b42 --- /dev/null +++ b/curl/include/openssl/txt_db.h @@ -0,0 +1,112 @@ +/* $OpenBSD: txt_db.h,v 1.9 2014/07/10 22:45:58 jsing Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_TXT_DB_H +#define HEADER_TXT_DB_H + +#include + +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include + +#define DB_ERROR_OK 0 +#define DB_ERROR_MALLOC 1 +#define DB_ERROR_INDEX_CLASH 2 +#define DB_ERROR_INDEX_OUT_OF_RANGE 3 +#define DB_ERROR_NO_INDEX 4 +#define DB_ERROR_INSERT_INDEX_CLASH 5 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef OPENSSL_STRING *OPENSSL_PSTRING; +DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) + +typedef struct txt_db_st { + int num_fields; + STACK_OF(OPENSSL_PSTRING) *data; + LHASH_OF(OPENSSL_STRING) **index; + int (**qual)(OPENSSL_STRING *); + long error; + long arg1; + long arg2; + OPENSSL_STRING *arg_row; +} TXT_DB; + +#ifndef OPENSSL_NO_BIO +TXT_DB *TXT_DB_read(BIO *in, int num); +long TXT_DB_write(BIO *out, TXT_DB *db); +#else +TXT_DB *TXT_DB_read(char *in, int num); +long TXT_DB_write(char *out, TXT_DB *db); +#endif +int TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(OPENSSL_STRING *), + LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp); +void TXT_DB_free(TXT_DB *db); +OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING *value); +int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/curl/include/openssl/ui.h b/curl/include/openssl/ui.h new file mode 100644 index 0000000..cc400c2 --- /dev/null +++ b/curl/include/openssl/ui.h @@ -0,0 +1,397 @@ +/* $OpenBSD: ui.h,v 1.20 2025/03/09 15:25:53 tb Exp $ */ +/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL + * project 2001. + */ +/* ==================================================================== + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#ifndef HEADER_UI_H +#define HEADER_UI_H + +#include + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Declared already in ossl_typ.h */ +/* typedef struct ui_st UI; */ +/* typedef struct ui_method_st UI_METHOD; */ + + +/* + * All the following functions return -1 or NULL on error and in some cases + * (UI_process()) -2 if interrupted or in some other way cancelled. + * When everything is fine, they return 0, a positive value or a non-NULL + * pointer, all depending on their purpose. + */ + +/* Creators and destructor. */ +UI *UI_new(void); +UI *UI_new_method(const UI_METHOD *method); +void UI_free(UI *ui); + +/* + * The following functions are used to add strings to be printed and prompt + * strings to prompt for data. The names are UI_{add,dup}__string + * and UI_{add,dup}_input_boolean. + * + * UI_{add,dup}__string have the following meanings: + * add add a text or prompt string. The pointers given to these + * functions are used verbatim, no copying is done. + * dup make a copy of the text or prompt string, then add the copy + * to the collection of strings in the user interface. + * + * The function is a name for the functionality that the given + * string shall be used for. It can be one of: + * input use the string as data prompt. + * verify use the string as verification prompt. This + * is used to verify a previous input. + * info use the string for informational output. + * error use the string for error output. + * Honestly, there's currently no difference between info and error for the + * moment. + * + * UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", + * and are typically used when one wants to prompt for a yes/no response. + * + * All of the functions in this group take a UI and a prompt string. + * The string input and verify addition functions also take a flag argument, + * a buffer for the result to end up in, a minimum input size and a maximum + * input size (the result buffer MUST be large enough to be able to contain + * the maximum number of characters). Additionally, the verify addition + * functions takes another buffer to compare the result against. + * The boolean input functions take an action description string (which should + * be safe to ignore if the expected user action is obvious, for example with + * a dialog box with an OK button and a Cancel button), a string of acceptable + * characters to mean OK and to mean Cancel. The two last strings are checked + * to make sure they don't have common characters. Additionally, the same + * flag argument as for the string input is taken, as well as a result buffer. + * The result buffer is required to be at least one byte long. Depending on + * the answer, the first character from the OK or the Cancel character strings + * will be stored in the first byte of the result buffer. No NUL will be + * added, so the result is *not* a string. + * + * On success, the functions all return an index of the added information. + * That index is useful when retrieving results with UI_get0_result(). + */ +int UI_add_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_dup_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_add_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, const char *test_buf); +int UI_dup_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, const char *test_buf); +int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_add_info_string(UI *ui, const char *text); +int UI_dup_info_string(UI *ui, const char *text); +int UI_add_error_string(UI *ui, const char *text); +int UI_dup_error_string(UI *ui, const char *text); + +/* These are the possible flags. They can be or'ed together. */ +/* Use to have echoing of input */ +#define UI_INPUT_FLAG_ECHO 0x01 +/* + * Use a default password. Where that password is found is completely + * up to the application, it might for example be in the user data set + * with UI_add_user_data(). It is not recommended to have more than + * one input in each UI being marked with this flag, or the application + * might get confused. + */ +#define UI_INPUT_FLAG_DEFAULT_PWD 0x02 + +/* + * Users of these routines may want to define flags of their own. The core + * UI won't look at those, but will pass them on to the method routines. They + * must use higher bits so they don't get confused with the UI bits above. + * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good + * example of use is this: + * + * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) + */ +#define UI_INPUT_FLAG_USER_BASE 16 + + +/* + * The following function helps construct a prompt. object_desc is a + * textual short description of the object, for example "pass phrase", + * and object_name is the name of the object (might be a card name or + * a file name. + * The returned string shall always be allocated on the heap with + * malloc(), and need to be free'd with free(). + * + * If the ui_method doesn't contain a pointer to a user-defined prompt + * constructor, a default string is built, looking like this: + * + * "Enter {object_desc} for {object_name}:" + * + * So, if object_desc has the value "pass phrase" and object_name has + * the value "foo.key", the resulting string is: + * + * "Enter pass phrase for foo.key:" + */ +char *UI_construct_prompt(UI *ui_method, const char *object_desc, + const char *object_name); + + +/* + * The following function is used to store a pointer to user-specific data. + * Any previous such pointer will be returned and replaced. + * + * For callback purposes, this function makes a lot more sense than using + * ex_data, since the latter requires that different parts of OpenSSL or + * applications share the same ex_data index. + * + * Note that the UI_OpenSSL() method completely ignores the user data. + * Other methods may not, however. + */ +void *UI_add_user_data(UI *ui, void *user_data); +/* We need a user data retrieving function as well. */ +void *UI_get0_user_data(UI *ui); + +/* Return the result associated with a prompt given with the index i. */ +const char *UI_get0_result(UI *ui, int i); + +/* When all strings have been added, process the whole thing. */ +int UI_process(UI *ui); + +/* + * Give a user interface parametrised control commands. This can be used to + * send down an integer, a data pointer or a function pointer, as well as + * be used to get information from a UI. + */ +int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)(void)); + +/* The commands */ +/* + * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the + * OpenSSL error stack before printing any info or added error messages and + * before any prompting. + */ +#define UI_CTRL_PRINT_ERRORS 1 +/* + * Check if a UI_process() is possible to do again with the same instance of + * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 + * if not. + */ +#define UI_CTRL_IS_REDOABLE 2 + + +/* Some methods may use extra data */ +#define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) +#define UI_get_app_data(s) UI_get_ex_data(s,0) +int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int UI_set_ex_data(UI *r, int idx, void *arg); +void *UI_get_ex_data(UI *r, int idx); + +/* Use specific methods instead of the built-in one */ +void UI_set_default_method(const UI_METHOD *meth); +const UI_METHOD *UI_get_default_method(void); +const UI_METHOD *UI_get_method(UI *ui); +const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); + +/* The method with all the built-in thingies */ +const UI_METHOD *UI_OpenSSL(void); + +const UI_METHOD *UI_null(void); + +/* + * ---------- For method writers ---------- + * A method contains a number of functions that implement the low level + * of the User Interface. The functions are: + * + * an opener This function starts a session, maybe by opening + * a channel to a tty, or by opening a window. + * a writer This function is called to write a given string, + * maybe to the tty, maybe as a field label in a + * window. + * a flusher This function is called to flush everything that + * has been output so far. It can be used to actually + * display a dialog box after it has been built. + * a reader This function is called to read a given prompt, + * maybe from the tty, maybe from a field in a + * window. Note that it's called with all string + * structures, not only the prompt ones, so it must + * check such things itself. + * a closer This function closes the session, maybe by closing + * the channel to the tty, or closing the window. + * + * All these functions are expected to return: + * + * 0 on error. + * 1 on success. + * -1 on out-of-band events, for example if some prompting has + * been canceled (by pressing Ctrl-C, for example). This is + * only checked when returned by the flusher or the reader. + * + * The way this is used, the opener is first called, then the writer for all + * strings, then the flusher, then the reader for all strings and finally the + * closer. Note that if you want to prompt from a terminal or other command + * line interface, the best is to have the reader also write the prompts + * instead of having the writer do it. If you want to prompt from a dialog + * box, the writer can be used to build up the contents of the box, and the + * flusher to actually display the box and run the event loop until all data + * has been given, after which the reader only grabs the given data and puts + * them back into the UI strings. + * + * All method functions take a UI as argument. Additionally, the writer and + * the reader take a UI_STRING. + */ + +/* + * The UI_STRING type is the data structure that contains all the needed info + * about a string or a prompt, including test data for a verification prompt. + */ +typedef struct ui_string_st UI_STRING; +DECLARE_STACK_OF(UI_STRING) + +/* + * The different types of strings that are currently supported. + * This is only needed by method authors. + */ +enum UI_string_types { + UIT_NONE = 0, + UIT_PROMPT, /* Prompt for a string */ + UIT_VERIFY, /* Prompt for a string and verify */ + UIT_BOOLEAN, /* Prompt for a yes/no response */ + UIT_INFO, /* Send info to the user */ + UIT_ERROR /* Send an error message to the user */ +}; + +/* Create and manipulate methods */ +UI_METHOD *UI_create_method(const char *name); +void UI_destroy_method(UI_METHOD *ui_method); +int UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui)); +int UI_method_set_writer(UI_METHOD *method, + int (*writer)(UI *ui, UI_STRING *uis)); +int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui)); +int UI_method_set_reader(UI_METHOD *method, + int (*reader)(UI *ui, UI_STRING *uis)); +int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui)); +int UI_method_set_prompt_constructor(UI_METHOD *method, + char *(*prompt_constructor)(UI *ui, const char *object_desc, + const char *object_name)); +int (*UI_method_get_opener(const UI_METHOD *method))(UI *); +int (*UI_method_get_writer(const UI_METHOD *method))(UI *, UI_STRING *); +int (*UI_method_get_flusher(const UI_METHOD *method))(UI *); +int (*UI_method_get_reader(const UI_METHOD *method))(UI *, UI_STRING *); +int (*UI_method_get_closer(const UI_METHOD *method))(UI *); +char *(*UI_method_get_prompt_constructor(const UI_METHOD *method))(UI *, + const char *, const char *); + +/* + * The following functions are helpers for method writers to access relevant + * data from a UI_STRING. + */ +/* Return type of the UI_STRING */ +enum UI_string_types UI_get_string_type(UI_STRING *uis); +/* Return input flags of the UI_STRING */ +int UI_get_input_flags(UI_STRING *uis); +/* Return the actual string to output (the prompt, info or error) */ +const char *UI_get0_output_string(UI_STRING *uis); +/* Return the optional action string to output (boolean prompt instruction) */ +const char *UI_get0_action_string(UI_STRING *uis); +/* Return the result of a prompt */ +const char *UI_get0_result_string(UI_STRING *uis); +/* Return the string to test the result against. Only useful with verifies. */ +const char *UI_get0_test_string(UI_STRING *uis); +/* Return the required minimum size of the result */ +int UI_get_result_minsize(UI_STRING *uis); +/* Return the required maximum size of the result */ +int UI_get_result_maxsize(UI_STRING *uis); +/* Set the result of a UI_STRING. */ +int UI_set_result(UI *ui, UI_STRING *uis, const char *result); + +void ERR_load_UI_strings(void); + +/* Error codes for the UI functions. */ + +/* Function codes. */ +#define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 +#define UI_F_GENERAL_ALLOCATE_PROMPT 109 +#define UI_F_GENERAL_ALLOCATE_STRING 100 +#define UI_F_UI_CTRL 111 +#define UI_F_UI_DUP_ERROR_STRING 101 +#define UI_F_UI_DUP_INFO_STRING 102 +#define UI_F_UI_DUP_INPUT_BOOLEAN 110 +#define UI_F_UI_DUP_INPUT_STRING 103 +#define UI_F_UI_DUP_VERIFY_STRING 106 +#define UI_F_UI_GET0_RESULT 107 +#define UI_F_UI_NEW_METHOD 104 +#define UI_F_UI_SET_RESULT 105 + +/* Reason codes. */ +#define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 +#define UI_R_INDEX_TOO_LARGE 102 +#define UI_R_INDEX_TOO_SMALL 103 +#define UI_R_NO_RESULT_BUFFER 105 +#define UI_R_RESULT_TOO_LARGE 100 +#define UI_R_RESULT_TOO_SMALL 101 +#define UI_R_UNKNOWN_CONTROL_COMMAND 106 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/x509.h b/curl/include/openssl/x509.h new file mode 100644 index 0000000..68a68e7 --- /dev/null +++ b/curl/include/openssl/x509.h @@ -0,0 +1,1053 @@ +/* $OpenBSD: x509.h,v 1.121 2025/03/09 15:17:22 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ +/* ==================================================================== + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + * ECDH support in OpenSSL originally developed by + * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. + */ + +#ifndef HEADER_X509_H +#define HEADER_X509_H + +#include + +#include +#ifndef OPENSSL_NO_BIO +#include +#endif +#ifndef OPENSSL_NO_BUFFER +#include +#endif +#ifndef OPENSSL_NO_DH +#include +#endif +#ifndef OPENSSL_NO_DSA +#include +#endif +#ifndef OPENSSL_NO_EC +#include +#endif +#ifndef OPENSSL_NO_EVP +#include +#endif +#ifndef OPENSSL_NO_RSA +#include +#endif +#ifndef OPENSSL_NO_SHA +#include +#endif +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_WIN32) && defined(__WINCRYPT_H__) +#if !defined(LIBRESSL_INTERNAL) && !defined(LIBRESSL_DISABLE_OVERRIDE_WINCRYPT_DEFINES_WARNING) +#ifdef _MSC_VER +#pragma message("Warning, overriding WinCrypt defines") +#else +#warning overriding WinCrypt defines +#endif +#endif +#undef X509_NAME +#undef X509_EXTENSIONS +#endif + +#define X509_FILETYPE_PEM 1 +#define X509_FILETYPE_ASN1 2 +#define X509_FILETYPE_DEFAULT 3 + +#define X509v3_KU_DIGITAL_SIGNATURE 0x0080 +#define X509v3_KU_NON_REPUDIATION 0x0040 +#define X509v3_KU_KEY_ENCIPHERMENT 0x0020 +#define X509v3_KU_DATA_ENCIPHERMENT 0x0010 +#define X509v3_KU_KEY_AGREEMENT 0x0008 +#define X509v3_KU_KEY_CERT_SIGN 0x0004 +#define X509v3_KU_CRL_SIGN 0x0002 +#define X509v3_KU_ENCIPHER_ONLY 0x0001 +#define X509v3_KU_DECIPHER_ONLY 0x8000 +#define X509v3_KU_UNDEF 0xffff + +struct X509_algor_st { + ASN1_OBJECT *algorithm; + ASN1_TYPE *parameter; +} /* X509_ALGOR */; + +typedef STACK_OF(X509_ALGOR) X509_ALGORS; + +typedef struct X509_val_st X509_VAL; + +typedef struct X509_sig_st X509_SIG; + +typedef struct X509_name_entry_st X509_NAME_ENTRY; + +DECLARE_STACK_OF(X509_NAME_ENTRY) + +DECLARE_STACK_OF(X509_NAME) + +typedef struct X509_extension_st X509_EXTENSION; + +typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; + +DECLARE_STACK_OF(X509_EXTENSION) + +typedef struct x509_attributes_st X509_ATTRIBUTE; + +DECLARE_STACK_OF(X509_ATTRIBUTE) + +typedef struct X509_req_info_st X509_REQ_INFO; + +typedef struct X509_req_st X509_REQ; + +typedef struct x509_cinf_st X509_CINF; + +DECLARE_STACK_OF(X509) + +#define X509_TRUST_COMPAT 1 +#define X509_TRUST_SSL_CLIENT 2 +#define X509_TRUST_SSL_SERVER 3 +#define X509_TRUST_EMAIL 4 +#define X509_TRUST_OBJECT_SIGN 5 +#define X509_TRUST_OCSP_SIGN 6 +#define X509_TRUST_OCSP_REQUEST 7 +#define X509_TRUST_TSA 8 + +/* Keep these up to date! */ +#define X509_TRUST_MIN 1 +#define X509_TRUST_MAX 8 + +/* Flags for X509_print_ex() */ + +#define X509_FLAG_COMPAT 0 +#define X509_FLAG_NO_HEADER 1L +#define X509_FLAG_NO_VERSION (1L << 1) +#define X509_FLAG_NO_SERIAL (1L << 2) +#define X509_FLAG_NO_SIGNAME (1L << 3) +#define X509_FLAG_NO_ISSUER (1L << 4) +#define X509_FLAG_NO_VALIDITY (1L << 5) +#define X509_FLAG_NO_SUBJECT (1L << 6) +#define X509_FLAG_NO_PUBKEY (1L << 7) +#define X509_FLAG_NO_EXTENSIONS (1L << 8) +#define X509_FLAG_NO_SIGDUMP (1L << 9) +#define X509_FLAG_NO_AUX (1L << 10) +#define X509_FLAG_NO_ATTRIBUTES (1L << 11) + +/* Flags specific to X509_NAME_print_ex() */ + +/* The field separator information */ + +#define XN_FLAG_SEP_MASK (0xf << 16) + +#define XN_FLAG_COMPAT 0 /* Traditional SSLeay: use old X509_NAME_print */ +#define XN_FLAG_SEP_COMMA_PLUS (1 << 16) /* RFC2253 ,+ */ +#define XN_FLAG_SEP_CPLUS_SPC (2 << 16) /* ,+ spaced: more readable */ +#define XN_FLAG_SEP_SPLUS_SPC (3 << 16) /* ;+ spaced */ +#define XN_FLAG_SEP_MULTILINE (4 << 16) /* One line per field */ + +#define XN_FLAG_DN_REV (1 << 20) /* Reverse DN order */ + +/* How the field name is shown */ + +#define XN_FLAG_FN_MASK (0x3 << 21) + +#define XN_FLAG_FN_SN 0 /* Object short name */ +#define XN_FLAG_FN_LN (1 << 21) /* Object long name */ +#define XN_FLAG_FN_OID (2 << 21) /* Always use OIDs */ +#define XN_FLAG_FN_NONE (3 << 21) /* No field names */ + +#define XN_FLAG_SPC_EQ (1 << 23) /* Put spaces round '=' */ + +/* This determines if we dump fields we don't recognise: + * RFC2253 requires this. + */ + +#define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) + +#define XN_FLAG_FN_ALIGN (1 << 25) /* Align field names to 20 characters */ + +/* Complete set of RFC2253 flags */ + +#define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ + XN_FLAG_SEP_COMMA_PLUS | \ + XN_FLAG_DN_REV | \ + XN_FLAG_FN_SN | \ + XN_FLAG_DUMP_UNKNOWN_FIELDS) + +/* readable oneline form */ + +#define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ + ASN1_STRFLGS_ESC_QUOTE | \ + XN_FLAG_SEP_CPLUS_SPC | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_SN) + +/* readable multiline form */ + +#define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + XN_FLAG_SEP_MULTILINE | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_LN | \ + XN_FLAG_FN_ALIGN) + +DECLARE_STACK_OF(X509_REVOKED) + +typedef struct X509_crl_info_st X509_CRL_INFO; + +DECLARE_STACK_OF(X509_CRL) + +typedef struct private_key_st { + int version; + /* The PKCS#8 data types */ + X509_ALGOR *enc_algor; + ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ + + /* When decrypted, the following will not be NULL */ + EVP_PKEY *dec_pkey; + + /* used to encrypt and decrypt */ + int key_length; + char *key_data; + int key_free; /* true if we should auto free key_data */ + + /* expanded version of 'enc_algor' */ + EVP_CIPHER_INFO cipher; + + int references; +} X509_PKEY; + +#ifndef OPENSSL_NO_EVP +typedef struct X509_info_st { + X509 *x509; + X509_CRL *crl; + X509_PKEY *x_pkey; + + EVP_CIPHER_INFO enc_cipher; + int enc_len; + char *enc_data; + + int references; +} X509_INFO; + +DECLARE_STACK_OF(X509_INFO) +#endif + +/* The next 2 structures and their 8 routines were sent to me by + * Pat Richard and are used to manipulate + * Netscapes spki structures - useful if you are writing a CA web page + */ +typedef struct Netscape_spkac_st { + X509_PUBKEY *pubkey; + ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ +} NETSCAPE_SPKAC; + +typedef struct Netscape_spki_st { + NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ + X509_ALGOR *sig_algor; + ASN1_BIT_STRING *signature; +} NETSCAPE_SPKI; + +typedef struct PBEPARAM_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; +} PBEPARAM; + +#ifdef __cplusplus +} +#endif + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define X509_extract_key(x) X509_get_pubkey(x) /*****/ +#define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) +#define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) + +int X509_CRL_up_ref(X509_CRL *x); +int X509_CRL_get_signature_nid(const X509_CRL *crl); + +int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp); + +const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl); +long X509_CRL_get_version(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl); +ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl); +ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl); +X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl); +STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl); +void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); + +const X509_ALGOR *X509_CRL_get0_tbs_sigalg(const X509_CRL *crl); + +int X509_REQ_get_signature_nid(const X509_REQ *req); + +void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); + +X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x); + +const char *X509_verify_cert_error_string(long n); + +#ifndef OPENSSL_NO_EVP +int X509_verify(X509 *a, EVP_PKEY *r); + +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); +int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); +int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); + +NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len); +char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); +EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); +int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); + +int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); + +int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); +int X509_signature_print(BIO *bp, const X509_ALGOR *alg, + const ASN1_STRING *sig); + +int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data,const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data,const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_CRL_digest(const X509_CRL *data,const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data,const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data,const EVP_MD *type, + unsigned char *md, unsigned int *len); +#endif + +X509 *d2i_X509_fp(FILE *fp, X509 **x509); +int i2d_X509_fp(FILE *fp,X509 *x509); +X509_CRL *d2i_X509_CRL_fp(FILE *fp,X509_CRL **crl); +int i2d_X509_CRL_fp(FILE *fp,X509_CRL *crl); +X509_REQ *d2i_X509_REQ_fp(FILE *fp,X509_REQ **req); +int i2d_X509_REQ_fp(FILE *fp,X509_REQ *req); +#ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_fp(FILE *fp,RSA **rsa); +int i2d_RSAPrivateKey_fp(FILE *fp,RSA *rsa); +RSA *d2i_RSAPublicKey_fp(FILE *fp,RSA **rsa); +int i2d_RSAPublicKey_fp(FILE *fp,RSA *rsa); +RSA *d2i_RSA_PUBKEY_fp(FILE *fp,RSA **rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp,RSA *rsa); +#endif +#ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); +DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); +#endif +#ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); +int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); +#endif +X509_SIG *d2i_PKCS8_fp(FILE *fp,X509_SIG **p8); +int i2d_PKCS8_fp(FILE *fp,X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); +int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); + +#ifndef OPENSSL_NO_BIO +X509 *d2i_X509_bio(BIO *bp,X509 **x509); +int i2d_X509_bio(BIO *bp,X509 *x509); +X509_CRL *d2i_X509_CRL_bio(BIO *bp,X509_CRL **crl); +int i2d_X509_CRL_bio(BIO *bp,X509_CRL *crl); +X509_REQ *d2i_X509_REQ_bio(BIO *bp,X509_REQ **req); +int i2d_X509_REQ_bio(BIO *bp,X509_REQ *req); +#ifndef OPENSSL_NO_RSA +RSA *d2i_RSAPrivateKey_bio(BIO *bp,RSA **rsa); +int i2d_RSAPrivateKey_bio(BIO *bp,RSA *rsa); +RSA *d2i_RSAPublicKey_bio(BIO *bp,RSA **rsa); +int i2d_RSAPublicKey_bio(BIO *bp,RSA *rsa); +RSA *d2i_RSA_PUBKEY_bio(BIO *bp,RSA **rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp,RSA *rsa); +#endif +#ifndef OPENSSL_NO_DSA +DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); +DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); +#endif +#ifndef OPENSSL_NO_EC +EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); +EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); +int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); +#endif +X509_SIG *d2i_PKCS8_bio(BIO *bp,X509_SIG **p8); +int i2d_PKCS8_bio(BIO *bp,X509_SIG *p8); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); +int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); +#endif + +X509 *X509_dup(X509 *x509); +X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); +X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); +X509_CRL *X509_CRL_dup(X509_CRL *crl); +X509_REQ *X509_REQ_dup(X509_REQ *req); +X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); +int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); +void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval, + const X509_ALGOR *algor); +int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); + +X509_NAME *X509_NAME_dup(X509_NAME *xn); +int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen); +X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); + +int X509_cmp_time(const ASN1_TIME *s, time_t *t); +int X509_cmp_current_time(const ASN1_TIME *s); +ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); +ASN1_TIME * X509_time_adj_ex(ASN1_TIME *s, + int offset_day, long offset_sec, time_t *t); +ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); + +const char * X509_get_default_cert_area(void ); +const char * X509_get_default_cert_dir(void ); +const char * X509_get_default_cert_file(void ); +const char * X509_get_default_cert_dir_env(void ); +const char * X509_get_default_cert_file_env(void ); +const char * X509_get_default_private_dir(void ); + +X509_REQ * X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +X509 * X509_REQ_to_X509(X509_REQ *r, int days,EVP_PKEY *pkey); + +X509_ALGOR *X509_ALGOR_new(void); +void X509_ALGOR_free(X509_ALGOR *a); +X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len); +int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out); +extern const ASN1_ITEM X509_ALGOR_it; +X509_ALGORS *d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len); +int i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out); +extern const ASN1_ITEM X509_ALGORS_it; +X509_VAL *X509_VAL_new(void); +void X509_VAL_free(X509_VAL *a); +X509_VAL *d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len); +int i2d_X509_VAL(X509_VAL *a, unsigned char **out); +extern const ASN1_ITEM X509_VAL_it; + +X509_PUBKEY *X509_PUBKEY_new(void); +void X509_PUBKEY_free(X509_PUBKEY *a); +X509_PUBKEY *d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len); +int i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out); +extern const ASN1_ITEM X509_PUBKEY_it; + +int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); +EVP_PKEY * X509_PUBKEY_get(X509_PUBKEY *key); +EVP_PKEY * X509_PUBKEY_get0(X509_PUBKEY *key); +int X509_get_pubkey_parameters(EVP_PKEY *pkey, + STACK_OF(X509) *chain); +int i2d_PUBKEY(EVP_PKEY *a,unsigned char **pp); +EVP_PKEY * d2i_PUBKEY(EVP_PKEY **a,const unsigned char **pp, + long length); +#ifndef OPENSSL_NO_RSA +int i2d_RSA_PUBKEY(RSA *a,unsigned char **pp); +RSA * d2i_RSA_PUBKEY(RSA **a,const unsigned char **pp, + long length); +#endif +#ifndef OPENSSL_NO_DSA +int i2d_DSA_PUBKEY(DSA *a,unsigned char **pp); +DSA * d2i_DSA_PUBKEY(DSA **a,const unsigned char **pp, + long length); +#endif +#ifndef OPENSSL_NO_EC +int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); +EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, + long length); +#endif + +X509_SIG *X509_SIG_new(void); +void X509_SIG_free(X509_SIG *a); +X509_SIG *d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len); +int i2d_X509_SIG(X509_SIG *a, unsigned char **out); +extern const ASN1_ITEM X509_SIG_it; +void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, + const ASN1_OCTET_STRING **pdigest); +void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, + ASN1_OCTET_STRING **pdigest); + +X509_REQ_INFO *X509_REQ_INFO_new(void); +void X509_REQ_INFO_free(X509_REQ_INFO *a); +X509_REQ_INFO *d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len); +int i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out); +extern const ASN1_ITEM X509_REQ_INFO_it; +X509_REQ *X509_REQ_new(void); +void X509_REQ_free(X509_REQ *a); +X509_REQ *d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len); +int i2d_X509_REQ(X509_REQ *a, unsigned char **out); +extern const ASN1_ITEM X509_REQ_it; + +X509_ATTRIBUTE *X509_ATTRIBUTE_new(void); +void X509_ATTRIBUTE_free(X509_ATTRIBUTE *a); +X509_ATTRIBUTE *d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len); +int i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out); +extern const ASN1_ITEM X509_ATTRIBUTE_it; +X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); + +X509_EXTENSION *X509_EXTENSION_new(void); +void X509_EXTENSION_free(X509_EXTENSION *a); +X509_EXTENSION *d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len); +int i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out); +extern const ASN1_ITEM X509_EXTENSION_it; +X509_EXTENSIONS *d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len); +int i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out); +extern const ASN1_ITEM X509_EXTENSIONS_it; + +X509_NAME_ENTRY *X509_NAME_ENTRY_new(void); +void X509_NAME_ENTRY_free(X509_NAME_ENTRY *a); +X509_NAME_ENTRY *d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len); +int i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out); +extern const ASN1_ITEM X509_NAME_ENTRY_it; + +X509_NAME *X509_NAME_new(void); +void X509_NAME_free(X509_NAME *a); +X509_NAME *d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len); +int i2d_X509_NAME(X509_NAME *a, unsigned char **out); +extern const ASN1_ITEM X509_NAME_it; + +int X509_NAME_set(X509_NAME **xn, X509_NAME *name); + +X509_CINF *X509_CINF_new(void); +void X509_CINF_free(X509_CINF *a); +X509_CINF *d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len); +int i2d_X509_CINF(X509_CINF *a, unsigned char **out); +extern const ASN1_ITEM X509_CINF_it; + +X509 *X509_new(void); +void X509_free(X509 *a); +X509 *d2i_X509(X509 **a, const unsigned char **in, long len); +int i2d_X509(X509 *a, unsigned char **out); +extern const ASN1_ITEM X509_it; + +int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(X509 *r, int idx); +int i2d_X509_AUX(X509 *a,unsigned char **pp); +X509 * d2i_X509_AUX(X509 **a,const unsigned char **pp,long length); + +int i2d_re_X509_tbs(X509 *x, unsigned char **pp); + +/* Flags returned by X509_get_signature_info(): valid and suitable for TLS. */ +#define X509_SIG_INFO_VALID 1 +#define X509_SIG_INFO_TLS 2 +int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits, + uint32_t *flags); + +void X509_get0_signature(const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg, const X509 *x); +int X509_get_signature_nid(const X509 *x); + +int X509_alias_set1(X509 *x, const unsigned char *name, int len); +int X509_keyid_set1(X509 *x, const unsigned char *id, int len); +unsigned char *X509_alias_get0(X509 *x, int *len); +unsigned char *X509_keyid_get0(X509 *x, int *len); +int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj); +int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj); +void X509_trust_clear(X509 *x); +void X509_reject_clear(X509 *x); + +X509_REVOKED *X509_REVOKED_new(void); +void X509_REVOKED_free(X509_REVOKED *a); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *a); +X509_REVOKED *d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len); +int i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out); +extern const ASN1_ITEM X509_REVOKED_it; + +X509_CRL_INFO *X509_CRL_INFO_new(void); +void X509_CRL_INFO_free(X509_CRL_INFO *a); +X509_CRL_INFO *d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len); +int i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out); +extern const ASN1_ITEM X509_CRL_INFO_it; + +X509_CRL *X509_CRL_new(void); +void X509_CRL_free(X509_CRL *a); +X509_CRL *d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len); +int i2d_X509_CRL(X509_CRL *a, unsigned char **out); +extern const ASN1_ITEM X509_CRL_it; + +int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); +int X509_CRL_get0_by_serial(X509_CRL *crl, + X509_REVOKED **ret, ASN1_INTEGER *serial); +int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); + +X509_PKEY * X509_PKEY_new(void ); +void X509_PKEY_free(X509_PKEY *a); + +NETSCAPE_SPKI *NETSCAPE_SPKI_new(void); +void NETSCAPE_SPKI_free(NETSCAPE_SPKI *a); +NETSCAPE_SPKI *d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len); +int i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out); +extern const ASN1_ITEM NETSCAPE_SPKI_it; +NETSCAPE_SPKAC *NETSCAPE_SPKAC_new(void); +void NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a); +NETSCAPE_SPKAC *d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len); +int i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out); +extern const ASN1_ITEM NETSCAPE_SPKAC_it; + +#ifndef OPENSSL_NO_EVP +X509_INFO * X509_INFO_new(void); +void X509_INFO_free(X509_INFO *a); +char * X509_NAME_oneline(const X509_NAME *a, char *buf, int size); + +int ASN1_item_digest(const ASN1_ITEM *it,const EVP_MD *type,void *data, + unsigned char *md,unsigned int *len); + +int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature,void *data,EVP_PKEY *pkey); + +int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, + ASN1_BIT_STRING *signature, + void *data, EVP_PKEY *pkey, const EVP_MD *type); +int ASN1_item_sign_ctx(const ASN1_ITEM *it, + X509_ALGOR *algor1, X509_ALGOR *algor2, + ASN1_BIT_STRING *signature, void *asn, EVP_MD_CTX *ctx); +#endif + +const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); +void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **issuerUID, + const ASN1_BIT_STRING **subjectUID); +const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); +int X509_set_version(X509 *x, long version); +long X509_get_version(const X509 *x); +int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); +ASN1_INTEGER * X509_get_serialNumber(X509 *x); +const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x); +int X509_set_issuer_name(X509 *x, X509_NAME *name); +X509_NAME * X509_get_issuer_name(const X509 *a); +int X509_set_subject_name(X509 *x, X509_NAME *name); +X509_NAME * X509_get_subject_name(const X509 *a); +int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); +int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm); +int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); +int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm); +const ASN1_TIME *X509_get0_notBefore(const X509 *x); +ASN1_TIME *X509_getm_notBefore(const X509 *x); +const ASN1_TIME *X509_get0_notAfter(const X509 *x); +ASN1_TIME *X509_getm_notAfter(const X509 *x); +int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); +EVP_PKEY * X509_get_pubkey(X509 *x); +EVP_PKEY * X509_get0_pubkey(const X509 *x); +ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); +int X509_certificate_type(const X509 *x, const EVP_PKEY *pubkey); +int X509_get_signature_type(const X509 *x); + +#define X509_get_notBefore X509_getm_notBefore +#define X509_get_notAfter X509_getm_notAfter + +int X509_REQ_set_version(X509_REQ *x,long version); +long X509_REQ_get_version(const X509_REQ *x); +int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); +X509_NAME *X509_REQ_get_subject_name(const X509_REQ *x); +int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); +EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req); +int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp); +EVP_PKEY * X509_REQ_get0_pubkey(X509_REQ *req); +int X509_REQ_extension_nid(int nid); +STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); +int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, + int nid); +int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); +int X509_REQ_get_attr_count(const X509_REQ *req); +int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, + int lastpos); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); +X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); +int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_NID(X509_REQ *req, + int nid, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_txt(X509_REQ *req, + const char *attrname, int type, + const unsigned char *bytes, int len); + +int X509_CRL_set_version(X509_CRL *x, long version); +int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); +int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_sort(X509_CRL *crl); + +const STACK_OF(X509_EXTENSION) *X509_REVOKED_get0_extensions(const X509_REVOKED *x); +const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x); +const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x); +int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); +int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); + +int X509_REQ_check_private_key(X509_REQ *x509,EVP_PKEY *pkey); + +int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +#ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +#endif + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +unsigned long X509_NAME_hash(X509_NAME *x); +unsigned long X509_NAME_hash_old(X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +int X509_print_ex_fp(FILE *bp,X509 *x, unsigned long nmflag, unsigned long cflag); +int X509_print_fp(FILE *bp,X509 *x); +int X509_CRL_print_fp(FILE *bp,X509_CRL *x); +int X509_REQ_print_fp(FILE *bp,X509_REQ *req); +int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, + unsigned long flags); + +#ifndef OPENSSL_NO_BIO +int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent, + unsigned long flags); +int X509_print_ex(BIO *bp,X509 *x, unsigned long nmflag, unsigned long cflag); +int X509_print(BIO *bp,X509 *x); +int X509_ocspid_print(BIO *bp,X509 *x); +int X509_CRL_print(BIO *bp,X509_CRL *x); +int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, unsigned long cflag); +int X509_REQ_print(BIO *bp,X509_REQ *req); +#endif + +int X509_NAME_entry_count(const X509_NAME *name); +int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, + char *buf,int len); +int X509_NAME_get_text_by_OBJ(X509_NAME *name, + const ASN1_OBJECT *obj, char *buf,int len); + +/* NOTE: you should be passing -1, not 0 as lastpos. The functions that use + * lastpos, search after that position on. */ +int X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, + int lastpos); +int X509_NAME_get_index_by_OBJ(const X509_NAME *name, + const ASN1_OBJECT *obj, int lastpos); +X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc); +X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); +int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne, + int loc, int set); +int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, + int type, const unsigned char *bytes, int len, int loc, int set); +int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, + const unsigned char *bytes, int len, int loc, int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, + const char *field, int type, const unsigned char *bytes, int len); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, + int type, const unsigned char *bytes, int len); +int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, + const unsigned char *bytes, int len, int loc, int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, + const ASN1_OBJECT *obj); +int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, + const unsigned char *bytes, int len); +ASN1_OBJECT * X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne); +ASN1_STRING * X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne); +int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne); + +int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); +int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, + int nid, int lastpos); +int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, + const ASN1_OBJECT *obj, int lastpos); +int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, + int crit, int lastpos); +X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); +X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); +STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, + X509_EXTENSION *ex, int loc); + +int X509_get_ext_count(const X509 *x); +int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos); +int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos); +X509_EXTENSION *X509_get_ext(const X509 *x, int loc); +X509_EXTENSION *X509_delete_ext(X509 *x, int loc); +int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); +void * X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx); +int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_CRL_get_ext_count(const X509_CRL *x); +int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, + int lastpos); +int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, + const ASN1_OBJECT *obj, int lastpos); +int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, + int lastpos); +X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc); +X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); +int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); +void * X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, + int *idx); +int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, + int crit, unsigned long flags); + +int X509_REVOKED_get_ext_count(const X509_REVOKED *x); +int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, + int lastpos); +int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, + const ASN1_OBJECT *obj, int lastpos); +int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, + int crit, int lastpos); +X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc); +X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); +int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, + int loc); +void * X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, + int *crit, int *idx); +int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, + int crit, unsigned long flags); + +X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, ASN1_OCTET_STRING *data); +X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + const ASN1_OBJECT *obj, int crit, ASN1_OCTET_STRING *data); +int X509_EXTENSION_set_object(X509_EXTENSION *ex, + const ASN1_OBJECT *obj); +int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); +int X509_EXTENSION_set_data(X509_EXTENSION *ex, + ASN1_OCTET_STRING *data); +ASN1_OBJECT * X509_EXTENSION_get_object(X509_EXTENSION *ex); +ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); +int X509_EXTENSION_get_critical(const X509_EXTENSION *ex); + +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, + int atrtype, const void *data, int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, + const ASN1_OBJECT *obj, int atrtype, const void *data, int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, + const char *atrname, int type, const unsigned char *bytes, int len); +int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); +int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, const void *data, int len); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, + int atrtype, void *data); +int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr); +ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); + +int X509_verify_cert(X509_STORE_CTX *ctx); + +/* lookup a cert from a X509 STACK */ +X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk,X509_NAME *name, + ASN1_INTEGER *serial); +X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name); + +extern const ASN1_ITEM PBEPARAM_it; + +/* PKCS#8 utilities */ + +PKCS8_PRIV_KEY_INFO *PKCS8_PRIV_KEY_INFO_new(void); +void PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len); +int i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out); +extern const ASN1_ITEM PKCS8_PRIV_KEY_INFO_it; + +EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); + +int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, + int ptype, void *pval, unsigned char *penc, int penclen); +int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk, + int *ppklen, const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8); + +const STACK_OF(X509_ATTRIBUTE) *PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); +int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, + const unsigned char *bytes, int len); + +int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype, + void *pval, unsigned char *penc, int penclen); +int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, const unsigned char **pk, + int *ppklen, X509_ALGOR **pa, X509_PUBKEY *pub); + +int X509_up_ref(X509 *x); +STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); + +void ERR_load_X509_strings(void); + +/* Error codes for the X509 functions. */ + +/* Function codes. */ +#define X509_F_ADD_CERT_DIR 100 +#define X509_F_BY_FILE_CTRL 101 +#define X509_F_CHECK_POLICY 145 +#define X509_F_DIR_CTRL 102 +#define X509_F_GET_CERT_BY_SUBJECT 103 +#define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +#define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +#define X509_F_X509AT_ADD1_ATTR 135 +#define X509_F_X509V3_ADD_EXT 104 +#define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +#define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +#define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +#define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +#define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +#define X509_F_X509_CHECK_PRIVATE_KEY 128 +#define X509_F_X509_CRL_PRINT_FP 147 +#define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +#define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +#define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +#define X509_F_X509_LOAD_CERT_CRL_FILE 132 +#define X509_F_X509_LOAD_CERT_FILE 111 +#define X509_F_X509_LOAD_CRL_FILE 112 +#define X509_F_X509_NAME_ADD_ENTRY 113 +#define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +#define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +#define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +#define X509_F_X509_NAME_ONELINE 116 +#define X509_F_X509_NAME_PRINT 117 +#define X509_F_X509_PRINT_EX_FP 118 +#define X509_F_X509_PUBKEY_GET 119 +#define X509_F_X509_PUBKEY_SET 120 +#define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +#define X509_F_X509_REQ_PRINT_EX 121 +#define X509_F_X509_REQ_PRINT_FP 122 +#define X509_F_X509_REQ_TO_X509 123 +#define X509_F_X509_STORE_ADD_CERT 124 +#define X509_F_X509_STORE_ADD_CRL 125 +#define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +#define X509_F_X509_STORE_CTX_INIT 143 +#define X509_F_X509_STORE_CTX_NEW 142 +#define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +#define X509_F_X509_TO_X509_REQ 126 +#define X509_F_X509_TRUST_ADD 133 +#define X509_F_X509_TRUST_SET 141 +#define X509_F_X509_VERIFY_CERT 127 + +/* Reason codes. */ +#define X509_R_BAD_X509_FILETYPE 100 +#define X509_R_BASE64_DECODE_ERROR 118 +#define X509_R_CANT_CHECK_DH_KEY 114 +#define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 +#define X509_R_ERR_ASN1_LIB 102 +#define X509_R_INVALID_DIRECTORY 113 +#define X509_R_INVALID_FIELD_NAME 119 +#define X509_R_INVALID_TRUST 123 +#define X509_R_INVALID_VERSION 137 +#define X509_R_KEY_TYPE_MISMATCH 115 +#define X509_R_KEY_VALUES_MISMATCH 116 +#define X509_R_LOADING_CERT_DIR 103 +#define X509_R_LOADING_DEFAULTS 104 +#define X509_R_METHOD_NOT_SUPPORTED 124 +#define X509_R_NO_CERTIFICATE_OR_CRL_FOUND 136 +#define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 +#define X509_R_PUBLIC_KEY_DECODE_ERROR 125 +#define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 +#define X509_R_SHOULD_RETRY 106 +#define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 +#define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 +#define X509_R_UNKNOWN_KEY_TYPE 117 +#define X509_R_UNKNOWN_NID 109 +#define X509_R_UNKNOWN_PURPOSE_ID 121 +#define X509_R_UNKNOWN_TRUST_ID 120 +#define X509_R_UNSUPPORTED_ALGORITHM 111 +#define X509_R_WRONG_LOOKUP_TYPE 112 +#define X509_R_WRONG_TYPE 122 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/x509_vfy.h b/curl/include/openssl/x509_vfy.h new file mode 100644 index 0000000..7058bbc --- /dev/null +++ b/curl/include/openssl/x509_vfy.h @@ -0,0 +1,463 @@ +/* $OpenBSD: x509_vfy.h,v 1.70 2025/03/09 15:20:20 tb Exp $ */ +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + +#ifndef HEADER_X509_H +#include +/* openssl/x509.h ends up #include-ing this file at about the only + * appropriate moment. */ +#endif + +#ifndef HEADER_X509_VFY_H +#define HEADER_X509_VFY_H + +#include + +#ifndef OPENSSL_NO_LHASH +#include +#endif +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * SSL_CTX -> X509_STORE + * -> X509_LOOKUP + * ->X509_LOOKUP_METHOD + * -> X509_LOOKUP + * ->X509_LOOKUP_METHOD + * + * SSL -> X509_STORE_CTX + * ->X509_STORE + * + * The X509_STORE holds the tables etc for verification stuff. + * A X509_STORE_CTX is used while validating a single certificate. + * The X509_STORE has X509_LOOKUPs for looking up certs. + * The X509_STORE then calls a function to actually verify the + * certificate chain. + */ + +typedef enum { + X509_LU_NONE, + X509_LU_X509, + X509_LU_CRL, +} X509_LOOKUP_TYPE; + + +DECLARE_STACK_OF(X509_LOOKUP) +DECLARE_STACK_OF(X509_OBJECT) +DECLARE_STACK_OF(X509_VERIFY_PARAM) + +/* XXX - unused in OpenSSL. Can we remove this? */ +typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID; + + +int X509_STORE_set_depth(X509_STORE *store, int depth); + +void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); + +#define X509_STORE_CTX_set_app_data(ctx,data) \ + X509_STORE_CTX_set_ex_data(ctx,0,data) +#define X509_STORE_CTX_get_app_data(ctx) \ + X509_STORE_CTX_get_ex_data(ctx,0) + +#define X509_L_FILE_LOAD 1 +#define X509_L_ADD_DIR 2 +#define X509_L_MEM 3 + +#define X509_LOOKUP_load_file(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) + +#define X509_LOOKUP_add_dir(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) + +#define X509_LOOKUP_add_mem(x,iov,type) \ + X509_LOOKUP_ctrl((x),X509_L_MEM,(const char *)(iov),\ + (long)(type),NULL) + +#define X509_V_OK 0 +#define X509_V_ERR_UNSPECIFIED 1 +#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +#define X509_V_ERR_UNABLE_TO_GET_CRL 3 +#define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +#define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +#define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +#define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +#define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +#define X509_V_ERR_CERT_NOT_YET_VALID 9 +#define X509_V_ERR_CERT_HAS_EXPIRED 10 +#define X509_V_ERR_CRL_NOT_YET_VALID 11 +#define X509_V_ERR_CRL_HAS_EXPIRED 12 +#define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +#define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +#define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +#define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +#define X509_V_ERR_OUT_OF_MEM 17 +#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +#define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +#define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +#define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +#define X509_V_ERR_CERT_REVOKED 23 +#define X509_V_ERR_INVALID_CA 24 +#define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +#define X509_V_ERR_INVALID_PURPOSE 26 +#define X509_V_ERR_CERT_UNTRUSTED 27 +#define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +#define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +#define X509_V_ERR_AKID_SKID_MISMATCH 30 +#define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +#define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 + +#define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +#define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +#define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +#define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +#define X509_V_ERR_INVALID_NON_CA 37 +#define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +#define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +#define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 + +#define X509_V_ERR_INVALID_EXTENSION 41 +#define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +#define X509_V_ERR_NO_EXPLICIT_POLICY 43 +#define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +#define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 + +#define X509_V_ERR_UNNESTED_RESOURCE 46 + +#define X509_V_ERR_PERMITTED_VIOLATION 47 +#define X509_V_ERR_EXCLUDED_VIOLATION 48 +#define X509_V_ERR_SUBTREE_MINMAX 49 +#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +#define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +#define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 + +/* The application is not happy */ +#define X509_V_ERR_APPLICATION_VERIFICATION 50 + +/* Host, email and IP check errors */ +#define X509_V_ERR_HOSTNAME_MISMATCH 62 +#define X509_V_ERR_EMAIL_MISMATCH 63 +#define X509_V_ERR_IP_ADDRESS_MISMATCH 64 + +/* Caller error */ +#define X509_V_ERR_INVALID_CALL 65 +/* Issuer lookup error */ +#define X509_V_ERR_STORE_LOOKUP 66 + +/* Security level errors */ +#define X509_V_ERR_EE_KEY_TOO_SMALL 67 +#define X509_V_ERR_CA_KEY_TOO_SMALL 68 +#define X509_V_ERR_CA_MD_TOO_WEAK 69 + +/* Certificate verify flags */ + +/* Deprecated in 1.1.0, has no effect. Various FFI bindings still expose it. */ +#define X509_V_FLAG_CB_ISSUER_CHECK 0x0 +/* Use check time instead of current time */ +#define X509_V_FLAG_USE_CHECK_TIME 0x2 +/* Lookup CRLs */ +#define X509_V_FLAG_CRL_CHECK 0x4 +/* Lookup CRLs for whole chain */ +#define X509_V_FLAG_CRL_CHECK_ALL 0x8 +/* Ignore unhandled critical extensions */ +#define X509_V_FLAG_IGNORE_CRITICAL 0x10 +/* Disable workarounds for broken certificates */ +#define X509_V_FLAG_X509_STRICT 0x20 +/* Enable proxy certificate validation */ +#define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 +/* Does nothing as its functionality has been enabled by default */ +#define X509_V_FLAG_POLICY_CHECK 0x80 +/* Policy variable require-explicit-policy */ +#define X509_V_FLAG_EXPLICIT_POLICY 0x100 +/* Policy variable inhibit-any-policy */ +#define X509_V_FLAG_INHIBIT_ANY 0x200 +/* Policy variable inhibit-policy-mapping */ +#define X509_V_FLAG_INHIBIT_MAP 0x400 +/* Notify callback that policy is OK */ +#define X509_V_FLAG_NOTIFY_POLICY 0x800 +/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ +#define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 +/* Delta CRL support */ +#define X509_V_FLAG_USE_DELTAS 0x2000 +/* Check selfsigned CA signature */ +#define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 +/* Use trusted store first */ +#define X509_V_FLAG_TRUSTED_FIRST 0x8000 +/* Allow partial chains if at least one certificate is in trusted store */ +#define X509_V_FLAG_PARTIAL_CHAIN 0x80000 + +/* If the initial chain is not trusted, do not attempt to build an alternative + * chain. Alternate chain checking was introduced in 1.0.2b. Setting this flag + * will force the behaviour to match that of previous versions. */ +#define X509_V_FLAG_NO_ALT_CHAINS 0x100000 + +/* Do not check certificate or CRL validity against current time. */ +#define X509_V_FLAG_NO_CHECK_TIME 0x200000 + +/* Force the use of the legacy certificate verification */ +#define X509_V_FLAG_LEGACY_VERIFY 0x400000 + +#define X509_VP_FLAG_DEFAULT 0x1 +#define X509_VP_FLAG_OVERWRITE 0x2 +#define X509_VP_FLAG_RESET_FLAGS 0x4 +#define X509_VP_FLAG_LOCKED 0x8 +#define X509_VP_FLAG_ONCE 0x10 + +/* + * Obsolete internal use: mask of policy related options. + * This should really go away. + */ +#define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ + | X509_V_FLAG_EXPLICIT_POLICY \ + | X509_V_FLAG_INHIBIT_ANY \ + | X509_V_FLAG_INHIBIT_MAP) + +X509_OBJECT *X509_OBJECT_new(void); +void X509_OBJECT_free(X509_OBJECT *a); +int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, + X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, + X509_LOOKUP_TYPE type, X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); +X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a); +X509 *X509_OBJECT_get0_X509(const X509_OBJECT *xo); +X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *xo); + +X509_STORE *X509_STORE_new(void); +void X509_STORE_free(X509_STORE *v); +int X509_STORE_up_ref(X509_STORE *x); +#define X509_STORE_get1_certs X509_STORE_CTX_get1_certs +#define X509_STORE_get1_crls X509_STORE_CTX_get1_crls +STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); +STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); +STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *xs); +STACK_OF(X509_OBJECT) *X509_STORE_get1_objects(X509_STORE *xs); +void *X509_STORE_get_ex_data(X509_STORE *xs, int idx); +int X509_STORE_set_ex_data(X509_STORE *xs, int idx, void *data); + +#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, (l), (p), \ + (newf), (dupf), (freef)) + +int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); +int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); +int X509_STORE_set_trust(X509_STORE *ctx, int trust); +int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); +X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx); + +typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); + +X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *); + +void X509_STORE_set_verify_cb(X509_STORE *ctx, + int (*verify_cb)(int, X509_STORE_CTX *)); +#define X509_STORE_set_verify_cb_func(ctx, func) \ + X509_STORE_set_verify_cb((ctx), (func)) + +typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, + X509 *subject, X509 *issuer); + +X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *store); +void X509_STORE_set_check_issued(X509_STORE *store, + X509_STORE_CTX_check_issued_fn check_issued); +X509_STORE_CTX_check_issued_fn + X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx); + +X509_STORE_CTX *X509_STORE_CTX_new(void); + +int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + +void X509_STORE_CTX_free(X509_STORE_CTX *ctx); +int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, + X509 *x509, STACK_OF(X509) *chain); +X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *xs); +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *xs); +STACK_OF(X509) *X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); + +X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, const X509_LOOKUP_METHOD *m); + +const X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); +const X509_LOOKUP_METHOD *X509_LOOKUP_file(void); +const X509_LOOKUP_METHOD *X509_LOOKUP_mem(void); + +int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); +int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); + +int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret); +#define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject +X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, + X509_LOOKUP_TYPE type, X509_NAME *name); + +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); + +int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); + +void X509_LOOKUP_free(X509_LOOKUP *ctx); + +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, const char *dir); +int X509_STORE_load_mem(X509_STORE *ctx, void *buf, int len); +int X509_STORE_set_default_paths(X509_STORE *ctx); + +int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx,int idx,void *data); +void * X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx,int idx); +int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx,int s); +int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth); +X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x); +X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); +X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); +X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x); +void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c,STACK_OF(X509_CRL) *sk); +int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); +int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); +void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); +void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, + time_t t); +void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +int (*X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx))(X509_STORE_CTX *); +void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, + int (*verify)(X509_STORE_CTX *)); +int (*X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx))(int, X509_STORE_CTX *); +void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, + int (*verify_cb)(int, X509_STORE_CTX *)); + +typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); + +void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify); +X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx); +#define X509_STORE_set_verify_func(ctx, func) \ + X509_STORE_set_verify((ctx), (func)) + +int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx); + +X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); +int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); + +/* X509_VERIFY_PARAM functions */ + +X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); +void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); +int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags); +int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); +int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); +void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); +void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level); +time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param); +void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); +int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, + ASN1_OBJECT *policy); +int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, + STACK_OF(ASN1_OBJECT) *policies); +int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, const char *name, + size_t namelen); +int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, const char *name, + size_t namelen); +void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned int flags); +char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char *email, + size_t emaillen); +int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned char *ip, + size_t iplen); +int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); +int X509_VERIFY_PARAM_get_count(void); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/openssl/x509v3.h b/curl/include/openssl/x509v3.h new file mode 100644 index 0000000..fa31279 --- /dev/null +++ b/curl/include/openssl/x509v3.h @@ -0,0 +1,1041 @@ +/* $OpenBSD: x509v3.h,v 1.40 2024/12/23 09:57:23 tb Exp $ */ +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL + * project 1999. + */ +/* ==================================================================== + * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_X509V3_H +#define HEADER_X509V3_H + +#include + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward reference */ +struct v3_ext_method; +struct v3_ext_ctx; + +/* Useful typedefs */ + +typedef void * (*X509V3_EXT_NEW)(void); +typedef void (*X509V3_EXT_FREE)(void *); +typedef void * (*X509V3_EXT_D2I)(void *, const unsigned char ** , long); +typedef int (*X509V3_EXT_I2D)(void *, unsigned char **); +typedef STACK_OF(CONF_VALUE) * + (*X509V3_EXT_I2V)(const struct v3_ext_method *method, void *ext, + STACK_OF(CONF_VALUE) *extlist); +typedef void * (*X509V3_EXT_V2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, + STACK_OF(CONF_VALUE) *values); +typedef char * (*X509V3_EXT_I2S)(const struct v3_ext_method *method, void *ext); +typedef void * (*X509V3_EXT_S2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); +typedef int (*X509V3_EXT_I2R)(const struct v3_ext_method *method, void *ext, + BIO *out, int indent); +typedef void * (*X509V3_EXT_R2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); + +/* V3 extension structure */ + +struct v3_ext_method { + int ext_nid; + int ext_flags; + /* If this is set the following four fields are ignored */ + ASN1_ITEM_EXP *it; + /* Old style ASN1 calls */ + X509V3_EXT_NEW ext_new; + X509V3_EXT_FREE ext_free; + X509V3_EXT_D2I d2i; + X509V3_EXT_I2D i2d; + + /* The following pair is used for string extensions */ + X509V3_EXT_I2S i2s; + X509V3_EXT_S2I s2i; + + /* The following pair is used for multi-valued extensions */ + X509V3_EXT_I2V i2v; + X509V3_EXT_V2I v2i; + + /* The following are used for raw extensions */ + X509V3_EXT_I2R i2r; + X509V3_EXT_R2I r2i; + + const void *usr_data; /* Any extension specific data */ +}; + +struct v3_ext_ctx { + #define CTX_TEST 0x1 + int flags; + X509 *issuer_cert; + X509 *subject_cert; + X509_REQ *subject_req; + X509_CRL *crl; + void *db; +}; + +typedef struct v3_ext_method X509V3_EXT_METHOD; + +DECLARE_STACK_OF(X509V3_EXT_METHOD) + +/* XXX - can this be made internal? */ +#define X509V3_EXT_MULTILINE 0x4 + +/* XXX - remove it anyway? */ +/* Guess who uses this... Yes, of course, it's xca. */ +typedef BIT_STRING_BITNAME ENUMERATED_NAMES; + +typedef struct BASIC_CONSTRAINTS_st { + int ca; + ASN1_INTEGER *pathlen; +} BASIC_CONSTRAINTS; + + +typedef struct PKEY_USAGE_PERIOD_st { + ASN1_GENERALIZEDTIME *notBefore; + ASN1_GENERALIZEDTIME *notAfter; +} PKEY_USAGE_PERIOD; + +typedef struct otherName_st { + ASN1_OBJECT *type_id; + ASN1_TYPE *value; +} OTHERNAME; + +typedef struct EDIPartyName_st { + ASN1_STRING *nameAssigner; + ASN1_STRING *partyName; +} EDIPARTYNAME; + +typedef struct GENERAL_NAME_st { + + #define GEN_OTHERNAME 0 + #define GEN_EMAIL 1 + #define GEN_DNS 2 + #define GEN_X400 3 + #define GEN_DIRNAME 4 + #define GEN_EDIPARTY 5 + #define GEN_URI 6 + #define GEN_IPADD 7 + #define GEN_RID 8 + + int type; + union { + char *ptr; + OTHERNAME *otherName; /* otherName */ + ASN1_IA5STRING *rfc822Name; + ASN1_IA5STRING *dNSName; + ASN1_STRING *x400Address; + X509_NAME *directoryName; + EDIPARTYNAME *ediPartyName; + ASN1_IA5STRING *uniformResourceIdentifier; + ASN1_OCTET_STRING *iPAddress; + ASN1_OBJECT *registeredID; + + /* Old names */ + ASN1_OCTET_STRING *ip; /* iPAddress */ + X509_NAME *dirn; /* dirn */ + ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, uniformResourceIdentifier */ + ASN1_OBJECT *rid; /* registeredID */ + } d; +} GENERAL_NAME; + +typedef struct ACCESS_DESCRIPTION_st { + ASN1_OBJECT *method; + GENERAL_NAME *location; +} ACCESS_DESCRIPTION; + +typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; + +typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; + +DECLARE_STACK_OF(GENERAL_NAME) + +typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; +DECLARE_STACK_OF(GENERAL_NAMES) + +DECLARE_STACK_OF(ACCESS_DESCRIPTION) + +typedef struct DIST_POINT_NAME_st { + int type; + union { + GENERAL_NAMES *fullname; + STACK_OF(X509_NAME_ENTRY) *relativename; + } name; + /* If relativename then this contains the full distribution point name */ + X509_NAME *dpname; +} DIST_POINT_NAME; +/* All existing reasons */ +#define CRLDP_ALL_REASONS 0x807f + +#define CRL_REASON_NONE -1 +#define CRL_REASON_UNSPECIFIED 0 +#define CRL_REASON_KEY_COMPROMISE 1 +#define CRL_REASON_CA_COMPROMISE 2 +#define CRL_REASON_AFFILIATION_CHANGED 3 +#define CRL_REASON_SUPERSEDED 4 +#define CRL_REASON_CESSATION_OF_OPERATION 5 +#define CRL_REASON_CERTIFICATE_HOLD 6 +#define CRL_REASON_REMOVE_FROM_CRL 8 +#define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +#define CRL_REASON_AA_COMPROMISE 10 + +struct DIST_POINT_st { + DIST_POINT_NAME *distpoint; + ASN1_BIT_STRING *reasons; + GENERAL_NAMES *CRLissuer; + int dp_reasons; +}; + +typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; + +DECLARE_STACK_OF(DIST_POINT) + +struct AUTHORITY_KEYID_st { + ASN1_OCTET_STRING *keyid; + GENERAL_NAMES *issuer; + ASN1_INTEGER *serial; +}; + +typedef struct NOTICEREF_st { + ASN1_STRING *organization; + STACK_OF(ASN1_INTEGER) *noticenos; +} NOTICEREF; + +typedef struct USERNOTICE_st { + NOTICEREF *noticeref; + ASN1_STRING *exptext; +} USERNOTICE; + +typedef struct POLICYQUALINFO_st { + ASN1_OBJECT *pqualid; + union { + ASN1_IA5STRING *cpsuri; + USERNOTICE *usernotice; + ASN1_TYPE *other; + } d; +} POLICYQUALINFO; + +DECLARE_STACK_OF(POLICYQUALINFO) + +typedef struct POLICYINFO_st { + ASN1_OBJECT *policyid; + STACK_OF(POLICYQUALINFO) *qualifiers; +} POLICYINFO; + +typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; + +DECLARE_STACK_OF(POLICYINFO) + +typedef struct POLICY_MAPPING_st { + ASN1_OBJECT *issuerDomainPolicy; + ASN1_OBJECT *subjectDomainPolicy; +} POLICY_MAPPING; + +DECLARE_STACK_OF(POLICY_MAPPING) + +typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; + +typedef struct GENERAL_SUBTREE_st { + GENERAL_NAME *base; + ASN1_INTEGER *minimum; + ASN1_INTEGER *maximum; +} GENERAL_SUBTREE; + +DECLARE_STACK_OF(GENERAL_SUBTREE) + +struct NAME_CONSTRAINTS_st { + STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; + STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +}; + +typedef struct POLICY_CONSTRAINTS_st { + ASN1_INTEGER *requireExplicitPolicy; + ASN1_INTEGER *inhibitPolicyMapping; +} POLICY_CONSTRAINTS; + +struct ISSUING_DIST_POINT_st { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +}; + +/* Values in idp_flags field */ +/* IDP present */ +#define IDP_PRESENT 0x1 +/* IDP values inconsistent */ +#define IDP_INVALID 0x2 +/* onlyuser true */ +#define IDP_ONLYUSER 0x4 +/* onlyCA true */ +#define IDP_ONLYCA 0x8 +/* onlyattr true */ +#define IDP_ONLYATTR 0x10 +/* indirectCRL true */ +#define IDP_INDIRECT 0x20 +/* onlysomereasons present */ +#define IDP_REASONS 0x40 + +#define X509V3_conf_err(val) ERR_asprintf_error_data( \ + "section:%s,name:%s,value:%s", val->section, \ + val->name, val->value); + +#define X509V3_set_ctx_test(ctx) \ + X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) +#define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; + +/* X509_PURPOSE stuff */ + +#define EXFLAG_BCONS 0x0001 +#define EXFLAG_KUSAGE 0x0002 +#define EXFLAG_XKUSAGE 0x0004 +#define EXFLAG_NSCERT 0x0008 + +#define EXFLAG_CA 0x0010 +#define EXFLAG_SI 0x0020 /* Self issued. */ +#define EXFLAG_V1 0x0040 +#define EXFLAG_INVALID 0x0080 +#define EXFLAG_SET 0x0100 +#define EXFLAG_CRITICAL 0x0200 +#if !defined(LIBRESSL_INTERNAL) +#define EXFLAG_PROXY 0x0400 +#endif +#define EXFLAG_INVALID_POLICY 0x0800 +#define EXFLAG_FRESHEST 0x1000 +#define EXFLAG_SS 0x2000 /* Self signed. */ + +#define KU_DIGITAL_SIGNATURE 0x0080 +#define KU_NON_REPUDIATION 0x0040 +#define KU_KEY_ENCIPHERMENT 0x0020 +#define KU_DATA_ENCIPHERMENT 0x0010 +#define KU_KEY_AGREEMENT 0x0008 +#define KU_KEY_CERT_SIGN 0x0004 +#define KU_CRL_SIGN 0x0002 +#define KU_ENCIPHER_ONLY 0x0001 +#define KU_DECIPHER_ONLY 0x8000 + +#define NS_SSL_CLIENT 0x80 +#define NS_SSL_SERVER 0x40 +#define NS_SMIME 0x20 +#define NS_OBJSIGN 0x10 +#define NS_SSL_CA 0x04 +#define NS_SMIME_CA 0x02 +#define NS_OBJSIGN_CA 0x01 +#define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) + +#define XKU_SSL_SERVER 0x1 +#define XKU_SSL_CLIENT 0x2 +#define XKU_SMIME 0x4 +#define XKU_CODE_SIGN 0x8 +#define XKU_SGC 0x10 +#define XKU_OCSP_SIGN 0x20 +#define XKU_TIMESTAMP 0x40 +#define XKU_DVCS 0x80 +#define XKU_ANYEKU 0x100 + +#define X509_PURPOSE_DYNAMIC 0x1 +#define X509_PURPOSE_DYNAMIC_NAME 0x2 + +typedef struct x509_purpose_st X509_PURPOSE; + +#define X509_PURPOSE_SSL_CLIENT 1 +#define X509_PURPOSE_SSL_SERVER 2 +#define X509_PURPOSE_NS_SSL_SERVER 3 +#define X509_PURPOSE_SMIME_SIGN 4 +#define X509_PURPOSE_SMIME_ENCRYPT 5 +#define X509_PURPOSE_CRL_SIGN 6 +#define X509_PURPOSE_ANY 7 +#define X509_PURPOSE_OCSP_HELPER 8 +#define X509_PURPOSE_TIMESTAMP_SIGN 9 + +#define X509_PURPOSE_MIN 1 +#define X509_PURPOSE_MAX 9 + +/* Flags for X509V3_EXT_print() */ + +#define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) +/* Return error for unknown extensions */ +#define X509V3_EXT_DEFAULT 0 +/* Print error for unknown extensions */ +#define X509V3_EXT_ERROR_UNKNOWN (1L << 16) +/* ASN1 parse unknown extensions */ +#define X509V3_EXT_PARSE_UNKNOWN (2L << 16) +/* BIO_dump unknown extensions */ +#define X509V3_EXT_DUMP_UNKNOWN (3L << 16) + +/* Flags for X509V3_add1_i2d */ + +#define X509V3_ADD_OP_MASK 0xfL +#define X509V3_ADD_DEFAULT 0L +#define X509V3_ADD_APPEND 1L +#define X509V3_ADD_REPLACE 2L +#define X509V3_ADD_REPLACE_EXISTING 3L +#define X509V3_ADD_KEEP_EXISTING 4L +#define X509V3_ADD_DELETE 5L +#define X509V3_ADD_SILENT 0x10 + +DECLARE_STACK_OF(X509_PURPOSE) + +BASIC_CONSTRAINTS *BASIC_CONSTRAINTS_new(void); +void BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a); +BASIC_CONSTRAINTS *d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a, const unsigned char **in, long len); +int i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **out); +extern const ASN1_ITEM BASIC_CONSTRAINTS_it; + +AUTHORITY_KEYID *AUTHORITY_KEYID_new(void); +void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a); +AUTHORITY_KEYID *d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a, const unsigned char **in, long len); +int i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **out); +extern const ASN1_ITEM AUTHORITY_KEYID_it; + +PKEY_USAGE_PERIOD *PKEY_USAGE_PERIOD_new(void); +void PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a); +PKEY_USAGE_PERIOD *d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a, const unsigned char **in, long len); +int i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a, unsigned char **out); +extern const ASN1_ITEM PKEY_USAGE_PERIOD_it; + +GENERAL_NAME *GENERAL_NAME_new(void); +void GENERAL_NAME_free(GENERAL_NAME *a); +GENERAL_NAME *d2i_GENERAL_NAME(GENERAL_NAME **a, const unsigned char **in, long len); +int i2d_GENERAL_NAME(GENERAL_NAME *a, unsigned char **out); +extern const ASN1_ITEM GENERAL_NAME_it; +GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); +int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); + + + +ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); +STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + ASN1_BIT_STRING *bits, + STACK_OF(CONF_VALUE) *extlist); + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret); +int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); + +GENERAL_NAMES *GENERAL_NAMES_new(void); +void GENERAL_NAMES_free(GENERAL_NAMES *a); +GENERAL_NAMES *d2i_GENERAL_NAMES(GENERAL_NAMES **a, const unsigned char **in, long len); +int i2d_GENERAL_NAMES(GENERAL_NAMES *a, unsigned char **out); +extern const ASN1_ITEM GENERAL_NAMES_it; + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, + GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist); +GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); + +OTHERNAME *OTHERNAME_new(void); +void OTHERNAME_free(OTHERNAME *a); +OTHERNAME *d2i_OTHERNAME(OTHERNAME **a, const unsigned char **in, long len); +int i2d_OTHERNAME(OTHERNAME *a, unsigned char **out); +extern const ASN1_ITEM OTHERNAME_it; +EDIPARTYNAME *EDIPARTYNAME_new(void); +void EDIPARTYNAME_free(EDIPARTYNAME *a); +EDIPARTYNAME *d2i_EDIPARTYNAME(EDIPARTYNAME **a, const unsigned char **in, long len); +int i2d_EDIPARTYNAME(EDIPARTYNAME *a, unsigned char **out); +extern const ASN1_ITEM EDIPARTYNAME_it; +int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); +void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); +void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); +int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, + ASN1_OBJECT *oid, ASN1_TYPE *value); +int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, + ASN1_OBJECT **poid, ASN1_TYPE **pvalue); + +char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + const ASN1_OCTET_STRING *ia5); +ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +EXTENDED_KEY_USAGE *EXTENDED_KEY_USAGE_new(void); +void EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a); +EXTENDED_KEY_USAGE *d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a, const unsigned char **in, long len); +int i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a, unsigned char **out); +extern const ASN1_ITEM EXTENDED_KEY_USAGE_it; +int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION* a); + +CERTIFICATEPOLICIES *CERTIFICATEPOLICIES_new(void); +void CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a); +CERTIFICATEPOLICIES *d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a, const unsigned char **in, long len); +int i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a, unsigned char **out); +extern const ASN1_ITEM CERTIFICATEPOLICIES_it; +POLICYINFO *POLICYINFO_new(void); +void POLICYINFO_free(POLICYINFO *a); +POLICYINFO *d2i_POLICYINFO(POLICYINFO **a, const unsigned char **in, long len); +int i2d_POLICYINFO(POLICYINFO *a, unsigned char **out); +extern const ASN1_ITEM POLICYINFO_it; +POLICYQUALINFO *POLICYQUALINFO_new(void); +void POLICYQUALINFO_free(POLICYQUALINFO *a); +POLICYQUALINFO *d2i_POLICYQUALINFO(POLICYQUALINFO **a, const unsigned char **in, long len); +int i2d_POLICYQUALINFO(POLICYQUALINFO *a, unsigned char **out); +extern const ASN1_ITEM POLICYQUALINFO_it; +USERNOTICE *USERNOTICE_new(void); +void USERNOTICE_free(USERNOTICE *a); +USERNOTICE *d2i_USERNOTICE(USERNOTICE **a, const unsigned char **in, long len); +int i2d_USERNOTICE(USERNOTICE *a, unsigned char **out); +extern const ASN1_ITEM USERNOTICE_it; +NOTICEREF *NOTICEREF_new(void); +void NOTICEREF_free(NOTICEREF *a); +NOTICEREF *d2i_NOTICEREF(NOTICEREF **a, const unsigned char **in, long len); +int i2d_NOTICEREF(NOTICEREF *a, unsigned char **out); +extern const ASN1_ITEM NOTICEREF_it; + +CRL_DIST_POINTS *CRL_DIST_POINTS_new(void); +void CRL_DIST_POINTS_free(CRL_DIST_POINTS *a); +CRL_DIST_POINTS *d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a, const unsigned char **in, long len); +int i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a, unsigned char **out); +extern const ASN1_ITEM CRL_DIST_POINTS_it; +DIST_POINT *DIST_POINT_new(void); +void DIST_POINT_free(DIST_POINT *a); +DIST_POINT *d2i_DIST_POINT(DIST_POINT **a, const unsigned char **in, long len); +int i2d_DIST_POINT(DIST_POINT *a, unsigned char **out); +extern const ASN1_ITEM DIST_POINT_it; +DIST_POINT_NAME *DIST_POINT_NAME_new(void); +void DIST_POINT_NAME_free(DIST_POINT_NAME *a); +DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, const unsigned char **in, long len); +int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **out); +extern const ASN1_ITEM DIST_POINT_NAME_it; +ISSUING_DIST_POINT *ISSUING_DIST_POINT_new(void); +void ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a); +ISSUING_DIST_POINT *d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a, const unsigned char **in, long len); +int i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a, unsigned char **out); +extern const ASN1_ITEM ISSUING_DIST_POINT_it; + +int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); + +int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); + +ACCESS_DESCRIPTION *ACCESS_DESCRIPTION_new(void); +void ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a); +ACCESS_DESCRIPTION *d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a, const unsigned char **in, long len); +int i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a, unsigned char **out); +extern const ASN1_ITEM ACCESS_DESCRIPTION_it; +AUTHORITY_INFO_ACCESS *AUTHORITY_INFO_ACCESS_new(void); +void AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a); +AUTHORITY_INFO_ACCESS *d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a, const unsigned char **in, long len); +int i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a, unsigned char **out); +extern const ASN1_ITEM AUTHORITY_INFO_ACCESS_it; + +extern const ASN1_ITEM POLICY_MAPPING_it; +POLICY_MAPPING *POLICY_MAPPING_new(void); +void POLICY_MAPPING_free(POLICY_MAPPING *a); +extern const ASN1_ITEM POLICY_MAPPINGS_it; + +extern const ASN1_ITEM GENERAL_SUBTREE_it; +GENERAL_SUBTREE *GENERAL_SUBTREE_new(void); +void GENERAL_SUBTREE_free(GENERAL_SUBTREE *a); + +extern const ASN1_ITEM NAME_CONSTRAINTS_it; +NAME_CONSTRAINTS *NAME_CONSTRAINTS_new(void); +void NAME_CONSTRAINTS_free(NAME_CONSTRAINTS *a); + +POLICY_CONSTRAINTS *POLICY_CONSTRAINTS_new(void); +void POLICY_CONSTRAINTS_free(POLICY_CONSTRAINTS *a); +extern const ASN1_ITEM POLICY_CONSTRAINTS_it; + +GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, + int gen_type, const char *value, int is_nc); + +#ifdef HEADER_CONF_H +GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, + CONF_VALUE *cnf); +GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf, int is_nc); +void X509V3_conf_free(CONF_VALUE *val); + +X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name, + const char *value); +int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section, + STACK_OF(X509_EXTENSION) **sk); +int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509 *cert); +int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_REQ *req); +int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_CRL *crl); + +X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + int ext_nid, const char *value); +X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *name, const char *value); + +void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); +#endif + +void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, + X509_REQ *req, X509_CRL *crl, int flags); + +char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint); +ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value); +char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, const ASN1_ENUMERATED *aint); +char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, + const ASN1_ENUMERATED *aint); + +const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); +const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); +int X509V3_add_standard_extensions(void); +STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); +void *X509V3_EXT_d2i(X509_EXTENSION *ext); +void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, + int *idx); + +X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); +int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags); + +char *hex_to_string(const unsigned char *buffer, long len); +unsigned char *string_to_hex(const char *str, long *len); + +void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, + int ml); +int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, int indent); +int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); + +int X509V3_extensions_print(BIO *out, const char *title, + const STACK_OF(X509_EXTENSION) *exts, unsigned long flag, int indent); + +int X509_check_ca(X509 *x); +int X509_check_purpose(X509 *x, int id, int ca); +int X509_supported_extension(X509_EXTENSION *ex); +int X509_check_issued(X509 *issuer, X509 *subject); +int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid); + +int X509_PURPOSE_get_count(void); +const X509_PURPOSE *X509_PURPOSE_get0(int idx); +int X509_PURPOSE_get_by_sname(const char *sname); +const char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp); +const char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp); +int X509_PURPOSE_get_id(const X509_PURPOSE *); +uint32_t X509_get_extension_flags(X509 *x); +uint32_t X509_get_key_usage(X509 *x); +uint32_t X509_get_extended_key_usage(X509 *x); + +STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); +STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x); +void X509_email_free(STACK_OF(OPENSSL_STRING) *sk); +STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); + +/* Flags for X509_check_* functions */ +/* Always check subject name for host match even if subject alt names present */ +#define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 +/* Disable wildcard matching for dnsName fields and common name. */ +#define X509_CHECK_FLAG_NO_WILDCARDS 0x2 +/* Wildcards must not match a partial label. */ +#define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 +/* Allow (non-partial) wildcards to match multiple labels. */ +#define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 +/* Constraint verifier subdomain patterns to match a single labels. */ +#define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 +/* Disable checking the CN for a hostname, to support modern validation */ +#define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT 0x20 + +int X509_check_host(X509 *x, const char *chk, size_t chklen, + unsigned int flags, char **peername); +int X509_check_email(X509 *x, const char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); + +ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); +ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); +int a2i_ipadd(unsigned char *ipout, const char *ipasc); +int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk, + unsigned long chtype); + +#ifndef OPENSSL_NO_RFC3779 +typedef struct ASRange_st { + ASN1_INTEGER *min; + ASN1_INTEGER *max; +} ASRange; + +#define ASIdOrRange_id 0 +#define ASIdOrRange_range 1 + +typedef struct ASIdOrRange_st { + int type; + union { + ASN1_INTEGER *id; + ASRange *range; + } u; +} ASIdOrRange; + +typedef STACK_OF(ASIdOrRange) ASIdOrRanges; +DECLARE_STACK_OF(ASIdOrRange) + +#define ASIdentifierChoice_inherit 0 +#define ASIdentifierChoice_asIdsOrRanges 1 + +typedef struct ASIdentifierChoice_st { + int type; + union { + ASN1_NULL *inherit; + ASIdOrRanges *asIdsOrRanges; + } u; +} ASIdentifierChoice; + +typedef struct ASIdentifiers_st { + ASIdentifierChoice *asnum; + ASIdentifierChoice *rdi; +} ASIdentifiers; + +ASRange *ASRange_new(void); +void ASRange_free(ASRange *a); +ASRange *d2i_ASRange(ASRange **a, const unsigned char **in, long len); +int i2d_ASRange(ASRange *a, unsigned char **out); +extern const ASN1_ITEM ASRange_it; + +ASIdOrRange *ASIdOrRange_new(void); +void ASIdOrRange_free(ASIdOrRange *a); +ASIdOrRange *d2i_ASIdOrRange(ASIdOrRange **a, const unsigned char **in, + long len); +int i2d_ASIdOrRange(ASIdOrRange *a, unsigned char **out); +extern const ASN1_ITEM ASIdOrRange_it; + +ASIdentifierChoice *ASIdentifierChoice_new(void); +void ASIdentifierChoice_free(ASIdentifierChoice *a); +ASIdentifierChoice *d2i_ASIdentifierChoice(ASIdentifierChoice **a, + const unsigned char **in, long len); +int i2d_ASIdentifierChoice(ASIdentifierChoice *a, unsigned char **out); +extern const ASN1_ITEM ASIdentifierChoice_it; + +ASIdentifiers *ASIdentifiers_new(void); +void ASIdentifiers_free(ASIdentifiers *a); +ASIdentifiers *d2i_ASIdentifiers(ASIdentifiers **a, const unsigned char **in, + long len); +int i2d_ASIdentifiers(ASIdentifiers *a, unsigned char **out); +extern const ASN1_ITEM ASIdentifiers_it; + +typedef struct IPAddressRange_st { + ASN1_BIT_STRING *min; + ASN1_BIT_STRING *max; +} IPAddressRange; + +#define IPAddressOrRange_addressPrefix 0 +#define IPAddressOrRange_addressRange 1 + +typedef struct IPAddressOrRange_st { + int type; + union { + ASN1_BIT_STRING *addressPrefix; + IPAddressRange *addressRange; + } u; +} IPAddressOrRange; + +typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; +DECLARE_STACK_OF(IPAddressOrRange) + +#define IPAddressChoice_inherit 0 +#define IPAddressChoice_addressesOrRanges 1 + +typedef struct IPAddressChoice_st { + int type; + union { + ASN1_NULL *inherit; + IPAddressOrRanges *addressesOrRanges; + } u; +} IPAddressChoice; + +typedef struct IPAddressFamily_st { + ASN1_OCTET_STRING *addressFamily; + IPAddressChoice *ipAddressChoice; +} IPAddressFamily; + +typedef STACK_OF(IPAddressFamily) IPAddrBlocks; +DECLARE_STACK_OF(IPAddressFamily) + +IPAddressRange *IPAddressRange_new(void); +void IPAddressRange_free(IPAddressRange *a); +IPAddressRange *d2i_IPAddressRange(IPAddressRange **a, + const unsigned char **in, long len); +int i2d_IPAddressRange(IPAddressRange *a, unsigned char **out); +extern const ASN1_ITEM IPAddressRange_it; + +IPAddressOrRange *IPAddressOrRange_new(void); +void IPAddressOrRange_free(IPAddressOrRange *a); +IPAddressOrRange *d2i_IPAddressOrRange(IPAddressOrRange **a, + const unsigned char **in, long len); +int i2d_IPAddressOrRange(IPAddressOrRange *a, unsigned char **out); +extern const ASN1_ITEM IPAddressOrRange_it; + +IPAddressChoice *IPAddressChoice_new(void); +void IPAddressChoice_free(IPAddressChoice *a); +IPAddressChoice *d2i_IPAddressChoice(IPAddressChoice **a, + const unsigned char **in, long len); +int i2d_IPAddressChoice(IPAddressChoice *a, unsigned char **out); +extern const ASN1_ITEM IPAddressChoice_it; + +IPAddressFamily *IPAddressFamily_new(void); +void IPAddressFamily_free(IPAddressFamily *a); +IPAddressFamily *d2i_IPAddressFamily(IPAddressFamily **a, + const unsigned char **in, long len); +int i2d_IPAddressFamily(IPAddressFamily *a, unsigned char **out); +extern const ASN1_ITEM IPAddressFamily_it; + +/* + * API tag for elements of the ASIdentifer SEQUENCE. + */ +#define V3_ASID_ASNUM 0 +#define V3_ASID_RDI 1 + +/* + * AFI values, assigned by IANA. It'd be nice to make the AFI + * handling code totally generic, but there are too many little things + * that would need to be defined for other address families for it to + * be worth the trouble. + */ +#define IANA_AFI_IPV4 1 +#define IANA_AFI_IPV6 2 + +/* + * Utilities to construct and extract values from RFC3779 extensions, + * since some of the encodings (particularly for IP address prefixes + * and ranges) are a bit tedious to work with directly. + */ +int X509v3_asid_add_inherit(ASIdentifiers *asid, int which); +int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, + ASN1_INTEGER *min, ASN1_INTEGER *max); +int X509v3_addr_add_inherit(IPAddrBlocks *addr, const unsigned afi, + const unsigned *safi); +int X509v3_addr_add_prefix(IPAddrBlocks *addr, const unsigned afi, + const unsigned *safi, unsigned char *a, const int prefixlen); +int X509v3_addr_add_range(IPAddrBlocks *addr, const unsigned afi, + const unsigned *safi, unsigned char *min, unsigned char *max); +unsigned X509v3_addr_get_afi(const IPAddressFamily *f); +int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, + unsigned char *min, unsigned char *max, const int length); + +/* + * Canonical forms. + */ +int X509v3_asid_is_canonical(ASIdentifiers *asid); +int X509v3_addr_is_canonical(IPAddrBlocks *addr); +int X509v3_asid_canonize(ASIdentifiers *asid); +int X509v3_addr_canonize(IPAddrBlocks *addr); + +/* + * Tests for inheritance and containment. + */ +int X509v3_asid_inherits(ASIdentifiers *asid); +int X509v3_addr_inherits(IPAddrBlocks *addr); +int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); +int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); + +/* + * Check whether RFC 3779 extensions nest properly in chains. + */ +int X509v3_asid_validate_path(X509_STORE_CTX *); +int X509v3_addr_validate_path(X509_STORE_CTX *); +int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, ASIdentifiers *ext, + int allow_inheritance); +int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, IPAddrBlocks *ext, + int allow_inheritance); + +#endif /* !OPENSSL_NO_RFC3779 */ + +void ERR_load_X509V3_strings(void); + +/* Error codes for the X509V3 functions. */ + +/* Function codes. */ +#define X509V3_F_A2I_GENERAL_NAME 164 +#define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 +#define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 +#define X509V3_F_COPY_EMAIL 122 +#define X509V3_F_COPY_ISSUER 123 +#define X509V3_F_DO_DIRNAME 144 +#define X509V3_F_DO_EXT_CONF 124 +#define X509V3_F_DO_EXT_I2D 135 +#define X509V3_F_DO_EXT_NCONF 151 +#define X509V3_F_DO_I2V_NAME_CONSTRAINTS 148 +#define X509V3_F_GNAMES_FROM_SECTNAME 156 +#define X509V3_F_HEX_TO_STRING 111 +#define X509V3_F_I2S_ASN1_ENUMERATED 121 +#define X509V3_F_I2S_ASN1_IA5STRING 149 +#define X509V3_F_I2S_ASN1_INTEGER 120 +#define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 +#define X509V3_F_NOTICE_SECTION 132 +#define X509V3_F_NREF_NOS 133 +#define X509V3_F_POLICY_SECTION 131 +#define X509V3_F_PROCESS_PCI_VALUE 150 +#define X509V3_F_R2I_CERTPOL 130 +#define X509V3_F_R2I_PCI 155 +#define X509V3_F_S2I_ASN1_IA5STRING 100 +#define X509V3_F_S2I_ASN1_INTEGER 108 +#define X509V3_F_S2I_ASN1_OCTET_STRING 112 +#define X509V3_F_S2I_ASN1_SKEY_ID 114 +#define X509V3_F_S2I_SKEY_ID 115 +#define X509V3_F_SET_DIST_POINT_NAME 158 +#define X509V3_F_STRING_TO_HEX 113 +#define X509V3_F_SXNET_ADD_ID_ASC 125 +#define X509V3_F_SXNET_ADD_ID_INTEGER 126 +#define X509V3_F_SXNET_ADD_ID_ULONG 127 +#define X509V3_F_SXNET_GET_ID_ASC 128 +#define X509V3_F_SXNET_GET_ID_ULONG 129 +#define X509V3_F_V2I_ASIDENTIFIERS 163 +#define X509V3_F_V2I_ASN1_BIT_STRING 101 +#define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 +#define X509V3_F_V2I_AUTHORITY_KEYID 119 +#define X509V3_F_V2I_BASIC_CONSTRAINTS 102 +#define X509V3_F_V2I_CRLD 134 +#define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 +#define X509V3_F_V2I_GENERAL_NAMES 118 +#define X509V3_F_V2I_GENERAL_NAME_EX 117 +#define X509V3_F_V2I_IDP 157 +#define X509V3_F_V2I_IPADDRBLOCKS 159 +#define X509V3_F_V2I_ISSUER_ALT 153 +#define X509V3_F_V2I_NAME_CONSTRAINTS 147 +#define X509V3_F_V2I_POLICY_CONSTRAINTS 146 +#define X509V3_F_V2I_POLICY_MAPPINGS 145 +#define X509V3_F_V2I_SUBJECT_ALT 154 +#define X509V3_F_V3_ADDR_VALIDATE_PATH_INTERNAL 160 +#define X509V3_F_V3_GENERIC_EXTENSION 116 +#define X509V3_F_X509V3_ADD1_I2D 140 +#define X509V3_F_X509V3_ADD_VALUE 105 +#define X509V3_F_X509V3_EXT_ADD 104 +#define X509V3_F_X509V3_EXT_ADD_ALIAS 106 +#define X509V3_F_X509V3_EXT_CONF 107 +#define X509V3_F_X509V3_EXT_I2D 136 +#define X509V3_F_X509V3_EXT_NCONF 152 +#define X509V3_F_X509V3_GET_SECTION 142 +#define X509V3_F_X509V3_GET_STRING 143 +#define X509V3_F_X509V3_GET_VALUE_BOOL 110 +#define X509V3_F_X509V3_PARSE_LIST 109 +#define X509V3_F_X509_PURPOSE_ADD 137 +#define X509V3_F_X509_PURPOSE_SET 141 + +/* Reason codes. */ +#define X509V3_R_BAD_IP_ADDRESS 118 +#define X509V3_R_BAD_OBJECT 119 +#define X509V3_R_BN_DEC2BN_ERROR 100 +#define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 +#define X509V3_R_DIRNAME_ERROR 149 +#define X509V3_R_DISTPOINT_ALREADY_SET 160 +#define X509V3_R_DUPLICATE_ZONE_ID 133 +#define X509V3_R_ERROR_CONVERTING_ZONE 131 +#define X509V3_R_ERROR_CREATING_EXTENSION 144 +#define X509V3_R_ERROR_IN_EXTENSION 128 +#define X509V3_R_EXPECTED_A_SECTION_NAME 137 +#define X509V3_R_EXTENSION_EXISTS 145 +#define X509V3_R_EXTENSION_NAME_ERROR 115 +#define X509V3_R_EXTENSION_NOT_FOUND 102 +#define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 +#define X509V3_R_EXTENSION_VALUE_ERROR 116 +#define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 +#define X509V3_R_ILLEGAL_HEX_DIGIT 113 +#define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 +#define X509V3_R_INVALID_MULTIPLE_RDNS 161 +#define X509V3_R_INVALID_ASNUMBER 162 +#define X509V3_R_INVALID_ASRANGE 163 +#define X509V3_R_INVALID_BOOLEAN_STRING 104 +#define X509V3_R_INVALID_EXTENSION_STRING 105 +#define X509V3_R_INVALID_INHERITANCE 165 +#define X509V3_R_INVALID_IPADDRESS 166 +#define X509V3_R_INVALID_NAME 106 +#define X509V3_R_INVALID_NULL_ARGUMENT 107 +#define X509V3_R_INVALID_NULL_NAME 108 +#define X509V3_R_INVALID_NULL_VALUE 109 +#define X509V3_R_INVALID_NUMBER 140 +#define X509V3_R_INVALID_NUMBERS 141 +#define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 +#define X509V3_R_INVALID_OPTION 138 +#define X509V3_R_INVALID_POLICY_IDENTIFIER 134 +#define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 +#define X509V3_R_INVALID_PURPOSE 146 +#define X509V3_R_INVALID_SAFI 164 +#define X509V3_R_INVALID_SECTION 135 +#define X509V3_R_INVALID_SYNTAX 143 +#define X509V3_R_ISSUER_DECODE_ERROR 126 +#define X509V3_R_MISSING_VALUE 124 +#define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 +#define X509V3_R_NO_CONFIG_DATABASE 136 +#define X509V3_R_NO_ISSUER_CERTIFICATE 121 +#define X509V3_R_NO_ISSUER_DETAILS 127 +#define X509V3_R_NO_POLICY_IDENTIFIER 139 +#define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 +#define X509V3_R_NO_PUBLIC_KEY 114 +#define X509V3_R_NO_SUBJECT_DETAILS 125 +#define X509V3_R_ODD_NUMBER_OF_DIGITS 112 +#define X509V3_R_OPERATION_NOT_DEFINED 148 +#define X509V3_R_OTHERNAME_ERROR 147 +#define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 +#define X509V3_R_POLICY_PATH_LENGTH 156 +#define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 +#define X509V3_R_POLICY_SYNTAX_NOT_CURRENTLY_SUPPORTED 158 +#define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 +#define X509V3_R_SECTION_NOT_FOUND 150 +#define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 +#define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 +#define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 +#define X509V3_R_UNKNOWN_EXTENSION 129 +#define X509V3_R_UNKNOWN_EXTENSION_NAME 130 +#define X509V3_R_UNKNOWN_OPTION 120 +#define X509V3_R_UNSUPPORTED_OPTION 117 +#define X509V3_R_UNSUPPORTED_TYPE 167 +#define X509V3_R_USER_TOO_LONG 132 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/curl/include/zconf.h b/curl/include/zconf.h new file mode 100644 index 0000000..de90f8e --- /dev/null +++ b/curl/include/zconf.h @@ -0,0 +1,206 @@ +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#ifndef ZCONF_H +#define ZCONF_H + +#include "zlib_name_mangling.h" + +#if !defined(_WIN32) && defined(__WIN32__) +# define _WIN32 +#endif + +/* Clang macro for detecting declspec support + * https://clang.llvm.org/docs/LanguageExtensions.html#has-declspec-attribute + */ +#ifndef __has_declspec_attribute +# define __has_declspec_attribute(x) 0 +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +/* Maximum value for memLevel in deflateInit2 */ +#ifndef MAX_MEM_LEVEL +# define MAX_MEM_LEVEL 9 +#endif + +/* Maximum value for windowBits in deflateInit2 and inflateInit2. + * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files + * created by gzip. (Files created by minigzip can still be extracted by + * gzip.) + */ +#ifndef MIN_WBITS +# define MIN_WBITS 8 /* 256 LZ77 window */ +#endif +#ifndef MAX_WBITS +# define MAX_WBITS 15 /* 32K LZ77 window */ +#endif + +/* The memory requirements for deflate are (in bytes): + (1 << (windowBits+2)) + (1 << (memLevel+9)) + that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) + plus a few kilobytes for small objects. For example, if you want to reduce + the default memory requirements from 256K to 128K, compile with + make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" + Of course this will generally degrade compression (there's no free lunch). + + The memory requirements for inflate are (in bytes) 1 << windowBits + that is, 32K for windowBits=15 (default value) plus about 7 kilobytes + for small objects. +*/ + +/* Type declarations */ + + +#ifndef OF /* function prototypes */ +# define OF(args) args +#endif + +#ifdef ZLIB_INTERNAL +# define Z_INTERNAL ZLIB_INTERNAL +#endif + +/* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ +#if defined(ZLIB_DLL) && (defined(_WIN32) || (__has_declspec_attribute(dllexport) && __has_declspec_attribute(dllimport))) +# ifdef Z_INTERNAL +# define Z_EXTERN extern __declspec(dllexport) +# else +# define Z_EXTERN extern __declspec(dllimport) +# endif +#endif + +/* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ +#if defined(ZLIB_WINAPI) && defined(_WIN32) +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include + /* No need for _export, use ZLIB.DEF instead. */ + /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +# define Z_EXPORT WINAPI +# define Z_EXPORTVA WINAPIV +#endif + +#ifndef Z_EXTERN +# define Z_EXTERN extern +#endif +#ifndef Z_EXPORT +# define Z_EXPORT +#endif +#ifndef Z_EXPORTVA +# define Z_EXPORTVA +#endif + +/* Conditional exports */ +#define ZNG_CONDEXPORT Z_INTERNAL + +/* For backwards compatibility */ + +#ifndef ZEXTERN +# define ZEXTERN Z_EXTERN +#endif +#ifndef ZEXPORT +# define ZEXPORT Z_EXPORT +#endif +#ifndef ZEXPORTVA +# define ZEXPORTVA Z_EXPORTVA +#endif +#ifndef FAR +# define FAR +#endif + +/* Legacy zlib typedefs for backwards compatibility. Don't assume stdint.h is defined. */ +typedef unsigned char Byte; +typedef Byte Bytef; + +typedef unsigned int uInt; /* 16 bits or more */ +typedef unsigned long uLong; /* 32 bits or more */ + +typedef char charf; +typedef int intf; +typedef uInt uIntf; +typedef uLong uLongf; + +typedef void const *voidpc; +typedef void *voidpf; +typedef void *voidp; + +typedef unsigned int z_crc_t; + +#if 1 /* was set to #if 1 by configure/cmake/etc */ +# define Z_HAVE_UNISTD_H +#endif + +#ifdef NEED_PTRDIFF_T /* may be set to #if 1 by configure/cmake/etc */ +typedef PTRDIFF_TYPE ptrdiff_t; +#endif + +#include /* for off_t */ + +#include /* for wchar_t and NULL */ + +/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and + * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even + * though the former does not conform to the LFS document), but considering + * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as + * equivalently requesting no 64-bit operations + */ +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +# undef _LARGEFILE64_SOURCE +#endif + +#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) +# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ +# ifndef z_off_t +# define z_off_t off_t +# endif +#endif + +#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 +# define Z_LFS64 +#endif + +#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) +# define Z_LARGE64 +#endif + +#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) +# define Z_WANT64 +#endif + +#if !defined(SEEK_SET) +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ +#endif + +#ifndef z_off_t +# define z_off_t long +#endif + +#if !defined(_WIN32) && defined(Z_LARGE64) +# define z_off64_t off64_t +#else +# if defined(__MSYS__) +# define z_off64_t _off64_t +# elif defined(_WIN32) && !defined(__GNUC__) +# define z_off64_t __int64 +# else +# define z_off64_t z_off_t +# endif +#endif + +typedef size_t z_size_t; + +#endif /* ZCONF_H */ diff --git a/curl/include/zdict.h b/curl/include/zdict.h new file mode 100644 index 0000000..599b793 --- /dev/null +++ b/curl/include/zdict.h @@ -0,0 +1,481 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef ZSTD_ZDICT_H +#define ZSTD_ZDICT_H + + +/*====== Dependencies ======*/ +#include /* size_t */ + +#if defined (__cplusplus) +extern "C" { +#endif + +/* ===== ZDICTLIB_API : control library symbols visibility ===== */ +#ifndef ZDICTLIB_VISIBLE + /* Backwards compatibility with old macro name */ +# ifdef ZDICTLIB_VISIBILITY +# define ZDICTLIB_VISIBLE ZDICTLIB_VISIBILITY +# elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define ZDICTLIB_VISIBLE __attribute__ ((visibility ("default"))) +# else +# define ZDICTLIB_VISIBLE +# endif +#endif + +#ifndef ZDICTLIB_HIDDEN +# if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define ZDICTLIB_HIDDEN __attribute__ ((visibility ("hidden"))) +# else +# define ZDICTLIB_HIDDEN +# endif +#endif + +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZDICTLIB_API __declspec(dllexport) ZDICTLIB_VISIBLE +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZDICTLIB_API __declspec(dllimport) ZDICTLIB_VISIBLE /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZDICTLIB_API ZDICTLIB_VISIBLE +#endif + +/******************************************************************************* + * Zstd dictionary builder + * + * FAQ + * === + * Why should I use a dictionary? + * ------------------------------ + * + * Zstd can use dictionaries to improve compression ratio of small data. + * Traditionally small files don't compress well because there is very little + * repetition in a single sample, since it is small. But, if you are compressing + * many similar files, like a bunch of JSON records that share the same + * structure, you can train a dictionary on ahead of time on some samples of + * these files. Then, zstd can use the dictionary to find repetitions that are + * present across samples. This can vastly improve compression ratio. + * + * When is a dictionary useful? + * ---------------------------- + * + * Dictionaries are useful when compressing many small files that are similar. + * The larger a file is, the less benefit a dictionary will have. Generally, + * we don't expect dictionary compression to be effective past 100KB. And the + * smaller a file is, the more we would expect the dictionary to help. + * + * How do I use a dictionary? + * -------------------------- + * + * Simply pass the dictionary to the zstd compressor with + * `ZSTD_CCtx_loadDictionary()`. The same dictionary must then be passed to + * the decompressor, using `ZSTD_DCtx_loadDictionary()`. There are other + * more advanced functions that allow selecting some options, see zstd.h for + * complete documentation. + * + * What is a zstd dictionary? + * -------------------------- + * + * A zstd dictionary has two pieces: Its header, and its content. The header + * contains a magic number, the dictionary ID, and entropy tables. These + * entropy tables allow zstd to save on header costs in the compressed file, + * which really matters for small data. The content is just bytes, which are + * repeated content that is common across many samples. + * + * What is a raw content dictionary? + * --------------------------------- + * + * A raw content dictionary is just bytes. It doesn't have a zstd dictionary + * header, a dictionary ID, or entropy tables. Any buffer is a valid raw + * content dictionary. + * + * How do I train a dictionary? + * ---------------------------- + * + * Gather samples from your use case. These samples should be similar to each + * other. If you have several use cases, you could try to train one dictionary + * per use case. + * + * Pass those samples to `ZDICT_trainFromBuffer()` and that will train your + * dictionary. There are a few advanced versions of this function, but this + * is a great starting point. If you want to further tune your dictionary + * you could try `ZDICT_optimizeTrainFromBuffer_cover()`. If that is too slow + * you can try `ZDICT_optimizeTrainFromBuffer_fastCover()`. + * + * If the dictionary training function fails, that is likely because you + * either passed too few samples, or a dictionary would not be effective + * for your data. Look at the messages that the dictionary trainer printed, + * if it doesn't say too few samples, then a dictionary would not be effective. + * + * How large should my dictionary be? + * ---------------------------------- + * + * A reasonable dictionary size, the `dictBufferCapacity`, is about 100KB. + * The zstd CLI defaults to a 110KB dictionary. You likely don't need a + * dictionary larger than that. But, most use cases can get away with a + * smaller dictionary. The advanced dictionary builders can automatically + * shrink the dictionary for you, and select the smallest size that doesn't + * hurt compression ratio too much. See the `shrinkDict` parameter. + * A smaller dictionary can save memory, and potentially speed up + * compression. + * + * How many samples should I provide to the dictionary builder? + * ------------------------------------------------------------ + * + * We generally recommend passing ~100x the size of the dictionary + * in samples. A few thousand should suffice. Having too few samples + * can hurt the dictionaries effectiveness. Having more samples will + * only improve the dictionaries effectiveness. But having too many + * samples can slow down the dictionary builder. + * + * How do I determine if a dictionary will be effective? + * ----------------------------------------------------- + * + * Simply train a dictionary and try it out. You can use zstd's built in + * benchmarking tool to test the dictionary effectiveness. + * + * # Benchmark levels 1-3 without a dictionary + * zstd -b1e3 -r /path/to/my/files + * # Benchmark levels 1-3 with a dictionary + * zstd -b1e3 -r /path/to/my/files -D /path/to/my/dictionary + * + * When should I retrain a dictionary? + * ----------------------------------- + * + * You should retrain a dictionary when its effectiveness drops. Dictionary + * effectiveness drops as the data you are compressing changes. Generally, we do + * expect dictionaries to "decay" over time, as your data changes, but the rate + * at which they decay depends on your use case. Internally, we regularly + * retrain dictionaries, and if the new dictionary performs significantly + * better than the old dictionary, we will ship the new dictionary. + * + * I have a raw content dictionary, how do I turn it into a zstd dictionary? + * ------------------------------------------------------------------------- + * + * If you have a raw content dictionary, e.g. by manually constructing it, or + * using a third-party dictionary builder, you can turn it into a zstd + * dictionary by using `ZDICT_finalizeDictionary()`. You'll also have to + * provide some samples of the data. It will add the zstd header to the + * raw content, which contains a dictionary ID and entropy tables, which + * will improve compression ratio, and allow zstd to write the dictionary ID + * into the frame, if you so choose. + * + * Do I have to use zstd's dictionary builder? + * ------------------------------------------- + * + * No! You can construct dictionary content however you please, it is just + * bytes. It will always be valid as a raw content dictionary. If you want + * a zstd dictionary, which can improve compression ratio, use + * `ZDICT_finalizeDictionary()`. + * + * What is the attack surface of a zstd dictionary? + * ------------------------------------------------ + * + * Zstd is heavily fuzz tested, including loading fuzzed dictionaries, so + * zstd should never crash, or access out-of-bounds memory no matter what + * the dictionary is. However, if an attacker can control the dictionary + * during decompression, they can cause zstd to generate arbitrary bytes, + * just like if they controlled the compressed data. + * + ******************************************************************************/ + + +/*! ZDICT_trainFromBuffer(): + * Train a dictionary from an array of samples. + * Redirect towards ZDICT_optimizeTrainFromBuffer_fastCover() single-threaded, with d=8, steps=4, + * f=20, and accel=1. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * Note: Dictionary training will fail if there are not enough samples to construct a + * dictionary, or if most of the samples are too small (< 8 bytes being the lower limit). + * If dictionary training fails, you should use zstd without a dictionary, as the dictionary + * would've been ineffective anyways. If you believe your samples would benefit from a dictionary + * please open an issue with details, and we can look into it. + * Note: ZDICT_trainFromBuffer()'s memory usage is about 6 MB. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_API size_t ZDICT_trainFromBuffer(void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, + const size_t* samplesSizes, unsigned nbSamples); + +typedef struct { + int compressionLevel; /**< optimize for a specific zstd compression level; 0 means default */ + unsigned notificationLevel; /**< Write log to stderr; 0 = none (default); 1 = errors; 2 = progression; 3 = details; 4 = debug; */ + unsigned dictID; /**< force dictID value; 0 means auto mode (32-bits random value) + * NOTE: The zstd format reserves some dictionary IDs for future use. + * You may use them in private settings, but be warned that they + * may be used by zstd in a public dictionary registry in the future. + * These dictionary IDs are: + * - low range : <= 32767 + * - high range : >= (2^31) + */ +} ZDICT_params_t; + +/*! ZDICT_finalizeDictionary(): + * Given a custom content as a basis for dictionary, and a set of samples, + * finalize dictionary by adding headers and statistics according to the zstd + * dictionary format. + * + * Samples must be stored concatenated in a flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each + * sample in order. The samples are used to construct the statistics, so they + * should be representative of what you will compress with this dictionary. + * + * The compression level can be set in `parameters`. You should pass the + * compression level you expect to use in production. The statistics for each + * compression level differ, so tuning the dictionary for the compression level + * can help quite a bit. + * + * You can set an explicit dictionary ID in `parameters`, or allow us to pick + * a random dictionary ID for you, but we can't guarantee no collisions. + * + * The dstDictBuffer and the dictContent may overlap, and the content will be + * appended to the end of the header. If the header + the content doesn't fit in + * maxDictSize the beginning of the content is truncated to make room, since it + * is presumed that the most profitable content is at the end of the dictionary, + * since that is the cheapest to reference. + * + * `maxDictSize` must be >= max(dictContentSize, ZDICT_DICTSIZE_MIN). + * + * @return: size of dictionary stored into `dstDictBuffer` (<= `maxDictSize`), + * or an error code, which can be tested by ZDICT_isError(). + * Note: ZDICT_finalizeDictionary() will push notifications into stderr if + * instructed to, using notificationLevel>0. + * NOTE: This function currently may fail in several edge cases including: + * * Not enough samples + * * Samples are uncompressible + * * Samples are all exactly the same + */ +ZDICTLIB_API size_t ZDICT_finalizeDictionary(void* dstDictBuffer, size_t maxDictSize, + const void* dictContent, size_t dictContentSize, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_params_t parameters); + + +/*====== Helper functions ======*/ +ZDICTLIB_API unsigned ZDICT_getDictID(const void* dictBuffer, size_t dictSize); /**< extracts dictID; @return zero if error (not a valid dictionary) */ +ZDICTLIB_API size_t ZDICT_getDictHeaderSize(const void* dictBuffer, size_t dictSize); /* returns dict header size; returns a ZSTD error code on failure */ +ZDICTLIB_API unsigned ZDICT_isError(size_t errorCode); +ZDICTLIB_API const char* ZDICT_getErrorName(size_t errorCode); + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_ZDICT_H */ + +#if defined(ZDICT_STATIC_LINKING_ONLY) && !defined(ZSTD_ZDICT_H_STATIC) +#define ZSTD_ZDICT_H_STATIC + +#if defined (__cplusplus) +extern "C" { +#endif + +/* This can be overridden externally to hide static symbols. */ +#ifndef ZDICTLIB_STATIC_API +# if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZDICTLIB_STATIC_API __declspec(dllexport) ZDICTLIB_VISIBLE +# elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZDICTLIB_STATIC_API __declspec(dllimport) ZDICTLIB_VISIBLE +# else +# define ZDICTLIB_STATIC_API ZDICTLIB_VISIBLE +# endif +#endif + +/* ==================================================================================== + * The definitions in this section are considered experimental. + * They should never be used with a dynamic library, as they may change in the future. + * They are provided for advanced usages. + * Use them only in association with static linking. + * ==================================================================================== */ + +#define ZDICT_DICTSIZE_MIN 256 +/* Deprecated: Remove in v1.6.0 */ +#define ZDICT_CONTENTSIZE_MIN 128 + +/*! ZDICT_cover_params_t: + * k and d are the only required parameters. + * For others, value 0 means default. + */ +typedef struct { + unsigned k; /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */ + unsigned d; /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */ + unsigned steps; /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */ + unsigned nbThreads; /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */ + double splitPoint; /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (1.0), 1.0 when all samples are used for both training and testing */ + unsigned shrinkDict; /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking */ + unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */ + ZDICT_params_t zParams; +} ZDICT_cover_params_t; + +typedef struct { + unsigned k; /* Segment size : constraint: 0 < k : Reasonable range [16, 2048+] */ + unsigned d; /* dmer size : constraint: 0 < d <= k : Reasonable range [6, 16] */ + unsigned f; /* log of size of frequency array : constraint: 0 < f <= 31 : 1 means default(20)*/ + unsigned steps; /* Number of steps : Only used for optimization : 0 means default (40) : Higher means more parameters checked */ + unsigned nbThreads; /* Number of threads : constraint: 0 < nbThreads : 1 means single-threaded : Only used for optimization : Ignored if ZSTD_MULTITHREAD is not defined */ + double splitPoint; /* Percentage of samples used for training: Only used for optimization : the first nbSamples * splitPoint samples will be used to training, the last nbSamples * (1 - splitPoint) samples will be used for testing, 0 means default (0.75), 1.0 when all samples are used for both training and testing */ + unsigned accel; /* Acceleration level: constraint: 0 < accel <= 10, higher means faster and less accurate, 0 means default(1) */ + unsigned shrinkDict; /* Train dictionaries to shrink in size starting from the minimum size and selects the smallest dictionary that is shrinkDictMaxRegression% worse than the largest dictionary. 0 means no shrinking and 1 means shrinking */ + unsigned shrinkDictMaxRegression; /* Sets shrinkDictMaxRegression so that a smaller dictionary can be at worse shrinkDictMaxRegression% worse than the max dict size dictionary. */ + + ZDICT_params_t zParams; +} ZDICT_fastCover_params_t; + +/*! ZDICT_trainFromBuffer_cover(): + * Train a dictionary from an array of samples using the COVER algorithm. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_trainFromBuffer_cover() requires about 9 bytes of memory for each input byte. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_cover( + void *dictBuffer, size_t dictBufferCapacity, + const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples, + ZDICT_cover_params_t parameters); + +/*! ZDICT_optimizeTrainFromBuffer_cover(): + * The same requirements as above hold for all the parameters except `parameters`. + * This function tries many parameter combinations and picks the best parameters. + * `*parameters` is filled with the best parameters found, + * dictionary constructed with those parameters is stored in `dictBuffer`. + * + * All of the parameters d, k, steps are optional. + * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}. + * if steps is zero it defaults to its default value. + * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000]. + * + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * On success `*parameters` contains the parameters selected. + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_optimizeTrainFromBuffer_cover() requires about 8 bytes of memory for each input byte and additionally another 5 bytes of memory for each byte of memory for each thread. + */ +ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover( + void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_cover_params_t* parameters); + +/*! ZDICT_trainFromBuffer_fastCover(): + * Train a dictionary from an array of samples using a modified version of COVER algorithm. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * d and k are required. + * All other parameters are optional, will use default values if not provided + * The resulting dictionary will be saved into `dictBuffer`. + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_trainFromBuffer_fastCover() requires 6 * 2^f bytes of memory. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + */ +ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_fastCover(void *dictBuffer, + size_t dictBufferCapacity, const void *samplesBuffer, + const size_t *samplesSizes, unsigned nbSamples, + ZDICT_fastCover_params_t parameters); + +/*! ZDICT_optimizeTrainFromBuffer_fastCover(): + * The same requirements as above hold for all the parameters except `parameters`. + * This function tries many parameter combinations (specifically, k and d combinations) + * and picks the best parameters. `*parameters` is filled with the best parameters found, + * dictionary constructed with those parameters is stored in `dictBuffer`. + * All of the parameters d, k, steps, f, and accel are optional. + * If d is non-zero then we don't check multiple values of d, otherwise we check d = {6, 8}. + * if steps is zero it defaults to its default value. + * If k is non-zero then we don't check multiple values of k, otherwise we check steps values in [50, 2000]. + * If f is zero, default value of 20 is used. + * If accel is zero, default value of 1 is used. + * + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * On success `*parameters` contains the parameters selected. + * See ZDICT_trainFromBuffer() for details on failure modes. + * Note: ZDICT_optimizeTrainFromBuffer_fastCover() requires about 6 * 2^f bytes of memory for each thread. + */ +ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_fastCover(void* dictBuffer, + size_t dictBufferCapacity, const void* samplesBuffer, + const size_t* samplesSizes, unsigned nbSamples, + ZDICT_fastCover_params_t* parameters); + +typedef struct { + unsigned selectivityLevel; /* 0 means default; larger => select more => larger dictionary */ + ZDICT_params_t zParams; +} ZDICT_legacy_params_t; + +/*! ZDICT_trainFromBuffer_legacy(): + * Train a dictionary from an array of samples. + * Samples must be stored concatenated in a single flat buffer `samplesBuffer`, + * supplied with an array of sizes `samplesSizes`, providing the size of each sample, in order. + * The resulting dictionary will be saved into `dictBuffer`. + * `parameters` is optional and can be provided with values set to 0 to mean "default". + * @return: size of dictionary stored into `dictBuffer` (<= `dictBufferCapacity`) + * or an error code, which can be tested with ZDICT_isError(). + * See ZDICT_trainFromBuffer() for details on failure modes. + * Tips: In general, a reasonable dictionary has a size of ~ 100 KB. + * It's possible to select smaller or larger size, just by specifying `dictBufferCapacity`. + * In general, it's recommended to provide a few thousands samples, though this can vary a lot. + * It's recommended that total size of all samples be about ~x100 times the target size of dictionary. + * Note: ZDICT_trainFromBuffer_legacy() will send notifications into stderr if instructed to, using notificationLevel>0. + */ +ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_legacy( + void* dictBuffer, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples, + ZDICT_legacy_params_t parameters); + + +/* Deprecation warnings */ +/* It is generally possible to disable deprecation warnings from compiler, + for example with -Wno-deprecated-declarations for gcc + or _CRT_SECURE_NO_WARNINGS in Visual. + Otherwise, it's also possible to manually define ZDICT_DISABLE_DEPRECATE_WARNINGS */ +#ifdef ZDICT_DISABLE_DEPRECATE_WARNINGS +# define ZDICT_DEPRECATED(message) /* disable deprecation warnings */ +#else +# define ZDICT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */ +# define ZDICT_DEPRECATED(message) [[deprecated(message)]] +# elif defined(__clang__) || (ZDICT_GCC_VERSION >= 405) +# define ZDICT_DEPRECATED(message) __attribute__((deprecated(message))) +# elif (ZDICT_GCC_VERSION >= 301) +# define ZDICT_DEPRECATED(message) __attribute__((deprecated)) +# elif defined(_MSC_VER) +# define ZDICT_DEPRECATED(message) __declspec(deprecated(message)) +# else +# pragma message("WARNING: You need to implement ZDICT_DEPRECATED for this compiler") +# define ZDICT_DEPRECATED(message) +# endif +#endif /* ZDICT_DISABLE_DEPRECATE_WARNINGS */ + +ZDICT_DEPRECATED("use ZDICT_finalizeDictionary() instead") +ZDICTLIB_STATIC_API +size_t ZDICT_addEntropyTablesFromBuffer(void* dictBuffer, size_t dictContentSize, size_t dictBufferCapacity, + const void* samplesBuffer, const size_t* samplesSizes, unsigned nbSamples); + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_ZDICT_H_STATIC */ diff --git a/curl/include/zlib.h b/curl/include/zlib.h new file mode 100644 index 0000000..d784951 --- /dev/null +++ b/curl/include/zlib.h @@ -0,0 +1,1859 @@ +#ifndef ZLIB_H_ +#define ZLIB_H_ +/* zlib.h -- interface of the 'zlib-ng' compression library + Forked from and compatible with zlib 1.3.1 + + Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files https://tools.ietf.org/html/rfc1950 + (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). +*/ + +#ifdef ZNGLIB_H_ +# error Include zlib-ng.h for zlib-ng API or zlib.h for zlib-compat API but not both +#endif + +#ifndef RC_INVOKED +#include +#include + +#include "zconf.h" + +#ifndef ZCONF_H +# error Missing zconf.h add binary output directory to include directories +#endif +#endif /* RC_INVOKED */ + +#ifdef __cplusplus +extern "C" { +#endif + +#define ZLIBNG_VERSION "2.2.4" +#define ZLIBNG_VERNUM 0x020204F0L /* MMNNRRSM: major minor revision status modified */ +#define ZLIBNG_VER_MAJOR 2 +#define ZLIBNG_VER_MINOR 2 +#define ZLIBNG_VER_REVISION 4 +#define ZLIBNG_VER_STATUS F /* 0=devel, 1-E=beta, F=Release (DEPRECATED) */ +#define ZLIBNG_VER_STATUSH 0xF /* Hex values: 0=devel, 1-E=beta, F=Release */ +#define ZLIBNG_VER_MODIFIED 0 /* non-zero if modified externally from zlib-ng */ + +#define ZLIB_VERSION "1.3.1.zlib-ng" +#define ZLIB_VERNUM 0x131f +#define ZLIB_VER_MAJOR 1 +#define ZLIB_VER_MINOR 3 +#define ZLIB_VER_REVISION 1 +#define ZLIB_VER_SUBREVISION 15 /* 15=fork (0xf) */ + +/* + The 'zlib' compression library provides in-memory compression and + decompression functions, including integrity checks of the uncompressed data. + This version of the library supports only one compression method (deflation) + but other algorithms will be added later and will have the same stream + interface. + + Compression can be done in a single step if the buffers are large enough, + or can be done by repeated calls of the compression function. In the latter + case, the application must provide more input and/or consume the output + (providing more output space) before each call. + + The compressed data format used by default by the in-memory functions is + the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped + around a deflate stream, which is itself documented in RFC 1951. + + The library also supports reading and writing files in gzip (.gz) format + with an interface similar to that of stdio using the functions that start + with "gz". The gzip format is different from the zlib format. gzip is a + gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. + + This library can optionally read and write gzip and raw deflate streams in + memory as well. + + The zlib format was designed to be compact and fast for use in memory + and on communications channels. The gzip format was designed for single- + file compression on file systems, has a larger header than zlib to maintain + directory information, and uses a different, slower check method than zlib. + + The library does not install any signal handler. The decoder checks + the consistency of the compressed data, so the library should never crash + even in the case of corrupted input. +*/ + +typedef void *(*alloc_func) (void *opaque, unsigned int items, unsigned int size); +typedef void (*free_func) (void *opaque, void *address); + +struct internal_state; + +typedef struct z_stream_s { + z_const unsigned char *next_in; /* next input byte */ + uint32_t avail_in; /* number of bytes available at next_in */ + unsigned long total_in; /* total number of input bytes read so far */ + + unsigned char *next_out; /* next output byte will go here */ + uint32_t avail_out; /* remaining free space at next_out */ + unsigned long total_out; /* total number of bytes output so far */ + + z_const char *msg; /* last error message, NULL if no error */ + struct internal_state *state; /* not visible by applications */ + + alloc_func zalloc; /* used to allocate the internal state */ + free_func zfree; /* used to free the internal state */ + void *opaque; /* private data object passed to zalloc and zfree */ + + int data_type; /* best guess about the data type: binary or text + for deflate, or the decoding state for inflate */ + unsigned long adler; /* Adler-32 or CRC-32 value of the uncompressed data */ + unsigned long reserved; /* reserved for future use */ +} z_stream; + +typedef z_stream *z_streamp; /* Obsolete type, retained for compatibility only */ + +/* + gzip header information passed to and from zlib routines. See RFC 1952 + for more details on the meanings of these fields. +*/ +typedef struct gz_header_s { + int text; /* true if compressed data believed to be text */ + unsigned long time; /* modification time */ + int xflags; /* extra flags (not used when writing a gzip file) */ + int os; /* operating system */ + unsigned char *extra; /* pointer to extra field or NULL if none */ + unsigned int extra_len; /* extra field length (valid if extra != NULL) */ + unsigned int extra_max; /* space at extra (only when reading header) */ + unsigned char *name; /* pointer to zero-terminated file name or NULL */ + unsigned int name_max; /* space at name (only when reading header) */ + unsigned char *comment; /* pointer to zero-terminated comment or NULL */ + unsigned int comm_max; /* space at comment (only when reading header) */ + int hcrc; /* true if there was or will be a header crc */ + int done; /* true when done reading gzip header (not used when writing a gzip file) */ +} gz_header; + +typedef gz_header *gz_headerp; + +/* + The application must update next_in and avail_in when avail_in has dropped + to zero. It must update next_out and avail_out when avail_out has dropped + to zero. The application must initialize zalloc, zfree and opaque before + calling the init function. All other fields are set by the compression + library and must not be updated by the application. + + The opaque value provided by the application will be passed as the first + parameter for calls of zalloc and zfree. This can be useful for custom + memory management. The compression library attaches no meaning to the + opaque value. + + zalloc must return NULL if there is not enough memory for the object. + If zlib is used in a multi-threaded application, zalloc and zfree must be + thread safe. In that case, zlib is thread-safe. When zalloc and zfree are + Z_NULL on entry to the initialization function, they are set to internal + routines that use the standard library functions malloc() and free(). + + The fields total_in and total_out can be used for statistics or progress + reports. After compression, total_in holds the total size of the + uncompressed data and may be saved for use by the decompressor (particularly + if the decompressor wants to decompress everything in a single step). +*/ + + /* constants */ + +#define Z_NO_FLUSH 0 +#define Z_PARTIAL_FLUSH 1 +#define Z_SYNC_FLUSH 2 +#define Z_FULL_FLUSH 3 +#define Z_FINISH 4 +#define Z_BLOCK 5 +#define Z_TREES 6 +/* Allowed flush values; see deflate() and inflate() below for details */ + +#define Z_OK 0 +#define Z_STREAM_END 1 +#define Z_NEED_DICT 2 +#define Z_ERRNO (-1) +#define Z_STREAM_ERROR (-2) +#define Z_DATA_ERROR (-3) +#define Z_MEM_ERROR (-4) +#define Z_BUF_ERROR (-5) +#define Z_VERSION_ERROR (-6) +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + +#define Z_NO_COMPRESSION 0 +#define Z_BEST_SPEED 1 +#define Z_BEST_COMPRESSION 9 +#define Z_DEFAULT_COMPRESSION (-1) +/* compression levels */ + +#define Z_FILTERED 1 +#define Z_HUFFMAN_ONLY 2 +#define Z_RLE 3 +#define Z_FIXED 4 +#define Z_DEFAULT_STRATEGY 0 +/* compression strategy; see deflateInit2() below for details */ + +#define Z_BINARY 0 +#define Z_TEXT 1 +#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ +#define Z_UNKNOWN 2 +/* Possible values of the data_type field for deflate() */ + +#define Z_DEFLATED 8 +/* The deflate compression method (the only one supported in this version) */ + +#define Z_NULL 0 /* for compatibility with zlib, was for initializing zalloc, zfree, opaque */ + +#define zlib_version zlibVersion() +/* for compatibility with versions < 1.0.2 */ + + + /* basic functions */ + +Z_EXTERN const char * Z_EXPORT zlibVersion(void); +/* The application can compare zlibVersion and ZLIB_VERSION for consistency. + If the first character differs, the library code actually used is not + compatible with the zlib.h header file used by the application. This check + is automatically made by deflateInit and inflateInit. + */ + +/* +Z_EXTERN int Z_EXPORT deflateInit (z_stream *strm, int level); + + Initializes the internal stream state for compression. The fields + zalloc, zfree and opaque must be initialized before by the caller. If + zalloc and zfree are set to Z_NULL, deflateInit updates them to use default + allocation functions. total_in, total_out, adler, and msg are initialized. + + The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: + 1 gives best speed, 9 gives best compression, 0 gives no compression at all + (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION + requests a default compromise between speed and compression (currently + equivalent to level 6). + + deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if level is not a valid compression level, or + Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible + with the version assumed by the caller (ZLIB_VERSION). msg is set to null + if there is no error message. deflateInit does not perform any compression: + this will be done by deflate(). +*/ + + +Z_EXTERN int Z_EXPORT deflate(z_stream *strm, int flush); +/* + deflate compresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. deflate performs one or both of the + following actions: + + - Compress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), next_in and avail_in are updated and + processing will resume at this point for the next call of deflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. This action is forced if the parameter flush is non zero. + Forcing flush frequently degrades the compression ratio, so this parameter + should be set only when necessary. Some output may be provided even if + flush is zero. + + Before the call of deflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating avail_in or avail_out accordingly; avail_out should + never be zero before the call. The application can consume the compressed + output when it wants, for example when the output buffer is full (avail_out + == 0), or after each call of deflate(). If deflate returns Z_OK and with + zero avail_out, it must be called again after making room in the output + buffer because there might be more output pending. See deflatePending(), + which can be used if desired to determine whether or not there is more output + in that case. + + Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to + decide how much data to accumulate before producing output, in order to + maximize compression. + + If the parameter flush is set to Z_SYNC_FLUSH, all pending output is + flushed to the output buffer and the output is aligned on a byte boundary, so + that the decompressor can get all input data available so far. (In + particular avail_in is zero after the call if enough output space has been + provided before the call.) Flushing may degrade compression for some + compression algorithms and so it should be used only when necessary. This + completes the current deflate block and follows it with an empty stored block + that is three bits plus filler bits to the next byte, followed by four bytes + (00 00 ff ff). + + If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the + output buffer, but the output is not aligned to a byte boundary. All of the + input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. + This completes the current deflate block and follows it with an empty fixed + codes block that is 10 bits long. This assures that enough bytes are output + in order for the decompressor to finish the block before the empty fixed + codes block. + + If flush is set to Z_BLOCK, a deflate block is completed and emitted, as + for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to + seven bits of the current block are held to be written as the next byte after + the next deflate block is completed. In this case, the decompressor may not + be provided enough bits at this point in order to complete decompression of + the data provided so far to the compressor. It may need to wait for the next + block to be emitted. This is for advanced applications that need to control + the emission of deflate blocks. + + If flush is set to Z_FULL_FLUSH, all output is flushed as with + Z_SYNC_FLUSH, and the compression state is reset so that decompression can + restart from this point if previous compressed data has been damaged or if + random access is desired. Using Z_FULL_FLUSH too often can seriously degrade + compression. + + If deflate returns with avail_out == 0, this function must be called again + with the same value of the flush parameter and more output space (updated + avail_out), until the flush is complete (deflate returns with non-zero + avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that + avail_out is greater than six when the flush marker begins, in order to avoid + repeated flush markers upon calling deflate() again when avail_out == 0. + + If the parameter flush is set to Z_FINISH, pending input is processed, + pending output is flushed and deflate returns with Z_STREAM_END if there was + enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this + function must be called again with Z_FINISH and more output space (updated + avail_out) but no more input data, until it returns with Z_STREAM_END or an + error. After deflate has returned Z_STREAM_END, the only possible operations + on the stream are deflateReset or deflateEnd. + + Z_FINISH can be used in the first deflate call after deflateInit if all the + compression is to be done in a single step. In order to complete in one + call, avail_out must be at least the value returned by deflateBound (see + below). Then deflate is guaranteed to return Z_STREAM_END. If not enough + output space is provided, deflate will not return Z_STREAM_END, and it must + be called again as described above. + + deflate() sets strm->adler to the Adler-32 checksum of all input read + so far (that is, total_in bytes). If a gzip stream is being generated, then + strm->adler will be the CRC-32 checksum of the input read so far. (See + deflateInit2 below.) + + deflate() may update strm->data_type if it can make a good guess about + the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is + considered binary. This field is only for information purposes and does not + affect the compression algorithm in any manner. + + deflate() returns Z_OK if some progress has been made (more input + processed or more output produced), Z_STREAM_END if all input has been + consumed and all output has been produced (only when flush is set to + Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example + if next_in or next_out was NULL) or the state was inadvertently written over + by the application), or Z_BUF_ERROR if no progress is possible (for example + avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and + deflate() can be called again with more input and more output space to + continue compressing. +*/ + + +Z_EXTERN int Z_EXPORT deflateEnd(z_stream *strm); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the + stream state was inconsistent, Z_DATA_ERROR if the stream was freed + prematurely (some input or output was discarded). In the error case, msg + may be set but then points to a static string (which must not be + deallocated). +*/ + + +/* +Z_EXTERN int Z_EXPORT inflateInit (z_stream *strm); + + Initializes the internal stream state for decompression. The fields + next_in, avail_in, zalloc, zfree and opaque must be initialized before by + the caller. In the current version of inflate, the provided input is not + read or consumed. The allocation of a sliding window will be deferred to + the first call of inflate (if the decompression does not complete on the + first call). If zalloc and zfree are set to Z_NULL, inflateInit updates + them to use default allocation functions. total_in, total_out, adler, and + msg are initialized. + + inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit does not perform any decompression. + Actual decompression will be done by inflate(). So next_in, and avail_in, + next_out, and avail_out are unused and unchanged. The current + implementation of inflateInit() does not process any header information -- + that is deferred until inflate() is called. +*/ + + +Z_EXTERN int Z_EXPORT inflate(z_stream *strm, int flush); +/* + inflate decompresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. inflate performs one or both of the + following actions: + + - Decompress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), then next_in and avail_in are updated + accordingly, and processing will resume at this point for the next call of + inflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. inflate() provides as much output as possible, until there is + no more input data or no more space in the output buffer (see below about + the flush parameter). + + Before the call of inflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating the next_* and avail_* values accordingly. If the + caller of inflate() does not provide both available input and available + output space, it is possible that there will be no progress made. The + application can consume the uncompressed output when it wants, for example + when the output buffer is full (avail_out == 0), or after each call of + inflate(). If inflate returns Z_OK and with zero avail_out, it must be + called again after making room in the output buffer because there might be + more output pending. + + The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, + Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much + output as possible to the output buffer. Z_BLOCK requests that inflate() + stop if and when it gets to the next deflate block boundary. When decoding + the zlib or gzip format, this will cause inflate() to return immediately + after the header and before the first block. When doing a raw inflate, + inflate() will go ahead and process the first block, and will return when it + gets to the end of that block, or when it runs out of data. + + The Z_BLOCK option assists in appending to or combining deflate streams. + To assist in this, on return inflate() always sets strm->data_type to the + number of unused bits in the last byte taken from strm->next_in, plus 64 if + inflate() is currently decoding the last block in the deflate stream, plus + 128 if inflate() returned immediately after decoding an end-of-block code or + decoding the complete header up to just before the first byte of the deflate + stream. The end-of-block will not be indicated until all of the uncompressed + data from that block has been written to strm->next_out. The number of + unused bits may in general be greater than seven, except when bit 7 of + data_type is set, in which case the number of unused bits will be less than + eight. data_type is set as noted here every time inflate() returns for all + flush options, and so can be used to determine the amount of currently + consumed input in bits. + + The Z_TREES option behaves as Z_BLOCK does, but it also returns when the + end of each deflate block header is reached, before any actual data in that + block is decoded. This allows the caller to determine the length of the + deflate block header for later use in random access within a deflate block. + 256 is added to the value of strm->data_type when inflate() returns + immediately after reaching the end of the deflate block header. + + inflate() should normally be called until it returns Z_STREAM_END or an + error. However if all decompression is to be performed in a single step (a + single call of inflate), the parameter flush should be set to Z_FINISH. In + this case all pending input is processed and all pending output is flushed; + avail_out must be large enough to hold all of the uncompressed data for the + operation to complete. (The size of the uncompressed data may have been + saved by the compressor for this purpose.) The use of Z_FINISH is not + required to perform an inflation in one step. However it may be used to + inform inflate that a faster approach can be used for the single inflate() + call. Z_FINISH also informs inflate to not maintain a sliding window if the + stream completes, which reduces inflate's memory footprint. If the stream + does not complete, either because not all of the stream is provided or not + enough output space is provided, then a sliding window will be allocated and + inflate() can be called again to continue the operation as if Z_NO_FLUSH had + been used. + + In this implementation, inflate() always flushes as much output as + possible to the output buffer, and always uses the faster approach on the + first call. So the effects of the flush parameter in this implementation are + on the return value of inflate() as noted below, when inflate() returns early + when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of + memory for a sliding window when Z_FINISH is used. + + If a preset dictionary is needed after this call (see inflateSetDictionary + below), inflate sets strm->adler to the Adler-32 checksum of the dictionary + chosen by the compressor and returns Z_NEED_DICT; otherwise it sets + strm->adler to the Adler-32 checksum of all output produced so far (that is, + total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described + below. At the end of the stream, inflate() checks that its computed Adler-32 + checksum is equal to that saved by the compressor and returns Z_STREAM_END + only if the checksum is correct. + + inflate() can decompress and check either zlib-wrapped or gzip-wrapped + deflate data. The header type is detected automatically, if requested when + initializing with inflateInit2(). Any information contained in the gzip + header is not retained unless inflateGetHeader() is used. When processing + gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output + produced so far. The CRC-32 is checked against the gzip trailer, as is the + uncompressed length, modulo 2^32. + + inflate() returns Z_OK if some progress has been made (more input processed + or more output produced), Z_STREAM_END if the end of the compressed data has + been reached and all uncompressed output has been produced, Z_NEED_DICT if a + preset dictionary is needed at this point, Z_DATA_ERROR if the input data was + corrupted (input stream not conforming to the zlib format or incorrect check + value, in which case strm->msg points to a string with a more specific + error), Z_STREAM_ERROR if the stream structure was inconsistent (for example + next_in or next_out was NULL, or the state was inadvertently written over + by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR + if no progress is possible or if there was not enough room in the output + buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and + inflate() can be called again with more input and more output space to + continue decompressing. If Z_DATA_ERROR is returned, the application may + then call inflateSync() to look for a good compression block if a partial + recovery of the data is to be attempted. +*/ + + +Z_EXTERN int Z_EXPORT inflateEnd(z_stream *strm); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state + was inconsistent. +*/ + + + /* Advanced functions */ + +/* + The following functions are needed only in some special applications. +*/ + +/* +Z_EXTERN int Z_EXPORT deflateInit2 (z_stream *strm, + int level, + int method, + int windowBits, + int memLevel, + int strategy); + + This is another version of deflateInit with more compression options. The + fields zalloc, zfree and opaque must be initialized before by the caller. + + The method parameter is the compression method. It must be Z_DEFLATED in + this version of the library. + + The windowBits parameter is the base two logarithm of the window size + (the size of the history buffer). It should be in the range 8..15 for this + version of the library. Larger values of this parameter result in better + compression at the expense of memory usage. The default value is 15 if + deflateInit is used instead. + + For the current implementation of deflate(), a windowBits value of 8 (a + window size of 256 bytes) is not supported. As a result, a request for 8 + will result in 9 (a 512-byte window). In that case, providing 8 to + inflateInit2() will result in an error when the zlib header with 9 is + checked against the initialization of inflate(). The remedy is to not use 8 + with deflateInit2() with this initialization, or at least in that case use 9 + with inflateInit2(). + + windowBits can also be -8..-15 for raw deflate. In this case, -windowBits + determines the window size. deflate() will then generate raw deflate data + with no zlib header or trailer, and will not compute a check value. + + windowBits can also be greater than 15 for optional gzip encoding. Add + 16 to windowBits to write a simple gzip header and trailer around the + compressed data instead of a zlib wrapper. The gzip header will have no + file name, no extra data, no comment, no modification time (set to zero), no + header crc, and the operating system will be set to the appropriate value, + if the operating system was determined at compile time. If a gzip stream is + being written, strm->adler is a CRC-32 instead of an Adler-32. + + For raw deflate or gzip encoding, a request for a 256-byte window is + rejected as invalid, since only the zlib header provides a means of + transmitting the window size to the decompressor. + + The memLevel parameter specifies how much memory should be allocated + for the internal compression state. memLevel=1 uses minimum memory but is + slow and reduces compression ratio; memLevel=9 uses maximum memory for + optimal speed. The default value is 8. See zconf.h for total memory usage + as a function of windowBits and memLevel. + + The strategy parameter is used to tune the compression algorithm. Use the + value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a + filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no + string match), or Z_RLE to limit match distances to one (run-length + encoding). Filtered data consists mostly of small values with a somewhat + random distribution. In this case, the compression algorithm is tuned to + compress them better. The effect of Z_FILTERED is to force more Huffman + coding and less string matching; it is somewhat intermediate between + Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as + fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The + strategy parameter only affects the compression ratio but not the + correctness of the compressed output even if it is not set appropriately. + Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler + decoder for special applications. + + deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid + method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is + incompatible with the version assumed by the caller (ZLIB_VERSION). msg is + set to null if there is no error message. deflateInit2 does not perform any + compression: this will be done by deflate(). +*/ + +Z_EXTERN int Z_EXPORT deflateSetDictionary(z_stream *strm, + const unsigned char *dictionary, + unsigned int dictLength); +/* + Initializes the compression dictionary from the given byte sequence + without producing any compressed output. When using the zlib format, this + function must be called immediately after deflateInit, deflateInit2 or + deflateReset, and before any call of deflate. When doing raw deflate, this + function must be called either before any call of deflate, or immediately + after the completion of a deflate block, i.e. after all input has been + consumed and all output has been delivered when using any of the flush + options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The + compressor and decompressor must use exactly the same dictionary (see + inflateSetDictionary). + + The dictionary should consist of strings (byte sequences) that are likely + to be encountered later in the data to be compressed, with the most commonly + used strings preferably put towards the end of the dictionary. Using a + dictionary is most useful when the data to be compressed is short and can be + predicted with good accuracy; the data can then be compressed better than + with the default empty dictionary. + + Depending on the size of the compression data structures selected by + deflateInit or deflateInit2, a part of the dictionary may in effect be + discarded, for example if the dictionary is larger than the window size + provided in deflateInit or deflateInit2. Thus the strings most likely to be + useful should be put at the end of the dictionary, not at the front. In + addition, the current implementation of deflate will use at most the window + size minus 262 bytes of the provided dictionary. + + Upon return of this function, strm->adler is set to the Adler-32 value + of the dictionary; the decompressor may later use this value to determine + which dictionary has been used by the compressor. (The Adler-32 value + applies to the whole dictionary even if only a subset of the dictionary is + actually used by the compressor.) If a raw deflate was requested, then the + Adler-32 value is not computed and strm->adler is not set. + + deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being NULL) or the stream state is + inconsistent (for example if deflate has already been called for this stream + or if not at a block boundary for raw deflate). deflateSetDictionary does + not perform any compression: this will be done by deflate(). +*/ + +Z_EXTERN int Z_EXPORT deflateGetDictionary (z_stream *strm, unsigned char *dictionary, unsigned int *dictLength); +/* + Returns the sliding dictionary being maintained by deflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If deflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similarly, if dictLength is Z_NULL, then it is not set. + + deflateGetDictionary() may return a length less than the window size, even + when more than the window size in input has been provided. It may return up + to 258 bytes less in that case, due to how zlib's implementation of deflate + manages the sliding window and lookahead for matches, where matches can be + up to 258 bytes long. If the application needs the last window-size bytes of + input, then that would need to be saved by the application outside of zlib. + + deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +Z_EXTERN int Z_EXPORT deflateCopy(z_stream *dest, z_stream *source); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when several compression strategies will be + tried, for example when there are several ways of pre-processing the input + data with a filter. The streams that will be discarded should then be freed + by calling deflateEnd. Note that deflateCopy duplicates the internal + compression state which can be quite large, so this strategy is slow and can + consume lots of memory. + + deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being NULL). msg is left unchanged in both source and + destination. +*/ + +Z_EXTERN int Z_EXPORT deflateReset(z_stream *strm); +/* + This function is equivalent to deflateEnd followed by deflateInit, but + does not free and reallocate the internal compression state. The stream + will leave the compression level and any other attributes that may have been + set unchanged. total_in, total_out, adler, and msg are initialized. + + deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being NULL). +*/ + +Z_EXTERN int Z_EXPORT deflateParams(z_stream *strm, int level, int strategy); +/* + Dynamically update the compression level and compression strategy. The + interpretation of level and strategy is as in deflateInit2(). This can be + used to switch between compression and straight copy of the input data, or + to switch to a different kind of input data requiring a different strategy. + If the compression approach (which is a function of the level) or the + strategy is changed, and if there have been any deflate() calls since the + state was initialized or reset, then the input available so far is + compressed with the old level and strategy using deflate(strm, Z_BLOCK). + There are three approaches for the compression levels 0, 1..3, and 4..9 + respectively. The new level and strategy will take effect at the next call + of deflate(). + + If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does + not have enough output space to complete, then the parameter change will not + take effect. In this case, deflateParams() can be called again with the + same parameters and more output space to try again. + + In order to assure a change in the parameters on the first try, the + deflate stream should be flushed using deflate() with Z_BLOCK or other flush + request until strm.avail_out is not zero, before calling deflateParams(). + Then no more input data should be provided before the deflateParams() call. + If this is done, the old level and strategy will be applied to the data + compressed before deflateParams(), and the new level and strategy will be + applied to the data compressed after deflateParams(). + + deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream + state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if + there was not enough output space to complete the compression of the + available input data before a change in the strategy or approach. Note that + in the case of a Z_BUF_ERROR, the parameters are not changed. A return + value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be + retried with more output space. +*/ + +Z_EXTERN int Z_EXPORT deflateTune(z_stream *strm, int good_length, int max_lazy, int nice_length, int max_chain); +/* + Fine tune deflate's internal compression parameters. This should only be + used by someone who understands the algorithm used by zlib's deflate for + searching for the best matching string, and even then only by the most + fanatic optimizer trying to squeeze out the last compressed bit for their + specific input data. Read the deflate.c source code for the meaning of the + max_lazy, good_length, nice_length, and max_chain parameters. + + deflateTune() can be called after deflateInit() or deflateInit2(), and + returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. + */ + +Z_EXTERN unsigned long Z_EXPORT deflateBound(z_stream *strm, unsigned long sourceLen); +/* + deflateBound() returns an upper bound on the compressed size after + deflation of sourceLen bytes. It must be called after deflateInit() or + deflateInit2(), and after deflateSetHeader(), if used. This would be used + to allocate an output buffer for deflation in a single pass, and so would be + called before deflate(). If that first deflate() call is provided the + sourceLen input bytes, an output buffer allocated to the size returned by + deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed + to return Z_STREAM_END. Note that it is possible for the compressed size to + be larger than the value returned by deflateBound() if flush options other + than Z_FINISH or Z_NO_FLUSH are used. +*/ + +Z_EXTERN int Z_EXPORT deflatePending(z_stream *strm, uint32_t *pending, int *bits); +/* + deflatePending() returns the number of bytes and bits of output that have + been generated, but not yet provided in the available output. The bytes not + provided would be due to the available output space having being consumed. + The number of bits of output not provided are between 0 and 7, where they + await more bits to join them in order to fill out a full byte. If pending + or bits are NULL, then those values are not set. + + deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. + */ + +Z_EXTERN int Z_EXPORT deflatePrime(z_stream *strm, int bits, int value); +/* + deflatePrime() inserts bits in the deflate output stream. The intent + is that this function is used to start off the deflate output with the bits + leftover from a previous deflate stream when appending to it. As such, this + function can only be used for raw deflate, and must be used before the first + deflate() call after a deflateInit2() or deflateReset(). bits must be less + than or equal to 16, and that many of the least significant bits of value + will be inserted in the output. + + deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough + room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the + source stream state was inconsistent. +*/ + +Z_EXTERN int Z_EXPORT deflateSetHeader(z_stream *strm, gz_headerp head); +/* + deflateSetHeader() provides gzip header information for when a gzip + stream is requested by deflateInit2(). deflateSetHeader() may be called + after deflateInit2() or deflateReset() and before the first call of + deflate(). The text, time, os, extra field, name, and comment information + in the provided gz_header structure are written to the gzip header (xflag is + ignored -- the extra flags are set according to the compression level). The + caller must assure that, if not NULL, name and comment are terminated with + a zero byte, and that if extra is not NULL, that extra_len bytes are + available there. If hcrc is true, a gzip header crc is included. Note that + the current versions of the command-line version of gzip (up through version + 1.3.x) do not support header crc's, and will report that it is a "multi-part + gzip file" and give up. + + If deflateSetHeader is not used, the default gzip header has text false, + the time set to zero, and os set to the current operating system, with no + extra, name, or comment fields. The gzip header is returned to the default + state by deflateReset(). + + deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +Z_EXTERN int Z_EXPORT inflateInit2(z_stream *strm, int windowBits); + + This is another version of inflateInit with an extra parameter. The + fields next_in, avail_in, zalloc, zfree and opaque must be initialized + before by the caller. + + The windowBits parameter is the base two logarithm of the maximum window + size (the size of the history buffer). It should be in the range 8..15 for + this version of the library. The default value is 15 if inflateInit is used + instead. windowBits must be greater than or equal to the windowBits value + provided to deflateInit2() while compressing, or it must be equal to 15 if + deflateInit2() was not used. If a compressed stream with a larger window + size is given as input, inflate() will return with the error code + Z_DATA_ERROR instead of trying to allocate a larger window. + + windowBits can also be zero to request that inflate use the window size in + the zlib header of the compressed stream. + + windowBits can also be -8..-15 for raw inflate. In this case, -windowBits + determines the window size. inflate() will then process raw deflate data, + not looking for a zlib or gzip header, not generating a check value, and not + looking for any check values for comparison at the end of the stream. This + is for use with other formats that use the deflate compressed data format + such as zip. Those formats provide their own check values. If a custom + format is developed using the raw deflate format for compressed data, it is + recommended that a check value such as an Adler-32 or a CRC-32 be applied to + the uncompressed data as is done in the zlib, gzip, and zip formats. For + most applications, the zlib format should be used as is. Note that comments + above on the use in deflateInit2() applies to the magnitude of windowBits. + + windowBits can also be greater than 15 for optional gzip decoding. Add + 32 to windowBits to enable zlib and gzip decoding with automatic header + detection, or add 16 to decode only the gzip format (the zlib format will + return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a + CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see + below), inflate() will *not* automatically decode concatenated gzip members. + inflate() will return Z_STREAM_END at the end of the gzip member. The state + would need to be reset to continue decoding a subsequent gzip member. This + *must* be done if there is more data after a gzip member, in order for the + decompression to be compliant with the gzip standard (RFC 1952). + + inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit2 does not perform any decompression + apart from possibly reading the zlib header if present: actual decompression + will be done by inflate(). (So next_in and avail_in may be modified, but + next_out and avail_out are unused and unchanged.) The current implementation + of inflateInit2() does not process any header information -- that is + deferred until inflate() is called. +*/ + +Z_EXTERN int Z_EXPORT inflateSetDictionary(z_stream *strm, const unsigned char *dictionary, unsigned int dictLength); +/* + Initializes the decompression dictionary from the given uncompressed byte + sequence. This function must be called immediately after a call of inflate, + if that call returned Z_NEED_DICT. The dictionary chosen by the compressor + can be determined from the Adler-32 value returned by that call of inflate. + The compressor and decompressor must use exactly the same dictionary (see + deflateSetDictionary). For raw inflate, this function can be called at any + time to set the dictionary. If the provided dictionary is smaller than the + window and there is already data in the window, then the provided dictionary + will amend what's there. The application must ensure that the dictionary + that was used for compression is provided. + + inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being NULL) or the stream state is + inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the + expected one (incorrect Adler-32 value). inflateSetDictionary does not + perform any decompression: this will be done by subsequent calls of + inflate(). +*/ + +Z_EXTERN int Z_EXPORT inflateGetDictionary(z_stream *strm, unsigned char *dictionary, unsigned int *dictLength); +/* + Returns the sliding dictionary being maintained by inflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If inflateGetDictionary() is called with dictionary equal to + NULL, then only the dictionary length is returned, and nothing is copied. + Similarly, if dictLength is NULL, then it is not set. + + inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +Z_EXTERN int Z_EXPORT inflateSync(z_stream *strm); +/* + Skips invalid compressed data until a possible full flush point (see above + for the description of deflate with Z_FULL_FLUSH) can be found, or until all + available input is skipped. No output is provided. + + inflateSync searches for a 00 00 FF FF pattern in the compressed data. + All full flush points have this pattern, but not all occurrences of this + pattern are full flush points. + + inflateSync returns Z_OK if a possible full flush point has been found, + Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point + has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. + In the success case, the application may save the current value of + total_in which indicates where valid compressed data was found. In the + error case, the application may repeatedly call inflateSync, providing more + input each time, until success or end of the input data. +*/ + +Z_EXTERN int Z_EXPORT inflateCopy(z_stream *dest, z_stream *source); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when randomly accessing a large stream. The + first pass through the stream can periodically record the inflate state, + allowing restarting inflate at those points when randomly accessing the + stream. + + inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being NULL). msg is left unchanged in both source and + destination. +*/ + +Z_EXTERN int Z_EXPORT inflateReset(z_stream *strm); +/* + This function is equivalent to inflateEnd followed by inflateInit, + but does not free and reallocate the internal decompression state. The + stream will keep attributes that may have been set by inflateInit2. + total_in, total_out, adler, and msg are initialized. + + inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being NULL). +*/ + +Z_EXTERN int Z_EXPORT inflateReset2(z_stream *strm, int windowBits); +/* + This function is the same as inflateReset, but it also permits changing + the wrap and window size requests. The windowBits parameter is interpreted + the same as it is for inflateInit2. If the window size is changed, then the + memory allocated for the window is freed, and the window will be reallocated + by inflate() if needed. + + inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being NULL), or if + the windowBits parameter is invalid. +*/ + +Z_EXTERN int Z_EXPORT inflatePrime(z_stream *strm, int bits, int value); +/* + This function inserts bits in the inflate input stream. The intent is + that this function is used to start inflating at a bit position in the + middle of a byte. The provided bits will be used before any bytes are used + from next_in. This function should only be used with raw inflate, and + should be used before the first inflate() call after inflateInit2() or + inflateReset(). bits must be less than or equal to 16, and that many of the + least significant bits of value will be inserted in the input. + + If bits is negative, then the input stream bit buffer is emptied. Then + inflatePrime() can be called again to put bits in the buffer. This is used + to clear out bits leftover after feeding inflate a block description prior + to feeding inflate codes. + + inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +Z_EXTERN long Z_EXPORT inflateMark(z_stream *strm); +/* + This function returns two values, one in the lower 16 bits of the return + value, and the other in the remaining upper bits, obtained by shifting the + return value down 16 bits. If the upper value is -1 and the lower value is + zero, then inflate() is currently decoding information outside of a block. + If the upper value is -1 and the lower value is non-zero, then inflate is in + the middle of a stored block, with the lower value equaling the number of + bytes from the input remaining to copy. If the upper value is not -1, then + it is the number of bits back from the current bit position in the input of + the code (literal or length/distance pair) currently being processed. In + that case the lower value is the number of bytes already emitted for that + code. + + A code is being processed if inflate is waiting for more input to complete + decoding of the code, or if it has completed decoding but is waiting for + more output space to write the literal or match data. + + inflateMark() is used to mark locations in the input data for random + access, which may be at bit positions, and to note those cases where the + output of a code may span boundaries of random access blocks. The current + location in the input stream can be determined from avail_in and data_type + as noted in the description for the Z_BLOCK flush parameter for inflate. + + inflateMark returns the value noted above, or -65536 if the provided + source stream state was inconsistent. +*/ + +Z_EXTERN int Z_EXPORT inflateGetHeader(z_stream *strm, gz_headerp head); +/* + inflateGetHeader() requests that gzip header information be stored in the + provided gz_header structure. inflateGetHeader() may be called after + inflateInit2() or inflateReset(), and before the first call of inflate(). + As inflate() processes the gzip stream, head->done is zero until the header + is completed, at which time head->done is set to one. If a zlib stream is + being decoded, then head->done is set to -1 to indicate that there will be + no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be + used to force inflate() to return immediately after header processing is + complete and before any actual data is decompressed. + + The text, time, xflags, and os fields are filled in with the gzip header + contents. hcrc is set to true if there is a header CRC. (The header CRC + was valid if done is set to one.) If extra is not NULL, then extra_max + contains the maximum number of bytes to write to extra. Once done is true, + extra_len contains the actual extra field length, and extra contains the + extra field, or that field truncated if extra_max is less than extra_len. + If name is not NULL, then up to name_max characters are written there, + terminated with a zero unless the length is greater than name_max. If + comment is not NULL, then up to comm_max characters are written there, + terminated with a zero unless the length is greater than comm_max. When any + of extra, name, or comment are not NULL and the respective field is not + present in the header, then that field is set to NULL to signal its + absence. This allows the use of deflateSetHeader() with the returned + structure to duplicate the header. However if those fields are set to + allocated memory, then the application will need to save those pointers + elsewhere so that they can be eventually freed. + + If inflateGetHeader is not used, then the header information is simply + discarded. The header is always checked for validity, including the header + CRC if present. inflateReset() will reset the process to discard the header + information. The application would need to call inflateGetHeader() again to + retrieve the header from the next gzip stream. + + inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +Z_EXTERN int Z_EXPORT inflateBackInit (z_stream *strm, int windowBits, unsigned char *window); + + Initialize the internal stream state for decompression using inflateBack() + calls. The fields zalloc, zfree and opaque in strm must be initialized + before the call. If zalloc and zfree are NULL, then the default library- + derived memory allocation routines are used. windowBits is the base two + logarithm of the window size, in the range 8..15. window is a caller + supplied buffer of that size. Except for special applications where it is + assured that deflate was used with small window sizes, windowBits must be 15 + and a 32K byte window must be supplied to be able to decompress general + deflate streams. + + See inflateBack() for the usage of these routines. + + inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of + the parameters are invalid, Z_MEM_ERROR if the internal state could not be + allocated, or Z_VERSION_ERROR if the version of the library does not match + the version of the header file. +*/ + +typedef uint32_t (*in_func) (void *, z_const unsigned char * *); +typedef int (*out_func) (void *, unsigned char *, uint32_t); + +Z_EXTERN int Z_EXPORT inflateBack(z_stream *strm, in_func in, void *in_desc, out_func out, void *out_desc); +/* + inflateBack() does a raw inflate with a single call using a call-back + interface for input and output. This is potentially more efficient than + inflate() for file i/o applications, in that it avoids copying between the + output and the sliding window by simply making the window itself the output + buffer. inflate() can be faster on modern CPUs when used with large + buffers. inflateBack() trusts the application to not change the output + buffer passed by the output function, at least until inflateBack() returns. + + inflateBackInit() must be called first to allocate the internal state + and to initialize the state with the user-provided window buffer. + inflateBack() may then be used multiple times to inflate a complete, raw + deflate stream with each call. inflateBackEnd() is then called to free the + allocated state. + + A raw deflate stream is one with no zlib or gzip header or trailer. + This routine would normally be used in a utility that reads zip or gzip + files and writes out uncompressed files. The utility would decode the + header and process the trailer on its own, hence this routine expects only + the raw deflate stream to decompress. This is different from the default + behavior of inflate(), which expects a zlib header and trailer around the + deflate stream. + + inflateBack() uses two subroutines supplied by the caller that are then + called by inflateBack() for input and output. inflateBack() calls those + routines until it reads a complete deflate stream and writes out all of the + uncompressed data, or until it encounters an error. The function's + parameters and return types are defined above in the in_func and out_func + typedefs. inflateBack() will call in(in_desc, &buf) which should return the + number of bytes of provided input, and a pointer to that input in buf. If + there is no input available, in() must return zero -- buf is ignored in that + case -- and inflateBack() will return a buffer error. inflateBack() will + call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. + out() should return zero on success, or non-zero on failure. If out() + returns non-zero, inflateBack() will return with an error. Neither in() nor + out() are permitted to change the contents of the window provided to + inflateBackInit(), which is also the buffer that out() uses to write from. + The length written by out() will be at most the window size. Any non-zero + amount of input may be provided by in(). + + For convenience, inflateBack() can be provided input on the first call by + setting strm->next_in and strm->avail_in. If that input is exhausted, then + in() will be called. Therefore strm->next_in must be initialized before + calling inflateBack(). If strm->next_in is NULL, then in() will be called + immediately for input. If strm->next_in is not NULL, then strm->avail_in + must also be initialized, and then if strm->avail_in is not zero, input will + initially be taken from strm->next_in[0 .. strm->avail_in - 1]. + + The in_desc and out_desc parameters of inflateBack() is passed as the + first parameter of in() and out() respectively when they are called. These + descriptors can be optionally used to pass any information that the caller- + supplied in() and out() functions need to do their job. + + On return, inflateBack() will set strm->next_in and strm->avail_in to + pass back any unused input that was provided by the last in() call. The + return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR + if in() or out() returned an error, Z_DATA_ERROR if there was a format error + in the deflate stream (in which case strm->msg is set to indicate the nature + of the error), or Z_STREAM_ERROR if the stream was not properly initialized. + In the case of Z_BUF_ERROR, an input or output error can be distinguished + using strm->next_in which will be NULL only if in() returned an error. If + strm->next_in is not NULL, then the Z_BUF_ERROR was due to out() returning + non-zero. (in() will always be called before out(), so strm->next_in is + assured to be defined if out() returns non-zero.) Note that inflateBack() + cannot return Z_OK. +*/ + +Z_EXTERN int Z_EXPORT inflateBackEnd(z_stream *strm); +/* + All memory allocated by inflateBackInit() is freed. + + inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream + state was inconsistent. +*/ + +Z_EXTERN unsigned long Z_EXPORT zlibCompileFlags(void); +/* Return flags indicating compile-time options. + + Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: + 1.0: size of unsigned int + 3.2: size of unsigned long + 5.4: size of void * (pointer) + 7.6: size of z_off_t + + Compiler, assembler, and debug options: + 8: ZLIB_DEBUG + 9: ASMV or ASMINF -- use ASM code + 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention + 11: 0 (reserved) + + One-time table building (smaller code, but not thread-safe if true): + 12: BUILDFIXED -- build static block decoding tables when needed (not supported by zlib-ng) + 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed + 14,15: 0 (reserved) + + Library content (indicates missing functionality): + 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking + deflate code when not needed) + 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect + and decode gzip streams (to avoid linking crc code) + 18-19: 0 (reserved) + + Operation variations (changes in library functionality): + 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate + 21: FASTEST -- deflate algorithm with only one, lowest compression level + 22,23: 0 (reserved) + + The sprintf variant used by gzprintf (zero is best): + 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format + 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! + 26: 0 = returns value, 1 = void -- 1 means inferred string length returned + + Remainder: + 27-31: 0 (reserved) + */ + + +#ifndef Z_SOLO + + /* utility functions */ + +/* + The following utility functions are implemented on top of the basic + stream-oriented functions. To simplify the interface, some default options + are assumed (compression level and memory usage, standard memory allocation + functions). The source code of these utility functions can be modified if + you need special options. +*/ + +Z_EXTERN int Z_EXPORT compress(unsigned char *dest, unsigned long *destLen, const unsigned char *source, unsigned long sourceLen); +/* + Compresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. compress() is equivalent to compress2() with a level + parameter of Z_DEFAULT_COMPRESSION. + + compress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer. +*/ + +Z_EXTERN int Z_EXPORT compress2(unsigned char *dest, unsigned long *destLen, const unsigned char *source, + unsigned long sourceLen, int level); +/* + Compresses the source buffer into the destination buffer. The level + parameter has the same meaning as in deflateInit. sourceLen is the byte + length of the source buffer. Upon entry, destLen is the total size of the + destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. + + compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_BUF_ERROR if there was not enough room in the output buffer, + Z_STREAM_ERROR if the level parameter is invalid. +*/ + +Z_EXTERN unsigned long Z_EXPORT compressBound(unsigned long sourceLen); +/* + compressBound() returns an upper bound on the compressed size after + compress() or compress2() on sourceLen bytes. It would be used before a + compress() or compress2() call to allocate the destination buffer. +*/ + +Z_EXTERN int Z_EXPORT uncompress(unsigned char *dest, unsigned long *destLen, const unsigned char *source, unsigned long sourceLen); +/* + Decompresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be large enough to hold the entire + uncompressed data. (The size of the uncompressed data must have been saved + previously by the compressor and transmitted to the decompressor by some + mechanism outside the scope of this compression library.) Upon exit, destLen + is the actual size of the uncompressed data. + + uncompress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In + the case where there is not enough room, uncompress() will fill the output + buffer with the uncompressed data up to that point. +*/ + + +Z_EXTERN int Z_EXPORT uncompress2 (unsigned char *dest, unsigned long *destLen, + const unsigned char *source, unsigned long *sourceLen); +/* + Same as uncompress, except that sourceLen is a pointer, where the + length of the source is *sourceLen. On return, *sourceLen is the number of + source bytes consumed. +*/ + + + /* gzip file access functions */ + +/* + This library supports reading and writing files in gzip (.gz) format with + an interface similar to that of stdio, using the functions that start with + "gz". The gzip format is different from the zlib format. gzip is a gzip + wrapper, documented in RFC 1952, wrapped around a deflate stream. +*/ + +typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ + +/* +Z_EXTERN gzFile Z_EXPORT gzopen(const char *path, const char *mode); + + Open the gzip (.gz) file at path for reading and decompressing, or + compressing and writing. The mode parameter is as in fopen ("rb" or "wb") + but can also include a compression level ("wb9") or a strategy: 'f' for + filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h", + 'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression + as in "wb9F". (See the description of deflateInit2 for more information + about the strategy parameter.) 'T' will request transparent writing or + appending with no compression and not using the gzip format. + + "a" can be used instead of "w" to request that the gzip stream that will + be written be appended to the file. "+" will result in an error, since + reading and writing to the same gzip file is not supported. The addition of + "x" when writing will create the file exclusively, which fails if the file + already exists. On systems that support it, the addition of "e" when + reading or writing will set the flag to close the file on an execve() call. + + These functions, as well as gzip, will read and decode a sequence of gzip + streams in a file. The append function of gzopen() can be used to create + such a file. (Also see gzflush() for another way to do this.) When + appending, gzopen does not test whether the file begins with a gzip stream, + nor does it look for the end of the gzip streams to begin appending. gzopen + will simply append a gzip stream to the existing file. + + gzopen can be used to read a file which is not in gzip format; in this + case gzread will directly read from the file without decompression. When + reading, this will be detected automatically by looking for the magic two- + byte gzip header. + + gzopen returns NULL if the file could not be opened, if there was + insufficient memory to allocate the gzFile state, or if an invalid mode was + specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). + errno can be checked to determine if the reason gzopen failed was that the + file could not be opened. +*/ + +Z_EXTERN gzFile Z_EXPORT gzdopen(int fd, const char *mode); +/* + Associate a gzFile with the file descriptor fd. File descriptors are + obtained from calls like open, dup, creat, pipe or fileno (if the file has + been previously opened with fopen). The mode parameter is as in gzopen. + + The next call of gzclose on the returned gzFile will also close the file + descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor + fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, + mode);. The duplicated descriptor should be saved to avoid a leak, since + gzdopen does not close fd if it fails. If you are using fileno() to get the + file descriptor from a FILE *, then you will have to use dup() to avoid + double-close()ing the file descriptor. Both gzclose() and fclose() will + close the associated file descriptor, so they need to have different file + descriptors. + + gzdopen returns NULL if there was insufficient memory to allocate the + gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not + provided, or '+' was provided), or if fd is -1. The file descriptor is not + used until the next gz* read, write, seek, or close operation, so gzdopen + will not detect if fd is invalid (unless fd is -1). +*/ + +Z_EXTERN int Z_EXPORT gzbuffer(gzFile file, unsigned size); +/* + Set the internal buffer size used by this library's functions for file to + size. The default buffer size is 8192 bytes. This function must be called + after gzopen() or gzdopen(), and before any other calls that read or write + the file. The buffer memory allocation is always deferred to the first read + or write. Three times that size in buffer space is allocated. A larger + buffer size of, for example, 64K or 128K bytes will noticeably increase the + speed of decompression (reading). + + The new buffer size also affects the maximum length for gzprintf(). + + gzbuffer() returns 0 on success, or -1 on failure, such as being called + too late. +*/ + +Z_EXTERN int Z_EXPORT gzsetparams(gzFile file, int level, int strategy); +/* + Dynamically update the compression level and strategy for file. See the + description of deflateInit2 for the meaning of these parameters. Previously + provided data is flushed before applying the parameter changes. + + gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not + opened for writing, Z_ERRNO if there is an error writing the flushed data, + or Z_MEM_ERROR if there is a memory allocation error. +*/ + +Z_EXTERN int Z_EXPORT gzread(gzFile file, void *buf, unsigned len); +/* + Read and decompress up to len uncompressed bytes from file into buf. If + the input file is not in gzip format, gzread copies the given number of + bytes into the buffer directly from the file. + + After reaching the end of a gzip stream in the input, gzread will continue + to read, looking for another gzip stream. Any number of gzip streams may be + concatenated in the input file, and will all be decompressed by gzread(). + If something other than a gzip stream is encountered after a gzip stream, + that remaining trailing garbage is ignored (and no error is returned). + + gzread can be used to read a gzip file that is being concurrently written. + Upon reaching the end of the input, gzread will return with the available + data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then + gzclearerr can be used to clear the end of file indicator in order to permit + gzread to be tried again. Z_OK indicates that a gzip stream was completed + on the last gzread. Z_BUF_ERROR indicates that the input file ended in the + middle of a gzip stream. Note that gzread does not return -1 in the event + of an incomplete gzip stream. This error is deferred until gzclose(), which + will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip + stream. Alternatively, gzerror can be used before gzclose to detect this + case. + + gzread returns the number of uncompressed bytes actually read, less than + len for end of file, or -1 for error. If len is too large to fit in an int, + then nothing is read, -1 is returned, and the error state is set to + Z_STREAM_ERROR. +*/ + +Z_EXTERN size_t Z_EXPORT gzfread (void *buf, size_t size, size_t nitems, gzFile file); +/* + Read and decompress up to nitems items of size size from file into buf, + otherwise operating as gzread() does. This duplicates the interface of + stdio's fread(), with size_t request and return types. If the library + defines size_t, then z_size_t is identical to size_t. If not, then z_size_t + is an unsigned integer type that can contain a pointer. + + gzfread() returns the number of full items read of size size, or zero if + the end of the file was reached and a full item could not be read, or if + there was an error. gzerror() must be consulted if zero is returned in + order to determine if there was an error. If the multiplication of size and + nitems overflows, i.e. the product does not fit in a size_t, then nothing + is read, zero is returned, and the error state is set to Z_STREAM_ERROR. + + In the event that the end of file is reached and only a partial item is + available at the end, i.e. the remaining uncompressed data length is not a + multiple of size, then the final partial item is nevertheless read into buf + and the end-of-file flag is set. The length of the partial item read is not + provided, but could be inferred from the result of gztell(). This behavior + is the same as the behavior of fread() implementations in common libraries, + but it prevents the direct use of gzfread() to read a concurrently written + file, resetting and retrying on end-of-file, when size is not 1. +*/ + +Z_EXTERN int Z_EXPORT gzwrite(gzFile file, void const *buf, unsigned len); +/* + Compress and write the len uncompressed bytes at buf to file. gzwrite + returns the number of uncompressed bytes written or 0 in case of error. +*/ + +Z_EXTERN size_t Z_EXPORT gzfwrite(void const *buf, size_t size, size_t nitems, gzFile file); +/* + Compress and write nitems items of size size from buf to file, duplicating + the interface of stdio's fwrite(), with size_t request and return types. + + gzfwrite() returns the number of full items written of size size, or zero + if there was an error. If the multiplication of size and nitems overflows, + i.e. the product does not fit in a size_t, then nothing is written, zero + is returned, and the error state is set to Z_STREAM_ERROR. +*/ + +Z_EXTERN int Z_EXPORTVA gzprintf(gzFile file, const char *format, ...); +/* + Convert, format, compress, and write the arguments (...) to file under + control of the string format, as in fprintf. gzprintf returns the number of + uncompressed bytes actually written, or a negative zlib error code in case + of error. The number of uncompressed bytes written is limited to 8191, or + one less than the buffer size given to gzbuffer(). The caller should assure + that this limit is not exceeded. If it is exceeded, then gzprintf() will + return an error (0) with nothing written. In this case, there may also be a + buffer overflow with unpredictable consequences, which is possible only if + zlib was compiled with the insecure functions sprintf() or vsprintf(), + because the secure snprintf() or vsnprintf() functions were not available. + This can be determined using zlibCompileFlags(). +*/ + +Z_EXTERN int Z_EXPORT gzputs(gzFile file, const char *s); +/* + Compress and write the given null-terminated string s to file, excluding + the terminating null character. + + gzputs returns the number of characters written, or -1 in case of error. +*/ + +Z_EXTERN char * Z_EXPORT gzgets(gzFile file, char *buf, int len); +/* + Read and decompress bytes from file into buf, until len-1 characters are + read, or until a newline character is read and transferred to buf, or an + end-of-file condition is encountered. If any characters are read or if len + is one, the string is terminated with a null character. If no characters + are read due to an end-of-file or len is less than one, then the buffer is + left untouched. + + gzgets returns buf which is a null-terminated string, or it returns NULL + for end-of-file or in case of error. If there was an error, the contents at + buf are indeterminate. +*/ + +Z_EXTERN int Z_EXPORT gzputc(gzFile file, int c); +/* + Compress and write c, converted to an unsigned char, into file. gzputc + returns the value that was written, or -1 in case of error. +*/ + +Z_EXTERN int Z_EXPORT gzgetc(gzFile file); +/* + Read and decompress one byte from file. gzgetc returns this byte or -1 + in case of end of file or error. This is implemented as a macro for speed. + As such, it does not do all of the checking the other functions do. I.e. + it does not check to see if file is NULL, nor whether the structure file + points to has been clobbered or not. +*/ + +Z_EXTERN int Z_EXPORT gzungetc(int c, gzFile file); +/* + Push c back onto the stream for file to be read as the first character on + the next read. At least one character of push-back is always allowed. + gzungetc() returns the character pushed, or -1 on failure. gzungetc() will + fail if c is -1, and may fail if a character has been pushed but not read + yet. If gzungetc is used immediately after gzopen or gzdopen, at least the + output buffer size of pushed characters is allowed. (See gzbuffer above.) + The pushed character will be discarded if the stream is repositioned with + gzseek() or gzrewind(). +*/ + +Z_EXTERN int Z_EXPORT gzflush(gzFile file, int flush); +/* + Flush all pending output to file. The parameter flush is as in the + deflate() function. The return value is the zlib error number (see function + gzerror below). gzflush is only permitted when writing. + + If the flush parameter is Z_FINISH, the remaining data is written and the + gzip stream is completed in the output. If gzwrite() is called again, a new + gzip stream will be started in the output. gzread() is able to read such + concatenated gzip streams. + + gzflush should be called only when strictly necessary because it will + degrade compression if called too often. +*/ + +/* +Z_EXTERN z_off_t Z_EXPORT gzseek (gzFile file, z_off_t offset, int whence); + + Set the starting position to offset relative to whence for the next gzread + or gzwrite on file. The offset represents a number of bytes in the + uncompressed data stream. The whence parameter is defined as in lseek(2); + the value SEEK_END is not supported. + + If the file is opened for reading, this function is emulated but can be + extremely slow. If the file is opened for writing, only forward seeks are + supported; gzseek then compresses a sequence of zeroes up to the new + starting position. + + gzseek returns the resulting offset location as measured in bytes from + the beginning of the uncompressed stream, or -1 in case of error, in + particular if the file is opened for writing and the new starting position + would be before the current position. +*/ + +Z_EXTERN int Z_EXPORT gzrewind(gzFile file); +/* + Rewind file. This function is supported only for reading. + + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET). +*/ + +/* +Z_EXTERN z_off_t Z_EXPORT gztell(gzFile file); + + Return the starting position for the next gzread or gzwrite on file. + This position represents a number of bytes in the uncompressed data stream, + and is zero when starting, even if appending or reading a gzip stream from + the middle of a file using gzdopen(). + + gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) +*/ + +/* +Z_EXTERN z_off_t Z_EXPORT gzoffset(gzFile file); + + Return the current compressed (actual) read or write offset of file. This + offset includes the count of bytes that precede the gzip stream, for example + when appending or when using gzdopen() for reading. When reading, the + offset does not include as yet unused buffered input. This information can + be used for a progress indicator. On error, gzoffset() returns -1. +*/ + +Z_EXTERN int Z_EXPORT gzeof(gzFile file); +/* + Return true (1) if the end-of-file indicator for file has been set while + reading, false (0) otherwise. Note that the end-of-file indicator is set + only if the read tried to go past the end of the input, but came up short. + Therefore, just like feof(), gzeof() may return false even if there is no + more data to read, in the event that the last read request was for the exact + number of bytes remaining in the input file. This will happen if the input + file size is an exact multiple of the buffer size. + + If gzeof() returns true, then the read functions will return no more data, + unless the end-of-file indicator is reset by gzclearerr() and the input file + has grown since the previous end of file was detected. +*/ + +Z_EXTERN int Z_EXPORT gzdirect(gzFile file); +/* + Return true (1) if file is being copied directly while reading, or false + (0) if file is a gzip stream being decompressed. + + If the input file is empty, gzdirect() will return true, since the input + does not contain a gzip stream. + + If gzdirect() is used immediately after gzopen() or gzdopen() it will + cause buffers to be allocated to allow reading the file to determine if it + is a gzip file. Therefore if gzbuffer() is used, it should be called before + gzdirect(). + + When writing, gzdirect() returns true (1) if transparent writing was + requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note: + gzdirect() is not needed when writing. Transparent writing must be + explicitly requested, so the application already knows the answer. When + linking statically, using gzdirect() will include all of the zlib code for + gzip file reading and decompression, which may not be desired.) +*/ + +Z_EXTERN int Z_EXPORT gzclose(gzFile file); +/* + Flush all pending output for file, if necessary, close file and + deallocate the (de)compression state. Note that once file is closed, you + cannot call gzerror with file, since its structures have been deallocated. + gzclose must not be called more than once on the same file, just as free + must not be called more than once on the same allocation. + + gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a + file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the + last read ended in the middle of a gzip stream, or Z_OK on success. +*/ + +Z_EXTERN int Z_EXPORT gzclose_r(gzFile file); +Z_EXTERN int Z_EXPORT gzclose_w(gzFile file); +/* + Same as gzclose(), but gzclose_r() is only for use when reading, and + gzclose_w() is only for use when writing or appending. The advantage to + using these instead of gzclose() is that they avoid linking in zlib + compression or decompression code that is not used when only reading or only + writing respectively. If gzclose() is used, then both compression and + decompression code will be included the application when linking to a static + zlib library. +*/ + +Z_EXTERN const char * Z_EXPORT gzerror(gzFile file, int *errnum); +/* + Return the error message for the last error which occurred on file. + errnum is set to zlib error number. If an error occurred in the file system + and not in the compression library, errnum is set to Z_ERRNO and the + application may consult errno to get the exact error code. + + The application must not modify the returned string. Future calls to + this function may invalidate the previously returned string. If file is + closed, then the string previously returned by gzerror will no longer be + available. + + gzerror() should be used to distinguish errors from end-of-file for those + functions above that do not distinguish those cases in their return values. +*/ + +Z_EXTERN void Z_EXPORT gzclearerr(gzFile file); +/* + Clear the error and end-of-file flags for file. This is analogous to the + clearerr() function in stdio. This is useful for continuing to read a gzip + file that is being written concurrently. +*/ + +#endif + + /* checksum functions */ + +/* + These functions are not related to compression but are exported + anyway because they might be useful in applications using the compression + library. +*/ + +Z_EXTERN unsigned long Z_EXPORT adler32(unsigned long adler, const unsigned char *buf, unsigned int len); +/* + Update a running Adler-32 checksum with the bytes buf[0..len-1] and + return the updated checksum. An Adler-32 value is in the range of a 32-bit + unsigned integer. If buf is Z_NULL, this function returns the required + initial value for the checksum. + + An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed + much faster. + + Usage example: + + uint32_t adler = adler32(0L, NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + adler = adler32(adler, buffer, length); + } + if (adler != original_adler) error(); +*/ + +Z_EXTERN unsigned long Z_EXPORT adler32_z(unsigned long adler, const unsigned char *buf, size_t len); +/* + Same as adler32(), but with a size_t length. +*/ + +/* +Z_EXTERN unsigned long Z_EXPORT adler32_combine(unsigned long adler1, unsigned long adler2, z_off_t len2); + + Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 + and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for + each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of + seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note + that the z_off_t type (like off_t) is a signed integer. If len2 is + negative, the result has no meaning or utility. +*/ + +Z_EXTERN unsigned long Z_EXPORT crc32(unsigned long crc, const unsigned char *buf, unsigned int len); +/* + Update a running CRC-32 with the bytes buf[0..len-1] and return the + updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer. + If buf is Z_NULL, this function returns the required initial value for the + crc. Pre- and post-conditioning (one's complement) is performed within this + function so it shouldn't be done by the application. + + Usage example: + + uint32_t crc = crc32(0L, NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + crc = crc32(crc, buffer, length); + } + if (crc != original_crc) error(); +*/ + +Z_EXTERN unsigned long Z_EXPORT crc32_z(unsigned long crc, const unsigned char *buf, size_t len); +/* + Same as crc32(), but with a size_t length. +*/ + +/* +Z_EXTERN unsigned long Z_EXPORT crc32_combine(unsigned long crc1, unsigned long crc2, z_off64_t len2); + + Combine two CRC-32 check values into one. For two sequences of bytes, + seq1 and seq2 with lengths len1 and len2, CRC-32 check values were + calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 + check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and + len2. len2 must be non-negative. +*/ + +/* +Z_EXTERN unsigned long Z_EXPORT crc32_combine_gen(z_off_t len2); + + Return the operator corresponding to length len2, to be used with + crc32_combine_op(). len2 must be non-negative. +*/ + +Z_EXTERN unsigned long Z_EXPORT crc32_combine_op(unsigned long crc1, unsigned long crc2, + const unsigned long op); +/* + Give the same result as crc32_combine(), using op in place of len2. op is + is generated from len2 by crc32_combine_gen(). This will be faster than + crc32_combine() if the generated op is used more than once. +*/ + + + /* various hacks, don't look :) */ + +/* deflateInit and inflateInit are macros to allow checking the zlib version + * and the compiler's view of z_stream: + */ +Z_EXTERN int Z_EXPORT deflateInit_(z_stream *strm, int level, const char *version, int stream_size); +Z_EXTERN int Z_EXPORT inflateInit_(z_stream *strm, const char *version, int stream_size); +Z_EXTERN int Z_EXPORT deflateInit2_(z_stream *strm, int level, int method, int windowBits, int memLevel, + int strategy, const char *version, int stream_size); +Z_EXTERN int Z_EXPORT inflateInit2_(z_stream *strm, int windowBits, const char *version, int stream_size); +Z_EXTERN int Z_EXPORT inflateBackInit_(z_stream *strm, int windowBits, unsigned char *window, + const char *version, int stream_size); +#define deflateInit(strm, level) deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +#define inflateInit(strm) inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm), (level), (method), (windowBits), (memLevel), \ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +#define inflateInit2(strm, windowBits) inflateInit2_((strm), (windowBits), ZLIB_VERSION, (int)sizeof(z_stream)) +#define inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), ZLIB_VERSION, (int)sizeof(z_stream)) + + +#ifndef Z_SOLO +/* gzgetc() macro and its supporting function and exposed data structure. Note + * that the real internal state is much larger than the exposed structure. + * This abbreviated structure exposes just enough for the gzgetc() macro. The + * user should not mess with these exposed elements, since their names or + * behavior could change in the future, perhaps even capriciously. They can + * only be used by the gzgetc() macro. You have been warned. + */ +struct gzFile_s { + unsigned have; + unsigned char *next; + z_off64_t pos; +}; +Z_EXTERN int Z_EXPORT gzgetc_(gzFile file); /* backward compatibility */ +# define gzgetc(g) ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) + +/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or + * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if + * both are true, the application gets the *64 functions, and the regular + * functions are changed to 64 bits) -- in case these are set on systems + * without large file support, _LFS64_LARGEFILE must also be true + */ +#ifdef Z_LARGE64 + Z_EXTERN gzFile Z_EXPORT gzopen64(const char *, const char *); + Z_EXTERN z_off64_t Z_EXPORT gzseek64(gzFile, z_off64_t, int); + Z_EXTERN z_off64_t Z_EXPORT gztell64(gzFile); + Z_EXTERN z_off64_t Z_EXPORT gzoffset64(gzFile); + Z_EXTERN unsigned long Z_EXPORT adler32_combine64(unsigned long, unsigned long, z_off64_t); + Z_EXTERN unsigned long Z_EXPORT crc32_combine64(unsigned long, unsigned long, z_off64_t); + Z_EXTERN unsigned long Z_EXPORT crc32_combine_gen64(z_off64_t); +#endif +#endif + +#if !defined(Z_SOLO) && !defined(Z_INTERNAL) && defined(Z_WANT64) +# define gzopen gzopen64 +# define gzseek gzseek64 +# define gztell gztell64 +# define gzoffset gzoffset64 +# define adler32_combine adler32_combine64 +# define crc32_combine crc32_combine64 +# define crc32_combine_gen crc32_combine_gen64 +# ifndef Z_LARGE64 + Z_EXTERN gzFile Z_EXPORT gzopen64(const char *, const char *); + Z_EXTERN z_off_t Z_EXPORT gzseek64(gzFile, z_off_t, int); + Z_EXTERN z_off_t Z_EXPORT gztell64(gzFile); + Z_EXTERN z_off_t Z_EXPORT gzoffset64(gzFile); + Z_EXTERN unsigned long Z_EXPORT adler32_combine64(unsigned long, unsigned long, z_off_t); + Z_EXTERN unsigned long Z_EXPORT crc32_combine64(unsigned long, unsigned long, z_off_t); + Z_EXTERN unsigned long Z_EXPORT crc32_combine_gen64(z_off64_t); +# endif +#else +# ifndef Z_SOLO + Z_EXTERN gzFile Z_EXPORT gzopen(const char *, const char *); + Z_EXTERN z_off_t Z_EXPORT gzseek(gzFile, z_off_t, int); + Z_EXTERN z_off_t Z_EXPORT gztell(gzFile); + Z_EXTERN z_off_t Z_EXPORT gzoffset(gzFile); +# endif + Z_EXTERN unsigned long Z_EXPORT adler32_combine(unsigned long, unsigned long, z_off_t); + Z_EXTERN unsigned long Z_EXPORT crc32_combine(unsigned long, unsigned long, z_off_t); + Z_EXTERN unsigned long Z_EXPORT crc32_combine_gen(z_off_t); +#endif + +/* undocumented functions */ +Z_EXTERN const char * Z_EXPORT zError (int); +Z_EXTERN int Z_EXPORT inflateSyncPoint (z_stream *); +Z_EXTERN const uint32_t * Z_EXPORT get_crc_table (void); +Z_EXTERN int Z_EXPORT inflateUndermine (z_stream *, int); +Z_EXTERN int Z_EXPORT inflateValidate (z_stream *, int); +Z_EXTERN unsigned long Z_EXPORT inflateCodesUsed (z_stream *); +Z_EXTERN int Z_EXPORT inflateResetKeep (z_stream *); +Z_EXTERN int Z_EXPORT deflateResetKeep (z_stream *); + +#ifndef Z_SOLO +#if defined(_WIN32) + Z_EXTERN gzFile Z_EXPORT gzopen_w(const wchar_t *path, const char *mode); +#endif +Z_EXTERN int Z_EXPORTVA gzvprintf(gzFile file, const char *format, va_list va); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ZLIB_H_ */ diff --git a/curl/include/zlib_name_mangling.h b/curl/include/zlib_name_mangling.h new file mode 100644 index 0000000..b24cb83 --- /dev/null +++ b/curl/include/zlib_name_mangling.h @@ -0,0 +1,8 @@ +/* zlib_name_mangling.h has been automatically generated from + * zlib_name_mangling.h.empty because ZLIB_SYMBOL_PREFIX was NOT set. + */ + +#ifndef ZLIB_NAME_MANGLING_H +#define ZLIB_NAME_MANGLING_H + +#endif /* ZLIB_NAME_MANGLING_H */ diff --git a/curl/include/zstd.h b/curl/include/zstd.h new file mode 100644 index 0000000..b8c0644 --- /dev/null +++ b/curl/include/zstd.h @@ -0,0 +1,3198 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef ZSTD_H_235446 +#define ZSTD_H_235446 + + +/* ====== Dependencies ======*/ +#include /* size_t */ + +#include "zstd_errors.h" /* list of errors */ +#if defined(ZSTD_STATIC_LINKING_ONLY) && !defined(ZSTD_H_ZSTD_STATIC_LINKING_ONLY) +#include /* INT_MAX */ +#endif /* ZSTD_STATIC_LINKING_ONLY */ + +#if defined (__cplusplus) +extern "C" { +#endif + +/* ===== ZSTDLIB_API : control library symbols visibility ===== */ +#ifndef ZSTDLIB_VISIBLE + /* Backwards compatibility with old macro name */ +# ifdef ZSTDLIB_VISIBILITY +# define ZSTDLIB_VISIBLE ZSTDLIB_VISIBILITY +# elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define ZSTDLIB_VISIBLE __attribute__ ((visibility ("default"))) +# else +# define ZSTDLIB_VISIBLE +# endif +#endif + +#ifndef ZSTDLIB_HIDDEN +# if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define ZSTDLIB_HIDDEN __attribute__ ((visibility ("hidden"))) +# else +# define ZSTDLIB_HIDDEN +# endif +#endif + +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDLIB_API __declspec(dllexport) ZSTDLIB_VISIBLE +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDLIB_API __declspec(dllimport) ZSTDLIB_VISIBLE /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZSTDLIB_API ZSTDLIB_VISIBLE +#endif + +/* Deprecation warnings : + * Should these warnings be a problem, it is generally possible to disable them, + * typically with -Wno-deprecated-declarations for gcc or _CRT_SECURE_NO_WARNINGS in Visual. + * Otherwise, it's also possible to define ZSTD_DISABLE_DEPRECATE_WARNINGS. + */ +#ifdef ZSTD_DISABLE_DEPRECATE_WARNINGS +# define ZSTD_DEPRECATED(message) /* disable deprecation warnings */ +#else +# if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */ +# define ZSTD_DEPRECATED(message) [[deprecated(message)]] +# elif (defined(GNUC) && (GNUC > 4 || (GNUC == 4 && GNUC_MINOR >= 5))) || defined(__clang__) || defined(__IAR_SYSTEMS_ICC__) +# define ZSTD_DEPRECATED(message) __attribute__((deprecated(message))) +# elif defined(__GNUC__) && (__GNUC__ >= 3) +# define ZSTD_DEPRECATED(message) __attribute__((deprecated)) +# elif defined(_MSC_VER) +# define ZSTD_DEPRECATED(message) __declspec(deprecated(message)) +# else +# pragma message("WARNING: You need to implement ZSTD_DEPRECATED for this compiler") +# define ZSTD_DEPRECATED(message) +# endif +#endif /* ZSTD_DISABLE_DEPRECATE_WARNINGS */ + + +/******************************************************************************* + Introduction + + zstd, short for Zstandard, is a fast lossless compression algorithm, targeting + real-time compression scenarios at zlib-level and better compression ratios. + The zstd compression library provides in-memory compression and decompression + functions. + + The library supports regular compression levels from 1 up to ZSTD_maxCLevel(), + which is currently 22. Levels >= 20, labeled `--ultra`, should be used with + caution, as they require more memory. The library also offers negative + compression levels, which extend the range of speed vs. ratio preferences. + The lower the level, the faster the speed (at the cost of compression). + + Compression can be done in: + - a single step (described as Simple API) + - a single step, reusing a context (described as Explicit context) + - unbounded multiple steps (described as Streaming compression) + + The compression ratio achievable on small data can be highly improved using + a dictionary. Dictionary compression can be performed in: + - a single step (described as Simple dictionary API) + - a single step, reusing a dictionary (described as Bulk-processing + dictionary API) + + Advanced experimental functions can be accessed using + `#define ZSTD_STATIC_LINKING_ONLY` before including zstd.h. + + Advanced experimental APIs should never be used with a dynamically-linked + library. They are not "stable"; their definitions or signatures may change in + the future. Only static linking is allowed. +*******************************************************************************/ + +/*------ Version ------*/ +#define ZSTD_VERSION_MAJOR 1 +#define ZSTD_VERSION_MINOR 5 +#define ZSTD_VERSION_RELEASE 7 +#define ZSTD_VERSION_NUMBER (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE) + +/*! ZSTD_versionNumber() : + * Return runtime library version, the value is (MAJOR*100*100 + MINOR*100 + RELEASE). */ +ZSTDLIB_API unsigned ZSTD_versionNumber(void); + +#define ZSTD_LIB_VERSION ZSTD_VERSION_MAJOR.ZSTD_VERSION_MINOR.ZSTD_VERSION_RELEASE +#define ZSTD_QUOTE(str) #str +#define ZSTD_EXPAND_AND_QUOTE(str) ZSTD_QUOTE(str) +#define ZSTD_VERSION_STRING ZSTD_EXPAND_AND_QUOTE(ZSTD_LIB_VERSION) + +/*! ZSTD_versionString() : + * Return runtime library version, like "1.4.5". Requires v1.3.0+. */ +ZSTDLIB_API const char* ZSTD_versionString(void); + +/* ************************************* + * Default constant + ***************************************/ +#ifndef ZSTD_CLEVEL_DEFAULT +# define ZSTD_CLEVEL_DEFAULT 3 +#endif + +/* ************************************* + * Constants + ***************************************/ + +/* All magic numbers are supposed read/written to/from files/memory using little-endian convention */ +#define ZSTD_MAGICNUMBER 0xFD2FB528 /* valid since v0.8.0 */ +#define ZSTD_MAGIC_DICTIONARY 0xEC30A437 /* valid since v0.7.0 */ +#define ZSTD_MAGIC_SKIPPABLE_START 0x184D2A50 /* all 16 values, from 0x184D2A50 to 0x184D2A5F, signal the beginning of a skippable frame */ +#define ZSTD_MAGIC_SKIPPABLE_MASK 0xFFFFFFF0 + +#define ZSTD_BLOCKSIZELOG_MAX 17 +#define ZSTD_BLOCKSIZE_MAX (1<= ZSTD_compressBound(srcSize)` guarantees that zstd will have + * enough space to successfully compress the data. + * @return : compressed size written into `dst` (<= `dstCapacity), + * or an error code if it fails (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_compress( void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + int compressionLevel); + +/*! ZSTD_decompress() : + * `compressedSize` : must be the _exact_ size of some number of compressed and/or skippable frames. + * Multiple compressed frames can be decompressed at once with this method. + * The result will be the concatenation of all decompressed frames, back to back. + * `dstCapacity` is an upper bound of originalSize to regenerate. + * First frame's decompressed size can be extracted using ZSTD_getFrameContentSize(). + * If maximum upper bound isn't known, prefer using streaming mode to decompress data. + * @return : the number of bytes decompressed into `dst` (<= `dstCapacity`), + * or an errorCode if it fails (which can be tested using ZSTD_isError()). */ +ZSTDLIB_API size_t ZSTD_decompress( void* dst, size_t dstCapacity, + const void* src, size_t compressedSize); + + +/*====== Decompression helper functions ======*/ + +/*! ZSTD_getFrameContentSize() : requires v1.3.0+ + * `src` should point to the start of a ZSTD encoded frame. + * `srcSize` must be at least as large as the frame header. + * hint : any size >= `ZSTD_frameHeaderSize_max` is large enough. + * @return : - decompressed size of `src` frame content, if known + * - ZSTD_CONTENTSIZE_UNKNOWN if the size cannot be determined + * - ZSTD_CONTENTSIZE_ERROR if an error occurred (e.g. invalid magic number, srcSize too small) + * note 1 : a 0 return value means the frame is valid but "empty". + * When invoking this method on a skippable frame, it will return 0. + * note 2 : decompressed size is an optional field, it may not be present (typically in streaming mode). + * When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size. + * In which case, it's necessary to use streaming mode to decompress data. + * Optionally, application can rely on some implicit limit, + * as ZSTD_decompress() only needs an upper bound of decompressed size. + * (For example, data could be necessarily cut into blocks <= 16 KB). + * note 3 : decompressed size is always present when compression is completed using single-pass functions, + * such as ZSTD_compress(), ZSTD_compressCCtx() ZSTD_compress_usingDict() or ZSTD_compress_usingCDict(). + * note 4 : decompressed size can be very large (64-bits value), + * potentially larger than what local system can handle as a single memory segment. + * In which case, it's necessary to use streaming mode to decompress data. + * note 5 : If source is untrusted, decompressed size could be wrong or intentionally modified. + * Always ensure return value fits within application's authorized limits. + * Each application can set its own limits. + * note 6 : This function replaces ZSTD_getDecompressedSize() */ +#define ZSTD_CONTENTSIZE_UNKNOWN (0ULL - 1) +#define ZSTD_CONTENTSIZE_ERROR (0ULL - 2) +ZSTDLIB_API unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize); + +/*! ZSTD_getDecompressedSize() (obsolete): + * This function is now obsolete, in favor of ZSTD_getFrameContentSize(). + * Both functions work the same way, but ZSTD_getDecompressedSize() blends + * "empty", "unknown" and "error" results to the same return value (0), + * while ZSTD_getFrameContentSize() gives them separate return values. + * @return : decompressed size of `src` frame content _if known and not empty_, 0 otherwise. */ +ZSTD_DEPRECATED("Replaced by ZSTD_getFrameContentSize") +ZSTDLIB_API unsigned long long ZSTD_getDecompressedSize(const void* src, size_t srcSize); + +/*! ZSTD_findFrameCompressedSize() : Requires v1.4.0+ + * `src` should point to the start of a ZSTD frame or skippable frame. + * `srcSize` must be >= first frame size + * @return : the compressed size of the first frame starting at `src`, + * suitable to pass as `srcSize` to `ZSTD_decompress` or similar, + * or an error code if input is invalid + * Note 1: this method is called _find*() because it's not enough to read the header, + * it may have to scan through the frame's content, to reach its end. + * Note 2: this method also works with Skippable Frames. In which case, + * it returns the size of the complete skippable frame, + * which is always equal to its content size + 8 bytes for headers. */ +ZSTDLIB_API size_t ZSTD_findFrameCompressedSize(const void* src, size_t srcSize); + + +/*====== Compression helper functions ======*/ + +/*! ZSTD_compressBound() : + * maximum compressed size in worst case single-pass scenario. + * When invoking `ZSTD_compress()`, or any other one-pass compression function, + * it's recommended to provide @dstCapacity >= ZSTD_compressBound(srcSize) + * as it eliminates one potential failure scenario, + * aka not enough room in dst buffer to write the compressed frame. + * Note : ZSTD_compressBound() itself can fail, if @srcSize >= ZSTD_MAX_INPUT_SIZE . + * In which case, ZSTD_compressBound() will return an error code + * which can be tested using ZSTD_isError(). + * + * ZSTD_COMPRESSBOUND() : + * same as ZSTD_compressBound(), but as a macro. + * It can be used to produce constants, which can be useful for static allocation, + * for example to size a static array on stack. + * Will produce constant value 0 if srcSize is too large. + */ +#define ZSTD_MAX_INPUT_SIZE ((sizeof(size_t)==8) ? 0xFF00FF00FF00FF00ULL : 0xFF00FF00U) +#define ZSTD_COMPRESSBOUND(srcSize) (((size_t)(srcSize) >= ZSTD_MAX_INPUT_SIZE) ? 0 : (srcSize) + ((srcSize)>>8) + (((srcSize) < (128<<10)) ? (((128<<10) - (srcSize)) >> 11) /* margin, from 64 to 0 */ : 0)) /* this formula ensures that bound(A) + bound(B) <= bound(A+B) as long as A and B >= 128 KB */ +ZSTDLIB_API size_t ZSTD_compressBound(size_t srcSize); /*!< maximum compressed size in worst case single-pass scenario */ + + +/*====== Error helper functions ======*/ +/* ZSTD_isError() : + * Most ZSTD_* functions returning a size_t value can be tested for error, + * using ZSTD_isError(). + * @return 1 if error, 0 otherwise + */ +ZSTDLIB_API unsigned ZSTD_isError(size_t result); /*!< tells if a `size_t` function result is an error code */ +ZSTDLIB_API ZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult); /* convert a result into an error code, which can be compared to error enum list */ +ZSTDLIB_API const char* ZSTD_getErrorName(size_t result); /*!< provides readable string from a function result */ +ZSTDLIB_API int ZSTD_minCLevel(void); /*!< minimum negative compression level allowed, requires v1.4.0+ */ +ZSTDLIB_API int ZSTD_maxCLevel(void); /*!< maximum compression level available */ +ZSTDLIB_API int ZSTD_defaultCLevel(void); /*!< default compression level, specified by ZSTD_CLEVEL_DEFAULT, requires v1.5.0+ */ + + +/*************************************** +* Explicit context +***************************************/ +/*= Compression context + * When compressing many times, + * it is recommended to allocate a compression context just once, + * and reuse it for each successive compression operation. + * This will make the workload easier for system's memory. + * Note : re-using context is just a speed / resource optimization. + * It doesn't change the compression ratio, which remains identical. + * Note 2: For parallel execution in multi-threaded environments, + * use one different context per thread . + */ +typedef struct ZSTD_CCtx_s ZSTD_CCtx; +ZSTDLIB_API ZSTD_CCtx* ZSTD_createCCtx(void); +ZSTDLIB_API size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx); /* compatible with NULL pointer */ + +/*! ZSTD_compressCCtx() : + * Same as ZSTD_compress(), using an explicit ZSTD_CCtx. + * Important : in order to mirror `ZSTD_compress()` behavior, + * this function compresses at the requested compression level, + * __ignoring any other advanced parameter__ . + * If any advanced parameter was set using the advanced API, + * they will all be reset. Only @compressionLevel remains. + */ +ZSTDLIB_API size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + int compressionLevel); + +/*= Decompression context + * When decompressing many times, + * it is recommended to allocate a context only once, + * and reuse it for each successive compression operation. + * This will make workload friendlier for system's memory. + * Use one context per thread for parallel execution. */ +typedef struct ZSTD_DCtx_s ZSTD_DCtx; +ZSTDLIB_API ZSTD_DCtx* ZSTD_createDCtx(void); +ZSTDLIB_API size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx); /* accept NULL pointer */ + +/*! ZSTD_decompressDCtx() : + * Same as ZSTD_decompress(), + * requires an allocated ZSTD_DCtx. + * Compatible with sticky parameters (see below). + */ +ZSTDLIB_API size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize); + + +/********************************************* +* Advanced compression API (Requires v1.4.0+) +**********************************************/ + +/* API design : + * Parameters are pushed one by one into an existing context, + * using ZSTD_CCtx_set*() functions. + * Pushed parameters are sticky : they are valid for next compressed frame, and any subsequent frame. + * "sticky" parameters are applicable to `ZSTD_compress2()` and `ZSTD_compressStream*()` ! + * __They do not apply to one-shot variants such as ZSTD_compressCCtx()__ . + * + * It's possible to reset all parameters to "default" using ZSTD_CCtx_reset(). + * + * This API supersedes all other "advanced" API entry points in the experimental section. + * In the future, we expect to remove API entry points from experimental which are redundant with this API. + */ + + +/* Compression strategies, listed from fastest to strongest */ +typedef enum { ZSTD_fast=1, + ZSTD_dfast=2, + ZSTD_greedy=3, + ZSTD_lazy=4, + ZSTD_lazy2=5, + ZSTD_btlazy2=6, + ZSTD_btopt=7, + ZSTD_btultra=8, + ZSTD_btultra2=9 + /* note : new strategies _might_ be added in the future. + Only the order (from fast to strong) is guaranteed */ +} ZSTD_strategy; + +typedef enum { + + /* compression parameters + * Note: When compressing with a ZSTD_CDict these parameters are superseded + * by the parameters used to construct the ZSTD_CDict. + * See ZSTD_CCtx_refCDict() for more info (superseded-by-cdict). */ + ZSTD_c_compressionLevel=100, /* Set compression parameters according to pre-defined cLevel table. + * Note that exact compression parameters are dynamically determined, + * depending on both compression level and srcSize (when known). + * Default level is ZSTD_CLEVEL_DEFAULT==3. + * Special: value 0 means default, which is controlled by ZSTD_CLEVEL_DEFAULT. + * Note 1 : it's possible to pass a negative compression level. + * Note 2 : setting a level does not automatically set all other compression parameters + * to default. Setting this will however eventually dynamically impact the compression + * parameters which have not been manually set. The manually set + * ones will 'stick'. */ + /* Advanced compression parameters : + * It's possible to pin down compression parameters to some specific values. + * In which case, these values are no longer dynamically selected by the compressor */ + ZSTD_c_windowLog=101, /* Maximum allowed back-reference distance, expressed as power of 2. + * This will set a memory budget for streaming decompression, + * with larger values requiring more memory + * and typically compressing more. + * Must be clamped between ZSTD_WINDOWLOG_MIN and ZSTD_WINDOWLOG_MAX. + * Special: value 0 means "use default windowLog". + * Note: Using a windowLog greater than ZSTD_WINDOWLOG_LIMIT_DEFAULT + * requires explicitly allowing such size at streaming decompression stage. */ + ZSTD_c_hashLog=102, /* Size of the initial probe table, as a power of 2. + * Resulting memory usage is (1 << (hashLog+2)). + * Must be clamped between ZSTD_HASHLOG_MIN and ZSTD_HASHLOG_MAX. + * Larger tables improve compression ratio of strategies <= dFast, + * and improve speed of strategies > dFast. + * Special: value 0 means "use default hashLog". */ + ZSTD_c_chainLog=103, /* Size of the multi-probe search table, as a power of 2. + * Resulting memory usage is (1 << (chainLog+2)). + * Must be clamped between ZSTD_CHAINLOG_MIN and ZSTD_CHAINLOG_MAX. + * Larger tables result in better and slower compression. + * This parameter is useless for "fast" strategy. + * It's still useful when using "dfast" strategy, + * in which case it defines a secondary probe table. + * Special: value 0 means "use default chainLog". */ + ZSTD_c_searchLog=104, /* Number of search attempts, as a power of 2. + * More attempts result in better and slower compression. + * This parameter is useless for "fast" and "dFast" strategies. + * Special: value 0 means "use default searchLog". */ + ZSTD_c_minMatch=105, /* Minimum size of searched matches. + * Note that Zstandard can still find matches of smaller size, + * it just tweaks its search algorithm to look for this size and larger. + * Larger values increase compression and decompression speed, but decrease ratio. + * Must be clamped between ZSTD_MINMATCH_MIN and ZSTD_MINMATCH_MAX. + * Note that currently, for all strategies < btopt, effective minimum is 4. + * , for all strategies > fast, effective maximum is 6. + * Special: value 0 means "use default minMatchLength". */ + ZSTD_c_targetLength=106, /* Impact of this field depends on strategy. + * For strategies btopt, btultra & btultra2: + * Length of Match considered "good enough" to stop search. + * Larger values make compression stronger, and slower. + * For strategy fast: + * Distance between match sampling. + * Larger values make compression faster, and weaker. + * Special: value 0 means "use default targetLength". */ + ZSTD_c_strategy=107, /* See ZSTD_strategy enum definition. + * The higher the value of selected strategy, the more complex it is, + * resulting in stronger and slower compression. + * Special: value 0 means "use default strategy". */ + + ZSTD_c_targetCBlockSize=130, /* v1.5.6+ + * Attempts to fit compressed block size into approximately targetCBlockSize. + * Bound by ZSTD_TARGETCBLOCKSIZE_MIN and ZSTD_TARGETCBLOCKSIZE_MAX. + * Note that it's not a guarantee, just a convergence target (default:0). + * No target when targetCBlockSize == 0. + * This is helpful in low bandwidth streaming environments to improve end-to-end latency, + * when a client can make use of partial documents (a prominent example being Chrome). + * Note: this parameter is stable since v1.5.6. + * It was present as an experimental parameter in earlier versions, + * but it's not recommended using it with earlier library versions + * due to massive performance regressions. + */ + /* LDM mode parameters */ + ZSTD_c_enableLongDistanceMatching=160, /* Enable long distance matching. + * This parameter is designed to improve compression ratio + * for large inputs, by finding large matches at long distance. + * It increases memory usage and window size. + * Note: enabling this parameter increases default ZSTD_c_windowLog to 128 MB + * except when expressly set to a different value. + * Note: will be enabled by default if ZSTD_c_windowLog >= 128 MB and + * compression strategy >= ZSTD_btopt (== compression level 16+) */ + ZSTD_c_ldmHashLog=161, /* Size of the table for long distance matching, as a power of 2. + * Larger values increase memory usage and compression ratio, + * but decrease compression speed. + * Must be clamped between ZSTD_HASHLOG_MIN and ZSTD_HASHLOG_MAX + * default: windowlog - 7. + * Special: value 0 means "automatically determine hashlog". */ + ZSTD_c_ldmMinMatch=162, /* Minimum match size for long distance matcher. + * Larger/too small values usually decrease compression ratio. + * Must be clamped between ZSTD_LDM_MINMATCH_MIN and ZSTD_LDM_MINMATCH_MAX. + * Special: value 0 means "use default value" (default: 64). */ + ZSTD_c_ldmBucketSizeLog=163, /* Log size of each bucket in the LDM hash table for collision resolution. + * Larger values improve collision resolution but decrease compression speed. + * The maximum value is ZSTD_LDM_BUCKETSIZELOG_MAX. + * Special: value 0 means "use default value" (default: 3). */ + ZSTD_c_ldmHashRateLog=164, /* Frequency of inserting/looking up entries into the LDM hash table. + * Must be clamped between 0 and (ZSTD_WINDOWLOG_MAX - ZSTD_HASHLOG_MIN). + * Default is MAX(0, (windowLog - ldmHashLog)), optimizing hash table usage. + * Larger values improve compression speed. + * Deviating far from default value will likely result in a compression ratio decrease. + * Special: value 0 means "automatically determine hashRateLog". */ + + /* frame parameters */ + ZSTD_c_contentSizeFlag=200, /* Content size will be written into frame header _whenever known_ (default:1) + * Content size must be known at the beginning of compression. + * This is automatically the case when using ZSTD_compress2(), + * For streaming scenarios, content size must be provided with ZSTD_CCtx_setPledgedSrcSize() */ + ZSTD_c_checksumFlag=201, /* A 32-bits checksum of content is written at end of frame (default:0) */ + ZSTD_c_dictIDFlag=202, /* When applicable, dictionary's ID is written into frame header (default:1) */ + + /* multi-threading parameters */ + /* These parameters are only active if multi-threading is enabled (compiled with build macro ZSTD_MULTITHREAD). + * Otherwise, trying to set any other value than default (0) will be a no-op and return an error. + * In a situation where it's unknown if the linked library supports multi-threading or not, + * setting ZSTD_c_nbWorkers to any value >= 1 and consulting the return value provides a quick way to check this property. + */ + ZSTD_c_nbWorkers=400, /* Select how many threads will be spawned to compress in parallel. + * When nbWorkers >= 1, triggers asynchronous mode when invoking ZSTD_compressStream*() : + * ZSTD_compressStream*() consumes input and flush output if possible, but immediately gives back control to caller, + * while compression is performed in parallel, within worker thread(s). + * (note : a strong exception to this rule is when first invocation of ZSTD_compressStream2() sets ZSTD_e_end : + * in which case, ZSTD_compressStream2() delegates to ZSTD_compress2(), which is always a blocking call). + * More workers improve speed, but also increase memory usage. + * Default value is `0`, aka "single-threaded mode" : no worker is spawned, + * compression is performed inside Caller's thread, and all invocations are blocking */ + ZSTD_c_jobSize=401, /* Size of a compression job. This value is enforced only when nbWorkers >= 1. + * Each compression job is completed in parallel, so this value can indirectly impact the nb of active threads. + * 0 means default, which is dynamically determined based on compression parameters. + * Job size must be a minimum of overlap size, or ZSTDMT_JOBSIZE_MIN (= 512 KB), whichever is largest. + * The minimum size is automatically and transparently enforced. */ + ZSTD_c_overlapLog=402, /* Control the overlap size, as a fraction of window size. + * The overlap size is an amount of data reloaded from previous job at the beginning of a new job. + * It helps preserve compression ratio, while each job is compressed in parallel. + * This value is enforced only when nbWorkers >= 1. + * Larger values increase compression ratio, but decrease speed. + * Possible values range from 0 to 9 : + * - 0 means "default" : value will be determined by the library, depending on strategy + * - 1 means "no overlap" + * - 9 means "full overlap", using a full window size. + * Each intermediate rank increases/decreases load size by a factor 2 : + * 9: full window; 8: w/2; 7: w/4; 6: w/8; 5:w/16; 4: w/32; 3:w/64; 2:w/128; 1:no overlap; 0:default + * default value varies between 6 and 9, depending on strategy */ + + /* note : additional experimental parameters are also available + * within the experimental section of the API. + * At the time of this writing, they include : + * ZSTD_c_rsyncable + * ZSTD_c_format + * ZSTD_c_forceMaxWindow + * ZSTD_c_forceAttachDict + * ZSTD_c_literalCompressionMode + * ZSTD_c_srcSizeHint + * ZSTD_c_enableDedicatedDictSearch + * ZSTD_c_stableInBuffer + * ZSTD_c_stableOutBuffer + * ZSTD_c_blockDelimiters + * ZSTD_c_validateSequences + * ZSTD_c_blockSplitterLevel + * ZSTD_c_splitAfterSequences + * ZSTD_c_useRowMatchFinder + * ZSTD_c_prefetchCDictTables + * ZSTD_c_enableSeqProducerFallback + * ZSTD_c_maxBlockSize + * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. + * note : never ever use experimentalParam? names directly; + * also, the enums values themselves are unstable and can still change. + */ + ZSTD_c_experimentalParam1=500, + ZSTD_c_experimentalParam2=10, + ZSTD_c_experimentalParam3=1000, + ZSTD_c_experimentalParam4=1001, + ZSTD_c_experimentalParam5=1002, + /* was ZSTD_c_experimentalParam6=1003; is now ZSTD_c_targetCBlockSize */ + ZSTD_c_experimentalParam7=1004, + ZSTD_c_experimentalParam8=1005, + ZSTD_c_experimentalParam9=1006, + ZSTD_c_experimentalParam10=1007, + ZSTD_c_experimentalParam11=1008, + ZSTD_c_experimentalParam12=1009, + ZSTD_c_experimentalParam13=1010, + ZSTD_c_experimentalParam14=1011, + ZSTD_c_experimentalParam15=1012, + ZSTD_c_experimentalParam16=1013, + ZSTD_c_experimentalParam17=1014, + ZSTD_c_experimentalParam18=1015, + ZSTD_c_experimentalParam19=1016, + ZSTD_c_experimentalParam20=1017 +} ZSTD_cParameter; + +typedef struct { + size_t error; + int lowerBound; + int upperBound; +} ZSTD_bounds; + +/*! ZSTD_cParam_getBounds() : + * All parameters must belong to an interval with lower and upper bounds, + * otherwise they will either trigger an error or be automatically clamped. + * @return : a structure, ZSTD_bounds, which contains + * - an error status field, which must be tested using ZSTD_isError() + * - lower and upper bounds, both inclusive + */ +ZSTDLIB_API ZSTD_bounds ZSTD_cParam_getBounds(ZSTD_cParameter cParam); + +/*! ZSTD_CCtx_setParameter() : + * Set one compression parameter, selected by enum ZSTD_cParameter. + * All parameters have valid bounds. Bounds can be queried using ZSTD_cParam_getBounds(). + * Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). + * Setting a parameter is generally only possible during frame initialization (before starting compression). + * Exception : when using multi-threading mode (nbWorkers >= 1), + * the following parameters can be updated _during_ compression (within same frame): + * => compressionLevel, hashLog, chainLog, searchLog, minMatch, targetLength and strategy. + * new parameters will be active for next job only (after a flush()). + * @return : an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int value); + +/*! ZSTD_CCtx_setPledgedSrcSize() : + * Total input data size to be compressed as a single frame. + * Value will be written in frame header, unless if explicitly forbidden using ZSTD_c_contentSizeFlag. + * This value will also be controlled at end of frame, and trigger an error if not respected. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : pledgedSrcSize==0 actually means zero, aka an empty frame. + * In order to mean "unknown content size", pass constant ZSTD_CONTENTSIZE_UNKNOWN. + * ZSTD_CONTENTSIZE_UNKNOWN is default value for any new frame. + * Note 2 : pledgedSrcSize is only valid once, for the next frame. + * It's discarded at the end of the frame, and replaced by ZSTD_CONTENTSIZE_UNKNOWN. + * Note 3 : Whenever all input data is provided and consumed in a single round, + * for example with ZSTD_compress2(), + * or invoking immediately ZSTD_compressStream2(,,,ZSTD_e_end), + * this value is automatically overridden by srcSize instead. + */ +ZSTDLIB_API size_t ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx* cctx, unsigned long long pledgedSrcSize); + +typedef enum { + ZSTD_reset_session_only = 1, + ZSTD_reset_parameters = 2, + ZSTD_reset_session_and_parameters = 3 +} ZSTD_ResetDirective; + +/*! ZSTD_CCtx_reset() : + * There are 2 different things that can be reset, independently or jointly : + * - The session : will stop compressing current frame, and make CCtx ready to start a new one. + * Useful after an error, or to interrupt any ongoing compression. + * Any internal data not yet flushed is cancelled. + * Compression parameters and dictionary remain unchanged. + * They will be used to compress next frame. + * Resetting session never fails. + * - The parameters : changes all parameters back to "default". + * This also removes any reference to any dictionary or external sequence producer. + * Parameters can only be changed between 2 sessions (i.e. no compression is currently ongoing) + * otherwise the reset fails, and function returns an error value (which can be tested using ZSTD_isError()) + * - Both : similar to resetting the session, followed by resetting parameters. + */ +ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset); + +/*! ZSTD_compress2() : + * Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API. + * (note that this entry point doesn't even expose a compression level parameter). + * ZSTD_compress2() always starts a new frame. + * Should cctx hold data from a previously unfinished frame, everything about it is forgotten. + * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() + * - The function is always blocking, returns when compression is completed. + * NOTE: Providing `dstCapacity >= ZSTD_compressBound(srcSize)` guarantees that zstd will have + * enough space to successfully compress the data, though it is possible it fails for other reasons. + * @return : compressed size written into `dst` (<= `dstCapacity), + * or an error code if it fails (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_compress2( ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize); + + +/*********************************************** +* Advanced decompression API (Requires v1.4.0+) +************************************************/ + +/* The advanced API pushes parameters one by one into an existing DCtx context. + * Parameters are sticky, and remain valid for all following frames + * using the same DCtx context. + * It's possible to reset parameters to default values using ZSTD_DCtx_reset(). + * Note : This API is compatible with existing ZSTD_decompressDCtx() and ZSTD_decompressStream(). + * Therefore, no new decompression function is necessary. + */ + +typedef enum { + + ZSTD_d_windowLogMax=100, /* Select a size limit (in power of 2) beyond which + * the streaming API will refuse to allocate memory buffer + * in order to protect the host from unreasonable memory requirements. + * This parameter is only useful in streaming mode, since no internal buffer is allocated in single-pass mode. + * By default, a decompression context accepts window sizes <= (1 << ZSTD_WINDOWLOG_LIMIT_DEFAULT). + * Special: value 0 means "use default maximum windowLog". */ + + /* note : additional experimental parameters are also available + * within the experimental section of the API. + * At the time of this writing, they include : + * ZSTD_d_format + * ZSTD_d_stableOutBuffer + * ZSTD_d_forceIgnoreChecksum + * ZSTD_d_refMultipleDDicts + * ZSTD_d_disableHuffmanAssembly + * ZSTD_d_maxBlockSize + * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. + * note : never ever use experimentalParam? names directly + */ + ZSTD_d_experimentalParam1=1000, + ZSTD_d_experimentalParam2=1001, + ZSTD_d_experimentalParam3=1002, + ZSTD_d_experimentalParam4=1003, + ZSTD_d_experimentalParam5=1004, + ZSTD_d_experimentalParam6=1005 + +} ZSTD_dParameter; + +/*! ZSTD_dParam_getBounds() : + * All parameters must belong to an interval with lower and upper bounds, + * otherwise they will either trigger an error or be automatically clamped. + * @return : a structure, ZSTD_bounds, which contains + * - an error status field, which must be tested using ZSTD_isError() + * - both lower and upper bounds, inclusive + */ +ZSTDLIB_API ZSTD_bounds ZSTD_dParam_getBounds(ZSTD_dParameter dParam); + +/*! ZSTD_DCtx_setParameter() : + * Set one compression parameter, selected by enum ZSTD_dParameter. + * All parameters have valid bounds. Bounds can be queried using ZSTD_dParam_getBounds(). + * Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). + * Setting a parameter is only possible during frame initialization (before starting decompression). + * @return : 0, or an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_API size_t ZSTD_DCtx_setParameter(ZSTD_DCtx* dctx, ZSTD_dParameter param, int value); + +/*! ZSTD_DCtx_reset() : + * Return a DCtx to clean state. + * Session and parameters can be reset jointly or separately. + * Parameters can only be reset when no active frame is being decompressed. + * @return : 0, or an error code, which can be tested with ZSTD_isError() + */ +ZSTDLIB_API size_t ZSTD_DCtx_reset(ZSTD_DCtx* dctx, ZSTD_ResetDirective reset); + + +/**************************** +* Streaming +****************************/ + +typedef struct ZSTD_inBuffer_s { + const void* src; /**< start of input buffer */ + size_t size; /**< size of input buffer */ + size_t pos; /**< position where reading stopped. Will be updated. Necessarily 0 <= pos <= size */ +} ZSTD_inBuffer; + +typedef struct ZSTD_outBuffer_s { + void* dst; /**< start of output buffer */ + size_t size; /**< size of output buffer */ + size_t pos; /**< position where writing stopped. Will be updated. Necessarily 0 <= pos <= size */ +} ZSTD_outBuffer; + + + +/*-*********************************************************************** +* Streaming compression - HowTo +* +* A ZSTD_CStream object is required to track streaming operation. +* Use ZSTD_createCStream() and ZSTD_freeCStream() to create/release resources. +* ZSTD_CStream objects can be reused multiple times on consecutive compression operations. +* It is recommended to reuse ZSTD_CStream since it will play nicer with system's memory, by re-using already allocated memory. +* +* For parallel execution, use one separate ZSTD_CStream per thread. +* +* note : since v1.3.0, ZSTD_CStream and ZSTD_CCtx are the same thing. +* +* Parameters are sticky : when starting a new compression on the same context, +* it will reuse the same sticky parameters as previous compression session. +* When in doubt, it's recommended to fully initialize the context before usage. +* Use ZSTD_CCtx_reset() to reset the context and ZSTD_CCtx_setParameter(), +* ZSTD_CCtx_setPledgedSrcSize(), or ZSTD_CCtx_loadDictionary() and friends to +* set more specific parameters, the pledged source size, or load a dictionary. +* +* Use ZSTD_compressStream2() with ZSTD_e_continue as many times as necessary to +* consume input stream. The function will automatically update both `pos` +* fields within `input` and `output`. +* Note that the function may not consume the entire input, for example, because +* the output buffer is already full, in which case `input.pos < input.size`. +* The caller must check if input has been entirely consumed. +* If not, the caller must make some room to receive more compressed data, +* and then present again remaining input data. +* note: ZSTD_e_continue is guaranteed to make some forward progress when called, +* but doesn't guarantee maximal forward progress. This is especially relevant +* when compressing with multiple threads. The call won't block if it can +* consume some input, but if it can't it will wait for some, but not all, +* output to be flushed. +* @return : provides a minimum amount of data remaining to be flushed from internal buffers +* or an error code, which can be tested using ZSTD_isError(). +* +* At any moment, it's possible to flush whatever data might remain stuck within internal buffer, +* using ZSTD_compressStream2() with ZSTD_e_flush. `output->pos` will be updated. +* Note that, if `output->size` is too small, a single invocation with ZSTD_e_flush might not be enough (return code > 0). +* In which case, make some room to receive more compressed data, and call again ZSTD_compressStream2() with ZSTD_e_flush. +* You must continue calling ZSTD_compressStream2() with ZSTD_e_flush until it returns 0, at which point you can change the +* operation. +* note: ZSTD_e_flush will flush as much output as possible, meaning when compressing with multiple threads, it will +* block until the flush is complete or the output buffer is full. +* @return : 0 if internal buffers are entirely flushed, +* >0 if some data still present within internal buffer (the value is minimal estimation of remaining size), +* or an error code, which can be tested using ZSTD_isError(). +* +* Calling ZSTD_compressStream2() with ZSTD_e_end instructs to finish a frame. +* It will perform a flush and write frame epilogue. +* The epilogue is required for decoders to consider a frame completed. +* flush operation is the same, and follows same rules as calling ZSTD_compressStream2() with ZSTD_e_flush. +* You must continue calling ZSTD_compressStream2() with ZSTD_e_end until it returns 0, at which point you are free to +* start a new frame. +* note: ZSTD_e_end will flush as much output as possible, meaning when compressing with multiple threads, it will +* block until the flush is complete or the output buffer is full. +* @return : 0 if frame fully completed and fully flushed, +* >0 if some data still present within internal buffer (the value is minimal estimation of remaining size), +* or an error code, which can be tested using ZSTD_isError(). +* +* *******************************************************************/ + +typedef ZSTD_CCtx ZSTD_CStream; /**< CCtx and CStream are now effectively same object (>= v1.3.0) */ + /* Continue to distinguish them for compatibility with older versions <= v1.2.0 */ +/*===== ZSTD_CStream management functions =====*/ +ZSTDLIB_API ZSTD_CStream* ZSTD_createCStream(void); +ZSTDLIB_API size_t ZSTD_freeCStream(ZSTD_CStream* zcs); /* accept NULL pointer */ + +/*===== Streaming compression functions =====*/ +typedef enum { + ZSTD_e_continue=0, /* collect more data, encoder decides when to output compressed result, for optimal compression ratio */ + ZSTD_e_flush=1, /* flush any data provided so far, + * it creates (at least) one new block, that can be decoded immediately on reception; + * frame will continue: any future data can still reference previously compressed data, improving compression. + * note : multithreaded compression will block to flush as much output as possible. */ + ZSTD_e_end=2 /* flush any remaining data _and_ close current frame. + * note that frame is only closed after compressed data is fully flushed (return value == 0). + * After that point, any additional data starts a new frame. + * note : each frame is independent (does not reference any content from previous frame). + : note : multithreaded compression will block to flush as much output as possible. */ +} ZSTD_EndDirective; + +/*! ZSTD_compressStream2() : Requires v1.4.0+ + * Behaves about the same as ZSTD_compressStream, with additional control on end directive. + * - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() + * - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode) + * - output->pos must be <= dstCapacity, input->pos must be <= srcSize + * - output->pos and input->pos will be updated. They are guaranteed to remain below their respective limit. + * - endOp must be a valid directive + * - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller. + * - When nbWorkers>=1, function is non-blocking : it copies a portion of input, distributes jobs to internal worker threads, flush to output whatever is available, + * and then immediately returns, just indicating that there is some data remaining to be flushed. + * The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte. + * - Exception : if the first call requests a ZSTD_e_end directive and provides enough dstCapacity, the function delegates to ZSTD_compress2() which is always blocking. + * - @return provides a minimum amount of data remaining to be flushed from internal buffers + * or an error code, which can be tested using ZSTD_isError(). + * if @return != 0, flush is not fully completed, there is still some data left within internal buffers. + * This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers. + * For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed. + * - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0), + * only ZSTD_e_end or ZSTD_e_flush operations are allowed. + * Before starting a new compression job, or changing compression parameters, + * it is required to fully flush internal buffers. + * - note: if an operation ends with an error, it may leave @cctx in an undefined state. + * Therefore, it's UB to invoke ZSTD_compressStream2() of ZSTD_compressStream() on such a state. + * In order to be re-employed after an error, a state must be reset, + * which can be done explicitly (ZSTD_CCtx_reset()), + * or is sometimes implied by methods starting a new compression job (ZSTD_initCStream(), ZSTD_compressCCtx()) + */ +ZSTDLIB_API size_t ZSTD_compressStream2( ZSTD_CCtx* cctx, + ZSTD_outBuffer* output, + ZSTD_inBuffer* input, + ZSTD_EndDirective endOp); + + +/* These buffer sizes are softly recommended. + * They are not required : ZSTD_compressStream*() happily accepts any buffer size, for both input and output. + * Respecting the recommended size just makes it a bit easier for ZSTD_compressStream*(), + * reducing the amount of memory shuffling and buffering, resulting in minor performance savings. + * + * However, note that these recommendations are from the perspective of a C caller program. + * If the streaming interface is invoked from some other language, + * especially managed ones such as Java or Go, through a foreign function interface such as jni or cgo, + * a major performance rule is to reduce crossing such interface to an absolute minimum. + * It's not rare that performance ends being spent more into the interface, rather than compression itself. + * In which cases, prefer using large buffers, as large as practical, + * for both input and output, to reduce the nb of roundtrips. + */ +ZSTDLIB_API size_t ZSTD_CStreamInSize(void); /**< recommended size for input buffer */ +ZSTDLIB_API size_t ZSTD_CStreamOutSize(void); /**< recommended size for output buffer. Guarantee to successfully flush at least one complete compressed block. */ + + +/* ***************************************************************************** + * This following is a legacy streaming API, available since v1.0+ . + * It can be replaced by ZSTD_CCtx_reset() and ZSTD_compressStream2(). + * It is redundant, but remains fully supported. + ******************************************************************************/ + +/*! + * Equivalent to: + * + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * + * Note that ZSTD_initCStream() clears any previously set dictionary. Use the new API + * to compress with a dictionary. + */ +ZSTDLIB_API size_t ZSTD_initCStream(ZSTD_CStream* zcs, int compressionLevel); +/*! + * Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue). + * NOTE: The return value is different. ZSTD_compressStream() returns a hint for + * the next read size (if non-zero and not an error). ZSTD_compressStream2() + * returns the minimum nb of bytes left to flush (if non-zero and not an error). + */ +ZSTDLIB_API size_t ZSTD_compressStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output, ZSTD_inBuffer* input); +/*! Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_flush). */ +ZSTDLIB_API size_t ZSTD_flushStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output); +/*! Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_end). */ +ZSTDLIB_API size_t ZSTD_endStream(ZSTD_CStream* zcs, ZSTD_outBuffer* output); + + +/*-*************************************************************************** +* Streaming decompression - HowTo +* +* A ZSTD_DStream object is required to track streaming operations. +* Use ZSTD_createDStream() and ZSTD_freeDStream() to create/release resources. +* ZSTD_DStream objects can be re-employed multiple times. +* +* Use ZSTD_initDStream() to start a new decompression operation. +* @return : recommended first input size +* Alternatively, use advanced API to set specific properties. +* +* Use ZSTD_decompressStream() repetitively to consume your input. +* The function will update both `pos` fields. +* If `input.pos < input.size`, some input has not been consumed. +* It's up to the caller to present again remaining data. +* +* The function tries to flush all data decoded immediately, respecting output buffer size. +* If `output.pos < output.size`, decoder has flushed everything it could. +* +* However, when `output.pos == output.size`, it's more difficult to know. +* If @return > 0, the frame is not complete, meaning +* either there is still some data left to flush within internal buffers, +* or there is more input to read to complete the frame (or both). +* In which case, call ZSTD_decompressStream() again to flush whatever remains in the buffer. +* Note : with no additional input provided, amount of data flushed is necessarily <= ZSTD_BLOCKSIZE_MAX. +* @return : 0 when a frame is completely decoded and fully flushed, +* or an error code, which can be tested using ZSTD_isError(), +* or any other value > 0, which means there is still some decoding or flushing to do to complete current frame : +* the return value is a suggested next input size (just a hint for better latency) +* that will never request more than the remaining content of the compressed frame. +* *******************************************************************************/ + +typedef ZSTD_DCtx ZSTD_DStream; /**< DCtx and DStream are now effectively same object (>= v1.3.0) */ + /* For compatibility with versions <= v1.2.0, prefer differentiating them. */ +/*===== ZSTD_DStream management functions =====*/ +ZSTDLIB_API ZSTD_DStream* ZSTD_createDStream(void); +ZSTDLIB_API size_t ZSTD_freeDStream(ZSTD_DStream* zds); /* accept NULL pointer */ + +/*===== Streaming decompression functions =====*/ + +/*! ZSTD_initDStream() : + * Initialize/reset DStream state for new decompression operation. + * Call before new decompression operation using same DStream. + * + * Note : This function is redundant with the advanced API and equivalent to: + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_refDDict(zds, NULL); + */ +ZSTDLIB_API size_t ZSTD_initDStream(ZSTD_DStream* zds); + +/*! ZSTD_decompressStream() : + * Streaming decompression function. + * Call repetitively to consume full input updating it as necessary. + * Function will update both input and output `pos` fields exposing current state via these fields: + * - `input.pos < input.size`, some input remaining and caller should provide remaining input + * on the next call. + * - `output.pos < output.size`, decoder flushed internal output buffer. + * - `output.pos == output.size`, unflushed data potentially present in the internal buffers, + * check ZSTD_decompressStream() @return value, + * if > 0, invoke it again to flush remaining data to output. + * Note : with no additional input, amount of data flushed <= ZSTD_BLOCKSIZE_MAX. + * + * @return : 0 when a frame is completely decoded and fully flushed, + * or an error code, which can be tested using ZSTD_isError(), + * or any other value > 0, which means there is some decoding or flushing to do to complete current frame. + * + * Note: when an operation returns with an error code, the @zds state may be left in undefined state. + * It's UB to invoke `ZSTD_decompressStream()` on such a state. + * In order to re-use such a state, it must be first reset, + * which can be done explicitly (`ZSTD_DCtx_reset()`), + * or is implied for operations starting some new decompression job (`ZSTD_initDStream`, `ZSTD_decompressDCtx()`, `ZSTD_decompress_usingDict()`) + */ +ZSTDLIB_API size_t ZSTD_decompressStream(ZSTD_DStream* zds, ZSTD_outBuffer* output, ZSTD_inBuffer* input); + +ZSTDLIB_API size_t ZSTD_DStreamInSize(void); /*!< recommended size for input buffer */ +ZSTDLIB_API size_t ZSTD_DStreamOutSize(void); /*!< recommended size for output buffer. Guarantee to successfully flush at least one complete block in all circumstances. */ + + +/************************** +* Simple dictionary API +***************************/ +/*! ZSTD_compress_usingDict() : + * Compression at an explicit compression level using a Dictionary. + * A dictionary can be any arbitrary data segment (also called a prefix), + * or a buffer with specified information (see zdict.h). + * Note : This function loads the dictionary, resulting in significant startup delay. + * It's intended for a dictionary used only once. + * Note 2 : When `dict == NULL || dictSize < 8` no dictionary is used. */ +ZSTDLIB_API size_t ZSTD_compress_usingDict(ZSTD_CCtx* ctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize, + int compressionLevel); + +/*! ZSTD_decompress_usingDict() : + * Decompression using a known Dictionary. + * Dictionary must be identical to the one used during compression. + * Note : This function loads the dictionary, resulting in significant startup delay. + * It's intended for a dictionary used only once. + * Note : When `dict == NULL || dictSize < 8` no dictionary is used. */ +ZSTDLIB_API size_t ZSTD_decompress_usingDict(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize); + + +/*********************************** + * Bulk processing dictionary API + **********************************/ +typedef struct ZSTD_CDict_s ZSTD_CDict; + +/*! ZSTD_createCDict() : + * When compressing multiple messages or blocks using the same dictionary, + * it's recommended to digest the dictionary only once, since it's a costly operation. + * ZSTD_createCDict() will create a state from digesting a dictionary. + * The resulting state can be used for future compression operations with very limited startup cost. + * ZSTD_CDict can be created once and shared by multiple threads concurrently, since its usage is read-only. + * @dictBuffer can be released after ZSTD_CDict creation, because its content is copied within CDict. + * Note 1 : Consider experimental function `ZSTD_createCDict_byReference()` if you prefer to not duplicate @dictBuffer content. + * Note 2 : A ZSTD_CDict can be created from an empty @dictBuffer, + * in which case the only thing that it transports is the @compressionLevel. + * This can be useful in a pipeline featuring ZSTD_compress_usingCDict() exclusively, + * expecting a ZSTD_CDict parameter with any data, including those without a known dictionary. */ +ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict(const void* dictBuffer, size_t dictSize, + int compressionLevel); + +/*! ZSTD_freeCDict() : + * Function frees memory allocated by ZSTD_createCDict(). + * If a NULL pointer is passed, no operation is performed. */ +ZSTDLIB_API size_t ZSTD_freeCDict(ZSTD_CDict* CDict); + +/*! ZSTD_compress_usingCDict() : + * Compression using a digested Dictionary. + * Recommended when same dictionary is used multiple times. + * Note : compression level is _decided at dictionary creation time_, + * and frame parameters are hardcoded (dictID=yes, contentSize=yes, checksum=no) */ +ZSTDLIB_API size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_CDict* cdict); + + +typedef struct ZSTD_DDict_s ZSTD_DDict; + +/*! ZSTD_createDDict() : + * Create a digested dictionary, ready to start decompression operation without startup delay. + * dictBuffer can be released after DDict creation, as its content is copied inside DDict. */ +ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict(const void* dictBuffer, size_t dictSize); + +/*! ZSTD_freeDDict() : + * Function frees memory allocated with ZSTD_createDDict() + * If a NULL pointer is passed, no operation is performed. */ +ZSTDLIB_API size_t ZSTD_freeDDict(ZSTD_DDict* ddict); + +/*! ZSTD_decompress_usingDDict() : + * Decompression using a digested Dictionary. + * Recommended when same dictionary is used multiple times. */ +ZSTDLIB_API size_t ZSTD_decompress_usingDDict(ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_DDict* ddict); + + +/******************************** + * Dictionary helper functions + *******************************/ + +/*! ZSTD_getDictID_fromDict() : Requires v1.4.0+ + * Provides the dictID stored within dictionary. + * if @return == 0, the dictionary is not conformant with Zstandard specification. + * It can still be loaded, but as a content-only dictionary. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromDict(const void* dict, size_t dictSize); + +/*! ZSTD_getDictID_fromCDict() : Requires v1.5.0+ + * Provides the dictID of the dictionary loaded into `cdict`. + * If @return == 0, the dictionary is not conformant to Zstandard specification, or empty. + * Non-conformant dictionaries can still be loaded, but as content-only dictionaries. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromCDict(const ZSTD_CDict* cdict); + +/*! ZSTD_getDictID_fromDDict() : Requires v1.4.0+ + * Provides the dictID of the dictionary loaded into `ddict`. + * If @return == 0, the dictionary is not conformant to Zstandard specification, or empty. + * Non-conformant dictionaries can still be loaded, but as content-only dictionaries. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromDDict(const ZSTD_DDict* ddict); + +/*! ZSTD_getDictID_fromFrame() : Requires v1.4.0+ + * Provides the dictID required to decompressed the frame stored within `src`. + * If @return == 0, the dictID could not be decoded. + * This could for one of the following reasons : + * - The frame does not require a dictionary to be decoded (most common case). + * - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden piece of information. + * Note : this use case also happens when using a non-conformant dictionary. + * - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`). + * - This is not a Zstandard frame. + * When identifying the exact failure cause, it's possible to use ZSTD_getFrameHeader(), which will provide a more precise error code. */ +ZSTDLIB_API unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize); + + +/******************************************************************************* + * Advanced dictionary and prefix API (Requires v1.4.0+) + * + * This API allows dictionaries to be used with ZSTD_compress2(), + * ZSTD_compressStream2(), and ZSTD_decompressDCtx(). + * Dictionaries are sticky, they remain valid when same context is reused, + * they only reset when the context is reset + * with ZSTD_reset_parameters or ZSTD_reset_session_and_parameters. + * In contrast, Prefixes are single-use. + ******************************************************************************/ + + +/*! ZSTD_CCtx_loadDictionary() : Requires v1.4.0+ + * Create an internal CDict from `dict` buffer. + * Decompression will have to use same dictionary. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: Loading a NULL (or 0-size) dictionary invalidates previous dictionary, + * meaning "return to no-dictionary mode". + * Note 1 : Dictionary is sticky, it will be used for all future compressed frames, + * until parameters are reset, a new dictionary is loaded, or the dictionary + * is explicitly invalidated by loading a NULL dictionary. + * Note 2 : Loading a dictionary involves building tables. + * It's also a CPU consuming operation, with non-negligible impact on latency. + * Tables are dependent on compression parameters, and for this reason, + * compression parameters can no longer be changed after loading a dictionary. + * Note 3 :`dict` content will be copied internally. + * Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead. + * In such a case, dictionary buffer must outlive its users. + * Note 4 : Use ZSTD_CCtx_loadDictionary_advanced() + * to precisely select how dictionary content must be interpreted. + * Note 5 : This method does not benefit from LDM (long distance mode). + * If you want to employ LDM on some large dictionary content, + * prefer employing ZSTD_CCtx_refPrefix() described below. + */ +ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); + +/*! ZSTD_CCtx_refCDict() : Requires v1.4.0+ + * Reference a prepared dictionary, to be used for all future compressed frames. + * Note that compression parameters are enforced from within CDict, + * and supersede any compression parameter previously set within CCtx. + * The parameters ignored are labelled as "superseded-by-cdict" in the ZSTD_cParameter enum docs. + * The ignored parameters will be used again if the CCtx is returned to no-dictionary mode. + * The dictionary will remain valid for future compressed frames using same CCtx. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special : Referencing a NULL CDict means "return to no-dictionary mode". + * Note 1 : Currently, only one dictionary can be managed. + * Referencing a new dictionary effectively "discards" any previous one. + * Note 2 : CDict is just referenced, its lifetime must outlive its usage within CCtx. */ +ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); + +/*! ZSTD_CCtx_refPrefix() : Requires v1.4.0+ + * Reference a prefix (single-usage dictionary) for next compressed frame. + * A prefix is **only used once**. Tables are discarded at end of frame (ZSTD_e_end). + * Decompression will need same prefix to properly regenerate data. + * Compressing with a prefix is similar in outcome as performing a diff and compressing it, + * but performs much faster, especially during decompression (compression speed is tunable with compression level). + * This method is compatible with LDM (long distance mode). + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary + * Note 1 : Prefix buffer is referenced. It **must** outlive compression. + * Its content must remain unmodified during compression. + * Note 2 : If the intention is to diff some large src data blob with some prior version of itself, + * ensure that the window size is large enough to contain the entire source. + * See ZSTD_c_windowLog. + * Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters. + * It's a CPU consuming operation, with non-negligible impact on latency. + * If there is a need to use the same prefix multiple times, consider loadDictionary instead. + * Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent). + * Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation. */ +ZSTDLIB_API size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, + const void* prefix, size_t prefixSize); + +/*! ZSTD_DCtx_loadDictionary() : Requires v1.4.0+ + * Create an internal DDict from dict buffer, to be used to decompress all future frames. + * The dictionary remains valid for all future frames, until explicitly invalidated, or + * a new dictionary is loaded. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special : Adding a NULL (or 0-size) dictionary invalidates any previous dictionary, + * meaning "return to no-dictionary mode". + * Note 1 : Loading a dictionary involves building tables, + * which has a non-negligible impact on CPU usage and latency. + * It's recommended to "load once, use many times", to amortize the cost + * Note 2 :`dict` content will be copied internally, so `dict` can be released after loading. + * Use ZSTD_DCtx_loadDictionary_byReference() to reference dictionary content instead. + * Note 3 : Use ZSTD_DCtx_loadDictionary_advanced() to take control of + * how dictionary content is loaded and interpreted. + */ +ZSTDLIB_API size_t ZSTD_DCtx_loadDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); + +/*! ZSTD_DCtx_refDDict() : Requires v1.4.0+ + * Reference a prepared dictionary, to be used to decompress next frames. + * The dictionary remains active for decompression of future frames using same DCtx. + * + * If called with ZSTD_d_refMultipleDDicts enabled, repeated calls of this function + * will store the DDict references in a table, and the DDict used for decompression + * will be determined at decompression time, as per the dict ID in the frame. + * The memory for the table is allocated on the first call to refDDict, and can be + * freed with ZSTD_freeDCtx(). + * + * If called with ZSTD_d_refMultipleDDicts disabled (the default), only one dictionary + * will be managed, and referencing a dictionary effectively "discards" any previous one. + * + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Special: referencing a NULL DDict means "return to no-dictionary mode". + * Note 2 : DDict is just referenced, its lifetime must outlive its usage from DCtx. + */ +ZSTDLIB_API size_t ZSTD_DCtx_refDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +/*! ZSTD_DCtx_refPrefix() : Requires v1.4.0+ + * Reference a prefix (single-usage dictionary) to decompress next frame. + * This is the reverse operation of ZSTD_CCtx_refPrefix(), + * and must use the same prefix as the one used during compression. + * Prefix is **only used once**. Reference is discarded at end of frame. + * End of frame is reached when ZSTD_decompressStream() returns 0. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + * Note 1 : Adding any prefix (including NULL) invalidates any previously set prefix or dictionary + * Note 2 : Prefix buffer is referenced. It **must** outlive decompression. + * Prefix buffer must remain unmodified up to the end of frame, + * reached when ZSTD_decompressStream() returns 0. + * Note 3 : By default, the prefix is treated as raw content (ZSTD_dct_rawContent). + * Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode (Experimental section) + * Note 4 : Referencing a raw content prefix has almost no cpu nor memory cost. + * A full dictionary is more costly, as it requires building tables. + */ +ZSTDLIB_API size_t ZSTD_DCtx_refPrefix(ZSTD_DCtx* dctx, + const void* prefix, size_t prefixSize); + +/* === Memory management === */ + +/*! ZSTD_sizeof_*() : Requires v1.4.0+ + * These functions give the _current_ memory usage of selected object. + * Note that object memory usage can evolve (increase or decrease) over time. */ +ZSTDLIB_API size_t ZSTD_sizeof_CCtx(const ZSTD_CCtx* cctx); +ZSTDLIB_API size_t ZSTD_sizeof_DCtx(const ZSTD_DCtx* dctx); +ZSTDLIB_API size_t ZSTD_sizeof_CStream(const ZSTD_CStream* zcs); +ZSTDLIB_API size_t ZSTD_sizeof_DStream(const ZSTD_DStream* zds); +ZSTDLIB_API size_t ZSTD_sizeof_CDict(const ZSTD_CDict* cdict); +ZSTDLIB_API size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict); + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_H_235446 */ + + +/* ************************************************************************************** + * ADVANCED AND EXPERIMENTAL FUNCTIONS + **************************************************************************************** + * The definitions in the following section are considered experimental. + * They are provided for advanced scenarios. + * They should never be used with a dynamic library, as prototypes may change in the future. + * Use them only in association with static linking. + * ***************************************************************************************/ + +#if defined(ZSTD_STATIC_LINKING_ONLY) && !defined(ZSTD_H_ZSTD_STATIC_LINKING_ONLY) +#define ZSTD_H_ZSTD_STATIC_LINKING_ONLY + +#if defined (__cplusplus) +extern "C" { +#endif + +/* This can be overridden externally to hide static symbols. */ +#ifndef ZSTDLIB_STATIC_API +# if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDLIB_STATIC_API __declspec(dllexport) ZSTDLIB_VISIBLE +# elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDLIB_STATIC_API __declspec(dllimport) ZSTDLIB_VISIBLE +# else +# define ZSTDLIB_STATIC_API ZSTDLIB_VISIBLE +# endif +#endif + +/**************************************************************************************** + * experimental API (static linking only) + **************************************************************************************** + * The following symbols and constants + * are not planned to join "stable API" status in the near future. + * They can still change in future versions. + * Some of them are planned to remain in the static_only section indefinitely. + * Some of them might be removed in the future (especially when redundant with existing stable functions) + * ***************************************************************************************/ + +#define ZSTD_FRAMEHEADERSIZE_PREFIX(format) ((format) == ZSTD_f_zstd1 ? 5 : 1) /* minimum input size required to query frame header size */ +#define ZSTD_FRAMEHEADERSIZE_MIN(format) ((format) == ZSTD_f_zstd1 ? 6 : 2) +#define ZSTD_FRAMEHEADERSIZE_MAX 18 /* can be useful for static allocation */ +#define ZSTD_SKIPPABLEHEADERSIZE 8 + +/* compression parameter bounds */ +#define ZSTD_WINDOWLOG_MAX_32 30 +#define ZSTD_WINDOWLOG_MAX_64 31 +#define ZSTD_WINDOWLOG_MAX ((int)(sizeof(size_t) == 4 ? ZSTD_WINDOWLOG_MAX_32 : ZSTD_WINDOWLOG_MAX_64)) +#define ZSTD_WINDOWLOG_MIN 10 +#define ZSTD_HASHLOG_MAX ((ZSTD_WINDOWLOG_MAX < 30) ? ZSTD_WINDOWLOG_MAX : 30) +#define ZSTD_HASHLOG_MIN 6 +#define ZSTD_CHAINLOG_MAX_32 29 +#define ZSTD_CHAINLOG_MAX_64 30 +#define ZSTD_CHAINLOG_MAX ((int)(sizeof(size_t) == 4 ? ZSTD_CHAINLOG_MAX_32 : ZSTD_CHAINLOG_MAX_64)) +#define ZSTD_CHAINLOG_MIN ZSTD_HASHLOG_MIN +#define ZSTD_SEARCHLOG_MAX (ZSTD_WINDOWLOG_MAX-1) +#define ZSTD_SEARCHLOG_MIN 1 +#define ZSTD_MINMATCH_MAX 7 /* only for ZSTD_fast, other strategies are limited to 6 */ +#define ZSTD_MINMATCH_MIN 3 /* only for ZSTD_btopt+, faster strategies are limited to 4 */ +#define ZSTD_TARGETLENGTH_MAX ZSTD_BLOCKSIZE_MAX +#define ZSTD_TARGETLENGTH_MIN 0 /* note : comparing this constant to an unsigned results in a tautological test */ +#define ZSTD_STRATEGY_MIN ZSTD_fast +#define ZSTD_STRATEGY_MAX ZSTD_btultra2 +#define ZSTD_BLOCKSIZE_MAX_MIN (1 << 10) /* The minimum valid max blocksize. Maximum blocksizes smaller than this make compressBound() inaccurate. */ + + +#define ZSTD_OVERLAPLOG_MIN 0 +#define ZSTD_OVERLAPLOG_MAX 9 + +#define ZSTD_WINDOWLOG_LIMIT_DEFAULT 27 /* by default, the streaming decoder will refuse any frame + * requiring larger than (1< 0: + * If litLength != 0: + * rep == 1 --> offset == repeat_offset_1 + * rep == 2 --> offset == repeat_offset_2 + * rep == 3 --> offset == repeat_offset_3 + * If litLength == 0: + * rep == 1 --> offset == repeat_offset_2 + * rep == 2 --> offset == repeat_offset_3 + * rep == 3 --> offset == repeat_offset_1 - 1 + * + * Note: This field is optional. ZSTD_generateSequences() will calculate the value of + * 'rep', but repeat offsets do not necessarily need to be calculated from an external + * sequence provider perspective. For example, ZSTD_compressSequences() does not + * use this 'rep' field at all (as of now). + */ +} ZSTD_Sequence; + +typedef struct { + unsigned windowLog; /**< largest match distance : larger == more compression, more memory needed during decompression */ + unsigned chainLog; /**< fully searched segment : larger == more compression, slower, more memory (useless for fast) */ + unsigned hashLog; /**< dispatch table : larger == faster, more memory */ + unsigned searchLog; /**< nb of searches : larger == more compression, slower */ + unsigned minMatch; /**< match length searched : larger == faster decompression, sometimes less compression */ + unsigned targetLength; /**< acceptable match size for optimal parser (only) : larger == more compression, slower */ + ZSTD_strategy strategy; /**< see ZSTD_strategy definition above */ +} ZSTD_compressionParameters; + +typedef struct { + int contentSizeFlag; /**< 1: content size will be in frame header (when known) */ + int checksumFlag; /**< 1: generate a 32-bits checksum using XXH64 algorithm at end of frame, for error detection */ + int noDictIDFlag; /**< 1: no dictID will be saved into frame header (dictID is only useful for dictionary compression) */ +} ZSTD_frameParameters; + +typedef struct { + ZSTD_compressionParameters cParams; + ZSTD_frameParameters fParams; +} ZSTD_parameters; + +typedef enum { + ZSTD_dct_auto = 0, /* dictionary is "full" when starting with ZSTD_MAGIC_DICTIONARY, otherwise it is "rawContent" */ + ZSTD_dct_rawContent = 1, /* ensures dictionary is always loaded as rawContent, even if it starts with ZSTD_MAGIC_DICTIONARY */ + ZSTD_dct_fullDict = 2 /* refuses to load a dictionary if it does not respect Zstandard's specification, starting with ZSTD_MAGIC_DICTIONARY */ +} ZSTD_dictContentType_e; + +typedef enum { + ZSTD_dlm_byCopy = 0, /**< Copy dictionary content internally */ + ZSTD_dlm_byRef = 1 /**< Reference dictionary content -- the dictionary buffer must outlive its users. */ +} ZSTD_dictLoadMethod_e; + +typedef enum { + ZSTD_f_zstd1 = 0, /* zstd frame format, specified in zstd_compression_format.md (default) */ + ZSTD_f_zstd1_magicless = 1 /* Variant of zstd frame format, without initial 4-bytes magic number. + * Useful to save 4 bytes per generated frame. + * Decoder cannot recognise automatically this format, requiring this instruction. */ +} ZSTD_format_e; + +typedef enum { + /* Note: this enum controls ZSTD_d_forceIgnoreChecksum */ + ZSTD_d_validateChecksum = 0, + ZSTD_d_ignoreChecksum = 1 +} ZSTD_forceIgnoreChecksum_e; + +typedef enum { + /* Note: this enum controls ZSTD_d_refMultipleDDicts */ + ZSTD_rmd_refSingleDDict = 0, + ZSTD_rmd_refMultipleDDicts = 1 +} ZSTD_refMultipleDDicts_e; + +typedef enum { + /* Note: this enum and the behavior it controls are effectively internal + * implementation details of the compressor. They are expected to continue + * to evolve and should be considered only in the context of extremely + * advanced performance tuning. + * + * Zstd currently supports the use of a CDict in three ways: + * + * - The contents of the CDict can be copied into the working context. This + * means that the compression can search both the dictionary and input + * while operating on a single set of internal tables. This makes + * the compression faster per-byte of input. However, the initial copy of + * the CDict's tables incurs a fixed cost at the beginning of the + * compression. For small compressions (< 8 KB), that copy can dominate + * the cost of the compression. + * + * - The CDict's tables can be used in-place. In this model, compression is + * slower per input byte, because the compressor has to search two sets of + * tables. However, this model incurs no start-up cost (as long as the + * working context's tables can be reused). For small inputs, this can be + * faster than copying the CDict's tables. + * + * - The CDict's tables are not used at all, and instead we use the working + * context alone to reload the dictionary and use params based on the source + * size. See ZSTD_compress_insertDictionary() and ZSTD_compress_usingDict(). + * This method is effective when the dictionary sizes are very small relative + * to the input size, and the input size is fairly large to begin with. + * + * Zstd has a simple internal heuristic that selects which strategy to use + * at the beginning of a compression. However, if experimentation shows that + * Zstd is making poor choices, it is possible to override that choice with + * this enum. + */ + ZSTD_dictDefaultAttach = 0, /* Use the default heuristic. */ + ZSTD_dictForceAttach = 1, /* Never copy the dictionary. */ + ZSTD_dictForceCopy = 2, /* Always copy the dictionary. */ + ZSTD_dictForceLoad = 3 /* Always reload the dictionary */ +} ZSTD_dictAttachPref_e; + +typedef enum { + ZSTD_lcm_auto = 0, /**< Automatically determine the compression mode based on the compression level. + * Negative compression levels will be uncompressed, and positive compression + * levels will be compressed. */ + ZSTD_lcm_huffman = 1, /**< Always attempt Huffman compression. Uncompressed literals will still be + * emitted if Huffman compression is not profitable. */ + ZSTD_lcm_uncompressed = 2 /**< Always emit uncompressed literals. */ +} ZSTD_literalCompressionMode_e; + +typedef enum { + /* Note: This enum controls features which are conditionally beneficial. + * Zstd can take a decision on whether or not to enable the feature (ZSTD_ps_auto), + * but setting the switch to ZSTD_ps_enable or ZSTD_ps_disable force enable/disable the feature. + */ + ZSTD_ps_auto = 0, /* Let the library automatically determine whether the feature shall be enabled */ + ZSTD_ps_enable = 1, /* Force-enable the feature */ + ZSTD_ps_disable = 2 /* Do not use the feature */ +} ZSTD_ParamSwitch_e; +#define ZSTD_paramSwitch_e ZSTD_ParamSwitch_e /* old name */ + +/*************************************** +* Frame header and size functions +***************************************/ + +/*! ZSTD_findDecompressedSize() : + * `src` should point to the start of a series of ZSTD encoded and/or skippable frames + * `srcSize` must be the _exact_ size of this series + * (i.e. there should be a frame boundary at `src + srcSize`) + * @return : - decompressed size of all data in all successive frames + * - if the decompressed size cannot be determined: ZSTD_CONTENTSIZE_UNKNOWN + * - if an error occurred: ZSTD_CONTENTSIZE_ERROR + * + * note 1 : decompressed size is an optional field, that may not be present, especially in streaming mode. + * When `return==ZSTD_CONTENTSIZE_UNKNOWN`, data to decompress could be any size. + * In which case, it's necessary to use streaming mode to decompress data. + * note 2 : decompressed size is always present when compression is done with ZSTD_compress() + * note 3 : decompressed size can be very large (64-bits value), + * potentially larger than what local system can handle as a single memory segment. + * In which case, it's necessary to use streaming mode to decompress data. + * note 4 : If source is untrusted, decompressed size could be wrong or intentionally modified. + * Always ensure result fits within application's authorized limits. + * Each application can set its own limits. + * note 5 : ZSTD_findDecompressedSize handles multiple frames, and so it must traverse the input to + * read each contained frame header. This is fast as most of the data is skipped, + * however it does mean that all frame data must be present and valid. */ +ZSTDLIB_STATIC_API unsigned long long ZSTD_findDecompressedSize(const void* src, size_t srcSize); + +/*! ZSTD_decompressBound() : + * `src` should point to the start of a series of ZSTD encoded and/or skippable frames + * `srcSize` must be the _exact_ size of this series + * (i.e. there should be a frame boundary at `src + srcSize`) + * @return : - upper-bound for the decompressed size of all data in all successive frames + * - if an error occurred: ZSTD_CONTENTSIZE_ERROR + * + * note 1 : an error can occur if `src` contains an invalid or incorrectly formatted frame. + * note 2 : the upper-bound is exact when the decompressed size field is available in every ZSTD encoded frame of `src`. + * in this case, `ZSTD_findDecompressedSize` and `ZSTD_decompressBound` return the same value. + * note 3 : when the decompressed size field isn't available, the upper-bound for that frame is calculated by: + * upper-bound = # blocks * min(128 KB, Window_Size) + */ +ZSTDLIB_STATIC_API unsigned long long ZSTD_decompressBound(const void* src, size_t srcSize); + +/*! ZSTD_frameHeaderSize() : + * srcSize must be large enough, aka >= ZSTD_FRAMEHEADERSIZE_PREFIX. + * @return : size of the Frame Header, + * or an error code (if srcSize is too small) */ +ZSTDLIB_STATIC_API size_t ZSTD_frameHeaderSize(const void* src, size_t srcSize); + +typedef enum { ZSTD_frame, ZSTD_skippableFrame } ZSTD_FrameType_e; +#define ZSTD_frameType_e ZSTD_FrameType_e /* old name */ +typedef struct { + unsigned long long frameContentSize; /* if == ZSTD_CONTENTSIZE_UNKNOWN, it means this field is not available. 0 means "empty" */ + unsigned long long windowSize; /* can be very large, up to <= frameContentSize */ + unsigned blockSizeMax; + ZSTD_FrameType_e frameType; /* if == ZSTD_skippableFrame, frameContentSize is the size of skippable content */ + unsigned headerSize; + unsigned dictID; /* for ZSTD_skippableFrame, contains the skippable magic variant [0-15] */ + unsigned checksumFlag; + unsigned _reserved1; + unsigned _reserved2; +} ZSTD_FrameHeader; +#define ZSTD_frameHeader ZSTD_FrameHeader /* old name */ + +/*! ZSTD_getFrameHeader() : + * decode Frame Header into `zfhPtr`, or requires larger `srcSize`. + * @return : 0 => header is complete, `zfhPtr` is correctly filled, + * >0 => `srcSize` is too small, @return value is the wanted `srcSize` amount, `zfhPtr` is not filled, + * or an error code, which can be tested using ZSTD_isError() */ +ZSTDLIB_STATIC_API size_t ZSTD_getFrameHeader(ZSTD_FrameHeader* zfhPtr, const void* src, size_t srcSize); +/*! ZSTD_getFrameHeader_advanced() : + * same as ZSTD_getFrameHeader(), + * with added capability to select a format (like ZSTD_f_zstd1_magicless) */ +ZSTDLIB_STATIC_API size_t ZSTD_getFrameHeader_advanced(ZSTD_FrameHeader* zfhPtr, const void* src, size_t srcSize, ZSTD_format_e format); + +/*! ZSTD_decompressionMargin() : + * Zstd supports in-place decompression, where the input and output buffers overlap. + * In this case, the output buffer must be at least (Margin + Output_Size) bytes large, + * and the input buffer must be at the end of the output buffer. + * + * _______________________ Output Buffer ________________________ + * | | + * | ____ Input Buffer ____| + * | | | + * v v v + * |---------------------------------------|-----------|----------| + * ^ ^ ^ + * |___________________ Output_Size ___________________|_ Margin _| + * + * NOTE: See also ZSTD_DECOMPRESSION_MARGIN(). + * NOTE: This applies only to single-pass decompression through ZSTD_decompress() or + * ZSTD_decompressDCtx(). + * NOTE: This function supports multi-frame input. + * + * @param src The compressed frame(s) + * @param srcSize The size of the compressed frame(s) + * @returns The decompression margin or an error that can be checked with ZSTD_isError(). + */ +ZSTDLIB_STATIC_API size_t ZSTD_decompressionMargin(const void* src, size_t srcSize); + +/*! ZSTD_DECOMPRESS_MARGIN() : + * Similar to ZSTD_decompressionMargin(), but instead of computing the margin from + * the compressed frame, compute it from the original size and the blockSizeLog. + * See ZSTD_decompressionMargin() for details. + * + * WARNING: This macro does not support multi-frame input, the input must be a single + * zstd frame. If you need that support use the function, or implement it yourself. + * + * @param originalSize The original uncompressed size of the data. + * @param blockSize The block size == MIN(windowSize, ZSTD_BLOCKSIZE_MAX). + * Unless you explicitly set the windowLog smaller than + * ZSTD_BLOCKSIZELOG_MAX you can just use ZSTD_BLOCKSIZE_MAX. + */ +#define ZSTD_DECOMPRESSION_MARGIN(originalSize, blockSize) ((size_t)( \ + ZSTD_FRAMEHEADERSIZE_MAX /* Frame header */ + \ + 4 /* checksum */ + \ + ((originalSize) == 0 ? 0 : 3 * (((originalSize) + (blockSize) - 1) / blockSize)) /* 3 bytes per block */ + \ + (blockSize) /* One block of margin */ \ + )) + +typedef enum { + ZSTD_sf_noBlockDelimiters = 0, /* ZSTD_Sequence[] has no block delimiters, just sequences */ + ZSTD_sf_explicitBlockDelimiters = 1 /* ZSTD_Sequence[] contains explicit block delimiters */ +} ZSTD_SequenceFormat_e; +#define ZSTD_sequenceFormat_e ZSTD_SequenceFormat_e /* old name */ + +/*! ZSTD_sequenceBound() : + * `srcSize` : size of the input buffer + * @return : upper-bound for the number of sequences that can be generated + * from a buffer of srcSize bytes + * + * note : returns number of sequences - to get bytes, multiply by sizeof(ZSTD_Sequence). + */ +ZSTDLIB_STATIC_API size_t ZSTD_sequenceBound(size_t srcSize); + +/*! ZSTD_generateSequences() : + * WARNING: This function is meant for debugging and informational purposes ONLY! + * Its implementation is flawed, and it will be deleted in a future version. + * It is not guaranteed to succeed, as there are several cases where it will give + * up and fail. You should NOT use this function in production code. + * + * This function is deprecated, and will be removed in a future version. + * + * Generate sequences using ZSTD_compress2(), given a source buffer. + * + * @param zc The compression context to be used for ZSTD_compress2(). Set any + * compression parameters you need on this context. + * @param outSeqs The output sequences buffer of size @p outSeqsSize + * @param outSeqsCapacity The size of the output sequences buffer. + * ZSTD_sequenceBound(srcSize) is an upper bound on the number + * of sequences that can be generated. + * @param src The source buffer to generate sequences from of size @p srcSize. + * @param srcSize The size of the source buffer. + * + * Each block will end with a dummy sequence + * with offset == 0, matchLength == 0, and litLength == length of last literals. + * litLength may be == 0, and if so, then the sequence of (of: 0 ml: 0 ll: 0) + * simply acts as a block delimiter. + * + * @returns The number of sequences generated, necessarily less than + * ZSTD_sequenceBound(srcSize), or an error code that can be checked + * with ZSTD_isError(). + */ +ZSTD_DEPRECATED("For debugging only, will be replaced by ZSTD_extractSequences()") +ZSTDLIB_STATIC_API size_t +ZSTD_generateSequences(ZSTD_CCtx* zc, + ZSTD_Sequence* outSeqs, size_t outSeqsCapacity, + const void* src, size_t srcSize); + +/*! ZSTD_mergeBlockDelimiters() : + * Given an array of ZSTD_Sequence, remove all sequences that represent block delimiters/last literals + * by merging them into the literals of the next sequence. + * + * As such, the final generated result has no explicit representation of block boundaries, + * and the final last literals segment is not represented in the sequences. + * + * The output of this function can be fed into ZSTD_compressSequences() with CCtx + * setting of ZSTD_c_blockDelimiters as ZSTD_sf_noBlockDelimiters + * @return : number of sequences left after merging + */ +ZSTDLIB_STATIC_API size_t ZSTD_mergeBlockDelimiters(ZSTD_Sequence* sequences, size_t seqsSize); + +/*! ZSTD_compressSequences() : + * Compress an array of ZSTD_Sequence, associated with @src buffer, into dst. + * @src contains the entire input (not just the literals). + * If @srcSize > sum(sequence.length), the remaining bytes are considered all literals + * If a dictionary is included, then the cctx should reference the dict (see: ZSTD_CCtx_refCDict(), ZSTD_CCtx_loadDictionary(), etc.). + * The entire source is compressed into a single frame. + * + * The compression behavior changes based on cctx params. In particular: + * If ZSTD_c_blockDelimiters == ZSTD_sf_noBlockDelimiters, the array of ZSTD_Sequence is expected to contain + * no block delimiters (defined in ZSTD_Sequence). Block boundaries are roughly determined based on + * the block size derived from the cctx, and sequences may be split. This is the default setting. + * + * If ZSTD_c_blockDelimiters == ZSTD_sf_explicitBlockDelimiters, the array of ZSTD_Sequence is expected to contain + * valid block delimiters (defined in ZSTD_Sequence). Behavior is undefined if no block delimiters are provided. + * + * When ZSTD_c_blockDelimiters == ZSTD_sf_explicitBlockDelimiters, it's possible to decide generating repcodes + * using the advanced parameter ZSTD_c_repcodeResolution. Repcodes will improve compression ratio, though the benefit + * can vary greatly depending on Sequences. On the other hand, repcode resolution is an expensive operation. + * By default, it's disabled at low (<10) compression levels, and enabled above the threshold (>=10). + * ZSTD_c_repcodeResolution makes it possible to directly manage this processing in either direction. + * + * If ZSTD_c_validateSequences == 0, this function blindly accepts the Sequences provided. Invalid Sequences cause undefined + * behavior. If ZSTD_c_validateSequences == 1, then the function will detect invalid Sequences (see doc/zstd_compression_format.md for + * specifics regarding offset/matchlength requirements) and then bail out and return an error. + * + * In addition to the two adjustable experimental params, there are other important cctx params. + * - ZSTD_c_minMatch MUST be set as less than or equal to the smallest match generated by the match finder. It has a minimum value of ZSTD_MINMATCH_MIN. + * - ZSTD_c_compressionLevel accordingly adjusts the strength of the entropy coder, as it would in typical compression. + * - ZSTD_c_windowLog affects offset validation: this function will return an error at higher debug levels if a provided offset + * is larger than what the spec allows for a given window log and dictionary (if present). See: doc/zstd_compression_format.md + * + * Note: Repcodes are, as of now, always re-calculated within this function, ZSTD_Sequence.rep is effectively unused. + * Dev Note: Once ability to ingest repcodes become available, the explicit block delims mode must respect those repcodes exactly, + * and cannot emit an RLE block that disagrees with the repcode history. + * @return : final compressed size, or a ZSTD error code. + */ +ZSTDLIB_STATIC_API size_t +ZSTD_compressSequences(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const ZSTD_Sequence* inSeqs, size_t inSeqsSize, + const void* src, size_t srcSize); + + +/*! ZSTD_compressSequencesAndLiterals() : + * This is a variant of ZSTD_compressSequences() which, + * instead of receiving (src,srcSize) as input parameter, receives (literals,litSize), + * aka all the literals, already extracted and laid out into a single continuous buffer. + * This can be useful if the process generating the sequences also happens to generate the buffer of literals, + * thus skipping an extraction + caching stage. + * It's a speed optimization, useful when the right conditions are met, + * but it also features the following limitations: + * - Only supports explicit delimiter mode + * - Currently does not support Sequences validation (so input Sequences are trusted) + * - Not compatible with frame checksum, which must be disabled + * - If any block is incompressible, will fail and return an error + * - @litSize must be == sum of all @.litLength fields in @inSeqs. Any discrepancy will generate an error. + * - @litBufCapacity is the size of the underlying buffer into which literals are written, starting at address @literals. + * @litBufCapacity must be at least 8 bytes larger than @litSize. + * - @decompressedSize must be correct, and correspond to the sum of all Sequences. Any discrepancy will generate an error. + * @return : final compressed size, or a ZSTD error code. + */ +ZSTDLIB_STATIC_API size_t +ZSTD_compressSequencesAndLiterals(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const ZSTD_Sequence* inSeqs, size_t nbSequences, + const void* literals, size_t litSize, size_t litBufCapacity, + size_t decompressedSize); + + +/*! ZSTD_writeSkippableFrame() : + * Generates a zstd skippable frame containing data given by src, and writes it to dst buffer. + * + * Skippable frames begin with a 4-byte magic number. There are 16 possible choices of magic number, + * ranging from ZSTD_MAGIC_SKIPPABLE_START to ZSTD_MAGIC_SKIPPABLE_START+15. + * As such, the parameter magicVariant controls the exact skippable frame magic number variant used, + * so the magic number used will be ZSTD_MAGIC_SKIPPABLE_START + magicVariant. + * + * Returns an error if destination buffer is not large enough, if the source size is not representable + * with a 4-byte unsigned int, or if the parameter magicVariant is greater than 15 (and therefore invalid). + * + * @return : number of bytes written or a ZSTD error. + */ +ZSTDLIB_STATIC_API size_t ZSTD_writeSkippableFrame(void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + unsigned magicVariant); + +/*! ZSTD_readSkippableFrame() : + * Retrieves the content of a zstd skippable frame starting at @src, and writes it to @dst buffer. + * + * The parameter @magicVariant will receive the magicVariant that was supplied when the frame was written, + * i.e. magicNumber - ZSTD_MAGIC_SKIPPABLE_START. + * This can be NULL if the caller is not interested in the magicVariant. + * + * Returns an error if destination buffer is not large enough, or if the frame is not skippable. + * + * @return : number of bytes written or a ZSTD error. + */ +ZSTDLIB_STATIC_API size_t ZSTD_readSkippableFrame(void* dst, size_t dstCapacity, + unsigned* magicVariant, + const void* src, size_t srcSize); + +/*! ZSTD_isSkippableFrame() : + * Tells if the content of `buffer` starts with a valid Frame Identifier for a skippable frame. + */ +ZSTDLIB_STATIC_API unsigned ZSTD_isSkippableFrame(const void* buffer, size_t size); + + + +/*************************************** +* Memory management +***************************************/ + +/*! ZSTD_estimate*() : + * These functions make it possible to estimate memory usage + * of a future {D,C}Ctx, before its creation. + * This is useful in combination with ZSTD_initStatic(), + * which makes it possible to employ a static buffer for ZSTD_CCtx* state. + * + * ZSTD_estimateCCtxSize() will provide a memory budget large enough + * to compress data of any size using one-shot compression ZSTD_compressCCtx() or ZSTD_compress2() + * associated with any compression level up to max specified one. + * The estimate will assume the input may be arbitrarily large, + * which is the worst case. + * + * Note that the size estimation is specific for one-shot compression, + * it is not valid for streaming (see ZSTD_estimateCStreamSize*()) + * nor other potential ways of using a ZSTD_CCtx* state. + * + * When srcSize can be bound by a known and rather "small" value, + * this knowledge can be used to provide a tighter budget estimation + * because the ZSTD_CCtx* state will need less memory for small inputs. + * This tighter estimation can be provided by employing more advanced functions + * ZSTD_estimateCCtxSize_usingCParams(), which can be used in tandem with ZSTD_getCParams(), + * and ZSTD_estimateCCtxSize_usingCCtxParams(), which can be used in tandem with ZSTD_CCtxParams_setParameter(). + * Both can be used to estimate memory using custom compression parameters and arbitrary srcSize limits. + * + * Note : only single-threaded compression is supported. + * ZSTD_estimateCCtxSize_usingCCtxParams() will return an error code if ZSTD_c_nbWorkers is >= 1. + */ +ZSTDLIB_STATIC_API size_t ZSTD_estimateCCtxSize(int maxCompressionLevel); +ZSTDLIB_STATIC_API size_t ZSTD_estimateCCtxSize_usingCParams(ZSTD_compressionParameters cParams); +ZSTDLIB_STATIC_API size_t ZSTD_estimateCCtxSize_usingCCtxParams(const ZSTD_CCtx_params* params); +ZSTDLIB_STATIC_API size_t ZSTD_estimateDCtxSize(void); + +/*! ZSTD_estimateCStreamSize() : + * ZSTD_estimateCStreamSize() will provide a memory budget large enough for streaming compression + * using any compression level up to the max specified one. + * It will also consider src size to be arbitrarily "large", which is a worst case scenario. + * If srcSize is known to always be small, ZSTD_estimateCStreamSize_usingCParams() can provide a tighter estimation. + * ZSTD_estimateCStreamSize_usingCParams() can be used in tandem with ZSTD_getCParams() to create cParams from compressionLevel. + * ZSTD_estimateCStreamSize_usingCCtxParams() can be used in tandem with ZSTD_CCtxParams_setParameter(). Only single-threaded compression is supported. This function will return an error code if ZSTD_c_nbWorkers is >= 1. + * Note : CStream size estimation is only correct for single-threaded compression. + * ZSTD_estimateCStreamSize_usingCCtxParams() will return an error code if ZSTD_c_nbWorkers is >= 1. + * Note 2 : ZSTD_estimateCStreamSize* functions are not compatible with the Block-Level Sequence Producer API at this time. + * Size estimates assume that no external sequence producer is registered. + * + * ZSTD_DStream memory budget depends on frame's window Size. + * This information can be passed manually, using ZSTD_estimateDStreamSize, + * or deducted from a valid frame Header, using ZSTD_estimateDStreamSize_fromFrame(); + * Any frame requesting a window size larger than max specified one will be rejected. + * Note : if streaming is init with function ZSTD_init?Stream_usingDict(), + * an internal ?Dict will be created, which additional size is not estimated here. + * In this case, get total size by adding ZSTD_estimate?DictSize + */ +ZSTDLIB_STATIC_API size_t ZSTD_estimateCStreamSize(int maxCompressionLevel); +ZSTDLIB_STATIC_API size_t ZSTD_estimateCStreamSize_usingCParams(ZSTD_compressionParameters cParams); +ZSTDLIB_STATIC_API size_t ZSTD_estimateCStreamSize_usingCCtxParams(const ZSTD_CCtx_params* params); +ZSTDLIB_STATIC_API size_t ZSTD_estimateDStreamSize(size_t maxWindowSize); +ZSTDLIB_STATIC_API size_t ZSTD_estimateDStreamSize_fromFrame(const void* src, size_t srcSize); + +/*! ZSTD_estimate?DictSize() : + * ZSTD_estimateCDictSize() will bet that src size is relatively "small", and content is copied, like ZSTD_createCDict(). + * ZSTD_estimateCDictSize_advanced() makes it possible to control compression parameters precisely, like ZSTD_createCDict_advanced(). + * Note : dictionaries created by reference (`ZSTD_dlm_byRef`) are logically smaller. + */ +ZSTDLIB_STATIC_API size_t ZSTD_estimateCDictSize(size_t dictSize, int compressionLevel); +ZSTDLIB_STATIC_API size_t ZSTD_estimateCDictSize_advanced(size_t dictSize, ZSTD_compressionParameters cParams, ZSTD_dictLoadMethod_e dictLoadMethod); +ZSTDLIB_STATIC_API size_t ZSTD_estimateDDictSize(size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod); + +/*! ZSTD_initStatic*() : + * Initialize an object using a pre-allocated fixed-size buffer. + * workspace: The memory area to emplace the object into. + * Provided pointer *must be 8-bytes aligned*. + * Buffer must outlive object. + * workspaceSize: Use ZSTD_estimate*Size() to determine + * how large workspace must be to support target scenario. + * @return : pointer to object (same address as workspace, just different type), + * or NULL if error (size too small, incorrect alignment, etc.) + * Note : zstd will never resize nor malloc() when using a static buffer. + * If the object requires more memory than available, + * zstd will just error out (typically ZSTD_error_memory_allocation). + * Note 2 : there is no corresponding "free" function. + * Since workspace is allocated externally, it must be freed externally too. + * Note 3 : cParams : use ZSTD_getCParams() to convert a compression level + * into its associated cParams. + * Limitation 1 : currently not compatible with internal dictionary creation, triggered by + * ZSTD_CCtx_loadDictionary(), ZSTD_initCStream_usingDict() or ZSTD_initDStream_usingDict(). + * Limitation 2 : static cctx currently not compatible with multi-threading. + * Limitation 3 : static dctx is incompatible with legacy support. + */ +ZSTDLIB_STATIC_API ZSTD_CCtx* ZSTD_initStaticCCtx(void* workspace, size_t workspaceSize); +ZSTDLIB_STATIC_API ZSTD_CStream* ZSTD_initStaticCStream(void* workspace, size_t workspaceSize); /**< same as ZSTD_initStaticCCtx() */ + +ZSTDLIB_STATIC_API ZSTD_DCtx* ZSTD_initStaticDCtx(void* workspace, size_t workspaceSize); +ZSTDLIB_STATIC_API ZSTD_DStream* ZSTD_initStaticDStream(void* workspace, size_t workspaceSize); /**< same as ZSTD_initStaticDCtx() */ + +ZSTDLIB_STATIC_API const ZSTD_CDict* ZSTD_initStaticCDict( + void* workspace, size_t workspaceSize, + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_compressionParameters cParams); + +ZSTDLIB_STATIC_API const ZSTD_DDict* ZSTD_initStaticDDict( + void* workspace, size_t workspaceSize, + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType); + + +/*! Custom memory allocation : + * These prototypes make it possible to pass your own allocation/free functions. + * ZSTD_customMem is provided at creation time, using ZSTD_create*_advanced() variants listed below. + * All allocation/free operations will be completed using these custom variants instead of regular ones. + */ +typedef void* (*ZSTD_allocFunction) (void* opaque, size_t size); +typedef void (*ZSTD_freeFunction) (void* opaque, void* address); +typedef struct { ZSTD_allocFunction customAlloc; ZSTD_freeFunction customFree; void* opaque; } ZSTD_customMem; +static +#ifdef __GNUC__ +__attribute__((__unused__)) +#endif + +#if defined(__clang__) && __clang_major__ >= 5 +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#endif +ZSTD_customMem const ZSTD_defaultCMem = { NULL, NULL, NULL }; /**< this constant defers to stdlib's functions */ +#if defined(__clang__) && __clang_major__ >= 5 +#pragma clang diagnostic pop +#endif + +ZSTDLIB_STATIC_API ZSTD_CCtx* ZSTD_createCCtx_advanced(ZSTD_customMem customMem); +ZSTDLIB_STATIC_API ZSTD_CStream* ZSTD_createCStream_advanced(ZSTD_customMem customMem); +ZSTDLIB_STATIC_API ZSTD_DCtx* ZSTD_createDCtx_advanced(ZSTD_customMem customMem); +ZSTDLIB_STATIC_API ZSTD_DStream* ZSTD_createDStream_advanced(ZSTD_customMem customMem); + +ZSTDLIB_STATIC_API ZSTD_CDict* ZSTD_createCDict_advanced(const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_compressionParameters cParams, + ZSTD_customMem customMem); + +/*! Thread pool : + * These prototypes make it possible to share a thread pool among multiple compression contexts. + * This can limit resources for applications with multiple threads where each one uses + * a threaded compression mode (via ZSTD_c_nbWorkers parameter). + * ZSTD_createThreadPool creates a new thread pool with a given number of threads. + * Note that the lifetime of such pool must exist while being used. + * ZSTD_CCtx_refThreadPool assigns a thread pool to a context (use NULL argument value + * to use an internal thread pool). + * ZSTD_freeThreadPool frees a thread pool, accepts NULL pointer. + */ +typedef struct POOL_ctx_s ZSTD_threadPool; +ZSTDLIB_STATIC_API ZSTD_threadPool* ZSTD_createThreadPool(size_t numThreads); +ZSTDLIB_STATIC_API void ZSTD_freeThreadPool (ZSTD_threadPool* pool); /* accept NULL pointer */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_refThreadPool(ZSTD_CCtx* cctx, ZSTD_threadPool* pool); + + +/* + * This API is temporary and is expected to change or disappear in the future! + */ +ZSTDLIB_STATIC_API ZSTD_CDict* ZSTD_createCDict_advanced2( + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + const ZSTD_CCtx_params* cctxParams, + ZSTD_customMem customMem); + +ZSTDLIB_STATIC_API ZSTD_DDict* ZSTD_createDDict_advanced( + const void* dict, size_t dictSize, + ZSTD_dictLoadMethod_e dictLoadMethod, + ZSTD_dictContentType_e dictContentType, + ZSTD_customMem customMem); + + +/*************************************** +* Advanced compression functions +***************************************/ + +/*! ZSTD_createCDict_byReference() : + * Create a digested dictionary for compression + * Dictionary content is just referenced, not duplicated. + * As a consequence, `dictBuffer` **must** outlive CDict, + * and its content must remain unmodified throughout the lifetime of CDict. + * note: equivalent to ZSTD_createCDict_advanced(), with dictLoadMethod==ZSTD_dlm_byRef */ +ZSTDLIB_STATIC_API ZSTD_CDict* ZSTD_createCDict_byReference(const void* dictBuffer, size_t dictSize, int compressionLevel); + +/*! ZSTD_getCParams() : + * @return ZSTD_compressionParameters structure for a selected compression level and estimated srcSize. + * `estimatedSrcSize` value is optional, select 0 if not known */ +ZSTDLIB_STATIC_API ZSTD_compressionParameters ZSTD_getCParams(int compressionLevel, unsigned long long estimatedSrcSize, size_t dictSize); + +/*! ZSTD_getParams() : + * same as ZSTD_getCParams(), but @return a full `ZSTD_parameters` object instead of sub-component `ZSTD_compressionParameters`. + * All fields of `ZSTD_frameParameters` are set to default : contentSize=1, checksum=0, noDictID=0 */ +ZSTDLIB_STATIC_API ZSTD_parameters ZSTD_getParams(int compressionLevel, unsigned long long estimatedSrcSize, size_t dictSize); + +/*! ZSTD_checkCParams() : + * Ensure param values remain within authorized range. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()) */ +ZSTDLIB_STATIC_API size_t ZSTD_checkCParams(ZSTD_compressionParameters params); + +/*! ZSTD_adjustCParams() : + * optimize params for a given `srcSize` and `dictSize`. + * `srcSize` can be unknown, in which case use ZSTD_CONTENTSIZE_UNKNOWN. + * `dictSize` must be `0` when there is no dictionary. + * cPar can be invalid : all parameters will be clamped within valid range in the @return struct. + * This function never fails (wide contract) */ +ZSTDLIB_STATIC_API ZSTD_compressionParameters ZSTD_adjustCParams(ZSTD_compressionParameters cPar, unsigned long long srcSize, size_t dictSize); + +/*! ZSTD_CCtx_setCParams() : + * Set all parameters provided within @p cparams into the working @p cctx. + * Note : if modifying parameters during compression (MT mode only), + * note that changes to the .windowLog parameter will be ignored. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()). + * On failure, no parameters are updated. + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setCParams(ZSTD_CCtx* cctx, ZSTD_compressionParameters cparams); + +/*! ZSTD_CCtx_setFParams() : + * Set all parameters provided within @p fparams into the working @p cctx. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setFParams(ZSTD_CCtx* cctx, ZSTD_frameParameters fparams); + +/*! ZSTD_CCtx_setParams() : + * Set all parameters provided within @p params into the working @p cctx. + * @return 0 on success, or an error code (can be checked with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setParams(ZSTD_CCtx* cctx, ZSTD_parameters params); + +/*! ZSTD_compress_advanced() : + * Note : this function is now DEPRECATED. + * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_setParameter() and other parameter setters. + * This prototype will generate compilation warnings. */ +ZSTD_DEPRECATED("use ZSTD_compress2") +ZSTDLIB_STATIC_API +size_t ZSTD_compress_advanced(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const void* dict,size_t dictSize, + ZSTD_parameters params); + +/*! ZSTD_compress_usingCDict_advanced() : + * Note : this function is now DEPRECATED. + * It can be replaced by ZSTD_compress2(), in combination with ZSTD_CCtx_loadDictionary() and other parameter setters. + * This prototype will generate compilation warnings. */ +ZSTD_DEPRECATED("use ZSTD_compress2 with ZSTD_CCtx_loadDictionary") +ZSTDLIB_STATIC_API +size_t ZSTD_compress_usingCDict_advanced(ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, + const void* src, size_t srcSize, + const ZSTD_CDict* cdict, + ZSTD_frameParameters fParams); + + +/*! ZSTD_CCtx_loadDictionary_byReference() : + * Same as ZSTD_CCtx_loadDictionary(), but dictionary content is referenced, instead of being copied into CCtx. + * It saves some memory, but also requires that `dict` outlives its usage within `cctx` */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_loadDictionary_byReference(ZSTD_CCtx* cctx, const void* dict, size_t dictSize); + +/*! ZSTD_CCtx_loadDictionary_advanced() : + * Same as ZSTD_CCtx_loadDictionary(), but gives finer control over + * how to load the dictionary (by copy ? by reference ?) + * and how to interpret it (automatic ? force raw mode ? full mode only ?) */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_loadDictionary_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_CCtx_refPrefix_advanced() : + * Same as ZSTD_CCtx_refPrefix(), but gives finer control over + * how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?) */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType); + +/* === experimental parameters === */ +/* these parameters can be used with ZSTD_setParameter() + * they are not guaranteed to remain supported in the future */ + + /* Enables rsyncable mode, + * which makes compressed files more rsync friendly + * by adding periodic synchronization points to the compressed data. + * The target average block size is ZSTD_c_jobSize / 2. + * It's possible to modify the job size to increase or decrease + * the granularity of the synchronization point. + * Once the jobSize is smaller than the window size, + * it will result in compression ratio degradation. + * NOTE 1: rsyncable mode only works when multithreading is enabled. + * NOTE 2: rsyncable performs poorly in combination with long range mode, + * since it will decrease the effectiveness of synchronization points, + * though mileage may vary. + * NOTE 3: Rsyncable mode limits maximum compression speed to ~400 MB/s. + * If the selected compression level is already running significantly slower, + * the overall speed won't be significantly impacted. + */ + #define ZSTD_c_rsyncable ZSTD_c_experimentalParam1 + +/* Select a compression format. + * The value must be of type ZSTD_format_e. + * See ZSTD_format_e enum definition for details */ +#define ZSTD_c_format ZSTD_c_experimentalParam2 + +/* Force back-reference distances to remain < windowSize, + * even when referencing into Dictionary content (default:0) */ +#define ZSTD_c_forceMaxWindow ZSTD_c_experimentalParam3 + +/* Controls whether the contents of a CDict + * are used in place, or copied into the working context. + * Accepts values from the ZSTD_dictAttachPref_e enum. + * See the comments on that enum for an explanation of the feature. */ +#define ZSTD_c_forceAttachDict ZSTD_c_experimentalParam4 + +/* Controlled with ZSTD_ParamSwitch_e enum. + * Default is ZSTD_ps_auto. + * Set to ZSTD_ps_disable to never compress literals. + * Set to ZSTD_ps_enable to always compress literals. (Note: uncompressed literals + * may still be emitted if huffman is not beneficial to use.) + * + * By default, in ZSTD_ps_auto, the library will decide at runtime whether to use + * literals compression based on the compression parameters - specifically, + * negative compression levels do not use literal compression. + */ +#define ZSTD_c_literalCompressionMode ZSTD_c_experimentalParam5 + +/* User's best guess of source size. + * Hint is not valid when srcSizeHint == 0. + * There is no guarantee that hint is close to actual source size, + * but compression ratio may regress significantly if guess considerably underestimates */ +#define ZSTD_c_srcSizeHint ZSTD_c_experimentalParam7 + +/* Controls whether the new and experimental "dedicated dictionary search + * structure" can be used. This feature is still rough around the edges, be + * prepared for surprising behavior! + * + * How to use it: + * + * When using a CDict, whether to use this feature or not is controlled at + * CDict creation, and it must be set in a CCtxParams set passed into that + * construction (via ZSTD_createCDict_advanced2()). A compression will then + * use the feature or not based on how the CDict was constructed; the value of + * this param, set in the CCtx, will have no effect. + * + * However, when a dictionary buffer is passed into a CCtx, such as via + * ZSTD_CCtx_loadDictionary(), this param can be set on the CCtx to control + * whether the CDict that is created internally can use the feature or not. + * + * What it does: + * + * Normally, the internal data structures of the CDict are analogous to what + * would be stored in a CCtx after compressing the contents of a dictionary. + * To an approximation, a compression using a dictionary can then use those + * data structures to simply continue what is effectively a streaming + * compression where the simulated compression of the dictionary left off. + * Which is to say, the search structures in the CDict are normally the same + * format as in the CCtx. + * + * It is possible to do better, since the CDict is not like a CCtx: the search + * structures are written once during CDict creation, and then are only read + * after that, while the search structures in the CCtx are both read and + * written as the compression goes along. This means we can choose a search + * structure for the dictionary that is read-optimized. + * + * This feature enables the use of that different structure. + * + * Note that some of the members of the ZSTD_compressionParameters struct have + * different semantics and constraints in the dedicated search structure. It is + * highly recommended that you simply set a compression level in the CCtxParams + * you pass into the CDict creation call, and avoid messing with the cParams + * directly. + * + * Effects: + * + * This will only have any effect when the selected ZSTD_strategy + * implementation supports this feature. Currently, that's limited to + * ZSTD_greedy, ZSTD_lazy, and ZSTD_lazy2. + * + * Note that this means that the CDict tables can no longer be copied into the + * CCtx, so the dict attachment mode ZSTD_dictForceCopy will no longer be + * usable. The dictionary can only be attached or reloaded. + * + * In general, you should expect compression to be faster--sometimes very much + * so--and CDict creation to be slightly slower. Eventually, we will probably + * make this mode the default. + */ +#define ZSTD_c_enableDedicatedDictSearch ZSTD_c_experimentalParam8 + +/* ZSTD_c_stableInBuffer + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable. + * + * Tells the compressor that input data presented with ZSTD_inBuffer + * will ALWAYS be the same between calls. + * Technically, the @src pointer must never be changed, + * and the @pos field can only be updated by zstd. + * However, it's possible to increase the @size field, + * allowing scenarios where more data can be appended after compressions starts. + * These conditions are checked by the compressor, + * and compression will fail if they are not respected. + * Also, data in the ZSTD_inBuffer within the range [src, src + pos) + * MUST not be modified during compression or it will result in data corruption. + * + * When this flag is enabled zstd won't allocate an input window buffer, + * because the user guarantees it can reference the ZSTD_inBuffer until + * the frame is complete. But, it will still allocate an output buffer + * large enough to fit a block (see ZSTD_c_stableOutBuffer). This will also + * avoid the memcpy() from the input buffer to the input window buffer. + * + * NOTE: So long as the ZSTD_inBuffer always points to valid memory, using + * this flag is ALWAYS memory safe, and will never access out-of-bounds + * memory. However, compression WILL fail if conditions are not respected. + * + * WARNING: The data in the ZSTD_inBuffer in the range [src, src + pos) MUST + * not be modified during compression or it will result in data corruption. + * This is because zstd needs to reference data in the ZSTD_inBuffer to find + * matches. Normally zstd maintains its own window buffer for this purpose, + * but passing this flag tells zstd to rely on user provided buffer instead. + */ +#define ZSTD_c_stableInBuffer ZSTD_c_experimentalParam9 + +/* ZSTD_c_stableOutBuffer + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable. + * + * Tells he compressor that the ZSTD_outBuffer will not be resized between + * calls. Specifically: (out.size - out.pos) will never grow. This gives the + * compressor the freedom to say: If the compressed data doesn't fit in the + * output buffer then return ZSTD_error_dstSizeTooSmall. This allows us to + * always decompress directly into the output buffer, instead of decompressing + * into an internal buffer and copying to the output buffer. + * + * When this flag is enabled zstd won't allocate an output buffer, because + * it can write directly to the ZSTD_outBuffer. It will still allocate the + * input window buffer (see ZSTD_c_stableInBuffer). + * + * Zstd will check that (out.size - out.pos) never grows and return an error + * if it does. While not strictly necessary, this should prevent surprises. + */ +#define ZSTD_c_stableOutBuffer ZSTD_c_experimentalParam10 + +/* ZSTD_c_blockDelimiters + * Default is 0 == ZSTD_sf_noBlockDelimiters. + * + * For use with sequence compression API: ZSTD_compressSequences(). + * + * Designates whether or not the given array of ZSTD_Sequence contains block delimiters + * and last literals, which are defined as sequences with offset == 0 and matchLength == 0. + * See the definition of ZSTD_Sequence for more specifics. + */ +#define ZSTD_c_blockDelimiters ZSTD_c_experimentalParam11 + +/* ZSTD_c_validateSequences + * Default is 0 == disabled. Set to 1 to enable sequence validation. + * + * For use with sequence compression API: ZSTD_compressSequences*(). + * Designates whether or not provided sequences are validated within ZSTD_compressSequences*() + * during function execution. + * + * When Sequence validation is disabled (default), Sequences are compressed as-is, + * so they must correct, otherwise it would result in a corruption error. + * + * Sequence validation adds some protection, by ensuring that all values respect boundary conditions. + * If a Sequence is detected invalid (see doc/zstd_compression_format.md for + * specifics regarding offset/matchlength requirements) then the function will bail out and + * return an error. + */ +#define ZSTD_c_validateSequences ZSTD_c_experimentalParam12 + +/* ZSTD_c_blockSplitterLevel + * note: this parameter only influences the first splitter stage, + * which is active before producing the sequences. + * ZSTD_c_splitAfterSequences controls the next splitter stage, + * which is active after sequence production. + * Note that both can be combined. + * Allowed values are between 0 and ZSTD_BLOCKSPLITTER_LEVEL_MAX included. + * 0 means "auto", which will select a value depending on current ZSTD_c_strategy. + * 1 means no splitting. + * Then, values from 2 to 6 are sorted in increasing cpu load order. + * + * Note that currently the first block is never split, + * to ensure expansion guarantees in presence of incompressible data. + */ +#define ZSTD_BLOCKSPLITTER_LEVEL_MAX 6 +#define ZSTD_c_blockSplitterLevel ZSTD_c_experimentalParam20 + +/* ZSTD_c_splitAfterSequences + * This is a stronger splitter algorithm, + * based on actual sequences previously produced by the selected parser. + * It's also slower, and as a consequence, mostly used for high compression levels. + * While the post-splitter does overlap with the pre-splitter, + * both can nonetheless be combined, + * notably with ZSTD_c_blockSplitterLevel at ZSTD_BLOCKSPLITTER_LEVEL_MAX, + * resulting in higher compression ratio than just one of them. + * + * Default is ZSTD_ps_auto. + * Set to ZSTD_ps_disable to never use block splitter. + * Set to ZSTD_ps_enable to always use block splitter. + * + * By default, in ZSTD_ps_auto, the library will decide at runtime whether to use + * block splitting based on the compression parameters. + */ +#define ZSTD_c_splitAfterSequences ZSTD_c_experimentalParam13 + +/* ZSTD_c_useRowMatchFinder + * Controlled with ZSTD_ParamSwitch_e enum. + * Default is ZSTD_ps_auto. + * Set to ZSTD_ps_disable to never use row-based matchfinder. + * Set to ZSTD_ps_enable to force usage of row-based matchfinder. + * + * By default, in ZSTD_ps_auto, the library will decide at runtime whether to use + * the row-based matchfinder based on support for SIMD instructions and the window log. + * Note that this only pertains to compression strategies: greedy, lazy, and lazy2 + */ +#define ZSTD_c_useRowMatchFinder ZSTD_c_experimentalParam14 + +/* ZSTD_c_deterministicRefPrefix + * Default is 0 == disabled. Set to 1 to enable. + * + * Zstd produces different results for prefix compression when the prefix is + * directly adjacent to the data about to be compressed vs. when it isn't. + * This is because zstd detects that the two buffers are contiguous and it can + * use a more efficient match finding algorithm. However, this produces different + * results than when the two buffers are non-contiguous. This flag forces zstd + * to always load the prefix in non-contiguous mode, even if it happens to be + * adjacent to the data, to guarantee determinism. + * + * If you really care about determinism when using a dictionary or prefix, + * like when doing delta compression, you should select this option. It comes + * at a speed penalty of about ~2.5% if the dictionary and data happened to be + * contiguous, and is free if they weren't contiguous. We don't expect that + * intentionally making the dictionary and data contiguous will be worth the + * cost to memcpy() the data. + */ +#define ZSTD_c_deterministicRefPrefix ZSTD_c_experimentalParam15 + +/* ZSTD_c_prefetchCDictTables + * Controlled with ZSTD_ParamSwitch_e enum. Default is ZSTD_ps_auto. + * + * In some situations, zstd uses CDict tables in-place rather than copying them + * into the working context. (See docs on ZSTD_dictAttachPref_e above for details). + * In such situations, compression speed is seriously impacted when CDict tables are + * "cold" (outside CPU cache). This parameter instructs zstd to prefetch CDict tables + * when they are used in-place. + * + * For sufficiently small inputs, the cost of the prefetch will outweigh the benefit. + * For sufficiently large inputs, zstd will by default memcpy() CDict tables + * into the working context, so there is no need to prefetch. This parameter is + * targeted at a middle range of input sizes, where a prefetch is cheap enough to be + * useful but memcpy() is too expensive. The exact range of input sizes where this + * makes sense is best determined by careful experimentation. + * + * Note: for this parameter, ZSTD_ps_auto is currently equivalent to ZSTD_ps_disable, + * but in the future zstd may conditionally enable this feature via an auto-detection + * heuristic for cold CDicts. + * Use ZSTD_ps_disable to opt out of prefetching under any circumstances. + */ +#define ZSTD_c_prefetchCDictTables ZSTD_c_experimentalParam16 + +/* ZSTD_c_enableSeqProducerFallback + * Allowed values are 0 (disable) and 1 (enable). The default setting is 0. + * + * Controls whether zstd will fall back to an internal sequence producer if an + * external sequence producer is registered and returns an error code. This fallback + * is block-by-block: the internal sequence producer will only be called for blocks + * where the external sequence producer returns an error code. Fallback parsing will + * follow any other cParam settings, such as compression level, the same as in a + * normal (fully-internal) compression operation. + * + * The user is strongly encouraged to read the full Block-Level Sequence Producer API + * documentation (below) before setting this parameter. */ +#define ZSTD_c_enableSeqProducerFallback ZSTD_c_experimentalParam17 + +/* ZSTD_c_maxBlockSize + * Allowed values are between 1KB and ZSTD_BLOCKSIZE_MAX (128KB). + * The default is ZSTD_BLOCKSIZE_MAX, and setting to 0 will set to the default. + * + * This parameter can be used to set an upper bound on the blocksize + * that overrides the default ZSTD_BLOCKSIZE_MAX. It cannot be used to set upper + * bounds greater than ZSTD_BLOCKSIZE_MAX or bounds lower than 1KB (will make + * compressBound() inaccurate). Only currently meant to be used for testing. + */ +#define ZSTD_c_maxBlockSize ZSTD_c_experimentalParam18 + +/* ZSTD_c_repcodeResolution + * This parameter only has an effect if ZSTD_c_blockDelimiters is + * set to ZSTD_sf_explicitBlockDelimiters (may change in the future). + * + * This parameter affects how zstd parses external sequences, + * provided via the ZSTD_compressSequences*() API + * or from an external block-level sequence producer. + * + * If set to ZSTD_ps_enable, the library will check for repeated offsets within + * external sequences, even if those repcodes are not explicitly indicated in + * the "rep" field. Note that this is the only way to exploit repcode matches + * while using compressSequences*() or an external sequence producer, since zstd + * currently ignores the "rep" field of external sequences. + * + * If set to ZSTD_ps_disable, the library will not exploit repeated offsets in + * external sequences, regardless of whether the "rep" field has been set. This + * reduces sequence compression overhead by about 25% while sacrificing some + * compression ratio. + * + * The default value is ZSTD_ps_auto, for which the library will enable/disable + * based on compression level (currently: level<10 disables, level>=10 enables). + */ +#define ZSTD_c_repcodeResolution ZSTD_c_experimentalParam19 +#define ZSTD_c_searchForExternalRepcodes ZSTD_c_experimentalParam19 /* older name */ + + +/*! ZSTD_CCtx_getParameter() : + * Get the requested compression parameter value, selected by enum ZSTD_cParameter, + * and store it into int* value. + * @return : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_getParameter(const ZSTD_CCtx* cctx, ZSTD_cParameter param, int* value); + + +/*! ZSTD_CCtx_params : + * Quick howto : + * - ZSTD_createCCtxParams() : Create a ZSTD_CCtx_params structure + * - ZSTD_CCtxParams_setParameter() : Push parameters one by one into + * an existing ZSTD_CCtx_params structure. + * This is similar to + * ZSTD_CCtx_setParameter(). + * - ZSTD_CCtx_setParametersUsingCCtxParams() : Apply parameters to + * an existing CCtx. + * These parameters will be applied to + * all subsequent frames. + * - ZSTD_compressStream2() : Do compression using the CCtx. + * - ZSTD_freeCCtxParams() : Free the memory, accept NULL pointer. + * + * This can be used with ZSTD_estimateCCtxSize_advanced_usingCCtxParams() + * for static allocation of CCtx for single-threaded compression. + */ +ZSTDLIB_STATIC_API ZSTD_CCtx_params* ZSTD_createCCtxParams(void); +ZSTDLIB_STATIC_API size_t ZSTD_freeCCtxParams(ZSTD_CCtx_params* params); /* accept NULL pointer */ + +/*! ZSTD_CCtxParams_reset() : + * Reset params to default values. + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtxParams_reset(ZSTD_CCtx_params* params); + +/*! ZSTD_CCtxParams_init() : + * Initializes the compression parameters of cctxParams according to + * compression level. All other parameters are reset to their default values. + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtxParams_init(ZSTD_CCtx_params* cctxParams, int compressionLevel); + +/*! ZSTD_CCtxParams_init_advanced() : + * Initializes the compression and frame parameters of cctxParams according to + * params. All other parameters are reset to their default values. + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtxParams_init_advanced(ZSTD_CCtx_params* cctxParams, ZSTD_parameters params); + +/*! ZSTD_CCtxParams_setParameter() : Requires v1.4.0+ + * Similar to ZSTD_CCtx_setParameter. + * Set one compression parameter, selected by enum ZSTD_cParameter. + * Parameters must be applied to a ZSTD_CCtx using + * ZSTD_CCtx_setParametersUsingCCtxParams(). + * @result : a code representing success or failure (which can be tested with + * ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtxParams_setParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int value); + +/*! ZSTD_CCtxParams_getParameter() : + * Similar to ZSTD_CCtx_getParameter. + * Get the requested value of one compression parameter, selected by enum ZSTD_cParameter. + * @result : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtxParams_getParameter(const ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value); + +/*! ZSTD_CCtx_setParametersUsingCCtxParams() : + * Apply a set of ZSTD_CCtx_params to the compression context. + * This can be done even after compression is started, + * if nbWorkers==0, this will have no impact until a new compression is started. + * if nbWorkers>=1, new parameters will be picked up at next job, + * with a few restrictions (windowLog, pledgedSrcSize, nbWorkers, jobSize, and overlapLog are not updated). + */ +ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setParametersUsingCCtxParams( + ZSTD_CCtx* cctx, const ZSTD_CCtx_params* params); + +/*! ZSTD_compressStream2_simpleArgs() : + * Same as ZSTD_compressStream2(), + * but using only integral types as arguments. + * This variant might be helpful for binders from dynamic languages + * which have troubles handling structures containing memory pointers. + */ +ZSTDLIB_STATIC_API size_t ZSTD_compressStream2_simpleArgs ( + ZSTD_CCtx* cctx, + void* dst, size_t dstCapacity, size_t* dstPos, + const void* src, size_t srcSize, size_t* srcPos, + ZSTD_EndDirective endOp); + + +/*************************************** +* Advanced decompression functions +***************************************/ + +/*! ZSTD_isFrame() : + * Tells if the content of `buffer` starts with a valid Frame Identifier. + * Note : Frame Identifier is 4 bytes. If `size < 4`, @return will always be 0. + * Note 2 : Legacy Frame Identifiers are considered valid only if Legacy Support is enabled. + * Note 3 : Skippable Frame Identifiers are considered valid. */ +ZSTDLIB_STATIC_API unsigned ZSTD_isFrame(const void* buffer, size_t size); + +/*! ZSTD_createDDict_byReference() : + * Create a digested dictionary, ready to start decompression operation without startup delay. + * Dictionary content is referenced, and therefore stays in dictBuffer. + * It is important that dictBuffer outlives DDict, + * it must remain read accessible throughout the lifetime of DDict */ +ZSTDLIB_STATIC_API ZSTD_DDict* ZSTD_createDDict_byReference(const void* dictBuffer, size_t dictSize); + +/*! ZSTD_DCtx_loadDictionary_byReference() : + * Same as ZSTD_DCtx_loadDictionary(), + * but references `dict` content instead of copying it into `dctx`. + * This saves memory if `dict` remains around., + * However, it's imperative that `dict` remains accessible (and unmodified) while being used, so it must outlive decompression. */ +ZSTDLIB_STATIC_API size_t ZSTD_DCtx_loadDictionary_byReference(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); + +/*! ZSTD_DCtx_loadDictionary_advanced() : + * Same as ZSTD_DCtx_loadDictionary(), + * but gives direct control over + * how to load the dictionary (by copy ? by reference ?) + * and how to interpret it (automatic ? force raw mode ? full mode only ?). */ +ZSTDLIB_STATIC_API size_t ZSTD_DCtx_loadDictionary_advanced(ZSTD_DCtx* dctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_DCtx_refPrefix_advanced() : + * Same as ZSTD_DCtx_refPrefix(), but gives finer control over + * how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?) */ +ZSTDLIB_STATIC_API size_t ZSTD_DCtx_refPrefix_advanced(ZSTD_DCtx* dctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType); + +/*! ZSTD_DCtx_setMaxWindowSize() : + * Refuses allocating internal buffers for frames requiring a window size larger than provided limit. + * This protects a decoder context from reserving too much memory for itself (potential attack scenario). + * This parameter is only useful in streaming mode, since no internal buffer is allocated in single-pass mode. + * By default, a decompression context accepts all window sizes <= (1 << ZSTD_WINDOWLOG_LIMIT_DEFAULT) + * @return : 0, or an error code (which can be tested using ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_DCtx_setMaxWindowSize(ZSTD_DCtx* dctx, size_t maxWindowSize); + +/*! ZSTD_DCtx_getParameter() : + * Get the requested decompression parameter value, selected by enum ZSTD_dParameter, + * and store it into int* value. + * @return : 0, or an error code (which can be tested with ZSTD_isError()). + */ +ZSTDLIB_STATIC_API size_t ZSTD_DCtx_getParameter(ZSTD_DCtx* dctx, ZSTD_dParameter param, int* value); + +/* ZSTD_d_format + * experimental parameter, + * allowing selection between ZSTD_format_e input compression formats + */ +#define ZSTD_d_format ZSTD_d_experimentalParam1 +/* ZSTD_d_stableOutBuffer + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable. + * + * Tells the decompressor that the ZSTD_outBuffer will ALWAYS be the same + * between calls, except for the modifications that zstd makes to pos (the + * caller must not modify pos). This is checked by the decompressor, and + * decompression will fail if it ever changes. Therefore the ZSTD_outBuffer + * MUST be large enough to fit the entire decompressed frame. This will be + * checked when the frame content size is known. The data in the ZSTD_outBuffer + * in the range [dst, dst + pos) MUST not be modified during decompression + * or you will get data corruption. + * + * When this flag is enabled zstd won't allocate an output buffer, because + * it can write directly to the ZSTD_outBuffer, but it will still allocate + * an input buffer large enough to fit any compressed block. This will also + * avoid the memcpy() from the internal output buffer to the ZSTD_outBuffer. + * If you need to avoid the input buffer allocation use the buffer-less + * streaming API. + * + * NOTE: So long as the ZSTD_outBuffer always points to valid memory, using + * this flag is ALWAYS memory safe, and will never access out-of-bounds + * memory. However, decompression WILL fail if you violate the preconditions. + * + * WARNING: The data in the ZSTD_outBuffer in the range [dst, dst + pos) MUST + * not be modified during decompression or you will get data corruption. This + * is because zstd needs to reference data in the ZSTD_outBuffer to regenerate + * matches. Normally zstd maintains its own buffer for this purpose, but passing + * this flag tells zstd to use the user provided buffer. + */ +#define ZSTD_d_stableOutBuffer ZSTD_d_experimentalParam2 + +/* ZSTD_d_forceIgnoreChecksum + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable + * + * Tells the decompressor to skip checksum validation during decompression, regardless + * of whether checksumming was specified during compression. This offers some + * slight performance benefits, and may be useful for debugging. + * Param has values of type ZSTD_forceIgnoreChecksum_e + */ +#define ZSTD_d_forceIgnoreChecksum ZSTD_d_experimentalParam3 + +/* ZSTD_d_refMultipleDDicts + * Experimental parameter. + * Default is 0 == disabled. Set to 1 to enable + * + * If enabled and dctx is allocated on the heap, then additional memory will be allocated + * to store references to multiple ZSTD_DDict. That is, multiple calls of ZSTD_refDDict() + * using a given ZSTD_DCtx, rather than overwriting the previous DDict reference, will instead + * store all references. At decompression time, the appropriate dictID is selected + * from the set of DDicts based on the dictID in the frame. + * + * Usage is simply calling ZSTD_refDDict() on multiple dict buffers. + * + * Param has values of byte ZSTD_refMultipleDDicts_e + * + * WARNING: Enabling this parameter and calling ZSTD_DCtx_refDDict(), will trigger memory + * allocation for the hash table. ZSTD_freeDCtx() also frees this memory. + * Memory is allocated as per ZSTD_DCtx::customMem. + * + * Although this function allocates memory for the table, the user is still responsible for + * memory management of the underlying ZSTD_DDict* themselves. + */ +#define ZSTD_d_refMultipleDDicts ZSTD_d_experimentalParam4 + +/* ZSTD_d_disableHuffmanAssembly + * Set to 1 to disable the Huffman assembly implementation. + * The default value is 0, which allows zstd to use the Huffman assembly + * implementation if available. + * + * This parameter can be used to disable Huffman assembly at runtime. + * If you want to disable it at compile time you can define the macro + * ZSTD_DISABLE_ASM. + */ +#define ZSTD_d_disableHuffmanAssembly ZSTD_d_experimentalParam5 + +/* ZSTD_d_maxBlockSize + * Allowed values are between 1KB and ZSTD_BLOCKSIZE_MAX (128KB). + * The default is ZSTD_BLOCKSIZE_MAX, and setting to 0 will set to the default. + * + * Forces the decompressor to reject blocks whose content size is + * larger than the configured maxBlockSize. When maxBlockSize is + * larger than the windowSize, the windowSize is used instead. + * This saves memory on the decoder when you know all blocks are small. + * + * This option is typically used in conjunction with ZSTD_c_maxBlockSize. + * + * WARNING: This causes the decoder to reject otherwise valid frames + * that have block sizes larger than the configured maxBlockSize. + */ +#define ZSTD_d_maxBlockSize ZSTD_d_experimentalParam6 + + +/*! ZSTD_DCtx_setFormat() : + * This function is REDUNDANT. Prefer ZSTD_DCtx_setParameter(). + * Instruct the decoder context about what kind of data to decode next. + * This instruction is mandatory to decode data without a fully-formed header, + * such ZSTD_f_zstd1_magicless for example. + * @return : 0, or an error code (which can be tested using ZSTD_isError()). */ +ZSTD_DEPRECATED("use ZSTD_DCtx_setParameter() instead") +ZSTDLIB_STATIC_API +size_t ZSTD_DCtx_setFormat(ZSTD_DCtx* dctx, ZSTD_format_e format); + +/*! ZSTD_decompressStream_simpleArgs() : + * Same as ZSTD_decompressStream(), + * but using only integral types as arguments. + * This can be helpful for binders from dynamic languages + * which have troubles handling structures containing memory pointers. + */ +ZSTDLIB_STATIC_API size_t ZSTD_decompressStream_simpleArgs ( + ZSTD_DCtx* dctx, + void* dst, size_t dstCapacity, size_t* dstPos, + const void* src, size_t srcSize, size_t* srcPos); + + +/******************************************************************** +* Advanced streaming functions +* Warning : most of these functions are now redundant with the Advanced API. +* Once Advanced API reaches "stable" status, +* redundant functions will be deprecated, and then at some point removed. +********************************************************************/ + +/*===== Advanced Streaming compression functions =====*/ + +/*! ZSTD_initCStream_srcSize() : + * This function is DEPRECATED, and equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * + * pledgedSrcSize must be correct. If it is not known at init time, use + * ZSTD_CONTENTSIZE_UNKNOWN. Note that, for compatibility with older programs, + * "0" also disables frame content size field. It may be enabled in the future. + * This prototype will generate compilation warnings. + */ +ZSTD_DEPRECATED("use ZSTD_CCtx_reset, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API +size_t ZSTD_initCStream_srcSize(ZSTD_CStream* zcs, + int compressionLevel, + unsigned long long pledgedSrcSize); + +/*! ZSTD_initCStream_usingDict() : + * This function is DEPRECATED, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); + * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); + * + * Creates of an internal CDict (incompatible with static CCtx), except if + * dict == NULL or dictSize < 8, in which case no dict is used. + * Note: dict is loaded with ZSTD_dct_auto (treated as a full zstd dictionary if + * it begins with ZSTD_MAGIC_DICTIONARY, else as raw content) and ZSTD_dlm_byCopy. + * This prototype will generate compilation warnings. + */ +ZSTD_DEPRECATED("use ZSTD_CCtx_reset, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API +size_t ZSTD_initCStream_usingDict(ZSTD_CStream* zcs, + const void* dict, size_t dictSize, + int compressionLevel); + +/*! ZSTD_initCStream_advanced() : + * This function is DEPRECATED, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setParams(zcs, params); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * ZSTD_CCtx_loadDictionary(zcs, dict, dictSize); + * + * dict is loaded with ZSTD_dct_auto and ZSTD_dlm_byCopy. + * pledgedSrcSize must be correct. + * If srcSize is not known at init time, use value ZSTD_CONTENTSIZE_UNKNOWN. + * This prototype will generate compilation warnings. + */ +ZSTD_DEPRECATED("use ZSTD_CCtx_reset, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API +size_t ZSTD_initCStream_advanced(ZSTD_CStream* zcs, + const void* dict, size_t dictSize, + ZSTD_parameters params, + unsigned long long pledgedSrcSize); + +/*! ZSTD_initCStream_usingCDict() : + * This function is DEPRECATED, and equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_refCDict(zcs, cdict); + * + * note : cdict will just be referenced, and must outlive compression session + * This prototype will generate compilation warnings. + */ +ZSTD_DEPRECATED("use ZSTD_CCtx_reset and ZSTD_CCtx_refCDict, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API +size_t ZSTD_initCStream_usingCDict(ZSTD_CStream* zcs, const ZSTD_CDict* cdict); + +/*! ZSTD_initCStream_usingCDict_advanced() : + * This function is DEPRECATED, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setFParams(zcs, fParams); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * ZSTD_CCtx_refCDict(zcs, cdict); + * + * same as ZSTD_initCStream_usingCDict(), with control over frame parameters. + * pledgedSrcSize must be correct. If srcSize is not known at init time, use + * value ZSTD_CONTENTSIZE_UNKNOWN. + * This prototype will generate compilation warnings. + */ +ZSTD_DEPRECATED("use ZSTD_CCtx_reset and ZSTD_CCtx_refCDict, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API +size_t ZSTD_initCStream_usingCDict_advanced(ZSTD_CStream* zcs, + const ZSTD_CDict* cdict, + ZSTD_frameParameters fParams, + unsigned long long pledgedSrcSize); + +/*! ZSTD_resetCStream() : + * This function is DEPRECATED, and is equivalent to: + * ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); + * ZSTD_CCtx_setPledgedSrcSize(zcs, pledgedSrcSize); + * Note: ZSTD_resetCStream() interprets pledgedSrcSize == 0 as ZSTD_CONTENTSIZE_UNKNOWN, but + * ZSTD_CCtx_setPledgedSrcSize() does not do the same, so ZSTD_CONTENTSIZE_UNKNOWN must be + * explicitly specified. + * + * start a new frame, using same parameters from previous frame. + * This is typically useful to skip dictionary loading stage, since it will reuse it in-place. + * Note that zcs must be init at least once before using ZSTD_resetCStream(). + * If pledgedSrcSize is not known at reset time, use macro ZSTD_CONTENTSIZE_UNKNOWN. + * If pledgedSrcSize > 0, its value must be correct, as it will be written in header, and controlled at the end. + * For the time being, pledgedSrcSize==0 is interpreted as "srcSize unknown" for compatibility with older programs, + * but it will change to mean "empty" in future version, so use macro ZSTD_CONTENTSIZE_UNKNOWN instead. + * @return : 0, or an error code (which can be tested using ZSTD_isError()) + * This prototype will generate compilation warnings. + */ +ZSTD_DEPRECATED("use ZSTD_CCtx_reset, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API +size_t ZSTD_resetCStream(ZSTD_CStream* zcs, unsigned long long pledgedSrcSize); + + +typedef struct { + unsigned long long ingested; /* nb input bytes read and buffered */ + unsigned long long consumed; /* nb input bytes actually compressed */ + unsigned long long produced; /* nb of compressed bytes generated and buffered */ + unsigned long long flushed; /* nb of compressed bytes flushed : not provided; can be tracked from caller side */ + unsigned currentJobID; /* MT only : latest started job nb */ + unsigned nbActiveWorkers; /* MT only : nb of workers actively compressing at probe time */ +} ZSTD_frameProgression; + +/* ZSTD_getFrameProgression() : + * tells how much data has been ingested (read from input) + * consumed (input actually compressed) and produced (output) for current frame. + * Note : (ingested - consumed) is amount of input data buffered internally, not yet compressed. + * Aggregates progression inside active worker threads. + */ +ZSTDLIB_STATIC_API ZSTD_frameProgression ZSTD_getFrameProgression(const ZSTD_CCtx* cctx); + +/*! ZSTD_toFlushNow() : + * Tell how many bytes are ready to be flushed immediately. + * Useful for multithreading scenarios (nbWorkers >= 1). + * Probe the oldest active job, defined as oldest job not yet entirely flushed, + * and check its output buffer. + * @return : amount of data stored in oldest job and ready to be flushed immediately. + * if @return == 0, it means either : + * + there is no active job (could be checked with ZSTD_frameProgression()), or + * + oldest job is still actively compressing data, + * but everything it has produced has also been flushed so far, + * therefore flush speed is limited by production speed of oldest job + * irrespective of the speed of concurrent (and newer) jobs. + */ +ZSTDLIB_STATIC_API size_t ZSTD_toFlushNow(ZSTD_CCtx* cctx); + + +/*===== Advanced Streaming decompression functions =====*/ + +/*! + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_loadDictionary(zds, dict, dictSize); + * + * note: no dictionary will be used if dict == NULL or dictSize < 8 + */ +ZSTD_DEPRECATED("use ZSTD_DCtx_reset + ZSTD_DCtx_loadDictionary, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API size_t ZSTD_initDStream_usingDict(ZSTD_DStream* zds, const void* dict, size_t dictSize); + +/*! + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * ZSTD_DCtx_refDDict(zds, ddict); + * + * note : ddict is referenced, it must outlive decompression session + */ +ZSTD_DEPRECATED("use ZSTD_DCtx_reset + ZSTD_DCtx_refDDict, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* zds, const ZSTD_DDict* ddict); + +/*! + * This function is deprecated, and is equivalent to: + * + * ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); + * + * reuse decompression parameters from previous init; saves dictionary loading + */ +ZSTD_DEPRECATED("use ZSTD_DCtx_reset, see zstd.h for detailed instructions") +ZSTDLIB_STATIC_API size_t ZSTD_resetDStream(ZSTD_DStream* zds); + + +/* ********************* BLOCK-LEVEL SEQUENCE PRODUCER API ********************* + * + * *** OVERVIEW *** + * The Block-Level Sequence Producer API allows users to provide their own custom + * sequence producer which libzstd invokes to process each block. The produced list + * of sequences (literals and matches) is then post-processed by libzstd to produce + * valid compressed blocks. + * + * This block-level offload API is a more granular complement of the existing + * frame-level offload API compressSequences() (introduced in v1.5.1). It offers + * an easier migration story for applications already integrated with libzstd: the + * user application continues to invoke the same compression functions + * ZSTD_compress2() or ZSTD_compressStream2() as usual, and transparently benefits + * from the specific advantages of the external sequence producer. For example, + * the sequence producer could be tuned to take advantage of known characteristics + * of the input, to offer better speed / ratio, or could leverage hardware + * acceleration not available within libzstd itself. + * + * See contrib/externalSequenceProducer for an example program employing the + * Block-Level Sequence Producer API. + * + * *** USAGE *** + * The user is responsible for implementing a function of type + * ZSTD_sequenceProducer_F. For each block, zstd will pass the following + * arguments to the user-provided function: + * + * - sequenceProducerState: a pointer to a user-managed state for the sequence + * producer. + * + * - outSeqs, outSeqsCapacity: an output buffer for the sequence producer. + * outSeqsCapacity is guaranteed >= ZSTD_sequenceBound(srcSize). The memory + * backing outSeqs is managed by the CCtx. + * + * - src, srcSize: an input buffer for the sequence producer to parse. + * srcSize is guaranteed to be <= ZSTD_BLOCKSIZE_MAX. + * + * - dict, dictSize: a history buffer, which may be empty, which the sequence + * producer may reference as it parses the src buffer. Currently, zstd will + * always pass dictSize == 0 into external sequence producers, but this will + * change in the future. + * + * - compressionLevel: a signed integer representing the zstd compression level + * set by the user for the current operation. The sequence producer may choose + * to use this information to change its compression strategy and speed/ratio + * tradeoff. Note: the compression level does not reflect zstd parameters set + * through the advanced API. + * + * - windowSize: a size_t representing the maximum allowed offset for external + * sequences. Note that sequence offsets are sometimes allowed to exceed the + * windowSize if a dictionary is present, see doc/zstd_compression_format.md + * for details. + * + * The user-provided function shall return a size_t representing the number of + * sequences written to outSeqs. This return value will be treated as an error + * code if it is greater than outSeqsCapacity. The return value must be non-zero + * if srcSize is non-zero. The ZSTD_SEQUENCE_PRODUCER_ERROR macro is provided + * for convenience, but any value greater than outSeqsCapacity will be treated as + * an error code. + * + * If the user-provided function does not return an error code, the sequences + * written to outSeqs must be a valid parse of the src buffer. Data corruption may + * occur if the parse is not valid. A parse is defined to be valid if the + * following conditions hold: + * - The sum of matchLengths and literalLengths must equal srcSize. + * - All sequences in the parse, except for the final sequence, must have + * matchLength >= ZSTD_MINMATCH_MIN. The final sequence must have + * matchLength >= ZSTD_MINMATCH_MIN or matchLength == 0. + * - All offsets must respect the windowSize parameter as specified in + * doc/zstd_compression_format.md. + * - If the final sequence has matchLength == 0, it must also have offset == 0. + * + * zstd will only validate these conditions (and fail compression if they do not + * hold) if the ZSTD_c_validateSequences cParam is enabled. Note that sequence + * validation has a performance cost. + * + * If the user-provided function returns an error, zstd will either fall back + * to an internal sequence producer or fail the compression operation. The user can + * choose between the two behaviors by setting the ZSTD_c_enableSeqProducerFallback + * cParam. Fallback compression will follow any other cParam settings, such as + * compression level, the same as in a normal compression operation. + * + * The user shall instruct zstd to use a particular ZSTD_sequenceProducer_F + * function by calling + * ZSTD_registerSequenceProducer(cctx, + * sequenceProducerState, + * sequenceProducer) + * This setting will persist until the next parameter reset of the CCtx. + * + * The sequenceProducerState must be initialized by the user before calling + * ZSTD_registerSequenceProducer(). The user is responsible for destroying the + * sequenceProducerState. + * + * *** LIMITATIONS *** + * This API is compatible with all zstd compression APIs which respect advanced parameters. + * However, there are three limitations: + * + * First, the ZSTD_c_enableLongDistanceMatching cParam is not currently supported. + * COMPRESSION WILL FAIL if it is enabled and the user tries to compress with a block-level + * external sequence producer. + * - Note that ZSTD_c_enableLongDistanceMatching is auto-enabled by default in some + * cases (see its documentation for details). Users must explicitly set + * ZSTD_c_enableLongDistanceMatching to ZSTD_ps_disable in such cases if an external + * sequence producer is registered. + * - As of this writing, ZSTD_c_enableLongDistanceMatching is disabled by default + * whenever ZSTD_c_windowLog < 128MB, but that's subject to change. Users should + * check the docs on ZSTD_c_enableLongDistanceMatching whenever the Block-Level Sequence + * Producer API is used in conjunction with advanced settings (like ZSTD_c_windowLog). + * + * Second, history buffers are not currently supported. Concretely, zstd will always pass + * dictSize == 0 to the external sequence producer (for now). This has two implications: + * - Dictionaries are not currently supported. Compression will *not* fail if the user + * references a dictionary, but the dictionary won't have any effect. + * - Stream history is not currently supported. All advanced compression APIs, including + * streaming APIs, work with external sequence producers, but each block is treated as + * an independent chunk without history from previous blocks. + * + * Third, multi-threading within a single compression is not currently supported. In other words, + * COMPRESSION WILL FAIL if ZSTD_c_nbWorkers > 0 and an external sequence producer is registered. + * Multi-threading across compressions is fine: simply create one CCtx per thread. + * + * Long-term, we plan to overcome all three limitations. There is no technical blocker to + * overcoming them. It is purely a question of engineering effort. + */ + +#define ZSTD_SEQUENCE_PRODUCER_ERROR ((size_t)(-1)) + +typedef size_t (*ZSTD_sequenceProducer_F) ( + void* sequenceProducerState, + ZSTD_Sequence* outSeqs, size_t outSeqsCapacity, + const void* src, size_t srcSize, + const void* dict, size_t dictSize, + int compressionLevel, + size_t windowSize +); + +/*! ZSTD_registerSequenceProducer() : + * Instruct zstd to use a block-level external sequence producer function. + * + * The sequenceProducerState must be initialized by the caller, and the caller is + * responsible for managing its lifetime. This parameter is sticky across + * compressions. It will remain set until the user explicitly resets compression + * parameters. + * + * Sequence producer registration is considered to be an "advanced parameter", + * part of the "advanced API". This means it will only have an effect on compression + * APIs which respect advanced parameters, such as compress2() and compressStream2(). + * Older compression APIs such as compressCCtx(), which predate the introduction of + * "advanced parameters", will ignore any external sequence producer setting. + * + * The sequence producer can be "cleared" by registering a NULL function pointer. This + * removes all limitations described above in the "LIMITATIONS" section of the API docs. + * + * The user is strongly encouraged to read the full API documentation (above) before + * calling this function. */ +ZSTDLIB_STATIC_API void +ZSTD_registerSequenceProducer( + ZSTD_CCtx* cctx, + void* sequenceProducerState, + ZSTD_sequenceProducer_F sequenceProducer +); + +/*! ZSTD_CCtxParams_registerSequenceProducer() : + * Same as ZSTD_registerSequenceProducer(), but operates on ZSTD_CCtx_params. + * This is used for accurate size estimation with ZSTD_estimateCCtxSize_usingCCtxParams(), + * which is needed when creating a ZSTD_CCtx with ZSTD_initStaticCCtx(). + * + * If you are using the external sequence producer API in a scenario where ZSTD_initStaticCCtx() + * is required, then this function is for you. Otherwise, you probably don't need it. + * + * See tests/zstreamtest.c for example usage. */ +ZSTDLIB_STATIC_API void +ZSTD_CCtxParams_registerSequenceProducer( + ZSTD_CCtx_params* params, + void* sequenceProducerState, + ZSTD_sequenceProducer_F sequenceProducer +); + + +/********************************************************************* +* Buffer-less and synchronous inner streaming functions (DEPRECATED) +* +* This API is deprecated, and will be removed in a future version. +* It allows streaming (de)compression with user allocated buffers. +* However, it is hard to use, and not as well tested as the rest of +* our API. +* +* Please use the normal streaming API instead: ZSTD_compressStream2, +* and ZSTD_decompressStream. +* If there is functionality that you need, but it doesn't provide, +* please open an issue on our GitHub. +********************************************************************* */ + +/** + Buffer-less streaming compression (synchronous mode) + + A ZSTD_CCtx object is required to track streaming operations. + Use ZSTD_createCCtx() / ZSTD_freeCCtx() to manage resource. + ZSTD_CCtx object can be reused multiple times within successive compression operations. + + Start by initializing a context. + Use ZSTD_compressBegin(), or ZSTD_compressBegin_usingDict() for dictionary compression. + + Then, consume your input using ZSTD_compressContinue(). + There are some important considerations to keep in mind when using this advanced function : + - ZSTD_compressContinue() has no internal buffer. It uses externally provided buffers only. + - Interface is synchronous : input is consumed entirely and produces 1+ compressed blocks. + - Caller must ensure there is enough space in `dst` to store compressed data under worst case scenario. + Worst case evaluation is provided by ZSTD_compressBound(). + ZSTD_compressContinue() doesn't guarantee recover after a failed compression. + - ZSTD_compressContinue() presumes prior input ***is still accessible and unmodified*** (up to maximum distance size, see WindowLog). + It remembers all previous contiguous blocks, plus one separated memory segment (which can itself consists of multiple contiguous blocks) + - ZSTD_compressContinue() detects that prior input has been overwritten when `src` buffer overlaps. + In which case, it will "discard" the relevant memory section from its history. + + Finish a frame with ZSTD_compressEnd(), which will write the last block(s) and optional checksum. + It's possible to use srcSize==0, in which case, it will write a final empty block to end the frame. + Without last block mark, frames are considered unfinished (hence corrupted) by compliant decoders. + + `ZSTD_CCtx` object can be reused (ZSTD_compressBegin()) to compress again. +*/ + +/*===== Buffer-less streaming compression functions =====*/ +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel); +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel); +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); /**< note: fails if cdict==NULL */ + +ZSTD_DEPRECATED("This function will likely be removed in a future release. It is misleading and has very limited utility.") +ZSTDLIB_STATIC_API +size_t ZSTD_copyCCtx(ZSTD_CCtx* cctx, const ZSTD_CCtx* preparedCCtx, unsigned long long pledgedSrcSize); /**< note: if pledgedSrcSize is not known, use ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressContinue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTD_DEPRECATED("The buffer-less API is deprecated in favor of the normal streaming API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressEnd(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* The ZSTD_compressBegin_advanced() and ZSTD_compressBegin_usingCDict_advanced() are now DEPRECATED and will generate a compiler warning */ +ZSTD_DEPRECATED("use advanced API to access custom parameters") +ZSTDLIB_STATIC_API +size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize); /**< pledgedSrcSize : If srcSize is not known at init time, use ZSTD_CONTENTSIZE_UNKNOWN */ +ZSTD_DEPRECATED("use advanced API to access custom parameters") +ZSTDLIB_STATIC_API +size_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict, ZSTD_frameParameters const fParams, unsigned long long const pledgedSrcSize); /* compression parameters are already set within cdict. pledgedSrcSize must be correct. If srcSize is not known, use macro ZSTD_CONTENTSIZE_UNKNOWN */ +/** + Buffer-less streaming decompression (synchronous mode) + + A ZSTD_DCtx object is required to track streaming operations. + Use ZSTD_createDCtx() / ZSTD_freeDCtx() to manage it. + A ZSTD_DCtx object can be reused multiple times. + + First typical operation is to retrieve frame parameters, using ZSTD_getFrameHeader(). + Frame header is extracted from the beginning of compressed frame, so providing only the frame's beginning is enough. + Data fragment must be large enough to ensure successful decoding. + `ZSTD_frameHeaderSize_max` bytes is guaranteed to always be large enough. + result : 0 : successful decoding, the `ZSTD_frameHeader` structure is correctly filled. + >0 : `srcSize` is too small, please provide at least result bytes on next attempt. + errorCode, which can be tested using ZSTD_isError(). + + It fills a ZSTD_FrameHeader structure with important information to correctly decode the frame, + such as the dictionary ID, content size, or maximum back-reference distance (`windowSize`). + Note that these values could be wrong, either because of data corruption, or because a 3rd party deliberately spoofs false information. + As a consequence, check that values remain within valid application range. + For example, do not allocate memory blindly, check that `windowSize` is within expectation. + Each application can set its own limits, depending on local restrictions. + For extended interoperability, it is recommended to support `windowSize` of at least 8 MB. + + ZSTD_decompressContinue() needs previous data blocks during decompression, up to `windowSize` bytes. + ZSTD_decompressContinue() is very sensitive to contiguity, + if 2 blocks don't follow each other, make sure that either the compressor breaks contiguity at the same place, + or that previous contiguous segment is large enough to properly handle maximum back-reference distance. + There are multiple ways to guarantee this condition. + + The most memory efficient way is to use a round buffer of sufficient size. + Sufficient size is determined by invoking ZSTD_decodingBufferSize_min(), + which can return an error code if required value is too large for current system (in 32-bits mode). + In a round buffer methodology, ZSTD_decompressContinue() decompresses each block next to previous one, + up to the moment there is not enough room left in the buffer to guarantee decoding another full block, + which maximum size is provided in `ZSTD_frameHeader` structure, field `blockSizeMax`. + At which point, decoding can resume from the beginning of the buffer. + Note that already decoded data stored in the buffer should be flushed before being overwritten. + + There are alternatives possible, for example using two or more buffers of size `windowSize` each, though they consume more memory. + + Finally, if you control the compression process, you can also ignore all buffer size rules, + as long as the encoder and decoder progress in "lock-step", + aka use exactly the same buffer sizes, break contiguity at the same place, etc. + + Once buffers are setup, start decompression, with ZSTD_decompressBegin(). + If decompression requires a dictionary, use ZSTD_decompressBegin_usingDict() or ZSTD_decompressBegin_usingDDict(). + + Then use ZSTD_nextSrcSizeToDecompress() and ZSTD_decompressContinue() alternatively. + ZSTD_nextSrcSizeToDecompress() tells how many bytes to provide as 'srcSize' to ZSTD_decompressContinue(). + ZSTD_decompressContinue() requires this _exact_ amount of bytes, or it will fail. + + result of ZSTD_decompressContinue() is the number of bytes regenerated within 'dst' (necessarily <= dstCapacity). + It can be zero : it just means ZSTD_decompressContinue() has decoded some metadata item. + It can also be an error code, which can be tested with ZSTD_isError(). + + A frame is fully decoded when ZSTD_nextSrcSizeToDecompress() returns zero. + Context can then be reset to start a new decompression. + + Note : it's possible to know if next input to present is a header or a block, using ZSTD_nextInputType(). + This information is not required to properly decode a frame. + + == Special case : skippable frames == + + Skippable frames allow integration of user-defined data into a flow of concatenated frames. + Skippable frames will be ignored (skipped) by decompressor. + The format of skippable frames is as follows : + a) Skippable frame ID - 4 Bytes, Little endian format, any value from 0x184D2A50 to 0x184D2A5F + b) Frame Size - 4 Bytes, Little endian format, unsigned 32-bits + c) Frame Content - any content (User Data) of length equal to Frame Size + For skippable frames ZSTD_getFrameHeader() returns zfhPtr->frameType==ZSTD_skippableFrame. + For skippable frames ZSTD_decompressContinue() always returns 0 : it only skips the content. +*/ + +/*===== Buffer-less streaming decompression functions =====*/ + +ZSTDLIB_STATIC_API size_t ZSTD_decodingBufferSize_min(unsigned long long windowSize, unsigned long long frameContentSize); /**< when frame content size is not known, pass in frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN */ + +ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx); +ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx* dctx, const void* dict, size_t dictSize); +ZSTDLIB_STATIC_API size_t ZSTD_decompressBegin_usingDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict); + +ZSTDLIB_STATIC_API size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx); +ZSTDLIB_STATIC_API size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); + +/* misc */ +ZSTD_DEPRECATED("This function will likely be removed in the next minor release. It is misleading and has very limited utility.") +ZSTDLIB_STATIC_API void ZSTD_copyDCtx(ZSTD_DCtx* dctx, const ZSTD_DCtx* preparedDCtx); +typedef enum { ZSTDnit_frameHeader, ZSTDnit_blockHeader, ZSTDnit_block, ZSTDnit_lastBlock, ZSTDnit_checksum, ZSTDnit_skippableFrame } ZSTD_nextInputType_e; +ZSTDLIB_STATIC_API ZSTD_nextInputType_e ZSTD_nextInputType(ZSTD_DCtx* dctx); + + + + +/* ========================================= */ +/** Block level API (DEPRECATED) */ +/* ========================================= */ + +/*! + + This API is deprecated in favor of the regular compression API. + You can get the frame header down to 2 bytes by setting: + - ZSTD_c_format = ZSTD_f_zstd1_magicless + - ZSTD_c_contentSizeFlag = 0 + - ZSTD_c_checksumFlag = 0 + - ZSTD_c_dictIDFlag = 0 + + This API is not as well tested as our normal API, so we recommend not using it. + We will be removing it in a future version. If the normal API doesn't provide + the functionality you need, please open a GitHub issue. + + Block functions produce and decode raw zstd blocks, without frame metadata. + Frame metadata cost is typically ~12 bytes, which can be non-negligible for very small blocks (< 100 bytes). + But users will have to take in charge needed metadata to regenerate data, such as compressed and content sizes. + + A few rules to respect : + - Compressing and decompressing require a context structure + + Use ZSTD_createCCtx() and ZSTD_createDCtx() + - It is necessary to init context before starting + + compression : any ZSTD_compressBegin*() variant, including with dictionary + + decompression : any ZSTD_decompressBegin*() variant, including with dictionary + - Block size is limited, it must be <= ZSTD_getBlockSize() <= ZSTD_BLOCKSIZE_MAX == 128 KB + + If input is larger than a block size, it's necessary to split input data into multiple blocks + + For inputs larger than a single block, consider using regular ZSTD_compress() instead. + Frame metadata is not that costly, and quickly becomes negligible as source size grows larger than a block. + - When a block is considered not compressible enough, ZSTD_compressBlock() result will be 0 (zero) ! + ===> In which case, nothing is produced into `dst` ! + + User __must__ test for such outcome and deal directly with uncompressed data + + A block cannot be declared incompressible if ZSTD_compressBlock() return value was != 0. + Doing so would mess up with statistics history, leading to potential data corruption. + + ZSTD_decompressBlock() _doesn't accept uncompressed data as input_ !! + + In case of multiple successive blocks, should some of them be uncompressed, + decoder must be informed of their existence in order to follow proper history. + Use ZSTD_insertBlock() for such a case. +*/ + +/*===== Raw zstd block functions =====*/ +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_getBlockSize (const ZSTD_CCtx* cctx); +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_compressBlock (ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_decompressBlock(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); +ZSTD_DEPRECATED("The block API is deprecated in favor of the normal compression API. See docs.") +ZSTDLIB_STATIC_API size_t ZSTD_insertBlock (ZSTD_DCtx* dctx, const void* blockStart, size_t blockSize); /**< insert uncompressed block into `dctx` history. Useful for multi-blocks decompression. */ + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_H_ZSTD_STATIC_LINKING_ONLY */ diff --git a/curl/include/zstd_errors.h b/curl/include/zstd_errors.h new file mode 100644 index 0000000..8ebc95c --- /dev/null +++ b/curl/include/zstd_errors.h @@ -0,0 +1,107 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef ZSTD_ERRORS_H_398273423 +#define ZSTD_ERRORS_H_398273423 + +#if defined (__cplusplus) +extern "C" { +#endif + +/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */ +#ifndef ZSTDERRORLIB_VISIBLE + /* Backwards compatibility with old macro name */ +# ifdef ZSTDERRORLIB_VISIBILITY +# define ZSTDERRORLIB_VISIBLE ZSTDERRORLIB_VISIBILITY +# elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define ZSTDERRORLIB_VISIBLE __attribute__ ((visibility ("default"))) +# else +# define ZSTDERRORLIB_VISIBLE +# endif +#endif + +#ifndef ZSTDERRORLIB_HIDDEN +# if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define ZSTDERRORLIB_HIDDEN __attribute__ ((visibility ("hidden"))) +# else +# define ZSTDERRORLIB_HIDDEN +# endif +#endif + +#if defined(ZSTD_DLL_EXPORT) && (ZSTD_DLL_EXPORT==1) +# define ZSTDERRORLIB_API __declspec(dllexport) ZSTDERRORLIB_VISIBLE +#elif defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1) +# define ZSTDERRORLIB_API __declspec(dllimport) ZSTDERRORLIB_VISIBLE /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/ +#else +# define ZSTDERRORLIB_API ZSTDERRORLIB_VISIBLE +#endif + +/*-********************************************* + * Error codes list + *-********************************************* + * Error codes _values_ are pinned down since v1.3.1 only. + * Therefore, don't rely on values if you may link to any version < v1.3.1. + * + * Only values < 100 are considered stable. + * + * note 1 : this API shall be used with static linking only. + * dynamic linking is not yet officially supported. + * note 2 : Prefer relying on the enum than on its value whenever possible + * This is the only supported way to use the error list < v1.3.1 + * note 3 : ZSTD_isError() is always correct, whatever the library version. + **********************************************/ +typedef enum { + ZSTD_error_no_error = 0, + ZSTD_error_GENERIC = 1, + ZSTD_error_prefix_unknown = 10, + ZSTD_error_version_unsupported = 12, + ZSTD_error_frameParameter_unsupported = 14, + ZSTD_error_frameParameter_windowTooLarge = 16, + ZSTD_error_corruption_detected = 20, + ZSTD_error_checksum_wrong = 22, + ZSTD_error_literals_headerWrong = 24, + ZSTD_error_dictionary_corrupted = 30, + ZSTD_error_dictionary_wrong = 32, + ZSTD_error_dictionaryCreation_failed = 34, + ZSTD_error_parameter_unsupported = 40, + ZSTD_error_parameter_combination_unsupported = 41, + ZSTD_error_parameter_outOfBound = 42, + ZSTD_error_tableLog_tooLarge = 44, + ZSTD_error_maxSymbolValue_tooLarge = 46, + ZSTD_error_maxSymbolValue_tooSmall = 48, + ZSTD_error_cannotProduce_uncompressedBlock = 49, + ZSTD_error_stabilityCondition_notRespected = 50, + ZSTD_error_stage_wrong = 60, + ZSTD_error_init_missing = 62, + ZSTD_error_memory_allocation = 64, + ZSTD_error_workSpace_tooSmall= 66, + ZSTD_error_dstSize_tooSmall = 70, + ZSTD_error_srcSize_wrong = 72, + ZSTD_error_dstBuffer_null = 74, + ZSTD_error_noForwardProgress_destFull = 80, + ZSTD_error_noForwardProgress_inputEmpty = 82, + /* following error codes are __NOT STABLE__, they can be removed or changed in future versions */ + ZSTD_error_frameIndex_tooLarge = 100, + ZSTD_error_seekableIO = 102, + ZSTD_error_dstBuffer_wrong = 104, + ZSTD_error_srcBuffer_wrong = 105, + ZSTD_error_sequenceProducer_failed = 106, + ZSTD_error_externalSequences_invalid = 107, + ZSTD_error_maxCode = 120 /* never EVER use this value directly, it can change in future versions! Use ZSTD_isError() instead */ +} ZSTD_ErrorCode; + +ZSTDERRORLIB_API const char* ZSTD_getErrorString(ZSTD_ErrorCode code); /**< Same as ZSTD_getErrorName, but using a `ZSTD_ErrorCode` enum argument */ + + +#if defined (__cplusplus) +} +#endif + +#endif /* ZSTD_ERRORS_H_398273423 */ diff --git a/curl/lib/libbrotlicommon.a b/curl/lib/libbrotlicommon.a new file mode 100644 index 0000000000000000000000000000000000000000..1ee3b3e37bec6e56ceb57e157667db7fc7efc77c GIT binary patch literal 134428 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�_0KnaHtbgw@7?srl|NY8@^+5+P1Q$()|I`J{ZjLn z{e!psW%RR4daiurwnH~=z2mz+cTEjlw{h|DD;}JCVEm@rzp>q0^48ejH-2&TuPZ;e z`Om)y)9YjEg}35NhUSDPM-M3c+hR_U?Q)8aoT5YGz8XUhcJ^@n&nq`Qi zD8{E>H2EkQ;&3-loXI{cDn0wslaqJF9e;>?WlT9EXI1R%=~YqQ;|%spX;JA(m~yqF zdq_p(E8|^KMn^p^IP{=|@BWZbO6!@z&lW|#GF~NR2xa`5iJs9SUtAvdKGG2{zeD_y zK+%&KN<);{xKT%+iuENjWSIO&fugjV%aAyDT8{CyGx`l=?{{u;UWCO#hwtDkm(238 znRj|sCa2|0yjXLB7oBf2PBLCpP|OA~nHUpuz2b=>V~oNydDjbU3hjsaFF#&DiaDbH zeU>O|d^VphvPWi#?u5ZyElShaJ_M`R>HlPwC^IA5sOSUO7|jyhCYlnpA3jTz!@lj% zW$7O?`d7p{kI7|cndBZrV2~m)I5A5^ovn0aOKF%=NTo&uN2bo>V;^iV9vx=ErwbXK z$>qjp>DP3o7T6jkr(iZI@>GLyU9cjt{m^C-w-xN%!q3G?nkyx^GFdxo%ipQZuxqZ= zkZV4Lb-EJtak4eUq7J!O9zytAJ6y=cI+Rd{l@d>k4k{%^xvKfe!B6?@)IqBWati-s z78E`ElM8jM1LY{-SbV$-P*M`(SHPH>@) z7dQcm{_R6wC51W`ig>a8caq$2UF(<+HWoF#Hq>F4NuWPikqfaMPl#fVl|6Bp+t>}9 z27`m)FidJbA zt&dCbMb4sIWgCSn?PmI)+;yGVa{X=-?m9h>NcI`rg(yC{i<06oRw zE=s2%Ku>mfX-kCbV*0~fl-vkc+H|<-W`Oyo?`*B#Oab8vQDF|6!>IQkChl)IXGC6+}XAqR)qcC zF?)dt(bDkGQo}P-P-(VJ#Yr{V3=F6j^sCW+o~XrlCT`YdSTpxxC$jb1wLPqn3?5>< z+mJn)M+wA1FB|!rk%AmW$q?t?AB`<$()>Rh7M1QX)IAixvUOr)G*%*I^l{Z0!NF|- z+V#FP@wJUuAA+Y5Zvv!@j>4KF%ux?*QR)6eZt;+-M@L3u!=#LkdYOxf|9sKih(s=* z{!wydq_siH=&0)ihsIU--;=o7|N4nnBmeoLoRUjWbd+Cc=OaH}l8Uk+qv>P*K~?YZ z8R6-HRCgRhtHJ7yb5`q@ICBmyhpao!xzohyJ;)_6GB3Q4IzX8Ayic!L`Kni1qza?>Z(dQ*sQ+Zs=Ae2QdPIS zw<-jN#n`leq-~pVe01Bk%W-Iy%ds8Dv01c(w%UxtQipcbVWw%?c33VK%VpEZFb;#* z%lZHI-siE;`Mz5`L~K{LTmns^Ur_% zl~?ZCEj({sNp#k~q*K0sXLL{Qq*I>#y|(VuGe1df-KHaS>OU0s#?RBKx$F5po%%v< zY#E(u-G}zksrP*7rMb^MOQ*gZ_qAhm>d(_X`!t;jw{-dTm+p3s(9*@+m5}M(o8C`L z+4a3k-F2U!rPj^$(9)mP-T5Fb&E3auq^0fLXQ2OL?u$R7r9Th%B+=5J!JT&MTS?rC z<#gK6b?WYXhE97a?w;?^Y1VymGo6;Z`yQv$toyT5=rnfU{$SBP^Aw#{;+9?gFfH5v zcyvdeqh;fJ+q*^|Eqf{Moe$8m7jnP<9$LokXk73^wXS6BZ6tys*x9els{QCjgw+i1n7 zR?>>kJx43PaqBO?`ziA16>uw8T}R@!eu-A*?v3B2mF%js(f#w+(Ms#yy`NTk_tCG= zN_L;#Mk_!2-qby`msT$3{%SL=WcNepvxr-T@x#kQ6kJy3dZ&>fAlJo>o8f<)Zuga$5c9J+GYm zKRamkKOlF;>(E%-#PfI^%QSqBFkw{NnDfzd&dF9Nn2mchf8C zZh4%}wC*>bqcd~&udbsrf1d7(chZ?pJ^8ZSS*P!#m+aPWqqAPF>%5E3`bE2=U!${f zcl(`m)~n&ZG(~5<67IPh>8ujB=Je-j%_VQ4HG3ah-1TgxH813DxQ*6WSKC5s*v+0# zYwmjB#kmiCoYpMnKHa1>FUCFaX{+^v7} zwX}ZlB&|RGV7YteZ_s*nUp|q#|My;6Z`?Vn@1s}5?fM{{^Gdllf1l3zMYwOgfzEmC z*66->7j0Pb26bz{OB=R4@ejkj<0;x;-Fx@ahF8M<=X+>_b^mQQZFuzU(f#BZ+EC&) zp7kAiN$&Em&_?Utuz@zd`5oo%@OIkB?#3fUH~m)H*gWy#+-<)>8~@4C#xLFU>bq}$ ziZ;F&_sqxX++X=j(OuR<=f05p$>VhHB5u=`9VG6OyJ^$T57DMwAEQlIt)@*^zlS#U z{*U&qausc|ZuSw{ROW8)qD{YbQ@OkQdD`@k$$jG^wCTUY#*ZC%>F)1tq)jj6e*6G! zdKKN~bx%=noA0E}+YZp?J>Pn1?%Jzqb2~S&n>H_ek2e1%{{6rQU!1$QgEr^xGwW${ z?jGDhn_r|mZ{7FkMZ2l(bRN6uM;CW@yr0hV?%hw)dFuKBAa@zK5CurNRzfRrcYiV2V?nGSe++)wuwpYUa{Zq7U5qI$!gLLsZ zUwC2H{Ulv{)92OQ{B64U7v^pDx@_w1 zU#$E7cj>YppDef?r@Wh9l)I*fcD&l|eTQks&*J{w_i0C&`@(B!NA8~ZDed?S|N8U_3+qr-L5bb=a?rTrcPVc_;N!s~R-T%6Sc9ys+Hg(ZI7&rV`x?(YR%LrY; z?zf(A@9srsNA{$q1rd5$`NQSRCAQ0L2V zUCSP%SIk{FPF=aXiW|S)b+XdQ`Z+D|3BSDT@T^kuWq5Phk<|nlhpMH@`&AEUQ1n%Ax?Hr ze~r5S_s6K~S>Qjuy)x0fWp2JvnV4IsOjPGumHKRbo{DI7R~J==hWiIcM-No$@PWB9 zOqKqTk;-(VI$7x*xnX#0sM4Bm)@P5l$or4h<}0<6mD$?OkUUvC83+^8wd(A`T%|fa z%?y*(`D&mscaBXpYqbJ62?04{OJhs~IxQ3nsgRUfpG$U3s8bTaTy2(9UY(p2jVJ1J z$7)R^Gbc>ekJeiAOmMdHA*$0y8_oLsv6)t7wlUF|om!Md8JtaL7iM7NiQ}nN>yyZ^ z>FM$6#PMJ_PJ0(U9@QrkPL_$xDvDuqwIy;KoG4}}54t#2!p&A^YC#u{Zt|8{ zA)KgAFQgPM4328_pM;g0jay16ERDlR0%C&4t{v&`?i=WJ+Z1uBPbPvx-4jasul z5ws6MnK;*|&(7DHfykIo+63}ozE+fOdCHAyIefwkN?I$ni^}qpM`byRQTalR)&j*0 zYAwvgV(gocP$~NAF(+qgGnI+?=5(+OfQcD|-ajxrTA67~f;IeP$y7mot5t8QoIpLR zH)g#*NRI?x2OTHpP@x4gYI4KVikh);S-Yu)*@<~X6l>WGs#hasGzuKrn~(r*kf_q# zKU$d>pQzMkr6F~|)Ocstz9LpYa-R8SAzW=@JPp<;5q@(Mt?}{NEgJp8Z0hF}I{hLO zgOfE;I)X_m993naS@SXgj1G2IdIrWSqhlijgV%6%D}rjDYHPN$QXOwewOg27Xw@bw z<8^Kzb0L!FB_OjGxw)JQq24u-i$dmi)pHQJgh)#WRH=7O=G;`7EQ%;<5j5)`Jan*s zqd$D)7lWa(wJ#9z`RmxA5p1}&baY~}$;x|0#iGt@iQU($*u zu(g0?k98qomkObgS#Bv{QA!+rQ8B8Y-0Qq3dfsU?p)2 zI9Z#jE=*&PRc&FWVyWD2wx{M{E7cYTV>Uc9_?}c!XqX_T)M`swx{g|HJRKPSjqPvec7Se!BS7+uhKb@~m$t))7Iah7AFn8fG zRFom0wL&b@VnWd)n5!~ztj2TI2*4UgYqPaxb-I3QZBmmGshqpMF^K3yV+PUs_CumU zIx3n1C;ZS@uM$jz9xF&Sge-Ve-}4k=x~6{+!@dIpZ|UzV#F*0xF_$nn4RT74xE?=(E=refFD*!d?inf#L16{#a_p9CxKLF<+Zcv&zYBM`C5U z*J6r2C*7LI&Tk`=uRr@M)tpe0}fep2{2yj2Jtx6pKYw zsw619UIKT@TrdE1rEz(0poG|z;@U_Je0|@3&o86h9s>+Vj~5ZBPDs$MOPf~jKR!9- z5wD-LGgf3s0n)v%f+6(b%Juy>R0an34>`M)5jcj7+bLHU%E}bsB*{pRen5jdJ{|donAD5Cg92jt-EVG4tMd!ZnwKaogLK6r$FVggT63r<7K$OY zjgWwTG~pNp%X@q)q_=-$tkQkxh?gt@wA1LS+jg6`LQ(`k>3vs{@MfilF54BBb#&A^^Mhj+u5f{0f4T8`x@hwO$P(*x&nmBSwrv2F7&O#Ih z6XC&c#6~O=IMBVPAkbhUF!+tYh-Cs@DK7}ka1oqfMtF*65xA;l3P3~-afE6-= zMarR(8*DoJ1~M=MyugIZwGp9>=@}Y2(BF+k`Os<&5+ZYFbTgWRC4c;EgptKxsV!)s#o?xgzjs=Awo9F6Jvn&L2SrcO(D}kD3+-!*(Ge!?eWZI;#i|T z!Gqsv%#?WO8wT3tl*xwdgF8Mv$ z1kllJ%2BDEn5)dB0cD-Tu(8>qcU1C)Ynx(Y*a_`9G}dpGj#$cLlka(4gOD+rLdOZWzU>{O6>ovcFmLvU#hpzAMGdc!Dq&c6_&m)>a36tm+MDt)i&Ps$aLW$Q% z_Z()#H;^CUck@k<~9km(GHP77-zyj@fv zOw^h_^I0xef;g~`1*eT@yLQjJ1W!F*8HJ4EYG8wSxQ?%2h4D? zJV;wYz13RalPO6AY5s=^* zU`Y0$CsiSXNuc0286L5$y$A%`W>_#28H-6^is}YPtGEP}1jUjkUe)2i5Y9hv>fRE5 zg>=gHRR7@Ei0iIJlm#=uBsFr`B5u&M_A$ZK81+W!QFD=CDzo^bImC;W)Mc)CrFKk) zk|UTTN|Jq&_u=?7SA};=Vw9mg4D)(LR6x90_6;BE0h7_+10qg6R)nxyyEvApxC2a6 z9}%}CWa3ns#dTqmM`tdaEOc_lIzO)(7&3dAik(cyp=9e%=`n`Lqgcl0V=`<$w!SPj z>t`v^A7jh0jL*kr*nDjLy-CuHmt_QRj4FdtE+0{3V#H>+bm&-LSnAhUGc2}0mM~D12PokvN*izqv25MF zqOgSqLK4Irhr8VxRrL8^#!TR{W@4{5gmCvFGmN#>8z@E)Q=BAUh+;UGxv}7woQVa7 z3k%i(!G#%woa2^=P)XwfY(X5Oo;C2X@#26R^{{}HcKQLv@Lq})dR}GiYFWfkcDyV24QQ+ zZ#{`9!J9SN^-2iJ%X2e7U~^m+3JKtZ_w0|yGx0l|-Nf(Ycq;p+#`o?{xRW!c;J^{n zjDzzT3D?aXUdonIFv}5Rw@25u`PT_ql0~D-9{ZcK@K^%|z*9m(WMHnr<7#GY@nP~> zv&mCh_JhjYG;|unDeAw(2h5S_quZyW13`vcWC}i=Rf1S{R z#XoU#0sCb!AzERW!nTe+wv*1;JuUi});hK@KiRk$8^4~OB2r>1Q`1$xl))^VQtRjF z44Gxdv*li9idY^wd6l!3gViQx4a}N^59kc%`J@acmCXTqkcq?bHl>ne3sZk$|JJ1p zV%;xpqI}`xa|C+woJGW6SimqopFj)YxOxTmJ|=NTLZjlqm75c2ZlQ(qSS)$2VM=zh zHs8F3VWn|`6+#kPe3+d>u;q*B6qI*I{ zAT8#6;L0GD1?Ngd;L0H8isd43Wsq<|3!bF2;UZrSGN-#ck+Bw0k?OATlqylAwUQQ& z8=a)Z(*d{^otxQHnXA@aV&Soo9xCDmVV6hu$Ri<2pXQBT06t12eYb;<9 zQfiOJ3b0g!1g!gm3lJE73&qvh7GD90>hpaNbP@{S!dB=IFcL654NI_o>BWkw30zQa zd{(Ye-P~wSqI{}P{%tLcS0V}@)EKNRV6dP+JmLZIBYeHZJuYVA<8!T>;~6HwxCRVL zyW55_m=@?U zZaQ(KlaE*#q&_}AT~q5SlLQ5`5jZo4U3w^oe?8hecEq)ogBAYm+Di4b=BqL;QXi_T zgl0B$MiTpE{e&qZ>}#UL#zMo$F7HRo@N1HQqaaF66%#%D&f_{B;lh*3Czh!1T<^7cG+y8tG2NHEy*!D z6eM>+a~T+*GEAs+{A+{NXZadgOr`T1v$2vMW%EhZdmHDNtAw@Y6rW>jy$#JP1fgE) zPqA7jrVS~wcUJ+~T|o9oGLJVKXlIYh*mW=zAU7Z!l+7G&=?7zZ;>O;O?i@oT+M(ZI zr?ssxc_Pc)jy9gMYk5Ck)zxKuHW;Sl1#S%HLh3r3H$+x7M0C7s+yb39kf=_=hhyfzMluFT6o`D8cycNjdCVb-;;gt=hx_ z##gsQeXvj3+Y|C!eWBSup*vnRB{ztUkquik%ea&q6DjF=afEs#$k%2&Z^$ zqZ)uY<}pXDGd2narlcbQn2{EWZkOdVj1E!9?Yt=a;1iGzO}V@^y$gP(t} z?GacIBk)8RRY z)4>?Gg5PJW zp=BPO6NV(=RzAj*m;`c-V>hXH3&nvDzuetaN+E!=Xz7o#g%*YB8E-Q#(atiXz-#+#B^2JCM zmW&Q!m`9=%7zh5NnF}R??bMj#rwTAxPK740UakpOsJt2}k1c8i!IkkwgEJr7yVF<( zuk>RH7~P3Q^x1-DUTTPN_FO|CB`Rj(NV-g~ z@+Qo45rSlk`GSpB=Bt>ucED0B$a%SuGhS|@jCWV+;xm1*e zqfFEU8NWucrDU~GAW4Nn-`A=AeIivWo7Xf^Ck^lQ5sTD(ZC4%P)viK!csMP>mNXSS zjsYRT+_qd1m*CRdxISVOhOjM+w>k%vEN=Qnx1xtjIhFoyU8PxX8`E*L#;PsOV3z6_ zIiyZB_0_jRQiP4;)`hcTnveq>qEeY5j@OPu51fOLRX3L^K5Xl{1~*hI#wy{&T=JM( zfk9$D&L<6u8pY93Ay~~nzon(cnm&~4th6LN=FT_ATh`Yk!O>Nf_niq>X&;(!q{WL1 zZJ4>U9$__}57Ib;n4STv#5kf@h8HoN^q1g%2qcxDlM8$jLrDlN%shaDic*?iL?Fp? zSyM)-QE9oT&aB8?jF`M?X)9FPi{>^qDdOIsN*5WLHF<#&y0jC42QH7cYi>9mM~{t05EL439xIkN4++a+ z4VP%Vcw<#g9HAz4&dG%$XaRG>-lnp1a7o}`j`#siNcjP>%UnrJU`g>L_< zYc|f&W-U@NeBxb3nLkRK*--GuL~nSVawW`(ur$Qg4@n~6Rxt9hL$>10;#iF zRvU z&X@u&?2#cBI6d2oJ%mCGVjhm0---#PKguZBB&*-4HHCi%H&mFj=Ho zs#75u{Fp#?ydrSSf1Unh`YOLH#>+yo%R_g_B4$`9XUt#*I~+%0EMp_ihB-!69%iyM zZe8Oqlzu(j#w3%*NonZ9cuWE+WCMhLNLuyKbuxEK@*SgS;El#?&LF6+JX%w|TA?iR zFP>gRS|Z3rsFjS%sY{o8;8u!5IT{-UNm*DyhDLZ0*sb!YwCJn!4&g*SN)RHHM}w)N z5L#t*t74K@{%vu__2H)JIv;TK??qBp6trI99N3roRJ@yHF_Ce`QIC5Qmi4L6XF5Uxw%ElxMFH^Kuy zR-|}N-@sIrZNW9xHJ}dS0cInoIVgrZFfck6In~FbRhH>#lg0;lc<8`D?+v)$4@%alLEF`o7IW&d{=ml zT)fT!I2>?Xe|Ck<0i8J@IzvT1;N^H?>C)>!K^9KShpX2?UJ007G75~Q%reIIN|M1q zSu%p{xdQl*d?M0l&0&N5sI>&m6%;Tqt4Pd1xC7!fcxMJ*!T2ywN|Lx53r#+a;1Y*} z%F)mCLiQ`GgIz$baGujap@Oks_QY&wA97S@87eM7zU2B)!l$6SM41K9>zN5?3NOp` zqlc5YgM4Ba&K&YX{&I%|ClRqbBSXU01Rp_Mlm#DckUJTrOjbzOo;{tfui#k9G)@)b zunqc-lZxSW{P~7E%Mc;%3Iv1+v6IIywMOFHEq))T`?90wDdpa@wBni%2XKC7G*(AEUTV3P}6tor*j<*r+hUJq>szY86S z7;@?51JBK6I+8;M77UB3hlv1xW#h;q(KuR&Mg4fmCI2V`1GUN8uKezs#p71I1W)(Y z9hCB5n;)gluRMz^yZau6k5AwrO~S{zWE=C$UJj*U=aPc}9O`5NVF2HY;qPED1J3YZ zau)qg7wq?oj;a}ooAIHTvCoaGoo}`fks8&0|AIq}4$t$(vWjp=G8muI-(gBq;N@%3w0iSahMmAEQnz}i}Wx{Zt0Q}bMfIr z4B($_Gh!?^z9CRh^~hNd8ep(%dHW2Af~ADvJW>+)F7Dkr75S`Ja6 z@!^vM-tPw9!pvFbN3hz8I~k=ga~m!hkw6ptYhmq~fcwjqqHKPV86b-bcitkC&eE7J zhhFhR541~&v&YNk@BfYz~0ix~*1`CmqzUDsPLD zRE{#BnazUu+(T5!g-`hHeNWZIAM%F}^4x(tuV(O~h{}Qwn^|8&kdtV^i#>n-woCAL zW&T~6e|O^N5|8IAaJkd*`7w*}h5Gb7j#Z07a*Qttp#_o!meoX&T~ZZ+Yvt1)vGzGZp_0Pysv~}d`p8^b zxA2P#Bj2(@CFWzr+_*43shg3_RZihZ>mndn8`Vw)Xq}O|r{a7~R9U|Ed0Mc8hBGp_ zHu^AJ9sTdnc19%DP%x!65kEHwZK9S*SR6@2GKg`0Ce0PKVkxW(8v|4zq<(iS9L&H+?F#N@! zLZ_x&wQ-f;`r**mX*-f*jxTGEz*R(yBp1pc2oZdG&YPD^fck3B(Kk|nAD`i`&GFDg zpV7y_8gKLr@q_k4=>n{e)Civp(F>dax`ewBnr}`9fwfMHIIK35p>W6mbITlU*oXVNI z09UEvQT17VWFE&J`7|ZpFe&8>u+)69d4O2O6cHv=E1tw93NdRLt^tBxLA0b4uS>c{ z&8UW{M}{&lmQ_zwrtnpZAc12nN2UI<;K0jMeK)eyNx6%UB^NbFk)&-l;keD?Yj8&O z3}Wf|fYosy>>s;!$bAVeg_5%5*f^~I@p2WIvWN;yE>nT=Ooh;qIF&frxm~>RuF2ChP zmLR~_V`X6l+&GG#qXCynk`6BTLPMZ|kg$#{R3PBoi@cu~;uGc^6u;~0Eho%8Rn^B{ zEsQe)MVwW)?W_$@PT&w}jf!fQ;mj`$ywpxz;*B*ohJ7I(meZ>79Ng-NRoMb2klu6( ztRbCga807Y0$=5t{TP3Q@LUYlPASe^RT<9wlQlk@ZiHwn&DYfU_4`>oq>&TFuZ0I4 z9oE@Jwn5Qc86SA6Tn~Ae#j77dT{&b4pNh(Sa>Y56a%J%aT77H<3=$H-kO0i%KbH$fQVKp&8dx^(bCx-xl@ZW~a!MNt2b)V6w^a#Lj%hUo%Uk&Qy=%T)XtC zGG4lQwmQY@yE=GES{xop$iP#wC-`JhCmF>BCNr`V%(I%oWt3=#oM!yXC1JmRfWeMj z7?n2|eCOm=f6XA*A!aULo76Q`!{i~$HGvfXe9NSAa-zxeL;4dJTmWKQ(J#UTIB?h@sCGPl0q0&54vOWGyDd2sUnIlI!2Co?y?8g=o)?@t$S0{R$07Jw#qpLH#{B6Mo z_MuxXF3HN-tR2Nb80TepZJ&*=dqa-OJ)PXKb$;!>G^De#dR)ivDDd%RTo=gg={g_R zV;N>EFMD-7@912GT~{3>Fq7}T@xo@n4KF{N8gO}OXoBD3c0xT6b|)P!Mob5#s+JP$ zpwxe(o~H+HT7cHj-_MMbhDb*2K2V%Tcm(58++s~|J*<#oY~&OXgYh<%JaJT+u8%jX z{B8ipg$G<3m>;<>weyB7_cf7V5H{URwTWjKn2vYHxOIOEGuOMdIa)xhAk&f7J+L z=nTw*OPX>S5j1MV`@As3LCn3_Nf5!T1XD!WaB&XDS8s4s8)DAp0_eZ;yqzU*DC*4IqshKpHm(k^8%u7+?j&#?9eu z++BP2rg1Zn#LYkww*<-J_E?PDAtr7?Y}{<~qZ2&a^_c+e5`cpw00%kATiHGcb0mOd zWG-~V0-{F*&B-7U4h<8OImte8J-1yrrt4;R}Yv?_l)_ zf73iElqqWLpAdq;1T7KG1;MKoc^NGg4MK@%pheMQ--2jC%S1DwD4NltXfX(csQn6R zXRwblgPjmpGIJq0?1TikHNVFiPP{QoC-Abv9-AEY#&pQ#ZNBua#h3S^9fS^S`j*aJ z9k@XrXzpfr7gp*MVw*5{RxxTOo~RdlgOS-2baIT&q|WD3D~z~u6becJQpwo=&ZGlK zV(>fUnmQ-O9Yn~mR82l2P$DUm0V^uiIu)xve2Ejg2fl2oFD6C&A$swJsCmUsA3)^n zX-=5hBc3RQy+H_jf(-WHMd1)X`*&jn!|T(Wa18@~fS@Y3W=sh2m`cR{5EpwwT*B!a zTNvqNjHbK4yH6I7{CBiDMFR5kSGBP98Q_`f$qGhg&13TLYy#tr4!0=bW$=+CHwFE7x*@U{ITa!4!DqSxSf z($>j~pkE?osS(Adv$dPX=ifWv==${_iG}*~Jhg>1+Aq5njeANQuSCgpg-g z3#{^JmM#XT+2$51Gf)aoK}bz=P#!$a3J{Ou`Bjb#=CNf7jK@>)q@2t)3PD&>b#Bg& zzEj0mURxrs#3V&97ETWL0%W`js!utWB*ByhV`-g9mDB7VZYGcuI3WgZpT@=Lx|NmM zWn5m^af>aHB(~&Z7+D_3(hg>YvMrkAfEc(WgmCgil7l88bW7BvG1sq+Zf&w7Z$>l^ zWsf{cW=yhxg{mZ|7RIt763E5O3?zQtl<(;IC9Nz<5guDxqc&5po}^itm@ddJ zYkmVUWQpW~8{)fS7??s%FUF(~8gN$W1;p5Z9qf~CpxD|(#?Y`i-a_ejcwX{Vf^Fgz zF-^Py%3{%FDroIuV1t;9($H#H#}P`3^T+bw0Dm`$ZQ&q{1?HO#UT%q4Y+xOeXzd?Je_Y@fJN z!XCEL%~&AEq9-rp1LFFTL2@S^mMK-ajyEITJz#+3m>YG zy{ep|%rJBbV?c3TsOP$herhX~m*FZcb|3!p7e0NHa_`QfNxOoNnVV6dewup^fBc+# z#`+1_NaincGsYh&uUv~)t|D82Dx=qSqYF^h6J4be1eOq~>`rBu?H3l{{E>;%BA*5C z;%_o(iuo73_-MKMXC~crU}nB?Ty4HaaSke0C&doS8y7jsoW2G? z^%z{$v_T7OD$%89W|#huk6%r?tB~?Oux0|bvT8cu(^rET<=yzG5c^CVqnM9GBKr(c zVv%u&6kvUeDn#T7E|((n6ps2CHHD8cuC+N1!5zGfi8qRZV8P;;MFi`4xxkXWr5thH zx{?A3TkwZZb-*O2n@t?j;!D4qQ)Y031*7FQ!SI=!(onjC>*Ea#vFIMo5qWZKlZDPr zUu^vos9-YP)e7lFL^$5g&89u!)R&mS5{0;Z4z#Aa*KGI7_^$(!*hD!~h=MvarF z!Riv4&!PrIBeqDEp|Z#3)5q)jy6ff<-A2~qU`DKiHFJwNA24)dODQ$bD{Rb7>V<9| z*oVs**^7z+Pp&RRv{khS!YytOhFjbo5V!blb5PvkWpI9^Gw}NjZD~(<5FHc7rL0UA zz6n^WDt{}mM2vhwu!SQV;S_v`ytoO^d7riG+EnKaC|6mtilp@$n8{D9N8x3poJr9l z8=s8>t(={2)HBrt^F2a6Om##D2OCD;p=68>P8d-nQG`>0I1$At>H07pqFk~o5N%_t<2)efXkKeNYS1D;%Y zi74v7l!dez;q%wfMGqqeX5a3Vkd7UnoGJ?&e7jQ;Vt%^SiQc_5mf|s> zYcYJM3jY_gSrl+SEbe^#@eY#i*fekIkI~BXp~B-qnGN$~qT(la;&E-8{N{on1wZ(- zGzV{($ppkr#e-iPkl@vI&EVxi;O4#o1&S7tL`mGZC zfkeSr0pEB^84aj!DFw|+fo$i?B$x9+XR7F>OLDR@?XG&@U+^8P@-ZF!Ry*Q{I|qSZ zc-&nMxZ$ThP%4c4v8*~C@E6ZyL%t8e9Q;c^3j!a1=LL`X^GM-f-)_lW{pE9(QF;1M zk888nz)v3PbdzICV}?EK$zhjJaB#gL41k|&96NTUkY0dOK^PY^nKHDsnUJl~BCu$b)@%|aq(8TtDo}2?G-SDToXsuKJwuM2 zN8St%bw7o}7{P|}%Uk98A~{Z5Fk@BTtx2FlOv>3NCdXZYJb6VX5#_>^ z6ZO*pj$igmi-}YiuiWY6A8(N){3T||AG&w^3Cv>=`Fes9aiXMPGl!)%bD*`EgL3^G zoZBqrE>|PitV~BNH|V26iRRXlE(+Fsf5=h?|A3LPrh~`dap*{1F3v!lG*z4r z4iEK?V!kwR&0zP~p^<*QdzWLWUk4W%rd?wY$RA7|=rhthAi>mQ0Toxz@IXrZIe_tU>4eCM%BvCD*nP4u0qhqK9*3=dhu@Nv*4VVcX9T>dk01ENw zu*p9QiqHrcp$5!^vbetPF|4ogCHP<~g%Yn3=L6-Xx~F?|pf^*{U?MK~jl76u+Vzec zNHW>^MUeb9Le!rL80{Z9JkZ;JV2I}tK7ke#Q4uim45&ht)i-W(p`@FD{1x>C2e*G~D#3N#+d-{49M|WA`256K5bRKNW}SR;ny*>}e%z&y4{1bz z`#j4aeIRxp`6(pyXFi88W1Z9fkzb9nktu2t<{4R4_ex$GU1c6$mI4)>Vj*UZM|i}Aa~M7XDfvDih!{?|H?2Tc*F~7kED{Uj>HlRBt&C`v=&L>u~}Y1PRvkFk9H`h zXND*;IZGHq!4!s8VhckpF-A%?*6{7Qgpnh+P7`T?^{I0UYr~WveD)>*n$yVutvWGL zo8ynvYXi?;)x~PN)cR@@pOVCu!^FZoK9^_+3r(ExI5B|}b_PT%VqQ1&&4xhI9U(1F zuIH3g@kwFc&5!^se6JgPMruIh$=!r0BJ$)QU)c3ci2#^5#k9cV-cHmB7PqGUYb+vF zmp+g(rwVuIFci*6kAI|?oNMCmk)*J)w!=Md zWw8I(tZ2(0X%dA5!GO-Pr&y{<#u_9CT-f>S555r?zj|VTAkSbiSq2nFoDCS(^}g$Q z<1I=oAq2@Kv=~DPF~lSbmL(CTcoI)aN~1|>K9?znnZ4+;>R38 zu;`{zB%(~$GH;9%-z>*>pLOWfTEL?iCyk_3sUS#CbjC8OOWCYXTNYhM;pTgv35Tj* zPQX&N<^nGVzUWZ?;l?}wOJiEpu!Lg~vOYzbhw&1{NJ1=#P{3PJ6JnXT=`$gtq{{Hf zz+rjEEM~phR@lqPX)I+NS>}|nL?KyAV#2-%3Ll`E#2lQzS)JP;ynI(ML`G3-l*Sf| zkO~>au!>J6M4#Wk<}7Eb+q7n{$mLeRDiHm_1QCjfk64gW={|HMmlUx?T7*-HijQ+q zH^~)$93!M;tsM!AUnn0pQVixLnUIICH+1je0)}(Zd@2CPS@9Ngt2$L1=l9nfMZmc$ zbw$cy3$taY!?3Ye&YTncwp~k(PT1(G3-iZV5AN|*KNn*pgmJlJ=sq-d?P&LYyzz{3 zkrSEF(|wK5czwr7jg1kX5_f`R8s>h-bz%qbDVVqrUH~&dr*t`35XzcaRVoU&aH6+W zN`Qh8m&8O)z?>-OPt@|53UrK8wbbxF#j>PqRWdwYMiEkryI@Hcd2?f4jTJ<6t|$aN zC1zgiu>%FL(5fEAi53^0!6_VanVp>G2XyeLQws~b?T8DrSjIC%%mN4VK-}-j$CYt3 zB``B+qX`6`Oqq#tuvk3(T+_s-(@6txfex}<0uz5);^)S(n4urMcS59&`bvXR90Ci0 zH!i}Sx(}g^q~;{-iCO7vVl|IhV_}rcp9*jy&n=sUWvwo zUlLSUj!J}Za_XVK&jb&Mvh%5kezzr^AZdGlr3M?R#7$|#?coAsm6Vv2($4`Uc3#HUbK^=X}BAXhmCO1dSj8Z4@b?Bn5mL zD$`z}pgDW3NN6okF060hns7)(1AD~!tR$r;^<++7$CCT9u^cAV`O38VqMD&{$6_hd zGpUKiqNW#Me3kU06jzCKvpkv;1z(m6B3n^lr1_i*oz9im_w?n?fHuox=rori?oAyL zXR-)%kByB;D_|lK>@aHV{u>O+Lk%9S;1RU=p-@dPcY8V3;+yi=Q4e1bRaPSf4?o~D zT>he3Aa{gVFahIhbNWrBK*tRt)xu>*XnLismv5}b;o_CjCChu}Zav3mAI~k^9xQQ-i6K=^5^yFUq>s&yIueivO00$r5TasYQ31}IJcy4Y<{L*GY_7SI6rwU( zp)l#?5e@CjL71FeDYrr5AV&R;%`1c?bjZqCr7@2uZaf^)kRUutsZU{ZKN^i0!?-5t z2s!p#oI8D?3bXanwjksVU!mf=Ey`#M3|LUIreI)A zBIh)tZR7*)TntjpI0^nK3YRGNQF;H>c|mQ<$g55m!jyb@J{4fUJ@15=ug@!zm66yS zv8q17{99&ls=tSEh9y>uunFcXNry{qDC)`B{mL-%Pe*4cVg8LpcSP4eDVCn+4(I|O ztw9CMxuKlCjOq`xjPU3u2v;9$FAwqXRUv*pUQjMVMHEBUS`}MV!V=B`J2AXhDL+wO z+%LZ=DKNCfxLtm_ug)plsx9Cp0t?C68~ygDu;@aQ0r;nT#&x7u9`_0Z@CpOL%Ixv8 zE2Y?bF-+y6hxsBDV?q2dSQ;9Kqf=-%v+g$G2CyF2hr9gl4#`OH`{lccnENCVbd7od zs1mMA$^F-Gs@cPwH?rxYobfUz2ej8ggP_O~iaNFkD?{D=c-Vj^qv`q*(}qV!4XMJz zmlW2@m}9A5hesI}M_NoUIz)*Hm~lm!hRX~%!EP5Ic`TJdE-k};F)_qz5Dwz$dNMo_ zQU-Cekpy!rA|Fv)=mK z_@keJc@DSMt=ioAH2vjC=CUt5v7asPiU)h;3MfC6r9(Z2IA3C8BEFbC;+18NzzT`} zL~p>5@bHDH0CLn^uDMWa5=2^nQG_$t_tU8ed?2qx0??uWd@&p)$QdleHjeenQUZnr z+E}R(STmFvSuRdgFb4EOF=`C&;00bS3-XyHi^&%n(P03ooAppZ-+SJ9A)=Q;sg0&Je0-0vSr2 z7Zr?S;eT>V`9XcM6AG+#IPPP(RnCFB8au02l7zH z@&|W$eef&r;kOri(9E1h;R%C5_Jpxr3mf)mCUH)xwbsOH3fTAq z7EuBIW;Hv2#o6xaCYQPpiNpzxCgsDllgoN3g0f(W(^uQMgq>WW}hvdwUO! zbobt%Gd75ifbj%PJTCv4xnHAx3L<- z>#fRE)dWL0;|~g3ER-D!TD9X9Mo3eS`w`?Z8WS(RTtbp);jjr-0m#-+iddk_=6-ac zZg0YF)0MylNHr|Nn&=`Pv}O`tDyaAymkD4zF$Tx(>|j|Esl4XOlX_;?^fGIT=17dh z@|lCrE?AxSU~G)KxSxTzG_-*Ck1_##Aqc$_FTuBPaFO=~WFf|i zlaDsabLkdk8|a6zELy{~TUPG*qRz3ZygWPNE=PhdthL~`jAYTR^F*Bc*3K^k8yw|;mGOxQ+X82Nsc_j02M<+zWT9$&y5-nmJ zDd$h5{?|bsKd~Uq~*bO zaw#SBxhX6?lYan?cY5VzJy8I{!-HTJFlKTrYA9N^g@%LVB`%_9R-egU#JTdzkP<(TUt~oRkE0N)^NUYoR5Ke3kqb76lwyCwT)yTaF9|0 zhe(^IBupC;hsqn+BwSmfB;1`tKzfourmGG(^XqYqoV$oJZ&Epe6i$9Z36lubhs&?l z%0S>C7*G@m9Ac(EJzXyeP=+i2M6*%KAMl_n^C$g#ps-5i6b=(RjwC<{%-k3&NP$Xt zOFiQP+qWcrvgn(t`JXi0CAGo&fW`klaRJD&i0t&<)IHHDwL zFaU#%AAMoitNTJ4R6^w(6!GgC?^8~i(mY4 zA=FOc-0Pu%I9|nXSx3@;!xkO99CyCs2Uum{2V1m0JBJUD>fo0u05L%+g3Rd)gB<4w ztVJ|R9d9(SwS@*d5o=N9o$?>zG@L2MeCd}woyY=+h6;&UnBXzFex1T4bOEiZdj}T? zOw&;*fl#0qrZFz_Eb6!R;d_OcN(hT?z$q{4Jm-VYX@Fds!lq|r(h}+DCE3Hd#yeDe ze#LPauPZtRao<(3VU#Kg@CVEI3>PFBRLWWbotnndVUd}yOchZ~&tTD9uo|7mL7EGV zgoBe-REW`{LX4Iu#Bfm|MvDqD+D0KJX`y#_L|y)9b#SeTVjUGMkY|+y!LgSnvus;7 z1eV=fQ=vF2SB&tv6FoxUV)JnIWPrKQm_n%E*^mk4fuW)64-MC^@&_n4+gOcWKtbiB6L5#2|kTgiX{CW3_=yiggQ`#ayFg7 z^ZPKWw9(Zm%=#>-%_6EIZ*AuUtcb{^;2g&hH_jXjOVKOBSjwNMVmzczGT8tM-wH7& zRYxAk_;zFbD0+rDE(-38K{jN4R@6niXwlZfI0|%%$wOB-;)h*Vd=?;K4rXkT=`nu(8$2p z4SWIEFRK>74A26QgIWM`v|K3|?XLxKjY#>yNTsEMDqbRZEwDlFLg@wz~mLU)( zF)iYwuC^UuVtIvU$_rL_)QrY#W2Ujt8oi}8$h(79onozLp?R%mEL82Z)+eO2*84)h zmBZ$#_h*LB;g+-$tZa2&TUp#~2&;P~xXij74m0az2u&^|1cXHd)(W4`ALuzW*6&WX zCe%EbJfO!hlm-jbJea&0+%{OCYBD=yjGL%oW7C%vGhs4p(P3#uLG#<`o+VaG7+FFq z4JGpM+A$ihLMWl>1%#7@E=Hef(!nDZ=y|@)^<7?fQV+EB*OYOAhuEX7jE+&nKSQxjqcqN}(U)f^l8HfjIxEU>gk{!N{ z4>wozRcE2eSMB5tvNo*xodQdgi`g-V?`1NWuX{!&_RUo1CtQCm^~tHF8!d$hOuV9_ z@tc4;nw4*&#pKAjo`~@v#wzKGl)$ophE{2uyK0dj*Ke_jteAd2 zWx;i-kQGjfr#op;7d{{;YvWP5c8HvOJXDGzWalcJxMkMEyDI%y zc)$lE`3iK7=%r+Xq901QxJQw&IOI`INKh^bAxJ{ut(79h<%iplbb6ra$n<4I?iLzN z3khOC({qv=QPWPycAwVua*~{})sbH@oHhpK0cF3ol;qwvY(rZtLf^5s2?`^&(X^!} zhYI1ObFCa}wA|n}Num;4xcD}U_OuXI9uq+2u1}9QFib1ZHTYx$9M~L@c|AAHC7d|F z-A;$Lv8&v2VI^ptj|rlR6tu*ISR0}OMNi02^KQGlms4QDB!@r0BZa8UM1Jg260Z*$ z4O1q-HJycs7z zNiboG7-O(E~XUOQm-YA%TC3%jK!(^Qo zlyEbZcPQr?Iy5S>LNhGjVMk1^UvjbN8^D3E;UNr~WS*yqEPxrH3C_W2vq;J1k&RGR zr6aG&HSR2=dh_EHcjfY6E+x!w_v3Olp63`=^m6+AcNncn$>8A?bT`(? zQ{q#Xq{4tP1qRHtcN7;(LF;lQqW&eikMzqo4oYpG(-O@~h%p5v#4IHlhf9%13n}x2 zG=(1Z28${6lr+UB3%xdH(xQ_?tdGncub*`9WXluU)$!@th<`;}r@|}9VQSV+xL)T4 zStqJk9eL5*P3&pjj4%DYkOGkE4(_}VXRC!b=xa^vX1kN4izI8JF*Ae3$Fi{+AJ^go zHnKrn6oD^;7&_N29JAqr#eMywy|^?#HZU}(WxEV7Vp=v!@L1a8R)f5mqr5JTu&t4h zN<+Aq%0jr>fVaL%Q&XZHm$vd)m{K$wubtt;n6k)Iq@o$e{Vo~t7KvD(uH*i8r8;{{ zI9teEekErfFM(A?dT3oVFjA<;y99 zi;&P@mj@a~w^U9!I52py`$$TgsA3W-1IU@GpZ>d)D@luzwVA`^;!zPtXQ=(GTbJT) zQ$BQe1ZIy|!V|hw(3#)*rE?9#ATV(6jMId(lhvk-hVgtT;r^Y6zl( zW|^KCzX^gdMt?7s)cD&K!r=hJqB8u=cO!D4v}7DdlX#IXm4S~&^Xn)HEJ-TDEJKf6<=ka(jcDdnD(B}0DB0vlwd(H_GF z2hNINeu}eda_+n_S<0B`H`tivQ!Ou$irGdl?;gA$9}jqNO6C9$()gfOQLGz1C99jd zz-71NGM&EOJ3c|UJO7c;8nfBn__>qAj zSbW30$q8^Hmm+%`_2iZlmdfYmu<(N#;SzSRdw4iJc9UU=1w12*Px*Abja#--WF2jA zsIT8I8r0p^jvvpuI>PL(PeqBtb`f?L4JH>t0)lC%>nr_fj+|94E{X~wKel2gwSCZ@ zKgw}cZ1~W~@DM)t$&Cs+FMcFigc!V|2qh~phE@6?o!{hA%0;^od(Mpa%GyY=jc{vW zZceT>^TLXn$Em6&nD8rH>XpvNr%$2k@sMCPKoH~4B#T~5F-rge6Yfd8B$yL~<9|R|{hb6U43d6g9I4J&FpYLK0o&WBSl_0j!L5_Z;Xq{O&3&-huFm3rIl)*&B8!XM-s36ez%!SvR6_od~_-F^s{{ z-s$Q+qQ&MHKUd4&+QB513#~bvf>^Lv&O6vKUoq;RX!#kKYZy`{31IB#nn&G4XGI-g z1-m}L%k^G;u%8b&%Ko&Tb;Pn~UmtGcjb`4;U~kAu8MNv{qW;P@$9zI(!DumUA8AnA z=B99Ht|F|lML##Q**bY>qNEE?i3pf4lml`tvom-M@2)3U1^ILeUWi8nh-hnkng!IL zr=fBykenKe0hyGlm4!3s&|)Yqer*IYNyD7vtajB<-j+d(7<5%e&+yq3 z87D#vu4Pum0~!~mjWAV7=SL1!NSboJlX*m15j^~(-YC|6sEqFl$;-*8=KQ3$KH3mM z;ZX!EbYsl`cej1ZHY267I(d@=+ITUx@F7r^bR?*Y3^imRa!w*i7FG~M%Bs7RmN9VY zDq9!vYgUWWnoXWvmPst7aNSJGO1qH0f@E|K?`>CD4`YR;HF3r*We^GaL_|?Go|tS$ z!je`y5<F zu&~fbltg5QH?f4pwbY1dLzamMw?8vnpFPY#i3_tQtOxUYM@E%2ydX=PQpCwDuK0PQ znK~KM!^Ot8O@8?)QdwYoY7ASJ3>PpVX(8oPqRFIGBjm_jtBG?e{G4@Wn?*y1;?%Bo zU>H5?3|o*aR(}Dq*rAS$Yg=D3Lbsz~V2cvs z-ZN^GF=mdC$d%QBc0^W)X^R?bQ3gnWYPFg>>DorQ`kYQjie%QHtwlw6y8rsP_jjqgphb}n-@37!yXzRpGx-H7~s-{hQus`c(l0Y;VIMA*1Uhq zQ7q&Lot1VJ42n*+2~tjxcNj&sKOZEvwL{V(HI6a+WW%7yQL?<_<+C9c6~GK>c)M)H zCg5c&?IL7O%2~>9xui>S1yY>F1(FOO(;1%7bZds?nyFd{g)vPN7i%Te0t%3ns=ym! zh|7*b^Rv`kluT6_Y^zn-v{XcfpjNd2mKaA<8RcavCPBl+E#1}1gO-vxBa<1esHs7j zmfJR3eUVTualA^xGSVvL7gdX>6sqDfq7UGg%}kr(WAH1}gZ*Qpz1_q8mC@nr^|^#{ z3YVI4$~eAfftOZg>nxSV6g19fEux+`d^aKyoT3F@ zD>krteUmTLM}13RmYc#}a1mu*`<3=6xQG^bz1W1+>&tI7?u+7#m*uF}3y8i*OFkT( z%PAqY3z^1|1`N8E6okBRi2TSG#Fjvu@)&%8&#r}HAW6-LEK90}4DWq=&V|(jX&v>b zgyD557o2~ZDJ}~zRPQw$T&oO+_bNvkr(tu;BK~_*qDA6iISIf~CxCW5^`p3R;dFPS zl<;kuw5Vd|H&Coz_-L^urS&nVgeqkT+9cs1Um{3RBtuU475GK{0?Mf@=VwZR9WR{9 zRcrUbCVrYOe7%V~JOz3NhVXtgPgdo74Z$16c^*MqKP#mSZ=?+2@fv)Ig)k79ZQ(5; z{!{{npg38B!_qh#AnQu%o8ot6s4`t2#~qj!o-^SG=RB*@93y%YjCIt5#S}R!t3Jds zD|eQimtVMvoK;MsmEc}#QV)wmx*BsKHgt>u0TmlgRxcbl)Tg(Ds^G!crH=DI7Si)7 zpv~b6%lbTwCF5NiJj%rjg8{|j`ZQnjXg2w~RtCmLb4qY*s!ZeHhv5`t&V~gtD>op6 zG$5@S>bV8*LV!FQeoJe*akPS^z7wtRGw|V)9z5U0kTOd?PSfnhn+3QDXrxB4GQNOS z^&rL&@O@eAR3a3N#N)+AqB&18ee%px>By#2>GN+qmA>C|DlHp3mG*t;RQk|8 zr_!^ZIhBrm?NoaD*;8rz@})Ggb17}Vaw)z4O-t!reM{*R*Da-GYAGo=)Fev7DyYEvIGIET{X&meWUXSWXX4E~mY} zyPU3j-*US9FF^b5ays(2%jv4;m(%7`R?vwHR?yXZR?tnqzJk79TR~r_PmXuKVM1v-@TH)^3j#F z?b9piy`No4dmma!oBwJhUH8M4u)`|)_MTOA>l;_mzQI*AcjGGB@ZnYT+@G$ZZC_qR z>mFW3?|N<(?Oe5*cAvkR9=&QcJu$qR-tyMf^vvXH+Bd(NrterypS^oEeei>;>ETbT zrt#0Nru7f5rY}FVnwEckHQn>*YTEICR@1uIok91Ho(X;5z+s~q@ zFP%j2{-HJ0{PY_7^aE>X z=_6~X>*+PLfnGzj;x#n2{x!5_<7?>F-+wKg`|xY&Lyx?cwqLN8p1g7`o${8o^vvyR z>BGOXmX5uDEq&wOwRG+$*V5#FTuaSwuBDOxxt4aXT}Kb@T1RW%w2t08w2tl@T}O{L z*3tCM>*$HQ*U|0&W*uGqZ`aXBpIAqOooCZe2hOHv?m3(GKXf+T_2aYY+BdJKlY{H& z!Q<=cH{Q9PPJDSiz4!mEr~6i)Lm%9A4t@X4=g=FzaSq-3*g169_wakk2Kw&W4fMp8 z4fNDIHqhSpZlHVq^9I`e-!{P_@NdN>?Z2EeG}dETbto(J!n>W*eZJX&^dp6V6*KVfW6PxLK3;6dpH`50{u$emU-AwC0vzc~02z=dn zw0-J4dUX0cdjB2g(Ub2!j|Sg&9_{$-d9?2H=h4)I=h5BwT|oODxPY$u;svzsZ!VzE zcWq2;Lb~*?LHpr_^z@G|q}ToALb`3qR=V$>ZKeCK-%3w3x6*;zw$drTyOkdQz*hR& zA8e(2@7+pYzi%sj^uevP<(pgSu^<1-q4!>^) zegEI>px1t32mSPk9dzB&%jw=Nm($ez<@D1(xtvB;?4*yJwUcHy?4*ug-APX#-AVVH z+(~c#$WD6b-|wWSzP6J-`K_IF$N$<%U7N0;&kkQfBez^Z&;QmH)OGI_^z>)0pk;r4 z1wHo7E9i;muAn>4?4V~3bWn4ogFb((gMM&p2VMR44x0S!4qEn}4*L529rWm zCv6z+r02fUN#A+4lO9~wMdKHC(e0OX(bf0>%8orHZoOUQVv zi@x@B7k%u11A7+k$6fU8zwe@dc^1(|`fYj#y_5bwdOQ6l-GN_s(4EfR1$U9#kI{9UnR8z_Ic;rk{{3y zN!<_dFaP~e5dZHF>DL_^k=vH=-|6K4mgCoQS|R`C->1{`lKgKstu%kTN&i++`nMac zEm|n~yWIR%WHpulZFC{dB>me>XPG}A7ytVj$9XobGk?*ymevY>Hu0bG`0%V5|E+g_ z8%Q-&Y$Nil>`z0##)Va1F=bonSLAOqZKm_(*A;Z0`@4cVse`)Yzl`zk^JrI~pFw9J z%mw)C1m%4EZNVS^R(&-mG|z5Y!hf^!x1a3aJ{q8l{(tJ;1;EbhDi8fntO&(XEhVT) z04J!#g#=<-GmcQe$jr?@^VAYmy4V;Tr2S3Zz1$>nIhTaS*#X- zuH##*mgMU|O8ukE3&ugdWrUA^*Q$&1m*MP67?#YBm1?D0wNK>-zaNo!(e`}Qv1Qm8 zQ>AWI;d`vw>APG#o9}qluO9s$^7UH$-cse?TPywEfxqv-_txs2_}(h5XrP6^Y)78} zjXz(9@2zNI`KgVFev0bvuQv|LxF$brf%T(r$xPqbZnM2sQ=lHMM+G_E8Zl&LMwf>^|i|Q|n?|Q}WP1Oxm)vCaYnG}9njsJoq za@}B3iM^@%uGVg`6Mar=SiZomoVy{HoHw-oZdL!@Ref8-cct3tdlRI+srsJkebsl% z_x|er=pVmF%=(-7_sI9XpuOK{-whYErSH3|AFh6+`T=}DBBmd%ehA->e9qtZSKo&( z^dkJLIS_t-p!z`d!Rl`O@b3qzpTPG)eEjR{kUHr}5=Hl&1*&_<(Rc zSv^^OsPX&7>KCh@!Ot&Nzl84}HGV(Sfc{(q_6yZt?_($iN%%+A&(?g*k)H(zzZ8eN ztDlqayDI(O)Z+KQR?p`9aMkpEQ8igTRQ0OIt8c8HQ+;dogVm2!KQEl0s6Jagw{>Id zg{?1d4YdxpPP86qU1&Xu@59wcYO?-G#V_~aTx+NAUsd(*x2yl-ukrm(^*eth*Z-!{ zFZunitML6n#qVFs?>{iU!Q8=B(_e-z;GeEOUHxwLd-ym?P2V5G%pd=${cao8hS6>K z`$yFuK^A}O_vrzAf&UL7|BsDF|0a9lQ4=L56KxFlQ`KjxkKy}ueEj>@`Tn;`zhAAM z`TMm>zkddQf2aEA@%tB5^Y_oI->N*eX{yLtAAVlyXt>;-)~gE0gm6U zejh*o-oF1(>8JKjRlga($6EZPUy!<|H8A|XB-q!s_&r_m`%eSD}%~uC~v~g z^D)yTPV+wdd7fbVVBZJR^T5mB`A1BtA&iu>tJ+n)5@Us3)wjra;l&ld7VJdS_R3gl zo@==BzM|syW%8-{K-)%`c0#guWE$7vo2Ne=*Eo z3@yP+TesjN`nO;{i0|gsm*BevHq|5C+rGya}x(a+ztREHi3-&eGr&3Bt{ z>2LA}`>p2sRnSrJyA_o1B{TII{0`ygEAab}{0``CaHnCo4Rm$QzvR0WwA;|99%{X^ z;`cIWMZOGaq_$U9S6lqF9_#NXTKvAwz9TLDj^ZzW!gsWFN9#`f9K+A6TgO{piSMrX zy|(4Qk=BUW@2)0c=DhQs))-7(<>d5-TIF{hvFo_+eXaTbN#BB#tM%&(t1q;X_#>_KeNBs>+P}WV z?_Gkt3xDq=__Kksb?#Q!BV zd>-Eb_m|`Q_E!2h9-!^c>ebb^w!XFXYWwR=Us-)+^|sbh>us&Y*2UJ_TYpc!*Ho{m zXbOK7-rFLkKkv#Y z_f+p`y$6(gs;`ibw)Y@(?`^#kKblHRBTbQzYWy3}kt%%eZq>iH0n=ENG*UjdFHemi zx8LfE5AU|Wo@=z?_ie4e&UdB75~jbu6FJ264yE^+*uNRS855SbvFcs0ZQ$=WwD{2+ zY;^Svt;_CXsr6|}+4O<(Hd@~(QZ_`+HwdEAD34)ULYZ5F`PS+kty}S%-+K{S`WyV$ zP<(^rDCsKUnuK>7yv*r$x4uPcm)0@<{?-9w@^TG;H6na>Rom{nN%W2fs!NtuH=3sZ zrPa~mds(F)b=*hsa~N7~ju5}76~5O)b9o86Pt~ldE|!|id8}m2LnE3#)rLM&@uRCn zxZ^4Xb)b7?E#cAXtE)GQ2JRhLiQ)IP^1U6}IqC+#KI;3P5WOIEbu_6K?|qo>Kz)Xl zLrsYrMGN$N(*`~5P4#qiGm_u#JOs3Z`AK;w8e{aI-;g?~|_fi{u zz7i`;gT{OuzrIrZXBc#3r6Jib=nJdYN(l?UUu)rfxAfK;&id~jN-10WW2gn=_+g7e z`D|m^4&E(o8Ie2D#*7N>7od6j`_+%ekJ_}K0_V?F|5!9ccUS)l^kH5j_7AInSp71- z4`a6f!PXD7z859(|E~UH^(V+hmW!LPDx@WiW%P5&*^sX9X-?-%KN+J)3)}TT3iWSZ(YLorxWuD-1?E$-*5eB>jSMHYyDK~r%@h)Uk6ZbzZabKZ=>Rh>jZxE@7-wUze&cp z9NoT7K8|W>dPnQ*v;5xG`f5GiVAv7{Y&({_<470^RMu|wKeE_P4#zM zJAGyUe67{RO5-K8Ut6uWwANeSS@C-d+Muo0a$=9bRKWLxUu0uGdPYQB%J&2K)ou{Ds2BXHO>+3a?LCki)5 z))r>n^BXlE?i;^v22ZzdbO(hG+to)dVmIV7a?N3PU~gxxsZBf%k2gx!H>VqS$1<&^ zw(vq3Jq;OC3-WZQ*LxHX%kJzKsEgf=t(nC~`n+nrOm-tT;hGpR>A7FO!SxPF76S&S z=|!prA>k%f77Q&rH6|9y0U0c$&03+tC8ap2vBlg-yO{q<`OIZLRchbbGTg zURMStl2MYphO3h8E}}vACD$&B)=LdX(1gujnCDqHcIdcRnZVM8q2c3otcH|4Tbng^ zI9`_oFV0`cWn|uBz>!ne8^R&S6ji1^YsCN)G*JocuRXfi*+_P0OYc2~RC5SwG;ZKZ zZ$8SoegD>?^@w_Kzkv`0VB{jNfEs^IPI$-3i|Dak6Yqm-dnd{d6!n6z^!i(j1g;Hp zD9$zDz?F#02~C)VE@wo#GB7pJi#;=qXZ3i0Wk?TlM=*I6A?MT7)amgN>G;%_bg`J1 z=1@e*0+fR|7PNK8kvb`Q@7R<74oor4!9jv?!P5!cwJvFM@a5~AqCHZ zQV(28)8L3{*(8j3qc6UYL5N-nSSIk~+0!^AjERtCkl17R#Fhew6ZgECTu+#r1H+sM zL!uC~J29hkLhvafHFHsnIy%-M=dqT|*0EcQU@g9c4=??LNoQ#S=ATH8LCelcmoLL72|j~GWXi8#&HJ7LmBZp*AQIi4 zYlKe=dPPt24%982_Eg|Ju8l}lWsX)KA=*>b5;99VT5ntox`hL}zDtbc0VJ0el)Hhu z#!&pB{*lYrQ+QnT$p`C@4=xMc4gnx}Kmht{O@5x8oPcU!cI0%u$d#m+wb0TH>xd=a z&rQru;3C|*gq#qCdg+%P7QuXs+m#<#FG#cW5NIEjiM5c0u$%;XX7;j zb(|vVs0ulm>upZJzGSx+slo+FRKCER>0W3L8XuUUXwmzQqD%HBQ0BpVXr|Aek>33T z?%?3#WKJA z+aV4rb>Sjj+(F@7YcFAaY(+1eHIh^_dc+EcE_(s0oIu(LS5}g~B+5f2Ew%Y39(5Q> z!L=1jy!2jeSO~-FQ?RX~SyG%=o#3W5ULRvXf5j4P3GcEu1rK;{dA*P4V_Z7R1N1sM z5joQ822&fkr}CNpS_0%U77pRbL^w|#kF-0RP#%^zTgPQEAw0e1{?@|!qY0tU7am)a>r;#g zSHjTbGn-?zRDP-Xw}yg@V$D*iU=^C&cdn9?gIFaZw15Jzxo%Y^qL5&riV)iG5@K~K ze6agzVlcJ634vy{37K8SPiSSJ1?Ka4+sRK8=3 zSV*wAs|i30l^My#)xKlN>Ki{Yv+`|px>hfV#4CW9cm$-KND`JTtx3{%i~}PFSiy{I zW%Syb0PsGbP}$f-8mqi%=n_L8Ih3Tpvc58HteapNo?r$?nHzX`C6%|0eh+hW!DIPI zDU1~k*XH+hphxCj9^0N&S~iO+3)*dqEKGQJIiT`fw7Or5ja4sePne&fh?z5or1r$~ z#r8x%*Id$`niJZx_Jx4msVaejHMJuoru3#w8x5pRY$1r|Ed-IRc??}}EmOy8rQBUr zyR6E08^Ynd=4Drn4Y)AYn{X{7?Jnkk)><2)*I_Yo>?nL>!jzKC5p##miL%I!I-5&4r>M($g6SYAAUa^dhI+~+QyHGk3yaQa+WnqB^ zdh~=89AQ*zl%ZBOtJ)t;@Oh{btC)<2~D2EqQ8+V zcoc!)mj~p!Gv2oi`7^jsP<>4DBNpX%E?~{5*XG6(afR7p`0K#l{O|>~2$QJ4YtaZ( z*HAHTNM8V+wP6e$m3?hk9!;Ukwc(XTIB;C68<+?RNy-++UFx}v?u4S_Jeeba&qjSZ zynvOXc*3}!ZA*ssy+=C%;@k!_1SEuap^KN@33V@{`HDu=5@*}wuA$9X$jBShMrOtk zfXl?hbxcHgVPh4$p)RhkF3R9@vVC!0Wj?R0)ff9F2exr6e>VYTI0zA3lP2 zL6mLi(D0GSn3Im(0TrQ%0Ojz};X8t(qlfPpKpH-DWRR=FhmH*oaE0&;5_reZkt~2N z7{`b1Oafy%qC|u|u@(!9cUQ$)OB%#t$NmvGUt z6e&w%5Tfre>m6_qaA^~w&^fXXp2T(Du5_>Tmb*(D7&Sth1|Dju8Bz{}V8gf|)EG0j zAL(~Fvp1?0EfPbqG4n87%gA2EfEvn)G1TdFkV<>>gHDyC;q~s>3FKi=)|ecDxz1Nq zg}~VB^0koYxwO-qeOrXh?&A`m+zXe$6rCkYT!!g=07okciywMHCJ%$vajP%g5udTrc5y;mEVi^mT1f4)m_%cST-fL>_7~RMu{Cvef)_QfBAEt{r*gk3MlJX8fr1z=_HM9<|1_sIjJB-y z5{S_asT@*|DVK<$0cT4d$`F*nqP*8sEZGkjkMLXON^|K$ki+=D~9|sGm`Dm9@ ztd$Pm)={MT_aJhjZ(Z+QBieq##E_8di50%f1bU6wn1Wieo(2(2Sx21T!UK=N0;g4xaUu!i$ATKK@HwCop27(wqhv$>Ldh*>1PE zvbZW*rbw}DGd^nS8hKo1Dr?M4wenemc3;v>0bEpz=Z2y23I(G9w&(gnSTZNNMitjt znt8%*h(NV6q+Y?&lyyebG88R4aB3McPAw*8anbD`Zk89r=etq zj{e~aya<#e_at`XGaX5pkQ<-H7@poJ4nT0jxoD^hJROXnlBeB#AVNu4@8-qNX-B)k z>3l?pMeWo?jnkr$GinEK@ttj#rz=Frcy_8HHRcF=PKvsFMk^;tp4Cv4#35_fh33y^ zgv~%I%Tt1^fhRU3)J-QflrZRoMxZvI%n<5;6B$ZtI*B2afhRD8I+LHg(0H>aN0Jn@ zl-UJA3a<=1*yGh5h9oPT#Uf#NEUmCN9P8j?6FNCIFB*6xB)l7ZFpCR}I~9_ZtLVQR z*T~9MP7?2A19B|GIYYB&mpYr>v<#I6ReTh>$nLDLWz-aPp-l_}{7nq&IK?AReD5S> zbMaEjxzZn#(2(>gu&7FSMoGs=_0TR}LVTOEMnwn%7V~8++YnG}EYT+>cVY+$)*KUx z5DqRlFK!M<5{buvXlNYmI8#%u?3f6uXV2nxUwPoja=Q7Tkq~F`6!GFhD3)?@KSi>w z53RIy3^~X?EAZ(dq`WqX03{U3SW;H0_mTd|d~mMvnozpzA&{M|J~vPmVQI>j+;w_D zr*Il7m}5saU3d;~whmuG|OuY^@^qVSDh%<}zJaps~D&dxg zDe14+Hbdi=x~2l($jTsyLq$s+y~5j>F#&|ndo`q*0G=f**);W{7^EhZBkkTQ6nyj4 zMOtW^kS$ESIX%dk`4}t566(}O?uar?aa^O;Ftkxy+?Go(vsT(HvL!5~Rfgs%m6KvE z*T+Y4e`H%ud|`!NXT1PsDmoIAvGE}$e`+-?j#8*ovGgb>G_f=Z-{Po3bFvwd{<%8g zou+0449)p21m=5khjJjVj+)@SHbHZ^u!y%lmt}GWucZRjL*(ieR=JXV;H7|A!B~)3 z%y_s{vtEjps26c^3#Ue#(YXDTAugSeh~3wNUCJ|G&ZWI#R`X8Mm?f}DB8c?>2Cyl7 zo>m4g((Fw?3EUP|Ft9F2b06E5dd~Jw;SD`lNDh%V(6M9fCMa^PHa0di~km5{VfS1uKciO|8 zj+q2iD{%8sTCoqb;-Fz8jKSNcXiQX|?Kf#JJci;pe@SLeM!`CG+!J7;ti&q=Ej5md z^&B&(%&{CUf@Q=q{c^b3O{}UKN^_FsqhY>!7_

    AU2%EZ6a{Y?MZPHYK_}aaT&ZX8m91WOLV9%W^wg=g zzPWBqjzdsv4k2V0Ihc^rPPqGdkc9zQp7T9n1X*BU{@+Z3+uOsM)SGYawmI#UWdaG7;Cve=8> z4el)#wNRmG#EE5Hq)>MV6$@5R)EEeJ%;?4lkd+%?K*YAim6dL%J*KDJPq1hXfZH<| zDK4-`21nzV>tUCQN3>@y#f&?+E+$`Y48qHM0iv%YxFLY!_XB_km%Vo&q>eKn`4VPC z<6t8owMH!vn65hgUG9u7V^1-D;lFHKm!VCv3Y)*ArcDb|0?j8MC=AxvR|}9Y!y1$l zLx5#$QPE&zRvvrkZeg2~pt|>-MoWjoN zmfQ^uk-Jza7Fn@xx3^6JM@25kN3z+YDPA$bp$Ot_X{CZCyc#8`acv2cXEI zZeZrZa5mx?Ll_CY57z3t+^Z$5utP^5j7cve)GpywHW@z$3wF?9Oz* zc7$U;u09mwI0M5`V_2mz*T1sQo_lg&EjGXif{=%3pcEh)7IqeiFsXK-A?!m#yKOj8 zakf}&{%vL6%h4>b`CYiMhE2F*_e$14L&X*TXtOOsxm`92jZI)P=-kxI`RssUiE_4F zVwyk`v(u+X&d=f6B%9x3>Kzevmh8a^J3(GWAQviGaf>r{Ma^l(Svs$|EF6{mk{=s7 z9I0IyCa-+^d)o-O%Eh~?&Yr-bELn9Ujc*QH5X{D+iG(tndT$o^Z6w_}MW(zW0>E}H zs;g84EJ1HWW@ISxQ%T9!qKbkqBB_pQT@)HhXRM3?U_}dNEyuyeA{5P1sG}{_$Oy$I zCLpYnYOYrU!&5y-0Mad-xuJ8`94pSjmf|l&X%S+!s)LyL!hzHuvZEYPq*Oc8Q)OVv zf+&PRiZvLa2=yr#wJO0@HV*>D_957`flymx(lBgU(nw%+QyRlcs}D~KGEF2)^(Ut` z7%*im2JErPfY}wato@iBF{{+9XiL#IvH+3@l-?o-Mjq4sOziy%9J4HY%8t zOUSKp@|;G03%RUXxyq0>SLCEE&tp`MqLQa$&SkUdU_B#R#(=f0EN6e{A)p^_w# zKE5ug2-OtM56{k?j`5N)y^b`^Z8m@im~5LfOQ_h4QLNUq#8HBD_{Oa@dUKt9hlkL* zU*-|~8n0L6BnMnTx}0i+dRHF_I|rCqh7qtw!wFu8**MuDu5qMKJ`bBKm~qAa(_~?_ zJ#<^xp05okS*@>&T&(y!W@!NPGp~DeM6{j?M9cYr6H`wGI*7vn$C;-Bxv&-8-=X^=I+wR~L{@NmyU#?!23^j(dpX;|$Q8oIEu#IUW@6<7#8^ zUz5sec3v$p&)XORg8^}SyWwG_E?Bh!sSw6LG%dJ|Das-)NtD>Ee^OKuATM zCNdcv5$i6URW4?G5O=h%^?IzKjx%p-Ji#|Miu<(MT)c>E#(qPt*s`3hK+P0Ivs_s; zo3OSzH=pMgeKK;L;FV+jRss zXIj^FgQpa0U@5@5>&fK?uFL0Pnl^SOof}rQ*m#cFfG7vGiFKF`q8w0n7TrwD&Ys0Z zxwGRl6Ig(aE^|1!&+#aQuM_a%2MN9pdr3%=N=mb=7@&-OfD{#hmS65;cl8ee`q6JL{^93k( z`4nNb6-K#Zt009bPc9|pl8Z6B(ay$3Xa{l^B-*htt8;Zamvjs7Q{Fp|uqYK4j0*NL zkDa3x+-EQktq-+wHE&{hat?Hen}<>kYr~V80J)H?hO(U*m?AP(*MoG8DMEU4>XXut zR)lv*0FrU}hu)-Cq?^}KJCaPW(U6O_Ig8zZ(hdDD#*Z1NLbxGl6Aun$lzQZ(1o5CbC9_vVo(U*p zPdH#B*%e!1Xk?M2HI0GR&I1LUXmR1g3XYgB8di_Q)G;uVRLd!2^5V}l3|br(_jNEQ z10MTd2gHB`%x;JB?qbtoJn^zU$CMJ(n7XlY7*Oxra5@zKU^i!QnMjrhaYj*a>M$Dl5gAk7MhIO4_O~o9ZpOh!L2AT{ z!H0LEb1v^Id!JMgGF}MB!UeU3>qX${2t)5pTouJjH(5HOODc19$8!dU;ura1Ve^P; z&%8JkF4^xhASBZ3WTVe0jwG347UG(si~K1A?Y5u9i0IM-E(39Kj#!b&f-?h4UdhxV zQ3Eq{aB_^u`Dhx_5DD(n%~MHtxI`Cn2HD$m9B13d5&_LrGi4#X{uFr)K}itBYY0k! z<+eS?jP)z(5EC1Lx?@3^Ni5)we=%%)j1mkfMFcqazo#S(y$Uz7<& zvN9o1tt1MXmkB_wgOeBpsA!jp_Jr0lNm92df>OsR*0=;2QWlDo?vhQ8g+qZ-s-ax? zh0PH@g`;va~5nQ&jA-V^$L5fa}K_umm@gS z;($Acxe>hpvIvkPkANY=KDdgNNEQLGeCraWxXE109u`EV|R1v$n$M`K)TaENe8 zuvlks^gcry0)i}Q2nf-JfEZj4h!Sc60o)J}p!I+-t?L01v>uQE*8*aMG9ZNO0U_!F z(%U-fLm<|arSrIn?Wh+*YjQ0o33+^$ox*_TCsRjZN|<~TON^%3LSZti#fi2U6|pSX z2+b^qH4MR)dlC+rSo@WjQbaxG{p1;!(&NJ^1AJ7;1CLn;@oWj=iPy;YZhVnM|T4T0E0t4~WzL0U8gADA1*GXrC?fAQ?>$f@x3m^@&e6J%^$ z=a+%-$%*M%-s6DU7meJ$R`Fu<@foc5am!1%MIpy1H%COIhxCT33=us;hUf$-gJf#6 z&MVp`(b?qQ=)A{HYiF*?0O@YPj73Jvg*-&}P+L6Hy)l^sAr_v^o;@))Gagbrum{wK zB4Cm*_hPR>)#h(#-!|lybF<(*dv4Xb7ZVZvt%{nk*hX9tQRPLeCS0_#HKA4`0y;g8 zRt-duWoolXW&JVrm0&h<6*C99qA?U(&_`lR)WQNUDH>f~?_xz#gHxhRjuMlQMDQf` z6sI1>=STtcIJ1vA$Qsavdxb2U5NG!nvJCy0zXEOJgy zK?oVnj2)3*ZA*99?b1q`0XH8!YMI0;0GV zP^~6KNNfyoZ^Z>{B}D(BbYjqcsE*h{vgs@^aYvjtN&-N9m*>h znFcdnI82tF5dbFVw8&jzbkcKj0VXb5RMzP1w7%mvGY%7WP~f%%Jai}TOUlkfdE_q; zNkaf~M|M$J6G`){;73BJC-SCdo!ICJYZ(KEB%PcXtA)Xl5%HbK^SIZbi#v4&^4Qu$ z5iXXr0@C8fw2+&qv6#mV*urFhi@qUIjM;M;vvVVJXTz{K3NkcvYM66Ab2>ivs4fLa zj>MYyr!Wp5e_d0CCyL7m18Z4rxQnPE4Vj!Mb-^zGQugK!nDr@d>$D7O6YWD0yNCGrAMrpZZAToSi;_ zYXhTbnh_d9D8ulZp~!z;kH=?lj8_^ zx09z%qa|wYduA~iN>o>K9HCZu9L*IOhoYVwlC@=xX7Zz=HR9SxRMl7!|YX4eY~*mei3p@q!2z_2&CqcoxDDcvgB|+cLfTN>ae>LorN>%u@<0lB-#2SX3DLa)+Y zki&Dz#w`FD*XBxA9dRo!8WGueFB@3I6>npc@gSoCixwK$BNFI(y_RFcYd>g=j5UN( zXGVQK7Ay|!ePE`nD}@dXw|bS_xNCx2vAod2HLadNw^iiDTd_g>onkF~bW3 zTg$6hdBIJ+5I2}XcK3T0yx`bh!)uGdjm)ZefoBHD;MkNbl_8s$N7FnADC)a8_gv4O{3gxgd5shle4*J)QVejTv0ghP=c!S4_(TxQ5Nn zML;*!d)+JC7`%m*_Q1zLUG(-eU@II4nqZ8YDI}DC# zMLQ!aPIj_`AyV0VX4H1dkS~Q&yu%?(WfNPtz{^9kBh#vyyN~BVf(W^JNp}q9AUe6u zDoR*n%x|^H2~C2r`KKn=p16)OZ6|7OZ%@xmoRjsc6nTkNU0jpD*k05aQR1R|%;OKZ z9!_Ski=pKA$k_)<2v>-g5avn_5|v<#9bfRy^NC19UI{!P8b+&!*$B0KBR(+ijM$Wp zN^16}%t!K;c^R>R`6(Q7h(AxV_H?}es3Z&u=%7re7XvchNX-!}3IKT<3PFVPf)L?Y z7+gc8Ek-N`YR$`lVf6wK30a^c>a$+KrhJc-A}s^nAlqfPa=E;AKw0e?Nva8Dop9u) zB4T7$J`8CLcS8YC_ImC|ydkD3-<2!Rbce+pcUYd?T3~>+C&%yCa;&^49)(r=JIqw% z-HMbpEJ#I3F^J>J2Ii)6L>Jhv+nhN@Y)A>C)XNkJgUgjs8}mqM1N^F$F>(tyAg;AC z7#tiQ9940X$YoiK5(bw?VX2i#L5oH!W_CMySmt}8w6V0087>BB)MMvGU|`v%w}Z;J z(FUY;S2S8Ek+Nq~y?H zp)zn+f>Y|5vxqvU5%bP5a^>h6DXijX$8uQrvTV6Fkl`!?Vwg=1vDNlCMsQI~je2Rm zhuvhky!b`|Cc*=0R4Oz(+n`J?AahDnW73&M;Zo+m`Z~`b3P*UF6d?}cs5yE{YK)tZ zdYvWS_|zm&w_?{RK{e7yX-EwCgIV}RtGTt1H{z~Pgh=`_!3i^z3EV)0!=aeYSy+gx zp3DJDn|Rl2VTJeG)VVXF%%7c0S#@=GOx!ywEPJUm(nqFY7KA)e!~2;gD4b;JdFfeM zK*8n-g(y-ossQvMAYTQT%sw{Jxz4f8cbBkuV0e{l)GVBBSp|$dAYkpWR&vD!UT?l6 zQAVCdKM)s8gVwUl2$)Y*9=zb=XY%BidFL}0WAyqyldoQ?-(bF$}e> zfaP)Sz;uDiB3~Q181BI(2{Ka;smDW5 ztwA^@B@MTqh|;GJZs-6X%HSF|)X7k7Bd13tqfB#&8~?pHc8J|2?6xT2&{ZE3 zAQ{IX#|7vD+YqGGUa{po}erOFycihgk~+zG3lgHskk|hZtw=JEb6GJ5OJ5F zddOGFY~IIgYgIyQZ)E~ZZzv(AlXG@*%s9fqQ?u&PMhTH7KY|}ioop#l#%wTmjH@d$ z_!nP%eUp-_af@QuLr38unF-n&7Pbwe&ED)Li6r8tNBj=E<~0<=2PJl-<%ueAe6&=> zq>}8CdSg>AK<2}?%7vJwwcqPpv})@f1!VY&83Z?&YB>slk-G?DlM+|J)vXZW0;_ukAh~CWjJ=~A zt}(00hwB9N;K4L{@p!9q9oOiU+#0#5(-WiTrJ=TZkpOX)td9S6XGc!g+(al zA}TDZ2QlHJa{eyO1!f5F6i^P?L;^to9fw+SYHT)1#VME4H3NkLNY_W?7mK1H6Hu*; z$yuP8U<{k$6QHeqvb$aN2@H!znRZ4u4CW9s)N5%HPgstS;VxL(QzPTJkb=u_K`&CG zCM@IB;=y$cRPdp&SSX$v6pIa+aG77t3kL=t9F#mrSMD-k58QcpsJ-0jEz2@K5xvqu zOt{FDcXuI!peM-@G`IxZMdf1URcGO72?0B0B1YM^M-wK7yuQP387~oR=TX^gq%b+- z6=J%MrJMj+=0y(8s~ec~IO`+ciWW4I^jQNma1rS~!p$Vnss%0xwirq%Jl96AR}ax6 zQB2sVo@%EGM6~Sk5A%-zas?xu1sCJYncR{kgAKY7o3>-oDxpjFz2&&>8Sz;A0yGKh zn8;tT7>P_aC>XeOd&?S&1nM&+nFQ4yWDwF#6b~8L>8ILum9h;?E+6h>s9kC+q2-VV#U_I@KHl$sI z^Yjq7mUaQH^A>4GMxS;u*;rhebkgadMB3ecGGwua3$34KVl%D1dU46>XPp7f)gZTQ z$#!ze;b429V4)7zWwY_Cqu9`8%|-~KwsM1FSW+7T>RFnCTB8?%ReC+Rin{=#ILS?Y zIzM9ZmEpTZQbzK8(ZC4u)I;j1m0LiR5!H$br=Iu885PU;irYr$6h*1th6|Xr#)8D= zm*p?qaPEs6@vIdk;CdKZ3x3=ef(J;Y7t>g$qE3^p+D(nljnCmx)fo)(0v8_&Vg&q! zVYG(}NNDzTM9qWb8C6SAEaoL@1!orTjq*BIZR&$fDq*l7ra|kTLE&xD1~8uR$!Ou& zj{{9H5s(l`+E4T4wiGO}TKS4(+2<*$1wx5gdMcb1!3FYIAww@rvVeSsl^XO2FlS7c zV3<5=%M*!@nf4>#kyTd>BD~(;+GfTK4t6;@u$432O-~?Z z1Y1K<5MV#;BJVyR)g=cq2~V&UF&5CrSb!J}6(ZT&;BrXPA*7XX)m=8G6?kQuEXkVE zN??~(v=?bb2xUO`oiT>d$9mG_d0$K6sI*W;HGhYJyO?#%E=D(87ke0~!y?D_^{;ac z)Q-a%$-Cgue!{pu!_-1%i$0Q+`$@#fkP89e3V)pp+M*0voC~=q050TG0E9029FXWT z0J&>kB~ZEolDo=7NkO?k8FwB-GDjcJ9F7iQG*>Vs206c|oxKUOrc`{P z#u*tMJv%cpdR}L69?+)BBODjw35?Bkv{rQ-Z!S0B=mXc~g=OzRnhXyxy_zH|UYATf zlZ>Q0N4VJ#SE`W*9mg=$!L(ku+CAEhU(?I=h0HGqb1K6KAmF5i3hFSu3zuuskEn z7T4Y+a3x{2r%~~EC_^60bKX-VyPCw45XAE^YA%9Xov445x`$}c?vL^Wh}*x-3|8yq z4T#aDV@8w7ioLFnL?;Bj4`z>wN)zN@IR;mU)4`mAW(O<^RMxa}ObbT{DH5iQ%dR<0 z&H`&kJe*T4xiV~VXzV8q3wcKQ^@L_t)Y8WCrxpz2c`%67gF&_E=si`ZvL(#>M@r1qXgNNX#<8B0IcrB&auFnK;Y!JRI8stt zz!=f2L5lv7k{YEP9^5cxd`07w(NJ=A42xTl^3c;`ZC;v5MJtm@<){ixP-tm#nw-vQ zNEGof5xJ~VUs#>WTJH!JO?bks9gjfPm`5}wLqwRvS>?+pp=~cg-@rG~ zLMz`y%bNNcLu&79q|oS>1a0{NEwg}BsC=i@p>`{S|$TQpA4yk(>^Ws zT8#%8IpFLpT4ZKbwejGX9bpr*j1u`o zR-Dv>fgro?I>r~ZF08Nfmb2)*yGAr@WH9G_1jN=!3<>SI-P{8d-5gx?=a~R{Ln1*0 z8cRw+|3^gb!-oOaGU6_)$2<+Kees?b`2d!|SF8+vLS66))&r}F59!ix;O;loIAM&5 zF@Av8`&&g?2se6Yd7n10sof`;u!)Y+1w_C+ApzA?swy>URFfS=KNJuHHLt8F8|IRl z;w^A^-b$}3m^j9fd#=$DvCr{T}WJEMdF^fN@iaYPm=S zg3z~yCU)qu^Nl#M7@!aGYNiZhH4$g`~B zFGsifJgeeVNkajkN>sFETzLSmK4OT=E!#M;AZ-e6$Kp^ z9$~Mmn|>H9wd=(a&W=`JB^W(L&;Z6I<6!l10;KvlJA#q(6JVDe3z!LJco#2k$UUIy z9(%7RPMn>C0#;x0C{gJmgXf7^drtTumpnB(qW>~HA4rw!%?heZo9LTQp9nIItk*9@ z2nCm-p)Aw_E;QW;Shz|_9KCSK95JNeP_wr}$-L#&U~L>Aw&qYgj9Bz9BFVc5xgw5N z8*!zfOA4_kDWp0HXa?OTIQ2SU$x%RZhp4)T(79a3q}N)2(5$*U<)TPdbeXX5}bxJdKcnloRSy{p(3N`}(+u>6~e7?eOL zV9n{{R`^nr6FiO+uINWr09QL(^VmfciFsMfY5?*)@7N?7Qt=vtER@DDgA%q(t5QCC zPs$)+&GDy;dK_6`T&!qKU5ADnk4-v`uuUL_L?;HuAs2VgPGEbgY#S7&h=rL<)*d%e zQ&~#X)Z!-0)xQL?xD;hBC+c*z2pU~wtzvQ$i$Q`?<|mBlJJ4Se8~r6A^S5jc#h&~- zJvDXT*=d^rN*oN)J**ib+Y&t@yCE04HgIX1%hg3(u_A0T(!w#Kne#FPoxcDza7nP) zXqJc0T_UGUY$T^%)sa&sJJ98_Lz!VNMGH!nq>dKz(qSoa9f*9X$GynKoITG*p-G>^ zy&Yau1oP%JcaV=t>a-&DQdcIdp)V`F4kr;(o)!tN8&Q0-Eb_`6K-yza!%1e6#QYHF zB`ErshPcu}q!opQG^&yZI18l06^pm`U5dLrW0r!M7l0z`u{{o3s%&zgxB6;B&TXto zM!@7%^#rFPgK&*wKZ#2=LnPto!o-y@8{8VnR0-mdIp{82Vbb*ae)wp#6ej~V7olKU z#GQMCTto)n$H@^07Xz^;+4hc~XVC4}h@!>7SQzIzq8p8KJm!tLtofEw*f;>-v^zIZ zM@ci&Q@H6e^E5%Wv@J+^%}P{Wn52Pofe8&> z4GNkYDFo~tYspP;K(I)v2g?me8OmZnN(hVoOc58DYzS%-8jfJfd7vXP)uRNN0fn;I zKyal`S+kO+5Yj*26KT2TsGO_fY%0{`V^JR%=3iP`b&5DCH~tr)WB%5IW@uR!qo;II z7RMT~7`28}3bOMuo4ZakwcyGXD`oXXOA%)Lj%gu*ZZLSP(G&q7RrTKU! z^Dk_UtH;6m7m*yg>cVMA{-l@585X(R*OW81lD4q8u@y#^h0AdCsUckXDX0bp+-=$3 zG5tBEc&2p8+P*w+N|FsSh3{RtX|e#DDhO&KPdPMXr%;;9q>!vwQ5`>T3lpwb3d`WQ z3t58S#VLE+7g+=sJk7OH2#tkPC_5DfGT7=;tvD#HsUVQjT!bP8QU|&mP=x5#mL(fv zzR};rg|A_%lJcFdbeBPcBR|^AoeU^Nls32&4bEbY2b~sF{SvTf0g0`wuV0Eitg_bH zUunj4QlGahLZ}x*z(Y16ukjCVFyIOurdKOyaELdgP=d=kCcBJzhY~ycJODyUDi`&j zta?cIp=@5GY|IWFO*gc5B!-pIjSlV+%1W?O%Q8r`DZ<3-Wshi6xg%aLT0|QXEx~1? zWtzovc(l)z0$O8lPD@HL+hC&i`l39^OT)7HT53R@yw$m|5-Ltf#fjndI3df394f>E zz;($!ta=}i1_)&&3{Wz0#QiwEPUQRTZi-nlWGi7cqHk_$M4z)YBICa!gKJ$f$K5q- zVn})96CtbNnWF*Oh(dw`74=jmp3TuRVL~00e?shT43yg4&?~(LcseL2M6B!tll}OO zuG_rU3lA_|UJS#(GT2%7P$Le^4tOr*bw`H0#@2)n%1+Aml{#}MRj3#}qw1COErB){ zxx|@kM};8LYq*=_;9Z4I&kykxV3J!lvX8L~f4r7V1`P2)qvVM;o1IHh3!}h1HXu5> zpZ+U@D^Aw(h9VTKuGkpV>-FP!TA{k~!|<#ZSIj4R((A&6H#2k^;j)advj)X)oZDua zl%(vHc>4Ag2fcACIFwxs`)1qU&m+kb==liUHG0yXVX~R)hP0Ji-x^uM+l!Xc0XwmX zryxT+EMTTQaEM&o5EVp1XqYG~j`b@$U@74iu(tLoDDL|YT_o&zvm(Iyd@tlR>{?7z z@0el|dt8>pb_e?n2GP>83x$P_TAYCd)%oQ?F5Svb%_(UE+=eojdz|<7l-Dp#Q8?&F z%*Nu8l!y*YsxAi>I)y;-x`cow9fBda!xE!@C<@zlRZz%Ewhdaqve5~hS;2M9G|?s* zWhpbAl@7NSQBGZ{u#LQ#7J_n<5>C%^!~iBjT42r{xLqAWP!+x(3J}J?NzbJQ$*b6( zTvj8&@@gaxRzUTI2P(v6tv`XvI5gP^bn*E`x0>KKtz+l%&Lzx^9 z>cC_?6MCs^GLlVW)Z(YN4k@-?GbuXg7s4fo>YYcjR<$I=mbE0rWf>6AT<8unit;Yl zj&Nb6^uptj|MFpml4+@7R69lj0JD+3C*U0HQrA+|E-x_<(elKm7lXosQk;v%rphjA7#>^31bF}n+q&i60PZPHEIqU) zk`@a%5yD%=d;}xWPk|Uh66!H0T91vOjjwhJy@ziihXNmBQ;Nneh0_TQ_pBUqeNTM=_F;-S&E9UYzq) z;stEu2^Jm`H5+cYNmDqX6H(Q0w4(gziJge_I+szm#mcbGFRyp!c?0tbW_i@2N6J!n zaRps42ksH;E?}VoGd7+{zYyY0G5S1l0jk2U0MVbU;w^$0h*dV-yzDxho#EU|JPef5 z1=FoL*jt^8!`#{ZXm^3_gGj;M;TtQ`X2=LZ_Ejr^{R~u(e3dQ6MS2_k6`t)%%vsAz!`F zLG3XHu^x}swe`(a-a2d4@zzRZa#3F0BRzpf_L_?EU045EM z6{}}w4Nr@+^+GjYX2G60Z`)g$2* zKwdP5WZ?Q`6P0a}7Vtz}To@qK2x#~qR0A0NGg2;YTrUJ$To|=msI>*8PmQD$kVux0 zlv1JX!-**kWloz}oL}tXC4w-lq*uW7QtAnwGQ8B;?D8f+y_9AEJ%uxOyn&-tNNlVMI4%kP6(S5uA!!CLo`uQnkS=p;6w}kz%|ThddY;KuP-bzQjBQ8E^9H- z(~D#ir_g+8N+}yvexenLKI%j<$8eGt;nY&ZHUJ7i3Jg~Ow~+!m(I$%aen?Zng#VxIK*dblD z1)rT*nA)7t@nir(A2}+0YhnyIf~%~!E62AM2|P0$Ml1=NnmRo`61|1f)O0v`HoBR3 z{rK1%Zak_}YJw+5j@B`~!N<9tJbU`IvxZhD1~0#=F2Zv8%*ct;J|GdRc{|H@&nHL6 z+ar_booBPS1TRPC?ii{$E}}bke%gC_HnyiRY-cAYpcS7TIb9QVc5bwg#-oEZwsRA+ z6Np-l`?7#{iKb>I=FaOLKrKTSuSmib))N@KN~rLt^0XU75IZq4J0b5tz?TukVOCjr zc4y+`#3)9-)4bw&VmuIVyRWr`Y>JE#c&-t<)RCq4Sb zzyzDNp&3HOiU1RMkOA9Q&ihn>*y+?=m#`m_;VkICDdXJ?@VYxK_}R_GD#1-yUU>-iQpf+stx-4*QN zr{f4_jdny`PRXA=5luW1gfSbWyJUp zTIP6mItv2hfpbEZP0<;lnh&yXum~T@$~mOa=_yM?k-!2oGIw^yOHI$#TX4b~$7;oM zMEVABw93kTu*C;}4d5;2R&eFgQ+*cB6LEvSJ_DD5_PAGu#ir9Fh014_{V{XIXfFyS zxAC>00-`E}?*QenzVqU-+PgZQm>$IOC{vb7k`yRG^mUmMj!(sSLKa&*C}IshW9VK* zOnF}tG6(s)6v>@SQD{$^}#%guR3^pc&))Ody7%hOpiw-Pt+cLi4C(k zjdqtH35(A1{t1JT)WWNv3`(+cIEW)!ml%-Tbwr(GfAfFz-d*bNFqbs&HFPC0c^nqx z^NLnp%&S6hgG{*bG6L?Nz$Pq(AC4VwEQ)|*tElG831~TMXo!Uu7k$Oh2OtC;c6Y^9 z3|qLis0L(`0$21q-B6(psr61KJwspGt#u}=yksV)={?ig2b@j1Xn9kbMOPg09JlA- zL8U~*&@VO5$`2@}M?^w`2oTRsI!O`p0Zs!7aVKZe~D!$`CR;^AP$B zHdoT~IB(GCIU9DOIa@AFqPn=$!96#4B}A5@RUxvl?A0Z(Ic3R0uLBJ+6)ncw>kJom zE-QHYk-}bDFZ8=BThM07kWyYVfG4(%5OZCGAJ#kwVM$y(;tLrF|HaL9tcgJ_7vy0# z3U#m`ImfiELpRix`#R)7r=Ic%iYc_mbP3h_^5|M;N%eb+^GF$VzIex@eaB(SfSvbM zf(Z2{E{&m$+<_s+cQkL@>$UlnaJo-oQ&qs<(v&8&;|| zHMdB`uwt@|XAOP&FBi%Ps9YQz67V_u5vAP9!x- zVhn1Oh~!CTPHSqE$ZnLBVCKT9Q6g_1cjk|(Q6fXi2a}SkQ6gVdnYbuNtQM49jS_`K zHA+OB8YN+(HA+@dqeN>>XObvEXX22gGl^iKGl@7#5^IILJFcM3#l#Y|CG4fF6j@S4 zk||Qi-=H)hEOV_=X(EJDX%fIvX%cWN_Yet}WzcyeMVd9DBc!XKI>~L?fqA-&5(Fp} zDGEA8iUFpuF~L!RV~P}E%7>LT$c4glrl4fQN^>6d3%Na$6^4cEO9Pwqz-Cc3Nu-(9 zBqnastpov1kwOurBE>MLNHHWfV(M3>GKt=0X!0?OXrV|^@ntk~MT+nwy@`b&0ips4 zOobvPz?`ckMM@Kzq%T#@L;ZIZBV2n z2VRkqP*Iy${z>@!Q@>s|8J!{}NyuV*jCq{(d@9r@fm5%@@?s{SBo1(xiW22JN3oSJ zaqNH{?1;q7r&6I4qFd^0^04Qw3W)`4@~)=P5zm}LC)txiM=;Y`B(sZQQs@Y|=rWRC z#yN>RDdb^jtR*2+(=m2{5v@xMNbWkKA)%;)agRPm?=yuC<4VRb|IY214`nx( z6gqSS9Z6E?7~qsN>N}VmmZTSWhyh?x1DLot<9GIqHMDHvE+}*&GXTe(DRhh{sA^(h z1CWI@fM4^))QRpNq6*}H#>XHnK zHA=kYI5k8;fT+B2k|O2aAoO%l+%*yUYh9eY@~*HS4Yw6@kJXzNH?f)@T`{mF#OEIz z3lvj`f7goxq}OOgIaFnBuH$IdDw8S10F(6<9+KYNz2TWE61MNI3^jb}BQfYfL+ zSd9)gsw(Yp+6Hz^>T$nbe@XVxi;_;YjH+Cu-W5muyH}t|l#~8uSzlYjUdcdPLeiqR zC~b*XbO#Fw*zCK`{Z~r%RBXAFJ1>-ioPcgIm^GW!hT2s~v0L*uxH}U*qfTWSYSuBQ zpr+O7AH|9%uSyO;2(Rj>MP@raMjST|2FInmLXF%*F34u@*!o2zZ~c19P_|#-j%e9A zu1`HwZ3oMH&fR&z_-0)rb0T>5!(savPcU}EfV@C1U0e%gu!Cr9K};21jqXyJRG}X%tX@ zErD_mwlHc#g!;^fyP*SzDjfJ@J-#`K&A3}3+qExqUDwu154S07W{UF5f!iy733{bQ z)h?0QIwa?cE~ju@sVxu~a*?N!kkZM@MG|?t9!EKFkeQ8RB5n+A3^AG;*lo~&9?sCi zrAoZ|MnisL-**~7@a?ZJ_Ia#;XB?=L8wbPh- z^XSVK`h2!DA`BN7dQ!kNRDz)`z;063yDMC;)P_(Y7SbEy*43N4*XnHzI zsyT$t7Y8tSZQq4;vfAVh%V_#F=!B?oO*S@ z05JoDC2pmI5SMlURI0X1^bFPpyw2`YGvnuo8IPG*z>S2Z6KvQ%(LOmbIo3>>z|O3h zxt(axnw_4SY34XHF?nVLQ&Jzy;O8VJi32EugENh}T(hH@@iSBB#&@D+0hKDk(Ut@) z%nzJJM=NZ4Sa0=j#;xrS&Mf%BdMKRQ#f(1oLW3dB$Kt!wrraA5a5%KO4O^GGk zt&dLW0&WyT02jKL4e;C-&Sx#^W3Y*B84bTBKicGYD@DP;74-trW8yV9-B(y6;gliT zlC8(W4KIa2yU!z{dKr$Mad1sKPD*MeFM|sLpzw?kuaa38-?&`?Q(Zewr=iMu(YfOd z8a)^1I;@qQJyQ^cEdOo(r_Su0Z)-^b}#hhJt)}?V!2yq#nABrF9vBA zgjq>%9rKw6D*9obO6kpW^3zD?z=bRbz+fSPX^fT`H3+gRaIkHQJwu~kVBsXBUecSmcPt~) z`8-1vUBeuFzOw=41V-!aesf`pO!Js<%j?t6hBGy5&&vug&46`u zASPNWV-uwk+f=CUJj6oVGXO_+Q36m-f`0&T#E<8A9YW=noH2LK!hD!&uMjTjfjFEC z0QW@7{Qp*)!qx}|;N`~llBAIV*g2U8Y;hhBVBtjV`a0n1PfbcPS1Y(F-1_|VZnz&1o2I>oJh4$uq39H2)z4OqpKTt`JgW&l-k zcqzUW3 zhq4r~$|kDJN4p{U`dxXmk!@oFsfxENQWjaSecGe%WOId53LeBk^_ zOBBYL0O1&myt;osZ9cl+=i z8Q1e*dlkav{~g>v{m|`0hlf1Ia32NVgz-KHcHujo%i9C|!9w2K_TTg5?MDxLan0sE z`>X%7?`3~}_S(OH@WWEmuo`I{_BnNIOTo`F(uOt^RsYnD^fH*+e;Q2MWU0#zQEd_gWcc zks;r0n|XsnzBhz&Y|ii5zrV)!1)yy`3%(bD?;D>5A9LdSp9LQqfuDVrd>?t1d>?-n zeEZ?=C!Yo13&8jEv*4q=7BkiTYf5M4#|xeX-xq=Jl?{Bi58atH*v$8_g0D*L@N#v} z?tPzPm>&PguB%UOJ?Fs>FVhyF%<|xe{{~1Df1slO&&SVhG<{Wd3_k~|SKzlc+P6lG z@?oi}4f{K7e;=~HZ?nJOVt@aI{rz71`;+$fN&73p*yJLe@Uy$xi{ET$cgyb=i|J$BafbUG$Hq^#aYGpPD~*jm zP|I-aCnu(7<&qH|T&l2S-5$gHe&Y|cW!o?9CuhdTGhlN3{%Bw7ZuAcF zj*^480rFtH6tP-cKWG6xsQ2z144TvG`8WMP-4TDYq`Bt!4K0>F7U#Y9PfVna_;Tb4 zT`J1~|B?5G)&uy>mhum;z4qUxj+pt#f5IasmID6Mj+k|k_25BheeeLJo`+3rRw{L@%PQgleGFN**xuM1OmH)ovvEMkdC%L*!2Wi5Sx#EE2 zhSrP34a)V)KL1;u=UlN&R+aE%u9yZlST9&rv$wtQ&u?_Dw5JiC%oXeT4K3De{`;d( z4u8kubWpZ`>@ExDp>s;yJMR+n-Y+;hC6QB66vwy?6V(wR!@MNwS zwi{Y(WBKplgNGiz$+=?dq%Bh(LRRh@T5Lu5?^oaXqgVDhSH}evp3E=$lKlFG7vK78 z`<<&h#g*`6uIS4Rtxz_upS=Fc7dTf#QmBL{bM-=T#kQ9J{^R~ny#0mVl@t!)5&B2u zcU7@(y`iOpM2r;v^z<$w=>Ka2LZUy;U-nPkyfIku_c?XWT)OFNxij zjbU#;eCOvh&b(vj&>iZ4<4l&Cs`?dVjbstbzSR_B!>|82^Fb|U%H@S(D1|C;y?g5!r8 z_--FMqz!8(p|GTJ-0c15rXPQekhfmA{otNozK(y7|M^XqS3Z3NL4Nqa!(o)S=jxOD zp11|rwO@I-TBeJKpY!nZK1IXhAK7m*`g^WPY7c!j@!S}A&Y5AC^Jm{X{uu zAh0J9F=Y_p1KYc&L;A#onhnUcKf^HljqShl;D?8vg#6#U7SpOhT1d@L|NLKGzs^2S z$FW}l)0gAtKy^2MAH>h@>R$XNexQ0CekCxv^Ig{TlRa)0dIMUx7_S4q4@2hKeu?wE4<}Z-japw zh^HL)mb<*=9&Z`*mV3SBw7104$*|3N$^+i=25))DTNb=!*;`h;Wy4#xyyc3wyg68| z9}cEZA3=GKb?2k#g!G@(8+IRB8omT3ElH!%G#yP3M$^O5^k_6a5l!!kCMv#E-Up)T z=cDPLMAOHkiFHF=d?uRyOEj^*DE0HB>0mV78cnQ2%6BT7=Ax++O>5Eg)zS3z(Uj`d z_eJa{qUj$;)5oIex1#Bj(e%gB^q*lWYuz;3XSDg-htSTAY@giop-(<%`ugQikM=yg zH)PtLYrhB9k0L3cdF=1M-rsw_W$xagCqoNZG~B;-?N>euHRbi|S@V68N{N?$^yHp{ z5XJ7{Q0V2pVCZ8%k1$s3BxaED@u-?ML?{G&(`YgtY&vYkzs|_l7Uw>rpEHdC>l$D-`$bQWecUwMCww+)+6@jh+U0X>Q<(=`}^6c zaEP$|TISE6Axw|o4FhZac7M;~e|giscl;v3*Wee1u}}OYey5y@`S*TOw{QN*M2eY+ z4(YAe9(?-FWBacDaI@p>2cO>VHRV4tfAreF!N_4h`#bwLdgt$M-Mamp?OpFdUHOyk zd-tFSJhgrQuIn57uWv~HUqAAlECBy<`|Q&w15f=rqRHrOy>$DOR^mrpB@R_}&qt}@ zpk7cKUM<;Lz@-FpR;^hx4%0#W?5-y9TeIdIOiFzSri1v|U3KwWsc(xejWr@-Vxid1Cl638}=Im+pv94yc9vSb_})n+A+4J)wS`@ zAkV%ZZP>nd+z5tPs{R6ArlM1nsv}LU$+iBcSad%EhuhAMP|UZ8`4%z1Ld>ra^Q*-CDls1t^C2-G5%Uo-9~bj+ zG2bQTyTp8tnC}tun3%`Je6N`A74vB^pBD49n5V@&C+0aZKOp7@#QX*^zd_6oiTNQh zFNk?T%*$e47W0ajSH!#_<_$4#iFr%RSHyfp%x@O+o3(S;{}UN&5p%4%0#W?5_S5erwafL6uTJ4bwsV?5_R{IHw#iU~;Os=* z5Yl2b9QMPXT+dI}Cd)FCFRJ*-81U!pMEWh#Y5j53x`FHY=~`h~M)JjY9)1XW@E&^0k`|FokuJFQ#^ZOA-7zJ5doQlajUjAlLKL*-bjY6p?*344${)1Mvr zp@5Drl~A0xOb5k5^fg7}^1-PW;%mN!h?GWdl4hJ1v}#@?a-Fv7t)ccRX0=q89+R?M znO1f1m5-uFHak?S=??FPb-$Rc(RLK3D~n?Es#1FYsEJs8K@wKKtkejrFG#}TeX&Uh z8e#PXNf=Ad94AA4K@z4d6UV^=Ej)CXc1Hq|XUZtYzBE@FNfTGacLV=4`@~}Qw_O3c%>SGZ~fx-1@=ef90)!R!Pp@6t3n4SxyJjl3TRe`OUbx5pvC`GJ>IchRON( zaAcV)Z@{-e=CCM7bqd$c2Y87h?57Tn45B8H1U%Eb$R6I zEkh$eKTZCT$a;rz-kS80$VNwUKHB@G$FL=joN5+`JR7fPNK|u(>YS_aP()ksyOmI z5F?QvTYig@nPEo=QYtm_9pYt6t}DyjumozEMN{0fj=DagvZ`%0$%Xnm%8XU2GPE+h z68X22ENin6r9L0!F&XV7OX>xZQTlxIctXTJ-)3B+TioeqAVk&P!L@REIuQIZenab zmu%kWqojVud7qDjo{A}CGR)UC(S`T<)Kwmz+d)D}Y8mE>-Z7D(7TVcKj97Pc#W%n6 zHrw&ciA&56Kky)@N?zf}UHtO7JeF=*mU*AgMV)RQ&W?O>CFFCdkS{KMzL4+c^R=5t zz}&gDn8xLUJy*W&hWT5CnDfu&rAfoeTwrAiu{;l$3-InI%^qfbH@=7j^Fe3^eRZ*O zn(wOAYn3nX#V8;0CS6sgjEM7?X|*X^sztL!SYJ=$f(^r^?U(w}q7Zztsbjl-;cRcp zaJKf5ZCHSQCuXDc4pB~|dlWmJ(%py?qa{}<&)7%Qm?J*wiLj{tlxAAzy{5@gF@QY5 zb1&?xW7-Fx#3z1$Pt0U#zBV36ei6;Q7&+g^Vat&5J5rVfi1K=q`;g9F9K1M`1IY@Q%p#Zdh>}G!2WvBO}P#%Iqshgg36)@r?_c_ zi^Ur|qP3zA$#DPeBO=>a@uAIek-eB;$6>9!FjL;oUmT_IpMM&w`1^@VTi8r_-feY9 z#kyUrG1Pqn(J9~0e`Ty<*7nJ%u3uo#M$N|zjs2((CK+nkRyvmRRu4j`#oXvnF2G+M z9>u#2a(hKts#4W-vhEJ%daEv1wQ0HERYJ z6rK?><@3q;nW-x&8Ir3G8Si{@zCP5Ol?>%yGf_rzY$rqAq?^sT=7Kuc9IFt*p zsMAN`^>-xar=0;t_c7d&oWHO7@iMJeq$4?RFAH_MB|{=}9m;`4l_8PEj^xZ1KkBGU zhD264k_*s|;YehIBRMQJlft5368XxJoY|+b`aUTCb~=>v^2+;se{m$|rzy@X{}LR@ zdHbt_W9d8XNY3n~&K3+qbh;~$do0RQXM>k3zsBl}rlDL8WP+%34?}$-Cf8U~{B-p8 zaV%th6y>OY&*e15ncc?|Q3fK+Fgc6%emCICYe#ZsKaIA5@_7{<-!N6UqJ4p zC@b@8@z>-FjYuv-=D8>*=ZmHkh{Ideu#F;P@%m`8kG({3gPd8ERl*C<=n#mbAV=Yu zEt-0g^1o*uIi|ZXn>F8D<3xg z-GpBkX$}BhmVHGRxb|qG`qCEePA#v-UF#+C170-l`;?%js^wKFRaxcKtK9y@9ZI(^ zd(UrC1?bo+dto=PUUEBwrJKqVw@EJ?X%2b1WO&`IeWLHFt2^tJBetUkHq}IYD5^x- zW*c;o<(Qr}BA=c%?1)&bD&Q8ks&5mIjg?v3>w;4Y+4V8FCL*#7HW#LPT*qu;lqBsb zm!5y){WAyN;iNVAB9&(itLM#P9`nPquAYeNVi`#QgAI!k)(2vXnUilx{ML zez*oTNid{pcXkrHQ@UFFP5l-9a4}g%(rspvI1F9TYF`!oaEdG=`TC729vJ%JDWqKJ zUgi1{ML+z#EF<|!q8oyteCI3B$XAE+k4q@};csOb$(M^5J9V6uxcZz}e^${CKN5W@ z`r$^R3w3F=aVh%Y60(dG*96gpa!(tVq95)d%SgU{7IT$Kk>aaUsawqz{qQDPM)EaU zbfJ!d_IWA#;SgCy^3`9=Rcg1iz7+j%pe!T#sw%p0{jfL$VQ(B1{jfonk$kNXU5E*7 zTzu^xoOLr~8OfKVkEIbj&kd5J(#zNW(b;?Imcx|LNxmfgc}cixo}8@jS!b>=G^eU}J)zkp12Ij&?eoEmV|##KX(YrQNZ#q~mT zsmXj%tw@IAsww;WLzaMHTZYUlG+TlN*DmeI`Os>6JV zNnzpDVZPKe#+VGdMkS9-UHoY`$EhpF<-;Vn3|1_w)@;^ezS@e{7cA?XQBR3WTwTv( zG`{LHU(`mBF^Bw=SYPFfk6xLK#ut?({=CT7?Rrz1HcD`kx&* zv!TitzcVJI@zn^j%KW)czgxe$k;+$N78aAy`0`@DsDzNY{xqk9m&zB{zA+h%FB&r` zrFYz>$3x93UtD*~WHi1gmy~t#YdT$w_E!1wrv$Ls6V4i6luL@QwiQ#0S(q=9E=}Df z7$&3fMY+UR*NeF8d}LoE#Dd0TG`=X8w7we4zP=TGF&TcO2ehiud$)65*;(EU40i&1Mk}y>I33nx*%a z6Yz}0D^h~R54dnaF)Hb!E<88s<3N)!K*eVzrjCjnI$u(~v?9&WmIezMJ%>0oArEFB(rL3Yy zBW@pqy~y!8eY~>swl`iJ|{4xWAQ@g42{Bd0QLJ%{vy!7XU@~4*_UIqyW@+ zO$>Y>kPnMV0jclzZvy(Tm=q92MQ_yqCJ@IWQUDaiKLqdr5von{`;@|^SSeAMqVYGm zluttPPI2bDsCm?mB`8t({7HeTp9|j|>2H!I72LdnQeYJShh*|4^h1JDV3aacT#n0R z-iwkaO2G#`<-4ez3nEq_>YKn0+13ax<@qlw6V!1{+CEgCd`|L|`+PIze7T@pl4?Af zxz5GZQ`zNqOuVL?OSdjnPGY{IUDiaF|FYzfQmEa{OXD&B<-8tQ;mQ-8j#hjojE3rd8b~Cl{8VbR9Fyuf%L=Q?NaYpF{D{oCCW&yOwL>L>J;-F zbvoMb;=8=zX{Tv3xt}4EkXO#^&%4=TBoy8$$Xv@O=S>~)zcBQ?02N@c9Iy+G&Q5+LCm6)igix(bRHc`jj?CyTi0D@9HP1(@)EX@I5mgmQ)$C zS$p)AGqI_o8KT-&g1JbS#oW@QM|3MPSlao$(Z8FI=VS3Ub4l7!jO%k~jtkca{J*R# zwQF-oKf~6U^I<82Pn?g!2l--2AuY=fkhv+!(GQbr>@D3AlO(xJT$HruvYfYe$7+&m z1a0g`qDEGc)6Q=pxp9zLpH~j^d02$vfwUsuL*`;$Ig579Qf!ZM|ZwIP`W9P1NM!emCB^nB~_sdTTw$< z;l|d{kh;!=ZK_c)42$+a5NAcnmq@Lt&f3lFj?Z1l9` z_T+!=os@F_2i_a}pLr)WogBMuwwsf+RNfmlh8^LJC%w?1+je7$Xv#m?r+C{R$TAOg zmeKPdHJ|L4&0KJ`hq`Aa6f&)ev%PUOt;DVu`>>Tmt|@vB$|Nmmw;E%n8G7J(NSl2a zqqFuQ7@a97(Qd#-3qnwu5PZ*^b&wj+^zxXQfK4T^4}{Q7FBGyR8rs;B3{9=>lbhNL z+2Mo>K^b_ew84Y4!IaS}EPdWvYJn#m@tXZuNQqB#^$L1KzwTZ^Y3aMnS(sRoUP;`= zL=3-+A10Le87K-0zl9wqc5?iODB>JN@f~)r`2XRvNASV?@%&)^qYwpL`S(xYu%joi z!ya@G+k^08lVA|eVUIyJorS7ist4V4t#Pb|KNp=HM~=i3+13^1hr8{PZN*WFx!VNU zrk=CpVGnc9I>L(oTX%Kwf5VDDwuNy;ArH|Dp;X9YCTH8?4822S6tMe=kQtv=z?PaL zT#NB&72^|NOU%S3bIrx9q93~p?UCWIP>LlPmt8a_8 zCS1e3qIODzc72Y$OU~cNNY^12l!E)|W{M5Im2pL4>WSe{FG(AhGW4TOamXk`zaP1SxRR85wv=RRb_r7lupu2=^t*Od)!LWQ?+}aPGkLB+9$sYLAB(QDzEtQp+&=bn$u77)n{)`R;JF z8+=sdcp#iChC@F*fd1mWD=y8%kQJAX`CLf9B^iFPT0WT^NdUk6V%vPaHfdaFygYXN zlnBWq_ccfpa{ggB8-q$-*zY3v2oDVEiBBp`orF)d;Ghp-)Kv}zdAjzAAR zDT05GtC8nFtyVPq1$YH8^$2N4O0u&2z7^j-flk!z54-5#@L$m+d-J&$Qgl5~ncf3q zzN8_9>54x#y7$v4oOSMyY3&Ma2EP?u6-mx))@XFApiCU#d1FNA11Ja5=3Og@s3*bCuz8+SN%+ zjv7IgVRBdpMgxjg96cX*MIOY1~UKCt%r|R+3PMsDfXNx){QnW*2Uj3m`{)wh!|tw zptH0vpEsWs-pqTB6DOg!s|DNf^~T1I2H~XnqA<|id_)-NK}v<UFIzoQZ!@eBJ{dQ7nt-0fKmMif#5Qi|C>uL)=8y~3qJ6wMqj^HnI~gc&}<8;a1M_L0?oxeY7tJSy>n!_BbTi#snXd}d+nN(-bxTMG;hZ^B2<)PHOahDQ zHlli|&cQRL*kpPv?8a^z3O~ch5!a(x_MI{RA!JhaRc1LBV$K!)60%-#SUPjmnTpc+oNir;Hz)ov9-?s# zyz2@-Lzy(kiv{$aaCkW!EweL(!>cLuY$5EPIYn5w4kvWSZ<2!2cEX+%l==<(N!iMN zZf?d84NNZ_{2WK*1`_=!7lkT!sw>qHuDMg)axbEy656>*)l&ceTwReMWK%)JS0dak z?U*LBoris(fl`0O-VRH;QiXw@mVriLV0GM1ScVWUw5x4CPk1Mzv^aQjDEV@2RXE-h zi-)H?xifg=^uUpg^25s(l32lXW(CvBZcQ`iV1r)E?0W+KPxKL{`wOql*Qg5U+Dv$B z2}>oxeyyPOK|0$0?^iR;SfyF`l{txLLLmw_u!9BaT!P#Ze2-BPLS-odkA*IG?}duA zUtcOl-3JKg9fFyq#s%4NLJj6K;i8tyw<4FU!kNywv|H~{9^mdr3ePOT8SLK2SZ1?3 zpFY9-Mwp!@bdUVsil3EXH(rKMfRQTj9p?-B?~8^=W|pnP(f*m1%Or>mt^4@t3|{ol7xEcEd#nG z1-*{YLX~MvwS?Uh_AtKI5m-Wsg%s^b3b6y#DQX{VuS^NuOqY`_L7D6_u_h!qtlKoT zHtIGsuSVXyQmu`QR~Ob~RMM|S9iDWz!;V_XcBfkeHP-~*HTez33p=l^RYl(5_ z{mns{s0mKt1T{f2`$;*Nh-OYkMs9D-XV;hduk&BvMWLPHvR&U*fw z@iZ^lgKrA@qSUaY2+fM(@!Eq^;lOe*jjmv$ZcnE3%AM*?HIIAlR1f?Dcn@psYw8`b zM$w01ZoYz)GxCfZ#U|U*CBfBvMu<%CvP34h;nxSh?)dd*rCR8c(99O6e^iNLL&B&d z?4nD=(T&+I;Yb4u7u_8kX>Ny$?j?@Y>vPeOE{e+qz{cgez{ceUz{cfP%W|}%DVO_E zmZP~XT&@5bLmr+hY+TM0HXdGM*tpzSS#G8*XP4zZljVMw<HI7Z0x$Y+Nn`HXhy}*tpztS&o(_a=GHL zaXC-exLhP`JiPg`+)7z)yDaxsmMaWZBoD6~Y&^U=u<`Jwz{bN{Aj_?m<+jOkS+bnI zkQAO9Y&^W`u<`Khu<`KL%W^wpxr4G?HG?E)hK;8$5H=oOFW7i^H)S~*oN&2!vK;Mc z!{z3{#^YTA8<+b6HXhz?S#CdUo~*<^m*r@P!{uCITtdeg@e1vrvvCgS*Jk6~fb(}a2mEW_;oNA8e-|@DA8BrJ+BmJ0SQ8`_ZhBu<4JusU(pk$LNYLI)lox}&WQvW;6NuFFu{4V&AHwu(d%t%=if~=kFstf&9x4;H@W4&6 zNo*X$J5XXU2vv+(4E3G8-2XVxJR!0sn&KDZz*iE4fL6A6*QRV7Y+AAsV`b$VHDw@) zf{0S`1CG4Z#LKp1*lOa>MRyj*YRvXKj$G~@Y;~C1Q`wD15%rmy0gsoW`&K1M{^l@c%R5uSHQ-@TQ9q9hK+}}S9Uuh z+vsfx5AQr|JUrStk*AOJ+&sJ|vfE#<@$eMFY#H_G1uV8xAb+}CUo^*9_>@rY zc_Gm<72kw2G41OML8pY^)R@3rAt+gD!O`1C znZ_8}dQL9T_W2Z{MZb}LXokZxwAL7z3U3sVADIYmUxl{_0)0i*5Kdx&~lC#fFvG|C# zn-)E@S-4+&@Fj~I3k8X?@HC=Xx9CN;dy?GjQ0`%x4 zK6Ak`geo&vjd!y}Webz%Sja%m3(Z;f^y=+?uTSff2 z=%}pohJ1(YM#B^Cc3gHlC%e6u-SjB;T&@Oeyy51o5-h!qyvv40qMgG=f*K2`BWHthcht#B#WWv91`P$TvGJ)SYbL5eD-G`CPM3X= zT875@vhvM-m|fzdK+Mcwwfs5OPF#WCv4o7BRrp?i?>;i?eIn+VkY zXd*6AYbq+??8`~e;>#PDZ#SbDa$l!Ch*KHecxGJ#Wvy`+6dOAW#xnFRaaB&aWoWY94LjX%4Urh z>eVRbg4YbmsI>76nZyU$235nrD{tl*+8>88utq@>JhDU%-eHr#n;S7yJP(KI=Iwzx zVCdg9;pS-!>^d0MmLa^jczR_CR(sq3-2=sYT#^o5IG^5+vKY$+o_- zZ3t{UE%b43Zkr<8qGa1P*yt^(i*BE6J0aVy%eH5*@f=+0NEBM+a}1i z`Lb<=Y@-%|ryx$YU6E~fWZTfhuZPacUNCFwll4<)X2r~Wo?Gns$5(#+c>Etfj6b%b z*DLE&Zn7kLmr|FFoEq^KH@0?*lWwzx30HOJ9b+|8jTG{bEh{<^64s_p6%kT2-^l=$gJ`KJsljC$QzKzY4rMW$SjzXXF5%ue-ne`u=&J z`_En*o=v>7YGTTFlT*w?dYVhuZCP4xFzS=m^hm1KE~46zjRTLkd)0Pd>$hcX!6K%D z8yfw*p-}O{g-TZUEg4nev#2|_n%_x3T{FE_*HN{8oO}95>*GzDg+K=exU=-~BK>`G@|ofA$}J>G0^2G3`zs z9&zn(z@*LromT(Rsmr=cUHa}x>w7l3)7f(eKR);LSly@JcDw)W+ds>^ZL{!Lo8S#s zgDt~DEzu=bM+bd!Ht6*u*VhH~E(PZ1%$pmsIWwf$w6@JQ)i|)}o6dK?>Hg)5?q7xF zeAOx{uGO-FpDbJ1^81w=s~pN1TE*4V%Qg3Y z`P>)pi@&(=+t>@I=XE)4baykBs@b?y#*s!D;fHUBf7*jU);(WK8U(LN)we9e# zb$iXJyS(Xl%NG~5EpE5uM7t+Rb)M||_~Jgd+Rfbl*gpM_frsu4ELx^w(Hq}SxsiIK zX{z_I-rh|jyEZA}R;ftGl{Y%N7>l@6?=YtNfPMD{By0*xxcKY1i#yvq-8tmwwjnD5 zzFD!xymigJi+=Z}KetbRc-i}5vb{~R-?)B$W3T@*HpXd5%;g`3UGDn%g|0g~rtTP% zvUg1Hoo{--d{OA-+@{e-pNUO6F=>qn0B&S+V5Lt{T`Y2d1U1lRVsI0`+MhK2jBeFUTmTL6I1jj z6H=E?XfdmGi=QVR{dxGQZ-;kSp3=eDrJ!@xE2pgD9wmzpPWWnY>ym8fbdG3vs>QP*}%xVE&AuynO$ z`|8gc#C}$(S=CC5O0Qh>=(y*jGmAQ&3H>%Vw06j}+PA)*achb5vL##kWp5D*M+wEs zmo4^N#P#1ETs1#vy&$pm$aDKf2F^bcxW3Mw^$k9n+Q3w)glW&rlY4r7^RCyyu~!b3 zso$gw@E;2NX954Iz<(z2e-8XV2L9uL|1se21^k_W{|Mk;5BTQ*|Es|NJK#SB_@4m& z^MU_y;6EGqzXAUJfPZ`7p9%cG2mY6U|ChjjH}L-)_-_UNlYoC5@c#w)zX$%SfPYQk z?+g4}0{>UQ{}k}|0sdbD|NFrI8StM7{8NCx8Tgk5{(9h_1pKQ3|0BTP9r&*W{sn>m z2H;-^_?HC!QNaHW@J|Q+wSfPRz~2h|3j==}@UIX2%LD%kz<(U@{|NYR2L3&Oe^cOp z1^E92{ObV!yTHE@@LvG@djfyPKk)w(_bbi{I3K5D!|_r_~!!u7r_4l@IMXwjljPY@XrAL z;lTe>;NKSbmj(Vuf&X^kKL_|X2mZr=e;DvD2mB`k|3Sci9`Nr5{BHvPs=&W4@Lvx6 z7X$xx!2b#G-v|8Nfd3!Be<1KL3jA*X|5V`b4g8w`|02M@Bk*?t{?&p10N|eh{4WCk zoxpzx@LvJ^*8u-}z<)aMe+c}OfxjQ{9}E0rfd6IS-xc`p0RCfue{bOb68Jv`{t>`` z2Jqhn{0+eW0Pvp%{A&RJhQQwg_-_OLdx3u<@J|E&zXShB;9nW|cLx5y0)IR3{{;9? z0RAn2|IfgGIPmWP{GEY+7Vs|){09U7#=yT1@ZS&o7Xtry;9n8=e*ye&1OIH`zYh49 z0RE$Z|25#h6!@h1<|F^(D5cvND{KJ8N5b&=C z{Cfibd%*uQ;BN)~w}F3i;NJ!Kj{*L3fd5~>-v<0g0{`y7|2*)24gBu_|L=hR5a3@I z_#1%#8sOg!_-_RMUclcE_!j~Gjevh~;9nj1R{;LEfd6UW-xc`J1^$nLe@Wn95%~87 z{yxCp7x>=<{(FIcf8f6r_)h`;zX1Q)z`qCZ{~h=b1pcLf|2E*ybaKEy9{9Hc{&#`@ zbl@Kg{4W9j7~nqw_)h}M+5(Z!2cNV?*{z;1pW(w{|4Yc9Qc<2{+|H< zN5EeX{BwZ+X5c>!_}2jboq_+Cz&{N5M*;tWz`rH%uLArh0RLyee<<*u3jB8i|JK0Y z6Zqc;{_lbRZ@_;Z@OKCPHG%&T;C~qSHwONTfqz5bzY6$=0{?fwe+KYR2L1Ce>vd)1@Qk0__qcAy?}pH;9nH@F9H5Z!2e_5UmN&u2mXhEe;MHaJ@CH){D%Sm zNZ{`V{8s{hBk=D4{PzL>O~C(G;NJ%L9|isaz~2n~F9QGP!2dGvw*&ui!2de%cLM%D z0RPW{e@Eb-0{nLZ{};gjEbu=8{9gk9_Q2m2_>TwvnZUmj@E-vD{egcU;6EAoe+v9h z0{<<*KMnY|0RC%%|6t%>4EURXe=6{w1^g!h|5Lz!Iq-J@{;z<)2k=h-{-c5aF5o{3 z_?HF#>w$k0;9m>)UjzQ>z`q{wuL}Gx0RJ7pzYy@Z0RINSzZvi^4g8M-|3$$6Ti_o8 z{J#eN&cMGP@GlJf%LD%i;C~hPF981Mfd72pUkCVq1pF%j|Czx58{j_{_}2&iUjzRI zz<)jPj{*M0fd8++{|DgT3;2fse`nyo1NhGd{^fxG5a9m+_-_FILBM|_@NWhD7Xkm$ zz&{=M9|!(Lfqw?@9|8Q|1OLas|2N?O3iz)D{{4Y}0`T_${=0zxXyE@5@DBw31%Q7y z;6DKPzXbk1z~2D;R{{UYz`rN(ZwdU3z`qCZj{yDyfq!k_zXkZ4fd9|HzcBFk1^%A_ z|K`BICh#8x{7(b_O~Ahb@c#n%M*{zbz`p_T{}K2<0se1+e-`i$2L6MA{~6#v6Zp3P z{u6=!r@;R&;6IY}|1kgn{)2#jW#FF-{Qm_0hk<`P;C~JHcLx4{0RKzCKMnYI0{$NZ z|GL2cKJYIC{Eq?utH3`L_^$^3XMw*f@OJ_J^MHRQ@NWzJ4*>tW!2bpC&jJ2%!2c8A z|2^&j zF9QE&z<)aMzXSX$0{TkrPl5k7;QtNq z-wOQwfWIC1djtPAz`q~x{{{Fj0sg~){{`Tm3jFs1|2M$D5b&=7{C5NYrNI9Y@OKCP zmx2Fc;6EPtPXhkcf&Vk$p9K871OIBke-`ln9QaoO{=WnNo4|h|@Q()m%YlDu;C~eO ze+&FmfPX>Y?*#ly0{^doe>m`e4gAjm{}sT$FYvDg{PzQYf8bvV`2Pg_Ex`XE@Sgzu z1>nCO_{ReOs=$9G@b?7%9f5x?@Sg_!X8`|Yz&{)KM*;t`!2de%Hv|7f;J**}9|8V* zfd5qBUjq1_1pe=U{}tfh1mzZ*5gqgpG{u^|g>}WRC;nRDFA9IO$%t>r_LtpzMg-0| zvbAjawF7H4Ir;H-O`ipAto&WyH#=83-|Zaw#>+En?3C|UOgXi6|gosQZlp4ystiO7nAt<;>QoempQNb zd}ZnM8DoFD-mk}+2DZbOE>?-`TW3^i$F|AGmyQ+^tkb41efe>VzUzOVxW86xx7&xy ze!n<#_)gE`dz+k@?cV9u(D~-__Xk>*IqSo9E@Mu4j1NcVveN z<=zJ^TQug6)xTuV>{0FF|ofCd;v|;A4gy=Y&S_xCXxHjU~)@ged+l4~@{mVVP@g#YA z`y#WpJTkSOb-dDoY&;L0ZDCa54u973-Z`N}rLL1c8uK={`1{`e(WXk5cQvmS(7<=t zHB*r)+Xjq0->d&;O&a=E|6xQCqv>IvRTtJi+55$c&nk2~78muU=gq;RI#2zmO!<-? zMGmaGbHDE9xHhR(n^i1Zp=8lwg^PcmWPiT@o7e`)J1V(FmwVQyOCjs-gTJqT@_x|V zuQt_mdUfcpNdt~G9p2Vw&fES|>a?-nOssZtRoCdDty@+7w3KIw z#09gfcZ$w#e(*vG@7KG=ZmE;hxzQIDUwHj^Go#1CV(0G0PaRX{r+Vx6PuTIM!|D=M zhdpY4bjiDK%D2qioKk;w@2ATxRg=1QToixa|60zMCzkjYy|nJ^yuY^9{$s}1HJAQ! zed}-Ex4gHpN&R9gr-giWDtz>ic5`|ql#0np+n2I@;H!X!f9*ap|8P{;rdg}bjoQ)R z^7x-h);QaA{m$g=v)x_C4gEZA=E0^n3Qwzf`lWlnaZbN%$oOVMH(SKGH4o-I$og@h;tJz$wWnHh;Unj;5|FW^)p{|kJPRxI| z=iKtt(ka_5o!04}y}F(eSUlwP+(ua|%Env?o)Wz0X`5cb-=4aqUwiNF&*#6Wuy}Nr zeU1W*BfAdS4{P^^%p8dal zAMQ53`K^UF+D@DIV)uy_M@R0j?^E4Bywz6;la5p@W2|xKkiBEG+JS3|2_^$x|HGuy+;C~hPM*;t3z`rB#9|8Q=0sq^;zX0$r3H-kT{)xcQCs_+JG6b%1|c;6EDpPXqoR1OMNFe=P7X3;c%z|GmK99r(`&{)2#j5b#e0{tJM= z2k>7F{QCm`a=?EP@c#w)R|EccfPWw0Ul;fn0{+gxe*^IU8u&j4{yzf$1HgX(@UI8_ zR|5Y`;J*ddq#e{bM#1^xlR|6Abi0{puJ|JT63Iq=^F{M!Nl zpMift;6EPt=K}xg!2eU=e+u|d1^&MR|HZ)HANbz@{_TPPBjA6W_y_(r;NJoG?*#r` zf&W|J-y8T>0{*pt|1jWR1^Ax_{!M`Y55V69{4W6iFMxkH;QuA?9|io&0RJMu|32_< z1N{PzI=(!jqH@P7sTiv#~gz&{4~2Lu0J!2cHTzYF{;0RMf!e=hLX1OG7K zKN|0TeG2Jl}B`~~3u1o$@w{(l1hX28E6@NWtHrvv}rfd6CQ z-yit90sn=-e;)8}0sQL&|8U?x3HTdWkQ_`e7KV}O4)@V^NB3jqIR!2dhoUmN%* z0RNf5-vIm<0spUo|7hSpANYF!|GmKfIq<&&{9gk9!@z$C@XrDMJ%N8H@V^cG(}8~m z@P7*YHvxZF;QtBmcLDwdf&Z_-KL+@R0sl+DzclcF3;Z7e|2Dw?3*g@x_}hVhf8hTF z_!j~GCg9IDQUm@Af&ZVte**BI1pIS>zd!K54EzIt|25#h4fyv0{tbcu2;lz^_^$>2 zD}eto;O`0iI|Kjn!2ba7uM7NBfqz-xUkvys0sn7+{|?|^4)_-W{=WnNLBPKz@c#?= zHwFH4fPWp}p9uWl0sm*f|0eK{2L4rne+l4U9r!l~{@%cU3-E6Q{JnsG58!_n_?H3x z`+nfPV_`UkCiJ1OE`1BJjTe{Cflc_P~EI@HYZ~H{jn4_}2pd z$ASNS;Qs^gzXkj!1OGF?-w*ho2L9gy|M9^82Jn9Y{Eq^EAK>2#_#XlOHGqFd;J*g= zI|2Wnfd4(<9}oN&0RLFvKLGgm0sb$6e<1KL3;b&V|L=hRM&SPj_}>NoUci3}@IM9o z3jqK7z`ri=Zw&m00RJC={{i6t82IM^|3<*S3-E6T{4WCkWx#(W@E;5OdjS8#z&{fB zrvm@uz&`=_F9rU6f&YHse;fEO2L7JF{|xZI1^mkc|L(xQC-5Hz{67Z%^MJnr_;&#Q zLBRhH;6D@iPX_*-fq!M-9}4`_f&b6I{}}N11OByv|8KzG8Tgk0{%3*zbl_hI_>Thq z*MWaQ;O_(cw*mi#!2bpC{{;AF0e>6t9|Zg-0{?NqzY6gG9r(8Z{ttkEFW`R^_`3lA z5a7QK`2Pz0TLJ%Tz&{Q63&6h|@J|N*vw(kV;J<*{f8ZYl{ObY#62Si>;9ng0M+5&| zz`p_THv#_vz`sB6_XYk%fPWw0{{;Ad2K?iI|4raO75J9~{;PohX5e2H_*Ve_g@L~v z_{ReOO2Gda@V5g0^}v5F@OJ|KlYswl;Qto*w*mgufd8Ms{~qu+1OK7G|5Md$% z|AWB)HSn(k{J#MHKLY=Sz&{@N{{;Le0RPp%{}J$i2mCXE|7_rI0sb9p0fPWb9KL`9T1OFPpe<$#F2mYS} z|E9pdCh+eE{5JsqZoq#H@XrPQhk$=+;QtW#j|cvnfd3xgzZLkm1pZ$G|1W`mSKvP% z_%8?k+kw9x_-6qB)4+cP@DB$5Pl5lpz<(|9KM(vz1ONKKKLYp<1pZ5a|03XD6!?z- z{x^WXEAYPp{I3H4ExdS%W?joP1ZQ36Fg^ z|2U=pmmSC2&)1lgoi%LX$aQ5dZ5?nbEFyO0m_@M4{ca;0NQ?Um3XKY$^{PU-qQ=10ws{7ZTyqOhUhC|_$^;$qn&xOjO6RF=t9%|xi4}krU~C@2fn<-fVm7m5qQS?&~im-{%|cz?WI_#bnsYX3@!rU%sgiIgAL3$mARCgipdJ(bY1{UPX+n7|xUw zPJHgaf^W1F-fNhgLMFp}6%~EaUIB`)3(gZu@lSHWmz+W-!+ib4j+hUq@pU)+>=OP- zF8Gpjp2;xzTcR&g3Mz5!9&_dy|0EZD$vMwtnEV0JR|)P*Oz+p({loYtx!{Y67&A;L9CGm^6REAujkQ^Q{II^La7hTHDg$#40IcSo>M`?!RskX`Y8d&<61BjgQZ{&B|`Z!iDG zp3KmWF;qF|bhS~l(1b%W>WY-R%!0 z1J#TwN*2&$X}dGly4XXFm}x9rlh)~A0=D&>a0OdCSe%6d z_CUR*jb3Q2w+9+5Z45$dgFVn_X=4;xV?mx&YUZR9TiU6gHI_Bk0#JtPtjs7pB94k64uSb8recmsbw|;OD?$? z1#2?$1dFpNLugZoRLtnc?ju2zC6pamLIKsqw`mi)x5>}Wc3)Z7Fb>A9?47Z0}%Ef}K z=wK{;e&k1Y#P9v6y{F!eqJ~VEY_#JkW3d??Y|tTl8_I!b+;oO%ftfsn?n4$}-;_fr ztx6UM)9inXo!mu75i%bKM zR{_YU0PGGLfSK}QK4EyHFg3l!_;o(6uvS#TB;nKrzH_9)Jyt?6KGk3+&U|p!mZBya}P0?tK(DEae_H zI<;Hl1T#G&6k6*gVWI))5GERhe%P>qi&IlZY6BAv;}{)$3%=95joPch9|Xit-Ew< z(>c6n$B%;Qcs6hDiS~xR3k69sh$c_tPcCRT*jF-`m33RS9RwtaWbj29F2OqoS{dG5 zpzEbYAtVrSQA_7{jM$EH8Q!_3R)S3BJ13v< z&NcHTej$&^u7DKa>G$f!tsPT=3}N#|qs_EUNo)P2M^EDbtcOJ@6j*u(IX z`?M@2w5s_K9>WFxC|Idwd&o8Rv4}}!KQz>P0GZspau)4gZVez;N-4z5FAL8*|5r;| zK`vO7rIO0`uCp{|p2WjF{PuxNQ^Ej-qUUnjo%mbB9oxHV43qO~?5B2ohLaVLqumt9 z$noNVaTk8{#)T!2IV|>;sJ39?`TA<|Wi{OEqqxWMBF~1WJYKUrD54NO@b?Zf?kEFf z$q8 zCp^`c0!C8!X>_n1)$>i~`N9$!@KJ>Frt?fv*)hSO7N$f~tgcRFv2HwYb!;%Do{Wq`_uX6Q-DVX$rR4AlL!8ltmIs}ry%!@5LsoZ*To z`ez8zCP!zp&PUxYbdYZH;$5}{-o-eq8;^hL9DTvm_IlKCVm*#A`=`BVqLVH#eHL=gcDGP^d-IK~1jy)cv&~E1A<}4OhchSX=YsI%1(xfvX69XoeBlZbK+k?!)XKZH-!USXVjXA{* zQyyM?AUyNzQa)EGL@U*F=Huymh;Gh0Ra6|`j+g(}i5o|oXSFlkpK>K{K-WNSmJfcio(xEVyX7`rsE8R{KtDK{6OlyjA5i|Q< zPvJOi*SY`O)ElG?cFB1#E$yiSQ~3F6rf2UM@xi4j|;;Ct!6l1YFpXJf7mV zIHxhQo31;K6`76lg668Z>1;S^VC4zdY$c^|eF_CgJJGv+0* zXIFE0>yEv`d-m$lv1@y{Nm?gn)g0V$RtJArL%QBwqs!lhI3NH-r&r+X+%&E~w+!SRoE$1iW zqLX~lo-1UCa_y(J6lHM{Sw`};i232O5}lpy;f#_q?986J%C78^Qq>^G#VQ8Kab|cwn%C78xiFXQ3J5u-zM@r7JgON{^UD;D*87YOIi)m(xU?=L?knQ=& z)Vj*9>^50O^7W}0j*-Q+8b``a_l6HPE4#AOrUGP)I>}d}=tBJhXD1IF$sxDE>cz^g z?DXX)GR0(HBSjakEGFK_q14*C)wr^lq-o0oGR2uMb$^H}i>Y%#rq~kiZ$)KsLv+}= zBUdOhJF84!BYB=ey7k&SD)r^cViKZ?mki19Xlc_YG9~bbr6$a-)7>4D;!Q5P52$@> zigNVB!+9-vm0f773CVC7B1AIW<$y+p_In>XVY(zDhHRoXR5aWd<-TON%W+LObZwX< zfL|^{n@mWCTbtx_p`Cst<4~O~kCr4U`hu788Ma9g^kLHRLkCZqgfHHQw`tuIpOPCt z6(cyR%SJ`w`)~NBrg*AUZOl7W$8ix;N^KeuiNmY&koHQcL<5{|z&l`P* z^TXbxtNFZ9MC`ls)$`QNxHX4q`*6BMabC64cc^vYgC~zOhYubyna;3PzjboNFqYk7 zARoLOKGb_uzN8KvB7I=*Ls#>DeOundoxXO*wr}TwvZpr8dsNM4(ue;zMymM~Yx z4^`!Xg+9uA7%wdRW2A^I@BN5*;OL5@+ZV+h+`29tk$oU^M^_*|^n>F0udpId<;Uue zw--=YSjS451Zou-McC9WyXchf=fCpyLOb--QOXv8`we2v zMAZlz8#iuDog>*$tG){|NqObWUS_FBK*9_0cLOqm#R`(dS$F|jodI>8=0fJ7C@05j z*6IwlL+&kPzNF3tj2xa>tNR#>YjKciKn);_9GIPJ`Nw$&gu=SI$p+AJk5N1(}3Aa_Y93;-OabiYPRNAdu21*r1?LyZjARcLi7)Z!XN8ImL8=xrC}YsG&l=jlMMk&pK4mXw}qdF1|H zM?#7U7xZ(u-Y;+OUQ#EBIub5Snbit^vamE%CH+QHJ65FmxCi6*+{nII;Cp;pkA0L` zMceC}Q~%UjCnhYdJGSEQnTCMq9T_&bovWuyrqyx1Lu6-h@N*kN>cJ1GAKavYVq07c z#Gjk4KaQ=L&5C0iW>aetXd^!(wrGl>Hz=9dsA;l%gGp`J<40TM#t=cw*c5^eXt0Rz)^;%$t44JSG(rkxie;q{Q+Jr12roKm$BPJE_3{PeSJ{{j(4Ck%Cda>aw#65;w=)D3pH)1) z;(mHA>}+-k@zbJEbHPIuDAMFYX%O(ltZgBeh?3%hVxdd--A5UiUdWuakH*)O>mlj_ ziyRNgi7d|2EtMOCIZMc7WycL(I9t@vw8Wnq+jXWLvvt6+J+o1Vn$FyGpWxV$+2U~I z59$2{QB zZn#G2?Zm=wh+}7Fqx1X)Cd>$367+L=;k6fz3_Xu01mdM*m(9kSbn2Npy>L9?ERMmD_(ka zTga|+?tGflx%jk#AIDV-NV1k6U4T6SZIIRoTVess3}6W|`o}*~r3Z>re@&W37eJ~) zs`_7qON|Y+EQ-*TJ-4H6%sXVv6e=$<=&ead3Ln z>jBVr*EyGnJ(}t1%@4hdZBC zjcl8uUKgC|0?G7}%jx_#oSPQSLNrkc#|8Q@hjZK=z2U@SH)klFp$EPkb?jW!`y!LJ zlWkMfdzVS;$o5;*`+`$Dz)$)TIek&H(+5~l;OSYZAJ30Ym?wa}D)C|-iC;DzyZ#Di z#b=h@5+A~Bx<3X9z;qFOLbj1~q1yfxa7-^x8fm;f#|wxIp@V^GP19@b55zV4rfnvH z-aSuUB~{9LDz8e-91K5hy4yJNS|}bF&E32KB&VPD0PD)+l+qW%)Y!Z*WuZ$D2sJp< zUYjKCr(RNAXZDnwsNThU^-R_>R_marYPc--u9&Cs@W|4LE?$}&E z$!kecX?AxY?@*=5y_A7?59Wo95revh1_$*B>=i^!7VrHsOP&L%G#la1MdxM42dx_W z`uPV0wrF1pYF#Mz0SB!!l0BbqNO4IzO9S(@osRh1`gKP^(R5OcKt|DYF5?cOrgJRLD6YX>?yXidoik(^DXuTX zJEbn7v(p_MF~HHy3XJchXgU|kGLo;4MHd_nq3igk1U!0w8slfDx`M$vTA_NZiv;m_HL#$fd1_8(chOVM;bl4Yd0Dv4!}YdVL+ z2Z?M9yJS@~odsnX$yWn0cCP89@frCdtt!`a;zUQAw30FDBwuI6*l9@N?4;JJDw@s% zvJClBkKAaKB|algUN*0lhDgFByKP&%|)ZmAkZ-1Y{RU|Dnh<%jc_e zK9?!tb60#_$tRPdi7R|k1k=7sjyydB^Z6Q;&xJOvlnnRvAfF3$nj}*|7tVBe(z$f+ zPTVtd=GLc*h?qaL$)#ktHBu9ogIPhM9!>HE%?TcaN;|3Ol$Ew6uTDA76{e_D>6BHM z^JsasS9q){H&WfIw48aaCA@XlaHtHq+86Ksx`o4avQANPcI?_KsC`h6 za8mCouBu2K=za5C{TF&)q+-Z8?;)ecu>|4QdkCzG!k4tcP>c@Fdv^^-O8W5+T-46P zLNui69v3lUaO5a_=9cb$)MWKJGGOW?sEE~(tCYu5Zm678H_KcdKN^(>MFE|sa}pjo z9trxu!{XN{!La4=D0*>xEnHS%D=8H{IJy!(Ski^(6L)k)QEulGmzCS9D~_I_m>35S zPGZ($`cN!ER>C8V6o^r`?c*=EX+!2PNaQ{b* zyV-2<@nX~YXuUucR>9<=8D1b(H7r7<+Hq+6uV~!;%$m5UO=^a2NDu0Yz)-!(HO3l6 zx{eef!yz*_ubf4zF{XJ9t01#Sl%oomh3Dhr1FLM>!gc^MIeF#G7B62}N~c>5JFQdr zoVu$p)K0SS%-&wS#g%ZTVGWY$wx6NY+bT+YW=Eq4I!CD1WENu5I&B|J-G8m>#` z4lFMqbD27JFqBL&Ud^ir8d?=X=P{HzkT7!onHy`S2QI|5QIL5m%25+6rcWbBJ?mmf zyp?VMMh?$gt8u5kv;Y||>P*5Y;c34JOTFi=kU1#I$>I6=Yo5oSkUI;RL)6WLq3q%5 zGn>`<5)St==u}#%V+o_g>t#{r^T&7|t00pjb_eC>fe$ZppZrL@;3??FC5XctIiCZx zvkkw7+)K!;=bb3_hJdBdqRkg0@_oqYD{xm?&g`X`KidlV;trX<6flgG&+2|OxzpqN zQIw%`GVBeA*`fiMM1I5JhA2zCu{R)%wXaI3r+nW*czNTcbZ7kwIePBd|5EO)1Gz@N z-s<9_qjcxwk^B2MB_Z&^-;@l3O;)WEKsrU0CcY`*!c-UrtA#Oz6k3gNxdm`hVnN6F3 z2T&s7(+pb2^UU#x*6|P=*#y!|)dW(+v6{55_+6J^IB^iE)tRDKL6nrN_>`)f;3Pga zHl6m-G+e3*p%M6VV;Vam$4wW8<0xjEiQ{Ny+a%jA%eD;JM*3hb*ITwx_0Qd+WE*`b z>|++5QkX(CuZXDFhnjQq75usXi@9%sud2A#--mMu0i!3tQ9%)+#s`X!7myUNyuw3y zghxOtG$5e7!Eg?b3X*sdWfPCmR;~8>th5(f>$PerP%8=11e7Wu?zQ#)4nuUw?44qy|&_R2nq-<%RNJ$ike|AS5>7eb`}3B7(N8$ zS*r_M5LsQW1|+M?O&a$+p!n*N%Elw#UD>4s_0K_H(H>P~&3_OY$f!`U zNX*B;M;AvzN5?~W*(#YS7U08HKnwD$ugEbA%cf$K%CRy2^&cizeIlERYJ_7Ev9)*$ zsWLn1ERb@oA0fsBpD*QFbp}NbPX^t5TmfSm?lMo70+M;c?~yn*S+RM-6Wp-tyM$-+ zeB+icd!z}Iu>78)>XS?g`*&GR2LnQnkCfQuD%=23?Q`4z7P*~x|C?U_v;A+GGq)jC z95)1v5bm+LfK~W^djFf5q4vL-IIAq5W&c~|&lK>u^5>u1{}%akmi=#)LEpmux6DB9 zf6ENyJRm^^{tx!QMHV{tzePU&qy2B0i_>Fs@f-HP%RnE#(eST%5`e3fb8LjS`d2r? zuZ!OZALiN!&s96%(bi%|oE12BBOJ%jH{~^}&2YWj(l-w}bD z#~|GDI=b){(RqfOu?>0&7{Ymmzw9%F>VJ?agx)!~(BCnuT$|Re4eP|4=-UxS`0ZBV z8?lAH39xxgY@(YVsJ%$Dd5hRX|2S?By{q|l{4O`Q!Ixtj911Rjl1-e$bZ*<|_OO{- z`=LH^Bi%f>vV^;s(d!dLgfus|5;@}^dOX_J{2&^;v3@x|XA&-)0FC<+TmkVD_%o8k zyM$O_r0*_3Y_yV$0~*&1NYb@MMoWl)Kypwb`c}a)NaLKHfxX$z+W(I?+cWpn<{t$W zN`o3O{r}o*$1XAV+bMo8_S*y9aLRAtk$Za2^^AA#xTjJzx&en`VJuO`4I{G~`PVkvkNi6}+k?omfWgYn&OBgnvt8o2 z*)E$EZnkp}q+2&3ikG3~H$=ILOx-nC&-RkH;#4?{;rwMk249?d8F%IVYgW>0ax&*q z)p&oT79s^e8D$?Ltk5i2vIy@;F8!zlL;5fzLJA_GHwyGTCM7cU__}qDabIxe1nZ4M z#S2ST9XCP+b3G1ZXjf)a<_-iNg-}%VLcUtZ4$iMPwVY zu$&d3{#s=H+RN7*sjO>rX8RT-#E9N#o_N_~o^Go41kc0q*B%7+{+fUX>D|If9@2Sb zflu>@KT>wo|5$C=Y5oe1$%xGxvb zKHTMa=r0;-1T8Wk zHLh-8l?2L{?}5@1UkNZ7h91I585S$2Q4sxQ>);==tRj(Aqcjh!8GX!ryYh6KHB-N| zLgAdufA4R=mpk>izkCA#M5hCV?5WCV5*D{E`EE;aE=AHX{jj8VSj&1bRwtq>R&Tz{ z%0IsRR*uQ$-WW6I5??acQlL(tlqqLHn~}S=JXJ}5KPLV6pi~da+a5Y*)jE6XL?OeU zQ_FPu(;@;Z=|De-f(U`7l2yly70aPgDL;QNaS4Abf94 zmrNNu?E#HQHglD3tJz8j7uA1(vdYy$IfTpwG#yt!NMXwI#^Hi2tM>qsxF-Oy+!MRF=p@v(EKB3H(WVs0B z{7LRC>w+m#`JrG^MRs{pLV05TkbNMZgmZVSk)lHEN@x95}NB~{t;d6asD`J#dOHe zqdCHyJD364Hw>AA=a=Lfq2z%OSRYGURJ1>IWHN*VEtP2)vpMQ%raZgW{>Q1>uyq5~ z{|1OE9}2cIvk?|ng-lO0QwaXC35b>X1EDW3JCTfX_>C^2i@g*HlX;p3Xd147QH1+y z0X>R)iGX(DUMiqZaF^qgi;chH?X->4Hw|JF7i#AS@va0lIFT@HQG(0#Ujf zlrUX^bE^|E82ppAlP~{HVY=Zea37v$6Q=8}Y0|_N8#V;_o8emHI-4*ZPd%lxZA{*) zz9k7*uZQc7MEs!bikEF+y2YBtit9CnX(PB;BZ(+DKPAN$ru(I)vA8Z_(%_PDc|BYZ z;TN{OV#)>PILBqAj<@Nj(cmBE0bMLH? z!gP2s{;tYld&A=TzRI5t@b!Aw2r!txZ0YrsElhWlrm?t^6^5<2*TXe?{)1nAHso1b zn2x8c({jSVLEdCQPWsl zmZ~#54X=lryX5+F?aFs95_N`LS0deX7wHtvRN-6BT=i;WsBYSrl#E3(SqX3U>8ePL*^N`pl`6PN^9N3=|=GPqzPEY2AV5^@sl;uHvB z*kaxscqOo!fILVbJzJ!TZqba{^HhjJ^i;^w@`LVxH1d+!4!K&DvIIi44xevRqBcQB zCKQ}yZb-`w4w+Y#M)fxmc-WG#Zc;4E z3AK!@g$ALr@nB&r!WgtINgGS3grqIB{ndpQN(QMvTjSl;Fisj-u`4lUr{M_!FP=4P z9<5N|MbSD9wVdHR?cpP5tPjz_6w7KGO z_`2C_x#9#|wx=T#7*ygsuzlQd*!To-*q+mi7ToSID*BCb$T`_Lxk3y%jdIAGRA37;5pL$Gyz?&tlo0uEn?sTkzxEIhK}-`vFW=ObT5EzucGCH@~mokkqc!lp-$Mr z#X6sBS+dL2YW^cGJ;bgohM=~J?SmAxoeT300m#EaDx;BmX1=BA(WTbvJdC-+ zGxSMqey1cPN7F2uXjb3Yk{&?}(9DLqbFe7$kXgg!aM~Z&mJ_hZ?q72qe$)_8ZTFhc zC(-Y0@W6^^_3qQr0UNx*9Dc*>as*O;5s1XwGki<7-b(p)3b)Kd6k^J6h_*JXt4_D7 z2z9{*(9_%Uj{BdeO50s>(i2J(>@37F`v;T6oFST35lXXoo>n~93m&e9CgiDu2cpqBpVPOnqvZxa_0nyOlb=5FF-y{RfSG;I@?2%4&V zp-CsIxNH>~T2-GM{>T%_iEtiY^%3?hQ_Strz9L2UfjF8(aPG>OlnLt?*0Sg8tr#6= zkJ$eDyrM(-9xTFQUpzRb;wG434R)y&ZHU}WqfPhxqfqj%9gGBEOJlIl+}#fv-GvRI z?~I>3&V1MU9xAOLg%#Jw%vE*u2SKWrg0T*K3w@K#WXTzR*^JVaXZ|&B0JWKTtN};+h|e8VpMpIb&mnUvw5#FF1JTPIaQmuH zS~*@@W$rNFHfsjz^ugLYlGq(vC}yTPD7nU$fjzFn=1F{G0VKopAH(<6{|;LzXO#q! z*}UoqHjy3zowcT|av${~xfW#|8GGXTjH z+ysc<95958H3cqyh2#~QpHi;d+>av;3bCo1TzZnV!e90&XiHDB$ok7z=}S-g2$!D# z%)NEzZkjLegum=2ga$Jg*;Pk6!J0$1r|P5BwpHR6l%8y9Nj3cU=Lm|4*{!NRPHy{_ zxx4fuqq!Rbrnrp1jExGmMo=PNB)_-qTWBiBx9mcdF0Wku)A}Yv%v3)w5@1Kaj**&G zB_B1HoIKz!dkfw|&=yH(Tg6?KmckSfhX27=;0M{Dyb~e|LN)b2Q(^wp879L6UxCGU z&+1`$Cqnhn`KY!dM5EbQFxlEYWpna9vqrS)jhbV$=Xm!Mp?%T3%suOnzLbtKb-|4A zwpMxjLw}9-h=dxgPnhHi?0ipk_u5cYq!7YyD9tUFsgL2vp$w!nU_7iLTUv-FiB=_7 zbZx3`6&zIBQUb!_*5OaSj^>10(t^Dp;c%oVT)8#ed`a;Yk>R_-&FzXWnVT|MRCV2! z91MT-HM)VJ2O-mb0fU8;+J{I9lVk~6tt zk7qEVzaCeT*zDvGLicXiKo&-<+plTW;t`D6PP6}a%Il7*%H%uDR$)&oHvt+mN+q}V zZ>Oh}f!5sE>zmu6_n!G@+JV?(#lcnZJZC~6!pHr=+4vMgo7zqB$d7?29xIq+STJYd zk~u$^HQ=iGGmQn)muvW%Yr9|Hosl++Q$oP3!HpERk z`SR^;U@;wx<0pS8+iBaqWg|#uTZ3SOM%Nk_7W2_e5fhlV`7+z?t&aq7as$gb_G%BT zJm8BXF3(S&9oSlgMC!lr2FEd+*Ta!DGT+F5V{eVU$;E#~M~e}N8t#|kZrR4=5QSXJ zC*5_my~*{Arm?uPWp=7fE{^Evu3rDhW9lF^m@&mXYX-5j7$M`@&R018FC6tIU=DAd zd|e%+My}hj;38-&t`bGZFP58kM7;7y@p^lcYpJHOxK^nYa-<2{54aOCyeIQ(;&ly&jI%i5R){od@kruJ36YaykEw+~guJ-H1z%yrm9Ob68doG%hZ=$z^f< z?7Sa;Pi}HKtsMv&7nj`RvbYv}IBTiHHf~S32rpLSOgg;6AUXz^GkNWaFcib`Lr3Ka#5r!SpVykr)CB)-XFj>Wpy z55+=@N~&DyE1Wniw`g%FIKwCsAl5i$IFigdF48f5$zntkyrXDVaq*&JwHzouDtJe( zgCWG%qD3LB3fUg|b-G$ewp6&KZnj(*k+8h?$;lDOyuKNE(wFNdvK_kS5-B>vAMETC z^bd~#zLj;89QLHPyAj|hH0x_s)6Oz4)+PG%buF9(fqx1#9oRj>Q|F_)UuJ0Ix@cssxJ{L+l{T*%tw#LVxTL+rrizS`@j=ov0 z^zpy#1I-vUtk875-T#e~td~KvThW0{e6O?jVody9hZGIp>7+h$yuS5cK<7nWqhokn z|A`Hc#q)ecLpr)d>sU;8hjXA~dFyfxbd2|k1a!T6yUP{G;+=gS;-tBq=6dQ#A*NKp zcC`b=cBG}!Vx8~eFak+Kk1S1Na0SFL@PjYZq%hHsVrKwh`YKMs)ympwVX(aIkfAf8*C7q6#3qv5|B=BguR2+KA&&#n#&Ottx6@#7-41RiAErdIa> zZoCN85mb6bJ{3B^0w3!j79}#ObT^d5eYm+L)K;(SiDOhAd>A~D(R&LfTjJI!h!k2; z)^}qf7L2Sq5-Hqko)kDBW?(rdGWx56aaLHE6j363RU<@@DUlr-gc%hGagrdliJsb) z_pbjZRmozFPM+8^FJ?(A>W50>S5~ahV{?2u^rFAAeiSY1r86t~Bi$2l1&oQf^9l$p z^+Ex0oEi|<8r&xdXb0}Hj2r+oS>Qgy{T2Zo!(IL*xppCJ;^uMzqh@Hj*NEU2nV5d9 zc@nlrt-KLASjI8Bl@UHlRZ}Ggv}vFvUmHzNPueCkr=+J;3{AhbVoG|C%|AfIu(`_? z+7QOX^0sXu-1&X~y>H-&dGfJV;ONx$AcX0`lD3)SWnhx?4pxjxPd7)U`#O(G@8bVa z&E_A&r|e6Ac?F(ZuEp)d$KdD`>GB_uF7KP$yc5%t&G$P_O!pPf_YO@@?l>jgXAVtI zMPLC0m11tQ79hkSJHgw)tmU@xZNZ7=Nqkvq+;>4;4QTUVOEBG9UjupQjcDi1Ymo{r z>%|ImnvIcJUx`V*kZO*8aU}>jo|d}zw+e`VSmHRFW)mMUIv@w7@AZJBFWYLD}ZYD?|h`ukjEYER`;hlsgZ18%DXpd>dsOR`k&AAq#TV#`9w)-)hwl4Y@7jrZ>f zTm*MnSRVuADy$7X%zfs&;Z@04@uCs|4hoIrZ*N(a(y}boiX66XBdhjh9h|MQ)CTiiPc7`3LUZqrJ9q9p@p0AXts=f3 zb+7GyGCZ}xFt;nTSv#i+{yROp=8SG2Ww@o4s1^Ppr#w~u{8KO$8_C~i`qE99phmq( zMOLu>B=f2AHV|&U$RGY8NA&hKgdWu;kRn3>dZ}S0skJ)_Uqwc3XjqTq@z^Do- zk|L}mPulr?s_nbXZ+<`!l@R$NKO(^gELrVNyvmRA zp@=6s%PPkr>6@X6Wma2dgSEN6ZX8%p9;g2a%Pun(6J1+AL6{q`f`b8Ek?W6CMqAO; zMh{Wz=NgluA6$jck!|-dK)2xv7!-QC2~d*Z2b3#toDWYC5H0i$7rtCWkiK_oU#?)v zwt?$1GQ2btQOQBkB*~ErNQO5S&{Prf?SLo%7BCh8DiTl`Alb`21W0nwvgS15t2$xs z!Ewb8tF@{C;-IOHpx~fVuTP40C>_HR)ehC>ABMMW%=oB$6CqfI%NH5Ft3WG4L3Isn zll2pzzJ=yyNo3XGNZ~HKZ@xW2qa^y~2CHu#7&F+qlqNAoq?*fNeL28^vPz&?6TMLG z$Hes2RtjQUGxW>1O|51#EVFC~Ao+7S5Rxt2oq%M=yaJGH;T{DfhjDKKl8yI!fNsGR zFh0QDHGEPHI<^8~GA6$f-fX^a70veqck}%^YY}p3nr^}MIxY%yuy2CA3g$Q}H_CLh z^IYF-#$kPRdbH=WcA!u6dEt} zK`?RgLjFmXh1+q-(;8%hR*ZKEvA)QrZI{M<4rm6hfYAnjRMsXAiezmX1xSX>;gN*q zX^0)AoT{h>P1G{-zjN;p@TwK&onbE1V9 zf&;R7s$fA&w)HbHx%fAoDcF*2{iBv8_B3vY4+&D|V=$S?{<5iT1D2$;EU_Br_94)AeE5i3+#JL2SG&cz)MmJ43O%fyTOUn<1E`}a5#!l)>lg(t;-Wn(L!Xj-g>(<&D&%V%RlHZpbZzNy^!%e#WAo`<`O2!b(PCEJfQ(SF#4ij`OvDmMGFL%bi5EMAWR zlErH$AX%vPYv^l0vQTB9(#pc8=Bo|K=6jq1!0gimtGcmez9tenu7z=|p;%ct*l92= z+?*C{9d7Okjd$kN?-737C)D2pVwb|MHH`i)JTTK=d+plM$Nd|3m;E*PUH|KU%lk4o zI6B;pll?_UP?}R4{2Ql2uh>`9ziCN6lPZti5K;4gMZ@7!OwXyFp*Cxh>wBwgolQSy zvP837Uj=MQ^{zEjkL&M+Zmpb@KMX%tl9`AHfwVq)DLy)QR}4vTkx+czjs*VAf8TA0 zUUpZNIAUQ9KJnpgY1>LpK`;MZG~A`9fBN|2kDHB`;of=4X!F39b_oB($DXE0&PM;n zgP!X4`*gw(effNZN2SM3+9I784$F!t^59+sP`?ski?{#a+d{lu2tYRdEF)}+0;2Pm z|DUBub_c9^68Zv=^yPYk7LTQvJ_#x;~k-Ty8Jv&+&YE2z2u4ZnO%zD ztPz5kvhc?Xf|L@f^lLw>U|dfBgH`qIo2pieTnmmOdAkjGt15ddc$=6OZde^!=wE-@ z*Hpbav=RsK)LjUFp^3_u3;6P5#LSmAe0d5l^)KL7vIEgp+0pXn5-;M2NfQ0mDL-$V zUvN1SQ1UjybJ>*(P7~>gryn7b7LU&msf@>W3jbxbK8wk!esU%x+J!5Tv}w2k;$R&K zZPd6u8v1Vyajjg^(X@$#`eOa{c z0KeBX7S}s6tCR=;HzJb3wdmRxZnpJYU)3~eh74ee!Y~G}=Xu2B}@;Ww05b zYin3>omOdPL+15xbEzYsr7y3UWs3lOrfICWC=Es@MF6@0V!(x^-(6sf0CdwdR$Py$ z*i%63^{~NWT2FoUT0dI^fD?N<`_PEvDjcqkdp)n=&b0nuLXSDNp6kb&#)|7B(9m6g z%j>B`sN{cSOX?N2p6gB$z+GTiT=%GO{J>%}A6(4&#!;{2+Ip@FG>ygebA?G2Tu%*GH;+m{5?FAP{?#zvykLRql^<0N(8jI_DprPx43x|Awi@8yF&3`;< z>$!5iN!J12B?H*2{viLY*TWJ;uKCwIy~x&cl|rLZ&sB1zE3Sax>V`WQjjG}O*4TQk zmuMQs<=muV7Y2=0-03R*>#HXnhek-GA!r2584le=xNIHGg7E`hvh`f=6BLrhtq;m& z7q5pkn(o2{Q*M-cu1-M@LE}mx+cd9-IYIZuQ_ucQ>bXj;EP)j?F0RhN+kzhVWPdqH z>bXj;Y{4aHTwIq3E-Qt(lPAuTdajZyM{o%m0i9$`n`6 zc{`i#AQvnx2O9JRMO5KZ4w!`EDx8~IP8NZc)+?S8^H+Ds36EfQ>pKed8i#C*42QMJ zauU2m@DE!zEye%GUSHP$a3ZnJy>cjC&@2V zHJ4b4$##W9JjXAVlb-o;G#AFDr;UpykrK=r=liVgz}F#+FuZOrT&0)}n=TW@atHp&S-GAMl*4piG$x8}c}_iWg3wuf%W8 z>RlAH4w*>Icvf#H+$lY{#EfV47N4jT9(%e)kf0|CaiwKNOP4H^5=E%n79>TS^sD?> zS&)h-rK%L%sD}mK1#{G?A~C0ksI<<&X*oDqM26`YVHPP5S60TJC8ENRGE#V9LCC^C zfoK!TA5~pZ`c&9XOx!=3ar^CO`91WJ6?uAadfd-V%w*W=g))VTOe+^EtgTY%BGVd` z7MWIvbdkkkQ4G|P+AgwKtgR#IBGV_0Sdp^v;xClSixY|xX)@xZk3}YJy65)bCcTG0F?mM-SZY|>FhKOYfwjW5pRzBENl+g>fqT%bww7PbC3oSF_gU2(OnTIB$M*o`Nw!~0NqGM z%kLE@Eo8@^`8**eynlR>K^j7mCmEyz()(vzy1+)8Wp_)RWRM1AlF&-I3Xmq2aycAA zbHyY9`kKV(Yn^BnW4y7iG*BgpsZsX?^ln8wYz1=GAX!-Gt`jV>9UL+-e`1jo0|i#j z6a)}+bo>en()PW?hFJ@PODi1NV53p_IKIS>eomB zhpbRs){s?BtDRi-v|0oNt~Q$MArXq4(n;enR$TV9dby^t;%Xrg97~qlD2_d?uG2IY z*G`4u*+$j%kBU}lMvA7ZEC!>usyWygXvAq%J=L*BN$f50L#0()ts)eV+T!kypxZ#}h z%NMoLt$qCcbU{8Kr*TJo-od>5r5Z!olk7kPQYfO_`CRPW{s5+-&QWKhntgv zbM$Z8`WQ-1xY-w+WTV*ohnu~jA&{hWY>Jz;v*F>`hH428*T2^Jmq#;$MwpFeX0)rD zg#n_dSzM`>2JG2#1ShW_HXEY{x*}dKwFL~0_t>WfgvAgEjn%k2g%5r20wf1)%K(u- zAkI3J|D9tGnVIV~-7huW7C_0k0>=Be%dEc4*}$-}xrb}S{CkIe{NHq}(_Rmo6%Kjc z3_tOLy_;h1xL5<7J3vDxcT*MtB7ehuHMRDzZxRXM?A;W8A{~Fc*TW`<^{-uC<2-xV zXSFT%uaC->igoF;H=!_ljb}#He7UfSWC@Q!)|5mA?mp^_yHQ%I0 zn-Md{(4-g^2@O4wC5sm=mI{w{P;xX;aPyD}xkUxzM@}kY_#?**8>-fn+g(GKUfb%5|cd_=dRHtPt{VMF8+MIM$%Xo*ry` z(^vyXdFI(;4OR+_;nDwcYlzO-6i7_`{aYDpWMi5)(c*sg0--9J=*Jb0P+3y1+=W&H&Mo!8fKVi@)ODB4fTSr;6i2s1d zy z1hp2|qzS^d0X>Kwz;Si(_Hc7BIA}BHIv93`=41Su>KK_1BrlsM$9gshsJS(V^j&a565KJV6uirnJ4-SP(YM{CF;+U+ zq_O<6%r-r@xY%yetj5W1(yTsQHfb!)r0FrO-x9k?s&6)p)l}PEW zbEUg{4;0u-)8X~$+gD=bJqnLkLGyG# zzU%ME$#mu40wjDlXl`V80H^!wzL~CmnDIUan%^lp>wBF$G34j}tWq?5r%PmMf$4tZ z9O&4p)|>+!!+Yx->2{t29lryoMz~y}?;zdobD-mQ>^%oMe#e1xpkw~Oe-3mE@6b8Y z{rMc}K0HUdj}p-J>eJg*-&l-4NkA7{uDIg&)j87rJpo;>zV3=yg7ADCjyPPR|I7R< zI|n*8XZM{09m~rD3FvzD$?WS$im2BQ#n2_PfXn9MhoE~_(XyO5EZ{;FJHUMftO_&* zFWk%+aNwUkR)xV2bGNxo8R}rZvEkt=qLc;>2s@T+TVZQc7_AI9q(PBpbe)k(mM{on(@Kn>W^NlSL?J-*_i$H90ji-gSsD8x9Y+LLU4vwCh1Ynd7f z7s24%H0SFqt>Ht@$-^q9HfUa7Ud_tiI+6^6KH>z$Mwh*g*O4Y8*cF;$VvXD~ZYoyn zPwcDu?{3i5ZnENx)%2ArO`Mu7#1##F|yqG4uem-QjjurKpMMLv#=J?hzR=2zCj zGz47c9<#BkuDzN6l6eeD&*rWZyS({toT%ai%q-mCAG(cm%sR#gb-{|M+ry_@g5NP= z+*#p#c~D5K3-zs-`WhyP(C3rebpEo>@tvLzV1y#N$Wg%ge!JrxC&jgd4ofa!?|`a0 z)Y}K4c?RZr%~}-RD>R4tUz1u2>(mc>0K{WMf1!?JK1@(InkOodI%OpYOGsw^c0DCF zt8Fm{?(u`m>>>>}T&2MN2 zN|_hY8^AHwGhuE)TEI(6c z%rhW50UZJiiJ+sN-*A2Y&U<>8XJ}fZ7KK^FFRHT6pWx!Lp{U542J-}s$?j?iZBoIO zSK@1fV=MA^dh>UAYAW(y%{(Ml2%(34<ZfqtMVSzX*hd8wQ)l`xU+c zc7OQ}*no((6G@DEE1;Bmp!5yaHm%t-3NJ8SjC+oNX5yYHAXaL>fJ$)xj)3mRot;FI zu>to10{R2)0|m4P_hACskNXe-u_a!H3x{8#C@dGyZGct?=siF(1*bKR0@FVbz8wH@ zJ1Agu1+-E?cLG`^pjCi44-6QO0$MGg=K*oiF3ETqP>H}D2PESdj`o40NG)wP2`dgL zHC<2*(I@HMSz&}E?--0SpmP!}0-l|~Sn6cPjycRa!T2tEw#wi|o8f1mI;L8MI7M#d zj<>2OBQmSZFU?wkacqckdm0h3#uH#a%95C5T#ow%xMcf%uYd;QE_*{xaKi$pmQd8^ zbj9ZsOq%Pl_3%@v^%wg=mw>g*$&L>ZA0hT&Q>|oAt!8YpPiF5dGtlmdaYXk!?B7Qx z*W@2JDwabdzo}|q@D|-OIZTwm?s>rkbcGXI_Mv^)!VhMP62c!+O$U4g8s3>Z;P(i; zC&7CSjh%b8BNp0D57m|J@UJ3&9%8b-4EmM{`})yfofkdG8yMj`!_bzW=I{xB2+#EtkkZl1#89B zqmcm2U5`Fqwj(m7Q!D?__jyWfa7NjVAPl9=Mz~;au-m~UWI`^bLOOsRp*jozblCXN zHRC|RldaKS2fH|e*k$DhbLwUgneW#R<>MVigfl^Pli@GpCdG*w16dZD$p|}PNpB1d zOf(}&6^oNITi6iMcJ_^CRaL#uztLo3agcEMh~K}lM7-pGIk#0L{}@WM;}c$j*YLd4 zp*K8-{3ct(`loPXrVT=SxYxv~rXh^PtdD{&yzYfi^g}TEj^j#cYDrR{w?m(W)Qy6^ z{7hOtIwn#kZ%ALpKTaR4U+BaI2M)_SjsQd3J%{W_53T4V@-Et`qVVY8Xb0_sV+wF! zb)eH=6WyU4DcNU(`y|iNbbK6#3jtv*zC=J1aUY8-Ntk!OPvD}sUnL-pYsL#-Hgytr zyT;uQs8IOs1ayml4r+*k&TL$6htGInKOQjj#8W(PZAdl?>&($d{N*&e zqz2?ApLm)MneXJi8S2;%;fpY=4t@`!B>r-aE&UrWsQRdrIT{-0!#q_- zQrlwO19*}!62HwX1U$yub~gwHNGtNa5o_tk!gBm6X*vE%V6gQTohizUe`Aul4Ho7l zt4FY=H}{8Wc=jzY{~qn{C}6At7Ysw_(e4Us?&=Pkc@5*V(lV`=tl_>II@Qq)6@_(` ze`%feVctFyhqmwEG?3qrzisWRl%`q_MqRy+jbWSEGzwg!UwtYw;GsmtuH#tztL~L zWo7Mfk6^Rx?z0gH*S3mYgBXV+I3yw36?xe#^3v)BkP*w5c~BfgK7P{r3Vb5J#J}aaa`dV-yYuVFaoE4^JLRdgL4_U`%FJO!Tbgh6Uvw#bThNRXCs0xtuwfZ~Q zqr(t1g~LpbQQSA&kP72|FqKhfc1e%1=9N0P9fpYP=-B&WbGvh8cze5g3PXb(_itiP zif2!%KY)b6&_U_R5&*@$%w6ed!YemS59Yvv=4{m^$Y|MN@QYwV0VWaa9{}jzScw627uFb_XlnT66m-)~+x##bkX#kKTt*l7<(_Do7~#NN zQ>)obL>xscWR>_m%yRAmBnh3A>j4FX6^`!<+t1JgcY$q@H~R2m{7dOQ3R_c6}No1+O=Hq#6CvjI;r19Py@MD13!+ zrIC@Dm7UYOPv6|UL4$`3%^zk=nS517?)+PfDTP;MTdOCCcYp=6EYyTmyc z?HTE}y%olxJ)IAi*TW@ljMG8k`Mm9cn)t?*#!|F_ZUX^Yl|j{m{ynT9*VduHa_uhkXge+X@ePnucFNH%8p0Ub(IC@Y#qvp3r43Q6+buO7I>wj=PS zrXiQJB(MzF=lS0F;=|vOb_AU2AA-ik)n0I^K#jF^U!0P51f+&Jr{L;LZ5LMu!Nn3s z_v95XdZZlz$(1Frg2u(gzvT5;alJS%Gf&zPkX$UE@=vq27m>Bd+8$9wA?b_9B|d`e*eHy4MYHrIPSxBNlc5s-295nO`C6&Gj9UXPU< zMPIk>?6f1$S8xd$7gs02W#z`}BkJZl?Fi%wE9rLB=Xu$gqDToE7gri+ZLZ*b+jgXhHcF*X6e&RiIEI$Utk70$RsK@>Eu6kaK~*pJYiUi$X_E1g`TAPO26S2}3z zGXKDv8~8HZ_1rbR+-0BT26u^R2~v5 zF>B*6Q{%WO3}!hAzNlJSViCKLF|a7CkSlG3ip#3c^pN2syTT#feYgoR)8kTjRU9TW zE`_g7dWFPv(X8c`;+F&C z(ou_{6OxEZ+EIHsBGEW0Rb$7lJsA1I=?iAL;3uhMHu^0zj!~BK{-;I+bx6fG= zPh%rxMh2(fnT1~?a(&j48G^yib&YY`%1D&YNRi?@o3A6sto*i_>|AjA6%B?>35Xt% zPMhF}HOC zU+50HWuSQ`mM*)G9IdGUxuE+hXuPc@f^D*tdy>OxMJD#M&Ie6FEL~O~IX+c{)p&jn zG?%II0Li7iRkj%JS>bV^VJv9gkEP3XpM>-s(4}A|IgGPOI6HkgattofVxy=)(I}LR z7Y0A9cRo32`+g$2-hEx)!O75~M09<6%P}$ogCpHNiRk)fxY9?uNFusS_eo8!g6;{> z6{vBdT@KvkKUZ}-VcR$Q*9Er&j7ZffiaJw9d$wl0O- z_&+$ICm&?;gq~pnvbGarLTt<3w-LT`4v=$LSAcT2wR6+Jl+@7qEg3C~wdjJh1~Rpp zQ=#D^4OikmLO?1t*lraEox(`|!;}%>Vxw443?*0i&F$AG1%2E+g=T5TaV<-eTb5aY zW9d2cX~l5g^}_@KtJ6qlz(VyIM{i&&syi&Jw)6$7wb2jWU;w=45MRac6r7A|4oQ)M zLD;gzLNX^toM7r5Wdv4$?N{u)h0nCma&&UVkdzInIQu)hWr>v{;$&F0Lqs8$Cfzez zO3z@qdiApTkzp_@-3ZgtbqJfH9p(`3F@M+07HU4&bHis2gJjU8aRp|zB1*0CWgF3q zOl+wJud^04p=gX{V3Wqn&vI6PFbFO_=4!+xGk-E5Stz*aeiN>M@k88i7SPMMyZ$S4 za4JtbI261qrp)v-YikFJawsyuN*43=x{4t_bGT3C#c-S`6wP*(RP|kfXqTqpqQvme zSUF;CEcldeH~Tf2WX@RSKPl1)4FZy%whGV)T+TnnA2wASqB~svD`!ONzaxD`$!1@X zQE56fYnu&<3x+<9R_=zI9tR@1VxZ6c3QYzF^FaF*nHg@tA~mweU-l!!L|uIUgQbL) zCui=+JQPh4`yXc2ki6roCSs?w+si%suMT!KxApI~x|6VR+`nD0^_HGs>3_aZm4`Ia znu+JHj|}pJPmW#rCJs1RkIh{xGZEE2*E7`_nL7~X$`{Ia+!GiVPt!(9M+uwA1tKSy zucL4UjK?&jK1(DD4 zm%xpnizsVq6H8&O7g9P}q`3fhE`&-we_1{r z!h3A_fbu-s2W+DI&_{&(8UC{OLFRw(Z@42t{*5>T%DI>RrE@R+c!b;O&g{lUoxhyj z-0SSy!u?wLANUmjQMc_)KeKuBp9WpF_rynLbN5}l>pZ)v>RQjMyfUvgbcxzQar{99 z8JdMXPRMYG1f}G<(t|>h>q-;%_rEN#WK&Yeel^&K_v^Rv{^;de{6Low(dcoPv999haz@f4sz!uJ;%_a-1ow@*W#YF{o`a3q*yBq6V5D0Yd$2|B2( zIOGZ9Iy!BrC=YTw6?KDqePD((-BGi8Ercga&a?}q)(q|1V%+R6s7LChq-%gpiSk+zT~&o1lp{fILx!= zPbF{eD*3uyF#;}m^XZbWlZt;zXlu#Wt(V;lj_8Aq1mQzN(_=CbCl_ERe?P6CW5@Ln zcbFggJ$j??s-rLgBC=!kfanFAB1l0+s3Dq}*_62lZH9@1JCbF)FhEd61Dn`YM9&8m zf{Y&8G)S;CvTctw*I@~ZIF9jPLp~N)z+mBF6%80uk)aYtficFL_wF1PRmaa7}uZL3`HVG&H zxP6knb2SJUI$Md$S_@19*6ZO!hg>f&{Oxb-oh$BV(@~OIf_JGLXalU*!~7&-ZGYn@ z_O8@4O=EFg2O7F$Twc!*+)1)9*sjvvmEu36vv;Lf1?V_7_j;;v=NCSBxYq%DSL!4% zbhdTtn-mvE>Rt~gNaUJw>CIt#SIXMUYG+s}r?=S52J$qN`R!w7Z zy{6*g$lL4Tei7ZXqw9~^yHXo8jm33Xk_r14UJs`Nbg#|Xf46Pj`VEN`yHYae2daM| zccuKw|G&IVuiCp(JvEIL*N+s2^j?p}_4cWTKiIocC7QtWwSl3#q$;U3$%_2Zhx;`*-2)eeH|8QfX=Z~9f=X|{Fi>okqU6;POtf{W8L z{_n@ve|*TcZtc}H7S~@@ngfE1lQou&d*0l;-nMRiSkqWse^-C-LcwMIFYZ^!T`8cA zdMAx*h5jPJr2;jM_ZbGg6B3J^2eQHm8W$G_pZ2=`_rE*xY3Hs~rr;7Z0=iHI&pPC8 zqhzg$U)L|1k;r!Rb?Pe^s0@-4XO>H}`d&l}&+?3UK_gK{)lf%HX3YmgemXqM0 zTwL^HNwA!xNpsN@!RYM#`HN=QG>KF+t)(uD>Ryx!xh$#=B9A{>JoXfFwcZ?0sLvpm ztIf`3QSIeg&8CiJJgsfG&bhLkfKaYCyFx_f-Wi-NmXzZIc6hp&xBwkbEtaLZFo~t; zCGsqC+h~i6KgLp>N;R=AG8T^bXo$7VQ*#mY2eXP7iM3ahC!FOzWA;3EIPx$p9z4gH|0=PuSm+i{Pe2xnb&?bX7l||L6Meq&agn1WWh9^#Xu19j1JCEW z{+!!8$6;@nT?I~d$L_VY2rIJ0s^4dMemm>WIT_CA*f|_UOZ7L^xUsbo>x5bEld{=~ za|8K&)kSH#?A}~@(C###i$PYS2KLJ8EBjhOB?pC{GIFQG`f2R zyv>$~hK|yE6-K!63iH^B-EFHv9WbBm{d&uOtS(;p`e`mQb`fV`8D=gfy(PI)AuiM* z+WK`P4byV278qi-XsyPu)^){|B-ZTs!vYYlly*Clgf+h`f#WYv$CV^bVUjp5M_wav z<8YU_>3}$8NfJ_^61NubteQ#UALRfF81HD@=YZmW!>UddqXSg!*%Jvh`t!fUIq+(2 zAyRa_^fZ6rvWvIkZa}T@Nj|r-Le~Elx6&34z5HeC1^g`FP`jd^Fq@LDHH<4o zW#?I$spG959l&pW=s!V`Sy|7*v~?g@qIYiPoFh7I>#Ka+x|Qo2(eYbn@^SOl2lyDe zwLc#Nwl3$R&(>%7=(Tk_AJ=Y0Y)16*t(-|mFWJf!tZ2uro%l%EN*VHK>#Y;Q1H(3cuI zsUgaW%QU9}>I1x9I>vrRWCTR9p9OMRU=!{v3=uws#j&Z?16UA(cMlL{pv@+hfvMG* zl~DHLzr}<977zYgJos<%;J?L#{}vDaTRix0@pwi)_?39$zr}<977zYgJos<%;J?L# z|5i#i%N$^3rM{hW`0~ zZ=_-IcF=^Izhf+1BxV4{;(2qH8=>GGxr-LgUt!Fgb;tD3{Ggbhi4PS8RAMI_NB3mSro=*0-@>%h2rbZulC^H{$ve zuFbeu$bW^4Mdg3{szjVGCy1Bb+mi|K|J&*NXX0a@^(e0OG3ov!=KY@u^Zyzxd*gpK zO~(+%L%8Tz!KIRegiz)cj>9{NV_}vMyKo70(oh!-rD-T#L#)q|qlbpr2uNIxhS1*hURN%v4+@C%TShUXr+cqG*qUc zH5z(AL+dp3u!bJf&=VSZMnmg0v_V5JXy_#ky{e&28hTAbl^S|OL)$g9Q$xEnv{yq1 zG;~-)M>KR)LvzS2;$hW@T0ww5w?*)vNhSwkrrO4U$6L+r#QM;8sHX((Mo z*J_CUz2u+*jD&JDl&his8XBmfp&A;Yp-~zt&=3a`GUQt{G(|(xG&EB~9P&tx`5IcR zp`eDAYiOm0N;Fiap*0$MKtt;^^st5=)6f$ddPYO*HMBuPFKFl`4ZW(NO&WSlLzNnO zLqpp&v{OU7G_+Sk2Q+k8Lq{}pR6}(dYS2)lhQ88JvxfezA@=Sv?|m9d)=-LuQZ*FN z5YH!&yi`q=P@0B#)TG2+tDznm%Fs}bhH^F3Uqb^mG*m+)G&D*>1sa;Dp<6UGMMKjx zG*d&fH8fvCi!~I~5bd(aFIuUg5)GAUs6T4=6}Z?A&d2o-uJ7aGc;|onT7oz^@QaQ2 z2f!61z{k@4UwSV^dPm}#9FuO2cm6M>^Iu5|$D98OKY7`64#q_nz$M2v5=z#%6b+?n zh%}O}lZLuzC{07@8oE|PJv5Y|p&Sk6YKXN%#xYPsLp3x)L!&graw<6{YUmaXP0`Ra z4b9ZhYz?s{%1{<-D5#<38d|BL5)GAUXpM#*(9k*!J*=U}H1vdqp3%^H4Q zz#Gb+hLSauqM=j`1vJ!2LtQkKrlE8VU8|uU8p_a6j)rnI)L%mbH8fO1BQ!KhLj@X| zsG(alG(|(xG&EB~vo$ndLyI*O)X;Jbt<+G7hRQUwMney1Xq|>0*3e@bdO}0bXlT8L zHfZPt4ZWnHS2eUrL$7J5QbTWOXuF1XYG{{+_G;*Wh7N1!h=z`8s7^x-8fw(gR~l;8 z(BCy=phs5aPeUBrNF2vD65`lKLLA#jh+`WGacm=@G!1cVBXJztNQh$_32|&AA&zY% z#IcQpIJS|{Kn-zhBXJztNQh$_32|&AA&zY%#IcQpIJS|{G!1cVBXJztNQh$_32|&A zA&zY%#IcQpIJS{ciH10~kvQj095Oma9Dx{^^%J|B0yMxFLqiN`&hg|zwz70STvC{Z zag5mgd3#%AY9R^Wd`6mx4|Z%NLWqAz!5wlb)5j+@cli1wMC{_Yw6k;&}{&Fz4-k4rBKR!owjS5A=^LF3|*qF4MDx?kMB@_^$6#GYIL zRpMDLt`uPHW8k0o@rA#YqE}L}H%o8{8W-33f{Q7q+Z1~1ugV}mPY8?jlv}WZ#>K_I zZ7UH!`|N)`D@CtlTsa~vK_j5+)j#Eo!0TD5-g*z*-_{nrvQ$t7jo|Vtx>UiXUX0L` z4~0=cBY}!8Rk;>AWN@gW8!UDpRGFV9!k0Hm6I>LUZy{x^>ukN^DKXZ+r^i`UKE+PH z#rg*%T1ozSISUp;OK(eg(1aF^@-!pyT%<085RpCl^ z;aus7O)aEcW}L%E39`6=ZeLL}X5`Sbuq#hUW(4Ofm}SXjoWq%kIk|ah!cjAjH4S^G z*!sI(6$fX3pips-Z$&aATh>P_vWoz4G|)~KYf-wTRV4NTf-XBd7oc|C06hwt-zqu=E9u+^D0KmT2WUQx zp>y^b43zEbNkzkVI!avhijfFmc+^_#hKr6ZjyT~t)2)$6e0N1dI^k^1vDtj*TmYIz z&{AP5ei<%#!t>>T^oFOPv?cG=3D1(4jouYbV(76PZ4NgiQ*BF{*@SUGr`DISN*O-c z0_#!H3Fcq4Mh}HtAnF3SY4Kos@Ft39?J!1zH+GhIus6no8G%O{ACs(bk|VRkX^KqL zmAC>z;wW7}rMO=uASIHa5(~YXRES%2kBmxBpKFXeOKNFjIyArj7YM-o%-X&8!Tc8k zH}JexJ$tBUhI)!(4S!L3@a(Vf1J!dVpAm$kB`&B{1;sB|8pUIf`O(=E1^-Uw5hk45 z^^PO4Q_UK)QRPKsW%>v!e|)t*E4@Ayzs%~P=`yc}rpwG8nl5vDXu8bqq3JTeho+~I z&phI?rCq)Z`+?C2b6n>75I~G5APi8+T;HU94+FYd_-syY+(Gff`CZPU z$|m9(5sdnwip4>n;-v2gTK*-Rn>k@jX3@lvqx0nesuDG+e*{e16ktn_fLad|y#8QChi&-b>*E4E?*>jj-0C9|FM;=1YcAN|rEB`+ocoUK@J zP$JYQnXM*U%E0>TXW66V9h!!tWV-Pxg)DToS*VVWUU#KE0v@7iEUu8k$k8neB13Cw z_3#>dbbE)UA(yjtm7`nU>2AGX>-A?F-O_(3Z*X#S%eWYDhmQA$Y{h~;B!DB0{4O>N zbgV?S!5|)cDXLY1Q6Q=LcP%HwX|Z1Ml$if^VTwd=Z=W$DX>M`R@a5Gw3qrs~&xt*%a%@5Vm@29QB#1YOsikQB|g!kZLkN2F+D$bl^0d+l+#+R^AIV z^JD2U-Gr>?OF{FaSh^TH3Ijk#I|T=0>9YICNhlKo$9(++G;P?>!Rhp6^^p@}i8fd( z+k<9($s=1r_PPoPc!?WRCRH@9YeBFNyen??m-oDovLFY66d%0j&4r|<8 z%&WK=is}9b|4a}}XHxw4?*?p+-c@mPvN?Kh#d$D7TXD0`9DR86FE7M~+jGY@bMRbz z(dGg)%HRRUAO1ObHg^TS-{@Wbdugr@#B2aWKDMx^wvGl+O()njui@5Z#Cb-I<=EWqtse)An1Bbr}_ z1j9P|t`S~*=|00#)qbCMbYsWR5zoPnp`D(S9YfpaoGBUSF}Cn#Zb!^D=5Ei)EvZ=V zsL0>T?=|;t>Cey0KYZeI&w=)*y!j0s3lDf2+rQP?c6vxNJO7X0O#9;*pEfsqmgRGb>^H zcJNQ`3%|b+CmhrcN&}ZsJBYOw4>>{|BnPa6Hacb@&-t8r`x6kaj zxOHsOl2IrXUzoeMoGyLgQ-Gf%39av$a0$Wg2T>itf3lsYD&p&E*5LS;s%F2ZvHSZb zkAkT>)!wtuQ{(x-^UmhqoP6LFv++c|=Svl5GUGhF`Nzm;5oaM(k&lAn3v++>6DUjw zx22t@cJr-|_iRH(#n#TVZBBl}I%E_ym(7z^C%eG|-~D07(T$${?W?@2j&>YBDSw4e83|Lz~4`g`*a!(M==y0rS?X4KW+HDO+7W}w_J_n8IB2-O^xGSVEAYJNYE za1yzR#UuPi7g5Sr0=^uVE}L>*i+PV@D$MB@O(>+KS4>RznaO5>tSV*$1%7#FnPk(h zgTbtr6Pm@omW(>!5g(=~oS1Mdsj2==kqPT5`N@-9(Ls_szXtYP&=k8PW$okSJvHtl zC*vbGi<(jI^`&>jw`T4zYfgO7dAI+GDryw0?!M2gJ+Z$Z>}0PBpo4hgO`blox~x9b zh2AaQYdXJ&P9^-FQNCwI$2^?mbF%ZnRqZk>BeT8|+3n3wZI5$Jl6AY85v zM|OYP>}Dn@i!W9JJL|-7fnFwyVhgg2IEPOxMQ)u=V*b6GC`=6DY8gC@ptv^KxU z-b4{io}l4`h;Eg*Thl`hp~zM7{LriIO_bT1#^SnJVdV6X10Zt!B!6mOdwOV%eeCJs ze7g|xk((%FILsRy^H*xdTXEUb!<~YHG*$}dkqAys57Pk= zv8;K=5_@`ho2Ie2S}Tm49x^S=rGEVmF0}Q|DO5^l>zxl$TylE20)8Bd_2~H9H|^KJJ8ELkYu)O!l$q^oz znOT{=1;lmvEBH5!-(Z!sSU~?DXJ|R@ld(&Yo|#-=ayU6->D||X5<9J*CZfx7uisyW zcIr6jQq=+tcRAIJ&o!l52>ctM$zsieV`Y_e+0vr2z+&8j=P=N`tLWGa3OcvpJR=SG z6QH?R)}<(2^GfSEzLm>oF6%ggR< z(eU{wu3v*@i0V^y`m(ZJGwYt93xVc2MW?^FZ&qK1V>x!9zXr{PTselb|8It?V6BDU z0MOJbI{h7auHS23DP9Gk=!T8$dHQmJaO-|CQy~#oh{<-t3d%biA3p zGjkH^qCPBv&CJrkG2l565Rwc{x*q}kjQ<3}zd)tW`#`nhrxD4;^&}K=BOgl5=k*5DL0o^ zHDZCpzp=0(68O=)9Wya=?J};knn-*>bcH*pOJX9U8F!o{<4zG(^YMu~zE8#b=mtg@ z7*V>7VTVs;MIIheiMktkV#E|Y{G;B-n!#xg29o~!e+v$G#Lvnwb+-Kw?{N`RZVF#= zJTh2j8|AH-*AZU{b1r3YY1Jo)n-klw{P$9(3oAPAc=8mB^?SPGJuV)~s5w8-C*I`; z`bMDb3Dl2$kC}JNWvw9Pk)Nn4Y|GDi;&V${qZcEeZt3kF&tgQ*WKTJbu z^z(-|0CFesQDB@U=svv1CGjpvr2hdsCme(){((;7k#I9s=7zz`9Rv3noH3;1JuU`r zOF1)v8zEK<{YRA6ioe`~Rlv{S5gENVQrJ)j$UwF{TnVdV;WPdHPr^E=zx+)Spb$m! z_gaf^qN@BFc$~HOJ%9OgfSa=W z3&yoL-FWYKBNuyq?lE#P)VT0~% zxTVX=!(em?{kRdGV=KQs?%iMdszQ;?ac10^)uHCu=&b>HR_KmdprBa#pgLr+uLS?F z?;>1Fg_>efH5T;?i~5&EF=3TNiAAllsJ~hiyL1(<0{W+@A6wKmi(+w9w%I7HY;=Tu zGeId{98{U`aOx7aMK#_r-bh8i$v1a&Ojr95#Kt3UzezNr2I;=!@>KMob2K?N5S9m1 zxvbG7W0sr_&G-hzE)~pG#UV{4vusK!8@#g9PlX`UqI3l-RVp$nU3wzW889bRvj=@J zmX{gU;5hoGY#Kc{i6c1Qs(}Yrn{4jOa2^KcGq<3d`S=&v1_?#q1nvbiAwa&C(-<1F zA4)l9KetQlDV-brU^NH-uuQU1$-_2-q9%c2W6|pT;p?a%Lv}^Qd6H%~Mo)D{DBpM; zknN8{1D3CEg_Vquj-4Sqv@_ip)Bhr4djA2K77#@D$$*)zQt~F$0Lsrz{$A_8K6V<8 zfcy6BsZ*>3z)Xoy9cLCBt@Q`v$D3ua?rr#o%@Z&ZQ1?5KiNn2P=O+&L3e~fd7ZVhM z#(MJ%)JEeFVD;s&XfB{jO?pxS`ek~j?!94mTiXlF_m$ta?!dd`j_*Kse-Qr+{KNS7nUc>om(SeSGJ;)2Lv`!HF?WuY-EPrIXG~6S>c(bw)3_kBtC@8P z9POQ&@_ORik|n1}IGc?1607ECVT)ZE{)C$q#MDX#?}{%GuqDSai{>$;Ew`?0lmKGZ z#K?{T%%9RBfU!|#;4u9r8SHP2a|cc7clHapaGl;vnb(GZ&sXW4*cdhrwVWv$V(#!P zL52m6(rz#g#X~u*vF>KZVxvVp733T^Hy8h~?4rm}g=HaAxlpYBW(c(h*CPDWe5^>W z6&^-V5D-eRLRUBr&L~_Gl)^m(O5t7yb+br(W>K8Xy+C;G;t8FEUuZB0v@BZVw2588%ry8F2T9#X4F|;&w>>S>kF!|ZU$_vDy)q;J3?bxaY*jh zkTVM_>km~}F9W5D=va$lWL!wUq7H}J##4L7iz;n1>v+ww|DlX_QZ#8S4 z%{c0}p6|H&w_<6@E|{#OY7U4~mY+?=hNkFl+|h>E)}fqL6{<3pw>7sdzOF5fYHwp( ze6ucGspxJqNm;&P7n&Pe8#}1L*y!|{^rnE6t@UFMohFQKC6s)0+iBU>Z;PluR$qoWKXQp#>+t|ZOjMd(m}Jv z)rAQ2;rKooh=15;9s-$-v+DEqn3YTr8;2LC;(PP0rcQ=6C(LNFN$Vw&%4={PG8#Jv zo>FJcm&i7}M6_P6$41{L|}t>x}X)IExy&# zg}p9a7~rhRFv`+dRn|NdqX3;&Sk1j)!{lBl$=%tzlHcL&-<3PTQ+3b@$W4{&EN3d$ z&j+P){aR2e*PZpvEavzv!PJcAwP*a- zEpw`=sTn4LBHU`zRy~x;`^^+4}ZAL=7?Io|CtB`9~|hNapRx$$M`34tx;xh?OebQ$eZBz0sl;gHnZilZ9jDr*O=AMX{K>YGdw%Jt~+Q z-;64F$*IX6$*CM2;uJz%v@zHw8Bw@_ipG8stAumtYZhzqc!q%%h7s(~jIRSEbwmG* zDV=5frq1$xV*eqIjK}+D48|dm?nlj%{wCf)W^)nN!JNi;Ut{+)vrOS*C3Yg3LXn&? z{m0aVRYr7`P@98MDrNVh>Cz`>V*ioLcdqz^%^1*^FMngjdu%6x9=?3Tiob#G2|9cE z^D7!bXQ-?|7?=M^=f&?>&#Am%dZ?7W!lGEnR2mzgRO7)}l-PTM+Gts@SNwVu7PLR! zicQ7YxSbc3&Qc6-Y%?9@)LhhWC-Pl>e*@AClMEt_p*4+o1&Rj#_rOlG0_zOo5Y9%< zLurbgszbWK_-cMHtrFQS#b!wf)*p;bM%eRbSOGE#oT*@wj&ioqo!1O_497qmA9wDX zKSYAwAAw`=)#2i*y3570O8cupskAS!C}Ldttw(5waL_rArw~(3(TLA5KD0lvpg%*B zHR;CD`nLFS5=ov15j!8P+YI9?VW4#o$~hYAZbdxvpfz1M^I*==_@^zOp9{}bcC#T= zj(=Frf>5si-3wDX{$nQrW!;Z*H{WFE%M!}4`;iurY6hJ*94vpMJ`P0kO(S-JtWJ2zEupe??wExx@izN0O^tCNq_*ts~mMrTPd89iW(O>at*ru0~8 zO3M)uExkHzJ!Q7><8}ZK!8sejslY!hn+*BRRqdrL#3)+eX*9F?j$(3aVDOR(*h^tM|vrmF9B zQ*q=wqO+(Uk6>XT2tRS;MR%;Iqj4;KKT!a0z&}l@ClyH+brs3GK&ePt=YVIV3VIp^ z-=SASr#f_mqg|Ew;}q~AS@F*P*TE+H7&iZJ&;R%-TBbBX`~!YA5ozu}YtjaL{>Pmb z#+-$~AwZh0_}jbRf7y^YXwUx`Z(&R+b5TK>NO8FKBv8Nk)$^~|^FMlMDSQ6Mmkb(A zH~a&B>SY)FFZkr?bbJ2CI~FD)vna5Ti$Q})$3Ng_IV0rMbB8TR~-J{HD|*RM1uL!=(SmGRne^=CWna|iCTFs5HMI;JcT0YCfP8P;%l z&PDdQ14S0bl-jPt%y6kiAdJ_V|GDHz``m$7EQ~3|CFC@$cLIKD3jI26&T+rA7r#!i zFlM~QY2R5*1pFL2X3k}=`0Y6R+<|NhWBSD|Ga7at2mE}CGK9^QV?VRc9e5lZniGAd z)FFaksD1dV#}gesGc;qXeeS?}7RC%=hK}jUB6SWxT+gV)^xJ9l}$= z4fub8E93QtA014oa|iI?yWhf?e(fV0hP7nCKL}Swy*|+VtvYuA55Bi~f$3%W^{$R7 z`@aJIdAKr!%Qp0TK%It-2j5E;#`LSFj_GNz4ft81GBwt$oW4+_;t3MAvK&YTx;m4*2OKQ{&YeK5td0VdKHK+QLxEIWQi9ZNSfzq*-?0taTBQ zcP`M6z{V}rmmEuK;QySHp-#hA%ir12spc=LO&^IHdwY!47U8YIiy$`O{3K9877A|iqr8VXB|L6b#}G|Epj@zvq9$tZPhY* zM{snQH+PV_&EeU9nR^$*^e#FKb2{SfSXU&AqZoO0oUpZ?r~Ro9vQh}k# z+=&yei;l5u)TA_Vp)+gcX~Fc-oe4PEj?iJZ0X;uWPh_*h=dg0S?67cz$n?Nr>zM8* z3#V}It$84_J=f2+DT+>=TGal~3O#wQsANGgf?81-E1nZ8t8xbR7zh<+%hG+Cg_G?F zrD7jz(OIX-hHOQ6DvB34gCrSXCxnf0IDr|8Hs6tsBI~kr2yt5hbt=lSWjn(-oG6)B zR^r-UK?PR03f5k?I!JU5P{NiPwD-ns(QX!H5$9_<0%=d*wDr-3wD-Rqx-)Bc;Mxh8 zL9=}@OOQ_N4tZ;*@v)0*C$jBB*1;JwBn}IQYIJ7np2}(+fn8i}o^EYX$|38~k=hlN zRSSz3l;2v`A)dAk%dVUPA6rt1xvg`{WBSl+*}H>>cFrk#dGB%S z5p{Yu51jG7N5>^OSwm$iaKt{n`#F4Z+$1lW{}1N^yQla{m6E#x60_{1wDQ zz|7H20Nw0`p^ybEIE3KgUeNX6hrr$nmnEt#rxE9OBH72<%=5?hEanjT>?)tSmDC zR2S&+1^Cl2T{=5ug&$B;HHJ7E*$XAhJ++g~{kgy;G?xB$<{tfdpcD6;O>98qqv4@W zaDy|mRco0b7`pcuaKF-6rl0J=GCcDV+M9;@_H;YVa$A~lgp!6mzxnQM9pF$Lr zHPc5y9ZS#Dz7`72@942kH2d-V#`?r-!Nj*+<6R0jBqszh^f;!`nrF&`wXs%6W-nav@laDt6B=HB@P#%!hQ_>}X!D1nuk#pi-Oo7A>6`R4W67pIPZ?dR z7`Zv(58dBb*BH+r#`2*C^M}?d_csA;oQ+j!I2pR7G;t&?o@w_>H^hpt zgs*0w>Bv5pBm0`Vu`IS+=oA=4fxV`{UYEdLtnFH2E@)LlN;uBu0JBX+su0w8iQcUi zZ#Ae1!h6!67a=^#hOpbsBud|#7{u%&+xKPQF(TV9wOB-IgdB|N=ayuS(8YlO0TvQ>)80pQo*q#haUG*cOU^RbJW zm(c@eE+25FM)W|F=(4d0YdGO-i#;HuPY72B8BG)~`RSS`)D^g@)M9VzB;lFq0nMsO zPh1s@562Pe@INzI*wYLT2GMY`jE+2pt1a2!m>1RgE>C(}?u-$|wNmUs} z<9GLD@$y1k^M$$!*C|5H!gZ=pc7RmBv*qn3NvyeChIy%(5eO)P5oYo&HUr4i%f$>Y zxaK;S>0%t4%QS5@)6}Kc(bgs&Xzep*sWf$oql{U>Kx9##km0P&`PNF44lz~i&%^UH z{KIl;@^qo7feOdy7YL7C)+#4fS+>+xRUJGCN(}_qiNU%dH<-xjiSmhYru){XzZO>~ zNSV3BajSA;Qxc0g3o|e;z)q&15x@kLfyu(Kok~H;M91?qd#aX$Ycx3$f*GBjz+vDQ zwuFRjB?}S=zhh^9#EKYz*|jOQxjHQh8Xt5lpHQDL0;!aN?oi8W`QH{&A6X47YTL!~0 z=|HOB_5yVs{**no;hWerEJq{oPm}U@y-*QcS$(F-jvQ)~NIoqmOqyOadGz$?bhVYC z&kqobEe)FyGz<(4?`#&O$&OHbRiybU;tPF?ixfsK4!Xd?M05ln)~)ugBE>d3rT$sxFR+J$?zS+d z6xRpPq~WhRX!-QV#=!^d;h-fJ#*~_(Io(8R6s~0a`@L}^?ctzN7RHqNna*BjK*0Z3 zTp89I$2FdB4+q_4VN9v_wL5Gq2mCkV%6R?kM&}LAS|MR0y2kqgY#TLet>Z;S{1YiSx)^f~)J09-uIEH$kj>QR92)AlZ zNTe>pl?m4T$f;l3!$E(vFs5INwO=eqs*{_+$vo~qN9^ICxfaHhnx;7?ic|zwO8sK; z^M&?s&=?D2O3ep`<|Obb&n_w9SEW?>|Og>^*slue$eIbquw$8(uK35USxImNJ?R ze=8s5IEH!4Eaqts-u&cWWWvG?RX?(9{6B*)iD zmp{2WD@ba$uh8z;oIDq&X!5A5I}Q~5)(oP!BN+6Z(hV9F!WUf_@|i29QJBmQnAtAh ziOzBaT1lO)ZsHV%1$Zp>qGhJT+IRP{*tAUV;MeILI9gb{%-gLU!t+H3DRXe1conpB zI)u5WE6hZ)?l6tAe9?TwU2z_EaXLG2TlG%au&3d(>I-YP&zrn4i}dclj_u#B&F{GV zo5@oSwR_)U6y%no7DJRaOi%)y#a^Gg_bg>!JnFf4x^nO}Aci6d!vf>DUkL`s7(%D#v_P5ic zyd7?`aJ6@nJOz=Qj#n%y#wdY<)Bc$o>?v#Qt9hKa>af=l<|su`Wl0QYlER`epb!6B2%Po~QM&B3YM*Ew?A@L5k`nEA2}HO2!tz-8;<6$~ z&$3I89DJR$4vr{=Jhu-_dyvXP7M^%nMTxs-oVnB9-Vtx+^|1xrwn|K5Dcc%Kq)kP{ zmfFsZ4&kj<0DGfD@^GkmsqMXnxOuiU%TZ=$dX&k%Hh31O_x|@V^?TU^`w~}osqZzsC4!DO1p_1fxvpMc>yCGWh08u>@NEmbKN1~z zm?>R<@b=#5&x1Tb5!qU{7prb%>KurN_e9oY=kliUzn5pCA*{YY(rl`b4^D z*xj`=v}UT`cqj2`!&;6yW*HM1Jh3*&yYxrlp*?s@3d>^ko()I!Pcb*NtL}KO9ws*-m4UFdQxG+SA zu4tui_iv~@{O{0@n*^BtL8$%!){W>8219pzil@#)xm9eg>tcMML-~?0rUtBF{|=1A zhus=KJV}C`(fxHZ*l3Z4?nuJg3?A0WgzmhR_|L9t{49;B_igvDUS&JMc(Zv1EcEv^ zG7@VzG3&h`J#l!&l3p^85)<=#pmTQhSAehT!LHnuhuiQmuw>9$<^Zf)bd0(z|BzeH zrDZg%>QejRRkd4cS6%HFkd|tL)MRXg_nGeyG7A2-t!(q{z^TW-UCX3}Q;(Y2xBMq` zDkEd}sxIPY|En@;SB>(U&UO(2I;)&H%*8;VJ8xvBFkW1PF@+EKw3FZRdz#fk|`L^s;b z)ExD3&H_%e_g}r^_QyFtYiPP!QuKpHeVi*=T~#I5aSl&s%|TU}+S21e4syTa3Z{=8 z&N&n%oqP}L>2_O;u-4v%kHeGn2PHF2)zj>fvkkwC#{e^3;}{JYH@Z}P&zZ-R6Zt{R*@Ne;eV_(V-JmT*4fTP0y%p>k8 z4>-IRe6M)GvBzbT2ORs*-u8fF56tHtaQq5C-~q>c%V4jp!*r$x5!j#U0Y`tY@PMOU z6?nig{YpIG*xR(oBW{HUTtB$C+5?W^d&UEfeGe~tz_IUUn+F{Awhj&q}qcbU%e zm*ujL2ORscGCks=9&psZYdzptoz3@v(lifaE!-W9&mK8 z#RHCdb;JXX<>Q3DxHwE_dcc0+Gd_GG;Mn^($s?}J1CHf#xd$B6&+vd_ z`aSFc$8>qp1CEde4>*SJLyx!v9&psZZmirKrZYV_1NIRQIF`2&9&q$`mIoZm;!A^&W6^Z-ECK>$R00aD4x!Jm9FOzx05kdw=wRqrNnGz%hT{ z^MGT$yUzoT?tSM0$NUKO$Hief(<}NL@rWDZ0mpP1=>f-bIn@J>?WXx2aLl(l4>*?J zpLxJhPygTn$9Qb;fRlQ|1CI6hmmYBRx5v4-I80~x%X++@N8AVxIKDrod%&@Nxy1vH z`L^5xj`97G2ORbJcOGyoA1`{qvAq4&11=l5e|o?%z9*fBi^Fu5Z~UGf-~rbixGWDi zx;MfDj(Q*UfMdE`=K)9kTj&ADrqB;O;P~GEwFg`TxHTSdbnhJxIEL>N4>*?dwDWOs zn9lN-`h2X;26H09&jvg zUwFW=d<48|$?bI>8NYw`X=2;7)6YbIb>y=WA^73^~3Z7zQrCN6HJ2-mra>=DXP9(S1BvCJ2gYo925`O)K*KRo}Pjd#S#c z>H8dgpR4Z(lDPP(zQ3dI<@!Ef-*49U1^WJ;zAx1G3VpBC_dn?SCVgL|@4wggr}X_6 zeXr8@YJHFCdtBca>-!RYU#joR^!-+SzfIqt*7s-heYw8>QQ!Zh@6YP{bNc>~zW-U@ zYxI4MzCW+;x9j`w^nHcCuhsV#^u1Q!cj@~|eZNEB|EBLR>ibLjzC+&=`d+8+_4@t; zeZN!RSLypYeSclw-_ZAM`flj^UHbmAz9;qlZhilYzVFocl)k^B@2mCwO?}^@@Av5Y zTl)UCzHis}d-eTQegC1p|483|tnc^f`~CXfpzlA?_rL4=Yx@3xzCWn%Kh^i2>3gHT zf1vLV>HBVde^}o?)AvX8{pb4r3w?iA-yhZY$MpSiegCDtH|hI&eczz(Pw4xv^!LOhEsgdT( z#`Qd*F2{ACP-Acq3$*~(5kkdqy;7*IHB&t^=hFW#x+lM2~O3H2PVGlW`)>$O5{#Fe2)^KHeoNT}_&&K7DH zuBho?y9Za)ZJ_qyirNd*0bEf}f%*p-DK0<{qo zQxoY23Z)R#c2Lk$P`f~(PzRwFlGyq4t5gP^bf-1_|{YD9(CB`USAviclG#h6xo0 zb(v6oKwTkJe^4WZx(L*0p|U}Z73y+O6NDNAYNAjRK}{BFIw+po3;hGd9h;$lpk@iR z02B{bg8qTJQK;phiiN5JRVviopymp7AE^04Jq&80P)~qTvQL3pB)sQ9arbEGAE?Db zZ3MMUsI8!u3$-283ZZs^xwU3l?Br>n8xD>k-kh2I@ODd~MBURuD zCssUH-OCm(T2LG-^UYqkNKKE6lvhWVR8=A{dN$qcipYZU*}mD8l?%#>D>_=o=gcXq zio_}_Bh^^Jy}(yezGxm8^NOn@6_sXS%1g^CV&!wn5ulRFidfmw7%XEE?nhCMrPI}A zr9Mu+v|RUs1SX%^j)@x)Oah3}MOlBXSPLqPB@?QV1?80$KE-7=5Qr&Xk+KD43lR@( z1CBVMBMe~i!fIdH(nXYq1QQEUor^fTm^zakyogR*Cr*cK>7oVYCFL=l8IgtMNaR?_ zJR+3^a#CW8WJLzXG0(Bohjd<0N-RT;rz#{57KunEEhw&Bp%}<(U-^OsWpj%c zL}r)kS(1@CT#z5LEmZbf&n5E^U3gYiZL!)(%qv@JS(QV}BpTE^(=Rh|%;yS(fU^=K zYAuV+u11_9ketidSnN1-&H2zyOsBGms9eN6MGT88mRVwoSskfFPQ}WQK4xh!rRXXA zcFIs;Os`b#O7a(1mz0-ViKZ=BC?vgU5m_J!U4ht@molLvy1+5bk-u}0*rugb7Doi7=g2pD@~2eOk36WtAm9 zlSZ+vL=~W8Y;u(@Ez}`qonytqXL40_N7bxAMZ)}M{i~y*S&7W|b8$Wa`mfyXM#VE(MXr&+#m7`jG3YG)v&;mCv2$i_I%j8lcn2es?hy>Hf_X zl}jq5OvmPdwXoDD#ic`HTIJto1%QNlPg?IOXDV1sYmT-rUQs-I0n~vyBd;-(KxRef z7LL3EK)qw2(JUyI;_F0c|DumqSn*=bZ$2(8tFA7dTc$NNQoLYpWmS1>-a-qYlSwKf zQ)p3qHY$AUeQaTodlkho=x-n?ls-gU81u~jXTn%?EU z?PkYt*>(~ERTt=2ld6&wtG%RMX=sY|@Np*$V%r7{cN(d*X><9sc-=A@+>Upc5lBKZt44@DKPoG4OU!cmMs& zm+a-17ZCs>7}p}QZs01vXy2#LudY2ZCA@JmDEs?5{yggIFTZsreM_% z7OCZyN-A5pf^kV@fFJOiQuh}o)6{ZHCB=>jwWQL$i{9}fb&}ZPqv!7>&1$)&l49^FIIc4t-*!WPi7+71QUVXazscN~U_DhsQFfJ*Uvw%N> zD^1?v^Y^=!TZ(cB#wB$suyzPHR6h5xbGfD3)qE8srk2VgS1>NAv%n4bnIkmso;hrn+I>??iEaqSC3QBiw$2Z2T{=hY zzNw`|Hw5F7iii|LPE(%uQQwFozp|v_h``2OD*KXSEirx|G&SA1`(~EthG1NNG0g*h zYBkN!|6F)hKc`=!8-j63odc{b^`8OHeSD5nN_0aoE~)+^#WGHF(v~Zq>hF{i-4KjR z>Re#eZmE=tEc|!uT!++9(G9`4q|Os5<|EDa1@HXfJg1cChG1M$=K~w?o8@cOyQN*v zcS?zF2*xEfK%~qxyldfgqX#&pL^lNEl41w8{jQw<(k0mgol>G3f^kV*AW|%MG$((O z|HTDPDbWqVxTG!w*7j@Y7t7DP&?zOlAsCkw-}81!`R&m*OK~G$7egGL^lNEk|Nu#u`fQ7H~kW)l<0qiEaqSB}KL^b?K5N zu^flgB~ot)#wB%`NS%f&jS>9)gO@p_L^lNEk{SVQz|S`n%}{i+j&MqeZV1LDbvdwV z+X_lu^xloxmpi3IHw5F7xG3 zf^kWW5~<#}(!5tc;N($GDQ2)wFfOUl;M%R_Po_2Y810a{RCGfyE~zmh6{eFgC6DYIq% zNn}IjIH#28hG1M$<6TmRdyg72-YF%zAsCm`1d-xb56wf5UU23FrDI#T-IU5jZomwZJJQ zx*-^s)C^Y$2iN{#{S2p+=!RfiQZrprOILm|ai&9RxafvpTvD?{%1rqMBMu#z<&+ZL z5R6OeT9N9FE6v#K7s{`7N@bBN7?;#_;M!jt%l`f7gzKDALn$Q~m(=wlWop#M!T%|^ z-YF%zAsCm`4I&k$lQ4f7d|HnioKm72f^kU|0&ADbh4<7yTPC?=Q=@I` zNi%MAN{Ma=#wArGQf3Hyf3W}OMNX;Vu$D;~?k}mEM9O@d2MpZDc0rA{f)4Z*mi%76{{&3gXxE=L|Hb4rPB2*xEfN2E-RI_2(*FPh_& z65SAtOKPr2nQ8de4(loH(#j7#cfk&>hWwLI|MIv>I_N#Ho?X8O}sSC7}U|dqSh?JS~ho3!d z_brxGhL#eHOR7qwtn&4ve~zrOqz>s22*xE-GmJ*Ch>Nb%w+icf7*l*@-mQ)ulB^Z~~a*>K?zb-rZUNRptL>kAxwzNumeeNA6^u)2g-DsH(c>q# z{b+?H^^}g6U|dqQB6Xs6b>99{#?)F;tF@G1Tv97V%8b`<9(&_ID=jHbkfITcOX?1A z?K*10+^SV~SW=wCMI#uOR03RkWMo`&>@^8Xiqp$z1mlvb1J`~NebDss@;Xb36W?eA zBh*^CVpi-=EN&XVmOb+vGbgRZR0SwU5)uY9e^fZj;-PRr6L(j*2jKS`)t1KiKPa9>=# zeVfR*>_mj&Vz?`-tP@1sd#((EQ-d-ybIfsqAr_T6+~QeO<}izAQJI%oJc~m2wd(!O z#2|;JhFBENKQL`AYKTQ;4Yh17YKTQ;Wm&csHN>K_GA&z+8e&lxVle%+s3AkJ(-$)r zhktn9K_)wM_;A@@h9_x^5!LzN9PGZKmB=}C?9eM0`MvBQldU>6Opn<9dJgaHX8rD_ zs>=>C!;ohVGq9V__a9)+J4rEVDY#42hp-7f8bCJ--Vh^oea~t{aM=0G#PH4v@+dGn z^cy)1&&s_^vT1J`7US^gm~)Ij4V)KT`yFWzJl`6PA&#cA6*KhbWe>Qnz-{n=O9yUq zC%D0xYH$(OVkRPCw*l8jx4PM$@9e|~`kQ9<5h>A5<3WFq^MIp!CwssJf$Qx7M}PZx zz|r6S9&r4e80Z1V@MU|zQ4fZDz%d?IdBD-%aUO8|=(xrMj{aWn0Y`tm>|Dd9&Rh@f zFH)|2)_K5D5AO4TV|;(=0mtw?;sHm!`n3lf{r!^%9Q|G60e1p$4IXgR zgV#Oan9lEbz%hJYcJyI>gnkoa7@3x9&ilb zKo2;6@DB5UWBQHsh#TV(H{Jt|;hX3I$M6++z|p;HJ>ZzmvpwSGd&E_F#NFxv$NJ?C z4>;=8ogQ$E?`jV?er5c`1CHhBflhFPvt0*SVY(hZIojd4LbrW8XDM*M0`APdAYjhI zzq58k1pEp8FlhvT8pf+L+;s3?0Ot5}h*C!g6KCz`nb_AGXLI1pdaMiXnX1`s9kP-> zv!%;?>wKCBcev#DDZgREz6)?=6>Oa&g)LrJ?%Rb_!wEJ`(XFt;N%qngf=Ni+#}lTh zzK=!q2gNjQimoFzl_F@$Jks<1^Di7g#%_Nup6%Cx5ZnXJjQyoDHF`uu>6%o&E6A3^=rXT zMR!>6=4Zi>a55E=k1(|2js!ARTECMLzEE_75#9IFMv%#Zy{S=ci9=_G?i>`rV#c=q z^+fRath((&bP3gm5QnDdcAhrU%v|D$H}e`mv^(*r`48|E}qXOp?JerKq@06sL| z1x)77mZ{EgOVnS2gTAGgA!HI{|QpBx=b*6cNw2Ad~oN9w^`|0t2VuPFuBkkQBlks^^BnFHvEdxjIl{`~sgC zm1J~Z?QlvO??PpDw$EEb>pXxFqxkZs=q@}%b0mKtVMKRRVn?DOn9AFcKgCWcdiOK9 z^3pSO;R#&mLX-y=?XyuM*tD*hLQCh>738Qs>r86+yd)@0r~oFTWGS!^J$3R_bdMk+hSn#cb|X4}2C35@;D zNNZc%nr|JQl`$?^xGu42U(N^1KQf|wP2HsO)%~0fHW|@9D0ZtK;6u&!%!8>%E{DUZ znmsK&?j4)h5FQaO)r86SsZmi~S=R-IE&cH}dwN)@peJ8J>*q zOV(^}$=7cXIXFJEArRl%_GhM`BWNmK_Y6Q8a0e~cO@h^uk$Et)t>q@|sJx02huUHn zBvX7B;V8q8jwZh9+5NQ_BM5wG%=@W=JyTG_Y@0S!3TR?u7{|BmXp8UBj~PbI=2UcZ zTYRr06g(bps|Ezk$OW6nV$bQ9_;zYu27Q?X0`(at)6c@S3IDKkLNbfOK31z+gnAv< z*M#~fu74G3AFk?k>q9=XcRUsB1x~Fjs<75_f}Q+Jt>PPej?i z3~D`iX}QkY5psA|T^kj?DtuZ<9Qclk-NUv|Z zy?17VE|;~JceyN7$2=aH(-hy|6s1C-%5LS&IKmU}jx!Y&hr+$`9BaRjU8obAGGc`z zex8pkiGMwf$IPu^hn1<*c=i1w`Ge`;uxw=i)(0&M)z`vp?Do!ASwX8YrDtYC{af)d zIOebR@*H1mgj9Sl1Jm3Og7UN;PwlEf_%#n))2no~-TKC!YPj% zco#NFTtf9DP@bDF#HDLn+flT8x`poC1W(L%4~_&)T-g??`x+`M9{-uacnD8CTky^& zKqL-@Lv^*}3`^zvGq)HIkedqDrh<1S8p4UAZK3){zA(N&^tRt9*Hhw2_C zKiHm+$b{;ig;niUxH?_k-=@ei&io=|ahw!KQAAP+QZuAaBhaU3Iz=8}(mY*h>%EyTAhKbRmAGgz*nx zw^NMfub`vH&YZfRbmBa6>1nW2W6`8^XAxh@Pr$1AVYn(@venm;w3H!!eWwA@>KJY= zhujN@z7N^aa-F0ong3piTi5_Wd1HM0h(vDfd1Hb&l{@ zkQ9$)`8?qb0Ht``DMI;n8T3-Q7YC(ys1{H#?t@H$@d;|MeB)i?uRLtBNB$JbV}mJt zUgA*R*h#fl;=qf>RCq+rJD~^G*S#5^Ro}4ma&^wF(FKTe27dj`2RTP#XN1y|f~5JlXZL=9d9*-j$# zN}B69*YuW`n6AzEhkd2Eo{E2(Z#Awe-VGMT_c0rTY4X-od0>5C=i}5`e8jfJ=B1(s zkS11*kjy(!za@4`ZH^CTr3Pv;at?>?YfOK$_OL&G1(M~g`F^xRdYUOHN`!j4-`ZUG z)Y5e=Bh9$vw~Gggd#l8~aKjmZsPIn!^)LLxzA9W*__0FsigT-dxzk2ZnBe2t3cgVj zrcazOZ8{KY38JJJXuPI;Ce4C?*Ps}vfDfu6h8UA3riWt7-K2@fYfudDCQaF1itQuD zq(h*4Yd$e1O$_~@VXMfb=^pK9y5n!sbf*uQFvOZP?U}1I#G5oRY%$R=>?Te8S!BWx zZ_>wuW;=t1;WTObdor0Y#G5qT36lv!zDd&^C(Zn$VZ2P5?w>>^4DlwN4x0564c&Lr ztP5z!@1k>(c#|gI@8Fv>{W6!3l1|eY(rUST!nQm%9rwX%4UnH_j#lb=`AG3t& zkLx8u4Z(G|P?zI6La6b$UMUoHl6s%!y9w7ZLM^~`oKQ<~y;`U`T=Rsw7uS5D9>#T= zP`|--hEUJpdaY0mxZWVtR$PmO+JWnAq4wZfCR8h~^Mv{i*K>qQN1?b`s4%Dsp(3De z5$YmPF`AuxC(0$7JIObxVB$m{j^^W^XWaRslM3?W5}lemJvzoWc>?~U zu8xkLj=E>`^a+?NkGpSNbP@m)CtMdDBRo9I9S55EW!l)BryFCgfhizsW)!H%*-yH!3gRhrhO%F=5(-Q4^!?Ctv z@zbLdqtm0a^wYSqin6NW1==43AAF=nUUce&(dJ!4r$wg}L??}o`as}6-4~se&;P^; zqbDHY5Jddd1EM~2YHmJ}`mUal4Dvj7^3*&ZFS*lwqp_LG73Y> z6xGw>u?keY-WJuzq9PX6-=YRs)I}CG#Gb`345OkL zMny4v6!Tk2FuxTw(xRB(iZ|Y(CR$X!MLDPPAR{ox z3>V9&hyTk%x3_Bdna2S?Uyo1$-#M?HRA9bneZJ={OhjzaDMSzq8)pGOr}JD2>WSXx z)tawxY(Z^dDCHb_8YNOoab=_Ci5G5L*VSs~U8bd^dF5xF!Bl(dzRNyW4T2(>J5@3p zOyqh5%?zi@qrnaMBe+rv@+(s3r&%s1bSw~9VBW`-e%$(a;T*Ghfmf)7Y40-gFW{e! zD?dpFem>%@ZkEdz=rGgIfWMAc{Lig;a-i8L!6tbYroGE7jrLvyJB}Z}*|FmU>}Ukz ziYc3l0Y76v)8)NS7dUsE$P}(%TvBYn+D9Ze-5-9}x#I+zNve_SPF0qpfS<9WdE}I| zPcx(urslS>1eiNckYf3!VS_Q?XU`8q^W~T6*Qp&RXjjM!j9^?LWL;s0aE&o(lXJ%j z>Zhtt+#w8!lo`T1cK^J)bH@ql=COC2Fh4L(S$M;h&K)O)i4tIRxX9I!&aQk2Eh`asO{!J5Gpl2*xGF z&ni2F*Y^GPpROGzL^%ZGlH!Mx9m2;yUS8?kaRL)uVFcrn;`=AyXDOpOxbpNq&K)N( zRTf4tE-7{x*!4#D$=fnqJ5Gph2*xGF8rPm9-EaGbf4Fv>5Zw@rOX_TqGSjeU-O%e? zJ5Gph2*xE95h=5L4LIjVy(5l#1JiC{1mlwGD^h$P(HzW*U((kpCAuLPmsCGs?Rf3I z_{BT=Ii*B51mluAN2FLQ($sF*zwjKVl<0-fN9a3s{3&FUg z28fiI%gv$7Ck${(iEaqSB{fi_%y{*@VM42G#|hC5!MLO@5Gga4%hI+#?%HuebVD#M zsS90x&A4;+NY{=Nq8oy7NwM8#r(yQL9=iG>XS_r=1mlvr*d;Y=-j|zPJ5Gph2*xEf zNTkgA@ZjKE1Fjt>L^lNEk{T>hW`6DYbM}+Y9Vdp0ZV1LD#UgIUYu5O2XE=A97%I9U z7?%{Y(O#4F;}<7<=Gt+B0`kUozf+ivw$4{2CSJCzT zmzV~A&8aFYGaqqRaL$-AjUu~r;5=&ra95V*8-f;!b5{o`YKdu-WpDElcg1P!z~Q6? z(%fpxQL=E6$x@hDWqg6nA@wu!5%*)RN0TK>Ch%kUtk#(= zoUMBQu!IcZ)9b#9VwFYQ$XP*DFJuun$}FlVTjJ*0jOo|rN0q&N=EK=6j2sP$VS{R2 zGW&P5C>lL^(%2%|`L~Fh1Z&69U0I~P#jdbL*eh9Ez{M>4$%bfaoCjW{HYU{!Z1`<4 z#P{Oa)kSnNUJ=Lk<8)cCm!qiKp}1()B|~y%48AM)5~qr#)oqo}(4)-nmM+8bHwl*&b_xa)v31Eu&&vS6WN$!vAN zd4DF8^V#gkk!6F$)!2TvA~r`a9hAL~i^{V~wf01(7v)a6*5~A??rg=b&MH?xa{!>I z)Z|d39CGT>9nr-@bqG7KC5YVLTQAg8=eo;6yojRJ)ja8a*pT7Flr7ik^^}q_=tQ4y zrY+~{nq)B4>bt8!TP<+4Al}7;2vR*DbTbfBGE(W3}Eb9n>VP!11 z;n^oFPR+xZpC~?%e?g zICtth-HJHH#JQc5lR92U>-shQmBO46_b$znMi(B%+yM9H<7;pe`=wy`NiMichP%?G z82l?w@cDj$KaHJ!!(H+CAK1MNObPp^VA#M{{<_yW{u2CWftjIHMmiRizv?5IvNZGY zUj@up8fT}o+g|~cNO_^#=w9H869l}h3ft+TW(H8IB z77tr9D|%ygX+!A#4Q=s5dnt&K|CTP8@VNuT^@SVQ*}xB?u#c_FK|)=FD?ePUsrxf$ zB=%vpaz;~B-lQ_)ellh)r1B2ToZ<)srz`ZsEUi>t>&*Nq*7VSxoc(yf^8FM}N|@h% zW;y31q;m-YKa5p~MuHk5;mE^Pg{Tx1+oo37FrNeogZboX$szRzVWuIi^TOXC$6gWaFSz#O}4I$3U@hY(;hklmMBX zo}7|y6dZyMG1GW= zDl&Fj+qT5U-l_55Wgbi%{!i$Rry!a*gk=y*gy>>?%LJ^+2-QCfpWFF!9Wag=*7R>2 zSf-8#lata@1-sgA3Fe!VDP`Us&&ElPO%JUZncg26e!2g&gNfI>LKS);-P+>2%qcz4 z(@@=M3`b2*U+gqxY0u#i>u(XNB;$voz7MoHi8B@5H^ugqWiYh*V_2iGVRkiU0_{VI zGv|hfo1&6@ud=qGr~kqo>nP^?b*f5I{!W;CAPPsOTW#cPf6B<&B$cT_n9PIi!H+xXt-p$PtRm_7-}5U9pNM4icVi-VOP^OC!Xwtmw46j|&5&fgdOX;|Y3DMQNnjc| z)5#G;Q!Kq@RTy%7v4nlgE$SXn{8kV99>tY4WLV}m@FP6z+l?zfti!%GiyDZ`RRx+K zfc${QEND>t+zI;(i}!m_{NxSGJT-pChGnyekwU!-TSalV3RONcK;??{Civ^jpWr)_YxkB zO{jRTs*k;#25-NBs4jgFXrwSnrkhn}EP^&&0K&>3%#JtRN={B6ksHK%49Lus zg(9xHCccOPo1fM$H#2uO{{{kLH@cnOtDLHeS^Ybk*8!4wP*#T|$5BadOO9NCTMVna zRLzAdEPaO57>PqzA;l7bnTcRRQNlWiDB|K|Xf@+yY=BiO60dCtR(zS&UHDZ*3?*&F z#Lk1;)-se9^O}Ha2@ClcNwunFGsw;&VY(i~8>>}^CfzucFlR?MwfsZ8YyUEB*+hL) z_3kuKqwrUA6h{kHi|ZJn*l`gR>KC|<6^f}gPN=`*sgHBxY#MXGR4-Hb@g^!mI103y$sTQYZMwxNI8t5* zXy6CNp%-#N_*+AFJP82K@pk`bv%r`q3hBzV(|he>>+LtZ8futttfy zlj-~TzX{#J>Ac2~fp53;wCBc?GQOcZi-P`ljQH+psp$56F6~O8LP%M zQ`+genRRTNcHTOCkwx0Tiyf;>(Q1`EZh6jlzy7VIJs9-748z~@fh0}KBW&QaWf7LC z3RerouM@Uw!@i}sP88}*T=Rt5jq4<#{*9}Ws6>t_iJyZ~5^1PgmHwUxYO+Xh&YMf8 z+qIU_NVeL@Xm=dI%v~&e?3pY`Pc8`>@zzwlb!z?$b0Rd_$}MR!8@RjqZju+FG>!Yf zLpIn|6G}DUrr=ox#95?NgUnI$#wM~6j#u{l`6jogejlK|vsW@;859CITnF&Bpi#3g zRkLqu{!BZ7O?rV|w|2RRRaCvvXxtg=ZoR^-`ipfIqJXSp=HyEp_`+rA)mq`HLh-ex zVt5lM6+`x(sRU*dM8)-fP^{RT4M*z(sTCIZKx%copRfRxt(e%DWMRfkYcXAh%$d$P z6dRv;&@2zo`QiRe1BqvyVMZk*=TLl)z+2Afw93sq*m8X4L5C*mN!ExmTidF}WPLat z|FEyvqE>=Z(PMjSu-MvJDRqXKV`vJ;vZU3^^~REy#s*#U^qgTWM$T}wV2#!mv_bLf zkXsFs9r$q8*>NH$l^qPL$_}=D_&pZ(@x7rE{02}eyw08x6cKcw<6;^0@P9e&iH#PT zApQYA`$GcwM;>c=%bxbcN|7e$i}+A5Vb|`f4;4kJC z|An9Y=i|!!zO?#+keZ5w2j5}sSICm8(mBYKbL%`g zXzO&ko!lrhS%FaA?i94T9BTlkMEgaQk}B8Xu{n<^C*-OyUv-eG>wx)B2hNrbQv5D4 zjdD5IAr?RDAa!|%5T4vY>NDk>IF7iNbT*VSrGr$z4leg|xkKlE+5vN62Y04-z^v)u z&aXSfE7^hbnVC4aD+gG2nnrQ%GaqqRoTVLn|E7cQ!#jkT8&H@=!TB|58pYYuA%rix zI7Oo-OqQV=+i!SCfi4X2fHT z9Z*q47r$MII&+mlB41LtqP#S#y22S4YE*}i2-A`O%xPbdsbX`hDwjw;kcVPdf>B9^ z6~zl7LE&nsAd0yOXE{`(gtXL@E>G%76kLzZDh@r?s)l1TWh}KQcjCCoQ#lqpgnEs% zR*8<`$}D-H>&#MTVj+9_p;o3 zRE`DiSy&!s;|YeXA?5EdehU0|;~1;bpTN>dUx2R1bga!+%Tw6@g^#oN*E7t|TXxIU zgw_;(Z4~ZHe0+A|$l39$Gk2=bF&Ai-Y~gf&BQ_GbZ+&P@^y|xOL-%crY_HoIzhWh} zNon&hxg@lvq4DExMq}c`72W?@*Rb>zbn_V78uq5)gLaj_@n2mNANkQ4ZS+h=dmFvi z@&$^~Ff0XDAE$%x%vN+*zI7C3e~aM*GmJ4I6@@0Y@zGcKwWGs?%Xk}Nk@)URBC*U*QFULH_Z59{ zCKq;%!e&;Elt4F-PKjSiO8AyM6k3z_)zK}I9_igT)NP4B-@E{6bS?s+;>Di7_AyNC z%Sc8e$-F)sfQU1)o4Wa$s0F?zQ88yGVn?u4&3-*zq&t^h2NHR?-_FbY%$;t?lYq1f z|9&ecL-qW|SGgIwvsPSl=jfl97-qi$b?3%p&A!GjyCy#KhhB+(jn0b!nFq0-R6}!G zvY_Xx9?62RaT%gxoSrP`V`L@sB8Fe(`}s!W!S`-CUa|yB)Z5})TEftr-I5_MA=wj$ zR>XTyIWp8JM1xVYH{o{^-WW55^%3ETHS|T@|PG=;XfdFL&jAUAHB4-=@eH zb??MqX3v>#$(qobg0GIg7Fx5Vad&$6&8rH&s(UN`O!H(|jzm0FR+L!Oa~72i#p#$) z7*k=vQp(6Ld`EwEs_-kTGXO~xs(S{Gh1SHs!p=U4PtQ&qWf4PnLI`w%5+FTK@-THXMxZi^PYc^V%LXG8(xZK%+Q(@f?W*O>tgWY(Z5+m z;Pd#}=5oZLFXGA1;IIsLtCVHehN2#}sFy*hVahI64me*BEYI%GKXNdLE)!vdlm@>W zqiX6wv#YBW0&akCW5`j)Y-F>-4)_~zrTnw$N58eZJSKueV|RHxs2J)K*v~Rasdqo^ zca7cUk+3ik{aIqZSyzG;Rq}g2_?3<(EDlQe1?TR7G+5>*RKq!Cq2ai8# zcX>2e7*opZrr|5t9e4Fo?)($_bL|dq%6Ep)G>XFx0Mi_EPMkCuOw?fzMWaVeD=L?k zJ1Mq@W-p7Cp~Wq&NqaUKrbd|?s&{5%!|h|lI}>SVYl~qb;M~}}&P1Fx?uMQf5c?Ey z)vD~oLL$oO#E1LDx^h9O=hjo^@NB#F#C|8A4|?e9FBBBtaTvB{b+~;mt*0!G%-ZI5 zkjtTn-{Mch;-qHgaD3M`zXRDDT4VOD@r|xpJL;HO6UjoD4o4R1a!ExK+;DfJi2X+^ zfoah=N9)NfTjJznxSo%6+pM*hjV*C6%iRhTaQjP#R#r_<87{anS(uJt@V2*6Hzpc- zIJ=AoCF2M7{CH4q~{T zCe%V)*@m{d|2a$M5q+5uK216Qi#nV*kDS=A$!ONEs|^$c0{p7GaHPp3}D#xZU`pa=B(|#sq&6pE_GG1ai#wg85&PTxL%!YwY zso+^0&$S>Noe|ivMrU@m9GAJ%QWTl}CXG5qM``nwp!(vk#%2_?63;3k_kvQo?yTh) zF!$?=od4Sq(OTf>XjV4F);m~oKzUsTMWmUsLSH{9toR4e> z(xLOd(^p*>KCl^W8s*L*^AUH&`Jw~oT^HvV{j2h>Hi2nSHJOI(==zfmn06g_d{iAp z>=SeM#%Yf3N9x#Fr#QBByPh+OOQ)H%B=}@?#o11_ld(G5*v%t-V#n^ba&|%;qt9t@ z=1@I*TeVF7x7prVL$WgMHjHX)9tXu^JwW3u-HOxk`n|Mah7ECfl!4r35713YVWdP! z8)2xcqsZ3^jB_~&9Z_wV99Lt9wFq~`bQ*3kBq{1cJgc{i{d(ur>v%@y7EJlMzcE>eW>Nau2H?(# z_HO*JYxm8`9*HAotvDZDXWe(K^5-Uwb_vzRpcVMQzM>YmP--QvuxVZmZpPWGxZfl8 z+un?MRqt6{O^wanCXHPAEd`9%s`nf3p;u~EIyS*XS4yakJINYfee>4A^#P-xHKe8l zZcFSA81JHkjgB<7bc4*6+Ep2sL1Oaw_!o(q)?g^{Q#jcCHeH36>r=P*^`w(${KlJ> z=O8fe#Q0{_#>VFKRJ9+oVvaVXmiSkG+a}>z@}coh>@d1&TShG$U*$(ILUliZRcOsd z1R`?_C({)6bh@|d?8cV#+{rnc2W-RXMg#K#W;6I#b_%3s2;!to!E2oz<<{CZF7Ls;|&Ts6EpG=>_UbaMI z7bATwOMl@8ZHbxgC{1}8a6OglM=#Fu6OC`^c;lDdMkbD~Fpe(ycjDVF@otHR0Owwh zTzR+_^2^UMUL(pjjsHrAouuuXOTHr1S?$5|@4Zno7JksEMhz=FHW~hM?ww=pM$ILH za5ier)*RKSVbw?T$i2}#yHR6)|J#k4zbKgaV4t!6=uP)LV>fD^w=iZy<5A6Fvnk+b zwMcWxl~XUW8#SvH)6uA@)f~Q9+zmtZs_ED~p@6f#RrNhv(56AtgMAW?C4vfbiwVG8 zadx;k$8JP$;7y%T_YouhwdmiTtKRK)pNMk|%fYofHS|g}cAd0qv9x>l zi%-sVYmNXo*(wCm@Tn|udT+8MPSOvj&TYeTJFmSQ!-r%!#)$e!l9r+xkLkp978OT& zyU6dQg^)GWED_?@Ik=XhB;3i;0K?KCZ}fKS!MZ~8ehAD@_`wUqSxJH$?rur+2mdKd zVA+O0jpbgZyEo)?SiBF+0e%g_aPEw1Nep*|k12Q8NpKT?8q+=J)=%W~<8h6~@R_Ew z^N9G3^O^@7D-!I}<1(GO$M^Ba9&v{~;8+Ah=7*T}y)%E=(mc@vj_zIT0ha;XU=KJ} zG9x_Ts3uo=z|r4{9&l98SsrkVZ=nYqzkZ86;26Hy9&ps(3J*BG2x>gy>OA0>&PfkA z#^XVcxFSg#J=HZ-8Mxx5@8fTQS_7Ac}nF4d=(QMjXii?Jaz<~^gZVWbgVhpGLk!fn{& z9cx^Snq5Z0)~Wf^tm)Zd^rK>wY1J>`29C5rqcj=cg{3imIJfyizuF%f>(F%Av2rA| zdMU=727aBW+1EEd#P}x$!+J^>%})s~`dU35m}J2=<8WKNVSeA1EVHeKHC3I6aCO$| zz77#AYQmW}wx>85Bvf}Q!Z@&%LvTiPYdo5$*^XreY?NS;jz7A0zF&fYjknEiF@!c* zxGS`}2`$-V6p`D}+#jXa3=8iV>kQQF=~Ohd`u70C?PT88oXw$oe#s}ay7%|(-WZ>$ z+`HF!d*FrumoOr+jQ#l1GuIKWvu0Y$(z6^0b3snsTI8mZ&DmDfD4V;x!V~>}*n9W* zsEYG{{45)n2*HiG3SO!!1O?@iga8SM1(JY>K)7Qqje!IS*O=@IXt^0u-L65~YH!w- z){kxN)wXJ-wF*Lsw<=z$C{|HXNrM$ziy+o~-|y!+b1u7^c0a#Y{eJ)X4eZHto_Rkr zbLPyM%QG|294tE;ZoYx#;CMDc$N$uR5Qf}w^2sGQEQybMLkKmBF(Gb0nY)Zz-r)Tr zae%qLA7CgRk?zALyT?=>2ycEA{Pr!xEqH|)$2kB^cVfpN9AIz&{Pq{XOf1+Rj31cG zT_ZTK#ptjZ&E{871$L3OB?!4QzRSF+-1hnYpq#CCd5N72>YlEH+K7f=({(vK2`k>$ zj?RQDPg@N@G6+rU`Oub^V^d>Jsg`RWstl+}$zWOA7rDQ<<#I;YO-hs(cJp}f+j{}) zd2UZ)cQCQdz$62pws7wn28zkaxrwR!i=IW<>^N!T@%5_&}n(5#dmS3^{qw$;tLz3?WY< z>*&6;XKJj-yqh_QYM+hZmY$Tsd&_9}m`xZtc#R!38H3r<8#sMo9T%m)e^gF*KD_+S zQO=uA9K&pqUFC7nuxT`Mx_IP!a99trFj#p2`%jZopYJ&pyA@wr3k2!)jWa zob%*`a}Jd4Otg6$lJNDvg0P&2WvAX`kx2jz_OP~ut^X}e_|`d5wcq{pJa3BM$qR^! zSD^{DKPe~itfbjn0@IC_7Pk0=fDDG@f?D9mcX`lv*?>tbo!sB{t z<$cxR{RNbEO-j2N%IuE_S&P6MDxoX`rJ=Ms6!(49NyrBr+`Eo%02RYx@jVmNRYK8> zwuV;MfOrq zB_c};B8rQH(i~s!;C>8BQ}tU=RC0%`?VvcC4Ox#mxYs~U7T!A!?T4Hs~z7zf*LI$KjH8`0Ht~GF(`euV)RHk z77SUVL1_wRgSt?7p97`1W>707RkwlCc)truQ~D!N`b0*9DE(;dR;6{MIgRUdq*QqWdWkc$-S*45^tq3})5;ErpzDjfff#-B~$ zuf-ed;y!%l$d2vtvl3q{$ZP$>8hp=*izGDoYiJ$Iuy}01kH^KwHg}%$#o7M`IN{&; zo%e72dLYV!j1Q+qeX$@{9|vX7P5=&V!pCd1JhlNVKsW7TR!|kn;R$slA*o|76RHqb zeM42CR^b=1*5W!7zmT;aSJm$S0Mr%2`;o(Y2-FV9Xnu1acy+T^05P!*G6$I!Jjm4 z{mRABC^m%YBBW@2Q}ilK^~LHMqp>A5E29wYfkHoe!uX1)eP+Yx0dZ?WO>LCcvarXX zhjqmzmGh$&bEZ};7;OzGES`@ok%fg8C5!4; z@h9K>$TPITo4*EM$L|I1MEw5$BMq1bte-SDSiY5tIh0qQ%J0#yHYW#l@qckiWru`l zrXKp^j&Zzv?%J{L)C0dtI(I#Ve-|lrs;nb!`P{V~?$pCCHLaiz*W+7`@Wg(^u#!D>D)CJ42urcKcuLWr5@|Yn~n{2rzfr= z0FG-eP{`q=lZwAcKBSl`#&ylv=d5?vT>KIox?GX+YH|4Hf&p87V?Erb{xjJdy*G-a z2fv=HcppJJiGl14e4oju|Do)6{D! zUobwM)=46T%0b+h55D(N_D1j7?$dQV@WfNu8@)Git$p?G0ofb9=kwCdc>2t5WpDIe znn_5lJ9+*;vNw9qT%tQ^`AN@aZ}i@z@Y_vy|1x`{_o#}+t$yf+pJi|K-sItXpSvKM zz0rI9dSDaoxgp21H+pZL>)KnM2xf2ep5HOu$&JNtWN-AI^#I+}`n;{#8@)GD?{vF$ zO7=$Y&0C&x`lYSe8@)HVaqxtDf116~dn0wpN1x2j-snAb+;okze)?wiM(<5+)4u*s zxlySZwFdASy=SOfc!4_?KYwdQj@8Bf??=T?FIox}?d3e5hM694St@m98t2<-oaQu+ z`JNe?9eWz)>NHMS8i#rc<20O)%`N^a2a~0aQ;v7SKsn!W5R~d-s#<1k4e%+%ENk#; z<0~4lR=>7xCHC2JS(u?^_SicCEeu+Yg$+}C4V>CtWe~n;}u=H>dA;8$0#K%aVb^)*c^1q73=4yAM0&aEWbfS7!HkESG6l9!e;JMG%Dws&3% z-0nGhS#k!Nv7zhPmg#n^Z8VqbNg#HI9d=r4{0s+SI_T97#~X{~vfW7RjT7=b#r6Yf z9x|(otzktY>{<5g*6ocLIl^P5^#Umr6HqyfcXkR=(655BnJZV=5Bc z!=4@2?uX4Q!QU4%;{3Di)MWKUHGP3yRrB++!?Q!uKkQL(j;ksamom%GFOj;1n`|7v zMuz9@=P^Xqpj&MW@98+3Jxs08D+5<9!ubhs-)83!j_KvBUTS!(fA*ManLxNqv*YZU zKA$D-l`L@7b{xn8$2RS~EO6{~e4GW2Sr=gB9+&BPd&56B3mmiej4W_WU;iv{gbd6A z$F+*Xv%nE@X%;w!Hzx}mdqK;yz;Rr0T^2az-|F}?OEXRfx9~k9E;Sp zEO5-1omt=*-m_WY_`SW71&+^gAPXGx<%2A7-Av~WGIW`~4~CbY1&--EI}051WoVYT z(hNAPe(JXC%K95Rds@AfC?Ea z(pY7Ig~|?!rG3Fpj(q(nq#6nSkV)^c=_5_`qYnUPxw5=lu#@@>e$yc_YOJ9QjIUg_ za@FdUg9s7Fv>BRzd9VFI<@)ZCDBe4G0DbrWNghSPhwtLviQo25y?5e|I+PM!;JcK^ zNP_8M%Wa(Zo_ue58IBjrcjUe2oAu(69G|~6F6Dls|2_)5R~~Sm{Kgc2dNK`;OU+Lt z$a!{vK7(IKtcpd2;+0yqkeKs3PpEOYvUG&R_S|5huEceiPz|`UpAxb*;>yo0WZi-* zJ6a)YE3RXNx(C;bh1!nmc%k;-S|QYaTqg;27}raM;&NN4WJeZwGmXEP`7|uBGgt;%Y?cI)JmbYgQ9LeWbFY(-Dk+!4{Ehg zmD9^Do{h|7kxf?{2Vq3j)QO&IY;NS(WV^?%f1(wYv&v^qu9`g^XDH8~T{&~w_{*%B zmAH6%wCdTM2~ckmA`X=NCH%BHMAeMYUBk-_<$) z)|O(QE*Rj5f$mRp5A1by&fim}=$!Q{G@4-!E`ot`aOLxSW!Ep>aP`Txwv?++WCf)hBD% zg7HbQ1K=L5#Uo0+`eZ(@T0+dEPiCIb@z_wWK3U&B#~Xer_H^6>K!1DRS6}t&llAQj z#+O3&2ZI5lksEgHyVYKOvUXJj9kV0=;$kuuNqx#wCjo6B;n zdc2}SiV4OiMSYc<^E`Uhr%#r`AsC+&driRr`#yAUkGx`$PoFG>Lohxm;@!BO8hX_a zefnf69D?yl^%W@-SF+oE^*(*F6b`}oq&OoS4DjvK_4vV{fBN*vQaA+TlVTq(7+~Jg zowDH@t9|-pDI9|FNu3F-`@VQUp--PYieU-HC&hZk{VI9XpiiGHg+nktDfTde0e%Z~ zJVMc{Pu8PX1>=)qPc;}|sixyWnLd58lnuf7q*%webrcV;^y!nOYzW3D6%{Fy^RtFT zZ;N`$p&oQ27@yR+zPNZCs_zh0DI0?EN%a#cQ`_)ZUf&_AQZ@wRlVXp|%?%!~>pMhM z%7$QkQUxMqa=yN$vR{Gsxuk3e#wW#E*?nI;4t0Q6O3H>{d{XQwx>8?iYKWZYm6Ea{ z7@ySnzUShhx95AMq~Z{aPimk@vDKja?WVw`13glD^r~QdQtZLHWrK&q`VLW*vLP4= z^(%6PCQqd78~HAF5A6cMPT7%mN;s#*4+f^BB8O34gj>kO#k9olKV~lCN8sxQswV>(LDS zCaN6fxZsNXd&lb0d2L4ZbBLc09BVznjT+&5V1CXcFT{#0{OE%C32vnSIW7Xf6`03t zob$Y;Bc+|DEZtY}I}S`Mhoo@qp-OlumVQPfpWgxI+@S)KHKT$n_G|CU;r$vg{e~$H zVjA8EU$$8P1b;9v=i0f-nn=PMK0@kLmA0&hL9_rT-q>%mz%l>!WPxLNFK2;c>-&!^a6N(REBz1< zw#!rwSpD?R0>>UW=4%aI-<2-{_Pzbt=|EO5-1v$MdR2HdbLa7PCNG7B8@<(paH*#6v|1&-sEUuS{iSZYreIL3P@3mog0e`bN}1Kdfz7AkZ5 z!BN|QEO0E(6SBau9-o>8j{Sk@S>SSjo1F!Y?ehFAaaU%ETapEi<*y+N9MiWh18&#| z9X-Qa9J*mvOA5})u(y}pz9evW+E~hY_V$YTw@MuA7@_r&b-5qzKT6R4CHteg|)&Nt_ zMx#OB9NCQ2A3;BlUqogm{w!2Et}I>HYK-d(LM_DgMWI&Ux>u-HTwfB(wbZle5KqUD z6r1PD;hu<}1BV0j7UaWVo$-JLyv_Sy=O%pP*Wi0(XCS7#-%K9lw%&IbHm&iDOE~)i zb9m;AP2^5^%Qql|9b94fw^nr~p1=W@i9PF!!uQ{L!g~#f;>hNX!A~Kb@Pblq0 zYC(!!GOx-x?g`}w(W5}|{6bTxB8lBy<-U1qI83a|??O_{!v8vc5lN%Ii*s?W?}DR| zT=AWRtL9=AD9y#oL1`{Ff=c~7nh#ZA&;5rxSe_q%zx8`w!WDbLLYTth00*q2M|O-0 z-wKOb`4;BKb9dl9B-ZUpEVwt^vKDo9Yvt2RqvoNpS9a>tFbBV98v zvt9Z=3*YCu^nDJ#&v)tjJbeG$rSG5N`$Ct#FTnT3E`48w@7^wb_rmw3E`48u@5^2K zz6{@eUHZakTIDNU`o03+zjW#Q7x=!~rSGfoeXUF1*WkOqOJD4vt$e*p-`C;$Mwh;C z!1v8Aecy!dfi8Uy!1t{#ecyub+gYLnu^_SA)CO#Dx7?0? zANMfZw&qOBC4X@~VQ+hbx2H{Yk0@{txy3=R2bm^x7aRgTlZ%t%2IJ4D)~OG`eDcz6 zuvLO{DPc5V{h6Kd2i!1mMBf8Oz9ZIr^pkK)5b4@{ zsX9LEOYJSUY&!mZ;A5ZJbetRcgn?T1oIB)zQLqN{AY?pRn8*jst zA5Bbs6h~yh5QZet^exoDfVs<^i(^UG9rhO}G?n*?jLD9?&HLgfcg7#}Gm{H;%}NoR z9yR9g+u~8$#o6w%|CET}bqX-tFwc%|JIc--hJPLn~h8e_r&cQeKkZKQHB0 zGS*~XZffSiNWsf^2KI=YI5R|Qp8|6RaZA{9Ofd?|@j``kjrzcIB7Py+x6P44NM>^` z6N=qB?S5VX>J9vGuqnDa)5W(Cly>lVvfE7IUF`5Cf#P^0WKDH=b3n}(-W8zU1QoIB zK^+k48=%;K3R&L+r5)S5LA@ouJj3U0p&kPDj!@i@&wPN5c2FALC!pGecOkk}yFi7k z8K9UAA!|OU9YR%udPu0npxT6rfznW#K^*`uV%-O7kNEz<@jU=)obZl-`l3*s4v)Lb z*9z|xP%T280qRDf`hyxLR4FKpV*;oR!kYx@dZFfn(tPILe9h;@pc=$?xx>2-R8n}G z9NtZ!wg~U54)6P*z9PIIIlOy8-737_IlNt!{O}*rQQ4YL48|%KXiO^x?=^8 z@bW-u{(S}%%S^~R50s|95Y!ihH`3va163oui4O1ApmebDs`B!>Cjm@cuO=A#p8WKZIH1?)vVP1h?~UDwwApZ=F+28D93sfkGr|? zM)19y*tIw`pdkl`WM936GESAj09nG*xy>24v8$zy;Ok4NBRW^-NDv3%g}N|TZf3PV z*Ub)kmhq4Po&m@{`2FehuxN{bIUrSz24tj>BQQlQcP-oFdnK?Z7}$ep`O&%B=nIe| zYnrNj_pwDd5gmE^d7KnpWe1*9UP2`e?7fyC46&kWyx)7TdghM2%)Z${ z&#(d%t3>`qprJZ!CyNDdGnEl?Z=x6d&v(Ixkk?kp8W2tT{`N=FkK6d*2tMf$1%_LGq`ZCPgFm}%qx6cr(WFA{+xryBZa)QDq_bXQ-2PWO(-(MPVIk_kVi5>EQ z%)h(%cx?_Nwj7-f`ED0Uu)gp11}2ax@^E8u$>%@Qt22yT?L4jq6)N z)#JJqzmS+N=@1^9&|eC#1y|+W2I|+syWQda7L-=ekAV7___9johaa(6fAtgI%MP_4 z)VugausFuZQs<^Pnpjd_>f8nht`gLpph9BuUQ=HSo~HgfP=6ELmq5KI)Lo!d|Mwgy z4f!Qd8Zynbsc!)&m7NLdu*m)%)cZm`0qXBUJp*c=P=5oZdMztxI&`!Us9mhjIMixT z+Q`zxQa{LstQJt3f;&KIuH6OdAL9FS$9Fp@O~K=!RCbT!`x+>I=n?CEP?`syfYLV| zM$>SP_?`>uhZ6Gnp!5xn0(H0WV9mnjT@FgqQVUAoAUl%!2CoLCDOe3kQ@`2aec9oC z6_h^5w;dikmnyr<;o&TH`>nQv($pUVrFqru1Z)qI)Sm-N!#f|8#;dx|O@|`D!vLUs zR^|g?^)M3MC>S^EY`tSYO24VwV9x(6t;TUI01Q;Nw$K+Q*mj0D%9 z((h=uBYfv0;p<<5Wb2I1=8sNT{W^?F@{6)m8-H|k{OR36R~Sj26uy5_Cm(EdH;(1{ zg*Vg8h$aEC@1NfOE8JtZ54>*O(fs}ip;NA%wCShB_A z4?+wKZ~lQ0W5O-00#kx?(pPQLHx7h1JRaZPd~{%J>NXId5Y9WOuk3If`F$om%RzYM zYs6#FHoPXNeWxBMZ@*g_C>lhwgj?SJ4dpQBZB7d~+wcOd^7d;%Zv3njTV^WmoYs== z)9g1^_DSRC!uOxF@mRljByhBO`zJUiXmrOU)8^j-J#ba$sR&0k4dKoIL~?eAtZ5KD z*B0E@Ix!%Uu`qma6jeueJM`A;0#Y2b1eLeHht`luY3L#;)pm%do1}cU<1!~HLZqc< z#s4-v%r=vrYCAnOzVsA5i-)VSlX8+t%E*qfNI_cs|3q+hexO$*8Oi)8dRBAfMCQmx z=oLMioT~jGm{W}7yoe1*2ab3$jhgh0Xde$>T*vv$qmzAUD*L2qaM5--XydTy1m!S$ z`5D@|ZJsKD*4Iu-zMc99fU@Gn9S^0XKQ_)z`<=GHYvx^wL~IL_f3$rw3O?Rz`(P9$ z{=JufKWZOD_R;pm_+#Eu^RaHR3!9JSgj>Ff8pip4V^#R1Vnt55J~+K&kcc?t|EEYG zF%uljf$1HinGvU^WJI|6C%_^z)*Vb7gLz>mJCLvK{SYgKs(nK8MyJ`2m}lN-NynJ< z_xW>#{r}~CvZIjlK3i^s!Of1vcC@GZUd3nI$4aiHzK;tu?(p?z!P}N}zAt$vFi;FH zeJ{uKJzNb&=P1(*V5DWpdVtPlzPnZ4WY;??-GZ)9F*OGad;1b z8j6r3*0Z3rGw`m13n8IJ;(InI4R4}D9Ra1`or+3Oan#=^Z!Rd6*aAx9_yH)5;|0g} zEY!KG`#ImC*uajG=e-D&Hp-Qb?^ICz#CMkCizXXq-{mEqGL<3@aWfV{Ir7YRD*?>n ze*wqZL7m3Gc?d{*tfzs}K3@T-xA1e05yXKfxt$};3-7$fefJYHy!$UK;PY4~;inIF zxNHo9rdLvQ$`!Y z>}f_p`G#S z2cLmF8mCv^7mA&c?*WUUeaqqZYz@mDq}*JqpyIUN(W1@=F`r#aU6T31WMfrpUTypI6_OfXT%EyZI%X(^rzN=tDyC{}AB z*(9nx^i8x3 z(0$V8?eRmfcpN{B*}03HuLZ?tMWRguIgf!HH-Ti5PrL^CrFl|}W#TASoG47J(IN)R z#k-9U&g?#%n3mh}SbTu_vU3uzcI3bWai=LCIi}p?xXXoDPaVTAVvWT0Bm6?LAy|3W zIlS+HI*wn&`Z=y8_=V(%FKuQX$Gz50`yA?kLz#@7dbsGw!{Ayi&&I}^(*#%_tu`5Q zVd8kXH%n79wj3E7ESHSML8AN=!|v1W#_h1BM&ZVAhbDF=N)rt^Ffxko()duUCo&VJ zqG77J<3#7xIN4(|Oi!`ugA{9a6oN|4qE+B&#w0*#d-Q!!njP%-DD@kM`mYvRJFqU> zlz-EF^mkG;gl?zggtu+47uWe&C2MkVT?Sgp+;BKH8s^-RVN^MI*0&oKe68U6XuB3Fsc0iMp6DcBHXMsEklA-UM!C0xU+%oUd zSBy;Aa!P>DR|}cz$ACwpxcWdQ2tKpVL#2i7f9c#EHLPKIP5sJVJy3w%TNndrT2fPF zt*9MAVn{KzvGDKk(h~VQqNv!qY8AG14KFDw8d6qb*%m{re*XwuSTc&em;2Fj72vlR zztiwLf*)O9{M4+jQn?O~Jxb-VrB*89P~NRv42rr**XhlF)6DEw?C{Z7M_k{GtT z)f#jxX~DonxH6xki6>X8SpeKv4GzXgeZhXNUhoYDzKSbzq4BB{rl?r}+*s2cjFFm8 zHXPr7Fu)CGr+`}aK%WLR3qZfic!4_!&#uwFq6{$xjPip!2wI;E8}@fK3qbFuc!3K` zj*;T?)A73r2G~zwj<+2fI8V*Y;zowc{G0DcQA1C6GJe4Tdn+sx*Ixgv->O*v+*mUl zjCrn3vf+B;=TD)U1)$%1yukH#;`)`HtIUI7;Cx>3yQ}1uhtwS zI0Xad>!0zU^}N?Cz;KZgj8BSX+uf>vYN&0X*DL^go>~w3bK`W8vJ0H`(siT$?llWA zLZk%ai;Lr(V8G5|i{_5KW&zkE))@+aTxW_D^Oo+qD@s20ngtjoT*3I_It%<@AS%8v zw>M>VFRxjEQsE26C-oWdg8`@k;3xGBeE{dN&56>mXu_ZXYPhgwZ zEI^SI4#D{1>L*gHbLf8l;N}XiS%4xb9D?yl^#?W>;2WXq?7OYjYZjnL3Ws2PQq z2*xKRHAaACnC@r4zTrNvSpePiqP2>*-WUjMFu?ka?$@Q$dwb0S=vH6B_~IG_tZR0o zPmd*E_L>FI9ovHONnPNRs;l_JgBM8MZJQvLvLP6s)P*9&_K0rxedm^6=#`SPAsC<3 zU|`)6HMaXNP9E%)lCmKfpVSbMVjDqs{&NqUH^eI?WkWDNsiDBS-`D>HZyh|;D5R6ZXFC-XX`J{WT<1Bo>0Z{su^=x;+_@wwkf;{d{TTNZVCtYsVN@em6Ea{7@rhhh+F38{p$x8kMv4O*$|9RiZ8@9 z|8nfUs$Y%rN=exej8BR$Bp6`rO4s-PehW&yQc^Yq{^I&<#Ezn6KXq-+Sr zCpB86*z=;h;lq*pMth~CYzW3DH3nF>P5JhH6ULA6N=exej8BR^L)SFWjh{^Y`9&V7 z5*9&AFg~fVBE=Sp?xd?`_Z;h$ViA->g#4|;#o)T%@<#{noN}>OO3H>{d~tnNq)co6 zi)BS+pY=*f*$|9RYMe;1&r3J=%^yEK&MPHlV;p?^DI8Buz>HdM-EwEac(0U{4Z-;0 znjli_QPO>H!0TU`;FXfHAsC-jIk2w5t_y$jn^VfYQc^Yq{ zd{UJnWm?!5&bjCAO0SfZ4Z--NCi>#48sGZsi5{sDQZ@tw9L8q$E1D!yA>qMP#A!Pp zC&$WQG=|*sS*6%c0~l^94{(+9whyC5$yYV_rP}P+$yIWl0XUr7eH;mAW!-ASRH=XY z;-cTsw2+&O2>z;PMH(hQ?J35maZXK>s`rIl-L$NFWqgIhQ#co37^fu9Wi-ylq&>xS zpOo5FH!^$*#WGywVf2#@-Nb zTH=puV%k&GrNo6aH`dj;Qj%ltE45?iiYeoi5rc z{DssCk#cxl91UO_`7y9}kbl*)sKBgV)VO?c^`cb`Yi(OWsa%n)UQ*jw%~C2#p#o~Q z9F`r982(Xj4MG_DnZ#o_$DWq^an?ZEiT2gi^*ElOI<{*0s?~Kkb%40V)eGZ`q4UJ! zF)BTS0BP{X?=sya@^z*pkt`>anibV45QJhg)v8l{tZs#v=U-UA%C-|Ftoq{GYGJ{K zX!Xka+Tx~_n$)K16?H4@7??{nwY3svYC0S~jt!{QxDXzTcU{d28=T3fx~g)jo_N6c zRnRBYwZCNLB76z*UE%fNJ6?_(=CG9Wp?=d-%j*|Xm%F^Wrg2dTRIatFR`5O80*&=6 zV?3o{S@ktF%j0#*wU1(`oLj|rTU}d!Rb5kT;aX~(6>yE7sNj?sxlMUR3PHdPs~YrE z^1iTC34LQKBV~o(o?VFQo0=MG7U9;7kF`l^eB@R0MXp-7v=}c_lZqDss&eK`nA6hZ zCaUXr2wb%&y(QO}htn!5C#nESsVL&D>V+dqswpmpxa{csJo_t={F0Ywqx4(xu&XB^ zEYH2BJ%wq9CQ;IGnJ+MxE7rYM)z@Zg-K)5;urw-;*1fbVF#!FL0=wRjw3s@ii@%@F znGq$@nKMyFLCi+w8M7-;BvGwDrC9gk2`JyeZ>il}gbl7}xO9hbD^9v32&5MSf@83> zCgmO4lFwmd9~;AaI$C=fRy0z&Afm!o-9-!Tu;T%S?qyr@6CrIN!ikF2a@Bi9^uM_20V#ptEY2-BhFZdPZ8`X9OxJV zs}Qb*14@mDUvk0z@+6MkHsO}-47XkezOx`87wgQEYjT$kHZz-;`oxLPvEOX_DblzR z;fFW>3sfS0kW1EgdZ%8)_m>CCot0hhW2IKhk?^gR|KKV12hEfzSDoIvqsP>L#G)8X zY;&hiD|;<|u;Wr}lt5~od0#u?*eIM%Jdvx<-Ng_2yDLV)PPwz$AO|z&?Ypr8YunF| zzK#%7hTu;L6yhEPC7g|f@4t`OoV z@LXY|HmPo^Tf~`0tLI7H3IUQBN#No*z4>p>5xsAR&2K9hh~i2r`s4(US?E{5q3ddn zh?N2>f={LmdMooBk=7PBN+`@w#>Eek&(rX|lW}sbdCa(jiKdLn(5V*!jQ+S3+2DsXz`~|_bQ;v>$ zl%+k~^uGKaBZ9vwwcE#GC#7-Gl19T+Oiy3z>HScmKW9YnSEZJuaj0!GPBGLf7}sTg zR+=?~x)5opX3<=+sy4p74(CwS$LuySl`9Q=Lp-K!yLJN>EysbY=xA3@E1y1XqV!}; z8L!4cRdp*CHLR^(v}Bp0+51Ds!51M0E%g{UXk+b(((wHqEs3SxPAmIOc8|*KTd{Mp z2n~4*eHpP#iteN50quw~`K0!QBrZED1Y)rhNgJct_6bTxj8cQ2QT7Q=ksN;%vt8wO z-g~P6^Ey)heky%}5q`^zY&Y}pU6`REOQ%?bEEC;~lO!rZ3xMM(;B*eI#MdQ|lNA;K zb5j~lm5wTnMP(?nUkBy^Tg$_$QsNz<6AcD;9*EwkOSmtW&WX1OQ~VxxK4|XP<>W0L zKM4u1*l%g-Jn+{6bEl1S!YlS4V0A4#eh$p}T9fDmEc!OXiiZ0#W--FM9GHh~93NZa zEg2>19NdbdLgO#Me9qPkI_Vn@ZK=nd2YMwix7s)-eIxv)JO={zU0`9`n|Im%#!TTiv0+O|Y>HKU2JHabv*TWaF6K9!p&h;1;L4Fw=(M z=bRhUd?;5>pN8q9#GIpvsUNpaJqq&|OKt15GKR& z(II4aYDdey@HZbR+MfG(xaAGxKK8;kuN{b9*`INP#evDS1vG!qhP&3)C9RVRu@|*< z(naV?**iWvLV-zG?|DnId-Ktp@C`o%5F2z_kPO&MK%Xqu2fZI`AU%McsKzqF=8ZsM z1>lAfEBxK<;}YFFcHGjr`m9;5MFI3dxjuc+OW`f-PmY-D?|3R7cvnvq-kDgs|Psv;ROWI4Q4lbw1Dg?ra!%kSRoe8vVyDyFm_`lpk&> zf>_%mX^-2wv(wN%zyy?>R6^*fxKB6N%9S~{|f!X!c7|KHXJ=^`cHrhYi!$wX``CiJD+l{0u?Thgj^x&L zdWKtmO=1JToqeE^*uvH=UXm>51E146r7$t|aOVNb@DAV zZ$BXc!H{mQZa#WKxaI2%tXv9TlH`=ZiKz#ZQwoDqQ207mdkXUU#jR6H7!4!CX4%8Z z9w>o5)-Mj0mnOoustK*zR(?uPD#T2=ccw(Y7>Vb8-@s za=;pdBG5J|mlb&1ByRk-+Q#K0C@Zn1plw`V5SDC2?>NyZUWvmjRqP^+#V;bM;~Y;! z4lUxmjkmn8Y_3P;7+aW}RDcM3w@xo?ombLYebKC$u*gE=MafBnGkbWp+c>eeP0U9O zR@=k^{Ub@#!C$wc?ULb_!bg)a%b~LWw#GpwVx7jOI19%dqq-s_%a2sIz>4uS;W4Qk zJ%$jX89g$=93QG37d}NuvXFh1kZ6Z45Q_au>*Ui;KkJ-=^Dh|E1Rh`UR{XW__m}w5 zaqy)J5|v`xsT5P86jPxT>!<)ExwMgg`{MT*{OCB2)sU28NJ=pzr5KV@d>*B|eO3nb zX%Abc+HZzAACz-A80)2{yoNo;_M=$i9Zb|xase=O?3n}u!*C^b*`HeK8=c5!Fz@BRb+)_w@$YuXJn@K)ylvYMf0+thzQ%O6C2u&< zUH*7CICLjEQmmcn*j4k#3@qjqzxZumD|44Wt_FuL&v}Yh?YO9N2nN>S%4fg# z=;@y2k54-oriYFu0q9uC`Jdfg{y4!TSLGJl2jiF!(n3ieiv}tN9CCu zcLGqP4NDaiRH;BK0@a{>k~O`-Y_e10hzQRORHg(~Z{k37nviLCDe7n%s~0b?xe7Cg z4pL^fQlxdp%Z1<#Ev#9ztU4ps=c&1yfyFtrl*uyDz32m1H`QMYJ&hBiPKu?ZN|_Ra zO*(kb440qh2FW>{)Ql9K1gO-Cy4aFcwM`;qf2IXKo?sW-{+ymIkohxZ$lI)~Tb!+4 zsCanch^RQ~g;;Aq6OF3iJiEAh+gO{G_UBX43l;nI0h95aaofNj^%IwxPV^dB>gIJ+ zRbGLr^ggXlrLDE~F6@FhZZfEcfyuS24}Qji8(!*QNNmBcH!xdMaYdtidXme5`w1{X zyBcLOCA^{%pI(E(^f6T}XmReGk_>b5la=|&HDcB9E%-NYfHhzlvK%DZ49c)?598g< z$H7YM#7NQbbIE-S+$BWI#XA?X5L5H2lJWexGnV#HD~i~6TEi`va}FoEB^q;JNh&b`#()kb zF3nGTF0Z3dcECOk;nZoCeMLu{*((#fY);IV9yg4E?|1yMoAEgoTsGqoIhdDSq=+1h zdWKN5ab?pQk`V*D3c8o^Oz~YMSMp+@v`c+0C{Dg$dIeW@JR@RhMyFgj=w_E1lRluL zLY)ulT%j%o)lVpU5HN2plpB$@$`8P_WMDKZS=w6p0frk@&R&1+(T&nzeB}p;Ns&Y# z36%;qt;Udf`5Z3Fs7N#h91Zb#`+MU+5yG$-W8@>TqU1@CyD+(q1~fabb_QU{P}?|m zqpddiO4`_6v}7bBdCK5YlHGg=h0>Ss`eZ3IHp%I^$*Oz~W~b+I)H@yY;nt}KXH?C@ zC~_w4XX0tbW_rYde8f2)B<4jDCnx9SCwpU*i&@Zo+)dBFFc8F}hnz>n%f_Z$q^qk( z9WReMCc8&EwvF8pKOQ$A@yp>CJz0hU`o`d{!6104qNZqu$)w zw9*}F@CYB14u?dGxy4_mL^T;g;G!H8AGw*j zisWC%i|tfuxw*w(J9ey#F-*n0XKocE9SE1Dm}4#j;iMmp=Qj8T$URf?w9*Ul^d+lT zqGRCiSb8~r8PjbPgs*q$<)lu-F_X39Mk>?lBu|Xmqt*^q8e0>q5vKvYZ0!!o>LKaO z$vQ6y4(qU-*RJb*G%mX&_?7@MudE&oBdQw~I;ZGGqlMZvlB?2s9a&N$yy3;Ao>?`1 zqG$y09Z@Mo=dCuBlYaeFdQT&Y%e*nMiCT{Gl+-dM1zUP2BmC#Uv7!4OFfG*pLnBH1vxZxF-`g&vhRL=uuw*9S96QR8)?2+}j%R%R& zcB^3x2S>Qz{Kx271Hn%K^D7T7)2tBtyD!-okm7VDkiQ$qe0c-7Pi!n7J5zY{=Io%? zWjaTSxIP(h!-o53)%bk0SL1VTZ*d9vs;YOV3i5RtD+;fWyeKO59KEP5!s9azg6}R^ zisB|Ddo4MW@5kH79B;@}YYa|9y20jp!PFjbUd;&>os=rua*m|P!~kvVA{-f0iC)7t zHWK0KkIrz--$>W?9)tsX>@C}6iZfh!bRO0ljkE*cY|&;mMmTfFVdlWPM!`JCkV{_2 zx$JE&O+6r|-0&XQeT?y*oVn?7HPpiSO1Lh z`NM&@{R|${8`Mfg@e4_pRbauP-Mz;$|+CR!hHjxuab^g!HEYQvaN(A7j&criY`s%oMcBi+{frw><6v{$bx81etIT#c5Q zEe_LgeR}gXqjZzKZm`q$BN(65Nj|Ad3YYd* zEwf7T!?HEeLe<&1%6^W!v1#J&DPPl`Pv&m;Tw97kXs&V@gK^4Xt{SJDo6;~Z7y$k% z=3pA%QbkqV>V7XX1GJH za+Vu_aMHW{rkCo%=0Z^Qx7z!~FsFL{h{Ce!@s~}SK2wH0)utNr=zo1I7tmC9b#)92 z@1%GYI3Sy?@l2jJyK++H%xWyqa|O9tFGYy{(k-7}KD%;u^{m-5Cr_KCQd7!jNq3v- zZd)l@<>UEdB1$=SAj04}f6p>NUjT*JigVQ}v)d%2mj)=Ah8+i~D+Ar}L~U_>s^+-M zZ5FPS?r!kB2xT}qDz`c&@$-DosX}h3GOUqXJ0o;s1Cr>x2|GJ|EZMMPqOk$osp7D_ zB?ft0h!Yh#8oH)9TV3+V;=&>wFj1Gx))3pnQp2#k+Cf- zK$TN&S3CUbWE4?0LaRI*$U1l)FiokrqGI3Zh3(x9z}%6F8|6Pfn=Rb0fO$L>SL)vv z!SuZf%)iobrR?N6j_ErY4fPN<)^N^q_?J}5AYeQ&^HOo6{KGn?Zy7L~Q*k9DeWS1w z5Yab*xkL1Zy82v4iT<^NG`;f}nrW`Pqw9m8;EGFpN_MuZpF=}(>uK~U+x8NkBw!%FuY;Kg}&#g0{;LoC2UUNkkpLv(tERwA&ySt^{>5T zyte@NGaGB-^|sTLWjxz6gqMnA@*m9t$Jg~-mbkrH;F!;U$pXjs^iBrcu#qLc?}){u zBL$bbkEV-J>|luMD0T`cXK=9uHyHS)k75$}#@lbm%)sqMPm<4xOv<$$EFr zB-$jaP1Y6d!|tHU!{N=`vW1;PiHpT2G0_pmk*Usz7@GgnoSW9Eueb(sTmLX0EB2g~ zRahbl1G5|lIz~zRGOFVw(VtuUPU~@<7b=7|%%LHy%Yx#ZMZ_8eO5>dX zO4BzBl&0_VpsoPOopfpt+NGN5` z+)-gAnQY$w?-2(+mBTDDQ-BseZ!X4-sIX*xXX5IdWREtn0^!kEnLrXW=N#VL6C#`q zTacT$7!!8A=FKp#GOweDtCWJV`IdbTu=xm2$GYRIbL?PpB`pl-5u_;@@7r=@{Q&WU zL}I)|@niTn=j96L>%^{$VDb2Ow{Pm?*C9vF#&x|apWtw!0ZY(5cKuQMPH=W6=1UAH z>{VFXsq??6Toc`etxG&hy81rO#MEKh_kph?akQg2aXe!oUxEapwlYdGx0Z1Y)#d@A z_1(#!vHdIr{7Y=SYJpoSE=ji+Idrgq>Ib-zzvV7G>$Z9PBg`} zLPc>MFBDT;Clotz6+-d(ly?cJNy57fSMy|3Dkf%lHj_5CigZjD^{A@5W7j2QEvs9* zIKFZb%&9JFT-zY~BwckLJh7tes@M{%p>eTw-r!*)7S+~yM>l-BPg}otTM&`J@oBo! z?|sR^M6GUue!%9i&)AiI?`{WUq}Ge9zVoj1d#fCbk&4*i{5$<#j)O5$lWh*)ivPJ> z{a&eqF;WdSNA-JWL6*-;y``()t9CF(ieD5Rd%XVVa`k&GS#&hCsd@OW{*j&CY9xsa z>Mh-sru!U>kuusLmU3w7;D0u#mKO>Zy86BC_GiIWq#D58HizB4V1P{;M^S%W^RH&t zh~_sOjFCDD4Bbii>3UF>66!78Ritkd04ErqR*>2}*L2yPf4J>}A5ETM98&6s}W7F zwo@?TKh=(%oohFRH+9Z_!8M{e)`RhDR@qr{O)LHM=7AS`jA#yJZNb(B7+(rcCC4#d z_)ucSTV5lY!zm1(sUL%^U_jG-~Uy3Edm7*5cYebXnjFuX|6zg&KEuS&; z(A!=knj=L@FuvzHU8GD6+Pvr8u-Ay@D3KD3P}kdE0d+yafUPdDwvKvuC^=RaYlSD; zQbZ`pGnh3g7SsLeV6A1pQC+EqHQ}UKH&IfjBAx=F_j<}pB)6#5a zWL(Ugw2&W9FkwC6JWIEYeA zep)z#eVndz+SE0gBz=f@s%ep?yuM*cUE^fz1+T7K^B>jRq8K&WX|DHyg45{+_;lZX zF7=?=SMY(nJk`qj6xkAiL^=ENs!F41cSBB9rKkCLqD{q`sC|0(@zX9B?YT#(?5Nny zQ>#wijmoQ*_i;Uudod>Bw17q9ZuIEOY8Mx0P~AK1Y6Gmx1hbi`>xblhPp-NIGYjRj z=T|SUyQ*dp_Uv=fxLp`rPiMQos~Z20I(#iq8U}iCh(Nk=UUvO8hMTffyi0|@C(&ZL z-ZQDtCYWOLp<_mn&R5Iz%qoK6A0k6hPI{fD~SY>6p7)vZ0u-&z+-(YaU z@gJSHU#^_=>!&j7FtSjaLpwTZ^*@g~?K->uWKAjB@R8|jux8K)M*q1r@dmAu+O$~3j z-+B^zh&*TA>m5p;Mh_yqx4PF)_>Lup37|&ap=C*gsU9IFm7XGI^%t1ky4(!)C>#IV*Qg- z&yrQ~(8)zQ<58?c)0l**$GOSMBz}tHB&wmfju(p6&jg`d4I)%?TtX(N5_L~b%SoP? z!1nnFmZyEj1WgrM&~uZVnx6<@5AzA!-re0@qfZS?xdhK1T7@?v*;M~WVU((tw&iANXgJQE>QdP8Ymm)k9VI=5_C$#Kl3UY&)W1Ck^q3wE+nnxR0l~4D8JDyPGoa%w>0$V(GDuZBQQULDrJI#65sHH%4sk-F?3yeTeOM=iWESXB zp>WCQIBbpL7qZx2DXp%WIeBjNl*-GiCr_I=T`C14=*&}?dp<#b{4|B<3B^iwh>tjbFXuE(gNa&7)-obE)+T=Sin}a~^LljdvaqAf2DpExHlog6F(xja zP)*0T5)9Pvir<#45C6(l8|66|BXyO{IZ>q8v@zvB-upt6t2UbJV2sofJ9bqYv7w{u zGxM$AxoV>s4#r3s%dxD8g8?>Yg#7VKjQ5&%=+YbRHk)h02(3RSV z%_ZHg_%F-_pwUMfF1mlxZwUOPMu(n+hxl7eX8keea1mlxpKDY{?o%jB#-K#cYt!30k zq_*4H%kHcDT$5VP`3yN|T{3Q}zQeo}Ahej!q>FJ%vL!Z7IkcQ-oN_*!#!0uEU15I( zlvJq_{Ubps`Lnce{*i{+oQ8SYB*qDOdm4u)VHu}E{zrv^8Acc}YaO0I2Bj&Le05D6 z`>gGCYw2x(czcF)s#C~-qlb=HDxIWP$u6&-%BViY zM(|?9&Qbj%cJ;`vj*jYmgKO&o)LNeaGmro{HUPw>j`|9~FJxQoahY}yaa2D$3mogs z6EX=JxI^aBO~mp9PMM!}ct2e2z!5z;T}8nJjRe&p4O` zj@^Q8>}`5nruWPDaatBQei=m>aKnoA_$f~`>7=`p%(mNRmYw8ayjQ3esj(PiDOPwK zq%?MOJ0_-c6T6+2Noto%mTh#`)k{5XJoce;=QcaasuJMfNeBCbKnBXX}} z_RDcUPI&I{xyrNu%Eaxi18F`QSbc6{$M~ulOCYCl5GXoSwh9V>~F`DmFnVmNI^QswiOn6q53$I1Z82cMd3i^&wfSqrO+;zFZL3 z<60rq&A6(@WUJg$;x16E2|{uNw#wd*`-y^hNUrqV35tWQko6d@ihC9m)f^G)6VRB{YX=p@FC>RVssx8nlktmKT$Q90&GM-%yUhJX;w(_(1y=y-JmJx%xbnt;8YH~& zpr|Z~SeJt0z&v8j0d<*BTpBu9aJ8U@3AGZ`c=6=|JjHzt6qR2Qi^G#*!QBaJyzqVj zYMM~|;zo!s_kpSJqo6ePTrHs~eZleN^1M=!_!}rqDU}5p?@6fo^&OStVB`A5^^0J3 zIXbiMnpGfR=RA5@eN!wtuzcoagGTqT29!2A2Tl)I9*+(zTr*(#nn9?jygv5vywQOJ zme;}$UXz=e;&qKYLs)Jvt3jA^8qhPuxx!Wt0H(npkIR`heOe_}jv&$~_;o9J!gZ6y zL@leUjd~K=gfvZCCCN?ofqB~~+^o9B`kLj@Y4H^cnECJ!BgvC}nY$^=YY8tyfr#=4MXI({8tAjD>4!%J;w)epRdrj;q?b^Ek zc6a}w4!O<#LvIg?F}O!7F6#T;B2_ebSFQ-gH&k~OO%S(!cwocT9wYBVi^x=Elus%b z++e_)iK=K)wE)Y#t&H+XohVXl-Ra&7e`ka$n!L&c!T6-ue!531KKsyy}nqZ=~+;S!IcX{gTf(AU4- zg*^}VaJtL?R-5oxxf`kno(jhIT+F?obAaaUBM)BaQ#4885R6ZXEs=XL=-a>l#+SW{ zCOz;}Fg__!A~}bU-kaF`s#npZcE|P`A$#O#X;DVt zbBAN)i)lToE; z)vA?s%j;LdmLG#|!cla~ZCVvR^~E)s1@?lOlrU#j&YeD`vcl>?!;Dw|FLV|ohnJ0H zgB+EW2wKOZYOU@Cp77 z3}@%*SbzoRhgn~OKW*CG!Db3>9)6j08=NM^0#u*NH1=h?b$S*!)>s8u;F#{REO30@ z(OKYF2hYg@$M1eg7Px-EEzJVQ^xc#Nj+3%K$^ysMZg&rpA_i#=YIQG*9WPxM849$QWmU89=%jxhGoM+`l1|3aF zMjZ_m6^@=J|9`8enTAwEWLj>zP=j#Q(J^~*%;tzJY?vX`0$gVbW$S4edFp;hc6C(H zRpvAw>I-{@i9G|Ld9aEe8_OB#2iW%vSMJ!xisYdvZz|qzdG=uzR2ce6PK{6l6vVEp zBRc}|iM0L4nc0ifcCFJMgoC*N*j0czHAE47}TX9324F-$CXh)qz5EoGwX{iwP#r5IEN&^5G87 zKZjcmqlmjuEXFY)JBx~#&R}v)U!&;3dkJsm{ss?2a{GtiB|a(YOvGR5=$l-3c#;Vz zr>u>DRxV{utUK%+NRgXp>nuE|$34=@&(L`4elXFu;?rgTtZ>VX;1VcBWOP3H29lKD9zmaIH9 zXm|6`zKQsu4HvZ>k<~TfX}d2$R1@vm=0GWpp7$1+9gd*oe z;;KK-FM3uIVNM2t<`@6cweaRp8Ei`Jc#73I2d!!acNVCKbW%A?3|Uv>s=Tj)nk~NH z!}SdOLe~G_s;bMMftrI~#M+Ll`ZAyT;1{y~gsb{;h!+*!dk!xTZ)7g+)NXEn@uhN7 z8SF0d=`hkAeD}P@D|7 zLa3KOX~)bpVux{4S`^3oZw5LUAX88YZ~jpcF?{6&u5dHO8Sn?@%#NUl8Ao zpsIyRfVxts+dyf^-v%`TypVM#C=Hn#TlCqU1f_9s+nk114vM||kTnIA=HEh4V}!R1 zl;#1K9do)RWPQ`YZ3Wd|c)tXtxMx6VT3!HEEWWRR(zN8DA*ulnhX;XD9M5hUFE|=i zQQQzvn$lUIG^Gnbsl-B1`jpE+sl*pSEtHVI1WKP5$3e2yP!0bAAzcn zcz+H`L)itYRzleWN^yS%b*bR?fl}N%py~woKB)fU`ynXJKbn}-)b|CoSbWb0b(Khr z1I2F+%5lf{3dgqrly-}DEUbu5saqSJymIj>##2<>Mmp9(mDlk9U?V+9A~xjxH?JK&_}X+KM~kq5z0GYaB(~esCzeD;*660#XI~A|wN9 z`sGN*$R=yCcYKVmE=4~@4*Jou2t!ELj42p$fLYkoBm^!fxhWWO)Lo!K+DjohDh}b- zaNScAT@7^~2V*qUx7gBn&j|TUTnTyog|BH`xZ>erKURO9Ls z?~Y%++N+^vgW6BdfjeqpUwLp@6P9NPHvkb^k)xt?mj z;vTPtn$J6^DJn{MOU-ghrLoJ0vFg~eMM2aP!?z)003w;`DDI9|FNwHhu9*6sbg3Y)2G}KZ! z1mlxB)hD&~)w>6HchIU{TQEK;(J?tX^y^o@{B`dR+9D|&g7Hc9k+|4g&|SLluTOY) z(CSJG!T6;50vinQi>4d5^ww(c4qCN2CK#U-zjF879P6&XmU?&47D?d{j8BSbbNBfE z=%xvEXGp!HGeCN#s9=~Bi<)CP)=utMxnkEd|3ePano-Noxmn}7((=#uVTk7Zta18v z<)(2s|7)CLCZus%(>N7I1b-8AXvH0;m^0F(+S20sizCChGVAoel_u3I zE#!ZuVc6+4PT>!jTl`hd!ZfLsX_&jxIQ!G2ewW6X?~}?j>mWLA4{8FEq#FF0l`}+x z-w`lntvy_jB)taWl9uw@(@nt zv{{pu>axZ=U zL!k5^!(@`39H_7T6OrkZpGJe%=2^xc#Nj=k7hv%s+u!*UOw%akvyJHL}9?z`o)eDq_S6ylF_B+B||>= znb6qeRLyc!U#@Apj+4^j8kdvI#eT%zSP-WR9ZjhD*dgc(_CKa#Vs5f;%f9vX$u+qj z;+Un5QMPg|e1FcU*1X{pn~!yF<3s(9mvF`7GxRZBW6TyS2;kJ7c5qU4grd+egJs~-~m(GXA(>wH{?3dNxSH7>eD zl-Q7r{n_;n$>?4s=Hi|`-Uzf{#t?oJDE3U%I6ga?A*&fzmH0L&cI`seR)_a=io?&^^Gl1tZv^mqJOq)J$8Zap%d99zLXuBCe`4XIn z2XhAq6PplMUWFm}&$8Fv*y0+0>jnVnMbYou$yx<+9 z>$q9Q@xI*X1*|(>p`>?=E<+=GyQ23kvl4K}mmDd2$LM7YMy4PAqiq>~`_`U$$LP8q zOfVu}C0AqR%D$05Z0)TsMpRUM8mB$|&E^(=l~a+%(YLN_#e5|V6Hnu?!ZQwEfh>B_ z`%gNdx(t|JnZaP2E6D0;m9uA+kB99V)-=9VLz#TE>smEu0y~!IFlz@9ox|egD^m@m zd%Lcl4y)6N)Q%_mj687k-*qr!)oWnOKKuS;QOSsrrBOQeC-wd3peu`^>%uH> zcnqr|3mo5DWfnMgXRgcw$LC$01&;M}OBOih>sPYC@jZPj3ml8*)+}(WBY&L*j^W*# z1&;4+cNRDn{3qxJ>1bTw@?`FWI+QDZfmv*Ht;#mIW>c^3P|9+nXisl`L`lv&0?95_d35+@UOShqJ_ekR|SDmbj0z z#K{;~N`PKi4u*~Nx2qm+mvr?O|CiPcvNx&g2JaSX5UxKFioJcdHM(x_r$Q~j^=Cr4 zO9Bt#-q~T9gB5uraF8(;!$5}s4T*0TD%R0COMm<;96S1Su>wZ43~ahJq3q0PLOC+m zgpL8F37rT^6Iu-_HKEN1jy4~{5zYCDNAcNX`QnkWvV4*Kv)@H=30Le%%r3~Y*E8;J zd2Aa;3E|2|6PFd>)a!_tRZ3J8rj?GhJ$ErX9dY;GKCGT8{4<4F@CTrG5DXMTKfXRIJE zEhjbATw7GM52r)J-2JUME!`XekuwjuPB~{YZhqO`@J;_@2IzWBU)KMHucVsG?FuMT-?}(xer&MNw=1-|zF>bMCz}Lk;i0 z@8@^&nVaW6=lh)XIp?1JJVN>4{#(hqAAs-kJT)aRvA<8a;a0E{`;QDaz6nR&khES0 z=Cw#tuw)GJF}y>up7CvO_7VcC(bi5V-uE~)&@7Qlbse=O-1HQd>fx5|@P@+TNu#zr zI$9iQb~i}}99Z{4@xJ8VrrLi>NwEon6@;;tdR^h^ON_NUd=UwNAJ0s=wg1CZ8ymm$ zfLXM*@gTBiHkQm~dJ?|*EbyT$4an$%@C{EPs_tT08*bHxBg~RJ$v$gIW%``Sg@TzH z+lPa?#!i+|{uy=w3E@5qt}iK&TBo4~!cCwVt7M1N>u|1dw6L|wxEOHOTl)A(vxDr9 z_o*+Ki9lf!^uPcx0(+F`_|cggq#2jf;5rca{Kxxh+4*$?(!_cXOhY$do`fGxYY5au zAoyX*m&H-{gNit-@MK+{FL#S7?>l(^mDsZ4ie#JLyLM6rFq+P(nl zA+g;J>Ni4t1d2W4eCJb8>f7N+y>oOmC=^)*oZVB|aN zL1`?xq)(}vLFsZk9-XGC!5fpuiNtG`_aP{DOCva|9%Wx_yX2a%L_o1F!7@ou?AJw{ zQ$cAwN-U0N=Fb$_N>J+C5>OjNVjU<=gKvOR*>8i=`2H5uY>|D!@?Hd`@z?=suGqc- zN?qOuig_Gy@}XPmULhz}QxT^hDArXGrxeuhggOJ%<3dG2#Xw=XA}9^P`JmJ{E)k>- z<~#F2sc(xx{a$3bFp!_)eCH-mPYCZ`P^t&dfqGJS2fY)am$}u~6paG87wG15p(xy8 z;hk&1Vl|xH>R$E;Nw!qRHkG$DRqdHkX=Z*<-N#Pph_~3Qcvy`dof>;S{vC$;q1(*a zb2_#sHb;`pt$Psa#y7(a|AYUjF{q+Cq{0tR--_kmsR;$x?=Zb>tf|)B|5(nCd77b3 z7l%fDBA*7P^Z{mR-p1Eqft{rp6>pDS;G3#>1UIhew=UQMSzBD+t-hN{5=1EZXXc@^ zuAyyspc>NDx~sYEI4pBN+I7qOv=kP<$wlh7H}e9dUUstQ3OJ>cJ*qd<0M)9Apjdh9 z4aXaWs>gGaP=Ca8DSr9R%Xq5Z>;iSU@R*jWH#~z}b@M1ts%a;KdKw5^9Bgf)pfm)$ zSV$!nfKmxpm)Kyd$V+_ICl*PS7bHGAGJdFcn^kplbt@dj9xh3i87+Ll@u0;UtDBDn zS%jZnwKPB|hFQx1YrlX$m}A7o7;(l+z=Gm^lEYNKpP_Rotw)~l5pjJgu+}%i+IPN3 zGP=uHH7ujmR*}VBT-b?VrRnZ;*otdS<-6rBt{Jv{-G|?a(_tUp5Z$efwDc`EyoC_9 z@2IVrk(4ISJ`_t>{UwVPm*c|f-7Hoc)oM=`tDmaXds(b*RIB&1SS?elzh<%Gz8nOj zC5zQ4wQ9{`b(~uLEsIsITD4`dYC+WrzuL1{{ZXy{p2g}RwfaXEE7s$1@PjN?*Qk|y zk$E6f=Bd?(D&=XKdG^g$F{ce-nBe_pp^He<>evol*e3D_xf4h zFv}ZldEAbpxGKwIn_PLzEw9n?QkM54%VUdO{e9f>Hd!9mld5~WEbl|h<4!k~Ekrp} z95>-8??lTx&GNXOQE^i&uiEnFTi$BRV|!lR|}qqyfmZAH39oL4~c z^PTVT1}L?~GH*8rdx6p%JQj=(y5F!pZ~GbDRvjPSFtx|}P21P+@3!iQ8{P|V zcsjHZqIpH(4I9H7_J_9K(7yhQ3sTYDO$~h(cXfBQx}C$9Dl6u6#M{v?#Z8)sQOB^x z-+$r`YMD3;Ol~UP*!XPtu8pljF|xHADXyKB_d(r{U&OfT2QL z18TicKL@31<1ausSh9d+s35VwFnrUqK&C371VJstG@Y zKtKy5-@?~5C+5CaA(x;{}?qS@OFAFVKW%FFlO*^hMc5aNxp6`F4(vWhl3-A|=ZbkZUR`*@=j)rd zum8N;s#!OVKSZ<$g`gwU(bV^;_03S6&%+ybhCWYL?}b2Y%z(t2gEyEpAj#81;Jmqqah~Heqpgpn5WRA&n!BR(HgAL*=M%9q~P) zdx*x)Y>IcPr+8aX@Dk1Ru*@9NJ{RB$5)$i3uCn_ibfY%hkbiR z4fg+HrzkfSTv_TrZ!q1r=@VvF6fK&!auEWD$e(YPm)fPRSf^T)2I8{Q(Gr!cYgC=_ z*smI^TT)we<-Eo5T4&J8qCq7Kis1T!(e}Yru0?|uZ~^Q8!X!j{&^&RzE>r=Y{PN|? z>^(n6di}>OLPhZWrcizGWHpuV^u_Z#LKWe8r%(g&{Gm{T@%*t+96P^9sG`Z`v$DrU z<8jWsrOu?Rm#1(LCf9$LK?iJp?+LH)?$#;wt`^Gf*JVNRiJjvi5UR|?`7iXo#7^&;Y zhM^ARhPXPeH>ewWzB|~vVuYibGzE^4`dArGH~h~Hjm4Acvhjm^KK8B{`3pES-K^9j z%D{?iN^#{JN4^ust(&WBc4>V#A28jmR9`oJdVrf7qO0_^Zug*5y(>mIK0(vNN?j0A zP9gr~hMvM3(`D%oZ<(WOc4<4wVobaSxtv2piiaLBU1|qDx!t>Bq?^T1%D>)@{ovdX zpEQL(|Hq5IHM`0@;F?{=j)ps$18a7L8^$xZ(zh2mp`*kWUyzQj$NBfwa#rfV`)b_? z2*$s!w$$aM`*kSz-p*g{X!h@`9VSwO38cnhB6XzL;#i7Jl`r`B)eaZFU;0`}ft3qEj-f6_jG#>7772{?77nU|;P}N(m+qFXpee3jD^F4?YX*t1YIK zU;}!3Fks8F^jVsC_n1B?&1m0PqUC-!# zXkWjSD2HGIQpbuEbDxI0-H-K4iE;=gAaxwDxuN4lM)$2B=a&-Y5KKU-pGYy}G~Bn| z&o3p)A(((v5wO91>qUMkQ4YZbr231LN%^b#-}#gNekoB7!33ljBfWqMg!AKX9QEAs zKB*GX4Z#GY28a~DEHta0y#AL1{8FMDf(b|s1U5HRgeT3mWk0GJ=$8`R5KKU75U`%k zbLYb#zm({PU;LoflU6Ge*pNz?F7&jBa;r9?Lb6Odw?!#hoQ z%)f`M9qgA9-4IMbieFJLmmA+$z5FDC^H!3HK6tl(DI47&rl4Trj5F?m? zU#EcY?RKB=?6>Eg;`d85N-zN_wxGPa_lJG%KKoR^lxUP-0#c`m6u-$dm(@Hy=`^2I zsc4j70#ZYO%?%l;aM%0(XNX@)G)gc5DfUl1sl@0@&ph2PB^o7|fE0t^NnLYZMg35} zlxUP-0#XcuCpG2WZ@pdYmlBNA5Im_Xw%_^aaKDu3hF}6x41y=M``SmI9^sb~-4IMb zib3$C=C2tvZlq62cP$7eAjKefQh)gJcabu`l<0Hs^7IFfA4 zfzE2U%Ty--DtSskit>N-HEetni9b+{41f3>EZOkCJ3&Kki<5A$ zu(_w5xTlrN!6tE>U@~GD&M3i&94i;iE5?}{t1$vM&u)@*57dxBIHmPz&fF+1E*YUC zbl#a8x#-@>2OibH|Fb=krSbu{717J6EP3X}LbvhGZ*;c3d;F4I$6*Vf$+l;PRqVGr zfn%lmolf9bm*3e59K-j6PT-CJ?x9ZNp6LXx7uu$8@nbt%9bJ zy(=T7;i-%RJ-xjvvL3DiYcL!4g&Qu1qgcX^#b=4LoNz-OUYjQ8ETSvA9BGcwcJYvZ zg=X^Y@XfaZh;`6h(Ah$v#O8vg>U+5AsKUtfn(14|(J=xuRW6d-E3T>J*qE-b7oW_O zS;3ruqX%|za=^(^Td#RE=uYxuID{xBFs&YLVB6zANASu#6FjWW+?o71xg~t_jS@?9 zKr!REM&oE!X7#dX*z!zSg;X-GNyS0v%%>V6Gh zJ}L;cBTUb>!NWHhmi$*a|dmO zl~0!goq2xiazktm(427REBAE%SQkV~3(wSm1*B z6(+|X>%xK5z!VYd7x(B@Qs?ji!x#kzUo?){56TP<0c1Zca)G$357mRr0f?~~n56+u zwnJRpX1>K;1**mzq7qx}_ONTxI=jApbefIVnfwnuDI6@QGwg!alLuqy~M}tSyJ4 zHO&tY4BHQa8#z)3426q>`+@rvFgb1+XQe5);-P{2n}&fu446eOj>;;y5hM74wuXDw zt^sD|QOYX9KMfySF`kJdA#Oucp@7p%F#Oi3zoP;`Zmv2RlS%O+qI~fv8!=ot`eX~> z-6EU>a=gA%bLgIbHkmd^X6NDoq&$^m1CJ%A`rE$HmniKnr%<|4>o8o)J(GMFpu8v|`D;7>Rt=Uu2 zQEVFWg~<<-pUG}_r@q59TO(NJiA!c$=m}0EgitcnmUB&BD!)yx%GC{6lIcK1Hd2CBV=`WNV~`WIEn8Bvr}xqzib7EJ3%A);rh&i*2!=tydj*}pC7({44sVc!PO$kw~@%n z>Rs5|ms(SpT+==&8Q*bM$G|4|!|Po5uQK_n{71?rw(2{*oveo6Afj`)sxdsgM*)(U9n z*64kV3gstD7}@?s80iru8@P7f`jwWhP0{H-QNwrrc+<0*6g<0n~ZKuUFaz@5+?j))vl&B8)sA^ zVpvT$o9kKkbi9(-TqGCaETI$VL~r!Fa?+OB$+xl5e~+8o1@`)saN`*euyc-o_+F#d1zUkfUj~;zwd26d@Wh>uvgv?ZteWE6 zn$~Pbn47A8)Dhn`vtsrfrm7o=zKKtftz35gvUKShEdX|7BF0==Nmv9xBn5 zcx$S@&nifAt0kMtH~N&W^)e!(8=K;{H?3)Ds@^8PZ?DH9tojc4Z^Ym^PF?s1{9V7M z1>VJwdQ#f_n~Tu)7$EW6OSl&QD_hXTa+Cac?17Z)_; zjlm*bj6B?DMjnulxX_3i9zuq==~~EiZDdC?Roy;;V*y(uxI_H$*6m<1QuU+LRJwR$ z>j-?GpS%MhYvuk3MYZN2W=PA9_>cUaGH?xhfNF|zQL7CL*^jYUMt9=ouK3>A5x9g6 zyMkvRe%R+L(HjMOj%+jhjHRMoD;(>NDo@0jI)7ag*Z~Cf3~U#E-1cX{z36@{|KA1+9CKY(8clgEbOP;bN)!&>U3V zMsFn^obO6*^+sXn{9bWvc^ey;f8*UcljP19b znF2lKTr<^FHtBDBhP?a}Sgn86u7{F|R@R5^J_Q;f8O*LnJFy z#3(_YUr~@BP1P;oMvl`+eVMNO*ndp|?kt?C0^=!oSOwoZeG6kT)+9a;iQ zUrFU6M6tYymIGK8gCTnIc38L}Ia-ny>;Buvj4ND&Edp4)-Uw@_Y1sPIxPs8$`j8z6 z74`Tx?2=peImqW9fSiN)SZ(vZ0;#I@@rf;Hp6pFlwU3!mc+GEoG0H<#RDqn_ZHgz; z@TYK$Rj6?cp2fbVnbe!N2kxEeVWfWR6+vE@H_l{M1MvMth@y50>PmY5VbYS*Z%P#`d)ZqnePDriT%rT%5_(hyE z@MJ?*NAfuOqdRHJgvaz|7d78u#%Lpl$-$;4E~>&)8$-K6sV!@1wf(}{PC-tx9gI;x zQ0niuL8-sI#!4kP7N)Ln)u-~#0;Rm^p!n^HIEz53?Ds9T1JqGs8%8am5=VnlR|bR9 zkj?<5xZ6On6M=m|pwzvspvDM~7e+B{aDoLW4L#3$(9rWlhcm_YC!kcKu#29d5pf2A z(vXe@r6HIF>THqVzAtt84p8dygP_KW?JJ)i*`BfD%HyEaz2`w`EO&#ND7Iw<#^ouX z)aBWrhQc=Axe%0U&T5Oh!QyTMr5g4fi!)8;VcKNoEQw5-;O;)0ReoQuc;vqPa08oU ziOs|87d^SA1v|qklb`q+xYg~+X0~x#fMs8zDZa5{rg2kG+g9SJjPT)uhwis1|GxZK-=?ZR z^^_Z|wHhqQ$N?Z|qNauG+Xyt|<5x%u6r-J%d|d+0%JCbpG!-L1C^lgDpu~@EWs?kn zHdR{QV_Lz-FZChw&=oTkuGiR&&ug2ZiI7&yp?coyrW+4h%WNUF4SI~VF749$S$kdXn>yC#&Deei2d*0$YKxx--H1bSK&?TVM57vBY z%dfbW;Vq!F%)J6i%P=qG)DZmJ+IB)VQ@=;Dp*&+Za0Fsa3E^<+#iei5H))a$^70g1dW?~8bIVojm5 zIxg9@&Yz#mgh<;xICBM^k!W=FX^_8z4|@vx;oQLNl#OF841Oy^N}W+{83;=AlwV-gsw!)HiM3s7 zZCSoFpErV1?P~{hJbn>p05n5+Ge9ZM1~PN$wib(=_}`h@i|#{6 z+Fn9k($hGZHzwM?;*tb|Ja>V7;m#oqv> zx%y8_As1#>BwuKXe&+RsbmSm*DEdR6Iq@F#Ii~!eY~@{C-Fyh7&%#fylF)K)a&uVn zwdC{eNSjw=w;+cSM=3p#lTg7Z!aFf-0Ql&@`ubg5Fb}9N>zQdVJ5Kt9t>{!*y zROR+oSaiwOy=g&6F;$LKIQhb+_xo=8vS0rflFudnl9Tu>^f-rt6K~>L>4I2pswVH+ z_cwxpf~BPmr_RmBhc>e?-vHHRkt;?K!Y*2<$~b&uOi1#QTP%sH!56(Y)ur_E*g694 zp%&ZvZLh9^x{VaiA$u zktSgrN9G_undh(}J4NYg^UJRD9Aw&`%-*6RTi}jU8v);OE_b z$q_FM#Gq*Sc>Iv>^5PwCn8hN6Le@veQSW~AE<~vHWN?oFp;h9EptSJtU8}^&p!kc( z;UiOox&lvaZeDF|uLm_%Y+u7uE5gq~smuAuY;~CjcB;##fYL%c0hE54XM*C)8hit# z5-UMzQA~o;qR9Q>`r-Z^sB=YP7btbFr~Tv}2}(m>0!l+a4wQ!e9BVrVl!ktxwQU5Y z4S{chQh)EYyoW5$R14>^T1dq)l(`$>!ARg9{kKv7{a*h)s{bD5KlXM_1yX>_6a8{C zt!?SxcLr)6NKIk8K7Ke_y?&`XTA553&KQeOv|SHkO1NRG z1bA<29I9)Flvo5B`4!OOx|oZ;*f4C0K8zykCaIh@hhz|W;Mnv&yx?Vi7QGo zDp_hnTfUISLV6U1u?KA>!P5m--;*lun;OT@`S>lETu3dCFuK$We+7Uf^S@$15wk2j z_7^q7Ubc!}#mPc#YZF(YO?VmmE%|UTY$Beg%@j#F<}=qJB{wBD<)Lo^my_ksq@sO0 zmiIz(nmUPTcs|E+iW6UUiFd=11I#MsUwg8k?N|(#^p?(0yVnG`YlosdF zptP#0u)MXF`UxmbC`BBe%QQ$Ro-tG*6ju ztW=_-%UZ2K{s3oMKgJ{ZYAVXJXiOD^?@_p+85Wb1YxdmQgk!DzS<4UbN0}es=jhOf zO;x+KbT>uWB`!!S-{FQefN{Jv)+bfoBHaYjP=XG`$F{|9MG0xD-tLVOK%36BdheUJ zsF;IBB&KAHrm~2RGy!E48plIj*jR|2EEOg{=xzBDy!7@7+q!z_ihdP8lz-CDcwc1s zk!*YJR6I3n*xXblx(Jjec>^1v`7o2xNk5-CV7z7 z^8JbZlI`zgZtE8iLBae%)8tkNtg45X9eu*LZ$zbOWRSjbbUN_mX#lwO@AO3TrS(@n znsGNGdH3bUq=UAIZGqO`1*{OP?|_lY4OTbMTi+3Yuv?nkYTbj9S{gM(yQwai_wnSI zwlX(FZT&0^HkV7NZ-u*UqwR>XNdk-|qZ*O?ZoLzf=*PG=j3OhZuTn-;rarB`hdH0c zfSVBH;r$}KZ{<{l)Aj(z6*QCiJPE&i8Q)VLGkrFG5jhEBj!-|vlYN?qoLM|qsNdtM z5==m){sHO&vHdrmtm`5U+t6Bj^Z}(f?yjeDMjX!GR10;swLKry#lqv*hbr9vfKr!d zUA4USOq_QysjhbM0uZMb8O|}lupn`5$d3ygIXih5-pQjW#4leKz4 zmDkr&MV8_SgW9s@R_ats4YkxTOO;vb3`>o*)I>{7vDA5%s<6~7OHr@XUuuL>mso0n zr50Igv89$a^sH2L`DhPd`>9H?79yY+tWJdje0DT15+^*o1) z6t$o$es5fP{T=z@KVFuYdUPYj8?DyCc-kBj+S&Wfltw&RcAMzC8Jr>j{)Bm*2J2PYq z0WgI&gnv+m-r*PG3NZS*?f4xZcxQ(E)?$obJgt_dCw{r1Cm?kgsINUW=mcF5O1pB4 zp_D&QiOmhI#`8G*UYI#yTTe+%KZY}MxgjWvn5z$a>^a|}QI{*2fXl2)ymKlp-aO=w z{&Pi&MNTk6{oPH&-XbL|_dyOuoU`7^&Tt!}4or7*kX+?#Mv54toFBWXL9TMR!oe8q z37s&0W(_U_^*E$24<&m1pn2qTA!G5xc<=?X1KF20}~FooVi?=9Ne32<@Ek{+0p0n)OXGr7^9fw@s+G}#ki@uAZ{H}slR1} z@ahcCb;c3=SE+aOpX)OJaUR1M*X0b(8yPO2YDDl~rT&`1nVXS212bG+lfmJ-1Y^|Y zXEJ<0!T|7JG52P0I5%gEVnzixSr$RtmB&VIC1Rj^ZR=vSOStuPY3(YPGjmqu)M=Az zVrUfkxU=Ts%1Z&sR?P(^b=(%bq>hKQ)y!YEG{%j#x@!7A0Hhq%Ev>_<>j~q>*C-`B zh-33EE4ftpGi#PDT)2{VWr~d(9$|>n^OxaX-uVIF3`^YS2JB0(iq&EtFFl#JV1aoR zaaz}LUvS;Ry4n>r^DhO?TJXZ(*dia3r=`^_pSNNqVoBtDL|lTUcekf8&6d+3bo|s= zHEt||7SU-{<=7@YD>~8VBg2P~EygD8*a|mjhoL_QIOHk09~iVyFcrg=2tPPzq2MLhyHs;26w4GL zH+gH9&aYWH?@DZ{_L7bJ!dKK9mW{oS=jxV^Bc)Z}CA!8x6x5Zm6>;u^a(&b|*DjkM z2(qLOnQlTXLn*pcHE!NY*>S#5)viYNIElJ>6g4||T-zry5=CjBddWnA%Ce?4%g z4;!XU6_?4r??hC@JQMZYpS!=HR2c4~D?I9o3BaD3 z)Y9ft+)#G5t)b&%fmz|=Z1{!+Z;?G67S{mt3pNB{_|a7Nf?L)p|B8ztPRs%J4eS7J zuZv~BBHO-!!QhWTVqDAwfnn?3w{HO31yWU5(uT$>CeK=kz(`YdGe5mdp@?HfqPVIZ zv)5QHg9+?#Vzd(*h}o(+*g8twd;psGn5$zh;$f&*8-OO1E3?(P`w*3H$N7{`8GGcQB0-QEdqpLWV!EI_E zo5~Rx9#)EjAcKULu(llSJ3)BtN>DxQjs{IEP8s-8iX8+^DgVBQ!I*TxfEA|lIj@2p z%TJ$vL=gt8dSe0l@?P9i@V0B0_!1ipehzH$n;7AH z1pZ-_GlsCj4YxyE+_epo5Up%qW2z7fYJUY3R{!c$KNm~SsLxM6-?2UUy1SZ~TU6&H zpEr}!bngakx*apQFx)g71eSGfdOs(3Re?8b#ud}M;9-5o?6#Y+BzIF=kHov7pjGb~Zrgj9Z#x*d*wq>()wk>#rHe7kUZDI7?~_a@M} zOs?4(zWFx5Q>zM!JA#v1^&x1~4p*Zvsu*qKvj zm{6KsoR8a#(M2c{+(XoM+Z6>^@x3##x)2)+cC4KW8Yf{F<7&HP)!s_$0#vFVaWL<) z>Rt2DMj=(T7puo7!+|lY3$J-LNWU-x0$!J64r+?Wn@Ke$GLK zxy-g7hd}jcdCbzeS=@XXV#a}yd}l45tXCp(QPW_dm<}8ujX3OPoh%fmVYJ+F3CtEaitSz`|B>(rz?C|h#ppp6jZWaQz=Pld+ChgI#OjeDVH$uF;cpBj4Y zUs zCkhkKyD=BYz}T%(uq#Nd?u7v5#16G##`zQBrcV$K%RyocOMYJ5;g3Joqapq{qyyg< zyK*8Di23$Z^{&S1XTlAKFplv();-3w;ZrD|<+T0{Z^$>qW;XW6)MF*-4ij@OJ6V7U z)!B?WX0&asf@p7`SoN;t=gF;@(L|ktINFu*5nmP|pr+zMtamj=pNVxdg*GqwX)70~ zV(MX`KT!3B2#E0wO6uXGEr~UI@zpsLa4shaHxz*4Vyx&+8z&qDvZj6Qbl#@9S8GQ* z8HZWIZ7BZ9t`b6I8mI96>6o0Hmx^vnPA-^`*lH()^RRp7_tyDER9ghmo5{tV#XTt$ z3x5#SmK5V6PS<~&2+~oCwL>OOsR?ZuX$Z6CM+L=UgX6}tcTEoL5NCX zE9U(>M%uU(POu1s6+wL03lV1OO?KtE%Fy^R)*IsUWtLoSMl4RpFXFt5CtDV{fDun^ zRrElzsx5b;XuZS_s@h&|c{hX7x{8BWN<9TiWnZ$?yP(vM&q1jxU7($c>kmq6G7d~D zRRKzITzIM>NP<#7eq?QVEtX0=14`Zd6R2W|5eJdjyp1?rbB*l)P#TsApwy4K)^?$# zc<~II?)lDDpxCm;W&>;cGf*60jyS)!yw@!C0VuYyBhG%y<2LCL!aKrJrsnR8?;RK2 z6i5ZlrXzNKz3gqUxshr6prqF3RQFmYTp|kf=#k|XENS`%c4=@ zZ+I^Ba^iDr#d{mODp_P=m!o>e%G~6~O_OpHpGH=7e@s`-Y+7+7nu1z>r4rlgDk)0q z-W0atV&N&4^w?Qytijne>Y4b&#Qrbihxin(4J#k_hR_giPrjYllAHK4vMP*8NiNRW zyRr)xulH6@%*1aYc6@%C*xXlUg!?1>>~%$CPl#smFD&nAP@2X61f{CrHdN=#<~of$g;cTbq5M~)DTtR@fuc@wEhYB@P^|W-o!SkQLs8{{pVfc$EDWgCCl1QO|8vKbcABZ zqa7SSL>uXM1260^;yqH`QlpY(SZUIhlPa5@=;*fUgyM~8{5}DU)A%yh1%@X+jcvpd z(6&W@k1I?~?bS9s)$Q7~5q@{$`TNEd_KMf0LbxNQ?buW|{g&_Vh@FXpcfN?9eM9-j zNMkf}%RfekW-#jOfmm4U-nz>hw+h=1OZN#~BQp=5x{`}@k8a$z?(c06KZ=%52VD6} zaz=qJ+iiQTabNuVZ7;2Z4@LOpJGbCjhF`?_3!bX|`$6f1ZQsj5evaSu_;LP*3*&fI z=m&VG3FD`;lS(0qF0as1(hL?{#Pa%Birtw6et*Z0og4?Q-{I1H=a2R@oQ+Z6l%j7+ z(Kn^&n^N>mDf*@q3%^oDmKta&|7Zn*fq4)-tkD<$NJS3pf*5k3*}hQ#L*0<@8)}V4)Nv(sV+2KMan+|bqKiX z7v&%5mGfv<8L=R`%ypT0hala898ftBB$aTV*eo+Vq&(LJfn$^tDc1r3h zLF+^Fi)$r}QO;QNivP+vHG}il3{Hm$l$H8U2IiOy&dUL*%sD9vypE2Wt%Y)uWGqGgPdyj91Ttmn#N zw6;dZNDYcj9B&MNMXlu3ycH{Og^7+4a|U49r99ip9jwhZe?Z<>%pd67jnP)mOU6~E z4bq0uWq?{e#?h%)V|-dhn(Imya5~8w*!Il{W!N!k-E(q8n8V+gtibGs8SXYS5D;|- zr~?DzWUIe+TpXTzU~x6w$_*&kH47KdyKH4TUi|cId_(b`!(J#P2;M7BoL%U1FpGtk zZQcO81UfJT?{b3U?{y{fRob0ra^RE8@#dJ^k#^);XGhvghmLd)BjQOztdnr3JgQX= zA<+20UCPOP7X4q0w3iHJg=!7Iy4z3>n3|DQf{rK$Pr$hZWrjV~bKK&8xW$#Qm2C|N zGW(*E=UvS-*1eKZLzSb?b@(?5m`7b4zjNYmN#I~0=lkIQ6PQ~GfFWFPWr1jjUB)BJ zh&S67Ps1(lrKRD&Y$M*Rb&o)PjmM9MIp`npuEGfky6&{PncoiDd+pjH4!2E4l3}mb zc#PI|=SHQ(+2}2ofQeS(5vlXJS?Tb$5rNS|EXsa1J|K00?7`>fbYCt`Yk3evYGyCv zQhY<(6H^oWyM(WQ4;E-UoAY5R>pSMyt+O0@yoIYWk{@Dw7!HD%F{eJK#z5J~VkDMD*-O{=M4dzPY^WfIkVS~8#sdp+7*W{~+?MEiIT&I_O)q*ily?XGN zNrh_$=m0f_igK41c-s$frcS$A7L3e@^}tH=IrX_bDb=NnF6F@>TDA>4yv70yzf@e1B_K5OPk7dL}HQ!j@oj~8}v zb-dVK2}%b#e*$WN@SX;x?!5?#r9I-bfEp;&q0sIkp$35JFBH$SR6oX8Ti&yEyx6+E zNSzeXgI(A)Q33y4NCErRQ@HneiBmGPO(c>R4c4Z0-#M!Z?#n zUR@Rq5w~a7iZDn#i|{`pLk}98iFkKY43yfQ4@zV6HEZhzT{_2cYDQsd3QPRRi>o{4 z6{bd{rsd)7oYWDCEqRHj^KcjGsuNL;*_FbOz6oN1drENIi1lS%;yqJ6A#;R|4z>+Q zRX{9+jhNuZAIDBZ_;Pe=Y$TZv+6*DOyDz|zuB+IU!H*;H%Xh}&sX2TOD9yuaP=oM` zIM?BMf>0cEXK&;D9LMrYy z-q+(tLrL{VDf*)n{ZWekD8;8ztnro7@sN|8fvf#We}9L) zoZJx8hF`!XuibWW7u(-i0}c&saziZR4A0{JcR%3uJ?p`t@%o;o_s2RhH^lEd z>t?U-*;5nG?R&!7`6nMR%+1`;_wnQx{<3pE$n*M@e+Gx9K;rI?1xsRXh~H{bXMOGR z<^mgwN^oeXZNVHQ2Ve87YaJ(woj#DHF#dLia%$XI&{jFjIb*bUvoyZMFkH+f_FZ~6 zXr}wSJn9bf!YkN{^qj1}$ zNe^VuLc#7zHJ@*R1w$rjxWY%)=wOv!r+W^=-6Kk6jSk0TaMK)AmgBE9{@O`7na}@| zo%yHg3JWj>-b5FpkcJi~$~1kzYsiN9ny&Uay7hhGjW0GLDZ)1F9K zpog&%d{lAHNvvLASoQ>0TEY*THCKR|0SsIFG}hnZ;94WrzT1HLmNe#kJ&e*(!$j~u zJ+kyL_?6+U2zy-j_%B-zgJu0>RD0uD^}#Th*>J4g)&lc$7sr~;*AuBoRpG48FTlhg z^cOAsk9I(AD*6SEAJ8Q@?4P79Kk-^xYH4OcdP#=`4s=0t1xI8)t4-YSh8(OdVG8p2 z$m>rA-xp`3Wegw{ftA7v0-kL zyicH8b?dD>9aPc=^B{C~OJu^B^RddJ^>YLshwJoq6D};r^d!5sy~f_pewV94@n>6) zL?|j-^YBb=PgUX&j&Q?1#y;mh>_zJjwuB)Of=)B%%=i7CnT zEC^q6Vcm&IuG?UPnPSsP!2Ai4KHTsfu%(j{a#yS*KMFS{z-$|q8qd`gSEt6JsT^C$ z9ts@8Uc5zZ=U^!env^x{z~KPHmrTCJ%ViVW0(TLO?Nmm*bZ;Br_3_|VUlB+@1i@X9 zgnk>;L3bW%nzmu#)VO`C%RA0)g!pj6Q>vb;M%^%q;}=m|pghhm>7)G43_3&oRojuDCzqH47@tmU} z&w|(5*YM^Gu>=rZqK?>Ma`tQN1noMXgDJv}-Sr)k0zBI`-`!#wzGEY252gRYGmB0% z9rHZAVHy_Nf5+2B&#nI~6n}pGl)|xXe?XEz0OuJsP035_@4o5T0Q4ll_`}&umRb*rHGjU$y)ip< z7v?EK6~pDRpqAl3?{eTmB+ku|M^lKO_HC3Zuspsik9`}Z*h5f?-w>t7gW_)rew=@O3@#s=#NtLS1HCq zDW;%OMV4ZzR^DJs`P)E9#=Lu?hXCG^7guE9P)jhTi+F-7?7W%h`ej$QFTD0lvEH_P@L>R<^^cJEG(@TW_~B`+!8)ddeQ~3V({F*#tKOnZBTOljW9- zrF9ERFw2+TXAY#P^elCM$MO|RJKJ|G8#dH8>%^83dIK01`kI^h{(948W&Ha;={uGV z3-sY8z}K5l*k5FUhhdqJKHTt8@@^ihVb2p&FJz|&hCN2@6BZ8@hWpqLot};gVG5gy zF#MtjZp6@lgZF`7hELFLeuiLJ6RLZ-$k1ol>O7&h<6Md#4Vp`eD;ZHH4EJ#{{;vn- zZ5PKnTih!t4&ds*KN{6|f>k*Tqpki1VDc?~#Ki~@k8FKH*4xi!;ChYq*N>F%hTk7M zfn&10+6f%1sP{U7jV zXP+V>9Nmvut>QQLO%Acgb#b4jszMB*;7CQg^t6w3oY^ewhhM%dp=5pNn{Ia3uHs}& zOyu?|?m+M6aGh`JiF+}URXbBvSl_xU`6AY3V|zmQNlqCZg8pgZ>O35*{tLL4s_KJd z%6Wgn-1WSZV) z14nx8b8^CsVbF^x-^yb$giHT`N3XGO@^v^WH?~CVa0cD`ChSGZ%=}`sB7936+}2fi zaKWj}wjKjntOAD=X)&FE^!OE|~W^g|mzMmcKz1P`P}ydd5``Fe&2^!^nfB#hj))bI=)AB&?^ zanlA!I4)6x4{#nMF%sgtA;NK=##=#Xg0WXRBajM(ty~7pbJ8H&0=Kx!4inkuaUy#% zj?U7(R#z1G?KLt56(%Vot@X&+^`pDQ=VBl%5ex?uHAQ#u znEt)>1zh_piFYHcWISv&2&_ur%@u1GF>$99VBv6LV-A)U6u;??_F>af`R*A!ZQo5D z(N1n8^u|FRwjX@iCEW0JSfF$dw)rV3I1g@TrYq<4WhMAA;p;gf$+FCz zVJ5OaY`G&5Y1)pZ+sp02qLEg1Z{WE}QDkhFa3fFE4Z33W#1@t<5Nu_qj-_1Z;ak6L zUg1>>Xecm7Vjd+GZoC7}Rwe>g!5eKYXuB-%HaCU(MM{>98Vg>&a}g+&SPP0{gZU1R4N@MD3Ys9i--FWd9fK-{&DDr= zx?2_D0CiC6G7kmR@Nql!NRefwr0#tQN?qxRYP3>pc_5JTFjnHGS{W#f+gaB3B2e|> z?-Ed#3xykq<=8}o+2Vc)ir+#Ur3i}Z9C3DmS}fGxKrIpKQ&2|<)w7Epi8ugXtN=!FWNJDU&Nw`pwr zOkCo1Vd1`~G5)^@*@V?YBlc~|3pcL9%S=%*?Dug0n^FM%UDvDidLWW-izI8xR99@h zvV)!2^oLsks{4d*eg=U=Bcf?_4$G|l5@5{>j#x))Vy4`+`Ft#^IYQ|wiig0-gw zP!wt6t8AL)wy={zTBLcelRl=jet2?I4iN& zth^xk8N=boB@Ev7>cMRz_dT5>)q&Iz;fc@8)DLT>lML=H4frDRJV%|en1aBo%2$9I zf?vLzvZpG4HQtxu7jf>ybGcBggn9_|5}s=NAt+U;&p@fdg^}Va!SP|0m;g#8E(WFk zE&#>uX}-gGd-a#&K5E+tN(*9>wdIV4y0;0`Ad%ey>Ug1e3zf>Uk{K+#-JsNEoeIQC z#FxW2G{G+ULS>~{O~hLA8n$1d`JZfZAOo!rM?ZzyhbKl0M1_+3yKRci0q`VmyD$%% zT{{8a_!H+yRvV>)d+Q=?C&Qwrx5E<9e)Xyn7Kf_@pr^MtCwEF?xcJSsf3Xs{0zch~ zuPJ&7-lyW1FLCj5NNsO`&3R&bGoCB((V)HXYPz{36t-3^Ox2%b6LSQ5BswA{R`23 z2fwTE>x&Nz;+8ez8Kix`q&)B~PyZ7*;;V{wvW(i*( zE6eY&x>97RftDI0EKHN{da&WfwB)GSM#Z>ftcb%~`G zSc+<{uCNuM6f0(>Se%ujjw*GHrPf=j!BRI^%0J+W490{79@gl~e{-U0uIqjt{KySW zz!MES=iYt)Mx)AjZ6!hT-sRZsLNhYi12($QlaNVcF01vns4?eg1QVF> zDg-w-Wb8+-I_nDGz2_pM?d#wK97e?<#n{o@_PeQn_1}BWI@r;pFav(|1UEMn7F+ZO z<__89zxSNlp=%3*ei83&kR!%-gyoP@GGsAFP>P>2@8HX5Wz|3ZM_96U(B4N-s<%kF zO5pHz``(iBHA8S3*O1{NC73|Gm;<>XrX9Unh$Rc$^ zOhAf_q1+IMp=nlM^>FM6pOj9P2qqxK@3W^-T{d2obEIENltVB9DVE^e5W_$dDqs1N zK7J`t4#5PZ*cbEC@Yq$(%A@>Jq8x$=NF6OwEXOo^Ca(Vd(S9jW4#5PZ*c|ixDy%5{ z_A!1bQ4YZbr22}K(WtB5{@I|uekoB7!33n(vhg&k`)4oiKGrWK$|0D56m!Z8;XSkN zx%oK1lqiQ_0#Y3R%?(LS18UU%f1KOTFD1$$n1ED~NU>I=`R+?c^egg7>Ba6vunB5! ze{y6oItZs?>TTWo`=vxT1Vd}5pPOvQgZ65Ge;rcLL=HwHGA7)~{XL7GYt(_$TzAM+ zvLyqwU=?PH$&uklxgV~T6QTu0Ch_*%PtkL z4T#k(IDmv}5m;uRL8x8r$b>#7^Gjl@&EcwEI=F%MCiX?lT?jEbIt}NPo;US^=)_r5 z%cI=hi{oC^m#SG4{Jil~r`IfqFIkSmU3ti=Q$vQI#)f5_qbmOJ&{rhD!7lF?Sv`}L zK54wTP+{@X^mPjKTmrjL_HnzLjmcfL0&#bJ))ZQ}a_PJ!fu;NbzD+&&EP%mz#QVXHm!Tbql)Fr=K}e$ z?GMc8bX@6(jPOkZW=SS)RI%|C|M_XW7MLHTgOZqCx2T=1i@@husak-sB>sYu6_4$CMX z3xG*v;xfYbZD4+rfh+cBhv?r{VBSi{l@yOmPrna=>CV22KOUtefkk6XzvF;8GZPn3 zEavYFV3wrgN{ap7O8Bk?=Gz&#p@G$J%->%CvpF4CT3no-zdM2XBojBh3~m_1@b!SB zC(>aUn{UOzGnJXYV}O~Fjw=~Dbc9IigVwcptWC!a%M9N)fq5_!ml3`{0P{{dZbWAI z{sl}A_WNLLJW7TKJ~VWuA24MZxRGW4crbs@1LpD!Tv^~~3#Q*XVD3!EmHJ)N@9zV^ z{2?7zTsG2=WcXeO=A(36=}_&H!JdZU%SUf@5PPgJHom1p1BX{Le4~J=O2-u!4--N6 zaRmO?0kbXxH!6@H4Bu_Q{4yPflRW(K=nvdRVBX2Vl?9FvnFQRwfEmMp!q|9}j0hYJ z!uU=HW@!d)WMJbSt*^u5hZ(pLL(|L0L%_V0i3_xIX#E}@A@x?mel)9l!%9cN&KSB^1>6;1;T}I%U(4!VX<2%G za4T@X{0jFtsJ9`jd&2|mA%^b{z`fH6_u8_$H>}LBsC4f$;Er%dwGNbiXfioPE(W9+ z&5vMvlJ1oPH~lNzzQR4mcWYMn zN=wtz?+xJgeT93{ykVj988`hh^7nAyie2o1@`L&^CaZhJBh&To9N-pyg?k*jUY^ap zvQd8Lr2lahaCdx#dmP%nE1P@8BLnRN=EwcOJ^K~zF}|;4cP}IT{sP>WU*R4HrwfYk z@EOSu+}+?~Nqi$kjx!WLngitr>zC0*M0iH?w>aP+<9kjK@&iAb1G&fYvAl=~&uI99 z{Q$bRrU(O$_|Y85J?6(xiiq%xhHq$~okRB?EW&zr{Am7@d#@D<#6Dd2h7Y$K?XSKE zT&TY?59A)3kv&|D5m)zyXS7d`2kxvi_f8)UNs7}v7dd_11suv8FBOWTB9*nFZe;(k23Ay4s6LLj%GUN(A zsF1&OkRexmXF{&XPKI2;2Nm+y4l?A5?@Y)Q*~ySA_@F}m)}1Fld{80pcaR}hd}l(g$WDe_!5JZMisGoz zdfj<~_M%xz8>wy%qkM9%K3~?C%>ZSaX}DeF3pqH&lVp?42p3`9YHzG(#eqpU2`48R zk~X5A^Uu~Io6YKS5vWSP%WgX~YXflXK_;Z)vnS*MTE|ll(hJ3VUdWU$m$4#V?)o*M zf{#9UeHy=fNAOj%CY9+{dx4piR6!YC<@byyRe|eIXN?JUhzQATNi}4YJ=ZOxBX4xg)gs|vmGnDD>$ymLT z<(EgE2^*g=j!>wV2u++iv*NsQb7x^WxJXnC_Q8pAUny~fD^VGpFl&0{TsQt)e3gHa z3v>VZrMQgSBpOzRN5@SQP%vQV@VaS2k9csVD>93#$qyuB+@Q>0PiE48l5s;Q8q34T zTz{rdm=(46=T4g#<=DJ;s*Dkmm9%)Fhr>kJEIzde5Uc{2@cEK@T|G}shSnHGFp>64 zlV%@#w8+sXb&I13>4rW{%I?#wPI)rHdZNz!A@qFcrO<1kw?glRT0bZyS{ zIk)9}H|MULpXU57XJbxt&a*lGr6O|?)O{wmUNpkwIP6;|5AarT zUtuvtGF5>=G?zma)oVN`)sb`i4c;p5+bzaOO$COAt6Onp2%eNW?wtOsy%pM{!J)}_ zjMUe-G#f@&XmhHFQY}9^eu=k2`*MphQfF|i4~7{YjF-1U`$UT|QkT1&ZX(4R%f!oD zp*`DTjMUHFJmPdsFkapY?K>>SNd1jLgJCk|hWzpJR%q|A7$fx}n>8?0&|tiDg*NRT zu^1y&;D(tN!Tiz{+LZc-D|LuXc^=A5L*Zb&bcHtUc*q@1Pb>AX8)mkXg7MN7+C+cX zVoV4>c0&y1iD0~Rg*NSmS&Z@PyKb1-nh3_r+kw<*F-B^O%Q;-6{CcP>wCUGF7GtEi z#g2w0D;O_bp-sEZ7GtE2cEfz6Ncr_pS7=kJi^UkJ{Zv30R-?gq=?ZPyy<;&(YKW_2 z^d*>Ix$M_7!J;#Zi4jgMfwbcHtU*!ZA1+UD0pSI5}03g(xt&?fp6i!pvZ;c5%h zJQy!sp-m}sC30Wu*ZZ#2u_EQqFI}NcDPDd|bF7u(5wtXHd5B zG{@r?jMwqjuj4GnNUe3lJV2!UdN{yJ&9@jMHQ&{ifgnBIVDo zK~`$L#TcoxLx97afL}0PCs?TyEyhTF&DF6JMamzq6Rp&x7GtE6ZrK?uQvP@iwo=P1 z#z;Nwa!wK{f4okzQukSmk$MGanv?Mh#_MD&^_U=tF;YF;FrOk){&<~YrS`hte>6T+vfnPAcMp!A+l^*R^Za_}?jDavtzRi0Cg>OQ*V|P$YxmY~O!E1~T18KR$rWm`>&|4n zd43)KYW&2>)~}g9Owg|>BIQG#dED+kNGe`zs?gW zQya}(UtD*d&o9<{dH{s_WiA>h7b)Y{FaEarU**=XHdi-@3Hminq}=9+Q=C7w&orN3 ztSzw$ff%8_#qKrCbo{*hI%mqtY16G=jXq4!uL_Z3zk??K<)v3t`21oWi=_$psb33S zcV>_iGVw}GSa|;o>sPrC6ZET6q)Zxq{MX@gD}8>kX4aE^)UOe4Ud$9Ju8S*Kd57pkK2^%IN$Z zJ$@CQ?ej}_$O=aM`kw2~oPb}i^uF-eIo7Z1eVCwM=Zlp4*>-mJ**xxizh6>u2uA$6 zPLtA^8}RFs?-%9GwSL8Yn4n)5h?LvybS`@1h)*u?`y~~JV8pLBH{UM|_;u#G%hz3K z{d(Pp3Ho)BNSQR8vFp0eFY@~(6^CHNuZ^xd{EB+{wdPxi-&I?`?)PDWeqAh5Zu8OE z5$f1+vEMJLI0Pep{nSmLnt)%ik4lPatY3HdFhRdA5h+v8|LWcmC71a9l8Qqxz+r*E zoA2{Ld+}QR;`5dBtY33|n4n*mij=80`otSu2!>uc{oM4qOr(roC)N(S_A=|&AwEpduSFttBprfz^VaG67y12?ibF7B zf2ylvb$Ijgt89Dg1$EZ1-abr@NPVXNI2i$#j5L5Kf5{H%)>TfZjwFzRiy>-!RsinvlYUHQUuORUuW zeoP>QOGV1);o%kC<}CGxQ0geb0Ea8zUEi09ls|;atY17ij)oZZcA(o5UJg!fXfQ2d zuKvlcyU1}4uq*sDAMmd)CYo1KYHm+|JP#YW+F zN;n-Iv{0~}bWR5cEfk!-kvr|I`fS!F2D-~TO~7pa7G;yHwTX}(oS=oeisQ048CD|- z8;hB({O%lU(9THc;adMeEDONM8W#`Xkz0KHlYt0Y8aUv*E1_`+09_W!jh)8zxs}G% z@VS$tKA093oo6Lmac1T<9q8vP(#*G}BmI0uO5sn7tKnsoeGivj_H7uw67GT1ioV6B z7wt5OEY=$4VA)QS%CJ#d<|M z4I8jfY{vX~x-w)1sBC(Dkmg$!Yn3zALK@!3R-8?`^e_c16l+UmnxlTcBBeILT^|cd z>ii!>zGl0`Uf_B=qQ6-Bu2#%ot3Ogcd@#{(kC{dox zG#iDdt9`mqR(lf@{fwrIn35rUh1&GUxDqtYM&U;3>q>AsiKvTk7TKoC-IUTHna0rvpfwU^d7x@2=xHo~Xs=C^T?=>+-O-g$}J)gbTp4JwYq_Ynt>5|Cjq_Yn(YMYYb#g0C-n4SnL zcJv`d%~>*}*wKd+(-R@Zjy@#!Rh!*=iBd{B`_PguiSUxnK1APkCKDF8_;3PZB8b4n z`|euWr03qj`|W87uf2o!*)_^ZpS^?k+0zm}dk62csReGUtFpL?o^L-ht-IoE-Rg6`x&Oy zYt1}`1Z3wddiejb=(5T+%jBpHl2dZLZX+~$&sB8PU36NURt#4ksi+b?>lXm`q`~r^ z(Tx=bA-b(!FXmreq*6tu*g2K8&P-KtAxr$LkB;(YHh}&GU`{aeOoR)rA->n^9MCx( z{0D<`{x!+mDqPiYa&AjFXN7n5FH+%=`3mUo0e7WYGO^)?3!wCo;r!HK_)a5dbn6>s z;!Y_&JpI{QUY&uH4?E*#;6iD3)<$zAcV=M{ZWXTLg+F@~mcpqnUr~okW{q=U60VKi z9SZXQQ`Wv?CvIJ>Elj{QI_(4B8d;ic@5^g-TFMKVl99Mmwteq~ayvz)`<#lY_Q(a! zYiyPzi0=Mb8#y=J7r!!Dxa|*{JG=p(ppShhBQ&9^fSXS$zkENg>G|@e@@G0~5Z(^$ z`xPcsZ!RroS~rg=mpsP*a^{eWF|J*jRE`+7$Xy{-h1|Ng^xoJn-(UVn$B?&1z@LGI z71iDC!%MpxhHs%~(EPr+l#A%_cDV6&xOhwb<}6;$XS#^uYNyU^<;XH~)y?LX?c|jd z@|x)NctOT76?F{VrQ$qE#W{sp6@~MA8G-dJ+t*LpHswTnNlJxY?a)4m*UR8S=M5|N z&Q}c2Bie|%CO7_Oimn;idUqBs!B2 z^bryXSKC~5a^*Rb^`!(7d zP=#$3EY06nn2DQ;p~`+NZV@Uq7YH?vf3N-d&JBHz>-ZP$(ZaRXk0GyCR%O~B;0dDn z-$TUAmDrLPW@I&d*dG2eSD*Yr2F|xvTT!SzI^Lb zJNWJ6KU5-afUPkT=$9D^n-$$;NkaGQzpwGz$93AChlMPcRX@u0laeeKHKmO{e@m6$ zK7JGv4db_uAE*SgeSEBWJ9y{gf3%b25D9iEX(tz!%{Nx*k}Q`?>G5A~C=C>RzX=LW zx#POXgwEA~lI#XP@vA-O-%t4M<7YdJP1kjX!j%Vq>+M0;J$aemK7NJ6SgwnY<87duO`>;o9XYfjnqAisTllf#fJ><_qv<5lkB1?s#B z4mZRIhEADQ;}3J!=BGHA{4TDjm+BO((QbCX6h+!d1LAG9ZD-G2dcI{cbu8?h)So+3 z{`|@DWSG+8i!>rTS>S8%qjmJCX|2oKm*ARNQAXRgcrG-ga$3vljde5~W*fz#t+*7{ zFvZuy2Ar{jhEVL@*np*&vog}Nx$~DSnA_HBZ=VQbSUr335T(vL#;2s@z8#L>P)!^@`fjQ%{*P{RC)XJwpkJ z`8}7t%V(b(X?A76Lh~hnu-lg`OQ9^eXZ5dfyr>X%mldtE7oE9enH8C9YE>YXr`q)i z?WIC%Xlhc6=zrZ;D$5u&0^AHiBSEOO$LGf)GY@Oj-9aW)Zqa)WAN>C21CsW$YRYGZ z42#r>iJq4sz#N~%McPpHpg}7zye^T(`PWz*$?D9JJTTWKaYG}uvm&eC4$SY8xM8s@ z%thg?!0c$`QWtK0q?S+grtS+&T@p7m_HPyZ8w<>X2FHIQGdIPp`8MY8)nE`?0#8B#EI z9Au6!0xo*YocoYJO3W3XiaDYpi8Yaj-XrF^kI%#~KD@Iq!vBucMX=Y)D zUIff>X=$M@pTigzkto{?Bqk^xZm%v(EyZ{X<3(8VIk@eRui{|i$$NN^mXwY+y50yz zXtQuZZ-u>&t2DpaS#xjQP~I^T<+a>h!Uyl>B}$7W6O~d620c649H{8Z!GpTcgTrDE zx|f&QoGDUzdmvR)@xzUkcuo^rEuLDUBVg0~VaaJe&Vfzy@f_F`x5nWvhb>jg6@``M z-9x*FnRsySpp=DEIH43H!`z1a<2ygo{)W5G4kKVy@Gu>oRm&ZF91gSPOdBhxNn zl-M~(pl6@CeUxJy+}$mmZ*N=XY0EQ% z>Kc!pc~U4ZF)!lLgXYfv<{{{Rn%rRq#E1U;DE3u{sWF+kFNaPrlooWeA0hD}=$#$L za`hz(4EvDyFo++;veBgRqu6&e(I0pSdW*x@u&y_8W=BAdLBP z^OApV^@pJCl{Eek^jRjQmBK~&jow^x#Lp`IA?VW_#)f6b3;bwx6C=~roS8k(AA%kS z3XNc*(fRJ6mSmZeG+VDJTN7MUr9?d_E%tvI3L8sb%5UBMjU)Ua=+^^`X2Ye1!WtTH zRrQCUmxq`rhHUNp1xC+Iy>EPYO;t|#1S7WJ7=QK>u5cr$KLouYz{GPEdkYt9BhA72 zZ+C{*RIwp52c@GJvg7v`Y3-KTYfyMiRlRTtCgSQNTsG$?eC})c@S3Uy;S!A4er(E} z--y4M>9IY2G>eo>4_j5gX}E~cviO{-nV!PhVvRc5xg1iJVh^Z#$`?{TKa--c@wP_& zv4^rrRZ6A)6PQ}lGcNl^KFgqdF0OzvM!8l;7&_fz0r;<&??#mL%#9ntJKRP1vUM^> zHde@vN8gbJyB!lm<>6hPf@uw$m$#kM>UTY+9Rln$?2u|ZyC~W_X;60Op)9_iFzPty zgyHt8glDGy_4A?9pAZ%7$?_nsp7cAB$cX^rk@m|yr8SJ$&xuldJTp^@l z6EI39q}Vv0)^_gF*0aw@CnazT^9JPF);Z@hMMZg>V^9UL-$Qp{_!v(!%v`b#sj}i5 z5;RfVF%nW`71tBf5qmPSYp>2jA7Mzo?JZN$9%aNxJL|@@hj#ZroP;| zcj#Yoo`>Gpi-tqokos6ZHF2CjjErBao=xgV9|vZT*e{j|{&tzgQ4M}^?xlPexPI0R#I#m@_sVv=P;`=b0tNxY32NT=jC z=ljSzUJlD|#6{e8?9DN6U(F}KKKy=HfAPYO-pjl8iQg@>)XcR|u;%!)TJ)f3T>Ii( zbAcjPt+#7GH2qcS#ge|o#$w)VWUqJF4Kn9jwY-T99l3I zI_~9HrNiyR#nul`9ocGYI~{87M$MS6hp$;GG}ha4eU%~iez5Csm{SvF8T5W_bK5g$ zVl(^IG&F_{8>OI+d*J)J5w)1|c!1~!zE3(#jY*Qd8S;Y$zTJk)FW>e@7&ISk;QKY> z51W8k+l^noUF$G5hVM&AR{K{t81)0+zc`HLI@$Q6179|ZYzPN6KmA`n@Ez$emTR8z zM+d$G@W$Ny$E1fI_54LU%gvc`v<{@uk|K>*adj5CpInp z3n^&ci{8%K&u|f;pUuV;CHy)S)1Jb-Ko5*j%swg12n)b}EFLdE3#*;WrHP`0ay=Gd z_;PE?pDR+B&WKWUP-4U&3mk;t0*Npfl-L#}H86=B0-?GXZ?OT2<2R1##Rm^M9FIS{ z5x0BAh7~f(NDd^NPszbV z@kr5eC`3}2 zaKS1lSHiZCKVOCgu?>}1-G|kySsU4PMWQotg))eem3IB7bThLg18_=iCfKivIUM_+ zNWPXml2wISRluA5kx4eLDy}$Y{mNITVP(-us}&^thu?R=n0mJTV`X;hkF8-!oA>={nBxIj(Ot5Df!JdM)^%P>LO3i+Q{0k0yDpJ6_`gR!;(C2spzh?>vr^i zKj{P=MR$5uUb}${fqd)%UsUX77>DCmmg$FQ&w@1^ohgTnzcN`;qDZ5nHH)rH1oPd+ z#(7eT>19%{IoFE4x)a7to-qkl+dqpndQj+23fBa%G8Z$&@VjKncinCG>V5VLTSm4X zAGa88K3owTOR~&ehWejbFZ@!)@YXqtMGjy>xQkL7A}hf16D-O0#gkm0zu;fb>Mlxh zNf!kw#c<{ND&A=LiTSWM8wuRmQb2x2VP^@gHi_!_)1)Hg1_@?90f8P;4(-O+Ft zrG~X@RtQq=CE3Y%A^qz&p9>0|$hDwuu7J3UQn~h*cih;E|0P+rs-*9;H?@!&4`m&L zu$>*(^L&L-F}wygX+(r#xgN(GjbI`nS48Zr6^(D1aAC^_iQ#9eH%19B+f`Px%Eyj= z-izVG1B_Ne4qItd3=g^d`qKo32qqTZ`JI$xZFRnE%isPJisAgujiO$${al`i6aJUD zbgde@{I5NU;jN=4yE;Z@h{mAU`lA#+ITW@=W3$4(;=fXc+YEPht~f75|Iv*z_`z1@amNm8r}}#7ZYO!+Wy6GQGye9iFnKvsIfOk#9$PyLOrV(i9Kj z=b*Bp-TXOs4yM=nonRy7G9P&IH9Y~&`|c%T^T016VC&L(b^#zD$o5kN5XhxAY$3U9 z;5WzAwl9fd$f@DE35rPZ))(MMP0p-nox98(CxU?aVY9ipx~68`9?98Ue$P;Vf-(7v zrijAU){s*FJ{CE&u0Fb@?_h-5jz;H7Hasw_aYhbpwlXv6{Bo}cW@8H1&_s7@xB~es zFn>+ra!t*l{9 z^exvbfVn)0%QZ#U5i@?*0drRp*Bo84F0<=T0J9~DtE;UK2O6{C-+RE!qDTwFUR>%+ zuC{>^m^DoAI$*wMaBSuTmze#hEOj$5Pa2%dmt3wf^pE-SIxsu1BY|=LH8n-$whj&z zz4 zkn|o>3|CjLy8aA5{i`d6%QZ&JN|dZe7sbW54AZ{_#c*}GX!|uAr3--jnZdexRhO#^ zE6nd9W^DrI+Z4ZHD2GaV>zktV9s~MgdqJ9K!vI4$tJwIJ)pLx&5Jw~9$f5E0n)Ufa z;LbK!#!tqtb@8tB&x5`Om``v}0K;mn|g z_{HBj6lIQ9d_^a983bVM(3tRKe}!C@DE>ek}p6S!bLW>X;t$a zIO(e9Phm^0J*Ic1D}GO4f0n{;0mZLsDw0+2))dmOKAKfc1+$sr_{Bw|_^PG{-xh*D zD48n({3yv(d~cGe$X+H>!Kq|^P|WimG3JWzP0SV9%a|)T74zZ+vx*;(w1cQ@v7TB>sMSXmyDBfOY~k_+}mhG%1OGFB$2&?lKySCeY-YmE9ZAo0*LLSjBv2FC4c!?7%Xu`TwtH!L_tMfZ$~az5v=%7mEq)pC z;lTS0OyXgQ-22Wl;oJb0vGcFVG-bd1jBWWRkSqC?-xRXlORH^uV2^ygIn%zdY~jv^ zTvga9z+-n433Mu74A8$*J0+jxA#gE4QZ* zzXqbP)6Brb{6>^`cdbnnd|!71L8Ec3Am6d2y$uHp@=vUL7!$jbw&TqI`Q>&VvlLe# zekJ!-*Pb{9J+^zfJJHd+Y31sf{=K}jskGyd$ZR{giHgwiMAu+*c3S^+uB^zk@6Uti z8J3JY9s+FTx*^z;UTDDqbsS~r(|KW4`CW)$rt-@hM|bUzdm;Z^=L7v@x|TJCPStWU z{U+GTWYY9*p|PNTCART+s_Ticsp}lr?h)4u@w``T*Ek#7yA49SA5X1NZ@{Lw9Z?!; z+Y2_u9S+-l!of)kwFPG`R#p@`s_gV^X?~-#az^?;Q|!J9J!`)Q{9(9y24bVw2H~ky z&wT;q(8u5k5?4_2(|$m}0VGox(Z?N#7ljKU3&n*8i?HCL^w^IS0avfbh!g=|V~oHD zX9#FUpf-X^C2(?O$HF<~`8pK#j)e)O`Es-pF&k3m2o==r(0)i^1P1a<|7q;#$DQ*SsOVjYs9ZiRxLKc=K3YG$bjYyIwP88NucxX9V^#TQ0;uXq-+(-}c^ri_{1b6$^Ei>PH;-d(gIKd_HUBNrHwK8e0sOc1(_rpC&$S5M=jm1) zoO$X#uiq9z#5%xQB?;Z^0NMfK?^e{PO%?Um1r5*0j`dcAJ+$;@5=3! zYgsW1=N*uLv-9C>{)7WMSCnQdFJH&N9^Wy4-U0Wbc4pwXqC9i)F5@~MMk}{Hf7}82 z$2%Xd%01b+qB>J~?fsRL-^@RieV2ah(E08Tl~-=89QAnlQ>)+2qK)Y&5pSz97ngND zTmySy3N$3NAKm%z2);mV#l?LKQ_CxF-z9%SP3QaB_CA%jPtD%&?ZSQacYpZYN4DQQ2I$0u&@H+0Mw0LI#>0>nby@ORIM)T zR9M=_eQ0RBPR_k>#TC;mr5wkSY%^GTEOje)?1Uz7^@QE4I#-ouR#lC*$kOJG7d_Oq zU+3GWw(oT;!))K}Smu8FPH4bZkKcUkw)B z3=3N8R~?*f`H_Inv=qc`VP<{Hwkh*VqEg<7rgWFimD{>2*ZmXm;7KcnJz^2)drCk^ zL4G7&E7xuXV47{a%k#6gkoYu+g_bS(ap>B_|Mei)P^rnn_A0h9ZU1$ zs%$e=+EwLRb9@OrLsVF0Rhn4ekO`}f*jf!Yhoz-3Yuo7jtZfd}ys>iq-`)qR!_mrF zX)k^zC>`cP`-59I04MoZwc4EcvnzM#mj1pBao&tywe;x^iS1H69~Rq{&h`!19>K3H z^Ibe2#jjd+sXrz*b{Xt7t20mF`MB7)f1hvF8SejA+OM3Ao2-=fCT!Xr_l0#AMgx(3J^#kD4ALJ}LBz~70j0naaqtqIR( z#3oxlrnbyH;rNy@GWjLVD4Y;8F?LMK0MEitH{2~28*;Zt6GqyC!bn>hBX5oM&&Gjt zo8W2-!vCv`-Nuct^oR6hCVW+B%!Fsf#!O&^E0d|Z=fpN1&u@usBA%LAr^EIgp?${D zmcsTup|#_wW2UvRX{KHZn`SC38Pt!+u+L(;+VC?63rA0#*g9eISiMQarr9o=4KUoy zGlr(=I!|m&_XT3Zqet^$CBPiJ9zXS2#qJus7t66939bpx=f#GH)E4?t#usCliuw5Y z6c(*i%t#t0ZZ&=yg-)?CahHf~dE2rDvlmV7IC~DxH7;vAcgft@?F*JH9>YyZZ7bT_ z7B9!!^31ty%V^0gUvMT>O=K1#&VrSI1Hm6=Z0UvwkjI9fUUW4wc+BlP@EfnA8Dtld(p?=Y6@ZWH<^gzI2D8FStt=@+nXb{Na`lA-J-Tx?Uw z#ZvYMD4%c`%f+sUhNFu(UH$;&gMuK&a_wzOkl%EiE`NY>Cx@|I-!Ub)d&I?3_P5Ah z=`fbd-fg&taLvY(wf~Y&{A`{-K>550YY!L0D$~U6DO}9MEPjnw{T}zq(nj;X32RSq zskOg4KzLxf`r*kuyr;Cb$=@Q&i3pl%7uLllti3?h8pRN{zjF3ie}J;hVQjjVo6zZB zNtTO9%+2HOK4w3Ei|m;WV`F$9y@uHbzmhClT|!!`Cw|i3B5UtS-p9r88k0Y4K()N+ z&Gcsu8R&13UE?q|hX2qHMi%NyvMe>42iO1PI)97o^A2OVjx{Oeh`%Ju5E<5y z7iWc#ISl`FqY@MG=-m~kALepnL5PXA95EkCvTRFfMx1ia?87yz!OPp1DN%2l75g_# zeP&DGdxwb!jDNeo3(IbxB}UwKaV-#p!9?jAEL`RT z$b7ob^&L!3#D(?A026QasueCUr2(E)mkte&~3 zmk@jIJR92m$x5z3NM-jRqv?StU%)Q!xpWb%r-gQB`8ih+R5f|f7k~N=A z=Gc4xew*GRt6>clF2O`xjDzRuzW#;_^%hy>8YWzViMSXCzlrUnn-4lvZ;@3le&aet z7pIGH@aekt567LRx5z42vv3I}3X5^@T<@In)l2mjS>@98e8EIqjDt_txMgQ{ ziv=TNw>XB3gFhp)V#CdM=q<8_ORAJ$qOd+GT$B=N-n;m}wR(%J;gZTBn276WU}M#d zdW)>#lFA_%@%0eXUmPP`ti3cB?~_?X3Ry(bY`wJU4|ag+ibjZw^HrsXG5 zDQiu?qZFRd;o%l*dOEXX55p=KpD#uJkP<}Dg!QPAF6gSEe=`7SSj(3zYo|MnQsymK ze1^VT3eII%g7IgF$wTGh^KYs6Oi5ABOy$NssTlrDBP!vkb^la8ACcnvddg?rJ}=&w zINzGWtV~gs+a?f<8oE8BN1v4P!zd3)pOW(D-W2BK6y*YuKp>? zODV34QkYXCO0n}?vJsL28?y>|qZ=sYKoExc3+A0~PRVoX#1M2Nrp#jnR6WXXXINTi zcdRg9uqt_o96YudjI16uA*2Nu*78R+wnmJ);#sjI?#>Y-7r}IhWux zrvth`+UG29#mppUGSi8uZ4I3lEjssX>ifm~=b3W&_T1TvI-u7jicc{4nf4D2j++{d z*lI(UG+*Q#F}4Qtu4%r|HDap`UDAA!bAr)N;}+xduDB0q+Vs{bC*b?U7l1-qx)?h1 zOm4A!^b2ZLDvvTRSsHHtmtIJZ15B7UZN`Mj<3bZN3MyJ~zrAiRCS|+`W=ssj=H0*47QZJAF zzFbZVAl4C$++2Wa4cQNK@7`b3-P%?=C7&q0$Sr7xfDQIG`~0nPMg~fI1C7jvo1Hq7Zr*s0sp)0fgQJ*~08LB~hde za85qR80>Fy|z2 z$sNs{IA3Ql%14-X&ArP61ZOOK<*1x-I~inbz7|F;|2RC(>stAzb9Nd6B*;Tkjd%ARwU=r zqP=g%=Y(D*1+&~fgtFn9K%j0%@6cHup9VBf(}+m07b z{rPTIJ{s=1Q4j7im55((ym0E(Ed9V?EY~}R!lH=N<(J1_br{Pvz{HuYRGcoqJZ@D? z`Q`D?7=PFn`54Cfg(o_U4eKPJX>@s{(WEJ>s8`PP^}e$n z(B*NNG!-7*#G{|Ue+`9AjZfD#eeX24Z1bv z!h^LV5KI)qJ%o#8E#~`wY0~9!jbXhI1ru?xhI-w&8-KlElrE1e7h5Q7JRm0GV(xkE zz4>R4yd~5xtVu`1c^d&uc^C1*3`QK9b7Doq^OJYxf?!XG?oxNNZV4q;K7_<%QS1<8Iz~51 zrM7-PB^cs*50Zo2giGMJj4j>p$>CC(WCIsJwhD-e;Z@+`$83(694vZ=B7P?ajvl;1 z#=ma3_Mzi79HeaW8m-t@VL2Z4o0~Ie!hT&T>F38XUW*TSil9kt77NYy%dc5aK*yS( zT0!R~0=pQ&6cLw{)9FoLZ4zKpBjbo+(Xhli#s9rt)0qngEzEAAt5IdNdBgyEojg>P z-y|UFG~$(m?9bRjSBs>`R@ceJ)FXtuPWE3vc7Q#IRJyR+ZWzY_i;GL(f!Dm$eXi9V zTH1ZC6}@3~M;SgnYb*TEumNUgS0+PWHrdsp)QI%z4A&_+gjK~#`-tsCJo||4G-r$I z0~7jj%X!Qj8kO@n++d+Cd$r^&FX!35!Eb}?APbDjd8`wx2e|-84;ybnmtcKN>g|8**3$Yz6Y!JI5IVvShRAq^Q zA!x-pzZSfTbp=)@7N6PsmacACQ?qaBRKCljf^h2r&Hr6Xr?QvEA|qSysFN==($dw% zXXE(^-&72ji#1UbN8Np)(UvoA>iz)0?|{42j6V78Xt?p&_{E^V2Fx_`+3}y?;>(&d ztj`z1@j8QJ6x2UVD+ZU`B_B0eN3?b-vsjmvhJLoI`N*E=`-+ z`Rd!9+xqY<-=vDoWBN(9;y*`TxDB}t{gs-EY@V>{mL)-Kta}TB}#C z2M`y0mD-L6CqUch7eFjb>{pS$|GxhmoO`7GAUW=}8vZ5D4tE`!+mL&>Fyny2)av{* z_q~5`?(y9HJO91ofSwp|P$<*_h=5I}TAJU!zU@8qcq0(XQTSEMrA&jxwiZuLzf@;# zbG9d7s}-8bHykOPQfR5hsm8*-_j2ar=##74$Kj-MzGb_1%A0cCNZpb7=k9y^;3@7P z8V=sJ?}Kw&$fg!#(|uFyxig#sv)0o5+n5xSQ?LCHCPjy8TrOjk`b~wcUTCxMjADiG zyKCozim5o;YgdR;$7`X~Q6&VOfMEyC7J}dL2OE|wfB!G~04JU>d7Sv3Xel^Xw2BUF zFuBh+RJDC-k6h%SiMjfMQkFSv(HZ||Y5^$$(eR_tDG$D_{qgYc7Z)eAEqsF@7=E?> zV&IB>{(|q=iV1%fgo+c&b%mj*IAM#ATz=Y!HJFCeM#}YLC5XUMl4YaJP}h9tyHotM z(RUoia_w)T!QwB;vWaF2|FL=P?S9&5cZacDl=^6N+K3G{OMmI}Pdw(Qjre`hc(s5} zE1^fVfYL8hof?cxEk(kWP8-?w@5r^|zwtq80mT#eqtixg+8M)LPtW|_OdGKVanjyr6^YP^_cf*HAcBOmu!tv(pN+ulk)i? z%Yy&K#Yh#%Jd6V|tqop+Bu1u3bii#_#AOmi+(Jcy0ijhIn_vba`EF}MQYaNaLXCg{ zK_f>kn>tokr}Wf9pf1qNe`w60Jy0xx{OaH11giKduGAG6geR&4ld26rRB<2|z85TR zAKGB1qHIRW76ze1yEQj4^j<=SAl0mw#89i?04c{+7z=*cl<5DVgd8nq9*p=*$5*}F zeA%qRD$zDHv-7ov&Bf<{`ECkV&tBOX4t(zb=GQ4)9kSOOuA#mH%zu)&rbs!MNbtKs z%DTtya>(mSOCnb6t2E5oSk8LTnWsLNnBGyICPfs*Z>ULaWO7_L*oLW zxb|0IKE-w#hFz$ncUU~4ngIHlz}#YR&cB4Vz<;Ahe*l=f%p^uX>t8Nj{AN1(Ld-jc zq8^O%FIQKmTk)07VweKVEQ5390j+q7(B}aBI}?~M7#!14Yy`xv<_?2VPU5OY3~7jz z_KCK(&A|QHU>QGM!>_HYwT$@B^8Gh3d$IswSWk}OJIi2g zxZzw4dHMOQD&k)f$IteXBDf)q!|Wsgy_0Z158MrjaEH`K${Xdoxf__@Byh=aS^TdW zj0AuO)0@OGzy4hWH>5GXgPr;O9&mm5fy3B*8B*62Ru_pME?dluNZ^v;?g2lh8;p2} zM^EvaR|GetIo`9t_T;PtE*Rm?XBa)K{2vD=UHR{T%}t6Lmh_$l#WRD?P2snI;`b~l zlAq9dDWo5Q8Lepw=J&B81Q*{>;KApI;FD%9bV_D0lpJoSfT@>%ywNtFAIov|i5T;5 z9;@T?u_FI%9$U(fJ723Bx^U02s9H&?=;|6?oGjz=g-Nv2?cqkRQ1Jz?8Sn)XbB^yW z6kC5hFB02aJXea17`1)T*}e|j#p3#1JULKwWhVD_V|^Di=j_4FO`uIIR|c55;qL{L18n+!~>=d)82obv8fl@7z{JjbxaHXv(kLVlFM% z-0~`*naX=QY6`RZt#8?~e$w`7GpBZU^syCl%891x)KFo}g(wN!m|mzyS{i~Wc0~_0 z(DLqcT`FAuZk8ck=eE-IEw8$XltRa=ROz*?a_w7)2DH8me0z%b7WJWW?JMH2tuO+! zJ6i_6bK*%*+hxMRC!n(yn0H|8nEAOEy7~pmTwErO4zSG|SI)$(43-yj7&b!i=Hkb4 zZ+Q;_bvGxMW9np^)A+*5I)1G4zj@O|Pj!9KdsU4V_)MLaC^%%*d z0<)~t=dL4>l~tO59ouXMN>%=3Vj?NG!K#w^B>XuYzp~62JU@$Hb>=g8t`-|T)4H() zHmw`1uUa=co$afzv1O_jwJoGqi$;*OV*3-G>%_JL3SH~)N z_BnB#<6M`+roOC(jic@A%nh(jgRLxc3vAlFJP4b9Sz+D94fExNCMrFuT+0)sl2Lgo zV5?kvAl@;5*3;bY3wGn5zppk9mt5?i)2$VPqp?O?+$FA#M=&0TLSAeg$Lj0tM zf50nmqVqL`)O$fKjDr@vEhkweLsCI+0iCLnobRQm3sVnvoK@7g6jOc zsBGQK?dQ)*)K(ZxHEH>lm)Ezv?0DP^TeWxr)k6|JtgM+E>DP6yI3xeO5c7X5bW|W} zg(lRc6ZnC+C9#U^aLzw=?T)J3Rbk^@3Jpc#t*!UvMcdAMnRlGkt9Dn9Xp6`Zyw-#1 zuxULw2R3zO{n66@rnCJFHsyE_Hm$qAhV4@PsxvR)srBz2=bAyOsw*`MjszV$xnNr( z96Wifb!a$jT4P!3w1&09Hc~j+U|S;`7r++Pt3pd3e1^=dj;ijQ@Aj(9%wzUp&OK5d z&5H-7I!eCv&|_;|rqt5A9$WFf>9G~r%N|?7z3j0)IMHKs=6z*(b7lMB6D7@CkSw#Z z+dscavtgJe=7+i7Ik#cm!oJNC1nkT{g;L^z|n@l76}$y^cCOzXM^eIiw`SI zVh4r~ro1q-yfC#iUnN1Vdl)*-K-eR{J7&g3Q71cb4Up283PV;KW<&nb!btj3W$S+F z=FuWDxu4M9@g`9j@ZP{kGi^0S_PY-4`I@5FSa`IXN}?=jP%%kvux zEx&0VUEV&xd3ZcML_cV|4{1n_1QBfk)O1Sn!`SQ(r|x>RcS0=8*oGc2zXPMj9eU7- zS-7CIupBGhwrec?;Y`e!x1YaxTqzT`zO{U&{rJoCJ9WO@4Q-t8rgH5N@E3N4PnZ7^ zxcscg@+)7?Kap>FF~2cCX}j+TEAQE9-G&ttrgXD3DM=y=j~=&vba&^w+5E;;FH@=8 zLtV2SgYP)a?MxcrR(2)?Q77D_7uPqGPga)7dmsz07!mnj2k$3`{;MB_l`n5)d*Z^P zCI8UYZ-HiXe_nCLI7H~u?AY#>?ahB!d2Z$HJFVTYqO0=u4MQ1ig;`I#nuLy}u=2Ue&wu;B-QBk4 zNN2~MJ^ya5JCIy_AC+%;!1XHBsP}-a_*77NDSNN%rg64%ls0d^=mGR6v!3o6vRSpn z-@^!R{UIK?x3*q~e^NWAn(A4edkb;uT9tdt_HpRR9zx|fD?hp-zq~4l=fxv(Z>^uT zK{L+Rk9^Ap7r*r_4>?7nh~A3bA_41BiAvX=xwrCv?D~YwFx17|TM{Q5RyntpG)SMt z20-PW!(h`Ms1Y{psm3~5J8asI@u{wqkF+1V88#i++zOkHnI3}eGW@DDTk$N2jRTd> zi|shr*27koq1N7YlH0z!ts6BG~9b&(>OorY}8JpF{OS-rW?2V z!gi^IL7ghfF%dS6^HkWhg*^i{N`lpy3mlG`ht$98U{n8YgiZbXrNcb~oA$0R!!}&P zeI2$n;$Pf3I`L-K#&S5TFv|WY0_$F!ok3QAVd>G71}<#SX5yziyRQ&i4W6fntskCW z6q{_ZkkgYblc!HTg#v}F!Qr1w6YxJHMZ;*0!B1E8#)%D&9u4C|*||(O*{^AA4ip<} zU5(iK;MrGfE;cfiX2XS3WJsTcpT=W~*vzhT-E2-YyBq#b8YZF@KV_aHwlL!?o*CFC zt_*Iz*j)5*rfYi3)X5_!W+wA2Ak7Dbcb0H7nTy4S+L-@9AsdkoOys?NBY*>L-yV+vXvW+nssljuW zFE@}3DsI9bQqel zPQO$T#MrR5n^N6LxG17Bh19R+*F}HtFqZ2ulSEdNc#FGV7p-y_%f;fN;dfe+y#-J5 zFRrP4$FGYvfkNZgMUOI}?*gh`&Bmnf*zb&sytcXh9HvIf1FMoIbj-(ti&Oag#%>?? zpA-Fd`Wqa^a@k{2tY#%yPU!RdTl41u+q|~9R+IA;$V2tuO5kWdfnQ1XC_G8naNFzu z_1flEIgI5hWkJDUW*l4xr0t+!)u${*I_KzWRt6${`6ct{@}IEeac}h*L9ja z-724*3SJiJkOQ+n@Y?3CbQsIE#ZXvECD{phlJN3gHNW@T=AL#K%VqV(QT{B+ayg+N zY~Q(N#1mfI+#D0by^tGf?J#wWV=|vE=7!fcH`QS**JFml+NV0SSP_<9yZbp_+uThK zW4ZnZ7#cQ)C9-5l$f~2uO1!qYCkTKMOtcq(U$H-GF}dmPJ5<|TxY1HD!v8oU1jC-k z*QohdKe*0ooBL&e(d>NB%08v!O>)n~o+#~)4~dgCuu+ngSn$iY>Y z3)BN%xl6+y(Z_H?;qLRjwmB*prXeN{>mX44UH~2jQEhV?Rvno{hgy6$LP?JNE(<#zoibffKwstJq%MK(v+cgwYFD$Xsb7+#$U{Rr<3 zLT^30?d-Wr&v!HpJ*`>F>JTMRG3guZxe3%7O%PjHYrut5Hlh*5kQ8&HsXrttB*Mm_Wl6OnW=hYFW*hX*N5JGM>)FGw&RE!Rsxl52+x-(mb5waTxIskCF z<&3edlUgRVp1Ewvd70J~jkV3Py##K-X{Qu9I9B7&N%;Xvz#2=(r|2Fb8)$;pZzu9x z35bk;pdR9!*7o?&QV@8g`N+{Bm}8q!+u1!bhJYZe>>#3N<`g2%#&G9Tl#%M7S=m1O z%(^)|N99wlNll#1a>+S`d#02(c?`^9G)1PJ(t}`0w;;SA8EKZ#G2kf{I~T7hQ^7TI z)WoFHCG2rB8>M_=NlR|=YFz*gAh>#U(US9^@;e9>o1to3&j3xgTX|ocLr_1xY9p8S zQ<55v5-vediGynb6d!#_&Yis&3d%JqNouT)$RB0H*Tti5aYd2CZ*n!Q_r?M}Ymp;z z9zM_Ab{o+c4WmBD)8Tcn!7WWElh=}ilP$9sk#sVfh#ouejU5HO4chk8R3e&*9Ru+Rpz7dk!1SmcttE zIpp9zlldpQF^b1Dk_xr<`27Fl{NbYro#zk#Z8}}X)a->*S=7Xi6BoxK{`O>!#U=OL z&>O3C+py{$s9bcxsdb9~`}2p`WYVyOj=CLS?Uk_RH*FTU(DR$~V@okLJzd{qzsdN` zV+Rqjd8`PLxC~C;YV;pR1#shV4gW;u+-$d{aJ~V=T1LNXM9~#gJ0o4{Cda$>DhkAu z_IA7fgi>_1Nbejc=&?wKT%BQxIR359d=pPfT-BNHPqwcHw}u4XpYAD^tX$0v78 zAD=8pp6qN_1>%#F6*fcVLcR9N&Wrot5^IModY+P*Rh^;CuQ4168%M6ynTdFE#9E!1 zgQv!Nk+Vhho0%F<;*s*dJJDx{VH7Y+vaHptq2K!Q!&mu!n7jnzgsjW*ppl)#4vL%p-KICX-%giaQ$&;D>UAq$L5j`=Ci1vo*mY>Q#uX5ABkUmZKRa! zeb65T=3&kY!w@dGq0wd5a#D6AW`S35CK!feZ^cEy$|Tj*!2I0c*otYs)J7ZSIpK8= zFfS%?xV^g;Zq|Gome+x~gmcL-<@l+8^|d-JCS+-Fp8@7?2Is?V92VkOZtnoor%L&J zxecw=DLtjL+y((NK8Zsg9mbD1sC&t*NaO0mHix*+19L+XH!On5{^PrWc`k*Ek|DTl zz?5^|8^)z07w=PMJ|6(gCk@W$OKo#la>R`RW=;~98#*);at;M<5ipl0aX6uzOz&5L z`FRRAtTqgn<#7)%FBzOmN8PYUNgVUkQ82b6ry|tOrc*?Z7;l z#O3OvgDJ$l4$KbK8i?}`$xW8W-oVr)am~X*n3MS4lvbe5b|WW=K}MkG%l>B zQXW45<^h9q`CM1q80H_#<8ffNC2_g9p=5cy1xz1GrZC>W`i5lw9SY3w6mDpAK#Aos z9vGhKpmF(EH*{!NZcOimz^IaFYm%_Dln5M&BL&J)qbWSs?YS`E@19rM-0R6OK|nMp+YbZ zj;_W*_FqEzABJ+ZoSTVGG3mnCSAhA6!7+Zt&dso2zSCe}6(i?n8q?+RAaJi3Ec36J ze+;L)n18vZs9$BdQ6bO)TtkC#>8MYi6B+}|XAI7!V@NJ;Q0d=7U@l4e*O2Z9ZwBU( zlz+`pJ4yeZ24;K8zhU)^uQkN=!J~l|m>_;p{iE}6JWe$@m)?dbTcjQOEHK|PIO|_H z_F*_2|J-0Oe5WaPzJ~Sf<|4QuxnV=Y28#>#cP4PXJYRDYSoM6(ld!q78uRf|R41t7 z*}gxO!rNi8Zg^7UCxCi7h4dSZ&G{MyLv)dAHeEEJssSf0pn&3q%C&3YDABUPU=m{~ z_pnzK#+PFQ?2y8QKKwW3r0(Bhhd5l1ER^7xxNSRY9+XIaJ~lN@atY`?>=TK024BesHb{i1XAd;785 z7du4Xs$BakI2Jf3Q@M`TPFycnx%LLwBsxgV*@fM@bN;g5DfvIzU5iZd$%PZjp(zB} zFk`06h7;|)$1eVU`_7BYGwpM|gS*(?rnD5Xz^3``UyMZHU3(@nYbA)qGAsX%Jt+v+6`7w)o9L*Zuns;*a#f*;S~SDiTq&*#K89?$2+b{3wu;8!NMoc>;D zYaMMpY)ZQtwim?pQ9L!T`Bd6pU{hcI0h@Bzc_Cj1IUROj{=UxpN_|wbC)(p#Mnf0d zT6P!JqAp84JreIP3e9?of|QcVmzf>E`G>F}o4lIT0OyV;l$x_mvo^Bd(1`o0F{LmA zs!A%Tz2(%Z!p_)_jN?g?p;J(>5*V^GuPRH%x+yj!sX3jb%?4lH-GRUI?rG)tQgEsy z-y~a+aUMtR9e4hgN%Jy@eV04xozIL=#uaR{`=J{9KbDG3w#y!R-Kkl*UZ)sm4roAxl6eA{AOT9{*Ap zrC#9w@DcHU{D}CMLp-NECF1E?_(~GjLoNJMh(oE|$u3JOO_eVm!A=|4RI{Qb`W}7h>HDx zEyVi~(nl#o#rM7tJ-&B^=<&TPM33)XA$t7FVWxjTA-7MK zje8?J?T_uLuqqz+kppJsg;T2FAxqlBrM`X|`bXQEZe(TvVN zm48BFlHbI$Yiv0>yO*!p2WR33cXpRmu49nh^(u6A_3!L%Z{KfCH#4Sk-BqDeMd9eK z-7SzA@NX2txsq6uQVOK8yz3@6)faHn^P6}&0WVNME#2q zWHC`+cr9c3y*wU~d%;SIDmOaU{M(Y-yTU6KgNMNOSNy8wbj}-MI~mWviESR9ns;Zx zrlYGbIoda1dkVkm%qBda5!>T6o+t@C) z8ax@IUg+?q*zhQ7D8DksWf@&9n=uONPGzEjE;KvnzvymsWFvyqM_(6fCIqG${Zi} zIoe??*B%;usbTSv4zC6=>oAtSgt>tIPWZ6@8ij4;FVv$^Qb@W^IM0pT=t%jU4&~GpZKjW8TT`P+{bSA-z8(Y zMgT)Y?@F=<;mM@`XVwe9^v8V$fkLw@xacREIA#M3M8wANSedFqUhO`KUi3 zT;Il%`SQ*VEj#+-KK2OCCtO(Xn_T7WgyuYBc+I0Xeb*oN`HREYuqv1hFqQblHOe3N z5p9ryvAHqOaPhnI+xA(b{BfTH9maA^G@s<|5!X(Ky?2~H?sJU8SgvynWsek>KkhTz zVJz1xrnXSb^)X~v{s*2XWod<31o~Ry&N%!`lpHKj8{n8-LvA`wnBd>@mUp zBQBPgKkoCQDdqiL&L7Ao4Thn_rL4z&=(e-N*sxZbQf40Eyb)zZw zLxjuLjV136p6HMJe9d7j*TtsXiT8D*=H~A_s>gj8)>#f?xqfd-u&;12bvxk4!-aa> z2QQgN9LDBhx1scdtItEW8~(V@-yFtr9cN1Lu!xIw!yoq<>M)k;JVQA=#ihr6K+eo{ z7|ZpPDZ&0JE>mhwPT?(Ero-6(tX7tMnl z*FFwoxh9wrJW9C2x^a}_`lQ3y+*o8NgI!pxQLGz-9oH;}v0Ps>Z32fXzDBWb3~^kS zIE>|bz))&aT(yqtrw(JejxZ(28G$&goa5@_FqUhYq12_g>KxZdhp}8Yn3`EHTr>E@ z@9ncU99-|Xu5cL3^^&192-jFVX~t|ldS-*;vbQESpl&dSv46spU?c1$*?xFt@%zJ! zLZQ)d-RUqjrj2^Q)Rv*b^)8;2jW&P(vUx)t*KH1Cxvn<;h}@MWkn&2Ob%#h%$$4V5louNBISN!R659XyY}s(fH8a2{SDOjzQ;y4q z^(n`7Vt`Su+l)UW9G4AigyZ@_fKje1jXxtDmkn#A<60G9lOMf4pdbYK=*-@@83#FrpPXAQlGPtf?ZSk zBl8W?RVmNWYK&6aO;1FkQm)m1f>P^042Q?Ol;XO{@@nu^aCQ(XTsZJp=hy}Q!5j_;3_@>zHDgry>m5|HnoK|J9$hDa_5bU>)Y(6lGl$ zLweeg!ay6pGYbDpss!hxFi)p2m!>e)snEmww@|~2+)HHljoT>w2fms;@-nm5I=f>< zbOdpVC(A)3v-3PYq{^N535V9Uxe1Eyc~6mBmo1-N6q%;Cp3ws|O%G1G>E`{>yuw|N zz`CvZ;u1_NCeO~Aw5MQ2&cGU|J^$*0Fm!)dvxrM;%jniLE~H7_PeJ%Wc%syO|EgQ2 z`tgJC#HgfwoWd;N5mI^A0}<{->8J_QTg{1P2QeNe4wVMfC_J1HH7Dc3@JMZ)y?k-5 zb@m+GWDgzu9g91bx1G_7Be}~{=TiNlKAzf}x73`OlM{kGOh*b`OdRm4wJxT~>Aoa{ z?4BmR_;QInipb(uM9~oGT|^cigCdK(jOpTMO!A(_bn!JPb> zoCQmg87-tBSNWdGY5@iL>Ol!&BDXz`A^2Q${>3DpikP0v@z~oSADzDmn)f*2kj(Yi z=O8bg&k36MIpGj}G58v4TbIsWHv8-%A5P#HG08#fo|pp1)Bz?-zezZ55=!}!L>%8R)KDT%>8A(kE{#L~3d z2I;U4VLB{L!9g;tL(sbDF*kg+{tiQzMs*AO3ZbaCDYA5t%EC`dZPXtE#dmd!7o3sG zDKtUFYcw6=eDcsJn*0KF|Em>h)IG%Y?3G;iN`9LvHg!# z1}G&6yOqtoiG7N^qIFr@IbN;6hu&-4m>bsYZ~NrjA+F-XC}n{eN=WLBy{CU4i(Y}I zXe+lunhZ~yXWTP{T zUp+7rlemUB|A_kxFy|+6!)iG-=nQe|f%$>KadJiSxiLD@D?27`F&N7%xM9&zs|;td zp8;+MGw0y^tE=bqr!!Mvs{rP7gX6$m&Hyz=(UTRm8-aNs@UPgJ9nNw-ZZI|wIRjKb zG|Fd|$BV$dZLplxk#KX(oUC?+vw?dfQd7;00+X&d&VPEtSR#ZuFmXT;+>plj`{0`X;R#$X&j7K0>ORj?8L5ofJ~$sQMb7{!o(tforSMzG1l=Qg z21t>N+UY5zKYwA)04bO&|FepKx$oSwRH^?X0sJU2SA1_`uE<`-T*0ZBBf64@CQpz| zRw57nbeK%u?J=U%-K=7cKD34q>~*Xv%&5S{wb=2wW8s|gd>uCQ?O2#ln&&oCQ*1M_ z?K9hfyDlmUwGwiEEcgBC<-vA0YBl`*jQEX*7`q-}-}#>@N*Z!nQ!o~`1=i3X&SL9+ zu-Rg(!E>D0`r$c8Z2b6-6C2x=xndiS=OnRB#PbZX;gMmVkTi_jK>W4gAy9+Q%Iw4)-csm@Kc|)CfDG7n$Vc) zHnB0)GsVVK&l4LS5^MTl8fTJp!ywWXC5g=yxENEGIk#=u@&!;a zw!CA`!nV2X+>XYrXtUefmo1pn(cZQ^10f2xM$TK3S-#-RR_s~h|HZT0JC?O&1`Zn1 z*mU&B*>mQe(Kas>kFxMPR>VTe|L%sgxhA2^_;`zm-;g%NVQNejx!h1F!}x{NcthHS z4r95lV&q|11$x?$_E|v?W4SIjwUR~F(}uJQ9L91TU_xiP#p&`J(spwg%XO@wuzioy zjo*+q&%~K+Rh%xrA?+lGv0*)>RlsaWqi{tCbtn4` zX%9M#<=SZcVLR)$mQ8==kb!3YPtL29c)(vT`%kUj={0UQ;sWI>_zQXW(E6MT`XUYAuX8kRGL)z~^p%IMOn&qiV z|NR0n^~m}SX*S-w0~;^Q>4r3>j%MH1`3rPITDU+g7;#@jo>r#=pF~#&1YF zDZpsP+#|f~?a4)BMZV#Ll+Y4*ZT)5W)J_NCkXhBVt$3MN``q^Mt# zwKB@2H+Nd28`5-{Ql(YF(9_Hq6KCC!#wMKUdS|Dbj`SPSh6R{-Nt9huN!B*e$KLz* z+jK)(xFjl=D2A-Jp6l&-yY8eL(v+(nuByc=E-&4XW}EIEp1QSMH>4>Sn|!0AItpul zQ2p}j#-IOmt8PeBu14V!OvEMm;PP7n&5iEsZ@5r5q-j_> z@DNNC)vnz=*Z$pBx z_5cpu!kH^kR2$40xz#-ClpWVH)w?qUxSF|V7pPn6b1^6alF*&k#TE)jPRH#Wqh?G` zs-tyGvViB+#WJ*n`d3TpNv$j9?2@zmE)}xs;pMVK$t7HaLJwx38GLg3+0hc^UJNIB zl<*G$x4Kxha*jG3vjjjiV!Ijbct%*6Z6_?#vo;5kGnj~ZppcYr%FO9q#}oOWV*^FG z=}~3?6BhdwLPHOg4&8M~^GBF>tgEk6)perJl)K>}Y@v^=6WjlxKGXV0^_t8(^16b8 zX*T&!b=cHvOK;-K&V{>i?n>hfLjSQNe*&1-lDN7??WGKwUG6);>|w-L!ZqAjx7lH! zA8s&)RdLXTV&D0nINmH58u2f>K|PZh0KihX1!Cyzp%TehZHBei{OUT#q+0(cbS#B$VlV$!OrJv59$(X;H0xBN5J;s z^FE5FoOxslzXcRO?^A;p+{lF|H$Q7UL2&Y6+Ab8iK z3A2nN@4ooyAbPOaYVf3pu7~_|u0YzBX%oiD$bk{2G4)%<1$?KJMTtCp``F}52tfR9AT>CVW%HX_jMRMWSVLyA2gh{V!CR1WqJ?`#R7POcX;MPTOJ3Keksa z)Zw&pX=5iC@%1Tr+VfrZYg+u^r>@sNuDH1WfZ^gl{cx&H>3E9u%Tr#V)fnYE-M-?# zQqGDf#RP8Yw*%Cr2sx0JyjY7bJSieul8P66D{ctUz=lZ&Ji_w7@@ErFXIt5J@SFB)^F40ZwQVfNe8Vi@9)B8YHTv zXD#p|)rV;Vt{>JAtmJZf0KGUW`$SW=VcTj*sed2KN^Y$5Q6#Dx(Stu~dU4iMl|`9G1gAXVfj4Z)+POGOl#NV zX_(uRxL7ch_&p5FACtIP>8NPs{Rc1=>{ei0{Geq}Df(m!TLa8^gQK^_Br3KyOASUj ziQ@`mL*yUxc@=QqFj$65|Ayq^mFr_b{|PW%2FG@^Sh#Ep?WK0Giji>Z8dDN;BRo0L zG{`pGViI4Q!G!)LaqL?b^#Vu8xxK*Azl(Z_yQBziNPS#x?2E5R;Cd;M9u8KONJqhz zlpBNfKd7E!Fp8%zF*=3c0*aSN70FI-ObY3j6^%ryU~+SA1_` zuE<`-T){r(h)<8ke5T?~37D;oO2A{qR)Z&}Ayon%C$`Bg)2EFdIi;m_+LYr*>VXyp zM#E}N!*ZeF{~G*M4(=;9JbE-?bS%jF#dk)L-<3vDi>LoZLatZsKk1p@btlRkl4(s+1&ZK?yPO`nQa;LSF`8Z6*FjgaI+wpn!^VU z89Q$Lgs=~yfb((7_g41+GqET6{xnlU{uYOC8VVb_cv;Ec;&7?M)R-ck3N%d_em%+e zEC3oW-@nLgfcYT#ezU{au=<$LSrOuNdHH@vhp}9v4TaKnoGvfl*E)>lVwIv%`JSIL zAqO3I$O=27z2xHMntr+L>kebX`Z+K(tkm%}nO?rXMi2%QN$M)! zR~q;G?reB0knasu<$JzNH=(P1&t8x*T;QK>F7@|5tlBP zv0l-<-M@OBE|)2nF7*f|;$jW-G34?~xLl@_UV;%{FESaW%VoCV9D8WrM^r*CJ{~*U zW-t8Ea(^pD2^(g`T$aN8R^p%!#SBhiUP)p0i!epUY%((NjJLt_V2mPTwy1Fr25xD3 zYe*V7x(BRrh`OqcO# zOwvUF4pL*ftQUkN$Ty1RAUNTW^4Ecr9>W1^2Dn1c4{$$puX3)rvB~dMW=oEfnUGYD zG#^4JT^Lg8-^Vh-t!vP=ViOuikO$z4JX$|_X+dO!TNjTA*yo%8%vniXbgO}0m9+|( ztCF}}b2Or2FZ)Aa?oZ;1%<(@1%=-q%maN!Fj&eeBZ9(Vw<24edgWGKE`U1Tz<{w-7 zRx4S;PDB5aBRPhVShvUNT<-rI{-gQly+djBq>d1nP!fh7|Hgg)T0pzJ7*n{ zuv;w4EMC$+s%_p9YoRYt_%33T5_Jk+>K0VWnAReZN1TK1H}?}F)h zqbNf#Q4Cdlw=tYBXZg!2zN=uTqNiXa+^?C?ReZPK^ZHZn_?9;D#YMEs3>W`tjsAU# z5`Hp@xju!tD54Y-wxp8^P)DNf1Tui1AjgLm$WHd#6Ozg^1jN#h0~xZ%c?rZ}C$~_5o5RMTnnvHl zA0e6k9)?R_H`yOHKtYK_){mu!&($?*wbh{56nzgZ#YVOkFsxkC!{_Q!H+ww`%s*1N zcom<`%}!`T4rDt5gX8BUxai(7jo&_KFNT;Y7UoN__)#=yw$m`M(}-l- z5M7ugdJcyJcdEhK_$4J)RwsMgqj+ZgOX3*))kVTh;#jQfdx2xU{7Nryte)TM1&-;s zz85%ltUu`mj_J6y7dY0-U-c6AP%m%{_o-gsnBJF);D$6t7hQ?s^Vbr%UXC=zAqZW& zxe&JGcp$xYqj-)qD4E3gEui?3h9X&|R;G}twHpO>t;4UyN&(*4(!i?kCN(7cAkz zg#3N^?YP?DAY8P73j+F!2i-&So244?(xLMF@UAK$+lZE%`=wY4nip(hwdP4@g}3U= zbmuw?Hmwk6Iodgn=C55?S%FAMNGHvd;1NBuqc38n+{sX(cR}=c?63Iw!F6FA zu%oV=S4rhM-!5rCsq^h@$8r8vcPj9A_rEjxna!6l1vI$dUH=`U|3>iN`mt40X1WSi z@e6iAI9`|_Yqpu3#I@=JymgSb>On;u8|^-~!Bd;8bw0!EKKB^&UfzA~2S+ zuMpc8@$AWz7I7#qLNgLbAko z>6$82rPC{?h>b|4HNbYd&?t<4No?csY!%x?Jg*cRF>}QB89cu%wxxKsiLD(^#j#?| z7aGflF)PckWcY2CWxk2$)ndC5&&6W9#nCpv#xJ)l^8lV-5gQ(oUjDac04y>-8;w2Q zl0!Ck*=f=+RW#-J4aZM&VWilY!(+sTM~|kohzotQhWX1>tIzs<*Wmp;q4mR4^O7;~ z`KxIMNn%YuSZ>xZ6}sll)I|xiFlH(ZqjDU68vG=&F=120<_?FpEn6^q(d3S^=V0>7 zFJ&)SzPtkjObRSGV?q1*?hGjpkgD5^31cjk*0vSxZHsx_ba`fO+p_lfSn1K1XNQj* zcig0DU(9|fdu8^^*{iZwXTS3Q`#lG*niAu`o+jFU=P)&?~Xdn6P+U)~}N{IE>|b1UMRgMsd3QMB4@eVEj7yX(rB;fO|StY7g}Co&%;D`J(^K zI=Rh__*m(CZ2e#=9M>`>$Od$;%l^NAs_pd0N>6hb8&;_)L5ja#|Mhn+J}l?g$^ULr zv6~BPq~X$a^8LZf=oD`K{vLjve2Bx?u)bp`{FqC!6yaFj-)o=y1%IscN{6vr_Z!OY z!bLGhqBHJ^3cpVNbBD29&zk(9%vO@^k0&#Az*{4K;qN)v@Y9uKG5rrm7e7=Hmti1g`#Ik_Rn~-mW+6EMu}M`UxAj+9L@Fj z9CQIg!#SIh>_d1m)c?M7>F4}C2hW2-BN(wUJv0=!{1Mh!Z;t}W3AI&Ya{iWdVIryB(d0V$}jMz}PW)knb@b?_p1qs1O zSatH0Yne^D=*`8SeBm~K&%uBY6Qzsaeo5AR>X}<#J^!`vSZPl91S7UPObibcE=&K_ z4G%qQj+IKki&HUIqH3^qsBCf-P z%Zfk0KIvaS*Lw~$tY+a7OvJ@+-yc-&^UopWhX-M)Rw}_nTx@4N*H3Rdb#J}rK*Q2A zOoEBHSVMhzeeJE|HVp{FlFA{Nh-;v5**xU&=7AxXR1U!a2Laf$T1N;M+X0$gR@eQF z6tp|@+Ge*8u9b0GcQ@iA)V&NBU(|Y&I*6-MIAE|wDPK)-{ndOs#Hr&b%i<`1Ncp_K zEoz53J4IQYqI^5$&m$?y$tkWIQgQxoit@>nKX<1vTT>K!FAfu|j5o5fBoADlR}tBWkO*b=0c0t##D4?hRtWRmEBNt_4FYZtCKH&b`kJX-oV2^#8rD zSDxqOJnwV&z0bMljz=)n#ZTaoIN)D_B*&wH7(F$TH8HtI2=t+Ij6wu@i3@qs<0wWG zogtX@6LJOF%kTd-+WSo&{N)TLTXatReraLRK!FRNL=Fw|iH%K<%gFGHnv$5D%`K7| z8XK3QNsLc~Q-2s<#^lJf)HDtdsDj*zo5K93nV}vzD$*x(G{f^9IXrUk(2!A)K_g(3 zeF(!PdE`4H5Z00T2-yDWK=nu{0es9tNjgP4o#+xSKIe^RWl0e+>%2lo4H+?V=%_Jx z34F!&z>QmtH=@^l`1hO8vlw-gZHG|#$-%r)nkcSq!fBN}k0egW5wt5I zoAr=s!Lh_cA}r(xgoSKY7*oy%&F#?gWeQTTCyQrsC@5*BW{Ft*1UC=B20-G5tVj-y z#bxXT;qiV5Ae<)@!un$50Uu}P0V{@U=dd)QxT*EOn^|{ra&qBk)=?LSSx^|@j-j11 z^`D{t?Dn6`th;+rb(0Acb=C9m7Jb6JN%18|W-L8isM5#aP`hpf?`T*FL>z}RvHQvc zFagFmH}MQDjx(YF^S&|8!-J}gG#K(#_l1Dz!3+xUMrUY66YvB#0Uo}tgA>ot_5}G} zXbKTHX2zE))C?bS<4oaPRO}FkAg95#0B~;^EZ&HJF78y-CMcM#gnJ)Q<$qw*c@F0) zo`J{2{|=Zgj2g-1v#U5Aeb7I^u-_=*aIhkR36k7m;aUK=D#kz5x=qc{qO~Ci4KM;n z*B*L^>I>F`34nW_!D6_k{KNDuG~u7|%qwQc(t6;~zm@gGt*s~SYZJKMZcd{7!}x76 z!qsyo66*<_&r<`%O~E94Ivk|J>s>R$(0XC{(@(ZVxC2*#N* zn1qQihZ(OB)${zTnjHPUJV4~vYTJ=GvfqdP1H#pn>2k@#B25_ijpT!<@PgTCF)M@fK~z}5*RFb2u$|r;KLFi=1SLAcq`u~z1EBN}iFg@^JQ?K+Oux@(LRQ`AA8BXFZPEUX^Jvd2L zfLX38f)Z-3ABqKK4fA&pq+H)bXQTIl2~cLnunySjFTjvfFx5&54@QfS%Y zlM&=8T0(I~z?MwO1QUu$p2--8(HIZ@`xtlB`^zC_G|4)o|KH+_@uhK&;NqMFlqk+& zFoCNlQNb(`U%EMl>5VI4ll7b%_V2_cjc zuGp#49h{VhHGobZ;geD1=@7UMAQZNaP(qD|s}G?j!ZnOgL>uIkN?{Dx6xsp~9j2fM z{OD3^tbb+_O}Z9NKS_@xCy~OeQdEWn=91vps8me?Of&`ea1I$28b*{~z@x(uSW72i z5YGShpwXT9A_a%#Af7qlmtKFtVU&#Bg8d3Gru)xkgibM1{ESc+3>kvO9;df4^a2Qs~6DtKc ztnV@@YJr%Wna*ZC_??qV4#P^NFdTe!%cNP1)Pl zbOa-^fHnaxzu)qp`85YRBSfsNM20zxl+fQYoTfwy`#+4~uM?-e=4XUf2{2;&Jt|5v zDdsx5o~7$Y3U^Mb2$x_)F~pvMx2Yd^JME2d=On(Ju-^rYNUAwOw(p0h%uw;gk@QWQ_70Koj!b3hx1Dv&P5UD&+M;YAK-BKt!#l= zPGGrYO3I1t7KW zDBj-5Zw##)O-@JT8GA21LDqR=~4V|(nkP)tf6!HJT5t{$h{3*x+u8bJVWC++!nbHt)d`GFd4+{$T zf+7%b+3)-bt!b>)jt0%z$0FI_dCM5jqEOaE#`BpnLd^hx$giLf?#G)HlMlj80C?j8Du+U=4YHXUFsMP&xBy*c40{%;hoM2LQ&2W)1043C`192qPN)V8DE8j8lof|I-J0`OSd2kID`>?DT24 zV*mERgKEHRLL~$oMw8%-_684u=bce45je7w!P%X@>={0WGr6Mxge06_X>6}T?JF5@ z>lrLY6aC{ysyG&h^~csO=DHKb20PvH;s@4q?!1Ql)Guu@1m3E$QLBe2cD`|0dTuNCF1nYOQgrYh}yrY$M*j`YRZ2RwSUw4?f!YxZ2v{n{!O20_0OYb{x6~?hbCtB zCoL?us;ypar`Ou*BW!YW+Di21`XIUDnBuq|Hm0b}6?u3hZ|*De8CqTGV$SK!6h~D@ z^?`s?ozbc9=>jSWeQR{;>fBOu*bY>vzQ@}>1McZVD|AQUO;^weZ#D(~(t^|m1tVnS z^;h68$2)Kv7G#hfcV$@aD>KFX zp`ZduFP5pR@b#@araC*I*8Vf36+8WE1B-8&D|QCL{kDz8QHHX!II2@uk;e?j+~TM{ z061X)yklcgt~-toif;o_ueH+$RI84QWN)#cpMozR6|f*^GP*Yr;MEV<%TZjm|0_q0xXPnT0s=!5wy zjD_x{9>gBO)*zRNdwT697i|UV1(?lnBiTHwK|!QU_e58XY{+Q1V@B&Cp0msfB1vB7 zTvI6KPlwGoq!K`mEAn<>#311T)leP0u{s=uXz2p(L40)T3MgKFBB0Q>Hn#@KqXc9i z`Yu@9w_HLiq&Fc8p-l48+Eb8OJAx_Y+7ZPM>uCNwlS!ed(3%&5P9 zQu>_MH9w}V`86zyf^DECNP^2Sk}1-VM=x0nfbmD!LPXb(e6rmf@>T+y;-Cg}?W zM|s6Sp%u|qG8n2MrSL3!isRp3xmD(Rbz6Oeojw#=mr|nl)FkAeRpcE4S=Dnx7uui{ zJLP?$c{@qUIt~LuG0I;@lNYO6>Vhb_YnxE z3ZBUH>T0<8$_*RglWpT5jE;*JV>{j{cT()M>g!Ytp2O5qft3>zgvK4bzy6QC-vsH> zc|y1(|0Y8$Y0ezyC?*%eNFI=ldaxa>iQ>2}^eKEmPH{{ZP*WK2G&ct}P+0`gjcJBP z3_;TK6cS>lSJ%MJPmUo)l%QRohJ)HU&39pL+hcBr+UY$NI~yo=z9)r#32s29%XHdu zxXE?e^KfgZ(_T{S9BZc7IkJ&1^jZN_>r%bCqCovy@qN4ETQ(Ne1p&Vo-!``>)~m}c ziVM^a_3HBl>S}%HrGn5$#kcIRyEt4B@woV|xy3oX`kF;af%=Iq;Fd1pUT%(!M3J`y z;-`zKP(4>&H8^tpCK8IBqxx4tkvQ8rVL{k31);Uk^n{YQO34)PCl2 zQ<#TV`WzcNvPr-pRRVw{Y;>%0-wxS51Q?3prP3PJG2KgulA$N0si|UT8^{!rABvqV zEv^*bflB9YaS`V3RIYj--QnCnnnJWRLkh=Ay-G6L6;79Wm1QUkGo@ao8J!FLqAMW}B(LCQM4qSLg2)g^`gOh5hCzJ@XYd;qFkOF{x*B6xm{S!JUV#*C3#27LI}kH{ zp_x?ce65VQkY3>08gcCix2+LZNx1e#Tt~v~VZ?<327g_RxSoXD&xq?yxPuQuA5^HAbdD@+o;^q26NuNg#l*zb=W3K3K6?kT-rk?6FUQCD>({Rb3$F`s3#m{!F6LD zILeKqhH+FBM`d!<5{@cJ8fbsc{EPfvAGB&VI3rEg$`No`0u!Up~XjSUS;dPYOFf5dB@F9ucp80 zz3XP{^53@J-u>~+E=lUeGxjc@)#H)>^0oFal0V#b=dskh#p{Lnmz0SyiGkr$zj!-( z{mlMLo-WcXduQ~{h3TVz(og;Uz2($8vK4|}4ac1+MyAD$wxYB!T*2M7>L!UT=-e0;YbYt|V zL&CjnD`Jwoj)(5F+0@;2{K@U7Dtwx3oi}RjlFIZMO>BSP)_s3!OvI1hy!%{br)e=@ z{HgX!=C5?wdvWXd)Aq@8LY&{voVU#J(;_KP3a>#=bLS3j+)J*^TmN45 z(ZmTWJFFg*P}*@ta^>@=RaTR#3(jpiyCyg(q4%guj$bQ2{=y}AQ*z^nDfjxm-z=!Q z@7_0_ds!VWznOd$I?R@O>eV&_NDCe z4liz0JZ~NJ_HN(d**g#1O8#W8S&@9_h;NFIO#IyY@apjsV(gPzZB2cZup=aSfZ+$P zW~o&p`*sL^J*CGorr%`G z8KENfN9Ae`&Kjx8s}S9k1UTckWEj?0X?A;?y-e_YYlo zcJU{#hFy7l{kF@@6YG7Ny^5|Vy?5%$apgnl@J#o&t7n#P@9^l|fGby*efr_zZ>KKY z@?gz{C6mj~EG)m}P`0)AxPA+FE!8f3b?5n_*ms*gZo0dmpl$U#i`PupGNNtCqJ$40 zoj$Xrc*8ckPQ80)wzNL@wx{;N+71o$ij!-8snDeExcFqV-SRuSQ@2KJ*uLvlvo~}4 z9+`1@!mpk;%v?6xHsj=yOxxBS+&^vo z#CIi{`*U`r?ltdF*(Q8))yI#UUw)^1$GDiCJO9}8Yp;f`wXtFOKSuQYE@bVZ&%asj zzt=peQGQBg+WW%>ciXn3mxcCf=Ps>|eD_t#mYkbk58XZS_f_#f{I+Q7f{j(REmtHa zkBkkwz54sZUp8=W)or+i*1Or5H3RzC-CObLsDW{x4H|dx-lEAD2fkR|Xw})Z&zveA z-uLVoP#ob#F`udXqZI_M!RZ=FT2{eXqCJd)VGLU~SXjBXQju zNR|d&zt^YP>YAHVLjzSd7c)1{S=p*dXDG`#!buf#n42dE2@V7~A&O4w)~_`Umd07S~PD?$_lPbpvKQ9E~5D zb!>RAq-{2<_F6YD&3bTWX-L1Pc#CIrpuuQ%GZtl_PU!C!o^}S>50_nr+&Lv-tO+J|4adcdRPd6nfzC87N-(|h8 zZpnGrJ+F7lILDnGo2NxJ>ZbL-US-q#^C+hcC!2kIAj;7Gt*h*GjBMlL@fkb3)};+^ zyn6Ko+Z!8C?4Nh?_pf_IPuw(q)2fubCqHa$ua7-meW2Bz#LjDi_Kl5m9-H93ZF~2A z7b;h)UhM8z)T;5QmCM&e&Y!vb#j*`K{i9bDc+_O}y!%PylHZ!lX`0ZYTY;PP#SZt& z*517F@$$W+v%buG79Nw{sZDK3?#hq-4!1T~Zu@DJQ?HPFLoP3JRPCSg@Uda^gW6Kp zsNWplX7ro!`(@krBJS>rt+0)-8FZ`J0Oig*zpEc?+W1BD5y@A}N1S*$=;@%c9s80V zw(C10u3^WYd{$?-zf=~GKQGCD*u9|WIsG56jXv$yrEuJu+=AC%>?|uTv2Q->Bh87# z#vkPQ=l}3gnB>qni_eC%+M@YB+E!vcw{!QxL8Bi$3$+^XbW6Law1J&Js!n(DnYpC! zQB~x{t9?5qkMX!MW1{Bw6JI~h_fB!nJe4=Q(O0X3YFdR}dRXE1$>pexUnhQZ*v#t3 z*PG;HuN`kZyVv`JSLeB^OBznP@aEX+_SWaFW?cQLAk-%NO5`MO-${4lT#x*C$#cNe z)isX&m9tz93Kiu*0 zx$95U)Vol>f;AS^1RBv*h_FRNJ~5KKAi?6MEm@;mQij!~Uu2!|d*Rxy>)s9=v0%&m3bR`acI>?P^!*v_Pi?G<^fy4;^Ue%-C^RY?i0VL zsJYoDIi|zm?Mnf=5x**zqPFM^#@|v?+iUrz zl+->RZ)%=Syw-F>&2_`t;kVl?e`j*aRh!W1r5-&dP3e0+uB*JF{94&N-5z~WD>?a* z!fQw4-xP_jKA#@HD(C8{#-~4A^TmYbmkW9~+h@OJT=1dnrPB=;`%c@|%gZBsOp}wJ z-03pAr>fV}ueS_J==*L`>B-^Rrfnbf%JLZ0H0jsik9OVPx7I8u=G8Deo5`(T{&u{{ zr2`KAkCoiMGp5C$!Sk9mwM?n9y4?N2rVD|Sw#G(on0KY1^3cJzCHG>(XYc=PUeSx{ zn(0{+118EQ`sKbk^IZqe=kjmWnI~Vn|Lih(Q0~-C?W^be%>FKNf~4QU@HLtC-&P!0 zKFBXLs@Ld4i=K`ST=(YsW6y`0r-u*d=9l~tAEH^f?P%y@?e;yFU;9OMF}$C5vzXZ%UrXskL+l$rfd2Ace*a9S>ZEpV5Zsdi6uMCHbgnT-?IAFyk|ul zM^BVQ=Uj98dG-A!F%LXDFTH*^#I?oY!(qRl*mq;+{>5u^UK^&h8*|FyUc=M^>5O6h zEz`a1XM8jxGX3tnJ)Z@nZy#6O`t|PB=dwaa{kG%F*XHMD^uKgOu_a)_!=Uyx_oKeQ zY@5HXU$fxkU&}6}9tpf1cIr@fcaNi`*Ik`g{M>YI%ts4fT2Hzqndt3t%B#=mXD`or zWFFqsrst1iS5NwG{2-4nMtFCfd+y-M{mVaF*yKX<48@_DZF^pvene6>xy^!I>cwk2 z9{fJ#hwUluNxe4>3C~Vhy8rC7FG`Od9vb(1jUpuHMxkFj%Zv-90p-K5?(^yvm ziZ07G%kNG&SbgE;+7-b)lkO~d7}M$Zc`J4w))hVPW$(LD*8a=&<&RhGjVj6wNUB^J z)clu47sti!{bOAh$J>4Sd_8a3H^VBULm!@d*t_h?i;*u9Q{@B4Sia0`{>{DF(s|#_ z-*Vq#<&s|p^d0+VapfmJyRN>xtGY+9{@n(BHedKS=c^p)#Q~?!IQGn$aoXYY4l8#* z-jcrk;@IKO3dT;|-0jx=FI(Muv-vy!l`oh4R(RxG#mVr#j@{xf)HwEPmi?hLGAneV z_P4>-AHP^I;oRNxQyMnkJLPGCL)2Q?f$G?X%~u;r)`c(bSJk@fC*2$M`DW#mfo-03 zjA{QWe$}&9Pp)-wyzHWV_9pcExvpWdef{=+&?Gb1vF5Vn;YqFbLQQh8~plrD@hEwF=Y1rX0bNr->$R& zVaoM4J@XUeJ2tYg^jop*dXYNz^o``v-yT)Az5e3hIPb#IZDvW&p4@kL`{bEP>#nP7 z$MhL&={DfPPuurzIQ1ZXUta9XZ=1#!`lt3g6mxIo+0_xfN43d3{B2rH;Pb+FtTo}y z#{D|AMS4v{PRLgC6W-n@?`#iD@;mFAx3#&{QU2ZSc6~lww*B+nW<%DboSNHrVCvjW zO1EL{T1#uXrg!~*V)LkL1DE{zZg!u22OQL{x4jD149h+hyz7{A?_+yAteJVV?XBl$ z%J!Euk)AHwSh05K{Kc(T92jx_#EmQEo>wd{bT9FeO>+ORbcX7W!V&L&e{0v6)i3(& zd*)l)>cZny>dRewbo%5__t*EEPksHN!lC)nl~GH6d1+X+^VFEw4TsNc*xPhMqvD-b zNe%DD1)a4Sv|e_?I;HAX->aXtIJoB1;jxuj&d$p^e17wzbGP1gU30Ge10^+oa)Ux4BD}uxVK0-nQ^w@qv(%s zln>oAr_JJ^;kIF=QxBAt-nX=U-`TAEwtB_%$0ctC>SVm=xZDA1(l>f!pu!y9d8(@WXSt7r+m{36clD9QbMAmj*v{ zF!KzC4_v=SDKvUe3a^yHWdoGL)qa$+<0v$rP@a;b>^aJjqk3?Z6G!2?J}N6*8-hvs zuh$S~LKx^UNVdkN_eoR zCtMVRixoQqo&*IO#TkwaRTQiR02~+kh(!8?V$p{v0BGIu*@x%Mez`_5e>^-YRX^$V zeXq)3Ad@6X5D8&&G!tPm@Ll!2tkH#X@7$sWg#qh>Yqj@CXhB9{+QEEoeojk!mLh6ejg^j|7paAf^DB5{0dP{b9mQ zTFr)Ar<~Zd>T{|JT|K={?|~%MDn>klycqJxuu`wBGJLFtJZKL;TXJ+IPBhs{zJRNe zPzT}KkxN*CV2uB^~Dp~P*;K*0~8G{5~!90Hwh?;TLcvKWeZS_MB-4J(g$(8}s7482A=rcSM>NH| zH|#-GNa3a-f)Pnk^-!1$sva^2JCV=`MkIwr!EgUbK2@@cs)tmHt_UU=krY)A@rv$E zqm~|2J)}}DgiA0YDXJdg%LiTA#_cXtJ)}~ugiA1lnntdS>L*MVdA*ua^iY6REs%zd zGrogDBH`PR_zxW|`|s%=0cTAej&MykmCCDwSzL#6x(=tL4kxJ&XRwH4LOEsBE*^Fj z$jCuMN00~P45AcH0X5>1EFfw$p^=^#`xk&cceesW6Y z-|k0n^-xlWIwnmkj9m=TF~y(cB0G~)0aI*@ zqwPcFXPrO1ZWac58Juhlsu>y!B!!_h!9gP{kOZA8x29Ip9<;C;I2(aGIU7!buOR?@ zQ^G1W=l3CW7p4b#wJUbtO^5Q1=`bpA094T>IDAM@I1Nje1W3j z35ybQN8D%A{Q6(^{rJ*DNBe#(KrFNmB99H^`~Ic~0LS` z&$f7e3o?d*j`sbOrdL{}>ke!2sj!OCUMfl;3jH71EGIHDa!O*#q)hmnUIyDE;PW~H!iSmZu86BCC8Z((|?teR`bn|p|<=Z=b zJ>LcM$tWiJ!b-xW$cXq)#*{8@!gq$G62cr0C9h^m7OOCA@8W$szXJauU@oGr01g`& z!HGYpLq1=PUk%?)>jP0J2+qx!zNLvYj630e7%=CJajtMEwZM4;eFHG7#vnx z2FHX*Z(ZS51DFm_w&<{VBTlF&A-@^?x-l61kIvLs8_$2}R}Y*LaAWG=oV<<0MO=0r zT-|R8B5rvdTwVWAhu%{MSJyvOkj~WuhsA&01g^KMi>ST;tghqVBjK<)ai{DdoXY13Ai{qegJl zB%u1i&y0M;sXtJ*EDTCvflvxFic(l0l)?g`)ZZ6K55Ss{PZk&#$O(AjL!SN&S8qZw#Xz(k zXcy#w`9fHw9r`+WWI`io2nl#PEo)t|)fJQ4mVZnOtIl7;vfGFfNAPD5{5TZ~^e~za z5hd7we1+k_*+e#AFykO#3z31Uq${NonB}!jG|L;1=7IW~Eg-OGL`8!xc~uh%l}K9E zgf_e$u&kbG+4q>1eT!+?*O-=liD}vAnU-D7wCs~i%Rb61Fot86hO(bekwe2CtSd?C z!{&uK82gHJ5mlNYy0TJ zXegjmM~=c4O?jyLQVP`?O8IcqP>zZK$`5|FjV_jhJm8~4Frn%hx==&f1w->EqD}{&f)OPW{Si4V)~Tt z3FcIJLd}Q18X7ac(DR=w^1g&Swy}s?K_OfpL@M;x@I-G74Zc~h;FD1DGSoaI@wqv- z8YuEV1yWa5s4gljJoE}I!InwNpadxd0_NW85Vpl?2j*6R(Yr`D*xsrzAAvxb>s;-b z8f*jMY1^3W1!!ox8iR^F&M>M{yRk7CnkUt=Z2@{?+&TcUZan7*ruOeDJMlKw@HN)3 zK=_%F+Cr8!<7lC z85(6;dg`>qSTNCm=>@0t5>w(+`;bTdyEVPdfzpsMlEfzo;fl;RkYoS(m_G&s0f%n@nY0qF*dhJ?Y`c~p^W$Dmbo`i~ zoosIiT$%J&xMK5(GyHgnAM<0UfsP;Z;|@o3*kEMRL2yOJJExy!@=FGKau~D{qhk;7 zX#})Pio-pGd_8{eEq*z`3r31x4zQfzm=h^)yu#1^_2P#7asc*|7v>T+tYW~Rvw)vW zibFvMpfu(^+Vjf+HX;C=1t+zfGMME6I50$cr<;=;`Q-qG9EJ_+D&Ww;7!tz5VIrot zw5&$QA3Ju2!zfAoX~z#RW;sAtpb+xl-ZvfjW5>{9kB)wbMmUhe@sUi5iW0geZ8mA? zv17y{O_}s#H6lAUPRGck*xb=ID)m#)W5=i+8(&Ox%0_%-7B*y=R0&sfg%fMj_+!Ve zQzo%}iKVa}@ltngt1r`I$7on|Bu6l!7-F5}rFN}Yn!$gF<_{(;f)Pn!U6M(0Ac`*4 zJUW{mJ0`Tx6O2d-bC3Tt#DVR)O~PZx@byFo>Ed+ZxRF0VENXX?;lg9bsELGNi2Qd< zxi=?LgvDHt124-ui$0LcE`LIrww?BjKRky$#E<9Ti5|U>}Wv&#!5Ep}%ZQdL_Wr2~5KnKNE?vAoa+RaJn0uY@eQ< znl8vF`kxP*?aKZ|BRYrTxT4tcU|M|M za40$x1j$C4cLHu5Ml^g$1fRpot7vU}JZBL9yZJ9SH)p{Y>+w|}k$eO1nm$b1`aiRW zJ3BcsQ6M*bY2ulR>zM8Xdm3W*b@344ron^Ffa%2aDySS$`>-n-FF1#v0h$1qg{X6Z z<8bb17vdeN1jhmMh{0j-#6K_8s(FV>TSM@q3Oxb`{Sn1EyNV3<*WiIA=wA2H5DN}p zQcOC?fA;b<5Z{6>6N&~Ma2PyIhsuR8n9FFm&j-v+2FHghJ}|5c;NAeHGh@@`@=xV1 z$`?n#^#n{PgG1HJ)Oqxf1j$wg10-=|4Va57)hZYs%I`G7nK}n-0pJb+ZWtCcxX$ns zoCCHSc@ZV3emcMp)}biczk-nuoMerLG}ucYVFi|nrA7I*iq*xcv*yK$d^MyIx7erI z<3JP_!sKQ-g2f1RVz445DcE6>xqgCNA7-ZyY+ERA(yfFsMR~na6ds4LSj*H|O;Y~V znVn^RwlI)o4uycpP*_XU?WQ!MS~kH>Hv#?7UBN&js>o6@?jj4c9T{Ak#(pOk7kDk4 z2fl-Vv{)C|7Q*j#SO<|%n`_S*%s?KfGQYL}k?2FK7ej>MKmv%U*UcIB;qW*_mxlH*0OTfe<@wLE8Uo*74i{J~ z7kE)u4rWI((Dj4Z^njnOWG-BL5^4`zdl3p(B2fy5CiLkjpn8+1!V3)rMaa@h-n*CpLe#qb(^ zpt&s2COlZLtq6mqUloXkV#4)aSvI=jZdpK9OKbW@R4EpIh(4*SySI^< zy}zT^iCGQKous89VYQip za-VfS+$gWr)dovAVg<4z@RaUo?hzZ3*JxLwd7TLq&CMM^VRvUMxx!Jk9EEu)%4_%} z0UVm1W5s5m94wb?hTz-<>hLP!9o91(IdLXs(y$<_tRR2T6Sa+gru`7e&?E)xg}L6} zN_92AXqK|pqc#)1-YiJu%;`FRt1^F*V}@(FIaQLGesEBSKGIwkX+zXIw&-+^;HVCl zS}2r)QBJksTZi%a3)xyK1w&MJL+Bj>Z|E*TRUo-*4~eC@i`EvJr)5Bi z@{eSKjXu;CPQ}29AgH8~_Ju=gbN{f)^n_D)3PC_p=1Wpp=4(a&ktSQ_Ylr`!EJ3?upAK3lU3XkV)Lv7ccW6H=JzP296*Bu*ODOZrX z>dGE~X8i8}WbSl3iDF?h2mo?c*k*j~u&=>2E&5@$vSDq5f_X2kSTD(<4d^BpUIY)M zzHPht+8OrheX*O$F98-45T2?I39+o)3f{rQflHEhr0yaUU0mInhwtblX>Eo)Nz2v~ zXm!jKh9Vygh?O|7()-#~Ceb^FfeQzjFh&9iVZ1{O^!gEw*h>r`yrAGpPYBn`B_~7o zg7saFp<2Lmn9;~!%~*0>2J~LGh9G^26|VPvi>ZfWNiuA7XL4`Lpu@?1DTkV^(^h2+ zQ`M@9Di=d3=pN}_06Om%ERjCY1L35NzOn8_0m8&2O zIF}ME^wQGYQW^Tn*73!vW3y)rcmwsiSX!(q0{Sh`MXIYn)dE!_Es>r8e!l_8mR`y& zlY70?9)~KQe^sxAlexUXZ&^;2^sVYF@e};(*MfL=bdc9MZFOY_05El~%$L+aIN=6n zev%qPVH+Akel}+NDP`p|OxAR{?vXwOvcy(bKIac9)L~st)r>B>^1h8VN|4l@)`i|9 zC94m;r^9cSzyemx>(4MR;N%-^^_*H1n_&-R-|2EqTa!|d%g|Gg)8|xpz0`CZsXN8g z7P)RZo10A2(YZimNKMh_RC~SE1kwy990*=F-Ihrj+qmGss$p_NS6F`QRSu^cu^yW= z^s0*3e$^4;kB!qzlFU)Ffug;^BA`%#v6ZZVEA0)Aa8K_5Mc;70aZhorEvjU;5`T{R z5-4ofFjoMS8=>$lf7**<8>3<1u$AHla#RFRRHA^Rc5>7SpirR{cGTQ_w;U(P6nS&u zxvne$jfiZX&~M7b=t_*Zu!>wW7&VPXh%WP&(;Mx|X!l*_Pr9-)f7-EmlkeE-vh2&e z37>T4hNj%)n4pUy9ql_18Ja{?K`GUbqZR{26N^?qN->H8d3nL|>Ot`0f!7P0lG;pL zj-19?_~m7O*r7|9cXXK_i5jUn_@2Wrr_h;t8bT*7EG!UFsE`+WZ|Jl&P3XKSTdS4p@P8P~D>8hj&vyRM9p7&H?U8@JnN4Okw|y zcMRm8!_OG^8Sv0GhacTGNGWrUht-SnpwclErk(OI{glGAQ%cEEn10H07rJ@-rbGXxa7v%p|)H8yg)d=MZ1S%Mr}ubTADwX%=#bN936$SaegO6I1JL(RER|3M{&`siZ(3imyR*BrcTv z)9Zh-!r9$R6dra4c$(|`w7rq;hgw3#UsT-%I6Rf0FYWCFmQbR zheACOI%?5%5+wxX@od1|S}oHn-9f+2-kYKy_zu==p7$o#k>zW{)+hA=nV zQKFfp&$dreuxkLp#w3R|e>qh%t#NPy&Z}B6sM^pTcBLjsS>+tgKvh4qU^5W!c|6auCZ>a+|V@1l3)8`PFDM{rcTuIyTi{`5&_qD358Xx2chu& zjbjJ8O|uuFxN%DmnB2g+S*wWwi&gGSNYq$?)vQqcLLBoK5Oa+qY_@@Yz{8IQhl>np z*&SGG7BSHnY?3Tky8|0vISy`=5Cs}tj0}zLaG>Z2b{tSNx=BEZqRS0fYGoPmTTfo=VM>yL&mmc zK6W4~A)`l{50>zk4)GbU(5?zYQ^(qRjX=o&lrE@s1)u&&Zeq`1E3sj^Nci)Y4jTw| z3;%Yk*_y~I;o6Q+_Hf02W|EZDl%8a z8DDnnRl*NBzUDA&ST_KJ?yrU%$0&p>wxTa`Tpf#!3@5lD$7b7SiTsdbj1XgD$bs)R zbU#e04*#nmhcn}kc*rsL@DQ@J3f`M0haBXUM+0C62HuQ6$fRu-t;4LN94sByQO-B) zU$|4w?K)CfbugdT;W&z<>N^Oj5&2_s$U*f`4u_`#Q0>`x$bmpmTjMer)t3KH@KmFX z#7;z{?<0(IiOL%<9F|Zo=%@ro2b7{*!SF=DAVKlt6kO@Uj8agZe2k7|P^lQvAb{%Z zrk>C=i@;2L1!E0Hkc?PJcqWDu$%)bFaTyuOkx}U}uIW)Jv8hvVbc3T-I&LDK7!R8$ zlL=8c6rn-Z9f?rBU?3u3Fy07;A@m_(kc9H15N&dDy+}; z3a&yK5&y|3#92IQu!b;Ak3z)jMMeP*M?|5JV1K_CFddj~1#hNCA?P1fq=8@@#d(VS zYYNY%2)iiwPvhtA$;#m!{hI~2FBvSC4i{COQOH)n{LJ9+EoEvHg6{?uzFGy2j6$3} zQM2S6%J(Rg1ZOif-C$;c`vM2d!2Vq@O7M=Vw0Nb#;D}5V z45yj@i5hQO=l^pxo{k&-e^cXWs!)xm;|(>JK2+n4#~@{N5~|GG9v(`Vi6};2XQB-A zeL3b5*s2s!!f?18`twB7u}c%CiKE|t<*+7W_5a^%+ho7R|Fw3_8h_buN#NEy7caw#X6 z1#q0Yy7c2Zn8PBDX|0&(MI3Gq#FuJ_b+lptinLP3X9UFVt~)2IGxT$0ZNz=(sTYh>7M@+`m0b#Kp}?U};BV8BB^ow}LM( zbpLlcF5BzTc>D@AG7mb`$&9{)W*(x;d7;gWcb$Pug)aCb?1sT%!$X{K`V#rro2_Cn z_#d6AGc&ON`l=qdR)G7y9=K+JJ6;bQrtf+^aJGPZQ4bvUjg9doBXFkDYXi^i>WOo# z2d)YD=UERN>gq%5fkXes)f1OoPh3ttaGfCBg(h&ljlPi$u(}S;5;3lSsQ7*d{#|4I z#Cj%JD-NqR=TxEgqSwMl0nG~!RKb?rkOcHP0qZoY%iHwFrL&4fxPVJ_7Dfak$_wS) z8zLGOt?fZ*w=>j_09CYN?2I?e2`QMhm0ul_XBezS-w|Af-tyIj|@3{ zu!gC1#4ut)v0&IDT>(5;{cNWn2dm??L6slDU&b>h=I%&5rBM@z*iw;phG>`;Akh#! zv>^{Q{%lUdx?*#FA*!4f4a%5ZNdHZ?PHKnFHXTS+`zQ8hCoE1IyQFq16cc$jP)VVFtQ!PS9KTi}Xw zJZ6$}aHVUjaP}U%PBY1`aK&nCCb5KIv4b*`Gy{r;<_Hvy70e{KJ_UzXW)fWT?no#< z4mTDk9MhOda9=Q$%>arX4=@v`f$-E;@*z-YqBN7N1qxpzW|ECSQ3+fT<4t&_K=}Y= zD}k*Kcto2y%&EYKDGRl>I&DqZNN#=v&+ouU4EjCq<&iBKJg4kE(}WvDh$H^7!4(C z)YGP?C>@d^c;cgogILq z1HYZ{yA8jU@IzgAG2DB>{W9FUzYImbiom-1+(#DDl^p*-vdC`Ahx z|0y{hjt}TlT6OTBP-}n)zz6^?oTGpKm&ep$4AIeX9_kAC{%ke2(;ah|Y0 z#>y&_VvmfyaEsxc9pz-~2Y)2v@d6Ij4u1Ay;_-070Ql63sNa+x+55o6xL0d z6uS|0+qR_3>EbRb-2InbpwYL}D!$&Y8 zDJ)<3`U83i?%=cmD&e+v6~3ED--6Z=`U=8(bNGpS3FN>_qt0xV>1Aw_37TFSklQp7 zCo-OlJ~<%cG9!gO36i7e zYz_C91jCFHnH|cosX85ZB}YfbYg1z2T%5snX-NQ~&;7pB@uy=V{4;;37DR!{}XUacpGdA_WVLxYI4;=PU zPW8ZHn;%dQ9JcbHdf>VME~Xwh)ERX3z+o@4r5-r!4^P(vhv~Rg4;+@qlX~E=IyJ%< zoxqtYUxZlK1BXG{)dPp==vWUNY6GtIz_kEeKs|8SK4R*D!+Hh!xyYHy7i>rQ^}t~} z`luc_^lxoFaG2h2>w!bP@<=^#*Xn`8cKNg(I4s`=s0s<3sr+jR&zsi+hmam7aJ^L? zqJ9_OiXKKd!Hi^rq`FpFfpLPpY_I^WK}1Oc{$p99KM^HZ8tL$}B_9kxZ|S%pgYX>T ziuqwiCI%@F{RbB3P-n-sZ6=9@7XY&3n0q{PpTXQGG51-_9il?;iOfBTxld;9u=P=n!$2s3it zUT;E;f~zy3aMXkPILUYB>@~Ec^+z6t3?PY86}q z2(=!rL4?{2*APN&hie$2_QQ1yp^m^6V__ya3D-zMorh~Qp{~IdY63jH2Uo0iW|Atn zLg@na6s}NSK>3aw6EtcBd>sJR_@zW8OX$fYN_sj>G>qEgQ`6#7lv7e;<0SYO&tSnL zQk2Q5sgvQG0MY5Gli_(Jfg*RFI6DlA4~a1nY!^c&daIIvQMG zh$~P`uuz6ZA}&@*4?y`#6pI1-0e?P>5>H}LCT1v8QZ>q`cx7S=9KMs7GA$}OF;*Fs zK1n+z4!(uJG7{4W9@gk^EIb%UnWCK%4J#iLQm!v%I@%tW_H$`ZJ|38MeHWz4QLI(&8^QUoKC!dI6}YDJ#H zG*r^4cZG%vSHdS4krd+Tq5}kUUwhvmG+bc!%1m^Nq%a?Nvp~O}RcnQY3oQLVH(WF$ zPr-&;a(9`~a6!!-__7t71u*yM;#?GTJAI-?Xtzq1WX(5y%m4jeJQux}JapTFaXRX(@6iSiGK`R$If)Pofn#7wEQymsfYA2K;b%S6;QaE43_cp@IT7xq_D@}>tTwr-+FtY z6sa2oBa(6;Qdq0ey?L{)rGr4qh4dQ)Ba%XOmp7ruBz7+EB9tO^gJ6iSKaeZ^6r4=j zfcbaw>2P^hLf17yB6}r+!yA#LfqMbBRq4_o&kEkK%$90hdF8 zW|9FXDH_9AHrc+KoEjBN&s#(?#|A{1c~3OA~i+w66zmY1VZJC%OxY?zp+4y*Gl(-FwcY5(E#-faA>V2 z7DyNIPRDu32h3Lt4%ID!Q@Oj5)&u|1ZHC_^z~nJ~KB`^}PV|*5eEn|*%pL}ZuM&!L zbtkLvom;G9W|WB5(s-pmxv)l(QO@z22| z&W$uhHW>8J)fCRdjWj+Mhw;O2<_H~$pNDwuHToB73g_-B@(*9olT6{<#B09Mzv-rM z?oOmzX5)jnLQ^=E%8T^G3=q@txoMo6&_nbO&qNeDl3o|_w~5fdB2zeLQSp*lo71Ln zDra|L{4m_xCULOWS`Zlw_lZfIo9ML2CV*?eYQ&5@tygZ&LjO<^Y-SSYA^HMwU#RGv z0XKme2k`aTRrCd7U%;gUW(R7s;5eKcoyDSDSSkUyV}N;z2?EFCT!hV%%#*|N9Em$7 zNQiS)37ZG8cf1Ff0tUzR2VU;v)k>x5Ue2!oQ_kS{_Uq)KVnJ{}55Fsb`4$TX9EbDr z5`~L@b_3>-F%EWw3lnk|aIXM!qZ#@p@K5FHev`CKs+syyY5kR)FbJ z2j?uBsu>43C&1{9aqeQvVgTTl0p^Y|4$epwb{u^GSH)m}B#zW8Pgh}eCjC&C<}5;h z^Y9Xt2WFd_DV)m9U05Drfb%zna}h5vL`CE?lQ>cLOzO*aQ#h4MlwN$#JO-Sy1rXr4 z^6>N&7Ow>N-gO5|DMkPscKak>#9L^{7kIm~`W!(rI8p1R3xkFLE{VZ%;i^1DA3sB- zRs)!i>fk)xg!Ky5^HqS^RR`zpDXh>K{bB~gM31J!%UP6O#9cCla~4%+vf|^R5e{bd ziiE2$FdR(ZlRCJ%-xkC7@>3JI-f*&l8+ybz>`!WpZ~{wt5;00jlA0$;(K^Xm$Zh*$ zMCjL(1BxT?1uj_)KUkOrS5zqJ(OF*t#qGX||M=iTOpZ_S-O#JL6 z9B&p;q7Rho{mfx|QEP~8Yxt@MMhwpQ3adQ>3jpDi&i01$kRm(eG0(_TNS_jpH{D(6 z*DpwrM7Xi-c?k_WMhxLV4n|sxYQiB^9wj|rW30YVM{Z0i7o99(Jl;!MXOb^;U#*>zUK$#5c%EqshHawCAwN5}zB;FDe=A9Ox- zIl@ptMEqBx_ZE8zpAqN$geDLK#}%;07(dr|!g0y@wKD_AK^&Uyq@)MuW?4xz1Gq{Q z29*d7EQN3Eg(NkgRmd=!R2yHDpU7#C-^wG;vyGqQ_i~^Ok@f(UsRdgBsn1OHyOBH7 zMxtqcix4#4qgCYXP4`YY~JoOqdH* zBCPgo?vb{JPoV`soyB7pC5pgu`1DZFNR;PL&>G;mVqqdgi+tHip_>3CVu(MLZQ&ob zOxhl2aTHTTBs<}}X+e&{v7UJBG&#&fJDFzddn8*ObF<7PnocIORmQcv(#tBZ*7G~if$ihKz9&!OHzL*^$;Ykhu zK~9b%S;;kIDlN)McfA?Js5Z!!);Jk7WUhjBf}HD=e>E!+axWx2A)m`U!j=Cq=c?u=T8WN zlZ?r!<)6c@Qt}d{hlFy90e_lgrN)z*`x+J$viYbybdbGDoeGe~k~AESq_<6i_cZi@_^$V^#B3$mX}VKMg#J1Xvbil_ zKpKv6rt&mrXF~4<;QO|UkW&ye9%%hORK~(k@RtCRBqN167E$63i50bPk`}>PRiL}zAX!vn z2<9C@Z8d?x&FHjR4bna4j;97fcSb)FcED?2=zPfOxB8$S@Q!U%Hpmfzk?4l>fbZ=> z(kt*E)CbUS@f)J#HUwCrh(OKFF^A)?-1M1_@JZODM(m~z8#oC{KcWX@s*DCB1CPu6 zNf2fJJPC&RqMBuH0b9MPFA=;;u0x&mMvI4fR27bxk-G zh-ipy1%Igm$aCOS0CQ~F@Tv~Af-~h6hMv@S{ZQPoZ>3kkE9r?>3++SQQAju!@?!eD ziayV8p`p(?Z4L(<4dFatdW;myhCLgwb0Y{39Doca$%a5$=!3;s?x^$W5m8d+O|plJ zJn0rN0uZAXx@!G2M}3wPJ1~&v)=FpI$G1>>$UTvo4gE=Ol@$zqpySWOqghq8j7n&5 z<D)cVmv6UjP1VYu7>72xatK6b~u)iq? zUbu{xR(d}iU0H`Sqbo%ocAR=&xz1k>$F##?)o}DY9PqFAwbA+8=zVQ<{xX$w9CU?%EAEATjX)I4-&xHRgHl0t);o<%Do93Kye zG9Qx9m2W^_1@G$)>I^L*06`kqN-bB_awHsFz8ETg3tf$VmZLsRP%dwwT$ucZ{A9mE zfEF8C$D@FvBgI0X=t%Jj_w*r9o8f0G@qw(TJwq^18wd}#8PSne98k2>adVNV{ISXn zafA<9=iX6R1lj3_w$%;c8$hiVdwY81HS{1{KEhC@6@;;cgu~Wf9I*APb38VV2ER3h z6P_xECZ(-LAlgP;#cf2*G#yXMo((b*hwd4Yl~Um>2P6`vs_+@>=%4@P5|YJ?*J$04 zNqgZHelF_Oov4vskTIbA|RrljzIB=Urn$~MFQ%<>Q^ zmNA zT+z4Q-PMKsIS89L3@fz}0|93NKYmhognHis{* zcDjTFpDpJwtkhhFgZ4N+tdYU*|4f&Vpi~-%VWr%dvOvQ%AJ&PNRR`!25|mPM7*@)R z;b5=BhvmLu;tjfl1f?F~1zdA34<9k1gE3ej^+1w%nJytg^i>YShSiB_1!!00W7u-! zFMH_{5|pyyFs#%7rp2M5livw+=I13~=4B!;>B(VOsi%xT*z5AkIyw)$*@-S8!LaUf z7*=Wz;}7agGAYgnVUc#Wk{+f@NKk4khhe48G5(xGU))k!cVuq<}_VG0)Hf*a2Qsq6hYw7Dk+n8hbuz7Pk1b$OGx04WH*OlrFt{v zu7syD>3O)KRJm82Ldlhv1BYRyer5dWNTkrpi&80;pM}#UB=ARanZvMB?=b#!f~PX+ zUAUsu|Ht0Dz(-YG`{Ogr7zT(=)KQ|MBoY+_g@N#hT16lMm8ZOH6$A1xL=Yr1fC`A6 zP&plAX{)WZ53RM#?6afu$6;W>FO`bPxy&U zA)%`}<*}|Nx|E85tCOF7?rE7qLRWSttqKk6DK~~E8CTR)F|5b_`1{Lb3JD%Uo0P|f zb+?;?C&M-prrwIK=2ecUbElAS{>0)%i$TQJN!Haix8*+t)JT|pBAQn&y6vn}jC(%) zT6wIiac=ss+ve5E%ir02cW-qyRC%nc9xkPiab>>_xBXzkZ~LgLBIU8JFoV+=mZeCT z5`3C<>ys-^Raae=$GTd}mxt+#D-vewLGyIokGJ(zSL~9ukF)s-6*c&w|-$OJP0mrQ144A)2As~VuL#*zVMfVv91`A&VK zghf~1{>^QRlj^F?P5Gp{I?Hu6(70mzMpy4t-17QBb=6mSYz)8U`ZLJ5viX(z-iwO| zsjIchV_n_urcY(SRp|X?4^^tGtnye_PlB6Iz+HHDY;Tz#m#N zFRc-t9eJU554b8k^~}uEvL1zY!-eU==N`5obHdol<=WJ`>nX4rp?2xZ2yW5(@(y(}lMNS}wWEgTRJqxBPmT-7U;u6$bE@SXnGwz0@k#QH+uXVv&3f*9M2(p2PV4b7W*zKU>oEoP`3fGt;W6=(tHCtXrBidT z9Y#(XDA~RZj?vCzWLhX$eKZGcs9rSbd%(&#z?tT?v+HKf_j~Qp z42!JCG24RS)Mj54ax4t9o+RQ0tR%y*81qSeJNYsXm1G#S?B;L<>B8#mm_~n$17pFh z%4*R%`XZ|&+g4z$66Ti9zQW5p8-mZ3zwQa6zk2x?17vy8bVHqwVKE<#h2KwXPJFqK zDbLC{@cW(PAkWG;U_#U`!veB7m`m&PK1laiJK$7uaHjy1Wth90!d}Y6C_zi+Vv{+u zbDfW1EM=Pj&(7U8fNZj|$+VX~$9}5u0V}lTM-@+^U% z!1y9z7>$Kn#<}XsXYZ#Pwj6u&XbT#@82Bj3dFbwkiW#jm#>G$YQp-=Z-Z9GqPW=SW zsh?_{vSO=KHzuZDDA7j6MAq|+@sRkFfnMh@D9NM-pQNb)yD!;-bbc(EM|O(#r|l6j zXi##HnV?<98QPRGghB_8)+EdW*uxc7lL35Hz;W*P11kHNsh<7{% zjoo#;vxar5+pvj(hE;}!VrNf5(_MLN4BOqXL_xy_gXY^WUX=C}G<%fCy85lK8S#(z zUR1Ss3Yzkrq3Ytrm$GWO-^n6Zt@f~gOta* z`gb=~ON=WU76p=?g61~mv94CT6j9LF_xjmi{?tX*`0|ymP#){*0+L}U!1VI#>u=wm z^%OL=g*+l;T~R$iBMKTD))()%{uNI_V_VxJ)zzEsn+6p$RQY)dnk~v>!}_61ISS!< zX}J8~epl-$Xn1lkji;cAxNpj?Q?T8T&Q!k8DPP2tFFq zor7`vl0{ehI)`~yo&(dnEbPE<hERxA=^iV)$sqeB z73!;@d#rR_h*jwxD}Buw3#+f*kk^ptx)7_w{c>tCB5!I=R8ym`hDPe$K_*FYWOOL21W%_K|cn~&6V!QTloeL6VW>C zX~_2t@U-UgC4;@`x!^kzo-B9UZgy!*xPyYDx$%hjz2MnT1{iingwK8|3^_CfKh$35 z?gQU{aB%(U*TKhq;QP}f7{@v4hEM{j-wlOGn zn(e&JsI%Y9$K|KIzww>{pJ>ooxU-lhO#Nd8_-_uJBg75@PsgwexlL%N*`EfNA`QfN zDe~>K{lrXFRBu$tSk|tw;Bu%CR<)z8g;`6WnAOo9a6M3j9PL{$M zPs?N+WVecME@E?mrCFK%?Wq&%J59tMCot_x^)%Avni%FEwl|M1lb=%BCpWY_g&${p zY0KmI&0JR!iZ|W|#6@11g8A>XjI`W?A9HLiXYv<;gVg_VNUi;D>nva+EXnlsdalUYo*{i(L zp!0EOiff=hgdE4OS?MQ## zwl`=}w>Om7bZBqTB+(3L9$kSTLd~O1^pUiDvU8)c{({w35{q|9EKawO#JWh)Y#>RZ z1xmx-@pzSq&I`^TvR$zbpogtM?(f6=++?o9vBk@s!&qegnmG_jANnx!*^paWr=k$W z*W8R`$kt$WWW14wkG3x@wM|aU*(`@Cf7l*xTnM|&Dl9KMvOa8I5VJeujh$fOTpDv~ z%cKyQmt9{~YzXOyL zC=1ebOl7vIk7>ge$EuiQsLdlN96koh!dPwW# zW-{@jLQ7Iwr#ahOFSJP#HH`JGf6UHkn`~neb6(Ck2~8uwD-7w&Y;f71E#89d>x4dyk$cF?r^7 zaIx8CQ%HNhI$_6{Qp{SF}RWYDJBT)+)MD(KB z=q^R~D7sJ4&lEkNXuYCG6>U)TxT39!o>H_;(esM7E83xGr=neob}QPWs7=xPiuNn| zND<4t=g4nK!AIUGaAT(~C>HevEFFxAS`*0*mllDzc$j-`#h;UWhUOC&{%mP_kdErD^KrpuJTw{55i}f7%n+#lyN=0+q&+a-sdM| zfQf~yt1)iqqW7VwhvJW)-+%I4Pw&Gss%YeZQvWtDC7@!t0pijK^yYit9o@w&SR!{X z-e4$kiI^i@>CK(bRUPf=hU}E!t|1$rQ{49w-4I1ZOuK7RudefSLp_woy876SVX+B| zf+Grxj!Pwf?CFNyRUYfg46(s?sBzUBcfNbyhWdLw-O%4bp)ovxX|e1)dOI@Cdi&Jx z`SyP`Ze%H)lswj3nm8_R@6snzS5GDd9pt=eu||YS*}iM!r7v>*AyFtp-PG_Xe{@}V z6duoHjj*#ES|b#@$)m6wS|dEEJby0Bqi}Fxjksc~ZjDg5_{18ad?}Ce7t4U(f`{9v zsM|6whgT-2^CtdMB+j|Iu83bBZMlHVeD>VM{wb+ownW23v3d@Rk_>}utvKO0Y_$NvkL-c7_yl2BC>KHl9$WFl>J`Cp= zp(tXWnpL`d>Z!Fu1`YMiQDgHO3VjJb9PQKiKjT8lzkeok)CLB(S!1)j3zh0!siUS# zAzB03xYovsL-LQn^Aopczz?9|s|+4^bUf&XptU^FZ82Hr4PSD=FhDir>j$3ma``HU zDi6WQxF&<=>Ri4-Lo5A^Z{r~Yp2hr%!;syCJ2E_U+<;Ta@u*Ew5qNwb`0%$kB7_c^Is3s$RDp^9f1PKWi|SpgpH zdSJhTx-a`3I2$<-2tf+p!+H{J?d0sUt{}uq?oGBkgP>Dzs*K>A)j=YDBoKS3iBP%H zPFC6|ph3oVrlPbW2Z;Hf2z^75og~NIb8ZARu!Bef1o6(#)^u=e%mSZp$tTPfEzZ^% zoAbOyHe~k1xKU9+#f42dpxB_O5*rv{ldZ=40l8OLyzw3qr&TnMC*u8D@sZZ@I% z6*NDPHzrC>ipcA)2P2bfDz?U|$acwIUEwMV@CMlR z0$Y;3f_-pePsZ2WM9vA^8gQO@&+O=8ylU%FzV{5L+pyh6pZ8MdG!>U-mz7k#v#i*8 zt+lIV>9Zv=Ix)>B6)#S1=(8-AdNMnqIQ&j>! zsK}fNyqrYvru(%oE!j=CXfvD|RR4G*XFWlmM#B5DT z-)vmuthoyFQLW*8{qH>yHJ`)$R;NIh>5>$(Z+5}P!gps%`UEB%BHHa2a~D@ z0VbHL_LcFrwsJ&G$X1&<6;34nmn!0%k%KX0I~|wkT3Ey6B&}l&VrRsc4v@vlIjIDT*#qbcv#wismS)Q?x+QVnr!M%N4Cq zv|3T4qP2={RJ2af&5CYS^c_WaD7s70J&NvA^fN^dC|a-RQAHaRJ+5f0qNfyXQ}n!| z?TU6N+No%lqTP!2C~8ymzM}n#K2pR%ljI;jVuE6diWTuoEw%|oYy*YXLs6Nc3PrsY z^;0xJQKh0`iq29rT+t{+6c|gmV->Nk32lm^ixgd=Xr`h$is}?CP_$T4O3`vfD-^9( z)Tn5!q8k;hQ*^VUTNQmr(H)BJQgn}^`xO05(F2OsD|%GX21So6+N$U&McWiTuV}lX z9g21;+NEf>qCJY*6uqx#zoL&6QHm=0Miq@9s%QjJMI(p;enAOErHUwy7uzyL6^gjG zl-TxDG(b_MBJNWqd}k>du4t5^F^c>WC%h8G>bR+qhkvEw=v3GLD8lGSanw_J%9yw? ze=&C|h3JY>CrU8F-@ot>PjSRnhsIMJvHa1nLmUaSpF~3Y@rNZm#gP?17lmwC3&2A| z*@x%q(HHLdx~DjrWH`uUU9m4q6T>A((=n`j2Rt&=Qyf9iXG~08EhQ5S-zE~~(1Gc4 z)APUhk*7Gad(w#F2-YE%M;i8NBjNwx9oNo_ztP=O3caN~Wv)VuLI)aA3Y`MPv~AAb z(8W^<-AD$QZiu0X^hUY<6oZQWoZy6c@cJubhj~gNZb?Z~Y+U(OTYTe4n9?DNBf_Vh zjw4m*o`!Eqb0{v^d5GRTJtA|wD2^ytHKKdNW8?FT8x}<}k?<1S`4;!yf9~ntqM~Ny zv97wgl(=!#8+YdJ*S~$(Io_h8e}F<`cmhhQ5>UP4>%Kn!1b5dr|Bf$)$GD&2hQ+b5 zr=*&6-{Jd62_3YOYO?DO-S8ce!+8{bxvdeN-`Yp~3gw3Z3bY0bXD_~5X@!(jwF@EA zUo_j#lc$m@u&l?*!qpuY6p3)&W~C9PQ=x!W3wD_U;8kg?-f>yEg1jRR&$(Ur(2?Uj zdsCWxY8S@HJQ_b4mxI*0Fn-h#84oz5k~hpFt9k~EdAb=xlaT3=&kv(d2pQjfDj5dm z>0!hos5c>pUv1(&2NTWk)Lx#(X|-3T0-G9`L}$9?vY5#D6e#psv?hFML8STAC;DhK zBs`1Psz^R<6@S%$N|%MJ_)AS$YJ`S+mRqX)-zzO>Ip8zVkR%6l(5!~-&+}*^-;`$3 zd|5W0&pQGw5~_IWA=^2CF^=d88i&{YJ=QJQ2msS zL64C+qbSwQd1p5)LpXq7ylnI@i$$7A#1SU#OUsNsR1DrC7zZ2VW4HC|dN|ECZq#6P z^JzKURX=RWPQsNi61f_nA|rGkZD@?v7=xzaex5;daX;Un+~`8m9E|XVMnRLh0Md1T zq$f}R&qdl(8n}_BkWnH{5u`-=Y@iEFw0M_DUjihNz5*yO(q`?HPPKV{s*no>*RB0G{Oqh672ej{}kyxD-fUU?EWM3rvKf=lskE*DO2x(^eXdF5_yH z5-kh4>xv*Ew&L>lT@?b>cP!hD1xrmFd3LZKh{NJg>m~@<9|L>*1`ZqOgo98V&eAf6 zzgU}uZQUp07=<}DtxL=b5fVc_B2I}|T3kO*ncA23u0PB^$z~ZXld&8sb9Pa@@q7TT zLvmx@f`}l<-cGlc0kGi$r{3h4kZ9qWAFhB(9h)6pM$KWI7LgV%!g0nIw}kL3Yee>9 zDMeFF6bnIo?;C$G5`XZ5aQwl^o#GE(8<~#n+%KFYhk#h^Qz;TRUDV7^SqMv@YD!GH zwEPI(Www+!gIZ@bt%`XIRifEQ{Gko=pdAW&Q_MWNK-^vdw>}p(6`)d*y+vBi2SfZJ zEU1d$S>m;3Fo?};Swk(S5}Fu^hsWZ%4=h;Ui_Cfsma;@>vC@_UjW@LGai3t& z4{#S3zXp=#>RCl^Dry6oh$|5~8d)wSyADYF<5>1A*cOFu1Ul95{Yq_r55%=3MWN@^ z_HDJ@3nXzVM+;wN_*7HU(aNrVZi~n^?*ex<*KmBWse_5h55H4JF@v9ZMl;hqoNo$R z5BVvRp9=Zu%^$0*uBk9bKJ)@<5-!#Mu;DhV!K%E~VD%_K(sAiEVe% zyIU{8VFuaZWzC%rK>*FwY(GNv(WY^GCe_F4+S^f5-0XqdJzSA>EQ+kvD!acp$l|EU z?L)D6s{I9i*|>76k*f-`oyTPMcaGoiTev|}vj%>Lvdf}WM(#&I)|;C6gEj5Q{jQn) z{Zofz_Mee{8-d|B)diIJ8m>RvQqvyFtlV=(d<_>TIc@O=p%0HY&Zjq-1O4NTmjDen z)b!t4F2qB9JezK_y0ln*Nqc&i|4X*HxyF?*j)rgxj=YuV9g2jh*0BHr!k zoi+(#53^Xp;wwD9sf9bvXRCKL4|j{FTUe#&@>Nk*M?*Lle`s{VT{Jq+8I6XmB)-*s zc1HJT?o0>uMQCz6$p;LjFWxv0Avl|nInG6857XzCyK!qz?`U6UmmtQ>IzL7yOZ%B7 zI&JNXZ5IP=;~w|zQVUu(gC}!cF=EX8jyHBi8&j`G_3?Gryz>v7Q}tse!|0eIAipFu56Gd)C`+{qSHL=%Zr2N!liP_YT| z%3Q7UD=q!tqa?cVYQRDIv^2*jQ=3{|M}YqY&lcu**78mGV4Ryk8YLXXI;D%ik`Lv?ms6M6sw9zM~)U$dnCpIf+D0bfqUrAs&|-fJA%N|8-ir!bWU(rX3C^{6k zQAIID#fnN4B@~q^>Y=Di5nD3xxwj&=Y(g8Lh_y{lHn!XoI516>U}Yl%j2lo>#P8(GEpB741^AThSgxZHnGkv|rIjib7}u zCG9z%K#;fO^SdagFN2r+uTV2wgzFpN`vAZ8oS$Cck=9dC49|j!6_qGTC@NLdLy=$K zf*_#L#7&Jn{43`Num?&L#nsXLfG-;k@{}>LU{WrHBVli0>8)$icY5;!W-E_%Wz(z3 zxS|Heph35F_vQy2DgnTz%+-jmb159&M8a3Qu1@|^$>+WK0c(`Ux?)R6!@P)ushy$w zNq0Zp=FJcIDJV2C4QqiUusc71x*F!zf3#lI=*f-+1 z!cxkPXu9HxgxBIuZwCD8;eOs6g5yA;@fMcWy6@Eu)JV7qcc%Dhp?f!Za|os=5933_ znoh&gC#TQwDVzA^OWquU70P2>4RQTB)VQJ^h;p?}2fp&Lx3HA+5oit#(Ut$*S(YQ= zGTfQsFYSA~{7{{F@QxeSVX*OLc>Ly)x7)lq1a`6KVa8`LhK_Mv#f_`pxYOqaZ=8OJ zH;16JpC=F>);Djn&a&Ywfze+w#PB4LI@Q#N2@vusRiT)C&l7@j~_M}RjH zW**UWsjUAu*_c#Z4K!546L3X^j(6(WRmWd=hHOkKt~kE0{rsPp1|AZ_&zmp$B68Lf+r6rG&48)L*_lc)I zeR0dKY2&uw8NL4ulOmCyCgRad3`^rAjOcFf}MmV&t2*Vxsh4 zp18vJ<}M$0W0N;WMd|wT9N*W@$7wdQ5SAWYxyVaPU0-bC=$pObJm4`eQdE>QalYY#3f?^M#KK zyhmAhK0G-v#MR1kE?+Whp*tDJooG`=BUtW3Dk}|b2zL56z?`VTF9tSaz|R=BD*5|{ zE-CNlGntDsC^^g@5WnNQP^q-1@_|vOe1qn z2Fb@$NakebtHF1&+x)XfCv#W^_#4g;=jSc}&mHVu!Z0NbUzL1S4H36fa7}?H_B38N z6TU&g)xeVw=2yVClbtshetnI91FOuly$uJr2;G2N-L3$eN_mgq5fhZ(-U*%qE}y2$ zz(GthHNAnlBd~Ma&pqF_(A*F9b=KG}f$O@^92N$5%R%zpQGl=ipsGNAFg`!Y;VU$U zWi1loe(;^af&+6IuEML8*-O^BDZwpgq4YWm>ua&YX?@*9XN&n(Iaq*Nf>mE#;7pt{ z1jaF8o|)aM#N^mCgtcp#1M{vc&K!tBeRiN*x_HLs%z?{O2Qmj1r`}I)(1RY#T$K_W zA)mdrLKFhca8A8Yk5KCHX^2L9gVi1tx1KmJb55uA%!h|Ll#7qrItlBbT`qC%Y^jf1 z6;7t#sLsOBk80NWv+s9%^Wda2LLtfmoRnA&zW?=FNA>>=~9#7jtLV(G|_rkMdop zf!u&!r+T+P9h$~%Xs#w5n$XAPXRG`?B|qEb=Xv?r&L66auk9VWu50GnexdkHuY%NE zy(@;FriKAc)w?E6t1Chp8eMApGMlb#!m?91|m&s&`;ny89H%UeG%`vR~hE zJDhQQ`d076EQjUCu6bhl$=RdVJexYR>PfuNs?W8KO71o4%JaZ=$nX(yyiePjC$4@O zdR%&q|r|!;N(<2nWc>|L7TN}$Zu09Y>ABQ4S-_PcDiLbb{j`clcK5kE+ zWs5>?!Re(1=a~8~)~lH1&W_vdoLiP1S&>A4k%?O-Bw7w&y=6@`9`yR80v2Wb*UO?v>9}561Ef=_0r^N7n+JgZDer^C0=w*c^6d2 z^gjMjr_BED*m3|5nf;ww?#FL^>_SuMTYe1&#H5956SE@|EtKdrS3kwTnya_rjvs%G zZ?4`U#GUf9OMXlYnyQ~_8nT0|M0xktB(kz0zUCQP)|BCnrSrHst16uREx!T^I4KkuUvM=Tv(?*L zC{tTs;pSHQx_OyZu~51fe!7OzJ@8W;N*{%v!$Rr9@KX{>cgD{V?Ww8jw;^#_$7efb z&yPCe`#CkeTYG0QX{Dw#i%Bari7Y0q)RbgL6gxHCn*kH6T-K;lWE!{DBg|WxJV0aW zZc@qsyGcoW}EI(2_WvRJc!+xh`&6xT=1+!-Pt(lG6obi}s z)Or)YRg`xX86E6!gXZFXF0MrA_qdNRXeKgmBv4W4TR_szJOd=PoN`~OW?C4L+Yz{LFpiyskL`Kl zNk`%>xbEk5r1}>3BK}ugZy`Fb;QAQXI|yR~E><4qDKE-IjsuNZbu2L3HM;pKepyMU z;`d(>kN?enjKO=Z!$rev6^(=-)?PuZz=Bu^1hG&E;$0AngP<}+6^dB2#I~QJ0gCv2 z7TaNpSYL%UToLP$&=_|?V--zQG)2)xiY`$!Q_&nnb&3`!TC6CgXt|;lidHLXRJ2yn zjf&POx>?b!ioT=h4n=nRO;L1_qDvIbR5V9Xog(&YuQ|<;AI|=hrxj#vqM=q$!upvT7G)5T@K13kI(*?}-8`+}50t0O)r{?TDKX=U zaw5uxj*4~pyQdZ0qdeBt4DirU%n%8mf;;2DmAsx-a1tmqT|(9sr{dCd#T5xthExo6 zXJotMY5Zm>4_)~+QH&S#gs{I1sA9#mSG%e{?RZdVD9?$6hvQCf4*SKQGoDtE?rFM( z=rheLZdi;(Bs`sWT)#Wv*Wd88g4~CMrdVD5hY;LV!@cpubUyW+k1IT_;ER5qz*`&! z8&AhI;pG9p>}b1L|GSIEk8ek_bj7K6h{jK}RV-KN=Hm*cSP3brg*)eWhdk!f_?=Fn z5avCR#~`LG4ZB9(s^JG_)Jz}+U9f}HapkWX{)cfdHz})}y=je5j*}ll6u8nd;8!SD z=218(wMKYuvXA%`3Tv!2LOIPo;#Vl#)4&>ms{%1BtSjr1=W0{XRo+TxhH*~7)qn8- zLr;$GMw|UPp4XR}zi{rNd2?n#m1G3%K3$Uc+@bo&*PV5p`xHOo{@^q}qG(tQ{mh~z zqMva?Uvy>dJoKR#xH=$DEmhcF*DxFFJPnacEuapf?#tNvRyKPyqY{BC!tKrbczi^| zgj3|*bELR5#DQPc~Y( z!7_Um#=oHf??TO>zX_fnyLuw!8yH+G{vi1N49jox(+9)gjeo%-0*wrQv&&-`E#JVZ z0rr`{HMrWqH-y~~7%%;TeEixD2Tz^L$DfY$KXyGi{i89v%MJ`iknXp-ei@uQ zC$k*`|0PO&fLOT_CbAOY(Q3O8C@;cLGR-KqDvGGH#UJTulRujjX0KS}fb2s{)Y(6h zw5F_3qJDweUImmJ^@)`7Pc3e$JY#&-3-NDkFk8^ZHagG6*IW;FC*3x|d2XHmeQ=^0 zmX&zx%}lBBb_;g(flH5Avv<`wtIzD3I%DL7^lxxBT5IwkGUw3xEN7&A zZX)T&iuu+

    ^NL$?1Jhs}59w^0)SmgE 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%0DP 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

    A?e>;s4>gHPdR}kCyk$P!#QG}#9 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 z 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%0Ah=P0`Uyn!yxc5{ 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�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

    |YRIqWo%XrRP;#iv;>ttg?W&|m3 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

  1. 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
    QF;R3jsGtQ8B_T;fiwl$-F!M$ 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
    Do;1^Q0^Sf#V`jU*(Z`-sk7r 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 M%>aN1@27kuJ?Ue!i%MFvdB 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℘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%0ACcu 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%0A9YW&o8MQ%#PmYhV+vq9$6k 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�J=12zMV@~ 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

    %t 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
  2. h6nO>q-a0S1IB>~%Qlppax%o6YR& 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%0Ag-q@=x_^B}o@8o~o$&OI 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

    @l*f0A(5JY!;p@l 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৞SG&Izt#nY@~p(-Gws<)lfaiV-_a(Pp{abZlo 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

    %a%~Wq`IFTV0 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%0ABA~^W;=M)& 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 E58)x{YXATM literal 0 HcmV?d00001 diff --git a/curl/lib/libcurl.dll.a b/curl/lib/libcurl.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..92dee0ae787e6c88c8494a696a1401d7848055f3 GIT binary patch literal 21434 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 DrP!st literal 0 HcmV?d00001 diff --git a/curl/lib/libnghttp2.a b/curl/lib/libnghttp2.a new file mode 100644 index 0000000000000000000000000000000000000000..fca7807195aa72bd4070fab776312e84cb63ff38 GIT binary patch literal 310750 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 z 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 literal 0 HcmV?d00001 diff --git a/curl/lib/libnghttp3.a b/curl/lib/libnghttp3.a new file mode 100644 index 0000000000000000000000000000000000000000..91256e22787ea1bc8a35bea596bba90f0c38bf9b GIT binary patch literal 273718 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

    lACe=#p?l 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 literal 0 HcmV?d00001 diff --git a/curl/lib/libngtcp2.a b/curl/lib/libngtcp2.a new file mode 100644 index 0000000000000000000000000000000000000000..4c2b2aec5baa123ca3d70ef0177f0b4c65008a5e GIT binary patch literal 533382 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

    0>~NLB0tgHfRotgW^n1fnHO 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%0AxX}DXrSM;oqvg4OH4yt3JlD7KoQY6+* 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%0DI9&68t;b;9dcYe={kvkOwO;_c5Kx8d$(M@Gf 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 Qr^Zz6c;`9f<)ZHO-wq>(%K!iX literal 0 HcmV?d00001 diff --git a/curl/lib/libngtcp2_crypto_quictls.a b/curl/lib/libngtcp2_crypto_quictls.a new file mode 100644 index 0000000000000000000000000000000000000000..ec8f361cc17f0977634ac475d7ae996dea631952 GIT binary patch literal 45592 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 literal 0 HcmV?d00001 diff --git a/curl/lib/libpsl.a b/curl/lib/libpsl.a new file mode 100644 index 0000000000000000000000000000000000000000..933f5c0dd14ee4f3cf7ce605e6ccfa61bf8a692f GIT binary patch literal 70452 zcmcG$30zah_BbB0vuJRwwzkohT5Syy7J+Kpu(_kSYu#>0LJ|lGWMOkd!*-3hRO{Yq zty=3sU2%DBP1w=ax>a$h?*u`JK|nTv_R0U;1g!S;z3=z?`TYKA@4Yi;&YU@OwmCER z%CK=_twiy$+vuUM{(N4lI?FHLhYk%0?!h43Xf)a&8jUs6d3nUrX#el8rBgMUI77lL zy;iA~Pg0LprpTnTWO~}t2{Qd0eN3cADx)n;(5aRxbxRWr(JG~6sm>4+qfGgGsIL=j zP-|s!rB1IEN2_E@rJ8uLQtfQ{PjHn+EL|F-RCSN$tR^`7#As#R;An$VrSBo-$%P~Z~Ojj~66 zOT`juT9ibc2$WcsqKr{-P5_pd>NQIZ`j{Y3K`PrX|(^dB?kC++bZEkM^l{1 zqS0bK941L~!T;$0hyPx&rvGGdlm=f>@XNCP8@*80@~32bkY80n5A+os{%4v0jmG{o zzJHVVzbW&7RN4Q@iMkc%uq{! z1~^JInzvq-f^P9&e?w_Lgg1J$_`hP&Xd;@A**jXN`ybF~>4-PlH|Q0#NCu5I%7sQt zMc$|%R%t^$qlnQ$zd#3|`!)=p+q!Xj;10atfS#)3>52Dqf58)ZdWuE|yh84kJ})X< zPg*nYt>5R6)wAZ!HP#I>t?)S4g}=-$UdAxw%(U3k6v=h@#T3!srGkur(uhW?FL{Mr zao;{*BlXKL^D>@dzzBZM%dp`ycRW3~oo9T2MP5FeEHG9Q#!iubgt3z_gi%$#rP7m^ zztY80!*#vQ%b!bk?Yu|{!9LnSk1RFT@UabBT(AYn(7H!*G;gFxd~y*5NOQU7@;t+A zT5+E@@!4^gv5SG1u?peA9Xz83=fKPFlX0Dwqe74=qA}B~@8jDqxI+I1JYWkz9#ac1(a@j9(rh2zXx1~O0Hpx9iqfWq&v`*k-u`h4)btIN^n26lDM zH}onwrx9i1=+g`P;54ZTWl~llG&^|4x_&Grl8667nu}}K3Uiv$3(`@DnfLTjI3)JL zNiS~HOB|Z`9?|T?i|KBpx*kH9aYZAIm-!`@P=4fXV-2kCN~h$8`p(Qouq_8`Iffdf zx7IJm(2%~O!K@p%*3b}iE2oKB7Z@#!4P})&A56 z<=h)_*|f_qO6_REPFT0AnIb(h%k@0d9InuuzTB;g#@k_DTqwkg8m8w*r!$x@$1J2r zV^FsjKWF9TctttOt2h({W8X`$igLAAaVUuMH>CSXg%gGg6{)DU-=b6pnV11Me?6gw zNgIk80rexD4Kz#`u-CBeTFs%%FxHD+D_-FA^jg{tVLN(JQH=V1V){9g{i4?dClJNy z4DbOMfLJ_WSP!x&k-W0|Ce<~(oLSW6AS+-S9WN{ z>p!G5-YQj6{8F)0ib)^lY4HY3V53v@vZa{3$n}b)&V^G@5}tWjwU$@amG{oCHzsY<;3&%e;IK!!mlHai#vsdPrMv>V_v1V9^vkY zv!ff2vUn%ns|#o@!p|a3IOfFE?**O^e@>9&9**~D#5vfFNBN6`o_|o#OK7wQIM*wP zbF`lmD(J!U9rH38Z4uVgn8aMdi~7BohtN0R<@qLK+s$qq2O{2_a`6?ujF*A%DFbP= zU+|)Sly5ok0s>y)kCLnVYc$$myr|!w;|9J=jz-D(9mJXWS3F-|KS#&z8-=$BaZLY) z7xZsrqS3Uu~#-YI$n;;8>hFW^Q0TbrW>aR zO69eG#iQIT^M8RyO>@)#0*_h)kNhw2C{>jHFYu^w|M@p~qXSAS(Pc4 ze*OvV;BWB$N{`AGLY`7R{`@)S5%jA4QT8$ZFL*TExBQh}INIM-#M{{9q&EW}B2OPt zPtrBV19vi+<-9HC%Q*L0`0 z>A!dBKYdUpF}$03T|X>$PA%EtU?dZ_U1bz&EAHE_QCyg9o3SreV@Lxy`|>h&QW))~8BCmW z=8sr02{YSx8MCNSR(jBQ>nCB!G@faqQS`=Pg_ob6MRmHw%fCD+*uvZJ9!2$b?&piB zEyB~Dv2&&)IC#7VZ~b_R!ZfCdxtbyoRukRmt)Kkjxi0xkhai_seP{* z-4w`1oXYAV%7h%dgjbo`VmUno5)I2;9s?| z-GW-(Qoy~$%S=I14!uxY;6L>u#u}>jPrc~9P$!1>D1AgwqrZ8G%gY#xr9&>fjN7>N zvw2e$1P-U3bY5lw1sseOBTfeor!jNbh4(pl^`~8Y0ecM<`?don#ZoGk*tBFUr8{5; zv9#Jzs>RY8N9p;C*4J?{b+(GIM2*v*mVzZG-a0I$J75Q}^tPk)pS`aHBRtSZ?qC=ML3TqTqt`Aa6sP zv4gXU5n`_wktOywUSP#~_YmPyv4AWYPj-+^v9un_2)u8n3){%XB}*3&3HrD7#cl46e|Af;@Y4b3@ff|Ap5=`jSbd47t7g3b%JDPI0IE9iMgWCZ8gbwGa1bLa?88eUuG6SlP>c5~T=^ka zFVrgH<Jz;DMV>C9>Aw$6Zsp}SZ+FGM>6blo7T+)#0D(XzdpMaIS>|#z_w%X96glT7WBW>8_8p8?7`?Bes9c0* zdta2w^N8!b{QfRETUZn#N~gbzvC~^$n|a+}FUfEKX}OsWBAG?l-El(4%K)5&X}(A1 zy_M6Z2;1zQFXTIcd>;H@l~3+CziSP-%pVYqTJsno%&1&P|ER7$#v-)&RkwJg4I8JE zzXv~9c@_2SWLlAfz#apkY-%J9N)|f6PClY~{1Uys(KLZ+n#VOw_XxgZ7?$hNmz>VE zR5E71qOCtrcqHOY_sE^$LeBFbhvZ<&lXI4mDT1+f4~I9T*?vSnaB^Wgg~jf3KifB0 zcACKpvchs?ZHvWXrIV4hwyghxz@QLhh=77KiEy-Yy!?n8T%%*r>6tXSD;;M|R-hEq zgJ`)TmsRb&j6{m8&TF?VKeE~O(fHym~8(D>`v z8bfAI#Cl2QWV};)AN)dFsDB4EXB~^`i0b!X8#}!9HZ*-o{S*)l)xm8}<`jzRiYkmI zg~;x|X)2GJLyxAYo-b+2P(>wFbGfEzl&0RKG&Sw7n$pWj#F^&M(p;yOQWl#cswlBB zb1+gwk?EA2>=RL4wmyG!bvb;qXYyQ!Qa(qeP%`h)4oS2=Xx6bHcy+?hf37FYGcP%3) z3?iS~iqVWr5q0E5r{ITSH!2hFPYcC6gNM zpwZSjN(-9>EXf_P^cS$3SaN2IkFZ3Yr}d{j!&17Vlz@VAjj#2%aCvHUUic;RR!c8|X>yOMf>5fc+c8#NG>DE7mrb0abV zOHMUWPT?%YyeK8UC@p_c>gL~(tt~F(BHT%-8;%O=-hcP$5h~k=uWa?MxR;pyE_GC3 z3h`K6=<$E*NDV`E^!&eeT-n{R|KD^xH>-G`On7~9;lEEQ9=ox7-tfLO)r6Pf#;SH> zT@VRT3WU+eR= z{Reo`%kWu_lNr4~wRukYfS3O(C3+Vc@3TT<=K$Vkr5V2)2CVL&Ugsp^o8xj!T9dih zVqoBQ=GQ-tFwVTezRp;X;=cCN|C~`i`&PSamJ~8ha zf{)xY<8V=l4V@d?H7k~;u>Gq?59me0+=#l|$oo+9S9N(C-kya^t7CGGd{xiy zLBVbg5hT-v=G8@%SRKCaJV2?RN^y=?f7*4tZ^4UAqkQvoM+p_!UFwCUbcFS%QF|L_ ziTVP<**6qR)Q+z|jXF|twstF%(w?5}^mmMth~)I_KXr|U)8n4~O)L77mmEq>|B#kD z6BA24%fT+1RhPc?MO;Cdj>qFA4lkdUVb%wZH+_VJX^tI2w@Ki43*)hA2=B*=SzWg= zC%`WDSv{V?%o*QhzmK`)zH^l2=u`-ryhT#j<^<>W_!&yE%#dF za7E$0^OT2@{k?*(k(~}==P9y-uc5OJwWQ) z9G_R5a>0X$dye5=4FS}UY2-LB(^MRFcF(A77pYN$e;Is>x4UR)QTiV)hB+oAT}q8j z!xEE>Vv<}3KNZh2(?+;nM{QjWX$ceFnh6_jdZrqmZD;*Q)F<&YtyZY*R z0}k9{>CDVF{Yg8^F$&q3D{FBW3pMhV5M$%xa2AONkA^%}6V5taJU{jO{Mu zQ{$a3W5+69_FL3ww@neXxgH}{TYS)>FQg-bBMT^Z#{~T9%z3kVdAKOm=J zF{K#+6uLJJx8k+7xma|L*u6PHlH@J&l8eRVsnL>Q>`3RWq4K$BcgZAW?b2*s~r zs6$sg=r$v=VH7WaiVJzg_z2UGbOi7+sl3|=d<(FR)=yk57cg(7*>^e^q=;l(#yUlz zadih^(J+OVucM@5HLvbSM*uIAg%pr1o$MrkG1i!!U!U+Y>lu{1Ea1UAd)4^p6U!sE z>n&=Crx&n+X7fie7@sq>YKnOK>W)T=xcJ|QA4256A->5$oR>d~kzQ%0zFncRXCrVd z&=W+C!Lhwu!jO>d_*h1bueBNl%75?X*;JBNdi zk@x>pX#|XH#G^CwGCb?PfS5FlmXn2T7~tHU`VW7=wWm5Vl) zGezDs`ELq-PTs+iw1VTHF7G`kdIlakr+A$#66#QI^rVw0W+MVl< zg5ZVTCLaXfK-jI|LSAT->HFLu1S7^Xgf#`1@;xg?w36kXI99XDdKw(enywUr#v9ydsBu(`eP$1bgo?y zjd-4kaI6__kDUWNBeiEUMO@9D_&SQ^8GfjD{2yL88JspHAyee>T>rsi7vDTj#UNhT z)3J-MI^JCI#y=%3BcGzIwZRvu4kMqDWhkI$xgNeQO~!&L#*Wu{Vb{_N2AU%8Bhxvv zg-n!OsIky1cn%o8u~lN9+=)|+?TA*EZW)L=&zb7U#FK@w5k-bRIR5!fx;=}ZS;=b_ z8`sXlt@JgU$xt=ETl>^#sPboRWQog_)z8Z)$6j+6%~@DZHedWT@1_jYxVPaAEQ(rBtNp9L|l}IDWXCYyrK$)%v)1{=M;7iwBPG!d26WiDwCns zSi*Ec9Z)#~93?fH)N(B0TMsNbVe2r)Ix_@qG|f9aWc;iUQPixdOKBf{ z^igQUgh|teP6`W|Hf?D5^vIA&(`F&`&z7i}ljerZj`&Mk#I*3g?L)!;rU&x#AAiy@ zK4M9*uQ=M*Cm_&A=;Iq0jl5{iFdtF+o0Kf@muIzJ2s7|0rN71)@Gc zqtSf4eTCiuLr17JLnnn#3mK|2BqV6G`jIqI=;ZyPYoYm3E5b6v=7haDY3B@X_;Jye z@r%Y+O)^e75iwx$vCxP~!zUz<|9QfS@t=+NpE_t_N2I(rgTZs_-FKMz_MUfKT|Gs) z?}<)|u7=1&sUo9WNE=g>6CxBvxw(nvi15?O_&JOCv8`~amnw8QUsVK0UE-!B@1bX^ zeuqoBaYaym%jU*)Wew!?=M7qyx{5E0xLPntC*#Ye--1gk#*U-sjrHnhX`H##6sW$2)a)UT8A0ZsTtk)ujb@Yv|d___9k-mNkVhpWO)M z(J|Ape|5-PVA&u|`xVM($WR2bGUHMmUzYqEl!uI;%#XQ$O&*%cuPIpfsBbSO$HSGw z;jlS_`}A?;x@WJ{@on^s+fe3rt2AQS<$_TuDg2nS!k?1Ge5F#wSKfqjx^^yKo>By5 zEkqa+yH~$BkuUAM)^AZ7KjuN{q=hN`n!@YzlK8SlOXu8#Jq%`+@^;zlF)RKFWd*Xy z1YhPWCJ$nIP5!z(gKaF}+%$~i9Uro;mZ}jTz z+G|A4bNZTQQq7nBY>7<^ztOyxa~YI^31N+@Iea(85dd1F02D~YeXS2|veEU#%Z# zl1=0*%AxdD6@8tOFHKp-kC}4^%JuR+47O1@|1p&Q5OaC6Y+?zNo?g0~FTY}5xJbd5 zr*%Pj)ci?k$v-in9J!Rr`O1iy{OT=p#_yq<9?>&pPvFbbP-H`1(r!cfJO3k6q3lN9Ff=L%OpQY+!4D5Y(APSlWV&byUz(Pd$Aono`O26D{6{c$Ruzle z*Y)#NVt$MTO8fqcp1qJSdkTj>j^ZnHW+?gR@(`T$T_{`ANzXxp3Huk6T>jK)Jm#X* zb|#;b6TgSyW{R0RfiGWi4ayeaj25BfXWT2+NV}k9Un~yVc`FpHY|c+m_8}#dpP?k{ zA=Aq|t&qNcF<%lYPcC4y-MPGt%dqyx7pZuk$d?qr z58JUr7(l5l0iVke9iN3ztk+;wiPacwV zz}@j!qafkfG8LZ|^CSg6lJE+_ONm$01qt30@ruIhQ@oIBO7;Hvcu&ELYNc@Xc$KZ6 zhxa(VC>)75Qbo!s2yBP%zom-te1O;mNh|n7QYcfYk)VNI;CIW_vyTF!ook!V71niNxm|ykfh{)Dy>0V}}Owk2uSE z`e(@2%eV~%N}R5vCz5nf(jcCBwhBj6;bJ`_8GnoWhO?}oM zQY1#tkxk(fRZzHATE&FopAo9&6X*fO#mJ`&=OD%4avo;Y~AJ@%)fBQGd6A4lR9Oejc|^Y2)`*YoEq_zS}Jm@gvviTnz>$uV>VQE;PR zP=nbR>!3Uy$1Tt*_At2Qr_^-#6dap|4#ybq{^R!a^vTykIg0vIV73Btm-csQB}d3mhQ^seE0b;LnezC@#2^ z;~Z6kd_d8F3i?JTQxQ0C{(>?nqN48u{jN#9_ znX`mH5C2#4=iUEu0rk91{}P+8ZHnU0L(Ex@R&1E<&7bFJpQqr@!?ycSxNlAZe~y^{ zD->*>xsV@~z`qKXx2`c6y^jB4p@s3UGR#qF{268_Obx+Qg?*L5CRg#Jo|>yx@@Guo zN41;pVHf(kMgbH~67jFmGm4;46vm%nfx_UcT>2>C`y7uix(=;G zAyLT9OelQIn}1ET(X=53|DI4+xS7cRYQoS0^AqAiLPi~jSUnj&d8Y;@B-`O1g;u($ zj-Js1#!s#A4_w|NF2g@AboT4b^mJ!3`}Xpf6-8ut5bquMvX!2xtA#U*Wm+2?9nt~^ zk2TV>l)5VL`zVjdSOIT)H8A1Gs`zLdoV-v6`|jJoOs}P9rRp{D9a&1eE1Te8id=(? zp4^irtAnHORx{yZom#JJh4^h&H}+s|UzQsTU(-aKzHph@$Y5pY8{k+*BkZZyXq9P- zwA%U8VOT`Gl`zsFINeUq)+C7QA*)%eO%Ur_DtzTu_->6vk)Vm!G{N^Vd4%y@V(iG! zqq{qJqDYa&mFf0A@%dgDF|V~3$GulCHzu+CB!pf~vl3d_?J2reCY;}(u)<6$@|ZtH zsnDn&!`cycCLEY$P>6B*DIB>t*-GdFVd6WFAn&HQ8S?uy^m221+jXD^>mye%3`Qd6 z{rXn;5$9!y6DzCW$MZUcjqA=N;+Ni!SEH29jYLLMGWXN9;(h4=}~T!f=bYC&<;${~`)5Oz~3Q79`ReXxxQv78o2)JiqcR+#Ts&xE6f zTDZ8x4nKxbI;m1u!nS+SnmiVp%gxejt#Hv_CsE4kVXs0fOHx+Dkq;BZO)%?jjMxTg zZ(95Ger+hHujn&(PgfpuAnZ#_M($%<^j0F01j%nL^bNXJdbUo1CUB;&9acTmJb?>= z%`8ty{-Tw`B+j2U$236lfhw32r$F{{3Yy^j=msM88O+>NPba0ac0w}*q5`ahf1iq? zCrpsitgbBPyBt27y*;e~<|*1?=ZzM$(N>TZG%z^XdNE2OG$Kxe_8Rv9Q?&D6+ljN^ z7i>f>>LI63J>Aqm&u9g~_)1uQ2)_qGcpkBD$K6BNFXz*EO$&I1#i7(M45(qk_ZFPc z*;Ktak2tkAbVkU8@Rb&Y6l*!r#QT@caSk8aJ;nwHZsU7JL%b%BI9FHXBCff~#_1@Y zw7@BkT2$@ZUN)FHRa^;kKbAFD)JbZYaJtz>&q>7&`Ts0F9dCu{zR|6O<~^7!ZTDom za-s$@J=nc*hXtBB9mIiNw|>HeG~b*DM?TQ`i&b@Z->GNZ^%orbkS_`w<}JD<5{Zt4 zutYz-ClpN-Z3;Oq+AXROO&l%yRkTTT_G3|$=<^V6kgsTo>${>@k^IAc=B1tVt&iv# z+7p*)K2~~0Qv2mv%@}_xY?eo-_?)~#bg=sLcgx0qk1G@CR7xp6439y$sfL~tt@K4Z zTVut4kuFmU8q0YxT8+PQ%vt#U4VhNZ2`6s`i~X$dMOZt1dz|DX-6U1{i34P^<8Yx> ztnyQ&R{#8gA~E3PFMXde+;ZfVbYopnOzo9eNs`Xjx2k-Ne-k}R=YJgj!3_$Kse)n@ zh5%_j?0??IVGkb6=ASnt2IXJ5)x>lynj@F%1u0Kq?F5-Xri{bU?WG|qd?aebd5mAn zQq%&0P9LLDNd@PB8mvfch4T|?m~7W9gTK$opAEWH3h{VJyI3uFdRZ<=wO!s*&FJ-| zPM;)C6)020`EWX08!wlsb@(sb#Vx2|wOo+!3{FaM3`q-|TqM`(6f&jYVL8ppU>?<0 zm1n6`)eO3+YL{4}(<4`BA>ZW~eVtU$U9Y`a-d(D^c~RP2KDU+0?VD>zHUyl53tMpu zWk@&;7ly}bY1T~eJ>TkXDkv=JJ>ODd?_P2{IuCAgO zE|2Awm8wh93fka1brXl-1u&ps5t+p;y*3dhgOzF)n{3&?~hX zl_3961AT`;S4Gcp)|MBNgr&^}d#o~N4HQ+rv zxbkvsQ!h{Vfh;bY)2ElO+tv*>Il0+!;5yzi`a}S#7>s#nqV!N1EC-JW;AekrS-Z*wqFEkxv zQ~5!$;0$~hQp@bi$!TG*jAKr~8UIt4jlO}MaBfm!QgA+;f1*+81yA6Ze;oQyQmjGX zbHb7?QzP%Gg0|w(RSb4ks=%kdY_$w0KJI6fZev-HwS3Z37Kg*lO0kN*f&5d6iF)CQ z(g%__v9J-2oehpntt|UFP*QDP+sN$QJ4c7ybd-N!@bjyKv)43Qo!o%FDfZ2WWhdm( zI-e@Yzb&*9UL<^GZs2g;-B`WX>J5R&-dRR7TD`WRq`ajlEFnQA*GdJpvdQx3MvFm8 zc|@XLW$6d1n(_j_hm1?rsVOHfl?%lWC*D3&@5c4uyYbM&vQraNaj3J4lMEWYS}ahY z6JKqioAfemsvtVm3TJ0G)3XzWfi-Z}U*n@pY%g)emQ!OU!e6P~i*>N0^OK->xW zA3o{j#_HoX?Dc`}o}#w(Df&d=lkm^r)B}U2xinO-7YmZKv9V&kATH1fX**H+29@|Y zq@8VG(8-o>9EMa4Yd&nE=O_h2|j&}J3orI$u^2%P^ z0sYyoEYBhCq9xfW{u1eN5N<@<$x1m1$CNQakKjzapA@sg*hE!o;6r+5k`<2p>?0l% z_y`gk5>zKa{HfAkCXuznnKrrMTXm#pZ_$ZgxWA70&k z)I!gY)fa07DqHcFs0CaZ(Dy74sDRT9-?nJPmBndFwNxi)gl``y5)y0$lkhYW4K|^n zI6gXBtQU%<=iu~5IGoOaA*QzYH?drtq*TU<1pz1FeW8@{;d;w?Ns`vjx2kA1F3swi z;`s`hSc-mm7ScZwT1z?vCko!SyAR=hGO+hst{$AsHilcKnhJ($fxW<>)HfH|Vq!Ho zY<=FJsqt5M)ciez!LfAC{CO~@4Dc(tIa=npBbV_IA$;xVqA#k5E* zSD{#3Qm2Ct8;3=SvVD+e4^B-Q5iIGXt#l>;xh#vb@Xj5Og3vx zYCt=jdXjP;P8Bs81B1?%4v20o7~|x~R%DlGQvw5}!j#i+>gQ-}BGNL8wNHw!2Bxad zmt1?y=DH3jzL%sG1|b0#ZGsGgag{j@;~TE1T0teO3QqJ7^1&dx*C51Ycl{GMxf>75 zR6&&`A3qvD7V@g4jV1mzrYAc`<0B5lOzezn9+6Um2YG6#tf}zlcx`|Xr}Bd^dQ7xX zJVtyHPHAd+{kSYokKVm{zvjtx>z~^}UrQ|lGQHqTVI3vfru`}UAR+P`j(%lMY@m}W zJ>^2Rg%_jiiat@xVl+CPAn^p`CCA5W@t<&GbQ9=K7beBUDb8g- z<)^LY@?0*)L=+#A?k~pnj%yBrh z-!~=2{~Ua??~&V}0i4$ddA`le>7=hq)dfk%1RIiS;KX2wuOwJ@624j0gaIp6EU1Np z2QW}Sv-~2hwmeUeXk*V8_tR+W=xb3r_&0O}4=vLK-Ni?iX?2+UC;J7QfD;EaTESyD zs1T&#j^81xG1osDpzuZS-AFnJktu?K~V`uR90F$$axoU*8}}KrI|!p{_5O ztf;IQB+>i(B0|EL#FT(jaQt~SyBCMkdu@_TtrYkqihWMN`mw6SL}7jrSCN<&kYAJ) z(}r$=E5h-<>hpyPNnDatFF^_ug;q;h6^F@X^>tsH+EnnGHd-8qld4gxt(Fmw=^6Tt zf*P$Z&{sOf&;iHKi<58+O#ZBvqySuX(t-l>3w}l;XJoV#jH`oh7D^tQbq`(N?8jxl z(U+T@*2LtnGLwCSDk1wj!%6tALU$aFi^l|?hHuO&i9+Hd6Z=H_%6-Mb@`v!<1!ZD_ zIu8uL$^9$g%e#~ut@O1q8m&s8JO@YS3mnDxhnL=!*y%aRk`!4Be3$7PeG0zO`ssxJ zPvH1#zR}vVaN-|AaT4y2PMq+@9Q#JIc}D*VNtGtUzwx0+`*&^M-`8S1(dDBp(ieNw?mI7r5$8`Qx5 zotU7=a0~pd=VRO!O2t|Xut$1}wQ;GKA1xbcqm!~Ey};)w9PX5A1p#U?&eo`SNMA1z zcUx=RSvdTlr_#Kmnr_mnWJz*CY&#q-!Aw$>q=-`rQcuI-b5f}^RuHen?b^|kk~m>> zFfLtM*=gAS5OY)9EA()wZZ7-7KY5H#Kuk64JuV2q?fni$j>O}u`)X^CO527Dx1+@B}289|aNV9~~H@7h~T3HF285@njF`pOcW3 z(hSFPlr8k^z~DeT99tnAbIyEJ9^C}fRMJZNdbw1eI!5A{xxX}88+RPOeRhVPl_)#` zU%wvR#4s-kkaWP&uYD!H((`aEOel8XCSd9ayS_NZ;m}>VTrwfWa1M^jYx872(Sbf^ z;n;Yo&fgzn_xWfYrK_WaZ&HGvPc0n%myZ@b<7nJTT-vE<1^Z6N`-_EV;M?L8EH00C zBr!4B_Y@qxt4eI9X9WtY;OHfvQ|76dKk1*r(I4V`WhY?2o9{!08>#V;_(l86lB^qJ zltIdr=%Bi6VGMGhb+D-MlO&&pBZq|1{*qI0q{>IHO$f>w@M{_D{Va4^;1-_N@db|`)Fh@*!sc$oM3fCYX>P)ThNOTOlDkIT?>tj(#Aq!zMRFgZWkq@zo`B zXR|x;e)JTtsh1&ciXHRCCOoElDB1+OW+|z^<)%XEcWohqpH2A)u}rb`7k9BP=_&AF=!%_{_6WJ54;|+f$^L%e9(T z_-vjGonp^sjZ|j?jT@DIP^)&dK#Fe#_m0B9Sr?}=JcAu#Ja^i)RGOyLVF=kfS1n6v zfg{Ez9Aa5EjJC(9(9^d)S7{`5OgQ8vepdcdTqkJu+IW3lXY_G%V=)Ph4+MUW2QXQ= zc;x0gS#OZqV8qH6`sP|XnTmhC%}|Nw6LJl1^8BV%fkxI)e74@57$ptaOsp7eSuSk= z(?OL=DUQd(zFk}6Fe5pdoCn)4Dr-T5>9oebn*JGe92e~!V^GJ%$PBV3(C<>U!p_6B zxUgw-$+d9!hxk0=)7KvCqvWa9JcA?Ss@-1e!)CEx6Mel&*TQmz)wg8^3@z2L>1(0D z&IFxBlO?D$sb~W?!i%ns zuY#?Sl^z4Q1GrrFP$q0Um86s<3&cA7qh`81Mqz((vhG-+C#qCk1MAl`<9eMSmQ=$h z9hx*NWGz#+-1O4QqR-`;@UfqxAVJN8Y$@gxy9A_t4+ z797Q6#mE-)?|XT#vDrlYn8?Y5*JDw&D0MtNI`G!qsErnSQSzAX%9b~D5! zNot8bjLXl&*n9CXE6h584ynU4t%E)aJdF@PgMCBL0yA};ustjuHTD<{WMOeVJriy2 zt7=^L4xg7dz_(}XI4ojoN9kESzVqTmYtvHk-1WdCJDY*#y{Gl^*lO5+0~gp-aXcn? zd#q)D=Bs@pInNGQOQtxUvJ7Ih6fU>-VdqCXd5z|#dPN|hl#@2 z%y&g6*zbwT@GL|0B^xrr`Gu@O;Ag6)ufvnBJVrq!Kdk+?=QYGwRY)Gp*(BD=Yhc^* zlsed6-Uf#}(bW#StMFaHOIMtR5L&H;_>A#562&*t@lLp69-m8!>Bk!3_^ z)=GR&k)UXWt?$;s){#p+PqJyIw=&J=u)SkHo z_IZmR!|s9_Vt;heEIb(aW}wbnqS6?o!Fg`3OHPV55eutx4Z35*vZ3(qChL+vV9~nj z-t4}^L=kT?2M`Ae3m8fGBE+zvg-v|Z*RoKCe-2Zu)K)|I2f7w6kC?m<7R+p;XY<2k zHLxd7Tm!pzYh}lX_a9l_ZF1+~NscSA=bU9!Glvj|LEyjefM3>h|J^1CR>t$gl3tuw zF6s*@bCo(}4II2Kk<}4FH83f#5+?BKIcQCA;9(1lpsQug@P4Na^gmV;DlLrpL)CU? z6n<9253A0xvWWvy^G!VC#01ADrWwB4Pz7HJ9})-77ceT}z$q)Q57+Y}%2W|^Z~?Ok z9pbYk%uTPti^Q^y?Uu^P>SA7&$~IXq8< z=i#|&W>wZP`WieeZ7AM$jF*A-O*b~&8&(S+=mk}%0I{YSzC^FlOh!sG|F9B!pBL?w zHWQoLf2x&OuiX|WG{XTB&+`X`(aq{SVspif4+Tm!zGT>Xx%G`fEYDG*e9^Q~uA&)l z3=;P1#r9x%_8;;FXJaS6j4)lgH=r4m-`3LC)UJ_hv<)!*TnBORQqD6L8pWaa7rH6&4W23_@{LV zVy!;ayBc!5aD5W1Br^@j}>6oiqFCytCoxUa+7vW>X?jMRnoOxS%Xxf*ZOHkGRF6XNh+{nJY9{@N1L z*_a_YqlF{TqF z)Nxw;!&ca9)oIXfIvQQsOcwFAhegmh?J^ioH-I8cWrO|H+Ta~0PQxvzj7ohKMXDy|uFAEA3=kefXt3F&`fv$I`YVgL8o<%^_Rkj49WM=RxR@b%d|-uOTwYjt>F zX6_-gYIt>v!8eqzJ8?pLl81|k-VPo{l zpq8K~5EU)1f~XC4m@^RZr)O8P3F8|N_92;l?zqj;IaXseI}d_BvJ%4qRtQhhvjh(N z!Tb@=Pd?9M6Q8ZVmPjp}YK%lVT`li%M)mU+i8-RPA!*D|pFYFfJl^sZ$z4T1v3rGv z5DDQ?tm*HSCGo>j>LDS&gVWcI0lQP0*~Aw1Wc|>~Q(x(MS+b~Rg#V$}{-naCVJa;yiSa6UCX!-?H$-NDh z*KNdCZlW#bj7nnr?-Q?_Y<1_lG2LHxCH7w0l`2!?Tb!NiQ)0yNN>vB!m9)WE;i$8H z!zHM*or7^h%*;sD={sQAP8+;Ex*9g_$Rjq^UoFDbZJWCt_6jk}`>MB0oFJfls~*yl zTZqtLAWk*2McbLowXMBbZ1=a^IYXK5Y*=s%jX9c;jI@dG@l_$UkY|5->rHJdo5_H* z6?oP-Zx&1nZoQ!JAHjCTG`g#Phe?DB`kdn z*TGaxJ^0U+i(6o?$p#Dd$&tX;d)iizzk%9@$h=B4yzK~_+WZ7QOlyIRIhb;@WGbav zg9+T$i+RLeU&}w6`f%T3zSCC}F8YBm-JBsP{GMOPgt$N2zwcnMOt{$XY;`P7F_`;i zZxUeYn4C}t69=@y=WjKzSgx!LbrpQ>7T-*)J2|zszzg4f?%GoW>Zf?>2GV;rd;_FW zd#53@#yjZf!!F=aTapdPPt+|;*mD%$C=FTNz-Dk@&$eUq?B)SXSJ?E#$|81VuU56d z&NTwuZ}P+b$ZVyrmf*_t;C&Chm8PCFc6)bCJ^v^J8Re88SP}jj%?^MGg&q^?g8ey3j|MqY- zJ);U%FU$kuSsTNhj27b_U$3{q&J@ftv`Q;%Cy&uhFTfkG_JHvXJds&joPd8NT#}%| zgX^3pGDEx`4?oe>Qr|(ovy-Zc%+kBh^X`6(ab`*QBD1;?zC6(|*j==!e_x*0+io7C zK46NXdcV))@cP1+8$0nM+!;E|A@<~Uutj0;#hr#;gP08bjDuL>4dVu4GMd>8%dVqC ze|Z+QycaX{T|)}}bk>T)4aLKdAD8J7m&V#*Ua|tC#|VQJw)j~wz%}BSWG@{+4D$fLT^%6**$#0f4Q%aaXab`cH*5M97(Lzw z;Q>|_3*@KOxLnr6VXC?7+iKX6D76xslgqj2sW|tga-_KVo$@=Cn1D{%t)vE<-K(0| zQM^5mOMEsX;(AeZ4Y507;5EJDv zt0q~awZj5|xP>4)uRgNUKU3q!4HLo>6dHvFKRkH?>*r(V1$)%;R+#rS2Ffp1G(a#^ z_Z~cO(9mJSiL|5{tfF5XFFUjIhz~L#aqck)s=zN=Fz?-^ZNg83Oi{@HmP$>6?aJ5j z_yO*&*_goMwqxPbdLZ7m!-yl*kh`!7yuF^#cQi8CCWE#P6kbXyH_@mnVe86cpx-BM zz7kN!CQKKv;oFxD(MmmPVON@2ozelTmUxTf4fT+{`yqq%xw-+gV{1{7yMIz^R1Kj1 z&0C|z1z-gm_fNM%y-Q_imOEvbbn67E4Im$1MeH135c7~r?93GXXj#|@b4OYSGu_>S zxbL#~BSmGLj~KoC@rd>NBf^T-bwKWTJW1G{Y$JBPVOf}rM~~D;Ckt-2Fj;Op@yn;3 zzv9s-eiyPW-BMi5z}NbY-Q%YB%Evpb>U6ZY13p|sv2ZUQ-$ZU~X54;O3+d~cm>$e* z-0f`+i&x@q_wy_D5EfcPygv|@)LMyCLsM zoABY$7=UuWE6jaD&%o_&uGNj{$|NQ&h3Nx2fOw7itO-3MJ?sfYO6}82!T+$`jnS7! zOo)M*A@=fGJawA+3_ePr5}B>$R#=4#1&MJd@g_Xm^#YOU6Gi>-C7uR*ysOXuH z2=9j0z$ydomG8yc2;ZYW6E+VXz8T=Mi20)~wW6%)8TIhF93$@_)la5ef@cyDuT14wvP_@NPoxmxNow{g8@-sJTWEfQJ1KYUxXgCp7y`kgB)q;;UEmKS<}1w;WJ4ZHzsW80ays5gbL za+@Rp{g-NKQ_;~Uu;JqxFlLGCh-_j_Cnn^uqs|VZA8@JL{zTG=FW6gP=@i*R$O-Il zv-HXaNH{F0 z0{tT@*QkOWQE_ppsy0~rS{3B>Zzr<;Kd#;ctjTlh8g9wNEZ{uV0dOWxs0a>EkXZ!h z0a5M{0z^oH2?4=bK%B>FM^9(l(`wqLn-?rbn>3jbF z`o42r@2i#Yhz{H#`?R3YEY4tHCZ|bi#kl9 zzG`)0fx4iL=IIe*%FNGvBtC3q4vV@{CDNUwj7>=IEyT{@uD7W$64`*VAp2HlP@s>0 zkC8nG`S^JIO0l%xT!_@WAQ@ZXfUTLu^`rU3eQ8I2&2OfWo}ha4*x~!$#PZ8{-j2n! z_YXYOgO?l0c%V(>v!hLPeRd0ruBAnfKp-kxXlEVrmQjsxvH9z}EeYT@qowxV+uV)2p8}kSeR!$g@%Nyz!o^Q1XUc%X*7Zg7YG9w*G%y&KVXr}BCRbH;Xg^q|J zkRiEk!`4tD4IVLbcaWPZt8(Q^m6=jUqLhNv74q;Tt(~mKU99|Am-m!*o9bCqBdwfl z^Yx12kgJ~`?Un*)ZmF|Vg`z_mETtpUHT5F#K^!d5ET)2c`b;CNFUrgoN)8C)Z!N(! zoXW*XRSv|NnttS0_j+MFU%p4ppsb;vuGo}=e>~V}yV2f8<4!q$uE!fplqYFsPNT;z zkgjsQ&R~DIS1s4!g*5nN**;vB+Mo~XuG;(7(e_$iKWVB&7=~@ow0kXC#5R5IQx%ijL7RQnnv@2d%F+JQ5R&%!TQ;`&NPRt}UOu?&z!Kn0&G!g6 zuPY55?8rc?2golt8dtr;ZI9tUs#S#sEWGK%vUFep4>Uw4RgJHsLyP&oXjR#!2!+r+?wd4ni znt~0rCAr-T;j=sBbkL3l&{@Og={ZIm%K~cMD8a7SZ);$y3^2ngbLw zpmuvUGECtRUT>@Cp`2WDE=vs=P8d}$1A{@C=Rth#VNDdev7WZ3nI&vz$PS~S-a6Om zE%TI$+13>|Hh}3GNa;IWqU)fq)8Em61FV=@Pdi<>Iq5qAy$?sUdP_j+vXZwR^u~I; zbHN0_m|W?)V|CD>|G;5lz*)Th36uw3oHdfNe|~;gvAT{9*0lIaq|9_GF=Ech>$#>j znz|~>%np^6Kf3U=mj2d2nRn|iCgj`iIG=)`%6kWwK|5cEMUCyyRr@)-P~sN~E3J_Q zh0iGE5LV9KEBM(G4MnU~XBo9vD~DFYChMjY6HF$ZwD%i?v&zv9+7k^Nu(9U!Q4kPFpwZzIp!K!y<*SuX=0z6rf~!kTD2yN%P3Q|QoW6K8`C_Hy|INFu$M zkV|n{oO75~^$QYx(NBwZR5Mst543@YLf%9Au>o}1t8W;wyGI7M(MATt%w7I(G-Z(4 zhb0PgUa~2DF1?azQ0ubtyKWr=JBzYE(xT49I@5jR=ocgj6z296bVBK9A4%^XY}8?v z`J(#M(oW!yJbdepsB@?DI%)P7s6FQgx$(gEEa;>n;A;Hq$UE(#e&wiCIFjG?9>UfE z*dFl>X%A=|^2>}Yn?&j*-dBhWwbCEY>A(^ECBsRZ--0LoKnB<)GuxS2t!<*nOc(kH zyJ-9IH6YdZ2V&``{_6Dc@$;8@1_scAfhBqzxex_ZVoae+#%8=p$#0`gAfX%HwA0Q= z?A*N(dY#c;3*(+vljFK|1(pd@GnuX;k!}AX`byP1=*BeR?~y`d?G+a--H5fD{Rt>f z2&MauwTgwLoh~15Q4f&7QW|~`fJbz{ z_SA8Y`g|c9_0)pRSvX>)7*J#9bxkS%s{c86(&p*u%MuP>N3=Av-EY)*1D3i-I~q4- z{|@-q!Y{m()-nFJ7SX>0U4+%p`0{{&4P zC3R&(kVdS?I;%326!3gqw(!#H-G$r&$Pz{zXN;^)rbC~yrog$gfh6h-B1EH7k}=#Z>*=RWp-aLFgih!et?$yjd+_I zqSy9i*yEZzYfUyw8Y=eeO{Zvo5IPGAzM=iCV31V??BTLEuzuDoYZAdM0OXQ=1)*tQ zi!whuU-N`^1m^&o%zcnu2%65PZ$&icXT+$BGdfl(^tKiSQT`d&7C%Z&$ zEQC6|?}w*s*Ndusz%ypH=@yq4(F)S+u?GdpjQNy!3$Rz4HBp|aR%ZhAZlmb7iNo%U$zCA}m+J2|VeH%3zk^tM4jB#UChf zmt(7e5es4KXd&Y+G?ql&{}5qdqDXWms=?EXC7&k68RK8rc*9jEEr_o78{9)U=*>31 z8GGu&3T~=H9gurVS-|^ikVEp`gy+kMU9*c2Ay!{kBRcP#+(9#YHc6$uCrWqloVVL* zLT69b?=AckQHDy)|fpL8R7ZdoU#IXb9xhnwwA6RNEF zEo}FaFCA?68jIUTd(e&mQyZRF+HkYqsxxfN7BfGg6dacT*(zjM>U)!n zVGw)6K!ml>p5RV4sez_k27$JxgCh3fJ$HcTIy|k4i=4@cta0=DX0NZC3ZEkhFUaAp zc^f5vm(zJ`db^htV$ZIlmShva_l_9_M${l|D*%kCfv?QMJ$R%hY?M8>AWFDsN|;L| zsYD3908vO+Pi3(%yX%yO2HG;$=_LsQH!ZegAYevZLKf5m&qBJNg3D;91v_1=bYNV2 ztuLP40s)(*@{6amV+v%rCk?&s88!Y@-wI3Yd_&&8tZ_tC#QZIuhC#GE%Hw`!8 z>NgxWi~8^4o)|40?C=udQ%3GMUAwl9b{#8%u#=5tw?o>>l6J%J)IqvdWsV-}IYIY|lZMOo)bmXW^$btzQS* z_X1zqeGjd>)Isz{dVsl@70#7J4U`4t<%Ku_iXWtMeFcmRcd<~xuUcAo3V z#_ifYxUh@um{s))>eKCK5P%9_$yC~jZ2}pLN3i2th_r0$y0|4`YhNBb+4eQo{Cc+Y zfOSzA)UXcPS~;bQHfX;QS)$EBUV{~**|eFSt3RBhjeft6gW80za}wJRo{Ij-3U83)QqL&n)xoEv5AHTtrTPU|ECGO~zKuq)^FUGTy2%3JtFp zj#7Fa;_Rx>f|G2O4~339Df1U{D1A15Ps-AdS=Qv}pIP#h1t$SE;9b}@L=L@Q21%SykE@aYy=)`sDel)egn<#o{CowW5Fs>pP$ zh(c4c)Ts4T{MC_Y7^AIwaFVq3J(Vu(f4_vmMvN0nH}s^?{-~&o#sa-Y*WvLdFxHCs z|Ia0ZL!8xJf|@1%wDQXTexNw$iBYuut=!RM%l)ERZ%;yKJJHpXc&6hauI~%`Z7J zoqJjhqsNBXU9#R%2}OL}3Fn8tiOMSTx~TGI4$n)1zaF*JlrJD_SB}fnIjAW1Ijfvu z-OveiFJaL?r#_}BPxa5JNa|#jW2{A}!y_siug!GJK*i9Gl4rEN)hO4N$Q`uqxXMfg zUz;I%ZIhN^F(_5_7i4v`F0h@H?XErnet}YvzeFPTlC2oWsiRQ?qR=E?{jfu}Ely9r!cskMo=UTkEA!>_$!?=1}w66O6p z{ZP0L8Wb#n^iuKqIz;mHheZx_3PMMVRX=Ct2dXq~ac{5pJ8<0Xb{B2PLFbTC*TFWd zzOWS@elA({FHTJg1wW}D2oDI=SyyxuAETFnbygtzSlHZrE@>}5ek$0sO5wY)@@0fc5-Wi>xEpufzED&8&8LTxIl zL1xZEp`W`>Taua2Rhj!feM@+B~G4R*rQ_u}e2gOA*RT zp67v9^+(KF{!*r$Y3Tk{bD89-sBde|YhC;u4Lgf}zqI!9rR#|GN zt?8$zxE~@lGs+>QgSq)9m2XiN6c`I!q`vU0zYr@HOa0NQ=0)YwPEpUDkW$gi(7j1R z7pn4%UFUwl;x9f@N2(y3$J@F_q%&bH7>o2}oT4}NYozpK8;$kM*JOhODNA$H{E#-< zVACUcmQBn@++|w>%Ms&gYhV)1tq;3Ef-lz7_zbO+B5QGsZI=r* zu*4XfsVw3-D}HdX{uxMst$!~xvqe5PQHXAv-{}n}qEsfKt;I%TNqzN>HYvp|)4>D1 z?e%=1gS8tPSqh`c!_}EB_cV1QbOPzm$jgDa>{&Q|7uyX95?L9oDK|+DRCVIsr(#BJz>SFA?kl%{n z>s2l7#N90OMQ9%`LZ4~}&Hvfu)FOdfMDA=I6<|CJz^C zGv!}5`?Bm2%l;nyt8mz&!UqeLI+dL!gz8ip=nu@Q#fsS$RS4>0&0M?3F{2wb@V4Oq zPH{>${@1-w8w-xl3$j+U(w4Pg46$-bv}$>w9-E|K7lPL)50(;q*oNh`vGfIPexOAe zmhlpBS2e`EsEDnctT=!5sVhJ#^$r>x=snt}pSTYdZ!85vKD4120{ZH{xW0^^0CJ{W zFv7pKWvz7va!;5V(XjCQcG)1d@zbimxkX-ZuPOOhfk~Hg3{XhcFH!0mndw1o1enUX z+tBFBT|+BBhRh0gQNmHQ?u&l8Y;3l$7IY9DEX0mo{RrE8oQWF{u&Fm+sHaVPRQ4;V z*NtTgI=38nP+M-m;xBE3o1zF2UO5Nwq5_*Ews{g@PJCw*ZK`g7ffoK(J1v?HJD`JN zcjVg6l$zNb3q?(JGLwHIRf$^h(CkjyWNY#6Blh&kSVPL$of03~l+L|*D!lsIc8zK4 zC@)-Zw)R#Vo7wV(=RQ)Ir6~_-O?v&~=Qc?%TE7J)%oel{Ll4pO6nFR}tq+GwxDYNc zgxc68VF(XqW~l%9bzZ4;FZ#?aU(u%Lj^0?9QW*PWK|NT=`Be@kUvcTkON9A#dgL84 zBF!?5@73eDxRNjV)#UGSVwY~LidJt$>6MdLN6}6+AtEXc1(CKk9GSRBPNp8){#7)o zYW3Iw>;A~<{&VAR2oxLl;z8y=f~04B0U~FWtH}pVF1=-J(Y7Q2`iF%|0~c*gFnX?i6DmY6 zMC`f$gu||Y=dX$Wc=ij1v*5V1%UVfai3E|p@{Yqzo5w*k%IDg8+}M}2Fp-_Z8`zdx*Rcj{h#nd>v(q@jL}Gc%CFnKdPsrVXoGhL z*vSo}PC04bKfnkL;-y$7r1#?I+yahAr1(nXW?A9)V{C|-sIzdlSAU7daa#GRD%XVi z?Vc0cI&C2`s~+d8S+6v@s=fd!Xr-)M*s%HYa_mxZByH??LB(m%&I{CPJlae=hnG~C z2yE#^1#5~m93!px05wU0LI3pnG!0&5V+=#TdVZz>!EbRF8uzg*HhMIO9&GBQ;^pva zi~V|3qMSBriqK~Zv|7^b&(A`uN?3uxZaINDc}TajIeF4Wx%FmN7&k|zVAUS3QGpR& z@_?a&MtEHjA*2iu8ibXYN|5P2VYIM7h#4|Gyf+KqaCiDkWRBA1VEKwdtH9{3-`C~o z3usAe5B+!80BHP?KuwX>9NT>(MAc!xQd*D}X=v?_rOG@w{k`N!>|>y!%Yk-QcRd$* z9oEZLdPJ6z15P+(=H}yq0pE->(c-Yt$A%6}4RCzzL?_L7>zQ<(KWWp{253n@#1}eY zUo9^*!ZW7U!ZKgp%4UB;5#?YQqVU{euXlL&?FYu7w9*o5?3DOYaRvg<`atltOm%x< zJ&iu+@)C>LwBr+v*?&sy(*Wbr0&@XA;kg+VLGE7*M zq!a~>6pSlo*DUQ~B`>WjJK4J5{l*IitjFCsE66RR+ z9c*3DF|d=z+QflApCPMaQGo$AKIP&}Q5GhTK=1Obr`g2&jg=;pl7?Eo*Gn^udX)zF zT@?&IHX9oi8l!`sO602{NKMZccpIQi1D5dowa1a84-t{fJO#hO0Kowf)ei_UNvX*JgbQ_NT>0okU! zPFA?FIt|&QlN$DCmy?zMswk&dq!Eo%1i?)o|wg1 zkS`0Bu$Y2SST{0Gr1Ds!`MkA6O}AF)}xN&ar9So}D&12P}?;7r|touyyY zPJGF@sI>Fi*IbIoPP{q`WZ`sKuBL$m0?vR})DA*=#w{B~K5T+;>CYmPxE!KHQi#1ANeWwQzQ)#||BCO#au^cM$#zJF#Zn6g;|}#(Ox} z^sO}cBb&Fkltmm)&|lxjFKN6N4mrdKh#&qc}*-!ONR1Je_E| z{C7@>F23ld#TTGeKBv(qI%vkwdWnaJU%9)yZJS1}f-_Ce!R(^CCYm)woevdeb#xsD zZHV`PQCRzv`_XtKew=E9fB8QSXtIIUdhDgVC5VeU<;$C&@%x^fb|n=54N76S={wp$Fat`a~Gj_m$UY^mX#RI(*a|cBRD!%ZML>DeQy==f@Hb40IkZLSb z%86N5SZLpt4HI~q8e9K-6dWl<6=tUS>P%6WmrU%vG@Q~ZP2AT$Tji#loq$b6YI!SV z2B3k!88e;=nrvrsFe7Qism1}ZO}|AxNHAGx;hY+oP@DHY~{YQB?|pKrFn>1p&4 zE7tbf0m_M`$KDCHszS7Q&?+E9upSt?`j__3s>Lo1o@)YKZJp(;Q_wpoT zW+~(`Xn;5y!PgR}3#%z3RjqPe z&g<}!_UJ8u$C$+fi{@9Dibf+`Z-uevGC#kV!P#Qqw=KXW3Bq6kZ@YlVu=Q;h)#qG{3NT}t718%)3;kNTtZif zkt>$+dXIPimvQtc=j3P@=VHNxDf4hLOV=sUBmUPXF-qaHf|H_Ne_38cmW01r9|9(A z`-dflQ*m9$-^;9sAcgD^(_Y{MvlB~GSQoIKA6n+s(&Uj!Z*xT*Q zuxfuBTl>23*%wZh({=s=KAx$zv9%Rd=;zEG!PT@S@15(7jz^d1;c?Jtt3FXbrOAnn z@l`A|;_R{pkH4WO4ILd3aF`6s@qF}QCM?-HbgamE1(SXeOLyj23g1wNStZ;+k+Ogf z>C*j6?K=M*R<%z|y7jj(e2q6#_4%tQu%2c9_OoXzO{{D|m!feR7GVD4nhW)8?GbBg zm{JRBde*<5;#O9;DZ9qe!^=-NDjN_w#Ghfv>+uqOmL7Nfd=Cum=%A#})VNt|&bTp- zPglfEg-QFksqnOo75vlkd#=M*Eb;9x4iI?{sy^}@!_^8gY3C;HsiN$@vuD?)=o3an_cw-LcC`M zLi~gY#gGYr-~WvZ/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

    =~#AQ#OKB1EWA+v?Ne_G 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 K&2(Ih*Z%|Zor+8V literal 0 HcmV?d00001 diff --git a/curl/lib/libssh2.a b/curl/lib/libssh2.a new file mode 100644 index 0000000000000000000000000000000000000000..8285b44acdde2b1d6709c42b608365fbbc1c1e8a GIT binary patch literal 453834 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

    q2 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

    n1%1>3=^iJ<@zG#`$AsoSmtInIqz7Y>oO6 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

    9E>F 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

    G_aZyaGfIKp^vRECg- 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 literal 0 HcmV?d00001 diff --git a/curl/lib/libssl.a b/curl/lib/libssl.a new file mode 100644 index 0000000000000000000000000000000000000000..36accb9d2a4f877d833c0f1c318c1500c0429403 GIT binary patch literal 703884 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�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� ztb0N}&{o*%7nn2+xPl=%xqZHaMN=G|%!?T=`%E~x#0GgRV`rvX_G1QAPhYGua9yHu z<2RHA!p+MtmVp$@%MvaejBl$4LP*-K1jHP)p_Cq#6>}z@h{zVs5{N_hkpexAw;Fk| zH&Ug~^mDvSskLH%BP^0-y^__llQ-W5m{X19?Q4kD-_ep(Y=8PE>_?|oi!yROsE>cq zC3bAG3Su{_zF>>Lq$|Xj)*OLhD(bQ{g9;3+hUL%j+=piqo+t3M;$h2mH6B*&v-EQW z{%MZKlPx=x3d*s#TnnM}YPyJp-0MYbTeA4FMt%GzclV8=xe)xw3VwihcRXXqf8bIq zS;D>wCKTZQD9v#i!@sQHHoVC-^T79DVFLU)orH0A_kW`?*}!H6<9HLgcUN(Rv%4?4 z>&3?SwVeeVrW+oph{T&dyfdiiVP|*$Czi%=@dOAB(>*K5)g?l=K6+<~v%Am3AT&8P zUPiWnvB?T@t%+PSH(zj*v%5b;$AY{2-aRnpbXHJ}o^g6C_kq{DOE(X+x|RX|EFW3H z)8RAYvtZEoZgnI8*f-NS5&#b>gzTzk1qb7cBwJS>8FnN9SUPE(gYYwTYOthb1-Wv? zs`LEAN3}Q-02f&r#)5`-Owb&KCo9N?n|_^MH~UUU0${eKG3k6BXlS^Ml@)veZ^rQX zjbk@E5&&laL*qyQe4!9p0>E(9^oXDANC5oF(ip!EXx~|HvZS47`HK!euD2rru-noY zE*_wvIR+18N(6>p`}Q|(cO(FeM8Yuva=F)}xD4eS@F%m90FYf??UvAZxQ-JpmIRuH zXQnMv5&-<_%R&z$Gy;WmiDE0@t?$GHGVF#D`x_lo!U{C1S{=+Foy!iUMW=>?F_Iq+ z#>ja%7^9}u!5A$|4(1l!CODXzeZCuAMGg%|Y{sZq{L<&n(>~01d~v_V=gv=kG;@td z`0t|bAN46yeMsj8NtFXf>ilvrJ$;zCkIS!)@)KVOSNPKBV_!^-l!@c}?|tr^?DM_R zhk4bP8oVRI7zIu?pZHf8mopl(!$%`>wHm9qe(s}TSvN+}{K*q{-#)ayY)+{gR6EdB zNOiqE#Vf~Msup;d-m9ijt0|mWTU*!Yy=TsAqutZnsG3|OJzCioSyc&Ys|wdJVk7CQ znYB=AIBzaBGrD)H{I(|GLaR5P&8F8P=-cz4jKk{UM~}-Lth~-5j0@^&?T)XeRgqgT zbABCeAzoOEo3b;xn1PBn%ySPt8f(-V51_qq#6{z4qS)+*^2M1~>2HvjPZcNavr-wL z_G;b9lfhba1i0xlZ}nEZsY~ znJNg&fKov@a}NBeX{@g|9_bJ_qLxC}yT_XjR+$|}<+i-uJ!BR}DKy3_M`VE7Sgh&~ zDE8DoA&9X>3!oZhwpY_f25Sb!u+6WF)-QB#BWJ#YdxXktebYBX$FgVwr~OzmcTt^E zUD{ETM@9l~kq~B8PinntK-|ohAOo}1jzjPod(A49!!6L^*88EerKU4`6^_nq#i!0J zy*a5ob!!xHUl*=nY~R-`hWJBm{ebAqSrAn1TXMA*l{1djS~>Ucy#y* ziv^=z)%d#smT!;%#tC2HPS! zxKC{F6>pcDitsrx;jR zRP4^TeAxd=`)NppuBgDHSf~t^?HTF3dT~wz-8r28yNtM3JjCs-YywqfpmWcK=>*e% z;bG7*`x`UR4IJW?4`LviLHDetW%H5gK3_H$UuJTzu(;Tr&MfX-&BPn97)O5z77ek? z**CtlS5EAdWLe&D9w&&NGMxDnJ!UwIYb;wG9Ojm}g4BBeoZ<{JBFAML1mb2rR{-sv zfpY(3aldD>EPpr?3=XdZk>BC7fSo7otV8n!((9XYRyHrZ9s(|v^TO*7Ak^XT`YLFN zeRb-z335&E$^(~2=d`3_`K^^@%$8(julSmM0J{g)R(l#C&DNkH- zX=3Dz#H88Dk=4%iz=XriH^E0Rn9Y|QES!g1YQU9>JvKGH*y53IHO^;fSSWfqw&GsF zVt6{fzgM`W7g;KHIqCwoRqQJ&Ow)@$B2&#qH5TW?EpGy`a`~=ccy$`SgK%IQb?vD2 z^*;f^=3jCHcgXDa?Jf}F+FacF+;R^f?B}vEOjW$^cu22S3Gy{JGTNA`SnEO5q$)Og z5aUu6d#a~47fdt6)TIf+&#jV_gr#+J4}ftqn$%eXRju@hXLhMOOQ{iEKKwvC(| zOfBCy%^-88Ii4X(3f)$M5nRc2yK39B2uVj(9MMaXRr^w_7?ISJ zT@&l^k1eV~lLI)>8$BCo;iN=}(o9u*6JsXhidyXr)LOOO0$-A`y={x|&ymhGcp|d1 zxk#YtcrO-+Hc^2Rc*g{~7w;y4xTL*Apf~YmD;Wu#gDhJn5SwcSO#pPQ;AR23PN1cL zt`~@lwTgEeAQgh0fY{bX0$d1OArLkH+#t|#XiioN)F03)fhqy1FkcGjM!{VTC@#=a zK&&a)st42}(0zbb3-lNuHg%Bzms1tQqn#=&J1maNlxu{J3&SeaY5_5AB7r4QuX1LRk<&sj#-BvkS_ES%X%}ViwLk*SE zRe)|2oYUnr1nXA<<&-DZH`by=De14*)m$%y9DHheMp@W&E@zXD`^An_v8YLfOBeMR&rcigCK|6Gf3ZR)1&<@6y5 zxS?#4gO0)A79+AXVgYSOm$jn9{={%h__5aQf z+ixGHA5`{F;anZ^lT*w0PD?l1hG|+u4^OZ~5QNFBs%s%2U$76uNp~o}%1H!J>tks& zoxQ%t;68VPao9RNCwX13p=2%|gXIhh>GuWE|V$WcYT4f-OeXhw^DD^j;J3y0)s)!pJs<}D_ z4ygjy8;~k+X8}?Lj#b@L;6#QIa;ZoMTf=ds!qPb$CG3FsX|6#dy6C_5K>?MYBGNnF#olV) zbsWNbKc0wOO7R_mhT;8yK;!XNwroGXD>&xd_XKj9u=w5?sw^7UIr0=me+YhR`CZiw zWp-c#fwOQk6Ho#o!EB~)NRNu0^#=jj;UW{@8i)i>bBVPPH{In;RD|{n0>Yv>=_RJD zg_1SB+#+cl8Cr=z$j6zsFIOj4dkESs-ZO5667R;h&XBY#{H(q0c!cahJdr>F-VX^> zhPUb@Dfo1w;5eOmSfK0iX7`}v*;K7#3O^#ar|?$Y+Xg^P-$-B!-j53OTf9|?a#ERf zWMprs(cD1MyFj#?F65Gs=qyI|PKZrQI;w=rF>rF1r5(xZddFX(m|q~)qoK^D>f|OO zk+46Ode{B~wi2v&N=`tKeEv zL>hQcyFJ>#5M~i$M>$DnqKF2LNb+}s|;X& zq%we6>v5S;!;m1ghT^Cb(rcMeX-{yFY-fVPgA4)Dx>9lp4vJKek@Pzah$rxx_9Aw@ePtw(aWKsEfrfkVXDUmR)aFod5|F>9B-2n=JTue#d?yNuIbcK z<^3*P*b?75O48z78>$h2RHzyNJt-j_HGbN-(Gy1n^?%@vK0k_nbpOm_UOxGjE~nIO zxMTAp$Mm@N#apiI_Py?Z-2O!I1MZ`6|2OdDv6J!(2Nd_uSG%P7BkLAL=gyg1izB>K z>lV$Ovn*gK)LvQ!iU9Vo^5qu3`~|W3v+5S*pD`Pe`S%U$sglY1p+Gr!KP^x`-bV}6 z7jO0p+4^E3LL9R66dcsG#O60f=Pq0jIQp1K&y({{KlAMVPX&J%d^$MGy#s&@>LAHM z%zsud%LE1=CWJ>_t&s(&?q5f{B)2ZGH2Jd9iFMDey;xECL4cQLG~kb=IG>c8y(55?^_z<*Q4DPS2y9R!JB^Ntov@BBe`{}r7>K8 z*X}UrSwZd>oCE0TUAO$vk=**dr7>I(qY^{svVv^am>SPTgT;>I)^(P~aB%X)+dBQalZ>GlJ8N;#aYPf!CX$;pc79|+g zH5Eb@y3eyuKgW^E+F@x-e*J?*35E@RR*;PwN$zI-k*iiQvKI*?2RAmu#HTRq18HN8l7oW4K;XNhxxjS-~>UkmLt< z^<1X(vfv}|u%$6v7ivro*g`rGZ>HSDi-toLyh+0oEsf!7)peO|Q&w;o-*`@1xE2fQ zhU*DSW4PvMOfTWO6mNzw@$sL&tMszqBT!*!4A&_-eNKRFR`5o?@%%8E|0|`J1s{Qb zX|59jhU-IC5ttM4IGSV59Wtm^>1CnauUs@LIgeuYz?_7~;d-%KQAFuwq1_jni!_SM zXxiv4T={s@jDDczR;8DPUq99@8)+0*A6+sza8UV0y1Cu^m0lKdRl8`sl8E`jrL9RC$d_Dp zOCsh2>y=6ELrjomnC8ght8ez`Wf82<2qc*bh%w3vatNg>6EMc-y(%(_#v}E}a_i`} zdA54zGp9Qt98d&XwK$*(@(^8G`U)4@0h*uw^O-O)flj0zOLPvBLIvbvALbriHXNFp zeVCv4Ff)Aaoa3YE?V+iuiO!v0=iKw4!t;HTP&R~H7!Yj~&0h0~e}#G5$90*maU@kV zi#*{Gktv`2;>#Wy@-8x2Xx+KhhZ*Jb>yIjv=z#WpsE=#A3YLq8%Z0`$aDe&5zrx5E zT4NPvg)hu^deWK1qkJ@{>heQd<<8N*5bpQIVg<>yQCwI0T)y9z7yEpe+Z407q(Evp zFh*fqkw6GDYcTquVZp!RnyXtIS}4qP^(T}Hyww-4fB1aw?($x7E%3Rs)aOpr$5ro3 zpY6VMzQl*Q$>+`weKc9V@c3nj=lVj(1#4pzc)8Ez_YDF570omsrk{_i-B+R-JX|&N z>*m+aZ?rh&a-J`JYV;V1got~@4)FN0OK~&1wDX}V}Y6!ZTI;9j5 zD-R*nu8f*{6(l$hse_54R*Rzxml&6g#I0M5)8H}%(9Nt+IzR?I^o zQsub&>TtQP+_5UwNuqASb}T)4Bm&1BDYR$T#OBs&!DHtFIHsiAQ%rg5tVpp(eUOR$ z|FdE%Q-J146FCdAsP;N}m9LB3HYO)K#!LspFBYtp9$abQq3kGV458;53Xk%-Mg|2! zn)cFqks?+C#3u4S$3?u@Bjnl%i8sfs!YTT{7(&`uW2l)OYYb%4Kt-WmR-Q$5^A|Qz z7n+bO9Y`}FaauF8ZgC9+{%WqOo!$u-1h)MW(KH;iB0!^JXs7 zBF7o;3-o0GLOpZd+-toez@1ZxXYM*7b**XUyjWeQ#Xyy@Lze?h<7!Z*Xk}KqIqO)& z;pJRvzdN+EmWttq7C6&#HqKnM*ap~}jY?9Q*{|zH?M!I@Gm%@oY(ccXE{ev&#f36A z^D1vh4n=437AH4EJ(s7EGRRE1YHwYH5Vy;F)KF#P>Pr-Y1$$D(q)8WzAE!x-*0{xu zGi!CE+_|axS9KofDs->0Qiy#oxC*-38W+`RS#GwEV%M4AH?F9xi5=3i^E)1;Q-TBD zY-OKEq)9n`>&~wcLgh*@Pgf~%!DVT9RE=Si;C0)DmlFbW7uT>eFn(!Sa#?dlb*^pd zL{i;Lpgq;h3u_lQVhAxa8e4oQCo++F9dc#5DszW&u5)6qqblU+w^2JX%F%lXG_x1! zF2Y_LuV4N!9m3zviM@`hW;$cgjg^CUB^QMIKfdfd*On*jtS((YiCsKQBdmU zHr4qqDD~TFHoDXqQ%AcD0k$UJZd;W9@bc5$Cla3v{PjgChN<`&JaxpYv$ zPu4rx(=(O7-h4<=u{&J-@bOpB9IxkzBp14pA%i>8oedhJ z(cPgd9O|YUiH|zaJ<-vyMH|UKKr=$mhpoSbO4qaT zdoqBjt~oRD;-1$z(Sq_+Cc44icq|A1LC{^N=d=u_xL4$r*XJ7FeV}<&({brFll(Q~ zSMFM4z$fS+zg}EYNZ1(eQ;g_97jWdSxd}V9p2UufMs8~*L!q`bt+WPqMUSt>H9$rJ zAlI|^N^efblPwGF-vAT|^u_xef%x5Dp!4zOj;NIyf<`kfV^YsU#Az$dqO_k(-$Iwq z#FH(H)?B{&kML>*bIHn_sp)FmgAuZt<)WflPAOxNFd3-@s{!n68>A9I9fO3u_2kND zkv~YWV<3cr`_4=vVuM|D7Ea&7C1(~{8yCvSK}3kE6zRZt1Pd2)t`%iD=?Ni-MnU4) zYF%Se8To^}mnpnVfraT?m~Sevn9!b(Q4$DOFye9-DC8K|E7{aLv6@+!ybR(&c`fPa z(dk8@bP-jNO-R4feoV3$B0R?d2LYQRpnenI8c`A(8{0p3w$*)ZGQ{F$NV*cl>Mu{PL#y1N+JER(cp zKk;RVv!>T}39tVZguN$NWhrn=3wn&S2{+Cr+(JN1P_tMM@ZT_8g;JZ_M+?MNM75F4 zDor=D<>~}(7O8uJxG9q@%HFv7ksaWsNWMUPvsPzIo#Mj1+74$6sJ6pd5K+sIb!g6yD(Up1%wac2X3f~7HBRQO24c3Evnk)Oud0RN{#C>lLlQYh91ulf$P0q)*3 z6B;3(qWuaB7k#AZx%2rui3xPFB}K6TV^r{Y9g#6u_~$`ju6t^uXv`KOkqT4p;Ud1) zhq;SrZ4}qd>Q8VAjQY49_0e45!F0AD%{if2kuE}J>9MJ-8)jaJcF&0pLDtbB-#T?h zcYIXZ88v~|t3b|7%oAK$HubscUQG44!q}M=KrH`BR6MJYdiw3Rkoh#(apGTP{o^-wR)tQ>c zu&cRGNvZkfe;yvUMkC^ct`Jjhm*IH10`4u)Zn8a8bVZ)=IFAA>&x!PL4u(+! z>K?j{6QK?HX812>L)4X%XTdHa(=ZOB)VWxueIzgnZ#5|!Zy}e2F-H1*ox8;$qo12@ zGM6;ND>Is=jQ(-pS8n#PE^%t7T-Rb_Kx#`9n6QtaRt_I}6zn*Z)e#-0ZUc< z4JQHYxlg9^Jf5BCfV(tR@kvMAsPJ=B_9fn2^#|S!x#0^;!d893W+&V-5ODaps!ulT zS4bpb_@)zyTwn3GHI-fFBzh#qh1yO9MxCcUh$-AKgk}Jqh^V0*D9|+)*9=I_*B$`G z`BEgX7H`g%B7v92%*f#tAWIqAO0S zHh3gVY>Nc8JzHe#l^*od;4vp^5t;C_VT=UMv$%c4O5gB8LA5hoOIezHJ(TXMF>E-q^eQJ5)PAeq zUT3=Y->{>}4j8U0G?$vLvA3ZqID6gw&UDQT(z{u%4T?-p*VtCknOirl80<{f9W%%J>DsR>jo~WR7>;?o<&c;_hKZMq&KK5-Enh0k^vf89xn8?Wtirr+2rTA4ALcC& zMkMXH7q5+SN7_{nCg11R*@{%C6u8ibxz2;hEY(-%q3LY8re-i|!p1u-If6Cw370^Q zp6C$c9s#@1dg!Y$_-o2UDR?ib(UO`@OS+YVU83tYxV5r$P?#^z8I z=ALBC0KOJ9TQnV8d7&#RDR$GbrThbEs=4Y1!1W;2dOrRCTznxq2Z-w$|`0(Vd`qQ`6aU@6mdO zz6TcXf#y6tjAHy%Iq(z%QLXU_XwE%Gd12iv#LarvS9K@N5KUvy%Dn>5q<#S`$Aj+Y zn%360;-aDM$@(nNy$71%3>b_p&&5R^eNxxKZUSgt^U)QQ6bYw#F)eq2<~SAz80%iq zP)~ik40dOMW@SgZ;=&w`7ziz5CN-vc=UJBMNU_A zg~Z{$xq(o-=gtqVjvwrc3&&WSy@N-ST6s381AuNw`HIkSX4B`-3~Fm z{@Q`gweQ~0+gSmczJ+bZO?d2XupIjyyay=W(v_+VnH^-nxfaHCC!}btl(N=ZDOJ0* zQd*$aO2!;^3~-<|n{OvVRpdoA0(B}ktz$WJ zTC=jU5+BA}qt7$R{`Pnx{uut-k2Di{XnIJzYY()m49W*Z5|7eVpl~DctsvI^o?@$$ zlAG>%+}WR!le*UWb0huXe!W9QjTzzQJ}92)rha>1&5UoY>_;fw)ZfAMSC~=hrZSDp zNjF`QZo1U@nqjDuE9SMNqtnwv3?en!Rgy-#O44Xml18hNL`9lZW}`~d=p6N>N>Vp| zH1xL1kI5B{U%MZY?M}%-!ZEnF;8Dso6vVDj6__duT?!~AbaU}uBTx))Rm4_V=p{gk z_t$_F-EXb!M;6LQ1}VA$7IJD0mnhSXHuvAxtE)q1( zpj1PZQF+LgE0%L&B0fyL4>Q|h!p{lYoCKV=PUp0ipr+>l{ z4nd1M@5MhB$}AD(Tyo+oE`<`tRHaqd7dpT4ir9)|Wf^McHHlAOV5gXF8fDY({K`?W zxmcUDMII^^L4xLO6#v5OD=!i?YhXVnzW?&*ajliislY3g`)IA~OE|oK+!#oIq}MZO z5NNqa2d%x21gA&hQ`E>d*geB4j@IV=K@$eNMu`e-wU*fkf^Z@r%Td%ORIIlVhy+gY0 za@p0|Qd;Q%qK4abMklc*?r8v8D_QE1HdpYEy9UOMTow8BJrBVG?TZw&_O5D;d8@i` zk5&H;Jdpq!Wffo6EEV5sKzEAmbZff|kV=EQ0DVhrojRd1TdlLA8l);OO^v$(CBs?s zN5uYsvY;YivK*`Sk{4&dIXWAW#8r-0;Jei8jWp=VTUl{&A?&d_o>-@q3x?ota_a2l zxOx*u-a673|r zYbd$HJ7Byf@keMpp2I*8aj`0LP6Mne&BcJ0;K`Qj|5Ux!VdS2c>@Fcp$<-@CgtBp* zs!fwbRakC&Ap-%w*<3XQCfT-y9`8XTJFNND=uzSIo19WBMPL}nuf`LRYXD~nl+jn_ zyx-T0>8n3QidP+A@kzYitrcS5eB`uk9z`TlwYXxcsj9t?*r&ayG5)(r^2kioc~+lp&#? z?*i+yHzlfehu3e$rOK(wQPi0_eWxu$x8EMWFc7;6CEe68_%c2n+wK0o5Ury7dmtK0 zC&9sRirUu10Hh*!P31+NgnF?3Xu})QU2(qTH#^qv;)zI$^gV&tUMc7)Ko1J;7kH~g z`Y%8a362}=eFM?pmX%-jjD?fsB?v@LYdIU;z!uz=EU7mtS>7M`+Qe^^GQh+e>1&pn zmLHp&;aeXIp}kt7rXPtfI3*d)Qi#D+O+n&+O5cthmn<)BEvN5+ZRG`lw#8tONUS{2 zGu%>#FAyZkOR!@t=v8T{s5eoMP<$Ec#u4#l^?`8n`S?cP+knp2_ItRMx3x^Xlca}A z*#yHIZtjkTEjgjS<*o4D8_|=kJP--ry|sC3xaCU(!`n~O5AitMA~M-v*(~(intu~+ zc^D3*Mt4ocb~>#UJ!k+PS+(1XolI{l_Cd74iyuZ;rmwXfs&vz50SO(1IVNkFoXy9Q z5~ZwaZ}kLI2E^hE1YCO7z3?F2Xy$uj_j}ke?#oJ(6}#7z7rY2Zw32B`^GNL44ghMc zSPPpD3D8=xT_Imne>>FQF7@}m`g>RX?c`r-bkLI?N{`?-;69_{3H9+n`jaUwk=!BU z4>$Q;$g3Tz4s8VF!G4)Y+D1GhOWHV*f^kvF5%{@Y1Pw(4>w;5lw4Ts!Hxjd4zeX13xG*gye2tj zNRcbiRI0Koq#f*?z(TwjL-KU&HB^3=jpX5Fuz)7!scsgrC=-kAsj9V9v22|ayS}hP ztdnJpsWG{!>QH=R#8l1@OH;_PuiC2oO~-aH5gYR$!7>%9oj0ZnbZYb?$6J^W4UM6q zyb3@$-O#}Hz+;$cnDVgnE5(iy5N|#KAs4zNT z46FGvxs8UR<-O=Y)gYlcN?+ru3@dudY{y`*KqAcp)o?3qdmLpvj3**vn_C3p5K%#I z0D44l9Pp{8^&&v3L7fTcQL$|T^q4?NK#vQ=%OF*AyAja$1ve7qU%7HQAVt>*NV%5) zq&R*I=po^F36PpA{T2}CjFG^<04Y~^XiD)?YqJW=a0^WZq}*!&q&S)ZDSy8U=m~M} zc}w?OK=p#77~GQr4FGhqKvdMD;;|CYLxQ^%kP6=e7UJ*#ew1Oxf8j>WxnFbcZ%NP zM&j+n>t;HI5qU618MYPqBA2C9nYxCDXduSMSM&;C?Ccss_6WC}gtFs8mA)Hp`54K8 zi*B({6JMT(OCx54n@s5hrx`b1&07@-?2wJ$! zsw7&vG z(DpMlJPk*fmLsR_aeT-3?~hK6@Bbp)@@?8ywo#bIqzsmo+ExO+^1$)2()fx zC)~oxXX4F^p_-pV(KUaE_lYSx!p&54lvuti{)dB~|29$eTH#ymMd9^h^G-}u?L=^s zOGC-3-N84K6+4SYop%tcMadg-gKw+>9N&C!=#UDXp!s^@O2_!}zT-|W;1T}Rd55Rwqq9R7mmDnl8P^;M)P z0i1I|9JX*O9|>^gsKT<@(!FWvc3IqiTimf-p~p~oZvv#&knaV=f*1*`1El=; z9U$fJM;7-FKy15ZiFn%7#Otl)y^y4V^S=l4(<`6R)SQv5l^l?q2!D z@iBMPnX3BSUMj^-`W%-}sjAOBc43ztNRMqOvR$K$hCIPUHR8dAGoNP^xaINcO*i8)s+m^tYTyUv!bvmG1@u>Y*RVyyExUql~?wf#AxoQBU%G&jSR8qo8F$|4k zt_6sTGMWNZ;TB!u7HuP;R}faQ{wL4RF3_PtxrJX`StMfi8{hk;BaqE%PvZz=e?W2= zlv8lc;2Tf&)pwld2xPxvY4Syo1IqKegNSr^vVsfoCP~x&)30{~vgcSD!&RbvX9uN} z&eGQlum9^ijzD&AOJlg!Ge9soc(Q_L3LFT`iJ$TKS?fc}1jzIQ&qF{J_R)P6U2ACu9WCceHjG4}#dmL~C zvL&g6#&Ff@RAu4J3LdMuCQi8a9Y-L$!qOP7t8`3{@^GE@KUe(95y&>`hmW!$JcU7n zVH!Ao^{9RB9!G(6(9#&cj3UOchilROKYGwnAU&L!2@|${&1I&-;6Z_|H4rqy-$bmSR2AW z=p1C&vVv#O0hk%JG z0rh!!@G?h%^iw2&>1k7=pF)V{fUIB*SeTkQYXZ9*1=6}0g2sgKI?Z(g{vE#(-&l9F zqd1J5w98ZPI0~fq>UwdK z<@%5n3#K=otl%uXnWcB%`@}=NrDeoNV5_AuA$(M0xWKhf$I|`(4vNVS4 zkGk%hB3#9q>$RHF4;=;4n=OsudPrkV6|T!P*D()OKH?~lj$0bTRi}N=_i%N&?UZx# zZM?=<8pCyl#`F=cMcS`ZE`Rk4r9c{pKsQTcxTZ4lFsI?k3bx_R%=ybDPdx4@kmk`* zn$v8`kJ9z@bYQcB6hUMi`|fLtFHj1kNqxGd$=7B66Wtp36|N6S1e5pEtk3$|c>UVa z7_ODNw9tpFAY0->KxH?K7<7i^y3*1ZuKRR3JX5%q;LS)pHN5?#GcDKkmd0?MtYdnX zaD9q5EAE}azIUEwxef$@f;kJRp^D_kx~*e9bJU;50&_<7vs^pfG{VmTE6v$>9E}I} z6m(m1w&gn6P2*6XBE};X~2A<%c}Vl`cBv9n3%<=17wWmg@&TcTV{SD!nt`DiM9m|i}veL8m>mz#YU z_d##v`3_LMp@&-caahd#f$`&=&baXsyE z*>`BIi|2rqsBks9Moio>)`vgdLrqH8D~~U^^;%~*;gp%MGsl!Ri^F!(Pu`isKBXmx z462V>oq98xxNFQgH2-lv72Qq_^*NT_U^XsV7_F=2eMX|7CPUCVPz(0ftnhId~tMuKhL4P*prn5B#JoW<@HL%0HLXc63`ma{gLSuTqZK@5D&;@ zV057~`M5}@c;}v33NO3i^I}!_thy8EFLx<8)<^DqG&TaYi;!08?4&2v6^b2(fktR3 zLwZB6^};34aC_Cv+GQ#|pl!SJQ22>6#fX{c=*#KUIWHN?_6VxDtx-C=Z8VWjvt#q; zFRQ7o^#)Dy%CXW64#J}o*Fk3ruu6rF9(2e7#+@W|z*aq%K5$KL4ybyl=GDzy)S(Q! z>XKhexOU4&V^c*k->L~`(z!mMt^cr2#;UT#Y|sV3oQFMRmUW=@rl)a1^q<;>U}0n3 z0;LjFQ1fRlt%=UOii(v@q7b#X?iwgZny-h4`q;1A!t0d^{oDn$4r6Bp*G;4yslR$Q z)Wa@qoQd)^Z|1BzsAS4eJ){MOCfT}0&=KBw#qg4OsZ=gbYpo*svubWeVEcHCT5rVMPZCa5#sjwId` zR&IKFs0`jH|Fyn(Dg2$Mn1{-C8!mnB9pbEpXDS&wchy7XjRLdCr3E^ZVs}rzsK_`v zz-kxHZ=6>bt;={+zjI;+!e&34m`+L=G{bk)>F&vM)&imMI7n=UBmN$=^&L}B4>6mt znwgD_^XB66PPv?7W^|?}Z8KBobk&vOt6Y$p<0sONs0=$~AUYw@4oItgNdC+e9{-(O z_9;hDzIPyS``y9H+eF~vjt=%R`gc?<@CJf;GZ*uU0+*Hrfz?1t;WaGU7fOoqUFIvb zFAOOy87lPDzR*|ZVW~55vRTi_B)rb-EF<)_XkUP~>>)1So&x+VCZ%Sfj;jZ93b?dL ztpsUWF3SEG)9YX9DK_WT`n2#Mks;P}EAancpqZo>6i6;~#a@kU++V*9G=J7~oMtQc zN<62=kH*yZOVH%#1yU|~DfbEsN&p+P8o)+OaVxpc0>c@zq8l`ri^9hI9l!$6%;L@p z3}^8|S6b>$7E#x`P16XWq4O#a2#f^&FQ7Y@doD0GU5dTxyc=LQ1T+t8I59g@6`eN(w;4VwCnbU4NDuE3;Q1ezuvT?sCYa12-9R%#lHbu>Q8 zu_~xp?}dxxQ)9YJu<~?}*Nk2TWcazVE{Sf*n;ro3rafKayMoo}#bfu-DJpxkQiVC9 zEplvq5EalxV1*9h+(0Nzk8cb$j*a~9yD~Qoo&~ytiVH8eBP|h<`e0N1JEz^jAmn6rlv$d<1<%Ez`*Pn`8 z>*GuN2cn^s6t;3mD$%;LTa#od6H2Q|}WNep>j61LpPLCdCLz8H2KdSJ(!nETdgqflu zK91uG$oe_0WuZ_O)m_d>jLDW`C$16@Ur`W%IAOT?H6(!buJFBe)l9#)kqZr7nB~Sw z^7aMEv0E%s^7e5-b~ww#?Uhu;S})~wf_%w~oFmA4tEZuW+JhO;3>uxJq7mO92kE0# zCM1%2(mup>o<%70kP(LXidiU z*vM5+Ga#GkI-Y#FsCS|q#|`%&Pt$An!Y5N8fkRlH;pBKH*pAiz^p>js8f z-i07(dzW?92;!PCQ`%bbxo%+lr|ago|8-qudz)^g?O(%j&WY~c>-r@Qv~OeIzZg$M zE>ejKGy?CKK-2JU5{T`!!rcsLiQw+TTiN~u&{Dy*;;r0!-`XAkqP=n_D2vAq&dvp|i2 zS_HZd&}xAm0Hosa3?S9#Z2)wW*nR@&GCU8r}p## zu8yH2kUEwBlR%Qd6XDT0E#3QnYP%ZfxT@p))+@_`IFUlvK!Q$?4WuME1pn~k8i*WO zw)k-o{wLVo$kNJMXDx~Su`PnZAVIur7EB0@2@r5N2{eT8A0W`wn8vaT4JPErVABxN z^gzVPG1SPo<)D7w%)9r!r@IP0JM>F!j0Fqc_EQ+gnW-0LeGGc`b$k-?JXRKnPZlYBswI%>1}UR-(^w@WLxGmvgKMSu zF`z9{`y9?U3A7jIZwM6lMWvSd{wFy)FF#?h@hk%33)sW}u4~~7$fw|57|-G;D@vgE zgZ<%5Ou~h_5!O#ZGLag-P^WRKIFT(zKhc=Z-r0Nz2KP{8MvtdkGatrl6QvDebJ*q| zNBHH?1pEc~(B}C|iU<6E2UE0emUd6W`I`b=gtH2i-w%m9UXIuM3^z?4hZ~%)>wm&b zLX%9wV6#Y>AI1x(8L^k;C2w53FccQc5!4Pep<7^qSclrjYf8%&cNVXw18oOZY?@0n z{v(y56o_xJsf88%LoeP#6f7Xb+kn1wK|R9MidXaBu2x`({}L)~0ep}0g49w{|FsWP6t@48X2py5M8V|BXzc(~dog=xq zAuoR<*Alt{)Bf!%){F~1C{VP={>e=jOpckJR>>p5y@-uMDWY!Kx|s#u&gHTk z=AnbP;FA!A{r3W~)87*4Hk`Sv6CTyhtpe@F`P%}~ln_JHZSbxnJo=M&2s9hecLZYe z<(&ep1ay}`1wh*bx(?8H1=4aMVVY#8#`h1_4b2k@ahq<(*!!=l@oERY0SIw| zcmxR1*B0r_jjXqk=HO8~u$n}J2oI~F)AHn0To&ilm*&?ziEbipp>SDgUPr0%SU{_% zZ6Cglx2UGDLZm<=z8P0i`r8g9eK~XFvWczM-525I8+A;dtGe*e9xNkUEWGSh@ohxi zFtyG~+=b`EZhP&(>u9`O*uT^`&@zI5MIkt2XlL?WXu?figH}60=cTkVh~YuHlg?0r zhS?MHc-n0pO?3sRObdwM9CyWZ@yxbt3BrjSs{Hx$Ey=9GD}EKEEkbfQ%=0bJ4t*AP zcxU61ldaDtokq4C8?0SFZFt%~L~QMYhaAiYlH;5#>ulQa(3>ZrZ+s|9c(jk-6DVcN zXmGUbX+YnXTACCZorI*4yjP$@IRAq{bS!=#Pz|8_1o{}D9}4toKq|gmiT6v{1%N2X z)!tG-^r91RW=%LnAD{=N?CZAn4qN+(t=(a3_t@Is0@8(X7!aSTt7V5y-KQhrLTnb! zbp9R^C~PZE#Pkj}Q!gX2!G8VX*m3ns{o2E?Qfqzb8cO+3dF2Z^Bnu^_FV$bWuXf-! z1REvNZR4JhvtV(541{f@Uejpp;6z)ymE^oRf!w!RcV%L<)eLYewXm2xpbr}1*K7hj zz7eMiZE+l8Ukk{;Y_fb}Z?c4k46=IJT)gb2r!uI%XJ)`Q8zo~YB^EKR*h~>|Q zSXOt%>d-v|`5T=tIFAAcwIf~QSbOZKT55kNPYDG)&>D;lr1_07AlBWa0?QP4Dx#>{ zP*3uUOABDD;zBhm4rC>s{mEYgMhksv}#Ey zy9?(>@JYz3(%N0P-XdiOaMm*3CC({c$O7mwftmr)Jxq9MK#vQ=SY(Ch2GN!#yvG3X z<|e!sY}p?Gse}0*pr1%BADpx`Zfxrsn+NDAsl5mg^+m#Cc7lHtsNF*0HJ0&RLvcX1 z0nsKt+lwgDXhM~d^(|%=%PZfA>hb>sW&h3&K9hHm%Tgd4^(jL33lt*LSb4!_I!+_& zjoB5O!Z{MwYJccV6nDb>tZz{d#oSThL_d9`u)o~A*&1|;$p(984R%!-sZ+2|1SiWp zz7X-EGGBHQ=wp`6hRZgq`L)6fY#y=Bbe&#sx#hI}?Y-=^DXlXG03sO8eP;W>1ZWwf z<6os8yc8e4;KD#>1ETIoc<15#PXc`z=LPswV?BD_c6<`@fT{izy{~7ajMBA3pyzRZ zR-l)0{%3(+$5}bQ3+QK3b_676r$8qG8We~YpkE+rCrWa{qc6tkx2ac`!GFSwL;2iV zdV*eRc{5cP&G{xOvSRZ=z7fVOHLl>JuO8%c^qM%LZ?lsMcQb= zd0V(OKQ~c<=``V@Fd@^%2kmBzI0s)uqo%d0X}dXbBK7cWYOg&7mCOTU?t@U&g(;{M zUjT`S8!z6$1)Tm+UI~K8cw%^nCr0@$Z+tq+crshV-lV~l)+UBqLtZJ{S3G6C0sScr zBjQm-{S~(U0d}97-@qe-VFXk4?-q`WXx3g!Re>;NqsiFVwM($C_U3m`A&L=U;lqu~ z$K}6(*@HgJJATO|voz|b?M8I}zAjLDCNDva?J0#-5t6#l_8= zK`Vo?wh&#)*HI(4OscoFz`@>I_0XNs4d3`F9xH@o1!g zj|P2i5a?o@`GB49R^hB=SwLJ1`e3eQ^nw(RLb6V3_ux$TGU3soP`n{PKbJCkOj?@& zq_woj6qtm!98fEuYDuZCJ`A-vCnDjk2So1G-bO$#N*SMGSeEea0z?&vXC^@EmC*;~ zgJr^_hNnxD@ZJTq2vD{6J|JzQ8k$?%2y1TU)w23|FGxnYMT55Bq_0-D)$sO|(t%$B0oZmymL7 zcZkfn^B@KT3A2o3LRHree8SM;b;*mNgwQ;T$D!DWw=CJWQBfSkW)LO-ZAG5+^ohRs zjP{|}(!i-e1_hC4cnMGlrp>BZ$ous*dgxM#tQ&0Yn`Hj%$i?uxURy@5%h(3GMVG^x z3^&5*ni+ArUh}yV1vDXtD_nCjXwuPSD@@m>>sBeg?j*KQx_B zTV_P2e|+XQWqjbDDMo4*hLghwyMH+AQuzv?ho$VRICH6m-J)A?y+X=poF2g^A&)2O zl+gTak+R?6tY!ZNNZq0-xK+QBTAGqy3$zN5F1T($zmYQTEI%d?A2=xE32!?fb(&tW z5Oaj-vK=jmhei;#m< zJ8+G*Uv9~d=M58w&0=sXV;;;v&AS39SQwD41WMx z-V7^n)oFWHh)nKmS~6p3eP|S;kD!Zj6hf7%(+U)mXo?klxTI6 zC=<$s4v#wBzXPOh(g%RPhEKw4z)es$i7Kg2%FYLLmq3>SqVYk>0zm3IT?t5~%j@oG z$fdIQV|GJ(Dw|Jt@-KTSPyZE+za-+1dfA4KbVoyXPrd z#OCjh?TftpR;~B<@m_D5Bp%?$3xe*psDRX|sW3=ft`25?(W#u3@LZiiL@Wu)H z8FBgY#^Wm$}dxG2u{1J%9c+XHB?T?&a@fgL2(AzH-j|*}m{D~}a(3jV? zF4sXzba*_r40SAjZ+`1@L2iULi({y6^Z9Tz@fiQ6HWg6I*~2#lxe>0iI1Qe5wqYWW za2$b8Ja!$<9Qu6^ef*RlH^SkMpa{niwueI>)siFe6^|Xnnb2kT9EFfPzhmBu7RR); z-k%?`i^opHna9tj?hd`IuGQk0alNHz{>$o`aK#qhd*;8pgWL#I);uQK9)8qsonP_T z8lLev;r{mz2DuRq`eP4rBRuW5{xP9?7!B0|x^K%<=LWeE?zT9lhl4&J;%W{7_VBki zK5}D_8{tliW2ka|Nu5yfX^xD~n|;kMgWL!gS{y@lzCW&y3l)FbJPy$8hre(~kQ?C? zi({zFYmtr;D*k2eSU`twxb-JNZiIXNyL^IkQ<@f;+VFE z{rO1<)t7Ll^gi8moAWqvP?}A6)n&&5a;b zemu3{M5s7(@fcS$kJ?>3j?>%-N;O?d1t&sPkMelz1gYhZ=s!JIb0a9#3@I0!2o*J9 zJT}FrDqr~0iJBWhsc2X=M`SeO`%@^@_;-K8@P+^b?e=G0a3XE-*)1O9UE^_R>koHn zZUk-XbSV`afmZu`8gLbt_dA;wjLhLrXCWK~xB4ZM9jeJ9$7FqH2uH#FR2Vp>;1g|Y zilzE}2uG>@Kvj){a~`ES!BV{y!cnS>e`BdX<1v5vc`yIz*AJ;ib>rXJ#%?NT|4=@2 zjeww3OYWFpFigqAPRTJe5B{N4mpgoZ>YS)_#*S(%(ngLJ(e3B3&Z=xz3r5O%W<0w>mR_hf{KeQ*x5i zp9h?I?s3|BSEoSwsNk!<#b=S0yzfxm>D-I23I{zY)dx-wo17jV8JT%f|A*7(q;pTd z=k(`nhtE8R>S-hRXhnPYb7vG&oIXG8%*Gz4hsQf@O>=Pm#^L-GM-nFc_LTFWJ*;-9 zCOiE}Iwj+r{v@3KEMz18p>3UPF7d4;15SUgckbXHogNN5 z`v7F8J^Y1(WAZfxI1f0o@qDC&>y%-q=1|V>J2N)dnT;KhQ6zKuY)DD?J$%_2*8`>@ zd}~{;NBFS1)1mrEq@?l-j|-7;kx$OKUzbEi5m8XU*ZzFh8T;p)9$pve58L7nr#X~Q z*<9jVOL`n>xzAaZw?=wM7CW4_o^blJ(i!O*htE0AO5w{Z&7nQS%h>IqCDWbNbateK z^3z+$br~|BkJI{@PRYwopO0{Q_^>l$#)KJUy}sKDp5PT9#o6uieN z8FFUqU}VOe%pNffjnpj&&FPWB{7I1X-1O>HF27VZ6};r~(@&d~L{!^pn9fzqf@ovq z+IzB$((XgNFXIz6ur8dQV=PPw;H!X`%4U0n*9I@yvS3bA^1SYJ9^v4ACl)QfXkl}Z z!h*r83qmO^graHja!HfnH{G5|r@9eMokBtdKR_8ln9)~dkA)Lu5!zQt>V6ADcq?)m z3pL8n^r9>nOkWix#ed^#qVu`sg?mOSy) zY^t+2pFP!Z$0it(CCJ_Kr&pq;kz~Zr7*UBp#n;>qLoh0niO)4Ms33z$E|<~V7Rh{1 zQa8ntnRE`hO+@fbU(h`x_1_2)sepAa?7v#TxF z6-kGpH%%uZR4Ml)&;urwikno0$|0=Bs7b=wZBcr4x0X==5Z2$8S&jRVL8cwK&q?gL zN*Wt(swTPUG{p!a_dB2%*QNXwkV|m_M%RVImn&lgLByl#BihLCL?nc}B7%R1{Ujhd z)!l7tQ)U=ma?zp-sl|N}w;hgfqgkRJ*ZMGAZ11}I$@V635J8yNlg}`YlYLCEA;mEWRYAT zxjNf}r&hZJ|F0=xD5hkL>`j={9B+dZS+m>xZ)xt${lD*8X(w^UdPZnud=;~uw-Gz+J_fjDd z4CQ5QYHboi%G@m!XmuEDCKz=Z=B1ex2GWKkD;au#3PM)^u53&yDO_ruF=sej=^Kr3 zk#k3!+$hnEBAN86EbeJ0*_Lge2~FG4vo^V^(5VWm^@8S0AcvQy^b#(QUZ}ctBoW%X zEhE@KNOGd(7aw13>AW?a*V@v&P~>S{Tc!ZcxCK5`Q8fp3A&#q4-Ki{pwTcKgl4HQX z3rd|1>U#D)yd}Nx1}p~$7wx7k0wvJ5B9NsVdmRXNTc$0$*3Y@Z;$Q)C8X)~#F-gqr zYS0;?#uPqi^z`a8n{o~eRFG!H_f)mO zx~h69-BHk}X@9w{?dd?*D9X&i6-lPz&qUZC^od~Cqd84J1l0^(evTaFD_cjUBF9SW zMp}=u4EHhQ`&48(CT^5vs=Gbg*Gv5x*eVD|<$;fl9A&D*8H-D(HcA%m@>s+UPLxI1 z<*GO>Q3O?VeAb~!SgR>$Ld#=SA)T>#Y5cpd-Pf85ep$F$`j$+!C%e-f)5U%z(~@du zk+fGh3l@f%vEW^#I@25QbF~%G%5^?nr4&6zwhNUjeah)G|4fsWDs?q;*12-VQ2SEt zFPh#qJ7JFYwrP6c{rTEni)fNG^-IU}w5tb`*}Vw=_%1sI6;6MVtS|b@P=(e)MaX&(?jL`?`Ah#f ez-*)NJKC1kxIeDATO|HH3Jrumo1Pjm-TwpJKb3X> literal 0 HcmV?d00001 diff --git a/curl/lib/libz.a b/curl/lib/libz.a new file mode 100644 index 0000000000000000000000000000000000000000..863f6ef2eccb91c60c7a8148849696fbce58afaa GIT binary patch literal 232170 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

    5};3^7T;1(v*z*(!UrR2-}AGd-{c%nsNifQ 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ⅈ_AM7ds2oJ{c%B~efu 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 Yq7;F`N~67MN`NW?KWo, et al. +# * +# * This software is licensed as described in the file COPYING, which +# * you should have received as part of this distribution. The terms +# * are also available at https://curl.se/docs/copyright.html. +# * +# * You may opt to use, copy, modify, merge, publish, distribute and/or sell +# * copies of the Software, and permit persons to whom the Software is +# * furnished to do so, under the terms of the COPYING file. +# * +# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# * KIND, either express or implied. +# * +# * SPDX-License-Identifier: curl +# * +# *************************************************************************** +# This Perl script creates a fresh ca-bundle.crt file for use with libcurl. +# It downloads certdata.txt from Mozilla's source tree (see URL below), +# then parses certdata.txt and extracts CA Root Certificates into PEM format. +# These are then processed with the OpenSSL commandline tool to produce the +# final ca-bundle.crt file. +# The script is based on the parse-certs script written by Roland Krikava. +# This Perl script works on almost any platform since its only external +# dependency is the OpenSSL commandline tool for optional text listing. +# Hacked by Guenter Knauf. +# +use Encode; +use Getopt::Std; +use MIME::Base64; +use strict; +use warnings; +use vars qw($opt_b $opt_d $opt_f $opt_h $opt_i $opt_k $opt_l $opt_m $opt_n $opt_p $opt_q $opt_s $opt_t $opt_u $opt_v $opt_w); +use List::Util; +use Text::Wrap; +use Time::Local; +my $MOD_SHA = "Digest::SHA"; +eval "require $MOD_SHA"; +if($@) { + $MOD_SHA = "Digest::SHA::PurePerl"; + eval "require $MOD_SHA"; +} +eval "require LWP::UserAgent"; + +my %urls = ( + 'autoland' => 'https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/autoland/security/nss/lib/ckfw/builtins/certdata.txt', + 'beta' => 'https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/beta/security/nss/lib/ckfw/builtins/certdata.txt', + 'release' => 'https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/release/security/nss/lib/ckfw/builtins/certdata.txt', +); + +$opt_d = 'release'; + +# If the OpenSSL commandline is not in search path you can configure it here! +my $openssl = 'openssl'; + +my $version = '1.29'; + +$opt_w = 76; # default base64 encoded lines length + +# default cert types to include in the output (default is to include CAs which +# may issue SSL server certs) +my $default_mozilla_trust_purposes = "SERVER_AUTH"; +my $default_mozilla_trust_levels = "TRUSTED_DELEGATOR"; +$opt_p = $default_mozilla_trust_purposes . ":" . $default_mozilla_trust_levels; + +my @valid_mozilla_trust_purposes = ( + "DIGITAL_SIGNATURE", + "NON_REPUDIATION", + "KEY_ENCIPHERMENT", + "DATA_ENCIPHERMENT", + "KEY_AGREEMENT", + "KEY_CERT_SIGN", + "CRL_SIGN", + "SERVER_AUTH", + "CLIENT_AUTH", + "CODE_SIGNING", + "EMAIL_PROTECTION", + "IPSEC_END_SYSTEM", + "IPSEC_TUNNEL", + "IPSEC_USER", + "TIME_STAMPING", + "STEP_UP_APPROVED" +); + +my @valid_mozilla_trust_levels = ( + "TRUSTED_DELEGATOR", # CAs + "NOT_TRUSTED", # Don't trust these certs. + "MUST_VERIFY_TRUST", # This explicitly tells us that it ISN'T a CA but is + # otherwise ok. In other words, this should tell the + # app to ignore any other sources that claim this is + # a CA. + "TRUSTED" # This cert is trusted, but only for itself and not + # for delegates (i.e. it is not a CA). +); + +my $default_signature_algorithms = $opt_s = "MD5"; + +my @valid_signature_algorithms = ( + "MD5", + "SHA1", + "SHA256", + "SHA384", + "SHA512" +); + +$0 =~ s@.*(/|\\)@@; +$Getopt::Std::STANDARD_HELP_VERSION = 1; +getopts('bd:fhiklmnp:qs:tuvw:'); + +if(!defined($opt_d)) { + # to make plain "-d" use not cause warnings, and actually still work + $opt_d = 'release'; +} + +# Use predefined URL or else custom URL specified on command line. +my $url; +if(defined($urls{$opt_d})) { + $url = $urls{$opt_d}; + if(!$opt_k && $url !~ /^https:\/\//i) { + die "The URL for '$opt_d' is not HTTPS. Use -k to override (insecure).\n"; + } +} +else { + $url = $opt_d; +} + +if($opt_i) { + print ("=" x 78 . "\n"); + print "Script Version : $version\n"; + print "Perl Version : $]\n"; + print "Operating System Name : $^O\n"; + print "Getopt::Std.pm Version : ${Getopt::Std::VERSION}\n"; + print "Encode::Encoding.pm Version : ${Encode::Encoding::VERSION}\n"; + print "MIME::Base64.pm Version : ${MIME::Base64::VERSION}\n"; + print "LWP::UserAgent.pm Version : ${LWP::UserAgent::VERSION}\n" if($LWP::UserAgent::VERSION); + print "LWP.pm Version : ${LWP::VERSION}\n" if($LWP::VERSION); + print "Digest::SHA.pm Version : ${Digest::SHA::VERSION}\n" if($Digest::SHA::VERSION); + print "Digest::SHA::PurePerl.pm Version : ${Digest::SHA::PurePerl::VERSION}\n" if($Digest::SHA::PurePerl::VERSION); + print ("=" x 78 . "\n"); +} + +sub warning_message() { + if($opt_d =~ m/^risk$/i) { # Long Form Warning and Exit + print "Warning: Use of this script may pose some risk:\n"; + print "\n"; + print " 1) If you use HTTP URLs they are subject to a man in the middle attack\n"; + print " 2) Default to 'release', but more recent updates may be found in other trees\n"; + print " 3) certdata.txt file format may change, lag time to update this script\n"; + print " 4) Generally unwise to blindly trust CAs without manual review & verification\n"; + print " 5) Mozilla apps use additional security checks aren't represented in certdata\n"; + print " 6) Use of this script will make a security engineer grind his teeth and\n"; + print " swear at you. ;)\n"; + exit; + } else { # Short Form Warning + print "Warning: Use of this script may pose some risk, -d risk for more details.\n"; + } +} + +sub HELP_MESSAGE() { + print "Usage:\t${0} [-b] [-d] [-f] [-i] [-k] [-l] [-n] [-p] [-q] [-s] [-t] [-u] [-v] [-w] []\n"; + print "\t-b\tbackup an existing version of ca-bundle.crt\n"; + print "\t-d\tspecify Mozilla tree to pull certdata.txt or custom URL\n"; + print "\t\t Valid names are:\n"; + print "\t\t ", join( ", ", map { ( $_ =~ m/$opt_d/ ) ? "$_ (default)" : "$_" } sort keys %urls ), "\n"; + print "\t-f\tforce rebuild even if certdata.txt is current\n"; + print "\t-i\tprint version info about used modules\n"; + print "\t-k\tallow URLs other than HTTPS, enable HTTP fallback (insecure)\n"; + print "\t-l\tprint license info about certdata.txt\n"; + print "\t-m\tinclude meta data in output\n"; + print "\t-n\tno download of certdata.txt (to use existing)\n"; + print wrap("\t","\t\t", "-p\tlist of Mozilla trust purposes and levels for certificates to include in output. Takes the form of a comma separated list of purposes, a colon, and a comma separated list of levels. (default: $default_mozilla_trust_purposes:$default_mozilla_trust_levels)"), "\n"; + print "\t\t Valid purposes are:\n"; + print wrap("\t\t ","\t\t ", join( ", ", "ALL", @valid_mozilla_trust_purposes ) ), "\n"; + print "\t\t Valid levels are:\n"; + print wrap("\t\t ","\t\t ", join( ", ", "ALL", @valid_mozilla_trust_levels ) ), "\n"; + print "\t-q\tbe really quiet (no progress output at all)\n"; + print wrap("\t","\t\t", "-s\tcomma separated list of certificate signatures/hashes to output in plain text mode. (default: $default_signature_algorithms)\n"); + print "\t\t Valid signature algorithms are:\n"; + print wrap("\t\t ","\t\t ", join( ", ", "ALL", @valid_signature_algorithms ) ), "\n"; + print "\t-t\tinclude plain text listing of certificates\n"; + print "\t-u\tunlink (remove) certdata.txt after processing\n"; + print "\t-v\tbe verbose and print out processed CAs\n"; + print "\t-w \twrap base64 output lines after chars (default: ${opt_w})\n"; + exit; +} + +sub VERSION_MESSAGE() { + print "${0} version ${version} running Perl ${]} on ${^O}\n"; +} + +warning_message() unless ($opt_q || $url =~ m/^(ht|f)tps:/i ); +HELP_MESSAGE() if($opt_h); + +sub report($@) { + my $output = shift; + + print STDERR $output . "\n" unless $opt_q; +} + +sub is_in_list($@) { + my $target = shift; + + return defined(List::Util::first { $target eq $_ } @_); +} + +# Parses $param_string as a case insensitive comma separated list with optional +# whitespace validates that only allowed parameters are supplied +sub parse_csv_param($$@) { + my $description = shift; + my $param_string = shift; + my @valid_values = @_; + + my @values = map { + s/^\s+//; # strip leading spaces + s/\s+$//; # strip trailing spaces + uc $_ # return the modified string as upper case + } split( ',', $param_string ); + + # Find all values which are not in the list of valid values or "ALL" + my @invalid = grep { !is_in_list($_,"ALL",@valid_values) } @values; + + if(scalar(@invalid) > 0) { + # Tell the user which parameters were invalid and print the standard help + # message which will exit + print "Error: Invalid ", $description, scalar(@invalid) == 1 ? ": " : "s: ", join( ", ", map { "\"$_\"" } @invalid ), "\n"; + HELP_MESSAGE(); + } + + @values = @valid_values if(is_in_list("ALL",@values)); + + return @values; +} + +sub sha256 { + my $result; + if($Digest::SHA::VERSION || $Digest::SHA::PurePerl::VERSION) { + open(FILE, $_[0]) or die "Can't open '$_[0]': $!"; + binmode(FILE); + $result = $MOD_SHA->new(256)->addfile(*FILE)->hexdigest; + close(FILE); + } else { + # Use OpenSSL command if Perl Digest::SHA modules not available + $result = `"$openssl" dgst -r -sha256 "$_[0]"`; + $result =~ s/^([0-9a-f]{64}) .+/$1/is; + } + return $result; +} + + +sub oldhash { + my $hash = ""; + open(C, "<$_[0]") || return 0; + while() { + chomp; + if($_ =~ /^\#\# SHA256: (.*)/) { + $hash = $1; + last; + } + } + close(C); + return $hash; +} + +if( $opt_p !~ m/:/ ) { + print "Error: Mozilla trust identifier list must include both purposes and levels\n"; + HELP_MESSAGE(); +} + +(my $included_mozilla_trust_purposes_string, my $included_mozilla_trust_levels_string) = split( ':', $opt_p ); +my @included_mozilla_trust_purposes = parse_csv_param( "trust purpose", $included_mozilla_trust_purposes_string, @valid_mozilla_trust_purposes ); +my @included_mozilla_trust_levels = parse_csv_param( "trust level", $included_mozilla_trust_levels_string, @valid_mozilla_trust_levels ); + +my @included_signature_algorithms = parse_csv_param( "signature algorithm", $opt_s, @valid_signature_algorithms ); + +sub should_output_cert(%) { + my %trust_purposes_by_level = @_; + + foreach my $level (@included_mozilla_trust_levels) { + # for each level we want to output, see if any of our desired purposes are + # included + return 1 if( defined( List::Util::first { is_in_list( $_, @included_mozilla_trust_purposes ) } @{$trust_purposes_by_level{$level}} ) ); + } + + return 0; +} + +my $crt = $ARGV[0] || 'ca-bundle.crt'; +(my $txt = $url) =~ s@(.*/|\?.*)@@g; + +my $stdout = $crt eq '-'; +my $resp; +my $fetched; + +my $oldhash = oldhash($crt); + +report "SHA256 of old file: $oldhash"; + +if(!$opt_n) { + report "Downloading $txt ..."; + + # If we have an HTTPS URL then use curl + if($url =~ /^https:\/\//i) { + my $curl = `curl -V`; + if($curl) { + if($curl =~ /^Protocols:.* https( |$)/m) { + report "Get certdata with curl!"; + my $proto = !$opt_k ? "--proto =https" : ""; + my $quiet = $opt_q ? "-s" : ""; + my @out = `curl -Lw %{response_code} $proto $quiet -o "$txt" "$url"`; + if(!$? && @out && $out[0] == 200) { + $fetched = 1; + report "Downloaded $txt"; + } + else { + report "Failed downloading via HTTPS with curl"; + if(-e $txt && !unlink($txt)) { + report "Failed to remove '$txt': $!"; + } + } + } + else { + report "curl lacks https support"; + } + } + else { + report "curl not found"; + } + } + + # If nothing was fetched then use LWP + if(!$fetched) { + if($url =~ /^https:\/\//i) { + report "Falling back to HTTP"; + $url =~ s/^https:\/\//http:\/\//i; + } + if(!$opt_k) { + report "URLs other than HTTPS are disabled by default, to enable use -k"; + exit 1; + } + report "Get certdata with LWP!"; + if(!defined(${LWP::UserAgent::VERSION})) { + report "LWP is not available (LWP::UserAgent not found)"; + exit 1; + } + my $ua = new LWP::UserAgent(agent => "$0/$version"); + $ua->env_proxy(); + $resp = $ua->mirror($url, $txt); + if($resp && $resp->code eq '304') { + report "Not modified"; + exit 0 if -e $crt && !$opt_f; + } + else { + $fetched = 1; + report "Downloaded $txt"; + } + if(!$resp || $resp->code !~ /^(?:200|304)$/) { + report "Unable to download latest data: " + . ($resp? $resp->code . ' - ' . $resp->message : "LWP failed"); + exit 1 if -e $crt || ! -r $txt; + } + } +} + +my $filedate = $resp ? $resp->last_modified : (stat($txt))[9]; +my $datesrc = "as of"; +if(!$filedate) { + # mxr.mozilla.org gave us a time, hg.mozilla.org does not! + $filedate = time(); + $datesrc="downloaded on"; +} + +# get the hash from the download file +my $newhash= sha256($txt); + +if(!$opt_f && $oldhash eq $newhash) { + report "Downloaded file identical to previous run\'s source file. Exiting"; + if($opt_u && -e $txt && !unlink($txt)) { + report "Failed to remove $txt: $!\n"; + } + exit; +} + +report "SHA256 of new file: $newhash"; + +my $currentdate = scalar gmtime($filedate); + +my $format = $opt_t ? "plain text and " : ""; +if($stdout) { + open(CRT, '> -') or die "Couldn't open STDOUT: $!\n"; +} else { + open(CRT,">$crt.~") or die "Couldn't open $crt.~: $!\n"; +} +print CRT <) { + if(/\*\*\*\*\* BEGIN LICENSE BLOCK \*\*\*\*\*/) { + print CRT; + print if($opt_l); + while() { + print CRT; + print if($opt_l); + last if(/\*\*\*\*\* END LICENSE BLOCK \*\*\*\*\*/); + } + next; + } + # The input file format consists of blocks of Mozilla objects. + # The blocks are separated by blank lines but may be related. + elsif(/^\s*$/) { + $main_block = 0; + $trust_block = 0; + next; + } + # Each certificate has a main block. + elsif(/^# Certificate "(.*)"/) { + (!$main_block && !$trust_block) or die "Unexpected certificate block"; + $main_block = 1; + $main_block_name = $1; + # Reset all other certificate variables. + $trust_block = 0; + $trust_block_name = ""; + $valid = 0; + $start_of_cert = 0; + $caname = ""; + $cka_value = ""; + undef @precert; + next; + } + # Each certificate's main block is followed by a trust block. + elsif(/^# Trust for (?:Certificate )?"(.*)"/) { + (!$main_block && !$trust_block) or die "Unexpected trust block"; + $trust_block = 1; + $trust_block_name = $1; + if($main_block_name ne $trust_block_name) { + die "cert name \"$main_block_name\" != trust name \"$trust_block_name\""; + } + next; + } + # Ignore other blocks. + # + # There is a documentation comment block, a BEGINDATA block, and a bunch of + # blocks starting with "# Explicitly Distrust ". + # + # The latter is for certificates that have already been removed and are not + # included. Not all explicitly distrusted certificates are ignored at this + # point, just those without an actual certificate. + elsif(!$main_block && !$trust_block) { + next; + } + elsif(/^#/) { + # The commented lines in a main block are plaintext metadata that describes + # the certificate. Issuer, Subject, Fingerprint, etc. + if($main_block) { + push @precert, $_ if not /^#$/; + if(/^# Not Valid After : (.*)/) { + my $stamp = $1; + use Time::Piece; + # Not Valid After : Thu Sep 30 14:01:15 2021 + my $t = Time::Piece->strptime($stamp, "%a %b %d %H:%M:%S %Y"); + my $delta = ($t->epoch - time()); # negative means no longer valid + if($delta < 0) { + $skipnum++; + report "Skipping: $main_block_name is not valid anymore" if($opt_v); + $valid = 0; + } + else { + $valid = 1; + } + } + } + next; + } + elsif(!$valid) { + next; + } + + chomp; + + if($main_block) { + if(/^CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE/) { + !$start_of_cert or die "Duplicate CKO_CERTIFICATE object"; + $start_of_cert = 1; + next; + } + elsif(!$start_of_cert) { + next; + } + elsif(/^CKA_LABEL UTF8 \"(.*)\"/) { + ($caname eq "") or die "Duplicate CKA_LABEL attribute"; + $caname = $1; + if($caname ne $main_block_name) { + die "caname \"$caname\" != cert name \"$main_block_name\""; + } + next; + } + elsif(/^CKA_VALUE MULTILINE_OCTAL/) { + ($cka_value eq "") or die "Duplicate CKA_VALUE attribute"; + while() { + last if(/^END/); + chomp; + my @octets = split(/\\/); + shift @octets; + for(@octets) { + $cka_value .= chr(oct); + } + } + next; + } + else { + next; + } + } + + if(!$trust_block || !$start_of_cert || $caname eq "" || $cka_value eq "") { + die "Certificate extraction failed"; + } + + my %trust_purposes_by_level; + + if(/^CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST/) { + # now scan the trust part to determine how we should trust this cert + while() { + if(/^\s*$/) { + $trust_block = 0; + last; + } + if(/^CKA_TRUST_([A-Z_]+)\s+CK_TRUST\s+CKT_NSS_([A-Z_]+)\s*$/) { + if(!is_in_list($1,@valid_mozilla_trust_purposes)) { + report "Warning: Unrecognized trust purpose for cert: $caname. Trust purpose: $1. Trust Level: $2"; + } elsif(!is_in_list($2,@valid_mozilla_trust_levels)) { + report "Warning: Unrecognized trust level for cert: $caname. Trust purpose: $1. Trust Level: $2"; + } else { + push @{$trust_purposes_by_level{$2}}, $1; + } + } + } + + # Sanity check that an explicitly distrusted certificate only has trust + # purposes with a trust level of NOT_TRUSTED. + # + # Certificate objects that are explicitly distrusted are in a certificate + # block that starts # Certificate "Explicitly Distrust(ed) ", + # where "Explicitly Distrust(ed) " was prepended to the original cert name. + if($caname =~ /distrust/i || + $main_block_name =~ /distrust/i || + $trust_block_name =~ /distrust/i) { + my @levels = keys %trust_purposes_by_level; + if(scalar(@levels) != 1 || $levels[0] ne "NOT_TRUSTED") { + die "\"$caname\" must have all trust purposes at level NOT_TRUSTED."; + } + } + + if(!should_output_cert(%trust_purposes_by_level)) { + $skipnum ++; + report "Skipping: $caname lacks acceptable trust level" if($opt_v); + } else { + my $encoded = MIME::Base64::encode_base64($cka_value, ''); + $encoded =~ s/(.{1,${opt_w}})/$1\n/g; + my $pem = "-----BEGIN CERTIFICATE-----\n" + . $encoded + . "-----END CERTIFICATE-----\n"; + print CRT "\n$caname\n"; + my $maxStringLength = length(decode('UTF-8', $caname, Encode::FB_CROAK | Encode::LEAVE_SRC)); + print CRT ("=" x $maxStringLength . "\n"); + if($opt_t) { + foreach my $key (sort keys %trust_purposes_by_level) { + my $string = $key . ": " . join(", ", @{$trust_purposes_by_level{$key}}); + print CRT $string . "\n"; + } + } + if($opt_m) { + print CRT for @precert; + } + if(!$opt_t) { + print CRT $pem; + } else { + my $pipe = ""; + foreach my $hash (@included_signature_algorithms) { + $pipe = "|$openssl x509 -" . $hash . " -fingerprint -noout -inform PEM"; + if(!$stdout) { + $pipe .= " >> $crt.~"; + close(CRT) or die "Couldn't close $crt.~: $!"; + } + open(TMP, $pipe) or die "Couldn't open openssl pipe: $!"; + print TMP $pem; + close(TMP) or die "Couldn't close openssl pipe: $!"; + if(!$stdout) { + open(CRT, ">>$crt.~") or die "Couldn't open $crt.~: $!"; + } + } + $pipe = "|$openssl x509 -text -inform PEM"; + if(!$stdout) { + $pipe .= " >> $crt.~"; + close(CRT) or die "Couldn't close $crt.~: $!"; + } + open(TMP, $pipe) or die "Couldn't open openssl pipe: $!"; + print TMP $pem; + close(TMP) or die "Couldn't close openssl pipe: $!"; + if(!$stdout) { + open(CRT, ">>$crt.~") or die "Couldn't open $crt.~: $!"; + } + } + report "Processed: $caname" if($opt_v); + $certnum++; + } + } +} +close(TXT) or die "Couldn't close $txt: $!\n"; +close(CRT) or die "Couldn't close $crt.~: $!\n"; +unless($stdout) { + if($opt_b && -e $crt) { + my $bk = 1; + while(-e "$crt.~${bk}~") { + $bk++; + } + rename $crt, "$crt.~${bk}~" or die "Failed to create backup $crt.~$bk}~: $!\n"; + } elsif( -e $crt ) { + unlink( $crt ) or die "Failed to remove $crt: $!\n"; + } + rename "$crt.~", $crt or die "Failed to rename $crt.~ to $crt: $!\n"; +} +if($opt_u && -e $txt && !unlink($txt)) { + report "Failed to remove $txt: $!\n"; +} +report "Done ($certnum CA certs processed, $skipnum skipped)."; diff --git a/histogram.cpp b/histogram.cpp index 78f4edf..ea77ff7 100644 --- a/histogram.cpp +++ b/histogram.cpp @@ -1,14 +1,20 @@ #include "histogram.h" -void find_minmax(vector vec, double& min, double& max) { +bool find_minmax(vector vec, double& min, double& max) { + if (vec.size()== 0){ + cerr<<"Empty vec"; + return false; + } min = vec[0]; max = vec[0]; + for (double x : vec) { if (x < min) min = x; if (x > max) max = x; } + return true; } vector make_histogram(size_t number, vector vec) { diff --git a/histogram_internal.h b/histogram_internal.h index 3b50f2f..8f08842 100644 --- a/histogram_internal.h +++ b/histogram_internal.h @@ -1,6 +1,6 @@ #ifndef HISTOGRAM_INTERNAL_H_INCLUDED #define HISTOGRAM_INTERNAL_H_INCLUDED using namespace std; -void find_minmax(vector vec, double& min, double& max); +bool find_minmax(vector vec, double& min, double& max); #endif // HISTOGRAM_INTERNAL_H_INCLUDED diff --git a/laba01.cbp b/laba01.cbp index 1d431b1..a05b580 100644 --- a/laba01.cbp +++ b/laba01.cbp @@ -32,8 +32,10 @@ + + diff --git a/unittest.cpp b/unittest.cpp index 37074ec..8fb0b85 100644 --- a/unittest.cpp +++ b/unittest.cpp @@ -30,12 +30,12 @@ TEST_CASE("vector of one elements"){ find_minmax({3}, min, max); CHECK(min == max); } -TEST_CASE("mixed positive and negative numbers") { +TEST_CASE("empty vector") { double min = 0; double max = 0; - find_minmax({-1, 2, 0, -3, 5}, min, max); - CHECK(min == -3); - CHECK(max == 5); + vectorempty; + bool result = find_minmax(empty, min, max); + CHECK(!result); } TEST_CASE("vector with all negative numbers") { diff --git a/unittest/.gitignore b/unittest/.gitignore new file mode 100644 index 0000000..45cf9a5 --- /dev/null +++ b/unittest/.gitignore @@ -0,0 +1,4 @@ +/bin +/obj +/*.depend +/*.layout diff --git a/unittest/bin/Debug/unittest.exe b/unittest/bin/Debug/unittest.exe index f8ce2178b5c7d671227701a04c1b0d4dbe7ee85f..eef3ef31defb38ec830dd17be1647f046daed00b 100644 GIT binary patch literal 4769377 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

    L#AAQ=@#iFXlJt)n^&FA+Qi25PK6qDjFKn zaT{SVf*_4Z21FxtFgUpCF-d8d)7&&b92axEN2p||sOkZl3WNQj3Yh3zi`5xJ4Hd_= zr!+)+RGgfYT`@men6u!EDp^ZKLw$NhsE6W3R5C0%dMe~g?0`H(kHr)CBYanO4H`V8 ze!)8Ic1VAE2keSPCcoMBnV3_*NHO|+r4jJ0+WjlnGOIj_?~u&u1xdV)SF;4NX~3J`T=eiZROlS~z$gSwgV)S!hq z*@C)hEDpWhdZFoWi9luE+65>Fu7JQr@Z^22Fga4kaSAQQz*l`$!$&=QFL0QO+?Bym zs^I-<*vW0;TJ#7O-PF=>%7{p6d1)vGA;56haRp*rq1ndTouvi!fwR2NWfVtlQbVa4 zIzxB`{Ilga+N0oopA4fu<4Kb{q=J(AD^6c2Gtbheaq|zHCzZ$5FpZH1QX9mCCq0h& zv^{l^6n2%D=YcYbU>-6;f2oo9s84*T=L~)~XF+l0&qR4M5jD8dO@ANRMueJR zN5&XVNq$8Yj235Bp(R88xa#BlFCPEhyNrJ|f5f&3kDO(QLWF5j_$S8qN{Ynv9JFsh zT>W7qSl-cdSNdM*dClVq=^6aoIp4PWtFF#el;CJYf~X(sST&Z1fMYmjA(S`#uXxHd z(hqhV8KGRBx3*cw#>ZaxXBDkv&231<#UF_2PK2M=Lh1dDys~ z8UDr$>NIbU>#=+zHC#ge?T|m8d_w&xC%6Rsd7Wy66oC>)7xtAu9|w`_^|nO#GwDTs zI1{2E@%=sZ!x1QNA{#B;H-5VHv4s4z7y9n2en^vKja3I1IMe~@?dXI9 z$#osyBm3f=2>3cjV&XPo*yVEEoQ{yw7b{^5IfpZ&o1kHgu((~e&S*~nfNBTwK7ce+yZV)vIi0bN} zoJKc@#~k^(HXlA-v5v*R-D3IoZe~#P;ayjJFaC|2A6%j8leXAvemce*#I8rYG^_U(pezfJvy^H z+M@qV_>4!6!wQ8pbJCNl4yPzJV`-Yp)+}Ym^ASZTtkZCi0@9&fb@cv+*&-9Z<$sao z4<9%6pzcWs^eyk|X=?3B{|aCGJHh$#&V%ThxFA&kkqR~^A zf<_mvvuI@PR|E^t72JlhzN#E&Hv%J#@Xv1P);+0xLpY~>gIc?4?Ow5{eFM9f%WX|h zy7WE#qJ2Xs$H4utp`)A5O(%loUX9)_VWPdW)M)jO3=rBN?!VGae-c+gF!x(RE3k1e z7*%QVf3RRXsb94LL1ul+5xY?Ob>d#bZnzQvSTdQh@eR9gOOv5=Epzl;%F<{;LhkGeBKd7q(klvT+1&vkz;Ks(Mhz!uW!lGa0 z5cK0M!SluP*3?i#d;e?Gx+j6bu-#dleSF1nN!u#UPO1rLeydb28^v6-o|v6akawc6 zau`6UrUnt12?5AOn~5G~*Znb?xxtat~8JmhhsQu+K@@y@4&Il#~_ z%pJd(`$>Md_xw~`@CT)6owxnqJ`Vc&h5JO`;ffyqqH~zd{)OR?Av zf0A3TbbF8Tei)gKM7etmWQJDYE{y1u3YD{?^kSVZgWnDl(YrMMW&4{!ef$Av6GC!1 zdXN3VaBrEVURB;1rop;tC$^^(nX3ga63of3Iu9LcuWK?!#*;! z0>X?UA1-|2F&%`A2%Khw`uan7X)aR8ffKA!u;zZDEIb-jGb}2@u$2R`@DWBT z$=JmWyzwDVw9G|uZd&7|^(nerglhc%vDj^C-vJw^$X7xlbM?O3Lapdd=N6P+lI~514rhg&(eG4+{et#L)_3Ka~zUw`$Zb^ST z)%&~pI(vUS-jvIz?0@u7*<`rXw4r^ghf0@IaXB-E(>}Y4&B8r-ILZ|2E9S_eJH=1N zOB@j&a=*cWFL-X4=+p9x_Q!&VVa5vZvRsG zUA8~OoM!v)!&TKbwjm#pw2;gS{zg8#{imw-_v~_eRQ?YZb+Ny9GJhoPtPa|rZMT0l zbDHh{;I+8+@5~_z5bqNCEdJ|fmoGTP;ctCkeEFy@-y8Yd^D)lpbTsId_rm;eZv1N` zy5?^`Kz_=@BqLm#&7+6k_`KJ4hq4LZlKl)`p?Um~v~j~2(UxYSJn>x`&Mghk!T|Dcb|zji!-BeAgY^(* z$ikOm@3NP&)A7KSqsz+R^MvVxoV8-`_?o%osc_r`IEf?5BwpHD>CK&s3-3ZxFt#9f zPBAZX^|fD+vB;aFtA|RRzmg3yU0Z#Z`YvnqM*`W^ydsP@4bCjX1!%c*X({*#_i7Gr zcj@YivuE;xMWht6#_@7AW3_mdcRu2f&DCfp+aRlN$BBL!v>x_uJN-V5V{k%Z2sr82Uz(Q{Fa6bO2ZQ{;d?532VOxz>EsF5W@I3V{b0{FSU+Q4RE(l08j=DFy8_Bp4Q%rbyO| zz96%*H=5KDD!fR$0}R4y#8wC5ZnbZNT3 zV5_%w5(pw*d@(gC%Jp02Z%zzI)^*Z{A4ngS#3caWN97uW&VV&$Dx2Mdbp=ttKz}Bf zNUswIl2%4mbS5fsv;()JZ^feQnW&!xdlu({VIx}p=JP*a4m5akmr6^HGPnfqgiGO} zWrr1tmn3g^mpv6DiQe2|a5eJE00=<9B~B>>v7{7IR+)1e@jH!@fRwq}d7xdE6hbY3 zstGV@D2lQb^H;KQrW}H%4`<(u4@wN5%C5sRLf8oJw|jurYsa81U>R9MIpvWRD_J8a z8KGKPLJB9;fj4)IZip$DY!HP}t^T2F;e!A+kX=~eT^Y!pnTigcL6WduZ|_s3ELw7S z7SS%{@FQ`^jy>)2{$$Ian@Gw>b6oPs4@w^SM0u=|yKt%o_COVJisa-YNape^b=@;o zF9DeC@rOQ=g87I4@Y07(VvS*~J#b1ufA0C8(>f=qm*AHLDSMj4OC_UGASsxZsIIX{ zOm>iRN>SEwT58GZBuh?#eo1Ai7^R2?l!!vZ>YAm7Wm`a5Ykf~?U*LOUb|JJZ6@U>r z7ZHbVk({XnnB*lLYuE-7)td{SccmVh6(W#=K1zDerR1vGokZ;xOVndY)EbmCg3VaO zJJl%I>8(AFQk#aA<*3xKz*Z(O;G!QtD0$_Rl-H#?mpaa%q!q!`HRpxeaOdqX@#-8U zxe{RHXDtIr(rH=IDk-^kQ>b(cc0zdPJ*R|s`*4$}4*8Yb2%(zBYDgSXv;aDH3!cOG zNg{8?ObM6&HZu$93nlBVWx>B={xCBu$y>V`FT75R!&{~ImCZ&tgDUhF{!p|G$2R>D zDwTue=*i_B@TOo1>R)iho6wig*HV4rkO8(jq#WVMgHuT6P4MQhol;k`c1yA`--q;; zhLcdUu44>mf2tN%uo>g0tbjGiGYztmjMk^r`k|J*hoSvi??v>L7f(&Y{R_tsZ;%lT zs-}S4fgBW&CrV6QQa)Vcm(vol5Lyg7WDDBtz$mVDcVqM(q+1wWi5FnefZ;F+yn&t( zzeeOd3=UE_+Ni~+pP!s0yA(bMMWFB`#~hWEf@1k#Q-)E{7U(7> z{S9jmw)rC51ECskfLe)S3%}u|8ZPk6ih<1-6bD#WM(ZO$=B))l=IWz?OpI@;X0m1* zSo7nhiZw4TcB0cczL3!D)`8^D=VJNuje~w9{(Nr#`19MgJ&He%7y^{eI4Yh$KSB=j zXOAK$LVqy+#45hYpc1J@WH|T}!y`1+2rgn@F=M|O^wqz1#-LJuE&ep|+hzWI6#V(+ z=|E=gz(o96gu02&7ky52TI+F3cVb+?Vfo^jbL9xFD&2l zom{dLuc%+OP`vdo=$*N~{BWo6y3KLJ8?ND9xQ>%mji#B@DkVG;!fe69@D-GC%jN1c&9nxWx4qeT>G~*Ddb+o zXfyu|MCm`1o_i_3V78-teuDB#|Kp%vT>YxvJT$_rZ)F$qXP{Cu|2v)L7k_-i(Z0oh zitpcE%2&;Clpmj<{FqMbSN+REBh2=n@Zh0y(e)a)gL5&06SslO|)8+Ol{JhiR?%$MsEdTJ0?(zXyUXMQ+Zk&YE z9+^q%LHz46CZ~vVw>#9+FQ0T`$fQ^2@R|ZHc>npg1K!~Y;l1;3hkl4_UpH6#6owuG zP@A7W>9qXmuJ)+%SGdZjc8Z^Ss$Km#!P%b?Pb9)m=kS(Icfot_TL*r2J)Q{OlurA% zeTEaB>fcQOYU3x+Y5C(_?NQ~2xys+wY55JV`o%%c{+yVwKb^Pdk?WoP5zl?&z|Z@S zCBo0Q-?BtU{C&EseVYCNYUAgVPRk$aYL6;^tgHMxotAH^a`oq5UpxBKBVm7*b_(yF z>s;`D5wT=1%$@P3;RUZ7KWhq~IQ=?|bbex`Io8C6r=!!`!Z@$CTD*Z*X!#F_SWW`g>b zwh;pds(-3qHSl0G`?K-~fM0l0vSpvXb3oyX1-CosBOZ#U&jGIQXFqk&XJ&%>zTI}< z>9Yhbq$Yh*4=DZ={U;5!>C^9k!WVzzexAwC#)I+nIl%Q@ImAJqjZ5O|JM9OcPs<%P zeTsho_>1yv`iwcC@WnsxcF^as2jcN{fa|;aR0ncGoS5;|$hPwfu?zy1_- zs>}Z3cVPRK9=dM-^;m!CBY*GqhweK3V?Wr_1^6%B?}l%kA1TMF5gtOoRtI;)NEID;$^%OX&;>-T zVhL`v5LNYfQKh zgu-%@Zqx77`g0z_sbXhl6Lw~r@QK)%rtyYA*+i_BBTYQaLRe)#au7O?q;dtbi6Gw* z3z6FTrVAhC`@%2FzQkU_e(=kuvb>vLKElBgMhbT^$3F1O*Bh||(qi(Cb27Um)L~|4K3)uopLy6KHLk^MD)Jy^aBLk7G$S-nFb`Eb1{(cO@9TPH*Vi@oW zn+vxe?DW1Xp(>7vBHE&xV;;RXj$`h^C*q@Hj=7$Nz%ifYB;uGcNF~Rp_-%z$8`uNK zDY6yp>KSE>7uHsakacseMQac~QYr?joEl&R`+a1>{1@8s2hWC4I~J^)$1s0|+^JVI z+XXp0Nt}h)t?1=RR+{qV@p>C1_@kYv~Sth zcRv^&QnnV91W);aez<2No-7^Q+9ze;eAo}0F8L{+tpp$*+pvb0o75MJkDV;c?a;qii3B zS=qiUvwhmNBT*B9uPj?nanymALkdToQ7}i@Y$T_Zu({m$N0Zg&|Kz)s!Z5THWT|Am zJ70oSw(R9>t7Vi%Esy((KS53G#@{=PE4g?4{db)x{PLU@4BeSNp=n>>`H{l_T8 zYpLs?ra}3(x*~8-H?VS3kPZ|$T8+EjzOE}O#TmN{e88PJMLGI6U;Z+8mh80=t`tV3 z%p+#pnM${$(h!V2oCe!j8d@o?Uy2hWq@u4W^(4k^N9fYfWb|Zers>Oe>$8MU#lt#z z%tErG2{kJL)FTr@MMtLQSx^_7P#J5ry&OF!lZU6Ft><~f>j>2^+qzA))d;;Nnx55d zZ7Tkm4984nn~FhZdZC6o?|8^+o@riL@_PRmIKna_v~~W_O1cS29AV8u+8@(Ozk)@_ zqG-IFUx*|!!?nlkY;WCyD+TO7i=KrhJ>N6w8K6nNQ_}MwCq3IRR(48H-wwWe|ql~owSeK-u32kBmXpbd=CP}EE?O3Ft z!7&L+7W5;lM$Y$$LriEpB<)b!YvLjc8pN%s_-vZrB;A}srMR8|G}3{lg}k3osyHc{ zT6xv6KA<}(D-PYZe-Y+^CdOkVs3K&F5YXQgLxcaa zcNzN1n-wXb-{=#LM5;Z@@S9LUiBG{UJV)6)@(y zAUVg_HONC|_+}u?-nbF?<#HvN?;^Ezg*XSspD4h8mVjFRlEKe8Doc$UBcY04D5AiL z#V@-QzZ}#lznD_h?N%4BNEy8VH*@LXJE4p|6miR_KRg9eWzoy#kxe9+=8^kR2ux}6 z2r7C_lvX+_QhZ{wh?3yb&AKcJX3MR*jK~e(jppiV!vkFJ6lbVfOumra`S=%REf7^i zao4x1MY8!FVN9ELU2q6AQfCWLALYPmTK50wxx zD&T8ds0eot0J-I%A~=g$Bdsm)d;Cxj5NIBTs3kqX*ruud5z<=!V!y9rUi@?Di&y#S zV-$~91WS=bzItPT;;YsVV)&`hlzzu(f$5zPKs@)GHH0-4}h)Hvv>{La37X-%nq>g-{tC>5IQ2&8aUQVqUkt zxQ(9@>x)_>k(=)8@8l-O`ty&cFIF#zr+WX<2_#&yl9I_QQ6{mzn3Din^92c@IrPP0 zZfFjDadHA^vl2mb=!@00uC_V!#fM0Vm6|~ow8Z*ijtOmF^~Eq21chJd>!h&59_(cP zpv;O)3=gmZv*nn!FE+;Pgf_<3V0`cY{%|7ccI%9}ZfihI$~&4+v^pjf(^Q3~v4~ZG z*Th-(>}uyJD|;^CKY5Q_7H~}{jx+0YPAFpQyqc4k*St5&2712W9Ol0_$v(QOTz$9h zqqI#`v?t3zHD?swTVG3Lp2SvZ&YSu;x*1AP=UA&wSgKPE&SFkhvlw*KGG4BiB9xf1 zV&^2B-3-Nvuqdw)u;a(s_DY|6%x`!#g8ixeReZ{U36m)QM@*b!**DHP&%cV4a%#^= zH0OC91=b*i2aV*D9&QtpHII}Lz-*I)ByuFKD zsd)RC1XaCxk)uzFzirl5RlRVdt6TYTRhc}^FQ~YRqdaPw}{n+~R!FlmK zb^ilDp#IEL6}ouqyG1{!{(Sj{c)EvBrPRz-1Ft}$m;4*fX_W%gNr`c*|P9^Wx`ulnkcS(RE(?VA3qN>JA^R$U$H&qK_*_FaFjpQZHY$nH{qE`{v{{rNP1)`>^( zqxj17k2>w|X;8P)KR!~LCEktV%t|Efn)mp16VH5n^Q`1yETbTn-3$PCm;d$ySNXeD z`N39sRqjs!;^yZU(lN?JhgJr{74qR6 zk1q!>un*Sn2b@=a1F0#23%@a9CwSgbD2Y4Z`(t;qWu4-XF#t zt-&RDqC*fvyW|^-jTHH1P;fcFtIb_EK5Cv{gruaZA?S2Q(|o>QvtWJ=e(?n}fca`z z_RT??i4knn`R3v`Q?*~05Bwat(^dH-qX4mU#K&0$7_Y$GVPkRtHw!#7y$>)XJvG|PD}y`Q3%z$Y)y$cl6qsouXTfT3?Vn^J zg-KuNwW^B?Yqtl+`6H7jai_76PG$(1GaW{uM5sTayrW7(J9uCo7sl$K7{MLMp{Bs$ zLELP5D*Q%dyX>NPjg7$g!WsDNM%a5Ih z{*NNEaY1v{ir^mHCpZ&UaO*>&e3LpO<)qM96Cuixqtb|&Hv`xl13$VZ1bg<@4wkbP z)#s|~Ol**y3XRDvxEO4M5gFz+f?KwUr5<|G=&l1Nxhv6Ub{=j8aK8Ihi{FEAJ#;aM z+^~^h2l9Xx9aE&|8GeK@;URfq<)^sd*1OvvJvgo@q}dKq&I}ws$@hq4Og`=Xb<2kzz+d%v{KGDdfoG1jC%9`o{}U! zc+ZV-UZy!_C3E8oZ%z)$>6Qkh*6AeqWyW9r}j4FshPu06;&eg zD`R9Z+zhHqAF{4+dvh|LFwhodhKnYK=8Ufhjh^M$V8}vN;wF#3SosbWO$q$O2&W)e zEZM}T!mnb>FAok*+-3|S22OjRzlz}}ZE^-f(d*$bOlBfZt&Ewi(hzNTns|7+je_W8 zP*G!m@l$tT(rF^Zvd*!H<4gBPF3)FR-|z)cIBzKzg9tZcaaFC1#tTnS=smncVU5m| z-IQ8yR3_e`Y@mGQ3D;3sc+bH*eyPVt<=`FtDZ;N0zoRG~;5B^76FZ=>fN9?P{>7_& zWIzk?k$l`Kp5SkIxB&p5*f_(xY;-w_;dgj>-MI4b=<#($<>BGuL*vGWM^D6FPI&ml z(71`=(Ln6P@bF2Yag)NMrvT64;Zs86rT|POFb;^7fL4juX@G{`;rJcL=V^dE6Sd5& z8wU+}=Mqqg^u+6TXu?j5PJOP`%wFf5Lalp(P~Q z95B_}J^VqHvrtGq4xd#wZWg}Gt}DXN@Y!|aW}_`N$W~W`r-gh%Thvcb{)89S@niT- z`4hT_Ki*|`F5<_KbPn+@TgbP%d*uH?nPP9dNS1&7|nZ!w|SIfYfiIoJQ9=i04SF2 zhJe8>amR*b7@=XA;b9X)!zP7>O%bOo0SrW5 z%D}({QK_OkB7HX+rD(_}BlsC~LPJ#_@!IvYzIKZLK7imom9TEav-l$3g5rq6BN5Wx zC>p4xAci^O!fTbS_CWg%rnE*)>9PGM+4r?@&Jlx-PDP|>Z*2<47U+y{9?Qakbfh6( z{hQJsA@rhV&MZXJxfM@Pjf?ri5vjo(k#aCldut!IGE&-|85f%wVfc7!ACcv^2dd2l zDtxUv9-;xA;(H!hQ5H9OLZv8gW`|lSHbT$J>b3JGEd%cYsrTIpP&u&Iq~U-dFq_0p za51C8WTOFs?S9`yj9*1Oq<$Y_Y*i%Vq7OuMW%$5UmU*)|!*Vb3mPrC1mt zC0V)ec^63L(gs|!<>8ctT$XM%Jcux@1q~7&(lDUI9O_x>-zb7%!36>Rqe|~cSEHC! zH2Rt>L7FTF+FUS<0Gd;dpDGLBoc8 zflI8V&JK@CpV!?eXz|uQMjREaz&KIaB$YrC@32;SLt36vpA?5Dk2gYy;~t`-S1N{h z3(lFAtnN|v78Ri>f^H)7vQ5I0i)$_B^aVdj52TY#)=MmHlgfRQc&!_hy5}_m4ri(_ z^z7k%7&WtICsmCo4qrZg$QP}5RxI)^gAAUJ%R9dG)Ey*Ec-;A2^CDFj*r6!HyWmJv zrrP@U%S2)n9<)w=bDF+^LejUXXg2U7%XGv!PD=N1!W;5M^jzmV#t%gOpPX5m`%V?? zauzmYGC>6+b;4+pDshie`DDJHbcLM3_+fJ^vCV z5ASUEd;aOq{nYQ7oYDHHMV;{@$`c1RPd-gpkzUKcfht?S9@g4mL}@?^kwfDq4LNM( zg(qzfdevjnKx5&^U~L%FbvWu7|+k zSrQe^!}Sm-O$Jy16mlaxt}--l5~6*=gyBDQdYqmHV+P?QxNn?eg?}22yzsB3`VXxy z3#}{(y(tOaB!PNfW|eRUgn?Ts3cbH?E?e-4(ag)I+Bp@3)@UA{&ODf+9n&nf{ApMF zS)Qu2!rJx#FuV;Eng%rm(dJx6+2_9Ce?3*R0jH`;4kfrgLXCbVdtC~fc}P3i3)Awe zy$f~&yv&(ygy-ZKgXUxnS?60$LFc^i+gX@-WUx6U{9CyYlb!RRow zS?U+1IynC>O4r)YD1chiW)pOxIseuwkJ^t~(9(eZ$*-Y}W!^upG+SAf%OwPkujM5; zf)#pSyvtKRXiqs#dEjR}+7$havM2k$HVgw4jx1>HCO?Yiv#a8muYgu$#ySLU_+V#R zA6w+eDKmZdB>+#}5shj=Hs>>?;r!BYWxBA$ig z5CT(f&F)}#d7llto2R;)kM1h^s~L%d0pb6EW$b z7eMq{3nrR!6dw)8XFVE#N;E5An{4<3r!4SDi$~c%{>k;)^brMYtejK*f9$;pcvMB! zKAt8t1O+=NXmE`qIzdH)D;Y!+A)x~u2#Sh3jv6;ql*AQTOoH^ZjVR(WF5|fGyWnmx zLO@&q6+v8ZueQY@s0fad|NEY*yLI1ABI4)w|2nBJR%q!G7bKR@CZY5kZ zy!Nv|4YRM!z#Wv2y0%S%_M>Z{iE3XPjTCo$A4i1=WqI*Icv3vAy7!2h3DiYmw6cm- z;i5;-O9B2t&Lko>s4)3t)eO;h0D}6?nF+MMJ2mYM^uflf|4sCYrxkLH4l2OxD$sCz zP%KC2@kM+efw)0zw&YvUHHlJ;BAwf5!=C}q5-e%K|`5ucogxHe>KU z<3}RcX2}GMeerwny#&H>nmn9z4d&)+B~Ngy8f(0c1sIww>H^HnN2fLuK@HEu8#cx@ zh645r&d)kJ-^rqAVl1xg`M4ldXCaT5A0EAR6oEDf<8BB9}mYC0SfZ@hXd*Z?`G`l zq{5NChUFlXS`mFCR5uL>SHP~G^=g;3bxT9_1-OTwL~u&P*_*o$-q!mlsZq`%QtZa*DYIO4nSY<1YYIQxfnTYKT;$RhC^5F z1}UihH9J(-6EDHV4%Jh4vq`(IFM%iUw!p~5ewe|lW=OC;aVf7we#)c2 zgrmPAlRARa4iCPGL1$?-9QY>rEYDYBM`AaxS9fp|l==pI-~pEl?M~VOl#P82$}Yp< zg}Oa-9h$xqInJqS5C^Q*gQ2=>@yhUc*L)nvg+&_w>5AGCq)Ds-fC3-zne;T+U$ZUx zdh9FobvFCj$Dx;_J=4{u*I$vDBvDV?o%az!OyCns^fnprLCq%A@{wt|s2@5Y;niz)d<^CrGX=>DdwCH~IBc(>!f1Wk^f59jNN z1}IFicM8HhEbT4z9~iS(wOcSZh^eHk81Mo=dogNKM@}pauI+=~e^!(W*Kjy(S{Dx+W(Pd1pX%bdM z<(v3UbgKMVv6pWJtMjuA}4-=^EoH|HJDWn&5bp?3;KuY+Cj6G?RP7dwQ`TU0OJYe@ z{DmRQEieXUu&3Z-_Jo4VM9(~4x%U}LK zdG~PSe~Y|d(|fbY``~*--dDfqEALZzdgz}k?=w4Rly{ZaioCDH@uO~e-+_qIp8i_o z-OA7S;RPa2jiC}>aUwvt{|=s98VmN>4Ugi(`dhnmuDF{mn7w-6IL6A<(EgIu-rY`n zH(Tvh>h@Or#nYY);6xo7Wee8(r#bH*YrUVV-@n=K{lVsa&-mSiZ^|YMYVbM?Wv;++ zB`$pxj!STZMsKFM3NyqVT3hjlf17{m@ShLS^JI4CQn=AgnFur6K>pK`#LD2SHO^=) zpC;b1GTeGXO|g?tvx50F@7nn^uj5UaAtm{U9#q1DZFfEmQfBhPOXwLQjM<2Ih4#jf zDUdOr2DRzkv@4~i-T5@kp~=BN%*`be@tcxQGZ29UEWUd(Y9vymGitD_35ch2Y)mSR z&ZxoF%cnt}5uFx>M$fE*BZWA*PN+fDR#S(IAdgUxj3>*4 zniF7TRv#0IpE_n!5^8o}>d1a!NvJ`)l2F6G+sLSaf8ylR%ysf<=GE$an%5+shMrvV zE|oRgo7+Ks@<-*VQ!%4XMX)n#)`7Q2zn(Iemj>?ozbFn;ZzwswihL(Az?pS#=*@#CbwuIP{@#as@ zC(f6@nBtIOgG|edw+#mts)6X)%Cym~s&9^S&uCVB8WuI?4a|>LzRgqku!QS^e)%?? zCv)CuR@dk{-h7+xaCsTtTA{FEn*<=JQ~$WUn{Ij$$3(K(@0l>oB|e)L-PY$d=KwB? zezt#si1MG6UvtwfG&m%`CVnd~CBNoMx!j2&LLmLvC%T6 z*i04+#@OQi@xkAaVuQ2y5brc0D-$mnl#ebrubH@svx4Q5U$bj1LT_9pQO7)DPny2@ zHOJsgcM8s{*VPp`agTEm`rUE>%;=jn+ zna+F|_=>raqR*;#MPiJT-cmIMaaU%#oSI9YLK0O^7*Ux;_R zWHD6L%*SD!efOX(Xl6ohSH4Wh<_*`1sf~~`6RMkx3(1?g%#}9-IaBnMcWA=FePg<7>wn-dYOHK?GKR zmVghTob;J~RZQ0Cicj(i%WE63dzO_r11+VVkldM?6Ws|Un16KsOX#X6fe2r(LTcdf zn(dfzVkg14)(5flFx<&cIZ@iIewekRYmyJl$dHs1L{bhvve2Df)C(>nqG6It!)O?C zX?8aGc^NbqA&agF)iJ*ps*{;HvL5Q6e^ZUsqm&NV0HF-k?ZGCHe^V7LL`az5iWErv zk8RFCo?=a7Mm74pwO_9*pJr!FHahuY1}F$K#G6m^3Jc>z68SW9DmV6PAS9tWX#K1z zX4Qo1KE_&2M#-kxu4vwJeb#+T0w3&o+1Lo^~OFd~g?KB9Oj&o#QsP+`*)Xeeb;Xrone3!@J z{DFGlN~nIC@G0{;OR8;e=>RBMli{QFz2PD0Y%*=ylfMHYNUQ_2R{qXF7!&UN9i)Ht zMO0$0s;Ty5@XVe8_$TF)b@hjWnc%`Xjo`u_cf0a+CLTxnyK{A_PaGQWF-AN?Gd+<^ zX&iw+ggs@TYV;z6)-z7Z(h-=nrRPPotm55HVb2fW1^y#NB6*LQ|DdnV9DtAt^KItU z6rr&@C@%8dW(W^38l@nr^KC|<(TPtch7uX3&3vKuL?y|_lW%n-;U=NZ9gnZvpF;i; za&tbU@qpZ%J(!#Gx*7F&(^UN%s+z*YI>xP#XoEz*gj(`9X;?n70r+d@0{qobkt%$f zqbEJ?<~P5dy~n~yWfdB2bK{$%}rFTeMnHt&1J z^MAfXhdLkUZfwg9+vxxDai+mK;U7|jcN1b+1~FyoKP3r9=&UA}m_iOIm-L*K_<5&BkdA%rvWgKQrXOg-KrX}EUo zn8X(_xrj-3B(`Js4&n>o$*0=HdgN=(cN%Ug|8d}STjM+ZviG>sTeE6 zS9Gsdl+_8M{P<13&Q-&zA=Zm60MV>gttaNad@f zn>aquY?4dqCMrFKW?!`mx6=eF+dqL!cZ!`iv(dYRaBPz&v6BbtO@ zsm7vK0ii*;YQhq#j2DQ55Y;j`@C8t?;TJBQCUjn+yr#|tacGS^^D|nPnsW&_uU__gyT;bnwLwyM`?7vIyFqPhogJ-TWY8tj+X*P zBtN%BY=0^nL=8;pF3>g--@PNc=df%Ro?@p%EU0PJt|al}!6RpKVn7-;sG3SIBsha) z2_YGGzE{KXPANYbz&0=&RKs(iWenM0L&0C<*ELk{+Ha})c{GQqohL1yx;pX7*vNb+ z0`;CxB|1rHb&F*@SOwpE5Y)ZG2oM>Rz@eT0OAa-=Ikad9IkZ7-^V0g3(F}Yt&-5}y56gB zF|D5e%dKeQrh0{Y{!Ocwf*8(pjGqJbJjCc=1S7G8A1hY)Bp=FcR5orfpFrQ}vchn* z2d>MwK7dC!2*P?&Y@UR}@nbMeLJ!SdMCsPgqYr1ZYe&sAq64%GWpo7k8jg0m;`(T` ziyaSQN9XHbc?LKl+prMiv+AP<)W>Ijmim0{S#3%C&>LUTVvjwG-t%y>CSS&&w)Iq) z`cUl(ssc3(L7NEih!6k}1XKt87-j%8FTW+RFmDe{NRN?kXnH^u#B`63jih>BCA)NO zP`f^zsto|7I{rwHHfS^oU~oz?K5e0tULm@M+}oVQJ!1}Z!$Zjx{_@;j`p&IvmA-fC z$D2;y=GRl{J3^YIx&@6f|2^qP;Ge++m%6nG{CP^TA@GiGqYZwwyIBd`X|_dR#~wD? z!cAR&xjkz{t8^WzA8$HcZ(f*6*Pn*F)F(%BYa?^dXP6Wx()r1on?$_iZOJz*rE2-d zk$+I#BWZ>vBb4eCZIqV7D5B+9vK~`HepKqHJPxe*urccGV~9y`^craS_^?WCmJG^M zoiCK&!?aGQZz%=pw|H=O7ICBpk6g=_V$w}*0}$3$*)NBJ_?8p(N^h_84WKP}Z`H80 z3h%gS8s0Ox6)NG~MZcQyOLD+)L<1V9^t8vi_oWn6d{ zn3tgXLC@F`#q=040|X%J{A5Nb`qot%!ucFYgz$=^g`%BOA$$hkaJD*gVB(P(#5>b~ ztd>?q-2rM|NX!i$6xF?jJLMG_~THH8SNy-D=-yn z*YS7xi^tghB7DT?Q5bNX2#4gTGdU4LXBd0K<$YN4VVvn}Xt~!nVA4$U&#PgMX7JCC z#UpEY7o8oe|5=Z%FPdVj&$(xLZzGI?h5&*ymj^Ep#j z!BnVd-%i+|6-U%l@#w9SIAT-%P#8N0NT|=>Z_ir|)#UZtpD6-}@FsqJRQ&dx zK}dhUJ5b+IX9cn4*yoiCoH?OD`*S%78BtFLT}A6tJx ztu6fcE8cOr?MfUQcO0b`7_t;hOJxZ5H`4KwXM7$SejKMV^W(cj8b4wOX@0!(kUu}X z{(5jDtpJM~9AUQ{_&>sjA1Z_oN1=azKD>hp;6ukLZSmnBpV@r)7v3R>Q{DC^?8cHJ zwx+HQL@)-8MkRc^Q4$A8pzk>x+O%U_>bK;&$H{e2i8t@`V8w7*^zt*0Iq zhh0=~lgnY(6Wt%_uuuMkibfk?f4IZG%>&}F`_S9%@gOxkqrZMFO}fnf`i1)Oru#kJ zS7~xM{`xLx((%_n#m-V*y-a_7QN*JLEO+whlw#u%ohV9XbGwss?z7xUzxY#o>Dy0i zhLQkuUW*%!pO z{Pj@JjQ;xA%i4yw*ua}-!F&D?fj1`=-uq4wc*E)Np1#h4H`^Cp?XTYmd)~M)zs+C2 z{Sr;li#U=<(KpKk!m3Y592Z4{gs`}8w@eLZ&2f6BMhFiB%)^01EP;}cNq&iH}q*BiOZ6MA2s#RSxBY@|2=)c|!R zqRStIql?3_>$2!S)h`Xz)#FJdHd$igcz;Y7)kkwnhDdDd2nve%l~f^1i=`1xbG`|@!eJfqeaT?itYQo{pr3$EGvtHsDX$SoWaP_)F5%`aN9L=(vf8seY(G|u zszF)3uY7gBI=2S|gC@W@0R3_8@ch8KvK<382dnCBaj?(rs=_?Ss($S-JRF3FLG|_a zNM-yC|AnKCYA9;*W7z%vy}m`gX$lWCg*&0pNV5KEg`S`O<Z&hZ|ntnUWflk&!0(h(DSo@fu2{G!Y@tXn<#8AJ+IyM z&!uN&JLnl7luFONE_BoL&F&fK`7Q_zdOl*Fd+9j@8zia2WtXHz^&nXSdR})s=-Jm4 z&N78pps>C4EXn_K={dR`^c;A2Dm_<@bJO#R+zj-rgJ6Q5Cz|J8dj5pbtk%kqZdAun zgh9{4Zv#C)GKHn4urCVROV8$=|6F>8+dv_t^PvdiD)vpyvS)OwhBNdG4j> zeNYDKPW;F5z6C`X^jv!j=ovSKKavk9{0N2ZrRTqQ`g7@7&<=Xuc33Js2b|}o=SSQf z!EZkL0)zxTUoy|V^gIUIQ5_*FvQa%xl7n=2{uA^ZXbSH!g>e+Nm!2bc{B!A<*A9AC z$a0i>K1z;t(=*;R13j=-J^W z(DOD^7&L{eZ)`t3pXl}H(lfsu^n7GMDm{mt?WX7IE*a?g0|*IvzG3IgUqx!q3 z$VT-#Ne+5Gc?0NKVG5ryg}0%wz4CcV-k(d){_UXWiCA3n&PV?}(@oFYax&2KZfu_l zdR}3kd+E6yw4>TuRAi&N3^hs5zs~|af0c3Gs7^P96)0>kJ-cuB=hCyd9rWxb>rig} z`Oq0|dRAZ;PT%=x6a*9W>}#HT>Dh$QtX`EN-Kh4Y2!ozmUk`ddVhVej!e3{m(9_x< zhUw9IX%{|K~g4zr;tp-=z-!<9AMnaP6zeUN|zBuT~!!W{(2~ z<&B@k9{8Q1?&OMl_&ij%5ieB@E?O0;n~f`Ox>6M#g0IVw&x0*r!UK-XyYL}$m_Swv zG>-rp#zsQZAHy41&8Tmvif$*M)EtH6*kq;gpF?somFg3ujDQUEx|?gu;U<^t7zowB zfVb7&6p;GWq3PT%AY3~!Cri)_)jy3dAMt(R^Bq}kzfGV0Qd#j?18!PWCJZhDh3YQC z=ZotJRUt<_Si9^2Z;YpCuic*I$(#V4(j?2>CE0u?E|%=E;WyI{y^;r$m@_D1J&EBTt3}WG*hD*PicYLI{q4nLKSZ) zyrH@S(TyA_Mu`}1DjkGMS|UUq`deCMk)v^NG%eW2xY-8q9dR>gnfGWI!|n!^NJ}?IE$*O>3y^a16^9k_s@_fgfN`u2GmpH{GEiWn*1=RsE_xWWx8$ZxD^zp8>@4du^upsCt)O9l)jvy9NJlzrheCi3M_h1(I*gJf zENv2Lm-FCAUlCr+5BfdVWC;cIPiPf2OH@mv`jr$$-(Ox0+D$fv$`md}p{A1aKj~HM zORvKyYw@jwUWa8>N7878jYo<~@-8~j8p#KOF2xR>6{@lYGU%0rnlnT`EV8hAY#T&o z_YP+tr>yUuI;h!&*;&{dXYb_0B41%x3fbw60r}f7cc_~QRL6WCrEn+g=$U z`pi)vtcRhbGIUbk$O;MvkbZ8*j{9xYTkX!c;V0^79+(1eJ<4;le8}k3Qz+29G!l=D@Yp*Ai^46>;cys?Y+gbuL|3D+X zCrU>71eZiEf5f)6(1DQ4;i+;73lE3Afjxz^Zw|t;gGVd}tLJ_pE*=F{bCPNVwP8<) zWI~;#OJzXiV_8Y0@)1?z(?(E*pp?`WqL~`ig=8Pta9k9;`H>?VB6^}JEJdLp$?-QP z)Mo;=y^00C51s!vE|NI%^VzTJ!M@}~#5tww1N9TES71LPihp~vLM4n@xT*-#{P4QL#MB>9XgH_yEk`5Z%6eT@Go7G)GCP-LI0K#_%}u%9XH zg+iMmVjqk)3fp}qrKQa%DQX$e(E@@k1YucIK-P+YU`ufq1>~q;uFQFfptmK<#!r7H zQ;Ljmw<-(gom9;R;@m0hvV|c6lfe7rVl~?5VNk7wT2iY;HzEE-DFMO*rvl;Srm)x) z7NF2VSmtxXeG5g;@QCe+mVmVFiG84!!w(VzshS(8o6!`GO_70t^wk4F5X@bbIpa%k zb}4+BFm}p1d?U@<>X4<%t@+(4mV$|A7Pr-S-$fr~y4F$VwSM~sg# z=v5!{D2*5meENdug+{d-g$l&j5-6)}ag)H_N@5CjF;AMoKkxUDg>o#dtU8D44xsaG zM93o02O>G@z91geuM175vm2T{w)eiWf2RZt$bVAlMPn}yf#eLy3r(#?bM%(6UlI4R zc^Sa)Z&LY7XoG)~wS8E$Y~m5xaaw}HNNhx&D4h|xat!W*aGwR(5j0ZNP#zkAnQDC? zG<_lJh2vdI!hu)Iix$GOLYDuLIiaavvb<QoP;4j{QQQ@;-~_meXk&G+ zNEDS`tt#pts@s4Lki-t({+mF}>S6JY$3_Bk%Zpwuhb0eT9R^{=hBfRPP)(W=hK7{C zNfh6DZeXY(5&CJ4klxO)*%Wd_t3{Jc@nE z8WULrv372tq6i1B5bs9;R|(|296^zaC}=CQ%FPal&K<&biQbp9i{@ghM>L%H1pfj5@>s{-H~|j_kg{T8 zHO8`2lz82JTbZatd-l^x*<4JBjg5C(k~a{lSqbc{(O<S_6+g7I=RR0Y@Z-L>%6II*>qfze-7GeO35kYkDXPM* z2Xydwb*OGP6p;-zeUs;czV>8k;;AF72v?|fDWJg1A^`m(u?h_6IStR}6Siogq-A6- zH;cYnKsABXCppHQKOA94wHAT|gId~Zc%LiOxiy$(LP<3nQ9>Hg}MRzK?Qa2IrFff!EkgiyqP?D+Jy zdZUEq#G7EBx@!cuJlu5bG85sns~_>`bNojE7)CL{yuSYg2*6vW@E}vTGYTzBQ2+iu z{%`aD7XNo?FaKA!#((grz5GXqHpAQEKfXOs!%fF2{Kv3XpUc<=|0yEm|7GOADLlv& z?ueex25Qf&e}+P zy0g|FWiS%UFfo6q^#`oJobq^iAX4;cD1HwHoz~;;P?Z!dkHoMw4892t)oqP=ydwHl zMW44S;$2t5W6MVSO;_~SH@@Nx@$6cH|1Dymn6UTZ*DS{z29m zJyj#30`3hc%Nu_-ly@ZhBZ-$dRAy7gdkw1L#9ui{*>}BgCuENP2pDC_XksTU{h>P^ zLL&?Nm z@Z-yCHy}8V^~TaHy#gYq?FuvrZ2R7li1Q7ez^k50Xi{fiqO8zk^?|Bl4TfeI|AlKO zVX3X83I1ZJZUEn!iT|ju|4ANUz+QRL`j*7s*i;_ttOX3{NaVncsHCr+-{$E1)T2K^QO9icXh6 zqi|*C)ll6(_`J_zp1)DwF!Aq*Y+|qGF!c$8U)(X|>TN`8MSqUOy1*_e4%10Y30EJX zuEai;LQ3v-<%FxxQc;m4_bafDzDuEc2lZJVhCDt!M`X5t;sOYxDl{#+DI8R{$&OK5h#0OkoxZQ^@DUyW?lU6TwCY??Vr&WxsZi&8QOCe2Td84`1(! zQ5O#u4rSIqKg%ru>bY=AbLQ8sWgS#s&tLrElG*5TDNb}}l*j^^ewb@L)Vd3ctm^UR z4v=f}t#(2MdXj+p8~P^s(Txd2A?qt{0V*_m>SwxHtNUpJkiGGYZR17f(rbCuq)(5~_ zf(lrrl|zUd^)5pF1^i|k{N(_L-!tW>gKy%&`C$wGX7%%b3A_PIK3o>I;;YW4fY9-k@ODiI~v$eyFioPqIV33BOu)%5Q!a*01P)W>exLTI|jkk zkvZXP%!>?bAo4F0ABAW9e?)i|Qw%TwUfVi@@X*O|gl84+Y~is)-F&rS?OJ4rFGGi0 zK@h5;2CA;uKK)hO0s>%(9Qxr+UQiPze%hWKjjTnJN%j0^K#;y%1*6oH0MTVqFnx;^X@ zz4bN{j{g8yKa~6Ir zpLtXsxQ$Y- zxT1uR@>;e1aF7CC_Uuu;_pL6jTUrf2Fk4IxGi@h(@V$Y~j4MVDt-!Y_)b>QI<1uz; zlYf>xgN?PXc1kW~lO55k)#O~uxy@JKKu!ci4jq1i(-EKGbi`^z^JkcFqUv??T+cEc z@d-{xETf)=xksJM2?(=H6KZmhJ$5c;nW3ieNmKYw6gnhN?1hino!c3SbFfR5`~D&9 zKH$DjViz^{{a)B{%5@L=`+OgDF9FoY2$OLjk%hk&gVV19)=Qo$@|bxa7PYX zys|!*D*Y6^x?SyTp1Ujp@aoww!KXi z=@i~?)-v&f+!&ZOxuxX_ZaDcIuc9cbif#oS{gtE2X2QUhNm*GF4@9+Rc~!quSL{>` zh^?W`;aD6ZX?2$W9x$v%nrdEVCO-!= zzrufH=5X>G%sl99Fms71EHZ_=qHsoHfR{gs%drQIYy2c$!1j%I2*vImqDj=!KPnkQZ~4$rQt{k5gKghwpCFfv(&PfxWv{AaEc<2CLKz+~+ zqJF=<-V%e){SI>7qVtk*iT6d=Uw}4&aaSJT3lAIe*X*MM@shOg#U{P&Q zHvv&nb=8@m>LOFy8~dy7q5h5+)QS2nH4nT>HmaBLljs8GkvUJW>@gQ@c`5US1)xl} zdf#Ea>F{@7(`d0L&CnKr)R{E1c)J-VO*3JNEo^NPWzTnHFAb`z13nz;qGugUk~4B55X2OXl-c-3NpnqeV2YowIeYihT$wJ+4kO&%MIF5p$2)zzGQSJOwq$mhv;e zmM=_U#1tNYLeiJ;7lZ$i*cOo(4HzpMWL*i;JNAW&u_oXA2$mO+-jPdP1a(pv!LSBr zTsa7s4#J7t22A3J0Umjc*E~dt1x(M65JAw;Yi!48rKE%+(;qn3nQQCJWAnCc6N> zj2}y*8T`(n&{-86{GMK(0lyc($mApHdh^_i-#)-X^)aYiOO^w_OHT)WJxt*QQ+OH* ziJy#@unZKKya5a?jICvs!7LWr5@9V;6@;}Vc1{LS$BP!m%uazaDufe*A15&*>`Bb{ z@O|RtQ4TPLz5=(9nDL6w!=O6$V<0sO|4~R^BwvBl-KPPm!%X3QrtlgR5-Hc8qi;_T zeJclkL*1@`yQB7nPYeqN8W*5qlue0gYg zx4Jzi2dMwsCI4yqwVXAcw)E=`>gHu>Bt+n6e`rHB(L72?{r!vT$)~yaFO03PFQM#! zh71YN4Ih0fXn86M6HH-6jpV1SHWDSt_g%E)CC5Lxj`6_7EqaGqNW!oxVo`c~gJZ?{ z41FG0ia^*lgW;}4=jv6O!s8PYI1-Z#-Qj5Y*%s=sBVqSD!<3YFFVW65CF)L9pgn zj?oyCC==(2;z;zg-UV2x&#$O&psgtuW?|@h$kC|Y{jr4?bZZ#>hO?@1zFx|3+7Wifj* z96`ugK>uzVslFq|(yeNr{i&bvpEa8IQHz!mV2?tCwRE~@G+0XsbvCHX(fZ`c7^SzF z+9?CPhdKZ+sD1TY>c)4`TcetRpTvJmSiF{Hk2&98*!(Q9`I(P{una%1ASXJe5GZFHbwV$EcT|8OA7w=h{&B>fQyd4ATCY*m-dv6Fa-@*BU#^LIuQ9zNoo` zBbDE$Z5DohnFVV8TTR~=RFC36ho5`B?Z?k~@7er(eS_xb)+d0UzrLkwr}6W8yr8bp zZ>gWab?|cyeiA%}o`%imEHnJn5to&FuABgK3OpSr3YR=pNH`!r$3dCika3LmaPyNK zbjGJYKgW=tE64UOG~BF2&&3>-l}7E34&$8LVwt$L0xkv+XZk7NTUy{^K>=Tqrhxku zw#M6`WUCbt0B3D`>9_H>ml?0<-mQOwfGT;LdbBUN@BsdE_&e-PKmLCCj?Le1e$xEi z?>O*xCsR9(zfa=@^_YH3Z3meFe{=DZSY!B`&9c_@?;U#4Y;(`2F4dcHKF!NCRNvrI zjqiN=cYJM-S@ZtE^XY*A3-js6dx7dJ@Snra%NP0avnRBr(ZAb+%GAGq9}Rw1nA&Ol z{9*}O{sjMVYz_g}!Ovp+*z@WBENh*gi+`|nuMUv5F`u^6K57p?^E2`D7pzA4^Yc1< zHt?tM^K^g(er~lVsNMztIsANRp&vg>p)CzRhl0xF=XFPepI4aLY5eSg7gR{Ur7i~7 z!OwB{vH5u_%l!E1*t=QZ{~`QrkG)%viJyCONy>M8z6vt_Y5bhELHK!S0jOSt{~Ug< zZ1Ur04d+d5A6>Rq^YhhF;O8Tzb{ani;{|n?eoNg4u7jU<;K%0YOqR9I&%)+Ejh}^? z_<6$mO#EC6GX81&ocELP^SnJk^|SDw!_O_}`|do)TE}xu< zRcOgs_9i6GvbWXgGywy?c)onc6`haO=Qpn5>hlJZYmlSH0yV~Ho*t<~Th@Ag`~rQrflh@G>N^a&?p?j_`&kt#}Z#9CV%qG8aIuXn^NNVI49Oz&E^WRmZpRzOz(u z6jOKnEM!t|9b?i zl?`3NJeQ1-!*h^(f!CjPUN`Ig@!-R|ljmqC_`%gW-vR<+|PHsVe12jV-YvybmNR z`2^!_XwL2L_2h#$2>@JSa7QBUJe*J#Ah!c9g!JSHzJ1cm#z?3vfuIpJcQSZiwGuOy z+QU4u7bzu81D^`K#HR&wF;8*h2lXhYH#iL2q9i$sS6z7(b2u29y)(G$V5GY5V=2#vd7qPPh!n>L z2l8rH4Xs^YT-~j9eNJ^w=#{03O1v7HvosNQHNpEFR}+avFuy(h!M$?b9~F*%8ID#U zl#atzW2L#+4jhN*t@2S0qUEN*itpI?_?T( zUl%XOtgazzL0 zc5HDS)E`@%nARd7OI&F~2EJkPoST!VAylsZa4zl6oSxQ#Zxtz+%rb!su`|& zLLB_(sc+iL`KM+88$5~t6@=pt_ns^SsAz!Z!-uJ*i^H)K7XX6ASPfNW<(wz*d2uNg zzfgiyxw-0sr)fu&HUPAO<30K@1^)YQarNheU(T)0bBjJDwF__pL3yrE%c53Cg+jaP4>^+O4oRVB{q_Fz{PFcamYxUFy^aT$ZI_9jcaNex2|c@@ zZh5RnZ_v~t=tYO55_CHd^l=d0OEmlZuUTo23_agK2CW}Gzqlfep4WmVr00sm-1Hn} zG-5u^UORZEo0^n`M;89EbX>h$=s11bOmsZqNSlsxQJ3U#1}8SZ2>y3M8lv|DXd=4i zP@df-Vs{TtLQNx6vLX4MqyHFx&;|&HWo#&vIzLN+ed9h~`x1S=_9r}P8+}9q*goMJz6eid$~UB&-#^C^Cy*%&0^-?Xb(z+DGq zl-kaBsP z7N8$JI1w0n5T@47)Y|ENV%`aqp_(C7{FoQes+l7-q|Rwr&7e}Lb$YevnUjlBhXqf> zx;cgKM#Ws2Qfv-vdO;K!`?WAfdQ=+X?;V0Mu#)=Ok$;>2zX9LA!f8Kz?=qZm@C`^^ z>ojRW_`Lpp2;UDPx&_@Jd~HgxLHKpiG;JaL#Q=@4WB*vvo`Nk!gr6`C%Aqux?@Lta zdztw9!iZG9_Cj4-jUhR$RYpVrmq8?;5lO!3oM>Vw|;LnoNg$2)t-TmSDb}JV=pHQ9&&kY|5JiDaA^VUxS&nxj%cy{-N zN0eV;AuLmyM3%pXc&QwB0PPdV=humzK`F;FI{LCS%11cum7TWEVsW)^d|j^^d@K1oRYsZdcVyK zW1krE_&Fr79YemJA#R7>^}NmKzijFrmTBMY#g78TT^`JLz}%vY{ z+2HOGkwV`eukxpF&zJv4=zAVbmU!^6Ei=)#uZWk>_i)rradTRzXwwLsFm{aNHyQ#j zPJ3VoeDV4I1P)!0M&O5E(ggltKYs$d?7ev38>hOdOSyjuhW!74+-^&ADjxj0OD4L$ zca|-;-@L2k(d+i~7?+0n6Ldl#TO0b>ZqK3T`4En7k1cX8df4{wCip*(5g*(C`RhBl z&FKHk5&x$udetguH8?<`+}sWj3)<@dbv=V3w#g3An}sP3kRLr#EacYwpMiq8pFfa& zrUumU2fCxK*Z+B2Y-#tw;PiirR209zS|ha zIQZ@=bv^#i$HP+<1QA{U!ua?xSnr3!WPm3q1R#!t)j~bD#%9Y49BA3y<-C=77G| zU;F%@WdWg{dXxi<1PW?^Za*`HKm!TTALIW#L=|b<<0<(yKQf-2(f`?0d)()ITI~Vd zOJ(Hi0j2pDnf$qJy!ad-DJ!-=x4R1;uP?XRaPi+C--bVa7UE6_6v%!@U%>#!uHLY9 zo9q-kry-b?st@Hl{D4nS(mbx z12)lKs~YYn%V+BJuY~H37{A41&wfX1(7cmFMWCGAJ*)d^0uX@B<^Z#Ht`VRs!%+ZT zs}LB$zCxB$%O#0eaP=8P&DsemPsKq9+Bxs_G4q~7uf8i7GLBzhldV}j_LL?Y?Czg! za#_m~gqnY?lggh)1lY3Sw;);K!G|PZO-oXv!8p&LJoPOX0ph`KGJwgVOxQ9O+)_ns zjlqqV{{{GI5q(`iB?~N?tX`8#i~_OpvEl>V9P((!L@_}HHK_dSHwvHuu=|9$o!lyF`-KK0g7NZExB72$W$cKp-)w7|4!C*l!sC z2&kjwc^fdaHT93&17pydzx<-HzLD6K3rO2CEWr6f_M$v)1u{vfXgwzT?Cy?HY{fgf zUdEwCJ0tkSrM!e{Wj5v2r*hPkV>p+HLeQbsfa?7?CD1JNe?7}e$C!cl=gRxiR2464 z=Yq~9FyMlRu`zE$iIs3ItjQj~PCh7h4lBT}VF2QAa30OY4re>UEIiA{m!1I@<_Mq^ zo+EN0DVx0i)!h_vd;T6gpSSjWcOY-g{JnYRyR=xE|Nd82{0#9*#=vvb4*8hc{ez2@ z3_hd>7mHAAQ`j4?)J-nfC1aDnA`aox}an# z9jhq`dWDi&dz?M)bi-87svY! zVF2BxCgt}EnEZc)9L|H!3pt#+E)yLO*w3cp&Ge7ORko6tXd=FId>Xow>7T$#T(FZJ zFudX*1`NN3uq83UHzn7l*oQIf&wzPf@5&K79Jv5EdI~kO`Sl2Tvd+u@VO!_c{;2Wbjv3(T>V~I< z!b^B&zbNn=mI}{z%LJZXYd%OCR1XTaDW6|{5YM&C^N3XL~-==%jD z&klXx<84O!e-mSh;sMC&ljQ*n2c|YDv;qMO|BT?=Y zf8cMh)!Xe4%&&bAwr(c3K>Gr=Yv3|(wOg>u^+IIJEf_~5qgA)S&PyVVTxZs zpfF7TD$2sjM-a_(!Z6CRzh6*%BuBN!FZk$R010;0?l=I!;}=+5O0jQ)XHx;B+qYld zPNEuWNi=VB_y~w7YB!;bl#2%s7PZ7Ygj6>n7$MqX=5CL=UN>PmX9JH7&rBpqA~0tDD%}XFgBBuci`l!AC>mZ(DN6rPzpWotW2Zl zVW0x(dDYgL>FM?t&R{g&mQKob#jSrR9Ur9)gZ!9pGSTtea+{7<8XLw6pThiy0rBvN zG_1=3Gu?)3yW4KVvWgV9!5W^a_H_IGhuUihy6r!_%ZPSH|6xx3DriAOPxxb}6u2A+ zC#4{>12MOZQuCV~h=1g|9f;pO@el&!wx>S^6}q|6vx0*qZ-P zlk(i)yR*zjnecslt8{!Fd!{Y_VLyT056|_bseJ8(y0)&*;EdpL%08M=pvc7U->&FoaU+P>KL26(SA4LFz4}Z}y3o$%U0cVp%v%kMLbYsJgS#=H7+vD5kDR|>K zeu<2S_LG{f_8K(zUx<&#s!Ow~n~#G^85#SAciZC5CGY&mW`$~Ik9b(LrAwi@;JavJ zHfXe`h7UceV!jXy-dtvZC?0MKjECc`bQrtXFj@e9KFA4SdIDfbWK1QusUO2;uK@gDnvK`1^Ofl@4P%f3rOR z&T8}_;5haN0zRAL5YWZnYdfUyw_&94HwtB9NSGpfr{Ilr*nIhW8US+Wx9(LR@RqPU zfY-|fo*h5xC>o86vg!e;XO>>aUgA>Du*xu`SFEBO1QJtFkM|4B{RO;t;oHxn558xs z@!&70oKao^?bip@z|g_BlOMhT!;U_k9d@|kJLuOGd8s6b&nhMSn#FlgSqV=ZwGk5o8RCA-duJE z@Df1>JU9JDdi23I8n_)D;L`Q|uI-2KdO+mxcMm`Kb~W&oXMpeM|EBPF+z8?CbHx_@ z{P_D9ywx85evebZ9RTZbm&V`8><Vw6@g}*C4vfxYQ@23GgY2SP~ z$^+h4FZ+P^DZ2xBU0mSV`d}1*2+Qh)dQR#YeQ-i`nm*_wRRf7@QIGndm${$9d&j=V z{s6lmzR|Ctg4?9;DviGvn$-Z~Qgs4+l8zD&4sfui0KrN)79-BK4#aLK_Z@>h#EjEx zR(AZ~nw|%v2ZvqDUefe%eAQ-IKyOkz3M4BO>(fd7wu1zYXkYY`qGq)MMLzy1@H^~V z;)gM7qiFEk1N|BNj{nf+uEFn8%s^iJ&hnj;TE*`)^x)vP?!`>_9U_pdP^?eO00-#jg%MIQVUw5x)}zk`;>eiQnEp z27y2F?*b{p{Ff2GNr-d!@~`Rz8^2pVNX75DpHuOB043?;v{n4>Mh^~t2jPzDBwaoy z2qZX9M1D7@NS2M?wNeE87e%&w>iBa!cy~f3ZH~Hld9FIpG;^ZJRqTe-Hb1+Ya7(+*tKJ`d|cJ@|CA`&)M`oXGJQ#SEP-Xg};5g8~~Uc zde29H{`Bsu5mBs9dHQhUPnJCGDn-p|A&M;Yy!!5Zl|i1ib?}QVPsMLT+IUI)_VF?b zJvjJ%^=u~m_7+H1DAp%_zx-cDEh+FO5~yS~DWRsZ`?Zm{c@*;&>{)cSqw$93vc3~~i`JQ#3lJ57MH z>RIpG^=ozgZx3o`{YKW02P5y14p?G>u4UU6{0B(6_(L05)57(HbJFaeE>bm+Sb};f z`)yU^s#~^(6^ho)23g+yxH3Gq_Wo)r&dI_bBA7@-fi!|i^jdBzcjz=4rj}7E@fPGnB^m@&<;ifFS&|<;BJso8~ zJsxN=xOXuROGExk364j_o_I(h(0e|zz3)px=VPgTL6~Q*jVwT;Uj=oe+xRppt#Qja zHW%u{GuTqvw0JG>21e$(Wgr|FS>U;kj?9T5i#HN2&to}Gd@8`de3TXPUgvWchGQi; za&&O~g8q2KYvig<;I34N%f^^od>kL-;sLUP@i11BhxurK(3?^V-k{rS`0V)j~CZ;lSZxcFru%P zx2&>T1ANl{7`w!bx1Og7M985i4%0?KJ3XZxJusdAS{B!?Z>jzw96K^MG`oZBzi^g|Pt40vw-D-h3NKhGutZy&f#(Tnd&0^QvOV`Q8j6a%z5Bliy zbfYUY2pz$b&w z+~A_078=rTD;s!Gk(zjAE_nMIc<;;>;#K2=DbwAX;o3pDSW=*Bwel++VD-7n?)CS6 z>)XyGmCFj@7!`|oV;+K#nlH!qRB{fVYtut z;iATHXvFezoJ<(_SRHyhmKFmipk~pJlg`vT@jA=4k?0~x1{8w-T!a0ANl8`xKGtG2 zq282kjO3K#7_Zz&d>Am9ADEVnCPUZMfNshAARl~%^sf0hc~dyhn7r4PY<=OuZzb@P zO^V+memF*I_Y(tTbQcXS{_yqnG-0fjM@usYE6xkMy_WIrULdNzV9fv2`w{)sYy+#VzjhG%+4} zBD{|S*NR7r=tHSge{AUy=(D`=UM0CTSi$QKP4=P8Zb$To606CkeoNVJT3T?y=)_+x z!@MV(wBq0|?4bA5W8?$}*8@0$3dG=Ot;v@KhYf1h<9I6PI0@NZ@Nz){@}5L4ej`=; z0I9h`J+)S>uGIb`@oo!kdgn!o7Swd33UTQFXG=ZW>totuTTLa4#r|k2S#Ew;nO|jo^;bXU0Q$s0cUx=}?X6h! z``}ygh!?)7X>U{DyUpDe;j`^U)2R5@{ndfM!%}sLf>Ruu5%_d*`cHK8!8h@`#uxA< zR{QryR>5ik3!n@Z3CH5){SyxG-evFnFSh?4 zBIULH_b@ND{U?{O|M1&h`_DxJmujOpYWvVd5|{lq$FcutkGIeM!~6OuZ=4?qGphl4 zwIv17#m;=L^$qM1=$kV|yHMYJf_>LT--Lg+y;ntR=5sOl=Fs2+1TKTm$KFe=MG$_U zy(b{76oc>ILS^T_4ECR6f9?}<;E{HU#RwZPC~y3r&>Uk5y5?H}cA3k*8fomS{fs@> zSBPxvVq*_(+p0adSo&Q+_!H;R?4^yEIA2UZ$6ke#VA*?QvazW(@!Gccq>DFb@PS9# z;F~NO-m#yBXeCFxETVj|`0!1ivG^)r>aB#u2g7JEEIvJ-4S}z93@792K`{A@!M9|+ z*nG>wq2bFT@dI{%(N_^&qsp$wwo`$N#q1la=W7!}Ejh77&X29YuI#bS+SdN2ri8Sm ztpr10LyJwPV{&b#9g{1VJyj7O4#egMs!F1r!~#5(7T~S0hc>h{5sq_}Cx0&TwGAF@|5NeUs7NYrKcA)82c|$KJc=UMlD{5aqV) zyy?>XzS5;KGu?C}3$>KkZj10)_TFoAHPXi3D+M05z1RO3 zkG*%ZsY-ipCm(z-bv^&pzrWvM@2y0OE_=@z4+8_M5Sg^|wX!di#pkgACS!ial282B zwS4nY-o3*ezpldF40|v!GZ=~G$SYn#B4(@m@EFunZ_Donb@7*W#2SZ2B#?Y&2Ps_e zmjD_E{y`TA{0}#@0)O}R!{5UL|Goe6h5wVq8vd{GnDB=T{ByqWz&{PMIc0}`mi*i; zuOcd>*W>OnExf6JWeQEK8Rf*^tG)GW-1Tn4jc(m(f3UZHsk{D}uKF%|PWjYL&qhtp zTVH8~o+I%_`Z}ktJiK!~fyS zt-yaR-e@QM9X;^haGNjuAp`&Wcue?P9#$RU z$iv;<`lq|=O~Xy9JXCw@ALy<>+Ew4k17=l;RlNs|o|}a~2r6KQKI4fyuJe=QIHTKH`09Hrx<<&afaJ_&ZwRqmf}BY9Pp{V05+K~qkaL3EP6Qj=`;<0{HDGs+)%flFZjLxVk&;~K1jvy8I=5X z{3>p7;aAAs0PjsGOvCR;>SsJWewB^i9ef!@VHBm~*Bbxs)gc=7@_B;aPcNk6_vMOI z{N6*!Z^!T4f4cCiWN(1?Srn$>H=g4a4=?}3#;<`dqv%W&rQ_Ec|K{rui~9In!Ed`X z{DNut{kVKn@QdHBfPhKY~#0zFQfi66j}IL^TTO4iH?&4@-dH< zH_ck>hr=D)g70837D?4Wq95w5!8;lwILFG_>F{0x+IWPaDri zZPIu?@g^6&78`lLABAc3ddJB7IUm{ddYmtVUZYWD(aXWFHF@Y{@Hjktc)s}ARQ&Eq zllNJhG@fs}!G&M0!B3$u4Zm#+eh;m*@ms@}f!|FiO2@A?{*^5-`dE+W8|S3rHxHxN zn`8FOCXMHpX1VYyG~+qP55N6oR5q(cAK3Wi8vLF`k%gZ%p1+uFkLL{{_GUbH9hNqp zpOdP{CqO-p=LgLFT;9vPtg{O7=wtoJ6$JD?f4Pn4x3}?pV%l>HpN>s7KD|gYD?j3p zp=tQ6m@mvrG+$3KLB6=T|CIM$cuz{}&-?t)HlFX?#`BHO2q-RkS@_fmP@-?k0hf)> z*zz=djy3S_YVavH_ubR+`8cgVH$Ji8c|8D+WVcwy(z>6=gSWT(empp_)#tI`R&BI@ zXxjT0Jzkq<^S5ZGiykM0)97)tR1GA$qaOJiHTMDDd-2)$bSnMb&q0rETBpa$t-cR> zwfY?NXruj;(%!e|@x^O4J^EbdqDN#%8aG~(MxBlm>9}m9x6ybK-w(z-I%0=FLT_Yi3?PE;9QoFl0+y84-~=2mS$ zYixHr-7dqUq55wnV5{K|v)zMryZu$AX*X=zEmr60c8gu@&QoXE?T*mxGME{vzt^;j z_3!YsL1=?L57agCq{dNBjq+)O$`RC6FLeaq@nJ*t$JLW^$lMJ$nK%+Zytf*MZ6Y92 z$Fekj&UxV&vUY~_KO|7SOI<^#?ml{P2z|$Uu9ten{iTz=q!WB*ItVY|C_ZizNNz<- z5d<&GtBRH){u=2Wjzmw*m0)5dIv$x$=k%XnI}I%c%qf_m=~qhok>15p%Q_tMWWL#AK|cC zJo<~(SK>k<9c@&_&`tE43zpJEX#|+b$2F{_{l3t&1z100sUuglJNW~ z6dF6*v#s{``Q7cC?|Gqc|AKz?w2qK|;`$QOM!pM(%4M?(EP>f(>BpxZ?U*(BIRRF? zVby!$;Md%6{X(3gJ%n$>h85_$B7N6i-|Z!>8S8Fi3@YFAXSF}7wf4U*cDKJm-C@lA@7Avpd`RcwZ_&TLnLo)tU;PG~w5lVB4GCLa^3JRI9L zQ7?*k9W1zNI>c^UUP~U0V4(xmj0zDz)+{xJe#sx8~Bq z_g$_<2(1~N@6yBnupTDH19MCa0I6R~0>?b?Cixhrf~k-#)epuF)%49;W2h-_{M4ep zMIo!*lU$nUi&qi_b|cAa)mwO)Y)*ch{LoS=t?TEl9u)oD9_`#z5{BSp&7VT~aTIjx z?LYd!?`=Pme*R$qi6iU76El zc@=#SOVDZk?ZWwnr_Jn7re z0Zo=)kEr|~>7dGi-_+L#{x5R?HIe@bQGmkhi{$^T*!-LHiS}Ix<;?g4p~~`@Yb>$?dz7K5r4xpZs6W|E7LT=6}L}BmbekP3FIjzLN3Z z*8Z)U&VSs0BmZ5`YI6H0)3-?eH?+Ug-(MfQKQsI52!FCXO4rG~ZnXZBd8F}M6rgD3 zo%B851p0(OnLr;IiIC@NN3G%Y#qcM;Ie?nzPwJuoh1VD9Pkv}Jf5}n#+vlh?yuKLx zjr#2{#zRF>fWqsG6nJ7e=l z914BT`i=ysrN8EW)vssJii>N<@0f}=<@|ozGr9cIrj{Q;<#B%hq2}n*BKNm? zb3X5H=~Pm!m_FJyVt=b87mW{2L^&~Er1SS^OXxCI~`6Rzb^_51KyH(c; zNC26WP}avo$M?}c|6Y7^8^l-oW16P!9H8%TR2s#x$~U|o^z#GM8uW>*G+tt8WJdty zc+m;JMY8-D`8z@WPLaRUyToSo8R_=ByxzkD-R|rIdtYnUr z)U0HYl^kOwCs@fTR&u(Pyv|C_kx6XWP|A#$Xr%oY{Qvg zAsy~X9oj|iEqX(e7> zx6BMFeVgD>{xW2V^#gH%5zc2siX2oxzPWB)H9?^Y`LZ zCx34vsEFwO4fzrLB}@KRzGU*ZpWspcX=H`**GT)7@<+wvjiFSd-?i~g2Pu4dkL8Q&s5 zLLVxmJug{m%IhbBhdwMo)}iUczwnW7It}uN(D&XDlC!_+^-MT_osn~h{JlNd$)8`^ zvnv{ZJEgv_f5GH0N%FTGSz-J&V$aPaeF@XEDq=I6672rfBPpn`P(e* zIUjsS@Rug-Inm;;kmN)C+jC*|ymlUu&*S|d>%6pQ&+!rV{16w753>Ejo^|>B$|2eF zrPm92Z4&nUI*>T^eQSiiuQ_ym-+ZZ4UgM=br$CMo@>2G^eTk_L9Z24g*E(b!nm&}y z7W{>TzHhrDoWEZp^!@8Y*Y}?;aq@SQwC6tHJAyxD&-Krm{PidKfWL2%6~BqL_;W?_*N8n=l?eX23VUuB z!C$Wkd+vPb_S}7z5kXFX%K-%SJ${<QRJoUIq_*zUWF(} z^7?IYguXYT4=2rX*t54RoWIWCCTu)<==^mE<4@W1Wyp`v2W8J0U`EE$T}|-dFC~({ zM(lY|vBRF{mxl8UG%j>$ipTcgezV{?0?rA@VnVypum=&rc&ifdW2t`#$1(?4&J&uq`R=Q|?Er!dYf1^UNE0!8=vQ!b?VHVRqByn*jXbk9wt z_-w>l<0MO`d4oEMlPphBIbV)A$?{!-S)%j2L7hd3cu^vUBc!P>ARM@~P#=WIXF3ei z<7`GDjuG813-Eyr3Loz$j^QL58@?COxH;xAqVJEkhpAIJJz#v@%NC~oEf%%SFm;VW z&QzHCm9}~~aJ;{$C&QR1>k)zDh)g$b5%t)Q5v?<>M?Hf6=>o3^Nbh39TSWAqE%0U; zEhSzAX7e$q9OGnx*M5v>t?7g!7R0i*GCqEQFniL+*y7c%M7;W?S(<*ORy}B%3Rrjl(??64 zC|cw=Gc<*=#C65$WKlk4IYZk!V<~2eb+RZI7b)9A*)bjCQ1$_Qn&|5-2v&ceLd3=M zR(gKHdR{}%^Q`Ar@f^Ga(b&!-L${gdiSm#thjAi`Jrzk?e0uOZoN2H>Z?fXo>3o8D z+UPMth8!H+kjIt&g&YqqriSDY505*_f|wu>`^5_uKH#o-Qj7jguXM>Ia?PmCU zOK6uF{(j?8wxdVW_(7gfx&#jz9ZG_p8l&)F%sIAM9M@u2!7=guxr(Q1WEH_1C~W;2 z5)^{l-=gc!aRzDeW4|8^tx+_F-c~6@#^W1`C|YS;3+)U&Y-6B^gnu?;&sW$(r3@MR zG}szoIJAV*hkQtCjA$u336)BP_3fcI@Cqfq!oL@SgHRlOV8ix_HghUiQ~UU z!{e#*tysUq^f)^HPg~jXzbBp~{&&Qa#J`N5)J9aPz#rS6-AmDR{uGYKY=S>)EBd|$ z{Moe>+3CxP?avlc=$kqg8{41l-6T&wB=erU%^2a*`-p2e{w!~}sv-1UBr$0N-#5+ddZOos2^`(%D<CY1A+2+rF+356VU*q}z zR)2N|XgB>?Hnhw1XG>ey{Mi%yApP0Bcrg9hTs#=d;BaF4vky1ODxCi8N72U^+wO1F zpDluR#`0&y3VT!hnMQ>V%b(pWCZ+#Df6}l&J0K>F|H1lW`LowuMq}MfW#XP;t|rjT2AO-wYE^(%tWB zr2N@y!x?{ce}-!ijm}l<&-zlI=JaP-YJRpNr!!8U%IVi_qVp3Dt&deC9YxYbhyP_3 zcc8+fCCDQ78QM{2ase?ziU2GmL1M?+w zhV~CZh`8wC1v!&4kM{N#M|(4jFGq`dghvZI+KYq4%ZWl9?F}@u`#C<^yVkh(7~+Ne zT$ZR!__^V>+Qhs~)RtvjD{B*eF03{jB%UE_8!Kva9wbgTYkOG8P} zqnWHtc)zgPirjYu2ok)7&`yx7Img2x>45P@isJ3hKHOr$C%$4%;jB5{CQ(56#B0m~ zG{>Wfz@ux}C-$i}eWHhsEb}xk_uzS;&gm7!sbr6S17>;GTeG}7F*v58&RO2&l;xb| z;jt>-C}n$+#Dg46rJn#6rR0MARU=gsu2ThDLfIY?JKTi+|8`CN6_ z{Oymh=MCmFD?iWG=zMbvp1p|~o;b}sUgppYPvopZPWXK8ZgYM}N-pMpbUOMEVvc8+ z9+b%MDUTPM^D#b#ET(*I!MW)okAVuBE>e%Pop`>HALKn0)A#`gqcPJoF2RH0hYvHc z+oo7gpKW57C!lSUwRsUQZS%w{)yv>up7-JWv*_lGTkrmzSPI>3d{3Tpx5-{;h4B&P z{2V+IAZ9kEj?M5K{7r}=cr6}6dyMB%RFnzcXciBSq?fg!?`Wc#2oni*qKr>MJ9$=S z{jXtvHf$O%64H6<0A`1z#D8^yc)fFi*l_*tU-O@?KbAk8bO3fQ{OMRu?lQLcZT_@3 zD4R3;dX%9(1^fK)cq(rC)7Iii`nv=B`JME4b@ZhCT@~ilHh;S9>R9+!3mh3@j=5Ak zN&JsH@R!^1Un=m&_NTqx0yX}WuGAkk#h=a)9cM%S^n>2q`NsCA2Y8K7UYr!$pMJ76 z+@JpTCoYpPFHVyFw5~%ee|n4{q%nVb_wc6q(-Kj;oHt5;I?%0rPKKzhF@M@g*4CIm zZ7FJV`qOPksoL&5orT<(KYeYO;H@!#`p6$FS*JgpY}WQ8ub#>^(`f$mO;I40KlQvx z7LfAoJO6k1(-+@z`cr?F)1Tf%&o+O0HJ<-F{AtyjrpK!^s-YC7Kh55oVBPD~jUS{x zJ&_-zKW&2tqd#0vG=DnkOcQ&gKh27GY4fKisF$WcEfC$D(Q}^irw^c3r$3!bIZgAY z7ocdv{&eNOgv0cw9jE-K{aM5Q^zqC8)Ah&lr|o_xU&r&)mYm#W+|1bys96SEDPW-*EAjxuk z!QLDUlN1^40b`A}`2OOSTom`6qMW(jJko++WryGKTLgTjgullQPyDI+ac7`e|D%!c zv$-hhM>(_pwHEx?+i<{5(LXK{{viq96XneFW9q<|I{y{xS*@=(pK8*(VSr6uKkkm; zw^kTUa1qLx^rlY|pKhX}q+v0b_`!;!96$!sV^1BG-)Oolbe16P4|A;$j zy5b02WqmU`Z@hBzd*V-Xzl=*A^Xs+Jo9g3k?xvMqoti-hMrlxfIu^vKaOu@)l$S<% z1MZ`vg;&?dhcKAZ;Xm(_WD07bp#Z?`TEf1Jh#1GL|_qasEgzn<>jq0j50 z=HI%aW-71B(5cfjExrbGPX`V1yy@Rve{qxRCk4VqS4-395LmRpIV}+tR2r-9g=3pU9#O9{-s3)jglfEUE5a5iHs0Q5qYjDQqZ**M zjYaRtr%HNH-5}`Au+w{77`@Nk1A1SF&mwxMKjI4&D~t?ZNis5_4`(WR4@i2G?evb_g@QJH z2$KHp=0QW1F^-f)$Tv4Cy_)_ldWbY<{~U2XJ>@2#v0a;Gy67gJr!W4C@N`S?U#Wk= zUxa`9FTyYXi}34W!K?AX>ld5jgW2s8;#MbeZ!h;AzW>o2Bv8CH7mW{|i*n|81YRK( z9X6I~qnu~A&ZnacilCS}@~*}&e+gdcAJ-3ctu$Okq_*T#sVe>v+SjD|BJnN9GJRBh zN`8wi`At2;Hom$mWQvY;9`c(l<(G?c=J;x@1)ph$_e8=!B;n)j@RKH*?KgFuZG6=_ z5ICQP_TQ-#xcLG~wf&;DtXp1ZEx#mpumLcU;>>fqwktjTmoPW~NzTBVUJC_^7sM23N$r6^6cqr$-B z&sh3X0Vrnw7^psVCkR}-fp;~9S{Q1z(fc>@y_Dz300eA7*GAqo@Oo%Y-!C$`A@MaBI&Vv5$o z4r$^$%bt5k`09vX)88m&f3W8s624`2NI{>%ZsKW3UNy1ge=Jx$4EdMG!WY1c!@yS* z3tveC_!{ajO?|&z_D|6F(C-*B%Wm{;WD7bgq~3+AdwJ9B=?n`$F7Y+-pVkEYVdGbj zmMR)m4I3&Fc}!Ef27#)TMr!}xY`3RI>T_f8?am5=Z$N&cuekpDggDVBFhv!be+(!R z9mW^4NyAlFvO7!QwhPgrkJM+Cf*W>{@u7xM@wsQ+{|dm}WnUvU06Dkgt0r+-HSV&lcveWg z$E*GG0)0Du=R9aUa(w+k`uf5Bh5Am9{sVTg!>bI=LlJH6p5m?`%UyN_HfS}!r%#+f zK~CF7UvMZ2yHCW+I*-1QDj34h0PIOSyX)L1&H-U@+O3r}_%X^BCB)6SE(_(Wy^&0ypX8o<3_#}PBWiszrsM1Iz2tTA!Ov(9zTD&QADl|_V$5Ih9g+fE&hE?U zv9ddG7G~GG=e~yo$t5mpjrZ-`IX7qF8zp;@NAd8}Z2(;r0L8Z}fV(6>IjSOn0XBdh z3IHGZ1FiYMTYzHJ67GKvKuW@1j^yg=P=*kEF=g*TLLLul@?`<~ZpCT}N~QvDs{%nn z2KlWf!tf>+(FK=53ag1T`J9et78T@j0CGuyToUHxAD}#l>tJvt!Vy*zp%P#e0Q8#R z5};Q8)^VDo2W#unXxbXkKQ7RJ(lSG=ssDg3dHm@oKwG`NhWJ~b42|#}jWDwE$$IZ| zU?cHbc2)7O_-2NC?kA|9#v+z>RLMs7=$`Zp$+_9_ z?y}=i7n)TG!ufJP!J*9wlj77-V(vxYSu5R-MxhV`LL?i*RxCHcT}ERY6O(L?up*05 zL^A81>jt*r{=DuWc%zfO;DlpI^~+G2q%^5Jg*6sud*Z*R%?=pA&)l@)y(O>h?y`^Y z!j@6|b+8IKxCNhWa--1#h!vXRb-`!2cngpJYH%1p>sKZOry&oY7{>>=uZBtlnj^FM zWc{2!k(YY_i37nxlu)hD>-!IlZ*I*8&ZiGPZ72Xwf!s7=KzvgqgOc=35ufV<+)KeX z#^JjodOTj|b^=>lF_9<&qP%(d9=JQN2CVAm_R#$2X0J*EC_X{-tM)>H|K4o0Cgh9W+Rl80Mn@NnKnIlGgJxO@BYsc5?Z=ypG3d zrB(6Tt$)lxjoxW+@eg95v$XzT@xQ7Er^faC3^~ut_#KK-b`d_f3E6Y$I0&-%o1UM& zi{CgaK1r|D_kH*^dhf~l{EHrjRE;a}c_V^dO#x^GTlz4`z9%%DCf*`U6N2fi0NXPjbxP3-dVCu+rq zX_lWy;)^$4>_WOxi?16cGdA`j!B1H0>9ZSeKZ_Q}dw&sz$Zd^bs1>{!d#=D%9RI2I zn8XNaKa1PrH^S?4-7LYy1&4;4!DWl|`i$CC!KXXnmkao_9q=r(;6}U(lb7a88o3aJ z`cn$g7{>N~@RPm{M^jd5-#Bk82CNd_!|*3fMc@cEMx60M8=^8LgJE6gBA>2G)DuK` zu0+hHllqu2j|iC8pP>3&9T+A7Nd83`44PqY0fNUjagNzjIiNVTbg!$VGoZeQ9qAi< zt>B5{=Ptw2rLiTJQcARVnCRgrsp*#r}gp`zVzF+MgbkXkVv~hT(f^$hXkC1=@MY zB(!A&#Av(BMN*=@0!iZ|ME?QpWmE!apHXPX3$%l&xXz@Wz>L@845y9pYCHm*ehB=0 z#cW3b{w(q(_@7Uc+*Uim={>;dhrqKG_?MS4Q}ZnF?hM}737#Rq>4(5|(mWFNLIK`V zf%}tg#)-7mM7Oc{7j9`UG6*I`!CWO^Mj>BP{QP1hp&xXZ4MKc^AgIZG*I?n`<}}SW zD?>_>&bw)PcO5@Q`d$bAZyzU}1Wm0i`~^awpQ4cht|?BIM&Z#&>%^Kg7HLSQfJ%VW zA0CsaDkrgYPC-7JTw?1+D(g>LE~$M*QLFcVm8cV%^Z-%#Q~J86SzQt zQ3=xS!Xv=xhrl~1xox|Ym`%DG`2~7wvcNSAKF0}8?*UFf1b#rtY5{|%3}bNC<6oa7 zvBx{Xe@S=Of|j~c}swzP@l98crQ&gHj2!)C|IC( zTdPsQH$}4`rli78bGLqR6cTbsJE3y-0>EmVg8j-z8mTo4qUl7^7 zW$7O~3IgXNn|l4Q{yxj&Tb#a-HF49bRQ~hs+$;39h4K9^GS+hvsm;4SLhUy*(YOSkDPxocdcSH9UDIZK`5|KaFcHa7LfsCKy-wO(Gh<2wuNxHLU8~rfbsKI8Zz2w>tJ!IXt_c$*V6&|S~zGz zB`ekqQv~-XP!cJo3P^#Yd7g@wr z8&iR|vC@gUkG3Pz0w2SW3fGR8|2jX{J_ zD#}`8T}_yxG$-jfo9tX>51@$-&^yCHgO-R?vz?(pH;=d1Iy@Y-VOFUq$znhRdkf1s-zdOUX}#>@{$0$2~d2%R9J zIB+6jg3Q{EtWZtp{m^@%Z$s-t)z;`$&A;&BRoBdE50dv>xhfSHS~aUL#vy z{O^M7_huch`J2-rs4uY{M(a?dNLXghUQ>+4)4d+wtW@Lm_bAMLFfDm_+k1S&QhRRY z_Ac2Yg$K>#!u}(I7N_P+*U&;mdm}Zb3nnv1fJWG)?WCI68Rni9B zW$)tI(8b&0ZB&*7VU!@Jz~8=tX2=?d z8jpSw2&pTbk{Iv3UMsyh8Eti%w+IUl?OqsB*8s*HrhQDQ0v*gBbmkd zV=NZEZ}N6w&=`)6ID)&modGWh2_9=D>G}*Zkw4HJ#xXF9U<;WOL=JU#6F1_`U99?* z#x^SU@Apw`A1|I%8fz%$bIPfdIm;+#6Xm>2IntVvjWMLGuo&?@Gps+2MgO@|e8rO1 z53m~O(JKo<%sb~(&oBgb5rkwbXSCPQZXRFrHKdkqtb}^>EhNF<0vx!5fesst0sGjq zY|998{R?R=S#3Bn(bFw1x26_I2*TuUyrXDUKa;}l$Wc@b4SV>N7L{PS2V>Z znx31itwvG$bJIFQc1<3C;y?@+<@b=)a;D~Qy^gg&*sJC~XT327_Xyx{4zLYML~Y>J zJG|%CP@?<994P!Cbj!o>4|X;eUp;SK<84`2nwuEU5RhR(c1=mG)hA$qm@6pAu8@5K z*Rh+vl~j5IY3-m?Z+D}D}Xrzi>`AR;M^3t^QRh)n$n zlLzpDch>?A%XIy`4;GMlG&XEjfdHCsqZ?g8bj?SB$-3)m{228H8DvV&yD*aRyRK)@ zT4T*#R_QDM#C8P%8;hQxc$Jig{akDW@<}+4P%)ot(!FrF8+vZ7cFq17J+Q~$=REvQ z)|2kT59<2{aYX^wKs*pGE#MkJ#VARGxPU85J?gIG2*T(3bN4^bp?`GhMS2WnZE-(-V6VN&S8#IX{d? zDdz{Mpe5&W^{Bh9MG|s81tdYvcc>Rw$Fq{Rs-%$f_3AO;DzTDYD@i!%FW{OcQ`Mqm z!1avPBoA5YiJN-`P`zF~W`MfLdx~80RyPN}Dth-?F29yZ6vXLVhJVRCl z9!^(DP+RTlMNg1mOZ?J}53V#Mz;FQ+7=@2fg#)g(Rx(*71;YeOe<**1m274u<76`6 zI#4HyR*RAW*GGs@SRKbdYlcu5*!K z9KMt_0FXL(CUT9=0-~#c$WsslEQnGdn`;F@eqQP@l64rpLC)9=U`%^k22{up0 z4|D8KN+z5ER|l07a2;o8M@=GhZ!%Eg#$&an%hgP!2N^Z828?9u(O0Kn%l~(c{EBU6C zTxlhjTgg|gReXcUARS&RQI7@S*WE)qGD)YQ+GvSb-m-b2;;HrC@bFzo|9;+{HZnCfv$9e7dAI;97-*Y@Fk*#(4s{#zq10F9ESs zK|E_gBw7%Df_P9s^hBFs|6;eqEc%7J@Mx^S&=jpuUdD|z8(C-t^vt)=%L@ebeNZ1v zjmb7uSHBG64Y=M%4wD*iZIb#3$*osOR8#F*M^8ZbIDR4Bk~@eJn*}|uN(Wres-$R| z!?73a%Sj~FuBR!5eh;KFk-BRiOTK?IG(JILtkDw=T+zr3rcmbLu;Oei6U_50d`>3Sg_*C^6aCNnk8CJ53 zmFz5&0auz#Rl827RKRs6NR=FCFkgLo;>UOtJHlw{xwkRLNAa6lW7fZ!<7vXa=6%fy z5O9?u!8m*=y8$4*+f?Klc>-d*fS9EquC*Y(wjjyGbus~0 z5I<~i{-ha%GvNACEJ$u(B;T`T#Pm0V>d->{Oe zS;=Kq@`N-nmNi>&11R`L-m`Jk0tU?uOhl6PClyR4*cC2zNqrB-r|mAuJH zUT-B!tfbdUUTY<$thOyGAntBmAu$WjkDcIl@X7S;<0~tac5flyNJz zzM;B9Zf4aTv6Ge5c=JbA-TA_Vul|yAv7d^BRNdp|n5sJrxrQzv+MpAHYr0TDjJ6<3 zZZ#qL5ybff;ZIulh4M#(=W<_u%Povz9`ea;^$>`IqK9vz5GPrPe+GcGqF(`I90)P- z&kBe-fhXV!At8xhYC&uvi1!Er*PN!ILXYlEPxI(krQ>GYN$Hq&UX`AOt-tgf4KFm~ zt1k$7(hnpr+I75VFfEoOU4UnE*YPHiH=6V0uH#gZxAjK*uH#6`^d~*`70uOKW7je1 zNydu}$!t-+GoH;2$u1(VBl37N68rI~MzYA%fmrNP_70$b{ee1%-|~T8>{X6&?p4xK z`p2O*sCyy{lpc+bsdFu@#tK5Md+r11FpTs!(FXpc{VYN*^D4@OK1JRJEAMg2t47{} zpQy>W+?|y7D)PRv%FUv@$C39F$4qg#ODOM7$xX%G}dEzeTO*9o|!xgH?Os>qxIUK#QNaZ za((bq+j2?RS9vSI%6Sbnbu0VNMY?H6C)opq)5agr4&O4&<6j+sZ1k?s6@Ej8FWIE zqKOT~7 z0|dM~h(nga=fR3qr9^2~8eV^}?{bBTfy{yugPi!^WPOb0A4gpSyd)MeYmK)Ck{zeK))U3>*#Gvu*itIa zrkx(FwpAr-*|lDm@yzR_Otks4qZy$`h&6>^?=@az@zg^cY^GJ^8a`Imqvr-=?T=Wa zU1fBC45az{-~R`0y63HyAHg1a*#!>~$+Xqd6~PSD_OHE-D%9S{{a4ZJTH~cb*f5c5 z@QYEj!XX-#2(^}RY%TR{uAJFGsvn$JLc~jrShGHNx0xjro6&iOJByPtX@ieG=snSm!&kt~4GBlFE>+-jm!&l)qd~q;*)I-0ZJ`-oVYNFGhonPm^ z195{uRG4NwdISh1lglY%&l$mcas&P!Xm5?a<;>6-hPX zE!}NFM{IX${`LtVK7%m6`6h^`k2j3kX&prze1OJ3g&9hAvU!FNK>zn1x=tX0obxO2 z-To>14|gACw?4 znnp9YMuVvs#g(1Jm-6D64^OV>dIqqvPsC5Z4$p2@3C2~ zz&J>}p^E~r9p|IpHd>}o%Pm^v-e%fr+pR9h-y#c16pL{Wr$hk~B>y;KEHo7obTmAx zX^j?7+Dh7-92!dvdhs$z2h#TuLh3~LoHC@ylqQ*!7NT`VsqBBCu(5>(Gyyo#oKq5@quW!IHPhTYXP-5q=Rzk4LAwI zX4^oS$H-Xt(v?w5paOVNX*~2OcNZ%~;ZYDrrSWYwag)CcdCTw%+R+IjzxyDfmAG6P zO+?Fth*UdGn*pZ~$ls10huVuEjVl9$ne>kWH|rF7VOVAEKe%__0_V`f6QDF^ms_YdAy)`bOF#yzUzuZIlQ#xM@Z*(z%zA3$;Qvvmm>YOe5AualM;!;X#fy$K9Lk(5c3uGjEES=5k*?kL|~Ea z0wM=L=J|2%0HJ9)7%#8!_C!5+P??2lv=TRsDx+7hcz+R*lT2C}LYM+bxRz+)o(upL zob@=yT22u;>SuVI-$y*2Di!VhgLIWINx)8(>H}I8uu6iEO5+I|A~}d-e2%eOB18nq zJB%oPy%JIM^Sr1U46#7)E2Pv9nQX5u;W-6)W*KQN1BAc`ganq#Xh>iuE7;Bb2^M!y z6;>Fxx+r=RhC}LAVI<(-JxRrWTGrIZ9!kG}NVJE2Jo>`(;?Hs4m^B`qw>Dg!s)ajh zQkb#Fqcq^262o8oc!I-U6gBQI-lhR-n7`O?f26!Iov zWphlw8VVZbE^cJqGTlW73XF^9F3NgPLkV|5?MN+d3~&PPe1(AH(0b@IN7>xPISN?9 zwNMJ}a2JaPv+w~Q#a-B%R1P+jyEu|W)3CdUAr|%)d=oi%`Sn@U&fX#u1gsq@We;d-b z8;`T=+quIU*SEqb`t|{>7+YhT=?ol2-#+Osfu+7Zz;M()6=)x&I6d=FN+=F~!-glZ_3dF2&0p8I z(x*{-ll867RJ*|}vkV`92!9RdRcW;AO^k?vh=!1;sQ&X1{d*DCF~Ohm z@6^rN{rgvu{{3fL&BEcT@0Hs;#7@j8Frpd16Zm*UGvzxnINZpX|1z;sFq6f~ulz&F zhWQnba%zoM6ayejp1AE#A`l2GjVhe>py*$E^bx5HpTzJqE9A$U@mQemWv`0m!b&44 zMT(7(z!CQm=EQVVehBPBH};$+g5G6a-*a8uOYOiLk~PQ9W63SrcqI$PqqYaj6Zh{k zI;by+T8*;Qc;=BDP$&ydvmp}V74=0Q&sg2HHJoX<|LoV!-halk?07~G3ZPw4=66>| z=|5-RP0g9V5>x|D%snkCE=w(on8ZQG5zMnQ=0$JRJb5AN;Leelh$1Q?ZzAriuqJHxQH4BBu>0T_ zX>1zVC;kJ4jaQx_cB_ozo}^#a?gQPz`$VbVQTxNRVm90c=2w^%yeTFoG@YsE;1?qO znCDn!>X2DS&)+Q(GZkxIC)Hiqm#p8KuPsJ^BN%hkO)wGmD2CoUQ8t+@o`03mq2~6J ztiCe>{!sf*;1c+GxKB;Tb;|kCE0O)@MF`_oJ%!*nf_~7r9w+5gsc7#X#CvY~X#L3x z{a6D)2oWa20F}wqN zLIF#-e=`^19oSwP!?KKQ^Nh-U&72+BOoA1qAOUo>+_|HdU>mBjT_mlz$E)PvZF2Ex z@gt~&d$3LbT^Y4_rExR9Cu?xPd{wANA)*7cs@>-XUp}Z^eDJv^e;S~D?5ca5aYQiwq7BE z9;ibGSZ}C5s9(`QfA9w_gv;^8K@?Po?EOKk`F-owc6-~!F%AveTZbs)h2R}g?2So| zw72m*lWD}>R!)p!Z;+7~+a;0(xt@w)Z|`*?xrf`E6L|fT1RTZQ?pDCc-jv`S^Q<7k zC#3n{*Bmf}+Z(|izP8?d*VA17&58Q(obzdU5v zl-^`}>v45VdyBB2=26PVupjhI%CF}%xPDoFvBN)$u>j2i#QJ3}k5piSwCY@e-WBW3 zHcJ!+63reHAsS^y(cW)g-he%Bq7kvQ$1hP(A+pTb3Jku z4`az@%reqH-z@|{AhaGC#XsM~uz#0--qFI|UwlQO8jbkpX#GXYvdI1-g+&_KU%XBG z#d3ZT(?8Fk($j8?Zx8Z z(c?55B4yvS-sG6i(@+bcCHOW+d=2gwrt$Bg+5ZNLHHbPszZ=adx`kNw?`PP*&HkI& z?Y}bT@a%u=oJjkh`znb%(*8H|2)L2)!n_M3?Y|wjp=tl?C{`)j0>ilDNw{I-g-@6o z6L=m2!*;{R=O-#)Y5z|!T)6$ura4BV_J0z=ic*I&K5t%*N*cHSv3C2fdnKCvZ#+$r z>#+Y)6gGz4Ptt<@-$TE`{@XX%{uf@>bo=*4DH~z`TVMK6t{0=s(wgJjA2gXyb?BPzTUb z5qtbFo?%7*u?u^9w)s6)nWD|_ReW0-dO`dX@olIijVmcNc=&!lJ5C}A+1yxZa!B(Q z+RH30hBUw;iU=~NQ(Fsc{xP)TlmS^AyB{Fk0)2HdKaqqv&g{>S%K(Xg z0`iGj{P`jp=|Oobja%9iog@|@V4juNdHQ@73*l8GJ(R>y_c{eTh+(Ov;*1iyZ^c{umPVXfGe>0NkI)21YC_RTpRGSDn5sLRP>#~xuM1y zaEE_lAAQS2Hg~!*(Fz!m_J?MP6@N)5U`m+HH2WlPj-uT~*Dx-VhABAdM$F;u}`&D>w;&#-^j{G~n4zlc36j(Xk zitvl+3yF^^GwPWb6S#nZVKd>=mox<|;VKv|yt}`ireLBY$FI430bcC;qj>}?N-fi( zY%fGGk9JNDs{PTyrKp2@`!pb-{n0Q{5nDZRrJB{*w>62~4iFWLw3(Ixm<&f}|ID-K z?C&9$g3f+#8U3=6ec^U=_AqE?|LyEAa>h2+U&PuU-Q#DKsl(8yj##P2GZ|vj_ea-` ziL9IZ9}(Y@X7&eSfLI41aDT|Z!s_sh`A|{Q=0nZfkdTBUO0+qmX#U{AXRK}|+WRSZ zkGdVCn6ddMbmkUg;-=XU$sXL%9@5|C&9mZ(iKltI_Cq1J)B#dZexd~oaL?k zrMxI*xqZa}uq@k(@y>|&n<~;SGyZ1paITgEX7tYKWhc{#iX8etsKjw(} zhzRT^^)k^}X7{I~^=xpZa(6_FyR8874e z9?IXQ5ya1|B}~YNtpp)C)?6^EeE}*9P|A%))A#M@ZGc@U9XmYel$yzfPPFN}4Ut{n z9djenTHE@e-QI2EqirlwStq(cbA05(Mc<-@OvSYaxJO@)j4^(>g(|U)Ul0y$%Cmyx z`Ht1FrAIb-{E}*?JzQQV*yMFF3M#=jQC>7WgR zox4G~V6?703=K4WAcT#_z(Bfr7g9u8ADAKY=vFzEmnHLZYI++R>Tx(HB=7 z_-r)RZxA%rpnC|TF-am_-a^u7(N}>FwnXx~RN^XtUQ@H_3%zvCskK9T5V zNOZ^B(KU(RM2U2#^y{`Z=^&A=JHo*)n$_rxwh$+F>F|7d3E2y`<8hqaW!ytBLO#&# zwmA?g-+sa$8Sxds0yp3UFyA0*;aOTqLSa0MIJwIxP<4}hnrgpgzy2rf_XsSCk=cgX z@4@WDwBIvkvHgCK`+vOsdIB-+ch|c@pC4-8bo$D~kQbOI*(>TurdwB#ADH{l5B+5Z?uMbWP%SfinyXs4K-~9)HmxUk_w($aFWcl6K?% z_{S=tJChx< zeu=b?LK@4S=T9^3S?A;~Bc5Pnd7ta4tR~rWd#;fE@zJvGRR?VHIdpseAr#Y|xA3dK z!=5ke71f?ELiXX<^ZnPbJr9T5Z*YA5zu%tks)%XN=dKhAx%W?7`!%B9{Uy36_M9Nm zJ#Rgtt6*NY%=NDH98b>Ll7Jbp}`B8~0iak%1xLPV)P4Lf!5?vH~ZX?mH{=+7| zCh=SUj^HCT(DxT+uJiZ@B@gj;%k*U9iW?uUD50z23$hLOZNuon-#fVg z7v0DIQjqycu6w~+E&G6b!J6Do+dSFpXHCm5`^I}pfxq1u1*He$3;eCmc9&%Xs!+#w zB<|ubu^Nd_{f;}_#e+8Ypf^=RQFqx9C{{qlaO?gqBlIMeq$mR5%EapC8K8Q*T7@#d zpu+dr$5$3)Zz$1$$6dCE*aJ1U{X_{yx&tX-WW2jf3T_8-5UPmq-f!Nw?xg&EK-(!F z1~>&o6_s9a5Z_?+H^;|N_h{MG?$X<+y6pGecPvI?sJ~sNpyEe72@;I9KoL9%VDkGW zxNk3wqatdJo$Yb$TOwXzks&^J-Vwn+;kDgwB+QEs(w9{Ee*N5)xJNuLc#Ziiih>#O z1>;~}z*D8()s`$DScE!h95T6Fpvy7q_hi0LpZN8jMPF_?N_^dz#6Jljkj2?Rf<`=} zAhWKZv_9V3zL370L4y-x2qC=yDM@XpM&Le&NP8oJ=g9?-f~NlKL_6mr7sxIaTiwNJ}^w$?fM*X|5o^YT#Y@`POpW?|e)vXn6}s1MIu%R~y~^#EGp|Q1a5izVoQw;nunO}&eGVe?Lww*Ax8jXU z&nOv)WIX69?%;l-%{+|2k%>o5zX&#hZZF#(L`e-?c@wad(%3{Iezbz5FG3UV^1h_pDx6&R>$taAFz1#(3~p z$bpyiYmB>ElT1)nKDWmhns(idU;EI`2NuKyZo!+e8P(g1!eOu>y5p7HkJ>Gi~uY+gjCeCO{JqnhSb8sWMF&m$5=4DS> zU*_%~*OEdauUv*<0Tm1eE;k1V=J#ZJSe_q_e-7m6(ckw7$It!TM;`M1)$Th!!#fN! zGVn=q1H}@Cws^<;=s~ldVE8sPzDN9+aPlUb2<<{@`qsgC_s` zCus7F_hZ?YeZMlFuKR(_(1uj9@sgbJS!RZBv)I+CJm39JMQ{ZL;_uN1CRU-W z7aJr4lYezj%T0D4JrKp>J$f5ihyg-dM0=pfc_>0F=?NaaW#}bbH=77`8JOtJz?KaZ z3S^v{>OBVqhX4=#J1>v8M{J~am6dQZBDGoHqgw4yGWK#lL; zCksIN%uQOeVTlFV>%CoI`smdWu4=Rhhqd;D*fCJg6oJ`}KMFmsVecdgRFmi_35RVu zJ-j}^-9R=jeB4xWCVIbv-VQX5$Nw0t?ST4+V{q%w~iJU%!^&JE)i*{B2XL=w6prgo+ z7?ceblzmP(e%N5g0r)IjF{b&>O{A_Q4_Bt9(eSMIJ{rca&2lI^Di!Sq<0oas{dMRn ze6480=0PuTi6?ubx4))?JA8F&?pECSiE?!R=TQ1h_V(8FwjLc1fkDEgpt-zGYK>~*i(t?gz^(~x;_<79-WE5z#t~P(wtSy!XsM70w|5ph7;f*y^J%<12(7#e z-!CHW(7hX@>6;K7R1nS|$-_g%s0)E$;QumZVJ<4xx3FAZdX!B=Rcmnj;+wwF+xNI( z{?@p?S0V@I59mV;BxLAtH$$~_&+pMn+ddYpMD$QECi+GOJra-$Oh~+^hGSB>^{AwQ zn;HaWArJ9+F3}%RY4k~|rKx{8hf1p+1d$dtp(uG$PXqs~u_BVz+Y zEKGk_C`oQ&p%4E-N3++IKncJK>Dhb#7Hha9gQPRRV~Z}pu*{$GBOZ*+AK8@^_?pB| z$?q}wk@OHNHa-mc9u$pbBJ^F(hrl*IV+R3x^ng)xFX_}U_}EP)9l1Rb^CF}{!|=U7 zv+TuG2w%=-rVuKhH0E1y^oN*-Dvc5C3pWI*q?7#}JN<7`9j_27hL`%4SxM|4W0&I9KdE*FHQQU#4gXS% zui?SCCXAZ$a_X-=&0wYLJvw=Mup6YVDzd$5X0)BfBP=@20`Oi^to+ndQ#$KdpM$-w$=Zr}o3Z3;n}LvtLPaYe@CNt&RpdT>QKFI}a%*+wqSf z{C{i-$B+K^%W$U!ym%l1C55R<{!WQ)!aw1a))nV{9= z+kn+Y>9dzn6*2~Ah}cCa~hV5DzJRP{2RQ7X>G@8R;7M^*V#9zzW#e@pOS z40To_@Ha`{c74w%hcHU1Z=(oh{bsAZEPZIY{S#hk|3Bfxv8fF8crYHZA%{o~S023u z@qWfH+xtPn-}mpqzwJ8~PIo*0EW-cUdzNrOe^h;b0B%<{yQOa*pnszs6&j;#HkRt7 zZ^JR+-k@dHYT3Iq_uyR^uwWg8x;53OVIgO)p%E=MHJkA{b!#+Yd1eR9tH4f?YJW^# zG#V#Vc-(_AhuJEpK>NQXwvw&^96T-0TvAQ~I-|Kn64u@kXx!Y*8_NlgXyc?#c4QwD zMJqO$GUD-IMge=kap@B@pErF9`wGX7t5NZ>Gne8&9JRci9pYqX~B_UU1)K#LdH; z7$I4x$LE@S}@r}h(2O|3DAcj)?R`Z@&OBzmxI!b6wgG;}#d%l@6V1NR!;2?e$% z0MeDBPi(l#P%BNDu*M%W{CD7UD;uz$CijzuU^dP3JNFwc=Hu3b3Kcvr8kWh{!S=}-=M{BVe&e`ryHrL46{_CTg$8iSy+BWb8?ec z(e4p1*U{_HmvW^9_%(mg!JuE&E6q*LKdAm8{@&mQtz2m%> zqQz)kG>*wb(-LiG5^Xeh;WbgLU$Z;K2UWcIn$FqOf{>&hD9C=#>oU$R6wQsLxILN< z41=ux zGN2?R09c~Fj&_p|z{s9LDF|2YX+2i<`@uqNHJ_%Hie2zHeBn$c<=Ed%GoPtIe9)`x0KH1Q_js)B$oUGw-zv}}>T80}m;R3Z-Mo3u z^-29wAa-J`^-HV|55)R#ZgS{D#uyVHJSCEh0BqeUEzs&=k7OaB$9fPmpS zLA=~K#Ohi+w!!o*##gt(mHV4F|Lbna8~#H3wF-p0B zjS|%enYWvRg2yWmM&iMUyCA+I*!vrSN#c)qzwImWp6yx4oH+FO+R%DvJA@u20JPBG zT$tv!UlVsJ>pvp@iPfDX&o&t8zpG3?u859~uOs1uZOU~CV1_^hW}m=(jfwe}4}p1s z!hFd1`U-s6CcY;LU%tXe@}O-G+S(wsQu1mJFyf&xdDDAZAfVQY+j;PyCEs8t5~=O^ z6?%?+{sv#s*p6G4E3i>iVJtwy(>xFRt29@HeT?{$>|+#GhUo%uXb0^mRT%9-r#j+< za+St~RE``|rBU~>*uk_PDQ15DyX@(no1@!PE}BEhU)s~Dl;!wic^rm4eIqeh?d!C+ zvM)qU(e*XLo)%E6`BSdjs_f~{8ffVg6@T5H`U=b)P0UXc=6r=YI(-e;X9$de(%=?F z>3M|jw|6C_vFzz}B@gOb8jv@&hq9+-I~?}3<#Ve&$=oIqN=yF1bHQmj?{%UI70-56 zo->{;{Jkgaea!t3+QPe}0HebHx&4qjS}tv5KV<$5G%pO_4;j22kYY&c&~|mc2KycN z5pwhsr5x67mLmS)ww)Uk@bTEA*!78m=z&0Z`N!qOb_B*yiSBo>DYJ>zs{v3UyCNEY zDgfI1i?2~nDt?^?5n?}Y?e$Uj^VZXHCyf)Nugu2+EWFN+_n~{imuyzTT{!mV(rJYj zf2`l=E*suY+ataM?fq-LZs}&BH_OH7 z=Orax=yS{9l3X(!BSOFL!aGZv<>BLD%^Y73(0s3_FT<#dWUb;g101i3n2k~uulbvd z*Bs_g7x9{pV5CNK(8BDU?%OV+2Y>G(j@R6Wc+DL5f_0cIB3`r8M-;9(J*Vs^Z&w8R z-7Ld3XSvIU0%*9u`2dQRq^YVgW;W@pc%T`~abkph3?pxTh78y|3#Bk1?75YKJ0=g* z+f5Mas)@Nw?)cn`a_I}G%{2rpl-vPCBIJ|Exotl&%H#GBQXYhl3ap9-Y;Dlmd6x0s zb-y13&9vN(bxc8%cb?T=ij|@M*2lQZz5p@@D}I10FsiteCcc`#+ZhOQycr=bnH2a^ zdI!;vy}^CQOGseoGgXk50EP>6gTf;VfhTwr!O}OB5hO`2Ke+=UGxr{#h{zT3lXLYW zfUdcP`4(tNuGa0V~pr@Xj0RTMml08ZjPcm^6IYle=@#PeSfudUkeWO zK=fsv9>~+HO8QXOHFvA`c#Ifn(v;8gnXI?hcut$WvG`ZK(MKmv)?3qx5Pxcw=i3~= zS%vsb3g**fd}Qb~37-{OZ(4h~BOdY-q979!hflRF`%ot+!sNZA8&wZtic{Sy+>`Z0 zN3AkobE`KP>Y&zpI6iZbtUp86kBKa;31XPIrI-wjmIZuAsAUL~B76Mk-%8JGVeyz2 zJ-JPwN6o4}DR$9<)lD)MGfYywgrtrrJ}#D|%Be+-P#1IlY>&T8j!ELRMLCaCu^)s#=iYQ6!o8kmS_I7U=0tS3&1Y*^&62wW zw4j9LVfYUkPt(S%hrX}9%kUoqV&;AZwBB{0=izUJyP076lgW8{=g{+(zeE?0fXUC` zp}g~hvrr7ik+UAkHt1ve&6&1ld5S%3CN$o=eNs4#GN1(Bm)|@(14tQJ`03P3K z4kIJ+%3`c^=5t=r0m{I@kHVVFUHU_ecjS>UVjhVkjTVSxyd&j%dwcM0Su8MFF^@zz z;vV&aJ`$PP#3us8c zWgpF~PQbPW$SL9EsbLNjnLPrjJOZJ1vssGm&lnHAK(!@Gwh29XdUy91=ZZ z{z&6%5f7P-ErTfWkRL^fhZKFRIVXeRl&t0LDVlC0Wt1;-s6NXey!|Zx#C)px)#&+E zeB=N#J~Dhh#q{`-TCYPj4=u7)!~G=ya5d^Ew&*)}p zkBE!p@gBvd<>6!Zo9!Wys~`Yw-z;msoPK4r`Tw3niHF<}H6C&V)f~A#K=NxS9&#Y> zMN@Z)1%PP^Gc@?oHL773Riahaz9?FS@P#io0J4t>iTC;L6%}FekaHDP-<=mVBr;k&WX%-P zshIJQ4r)Q%&La7-i|fX8?Od-Mp1Ec9t;A)H%T@1anK?TFLH*@cZI9f$i{ z7s)|K$;rGWr2-;f6akTs0J(^U{N^2CZUM~TcRSK%G^C%H|M_`)TZZvZZQ_iFeAgBa z=>sxT23-l+B0?tHll2SnknomU_C`cSwxIYCrD1D!+7La42V;zlDjE#=hG59l2A^~q zg4-z^-oN4a$ab@mXmDUo2Skk&ASpXiD?svFT7KjAtOeHptdW?=;~n+mX$~jiC9!=R z%()yPlPX?-S34{sqm@r=pggrd1u&p}5mcGE9`g}QUNFumzy=EZNLTDnV|rb04^9k^ ztz05vD_?k*tD##=6(B>D)19GLNzs1S=n8Wc2hqZz0g8Fe`}Eb4Lu zDil$0cf5(JpMTaa)W4(s3=zv10(P_g+EY~n996MGivGeG4;M|4W)!ARApa*Lmr-%= zt_Je2d3ODG(4Qfy=xV2b993~kD-1VuA-#_tSJh9kr3Z{I+ zA0GI&DDj-1i+IkCfWu%z#B+W~NP0^oVfqk(M#gh4u*Gw3!MSb|+3kevdus;C+3e|mJr64c8s!pv8v9yYP3S%w0O?`w4iT`=j<*bqV`#JJ(uU(X4~U4e@dVybJSWCqTw~B!Jsu&Q)pCD{wzYVD z(7mF?WE}yWFUt8VKO>-%Rs>1DqP=;X6btol+I_YfRAX=tumy1y(tpdsVu)f%4vVL^vGpY=KawUpp7!==m zlO#jD#Q)X&PP7j0*g$M2B0b|hh*dM=J5Qzf&J?VuYCOCg3X+UB$I+5GwjU{sa;Q^AgBNg?OqcMiJmi_Z`>+Jjb78Milmy z$RX%t@9Uw*#QMEx@6fG|@pp^Rd__O^uhx1Jg5R>&mz<5byjfkTA+sxHo`m(hS*aS< zIjn$ATHxu0swqAeLB17;kc<=IUhRn>e^T))Fs!t@Z5^4ckY*d!=s#kA8*@t$U>QB$ zb0XqBKjL`L-#mRg(b7cY@t$%wn&LfKLgEsWr5A{R&(l?uXB^gWZ2_Of2>2{#VGDW? z@Cj)2OAPmux05aCvxGKMA%fyKZ|~v$yzX(vFqERmUaT?iHCA;p+epP+JEK0u9t$>6 zai4>!e}O_Cda0={=S5v)2^=QdN#; z$AYlwzcBHO7VnvZ1$U13Or<5-Zm^OYpphe|Q|mSq?%A7mdtosfguT3N>KDZaH6=a` z%5N@y4@^e)AmYmpJKnP~e6&cVIpaNfQQEGYV1nae3IcR%GPXXz3x$6oxFz0u3`e+N zo7I?pzTAz2h79Bl7Yb|XabfVph;UC8-!u#*fh4$Jh9xR-g~unNK@k>fqsfYoqCiy~ zWJaAu2p$YxD(Z^)ex?Wr75)+n2H>SIdp&3Xo|5CSa+`y76hM0r#Yx1GiC-*YEqlGp zHofXa*z}HvoHoty5VnU_7N~JuAb}N1@Lf#}NS`VSdTK1(Qe(e`54H z&s*r3b>_ca|3}8sf0B^%Ps+#Ce~8pkfaTRddsy-{n^o$+s4M3CnO|^Cho=9a4!YHA zsnGxDN&oNvtNJf+e({2-|Acm~LVM`?557qMO?+(#Umt~!K z_9Tp!{DWKQIXpgd>G96^w($3Ng}oR1Z&B{Epk2mMh~NCr?$>nK1L>-e&1m~I-g9Y~ zdl>PWRsWfI%@yRHWV~h%QZ?T4amH(+2Q)p39N&{m!|?TEV{s8|*%}XamG`fN?=KdM zc+I6tpljK4Z6=}i3r98_uNk(#_YZ+?JfZuc%!aPfc+Ej-ymCVLc!e2nXvlJ_4AQI? zLzdOt51HfnG>^Z_yEB^M;|`cicytUlA)=4)aRiJRjPE9rWa+wVSKlj}#r-e#z63t1 zB3nNJBGC~$Dr!{JMxzE54UT9~(KK1OEgcMoB`!E|RE*;mH7E{>U=rclwu8IQs3Yz^ zb<`Oba7_RShzsC?nQ;N!ZW|XOvILj>zwcDtt-G@!^WMDw@A1>zzIE$X)j4&}sZ-~i zI(HuSYS_hnYnZ)_*zkM)+$(L}LxI~H2BaZV+8!vm0VVUcQFWXrllx0X_op_Hs5$?14f2Zrp?xlXo6eK zc_?yZtPj3VE+%|Nl;`0Th#J0aT=-7?Ln3^y+?fd9-%!#+_=?bj3*Y;d9lubd*FpGOyXazOdfITB17CDfB7D=5 z_~pW$^UDz!w+r7Q^p_gG?KOO?PxwBZfQq*e2QIs0K6VLBJo*#++G<_~TD-pg| zZcCI0e?v(RaMU;n*R*qxRKn{ZX`injF4RsO}k%B?79$NgSlU=+hek29|FGYdbn;jboPVyq=$+@M28e!fH2S(s|IFD`im4-$@jY9*I7dYA+?BW0EE< zb{r!Jn`OE9KUiv39oCKkuVcUXgx<;zU0! zVqQGtpTmx%4C|(0^}CO3xnx6Ofiy4*4V1G1#S1V|-DNkV86q^^iGZH*bpusaee{{? zFTy>?=FmcDs9YCJa}66TVlfIq{gPFJxjO0*bybv8#Xr@7y6cgOm{BV5F{1!)LTy&R zF_=Q|K_l}@QUOK6jGDm=z!|ihH&C-<;>zWIvxY9lMrqMLSd|Rl4%~j^5?y}s`zPe{}k>6b)P}0r)isG zwVNqXLsu;s(Gqeo)0L2mZ;>Wzjsz#8i1%za5*-g1R^rSJItC0c$&o2SXmj-S>J%5b zTKXy}W8QEKIV%#o6p?|W@tZr1D|7OV*o7!)i^R@nT5e=tjE>Ka#Lmh=yBHaeiNb6Y z0>BbnIVt5q+@o>{u7!Ll7x%1>D{)#53G+Q}^Q;jQC?db&>7}D8_)`*r93ns4tRL*B zacg({#7hx#wY39Fndlt5l;(D(f|U0+s>+n_Uyo;vZ6f9xY(=C7e#EW!q(+-{x3sm| zx>c^oJA!Mpu)v6o!Y~WWa{L;P(G^%ZkFuRx^mJaIGaa~v?Hgqwqh|jIyaso$Bpq39 zua|kIqX7ry!|9-uP&PxjS?OL>f={TuW&#`IgtI;;oE70Ko3UBR5E11;%G+uCMq+hY zETw&3Q^X8}a6r_k+E;&NoVfx52D}Tb@<@o@HYhg0NGXvgE3v9JNqxo7Mahyoj^zvZX)_V{A_;r)_8eeut@zXpFWYs{S8 z8xzMV{&5_yacdo}5V1Ma(VBH6ump!kPJwj@e_^vZ_Kpp#&Nr8!X3HB|o~ZRzjOH~w z+H=JYP7td2A31-pzm}m@o>f4KUu#?ZbSjN6kA@1cIDoxRHjLQC73PB4Rav#4Vs2N2 zhpof+Cs;draRqV()l4o;pAX@N)e~nX0&+&2o^#rL$7F-SP71593SbVv3Rr5*lk=wS zcS5XgJ2kz)Crs%PL_5tu$O;x1{Skt%O3z$^g$d^-%y91H?a>-q9V4yMeHa^Xc*_mi zpZN;Y!Nf1Z+X?};Ke;G+Qb7^o7ON==o6_;TU0XSe%;mMKGeh-DarSai@xXtE8o%me zZVc6~NiQ0>GE@r(@~sO7eo|!qE7aK1yRoHDsCHdC{zFZmvmkKGYXw1|VIjJWL{G^q zMK=0v<*;A_NxV{{HGaNEv+TZ;_9|n?6$A{sGoS#zwgwq!T*7z=}KJ>DWBk79(7|P>m zD74i>aRJLs1GaQ z6EU$^0`&-bym;W_2bon+@8Xjj;yfC%OI^_>?hes6^ z96I~UvZCmig3yNf0CTDNexUACxY!}T19jU;phFnUU5H2v9GGgx6D&>@T=by=VBso< zLc9P9ad_B*OZG-2V&K|`fYgFnI1gBun=Z$m%CsR3%xk1CHq24EjwnY9W?^37hSg{n zvU5iO>(XZ@@_asc5EE0LTXO)0f?qi2f;E##$ibt6k%Ot7 zlpEF=6#ZDM5c$v+sJj?~zc4LEY@b2@SRIZDWnOk9h_NOI`Z(Nu&l&BLGeY^xCl3tA3fl1lD|?o?tfo(BR$2Rk zaIKX-q=Cx{@`DL{9-t#obubl6Mq?w`i_BihA>OKrL|OfOX?qlx~PvD zSfnyAQXHF`b-O{DIO4 zV&Weuqu!m#{B%L|7pOaz{H8Q=48qaQ^Y9zJHX4HfeuUHnMgq|dM(iZja5f2=0Bb@8 zMw+`(c|3t{pgN*PuvrC5P~CC#TI@&=nN552J-ei52O{nhCay%Sgfh&g2VVmRegD0HLLTC?#qCG4stN?98o8Ux>&XuoqF5n

    $ftc&gzOy-w&j>(#Xldwnx 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 z%0DvnrkoeO?!Tt|8`10fJ7wyF1rm7b`HU zℜ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

    ;Aj#|8+r&EPg+7NL?!Es8i#l9?iT`FcVaYXI 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

  3. DlJ%M^ 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 z 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%0A!PL~G?Nk1*R)Bh5uEs?>%tz*%m~6) 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 z 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 O02M|D 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

    =k?Cw|E$h${n5KqN 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

    mG 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

    +wy@ok!I#UCWb$aqo5Y?U}c$LMpL;Hsj(gto% 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⋘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%0D`gE=evBk}Fg2<|MJ%n@ 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 z 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 H7}))PIq7$E diff --git a/unittest/obj/Debug/histogram.o b/unittest/obj/Debug/histogram.o index 0f902e2e4907cb2c1e6ab24278971b2369f325df..7f8800fad162dcae36d4365cfa1a52beaa4eb794 100644 GIT binary patch literal 163509 zcmeFa3wTw<)jvG@TqIh?<~qeG7l={MH(Ho~<#84~X8bDd!DtH|H##H|D5BjDD? zI4gpV6{4Ubzs-r8h47U)G+4NS7H&onF0`!x*Lw-9Z8@Qubu$XfwGbhKxI65^RfGyE zW|S5?a9OxJ3f#w*Tv9XR!r`zE%)!lTE`BUGTolo9B=;j1PVy^tpY4BW^DsTW&r zq@YCSNBIq&Cq$WrBQ(p66gkpI{K|mSHL)i`Q0B(%AlwF5 zeGY>mg4LFTi@m^&v2Y2w;fS7LlKYUa+;EW__Y`oGymCu)9LYTj-1%O)WqQRTxyOCw zMhe`xkASQ3$c;pFTpRd_IYP8pIGAf$pTm(7y&~iwybZY9we(555h>TpjncOlxO+Tu z3k!9*HNYJJ?imfo^(tKG(92NZ-UseYkK96!To`Wgj>b=>uPCBhUO+?^4yhXx^+3uk za>%88EGDqFNq)rzxVc%DF-uv2c`1 z$*&}=mj}t+2HYzixg`z*NP4~zxIbz*DYwL7cuCK10vBu~i9*m($}KI>^+$3~05{me z+5JMe)M4;*fcqFYeUoxaOLhH`-55PjM=7~wp8A{%T!BY!S)sfA7P$CHx#bRiB)7(e zlld(#)jJw4U*MLy<)XRi`3Qkuy^9~qjljTY*(14e7mnpd!liCKUjA}_4HAGpK{@(+@cb_V<0_0 z58OeI++s($n^kG;Unwr~O5%lwuV>iVPh zdjh!S9=T(@?tk`5^&eJ~%n_Ts| zsL)aWh~IHvxkVAZev>I;z*(1e#vg^04}xJRj-O8j`0xjd(>BMVc1=-4g)v9;%C>Z;zGyxr3U<7 z0dAT{Zc*6Xen(dWtZl64VyC^Q^i2Y;#3Q%ZQNHVdD*|q%M{cpF{od*;x5S}8l6wzu zmwV)vIL0{@z#RhaDv#V!$MX#Fd*4@XSpk)m+6Z?FxX*gzmO1(vqDfsS#JwK5<(_gY z0#4tgp35EffaF#H_ieY_66f;*$z2TGD{i?Z1&-$<;&+vwT$lsBy%BCFaKG@#4LhE@ zbAY?m#gE%jiL?I*0{5s3$N4RZc!2Qsj-_o#S zVwCumEyh9Hq};G$9)xfUfIH@q8*$W^b->jC_n}8_q)hL(h~GoN>6?^W=qcZ)fIH=p zTjUrIRe;e^;Idm?{ZVO=!>*Cs;1XS`HLp@yT%eZ+;f4a2WAU@wQE9PbTvq{H4sf$Q za!b6=gT8W0J-8;|syuSb95|}aTY+ov$So_^$A6TMgT8XhJ?-sL;MzQL%Zqh;MRE@V zcaukMxnlyKvO>oT72*6QnI_Hr{ZjlQo<(4}7Hyt8dMvK*Xty@|^&?8(EaH;LC`W!AO*I(3;+^xWk*Kn5Ha(%!-{Eqs{#fxmMq7v>k;3_nJ zGJO!NJy=u#_ZD!MTR3|@2Yw#Mf%Je!+#4aw7#1%?^>=jldOn`JD zB=<((mU`ue^$9?#SNmQ3EV&VPJ38*dS#pc?2_2IA5pYdjxyAa6s~q6ODmo-KOK!0~ z5TpF&xNw$S$3!d1odn$Hy>cB7J~_Y@0e8^C+5KSH`QnfGt@M{$roT`j+&bVM_R4kC zD=Ob67e6b%ju&;5->Y0WE5GG>hfZ>L0C&tIx3EBe;aCCOUf@3T8}mA*_zx6QE_+%taGu}E?2#T{sXuw3wI|Bd4&kgBb+{<+}%%zS94?@ zloW;29e%c@VGe1EAr{{xu@?cXaQb+o4Y=257~613or0ZU$H*%Qvv!ZOWe4c3gov~cj%&ex(T=+eo12KSP_yqz1&V9{7T@C zS-4EXi3-wRu|7ViK=`JmhA289`2`3UVjN~Dabs;2IDZqkDj%Hg@I$yi0=L$SD=l#G zo3hLhZ9X_Xzg6J33Ai0zT$$dVliY`a+waAd>kmkTI|lm`b_-Z0B)xj zhc}6cw6+SIN3Jl$0Uw-hp9yyfa1VKL#rlIS;qCGf8eSB zZpunSyzhh4?GWKM0VnSEly9kSCkgjW;D&l}jtO$Y{SmlHJ~(|mNw_Ji3^B`#E7xBT z5^fW4H9k0fVujl8H-W47;NXu`fJker!1*L_TfMlj{sM_`k=2H{(FdnL4-&2&xO==f z4D1kTZ522_4BVqWINhO(a3_H~>VqrS`b(+@k&6uRrWaSJI|2~D>w!DrgVSFq6YdCb zsb6;2160#6BCV|g=fE064EN%S_5PA@^MIS?#g(}Ad_8a#J~-WO5Wge9t@Pp?j*Ns0 zTx^JqUR;?zaY49wz+L5obLZoF;P!fPAS=bk9%;KpVVGNaQc9I z#fx){?+JH3aBunG-2KcE;6C!=9A5}<`Yts@@E&(Pz+;)#e{lMM8|}pvy60c62d=;e zr;ihf-x1&zcyUGU_8VAhh&5gu-k^htwN>Ce54a{DoVz@(2X31eSE9eTCw@nOyVVEh zwrhdQ3~|tlE7cvpIDNo9<%82-{1NVY;Es854$ptW9RcobFRt7@jtE?Ch*Lf|PyGWf z>nrYhfcZ(+xa4}^a=f^(yFWStT#*+S(H##dAAu;we?BaUO7od~o^%H1%8819#YqE73oQAh|CA_nH@n zH;IU}whEjxYcc-w!RaqL3AYfqkG(j@L@?n#4_pY}jM0`Dx0jad?UMSVmw?Ol;NTbT z>IX-z$N0~S!$cg5;6nwDmjJie2j|Z3oxrX0;v64D5WhEoi+gc}y2AkBM%H2c=fyc3 z9|(5|a0h&F`g|DS?gZ{3FU~O!Lbx}8d)|dxRkiE)RomaMsM@t8RJCi>@Ws0-bEj4_hQpI|WfPqo7{X2E@RI`v`N!l? z3=oi4c?#!KRlA;*;&xRYciq2LwPzJ}gj*OSCaT|)H1MlDAw`Bn!@wDpC${vrZYxh% z!XPvh#9nye)vI=|A~uIrc-5XI2f^wg3aj3A zl!7n)*C(Io5K8nx9F{zEa^Tu$8wO4~N^((BTQg2p4V-fLy|X9*KmFtOw~VTOM=0pX z$$@JQpB#AkQGlO4Iq;HWe;zn!)kjq?RtAwFDhNASRpphzfw!Q*2kxNhg&$UC2*6HR zu(GP{#|=PE4ctya+pf+K18?|HvN**F__H?w6m;azNWh;5UR?Rnp9fxYlrn&{uR&4< zS>?U`uyKa;Z$X1WJqzH@Rp5Ago=+6lfVa2?WNwm|{fJSu zD+E0lRog318GraI3S;17l^NSl7#4|CiZ2;Rg2o>XQ2Fh8&QV!*y>1sc$JpinUJ60& z+LOTTeb3m71Qt|X_dHd{OHnmt!_BGMlW3BAtF}L%lZZl-MvLBlb;#%(ciq*)Klwz6 z&fz*9*Wdl*lTWy+x@eyy^b^z)jz0j16}xw@sBCVFcjs)0)gcO-5ll%7wx^~TFwi3g zrQI+nrJpfG1PbV$wog7W&N?^k#Z<95?PRLB-bnlJRPko&bdF=%h@?$+O~5gf4D0*^ zCgf<2j?S-Pr%zYu9KytX6|U)=j~!FPf>lIzjcm>C8mcEai>k>-s?bcIJ(Y6Vb9?p8 zNDZXP)Ce&F^t9PLph-zj?1oo8`&LSoaqP0^bebHduxPfw4?{t+SA|ga2^&YXZ2R*C zx@gY(awS=aJYPOY`yS+>2VQPIQxu;Su<(;K6NdV>3T9);VQHjxQ_k4f5CLhZ{JDX* z9Y!)Ip`z{GYYa%eVL(dyJXNadb31&Y}QFdp&oQ&mx<8Tz(t|!bC62Es_IN< z^-Xq-MEa->TJ?xX$hVp{yNUdtqVv@=x{71a$6@Fj=T%27yG{v|YA2H;OX9sz-2Aov zK(hdLaoAOMgsWW8*0QEyo_1E+e6c2-1PBq6Czmczm+U_GSuV3g^Khom25S1I1dMR$ z9I{ywwL#h}-CJ!yjVE?dKb^Qag}&~DUZY8fY#Q#mtUh&KbbKRq{#H%JbTUDO z5(U++n&5lI()1_Nktk4E)S4{2Qy?vrU3z(x8pnuG`VFC!;QG{ply!kNX;q=?p%IjG zP1-{S=GD?(GQ0+v*AFGyO-^PZVS%V^Tq9% zEDYMdX0r#lFp`TCWA+uZ{e4S^eXu*Hu>-4)*;R$@ZeI<6PrDBmr_B-<*0Js^PlLp|KRz z*P5VPs@u-v^Az4#PH*aj(go5YpL5WW^UzJ^SeNIPHC2~o_wB4VevH|(3dRi9O=WL4 zu9Ypb4K^;^c1=xvI_)L#tqAsov74`&%Ec2*-~0Ysd)fDE`s6Z0NoooRK>-+z%G|s4 zX^%~)Z|_UlsqRB7EI04}r}qEJlshj3gOG%NS`@i7S-5 z%+(Z?+vfb6?OfV^X}cV@g6sQ>Y!u{WMUZZ+>kwUQHPkysT}TLQ?(|aL9T`{V(6Zd} z1mnn(xWlv_MwHnM^(gleDb^#G^|bx!;UYdva$bUBa2RF>ThEwVy;^YR$4~#gwhK=C z;?RpTHD3Lmqvwd0OS_U7B3N^8 zx;5}0E2wFEf7{~QU$~Q+(4RI>V2_dH{DNIBvP_&h)CY6imbG$lv}McIQ2WuJO$Ped zqaHDOIsCsve|BFfZN6{0cncdPIE26VJ{^klybi3mD)EJYt`~CAv$RmcROxJ^aPI_7qcx&6*rrPy|MMXt)t}O_!-PqU>Z{5&d+nit5)+TyI(%I4& zkH8F5gmG535rd=JRsjVV5E-xbq>gxdr=^Xz@gn`-)&{fd zlQP0e8G|5yH}-wl0}u9E8AMOYAo7>6AG685$}mL6o6uE1t^-zCT{4~Yb9pq{(N){l zR=d6_7OjuPYa5$7ME}ly{T&fqjq#0%*ysB7ui6Y+W5D9fPP{vf(#?RyQ&Dy+;*oG$ zW2`RL)z}e}HL$(2E*_1~FG5m{7N7&ape%|ETH(3F2P+0FD<-b+nTbN?`pykvV5EO- zG#cAl7i)_*wzfpu;_V_-)W0x@Z;}3mYzITj%!#-e6kVdBTGwxi)y46(X8%JsL0~5# zLn}g@%5brZU%1f09?7lQBF4cgOv4^{5DX0FvK}I8>+9QN4I;EEt5>|rZ4#&;4t7^6 zmV&so$C_fb9WfDF-8**Sf&>v5z5r$~+YB#4+=du3y{5m_l1`J+5=j6?l)b^Q0>iNf zzDpWAn>DsBqgT0<1-t^p7ZU^0n8jdyuNf>~w4xv?jQwEnHO0jEeu7i1*PIr#2;(mA<(+(L(D2r(8r=QVHvHPvb|5F)grcWjCX zUAdeUR|`f>ikU$P7F+Djg?c3s+Dq+`dW_T5Q`v8jg*Uzjj!zR;uB2Vm3)X7Qo_nIu z7b&&9;2SCMqepZ2Zz`)Xs5DZH$ao4Ro)W4Kol6xdB~(6=0=Blt;v3sryAtw6s4^J6 zgt|aa6s+UvvRNspo*Kkj^lRyCYJ#bY#>JqMXFrSdlvCcKjV%qWBIADGs=f@EF?e<6 zhq#H-&ESg%aBD4ZX_e`+4DY)D1m2|r5E)P4I%36(!IzDs)RwAy;?%FB@yZxU{cvQ) zPTV35^^FY;6!Jf#qX@|ui?7Z4QI}`+B^OPn?qzrs1E6?&Yj?D^bL%XtgH698YkDSp zImwoD(RB9+xY65`pU{JE2Aq4qv8nUrd|m<{+aub zar+?ZZ1k+A)|L%9eCTZHXxz{etIxq$qz}@%ZD}lN*Fi|K50uF$24@(aHP$vkP4(#H z+PYO{gVC%;6CcxbmC=9=> zsM$HQr{&l>3)V@UQN8u1L+UPEsNz_D^-?I)NG!)qG4NwqXJnQ;Gs1{VNq`^P_nX}Cd=DX=(9y|Y`{_%^6gZY%{3af zv{t4d35nG;-KY*+_n-?w)nF;oW><{V{iycTMq~}4E1&FJxlb8VVLrSUwqwX{bJZ?7 z?=fHE`Wmx~{UMwu6jdB(ot+aWOPE8EI2oC*9^Et!r&=t8I^oq0^Gkms*I* z8kXNJXkhX(ae0Sw!-o+11~H^5*0LeKQ4F1#gj0zG5F%gz9JkIByzE$HHed?hUV5S$jI_!TqwG-rjGas@(kZgJm^Bt1a&E5=q1T`P_)kD zH6I=mxLT}F!a`Mxn!4^fPR6i7DjA#=staPmZmJ%elCTIz;;m6x* z$d4EwA@Xcv9F_~!-}{yhOXAzg^mR)VGuvAt+Mt0HYv5U^~O~-{iaHgOqFcC?W={ZoSm1M9NtOW;WE3a#q+Z=5xec&F4b1i_gX8!aFIx#O&a6sd+b_ z%gi6~d8WCaap#)P@p+bcg3srfXLI}<^CLc2m=P#C<*a$;M2??tR`Pj)*}&&Y^K*Q@ zz`UICRpw4USDTOUd7=4hJ})*OVB8Y(SA1S-rgQi*vyjghnrUAmIm^xYBrm(zd<7Xz z$u2RcQh0W$xtPwwt~K90K<91du)FB|S@Yey>3pMU;5jp8*dB8PpKmh5e7@PN=JP)D z3w*xSe2~w#n?K_77tMG0e5aXu57B?goWke3%%yz(n%U0hubbQW{0;LqKHq0P%IAaT z>wLc7{3oBkWoCbc_#854@%cpd^PIlFWd9ViktxIentdsUpUUp$^WU=ni_d@0zJ<^K z$o?LmKhFM`&coN6_uowCI&&E1e|XFs{Z%?Qm_>ZvU@qnJMzev>jpjB!Z!+)X^JeoA zJ~x@a;&Ze4F`rw^kzXS|SD5GWx!tVebBDQ;&vEl0pF7Q$`Mkya6Q8%5nfDT1w>h5A z*O-NTzSgYf^LDeI&pXU(_Jw-08MhrO zilFS`BI`Ux74gkcrj50?i>%pJFx|-Drq&H2YmOC6Hx%3tZ!%a3;_QbfP(~wNEPLJ% zl3m0%XTxK-UzaWYyA!B@fMfCV8CWduDuF}tCo zEgbPxRP0%`O--$J^o~wV5@7_=WG=*44vTMXLHQYH(>sCG?c7FaMn^V`lVElVd*C2V z)JV(?ItKI9n1CMvKDpQ#W;{aJhJz{Kx7)_bW;0uXWRnpY4}*E3ojCQ#%I^{FP?coV zKBM0@BP%`@!;Qxwqu)+r6wM$_IF^PRdni|8Q(FA0B^wU@rOy!9Y!vVl%$|%)d-=Nf@&6RVOfjtEo&|y;=N!?tevM5=@u;lZ}sph&JsbItwAwL z5##A)a=#mlvvg07q?bXh6gUp>YRuf z@4F4q2G$I?Y@85Fm{Zwb5fr#IlR`w5E#nUEvIWbA=olI|prx<2ucWw04MwkSTvZxhTm_K6w4`1v0A9I<&FXI@`I z>kPEW9x;&(>OcK62h0+F@f)Sz(xL%jQfD9(I1)SO)%cM3ZkUZjuQkRt;X=j1G6|!o zWd~OG`)LQf43KIOSb0|eI9g*PfF*foA%PEiOgFtg#Vbv`;E&oh1JCFmA$`w+#fv2G z@03`{>`%muUi{dF>Ci$FZd4)z#|v>5_CVS}a2rLYBk;#;wj2~((o8!3OV8{JDW!Tc ziE<nI;ei9D2)*1Mw0*QH00f4$OOFG z#Lhx_T1!mi^ahl{@Kq}k+%09V1aZBCflPqpl5sjNT*3E){%bZ5uHce9^YrAHn)@Y4 ze`}LxQ}!kKfZmYHY>dhkVk&m22jXF6V|W08qk3e-&0sBvHz)?ODP*G}lVK5o@y5_^ z!CH!q0}ODR*dw=a7-V+$&@IT!JpsngE9O=ywGu0P{?xaW@Lp&M-fh^-sGmuNQ5}k1 zW|Wvqer6@{EABaIrQlbG0b)EBg@;pn?S@!ow@A4N?AF^Xc}|2qQm8jbbO0ID?Jsq_ z>FUw`uQ1HknV2OH;G!FO=L=E-Uy!Q#g3JM5T&XVd&=MAtFcC2Cr{m|WOu1fp$q~}f zJQzXjfzecN&SQdGk`l^DfL^7kvz#G^YX2pxYb+9I}R5AbTXVyHCiT=I_p4_F^r1G$RM0#ttPO%Y64p{ zGh@y=Xt|jH0NfWh<3Aci1yG>Z0Abcw+A&a!K^F5HhXp@s%nG-2o&G&ed zO~Ne}e+PNyB$aeZfzBeudQkMTK(|st<8b-@vK>#g9dQhM)JNi-o7b1`_;+x$oo!ld^Rfvf!asR>QAfO=uv0m}PqYOeoO zT`d;(_sk+$x{MFN@s!P#(=_Zeq@XK|^JZW?Vg!Fm7Vk-a_QmUC8yZ_M>>w6K`4s%) z8oM+S!?5g?2y_@3{0dyMd5+m&7~(24n-7s2*WvIv;!{ca8yLg;r@$-z2`EIQ68|_z zo*^=}QIhQENd#JSEbato{%VUGMm~puPNQJdEXsW>6?eb(7hck?vQOkj*;K4sjNQuq z4$@-WDBh9a^KO#VBp4CBaUBkyBStd+?W}+k{%I(pSZIJ#@Fa*16QR_AB>Y{f#7IKf#-Xp1OXQ8t09U89s56@jyo z5SP~3I_GpB0`0>(J&PWbgt{2LGRtP#D8Vpw=%W>EhFnvhDZ} zQ2x$AZAjaZNtM0HpGCN^V)~ z-5_LZwFZQj6S38-X~iQExF!jCag5?Y%g$}Lg6>Y6wiXr< z$DsNZQ6>~O>^aJHs}cDxJbW3!5-NeO`s<)^D|isOkv#)h$FB3Kp(fsDl>Q;X=g}nD zVMau6L~+6u1`*9&|DpSQ{6C|M1U7 zq&BYd@oP~1fhZIDV9MVokuFI&G8Iv*68RE{j@cqD!a+>v?Sm90i%bn; zB!u0nt27%R0%Mbi}e&`YS~Ob@3i#GFtYd)NI$m8YpByTr%~s<#-F^bt+h=`he^nf z;ExR0WroLK(Ht>mi*KvM5D~31UfB!3yKuA;lP^V4Ij-0T_FqvV4DNB*dId>X;DCQ3 z`zQ^1;4#cUA*X+#l^rRI6(VIl@Ttg3HW=dsTm#`ZITOI6GMRuMekuvT+kU0n4@gvz zBfp8EW$^c8;3uZ}wzOh+YIekWTbfe4mqJp5Lz<8>Dn1PvD@v>ia|9xO<`BarDN5O8 zJ8+S|Fy*364{@o*7q7`P08uDR(qHq~Z zdqZOr9AE9nCz>+CfcLZDaJ%Bd-GtS!XOhKz$)8_@W<`_>r_K_emw?xQJNSvS=@XwZ zfAMXs-05)2ELS<1s?jC*^aH!p3qNtofdqOKG3M9CX?XS00@UM?w9?YUO_26ATOv1+ zL%>HOIYoGIdmSVMB!9e*-b8mq~*XGu-ZuM?17K*mz$`s zsiEQ66-n|?4DGX}iPplc3`JOj#_=_<`L>-hx)Q@4$05*cOyhitk6+2t7jVVBCFdMKojL!XL}6~)qa1+IaNn;dcs7B=x!($dZ(TB0E$d0|DZ z)=HBY=w|%CH^g@Y;`b2o7h4QZ^_28Oo}`#Bd>Uf#S)*8tNshJHrPf%?ACM1W&wQS1 zzxv9!aw6W~CXAMxMp7@kL}=^`GaHZ6c{DpQwqzuanaZ}J`j4GC_;#90$vce0*y7=A zmFSx{R6jBH+#wGkGMKxVB4^Wwm`S={OmxEKzgv6)_`q|K%X%WWrbU=I1Iq4?UCQnstrR<8^h5@YM#|e`Tkv@=KDtrgYuKMs zB>$Mh_cM;Q}^K-i%QB*add|S{||8Rt{)Bx?}72+3$KNCT@DJ}m2&$13jll( zd*Bd_M4S!^jKNeZMlDYQ@`8dH-y^KkL7}@+&Z+)Jf#iIu$e^s9)!n#0tFD zCM!%13-nD$ZyXlz9f{jvp$KnRcVjo61`p#dde>?@EKoW#D02K^64VEW1+O4-SRh#+ zJ7gJj+joZru=hGFba#u3=ctU3D4CnyI4n?dT@DMRiMxs2b5yXsaaaJ8zBw$g+AEX@ z+hKt|;ISPRs0jFd6bla0dLoy!nWyh?!_|geG^D*8@F!Oh4NXCrc z_wEFrFW9`^XI?!xH2CuJb7*)AJm0hVo+Q3W9U6R@vJDvzWpgeq6QUd%p4kCom;;`0 zXvn+)t#u}VJvlTe5lLJSP9c4_fW>~2_b*Cpj}8r|;YKC$7C5~_-1e{52I8Qr5pgGMW5Ph22GF?LS1{LqIJ(4#{`f(uvhM$pG?9$dkDbZF4Y@sNHH zq>tF-XHoWhbZBsr%WS+4`i~tvq#h^sp?aJheN|v6-ZW(4h92yiWw?hN^p`U}z?`>AZycZ4)il4tj!z9@0LhOkuAcytTTO>M& z3>p?FhX#Mc->3coeh%v{wVW9iB17!eKuY2ZDhj?JbHNvj)W!e8#bQcKGKU8%w{pal zb^#ttu?I#`z4CW>ND#=%WXuFXr6Mx&h|+d=Ap2ruP^`bhLxP!dc-RT-ew!OzSu77z z9(s0oaBx!$e+3pFIvGww8ZEBM;em?J$RM1*!$X2Ka!qq(1y%5F#?GoTB9v=?hld2E zba-e4QQRghOAxvp9ukBs($e-pkUnmclU$h-e}{(z56$7>J&^yyW?S-2e@5-fZl zA-k2s!`x~to`hX0B!=25xh8jbusF-X`8JU5R^-y8_&PjTM7G1j?E4|;X%HS&#Ii8_ z9Uc%;9`+1UB<7$@eejvPLu8MFzp6t(BI*~VsAfR6ANR?A|VQ}OCw=BJlvOH<8gR! z^C5Dh9fz&NX94BU-{HX`w4Tse{QV$#kjU6ZC2@Fg(y_Sz2F<&+INRZ2^ktNLUxx>a zNy1No$c@RE1et-|%D!@V_-=xa$Kk=li0F-W9JUf8nSXzW2a8m>EpQ6H1)}c|q0~SU zhX)rWi~K#P-b;u~>hPcvY&$%#1}7|m|1)+g!ATq*lw8Zqe)ZxJ*)*K!< z-FJcZYdSqm>I6Iv4;HoU@W8ac0^M&Cv`HKuRH`k92X1#mmZCSsF7unj;lUzIJhpD( z?#rkF;cA=M-{HZc)f^r^3yOV2MMY~+Dv~%nxJj2Ug6()7l&?9c4QV@k9Ud$eJ`N9A z%dmJ1c3HuKNQ95WgUYz(@W5KD2H`RywwiSkhX;$?>F{s^=yuz*NgW<6THWE{2cUY1 zC=-ga9UflVK~3D(;lbj>ehNfxWYi$**mXY2;o%nvJ|2e$oe|L+H8@;Kj7SYuN%}iH zSfqXq54VBAJx(UR4i6R!>9xT5_z9@qAj*V3{2d+~q@4213*q{XT}!#Y!-GX?yDhNb zDo`#ZYBo+u93I@1Ecbd)?NoA;IXqaD%58x~ejh~7+9H!VJh&)XE!)@O z!Arjk!2R8Xa9#r@`JXquohljB%@SKTVX4u!^!6NIm3qm))@8p;A+_7H|_O~bz z2KO6mz5E>>&P*Egz_LDsoPRlGu|oVE9?ncwvcVW9pmn7X*J79LlQYYsGJl7MGfRMU zcwlkAhNwR~#U+N8{tge8%-%XY$kLSBUAzhlhhk4;E{Vg#8Ob1r2hP+Z5b>Nt4A+`u z4iA|%x;JthoIDAfV;cmie*uD-A z7QY@G9$o~mpE>yXJ3OeA(JNG!!vj*)|029^!7dAsUoFak#0+T2=tsV*MQ+j)B>K+6;Ll7zlH!vkqK zPz_cW6FYn0)04x4;^uXDK&7}9Y`$!#jII(64?LOY>+oQ)?7hQ-X1W3ymtg#dUDkZ6 zhyD%^XDEam9*Ak66*8`M$T3)$zr%ylQlA|jegP5h*kX99rw50JGZI4%59eW$V+nSt zH5QX_c%Z2@c6i_yS{aKldFpj|@Sh`{%?=R5@Mx_ZAb1R=93bwXxs|-bIQTd~dFRV>!xH5&Fn4UO07${-H50|W~`odbk=bG-!QD-^R{I6!n)DhCLXY1|0X zTZnu$^+>06fatEYCulg`FN5@_Hu-5CAi689=@ljpLfHebOWEWALFFehXmrv?2MGT% zbvZ=%gL*$XekKkR{xW?XDEy&)OkNTP3rirpA#$G1`sU?$E5~jY&uVTKN2Zd;k94zm zZt7QY&2APHNDFAv@=@#oHH#PXo|Z%FtXheK?|gl0bF{XuF4oauyR1axwRr7mWY!v4 zTcbiWDjv4SQD)4rzCsVHICxlLRm_4)T8kBHdY2^UT#02fWtwQ+(3+LennhTt6$3W% zyd{Sb+XKpAPbNN4I2LJAl!DBB%|SEi-xdAQlx;w3R0U%!%9K+5YWGLJ4vek-)DjGo57932nT z0aH!66t!ACO6`}16?Z1W?9eA`lu#ZIwnS_Dy2NVorB^dQATLuC7Z$2j+-W)0ZijOw zDqO6E*Pd@|s9w|24m^SyJE9$RwN16{)hN$L#5pE5qsTWDt`?cE7+~|sOS*fe*Jne@nOrrhp7ms}47LAJ3 zoM=D)c7D+y%>9X`mtcKnD;iUwl|^~&;kRwz}SUesK&wX^76(-55 z%zZ5fto1xw8k`7Ll25{vmvdG{z}g?(0Ht3UaM=xQHRpwDY4SvOkbW&2wlWn%9RaOR zjsjh;*im!P)+b-%OwgxZhQSVLYsu^K%|N*v->MZ(y+Hpxs2!UO}UKcyQW;;^SDXNd9JB%+#-hkJO$rC zBz}ERh``FNTLm#Rny^#u_<&_CA2j9imJgY7dCTvZa(T;#O}V_~BPK0x>CJFMQ)_J; z>s!v^3sQG|)*dh)JQsb+_zkSe!JN-cQpKMb2;VHj8wt~tQ1=%o&ppVHW~#8P$5B!Be{{&o`Z9^LDr*27RE^>5o@&eoXhuHTQ{reHO(|h| zOG3h!T?q+%-ID}f(A%pzC81+uYkQo2HX_B)I*ckK^R$fcbx&f7NpG`SVqI$4Cw-O2 zw3+7ID=<_4b2QsD{=_9w!^4FRB74=x<4DPe*aMrWN06i!($_JkA+_Az&S}M(mDriw z=wu$(!Gff%J{=F~=CuK|?TTKydF4Hhgrv_&ek~ViFeVt;4b}5Fg zL>~DEq|F;ivoppRTCOs!?sUpXeEoqh1-Hl?Tn}cq5Nj$KgRTr(I8x*t#v$!Ixzf|w zw2Wk0{B-;sUuDqJUdCJCcf#gQMZhA&7+S|8?Yh&dLU(ZCw1rXgO0lyh5@QaLL3JGs zgI5+)UljQ-`k5Fl7#WdFT6iY~=f9mT&wH)&nlbX8R>54d41r?PBhYxpJ`HXrLwKPwXJpot)RvWZDMZE`mj;12U2j7Qn=wv z8R}n3S`6o+>@zm?k|AZ;kwVVA#pxwVT66C>;lEcaP*h#D-5t@`6`lAl*kW=u`ooO2 zJ}|Lmw}xcpoX*qN(QORU-HDkUu?GW|TXgW%^8lrloDchYxB^)VDG z2{7));a-xofrU_!rlhAt#<7rMQrFpMDx{6pY9Zc6$`+J3b}1zIXEfiGam=>wNpEWd z*LEb53B!Pt>1W8gxmhJRvkPy+u*0r~^`gG37*2azW$kzhd|xEqR67j162s_KN=j-<*;!mg z&L!2HcZQj0TMR*5mJ_$a^%=XY@GL0!0=3S$XPSw&Ch+DGy$*bDB;JWk1h-MLE6*_5 z&DAQ|Z-VW+u4Mm&l3jhK$!=~`$u5JznvY#eHazgKRDa5nGi46vJ}j}aMUX);_JjA` zihts*iv89?WRUifn&BQM(NAxT7hkIxV}5bc7h~-Ao<>^ZrYkWB#va&sKdNdUtZ@>S zFvnQ3*?0~tf2`OV9mLx<$G773VxP>hpD4D+B*Do44E!Il2fA6xu zK_=$LtvK9iOX-6__GL>Jc?Xhfya$$lBDSplK3L==Y#VtN)R=b_#;4esZJ$lDA8)qF zoaDQ~_g=+Y^uZ=4VQVG%FJLLIb|$$GM%j-!TV<{z%fa|EVor6$psR#czKSbK@2#?* zBsR;eou|P2MUq4XDkb&BEc-GiyUa6&Bd);*rr5P?^uaFs@n*x!3GW2oZNytkcpnV2 zFLScYobaE4@qalJ-Y3iK$6c9bGA>3T%wsurX#{M?1kE&4I$V<%{%-;>OM=Oa0oSV; ziPKDGC_kI;Li+b91zTxY*sIA5wQvM|!}k$LKT+hycIMHW$qcoiMA0^kf3dT8=VS)Y z@b+#pqq{OOnbFPsj6GnwpBUfFT_CRP$&5QGL``O}Q&R6HGju6%xcoYJ8Xw{C33e%l zuI$MSdNba;$&7AoDGQ#=AdMKyuEVGoJFCW^t23R<=yonK0j~jJJOF-A+uT_oiRk5I z22yMkIY5WV+si=Ld3HhLxu@ek4Xnm5?OlBmh(aF6bXtIMox}(XCZ_bwIxz@Sg z9C=SGXe>E#9+J@O$&T(ys4D4X2RYxpgB;2QQhGhv!A$)oJ4&~M7rnyZgXr~S2QmCq zCp-KZ{u`4W%|o{nyOSL@lO85Jj0#lM2X-VTJ80PzHQDhK6q1_k_&KiCWJi*E zD`@g#JgR46@?!wl+i$Q$;wyJNv$-cf{F%BYL;OLW@wh(>u2Jv>>9uIz2LON0eM$g~ zg6*utzpGBx-r+iAObBN+!7-_ybXXD-B15Qu5JOtq-i1(94sF#-9*nfcGqpJ{Q+7w9Ymu_2yEHnQFUKbCXIeb6j z#I?a_bbV)I6JBG&&yIg-z`w3Vex*X`wO2p-NH!W5xf7<5F8V=mTO7Zn7P+%0P;UBl zCPEfTNEbo~uxU7{y zB-p$TI?H{*$h;kQq3kaE&wjZ-lwre#ggk9zPyvEx9sFABW0;)><7bQzy{1oyO3^`MTJ!p7U1xg~Ll%+yBN>`y0NL8Ih044s@ngc=my951NkzjgK#P4@#tv7p z&3Ma@$oeZXHphw;xvv_7uEG1KNyaoTt+0muvBVarD3SXUW5^DG%ZzDlj25}aj1iwl zNCky7HP=EvKQ)H$MMxEebaKegWJnFkjK&+Ap~p`A|1S4GjFH~}a*ZKW&1hb4)r|X% ziT9zv(}NG-*di;26=~IqLRs8YPw*!i`ZpQY$2w$$QlMd~9I}QzU<~d=-4fY0=WiQ> zsVW7)5LF20>BaM-)eA&=?juHMGcoL1j5W$Txn4YK45r$Ru=(_# zNGjOx%Af!R)yHZW_LvMy6|*I;-0vAFqroaYNR2B!NIyG-&9eTGC^G0iJxKL%K3OKJ zJ{MBEOB3@c1ypg={bOK2zi_qghjS$nYbH+5q>>y|AFFF@u5F68;s1egF)?4Zk3sQ` zt(_gHuW+=DwTX!{I5;?HLwjpy8{8Sh!~zZp4WdR&1%$s|Hm`>rni%GY;e#kJ)>7AP zM?^RxXAo5}m()Uzn#55q$weGhz)=b5#T;5TsI9dFKU=|SpJaK(#1am!7}OHO8?!`k zDF;_^S{vGH>!S6I8ye#sVq#e)skdg3Be0wUFC5est?R(ctr-6083T4E2QNo3G!k8p zd|^@ln3#Ajhp!lf-{9%+Ssc6)!A|&j9KMR!AjwdB2hu&816LC`5jckfFG4v}@udf; z9;FA5^YK+2TcT0bLii))^x*9%(Cdw0dhjXO?eyTpAU@*a<8}iIZzB6Tsim{236^=X zC}LEmg?$v*^xzYG{4?0>Fw%qM?~oqc2jOD_Au{#h5}4<)seD}+!S!(bc5;1ZgDA+G zoJqgO9TWv?kvE0)jk`Kjsl2KEsGbG~vD3WBo5qo$LD7b$+6^LaI>!#jZ6j=BUOwNB z1}Wqb>%18pk^}P226QqauYdz`2Sww}Z4E88&7hKXZj$JCe)Zx?kykik1QK%&db;Me zXw))3c~6dh1)=FdvPmjVb~+;OM;xa@+f?xD99$T07P)yBre!{`7Y#Yyj1sLAdCSu{ z9URb%AB^U$kO8TLKo$OROeO@r31|Ueq6GZV1xT}Um?2a58x<{DB zAThK=vq5(T-9j&{P#~pB_ef|ZL0K^_Ja~4{n!Y0MOEQP+2uTO9dV$IY0Okc1-6Waa zVl(3_T{v-1v-I6hrus2LYx?F`&Q_)b{7eDFiY~lGI%hU3@&v664pmM{q zElqbQO%IfsE+7<_qy(gO;ujrU6HF<%h5%IIWKj>@k|@onWYI+kE^g*S15iOQt4QZa z)LlNP6?rgr=M-{spQd@hc~U655;jQGWE*9% zQ3)=S@zu`ww5~doaPxYRce5w(!f(5Ou0#U!AF0Gzyp zPALqvn(QSdmz&ZU316-FaZC$mG)E@oGd3sIJF&Asl-+SMJNGDhSvVSqGBsXudLaoX zRz8~7UYV9Z5sbCZSDb#UZBq&;>8y%83D3UWp^Bl1jce_x{WaPBh$uH;@(qH+yc4G+t#=kxnIvJ$G0>6L>WKTj;Ew?Jf09l-Z?UQ zp&f0tPErzyzfH!IysztZiT05ofv66Y0=G^X=5gK$(OYi8SfK1$N40s7y{ckv=^*Vy9Au%A^%0 z(y9j+B~sj=5sg;Q}gUGfnMyMPl(vU^m zV902ist^+|97hkK^XYM>3AoQ1G%|;ivYZ{5QZr^9LaiX49++~W3Th)c{M!9yTyysTWgLsR--u3$}>W zlW5in6p08-D9O11nTU%<(qsZ5=%FL3&CpDFIYcus>A}SZu&|2(2p%9h+wnsNJTe3UH3v^I$RJq8bSMo>66W(sc<`FkZk>-tdR>nQRCUU zL*#$Q;D^E~1mN)v@wQR?G?@ROWU|x;Gv|s9dV-f!0}SXJ zFgHr-5w-hA##kDm)AwNsjM5|Y{F-qN4aP=))e%337ylxAHhEqkR787!T>jvj|s!&$BoI#2j2Cyh{tdOKdKCjj!CcdG(d2t2gKJb2 z#qccWZNi=S32 zzbwl;4FSlenEZ;Yi`OWILe3^Z>#th*r&Q6e; z08)UfC4j#7OytPo($S(&J0yy}29+r8wyex=Q5Cg9qUc*uZ;C7pl}ikLM=CX>5@gG| zSt95QQB0M8072VwE$)^x#)VV7!QDd~_x>Y%los5PIfJYwS?d-4mpV{ufd6 zY+XG){V$*%jfq6TgFHDr_C5u88Bnpnj(+GY3Mi*&63j7p=^zTeGn7~@w%Whj5i1q%XxX=xevkAbrP(>3THV4EpLNodYuHTfR&VO%L8gapa_s$(NXt z1=oy&9I)_g3Vwr+@A8o%GlTT~PiF8H9Mgl}8VmR@8QwV#-pj#895XpMldmzzCdl6b zNe^~T#AVt+LW~x$%-|C^rU$R80GxjIlNmgJ9;JroFyKTk*|0!@v0QL0}hYw8z-}w1|KVQAI66=THg-@k;8(-jWQ`@yS8hztXyR}lB0EbWH zc5SZ{&}b(hx>+V*>z-cAmc%4`Gl(JjT2g7^LmOHg#g%dO343)zB_<=t=O7x}+Sb|< z!~9M`rRZvchv=ofW`d6|eVDunCPhZ?xx{?AoR3e#7YuP_D0xXX)6!(}RdA*FE@*Rl zOlP6YElEem3esXPV^n%69=FMG<$%M}J(duaQ zl5n^I;{d9fC?b!8)$;lk_#PybN(}=}vGOF012-AqfN2p-A=rPM#2wzz;|YXk9LQUO z?hC|gmc2$(<;^&->;WOB+mj;X0@NmqsoXmU_E8MF%T}7{NQ4GOD_q{{8o=)fi{B`l z-^dRyx2|!jvxAR8jQyo$&YNhjSduQA3_qmgEJvnrKSkaLb1pLYzLYwRz`hXHLF;T5 znJvc9a6byzC`QsUcWNuPr7ZcjXEiHgX|HA_1$P<49D=)yT!-K;qreu7*ZKJAY)oWc zWemO-#yPOBRaEp_r$l2_MO*lG2)8}k20*28fo0`JOI8?nU!+kbO7DoGq9oYp zQ`-vb!Z>j0L!K%^Dt1+odyV0i;$_{u*O(~pt-5)y5w@y`sGud()RxG}KFHym5S`2k zRyrGPaTSy1pg11_Ms4%03**3R2<4o#$>KyCY{B9KBY72peZd(t*@8wPM$!^zYAd(N z=X}S?4JpmLM3F4zP)f*A%Au68o>C5_%&ze&v+jsXc=PUZKk5c z1gcH@0BG&Sg6yK;5(thBOxH^Q_p_`L5R;mq?N>mnwnS!5sLUj^&6%0AjT16MY8{!O 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 literal 115172 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 diff --git a/unittest/obj/Debug/svg.o b/unittest/obj/Debug/svg.o index f0ed65d1d5f50e4a4524048d2b52dcd7d4ecca3f..106faa801e1d95c02a652c7ef0cee8f514d6e528 100644 GIT binary patch literal 117193 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%0D1`Vg(4O$w-89?Q2x$ybC{8TpFP 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 K^PBL5-XLG~cKo9N diff --git a/unittest/obj/Debug/unittest.o b/unittest/obj/Debug/unittest.o index 2a29363d95eb52f349f270c32506dd05a305e639..ba28a1c7fb9b288867582cdb67ca4b29aa197e61 100644 GIT binary patch literal 2971754 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%0A);(G= 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

    ~SrM`d?v1iMp1S+a8ic74HaYAF6f5FTnPwL9Bp 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%0A-`V!xR8M>x5e02E9 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�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

    P5u$`~q?BsDitsT3*w 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

    c2R#FW@dspR_mx9WX-6~d;5H8#8D+i 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 literal 2074048 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%0A`&KtwqdT@B}1SkZL2TAl6PX))eHGyXxr+K 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%0A<2%EaQ(;WZil)N0y0tOX?&pq@#Al;!ElA&;xU`1 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 + - - - +

    7@I`}=QIi+K)sFVO4G#~h9du^WlM;ifzboT=IP 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

  4. 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

r`za29Zv~xqV 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ⅇvY}rb$rCTus)$ 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 t`x44 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 Kntr!5vi}DhNJyRl literal 0 HcmV?d00001 diff --git a/curl/bin/libcurl.def b/curl/bin/libcurl.def new file mode 100644 index 0000000..8299117 --- /dev/null +++ b/curl/bin/libcurl.def @@ -0,0 +1,97 @@ +EXPORTS + curl_easy_cleanup @1 + curl_easy_duphandle @2 + curl_easy_escape @3 + curl_easy_getinfo @4 + curl_easy_header @5 + curl_easy_init @6 + curl_easy_nextheader @7 + curl_easy_option_by_id @8 + curl_easy_option_by_name @9 + curl_easy_option_next @10 + curl_easy_pause @11 + curl_easy_perform @12 + curl_easy_recv @13 + curl_easy_reset @14 + curl_easy_send @15 + curl_easy_setopt @16 + curl_easy_ssls_export @17 + curl_easy_ssls_import @18 + curl_easy_strerror @19 + curl_easy_unescape @20 + curl_easy_upkeep @21 + curl_escape @22 + curl_formadd @23 + curl_formfree @24 + curl_formget @25 + curl_free @26 + curl_getdate @27 + curl_getenv @28 + curl_global_cleanup @29 + curl_global_init @30 + curl_global_init_mem @31 + curl_global_sslset @32 + curl_global_trace @33 + curl_maprintf @34 + curl_mfprintf @35 + curl_mime_addpart @36 + curl_mime_data @37 + curl_mime_data_cb @38 + curl_mime_encoder @39 + curl_mime_filedata @40 + curl_mime_filename @41 + curl_mime_free @42 + curl_mime_headers @43 + curl_mime_init @44 + curl_mime_name @45 + curl_mime_subparts @46 + curl_mime_type @47 + curl_mprintf @48 + curl_msnprintf @49 + curl_msprintf @50 + curl_multi_add_handle @51 + curl_multi_assign @52 + curl_multi_cleanup @53 + curl_multi_fdset @54 + curl_multi_get_handles @55 + curl_multi_info_read @56 + curl_multi_init @57 + curl_multi_perform @58 + curl_multi_poll @59 + curl_multi_remove_handle @60 + curl_multi_setopt @61 + curl_multi_socket @62 + curl_multi_socket_action @63 + curl_multi_socket_all @64 + curl_multi_strerror @65 + curl_multi_timeout @66 + curl_multi_wait @67 + curl_multi_waitfds @68 + curl_multi_wakeup @69 + curl_mvaprintf @70 + curl_mvfprintf @71 + curl_mvprintf @72 + curl_mvsnprintf @73 + curl_mvsprintf @74 + curl_pushheader_byname @75 + curl_pushheader_bynum @76 + curl_share_cleanup @77 + curl_share_init @78 + curl_share_setopt @79 + curl_share_strerror @80 + curl_slist_append @81 + curl_slist_free_all @82 + curl_strequal @83 + curl_strnequal @84 + curl_unescape @85 + curl_url @86 + curl_url_cleanup @87 + curl_url_dup @88 + curl_url_get @89 + curl_url_set @90 + curl_url_strerror @91 + curl_version @92 + curl_version_info @93 + curl_ws_meta @94 + curl_ws_recv @95 + curl_ws_send @96 diff --git a/curl/bin/libcurl.dll b/curl/bin/libcurl.dll new file mode 100644 index 0000000000000000000000000000000000000000..6def7cc859593d689119b177a195b3d5105ab0d0 GIT binary patch literal 3135592 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%0A1LQw+ySS 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�eb zLAEi@d%={#4(kwiZbTLj7Aj*c{$C>j3R*B4bX2)Itd6bR@(O)AkKi&E^>RP^Q9rA> zD+%2AeSy+Q{04u=Rb`X4S zhz(z`WQN2_yI!D1X@1I1>xeVS9}8B4J7?g~RM|PdMNgR&Xr>(YKLh0Y2nK7J$TzdA zI5|dfC*uim{obGzB%S3dWpq>IC+$A+!!YX|Y9D?!sRzWzMbE}N-5Dmi@_zJhT))Ln zQt_hk`Z#!H(xw0rd2az2kWXI4eGR@4d-~fA+&Ij^=?+1RzlGFzEgm>ZnZ)_dLB7<( z(;;{JoS{NxkD?>_xi(bzM74IKoG+f)#a*S6h_m;&%sB&t;5E-CK@B&i;Eon%M1%k09-TR{t!y* zaR0NOFO4Q!mHG084ZT9u0o<)*%11QIg-Jg;aG__KxgHPLO{ba33lWDT>mIm_vpk6J zdi~R7{p{$C^uNFOoce`;-D*&B4aRXwKTp#6NId-o?H`J}7tKu_T%G2M;udWWQ8tp3 zC)!6sf%74efm8~FdL+J~Vyu?C{19wG*C!v*RK)FE%A(dXMW#u;nptc*L;X^ITW%H? z8sCb5SqAa%$wy7r9{5jG2|9xnCgvW~b|V>>XS#Y4{>lQ}Ih?rEfKyWmK|BpK^0@sH zKoQFxh0{0LhjaQGJzXign-@Ee%Ovv9upHMz8oe=83<9w{$571+ zLe~}>;rYPp<YOZuf=ktR@9TZYVGu=r?Xz&_;ltlt5crjG_2RF1c)?|6p1pP$DJL1F;4jxN$4ggq*oWX?dc@ z7t}uxja5$oobV6C_<%)h6N@Ek*u<1S@fZ+zpe{E@%;OSJrCO~pPHvrqx@fC?2ESru zvs6QQ0xxR)OoXwnCtWOJCtAdR2yLbygmsp{l;Pg6w$A3w+sokh8 zxYXJ$wFluJ2zF@%KO@4@+13YyA!1FlTp<^Os%l);O@3pA`~_ce3qY~t+%EziG;WaW z8#o7`ZU6JqJDJ2?`V!F)npwDVf;}7Q&R{iJ`Syk}KZhD1#he1HNzSUc8&IWGg!zI& z07aP9Py5FpX9R$ul!Izt(DDC>j{grseBc^ua%|&h(o%sF7LW4~ALm^iIsTyC)nJuF zhELKVQOt?ZOKMp|2ms~xJnnQltBE0R%NZ?J&BK)sF!4w5fioMui8X82S~u4s{uB%Ndv5d0?HCsK@&Lp zTgr|Jbe6N@FG4&0&hjGha)<_&$Ob@&|9FHkK2U@!0xXglutf)yC!r@8a9}XzK%0#~ z&+xP$$6Dl&YU)^QI!foss-a)4wljQe;#N84JaJ5_%>q1}k|$=!6shDCb=eNI*ZA#< z?Vyhl@-_R|BT}F5KGp<0Lthj7hbFl?N8E6PrE44zZ8DCfUTh?xG4>U^0HJrDAqZim zItJ$AL}#CiYQ-wPx22D9INb)Unk40!&lnLjm(bdhj64rmxL2YQ$6_Ydk~(QSS1p$& zj$z{;05ZT6rsfE)7_C0IIWJdK%68z~I|FV%EiT`i&Uoe3ER)Mu(&7#hMCusC^*K7DR2~#g)K52jFU7G^5ZK=gQ z+3)Mwj{^lXF9m!ijjCo}liI;5&=(I_(=n6X2bHY)8E~JnVw&>mK=(n%FUk*>)IU`c z8o2CJditOwWLzcX7pvx5zxKG40h#BXdL1BhW;y#H*n{GA;170CZ^B`(Yous`DAJ5GwANh{#CaC zrNBr(dFbeGVyYZ?VZ+$c&;|@ganmJGY3La|J9}0&AdCNDe5oM!9~Z~XYIMZdV2Wd% zlP8ul^GC#Z6S2%tjUY6tdKyInw^vP|pIfRD>F0(j8~x0w+K$EoGpkzYXKK|G^fR%l zk$$eJilHo5R1Kq_VO8by@xrQ?=x1Qn0{YmuY8Cw?RNY5EaaFJ2$8)pQ^(hW^Z3hQb z_u}4NJUv08gWk>Wm>q?=p|bG?;$XUWfujaLDIX$-Xs$zkJ(1Vk~6^-1+L=-;xunWedcR21S?Vv^-w@#saRiH$u2K!_KObT9>Z>TgQ zTxl*6DmVev9ez`qqd#e*umNHQ-ps#oqj$KNJY@kipDPQmd~Tp z?Oom<>GIyt<-NVj`>-#f>zm)@eQb1o9Unp~3i3tLohONexauvQX$3A(f}>BI{DgOV z2|!_sBmT}Nu022`P`c=nQmF9yr1+YJ4cutsYQe#RH|Vl+s#cD=GC+a%m0!?F^j` ztzG#d}spapsBYs3LmA2M%$MWh1F{B>ZsM zoQPAG2EWq`zh5!@g5FiLz#ssM*ui+LXAG1b-v%Q9cmk~hfI(7{+&%;zYzTa{5#T$` z;QK3dTdpx`t>8H+4(ik5y*?Q;?DPVh6>Rb&*DF_N zLJqY}BX70vtbi2bRwPiopl!GepBYNqr(Q?{C1o;Z&nedyEP- z%9CGYfovlvo<)5$bj%jc>V}oQzF(Agq1P2%-bI)9BoR&Tv%0*m>hk`4m-ogl?-qY_ zePg@4+q=9!(&fFO%X@p5_hHAP>!07{y}ZkNMf5w7iLAN4Be9_+1z1lBq8Z`7u@f2I zcvp3k7FG5q0bj{LcNf3lD~rU)0Mz024dYI%ZYU{0=0m$xOiaeIyS$UJ1cEy9;}_fr zk&a~rcFF)Ho#BWcP9pa0NnScjl4~#|06*w2*P_<0-hrLqJnwbMD4m0{q{exYJFNS@ zlf149`*UX_ybg!|h5JYA)k(hVZo={-oX)n8gOr#II&^0!lTUkd2(w*2ct#BOm`G7J z)cm;D5TY+FfLv76p>e34;08VQw5i?HnSL7Op$f6*jCB>+KJVueLTFn;=r`U;L?pbE zH2N*+Dw>Ic4}2m1Bz%(KtHqb>&7B1Txtu{1i~^BdA`GGr!XOIwPtKo4ookn+f;wa7 zm>%P#W9lG|VnqRHhO;I5Fx8cJK9{m3lKJ;4n^YCHsZU2Y(@Fz6>zl0AApPz>hyQ4t#Z^MUl z9{f+@gF%lM(-}wdv_y|BM2{^*k8Mnkblhzyv@`mK|dNZQ>5X0MN%M|f6R)0hdcwe z9OUDxz$R8LXFmpckYjudY8)l7(CR~0zIL&qd9ak?j~E~r1f!b6-XCL@Hr)yu5H|p%DykAI!w0|B8%Tt`$MHh+_^)z%6$o+y&{y3s7 zOIDX8dzK}sOOiax64fP%o@G{biPf_#L0yvIS!Pj}SUgvH=0KO&tfrOEPr=2wX3u|y zJ3;+CiSZU)NEbTED*JacU>v3=r7hLytEX@XfpG~W;n$~_4vf!ET){rC?2jYSPcl>w zRK7Ay<1>>rj~$T8_JFIu`piSf0WV&S@@Jp?*)4x|$)5)Kvt9mF(+}ASK`R8eD0xLG zIXPnZ5}Ju*Z`o*^5!tLsH1a1**ocsGm`uR^#!{YHPv!{3U2`N?668~TIf#=9rC2U( z6Tgsopu|#S%BPSKDd6_=MZ<5niQIfWUw@g8e3<@FRo`$QFg+v6vzyEB{EQUht>u}Y z`}|4e*_=sF(TaH>o^RFHr=~0u)f?cQS9uniQ*Z zELMi8(WZCqvSrj;i>nqZ2CiZPGx?HWp^j8H@$CZ6IDs)RVKavG4G)Rza7+gfA~404 zpCd}%;zdTUCIp|cs?wiF>2{h3P52&(4>V0t_>lVca$IxazXec6(9ytY9bcHZ;&R4z zLK4k4n$f|nxHHAI7Yrx1Q-$0P+~h--xf)3GFJeo5<{PL3rtWX3*-h|k2sZ>a;7xu$ zmU+mMHnh&6X(c0gel%K`Kgm@NjN)h$SjRA%TM42 z*M}*BbipS6D2x0AZeTWL3oB%HaAyQfBb*16So84TL0ITOq*#Aue2PCppB%rzBt_hspWXoYg%&Et9pDSshzf%%o zC&ByelR^FS076jycDJky9gbtN$sdRCM-E^lHN~_YAQC<)o_Q1^7JH1ViihpE(z9tk z+EN=#uqFB$-Qrd793J%L`37GaB(gNwUy54_&ucuer^q_qyMczwTHBbwrMw5h$Qf7B z-^%Cu>1n7dMqN4j$EHJ5;yWt^hD(W}lsw$Je=2u4?*=z2gtCw84s7Z350eJoerz%DH;&)8b+SD1B6rGn9_P`7zUltG)Y2Xk|hQG zP55S1s_qx3A?#64AkFkJ0Y`R+fS~U7)1{gBHLAt4fvTtR^o!bt^29cjM`;faxE#U3 zZu>y>`TW-M?ESnAe5esXZ{a?O3G>88JwH|WBl$V=ue8h(8jdTx8!}J|a^Q9zkEMQt z4etcn`VEY()KzF2YR&~*Rg?^H+ybp~v|S@h$y!3MQKAj;J=0j76Rr|4-63a9;O_=& z6v>}qO6&_zf_SL``OIQeQ0)evp_dA;Cmf;V9ZTm>Wy7b`H|c*Dfd-Zp&;{-;?BrZ2 zxrbR@#d}x%dRp5=0Q~Y+7QT5m{t2&iMX9(+At`+ubzNDv8PBD41d@Ejzj1Hl@&Sj3 zYk(@$Qq>e#=$(Gj)&9-0+th7TZy?Wm^VhgZ?+h-RM-@6}^B|xDFwMK3YXYk}4mI&- zLK$u=Fw7N7a9#*qEp`1^R0Bho8D@1Ot#EaH8vb&2($GEghFgP2#e$Y-{&q{3_w8NY zzlna2=6~%5|NG>5xZ31w|8fXow_DAiTk6^TF4PcY82QRg)@T174YYx2(Sh&=go_-yFb${c-t4#gH$f@oR3EcXyZfSEApe@GEJdfnU8{|8D%cY17Zauc0Uv24{pO zNf_V%o%r?n{r_wDb?||og!Ttn(HAmwM@R#mZSV{)2-~v9EH{Hs3 z<7>LmviOht)>3)Wj}8EuRY_Y{}A2uUyE3nPRo?^!X~HJPjMHuDNpLk zF@@**Z0jlOC-@iUn+Kp@yrO;>9pRGI(LaKN;c`djL?WZM$7ubj7#&RysQ{KlGS|~IL zu7R1&^-iHXS)O#Lym+PZy4OBm))uuy)!n$)uHj2t9X<=9;Zw1t%lq~& z@83kfV?QZvAz2Y!*E?a~g}?@vz@Ob5-cg43h*8L(+|f5rydCu^)(QP3sJLZvL_cXh zS-PDnV#M-3nG9URW;9f$BX6!)^c3wS7CYt26*I3p6$)%OC{B1j&W3;g1phqqzMsS2 zoQG0ja`QjV->iS=e~rJnpJ`duA4dM$tva+~0>8 zoJgAZp8T8OIsQ_|Ud8(7TmN<-j@yt)+WIb)rMqy9@h#XP!MU)Irg8?;TxkS(} z#M4fQag4(lDMl3pW!-Ycw(Dt>Z~{!SM2HaATmc<9SNkx>pot~;;IO*dGn@meR^d57 z_a>vN#?fPZ)zkFTZB!^%baEAD_?1}M*Hw#HSY%HluFfIdd@G!MU}__~6^0kdI}3FM za`32W*gx~dU-atwEW3n+c}0dC`@}me$7asS??d}g3EzqzSiiy#O=d6;TBhPotz8+r zF8#PtM(X7}sBw;qCO(Z98q_N1qSrI<453-Sz~!$GlaIXu7rkD>kB$LFAu>nh9>DbY zq3Z}vN_kZ9%9jv5hGGnpMYXTK>#N5oJ5nR(ugrCdhUj)ppx6(dBQN5*HKLMrve^Q3z8xqrjV+?7A0O z`*2p8k34Y=Wm33p`Qd}9-0GQN49|}tPq^h@)X(E~(d({CdKYHJVGe;#DbY%LyP^=- zm`V8%*`KrN>)p)|4(sdb@Bu>@p|sa;8k(jWk;y50g!bgylMcgZXs3#8-?0S2&J~Uy4MLfc}5;&LEA6`GCk|55goM*oT5z-6D*nV4_E<+xbKHIWtG09S1ReM#fG zpkoU+t2-bSIGY4p>t9$th`Pk3f;vU^Zx=vA-Bpj;L~aS+3K*4*L)L zJzfbP@%ybb!#@Sz2F~>Z@E!jF(D0&BxM$|j{SCkC5IpVwM z>d!j=!}c?to_+og9ywe8sQwhH|A~L1{szwT1LME<2kTFx`X~Go_1k}}{_}sZ{tT-B z(7veQofSToAFKcMrl<<^`E#E!AJp1cocX8lWf*t)2jF$k5)YK?x*jnf(iMY_M_uTH zc8%Ugg_1>77OlS^wjM;}a+p0%GJpWW)rd!WUr|FZ)h;JbMH+Q%lmGJm0es!Z1LgX;HAOQOKx&jXl6*lErkK_E-?uAd)=i|>s~ z@RvMwbF$ecP7c?St-u!V#$ottBzLokeKNUzeLK0V#Xqf!VSL1jxStX$MnWXxI;E@} zOnj9y!F!KMt)v9iy=OK3ys~E%ezd(qE06um2AF%wIb(JZSGEg@(<}_O9i%YY#y`(} zySa3S=at=5+f`0${JW0$$?5^q9_P`(D46?rSBBI*sU5D4kR#c1U;7f|^1RXRpr&PE z^$jknzC?{hA1`(I(f+D;2YnfeaY(O{o+sM5{ga+8?cDx6Yy3x!`042#PIx#*L~N`) zDVxG%h3AXM2Xx=C7+?pt1k@f^T2C_(Hf7~8;t;rqL2ZFIkm?lR7vfXxB(qj*$1GtD zIuA~pTZR0R1$VIt)IslR;YR*|L*BI_eZ4nmH-`UFXqC#--DWvY`}JdapMT#r!Q5SKm0n z$mBjjWj)yxRk068T7SjW027Tf3Z~)lk~cIu-&?#7F^(N4$q*4#fp*bfh$)$+;d*c(24*p)m)=Q}t z^Z4b7it8yPfRX-?KLMvaX&&h82FJsx^#1dm35tu|alOW4p7;*OWSZ-v6l-I{R5aq9X@Y|fbt9wpmQN&Ve?rALt_fZ8(TQ&!wi3_* zrObjdh>qx)l9&Yv1}=u&Qvgi}utsQIJ*?J3X>5>u%T+sVqDIbwe;_hygT)VrSp4%P zJY*MKnk)a0y|;mnsyg$>Gs!?EFmeZpm_UR8(Gp2*f>8*Gn%7APNk|9@phUV`>yBC5 z1~NlX2_{S;IlVhbt*v&qwRY>aZfh59x4ejr8DNv}vJiywqAW&C^^TL(0W3+NGXL*$ z&b>2tCJCbLZ}x{bZlm`80#rM*4IvHW0hJSLI=af z+fs!`-pSNohhk0Zpvl>IH$-`XKuIQ ztY+HJ27V_7mxlT0gH5CPPsz(T<2Wm1QYj*W`=>g5^l*q{QfmJgSD3Xs}eY19PyNda!nFP8bH;#gZIGk z(=b}52?+KV`Abal4|EJtgnPM~RS6<+h@bEFcf4w3T;dWCEUR;mCILB*d{gkquX0!M z2S@m1K%Qg}%M$$YT(X;nlvadYhQ3N=vQ{C8d7QWh_kUS@S?R?l2A}fJv*3~jSN178 za0h_XXokty;COgGON^aH1n8GiY$$d`RGA0fKtg_+f)WYdUkxqA?FpG9>b1DIn3<9q#8?RRqxc&KFRqS z>dSzmu{19Jl(doOndY()ef5oV)J{DO|^D_7?9 z@K>G-pk~gG6v%5{z{pWc1@DIdGL#jiM11?HaCrgcgK(kbeL@Ebhf7A7{xu4Gq?WH? zBm|=~0!9tBSAmbzLb5FkMlCb&$U8?zi*ySZfS;k&%vWfn1hkDkQ0fI^6aIZYW7Fdw z>0fdieFk!e{!_}8F+>_u<7scbP8ZHJb!|d^_cNdUwo1zOobR zA26AN;~{?*d6;p4ib?tXbWVcRd^HI4&&|Ezs~rLU0$hT1OJB|rjdniqH0GS5X{Q|K zgT$fd9jH`oFIfIEZ^?v$KjB6zj`s9CgJ*nnf%?fFKrCN7F*+;>%xUhVK>~NMhDL{w z05+PoKIL_dSHY89yM6Ph*C%tht!G`VVPf%fno?B@~4nqfC=h@>H5!CJKayY_cYILR*~BQQ z!zD>clS=6jSKOuG;p}SVEs4(zsrih!1WMu{s#seSI#7;4-Nz=-dyC7SRE{&dzN(L9 zAvDB!1o$MboTM@G2LgyFEaM4Iwo1q-GC5+98B=PxmH5fhq*!TdahAN)6eq7VB_IVZ zvf>)?GZ80(ndE#^63>pyYeZ}LN%PBal&e`~KvnS+%9NWww=7eZYoEcmu;00ie^sf>Zxg@)^P~7kp>fRcw4p87*yC2xdKLDTH0I7>dQ&VQ?Oaps~`xmMM<}nk)cZEOgA7z%Fcoy2-2|j1kjm z0*aW`4kY1B4)h}tXCLwIluS%u$Q(P?JGILy0Am$!u?nz^CEzfh?x-;if-riRtks7sTNY?^F`bJC-25JYf{}whLg50^0VDuN$|%hN zM8uXqk!UA@;9HJ_cCi1!i<}@^^$ZUU9d!Hwim+>y*e>gAaY>>Jna|b~t}dr`S<~qe+c2NqpLI2P0+5=W>k>KJy4bIY z3>`dZ{U7lbiQvcMosXNQ+esImGi#8Z_kOFp0uVP>Qjp6;^?=jc((UD5n+Ay^N7 z6jEB;2=-Vadu%p)EQ#uoT7N;0PT>f&e*-GwW)F8L(iWC4gN)^zL{j&2vM7(nYB=o_ zPoSln0MJoUWd3W;XS^R}2e@;3O66j^Z89VSv zEr+P}(DoqaBgDo)E!ekKUQwwm<`ave4&=ea;d)Z*4pPnTprC@%e%4LJyLoYJV?B97_R$ zB6$%8)-5lUEY3$UPX`G#%ayaJN#M7LQE5Q*sHIHWTAyXO;{7*nA@PWvMj(^(QP5G1 zTs#|lT)ZnmA=1_clL{%d-C1h8K``Z|lVXZ9*%0)DUa)vNC^ZMb^4=;p_O>D&mLj!I z1VH#1eK_r`ZlVLoWoDC!@mfuy3t=%TntUPEwbbl<1pP9}t7psACU11w8|_pDW~GkK zS>hgM&3|LY(N2fR!XSL@cZRjbKD^1Cl zq^(D!t%q@}87(qT72}k)ZpflJEXlO^^H3{Mnl;OS*^Gn5=qkxH0dYZ-=5LGXux62A zv~^IfQsiROLd=KDIF8e$R`M+4CAqps>klLXSB)0`&h<%7=Jy*x<~Vt<0p3fPRpuqi zLwsV*-c=NBx+II8khTuxBzJ=VfcdW2OyE8G;wl+$DX&_g6v5~93mpwrtel`8wexqaaQ0bE{KH2x$nHnGbY-BQaL zkRLTAweBRkUz^1oebQE+y#96zmVan9p%W(zs#9EZ+HeL$!yLUd+jWMFLz43aqN@UY zgS_WH*%(E6l(PA0MH?Bt!p8}bc}Kj-M`f7JTaUPmH-d2CO>$Ke+DKauARJbi*2d@1 zu*#HtKjM9fPxqq795skVxr$Bfgg}f7n>56bww?r5xXe?)oxs#h#0q@MZ$wq{Js#3N zRBEUEe~9PyfoHaMpiim`WVv733TGZpW-B<5%P48+Gh+bFeKvTZWY<5tM74C^?Xki zaCpm>j8dikI)H$kldDd{z$XM>VJ_4{7sjHA)a=CNf)9D9qf4UU^YGo(0W81a6&-jsYC(+`{g z`5Sr+N5~!nIhTko6YiI#bAC4s=_)fGGdZr4C#CJ%f$kv>s^cd(KAbl=~06`OwheXi(ttu{< z41oPu77gJNjWA6%-y4%rKU->{!+D{URO944*cb0`c|hj@E=pwk<(l5KH^Bq2-g7ZB z<~Y)6_#J(UT@(V3W$O~X4V}f+p1JTa?E=5GXGJqBj*Ni4k^=Wvd@>c7G}xzu@>(;`02Poo`6sG zN%@DQ{2uRkE;hW;U?aOxC7aKRIP)jgDdV#;&TM7-1PfJY|45$Dx)0?jax=nl1agC& z^X?CJaJ2r-hweiC!_Hzq?V293duKm$_qJTUe?6jq`$pp+(d1^Q!&4Ca&2{maUD=5Q`L1lC-)D3EzAKyS^fjLQfwdv-1>N_W zxE~`|Bzebhn&)R6c4c!-T>UKA9`Xx7dW~Jkim?7p$IoF;F8wu$Cn`v_^1@#NCkOHf zq9i#_u%S52d4g}W@*+*b#7qkcPc1Sc6Q;C{JT2;blFvxyQcPXA1BMI9-1+iy)JsUD z`-h}18IPLc&(u%M#$-lSXJxn@Ue-+}+%Wk{&S5zh?pa#?{hC^99EJwwRHMLOjC!fQ zdrk3&>WgWOB^OC!cuL+CCixL_#z}TAeh52hrQDMl;2!v2+Q$yX53QL(N;vpeR7F+> zTy^IhJD{+GwRU)s`?DW*T|g80Um8E*6C#p>@c!Yoz`JfZyfYs)u?ti0H8%p@HKwS_ zaCi%Sv78c7%PX=FJXx+RJgu5%_DS*tpxjuQX7x)>H_nyu-W;%Iq4a}YE>rIPFRr^` ziWUKW_hdB8wl9W4DwmmAks0KE!~={3T_^8n)rdi~$d5zNo-mvTibz}6nQ(v_QWE_B zaUA3hBMEw$SVF*jkU2$X6?tEDEuQUl3Ix{A2kC=dP@`ap1QfQeTy8e9T=gXBKzWMJ zyAClX$O%-$dn}?1i}a3vX=;?cRl83SB`v0veMvBf7ze@tiM7mO4?`8BuB{R zm*v=JS?tSfF8|HzVHcc!Lj&Rk5g;LAb2P;`I39co*JQB&<-{Dvk`BDI?N7{t+lVge zbOcUbMPPfRwDEELVCTCEeDsv30!j1Bk^b}@=os4em&40M;X63Z;)0a_Hf@+%6PdZ% zR6m9K{;c1=g*@oGVp74GjLS#|Ymm)5_#k$$1*A$v3Sbzg(u!Jo4K&mU_IBnP)0*#S z(;Hy$A^kU#!7>&TH5p2*tJn`sxAj-_aiPicucYTjL!VHG7abfPG$0xtC2L|=pdL|s z+L@-%RpqgKh+EhJKXlhqe1K4TF+x{PBqUgU9Jwb@2qSDWp$sn}71a1LE(4}g3!VA{ zaO%c5Rt(TQ)fKCauG+NbyB;HT;j(;>y!4qrvDi)WBsps%i)PRyQ2oYgerIk#AC2=(m+>BSM$a$R`C&)>OSI01%}#7!b~M!D^MZ-6H^`CbHao6O z4&wLKt`DD^?|B!(GgQFN=vv>h#kI;FZG<@9ST^)3 zl~gF12t6&t6+VHTH>@vy9H%e8^U$H4kIZ|{aO5F}g&r9W;oMmBE7`M;NWbzO{qUkY zQOXy`AEB9d$!7yQ?jBd{T9^5RoPPo_A5u#@>K{1DYWA|mZdbwyB-R4iW8u20U#27L zeVz>{5P(O`NqL2l)f|*pm{`p*d4-wP^vEk>SLcuW-#|5;cE*Bi61F%mNT4y=-x{Pb(s&1Egw<}>cW%$b9jV{{1 zEKkfh(a-{~!tKC=g-B3r!J@z0agZB8-aE-3O4V6V9kzvF-MSB`0!a<`3IqkqfwxLw zIdHA@vK&fTORHEA3%L2ovbYWj%6f_fZ9wtz)m$dLzyJSXR~HGB1&rc4KDxfHEgs=5Csb zldsbB51fTs^UwhmB~EaR*e{nJlz!E7^aG9zJ@hq@LyUXJ;HSzeC$e@R}B`QI_hkmQbz)dd-!-gnD5da3u`T{M!e39}kf&JU?Top$S3$w>wVC z+2-2|PRIBh`#neT%6}(K&Ub##$($w`OBa~-u>tw$+*_hfwVwVPO*ozEahg9KnDQB^ ziZ8wrZV(Pjgt+V77I4VB2C96)5KDT#(rvySZsdG7p>NDdcG(^eT*oN+CuwitBRCJ; zxtW%=J(QnG&qsp&rT7#`@G{{CguU0or3r$i8dY{M2zGE-o%v!XP?vsKN9kbx;OGlmOEfMyGuJrR;AW`mwIa^Q$^(8l!s4v${ z^q6aup?QKxb1fiD@C%lfhmX06!+X_jf%xlYM;yQNj-#h=m5hUNkGnb(JJOXyY&xP0 zsUL}ugA3^@ylOnN&g$cPwe{M&@Ki4@^!5pWi$T^{q?g`~bYG4{9H#+nTUqc2LMw## z*`s%)0Zd*=dt*UmnrW{w5Vd^@cLgPbQ(?6idE`vo7qbw~7*=TRD&(E-DvYHuXe-O2 z2K9UFH-sA(epE}*4Dc_DToG%{IA3qfWffS%%`rzAMv51%z&92-Cl(>X8H0{-t__A6 zC)gtv?^xG51K6*@H={@WIIzt`ZI9quWXYL@9CSq%e^GD^J@{Tc4g3bT!u$mbssPa5 z(@KOTs=z!e2M!+UuL^bD`wCNTT1N)Pqqi#6_hc_R;5h~#Odv4AKU+v4sj>bv*ctFs zJ@8|2LkgEMd!ssW3*H~yiIbYyDhq3fWvfi2dM_Iua2ssjnGs=+znEjhE_p~hTQ>sQ zA=DMDGQt5D2vHaEpt+wChOrZH43Pdh14UtfTSB{q{F;{H&lKoix_rkPUJf zfm1`wSuJu|9P&oY!6Ir|?9?*aF_4`r!B9}5mYxUlSeV;oMY4j|0$9bZRSKpZ4d+noXgxVyH_@wri~($T}b zXDrx6L$HZQaVwzgz@5?8zW9f=5m`pb`JeE(z}+FIw|3JUwBx7I_qz5r8e^lkS>o*= zFiiJ0GxTi=eyZrxk7WmWaVpS9UYrhG5TIC9!cj`mb^9G!YrYKR_yM}rd|6<}6Z~Gl zrY+EMC-3-9t!p=`jhjW+OrN9i7OnA3y2kCg#@7ZKU(Fj2KrK~mT!q>UY8;|8l@ei= z_Ki65b#ZceEEpB!KONE2s7S3zTKmuH+NYM9FN?ubzr?I<#2vwQ8UPEGlT*cMP8BL_ z3&UZHm0GFwEEI5#75|OzReZgXZbkhc;dU2CybnHK{m*OlKNqau4PdDCQxJ=&|IN== z|NUD1RFm5OWV#joKM|<^4XU3Qw+TA7b0|mJn1fGUu4kZP)n;Sy?xP<75?BQp8>|Exg$)2RN> zj&|oL{)lKU3Eyipw-OC#Xg3MZ1=>xZ7Ct-LZKW27Ii-n9Dx;21%z@wU;W?E z>R%kJ|9G(eia`A(pRfKoTKy5h`iT}*w95?Cf2UeMBqp)E5h)W~FCedAXA$9hXn~Yw zUqBlsbniWzw3^VR=#t^TdS`hP^X zf-s*C)c;SoYuY2^P19uvoYxR@gEJ-N^xtxU^DF!ec^}OMQsDhy`1^IC?{OduMA9xz zD$I-#0xLmCg-Q6Sd%HCBZ9(YU&7p4}$4}Syh=EjKL2N6|?H2qaI2$7?C!vxVY}k>^ zXW~)Rr_Mwi-3mzkJ#NKJJcv78Uzg!0iC%RiMWJtB3w`^m(6?itN$I}5h_@jyp2yz@ zU_2W?buGUX`t^@O-wuVo{UG%1&Cn2ZEloF62UR`yN$m^*1E=8{(9O3%Ta%Z^-sH#QGa7OAu(( z<98gyYBmBD=*ZWTST3_Q{D~Cm*Rc4CyxX?N_^;FcDh0MUIl*WjYL>ieK7c_Swys2wNPt?I2<8O=;Tg+d&xLbjeshUD~!=Hga_L zPTC>hu|vRvm%$)t3mEoCV9g!@2Uy=X`tJ;kTQ^u5z3mJJTj8(jb?z;4ZpcP_(q5^B zJMJjSLOHw=U*~O*neBIUP~bm-tZx}DiZ?1~1>iguXa%49>(l-9sXD0Q{JtHwS)UMu zyZu!MoqNmS_P~nOX~axqTC*i5_KZc4&Yv?VSNsVqHMtA%9`K08_c*(*u-(o#{Bjy= zJO(W)c>wH`l*}9>00_QEF|6{ztuC0E_{S1dt}!&mUNMKM7M-q{3M(uSf?&5ty>D1aVNina?o? zJ(pT&vxwIF^9H&X4CZ6p3sLeB?$BpWB~8?4inPJ$e{#Buv*N?}`8r3SN#b(<>jICs zIRLhYZOL;=Pfo2mrgjkF4ub`12N5@5_OC_&Xg|g26WwT2UcIE;_Mic_1#JxZ^csJ5 zZ8d%)0yUC3wo{<|PSI6v9uP*rBVxtk2k^#+-5#aATr=;%63IC_*(c@**U^u0>*Sz} z6!*~D1L}D}H<>T6EgcF6meh)rawHKj;^<83I$l z*k|)a)q#kJF?l9KOpeed(9OR(-M>23zdFUgdbWRcl7Dp~d_YlPcA#9JHb-D~l}l`^ zL6q3>*1Y#c%#>#z!lFm25=Xf1Nl13IoQOEDor-3G z7hpt!?GUQ?Y&#>t(;m9UrZ!!zsd2%kri|FsV`z#_S4E`D-t^|Z?r=s^e_obGactaDGQtKgYh#M3GZ#oKapzFV+TuvY*sj>{-L=me4ZY%hVbv=J4l zBa$$pU7Q{!i*furjfg*};<8r5!#@2aepw8HqfD%SwM7s#8lMRK(>F~79Z%%91T1It z`u-~?lr^BH*b!`977KRa1_Ev0P`+qm+it7X$R!y!Uw; zNj{+%r^@C4NG0)r!oEfy1X7D|#*R31 zcZf!@6a*a>a#PxNzsY$3;uGxYm~6$e>p>hd6a!tFOH{~4IDI=@)+GPh#B$~5EBMU9 z8GFRze8+&uS*{ie?ghOXx&pcl6>+5Lp2jt6fw(WDXk!c8xY`SY0uo2Q0Qakad z|MHW5DQbQeHS;AjL89hQZDW>b1M@g-gsNZT3_w)9g*yGy_RVO``$+qJbXn8Bo-Tji z-hBm^2iiZROHKPX>0x!dfi8>Nucu2<`@hg7r+ph;7PP+$<-vP<`&;xuN_!4Hyt(~L zbeYBmZ^jt~{yQSj-uMD#M-QF~)g<4?2AKnElO1zPd!`0-T&QL>St>>L$c~fES4dad zL4TxN#7}n%RG<}sV#E#r)BS5x`7(;_Ja5|v6gtH3u(26tUrJ#{W2`u}Mg#$2fdo2xG4#g%5!Cjx3pnV> zwqR$ZZTFQpX2IQKzgu(ltS0M%`*xr*zt z(jC#WCkuCQNdy7`^zca`1$Y`_wZ3`LYK*koIO)PgWtlU4IVWB8mKeYZsQ9je1GN@R zY`L-vVhjyn5et&2+(x!1anc~55I_t4?V<`OMEa%zR3r4Kx&I&dgqY;pY1#f4P>?U? z87)%F^SHyxWz*|~*b(-x%X!e*`=J@l!A6Wlu~Qf6R-IfKDn1K6*|j_Yu@hs);zL*I zQ?=Ltp^O*(Ew_E^<8MV&LJ#BJn~fi&?H)%%&bvAMx!7VpRHbNml~~)8+lMW=BwoqeFE%xjMG(Ubd~hlWt+`)ohvJq7pmQA1Qc8i|z`S>_-TZ4!n%HBZACRIwu1#&K7nRYR1s&AOU_ z8>qa`_8za<$LXD8NhHU~zq=Y<4Ba^bPC7eQVhC86^{-iuJ~;G^1+em-i^H&zVj?2! z4_~c4Hd1?Ih`7`if8B3~V&Q}O?8t+8vyh+p2pp$S~@Zzm-8Z+{+t#q@(1zC1u66H}k4P5nrm;%lNF|Mr)7 zB`@kLY37yq2v4tC$8@a@vYq_fU)I-g{2J?cE1i$Wznyl*__xyrl)zwS4bosfy&unL zb?oJJbm;5&`Zd;3snv0i*U_!7W9v26A&EN3}8$cOk{LsBX-F&ht`1+fMbFS zUPV@Tq85p^*pS;32``iYooLH}wklDBA5qMS$l4D9pUGQX^MmHS#9sqijTS8x*grz? zK3o~KKL$nAWOvAoi89ixRatOSO6vzgWwCH7vz*ozZKO7&TXrH_M$o3&^YNC>2 zxl;rP`9{zv&whnZDwN4Z&dc{S#O{0rsw15PsK80OlT>W)?452}%9ycpCtarO{2g5; z?WC0#uX*Qh>DQQ@#7UM_kUckm(Gt5P$6Z46UK-D^841QmX+cp67QO%+HEArY45{S- zAP*v^BBhplai@jMK7h3Ygdg8qBIhEI37c(F!2w*kP(_~d&xMS88mZ-9(2iKE5gU-jdX3adhv*6gpVAH?4$M`$3+qs*ag|mhVmXRL zc+BDwM+PlI{H=;5Sd3`KS5j*e{=Ujrel}p`N7x8h`LRmd_N(@RcL7l7Rk8{Qg_aWv z#R?QE5&rQhuW~o}-NH?7ew8}|Q+ZWxCDPez;5$`83tV`cY>P1gwUIdQ279`ldy~A$ zymEg-KH2x+?C>0GMc1fBMgGwg=iUd@nF*Z_GU}8^U<(H3Lw!%=gVe3q@q&y$6fQ^c zhOun1g)KAlpu^c}m|+l~oBJb-gs{Q{T#1Pk+2~!ZA74hiN2*O3TZg1Wf8W4otv1be zY8?H(PyBWj8CoxPM$FtXetccTtJh8aRs=R5){ceAyg(GdyX@LX+x2)|uH2$l@;9~{ z`0vT$w>%xCT;&GZ9Q`xQ&&53k$91m7M(1UNBf~?pEp1zDbbE04HhWL1i*VINwiRKe z2_@c<)Msr)k*>vKoE=fLjDrvDf9p!0?(8(GMyj+e!~GGy|1o{vHihk$wi%qg__&Eb z$c>b?MKxqD2;ImgTBE$i%zocUmvHL|f0 z?O=@Y(RIl9k-L@y%H<;PC3lzOG-l$3b+d^bTAKF~w1<(K#$T{}XX-5QBdHdG94)RY ze{IAPoK=jEk$e;12U0c%=g--n0zJ{033|M45+)C^tI_f@W7@uU9-7!0e?;2&r|a=z zQ4+XDtI1La0g{k>2n%O_|9JMTu2rj>yE*{km>#L%GHS}W0?d&%y75VEtnFu*rwZkp z4n8J|y;z&TXEesPi_hRv@dm{FU{}P<1*&{N=9D>eINNIWQ=Fso3^K6og&!0vNX+eY zM|EaLrh0xsc$b%eR1bqIrH$p(;BB^VTt^LlViyhG=sZ6eC^mkX5v@wCFT)vMdz~#B zWjw#cz54aN(#GrQ>sxK7&Ghx_!LP5^ef<&^VYIJ*j(h&~T`h!O8{fcURP9%6D<;tQ zj|aa`(0`A0q1qT5LmAJ{aj&*MPulo2eI0K*#J|oFU$Y@>(1YxIDZZfnGF~YkJ#Q7?BzLy6dzi17fD(g zjz6@IH;2u~2IN+F3SryqLh{k31F3D(7r#n9$T-ip8c(fKupeqZM34&23~8ekzmOzm z1@PC?M*K+N$O36&ig@$USMcVW+MB!LaVKrGh<9K665cJ*-Z=+XNgFRh*rL9DiFgAA zM_1oz@#daccrz{d=5M5pyTzNp=!q4>Ec`PAshiHZ&Tt)cii#7+P|t-w!g78#D8X!3yc!k+2u5Slz?I7bPux?krc z@xDqD?&Jg1z4TDf>7nPsQG$&NV;RXc<{8 za7;sd}CS-H;F(1XJTv0~^e#Opl zWV-DVN2F zi~+lkh(E-R5dQhlAY6lBc9gh4{YNwa{Og*|sJ$zru!{j|Ps2bB``F=!4seVgE{qW{ z#Sze_7s>IL)_jMk7>Z=6;vv5S5(alg;>h?^bO~EFV+wktmb(C%&gc}Ouq5LL^c786 zL7%C=&{xio{=iOw;w?+k2&(qtqmZbN}3;IB;lm_*G`Ys(6^yKtiYwS z(2xpzf|b!3UBlxdOOfd5wAAulV3EsOgf()6M&6_rLm9cCCmX?xvMA4*V~=nuJD=Iuujs9ns%+S5Y}nvbfs^TA>8*QUm)!|ej(>68J(P^OaJw5UTnd zGdw?q`=GNh3R3|%^7qXWyyx7sJK}#&Gr3|{Ag^?+;bvAHDwx$4vGXcX|qwNIL!)2^X$$pR|30ZYQl0X%dS}qBq_W_ES z`XSPng+BHdkRN@+qJ+Gmm-WX^GY8R%Bp z=bZ>T_i%dEv&jvKvNZ_+=u|nS(RP|E)~2tAO5jT*fj`mU1{Hl!!v>Nsnm+p%fZsLB z-_JQ;>~qRr0-@rK36U@xQsuSj8r&jn?{K*Fd<_h7DBOwA55N_Y+6q5HAK(S`x&K;J zW~6Pnn${d@ba0(H;6G4;DhpXem?AXEwH9(As9JM7N4WP?gxixWwB~{Lgt~&(M{pjD zYH;+e`94=we1Ov+7&`ftI-?s4!MqA7?W`I>VY?NsIhzaCh%Etk$^>XNq?!l+Y0m3d zcD(i`TOWt(y1(U;Ti#%j?>DPnuSl*d-Y?z=@*avg#SOe5ruHFLphjV*g6PWiA)&vK zrFwZ3Ux z#&OUxhT$cQy%BXqLGLj3kOD9aQ!VoSu^Ofd9lJugBo0M~(|;a{$MGoQrd-#Zi0K@3_!J04d@w4OO zjkau#kF!^*_!uYOFIG{;+Lm*9GC{og0v`kNq=x8yk8_WZ=us(%k9Kw@RVytiYJ>ti z(U}KBdrzdgm{O_iyEg_E;qI<$GY>~x@G6( zMkMfYc8mczAZebxJ_;$Lat#6ufxpr=DY!n~HXc9qOXIXwZqU6i!gBXwgT6$RtJnx* z4XfLfU->B8pE2P0rK{)@FOJV(C!zd4*p*|%LbrP?>&8m-umx_U$ggM%IN$Jp~Tvi{O8)seXy5Fe;#J(aUr4V zgF;SJDDPEqhz8)M*Play_P=N!|Bt|{k>CZlv}*CCXj^C=xFxXEeiV)ycxE&Ku}pb! zDf|l*^rZS_j*tN|4~iex`g%f8E(pKFM?S)G+2v7|%ibQrzkfpb0fYA1HToA0lhJ&D zmNU`h8N(I6A{dHqoyixRX!0b4!v!*4VJjcztzDyUe`=MAZv{%zhL{L@Do`l}YjBaZ zQMMm(p609!q8L3l+Pbhg6Y)RdxnA`ScqUjkRp$7O_nm-2t?>g3?CE&hPdGoAEvg`U zdaV#K+Va%|@g~I1xiX@iqcObyA^H9PCwnJ^>1yyLe?_8g7l&_mh01S-`78cSywUNE zFYKM+{)(WzBk;09SzFE_8iJQ!*xy&Pzlq*&vL*2a|M`mp_^8smw$MLKya|Ep7xW(H z-x!tNlWavCz9&lq@D1}%wu?7k(0jn19LYZ!q<4Xr70MHc?IJ(=7yh=-;%}R2`yt22 zqD2}$Qfgn7G4fz+Z!DSBn_iA2q&7axJ zO*$T9A^e%WST%*)T5Xi{yKh~o~5by3*h zJOz>U6nsAw=;$g>VCN_TKhN`X0FiaFLCtl;5>_1 z`KNe5eYw%K>?U$rbWtq+LsVaS9Bqis5uOWa+Z4AKUXOp`rLj+Ef!^Z*f5oE)UA+Es z_$waOhvF}fa;-2rcSkzi++T5+oys^5e?{FVh{T7p0xqqk7;LrjTPq(dU%bA4eTj+mKwsi|JeaR9 zF^L}NOT^+qhQ7oN^gv%?G9E0@m$;E0=u5=mL8iV$JU!5tn1Tmc`Vv#=fxbin9^9ob zaT7hzmzahJck4?4*NX4fmq^5ed-Nq{&;xx5IKQ%I&1~$~=vvxVX3|e9 zh#Cjn=r#<2sLNvXB|y|=G5Qi9>aubA5+LfbarzP<>ay|r5+Lfb@%j=V>N2yw1c~J1cKf0NWQ;_ z_HTrSs8IYH;#1IMP{kio_iyYXkLJL;YJ`wG`LGC4c{emfC3OEr-&OZ-P<%?Q$)<2z z|H<7P*Rin+YJs!ybc8(y8*;P~>k~ z=TDIex)H~I2XzW3jsD>--gm6YoL5$S1tIPeZ8^Me2h|sQXqoB1Q6UbP(S^(L^)kep ze$EiKhj_dxPACn=hxppjh=^JLDII2m!%GWHns!b0n-bqL>_lSYC`n_Z6Ptj>Y zmy*vn?N4o+q{fD5n{#}$-=yDb?2JmygQxl@*qK_XxU)Enu%yBO=8DARp7JG>^li3( zVsLMFaK894U^Slm{xs5goY?-Z&S$26x2=9Zcyqr6TP?KxvuCD9L_FBl+K0WLpyWEs zoH`SXx~c1Mph&E%^?f|zZPV%mCIC4veydaf;RxhS4)$!a(iA_6yP;84>Rn8e&Sl0Km~CU%+6rYH|waxzc{D z(1<_UkHwcT-V0sApw@=3VvMj|5b>orK?<=*=GxnBxd`X0P!287ku>a>7z72Z#~Tpz z7~5K2odNwXBv`f1-$g3XC{<;s)dow~v;SJ!Dvwr|*{;_Nq^eRXlS!4dD;U`NJW zbkmXJc@fY@WaTNI(+`L1*mY~T6~?v|P&PK$btcUUEaEy~t*`@p5%*zmXF8-*-R|TZ*h7V4ce2>7oCABP(4a37g$?%V`Yq01L@wLRMxWys zuAEOO%-%4wGuxPww$IsUp`>1!rLm5p&g?OO!PwfFw&ytv)n9Y3HD}2C+x?ZPgGc8Q~;bduog-L$VI^v z+a3-F!=FWe>OBH679!lWB!Siblp6}Dkt3YTQy$=P_b{9Pg z!08(roJ8s(LMHtCAA%1pBVptDtC0{z@wPJ@HaYV+Y(i}AFNB~V+-)ssi2UVRv)0cy`zBwkW929o`OkWN<`{r?B<)F6nXZmu` z+&7O8D+lGBKhu|k{=V59Rt|X2pXtj%i{E@*SUD*2{F%NS4D`(t!pgx$=g;)zV5V=D z!pgx?=g;)zV61Ppgq4H6&Y$Va!DQb&F{~V{cK%FX4u<>Y>%+>ycIVIZ{YtlRtb^k#5+Z7rMV%$a9MC9Z{a6$W;r4$I zUOs}?wvTo2y3SV2;nkGN;Wdn4m%leU!G4H(^aT5VhhBRLj?eWG9970Q#kQQ&>wFlf zfncjI=rxR9cW}79MsQQ<)ncpX_!n_oINZLVSGoOp4zCw<@S16B;qdB7`2t?pY#D}M zWTDE>y`+QJEZfgHyq=%)1-ypC>tznFf7iils_g)WSKX~&z-u_XIyk)c>fjY;d!NHA zJNXNE4To1Zhu1+Jyl%8bV3E2)vCIyK7y0%=^s_UhPyE^WZhXUae>LAosPYg0f$GoW z&iQNJygS0qT`ld`sJlnMFSOaFcAiJvG1cQY!9k*J7grxkEgn35u*-m0Wu(@aXp7^3 zJ8?@8aB$f@*0h20j~{_8M->=5v!iCh|92}d`^(U>GqF4-ViK|j&*W_=RtDplb`KDcbDlw1WifXyVBmWa%Yb^Uoh5qemGbkpDiJhnomkg zy(N}zrk48F{HwIRN=e(t^KWT8KShg3T0|>1C#K`P108-0-|d6cF2go73;+H#B;WF} z-PnIqpm=YDyS8aVL4;$v=PB&sMutah#j(;((3EU))ZvxXvJP*!5kJN@pF?naQV4#~ zoQH>bl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?R zl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl!b?R zl!b?Rl!b?Rl!b?Rl!b?Rl!b?Rl#LMPL9}=)LOno>w}2M!=9u)2nZsz2d=DejB2ftO z&%a`Nj0vYePIp>}**!CYbSF>aiz(sZWoB2oQ42475s>8JWk1FZ(oRugSI#s;!^@0e z;bn;YQp3w?;R5I3WkxN$4F2!`k@&KzL_X3GUw4jprmiN@=)s|o9NNm$%c=`F5I0t< zegOyK##*Q^0dZq3)R%y`u@>n|K-^f1^d%r}tPAxeAa1M+^(ElgwifG4z^iR7)|a53 zF4C8PKij%UUjoi-Yl*%DJlWO~eF?a+t)==B@L^j^^(ElIwwCEjzk@qlxTvj_`V#O@ zTPyV?;GDKD)t7*0+PYL<0&Zz*mA(Xg($*?{3EEys5oS4vFmvBRxy0HBi5Q+EO;Ga> z+-Un2S7mx{3X+%bgMQ&3fDfOt=WC#nY@0Z!ew)BSb#*uX7EuUW;GW^kzDfPaMXUHD zWN@bS{_qX3!FZp&D%1 zgsT0R1!rt>X=k<_=EPDN&!HU#L?i&e^>CQCJTxNhlM#TZAuHFP{@U@Cn0%&OZ`4@U zINNECm636y0QA& zX&~jG@JC!2o(<$*)7}~}8wlB3K1#X9^UZ$d_QJAhLTHVe59BEP5kR+)EjF}rU0)|Z zX4e+LCfcrW-Z(Fo14}Ge^L*Ar02X)bg>2qZ`Q4utoN3VI6CQEBS|^-&dpPTTq^*!sk8+K9Y%{R94LI40RF2;jtdYm>skMqx&wU?ckb>xP${ zw{BM6dgq|uag%2eS6dV*CqK4c1Ea~7$icXCq99duGpjxyl78o) zMz1`+rB2R+x!8#li`z_&O)}f%f-!c#~(XS)gKMw^**>6efW7>X8RnxCfzHi|m za(%j{AJp%ieS^*Ybo4M1PrBA8S<*Uog3Kc>{E{ERvJ)>J?8;AiAT*BOm7nx?o%u-* z2E%@*il&*7g8l;sry!F5{C^BnK8;BMhq#B_PI6XKAtVB;!sr6~Qxn{)A2yKnpS&l}nNk=gphP9kuznHGDJ|i1@W*I3u4bfI+U= zLRmi1B^*bT%#r&vwpc(8AvhbGwJdEVNh@)kh--~pY?7ClSxHhhz?1JLkV;6Hv5mK64;+Wzb%(mZtR}-qU z-+WgyE{>G;=MjPLz18Sz--4Sge(G3{Egf}_@a*9G_?a*U_StJ2j1ILu}hYA9C@i4v+*X1*94Lq_qH z$eNr32fa8w0pjs(LF}CW_y2i^br^7dg0`Nd?)9LvI@I+foIV zP`7!62^(!cfWo>cUl+D^_cuLWVzI}0C`vM5xzRJJmGnC2<5^fRIETAHGOur&1x7W@ zmse$lIP~ho8$LhWnOTIrvf`XuS2?1?`;p3P56|SK+oJ{lCSOzv*`=jr@^WKSEZoD` zyI_Anr1O%tP1nUU!%r2mcMHh(srkDQ&m73#bp-Lul)q~^gU$X-|LF*rh8rN?Y^b`{QBdvcrrRY5N{(IDA+XT&r) zcptKX3C~qniro%L@Q0B8IBWyc<&I%&4=SCu4(Rz1QzdpUAj>`kPe{MV%vg`%avDx9|zCx(l$dsjhFDlt0}QKcGpF< z?h^-1vP-UYk)$RL(H4k;euMos%z?B`pm~UQesZXDzM3bj>vSTUvwaO>u!^j~@pLHfZ{AC2ud#m}Jp|=_RhYbA02XqV)*SPbRyJ!w ze~o3%8k78J?9@li!-f7WYWqSZQ$v9v^RN6a9QgyGz!;5Z029pKCXsJ~Of! zw)KzIm%yS+@mPHcEV>j&>r2qK{%Cy(+SVVkBbv7LhwO-^ZT%rTqG?-y$c|{*)*k{= z+SVTeQ`*)avLl+d^@r?;rfvNpJECb@f5?t#+SVVkBbv7LhwO-^ZT&iF+g3!|`a@(b zZR-!&5sgKc;t;8dT~V{J%9|8W3^#!TfIVDQF;p|$g~&_DNMI|Mm-m4mKwje52v=#Z zEdp=od{R6_z0gXyyzJ-lGH@RzFY$IJB@z|#@?-I7Xe=@~#=)Io97DHxfc(>lMLx!= zP6keBV+E&aJ^C8tCG8&=b&GFs|G;UzyrlgDr*Se6q?5|vsd=1zh9*C+yws(jKc-JX zKis}MN&5#*LqZ3bMLXcm`FuZfg9|9PeM};;zxGDkYn)R&7kDo>#!_HSBSa_G5R%=l z*wX8zP7Pn7nPAUO_+q?bVkc3l56k_wphPon6FN&f`A+x=mz{>d16 zV$nYtizgp|0@Oq*(e4l9`0MZUU2^57&g>Xq?Kq6b={HC%yD{5*5343x`PEftKu#s{ zOr?KEIt0w40SrLo>NdeGH?RTy&qyj@)<3}}J@-c@{SzZSiPb+DLr*OFCu8yCLkvKb z-O=uk;`Fa|1IW#&ij`W+{WxdVXgkKIhM&ws3SvKWpb-||5;1iFDXkJ?P=Don;Y=*Y z%yLZ35LIAdIbsX8O0U?aE1Ou6nH8Ck1VQ&tdyoCTImS7L(3ipbalS4#Utn{#H5O<0 zT9h%j(;2)b7L7fUv$`-7K%;0^Q7kL6@K%g2bE?ygpQf}9I(c`;cx)r48?`;Z!-Vsv zl{0gBHM&;S_tYLv;<7A5scPlKu|J?Sv*8N!smJ&RMi5pWa9CDet=#|n(LT_X$9OEu zaK^kzY53Io>3r@Q3!uo{WCDGc##?2kEJ0(_E;6@wne*K%bc6Vdthrpl+r+UJ3Y~GT ze!&|L^5=$cX~h$LnJC2YVUK3U1;;BmPy0m!nzbhdDi&w*Lb$}v)#;uU1_TIp8it{W zI$rd@9EXY1!N`NHZ%8e_rva3jS&y?f3O0!oCqYj_{|B)H75iB?;jQP__(Sjily=b@ z8=$earSqbYYbe8KhvOk3jlJ2lySM4msx@PF-G=gQ3G<|FOVe=lQ`4T_rptKzDu29m z9>%>iEpqsCD7Z`0q5{vK=jFXWa2e-OSL~^Vb7+22p!qFrv8mP!htCcH9h(;T%p*QK zYw&fV(}PGVp^-{({LX$H>JC{1y=7txKyU#PrmYHE{Tpd-u}-Z8vTEU@hCluIr<~t* zwH^F8FTxsre%o%G;Pw+~TY(Q*100I$ejGlJf8@Ux&Om-X<*28{U9B~Km?z~6@Qs!) zfX=4`2f*+hO6SKy!1iRDTQUL(|qmKX6&ab;#k473l&acB+_CBm+@T?eG zdytd@-iNOFJg~reN$C0oJCJ+<4by30)5`eiTN#JButr2D5=YQ^U;+k>{hiSSgGhow zJoqX{gWYNS_a)r=ioR@l#Hz6N9qIPSNQlBMzz4+{R(7#TPeuE&2fO{ zABhRC;rzm@&VQpa()oqD@%sYv&)d6(@n7voNuJR@YnwQ2`Lf)|kpP3gLW74R=tw=s z|3;s;7z#pXL~4)-S}!93MyC}=^L0WG2qH%7`{D>RIYvoTGW%>n0%B z`NOo1c9_n{w5%lhCg#9{X4cLWQ73VBF zFO8L2C?x^C?c;AFcLC=kJT3SG#xHI9q5Af{2>Uo!anvqwg$VCM^s43C>MMo6GVX$* z5aBIzUW#m3PxXDkACK9E(`qBU^YGaIO?uqVACKJyyEMX^n6?iR=V^GfqT!NleZ#S2 zS2UjQq(2Dmw&!K+kqYtuJlpS?292l-=@#g_Ik=&IdS~K>cPSn>yaN{8@Ft^iLyaI` zLWWx^#Q*b9$en|R*9mG;0giMxk(&D?Y6SD?MHY%7so~C+eI!4)9|tS}7|{kJvgREx ztgV`NoR_7B*cJ%+YP2qGlSz(yN^s9EN!#|YF484?VTB4g40}vOHd+l$L(fWg1R z+&Xi#EK(=htt30y3FxnmNqj|vkdA&zE&b>){6w$wv1e%04SgcNF|@)(`U>-+oO_Jy zOkqYNPDuI*s&L(J=p4I1+E&uoi=nQyux@WjpfcQG=rCoQxpHDPpn1{21uu4kqb28{ z)R559VJ}pN<;~WAjC*NY2kRtzfI#qlUJa~i0fIaNfwXBMCK2b8c)pJ7%c*U=72d(t zRd@m^<@B5EQ_#z(#?!cU#DMx1peNq3R;NFD?ZVEnJgbbFYG_#dcEIDjE^|ahq|QpH zAl-=_Dx@a1yUGMC@&SuMX)Qd$-fWBw<8R{~FB9Wmi3-or_;Ev%pMXv8R(0aN_Y7bsyCRZr>P{oAFQenu#@b9JJyCXeoaeXDVjWx4d89K`7&)1!d>gebCkdvYfh( zlS#J4!tszl-7q&6J$)nQ{M`I_Xk#6~k?A;$)HJtb8jxULj63ECVR-)ZsJZ#m;4t#V z972;ouZ$X>V+TB%5%wg*n}$y0{wQuTw@06i|NE9_dCF{a8%0E9k32G9W0=% z2gir;cV*M^VMJFp76j>n#Rj?%;o?Gc9w7`1opliK*UP0`88@}=vs-X*M+MA;a;4(} zSrg`w%2%rZOiSy?oQu^gDA>D=)k`XrkGr|0z})EeK6IOM#OeQO`eU`w9c7E0mT_Ks zYLAqA9_^x@YAjT36_vDhNY8eF(H-|t7xX$#5Jx7H zXr|G^HW=AtRQ`yORh!rbGgV$~p~|b#kcCypQRQU`K&~&zunRX6^N@>7Z1a!k#w2GO z*%Lp&E!+G({Czpn8=2P8_Qcb;cUcq5mHZ1A0c&HIbv^H!b)C4_#ifp4o@hd8`q%XY z$r}3C#WTi;JHl9Tw*{A%G2`LJT@YU|JR*Q5MjeR6EYumy0asZW68JAQO`9qSest}5a&JvfYI_|)`tQNV@B;!2oGBdN997Y`6J6GOB4YMaWBsWoS*b}@@o2aAmlLDIj?-K&1 zDm?E`tW-Ycz4{Bo(^Z&QUa9=R#|JDI*2#Jk@lFTv!Ar_--I1a`y<5k1dax53kN*o6Vk@<0Ur}x2m6P)9*Z^S+p8?M6K=)E^vKmFIm7X#9d`hGv8FP` zWi^AqX(js5Ud|;zEVKDr>IzES;OrD7s+E@lCFTo{$3;#nk-WJ5aC0YhvDV^u#8oRz zqAXkq9sISF@1_a^HIKl5$Q=T@;|Lt{5uZ=y-Z2jy1qV!4+p;GHo3T_YuMBZ^2=%Lj zmy`KJh)c!K28IQWL-(nMB-JZ1@S70IQuSy6&qn#79Y8xlruQpI0S?*og>F5=tL#nu>h|6qoNfZ}^ky8;wlhVZ^E?lZGRAB7wy$_Gg9q-U3 z_N!;Ow95#O{heEl2gO+8Hb!#{C0C@xn*imtmOPDUOCszhSP*& zUzJH-RVO#tGgqx+=cX=RUw=!~auc0rv#O3Y*sCl3bw+=xt;bRqQJd|bt30=crYObx zHFgeOOS#S@ZQV|Qmvhsj)}%UnB4FiJRKlV4`+w$cZ!AaB0S-|=>KC&%*WQS%P$H=7b z?a3^)Ooe;$yY7|)j=#g?$W@7K3l(H-R8X#~lZ))qONR_cJn|Omt>KL{f5v%A@D&k% zK*~ETn;c`QlQ-du=Tem!;xixwxzp z50{I}SH;5z#Kk5q4~t8kxCmfa*NI=W3J$s2L>K(~G+FyJ%J7yr&lY!N0Mfs%C!Q5I zxO)M2;_dT+yB7m*Ukcp49Ju@Uz}=3(-D`onj=&heS zl5@uv`W_k{3|TMPp7fJc(O);w%~LJ-%LZn^p!3@;nX410RwS)KcGGlTJJ=uj&^Oe{ z)%MH{>yV3fYV~@_Nqwd&Dxi=h!19-WLw%BE>LaV_VUA-N=gF^eK7Rk2JLK}^tg2To zUr9?`m*CBnYkJv_=>v8`2Jfjk$^MZ(M6bJ=cxO?26C9}ykh_HN`lEvsXT?G;NZQDM1l=0wi6Zdcy_2JE;} zpL1^l*1j?ddg2esyLxCG-=#T2OZ8c@%m?-xsud1CipKJ;q@GAEJE=_G@>zK+5#%Yg zo`&Hg7sRr>0w6U2!=c8nNWL=wR zEa*gp=Rv%3UK#_dLE3mP?rjUjQnOTKZ^*6xA#*&g?YxEnAW zHyn~)x)96Gxrbumk#ME|4xOQcka5J^d(u|OHg?JV!8BHNP}&Ncw-(`YPy-MDfcFDp zR$eh*UYNy7Pa96Mg1r;>gC6D5ZU8E(7+ORBq}*8Ph3;`7gScKDMCTkw&(x}8%~yE0 zd(iFIscos`lG=CLt+w?r^9{Ub*l#!@z0{2!4-UNN_TY++8HVsEmip~L=X`Qiue5dl zz*)RFr*?C;=q5sejvL;dcD9R(Gf{TodTMIzI`*4x`qW`&GD&DA z8i&3v+RrOui%Pl#a|^J#IuwlP%Cm{fSH;CHE<%sVdw_mrR?cUGQ}eP|54%E3AXUEl zDhl1lq9Y*R$u7I!H5x7(j!G|`iFAA6n>W1eJQ2ZT2}LlAeriR^TiW;MLsksp@G-nC$NTeSZJkJ0GdL zy1O2yPMtb+>eQ)IT__Y&pSk>51U$#t`!rJZE4i1^|2$(f#w&T}mAo+fl=VihSNEqy zPNOl|r|7yg5s{Pa0xgtbO7Hd@qk+_vcmk>@C2xo|G_r>wYoAKRhM;rc3W+B{$utyz zQKM@Q%tPlrlhk~cN-G}*W>{$k3g3-9f~+4^uC_7k=E0fK_5P4;QO_T4H(w%|A~3+} zeDu1m42%ahVbj6|!}lW*DY4 zYU=X&hUh7}{lxslM-#LFLJX(_k zwb|)Uf6RP-S`gw7cu4I%o4TSjn|x%}A(jnOCk!Y%Q6Teu}Ym;3*wE|{PP=!Wt| z-d?Y~Wy@Qpyk*E+n!HJ3@JeFvmdTesd6UH8mBip(C10+Vw;Fkq#Ne%!Pkwo8l(!~v z3kKZNkbV^Aa#b%w)CMd~I#|N3+-ZpbPZ^C3uP z)mz!+q*7bG63&r5%uFO0{Tjn=aDU1!n%6^IUphho^I#<{qF&%qjC}D`z`@kbRO<;l zzN^M>F(1N;0<8-0jfBOll2u%^W>U#&CG<0@OG%p9SEc$^!c-HJWvnr+2GV$=^UlU( z($FRG+8XYAoUeEB2i(|H<$<+`9rk~TC+iz{NhV*P%^Dq8n&l<=e7%=7V&w|!vNdQZ zUgDZpQq0%8lh!X`zD(AbJ#VcSg(Q_wt219dFDc_|(Vi~m!$~|E{utQ;x7kt=}-e6fXpf#v$xqB1@+>=m4X?02EGU&&_@ zmS}xuwOE;XT&&pCV2t!}txn2enXIi!{w6Gg^b#kcC3G1SJ`Esm1IrwteCEIDi7AsK8A@^Fj!Yi@xZeiAF za)tKYGX$t5o-A;{r>&5$*h6WUHM7Eu@Dv3&th~oRfY4o3E{)degUJ?w9j#tfk#qGlLVa-y?e~ z#1X@p$ij1a-HHg7Ut*LKEJLo9nTSX^W*|pl(MZ|a-!eyMQsBmk{5_|YPB${cd8pIX z%MPXU3wSUequ1BVGHjvc)3J>!1;wE~m&`G%mk@0PN>%eAiuQX_ujac`IJPdE2fXHf zFTizEm4etmWkRwv?8dVD8+_V3F9_yf?pwx&Qb&|lI@<)_Xy=(T=6BnDTGG3Gk7`(qKLGQx>V4_dZ{xoS`p2SgXsuZkmKCr! zd=JV|I45lTsIeM#3|{fVh{p6$ZeP(7Z^?>E&3#HDp$O*!4t*p#W7oq=!$lHlMG}QY znS{G=krbwiyz)tOzHm`7J<$e%Yw;r*&tZFm^}ZQ=nKP7aRm0>(a7p%Dzl$&Pnh#^o zWVSuvfKFpww$>nfqj@Z$Fq?&U-UGyV&M2L~LjjbC^#prHTAnH<))lxZc*&xuhw+I} zvvJF|;887lgLrv}UY@nsf*6T$Ae1-Q`?R&UYtF^OrPBh_g9p7`b8=$qic7Q<**Mr= z+GX|f8?d5(L#V=1vcjkR>5#w*{I@#k(=w<0mQ3G{7~hrzFWCcM7NGmIc_K3#UzUxy z*O$cBW%{(AOpZF&e_L!_zEA6wrN-8IW9u?v>(YGMS@Fis#sm&)oapj3=dn+=<~$Sx z+7a|9`EDAvLCbgV;a$AtNGE`MqVeZBYm{68#WhfKPhB1Nl ziVSi+mzB=%aRMt{Dp78gulcmviB(fgwD=SuL4zOEv>d2#bE(~5t zQ`$?XA?xMfkNeoPaIQ#B%UXX*07d80Aw;H7u9M|D*rH@s=ft7YU(>US;7(cHM)%k( zrS&ER3iT|))8Nd_6d_AFD)xFk?giu;vVChg8=0hwqafkoyZGo`9?UfP&qrwAo*GL~ zTDuV_tk72CkS$aijsvl?x^pwZY@1QS_Gx+YgLz+`=ZZiG5q0M?NTuTl!Pna^ZbJ2RlK4rpOmXe1Mrq@o~O2 zgz*V5&!ZfGNxYmu-7G%>)YLOd>xXh|u(Pw^m9P^0CZnWQZgWG2dN?WHZ4uQ`T50o~ z`F${_a1pSGTFfMk-y`8746ETHF>Z#7?DQp6Tan$QWFwhHuCZS5ZR~QW?}hs{F_jyb&n)w#bkj)vh2HIHW2%rgKE8_75gPeL0W|e5tUv*Of2{&OK>`CZYQt!T zNOcfFk!tm|QoS)bRU#hH-z!QYsJrNFs|fw*nC*BD{&p;Q#Tsa)PB?^)fcMc_)^AWY zqL`qW&$UJ$L~p03aIPRJHWn?`k$P58rez9J8|E2c--JY=9IK$b>77)BRqeCGIH;yW zJg}j-Tses)PvVEeun(}mN6b*YVo_Q_6XbNbs8Xwu<%WtAJSQ5U`-h$Wa0xW_+H&~; z>j-9;?@zC+yN;DwgiA=11HWC_5X z0Q^n)z)r)eSvMD+1TV?YE{xiuq1Ew(x|IMI2Sj#3yaLoTD;H#>c2Dz+GIc8?H6+>t^Yt-RNL}OwXK2}&^P81&qlML zmnOv9kjsyH8{X)-)bJRVe_#|ojSX0$*~4`!&4YM}@p^*qIVp=GYpD;djUHvytF)XN z@QNyltvmZs z<(&j-W7O=BARW}q;yJH$Lf9~cvJ)y{qVNm(!Q7|zC6IL4U=CMmTlCnr84HnZ>Y=)C zQ=6kf9V7^Y67Sbx2fo4coREH#(+`mK$kQI_Nhh(l?yImrFozuXdyXac)VVl@j0&wt zW=td#vaJWzP`)seTQ`+-%zf=Kb^)Fu?EZyt%+Z9hL4YeDAIykDHgh4`5ajgVRIhlK?m=dkch()-eI5`vt^^mbjw7;GNNq;fx@r(#US2}M+#OMrB zA-hNbu_)$Z<9l6b4<&b8_JX)b1P)co-uG$WX_ft8F%eB)i+Bj`5;u z-w|4zi5RcT80{DRUjbvrLa(~d$Hqg8$MCI7euF9VQ!=FPvo8z$78dC-0B=vdwC+xJ z*vGE0u=WE%sunUHU}q{cTBarjFtR*wMk4Vm=(eF{F64T*%qz4k1rJ}+Gww?RTXM<= zkcTzm!o+V9JH1-IOp*Mw**;BaRn6#-*zxs_Gt_9V)NVxCXf6~V@|iscmCoHH1lQ|7i+YLB8YiYTi2*>)$E`kX z|I>m3&|XgP(f7eelk3WXVGAhAZtkZNsNRuTC;c-?@?KX+ui1Cll7BkZHBk!f70-i%jr5Fk|4CJ)F zUT(!?Ae20}))cF^#h}AHracZaCO<*2sFKqd&$!aL6Y+^jnIj&A@R24=ksLHlY2^y- z(sal#+4w*Y*%mx}9S=s1x3pd($43yO&zu;EfJR6}Z>8sHw?*#8v!1eiL_51*b95c%|( zEjco;677I!O5lfJ@M*i_kCa8^1w;kaH7vuN@eR@jmdKQuTrp?S15m#tupCTAgQT%~~zr7cVpq+@KLwQVF z9=t|VexEWiJEC_O(NaDit)a2cY>#6!`fUR9M@Sd7Qm7F$qwaS^EA<@E^1qYa$7uQA z;Q4BFG`RcBH^uYR?u-L3Tgf3GC&uG=Bh~$>Z(35Wx(}1C(iK|sdt&4kldkB8B2JVH zX^h`QfAT?^3_dvv=CIuv3B2CP7bmj|vkv+lHcMB*NJ)j3uEQKIidykT>}=F&@8)=Q z%;S8q3zL5+lGL*^)l1g;>(XQCN22$q$D%9MkH_d?$_zH4>1Yc6)9{~(e=q)v@$bWb z75-OY_UIW5oPZMb){yO}+LLm1`s~46&p=>ojj2-GC~$(lV;&bZB@IQR(0pNKV=#EY z3e`easWndMgH3`QAQB_;>rX8-FQKU6l2tt1d$AV)!gDkd44pd`p7RjyF&39AW)AY#t@j^=j|LBbdiy z_1UrdOzm~~#ysLxpY)pi9t^MP7lB#SCRYDhtbR;ujc1b3j8~S}09AMNfwG(r-;&zb<5|Y)Gh+2=+U_?LeQasKE;$>BR+Fw1XcS1?WOXQ=drce7;{3F%Tr+r;MiW<%j z)%$?=*t*YR>&ASVLyx)661&Hz&5%z;m_KDb>8(4-XRGHEW-qn`zA7u@)6PAi7fTiK zX}^g-QayZHpL|4PU)^jI?FAg^&6Of(fkqHQT5@`f(1wpxBWA@YK+eNIT@QdU)zbMsK$#Ts@=02mw#iGVD zP-6nkr@hfAYP`mTx#JcYR-XnBxJ}=c8}pw*|35?hUsf|O>tWIVb-ncj{SbczfuLEn zPNDojg;|&=C=K)@hB*J66_r?p)xy9lOwrJ*v%A?77CekGtgYo+KV!Kzx%qB_gX;NV|7|?GIdxx(XXg~z zC9AzIGY+{J!Q6F)_T&yxHRK~!H74q#4r7sQsk8gz1TwBIu&MjZKs0Ow#lV(+QTg%s z(LbbjU+i%y1*1yA7#kVXU?)wU3NPIbo6@1(;BYW8A4$Z14(*N$v&$WK49&)_3~b?m z2{H_jVJhm`mpIsbH>@oa0%xIT!7dC>U*e$hgC1Ci9>sh*@l)m1Us->>i?V`|qf&4w zbu95hbh>$LF17!}KB_ndCc_V?t=K7x6;s}r&1*9~7hr&TWhY!Y#hMyYFC<>dDz~xz zqyl^MOtBX+`q!9v@Io&J)8%TPPc$G|em^zFANq`(t{ydcE;IPANj%+jck1QD6WmFI zW241$67R;FZc9BW^E{Lkus6K{@WF3kaa|nPC6(G&kkK7~ZQ)c%%c zE3Mt^o(;ACo^dR0DETKt&F6e2Yiy<1b#O89yD)9VX3ONtSh-W(?{4o7B&mI_HEPymJkT*OjG z8*Yvapib%C#v7$$FI93Ww%Ryb=!{4#ob}#^S6+4q{_2z$u!AIESHokTG59)Ba>pW2 z)SFsj7B47-V&Xn2=Iv_uGc1UX$yd39NYFw>-%kMCA6=rxa*+z&o~Nc6|9qPJA?U|& zi8_~G^-)D`_<$WLlGO2o)i{Tam+K@iARY7h`n%9iM+eL!_vsaFxrBUB zW2)p_wR=qLI7QDC=)(Ozy_$$8>Pzt)YWHU%-hEUha9PyrZgou5>yn-q;*9HY0O>AK zj~j}`8+GjdT>|>te%AlF4YL#QTWQPSQon4!5w9Lo|Bl6x(LvY*_gse`BxGZSRR0b) zA=b9;U8D!uZ6j1I9K54f-wfPqM4lLrC)O{Utu<-WXf9K!HFil-yq%UPl2>Ap!sfc2 zZuX7h=5V>_$!WTSZpquS=;j{ChCvMN>&Ya$2COF+xVecHc{#R)V{`cO3|5o|$F~h2-B zDQyP;JegKK;o`Y&;*U?kxWdhItsJ}23(lE)_(M%#Eb|sQlO9aoy&7rAI2}849{Y5) znRdd#nKm5iYUY?H44q{nHfX?3KZRAzr(9R0z&uA$X~Bh+pCZru<>ykdd@_u#k~&Bx z{FFf-nRc7I=`4l*T~x&A$B(_g8cvd+3f)Im_&7qTT0^R6a_YXsL)cdH*A=B&$@k>$ zpK1+Sj==C7QF4`w)w;u-qHW&Xzzum&?hYe3!kuwL%5bM)T-iz6WaU?z z5qcLPbg)>slLQh9g&Mq}>Q5`ym`h`o*~k@?{%N;{#rAI2*@!sdPFf|R-_$s|O&9|L zLdo{sEx}+AHu<0Q{Bb55=s9am?KPiFJ%)Pkj*XAQ58&u0k6uJzoQ~e5H`7foeWPK{ zdDc0A+}Q?N^aI0Wo%=<=!8*GU2zU15ia!$v^~2Q3Tg5tEcxD^i;xnNKErf_ZgdP;3 zGKAJHjn)qmI$j_zNZ)sI`S}8NXg*<`qE*Bo|>~iCZgSi4xB9P~U z_|91yu1xMMr~TLEax)L@zy4Kx|1~9MBC&8QViY*hA4#ZzNqY;$6iw1XMTt<5ijg5I zibCox30rQsMFj9V+~SBQXtC=d{`?TWaCVBWwSL}MixK~QNFhX9$K@{XIBS^9-@zZS zXG8$h5ky*1xbOlZLe~Ov5*+c;Cm>RHQPa!_e1-oV0YpCJpBFGaRm%(go-=G8St?@B zC$>B6q8L#dc0S<~6BS@BBJwNG;tPLnBVC0f5{P|AOg$e%k?iT&gSRHirC-TAj!kN8 zS?$%6yD9uw9fnvcOiF0?tU#jD)WFVBVDGgV$N8LfCvrSYo z-y}-iAxeF+78{o^QD5wrgaGrG>tzatQD=exZ$fh$+(Oj5^a$zbO?yR92;Kz3m zvqC4}yQq^x$Qew;t{-et%v5s2@Jax2mc1h40Nz%LLlSY2*cpF;*c)GK0-O ziws{8fo-D*Y^R6-fjGyW)lo~4a~w$>G|JT_!!j0Tu}r*Xuh6@22SJ5DNU(NZ38i<| zD=s|p%H*V1h}qQrRXh>BX5yXNLC80&uTV>v)DGg8coGZ~duZq-e%PCDgto>*VlN1N z-AQj)M+$D>2wTucH&D$`RdHnpBZgwa!YY`d2q6!9>>m2OxtWivg{5P680Xb(o0T@#WINJ5z z>`?a*HcbAna8CVLy)<3vTn`aXDB+cVJfx_P;VG<+Ark$NijB|Pt|7<{C+!)gSG)@; zAq!x8?j_~T?a$%~+jz(IUBa+(c`dd?bAZ37(b8Gnuzo&)= z%QlgooON!-Roz>RtI7X(NQ}jhSJb_-j5ZR9`6j|6r0aGK_ZqiDAIg`0O&`kXGi4C& zETfwU`4GBWgjO5xRw2}ncafhWpfdwM$M8rl4+5>k!^MU!AtnI|+J!g5e@HY1kqKKZ zJ2R1RHxzrA3J+r!;f`!PtY%A(MMB~ddcdo{L^xG+qt)0IbdwPZGHSN(fAMx}OgjAmi0N542cPAy>{w}U; z?2Zv(AW!zM1{wYV`^%L#_Xsk)U_Q>b6DDD-#oK&Y?C^%Xxf*J*k5`H;B1@@Q(cbE1c#FH0(qOEY8yMg)A}ClV zTIDqX^9}*?kbv301TLG9JG#wp0k8Rj^5$y-;-fmGm>WMKiy=7s!1vpa&{0lMF7zw; zhu9_o=LUi^I)g7y!T+BA#r)uxs9rl+avW8d4uT}dwx5ObQ((D zF(r2>t9m%8d?eiYHkE*%aNn)8(yGmbH2Mq-Zl_42km9jVhvHx5B#vI8)!s#NIXvvt zLnMPX{}%FPCHPv*r;DM#m0~C{v6e=}#J6xz@K$6aA~#zNnf15-SIVQi(N5?UI-_`< z2uFy#)VSp%{zND;?u&Qw3@Hs$ifBqG_p&p5x6p|n_j}r#2?nX z(sxoGtDnD`Kj}hmDs|&%8gdyBvfc0LfqDyjUR#NG1H-(F7!=<&j4Mo1;5b9}r33g3 zcY)ZMJOXW3;z+#%k=ag)%w%Nx2oDuX`wtOS-9z+6_AVqfv@M>AXoq-SEid(hA7x=0 zIgr?|w0;Ti`D^RXLtKeHrFDT7koJzV0qh0A zN^<)E*fOcmI=WFvLdO8X_1u1f=(!JZ^$a8}h5HQ^w9Q|kj>g{+3;`2^oLaunk0JVa z;$c*n?Jr1Bd>?lFFl?x=DmuVOvPM-Z)m(j zG|_vaiF(Ab!T!J5rJ(AVAdh|=vh5Ao7McfjuC!Pd!j7dMz=;H&A@wAHIgg2E7G~2I z5-*36e?To&e+$jLdlN^o+J98AgGB7X9#e8pvP*(Wi5I}{ZEH;6+RAqd=CxU8xYQI% z+p{+i$e_x%HIH5OkKXO&~2vGw9 z`zS>5?RMnGxr6c?z2h*XbEROA4JrkFd`~ic+U}%J7w)(Wi9RrkFke^8pYW5X`5jIg7`1b}uca>QniBsi(y}e)JE9Bj*G3*?gXw zd=m|Yo&hP-8dI)b)=99k4FoGhIG5f~144B>&EYaWq;$vxWJUy@wCqo3a6#|tz0bEohCpGMpZ+1ZUS6EbqR z!>dOMcNFU(_&^{B2sBRfO`CCLuVhk!j%-}R9aXrZLn7ouh@_ElM;Su&3wNwS=wlID zt-q756po(dm9;tQrQ6=S4PQaV~qmZ6}TeR`BDpYqA32^~KW%?L$nW|iO$r+v3oQt z_VLgN+>wk-#mL%0>7w#Z-D??|E5VbhU5-l!uE*&nsV$V^F%ci5z zT{hin5t`a`B%g*m;!Q^;`ld)f(V37X@q|#EPS6jS5J}l<*~mWfOPqirQ@kP?B#oD5 zaBjsXzMXo36z6GBAwL`!m}nvJR!*d0P za}7vLL*RdKMs8)B2pQ}(LJpQc5(@g~20kR!r&P^}BEc>7u@_^U ze-&57(6fOsd-N=k=x#}(gKQJM1APi9c|_Z@;wl=IVrIdZk`H$;R<`k7Dz*F^+ewrP zmH~i-nF0n)=m^zic&kq~l(xUY!-OPe`r`jDl34X8Q#5^_{5Q0LpZwn|eMQr+NtRM! z!HIvd4MdreN_P{}!thO+q^cCrr7c9K8%(%@Wwi8|E=>Ol9H^`c3A>28DZwQzoAp#xUYKH)0g9HM-sT&_f|0j@3Dr%mT zgU`L%y|)t~J9uZ6Oi3WNRiitrdkKFeRw`|8Bc$#xLn^N_E{KGzu+T2%%{JI6{ZUS0>!Qg#`ixQxyo& zLnsx07%5i*p=^WTo|}k!MqbC1n5%?a%+0y_pUedR$A3K&tX*cXlK*rjsJt;~9{gkU zPIWIeiOJuL<)V{VE5Z(8?Ojauv7i}!RG%!;piK?kb9NeZfbr=fyFyNja(l80w4?xW zq&g2&G}BGJ(b-V_V5nsqh!U7Uf^2yzNl?_)T6@gy;fRceSNJ09g#p@i;m)%Z8$We# z4I$3&<}Yr>oo{~?S0+R&CX|IttZJ|gG!*d8Ho9&I()BeO-S`d~_dF+9FRiA)(Gr{( z%^G1lp2b`CS{GfbPqDy||LNEcB8b=yAFef?Z@b~T&J;YT-L_OVn^>;8%@7Rm$I$7Wrl|%LdS@34;G?ssj2vv9&wv1$pl(Lgxi7woYsmIAsDEyu4W9ML*J55ToJ_$1RP<{!$AZTt zuirCDUtq0LJApjRFP4SDTF=Y3F}kg>t?3-V@5X zyqEY3=KV@5aZL460`x_o0Wk}gQ+7=8B4i6ruZz>TF9YgM95{OTJ-joa+E{YQ!%i5@ za|mA8*k#lpZw$`d;B5=T$V6V7N$`apjiz<}3OTog54Vu*`(kRDeo>!X{%N78201M3 zXM@6?0c8}N6RP|Z_4880iAQ1ReVS&TS7d9#T^gG5O4K1L1M^id#OjggbX?dOf}qQZ zvUxBWSG3gyLUJE`gTiLveOZe>(RlAqsRb<;U{%A$;Pf&V-jnBxMJ@vi)W$*TGSGpM zvRFq4+L(0^J%Y7i5eXm&^_M|*$KyIME!+_&Q85`-TE{RCtywAuoO`qmryOv^yoO}w z$+H>aF=D_mL}EF^=|?;v;75Lj%xF4?-^BW$3j23x7KBTw*)23u__4iJTHnxg1oN@t z+S$c^{~v`gV&{#Hnw@cg{v8@xF(o*QbSR&WDq-&pQ(zPnt9w=z;D(AXtCv2j$BE%H zfWW}342zv3(C2FZV45x?Ar3AMpfprw3Y=a&IT)^l43qJg9iVvUM=EAnLW-7EAaV#5oGm-to34{?}s znCZYM#jaTq6_^ob81g)HoV$DoyeE`X3~;8wp6C!M>}{crAfn>cbw2Gy`HB~%+*vfA z$lQu^0^ocidY!OUAv2U1>kxePIpVSGhuye>kXXll1fH;SRyX#Je%$ooGh!&O!|;LNqUuAsP^6$c~VNh6Y0! zqAn#v)U9O5g^*0)HbN;zsMrX3jZmf$N;5*)MkqrMO<>f$)3niS8vUOA(d7;bkxr`S zCPV`Re7iu76*JS1>|F7_^=7%J9fQ&L9H$BcKM=^^$*F*l(uLUWUFhZR>@cziuP++nPdchIOU zztYGpLoS45LGh*Ia0kg9@+-+9^qXYCAp1LbB|C~P4@DmsgYYNld5$Q6G{31xg=J*A zJ|_Ttg}Nl~pf1Xv^z+5F5Jo)*Sr4hrFpj`KB-XX_{NWC}QALLlavGszJ*2*ukC2ID zj`Ab|`h47{t-Vnv*8lT9JkgTzb`Cv7W;&H*rc-g1nT}X?4tF#W5co}vGchp_|3x#M zfJ3U4d|?%P&V@H} zom?u7sPUxINEqrE`o7S6t3)Pro!V>l0oJE|dCsJM|Ch$s=sh~4@M#zAlj0LnCUXZL z${~)?(nlq-QNw)z6&@d9uNrTJJ-aw>rrKUwL#tcZFZ13wjj=f9BeX1Y4faRb*WjR? zpZ$^EIzkH#X&3(udM7&FWFw`hd8|Ba{{!9Z`H5?he}gi0zK^@tlI4k=R!9kjx7o zQn33mO?mTyY~)!X@;qYV*>0R$+2qbhr_IC`?ACOpUxv7ZEcnVqJD-ir+G`li5R#SfMrYAz$=a5q_6iU0iv3t}7gk-QGstz`SqB4F| zrVo`lADDyeY+gX&f)_d@i9RfW2VUXdrS5)X2 z82h!r00{18s;Zs!X$8nc?3Ig*BbD0hAcd3vuHXjhV$*O+5^i^PQa^*J7f^($A-!X- z(L2CuufPc`0uXiVi*=6y;hDhgG8`XCxXpKa0chFoinlqUQu}$JL z3~V+~r)RHGhmR%^fNPvkDqFRm3Iy7Kj_ZYoxA=Bi)G8AmPTJpq&MEpky~FDAvpQ_s zNqsc|c0^16j19bHLlT&!V{nNL08pi(c`UXk_=R5y9 z%EE%PqnML5VkD;1tFLAm6Y14qoE~IDVpwqDgo{wI3m&|=Hv@|H^oyv>onrq2+}NGf zD&cAj&5+e-What~ZOv93DLfoF7oDDk8zx0=Iom6@&3hs<>A`GrG1q*~gV@z0aJL-_ z6G=SbMOAu`KzXs(dN2Sz2#$g(#@X-Kwy_Y}l5l~BXi%|gJs(@3f9K6Z^Bhprj3lj8 zEOhGYQFY%qZQ414HRn_8I!X0_=Y8(8LF>ZKBpz)}*|^aY z_z(uqN?Rp3cp)h2S%D->&atz@=2<#GE*qOpW-UDjLyP7+;5R&%@K&y6m3S2u`urF{ z-1-Ot5eF_}-gCA>yNRl_KP8fYcX3uM?s0j@!QKaLu=2Ajv_x5CXb&}b2%>!T$b-kyaJbJ=3{gEJy7f6q>vsMe!7NW7(E%T33!5C1kTkbvQMV> zG%VJJ3yA5OF1CuuJ1H#G4S^ZF04Hm?a5N18^8!_gg$-bi0+<)~nMdXfdf;P`PTs(R zf^|q~zY)?9xJl?W(YOWsVIagr!@?2#emdd;rV<6io*Wt<(V5%mC|R*>6DQYyi2W=g zt_38)JGW558(yaf2WRyL6c~N&74n19wu3&E+rra?>?OTLv0PU;*G&~*i&Db5^C`qT zDFMq()1ByH%X2u_E55)pTLH9S*p5_Yw(|!qd;{?{HU#}#dOwI_2eCbNIQ{&r9vps? zYlYK{MNr2?26Fc%Ry_G2TIF&kPZTX72GsB zM@@K_ABZhI7a=1D95mi-hA*Q*Q~Jn)rP{0>=)p$=izy#j1ZkfHlU;g>2Z_(Jg0s{e z!Jx2AnFEVLE6d500EBb0MZJt-{m({UA!_=34ww)%4>2ep(f5jNVH|jZU)U?sqxz(8 z#0F*aQB7tl`stE`Jtp(PxKKTsU70wp)LSy}@x z@R{x10v$@hNo-7twmj1E6TQ=m!CZ88F}TZ6ywgMbio+PI>ETVnON|bSL7zHa{V=*>bG(>1TybHGCtVwB3^9CQ${)fuxkqp1eUhL_{a-WNFr=S5JMIOlDlbl9g(lnL8^!T)$+R7Vhu|s!3g;t4Ew@A|J z*-2i`TP}6ZHJKW|09B~iqDSj`v4&c$M*xd0rq%mux(GKrM4c}Gi>MRIPRAB;@vg?? zqG?rkpln~ z?q?>(YizH9M*=Z{uBdH4;=h5+b-HD2?8K8No6?p%y}opQro{T)KF#@80zs^ziQ(MZ zb+y`Y0qCS=D3o;y7uKSl##ypc-=TmJ#2Ct>P4Asi@oLK}j*0hXZf!#V&D$;(1T^J5Ju7@Bj#p?6KH1Dgfa07kIEM<(p`(Ug9{4vbjF>QY z13CIC(8>=A7@Z+3Ds10^tZ0us4t>%-$)`*NNI?=}VCjMlD3vs6!0EDmaOV%d19Q5H z=fH6Rc45GoH=R1V9LHPQ6DnO8#6#H2=fmNom_}e+O;Nk&mxMx8Jk-m-SuP;NN(LQ; zCvniTSF{T@!Sfdh5aKWM0q6>xMm+*bf4)Gbi9=Z#`7`)EjD*&1Fww@v`#roecA$#XRy#bZB2l1g)yUR*BTd?HDm%Cst__TX&^M~m@>BnasR@(2S zv?oGv3owEZwa_*IhXI%z(e$$%u_v|MV2^ht3adtIUZnXSpFd}Tr>v~dRNXIuop@7@E8GfXl#8EqeV4!A-M30>zZv^(?S&DTb*uO_waaD;>iOcMIMbIiv3N-bSx87ah9HH>Z6 zBbAXLl49YhVU7B9%8YfZW&2Hr1)P6Zu2IrPDoJ!s2_{XIokEozHAxQG5(+iq- zI~+MmxwjL|p)ANnp*mUOr$07Vxm2HTHRQvTAfKA>CREGz5#j4kOKBb9At z#Q7P(TsqMUf!c?1bkzEjjQq)6Uk6Z5Oy3sy-4!Zk1noWrn~)zTx*Q5am-}l$Z8jqx zT0;DmXgW;t;e^u0%#oLoTbvWhyFOnfUEnGl>Q?5SAD#xJnxNnC#nwXQwkJ%DVh!cF zpmE6{MN{%k=Jv%Ww$RujuS_4xDD(LU&yPs< z$e(iY3OBq30h{;0-3B5o@d2h}?Hf?Ckzxnrf&7b+oRmUKaL-00Z!|d$68yqh(K0dI zv+0gl8E|u7Wns|CL8w6raCWe2tZg4lJgwxNqyuXX~IU<=G zrzn;oanniRPu(0Q^<}=><{5*A$3fel>lWsrJg{#vnqd8jBRCOIeGyNTkCoLdXX!o+1C2qk%Z|kf-3OFm(*&xf728Ry&T_6R`p%D9jmr3aqF-f}GpC zq3?4k?M-CRv;=Cg9LsEMcKI86%!9*|45j_s2wzl5`U@)UWq61@kM3s_`z8QM#zzy1 z$$-|>4MaQGX}lF8aVn`3p(O=E($@VAEZhdzWyHMN-wC3SeiK^Y^J(TmSg*i$Jo&%N zhTTAG2XZfD2Pv7y@3sVv7)3%6OK+)etS??9lG%_~8gOp)jQATOn~)w+To;2>3vb|y zp~Cr4I9gz@D|ngJT|Yp8mt6LWH&m}Je0t42!YAwlKG(=S87RG38WoFoFA)A(T)o3Dgk^C zQL4cw07WruAo{c)i5gAtEBF_~8_D(PkONrGU}a%88YxsUA3FtsX>01~knJQpYVHeJ z{vDMTM&}1*jS|ptP<9%Cq!vw{C0p0ompcav5jT6n#p+W0aG&_;XZTFMOzq~J`Kd6I z0>F_}6nK?4zL4KNze2lT==+EVn2BKd z0~RTJg8l`srDY5!Z*Zaa+9A{+k7RbxbBJ9^JW>Ckxo<9fw!&x4P~uqK%JgIDXJ(Bm z?KD-Tx(6G;6~s_W^l`beto_+5V;vK;Is8g^t#;$#rDtz ztl?ywdMD2xpx|3XZnSQab|P?b_qW@{2oDEFm~Aa`@fB`%1FN9L2FeHLhl}j!YkZW_ z^Mk$|a6(lM(kjvJ5)wX?LVxDamzRGQS8t-LO{A1L=;;NLNxsK=!QY9&2D7*HZYW;J z*9a~0%IR=?{)72}ED~q*B2}}T1HUO!PMrhaI~iMlaX$QuZwg-Y-<}U+8y@;lOi0WY zRLf9##_O|GtPa428Q{lpMfXYghi|10!8iRW=+meL=DI(4iyFX!y@_!CS>aw#n6{uI zV^*(h-j{SAPS?nf^xipo9uLSoXuj;?CGKmM5B&Lfxf2G{aBD^CFPdLbdSyjP1+-?< z#kAZRt><|zaM;Cep?6dgnjLeFu_s-u9-iH!rEBsf+tB)66Fm>U=_~5{t&5lwf9MKLjc}C?8Tu#9kX$}cnqdhcv3fxBCQ3AG>1N0=V$hRP0q&AgwHG{QW8zr$Sax_bOZs< zf>+vbjW^_^T#fwDfH1;?Cal)6;4PYtEO?%j66xKuE(G8O>|zU5eh#{WQ8hsZ*G#`Q zdqGL&)RfcolzM#8{>^S^5kf`qpjY^+zyaEC6@#HBd4X8dh?ar};@^7ZfRvZU7sHhf zj$efuFmFj$5zf5HTiR7L2WnGVE-Z4>rt~6L7_)EU6_`8V2c8LO`f=dGq{hVxd*TMZQ+&U;+mYURyOH^Na~6X7VYF{}pZ6@Fpi5<-Tk zxn+o&pMFz%f~>&={OT~RECNSuKS0z_u{8w!_tFu_B3t)}YUAu&(uZTwu=-r|W}OXA z9WQ8gA-ZHThorSDFI0y6xL*!^jh0w#RV)n}JI!^EL~)@+aX7i6QXBp|2>weob-y() z>jA5O3od~@SV;-IgIS@rOt29!NN2n%6Y%>4%B}D+A6jm$#4Hp3%tds_B!Md0l@C*r zN*pMoWj-&gRd`XFS!@kZ#kLDr&!?G1=Tb%IGL=%?H(sQ;R%J&~?N&=5aqF~z>!-vb zKv4dKSfSwpC01A?;!N|OjTJsl!FaU533)Qv6nqPP8+_z-TcO1(-YxJeM#+i#Kptrs z9zau2KQ0$5m|l|3Y05&=8d?#b&vR)`lm>}f(nh{pQcS*k6;jesOjY__5DlIsDdoFY z>+hiqMG;t-+fDSsTZvX!oBJht5LU1pTVU{NiQ9*g%8)~&AkBPt6Ww_r1*_8SANe2T z>Ib(XUeD+tSSpMO0>zx$F}EZMDXYYZn=`2-88vD8`j=v(P;!d+bWWH$bTbleKZR?} z)7syf*4SfpKJ7=tpoDU)He(rR6|Y;3(wAgGDrF;Zj_qu|0aA^F;R|6RcXeoyHAJ#m zn|m{$T|syP<-YfhU<$m=y@l$4IU;{aMBvZ5g+d22DaceAScCWU>QbB4f|zf+1s>jY zZ$vuG(cp*QHt(rS2wvnFe}2+a*$7&J3>P6G{USnc#3Y0#(;M884fK6iE$3`xx5W?@ zk{gNa*(jHNYLxs9qANh7yqTMgRXfZ;&B<9bB^ytIEUY|BMpV>|lpTejE}&Lvrv<_V zsP_T@HS2ib2EL3=?81>vZrqZ$T2P2Z_gBz^>RUojS;&D*=K)M2sK-)du5i2#JKi z2pw%UIr_%fBJ`8OS|fM=k3_cUON(mx%&go-USvtiZBm|v)lH0JwgiQrFv(W`jxxkL zMOtcW5CQe?+vqv+Gl~bFxlh2}plue=5y~yboHvld;PePpE}q&1znU7KI_L~96s9SVJ}vh+nQ9CU{QO<$@+l08}uaemL!Pt3h>2-XPPFY2#D%6~}-9|{p_G9`RTr-Y?OTLsFdP{PvaGRVKzX#Y$=p|?Lgll&L$|HfZv|4;v$ z?f*XF3CDo!3{G792FioZ{(ho$fmMDlO$Dm-K?mdd&%QooT;G>mS*kU>C>ii5mLm>P zmx<4A5EeWK{m-fVpcjXbyo6bVbue&R-DA2DmQMcPkXgeta`l{RQQD8s1cm0h_#!u! zjk7w7iIp5<2a`4}L8xva=H?`3tec;;$w!}{+DO__MxVYW-jgN-Yc`0HK{^p?+pHZ` z_)c@-q#Y{}Qq=7zBcy5=Gix$$f?FH2Piy#tU~^$rz(l=b8396l05x#k38q9A_kWAy z?JOq$_uwpZ9x;h(SJFy+xnzcO@d4tFmiCW?Pz$FBN7E6<|a3l;ZV30TJ%c<0~XKHJW#B|vBOPF+)K5VFA|n4OzlS6*mlZ6 z`(IzC*tFJkbE$T=osJuobQ-TVU+0Wg$98N3F31JwJKY#lOJi?~aR``oiT@pM;B#!p zR$MD$uMqxJa>A;#e-CwqoVsZ)l?+)9bpcfthFe0^a4ab@2*c=n0Nl@>KEN(5KugT(5jAY1^^$oQn-hqlttK_zG9mLd(f|S`GvO2irgs zGE(^ZXJ6kjNcRaIi7XI zNCMS+H3TUQlZ z=Z=BE3Y@WRBOo92(%3p%Y@IdK=H8Er`n1NsrA*Rd0W3#h)kCl>N9?$|-$9~@dUpCF z>KM9Bi&%=WhrOUpu+%y{qCm(-MUh(|3CSMyx$$LjDp9g6K5rD`%NIhrC~IXHVgR$! zHiRsBov0Z^U|%Iw&f6g?M;KdYp@?>Wajc;x)=(B}@WmQd#u}=mzHp*)4QbMsyivLD z|IOsem4aV5V#h?)iYBU7h=vR2$$EX0!aDl}6BOeeL>Q8`NYF-wo4>|Rpub3bAwxI* zNiPr7VM`b(G-I_(v^tVbNnVHJ+9lkJSr-N%e>x;>noD?|6)enu2Y-f$G3y!1KQMR7 zm?2WzF-W;h*wEQ*C#2vwl7($lBP-?@cR<8n#m-AWDzT%wR7(blqjtnAipD^mnD~H> zSM!Qub8h3DMNN1?%G+Ap$6{L<3l1wXYz~MGF+}$T+R$#WPx= zXO!L@`8~bIND}#b1a@ABPAs0DmC@aiJ_6=Eb_Sp#7jT(fMyxmwA?&OyN=ZDZ zwBCaUCWV9zBp_hdJg)SEe^ot%%xtVv$N>3Jz;}`i5UE9z=?aLr{b?Fm#Qq(P|LT=# z{`;ZLBBN|lqkj`-KzarptgLrkz?!8ejH zYd~o~0-!ME<=ccv6F9}n_wyjZOd0{0n&7Z^AI=Crmqnk>CY2A@{XMTu;a)f$9$|t0 zte*>cr{II6R;r@Xx*jzU`H7kZsa7yTqnvOEIBb&P|D${ey6l31By7NLT}06XrxIY? zTRuFu91+i@!eH(!`5oM!P%tz%FpyQ?Aa~!bw~L%Vm<4Ym?Q;>Sg11oL0wU%1h*J`)*)>|6Ej)P6$ckFHmKZuvdGjwH}&sH$176789z8fK3da zE>f65UAqjX7bC1yVEh@vHCAExvia;8LLqABR+G z)Z0JWB|`a^l>9N${Zy<%zg~q5oGY;4{>y(7?MJ;CKokqsP=;{@;|ENRAu&L_O&L9k zE6wd3(XUeHgf7s3Xv1tQ`o6VJHeP?FT8X*L62;8fZ(shQMbhX3V zC2=xWgyuzJz?!PB8;H!n2OJ{w5w{Rm$FaxcIu6`ctj3j*p(^FgJnR8Wi8T>cw*>xjgJh5!7|2t}{M;DUtYgn-mc>zzC&8D|Ji>-obp z*_3-^Q=Wn8scg#2O8yl{j+TT6>~q&T%va|0iEZ2D?iv`*2wB#d2N3XLyx^@nA-VAv z-lgl>6i**tIG_Ce!sinJtRjyTe)meSX;QZ&i=}5V>H#K*<6_?7raLt&wXc{ctb~k8 z#PB^}Ode5Fb3JhcEAqh^D?V+e*ug`)PbiVS`;XJVScX#w7o(lu>4g}RCe*TEHBiyc zk9E?3#~+~7G&WcS9Z^A^lSUFLK06Yo1eTC`BsVQ-QHJsZj5#=nkK5erB>Plpe-1Ulm~a+~p|NR7`^$KY zErfFD$y%hekA{gMDDBVSb%ZJn{IS71X{xyrdbX2KCKDr}9wN7pYAinzeH zuy}#SUpz-HOO?RNg$_kSU7azQ7~XRn0w5G}m^Aa8G6)|xVBbIwPME|?NK8;K=hgm{ zlxKcxOekHW4}d?bjaHK%r#$kfVJ=k@t1pYyBj1&=`YKrp6vMiRTc0M&3rV@nr@j0g zT?(YB2Z^{9vE!(Dnh*r@(ArS;S(WzNAeCS2@#=oL$xp9_W+Nq}-Txi_q!aQkXguKB zI*riAv)!0eAxWfNHZIzi-w$=mBbZyOXUFN}ogy22`9mPwCgz0lT%*`V$`zTqkeeIg zI}i|#ki87$J}K|*pJ8!^OfE#Xn)KoC>BC&Y(xjK|cnN2TAUVvC8Hb23i|c3B~d!FM*UhO2Wj55RmZ^^n-!BA6PA_rWW0lY2=h z`)TuWoMv;W9=?9a*dWb}je&%A+Ft2CjkYQJHWsE*Ju= zY@S1_Y>CpLkvx?BB(PQpYgIM`usG1XiN%)_e9p0j32jah&J)tkX&xNh4Wg ziF6Qfdf^n64xC--b}OxGFU4ZC&oC42E>=svt9PRfV)qQz5bWVxVLA}b6@~-?=G6{V zjjh6!EwU?bV1&wb;Dn(?SRF_X=Ze)s?3w|#h^A2qnlrRbM_IBWu$LjFRpe6$<#AXd zzsJKQVG2QgeFi0_ACV`3po5|6AV6&++~A>uO)L&h#25Ajw7`rdLM#g6FdZyNVb!vF zv(Q#~wiCNlI=14F|7OgqF@&avy`+X#7lfK9$nn+K5=m54nj zAd2%Pc1e05i9JX2w#XyE8eoYp!c9War1h&|)EAB~DIb&4whvd5&#FbuOSSK88jnRi z8)5Y9D+TS0Xe$IN?EE3Ue$ds%5@r4LHCUQUBfZw&Eb6Cc?SH&fyGPgy$l9T5=r@>5 zG+FH=dXdi_$GoBx^tq(v^Ro(UNlWc@nR3=#Gg0paV#BCWZ>-(U5wNa zqF`uMGGBL%BHn?UiDl=>_)Qio>((K}sSNqXYhQ zaR$SQmOUt%8*95**qt!p{0~wPmSdX{c6FCou`G})#|(SmAuJ0h?FF=K5?>)w+Lquk zuE$?oi)~w3d5t{RmXz1jRKRmFzB*E;EaK#*rK&*?g!=t9Tqm!R#e^d~Do>7wGh&=5 z4u-zi9yx^Vk*s`Jy9@XP4TAzN=B}L<$W-3R#o)VWPOJ`UY8M9II$Nv`W2R60F|6!5w|bSf3kaj=+OlkWB&!H!r{6QyN z`d|T|?FnL`%_C78lg<{SRZ7BUmv25Myv9|O1(lG{)k>ca|_?|)wWXY z**Z#OVHGx3Xoc?dgV}}-@*&Vvgie5+Oae3*1gUC_&H%j~l9#T&6{ju6)wfFfpAdyB zutS?kqdBeELtl+uu%N@pbYvXQbD|>X#OJhI4S3t2Q;5;3`~PO`T;QXwuEd{71~S;u z-%z6_l4{i0CSq+;Qe_&HJV?S*5+VszK&`JxZH-BWfEo-;0{QjVX=&}lw!3Y&)o%B{ z?Jm2v7$4OHXeNLQK`aEM5G!qe<4_y0e-gkY|L?i?H;*8-?SD6XnBVI@&pG$pd(S7{8HB$PF686SF6#8L;w*Lj?Fs8WQpLT3=!!>U!c*^ zUto)UUW3>e{|Ah;gfJO%A2-WZh1V%MrU~J7?a~td^fZt>UQsX+FWwybhnCqy>%Qx2 zsv#<#F&WIW^sme^yN9tO=MhUU zl~~jgC{)A^Gk@%ipqBqrZ7({gMoOfBq_IKfv9sezHfSwKnAxKcoL*7O>PocGQDM4f zznbD$Yl+-&zO1>p&gSZ4{UAyhvv@9%#h+}v%5!-V{QyzTK<`JwqH?#S+J5^oK?o5` z1p@5(r}Mf1U=>kMiBxvI{16)R&35H9%c-%*sj(ob#_P%Ic*dBuR)xgCZuo-s$3(UB z2rT#{6}r&=lQBY67g1H)s*bj$~etZD!w6J z_DNe=pBtS!Wd?BPiWLI8`;>Q|LDQH%u`Z)ezn`LrY^+F}dU)#XkM4-Gsqd4o-mXy4 z1D!^v3i}>lT72{KnpI(PROR86>Z44e+6cf5Szp=YrOM6^=!jAajLsf;D<`_81s^KK1Y#4yA12(`?1g z-Xr$k4YbABjJspiCu4I-YVQz68AgAv%|;8=;}oM`f26BDbd}IVnAu)UwiRs+8C>i| zu#fouj8k3A|Gj{9!F!!Q$o1QSi_qSOAmYT67*8vSO)XsBXTRkBHEZNI3U^@gJc?4%cE_{AA>gQwG4 z=SqhamcFqHI1`wf>Od2q9StowwIVH=CHH?uS$~B)dZF(2g0rCoXIG>G^?AAym8aoT z6wuHI+%(F*&z&G4>CdU33K=@Rk%>wlW$#eDN3s4$qZWJA*Wl?A6^ym%x^74yW$o#d z5?GT2e{CYH*vksW`;-F@e2IkIoig^~O3#V<5LIyCk=o139gkJ7y>I=-;!-cMY8$$Q z?D%J|S^Q^!&uQYSC1$v)-mbe?l$&K0GaCzLwII`}*_|zlr@h_`uSgxcB=5T|jA?iE z*d;INJ9OyBF8Qgt_tx2$>$2>(3r3S<5KeoMCs=`OImW>kiF;bGrvT#3vA^7?R+MHs zEqF9EyTJ5V29kT%APK~u#^MYs-E8DY+XDQ|Xs-*gr%d}P@oJJ1Uk#G9U zk>DTFTdsCOkF)yTxUtWDc}lteNMOWu&>YD>5%vI3s9^p;U;)-CU` z1<_I|`_Bbx*cT2?<1FwtzRbFXC3(W8AyJ;ymb+qly={F#fs`q_!vc$f@?|;Zbk>CN zAW;hW;S%w01nPZqF{@d}zg#`of=Cp);t(6fs8!jo$XGEd&S<;uaEX$lnT^+*s|rSr zyvV8|#dvQ1^0UPYe8xAo6vJ=7)!VTnaG|-x9r9jTT8?U2;4o9E={hfN1Vc{y8Sjw5 zhpNX4?6LEyc# z?yUbn^V|LMMp?;XOp;Q)B6EeO#{QWS8fI7%Sr8#ExwT3rLpF{O{6y3oMWc-?PEnXWwc`}V z6FyO9@GF1ecJbq+?`CnQhD3Ww{7wX0k|5kZTQ2-bjQg&xYM#zZ(+PTw(evfHE92=| z=oM#f;wK0ZsmS9cK6FKnwE4?Yy}4eR6H*?dIX_a}bR&?dcbnB0nzJWCTcFuwmZUke zJ?%f17XA0wm!-kUG?IX?S`u|hRakW({l6u&NkE#+{6KRp{xq~q+L}FyBjss^Rej;K zdN*+cGRpnSh69JYZvsfsk98NxC5NS&EVQ~@4L^`cF^7T7lGXm*OM*WpgTFuzYX0(A z>(xm_57tg)ZAhI}f$|`r0Z*09lKfFGMjie67;H~WAo|goo^pYU3 zME^xN6co^26BN*jLM$dDzEDu=v@B`K9M&s$=$b7{2qn#u4AzrEJr_SI*{n=v5C2Yc z7*Dsv>?_~tU*P4q`Nsztu`typrI31b!fTAMOWjrrS3T@bhwz5osYziv=EJj^{ zU#gGMKP2%RsZVXdf}`n8IU%>`mr6*W4EuAcOpnT#t!%`i#Fg=>c75f(Si7>5+GX|? z_UM|OdSlJ|f$D}FhNbI*4#ZltHTsML!vy@8?`5?XJUgf9vQVYClFYOZs}el2UJG0n zy&skkDo09@9&g8|k#sI_e8)KRw>6VE_5!kSl?Ppol+c}-bv3p2UXNNqn0NZjR%R`2 z76RV_EGBPVgDOkkV9@v0SZqm7#8XTU8 zEc?3Pn!NNTOvDAB7maxW7l65Ib;mgSn8IE36TvkZbD9sy`fpsav#M<#XFrTk z<8ZmetaOi|O9e;unx)(_jAOop5+hF|G#NgbiiJD7f_nR_g}M=UW;n{9;VR{CAzYOs zU=LU6)pb>#e!5;RX6reJXi4QWoj1BsUq(2)iV(@}?i=Z)`ELGRW4&ygpzo6<3tU!8 z;7ZYi!95_yi*>c;-WvN`>hz!B#+^N@mqh~t_B%3V6Ohi>HOtvIc-tSF&vM)oxEc$7 z)Cd}9*grg>=gtM*w9*-A<(MUAbEHAN3{A5m#Ovcm6x*oT~uQSu*(F26gk0F z$+QvQ!zSP%_K9umHqeE_Ls2LLXPd_eO`N}r5QEm8gc8VRQprnc5o}oM>_#G%iO#3I&m6mn*Q_GYTN~!^piUHyYcqn|a-Ww| z0SG6M78p)zcAKqU&SYgK&I!$*><-oXLV-iLnjv+zN~+|ifhu7?hOv2a*S?ecdfrKE z-(_4KI8?B&t1$Qk>aCYsM%u!h!q+w$o0neln}Y1gp(dAkqPR7;=^aK96Fob(h2E(P zJ;Lnb#*UDn0}qi;mAa?0rJLg`d~Ir}n@A&yRFmPwh9BE?ueC%p;HNI}q%B8;H}wxL)5)u#nw2Tg^XWl#R*+S(}6Aaayg%x`U9Q$6SZ=_XYdj3!XJvFX~1tmy$nB zuF6py!7dnHd1*b$gE*b}wknbH5d1@U<-j1>32mZ1LI5~JUY=pC@w$#oUE@hx<*u{; z0Tnfx;~Knq6MKyp<;N%+EbPfYv-09v%3tZV{knX!lJPxmY|DszU-@e?tmR(UnW@V? zX-g=7hEx71W82@$7NBr@{@}_>#7);qFM_p0>N|&LUYt|*zpwaM`2xw=?y0lAFQ8wL zGPN3Wb^o66E7@`ULFnBJ`@C32=JDX0>9Uc$fPmU#Q9{H-Yl6QYm4}TR(`KD^^WV$= z4E|^HKbQa4^S_AyGlF4{|7_p@r2Ual#_8Y|H+#_JzclxWO8@b|XyI$)fR= zPg23ui6i-`;9G+F*BA~0pR`%~!2dq*zYqNH1ONNL|32`)5B%?&5!~YO?~UPq-(SW* zU3U#cuz^pK6^$Ps3SW3=@M3q!q;B@A(9|uHI=2T}Bl)rhUXa13mMi^L?v;2(W=4Ta zATLVIU+8xAo9Sl1N(Q*DCN-h&(yfJVx?$ex#>k&ZB*ok_b)j2{1t|1tsiwWS%wjN;7Z2ZU7?SQ$s)IM(Awl#$o0;rGm)!sO;3A9eLY z9R4#+*ZKFfY$_J1*RhrvNLyvL#(>LbxsO;BC@r3U!fm=wM8AzgXA);iV!kgJCQIO2 zwms2#=GJHl@1nSU9%il}O5Usyr)?avMyEKXNRv?2vdy9`Os-xtl}hrd1UR^lIH%1a z>cvy>MfnGWKv?t?q$n!LzXHY2sTIR9TGx!h`5ixg#EU5&GrY<#35Ho;-%3Q{uZKNh zj0}$izJPpBa|xjo{b#kDL3kBNuk!D2dN(@XzpM4rR?!&=CdCJt328GY#lXC%S2*s1 zVH}dNusK#Tb-{2;HrbjlqeB01(=VbISs7;pe;Iv}rsRX#%gE>*N`u@n`0&^doINVD zwM;mP{)jL#;Hh2VYbdx%JT~%EXMbEtzcN<%YV8wusC6CFTbUV-$)aQsA#l{nTqR1G zt6DjA>`)o86(fBvKI#X}ovibA=`y0}=DRP;hM?A-q0+h08VqP_<+IVAiJBNJgQo5Ewja=Ag)kbJuM%P z;iFvqp^mkr!*|enl=AI7-O5Ty=jA7GFgP3OR8sCAz5`)^n6`P<7sYG0zj;1=Xvpl?~G#DS1Rp-J$N1CK^w(a=A(>Ks`kMa)!A zzj&U-c|{5571L3-cQ>?yZKwl@Ote)R=L?}v8NFlUMmY`jR9C~+YwgA+^{IaBSp_DS z?gqzuIRrV!tjIhwl}MP&aM^SJXVvMpkn!p2TFT0-v#(}T3DL>fqlC=i2v0?9Na!rR zDsMTFRZ2@Je@WFdYN9HI`dv6-8%KiPJLC0?0N|l@I`B;ut|w*pHVe3J@Xh5ERGZW+n-7 zr^517PGqUAUb^pP)5*#EO%Ex+Gn7hHv^rg@D^@EOLDCEwylbT-l$PRVMK1VZkp^p( z2WhZiix;^jl{n}kb56DW>|F|F#Qp1PC6 zqBPs_3GV2vI8;zu+sGBXNVrJTyX)iiW1EF=@Fmt)?>Nbg9!jEJxlPhfDKUvKhg)_Z zr`Xp+y?G{6B()TngWBA=NRHfsy+Xx#SeAJ;74tF=H>%eJ6wJ_)&lHQ!?)fe8LK@tzUQR@^*#2|8~=Dh`zoEmklvhhqo#;P)K=2)D3Wbk{<6MG(HG13czbI?8xn2u8{CMv?jluI35(Wm|Rck+|jwH~b*Nkg6 z?TY?b*dluJpjig0C_H789v{55_J(F@xR4$U&gnkyq+Y47ytFAQV<_C1qRycH4f71;Pqph_ovo03rn$2$imaJWDVe>~t zh6?E7Q&V#LWQtWso*8O(KFTQ>v-1V9O3`eN>;8h+v^KBUN{J3xygGqcIBRE9F3O}w zWe7lDqxG%>}rR3HJD^$8NHlbRE?GDU8-k4>MV?=d$3?@K~#xG5u__>VN=h zAs#-1eMa#2!>(O;A9G|^-H(ah(w`GmC-+apS^9jx&KCawpc5Bib@noKA5*3vhtu9= zk+=Agc-Htq*cdL=vRtMP7Q&?p63IY~<3qrBA%3$sT>%PvvF~->R&j+T zJb%gKbDv;a|K@|co?m^__gs4(4EW@gYnQRP-uoXVd3%hX4ex#DWN(f!YxqT$U}IGC zmYCVWYi5QrR))O$ty%j;b5S|r#H4fCHnXiil)XQ=)mMnVH&HTRWj=QKku@~HnI1Np z%LZ|?X)b$JY=D-%PGBU03R$1YkigY`3p0(?;znE|l5kAAnqzUoAq<+uR@;!dny4Ol zNE=dy%daa#=mDT^RlLf!!Q5X}c}-v&wu;u`{*ZS|D0>SHv1V-% z^^VbY0$JR}?8E1qySf22QjQ@YHzc8~R=Vvk9}`LvS`ong6A6NAJSjS^BF-619D$aQ zNpURf1NQzlAN`?MM_w}*zeHsEz_#cu%;E%x0Yc0cugh_(IN;{~n7Dorr`2q~2h7NG7TnWN)V5m-T(sj?KlK_--ZddrG^D+gGQCTXk0 z`Ju=siMNb^;#Q9$da*QC;q(w*v^ng62-pwqc5uH;vxA++<~oNR4DO983K)C^fC)SJ zgLP@hdq?o`9ln&8P*Oe z2LmG7 zBL8+fWZv)4o7hwCwU8Bd`6D}1topP($ zs0MOEf}Y_2R*C4uB=9Y#I=~MNq7`llgYm;3%Y^1L*JOq(^|@1Jj+ALG&ke0FVX%d@ z+w5?qI(Z6L7Rc9dWszL^DyK_uqve>xF$ILyOU%xCL^&nhOH&$#pIeI8loJ?za#|9q zEKvav#J}QYe^eWQ(E5#%yrGB0)%K1D)WjN&NAOM#>HAX>%3pZBm>B9i9~*nYmyT7d z-(~Vn{`%Hu%UyW=p?LBk=PtDVCGM*27d|KTxkKw^|6gtYtA0!lhU<0;3$ItY9ICwc z;^mFT@BSRW8;;){i{IJK-S{bsKJ?geH{qJ&IfM@to#dMplEIeGuS<9r6 zz$I20+|gSMBga0f)Js?~GzSu8Cd!lXfgTp_x`jKpEMT1<+~Ttcw{;AT1uO6gS(mWP zORJgT#~tM-tR{~&*Gs5A+!yR_`rWj^vBCp{gS_0Di)7AMd@Elwrrhdn+8IqJdm1bS zTqmkl^G2NB)cUc;TTFDlIj9r)bVHMuCduh#Jru6Y6_hz-7OLd1>53H^Ht4AjQ@ z@;~(*9z`?lkN$2%+?kN7+&>uD>9D-W!$0~<`mJjHD(CBq@Freu_uZ=-xZGo{%;xR2 zax|p=@J<(@6iR08hmqJzN7bZI#i7vATKgjPNyK{c?Faf>{Onag6vw9`rrEjv9k@pD z&(3SPqPtTM4Rym+i7gib}_gcgfrYBskc<5NO+rAWh2$rVVUVVoWt8KTxr6*KXJgY|j*XZ~ z4TxEIVB(MWIdbj(IzR1?5skNV5}w{r(y6u4Z4dxh<$1;B*-a}?1{JPbK5soM*tUX# zVt-%rRV>GIC=+Ai6%%9>vYL?U?7jmxqhN!e$^!5ANR zGL|Eo$+gN05NzNJyh!95p`aRofoybNc!uzA9#N3s0l}_0*ivP6$;5y_#Aj`i$pVpx zm%u}{_BDD)vv{oV1bDvZvuem7Jo6!F0v0|}r%Y)SUG=7H6fr00v3~|{6hNYIyT1?Z zR4G{O?Y<;MFB3_o$hMP$Tp(i;4~8DOLNsF9jqFCnE}10)Zu^ZiDKA%cG#ll1YsNx? zn~H~6?G(#RPH&xP^@6%ud+CLeJTn}O&1jssKaM2r6oNwEBtjY0Q3%b*p&7Hd=5j5u znnj}M?HnT!az!!U35Ij(?JM=*ptHaoPD|_M3brn*w-?!Ms71g&q`{dNEaaQoh_dIzPv&5dFwgZud{pC$%8NQ-*f?>DZq(V zy?{=n)>qLv0bM+BJtvQOklKprb@n%osG%&omZ!;%UlcSqWF17k2-Ls%kE&?%OmJ&X zT|>%mmcm&+d8evdG%Pu`tiXn}9!p`wwRWCzF9^|#EU)Emgpl^9RARSvXLjcsV8z{X zP2rfVkG>~m2rCB3b^(nL3gS(b|4iUWwY^5wD?Q0jDK65@jBErBFU!I`ayNJ9;%`N! zO5A%m-Y0P}VQvlUWl@P+MmZIslB0z2hwmx< zpEB*={ez?yhq>eE#LP5;V)87@+SouQ-m9j(yYE(csQUBu_S335DZrztu6aql{T1gW z8%RaInym02Ez9c*Vq`_(YHV}xRIo_-`ToOWQZfi^x!CMu*!7i9=g>bU;|$`!hAe^u zWWSB5` zIy<=!&2|M()wSLvwoKL6H1f?8m`gf7p=tVAW5ey#E}QmViFRyuqbtig&Pfn`DAXmv zqJpP9#)f0$c%hfn#*cOokJ7*wB{}DMUB`pHIWi|Axto(`z8fl<)B6rVS5dvjgU>e! z**Y8?y~hY{C;9kVUY5oN+lEt(j$cx)`WX6;9-8n9ydX(7B$L*{U>{-y+dtZ}+&?jJ zyS02YTD;OQsu~k0^T#r3KHrn{RmWSO1v37AHR| zU%a`yqCB#jbT3YN>*&`bzv9kGt-VL9V!H2I{eyKs+ zv>@xthL?RZLk0pq=3dA7L-3?)WMI-Ts?)*KAWp1ogKdLI5*DkwJmf}4aRnxG)t!0f zV6UBav+Sjwmmj07KYyorRzf+87tc}FR5yNG%4X|}Kk})wGguX^|GDJlFq!>}&Hg2p z(i=}Hddb!tesSdP$}x|tCEG8TsDgygH&cL24o6u$)Y-F?VLwCO=zMDeirQ-mIKF%Z zr!rD)fs*=*6oxp)m2996DPh)-)%JS5eej@K8zRQ5wRbu93q0r!;53wQey?++(0Zkm zL!A41`&FHy*50abM8fnsoi>LfpQB!upV)`UIPECrQ5;e93{A+*@m8~|Bfi=x;sh_w zP%{&}$GA+&&4?7na~d66puLVBN(gMR*c#6DqS+YSl4G6%SO|MDhtr}pH}p`1{j4%dW&?w>M%X>hGDN9S9G|ieTX{hGtf2J^J|cVwxqm?}L=!!z zo->Mx$Zp}_O71ES^;Ha|gsMtv6*%hchAT8UwvGh`?H5&1c#1YUngkAmk$Wf+s%g2p zqerNu^AjK{*oJv-$3|)poEPA$F7h-Fs-s4yPug()&c0g5C*dOW)adww5KU_)u3tT4 zpA_8KKOKzsB+5s+iQ!N7*dtz8P__N#_}7lvd>zA$WS>2W7E72ZcSM{Rn)`dlt_*H* z1@~)m6m|X`=4jTiQGV7a-y?CI@zEvL^BNKG+j?_%ojr|)sa6qF-RPJ{*R84|@Br1P ztu6=-j0vXkww1kNVs(8(JDs(26pbpB%%o-wlN}5wNIRPqkXq#wt6``TT}~od7>#~I zRmJEb0B3bJ&i2IH8v?7F{KT?!n-ZM7jN`KXa+W66z}D<+t2$FU#bFw!b2s_-NxCyx zJ5lj8%J#___@$_6X>XHbjoENwwYK%xOD~qXrbqsX4$0{9*pJ3*FJb$3lsc?S5kQx~ zdQM&GAHe?*ej3jh<=8)*;)IjKJmjBLTJN@I5)E&!RElaTlb6q&>oz&hBe=3(hs9$@ zfPbsYNA|h)1@{x@BjW`DRBURfk6x0$FNge|FpRU z7q4agMj2vfG!3UC8+XtyK(0__D6Hp7F@FP)eWE^n%XkPMRl0ZLSTV=HLoa85Fq*vC z;*YNR3eAg3MqYF60N$`9*~AM+s>M_{t7j+;C4e1SXPplt&Zji2C+vGv3yYK=Kjx+P zbA?69-GI+jT;Z8tE2heTv%jNnVGx~1u)v3r5f>_uUB?Eq#BNhVLRJU`G8`mgx!33{ zX0p?))1B+{<_PPIG0rsn_2@joZ8_)JFemMokD=^`a-dSFtMK8&dVxosfNgTMJZzQb z_S$ZI)WI(ofe-XmZc%C!I5EOg7zY)5z?#W<&Z&_-Vi9+QVcq7tctOV0Wj@hMT$YiA zGTU zZ5R`0sWv)^`XxIX%!)zE3Z8jF3LPcBdlT{Fj|F?y(sIZ^S9=;~=xSxybgg;%`FMpy zpOyOFPOtR$>iR~hZ-3Jt(oivERlfu!d?aSSP~6a+-?#FvdfV0yX0PkGIy7B-ie|JM z8$L?Af~T(P&fyUcv9rzIJ&{QqYWLcylloyN5x0KABa%G%CiRxqvPC(dii1W_^dcvE z@E9kyvl>BIwD@S(WUxR-qD%W+DD@s)yVV6WWeGDdw)RXr8L&?|2=f?jDloTfL^W#A z>}}uPt~=Isk#tRU*Wdd*iBqypnFCD+Lbr|yaC%d_t}u5=1&fDzew!{TDle=dk^f-U zsnD&iriq@xu8Gk(-Y2>y2Dh#SmQIZV%%-X4Y5ZLddfUyj#?wc#x?EIM+N~S{a7Lnm zISeQdg&r9T_N8`Z!NNG`o2{(mvK`uvo!1FdVTXWupLPx=$1+DpdvwN~}R0{6@g9jslk@_}$&~2TnQJKi(#+P0+f$ z-k!WzJ-iRCF9VRj6Rk`(AT~u6D1(0uh`buEiF($8VgF8;faqv5qk5auJqNpdCDD4% zjxJyRPE^xFt6UD0PY9H6G*2XYBk!+9bH$-Np6(_ zcU-drc-IBDoDH77!r1UTPT$2*#{hea_SLTYaPQ2U?su4$+x;y@=dXB*$d9qPG&4B5 z8VhTgmqwe7&i}*P6`3^+2d=;qMbBP!EFuK_H7VeB0EXO}T!i6hHaY?-*S$t(i{#3# zX}Io6a(yw8YpLYIkGzx12#$V%HMz?506`limr>L3+3bf??AsE#J}S9BrE|5fzLHjD zNXjc~8rDhq*CkTE$0nisig@|Nd-#Xos9|h4%6r*dbzO@or?;lzg(=i<;UZXQb@>Rt1VL1Gc!BL;F!Dde?eZQW3-FH9K^6_addqvZIEBzy4wk2g(oz0h>`7ao{alZJ<&&N6vDKc3qY9BnZ=e6qM4eaPt8u5v?I zQzY5_4>z@v`|hTD@0(U5+N_;!c|9kd+ZP;t!00HARrz~%B`bV24PTS)yf+Z<&Mw|} z&y98G!{Fp4N%>)O7xXS^2jXcvmdg_M!*vbcmT}M>f8Y5#DZgJRb5c#i-O_`TyW>#k=X-Z$tcFWh z8=aeZv*Oa4hAoov)kMngNy_Q5l$S6{z9cCxscHDBr2JtbWs9U-9!oiel%JK9Qv|Xn zB<;$0+72&hS}~=r;UXDn%j54m3#5!|bQ!{d#snj`B)-dDtD6~Bc!}_uD#?FE;`=Zd z>;9PY-H@8sDg5t>^}J)B;MAyVFr`ID0v&%JbVwI75&bV&wtV-b~iSW z&Go{=O%Jv>xv!Pa(jO`OzEzF)@%f&XkKg0uo+zJZJMD${d`|k4k!bJlfpGVoiSN^- zKY#wO7#uqLxu6_mhX4z@7>M!HLZ+M=zT(=UGkObRW*)AKM?z>=y!#D zt#-cNea}5KT~l|XJcM#oM`&=_cHjD2_*Z94f7 zmJfl(2Vh&8d)|Go=ANc}_@l;+H2EEA(zjlX16Q1Ac7Ht4YA@Hc`OJyJH13sRI64zAx3^0a^>BtqW)g=mOSDf)D8g!eLfR7r(yK0YP9zcf|J1bHw!B1kCYaaZ z28oDJG?S5N7bArsv8vQaR8Q0h3{TAy`)^D;Qz;B2MX5&^p@(_G;rnU4dB_b$V z2i!50LeNQ(?243FJbI<5jg9a=c|B*{frdO2B02ocp1`og(dg(P7pJo$18G$S*jWwo ztfh+!MY>qLFt4>=30FG5rxV7Has7DIsK~|llh&7R8%_y)4=uw$=#I|t?F}K8Ql6No_mw`8rKo|{BPP{EF6=qN zM9rwL;?F5H_VX%>8*K|L;OeUh$vI{z8!iiHi$= zKR`gR(p;_f*1^#yno1c@oUHY(MP8%m+oAUX8q}0)4iJ$Jd9aYUonEPS+x{Jj&Zi(# zI$&;TI*i+Z=n}K-s4nu<6HOITr2Q9)%rgg+55ZUuME;`-_wUx@XOAjY$z$4%x?m@R z)~Za1y4KFAh>fGWYVBJ6@V;^ME>QeC$5B1*MP{ku7)M6ue^3Gn=GL-9SF?X#jAGD` zx!b=(gv`f95a##n?aC}sCgH=yvdKSYtosJo=_A`hZ}8L_W5ZKC;z*E3xMt^@JVoj# z)jZ|d*_D}pT6X=jUFP1kr`!2t%D$iCnr1Q_kHi4uT+K5|;xh6+iAzl0vajioc_vhf zcqdb209lx`IE@MlYnOxD(`#Bk-@c>0%NN-~b$uyM6rL39>>CSJyBu_nAY5tsxH+l?*1>yY$LWMZm=lg(b` z+n%wX@(CeqFX{rK9IhoyG5L}+-as09qy)#qD5LNOH4e1F|AD=~MKyQiH5n2JqO>hR z^FseXQzZiZ1$O?Pte)iYATqb6sao6=PBed`xmD5cpO81{ago&v{f;VmV)R!3o~9}( zZuq>#UH|^#KBzooU_|G^mxtTF|KoZ{FH}Q%NaVYLLyCVi&zDhMCPQ#Y4?)E_l1KHm z=0HLK8y|mF{$1n8U)xah)*!>VQp!5|7s|>{E=$1j0p+1Ze#jM;@!Y7#b9Jd6&*7Df z=b(OIJf9jTWZewo`#Z<8xC?4g#i{Y!LJ7uZrv7qomk$Gn;v)mzIhl4V;;**%PEAjVJ|O(3@FZs=zK_DQf#5MN7b%5aR|6Tqk{TKdsVU0S7UiKT+`Ee|1+y*1DUXlfkS|C|2F&o6q z+#HXqH`tqFRb|7FaNcldW^q;C%7$Q@F9o?8(3e?-5Pv+18vA=Jqs zaD{Ev7qASF1K0uPIMj5GnY^hY#-G=kj7}U5rZ^`p^$?>0s{_nA!j*Eu$?@Savyug& zjYg>$`BbuU&oC=<7THBklW1MOzD0hnTP&5ImCRKcuAZCMa`${YKU%-*y;jw6Npp~w z^bRLC>GA&kw`#we{xx^Ab`xhkkqGG&ZOc!{z0SH-lxcMX1v=Yx9%hJF;<-OX?qui~ z>kqRNaezNvx4}`vI4|%gs3d5CDCOD3KFhlfBKfKxg~&%44e{n|jO))zoFm+~DE-;n zxv#ei5zMk}Fbmi>VL5cMQ1W>);)(s%%$PPLkzJT=cK#E{Wd6-@$Z_Btp+> zEma?ih;{aNUsW2a3ZQ~My|OPu8QjWEYxq6nG1Jr>tzSm zp3oyXb@t-vst0UKSJc^0Io%OuN;Gg+d7Bs4*+J)JOczojPWVJl@F8xba2SRs)U7mZ zg+_>YR$X6XUylR|8c~+${N!TfTyNLc%S#{hM{pFh;_14_Zqf}8&dT+8@K|8oA*!wc zPsnnoRn^R!7t$WxyhGzIeUzKxs21iEds{%gmazkGgV01xTDyri zh-oekj=GG_<5a;JG0r47bT5Pk@xhv+lncDp#sYLd`Pfw=*Kht@O8T-S)HYDuq&T}< z>&wyz>zl{q_j_V_gqI3*ontmg<}NcMchVlwk2QA&@=gwzJB-bfa(bsD4n8T|;dYn* zjL|V)8negPJRElC@-{`@$zc*P*!oMzoJpzE`JZiN=PIrNckv2Df~RgVHvC`U1nQxS zS#(whpOW^?G=8?_Wx4KshyI~UlG$~n{SQx^?9DMM_H|1=M#ZqPdCV_6HDlesQB2p; z-1NfNjAu^o{ew!jANiIPF_wQ;m6$caAf4quY#yd1S%X9X795?Oytn=F-1L;y5*a4D zEZCb)eZCTu-*do4w*NG*Gl}d>IgtyasOWfBnG=;$XoaV9{E z`L6Xyk@Zy>(3bfVe)IdY_W1{=6cN1chdjCtT%3`sS|T6KjgpY=NVNMr%4DplvJ2$O z7|jzcbP2#xU2T7UiHrwt!o~#v%#QQ-7RBH5z}NK-e=l(Oy9ATT6JIy;tEIF8`(7l~ z40*sbA2O&GHve;B^Z(8ek6yc|u7=>oDazUp*42^`xr8<{3e|fLYCAMSxM~`XT9WPe zx2rrQYF@)DwSHnqQc#IkUl1|LlUrTn zM+St)e}=7g=c6cjvAK&}$hB}RGLefpI#qlRd4DA-^Lt%8WTXhpHzr|Uq29lHm1k<3 zH!?u4Vi+Z1U&(YA1mTTz^B$TMN{hZMnou$yyTYZaCDC6oFuc*-4Wl1vOlc^(fXD?l zclHFPV*T#p@ps3UVeOURS26p{497k*m9rBtaz6V^$7BvMmsxqeW0C3DyNO|DxUxig z8LphAFAwQUqg+Cj^TChY@fTkIbA7{|8m8*qOU}D$`zxQ6CLq~cT5SjQeR%y-@ho4D z-))TFeJOs|6~F6<-?hi?Dj%1-aOEnwtnK>&zjbzwu40_XG65fLuO}%HS618QDls7l z8|@|kE>i?6^M~vO`c_-!%^qi&rx!uYFWZ5KEEbe~Ubd6>Ci}zsPTA+J|Jix%^LBsk z1MKsH$8KXeq$eAUt7NhXZo5rO&=)9^uGNsPRhwxA1;TiSQ`c8;uf===mucN)F8+a< zay+4VtIP!hp?OQq1=~XN8qEbyhvq$GF8E1k-h6XGe`p@jBFr|lm0z;TOM;`5j13n| zg#H6Z^V8H1lROtP!Jamw)0E2lt?OvO!*^L`6`qJ z9bx3W$Bpt)?WGz&PlV}NWPkPwk&%cBV%I`CBEsF5>_4iPoJkm+pXOy+^AfXp2_;$c z9yhn-pEhe(DQT-&`*nnP?Twu4c9Lss;xb5x84z+647gUgVa^~xEaphZ9cZj+@CdKKK3{wgRWQUlWW1z z!v4Y&qRFs{M;7;NqQ?T;?5YAq*A{VraYr$47I6oR4s!yWoHLmRxJKS0JwUW90TT1n zkNS=&m&dfT3fWkk3*M`M5 zF3#6|l`O8|$p_op{*+>v1(2E*7_4N@9;2~PZ(z`WRy4W-M~%+KGGjNA;ctN&^2H$s zYG{u$@kZo;+Ssg+rCKDX0mIfjAq`7mhQom*xZ`tT@zA6_=83>{5XH#>BJAju(zj`3 zsE(ub9{*{hV}SOsS$C8(<;~CJ%|QNe30^G(-iy&-2i^d1C>hW@SF z0|ND#d!y$w&)_xT3g9a4W{z|G__HsJd0eb?&&2NNsB?zTkOj%GmV+(rHf z4*&9KlO%s-w7qZW*m~%Q-IaqrXXw04X)<&Mxt?d}EFN;kP3)44Rvf7bTK_+Bx{gi@ zPJ4`JhMf`A#|TnGG5_6Hgf_Cm3>~7o?}eTOrwhsAdKZT&lefqqVz3xyBg_YxZ%JYt zRSfz^)gV%6y^A~;KFYfCukiGSMfR67<2?N_@@bx)l_f6~Prsj+Y0V90v*NQK#M8^A zsWF}|T4(TdVYP>@dmpQ9xmskp-ylu!MYV)5IyTT+beXQv!e%@EnjTyoU>^gp0%_6PZJ{Fa=s4~SV{b#i- z;K(#w)d&qy!wvdXxauK!2A&v2VWHF6DJ-_UL|%r=)wgiD$}$${x6ORjEa}Y}eQQ+= zgiCT%>i@r`DrXpNuY)rJs(ho@(`zkw$>=N`Wl-MdmXXkJEgmp02$%7Yl2RFbQKlXC zATJpm63~x^%7+?z)1?Yg%r7B#1s_r(SMvKo+1qq>;7s;M-j`iO=#~no+xup!_4Vy{ zVcwI3f$}_K!%k2Ua&MoYY=9~hHcE2NK}4;6|J!jay!ed5f&MJ$5Raa<0K4p;*yT@4yVQZkGipfv#7Y@!lwc%+^Iv^TaLzece zjSyEwtjm~EVy(DUwSs0Owc=}1*m+xlY6@L1VQz@E;%WPrKZ>{FO4W*|6Rp^0&(y8h zHkH#s#L*M@IP=3TscUZ2*$G@^)#`dnfz}#ci7GWINW(WIR z=5DO6{KMwHth2GjusvgQl z=YC$-+K*9@!#x-9;xEE>+O=`m=IPu21=vRZmCb2lVx@ApY)T}=TlT@9dshvq$hUYW z+v7WUmi6EkHpdmX)%q3h*&E9O?hsDX_b?eH4?q8iVG5$6wd2#vF(jKA8K-hGp$O1F zvikn$R9OR^Q+QHhHU}(K&GN@d?04`hme}YCMS2J>!2!oq)MLVtXL;ZRC;D4fAkp6# zo41HJt=NuRw(4I~sfSpRMP@UPQU?=g+)J_<-CctGY1lQl=I736gX`=T5rGheborO zTG!fr`W~m4GWnt%gq5wHc5Ce&`dhu-%S}St=MJsPqxA`@k$Ixe)#k-3?VN(bH~hP& zEHA=75Q}cOTups7ZubbvUT6Q&Pzw}uE0I2~t+Uto)Qo5LDjz1Oq+QG!)3wB#zosC# zya=r_0=JHLAeIad;%9lR4Guh%X5h<9WAMn5i0rM697-p_qdu>7j=5||9JUEO>^>9{ zYwhhoo)I3Z7*d_Dw^zNTJ6|zeXTPdH##bCKDKv>SDSPK}l8yJ#4=&P(mvmmgNE5G8 z%pxRykxu8R`*3A7h(&}lUtebH%Pf5<(U%$eQlu{haxvE|30F?{aOX&0!dez%F25IY zGAr*2uWy%h{DmtU^hK|TD%FZ8T-hQoV_k9JE4Ha)EA#CC`bSNvD|78F`WDU5_~8gQ z34Dk=$Ev(nh;7XhYx!O0aR+7OB)XlZ@Bg>E4gHujg6jXKZiB~I&&T0U1jMBcR?S1> zdz;+f;IR_)K{2&-LCnUiLAtMnMQg+p&xd_*Pkj4x0K78O47`N$I59A`8XXf2wxl(= z=Hj1+YVyp*-Ju${_&}`5Fc)tN)o_eFfPeb1xTP#z6&$_L*f3u=YT!wxOpnRA2#%U_&Fp7p@lB-Qgr+xSz7kM6&zWF zyqr#}iJLK6f@eB(W)}Bvgwf(*Umq6~(R73jFT;4pqyg-K`(Baj-ana(UpF>iZVu*Z zfy2lPLQ_V?Y1w)Ap*v-)8==0gWv>>VG@j|(J9M%afy1y-u|@Ka<%iXlI_m^#O#UP0 z5qMJ8L1YwUafK(p+ursn0*3`698ta|aao{_3Mz(5u;TY0#I2*zSxY&Q)(c5<9srez z9_u+UvOffvP6e)qVnkx#KSdvO-Dc9RjB-m?4eL=>P@B zT{<0Ko{U#G0j#ORFa4pbIy1adJ~yc1*W4ZT@|l8RQ7H{CM5$> zWK#E&`<&4jR@9oW=@ilH;#cGHi&sT{F^w#)t&>l*x4jOri6dVIB+ev62*}b;Mk5WS zGcq6-38B?6oc;=-35GwI(4yBd&gM*K$!N_ku&Rq#hFaA#P`D8>U5Ns*$X)lyXjUYM z0G7ccgWA|Uz>4^)J#uXN5ae3;nlrdh&@dUzyM((E1<5sv2rxdJD;#KV9MAt46R*&# z81qx$IuEeVh%A*M9aeBYOAUo%#xr4OJdZM-9XJaootbr3`je0o?K9TxBnxmpt>OHD z1LulkF(DCPt~ll&1kBE$uA`vH6dC;I0P2_qR02xU#bel8<3c2WekFebtlx@|I$a5= z9Z8!Dq9y=?o-4}exB%-}sbL4+1WrR5@hKw4`qVXsO_h1z04J-IeFGl+v`A$y@`LTNf5|mS$)R3r^w>kJ9$)t z>_2I}kmll{GDog9o(U>=MTD!2nnzf(a-3UJ;NS1CmMl&wPAev3lpU|HhPBwwY)%%M zDh9%~R-IB5=u?U!Ii+}mRtVeJ9XqGU0t8GjeR59GV}JiLwf+&E>AATgIW1eo_mps% z;uZ*zmJJr3jGTfeh$Ti@K`~2^vZ5)a4;kw=QZlSYZE;I;$;4BhT%_FRE>-1(gyD}%S6LCsN(Gc$Mm`m~5l4rq}{rXw&>O7*OB zqgBiv!iOQ_;82cPI$Nd@pTX&vnnoBx(qOqD5cn2XSsc%vVJ;~!tBb6_5K_ag+aQQw zcROkDywYH;ddLh6;XE*QuUXb& z-rk7##y?MHm?=a-Sht%@AX;IrOivPJdXmtqHHG$wn%PzJ29|1clW9amQZKP2??(UTtFneylCiDQ@rg09*f#s$GK6rv zn_Q5cm}Z{0{+m_(ASJ2(x_JEuq<#mpogbC@D_23QDW%k3V+DR*XaCE_c>U$$>hG~{ z(Df7K>SQF9`qA&eS34rHm}Z9xCI(=mpENd~DttpeO?ObQETkg0(k=n~+!-eR9v&^S zmc5GoSeGf_WEE8QcyKh$*l;z?MgGCaWNqnjR?{7N{BU1CW1agl`p|6pu=ux_f9egZe>Y^D1~_E{CLBa*8an!Lq)q{OV5Rs2YU zxqr&)hm2sV^j8d>@PJh0KP)sP=Br2^r{XOgbRU~iG2}Whd9-+L2FG&X(O4&XrIGEV zN_(V{1Q*jHN-b5TZV_G(6!~V1&#Lx+QGfu&l^6MUnMcfb5wLABf}JG8v}iBo4;L>~ zEkTLNr=P}TWNZf|r#$UTMSVN6~IMPDna zn6pZY(msRdBjNGlI%pV8y=A8+LQp>D)9}b^llKAcier=e{AaR;n-}}rhBf^TQ=1Vy z0??=8bK`KVFVUL`R(O(DMN1jXKu!;4{Ate)m(J&r5j>r$WgtV6DUnYi*K^=NiL@IB zYPbXn3G+WC$lh?q6+{*I6>kvm;YP8F=ON!RvhBY=x8JgN0NbdG-B|MRar!6!CJfxmzO1f6gdxK z^Hp`&T`U-|TpuEkYUh2D0EbMKIel8az-GsXpuoB{k2%|_d^|M!EMj6~-7abij=GJG zuaKkR77;zxu;tTY#<%>mPxmdRZKS;MY%5U$2Vh;wrWCw`!DGjf+<+v=0XBKy0wu*M?LwU<1TCesmbca-n zUCdCz1M2LVKN12^J@_nzXcRt6*E9-qrpM5_GLBX+@6Ip(k{WTs^Thm=mPf5S8!ZA3 z*B2o#?Qv<}QpB*_YTeml4rcXt3&l6B5LrF`X-4*mz=maY+T!8Kht2vDvvpQ+eS>*? z%EE`5D?}2tx&UJFpU&!Q#(eGARHB^jVhYJR;MzaAzj%#s_NFPSOhOD+6<7<4%!RYe zDm01i5qrGfiS<{^*>pm_=Yul^SItkcN=jOYhUr13Tv~wh!$+$WaPdCpv8r({hle@w zDUA1ce6m)05n4ZGIzmCW9n!Z51$&256V3!L3Vo?Ze1qbiEap|P($iPz6=U;c=q1b3 zWXRPuTFYC~>IyDiUS!sln9FCWUKQhe;>eUW4>jKyTmy7J>VV`CKw=)qI^KNc$X@m& z`zIgfL-FbiF{8U6dO`5?J!~eL@jsU=;Y-LX(HM5{Wi2dexm%{``dKnlHx~I1u-+S1 zbvLgXc@2e}os;nk=qdh;6yAJaZH;|fWdceVK3-(i=Lw)NqpkD=pO~Fue52AEYR#*$ zKi8#z70u%aHh$2WYE|W#__XcVt~@T5sVpQnzES4Yq2^<)cG^okC0y(YQ_3XWyHJd+ zU9qN|WBPWS?0=`}8wSiwC9SGJwIco*Wni@V%4RrLLYVA+)e_xlaSgBYuRvO3(P#b2XA9^LV7wNE~%n1msEQcQ_nh1 zINPTEp?WzE4{k~AN;g&g*0VpSP=PCZkLrgwXtFl(B5Pl>*Hm}rlac_w_ZR3HWInHo z__pL@VnJTH)vCcsW!C=YY7EMEI9AOw&HZA|dULR+H)hqWJEUHJ^cCeZY_IMU%H>b@ zX3>XAe^{^H29O;bRQCH5en36d_I8&0P>O3fxm~eQo=k5D%dwA9jhk11n>tarI+nl3 zQvI@;ix3pDtjyYnZXli$5%+{%lp5-l{W*(#DnVEI28)O*sAw@>pZbaVJX<%Qx|Z_A zEPeFHF4+^v1XhOa_#r<;RdF<{f<>p4$G!kp0Jm^Q6m#oQFJ1tuTutf7LAs3SioW!j z+y#4kA!C~07=|j>W2I;_jteFOh*+&05btu@0NI28u@dcn>_80J_#b1ugjOkZhf}dX z?(&(VvS*=jS`cXo+RUJWjJRQYj;(RfG1!d((zzzX^8?54G*!m?$8WhBzW~IisiDm~ zQ|6BnnGJeS$neEI1SZ_bU86^@xRLt+|8dyLF@D8KVy&&TfwUvJTDyOuB9Ql)qASkx z_xT58mx1x>bE-hbZ(x;!NtCT|>Jac{4O?H4!QA9&-&xX?RT^E`=XxTzRgj6Rhh*Ol zH)ua{f0us;&Kpftyv(S27&`b6PRb&;rs&-HEoN`+!8gR5yuy=HIXz~-ZSI1XDp%-qiIHU4I%e3Wx$ZRhx3&NJMq1yS*_ zv|BU8BMOJ>AFs1ZD36kerD2sYd3e|y9+bu9AnQx>xGFjDV-}qLsyyWA67!AqajawG z=}p*@iU$~GAqB0@jl~2Emx-_;#Vqsbp2y%(!Lm9Qug=phQ=mjI8aLl_c#9W~bn8x! z|3K@EXtn7J5@ZlOO+B8=5)L4y=%E^6|u#6PTyUEIU%FNhA04I4?<*>~kbG2@b zTL~sOS)xB=B`Qi{{2^TNh@WYXbz9eagq@#grG%x?DRWpWsr|tdJeVg~(8^mi+7ND} zj&V#8qeW(HBAKxc0MPr3--OQmft*nmgv_s6!@1 zV5-z?B-UuGd+CYpE!5o;B|r0Q;dUj6iCORoEl*Tk#8tvrozFa=I>;PJ4@0G?#g(3B z#U)5Y54$|1Q7McH3Gxn1jSg`O4>*(hI8k@dJ0+A6>s_6v>B)#&nsCONY2Eg%_son9 z*2UJ0bp)!PN3X_;*42&GO4-&eY+^b#(yvgFD9oi4H+vjE`3FPpnXoKPI_fuuA9L^6 zqFCe4!A?dTJ2BEycmWYDtyU_{X4@ka26C7%oTk4YH{XcPAy8U{c{r(d>~HTRc-`=x zsC3{dfujSSmTZB@Qx>IC_T^G+x9K<8L=U@KcO=jpqt^wDir{Ku!F|1F97~FQhxC)< zi7kt4{g~R=INyV9gpr)MEb<%Po-eP&dnbG4tzbhcE#<|_#{sGDqa%iwrT|4 zWG!^(A7{aLpt+QInlgu0vBWu6%U;}PU!Zy*?C(k#eExCR1m~9NuC3;sZr2vG9;0}3 zA)1ZR3Cb@71fM+Oo%+~6h+`)Y%MKNx%q+B;yyhcbYmvvS@et%vg4Rub|8^nPAF>P6 z#i5UhL!ZeOJ9>ioit}2t(H$;P)_3&P^qjlFOZ2xI@64g9>}q?psdn8mC?mpbh}Z!b zavH>7PsN2o(X6{^G-+lL4J-xLc8c|(=c>sJ(@sbv53CVAltRaO(O zPF{RB_M)MFMTWfiqVr;XJC!+!R>s~vCGT|6Wrsv|kwIaYUO~5G<}Km%gS1KR!|S)j z?|R~Q1KcTr5(!IK9w8nr72% z8~z_}?*kZBbtZggGD8?(2=n$n|m+TWIwywte@rt^2KAY*!KgpiIJ&fE0sJ2ud|dYVSB%9l=5ZZ07wv=ibR5 z#D3qq`|U?-?wxzjJ?A;kIp;agzwpOE{;Pc;3T(WT^0@)IKuJftXJ((csN&A$lz;Em>w@vlV_btI`*e$rm&v?^j=k9`HwQOUXfSd-MMkt)kzk^cmhn#UkUdJ&A!uW*4{p&>O0Pd%mTd zAoaTJjK~cfEKV}7NVi1xBzw72Av|RL9sV2f)L!jRj2bA7oRbK^ug`UdQ{3hT6DQE( z!msj0TMtfOYG2`;d#3|mGUt?fb`DKnbft6hoVQd|-GWABseS7-h5r|Y5j9#*{!&yY z{RkSskKUcf`VkG1)+nULT0R}B!3<%)P2{j~y~jgvA#~|^ZsY&PpN-p7XiN*&P2^sQ zzgMighFfhdA|}MD(k@kv`%zgF_`~8B_47D5xke%N3K_pQe#KhThuJ~Q~Ib9Py|oWf22Tvn=^;D+3e&JRc+33KBi3=!Tx4frJD`UOZ<(wE{_ga zP2!AgZIo!d*5f_=O|8jJt%0(`Tr5gG8{iWZIAVU(B?(((ya0Pd?FwwC$x7Q)=SY2O zoTE2DNJUo5>z{Rl=0jIcL-%w+T3x^*s>cf1#AN@Od9PX}oE4T62yzNMmy28{3b99Z z$1TII9?3B{ti_T?eK9BPOD7cZat1X?`C=&~%G1&b^Y~dRKe6#-{!m^uW#Y! zGWl75?-!V#d${Ato$`e19bi_j-*F-t3I<*Ej->M^o&5U#l;O zT7*&(09al9&R0Ptu+5~=i3AqOftKeuw48mZPpQcn+Q=+xZn?Se&YM`|-^+LA(r)VZ zLEqvkXP>{4utD|@+?7qP=wgCUP=Hz5meNSl7|HZHRN2ONs zw#Ma{!S;)<*X(k+}huQp)o(AO#HU*mg(FcRy9D#4MiR zA3^g-4lo;=IL_q6H)SIov2i2e+6wx@2hHMh^T5j|1RFRvPvX;%-}6&Jie#pnK=s$G z%&g@3^h*1Fg{**T?!o@%UPwIp8U9B6xl=DJrcCMuAp`b9&dg&_V_aHG|;v*2`1PeUq$9z`^jJDH4W z_IS_fR04`T#oqJxN<@(f%SIZWLtbU77bT?9cYe|HwtjZlc3A-0>=q0(W7BVConBdC z-}*J_pih#vyu-l>`Z`D$_?-PVEq}l()Pfcw9od<5g=)-~p9WATjM0ls(i=ku4?yv>8mb_fiBMnjg-4&rU;Rh2J!V)OFeFMX>?5fcU>Ddm#w#fOFpQo^ zu9*GqJg)xma_EuMA?DYWo|K+S_q~-`u5@ZKVs!nhOYG&>sIJRM zjV3*g6Z3Wff|o?|lnnGlftpA9cY@ctVo~ACvXCPqK(ArStw=RWkV$mN6c`wPm4CHd z*r_@R&QZkDzh-3+817S%SOZJN;$BCB&bFzXEu zxoFwz{q{|mPSx5NSi@rTMB1}vmYX*z((ubkf+!ejYRh4wT&*UGkOqIbERqscJ;p26 zX_$1U_H)>@omJ!XVR2H;4yW~+GRddLLI)=~Sf>2&3uz#<=o%&oi8#-K9Js0n9Be^| z8wQFjrigKp{pMo?omr%6WFr#cCKaB(RB*ZmhKdNb_San~6vdjrR`socI)c2*V&prThht6mN_udab10j zyMmBCUQ$7ZE1{w2?WcZj`^Y2O3r(^^BZKw+ZO??oRXJK?1T4YF!hkJesj zkmCQ8$)9kJ_)&#N<8!AT`jplwp9;3~c8CILaDSEZqa@p0SZn@VDuu)ryv~s!ILl4V zehDZ`PZzGh4bbxKrWZm|*+y*p$V6upT9JQ0N~35Lx=O6obA0-4|Lnr*pNG7SJ;s>|Bi)Afjq$l8Hx4@<#yr=wbl@_j(y2L+c;AIfQR5; z6IpoHc!&~+(m=IwK2(F@k#nN@1GVsrN+U2^T80|{Q;GfqY9cmv+rLtpH$`F>;2|Yk zui)`^_1I_XB6fIRmdE1GrEU!M(0F+U4-LIozEJeiX>cmPrE1&0*{K>W&b@(2(;@Gf zT68^wZvIHVG)?)k5Mx){6(zydcjKbQBw8t^KLT5*CQMV>_4F!7vQCDJXsrcpglB~V z9NWep(T9};YO+L;P|_9RG-L9Ls$;2t74B~l-nl}2D^pdR6Uz~q+!hwfov`{fICB0@j}_h+t_$?8)lrKNYe!VBF}NR_4NMCMiOV&an(Bas(Z zJOaNoKhYeH2reC@pQMfO(Jw4a^H_BkMP z25Gl8t54EXi!8X`aHth>Sy{l-8|uT90u}scsu5KUhV4rGVF!MglR7^(l=aev63fN^ zpN*&)Qn=1(2z;$xkuig*a-DthyNat}wEsp@#3k+DO;C6+T2%>jdHL#4IRg9&b>lNy z1h#i7IlzMF>d!#%TVKAN{ zcOtRIPw_{ZjlL$oe#0N7KT*{@Bai-&F7PvMme>>WDDMQ3uz2v|2>!%>%O8P4o={o% zd+PJ!{4#&sK~pN1tPq2S=IIRBi$PWHJ8NoRs^@O}j|Irc%)}3f-dQc*ht&5k@JsNxt^FRo=P!TZxN^Uw@SgPV(}Byv#g=|}a~`P_N-kNwXs?|=5C{%2YJ&m@S?f=z9!} z?|C6M_$>~x2&L=C|LXvi#Lll{U_HT?S+{HYaq`8*I){Zi^qp7fok_ShSQ@zE<2AB$ z@IT4}^=bbj*BeR5-kfWMl+T&$9`!LEoNg>H8nm#aGyF@#qwL4{r{N-s8EPAqJ6#`u zM~7d6Ie#Dzu5pz9kpHT1Y5WtKHdhx}voSMVe79Q5Yzd9yk;;wM*13!epveNsXq_ty zf=htOkYPNKXFM>`cwmCmLpC>gbksOw_i@63n--;{m%JojgD#sh^MtO<6BV_U6B3*Ip&L{m8r_fiP3C(*yGFsq`TCT$-=(3=nn-@ zD{i3W!rT4qg1{%rl{rP)))p%;T#peVaClI^*MC)H7aJ`8h-WJ8rAmvTBE}R6>ImGe zRK8SRS)N*Qjgn1aX~UcJ)*uYa3~lS2B5I=oPpjVQuUtwY#XsW$aL;tO;BPuW^I^Q2 zxsH{qpk?)VWknN6JSaAE5N3j@3gm#Jq<>CoSJ~)Rnq>I<=MCJHA6waxt>QxDjRdx?pOqKQ$Bch}d2*R~h&E zj9W03#zpI3BxPbVBtfgJs~o-cqyM1hG~3!Nv#u+e(xTg;?}=~94u#8Rn-p(T#XHL@ zL=;<|{y=LyDuZ2Ov(J6+@1+*MnnUq!d0g#Je8pu^tZACQ8}pSvwc3Gr6c7uzH^|6E z7K4I$=FN1h&0MSn_4^s8eKIx6?cY(8OObyfm9FtK7z?zmtBX8+iGOjG@PUkQo#K00 zN7d&1iJW^+EMtXeTh}0GDonZU{^)O=b_dWjdm2vaWfHvmdV#_itIUKTEAdscu9GOQ zCAJnF1481LF{C)+G>wTcxdJNHFl?;@!g;6U)BZ340+sKFqhJ|nTU*V=nL)f^?MGOY zvS3X*WL5GAWpTGPH`81|shFpIE+K?MXSA&cw5@M=%aV)GPQL8Gt!;g8Va;;PHf?S3} zs|L|4R-7nwe~67c!55 z#VQ>YEU#E(CukN)?*`HcCjlFRK6r*sqpUg3%7>v=l74*B`B>eok&1cMFSQIfG zOds=POK0{!a`FsrW7AMj^JzHH8xg|9`fgdCW~Ugrl%JdC$il26>B0m8cl zF+?kJV&3dej2qys(j|O@bvSAIyofe9EJ&utwT8UnI2NI!! z9FS!~SiZ|xh%ks2J||U4ZR_h5i^}a+Z&#!3x!oUHj(eKW-A*7@Q$t9OHQ#R>aVEx( zoT7>{b}%cfz~xXIh_qjpcG9lA! zOR&|wyWD|^j`ep*XmiY+?60}+2_QHBK-AkPCux$ zUja<03Q=0Fro38rZJwig46QnD&aM4)eX3p;$WSvYoTonsb%91tWF;j?n){L>1a$%9 zI%BENz+1?*zkpk7smGwld(GAU&|!w3Il=Pxw0jOn#0i#jw*#`w{RPvcjqn%o*DSzd zd69WZ{vKt6i@q88U$~FH#d=RX&iefMz;f)*CzNfxF1yR@BBPb%Mgn0Y2JW@3`_1r3 zCP=3o4y(OB$b@C-tBnN=`k6ekrL3=ZiG<$+?z4>HY!<`yojzlFVno5}i5!HLQJ$T< zgqRE1e^)5_F6T{e&f`>Ub!Yxt&;Vn%ekv2|aWX$uXFF^Ag|3ec!x^qdGuz zfR2+6IK(ZO*>A08A;4C3yK4fWC+Rui`Gh&bbD9Oyuin$cypwv|IXRY{5L#Z2ke zoBeEmh<`hmscuNzQYTc2HG5)QSm{Cd8lV@#lH$*^CNKZZ=&5jldHZCUDt!0MP@iFn0Sw$C{{-E$sVnEzgFCy7^Sv>#Bj(6$8P+FBtFMy#4#=K z*#bpu&G6`;R2cr)939<5Ib|}993Wnc@kwIu0Dzwd-*k8pfv*zis&Lx4Ab9WpAA`5? zufx~wz_;f@@S!SJcB=>T2GdB0ix5zI+TS=+3dRx8(MP%@Ro1P;hpGL3s`=nGxTNCx ze5=2_GIc~TQIU&~QUmUf@NcBP^g4|EJn@XP+<97I@4ro28Jyw3#h(oB3~^2!^jmcB zEZkvc#e~E#wPuz6ymf}+j9p2izdRZO9DfS&`te;c&!_!Rd_@Q9ll>3n*nHBvgue-+ zFMHZ_^A?n=GDw5|;dWGTzklpItH;b>-g}o66~rP5qfMMoKeK-+cZOLa#Iydsy>XrI#^N-!XdOmxHIV)(^5OXDH-pZkwfXcGgi@HOb)ltCe5#XgsDOYmpG3C9;6l1~CcL~EjKOq#qr>>`-dbeMM6h`APM6&$<-}-EmSsw> zzoN%{h9_}#zjOo>$#Pw4&qr6m{GR2DPpCir5iA9pCD8F z%HWFRyy}bI7Mg9&l=;wPLYrY#@#$qd|>Dz+1|7I@ftzC)2_-`ccg985ksHRN5b_!ahlC`XUs+ zk}AmI)vKN=js61A?>xn5FpiTuOr53n_Vi~k`r&Jrs;?^TH#D*9 zck+OFcO4Ieagh+{e)sB#!%pG=qZ3~_@qYNJvLFD6);NPt(^la$#dGINdOl2a=Ywy8 zGaY;~9q^K;5r9LtSF1pla~n4s#~JjXnh1Pue@XeI$k+zKe73}2*S3}yS-vqaX64v= z-rJ>yYKgt#-{eM_SUJ(SNqMTL;ra|b5wesF?{9P=bIixs3{y{-6U+|@6u%hzHjSCZ zV{*)8W5nzhWbS11TP$&8O&K$Rt7CRwDrm`8*6m=r*)%%R^i=4d96kv`s4G`AT}BRR z{%0@$$w?LiYUz7#F_|p~JQeeOO{EjOT!(Yb(q5Q9>@Hql zDuiGU!_OeVyq{dbO#5a@rYsY%mm`BVutt|+T6%o8dWl%Ph`b8fp2&wXh{T)Gdm`b> z^q%iUj`BPwBl2x+8_U0`c!D?4Do;F$VT>#U{dr1HS>POrx&k^v<~w{H5+vj9i-csm z0$>A>fwzhMhKjOy6lj{6slC7`-eq{0)x%VUg9qij{^!W9gcLLqi4d$$MTuqJ>Z>oj zK635$pRf!>rvJ0By!ZQY4f!K?=7L;7$*I_ka7BC{59$}>&e;BA%En)HUh8{iNC{&> zF1loGTVSdgur{FTCF*#DV^YaTB5|4WG!a3Cn06zbuj~0Gsj9+D%o@LH+G3GylhSKiy8{Bp){K%SrH18W|_queu zt#b-a^tbC_w^Z$V;>RH&dfzC-9-7qquG6BD0ABSsnu-Xo?pP|~r+Ux`MXTn)(5qA*}BmtF5RU@6enNx7OzY%OB;vFqphTi6Ln$T0j znd>s?Q@q~As%yA@Udha26oaw?=~lxYAIr*V`4L%vbvbmPQ7Uqmw$^yJ{Hg%oU`7n7 zAWg+wP$e8}sDWNV|lLLO9Y0unKmq2l&HIzy^^IsM)5xY4$yt9vT__@~^QU)_K7q^tW8)e&-TTVV3QNL&E| zWo^f0E3ToyX%?J}widmUU$TWP44P|1){syR0fY(vA{4ooC@)mRDy{KmkhWc>$@sas z*hxK{U(1bug^wL_;m{oqkU48vXoalbM)BLgy-bUq-@UY$C5X?=Sp4@3%Pby%+p`l@_ga-oxNh|Iod!zIV0Oc$PU4UrHgN z1)F0^QonnGs0j>cxOYf=F8pp^dJ&U#I72Ir}y>P*TshKY> zD4D%@>U{5rm=+aErM_>Z0q6U-!77i0`wAFygT}(_`h{24Q*kpd{tAjjJo;-Wdct}C zIVg(M@vVcN^Si$)@@)m8AKS45;&dRfeD#)Zmijw0))|EIO->N0ARaUp&>8_INhFZ%^*gBwz;|SK=`@AR?;+oyF}D6 z6}ip~Z_W!7Atc9IwMFmy&YDoe`}NS1hP@ei^ra%Vb*2NCM?p7J(Q33U1aKz9_VLua z5WibBVD8mNp))BSZ68jnb6 zFHSo@mJh`DR6Q}&Pp3K8=s&?+r<&WQnrj_*nxNEVX>%;?Wi2$W6}JpVtlNP>?MYTq z*KddxOZ<8)@apwH_-;5cWJBhwsquJ2yP?sd?Y0^$%s;8A+H|<)74Ec*xgq zdIenjh<77L%`xKN@Fo4s@W@p2rkG_o})`Q{%>b0JR0%0j4qh6E| z8PO!vX8=$aKF}-9$>x;&orU=kLa;7EDRw>l*QT9APvE8PZF2Mqy9gZqiu^qiZ_Vuk z`eHVik;YqW_OHnVksW{jOLy^)b1eML8hhd;d0u<{OU%fO)9+i;wpr6^^posO(EEyP2EW43kULeW8SK7?UODlI&`J;nCd=xP%{Jv}>U-ki;B;aDj~ikkz*8<HaewXf@zww;|faKFmUn-Q0m3JA-iZ#^}~L zifk#rpc|QlEj-|*gzsf>)fVlfS)K_z!Kjkdnq<8*8&J#^`f>YaXOhOwW> zH??2g&Ssg>a3*606kVRwKG9MLm#P+f>nt^OT4&|3%Vq4ImFs>wc>bS{f3Ys=H>AQBD-ZqC z00}{8%>vd`KWKx$SL=rZWiEYMnXw{|#<1vD+AF`5!Z%Wts^|xLpGU~` zC;9>S-(=L03J4pl6_Z-1JApwlV1H+aYK7xtW_dQBM>v2&1&L{R+g#@KPpV1cR*P*g z`li_7iO7zPuC3K8{r21(98;N{7{g|e^0bXPV$3EqHZJJmE5GCwseG^<$(;`A^~df` z*9uaumw5VZKYaq-y~;NC3)2+~ZUCpwy2$KOMaHuMZe~f_>mP`Y`f3NJBrm zCcr@e`+n!Qgco8|-SWbZ4Qk=XLt9wy{L~*r+cwR5Ffae@{vA8D=3Ht`Pq}@k`-L=F zZZC0u&BlYKaCxxit7^GY28bW`Fm8InChG=?Kf2&3U28}i}TZq^>(+^ zi^07lPc0T4*Y)4X}ki?J2C6_e@O2i7io6@zef6J zcIqBnpze2my3>3xz5yt;Dm%3*XkVI!-5Bob*8pm`ol>827DIqK;rtMw22qF$!QOm1;95lW-_th~2PBl|A4hX=dE&%2FW4xLI3pT>;>Vkk;~vzOJ?}u zQ!T#8zb7so^xmA+pe$Vo!RzZkWyq4<2gWDN18Ks zdsiE&s` zm)(%0;hx<-FT!9!kEdm}wEQ&stvjF+0vAnRDNTQ>nqEoM>87xw6`T{>EwxBD&bhUm zqZZYZ=(W_5$Z~uxmBL>5fkBhn9UsVq5Vd!%8{pI&n&Q59__@){RVntuK(X`R=g9k? z47^WW-Sv2w^8l%vDAHjbJ@)iUhH~Rm5yp|c9UGqw z%g^Wd>m@SA#_j6oGyK(Ge1?)4;oDm4{S+43+gcxR@2rY|5wsr5&Eey6pY>Qa^8yzM z>oGYbVw4BW$0n|jdavQH`I!7QHcpm%L;e~~)A(E6;?zvVZq0HxWc^66i0}>OtIq+6 z`LpfvS7QBK1hajq>syfU@#Eqpj-x^1;&S_!*DIsa5_^kt<67m@*y^Y6&UpCEdO?T? zh3O5~#pjak+ZlNLcf2*%%8ZxeMQ}(nGLhCtw8d;M{K5wwqsDh2j$g7dlHDB{I(!j2 z$jGqm-FyozFxp(AHPC#&f6q0n0#>u0%3OVsDzERlMp11zNb;4FHK@~TKDG&rBl3(k zf7{NWz$8W|d~;O>cAU)q9~{uZWN&9m`Kn+6!RHR+iKvc%jAhseA59t;EqasOr!vDo zlKNlBF{-i#&oG1r|ZH7@_B#n!&4IlAWLhMsH!yM;7lr#l8KvR2`>Nw z+5p0stZ!@4>nLAvQd|F3u7yMvS}*nuy{;SV zRP=%TkU>$kbqFh=YCAPhTasHa`LVCz&noa?U3bjBSn|u3bjdEWyTtbNcZ?YqzBX|~ zN0VRBp0Z*{t78dA?Zj#q*Gg~@jzs@5co7-R7epYcf8{=neUOQ zR<>7fo>5p8Ts;vs$;!_1?ACYZNvOHsX57O*<-0^D4JREZM6u1^j6_8PT1HRCnlD)m z0ZK5Tj0UIZ*kSU(El1S*ufVu_tLzZ5vo6Vv$3o_i{s@#zBz>;`z&Fc}CTA`viD@Gnbeb5E5cF3JI_-fybC&RQ>U z;NIvt+7OfXP(cqN;^JNzOVWn58x8leUW_N2`0MF#+HY-;_T`_ERMEZDIJ$fQM;bj+ zX)#|Cj3k0CDnbq_NRH!RVp@*zTh*og#$&2eMEBnoD5y-_1~1_)u|pkJc8=cMIZPo$ zePcW(A2=`wVl2-7%Zlh0&%bTcuBUrT$em{Ice}XG?V{A{cF+Eu^Uho+=rz`t=m9#fClV?f=beU{r-{4M_ zt3dlMu>F-t@@T&cxyTw#=RI+$Hc{IJG7@-qvYPISpCcm6Q0k_1MITGDBpJ zHN<3JR;9nOWQFKh2Ys^0UJhv?a^j$8cHv2h8}jDyFK+hb>gVv%H( zW>_;ldS{<_Z$nXtN0mxkKZu(q-rZae4HMD+E&RNV;-i6^3CF|PfD?D2YcR|5?lOw+ z%hX#l(LIH0S!dd7KGLG4!j~1aC<$6ya3FEzpc;is;}}bATi_-{v;Ina_o;7-@6D8t zA0G7aPiel@Be)}koY8Z@HhMW3>>*^5H?ET42)&l`J|)4YJ&~^u0%3&2*VPsrPF(!? zjncI-a;$$QN5s2~=Gcc`petk~mGMPy_R8*9mS;8m-vR*fcxJ9-13|h><-dt+GLG{+ zNzdyI0O;{FyeWT4fl-LSF^?mvw*WQp7-j9+Yk_$ZL|}2w-wXO`b5>#ot!=Spo;G&J zKJw0a*-!O)&-9w_8|0mcbf6aKL?!U=vMkS z7T=75-H}h@SMlzEEeRUEbog!2_(TGUv4e(lBN0ByzCzx-RzPI%mq&L#n79l6g((#- zyt?n9G~n(>GMSe320TZ`*L4@xCD)w#%maL_Y5d43_I0Ph@J|^(V_8rCNB2CO_>|!~ zz{uE23u^gB$lO)wdiyg&ISm?z$8ka-Puo^IYNb?Dn?x;Xdk&9}pjWRQ^>^w)NjIV0 z$2IG*%)+v+nth_E$pbE_!CV{*XfI5wv=(^oG6I#_jy|(2H$?Ude^Y7esDmGH?ufi+ zWoQD!F=loSJHr@sSxu$8N1`M*1COC2GfJCf^TF@k zQ@h^3<1ah$TnAjWns>eb?b9b%7NT;B9Mc*_DPo06 zl2c?%0?hPy?ZnDvO7n&$`fNew?MvDsS`bx3d4JmbRm-68svq``e7-{jBf(?Oa*k`#ZR@zV~-> zWqt3rxw5|ZLyq^ezW4WVWqt4G;=|Xx;C0q_q>V&7`f+!Cdro*sTd5i`iuM}Cdwnx0 z<*aW96@Ost6^;=74#d@n$WiRXXa=$n@16Zxqnu~cUdvt+ee=N&@50h8n69$J`3>)@ zMeZKCF~Ua!o|f^|U4(R4b86@>*(Q!e{-{=VU1#{I!Ef*Rv8?GN!(jzD+it7H%o&}5 zOmEKoWj&L=j%8M>t#lT1(lhW#EoYeDac`-$e5{6{L;`U>Re!0_EQJP;&hLeydDiW$ z>fCwSj(3grPzNV%nu<@3+V%c@r(5Cec~IBQ{&pG<%^*4#)LpzkJra^``kJKs#h(Nu zGUGp|Wn0$s!2aFP{kTGEwi2~vzm;%h>J(bQDjIFnwQJkHh@{da`y{3+<8nCzc1(UO z^c1pZtQS8)ZQEsv!8p~7BzS}ePyvXKaR8$VELJS;6ZyRCnE9w^FIes7qmQebL*}Ex zrx|6PttB1fRjooK8d`Z)m~Wc;S;tD<8l`V>&_uy#w8UItPEQ#LlEk*%Jx~D zFMEDD^_4F*PFE~iVsDxy8p>?Fr%79%MRBuipLiOrKO@VO*c06o%*Y}9Q}QswWQ!-O zfzJ`dn+yK&wlQr2j@Q9^L4`PC+nB1DiuT{*V*tgLjbk#FSau0IV>KyUv4u7{IPWx@ z9GsI@6OD^ty(En-)!9M#;(!|=fsvy|0i=F*thV70_!C)CEc%Sce|jXCkOj<|#^2Fn zZ5tk1s)cm z6v9E|$)D2vRT;47-780|oVL^!_a5e}zH6EhV_qs))?DV1q(D6hjj;-kG{}X^NL_W$ zsD@oaEfi}Yef3#SeM61e1P}mgfT3+|t{N;xZLN%n{M)^DyxiT@x;9TeX?pleT#dC8 z_={+P(vD6ko1oFFm^pVP)Y(k?{*~aMQ_PdH`JAx2YCTBnvK|B&P+%`71{nz( zWJ$osVQ&9?YQc1jZ)Ncgh&Jjj&F^qfg>~n682BM3I~EH$Dw$xQtd299LdqCmi`YU{ z0c*#DvecJUELv*+Gb%F{y0Kf~Q}1KFD@2#sWWZc6k&(=j>1Ne5iEkBP*<(zF?Nc=uzWDDw4}73B>sv+e?rbI4QBb3Jv}P<&3?dW-E}Du0Lq%Qa=0d=>FA-&Qhn#j=(Hy1#Ib|0aZ;{jEjS9|BZbWiU zxA$GzV~=4;O)2QKXaQx(J;(9gvM!?MmFY%3n^N6mSA#a;8s*g&zyz0UD? z_6#f(Yy@&1?v#?x#mtEuEsEe`Vi|2CHMTbQt)k2HcTz^rL3=J!p!0YBiF=I$2R~@2 z>qdv@tqEerJ$t$Kqn(BVBr$TJCC0$qEbx-rkWV$)%o_w<@-OivKJ3fpLymgV6Uq#E z&j;T!+FfNf&OK*R&r3(4Ui(s!Lkz0@w^ej^S9W|9o4%>^K`?zBX)r{6m6(RwoNK1h zZk)konHE1&LBrQ5w2G+QSy`-6`bfjeic$jD{V8Z z=?Y101tndPl_*NZd=bz8BH#C^fHogrNe`>Ghse>lGsMPiiyoKM?*+};`jHfqkW1U8 zO!f9kg4@Q&DLs+ro%k<#_?d3MG?%#|(W!*VFKe{WT9gn?tH~_cN9MDdQWpR#+oLz1 zGpg!Ikz4FJXGHInMoYTC1u8w-+8QN1Emd1r5V`JD> zoJn9UtuaW$w4^7mGOPB*-uH&2$<`8KQy|XBmVR@DVHL@Tcl$g^BX;U2)gJtCeD?Eq zOk=y)T&%FTffy$}<23!!NwV}00V3*d5K%W-8u{s0Wfb>ur1mJX84DZjW@s;Y!`{_q zkze%$hc2t?WAAxGZ3)dSq#o&=!%0gOt(DfN7|$!*Rgs;j!&DF<205S^Wg7+1oA^0H z%3>7kKoJeBqHI5TFfl%Nvx4@?c>-EXUITYHhHTH%8)`j#) z=#4@MNL@giwSNFeqa|^X>WKs7@!{tKCqO9R>F7w8E zQjR+&t}~y!g@fDaiqZUm;Q&NP%9K&Hlp3q4XEC-jIPD81tArTT_wZzM%&dL#DYMvm%B+U7R|M1CEI5h_gLSF{O|!u1RB9ac zT7p;rM%vW$52+^ok>~-At-hHZ2>tP)(7POHKbJOmBb5>W;)s3M>7y`Mmx+GdXsAnDGTO-NQnRj7faMILJH&AoU=eM=E+mq5}v2EadXw$DU?S-998FW3xhxl4GIk z-+;Xp*h~7yINU!*pAY-zKuxaOG}Pyh?f|^dh5|)kF!D#Pia(2qEe-kLS4exjF`smn zX_BE8s((f{s3(Qwn@`I6bRXAsAN<(6S=RjcBK6k0L)QGjCbmP--?}YoU26L8SqAR@ zK(;=2YRkj^#d!X_9$1UcuH}wa;)_Ek>X4VtG&L1DaVC;<;cWk|<$Y4fk-G}hJDA!Y zN(bPZZS=YjhJTPo?}Y|t0KonUn}!jg$Q>5hj)yF|{z)fWgG1JtLGf|eGmSSAA2BeI z?)Z!6_*I4Cp*!BhZEHz=Cj)@WKrS!KADMWAhLs%j7}DZ5vRS~oLO0)!eR!4mysTBv zVb41=oyDmW78Vs)Wh&L3=e&N>C9M_^bFxl~`{25vb4*?e{ zqb*(w6c>E0A`KaRF8vx>MD;4ZQ)Xc4^G^*13a`)b2-77V&kPVs5H*<8#JBM6&^leH z;>A+y=IJ1V?H%u~H=XU*sA?N=#nGu1eN{ZQpZ$UcT7(;rMn=7p2MZ% zVp#=D63aJ(g<))oZWm@a(q%jseMJVej~(B5B`TbN=Pgg9lUEMU?m00NPN;w+hs3~r zN~)=P&Metr!ow|&aX>H}%Y?>ajUiOfvuxZkHeuP6%#vT2Wn0YJHYw9a8T@0WwHePZ z;~mA?2u^j(EP>bBWQN;(M1<0|Eo&_>vZUo z*azMa>dt-07%ubRait8rm@Ad7RD@?m4jigA=>4^Fgvv`EEXc)s!`;2qWz>nW6#Mfq zPwT-CVjo@M>67i&*=vCZ&0`5d+%s0$QzmlF(*jonHZqCwWWxDfJ*2(Q}$k zdB`J?U9;R7CDrR)f*+^XA+xU0*dOW(-=KP6ydFA8Ry#&&*5S|rCFKAEy-Eb#9y&jT z<_+nj@eY1#wU9SQbaG}y?BM$f?H{tMIHk)Dc@89&gT=V`vJE~hkIo**44u)QL`#DHlL0Az{p`S}~U>@nn1T6YOBBil}8YO?c`J^m0XS;L;!Z>~K zqgxM?~}3&jp{9GB>oW?SsH|vWab@V=6%xvPcec7 z%~zl}^4)`uDbU`gr-5EN{`}N1K;1L<2h&yOhL0$dYlZ2h^)wb+zJZ#i;Xwk)d zLu^Mrf8-Z1+MH^c(KL#9>c?t6jZ0wLe$uyif`5+WH&iS=G+a3G0?TNW$80$kAxV8TI&O=IuUWn~@&WAdSNu z&U^WcOELCZzAx%$#~3B;ntoVHGjSy#bQuA&ULo38*{)DqL5HTRV9a&LjP^-N!^5Ms zcYTyfh4!19SAliQH^n%~ZfFH2lZ18M92iWj$EV+}B!X8v=R1PV-cyncwHVdyp53A* zBsl8Xcn!F3(`nFH1n^ zD+U${x1X!$4(?!-pz?z|hyzx-ga6dS`sh7(P0CeR={Y*b%{d$3F8Lp11fF93TpElCN$!9i~vf78b&!2Nt$8Lr)I6E$6SW8 zX;~)P?@Z2XXA(FeX-vyBr+J(*KFath6QE2kWpXH!EoH))L5oA^yYuv&c?9mSc{<)F zXOXMfS=m~E@F78G7L2|5;2?! z{ngP5!SPuFJ}z`6$Ko8Z!Vvkfwq8uJP%k~!$?zKQuu$F#9d(3r5=dd_D)*VI{6x|> z9te<2jkIjir%MbaiRry#YQIl_uvZ1~=Hh%YCvo{y+zD&*d$>JkES?JDr^=?yt@=27 zs+pbdlw`h1NunR+2Y3zor=pRQlG)PC;;BI^d#c`?#~>6|*)?0t9YR_?tuikUC$b!P zS#6%9)F*p$x3QPZx$h4TkJPqlb0HJ+BY0SJdLcOwfacS0iZD7HT2gb1H_|Qceu3dl z0hAe~!#z!la)YkAbhwur^@uD;`a!l{?w;jV)CCtG51| z>fz2%n^l=t(5|h$T9JiL$xrMfWU2X3z_^cf>NjpB%$rq|FH019seb{Q=vBHRG%%p$ zpb>cm4;Dp>+QpTndv%pdhuYJeEU{46j$!jac6KS!@#tq*8gByw>Is&{%@TdqTpbW~NQc3dIFvj?yz=U) zF}450^DbfKoW+1dRGOKDhH?4S3}^P3wVCIPT5rGzdvPi9Vy#OW0k0XzbjtWB#66z zFMlJuQjzUe$tyzaFdQZAk$)$4hCCvgK8tnHm3Uqf@rzxcp9hK7vRvaP#O<$Cm=u5A zO8aRJbz`EWMrE)3ECA0dxktgEKC#!WbYLjy9L#4aAmSTo*o7+Ym-godjgn{0h1urP z9CL0i`zP@Tg!(VZF&2RBXN?6xy(P&;sBJhS|oas-2uP zmrefEES=mV6_id^$P#X%bP9%BkX1CrgtuBYnV4~t+3lr_LY7k|hcelCWHI%p=rM&X zS}n6d);wuyho}=Ig|?y}w+BpElG}5Qr8z{^Ahre!rZoqAGK{Z?z>V2^XCBt99ZC_n zScAOV#QcW5Kg)%ERbyZEL%98*Y#8grJ(Rq7z&Ty zrXLFL7YZNCD>zfLDL$Kq5lr>74C;qMFe5k(F{t+E4r=oA2DLrzY;H-ilivhr?TomQ z$*G4C+S+MJ>0i{pQWZ@hnB^?%-DffpCBj#Wd z=wldu{kgrHB;Wm&-Yud*y~L(>?W%X}7wjFLh5yywCF$Lt;C0Q*+1$;VG^+0=7r4(D ztEa&9L#X!jk`7?86)bidmN1yEburEESUifYY!poDC+2wvoh$tkb0`Ov$+p8_f~H&XjyX=C-SmI_}IRL^a2?^ zwY7UrqGNkIbXEdLm)H%v#BIWL)Ugx)ZdSRHxDaeqB~T${3@fPWVByv!^CEjEDHB$q zdaPM3gg|mtbC{^a!AJme%=>aL@U>fO9i^Nwc-C5_lw;2!RmzB&1u>FhQip_NchziG zu9EdU*kt_rcE>Ky@e6!xUNJ9$7qq5f|MiEghR3j2-)pOFds-4u2 z_UDMUez{bCBGhc0MWIrCOh1bh+Cn}083fVR#&@-73E$~;$1=1>-c>?qa7NRma|-%u z{t|yfc%4feMn~!02E?3JkSKmPy8^S1Ui@@38va*`~ z5!AuxNb|BdvvLk?XjiR3jxe!5kY0Y`2%N|4%bh-kBF8)@&8l7TXN1V$IwewPwv3CC z=>`j)hx%nYo({-#+J-$cuw{++tovu?OK@aWiZ>zvY;?oFxy!Uvz;}F*+zV(475HAuBMw} zFxy!Uvz-OUkp-=X4iy}&`4z~F52ra1KM%$KqR`vPu*Uy|hfs)*@kG+r`}kok?1W`L zfoDUcJ9JuGD{eI+cXlgXM3<|JSQ0QumQdA2AQX`fIZoPv?4WIUn9>}XSEtyONN_#U z1O2-GQ<lAi9TtNT0>o%qpn1Sn^ub7Zsd;te~y<42L zpnO~a^X7hqVt|g2)Z+$ve1r73HLs8jzARbOfPCX=LH;Bj##EBhM2^|N?K_UURshKL zGlN77(LenOVaszko+s>%(|x8tPSTSQWAM&9tp8cbu%l)-jh?g6m0@ul==QXpKH_}`3Wzl7MTX518P_u^va6$_a~Q2chMBcUp{HEm9qpW3WzyunZ_TBl@UcxNx|t z>@1RB6qZ2dPBF%^>GW9h^T@)n_5*%1)F}GQC&R*wdWCLQk~9g7A2J?Pe^H$fR0*aJ zM|b_q7)_5tdp&P)gb$tJyGGS31_)Q0wbhlz8K}u5C1@4kCJ(W@=xtDnb~P=?B8j7S zQe=Rbjs0Yx%f944oY5hJU($0D&P=p-yAs2cAEnSJ4CAuQmO|f=UWZ7tcnJ)ZWgR6? z?S14(NQ<*5>HhQLtjMx5Juf8Aexg=b;v$)3U3Td?caj~`&lvr3tfs3iCvwPhSUBIR z?eXVDTzdVlil@g^?zz8P#v(;LE$NC+J;yf({)+sG-yErW5h=Uu3E!5_Cdg-_FfWRG z@n_}Wc1I5GBggey*UYqQC8x9P2m&IfCM<9B|w(Dy~L85;+k~gi#q}1J+|n zHbZU0Dd}+;&KjT-w7(a^Dp3;{v$teZaiz3lpF3uU28~$~Mr4xDQ4W;Y@qdyEpz@CJa!9xoSB?~B zJ1s{Z8Y-S)%0PhGDxZEvjy#5Vb_9GX@Fb{%whhnwE`e>fqqvyuC@y9z#RYqg?|DaY z;bn^fw%q4Mbc`nyU}>pJu}_)$S){7_Ww2bS>X=AX$hTOskg5czQx^nEWX4(Y-CvQa zz9c}G9QuEd84vx}rK)2{GS7>?T5S*v@*tcuv=&=NU6)02C&WcKodJnaaY>&+xb&?} zB*rNsq}`tu(vXJ{((=`*l)1E~mmEtAX%U39(T+Gg8gY0u;_&Em9BVO(5yF;@L>xx^ z6>)f^=^L%YVZ`Iw(XdD&P>w_#9*K}P(h<@|BBYVa%Mph~NPA17duF0u7$PvDYVbI+ zc`mT(C0#jsiwKOxqZA;;qtK&unzf^VWfZVy)UarFWRQoMm+>b3h9Wgf%KyakF zh-^9}IyZkL+<{s4ig*||{_G&?u_jVTun6NXa76+85=1`!&+2}#J51X3gytsGZ0itT znL#g~{k)g)zX7`bQy1xQCDBW&GcugR7Y*H8nDK_vY~%Cm`cTwmW5`mGVDK`)3!ejo z0k0*BTcfNg?XtbWT&G;NNt>k{vN5kkLDEL8@#nIL);a#$jpjPXfBRn9$JROi+qK-c zuIu;Tenk0iqhWqT`EPGik#i))p?Ewr9={9#tAAmw##`elB6DhMAEACLaETr}XW;5l ze91YZWYf2JhO6{83d2!q>whC(!6j5D#j_gAEuPXxPao7(i6RVNGFQJ!i38)$t0G zHgpOw7~$|}{fsyA1#R2SnX&f>pu>$P_MRWNgpy4#mzRiZY~$#D@Bm9cd6jq@2ypoC z;Nda?ixbh+sUF7-WB0+dRojR>t)IoOx{FuG2lCwn9!8 z%-S1z!>HRLChgZT?-M!4i?O+G3ui%%>c>soB{y*f+=x6QZQ>S9qZK~S!GT5{cW4eO zOQQyj7Gfb8Z=7M951qhKB;6QiIQ~josv(4Nm}uGAX{&<8?Srutw-kH4&+!qjejHtl zYH70D(pPW~LfYOPp6axOz?SaW{?Hq$TlD60dS;ev946Dr@qa=`33qHhDRa30zzwDe zJWNbHIBUhFXfZBDRbAQ(*)e0YaNw?2(F&QkaQS81O+1DuhF4LQO|dpZIUl=TMHqbO z8(TSEMODXCG3|w19HRHR1?pw>uWgdaSBKB9cu?T;`!v7n&)`)gi$-j`)thin!hbS$ z@HqZN2M#8zKxW#XXtjv7C0hzhp3?L<<;|*J7`sD<8G6wjY!;h}MA-Bit)U}@JLIRh zvb4+OI$)G+i8u32fA2SL#G@!B9z}0z(M*JU);ci)W9H)MPOD_6@+j(3c{I|Wm~{#^ zJe`zF>&LhaoH0rs_u`u%Uj0vtf}m_mVcAowr>UO&f-UHs@DD(T<6py0TYxYBfO8EF z1URujF5W$x5+%lwv?I|Oo-5Bn_tn=_uR`tgK|F|Xl}8W;mScGBdRoLG@Cpy7d~wx% z9Ma4gE`$)XWEV$&EZixmeV4$1Qj3G}d+^JZZyyK4@AH5u_#qcro{xJD12-A;a2dLV z5~^2Mfm*j$-!QA4E)_ccK^j$EqQQY)0eU)2UAj9%Is<4zP&!35)(=O&rw}k4p;?h{ zs8rvlN^L2udTR9|Y5Xww9PfCoxGw#)tekk%DwjTxJ_g@5902OtJrUBEZLk7`&^lM) zhsNidFjes$dbP3Np(TxM`Bc6Ox0yR++B;4)W@M9dI>Pa+DRG=$ zYb1ow@yNv$j1hz~$;5jTAy}GG<0B|4ya0-nV-L+G1|kH0rad%9n?8%N^)VR*Mg%X7 zyG6-Y$Z=osBKg0-Bsw?zNOCW;vd0pTc>P8Zf~uNAd#wks+Q`IMTPLN^8U)Q%KJ#9` zc?<3%*r(yrlE&RWV+;um(b(u4q!_#IG2z;}jFJtwT-P;*dJ5WCFE!dGDIcVQcBRQX zfKvhL1!7Go_iOBbt`z^a&=94}qw=M8>A$m2^|DWeK0%#_msr)YgybDg|D!Txl9mH$ zO0$Q)Wj`J>CTB(O51?`ocb)|>PiaM&5U(MMvUE+(b+AzX|E=203F9qNebTJ~d;MVz_^UfTErgM2CxHnZV*C)q$T*{-NHHF%=Y{1+DUZ!mq!HblRkA@8Q3&az zx6&(=fR3Gs`tEry9+e8qp)nn1dA3ot5532|VzLA~XuT?Ojr)-2_8Aq(SRF0k z-a>r6D1zCNXUcH748vtDaws&Z7CE%8gA11XDaz_sJ4MZc+9{5$cQWsMPD#I067F;g z_WKSloWvzq3`R_`_!dn;yN1QL;EkFmO*0)MFFBaR$UD<( z`Zg;;sVIvkP+b$rD+!N3Y1(EbFe!Ud)iHb$Sp#K{yWWUpk1JP1h?W*TMD=K_#2fJ? zZZpQdIifkf8DzJXY*8N4in2u|&4)W56bW@{+1hD5cS|Z`x)2(z@o#t$FPdOeaI+fDZF|ahJVqsI+ve641x! zJy^BwkP+D}GQZxeq!h6pG64pxheO4{WZHBnhQ`k^9VYo?u<1~|t|VA*e#&}Sj7F_% z(<;b@W@R|SN&9jkTy@F#rN~sE8w<^k@%fcqgd=^j=;7u|Izus60wI_0`dTRv3mqlf zc`vrcE}U+)N4ptqy>Gbo$Z@&p{h0F@+InJbWmxk%Srg(o1=cwiXQ+dt=qt6gViS?| zQg0T>>Dv2zlIQWJfPqcp7D?qTCnEihbM=_o2<7nodf9PPv(4~W+|&+n`BXeydxqR@;W6**}BeG5AzI$pg2ygml?Q ze1OOyXlpZ^Gki%Hf3^<9fToho3iHI6!{qEA8Ic<6guFgkG(yRj5TPd?f(|- z^rX6dELFC9%P}ODY>>%;4!Z2n!2Dp;#i`8_{;(k>Dr)V~JtE(fb(7)T3QR3jue9~g zsfSIWqt=oFFCm*O2F zD22xwCl+D*p3rsNeIhdNNuxue2#0#&m6X0IF;TYVPWxR7iAATxrgLfFizvaiOja;~ z2+M$M+UH4JB1-+gkhnOC`Ja)v*z0O)`=za)fI%f~i3(vr+Ir`L($*f4XX>^T)*)^E zK~Rsh)f2*1I|5lXHZPMdDQRoBJT6qHNJS1f;>cTdTa@{9kdU{%j zL@V5oI9DS~?x=ofR_6=kkzW{RLnk?zCxPmW-q3-9PqbMFoyOY{i$xR=37_pZ@dZZ` zAz>!^}2|2gTyG*BOc5% z?eNJ8eWg+~vZXL0ts+UC=DdL`jc~9We{Y=VIdZVyh`0iYd*nbKxT5H2k&ejf)cBzc zmx{K41k6zfhHmgdJXb*Cbm4%2l-(~NDV+gUCk0izNG^bMwORHH<7DXda6UF)Ic6ZI z-3!i$i1gPWy1_squd4sww4DohRppuQ*-4N9sVmfs1}6iw+9@ga)F?9&!n6p9P$k|2 z+9CEb9jBK$GYHwDl~l-1NY*U2(w2@)4^BDfwXnP zS=e5GB3S{!J#^VhMqw#ZOoT&9mofLl46fmDjAj&?7yW0cI^SdIzWW zQT>MKb1b@K3ZhWeLjG2a!2}=yl#S(KXhWa-5dTU%SKbgbde=m!r^~G_@>eQ-0=GNx z^u$bXSa5cPtMe0uLvF{iPouH*WuPG=1O1F{<(~)ypm8p46~>VH_pp+IKSOWq&R!@N z#!5sW44GbOHK#GwOn$k*QSmLcm{pwcfP7Sf8JO~3cX^h(DAS#1#GWz6KVT~F44s2N zvCg>V!6D&2h*zBay78v32)yaXz@v=GbRQf8KbUZH#&|gZ?5Yetxq&zR7~>{TF(#K{ z)}%BBlhPQOlyDO`h7mL6d~jCplt6Prjv6Q9pNHjh0ay6lB2BF6Q<7+=_;h&n6MDl7 zvOy!QAi1Egek{jBib0lnAkTd&*Ij1p_uP6QJJQIO;duP-2s1cXN1ARf5VU;4165v! za0N3$6k7!#_!V*o*vA)48DRl4Gu(`sUPdAJV8>Jv?V?IDCNuGlRY{mKmCSLAXTp)q z6i0@m01XQFF8!zY8L{+iS#melb{MLN=js^l)nSjH7pl7hp=MrM-5m%u^U~|?z%+zG z(aJShW8env&X_jK$TQIWxKwHsxV%W?)cjPpFP3MnONt^;n3{j)PY4&(0fOSwlBzAq zGP@-Bh$z(b^JBb&+3}?Xb0_{t@`w13xlY>3dad0?a?I6|8m-GE{=vSZUpHQU$S@b# zYm5MMJVk)HjhVf?00T4Y)ZC?szlVPU8RlesvYtS*GH|JlMJ^;0jLGLIs*wM8+prL0 z{ThuNBi}sV3(_riu<1BB<~e4=WH_E&AgvrD$2{W#>A;OU*nFHE$(+Rwa*Pw$d?d$w zz;wt$3&^WZHVNxhSAtia-}Ijt88aM<&yNpx$NU!GnEW9=8t9?lV}Jb5S!REj7^r~N zTK#Rrr1(=h*1_~#>pf@O?%2D}O+mg=%<^+La^d}Cs{VY6ox|Yt8GCd>+r~FWkNpkX z=B_CQN@(q>-Ns)JXA~6sNPrWFLh9oSg#hNN305I6;eCV&cf|y&6PSQbpqIb!sqb@V zO@Q`#v#!%qQXyQ2exTQ085M!~4S8pR)e?{)+dP}2XID%>Q7}P@g56WFWmKtW@vq{D z4I>sgGiG@au}TtG*jboXwX-m-YG+|u9l5j85vti)8FputB>F!PtYhPjVjYL4(r>$p zM_PNKwa(MmU%ZfuN_#Opz9+Zv-(ghk;y!}3?}tlgi*dD@S|Y{?9jEVi!J#v8ZzYK(m<$!fgVA-8wwhWKZx)Y#01?PWKl*vkaXCQMPI zkh8!?qbfdtHpPO7qsX2h)k>ysISUbbgSHvVn#3(7DGFzK&sxxtmOdHHnq-V=4PNmijAI$JOWMJ~ zLy_HM<28&0VXsEHhA2_8F2B35)dFkP{u9rr&ZwRp#Bdh-e@8fsu@xA*S$F(#-3T|J zu%brduCbe)Gj_AP1H0MXf!%B)cC$&wZZ^ZV#Ci2#oodl;)+b2+Ys!m&Fs7h48&$OTwS*`_gAWJL|u)l z3;oivjL=DAc^S5umDOY0Ff~2m*K}iGGrM`XCSwZp4Q6}j-W7Vbs${(uj>Yj|E+fJV zFvhR)9;?rTZWtri_LLBO#4-$mou-pFKwI&unvGmD^v1DN@)3IP8@ImHhDmM}ujphc%{~Z%~|ErY9``cwH zD{Ck!+w4U8RJweV!t3GPkptZFY8!A5qp6ttl4@s8dAA>N@0K+f9S~hkiMT&(MK=S7 zv$$p-P?NHcmBmn0#H9>11B8I6CZ!4@oq&+RI!b_h%9zI*im(x4MV$fIidVKtG3OOG z+Hm`_YL|%nqB2@@$`84B!At_h3?6kOK9tngKhFw7P?ZKFmiRZh^KsLs{9|;$7|H6r z>oJ=*y)!y=zVq#-{y#=>FAG_{ZM6we?E*bjFYmxg31&@sH#uvZ1JQGx8JjdmhVAffa7fN~BBOU+w)) zU|-Uf^M}rHOE+4oi&U2`X~0NlzEp>7ngj()MxoQvNrp@40R$M(O-UGTB~jDs zC`{xf+mDS5zz5)X{25+}+}FMA5qD^s@hvH2?c>5elYvFcKWJTV(Ga@(LkEe0Sp61T z(1cAd1X%+%p)$58cK4xSJt11cSg6&jTsa~g>{?kS4jA9|@2ko5KA`}xd6{@PJe`H7 zuOfR>f-)6SZH~Ob5uusG6L_({umZR73Su-@{HJ3yZM*NsH#8P|{Gja@l8@*yp17F6 zrm+S>%@+)Sn^W_Exc(lAd*$8nvj`^Qh}T(kLO%dAywcjl+}3DG9SXc|%wTH@G@TsK zQ~Lka2#OoLCv&`qjg;6b;T;RuL%Hq~aF>LLY;f-#4%eG02?k$oMXTM+aa=qR;cp@l zJQLw?VOyoVzaI7$3)c0>3fChiUhid0qzu-MiEy$i!$4gR8>=!znqQBEcs&g4^(CETqR}v31p100{W87oWyfHFnh6kqQSw8lS`2XS+giM!k zs@DewuX^(M3424Y2cS^aE+x$vHSzVa&GAMfNi|3kk#zVFLpwbCZ=}NH-S~CMAL2^7X8lNs0+er`=J@>BrMEIlQG%QCT|`72lzU$^ zZ-%7AM=xfsi8L69zb+BZERy(9BVU>N;=i>PFL05E`?Z&2K=GUAICE;=l-=v!jNQvT zqDAzQ3|~Wdf)mU2wM$&{CK{{PS5zV4f6a(RBMn~?82wpH^WA9B?ZPyBDoM4 zM?`W-V7#C)DrqPx*%Z!?RMt;19Bw#Y#~J$X@Oli_R{3qbPHcb*T&Ra~BE)9%RXHD4QHWq3fCjJnO7$%X}mJVfP#2 z*1Z?S$mbu%?)swP&Z?BJ{x+OqSHT;~9qAG#pQWVvCi=yhnzWG3^ z?2c@C-ki(ajyivovjDKoSv;$gx<$LBJj;E41wTaRB5Pp_#LSi98bmdx>PHl4Gd!Wp z6j24_`S_;t)N~DXH{ym@+2U0F;3gQ*GtjeoE`ad+_PsoWXadmbDd*LW$jM%b9bLQ= ztl7OvTUN752MA&I<(ugQ#fl1m?egOa&Ga-@M3dC79hen;-fxdK#m2gkPcXC?2sgWNEP zs%^jt8e59Gx3ze@K~rs;Mh&KG>XeZ-B*nbO2~;zi%DmYbq1|rh>DS%CmbdA@4`!JxR9$o+0qQl=?vOZGoRMwHT)=!>#BuWGW!MV8#< zNB`}QY4j^{hev+Lo|KU{W~7ezE(&2i7FL4kK4=kk90Zih@oPcLW@oVAcZ(@)d289= zfg7^ym_#2``%2fKV>N^FOMr>np?8g)3P66(s=eVEi}G_E@*UW=enSs zqmu0`VVDt@vhv$2$iK**?z7Dtq?rd86=x1{IGEP8B<&nh$h_72q-~RXqW{J#G~AXO zZoBr=w300XM8!*jfkp#@db1=4H{WM|aQ&!J^L@0_@(mn|)_1b4q@C3AX9!w?U&A{96_&x7 z@(h|G?e&Vg8R>4jN`RB~jIU+P$9es>R)SY?BqNYU4gA|C4txaA;~>G|lv#0v??x+# zPEm1gZkvAGeQ7#>aCO9eX@RZ`P@F+}rCR>##%$22$I~U0zH~EX+?pBuyY#D(%3MU# zZ!kbcG_B(T2?T;eeUH0%vXo@y?{=!ki<>1aB>6S-TY-6Z z=Ijnuou;`hewfn9(Uv@l+X4X80)a!p=hP@E2zsW|^4eTngDZ4&1NFs!ajH#fNlrU`ZLuXuYf#lua6y#7A>WyG@Uzt40t zc#;4<*FfHS1+GB@K^#z?m9oCgqo;Pay!F)J?xx<+>BgSg^49Hx$0fWrN7_c)r(lDK zcQdGll8p`OpIxX(k5DRnu~F{GEf*4z`%&6H@&ue2O@3!5LVei&xlS!jd zT5ZuLF)ji-ucOTPNS?rAQFwe=Ax_11(2YCe?$ix(QGX_l><_#V9`6476yfghCpZ{u zyK#4;Me|!u+l=#hx`p7hq}rfj$^z+cjX|~(0osudNRZk)tu(9R=3wO9Gn!?I7(0x`gWJm` zUKt%5Qmox92b$uOXCts$tN>hCU`L*`n_+~=B6@J((zlv5=hW0uZ~R{+9b8l?j!^rl z^rD~R|4s7G$fEJbc)KW1s-T2$A;MQv#=ZE%msYR7UZv+OW;`c98uk51^3fSN<_ywl ziPL>_Haf_MxQ<4|Z`kk@UE|VZrYst<*a%v3(TK6Nm}TY}6l(WW|6k(aiFn%;`_yhL zHWRO0(k{Cw!n5E8dI2)!{EJS z<1OeQ(i$JK6&<`Mi@OhYpqqxz<@5qi+bx5-p$CbuBJH{JJ+1^9{y+KlEHO1s+0j|K z_WS`q(}{fgY8q>`R)!NS!hbI^P6WeZBp%ao^ied({?T?GyiT{t?M4aH?#wxve@ghD zgPz?!<_!k&z->Z9YK|jh;a`qVo<$GVY>1X@kcJd<-EV1{-KQvcOw6>1y@@z-_nv-T z9PS~RKq{ERbdnoLwf9+pPLyr(j6S0XAHr~K*-UHfmzQTnzSWrS%|BJxnFJ`c2a|mh zYE8qq^CZZP#)0IZy)WILscg7N*{1$`+_UmA>9m}3@`OU4t^Mnn!Bg_R!#^JVvGPr7 z^q!_SN2ixU0B;}cPyoW7;S-8F#XNz^N_Y|?v(&fr2Iq6=22i2-$zd=-Rs4GTSj$^q z9Te0I%16_>5N;STq8iTTEd6U+-i%D!IA$#vmSrFJjNrwXyixI~%YwGrKKGlnXaCMH zln+R3tW^bu5Q=dyy&pb}AnNvDFYO66v4No7AXPY#uj(1YpB9BzE}QQ+>O}rgCdzQ! zVr7Z^Xd21J+IL;$4>9oYhS3Y(62Fh7$&xY829JoIk9feAcB*gGIyPcJXpiW+^<5Ji z0d+TSH|cUYYvis(s!Di*zZwME+j``bRHs+sE`?(c%dVL%pdS3W_v#8}9pT`dQ~j#; zh3UnK{HDS)2n|7#tjLf|fq8}YUhUdhhE!B`VV?5Oo~9czUX@sv4y`dAe0e3?-J=M37Nyi6 zF#p2a5Y+{qvYttYi+AQ~Xf1oO7u&>cQVBZM2Vo19yruM&{1b(HoZ5Hu_?w}L&bl^o zHq-4K2~r9wr&IF+kHE4TCAss=mtgS?K`?lwSKm<-?#8$F{@~Z-nXbg}2040*0W9^_ z)U@aztgewDB4usm_Grd!s2qx<^k{c#H)CRnW)v8wB%K;g?LW)tQuYcOYM?3LrJ_#| zmLcUCKA=w3O72RaxDJE=(;29aBS{kjP}p%F*; zRi4dw{PcP_Tmx2lufe(kfC+bOrgTDd)K;1yEz-f`Zs0_4 z5k^w+dx)zvFHctwJ5jm#-3vew>(o61iip$B!q{s&&8eFYB4RIai1e>K5#QqXkD-d3 z#}DhnGS&&Lg=zU(1`+@FXL`32d}0tyfePh@1!@u65?TNZSr@xvnMH$x6@!H48Go$B z_+zaA-BcKei_`v-=%&wWyP(+>49+5k%0kQBY4o6TFckFqe$aQBwhFz`S)+KKi_8S6 z_JKbvhNER>%(=q>TIZ}*VvxAZ{nj~m&JN#Zu+Nqe?N+h(=~(=@q4=`PYPFR1#=CeJ zFMo2`a}ix+*p5@+pPtCay7K{k^Ryg+DH?%)O6OUl<7Iw4J7LB00Q@w$o!9=C4pqwd#-2e+A?!?C!*A;B-!e{Nr`nRvSc#;PWW06*LdL)pM*>R(QAb>|0DPL<_{# zoLoWG81CDt-K$wId1V-_=4BNtYxk}qDn}^9k7xOQllNq}knG7&6$8h$6176Q(c%Ch z1LEpow|qNnVEGn2MLL$d^~in@5&N-a z3gQZDH$Gc()9-o!sG9EBW^{Q<&1hG>UGl5tXBYpq4m}`fE~(O}zWiE|njVO)@aqLx zWmsNX-9c)^`1j4R+Kp$W(GM%}wBZyjg1tC-8#V^CNX`E;OJ{?mQh7?)u(9v)V^WZ0 zDquZpYS>!-Rxn?d4OJJ2?Xaw7)wd~=e9$;q`ix-BAh+Vz3ZZpaLN)iz3lj0CWy2Z1 z6aOWDa@LtJKWqsA&Up9cdb2S=w!8BJHjMJ3sIDw)J{J!%nMRTiJL4!-b^^g&$=2qr$wqI9iIc>w_%W=2jV460gAmCeK=L^{;)A-r z?p5T1XPgTnSqER>x;F9!t}BM((nh{AiGSfM!<~M;2Sd6b7ui@PIeb(SbXUy9rev-y znS<3B@UiP7O|lq+ZTx)vqnfdoq#Z~hRct+Xc`(KEvZHh5jlf!P*4&4RM_`-x3YW(! z5>{lwP-Nox+`$))&y9Rx)*qMUg&X<8+StKYhC6GVH!G8Scs!{jj?XHI1emKDmS>=X;!=FWHQ`JP*97Nj?b`V9(5_Euj!>E7fnV9{1J{JwFl;-|p4CVU zU1Hu=6z5nyW!#vTjts;^fn(g56^PlVO&;z|iN%x&+km;^aggf9oQidt_z#9-KCarX zVrO#dps7ji<9Mc5$UFodTS#5vD}^`oFB+H2`FJbm(G_r04MgoY)m7e`Vr*yi1U>tM z+uJulS~b`Sa67!OrCPKa+8pj;v>{Xqd^HZZ|3$H{JBEmTeJ#)%u4(V5 zZlm<`Os>5`L+LC2BK{fazKj7neh-&cl_J)_s=iENlYAKK<4w>B`=C?vVG5&bpF&-i+e@k94ETj0HVSS$w3lYVKtMasj+IwlCD4}Dczs1lPqb}frhf%$g|N|HsR5) z{hT4VmWRplwjD4}qOXAX%!XYt`A`c_Ijg5>*MY`Ls-V9%78&Hc!oyDO->V(yE|AOJ z!O(t_9;7)yWpyj}IW@B-c3*Iw8H5Q_{mxdPSts0HcminFw`F|V?@jg{o){16FOik5 zWFO+Ri==vx!sA#`tBxt*%C7-vgN;I@e^D7;)*-|ARFQB_CLYjUJ2tAr%&8-eoU=FGw%t6dr|(S28R{LIvY2fDlb2+ zmZoMr7}>r*th^jons8YL7REmMuV$PfB;dnhP>T~0t(}3MVjqPfXMe3EVYQjMZtayG zeh-+egv|jStl40V00Sdo_#vZTS(N2|Hq*t85J}LHYwP(5E4~I4tH}gnhJE-SZ^11r zN_e1K;DLa|yam|5TR@r>%0Jwpz*KKD@5#E&%euvuga;a+6ujdtDwRiRxF40wQH=|3 zg8{lt3=ru6N_&up%Ns(?LcTpo>c7GMJ0%mxVz+$Hbb7cY_CjMoluNkBWKvg9GBR%n zvs}v@yqaqMLau8+lBURvfD+Y)_mRQ0GLe6VT&M3K{0_KBDy|uRtE1R?XWrccX+{3+ zg<}o14jzV9ohPI#w)6|>Wh5FIE)IRl0@|+*&p;2raq&T8{iye+dDG=X-v5*IfE|BX*kf{x^nbu^ww?di zZZ-^l;TVe|a>lib&WUV-oP|)!c98_jJz*ByK92bK?IN%ycgQ6IYf?sjASN(uIj-hk zMz9Ua?OTLs+!OmY1Xysam{N1%HWn{>Q{ zxeB(l_p(x?&IM#hKMlxxbSjV`V~VUS2TrjF84^UoB4kJe#3E$KA_SqCWCNLr!zW_H zOk~Jj6I@wjOCm$6By^w%IxsVjB38hdi3HipUr3NM6=T;nr7*GdJMl`YCFskk&C)T` ziEts8**P}uYmSZknq%U={EQ5wk~v9muGul>+9Zwxd}-D4WxH)w9(2~sm!bufhQ=w3HSv20?G@Q5n0xp_9we?c8+ovoulF@a71@Y{ zy?nvt6X=?at8tGzop`TCZ~C=*N&?}vh=*u#bcKWnMbs5SVm8sSdN$WStFwr|2#`hh zVB+`A`|*1}mJ0jW`t?AxJQ zEc?b&$j)qOr3aP~3YRr}Vvda_0tr`Q$n1Ty^3AQKxOI5+K zXfb8|lpku=;^AibPS7SHh7lCyqj5>IBqmPPGjK^UNiK5&$px(^k_%onA(Mq7U4?*5 zOG5ViSBi<>)|v$1-=K5ILD|MnzKe*67Xs-%QsXC$l(^|iz5B7AF+%WXMml9b%=S?% zuX1dBMD>mE%TAHY{@|kGHp%4xBqcnW#2IvdGQCQQsCbqUH^bfYUoI#{;aO*6e2S|#bwb#u{+#EU<5`FKdPzZT{U5X*zB_e& zl^ZpIZbq_P)gqT|6S17sjiSC-?=M4swiHg2cJ!D{HqTyypuF{KQ$vBX7 zKYcx_)@Q!VefX_0^8hJQ2EX^>i?nA;2FOX{tZvbID~aVN;7N2zoRo=-A^PC6hNUn# z^x`+c_hrjZSn))3o<(m;a&zL}A@<^LrQ;*(KrVUjETwlBK;}#P__F-%Brhx1mW01m z$;^PpQw082B`tpofmg7q2?-(T&;}4vU?uv;tKJd)sWlDv7MXY+#M^lik7P>30-$+^ zHCy^cJGYa=SKF2o|m!poaeBQEs0_68f@h>>2(j|F`Mx6tQMN~@_$~gyrnovy3xp! znvViL)$h;txR>xA%CJ9^9H=oVGagt0i$yeqTtAP2%D+8H^8>c~|2aVmhu_uBMsM%W+DYSn1V->-df zvtX}?UjsB@Nr2$^80Y+ej*)N-oNR>cs*h4M(r6_;&S>nN!l93ml`hWT6*AZB)`ST!k=Pg<`k>@t~`uqWq_H9M})S&h#gdHf{YW`lm=sj#-=|7UVF! z^GdQ=l0-M<@3GKSolfmM@vX=QaDBPn2Z1{}vuvD+=!t)vJE0>)9)7b4n1knjS{-+4 zCTh8sW|0_(&FUg|Mb417s3|f;(jp3gt{DDsq%sRcJVDv`YX+uxj-iJM=;0UmoisZT zxroUCnt#IiW^-gH;e4wxvm0O#k(Zf3rt2()udt#Pwnp|iOy(ycwqT5*7+bL<`Wfr3 z06k2H9wO+cTY8wzl1OJsU{YLgm8FMDE;Ha}kz9s!_9|)VVLGsO3M9NLkCK)iD!+{6 zE$E@2Uxp-X)W`U<``e)ntjk1tnDnqT5wBQ?Xgm5x(k4`V5YCrAJ6p%iK|Y@!J}uK} zjHc%!M54cnE&rSJa9^ruZbk_CJk84IX@Pv6MmiNEpQn*d#mMJrq*F2Sc^c_djC`I( zIu#?Ir;$!2RX$frP|hw(8WS=Q=Ky|MI)zyLj%9Nh`Dvv$nkgF- zDf~d((zWt?=*sWJr#1hK-F<{n30Ga+d{JeNFT8(I?AQNjMx3Nz=i<-nS5WD;LX*~~ zLOIMgP!9W@t@90(19W>mnwwk`I`#;!9B!dnCOC&~+9o&$FwlkNFy!vGo{@)d$T7}x zxKSE6$O0br%CZz53YfzU8mr}MM5{bk&nk+ZaEep;EC(Xs$z2cTK>#AQQ4XLb8$5!m z*UJb-JidWH7xsCF+iX2jiMg`i=jB^WeTVQ&D5^{>yHSZ_vj}zn`0ra)vYzdx9+0L| z>N$PGbX!l!h9I2#30oD_Ec+1AiGz_-Rm0M=-pk+TO5V%=n{TgdJvrCC@(shT%TDBb zQivIUW5COb${U=>znPNtq&GJBd%`}yb~J_Ly=$>0aLGShWbr8G7$2MbPQedg=-fE$ zc;?glf$q}* z$4*+`KR574E)RabmF4Q0v5*^b*~%Y}p4u!=Rud~z(xZkQmK!p0Ej{u?=1nC~l6}!| z3!=EZVX#QF)Vv0sV8!)-$eW0p^{F1%B^yF$e~HvG0O-Ky;sHRPZe)Ccrz;YAMn5w6^?TQHLlqak+rxoK@*+zN7a=>kn zpue6sL@L*X!m~gV03ra~OYcXb)r8C7nz>qmpz+1b6ZSa0$-KY-X4uE|Yz4MJEqef7 z@lf|F*K42$Z=X!z{d zm2K?5`tsw!C^DiW2hypXz@ji<=)HiUJGI|oP%#}uv%of2@Kmkd1Z$JT;-6!WUov(#M zWays2uo`z%ow8BT1;VuEW;u^(6I+i|Sw3d0wTuGG9G_H-9o5v|KgJ9=akYX4+^n_- zj%|;CS`c%Qdcg#gZ<`#+`b>)Ar+9DZ{IF>)+y{S`%+W1>F@ygA9^hi|0O5($#jG(Y zX#1HpfI*7QIjC6WV;zh~{W z*)&G@=j(j@^ZR6W3$Kj7CVipB3)IL2iMK~Up!eZpwh|XR`HKN@X&}&l8bF|Tz;uK7 z@Q_K_%!J*C&kfU-Yo?9HcDQ%>{!#Fa&YHXAJ`QLg;OF=h%^+*@jQ1qkEuH~-KnGvg zw`MZu9eicVD7$!OhMP6hW1}vfkzq?_+L8<$pn;|&wW(wdn(pjq-b@5*>9tSM22|VK zc(ox58O*>pbUs*>Xld+U=O_`gA~H&U2n#LN70;Ak{LmYiRW=@(%nNUIl)I@t36*eXs_Aso}03;W(k^PWAV7 zFF0W0&+}K%Ocvc|bko4PEe#Za_?$m%aya#&k(^CUG&BWWFx7MA4+bsRgQ)y-Mhu3s za&7cEMUW-^UsttdDT)jaJ`(>N5x0BPa=Qnd+IAcefVG|Io?m$X1F?^I;Fi54r$!&T ztUr@TT=PSIBECV+3P<8U!b66m1A%h2ejs74Q+*mjBHk$ZZo(!0R<}FcV`M8c9w?C^ zXkUl3Mp;2o?h%@H#)-7!ZNza_6$dd);)Ku10Ai*BIqkNe9Y`oe&O2fpqDZHZWibOu{v4i%icw8D6=&y>$rE`I`88m(_ur?Qu8_fmQ=HhWzae?Wqc-$B+@O1{s zQo5?b1k!9}Vw!0?dlF_py2=DC!iIdqthKVPwpGLK*FFgQ6D%uuodAd3L|-X`=YaMwNUH{3&pPRmH)0M&I;BNd|idMb|j&7 z??FS7JV@KI`sbgJ?!iRpk(`ab_$TQx4S(r?O%|Mp{jyHrx(VqUO9%4X6|hFHtKC+X ztvN_r)$Wk|f^h8v1`1m=ievnO2EkxAr|62uIYEP94o=XK|E1#VDxRZ)c#aDHJpFg@ zb%XQta`?I@g|CaYLnkNXB%PeXs6PS->%mrkii$-6Ie*8s4G7Z}#Q-l_TD{1mC& zU}0yRnt$TYXlaYQpNy$-B>D`xg3`5tkX`*h5)fGzqW@_|$v{JH8YzHvTR3zpI4Op- zWTh;RBc(6qNAaO<)R)tc!3@KCIWa8jBs&zD?Iaqd4l9N&eagyT|Hy<&{(43eTL$O6 z0er7W>$%AJ54o={W@S2&>%>PG?%#=+`7f`>8gD%M^WQ-2A$Hc{&7YJAb`EVUsizc7 zBILJ&61@n4dPu9hbfZZZnId&Hj7~~j48kRLEi(ayXCD<50G{Y;8|Aa& z-$CL!VxA^b7U`#gTjZ`-??p8f5?1#7X!O+G3e;>8K!Jp=PY)h3LRX{}eOrpe1qGy8 zM(8R-=&G3POI!dsmJRs9p6SqNWG?I-?6$J*&_U&$x<3%RS|s~~Hx`8(1Xx~g0L%Z( zid}%~+5TBzJtd(DZ|u*u;ud_1{`4g-TCiTZ;cE1@VTr4Agv6z&6cjN=YWRDVGqU!w z8zeOxN8D5@Fggg>v~C0PW7*}rYct=rR+IPP#GfB zR|gX}Ot&GAR)#UTqHF=(?Fe){h)@Q2j*M-lQNNKWQ{M0&ZxKY_BioE=ifX#7z_jt- zt;LE;HG2Cs_hE%mSs0*gLfm{gwihzDy@SaY?B_=`jJNLm&{0 z&|jwlrLR!wK^8JhixyCdOw{4FFS`@>kRa{5Q+1X;5xDJ>@|j6ezMt8#?nF2dKM?zH zgeXMxqFMPvq4Of+W!3#@>;qh6Fz+D~ZBd&q?^Z-8*|`ZT{(DLY%^-FjQS$$UJR}Q| z@X;?P4=Ig$3jKckL-Aa?De~PLd${Ui^8LQ71Eip+S%a-SK9hgo*7D&B|9z<__S9SA z`7Db1y2p3KH_NIZ1a+yt7@PndPo4z#=ILL=B+VL{;|_Q3uw2yZtogJr7Y&1{F9u9q zauHzal8XRSzf>-=VCstjQ#U28T!gjeQn^U}KB;n147upA zndoH+Plj~V{8Td051AtWS#v9XTk?naH@KD@l;T3shl9w!Nv^PdE7r@Ntw$UJ*1@Mg zcZu*Lr7I+?)w zut&*UE2(Fm=3_8L=#e?pk42Ch#ve@X=|k>0#t0eP$*Pu(%!2hzuo9{TO%EB+bR%=x zA0A5n5Z}r5@7^CKP5EEGVfKfJSHLeVe>Q$Vp$VwezhUvy2fS}s{PbRQCoc*?UD@#d zNg(Q&tK5f?6JqW%#Dre=E@RU|pRgM+FT|8jBUAyUjtbA>s1tFu7?)XX23%$lZWiCd z?&;-=-BSR;?Bz>Rk1?;JGRQ0N@@}!^*+a&0)|O`v6;QFtvtw00$EX-EwdNH_y#SP{ zG@DDGiMOB`f!{*CuzZ#{Xz-w}w25%T47}$qN=7gs$aIh(l#s`|{Aj&~=^qOu)#ay8 zpngh_{WSFCvJ!jzQ+jHqhkH%xQbW2fwCilLL{WjJ4=DFoB~c*)O;1?R^u9|$(@Bu7DO z8U{nJGGOSe%PNxtmK-tvVDQipQp>ZE$&v0qZVYRijbUwzV9>uD7}YjeqguUhREw-P zWNf`0YhYyJGscVB)sc85pG>%G0bFRdngjHndEAqR+u_?i=pMdr(F5)qvA4fwP9;H&f#Mt~kO9Mq&FR}JX$#W%p+IFMl z7a03R_O!)n=%x0wO&8nKHW^m4L3XZsV{3Xv)qOg1gq zV(Ph)J*|Nd7E_h*JE-dSu%~TGv8M&S!k$*Ys$`u(MwhX0AI3EW{#bFVqzkT33#7kfvV5LApT_n<8%Sx)kj9M*9UH72zfkISSc zS#IO7JuSRJR+6f3vpk_{R;1g`9}?+|pJsVIF0$Y)TPPqW@;{9*x2dRf3z&3z%Am&p z&Isa|G1VzCpaFZZxrB|?N@!Z;O zU-0u&9v_kOOo=A-j4$wQGA6bLiGub0W$s~XWIIS~L}_qKed)i}N3c0Q+!b>nb@1Mi zA|SS(!0u*@ZVl465fnxYDCZK=SC<-x=dwYh1MiR?K1mPZ--o5Z9v6HX5b5^nXe#Sd z1|kTJnEz@H%yLXoXV*kDA$O-1EfWdGZ2M8cVuiiDf2NSK>4WW!R@CLEKO}y=j zO-$M+11T=GeFDI*+>op>RaR^uaNE>oAlIqw<3VkO7uV*?iktdV@!c<9-x@d%K&@(XYI6NiXLKn=x2?~*SSPpR$LbyVq7hIwzNID!tNdo{H!X%!EHtBGw%xgMf3p<>u z(J1us&s2s+9kc|ev%LL`TgJYYOgem|A_dS!D;f(M8(6RmFH#$O!cQ{%wZLgAh)*Hi zkV4iX?C8{xwcg6Eq*4~yB}6>zzC2`6j2-l?h>5q48D3BW-Z3#A>kg0Q3QBk zYiILL|@?rX-`5M$Ewm zw;~P0BN@5U2ux3d`%M$~i`8*266BjmEJS`wrC!^^wEQl-0h5G_2!j2%t`U)`xbq-k zP^)iLi%Ed=NsbjD8+@bMabAwdJU^0(5%F*Q*jBR17}by-??x&dUJB+y5U^-RES;(n z7`tEG%91{zsd-M~5eg_@yc*g_yq{y{_AWk&lIBP8DnTvKKdMn{COQ=RCjPy04eK`EL4ktCX(e?j(kOEC&yZC7?phi2m5YD423ax~kTBOH{6z!& z^+gLK1I3`8d*N(g*ne_Qf7eI1e}aE@{`7AaUJKb0GWKM1-epD3OmV96xONkx55Ls- z1GHss_aFW0qrdnZr?#8G;f%TH-uV|l{L$_SoPa$Pd-Bh6zDE2A#qM6+{(0H+Dl?7M z=S}?d5aDqOcF&vjD2Lpu-FElXE;V8BouBA6&I<>?4!SGDd4XINV7*;~yW?J`zIn2< zsVU^P@2uU^Uo-fYyZ1Hc?4*>q|zi?2k?$~K6 zc`J0%dn(IR=)7<~bR@l`>l%`Vp0hQyh1{W_hRS`rY!&Chpet|mD|jQ+DKA%ieZPiW z)a4GnY+n2JF57m>V$|}U&T(Eire!R%dw?yT9V?_`8JLT=km+v>A!$!5PRJOafk-;!EO2NFB8R0OJb zRfXW;mPa+Se-?Dl9nCsp4?Fd( zlc{F1+vK-)&&y_B-wy3@UN{vxd@F0@RKZa4_AYb#9k)#dj)yvT{1r-R3X1nXYzxxonH6b~j)n^>5JC&dF}Ksb%oZ9dDvw{)^nVju*j1pR(eYe6K4${c$ zoca^jx$Ps#zV^i0nQP79;WN-HT;Q0?7a_9~kkrWk@_x;spNQ&K#iUc@3Ys?2m{~2x*^_jDQ#c_~*l1Qnt z)n8yI{PpHGg%10hrkf11dPDJyklX6F`(*H*!v)6+p!~M!iDc7#vbbOPaWQ{)vfs_) zk+w9q6-3dRztVJdAB+_wdK+UoMIJ$T_!D&q^;K?x)xftw^4aN;*jD!OG09JoJ@Oi(=!yY*^gj3_QB(pg95WAy!~j zlWKO4tvaM-?2-#;N+g0t-QK( zXC#|A;+3=fSLR+bH}Cg;C8>Jzyt%X48@AVb{F9Vy*AEmsFB}f-NuN9Ang?!lQ;!L| zjSP1YoDgh8CCCQpbc%b|jnf{Ok55k9-1!XgsOTJG#+}+-41e^FUbq5}p+OnVXbLaU z`^%gl+C7gA=FKN`ug{x*qc?lXMf8z_l*FbOO)QD@TYT0m?!h-jOW+J3kOxC&v8G>x z;W~NFwE25K$yX$IkK92ChU{_gMVjgMggCsv<-E|T8hWq6aCd19{*FHr zI%|$%m@BwQ_x5b}Vd=WP*@T1#?;Y84m?G2izH89&B!_$W0Q7sH_rm)bS_Ctc>CVY@ z??mJydMnqpJALrYfI0G;3_E0A-F{8kzRSJZjK$zP{;M^P;Y|0ADem1j%C)Mj%US)j z5g8SuR(NvRAGvMpwfw`{Z419>H~;ea1&xuGo35~br$Q{e>%7lqM9xmZGTc3Chse59 z^;Jo*_h6OI^q$C4x<8yH`keYbA-S{cg|!NKOR|AM0Jzp|hoi#5qK6$gCUkrPK>~>U zxiZJx$-?P!_c-;(pi2p-es5Oj)C5hcH-Cyi-e%v3=epSva9~XzlxKMF1cXOIn0&VP zWxM+Ka(Y@)$?55yv7FJ+WR7Edwpn%nI)B#R=m((qCvJs*ZsjEPCkQU={u}M0hhuv1^Z!+ngjkNI9}RB-TlfFp%WKZ zPVCxcD)0J_Ro)h?^q}%)DnD~^0mL+S4B^!K;UW5X!7cx&DB5j!%fhD1q0 zxUjtwS`F*vRR1Y7Tb$Pf_h7&ig+CY1=2xtiVz>qj=P`l-I#JMV`Zs^J*Zz;8*` zKul&@Xm)p!-%2(cZKp3Hu=&j6;UN`~2r5$+!ij(BG&ZZX} z8RoZ!2H)Cc`K>|tt&`%nre4BtMFt)svazj1));hH0`D2M3svBSzv#jc;#7SOk3r%K zqu=d96%n2HrD*B)C=fK^yf6JN3=p0y*b2V=XU4ybxp9;;M?kXh)Zn7K$MVlEyVgBdc)(dL6zBM_F#Wi#@ptuwI&bw= z{D}Afr$yG+nXHR~)99nH+B!8qqs(cb;7HcQd{_L5nS`vH3l3G|GfUJ+@iBfLwYM(s zW=a$ugZxD-Kz46*5r%*0e&pTsid%K)m*kiM*oMBJQJ^9$R;ze&eb zi%@emeQ6nroM=u2cYvlh)1tFh@xo|UR0EiQAoNDT>%+Spdr{VR-K_6;3%(0h&UfDD zdx&qabH4i?-|ty#F2>Np6U%>2OCpUKP4A>F{K}|%W8)vODqaRree6-Hn_h6*IJ7WGk#p%@Y0lC@!RWvHe!=O2Lu;ET!u zz4%3f7+%aYzs=&eEc4rJ#HGT)@F6l1P2vsF=`R-edQ2~Gm&)#%KF>W?I229@&M=0g z1{|TYMgf}9dw*N-TC&5Movm9kwPw5(o2N%V8*&$Ko?f?RMi+}lcYZ$dj=T4KbKQpF zyN55nyRtbg<@S-0w`qjCcV%;W-G)!<^^v9wf@#(~$r`4SZgc)#=b0)s@xIXM=1|2) zF5fna@}9ai<`wS2!j6jjlHDQxc-_^eGvFgsteqbHddOX|mj2vq`?JpWCwa%+bAET- zI&+t|Mw-%ycnF= zK#nx#U~_9L>C>{>!A=;}uhd8^^bkHgr7`D)cDZGiYybo-Iv*|V4>UG8&-_G1JKsIX z5VR0#g%7EsErhGYVh37@ia&Yb#^{&+oG_3>U*F7pmJv{w0BfM46p`vJShA;O;0dFD z@k+Ol`6oK-$>a=^Kj!KSb;bAmwr=q~=bf#2S95)#F7Fxvf|r;-fP_X3zH0;vg$5MA zG2}k@#`{Rw6SaYRGhyqIl~u}l;UsL>NjKvSN@TF<@D+$Orxlj(3;)Y$2A+;N)nB7g z>5!PM)sxgEUNE*}Eq;QO^n*C`+^bo$NSkcb&H=pTUY$-IlgJT#{F65;MwzhGycy;c4ue`N_)aT8*XU_ ziucP8K9fMe`=T-NA5cVX`#*fAP66$As=qU07P^wN&}*j33_hGNiMfg0V90ZWAvc3L z_!g^HV|s!KVNm_y;2S81d$P?V({q`mbi=-yS$Yf1c0EGW)IRe_4n=c$1Wbo}@Udb- z04ZZay27i6yBSCCf9ZsbnD!A960{(`nFrPR2ELuGjV!dLc*gCdTYfh^^5*+^F_0`* zvypW#G$O=(lCX3&y*nDScQoT(WUzum{U5z({n5rbChjss$`6S=tQZT@C2#8xD|5?L zX4$CUXi)v3id4o%eZ4v8JxBIwekpLOyoO>Y4@Z2Pxo5XXIcy1D3 z8T^^acNT`b!Z*Ul;y-8M<2m9InemX}OyHy=Z=WwX?QE?a=ugR+Hfj&lRA)w{H4UWM z>M=tXF8sr$n?;h%saO5W3Y>tU?EkRF6dUymQQzUauT|`F&-U+3nq-ptpH&0v7~EYn z|H7)u+y!tuPE|FLMx1}*TymYQr=s6jf+%Siq#bz_c8{F;zMC*iQe-I0sV$?pTfRW1f`|CKJQ3=iEfWjLmd|iv{ZK_o zJXUIAlhT)E7aTI@OaJHK(-zT0U>G8Azh7{OK+3Sm-{e*As-O*+N!IP!#D%wJ*Ax1? z$*taHT$8JJtf;1H(HiZ4ng z*sGOyh$-Ziko5_gM{mn2y+!B!E9RD6RyYF_KZ>*~}Wg@%N3Xg?f(!jw5 zmkyk63el{J8+i6Q^X@gZ=G~8l+%4vcl6C7Gy}r%-P4jRw-j}9Xs`@$6j)dY7{t&D9 zYIK`M6Fg<*z=`yphnXmNeTP<=KjT8Ey5oJ4t{&{{#l-#3Yas0Bn>yc>N5MI)!mHQv zL!>p6HbT#dIBO)h>3n49LineHN3kvwA|y@d^n%Qk<=`ZW-I=&ie5kV6ha22g1L~--|gG z8%s&wGzCr!Ikn=yf?*SW4lf>i!p(}{`j-~sYC%L^fN5#wGE7}Ue>haHgGkaB&83DYxOJ7l>|1%0!iByu6V9nh+ zW=hsaGd7ci!57iALrOP9b6)KK7%gxM@HL`g=G!Bx2Y1HuJ^}lL+CzJa%Bgv*UV`N@ zyeXRXA_yYbbDXWyCyfuUHH#O<(yMGF|6#?;kqa3WKa_iAWxY4+*_sPq{~??=etowW zydJrL!=o4~u@~Z+* z@M-6>j}P#k>$~`L^XcIOR_A&mRMyA%4Di8$X8n77hWNbiPFFPd|s^P`;SyLl`fNOttn40q0E!U3ZhHFTFl zOfmh)DNF*+TUz+KXkaco`=_q;hrG1!cJFxuL}ZGGnnNXPLM08rLp#+j?3s|?8Gk*w zQF{e_?$!(x{sWrl6}RBt>vLXO?>>$58fM+6;B>aH?1G0%z;^rZ-XDC&nhmHu?MOK*|Ho*1H7LG!`{2Kj*l2 zW@D#t@5~jvTXR}bd3X5L_zcq!jVK{8y1sN&i$;!WatT~Az9-!UCo>r1A&v2ymyYpX z&eN1JzGQrNyA`|5s0L$|2j+AlUoy{+h&E#0`&gB@#?sM&aKZ|I{%b zITts&cTREdyve9f&WP+rU@-IYf8ra>M(zN<6V`)#4HDFBpaticS)|hBoFVwd%|yf?8Y3FGaa8(nE$`1 z|5qsQE}7ykxzSxR)m?IvyM%X6cbCj?m&|gP%yyR)yG!P~OBT3G?sbvz`y~-?ujMspr$cXA_^ze75k}&IkGL zTO|1TRtukYKKuA|@af{y%?J7KTOe|OtB+5N&j6nUpZE9-@j;IJ7GD|KX055`#TML5 zIWN5MnrO~HLZ8SB#dAbH6%+PUOw3cpEqo#W-IB>COEF6)I4>%BEZ}9nr&z2MUWS!? zq9PBV!?6j&9pQBaJOtPf*mmclkI6>B?t^0VIMsj0qru47Z#~xT(~Y*2$Alw3wjE=( zi)kF2H`eUAxjOxJry-_?+v7K=6+U-$-9;@j+!eyeCES(vi{-CQxhqaVCYm4<1L0p> z#ACe=FeqMwA`>b6RkORG8Oq@ESk2(?G#ie}@LA2-{ApMz!)rAYX4-6dD4!r~jX%aK zgBJg_t}h1o|AaZ?>C;QuSgl&8(mEGb8m9zPIc!_cjw;h&Yk7Xoe^oC z?T_>3_{+Fi(&{2{u`lR4rPYk{b`gZmUWKoe#F}EGXB!z}pdW~%#2jL~tDoW-ZTyqY z)?3C?Ui`E3LIV45<-jNcrtm20PU*rG_H(fRksDryTzqcnM&7T-u2B9Dx&OP_{{@Dz zkSnTD>4)m(BkZk2tM3`)E;q5NMcRoJ!?&-(2=GU5I$e?jxNL+%#E1b8S6$7ez()Z) zfnCAyLguQBrB5M$vc^IN&ahdGF*!AB|BO+NKJh-dJ2J&!jKodddG+XEC+USH3CEC< z?>Xp(`w$hv9Z?*mOZPe3?j{b15T01N^Gu%v9XTPy;{QOszKuTqcQ>If*-qc$osyAN zbs=yL6*vN?hY6qL?@t@J#RK-*ATHW#zlk5CiL@kgYO&NF#tlB@R_(UC}##OZE>K(m|4E8aQNw-GO`smtHx869{QbaFHgL zO1D8-D|oG_YygN>XHHu*=clSQzcV#BLhC~%BX5r>cr72-wgE=an>C{dQ8FT92*XzM z4YlH|d$jW{m?31(qe_F<;cP4Z$Bai^;kEqZRiSpWrvD?-UAJpR^Uhy8+ZOENeiqq$ zuR-U#>#9&Q48g83BqBLC#aUg#n6{N9z6h__|DXo=Li{nNz(mi+|3>1bIB%IZ35r1h z-{&?7ClwWrP|o^qW5*dNhXk&1lFoy>U)9}-GJ~1l<&GNMx|dt5j_BDulQ5ea(WBF}0hr+jN2+uNz zZ!zA#;5aAz?72tXs~N%P(lmm_&!vZ2%?K{jm>IhQnh=~cn!)^`SG>$wttE`2*A4^u zq$6oGGv1_MmEIG{83ZIJYT%EM9u+6W5Le*w$zq`W?wR~1vI;qKN_z6!%(^uVbvqc< zU_2w6#fg^m>h=GdH~0UwnJ<7f)C>k*EvbE+R%$FO_xU4;D-$k9bPy4N#dHEpOFCFE z+`$SuxSvNKCpe~$>DN34Z!FxuY!>74?rFW?*W`afX4+AAmD|2@#g6n)cr3%Sol)w) zE^==2@(=odF<9HD&^~7_Gn&BHF>-3k*k-fPoZ{VqGmhyw;?Ud5ChHZNp2ln7A(Q%5 zj}4D1sXX&S_{Iz2DX2jg5^S>KO~`jku1joB-SQ9Z&{EECeLUAI%f|mT)JE9{7A}e{ zqydqZZ15f0FCu{{?=R2uDv1lpF$lU@E1xDiY-wi2_y-m(yf^l9_>2Cr<`V6R-sQh1 zpr2FS1EQeeuRuKuPGbeQ=Oo6@uLz{dQc#=$&pX@hOOsbBG1i}fh^9kCE1on2)PcOo zxhvcoz4v``qiNWI(hF!PS|*6(MlE(cO2d6|mqxf}d^3Ffqr+sfjjapIZHRRmFRZxH z0Jz=4lW4?YuthB)&|~-XXWMQ6ZBbr=(;-w=6vDS#*QRy;1_SeS1PPTjp$mH!*moys z2j|i1uwf(TGb)P+c0MdU=@GTskjB=+!m=Uw%P&34Cv()j6ngv;62KpDW zM-;}L=wBe;dwwZ4YAJ2+%8zL!m-Mj;K4JGY{`;hi$D%x^q%XhKZflMwvG z_`}$<-6xDr?e{cx;en{ow^Kl)a8fP`_dyRe5cx+cDh+`Hi)~LqBjDud^_@8fqB)il zc4}Ewc3+krHs+&GpfyF6z02m-G=@J#Wq3^=?c`AIK}U+q4@0|PPDW@iBRprcd$MlK zJZ)~Z&{i|;6ZzkcVMOZV%l0lBAGmghCDKwghr7$+mh*{hsywq&+g z`c(5LavhQJI@8&9wfF*O+anr(%njra#h3T0{5GfRmjvl5DAO9AufZ!rQk=C&|9rk~ARf{?%+7w?pO{4&~6G{N=w_Ehw#X zcV7s1#CCi{3y@_4162nDfEC!OZ4}3xGcmIJw`3~Gh?Hy|CuYam3JgXfI8ylpHe`Uk z@0!T;!XxlBQ+6vxS|zpNR-O&H&oAb}sku@7F`@asc61Fv;OIC5YK#)q53nys!?sb{ zalp4rUeT%rv3drtfDFr<;k>(73!W{H1|`w?EB2VPBdE;2~yPSrvE37nHbh1+8w;d;GWFqkp*W;GN& z{}7J>C$W^Hag&?SC^egMo80gkg4)eGBRN1pV|rAxo*vb#GNb7)X|~c|(ikfrboiBY zlVm;pCG`%#cN(1jk~))afdj)GMK4KHzigRjQVxwbunS|)k0tr*=ivbR|B?x|(`$MW z?ut+3Fvh%P=Se@tAK;gtnA@V(?H6^ziQGm7@%z;Pk|P3yU%rtD@{|2puJ!}=6^t|+ z!I!K3Fl(Zya)VPlQH!Ij8|okk6t+rH$x5eo9KW)Egjfn)Zgi@|!gE}MTENHsa&H=Ds0 zk52!&79c48S%CBj)Bt;2!Rr8^kuJBZ2$_R`zz<=n#d3RH^}o`aEAHdfRweE^~T<2&(hcaafCpSNX`yFlIS!$8CaZ+g>snK z5j(49nrWHh)XK2zg*Ous@aMz>5};NsoLV`;fT&+?T68Y|R3U?Y@@0M;#rQ{aexobi zkl(@h3lPSPzGfny{0c4JZBV(wGYr7;Pu9F1o++xbml1tOq!17(jry$3kGe$+>1KwM zk>9NGJgD&$#>r-9^;a2Ex{X&IDLP>ydkW9+n#Zr}FVzolQK0m~NZFs4qhN@U#zX;b z$G8O^CAAp}&HPc5I9prOg3al2;--0zcZoEXZPKW*!b>)?1`3-15jO-Lv0Zd_`{|>d zaR0~#SyjY#*NtDfq6%Sd9Mq#KEmYFe|6#dFot?b=dRgNsR$P}B+D(LnFV%G*WhelR zlkkUET=by*%M_WQfUGc^E zS{58aFaOQm&Yb6U#(3(=}&@_|5zr)0sQ{Qce}ux^NrwSq9RSIz&R0q_Hav~rj* zOasiykiuKHWo>)Z&15>Zu@N|ODj?ej{k_7?@3IkYCRU3PqodzVlYiBU@1_&6dmu8z z%ym1fZ>QnA%r^J}lj+ok=%U}9n+4QfpMOG*k1S$d0*DMSF}!Tf!F&T;$>!?r|DXn| zys!U5_6*z48Ac3sso0`r*Kq>I^EDJOL(G{O(zK;HAKZO66z05X%pSAG?Vz&qP?8 z@}zB~w2dX$sGUPq0;r5Z3xR=9l9rYPP)Y6Xc6qz?A5Ai(e@F{VfO#B7aYe1Zc$PiZ zv+P;?h-*z!pfw3>68_+DAe5LJ8GYSm=7}KhMrGE=Q>?qhnOY?HNXP2sP7dpf>2)~ zX&JzOlAWmtSO0N9!F9qI$lfUG0X{@zdJl zQhT?keYZ%xqFbzRR|NfZWsgW3;1X^{(yA9EK1{wmPkc=A+JK;^`^vgQZ-OQ6;i*Zg zba&JA_*3*DsWs<0A3DR5R`nn94xu3!I~n#8dQh{{sp)^C&PB#O35)(Y=0xRg-+8Ov zz|Wjf=|fuB?7w6cGZ&g|R(vxg424eX+9gbjfa-V6 zOba?YVVLFYA21wPwKOdJfjcXHfJhC-$L(O~YS7y9m?j5Z5ja4X$RRtT-yV8NVew+* zx-OqpKJgTMfs;z^ZV<-pO}($}VLC!B6?+jg*sTab%znNXA;>w&EgJLoGi{6nW8r?* zF|)$2hQTI8v$FCZU3ZuYX_rBGiF*e48;GuYg&{9Z?+&(p^hiPHFHcv;B5ZET!`len{RX;?v1+I-8&3N_tkJmnc_`GQNWMXE5cb_@lnNy6q$2rKHC471rkdk~2#g?zCgN(;u zrZwb$TnrHHr8|*;Ep~539a_~M^^RvJ)9xJ>e`4n@f zdlo);z{g$B&q7eSeHP(ElKEL3ASAl8I*s7S@t$n}vB~%u6pW(!{;9S9MAg`GI6dUQ znoqA=3tAH27C(0^{$HeU1>*DEApXo<#Yi&6$-?ise4w@E46=nbKx|~5dpA;y0RN&13n#2cUJQHkab7y(_g_1bY)KzBOvC4)wef18i32G~U5 z@SsIxnm5ve`P4+!i&QpeU1RE2HuJ#Lk$|zyBy-BJ>K|53fo2alg;}qi30<8E$DzIB zYN$1fGc~102_=QdZhLIPZLHXc?4(s zt&?!Wf5w&8!KomvTgxM)by^lT|4NIn#BYcm5XD`#I~_6IW=Zm}M{*@~ftPI~(*mOv z_0E$Q0xE(q6v^0cBPK1&+1o5}I?3v{73^|-8=V!);v#SsRl+|-Xwy+u4msK>w(vZ)a5hJ+difT(lMYtMO)!A#E zZ(tp|!`b&loRA<+-Bjn2@!^L&5hG7BEeNY6HNdir9LZ{cQNsCsMQ6BlvL_N%=CHm{L=J4|5^jnx#lwKsj2MTdj%*I%W|l+KRriX6J0ht`mnlQ_cU+rB zPy}wrXipFf&Klj)E~Gh;D(n;0k54pJXW#0KelbmQ{U1o&Mv#uA(#@ zc}HblHxH%!e$@!ZIz|??gF3W`4}unU*k=-gkI7QBH(b@mTduBn>ca1|WdxA8* zkg(g8K2%}HB6k#(?WkU=4&?Au@e1w%46r4}GJtrA#i?eQSCYtu%jmHANKr$BX5_bg zjs9s59CO%{B)LQ?Ua7hxF`uidoW!T4bE~+Y ztQ{XtGvA&^a3o5syX*+Bwkb>m^BAvr9Jkysf3R;-a3knCYakm$MbieP)lRcAXj-y(6haX0L?202e94f+xMfwMeS z&*H2YJVcb|`gJ^nmDJEG=E+rQ%xZ1` zO@&V|ZA$36;y{rJm;!%RJ)N`UfK@M3MM;{C?#G0|Ns$Dnz$^0Ye>!nnYW&DRG<_hV za!@aFtWdV89;*Hfgn>d6x#TuANS$LeBuUzg$0VkNM3Vrw#?Xht7tl*M5gA1#h$h?A zN#W`u$mCP<4FT=z0Pj+YhPQmaoD-m{T{wTdeKMS}0D-k-)(}H6iHRH~{Wq&_P0T~% ziPS-N*qBroDm(TBBs0u7tr?ee-oEO);cs=8(Bc8fGR%4VrrdEm;#i%xUuFqK zkWsk{BRm4!8h7gcK(`gzLOvpq7nGlYz=%2!Qwr@u7l48}Z$K|%HZk8b^N5#=ydD<9 zg^OTyb~!7C5MtCGaq^aj%rg73mf85n$e4$9S-ik}l7!nfQj1X{ zi-WSE3ha{5VrTrf8fhgXycGTi#LGBu5}y^NRCdNMz;CdCNP^ZBZ{!F{3|Yu3e#m(~ zW^!Ah$KQo=Kh7T{+(mVJs*%R+wg;t6`>{#_d#X-Fb?qBK+{)@ZNS6{`uI zNx%2MW;ab4N4s%Y=0JPvPh0$sMx7P!O`Kx zYBb%6uRF)e=f6~SR^E^S`)j{{Nx}&h=T}_$M9(bj2yx>qp~S4Z4G?nZN`BVBEJCRx zvN)4E2ju~5}})$Fw!08zgC^a?%v}q zJk@vI?rV7`lk3R#CqDra=%;7Xw?APnn%44@-t=Yu${YQ7X{7+yW%^H6FCE74Enm4T z*3>!*!}k?~_w^lJx5fjIH`~5yl4dSn8JmAW$#N29Ch|mLk!eEWfiYQqh123N9Popw ztnPkqR$Jb2viegzU<%K7zh<|9&^2EL{R1~zwHEemf;oNH(**{#cZQ{&b1Rs{$m(=p zFR^RpP~O8~+&-S8t?Cv`Ex_Fu;Q4Toe~bgH^^L!0j-iQzVX%+K zO$Rq=fnHC}R>LPj0wGnY$ro1Uqe3A$r*Xu(9CzQRltb}HNXi4}ZR+gn+}2QEhA@jV zsM$pWIaA#_Tl%TnGp25;m|)LTY*8AUP<4i7?Ogsn+od{4<&k=$6 zeD-lzWnh{!9Sk3QH>___MW%wnjX-lVSXRXC`dYQj!CS*q!?JL+2c;~z*rpRSFV0 ziPVAST4Hhvd#T^y{ztrLbQ{S?4ti}rt8PUM9mY^FV0!-0n@jte2^eQJ=5A#a*4Ve& z=jqU`MtQw(D;9lB2&zk?tS$2Im4FJ8{)*nJXW|m0>uiDctl}~`uS0#)tyh)tAE~|y zmBe87@T&GdC}V8>fGw*AWrUSj+IJW{@;BGmC}24>t^TGdz4V(-=@@UWLw{fjf!SNi zu<1i}^l3Mi19AwfA$JQ62;XX7*|2_#3rpTO29~Tlnlh~Q6D&D%4EXR^3YUD0^r;r*j#z4h9uzEg=Wwa>?y18~3j zKtl9`KM4K6XY<2^bPXFG`(oum`w=GgOuJB1oxIb7laceK8JwPw+0Pl=S)c7s72%@@ z#8)YH(#WqK@hT@bf3q-*zSmJ*_s7&8P|Ts;d}nd{3VJ1B4>QrlIgyEu2+)LVb)AsP zRV&$lG6Yk8-Yj^xvDS#4u8aYuL#xBWSI)v`LiC&rUG0%1O$HGxY+Gp~fL)`FlA@Mr z^_*kM@$Z^@WFjC65){N{Y4(5tDwEFIJdF>nhDXv`-lSg1tg|Vg@^=kCs*HH+X?ZhK zC+TtwQ4lTuk?v%LJEaw_l}fm7j)0`Flo@`DaPEsZ!7<%aOPOQU!@_IqH{?g}sAoV3 zLLGbTGe!V|itwCS()yxv4J5>eV$5k%3ZJZmQW7=`7;-r>*I!h5y81cThjj{_(vBeM z(3{nL%?eoo5*(tQuZX&^r=8)coa=(n@Uwkq5JigoZ_px`j8^d)<6XY}27Eh!yi5n5 z{Hj^S?lZmMG=6hBgX^qnGE_$xlwOv}Cy5g63UvEC`Q+%&PpTSgE7 zGuKuWRANpiJ_3Bwdl5ftnWO}u;@-@N_?5|UpY=F+WO(VV|Ds+JW8*AYDM)fr+2!gY z)0w>S9jsYzdJ-jG-^l)OZKN|RWAC+x8R^d}6pkm)Yt;dIb3SD`9UAO$)+#oKhV}5W z^clP?JUJ}>x($3mo1I=FWTn{{^~7#bMo`=6#fNLVQ@NhCuLy5J&I|f(U^~DtaIywZ zz?EczefDuN{YR@%P9|rSWg4B3>2qr#=&wWh!&U_;eTHDTe+gAQN2p?h7|^EOIC(U% z81F|Tz~Wn!Q0m}a5rg-P&h>i|@_@8L!IlY)Ura5s+_nhA( zjmUw1qEAnVuD*2w2qLTTVRG0jDZE{|#}V*W-KX{b3kGBxv+7qsNzn(9$Tvl*-eqPT z4PEIGVzw)>9JWLvc+?i}mk53;i-6UzG!wgmtmF1Mgz%7R!;%b)s&V*LxrcWK?EG1( zLq>;FAlb+dB{xN=Od7Tg)i~eO7yu~V?`}7>E8AT)!)kcia4`qz(dg&kvg#vCs8}bN z9d~PmLtX^BM&z1!5(8eeILF5Zg0^S+hG0s~I z@osLZv^JsoE#t@5Ti$;KudEmQ^HpBTnBH3`T}#zRU6sb&Mw#)lQDz(%UC+yjCmg2j z6MSejAk_s9*&~I^ol>}b*eTknVA%GkUCak*aUFkngOfUPo*j?TUdd?JzZKppS8C5r0;7c&gxuG!bgsxQc~0bwEs z`g=SAr69*rp>G(#N-#?-r{aKZh*WL^NbWL+h+u&kr-b=NsV0a4TqKTd>DCxwSZovA z2o^{E7+}$Rwhy3ikg&o_`!2}{rE%^Lm}6_S+pYfrAbK{SAEYbdROKs5^9K0XAK1}3 zRE5L$8ruu9r<8O9Ow=C$OPy<8z)LLYQ`8FbUC`G|reNE896TPVwrk|Q37i?p;2%2O z;*(_kul8#O$67&RB9T@!6;IMdGU{wM3LTSC-2nxtLgYi;3EOJ}dZJfm zZ<6+;?3l6Ds@as5j=@Sp=_Yz+NniV+H~+?Iq#YHnizA#h_FRbvX)D4eDK=>C=2E>Y z+iBuou~3pfJfE^gq_oDKh3u8|$DPChlF@~n9!bXj1vWy-2onX0NU%nAqg}bp&06{( zqZ*K?z-U0MO-67g9yqm`VAlk33Sxa=G{idT1iUJG%}`ERtm+Pjmu@#AgKapr1)2iV z_EF*&4FnaD8S_PPe;Qg$#xJnDMRAoV}82xEyMaJvH=cd2gh^PCa zUWcoZ5tibpS0+I|p=opxuW;_js;@?77FBLA%8zq&gJjjhk2|?)_iRfM3DqQ?LgVa> z4mH7NpMgF$8X^VV0405?Z-{-SF%QUEoom!YE3*BU1CJX*ZB}o_D%`I!DIw-0-wwCk!k-XKj)~C^b5u z(=K4r(|0NK*3|aEPIK5}Anm#h)>g4;tSgjMKUZ>Z~MLj8#9F%?=~U zIvDke%Ow~9pDv^>b!9Fw0%`rtn1jq=Of} zLs_MH+7ch4L!=0-Od4@UXmD!n``ve_a@;dlQYq;EE7LIm2M!j}_+kkTU->3@T43Wv zKa^y>`eU+J-Q(-D>R0PIywDBF9WM%MxJOf>xYO4qmf|e46WYai&@49x&CtanMe#b* zsXOT}IbYgxE4O^-HgD535m~Aho1Wv&sYN!WnF9lRT55YkQ&?YQ3@`vL1H9QI(WBs2 z+S#OkwQu^m{0CEdM#({35I<`$9Lj0Utyl`nkAOgMe!H$d@_;#z_qae$ko+y`bZ2)0 zPzvAse4h!}(}*LaGIpk089uQy6p*`@5GfPAT=5*2S_V%ag?Xo?ZA^$@iBR>x6>w`#nk0OVWl(zzYSm!p41^N}j z`=L27O5K=IU@$|F0GR}W#P_0<8c@IQ@&|fqA4cUlF1W;WNp0M~}r?zD!L_>4QixSB?aRi z%i@aZ6Ms$kXxjRm`1s*=%}@xf-CA_6z%PSDbR=$rF21?bch*^7NA{0sgn3Yj6UO`KGjMrhI~UIs&J0kM8tDc5q{B8XGB;HVIZ4HVJC&K|MLrkJxe=5Od;IXl-iHrR7NwAX?R>JN8lW@mt11c&k8^_8LdAgL)31inGJ}?mSISP@=U})(az3g= zkD z>;`w>mjPY*phiZ!jMgB0$QHM}$`kB{T9Bt0nQ$xIUrLGsrEeF_BUv}BEKuYpnLK`B z;;|TegD*KrZq}YFqNlYi{|+YD95{3USkQ;hZRSVr z*Vov&6FdMrNL>DP3|zLU%%DE~hD4|xYUCClrN>JVriE@`q4RYkRWpd-&kB-!#Wzrs z@3ih3t-DF<99#8PVJXQDf8*%KoeqTYss0G4jre3O>t^GHM%3I?O4H9It2!5b9vI2q zzBfX@;aE;zpEElFW;^Ukrg%)Mb_jutgFgDgaA0=Q*MVrG_-GSP=wNKrWs(e{gHq@y z7Kl_gyXAr+NYydGr;zz!$h=KG8wi_YlH0GTPKCmqelk?9rNZeYiMZo)%*qB4s3dZm z`G1g8o1OFzt~*{7I8^=7)MumURs)*75#U`}?}qj8V8Kc=+o%g$9SYl72Ac)vC7m5G z{8tLmNXMke<2Zg{7SWRtT=wN>F)_B!0uTjAxi#xX){(5M&Y2=wLj#0B?uZ}$0~-{i zeq$d&}@`X%la7jXzF)?bK(#7CIGp5vcGlbrZiZf)Gwo4M=@5 ziwl7VOA66NCJPXDuw_QRHup}<_a)|S zT!Mt{vOTaSbQ7gtGlwUka6e}Z_?L+C0SzC)4~$&~Qf`chjbl<`g=B0u(@0b^MKKsE zE(AX)*mJ|fu9$5Aa46k2`lKsGE0FPv zIR+SUT9Xl{;Q(Sp?3YZ5(_SM7s{uo!V`Rx5%a^Xx1FPX7Q^m?-Sw{sBKE?wh=_B$u z*N!0VSyjN4q<&-lObIE)o&}qtSfc<7?vB0lA1Q&FEDH|--?X+C^R4_|=N1}d@PS*H zJO=Xn4AdknQQh9ZV8>r?l4+iT47N6ZUn{Y|dK(Nl813_ASFVQoY`48xLI-L64IG%# zMbp2KBtu@7*}b3clQ|I*wdea#GfHp`0ECH&xN!9gz~6{bd~>`Sz4`S>t+&W7@pUX&@u5(ZRnPq>^s>!=q+Za@NHvLzK|qAs9J zfy;neP`A?jHxa8bU-F22JcL3`}Lj)=rHqdg3;LZ41IvcDoD#*UbQV4tuy zHE8oPwlYVJK_AkIJwp7(3QwiKww~eIFUb*S`ywOKw>Cxf0r-e?tjgblacqj0m z?ufjYP}|<6U{^iPt}B&u;1z4DBu=3gP9qy&ecdA?0_z<`6$b!qozYP|UHK0<$SMwK zUA~*BoB(%1A3`MzMrS($6k#!)WDYLjhF!5Ea+`gksBD8ppj0v$#2;5(jG=xg+s{E7sD6X0%A78hsI^@#r>UEGDBrv7Q4$oBA)o&I`^we9*d<$dS6e zq64c!7k-Pts55dKYhPf8(Zs)k;v;p5Vygna!s$?f5s(#cHAf8AlQuq<24T}_GHglfzy{m)JNZ#o))iHxlQoL?nohZ z4|V|IYYu*jCa9O;(vWwXrArvKbLwYl_6*ch#=?}cMZB}4-OI*_K(Gf0AAIW}@LPgf zZ3D0TahdAiii4$M31X8njtteHl-QPpzLsphdb~ZzaCq=Ow5{qa69L*bI1QA=;>Qi{ z4C$>7j1tT$z!*u4$Q54^F*H`rw8zCkzkSJf0yozp8*?V8I4uONeHo8EMg?WKA$6(7l!;?g2 zS}n!<%bZs$n-09JY*$S6U2r+Oq0@*hi|M$;Uyo|lcEcs5S~49W!#Q|=T(60|F8bR1 zgCihdSndI&SBTu$SUux*%ofyP{;^iR`87~5L)-x=;A z|<_ zsIp#?lLtgtE>Pag=M$-uIWsTqgEfGJR#S6~gJnwNxe5D?txPOzp}bIcp3=^YQGFAn1_=KgeF+HPct|rM zyQC2ueu^e=n0LA}aLiZ>Y^kTz#1qC`0b7F#T0IxG$c4&(T(;u%*ov4EG_k!PM@{MRHnsJ*Bn!^l+BbRSbh04X51`b? zY>kp(dr3N6x^Vgx?8lOtv>-ink?u|nO#bk(iQ7lj1N^NKgQ>^;N2?cN>pG7@jZq-$ z3_Z$8Tn zL?5xM2n2870&664shhr|R{fK_GG;G!zpqoOhOU(S+L3ad!HF3&G0AvHXt&F#8tB;I zPC24^367&^vxI?G=pQLh;=AvwT-NfZf%CbYqRq5n^~k*jc+C zhAZ0{UgRN&Pczcuoj9wOq+! zgNWg8Y7N1f`lPSZ5!PL`1G^Ga)lo<3lXbqh+6nx|vFL(N-euH{JH_j%S*GJ;iv`b( zTLbmlC)8_ZEsN+|Asg*VBxt@aXCFL(U6F(oDNi3^_#;$C1{jEZLIq&v%g?%&bu+6g>!>So(D~UBIee5;J$)O0g+o8Ja_g$jzh)Y+ zTM~g!n^qVcB>Q!|if^2G-2iUET)Few+EVZ?={@`*Q#Z5tD)JcZ4=~hQ5UHFZh%tb+ zifqoup}M?rH95fDVhvDv=+F$u68~mK?P3g}8AABXPW{;Z(Yns%%T~rd*83)iiR`Dw zJ(am~1>q=%f|;=&P)#7k{_g#~YTqJE(`=lX#w#?b(pUz%J?301HM)_3regT4BRx;*^(t^aF0^dW5#JaHPRL-Q>bvnOdwH8OBa zM_L9Dvh?^nLGabym1+--F&$qY7PT&*zD~lke8EVaFxsmSaBwo-#T#p|rNCC=Hc+LCG3#oq7>BO|{lVL34w9t5w_8=z~!eAn#rdpmP$8zdOO-*sp?4Y6D6VpM029pm> zyXYUR&ScSyK0B1iop!XSGU?LmfDaz4$G(_e7kkyv>y^#diJN9Uq#a#eSa3Bm`;lVA z|K9<`ET1fO_agSQwuLAbNz~ET^SSVWN$a_O(u6M1u6mq$RzD%h)Bt2lHPJ)W=0UV? zfsCg+#M9BwR{hUJwmbO~ot-I980cksnUHha=@lmADg0a&A%@;^H_aLIDn3b1DlZ#? zA&_Tqx_$F?L&3QEs>`m;b6@1Yc-wH@^QkfkumqyLTApM-ijaNHNE%#YONT@T#vfq`|F_28n-Z`7wC`v@^mDH7oeF$*@nDe(r%$W#yx35A;z-f$k;w$BZ1_>C1_JsE3< zJN0b!WOSW(I?vMGfSeVVgU48vkeb3wCZ(2V!>=u4`p(KGt~IB9 z{tOBQe15<4bD#55;QZt}KY7m26z3<``T5^L*iBE!a$GQo!Z)x`ugDykYq~LdG>FPd{3Ry*FI2R!zxqmCN#ESqJu0Hdm;^bB4GOqLl4LqRTI9yH z>ko$EBR;}M(|2k;&(Y8XrWj`<>cAIhBfN{%Ftz@TXFh>9!qAs_0y%peU*}IvSibU6 z^ySN9zgsyTLWP>;odSB6qB#BliKEqxnwGreMy2W;erJs-9h8g91VGYZl2~%7H6J3Iq2ytwvYQy z22bKixSEyu5|0o`_=q6Z;GG@UU0= z5sF>0Tzqv+!3=wLL2SX7$B&CFESO{06nNVg78t6x7Z&93Y<9c1VBF($^umJdSnY)L zaiq5o#_r?`xEZ_q3y&Q%J?^gW*wkQmP?y8&!C-jtW-wIAK4FB{3X49 zflj0!?2`mDgMe`)^GN7TVw1b$X*JA+(Eg$R#+Sw!l3PCmYISZ`>vH`JXf}1v<@y=v zBljX=R+jzPyWHhT8cKmQa;%2`>g1PG3=RC=ux3LaD&1KF%i`A0jLaOW#$qtr`T5UU zSt{e*PmLd!>LIuM6|$|Xnh_~3wHlAFvA)`N)mqy;ZjJs#9$of&5(gzt2d%NbmR-f4 z@~WIQ*0~P;cdoHs)T0-96l%lYLNa*X?M!}1T3XVh4@#1wJ}}Q-PPMs~-)W&XRh`S1BIy3}*Mg{OFH zec0O3o{64k3LPAtBBk!;W|JZAPr^ zT;a&^{bmHF-)_ll3BGUTqswE5F1|SwKSi3*peG18GHvCu<*}`Ls8twRE`BKS< z*2w&zW(7P)@CB8)R(iy~M?QX9x$hKD(-1n*o zz%DPC5nW$ElwUMdH3j$6BD=HzgSmqH{Z}~VbUU$-t>S|$8*_l>nhg1Bwy)FSp^ICV ztr)5)n6onW^Vi=Vij)>iVUhA(xqEfNoCwK0SMlD}k<}gC4TVynQPuJ#BUB?ob*Ny~ zUD51Rf4-P*y3=#icOo=2wf1d#p(<~f;GKLl48C@(1c$8J-?Qf58YOd$;QKB(E7eWA zJNmbOFe`z5(jE-`HmQb(-m>_?K~~f|tB}woU-JSFdeK`HYR~Zx2H)}56l7DO%$h@t zxqXvUGf*4)!yYWeLs9mp!`X8d6La_vzCq6ounK)NH#0PlQS}{#vCf_u&SqsRo#_de zY9T9~nZ^YxSn14kE?C7%XL`Bt>S8<>(x1*GD*Ft1Sf81}MFw$t{e8iody?@7AOo|6 zjG3Psdp9s@TA5$S18m>~2HHo`A&$$8CC?s5YO%0jS!7ZKqhUHFvM9%HWiK!c)O1d> z+zAf`iaB}q9M(bBQJ6%t&THkFY_5Ey#r3E>h z%UXz#Sg^{ox}cPJgb_GJb&uYl~dNlXz^=|~{Sq%@S zQL9Y(XL-3j2S&Amfxs_*&gbw*^I6=*YGwI!-e_BCWL zzg3_2;34TJ?Zh&tUPL#(eozHDQzy`3-?*1SqlHwj^jo8=Vz)Ip*&@{Otu`CDny@`; zVr~yl1}^H~s42A?j$Uuc2|jVXWuCS9+3{4Tu{h1t+Plf6j=odVq*&ihA$>T~bh0XJ zHVq%Nh;&Mu6F(__T9l28iPD06bG5|FrI+!YLbvDRIpH^ak#GGNO1Mt?eD1tf;Go+p=d#)~<_NF) z&haLjgL88R`DRZf12XZF$rKeC>JXjfu=w-v-qjFTX~F7f-uHpDcubZ*Av}UoVY zsSdRoA5DXvr>Mn5;!($aex!NZO&_k|pde@xeYl#Su5N?-Iw{&a4I}r`P4we6H}{Jw z-x10Ot|`}O-X@lVP2^njGb)nX*GZ?j<1noq4Gy)L)@uEPxQPYc^z{W(RFtQ+>ur5Z z5t;V6>7@mwc*f{hw}z_b7il_`7ZlLIIlM2iwl1QAI@Ml=N~F%TLOoo;n&1~7t`6d=1buyJV4(lR>q8i7UkQOinx!V_GIv#_yy`Wx?Sr&Nku_+_gylzu9?Se zCS~H|p&)O$+S!5Tla%}KppsZ(wH2NEWpW3`!ro__fGvRDQr?{pNQ zM%a`$Q3d-3V9PDfs4}Gmx#|d0U$cay0~y{XDp}1bNOEqD`|k$VC4)Q(#a+lvM(*Dxf9-lO=%wg zwejRmq_E)k4ZHBTVLO~kl9)ag%kh3#4iOsvz0l++ZsT_6E4>`WWLWi&vcs)}(|E$A z@m*bS4v|}~XzgZvHg8#Of_GD!0u22hd4M6)fpE&i#FxZ(c@rOYUp>Gp^Wgn|lJ+B{ z6>*Voj%#Me(ZT*S4PE8yCwZp*V0Nf^l3na2S-J1T#&*pkconls$;*=cT+a2AT5n$L z`dwBlEC1EL&U;yERF*xz#D1jI{@k(@chp`ys-mBv@WjT{(Z&3_@(|~2P?-r3sI%rv z^e;!_9Mrz8EbZB#59Ce7k3%Pp#CL)?$+Q*>SjFc-D<|zXao|a4(>`Ktx}>^_O+O=o z)1`f9+VObM zaPtkhJ5_|s7E?>r(Cbwdq`2&n4UevwV7kY1+=t>-{PxX1;kWaZ%6Cwa6~%AAVfgKQ zjlvH*9e(?wolH@beJ*PN)9#z_U!ikC-G`{24l7|a z<3cLb?g4dX50G_s))mdb;2Vf@m6U>y zyY;>1`mbCL-j&}HoIDh~Fcj<^3MON395*9q)J@2?uuViEYyx@B*Y173@4QvgMG#QC zHLKsMm!_2QyLXs?z;}QeBQj!VRyVAJ)G&nooIo zwMnvY2lAL>ZF-Iyr1>^_(xi4(;%No(=Nk3ii3ZKS81+sCm`S8)FrK~e&pBSpy48D& zYTPx>K2g|bqqD!9MRb$i;G5)Ah{XSL;bF`K=(j-9Om)l%2n=M^OC3Kt_#Zu>lCJ{b zY7t#3&}}kw3gha_Jot4+%_q=~s%SKnZnuS+!HFu3)sV3`Jb?(+9@V3Rz@Ay)l#{`W zAPvc+E|w9hyo@jvqrcCHc3Yeb_$7Z2R~_HV(K+4P7g1Ff){(ki=g1e8lYqY?3Dzn>K`OyolYqY?2{tH!HhSt%KS_6_skfYqk!0JIOboM0 zraP0&xfn^dOUZtbN~SxL%()mzwwD+2Z}7+DraP0&xkx3;c(s`qiKk2&U79q`#Ymb? zrCDUs=+dNdE=JPyD9r~=8eN(+&P6KC1=`sucWw zL%(Dpsye(8zzSrAGqM(ktj6nYLaNOX`O3!LZ9J5mws`I4W~0;MV2nPduo(#+`&Ua( zTBu_HLEfvZ7em&9j>zYqj67Q6xe{e#nw!a5+wx8h9umQ#M;2yc)6yh!upSwL%&$=Z zhqR)fZKnvUxWDNJQ!ah}3?}wDUyE7KtYTblblO<6+$FEW#z%wBjX8V)gY}(fDAQG^ zIXL=#Gn_XS8}`j}uj=(gu*RQ# zR}hb;$GEr$*ExI-k^`f265k6(0_1UH-sc`(Q$(ETe~;^Q>@J63;?dk6!1;~U7`%WL zOaO;{8A6DxaMwHXFTKk<3r9M+cNJdEIuazp)8$C^lvz~2e2RCLLFi{4sriB_FviJH z1p+>3%v)s&B(vIA<0o7x3H9~QzAHEhEEUzI+Ptp$p!xQv?zf{W+Zq2pPpOq!YsMVf zm87}!9t62Hm}5Y{S2jW|^jILKl@Ztbf)>S}XOH!qN5~v8rfBT*eCE|xUJoB(DTlvo z=SypIu{LCrVqsbiNfvtedp7CDCaD;ea>}Tb`6eZQNm;Rhy=NrDD@?gmhBHhu{wi7h zm}EyrC7WlG@mI;hW0Hx}Pvy4EB;&7=VIeuH(DkE|J#LcmSIMw^9Fv^xdqyX`Kb5d2mC(633ut?< zKrF4!9&4h|SdB*<;=|fK`m`_({x+Nvt$U1fuD$BZMTDT(s=`m zI&N~-0!e4UHb8sRVKgysAWBbp8eadKc-0bT-M~88gl+Dzscmy2D`cEHj9>rs!!=(W zneCeF*48%c8xyNSb+3%83BXu+aG2e}JlJxTqWQJ;%UEd}aHr9$+AUD9Xbn$Irj0F0 z(#7xNnRy+*M{8Cfw(*em1jpU`S737`^U?qHLE@Q$1j;ih=uzjpL>%1 zV`$X=G30%n%-KJZktHRbL4wRiyfZ|n0xu~Z6+q$4$buUAdPytVzg^iC z8`g8s**zA_5G37&m^oX>qJFC}kj=!8ESQ6ccEq34pcN0vFa#zKmKaHu^R z>l`syYPp3UCu#Pbk1T^EhL$-WXGWGR!#~md=<>lee&hmpFCSQd7i}WM;Xs;ZvqJ{< zV%uAnT*EPC%Wo0OVX1`u2?K;jBi{)hVQo8EPvtf|!A{$WyiQ9nn5;5vb$+G~>Uw0L zJh1WCl*u$?>OKf&|S*=-m8uVOd8 z9x41l*2&Od1_iGB98h)V%%Spdt5I{icUJJFNZ##*N3*U4C+lo8`}V@Y$ZDP&lFPb= zqh5l{-K22Yla3U=6nvZt|3&;Qo{yYloN6fl;05X*#2p+Xyvsj#a!mo?O|zx`VoXjC z0}oYBN8>+KPIWOBfDEd_PwDMuJ7pDcnL(_2w3!}uH&Y?-JzW4~oOmRB;ho5`VNMxI zmch~cC@&XI%;Bwb(!fMM7IDJyf-0?yrIHGKW|HQcr2J*^b%LslN%s!Rkx4hhq~ovB z8HvT1baF~+(#M#@ zO*;N6ohW>4x{o;N>L+f1&PY0ZIw7^Dz}VCSB%(F-6St>QI~U4Zb7XAlqp8%pQmLH_ zrPd@Gn_9|lllR_KYUhH~_{kd8S;2KCS#v6xbD?DQW0E~=l69t%ITuQXslZ6r2k$e< zdQ!=p3zA_!IZQ$IilsKZ@34W9mguHcBk!Uzih0~ zUbePMfJ#h}kYG!Z%BER18QJ9Mj!-YucBrm26981jM zWH+y?V5D*RaoR)twO6X}|Iy>oihGXPt$%5iy-C-akrTL znAKSRSlSvw7ZjfWVE@<}^nt}^(HuU8Z-vswys0-_>VCq={e;j#@5Y;~eB*+R)JR~w z7wIw;gOcD12rf>$^jy_q-|@mBvmjfIw^)szA1>{dHAo$cFRigZPgxHR7xf?|Jvdy@ zgA)*Mg4GEUA38}yv3n3%Ik{=S%6rb_aSq==&n*Uq@q5NTg{~hypEqSvud#R~I1DTj z3{ zv!0Bayh36|S`E3M4(ArxM;810gK(d|evl_O6KNzF%&e-w07Xe=hI4Ta3GOpoJ`158 zuum=!+m#olbAjNlybv(xEJSzZh2yzEcvoIHfeQqE<%Jns5Z^`ElVtFxIE}=-0cX`; za4=&j{ZD_W_dclA(EzzR9Wbk)sxG>ys^yQajD7W0lrjpiCsdWAsaY8-)I%*4s&i2! zE%Kn(e%Na?HW_vXz$zv{y=-_zU^)%da2lw|@YF|=SG zF_I}%AK9;pHqag9+Hbi)rW`}6<`1&`d{iJge~M?y6Q0Tabjo}1OnEC~zxlq=w@Aro z@JxBA6sC;enIhQ*Jn)(fP_js4N8e-@NPBBEDAC!bJ+@`z`k>sj#?$A+yvnLgAg->u z+o_|Qj}lpESlUBaKPAwxSay#Lo<7s)=vOXb0_EbFJSP?>uKbzvN2qr#D@LR?FS3}P zf2iC=9AG>zn~ZEcUGens;itPID`wagdjtY%iF`3TvSJ?YCjiX@%svvqlgQ=B!`{dX zbJ;lB1KK`8CN~G~itabqAQts?v(tlz{P?VH7C@+CuS|Rf1P&^D$y52Vph0CF{N31M za6z(>+d~i<4-q@FJx7edh&b;Y@Ya>~RqW_9-WGl5({Z~}u{%;y!s-?&S%yF?QnD&C zZ#A*_FGDy&>|HMdoyIZ~y%NSWig44(zGnTn z^1}5%XFlf?tPx%0%t37J5YO>ZS*L^j30!udKPXQsdqZWNa}ro{_TEd3nzHRtFEAfm zh>+P&MsPTly(t)u0r^y1piNdorXW7cQ*AK#o-!~kR^z-h1V?~%+$qs_ifV$(X(;_R zqcwsZ3iOWZqNw-V9B;oZY|k&S)$co{10}4(P}gs!oy9L>MenpO>nB$c#-$TGj3Q{g zryFPwEk{Ikayk~Ofz!SYYm4;8MS*&2tDnjMRMAQ9fUE#yoNl-Jj#wf2e)SP%Y>)4V zCPqKTXZW(2Y@*e}3Er=`Qye^8CKAC7MZDxPEk^t5s6Q9*ya_LDSn->$IuJGZ zI$h1XWD}eAAcO?TXl?nCq>*Bkx`%?X*bs7aHiN{o8|wCstGR{hSDcQk;&=z}Us`u7 zu5|pX7Ou-8Al3Q!DpqhXOWl!74SKQHzQw>$GCZxtKu)ZB59gu2HzLT&k+<6H0odE1 zqw5d$#(&GFl1p`%h9)MfwH*m79nmnd3=Z~q>*Eoirga}ORVgxRzmAnc`}|>2O`r-VaMf>ZIz&dM!}dEls<%$|o8Gcp6Q6g>DCDKYIz$BPrj*u}8&m!L zAmfJ%IZ0eo)B$uiHV5aF{ZW&>ay8litCRi8xN3!qI813y+Z}z~j3e)BR}m(>T;e<+ zTMmUoZ#GUSk*PpWvB+GH30}@Iz@tr9zP>ZiSo+RKv+u@p70{%URmWh21t$9@McD1A zm|GFCaDc~CHlD^HmL$Y-5VbR+Y)mlEjZ`1qvpl>SXCfV_bx*1Vipx?}M(x&>Pzn3S zP_QS~fbB4ZWaIb%qmo{^?4#0zwhf(w;EF1CTAQZc;5c!VJB1-qB0MUbO~>)+jReLR zJre`yM{lTxH@Gt%cDk+lXXqZhGV+)i0GZ&I5Os};?FzLIg(_mGL2q9WzI8qt>QJjE z)X8vMm{rl8)f&7MH-5foXCO8)aKWmdrmm)2d*tH>cNpBFSQQB#LnDr^*U9*7C~%CN zyUF>E#pE11XtF&&tD=cq-;95i@9ci6Tl28pPi9vAQ9WsOt0{Sks@Vgo0oo=sGSZwt zj2wHMy5`Jt>k7Ov5ZRgyvwy)=de|OUa88G(+RP4 zPClv1w&|c_D$b!2az?~@tniIc-~#0xBNxf)loUuImm8Zv5-$G5{&u*up_7Ok<2dxHA7=CoV zCtS>CI6p01th@AZF}&$~Z@3uF6n{O%@TK!7go`JzC>U78d|V}EhKmJ`u=|0xG{s+2 zxub?eMW02NO}Q7wiHk;?EqhvNu_*#AwhBaxtpd?vt3b5aDiAHU3Pg)dfq`TFbOxXh z9%O{kpSN@T!~)2aEe955-B}&Me~!OE-oqp4j34XgNTXZh_fSJnQRj4+rZ)e7HT;kU z8rQOj2~2C7Kq>r&83X5nAe2M*5jHyUFeRR_7><&(@KTywl8&_mKNwBWWSoo0YgfsH z@KV#q0tpzqG$x`I!V1Ce$nVLgzEyhbUq$EH|HiX2kpMrty1c%5r^n(qs*@%h~7{Cw~t z8wdI+%5HHgXl;@^5~JEq%!RK2X@O%X+!s$UHM@AnhS-bi0K1W$`vhXnYPY_!zzfKDs9#Hs^irDMoZmb1Y zBCDQ^JX7L16V0B=5Zve)R1gD*!m zgw;8LUD4vZ@T?YHco#o=wH6TenoYFvBxjc`uh9@GkC(^~*J-v@Pnp2eEUa5|DbLqYz^c~P+ge7wr%$;13!kiv zf+L`N0?W!;1 zSgp3MsO;tHI>f4m`@hp@FK?z9^JaWGd%DqzMDkqCqV7TxWPGvh`w3z?% zYT!$MCquiUpKH3ZHX4@hw9zu!SJM~G0LkZTbNLtNEVL+TU?0V384pE@jh3+(En_p` zZ6n@0&?H9I-+^D%Z9>!RGcy<`%XPgd8(%`QU~Mw2CegYZjG8ee@dc=1Ici2D^Zg~v zAg0d4Q^8!AG}-yc8(oHuXrU(UW2Sg zh-!}_S_ga4%hi_Qc9Su8t8F!Q0qu|i4rLq~vdV50bGKXd9jPTqktC-f7;Q!px;2+(9R{~9}W%_&Fa{ z)01(nxH@74x}$T!XevTw-HuUpL=78RIE!O2INw7G{Nx^8(0)?w+AfSOp^*@Xy<@aH7troxC6=iVH4bvee)@kBz+_a zx`*K;hOOUxmLw+6lokSa2dybRM3+5?P23cJ|H*!qbLz~Mn_Rxd* z)rE;Auwa`H;Gj*7SYyo@w{hI3h>py|*LgVFPMKx*FW4s^SImyLWhDM*?UUQEPac%L z#C69$SsnV7e{kgaXjxM7eEVwXO~Is%!B(ae8sPQOB1FBn7oNi0AX{B}tGe{|P-_l$ zQ{Le3i)t|E!J@QgAA^CS?zgg3=1t)#WW;xb^KgW4Cin;YxbKYTtfy0o3Uo%tF-NPi z3-RroYlU+;;Feoxj50YbmRo3yGC41nTWE|jIWd-7XpAyBGnQLuj54J$vd|c1N@HZ9 zG0N1@+~TA3*uEk$X;mmTxuCmqcM z=E*DP(X<&U)x;z;IysStMB$fYVH3?w=k;7P2`gk^_BaGE&dw_ce!%XEe$OZ?*2<81 z2Hsxh764cM?m_H59+yhULrgx|GC$*4Poda#cm`Z;1?FVjKS{o`QCL)F;|q!$=*GFe z^S-P0j)Dyo5-FKuZ!6HLWIDDWk&;r3oTu=At?wpEw4DX@yg_58+O92$EL#>?C39z^ z%~)8lo=QBSvBn_fej=`&zy~KPpti2xT0d?zg84HJrv-@f=tQhuCX&way4jP_*NvX2 zJ%i74LPzJ=NsPOupn-Ye42^;@C=cv8c3X2lPc|Dh-{Uy zg+9Y7V9za}SeZf(7dyHUrCUc=O!>Q-l{5AkMxvZDh6wbjor5QoKA z@Fta&`9**5OHGBYw?qwC6?v(Z?+E&o8+X_K9UYp3GERd@-9#bSqVrHCW_G=$zf}5u z>&HC4&Sc2v$$eJfgt02IFq1#7Hknu*ednmk{S=TRKY=oOlCAOmS(idb=CC+i!h(7& zU$1v9sEwVt>54%rcE3Bq1dl_dK|z4OiBa|^*3;V^`{{>oRsS3N>Gh+PP%6;$z3k9O z^fo+ADQb#{G8d8J)&@;DP9cbvyC<5{nk(D)pWIv$5tci{Dqj^<>hp} z4aH0#iq#0mhdc*+ZVw6$I<_q|13X|Ii*=NpGL>l{e%ivTL zGS>(u}!dvANT?A&wW|0;>+ zNPj#1nQb3M2Q&jy?#IW~d;#B3v}=WwK)>p6TGeXW+rqQuu@;_Ds{*{rQlk0BsyEDO zN2*7b#df+My4|6Y=SawV79p<27|4ZVsZJhqk!8;=U_i0^L&k;0t6Ym*9Oo=g3p7yx z6`W*H^Qn0*DxHh6eZ6J|_Os|^jpgenxEQv2rIYh5y8)uqz$(1QvPT({%$0UqY}!ky zQQa(}MGIrqZ_*X3j;ReE!JYbawDeE)58yvyxwt4WcB|i|3g4n>rV6=Kfyk^B zuW@%={fLR3;BR#b|D*~Rl7x|0!G^;%7R4>HD5hJklEUQm2Z|bY8AL^uUN+_vh>>L) za!u{U##Q-@SSHJJP+MFI94wQam~D#pW}GC*U*2Zaz4oFv8P+XPBpV68kzZ-Sy^I{XguzeSB2a zweX)w21p=qLJb0n5^HEl)s_e<0n`8q1T`2$67`BAr55ld2s1>gfxsk^<1{U8)%Nyj zf3>~#*7n+~y|-1`dTrhlUc>+j0TjYZb;gM%0m&PZdA@6%b0!l&YoE{W`R{>GX3p%h zU)ElGt+m(Qd+oI@TeviS6{jITqY!XRg%iHaE`<_3lQpl3-tN*bNP8d>_1-2XU!pzkKTSFUEu zF6~SYtaCDPpX6RUg;L*+{Bf4%z#_ly!?^x*f$jrGv@IQ8M1ZdHRM2}7kHbSFuP>4B0=ORs;q!jIvXC$8Y zOUA2lcjV=pdjoe+MbOl@Nvm&WQL^_ISsvfwERSUt%-G?XlXh^H7M4b6Oc0}jPUKg0 z67uT~ts~wuN!${oD5uqe4CA%92+tESP~b};CuyWRt6Y7I=7->aYtb)EBmE9BBJKeC z-ET$nKm$DBc-<0b7{UQR-eS*GP2-d7i_J z79fm9q7BMn9Zc|SgA`l}7!^~DIl<>ajK~-e2oeQ>!{sN8raz;R82Y*cIA|A{syhXr z!)gC#z(*v>?ceX0B$EJYiV_T}Ptc741yqwV4C!r@%56R*SV|H}<1oiCHcge3Zs`6S zJWvuhOX6Aq=D-RZw?XPw;a+QxAvL`+eVdS<`mK{$Ok63{OvYzh!Vd5IQhGA(-iD!1 z+dO`+t`5Oys!^JNb`%uv9cB-}Of*X8BA#J6K$)nZcr4)D0JDNe!i$LeHJ0Y&1GdCe zLY~W1DsCROqX&;;9j<#H0#~QP}lVAUg`qC~bQsjM(IEf8QTiAex7*;W}=*%mw#qv1&wNGfJbc0lP&uM|)w1FwLR zE?kQBNC#dZ#wApF#f6m{ER9QOGRnlViQma4z+?abx)=BdJ5!BPaZ>CI)l~4aT08}% z#+9a)(0Uvd2xz`d(gjpd@hl`dzc_osHxu771gR#T&BS%ZRK(Ueaa-U?O~J$w`wwb2 z_t{pj$!3F(y2Cz7v9;nVcc;!oT~Cz&J=nhB1z_J~Pik_)VQ+Krw*vBv)Zh(bL%_bs zJ_a`h$i|6lMR9Z$3?&rzGBPgvfVT%u6!<=O>^AkbKQIq%!G}mIfKjR4i+T& zD#Z+h=J9oR-;nZgscgWry_H&i{}7-Zhm8i{Nt6E;^w0+Q0FGjx; zwH@`+0EH+s;9?{(Rhtp*Slu*$ejQKX0wUU(NIL`lH1LWp9Sxe&kgdzA7(jXG;L1e= z)NWGUAbXs+Aek7m`eFP;^qJ`3|Fo^mK7bf#YtxP$NOEeZkj5;4We;(p)!4Yy7y>j+ zNewL^%m^NU#MXu(#nxt~e8rZ}WMr|mnQ7VD%w%M-wV7$z+RWrCfVku!O+7|vv-l2? z2H8)MNm!I9XCnUn$Iwm#mZ-uIbQK7uN_SHbc`t$>I?Oi2$nqo%@?GV5w2y&)9_=rP zE6=0-1@7`Z+FvlJJdgGl3@*=8!xw3Pff^U(sn3<(gp=N_SnUbx;kQAgb;i2DC=mbXiXJFH6!a+ZwZr zi{`Ab&oi&V$iqq&;~Mbq7Nmr(I4`f7*vS0Wiz7s4I1!YR?y;RPyIXUI1O3xI<&{1p;TLd1_+Ya-vG5pFX^qx(!pSQ6g??doc+@4;k z`XrmzHCW+u?ZH#ya_w_Z?99R#fX_)y5hDiufuU!!HYTo0rl@jK5YFMD{Y|0oye+ zLl;MH_~UlDss%2*`!(rr;wS5GLWJq>LH6&#*6%e#T=h(bHMl1mQuHcrO&=Bu!Z^=F z>HZ$88ROL%7rFXe9kVi;yr+Oh!UAz|G3;KG5W11)vrtBxMDzelC18q7LcA8o8;D_o#_kpA$UWC@az+be){vZ zCQFC{n*s^wn8ZmJA;cjvp}?_1fpT7U2@mGszsP9&-Zv~8)4!yUEA3=P_1dv)QlU9E z@V6~}&x1zWN1Sm6(`44ie^HWV73mqn#T1l%@zWw3CBSnYOk&7vLo!xbuSGPhy^2qCt5n6`;z;BD86 z><==Ew{#icSs9B0-Zr^Qzc;N3+ue=ZpQlgi?@`9B!R*`ku{Ca8u8z+dw~k;YjG{vq zlwA<9P>MRB9>RXYqwnC!s#16a?h}ta+0B})*#+*g4Xm(U{jid z3gcWh6~@KdbQu>XDY$sfsP^s){!9l1kuZh_8|6o_cc0ZH=VgS^kz0x2-`Ab8+RMWs z{@PkGt16J6__l>Kj$?;xa9ersuuL(05^tNeMbpQmH1Ybh z`$1#cGTQYIxVlNk_=TmG%n%+Ck5-bMPv~2$YMZ3S~Wy*6X*I$oWUdPzm-*b zimaiS4jsy9L=ywgrjP?;W7f;ibVCnhi;NB0c~6^VflKVNOKp0WF?+tI5p!hf5Exz2-hyqP~nje)T7J<1x0zU_=!jbL=s zf701db+rAW26sy?SV$C+@Tm6v9`&YKFTWE5gE#3yO5D}k_t=~R$|!jt=lLoAMalNO zgx%9?yD;ss;3~Xs3qv1@XWzYatSl;ISY>Y_I0x$QM=}7m@wc15TK*WqRn;=6)m&~$ zPGvv|>uygfHXZZ@qp(BvI>`<>_S3+w$gC8}=}%5glf5V7sfUno8+%1MZPi(FR`rDT z@yZ~;@aQg}|42eSZu&Q1wO znt)L(wDSB>$WWLBIQ|sOzPCWpC&EcbWhdyj47s_lVgZ%4g*(|IVKc1Izz-bNRM8|C z^gDM*tM!zCQce$gUR&?0g}O}ovcWAqZQ-vsG|a{TKZK}0HE7N1Z-5bU`bxf?zGU>PZ%b%NoM&O&ZL%I48Jhrw5&HZ^?fNzpW03kIRqpYE)$|?`wD+x zs4bNNXuFR*ZTXVS$vB@JA@Mn1J{l|LXTIVB{MCh9C=Al3W&K?%?vtEX@JBU;VAcUn z)9;p-M|jaIFD&@<#R6#s6~OAT1){!~C#}5&dVE!xzVOXOKQsl?;LjJHMEophL1|5V zZ;>%vTIm%sI14fd*~skRHv>N{s}cCxZsKn~R+%lndYUY}#zE_QKsGH)n1GH5ls5IX z(X}?An`1$dOFRf_3Kb!RO+4)qKsFUI1(C7SZvS-DV4`kK%c@h{IAm|(MaFen)@3#; zOv`H3#wR$eaXs}xD{Y_fw_YFunQe0fPt;g=)Ys7DtDnRZl2zG6u-B^eNFLaQcMN-y z2m{%x&0#z5{S(Zd(kPadf^B&4n=5L_IP5qejihC6(-gE`|W z{$_JJuwh{eAGc0&1S_lK)wfd~O`+{08}k9ANdMqlBii%D{|F|Kq{c)9smkeoP?VvkWmVBU-E#(6 z22Xjj4T%!Go;IWPIgLNF%8n1pDlL0}{LiH9L}Mb8NSe;-nKJH-ILUcB5iF3gmlH)g zk?BkX537KMl>^BD?udQr60vWcUMvh8C^}}%3p1z;YZ|O0g4Z)6*wWu9t+XhL-63WG zF;*CMt^{UK3NK5E622i4RIW!PFe6|IUo6jf2`N~j7ShofK;a_61no0bu7a>`n>8lYr zX>7h;C6e?K@$>?{6jHQ+FFZ!&7S0i-mSF5h+DU0ogr*J___Q)i%j%UE!YLypt&U&Q zvOeUqFkfE4QiXGbKZo%{FoNm#hK2G5I1BgjLsXQuCQEMlY9`Sm#SLPK46Q*4%^*(b zz2^WrMP7dnoC81sGz$_z3y`QDk8?=mhgC~kqb2*%I!Sm~2x$ZMFt?~If!|3KyBkVK zxCKBN?hN>wWMx7ZBH>B9h@@;24%Qwh=c#_Z!IG0iUNcHRh%gEbJxpvNxXhBk&*m%p ziL6j{E>pNv0`}bNiDEtsw`gD)`@FS@mYDv&Ev8|xsWDZ&9A$GE)MhCstXHPSpcjN- zxv4Rt&LdN;6cm^Zf>32NTRum!BMmn!vsga?r~R|yzR zs^D%wBC&WtwIvCZfXGatioA%_-s$MWx$$Hf%io|ST5};p4$o5X(c!PyZRw1#K=94W zLX@~^SA3+@OU zKgE<(OZRQ{V^E6%9F4ars{YzDDYAl&3`86YsM{l`+byUY zG}UgmT2RMAdVQs$F2&Amqb{@*b2#%b5kkxFO*PC@ld@8cnQX(R8dZV#$?iYp-M9)% zKbL3vfGbWMaHUVGFn_P4=%93A)6aIIE&-E2t_j5 z*z`SSH3_#?`tJ-32St;(|INj<_{rnSq#+ESa7es+9y^iGR=*f$JX@c#uLMUv9uDQs z%R5KBDOU9j%y|nrW6!O1PMqXCJ1}PoUX#ciH>sJJe!7Dg1qgTkhjKP77x>uZ`}3Q0 zjys-QT{v3xA$IZ40zHN`C4g#_7D7{IadUHJvDj8pYmp|V#~Mc;}IL*{}dEWej{%l3B-jTW1bP*BbKVFV7#69xj)zqciN>uequWI-PK|r{TZcqi_JaU`mDu>ja)6A zJg!21OujFPH|enIfDZ4~-fMR5f~H{zze7{B%zz)h`ebfyaBp*yn0-2%HXM(h&zKy~ zp38qEoy%w>!A=7>nk4u6NrTQ$8hn1z5LmMcs*U1HE|3_T?}5kI1zFZv?eY#oUP$;S z@A%N26|*z|M#7{6b1=y7?=-JHH>7W~JIMLnh)E3go_;)Wf;Yl-PMSDFY(&286>nrI zQM$|Rx zc%OXSxjLopqXSKKeT4Z;sXKk3k*CDfzWNqlUkjm4=G|r&BkOH5TkH%xiOqEAzQuLj zMOL8h{{C~`nkY(H69Q6Z>Fju!o!7E^EiQ$Va3NTCws8281*?dNTfA;mB@dw_&I_tq zk`fvv>#bx}Q}mxu1L0!~-*ezQ_!__Z`%t&L?W5Y`#ThNGy5{+8*v{pI_M5szj(UMV3+P<)iX!yC`YrnsJu7_;`8O%qz!8#hYx$->!<0NYue z;++N-Z}2swROGbOz1ex=^K>0twAR)2ov1yQ>+Yy~^YqEOH~S8;k-p~g;AIq!bQrT3 z*81Rqb?@}Gk~TMm3MUA1`QE|byHYW=7q7ccFkScF>G$j2>)Td$ zw)2=YOR+Xyx@+pro~{Qs2Yd~gzN$*^^AsI8M#1kPjMZ*8C>Qm`GAGW%kuS5Q04e*$ z?Ba6wQ}>G7CH$IeKM_#Yj1A>3EXadU0)bAQDRGiw?GEqL0Wr4|)4sD?&dyKj;I7!O1G+nEkn9~|`^-2(smeYMzo>r>xl<_= z`?^r9ICqSvQ*z+wgAzHo6*&#vo~-L>s}#JnfJmj?lsll^i*<}}|8^`X;iRv)oncoB z#w)7v)EXh-;&y0QZW#xE8lho_e%}}ReP8IeQ|R}79zI!Ax2^9)nztPSe&0N)r+2l- z)^u*Gdrt`Xy}m?e8uj;CEe=JVeRkA49kA%7d@~DeDhJ7~rAKCfPmTW1$I{ zpy0U{1=HxG`0Z)GQE2$j*6B{8xohM577;HHBCfKCm^fqCIYgWQN~4nDmiWicr=vsecW}7n!ux(oeC`%u-$H{X_5- zs8gLJ=n|LC2zh1+d0GeF&Ur>X%7tac@DZ7;;|!4DUUNlgIbn$k7TzJ0I{$=F>X_hW z22JWB!|Hivb$TTp4RpAn_v9hv$&TH}5H2)wu56iw4B=8EXUp~vE;e$$ybo^>SUl(v zbFD?e(5+3u&@$r5rr>@36wG$JSUqfKsZ?~oZp{$eo<*%=mWf4St-eut` zXk2dee!hoN&*yt6z5DY$l+MDy>B1gL$K#TO0agbl<8EpoAy07-$0aT!=H zkjd4Jr{G2Hb)P1=GwMDa>7Irh&LB3@$J063@&-I_RLl=kk{hj;p! z^`w9i37l>()C4hNv2eBC5gE^t3kHjYxws$VS+r#fzufXu;?<>SJn8ySwOB@N_CaBC z|9WcVc1c|?C404`?M;;Oy;8o{j(5kclF%Cx&F)Eh_M!_{pSTb(o~57YEY8T$3UnF6P{roeH$1HJ}7d`KPVvf(V0Z z|NKP%6PdVFB0PcwVfNqT&&NeZQ^gdVKfLZ=GovB3U-_jwoycQdXk#|i6C{I}uLp=J{veB~F%RtN+!-f5fhEG|g^s8^7LfHrF0|tm~lO z5ItjGH$6D4xGA9~>Xvf71Z4KUtKL@|@rmYr5l5=oufVqD6^Z4gd%SbRZ`r(9ys01= ztjKxB@6RyFc3IbOk2n`u({P7=K)kR@;ivuHS1P7_uXK;+noKkV%uw;u`070Flxoo~ z1?sTctZM|PCSro5?Fuc&|1A;uFcQso;WzpBXMC07m!$UCLtR~HgjtZ;8c%xwXvds*Fxxq_#&I@2h7XsAqG z0d+T;`wF>gk1apFqawK+-&%qQ+9-G7TClijV9#+7OPmY9{(XcO_Qk&dD_O_P~ zp5rfmH@ME-uaS$5Di>wM%h2x|khs#jN^y4Hkwz5xON(-drr;m!U(Xme$Ou+yx4P{c z*7f53Cc7!2o9Ij|eB-)^OZTpI*}PcR{=+an6IZ&8xIV$vZf+y4ftbjz%>J1=W!-4q z4e#p5S07t5Q7A*e8?UWpyjvMi+coP01Nx`;x4+3PRz;Y1OT~<*)ZrfFw(4{{$a>AC zsOs(~5}cYg+asqa1FGCWh5HZ89Dk5icP&%^=xQ3HoIQV~9Lz|SdjF)>8$!V!4D zbx>huRE5%ZgIlxxs_f^v`umh<+0z%{sP!J8@@H=qg;ee=;{DCsi=)c%^EW3(di&fS6fWVoaO6tf`0@Ife;2w!%F$Q{yu) zmrkDSItVQ^MaD?x?ZISYfwu(USou2cTqXM_Tq!1d z&?`XV0;ZMA-KCY1k6p9HuM=wWFjli^OuTY8b{|(Gj>K4mI2(Gw6)sM(T8OH0M38+( z^qNf{Qk5e6sPssj;L=`;G}dLgFAaS=($baEEG-eX$J;JJZsm%1w_fqKMAmGA+~C*s zb;e<@-0nWeq;G68pafmBYJf~_q9FJipoY!N`k-9o#PAc}LJaKNa`PJrE(V90#M{Qp zRsjC5hv;zJMN}5mp^{`QD%_W+9jQphqpQK?y57|X@suqq_#X&9u#^npgsh!aA$U1V zEot?N752i;L5yPML^M{+?W-4pleP0^b-1ibz-i17VGR6to=Cxl@o)@LR0Z?i zKw6&;NW1(Z)a72^@s@_{RyxD51S+PCr9oJ%V#;`22l|fT*z9ewd`#~Y;+!T*Wd=&6 znB3q3bUnk~*{xnou>E;YA%j|YEDZi{@7w81|^6^wfDKjfPjr^u*cd@_o_ z6v>9WT&qdkmbGe=;{Vq&%r@(_hv=cX3zU;SYww3E0my|CKun1ZlC?7vpVxWSD zU6Y0CyoZ9>f&r|ypXFu--_!~|q=L81D%L9!L3Jlnl~}}we8oG5_!hT_x8mXxh+Vu?G3uMXB6mT! z84xQsW@cG8W@cG8W@cG8W@fp|<;Kh`>&DEi!R6eTv7-d5Gum?N#!NfWb{nah755&w z6oeMUemyf1!D58&9F%bg5Isube#)%k0!yXzn7oJ=$4~OG+2tejx)Z3{Jvp~sZn;^v zkfNsy5o0?Fd@R|3i6^H&1N;`3Jm z$>Q@@0?Fd@mq4=k{1tz+);%OEkZiXGl6_YCXF&@x@iKgZwp!tmC#5YeHpG?F&TOll z*;YHVt#)Qx?aa2?nXT<`{YY-E%@&WhcEH*ueEV(0IbGk*4W@Y4BIb3O>QAC|`^GHOuh_sQu>J*$r>)7lZmfPYzGC6xE(TmGg2o*zQ zhl6cQQ?k8zF|h*9zgINWO4Vyc%r+gN%g)VadF{pZGxQ31$z7rbwvElHL{3cW^?Uy) z_e~y8^i_{A^V|eTOzYiPEf1W_Y5zDL_Qg`!KM@amo~R!ejE7yuLYI_}DT*8A8uQ$WA#w zLUs!^eO`p@UomZlz7*9*Y5D(leC%svx8eWq_}I-l>51bvD?YX`LjQSEzBqx-jb}HA z?FSE=7yFyiJAJ)j&(N+t;>I?iJ(R-Bne6v^GWl>`kF;L9n8i}8Qz6NfDY^LA-}FW% zqeVU5t&+Y(()rlW8D7|1OVY*?-jiBleN#Xln+re z2UPcDeDfwxPT!6m$d)uW2(F!+&7IzB@lXB7glf-Hy^Q%Ovi#fz|E9q?`fH@VjKs+V zW2E?^)(rQxp08`!O1mr$q+gqYp{fA8H~2f59oQNUh*M@XxqvuOWql?`WSMLWdTeu-R#Wq{>%EFPy4-5DrYyEr>Y_`3HebmGZrVIYZuB%5nh{F)@{C) z7N=*wZuqX|f!MR^aBJ)#-wusEo87J_XU42%9Lb@~6MOZxvA8bhJmKxC50lJAjdAER ziWov^)Lo4F8iEc%6R6aXI}H^cA^#>3tW!@%X1V zHhmXdn2TRO&+qiRY#&N^TlG7w;ccDRwi2Z13&yi;$KN!k{)=B{IgV#zwyiXp?HD(0 zdWq;rP{x!^o*wG7{fpCmbBeU~3P5)5lqInTwia>F|6co~<0&n|RE& zg4w>vdW^{H+j07fwn~qro5k%#3nUh6aZ^9L!vFi!|1=JraSHrAj;Kc)r6)lH)`qJ8KS?g60htM{nbUi;_$i_L6J}JSF63(g27mT8UVX=!-8Mj zXUDUBoH1pz=UM`fsL0t$fk;Kfe$|SoLE^tkU7!MzD{eyO=p)=TJ60HRG@rt)#31;lA4YBD;r#K3;V*gTWw z*$XjzH}b${1!1iuQ0HtXP-phf2rJ|S>U`JlCQ#=ID^TYPSe8o&>_1AJPEq~w*evZBpZgmv z9YDkr?#xBT%wDQ5`Lu;YqLuF3M3cNK9c?{Ow1gCuV0D&s@%_rlVm;Uuh-)}1_EkG? ztp_TobSfydvmA4>SPymuPxICiPkx>d9dLfLERC#PpyEm#w&P;Dm4FlGTX?1ZS2TP4_NtGc7U3lQ1R#C!Zp;*R=tIpD?}b)%WvB<`pgN>=54=3Bvg>5;6Yx`~!5 z@jrQ`ZmE5i?|&ewF^_~;p1%@0gmad$w+Hp3gaCqjzRWVCX7Uy90!&C4NV8)gibyaQQw8ia9JG?oo zy9Ucw-$zSNuFtuyLo6J&yXt}%t@Nzg{c&AK-}buTn%yZ@%6h_E>3u;tO+SM@$kJ11 zbEXGfb*KB@{0AjDcK>GQp%r1Zi0G~g87t1{V=u@3H(v-|I4 zVa=M2$1BIv>C$gN$G*x+32-oYmhV`c=K(hDtBwtpPTDu6mv;2!6pqV~uMOjFTH5ig zoX(b|C%={BJ|NGh56UMP=*Z6L>s#8fIH#`@TZoKaZ-WcUYULcf*VS`lCHPx2Ay_LU zP1WW>O))n8HwjU)SRS>#vD)0_)_7=(QKMqDO-t|Ft;#qJmvK^vfD4G{xwMM;d;#BS z8K=%>h3}A-I-$81#4hc4B&Rdrbb?CHC_*P#1mMka@6>woW0e{%vs&@yoZhkY$z4F<&&8jg@Nn)4QOM{DY`c7$sXRUhTqRNdbQJ5(k+*mKcIyP46XSIkOqwFNe z3H|^XrRE}PTM^0?W&J#Xv#lgm(MBr+3eD1bBn-f zJoUFI9@*F@)V}%pa4s1dkD}@Qs%?YwUzu3t#EX4S6Hgbg#yOL+dafR$hIc~8)RN%X=e*({;h)1AHK2An z4cWTzRCAp_N?3wLuj3a0a~+}*6lD_VKI4>{>v)qZex#uWiU^AQcE(9H#n~#sIs>lV z8WZ_N*J8pDNlauGJg(+J8WcJECI4I&vd^OfvYhQ&RNF-u<)YjCb8`fM+w=T$?_!I| zKNs_x7sSbmY)PH*-|V05#%$)-SU^06nT!~&GziH-W<3cU1GNt$ybYGJaqP)=9k86e z6Dp?3*Ep4ffd<&K609PqXT)aQlg#M739;9fdik#IOi;TWoWptFYGd*nRFW z4`7B&gE{yK;{oGvxbX%PdKPVHqRRI%B8Wj2F$o9~=jb+5#Ps49+1oIPxGJ_JY(z{E<>w=QiMuV**Q{UFLyvgC-C2wi6tJpki`Xj(G@&f^45) zYn4kp+V(36q?SvR?tf(?)Eb_8Q_Y;()gI`u#F1Ov9vP-w!uP1N{{?EFa|wW}e}4jf z3wC9JDHnOR*QH*n5#(Y!`hK>-VNbGa6wW4mt2Ozi0 zh`6v+!T<{lKyoatTFj=avWW)1GpzyatX*q%PcMEREE}8S01RV;>`F1xkzEc^MhxF4 zJaLqTHAZh7wgSy*-N0;i8&9?Kf_({Mihu1zKma`i$q&cOBLmaNsGZy~K3(yGKvpIK>q z(G|KgCNsevW`gZ>MyD9jVAD3lx~fA{koYb(yHjYw$dc)R)U+DUxUM6#ulAu_U)VtK zWUR5p{^qA>3_@kOt-&A4B^MoDM8LnB;7nc{Gm1t>c?Z<|Nb8rDuODc&06 zxlgW$EpA+Bo8YJuKFb7Wr&&d6K|s8AX}1$YUt`}TW50)!iAM0JC~8&|)tEhsqM6+h z6jcY^0!nU6#%@o#(1%7@mKeh9*AfQ7n4N9eG7YDUC;~~YBlN-S4Zg)`CUK4%IgS^@ zm)RJ;+-w`dh}i>guz!(7c8gd!FgcC{88H=!V+I(&93ZN0*&*+cxa{W81PX1xYSGSq z7#Lasp+TYcTedw&ALUd*<9uL{bJP?9BsR=CFZ^jhPFoL{dqa~LdCpm_D5!R7P3RIT zYM32W$_a+bPSJof)fYKaEpCY%sLFKlQW_y>^hh-)2?wucQ)d$s`UMYEuTZwZTH@9m zbM|fKLJm~#bhd8Kg+R_yLz{F$>_0zkVq?BIDeWz@58I{b#cU=dnkUC@C)B6J7@J)j zkLAz-<44&iDyB@&s5gFGpHV}&C<*Ju#zq5dn{mYWaZRcBg!ht^gWik7-gm=Z45r!x z=JnPI>I1T}%5I-7A+->K>{;DTin+b(ppir1YeK^&5L-b!7ZbSrU}(IGP;@?MmB5ru zSU4OIL!aVSqxAospKeP(1SYVD{(tAEjcOM18Rw_acY$2qLm&Q==)=ZqGyWvD;N~>( zQJ;>wsdnxt@uH9CM3i{5FhMNDV?@zC?wz{LWtoUi_tm!}v8}v&uoriU)K>j{o~y2> zaEq9ZFFo~0{LRB#SiZSfIwr(yx9rC6yTAWFAp660y-9=esGie%{t7BN1kV)fz04G@ zFh;g1qV&}hl^a_#MgDSm&l@l6MAg$RZG8!if1SVkl33^Qy*7o9^^?Q`@Gdd^y98rZ z6lh#xap_AIxEo$dZDLA6U-qQtQPJzETjXaC4y96L$~u+&G0R~#2Vd8GTnC{-DzMrN z4#PatJj{MucCx0V_;Zuf_ppJ2m#l6A0JIpMhe6L*WlQC0srW$KGW-^G$C;&7#(w`BOZXJ# zo+enXk7*mVBwtoLGh?dc1H<6EV~*Ax2(jn~J7*;=C@^2AFw4_5+K;8D-i)6RdXDN} z(#Ewg71N#CWAkEyb-P0$c{m6SdQvmxaa&zS=#V^Yuj>hQP;y!7Bv(UPP5K_YJDbvV zhoJC`jDFc3YI{NJ_6+8cb&r75HbnO!?ni}SW3Yh5Dqpw9)gI5CdIIDwn%d@Cdg`5= zX(#wvoRf7;r664&C&bXvq@|}8+QQ>z2OVhoABHq=_Q*)^yWsS4sM30(^U(hc@9EBzxMAgCqX*KARf1% zYVPmtw{j*Nvl1B{f%s#q1HtEHPd-FiaZbj^is}rky=q)XFmbGrHExyf47;GC1oN{i zA+{ZCBHVqMfFKmV7umPr86`zYpCFJ(dTWx>z{9C=6bW#PChH6&_*mB4Nwvr4;kQIS zck;X->y*?WY{2s;NpcI5JLN*vcspBqsxE#)feXOl`P*Zk<1I7}^HHy+J)9a3pTPi` z`m-qRxr&0!Kd@y1$TI-BvnJEKN@|uC6)LHz&`qybXxa)O(xL@}NPA4v9s@F~#lfUG z(0*d26+wryODcX`!kC!*Ll@EdUjBCR#}(V)Hj;hED>t5z_e3G!(_Rps2gTRU2jULb z`9Rzfdp;1W<48NFQ!6jfsXH#vsar14sntWC^Hr8?tQMes-MCQ_BOJ_~yK$lb6iTE>n>5pu zM3I}9o_bH4!ZbUoz&zxY_QfLId0B@58JM~Slmq;o3G76VPCa($3 z|iTKZ)sBanmak%a* zypTs-GI{qfWm|K3;U7~=q-y5wZt=>-?jC-16nnR&G9x?|nQ|Yqr(7lYj_1r~YI%#l zI{wa>+`ZpmRmIQU&P0qyrzBZdzeE#KCvNxRP%$Q{iXke*D~amlsp`1Qr$4ghQwA=J zrnz6pQQ9M8+9p_&>$;d)@=#&zu?5V29U*qJ7LX?WVrsO~D&=7(`7Bs!nJ7PG7TqQf zC$#t^$+4#{7<#+*_ybwiK*-Z|_KeIpoP3V!j5qN&Cy9^wDSWJT+%rYAE^DtaYCm25 zk)nTwtT?Dk#YfiEv|}6-fElU%XQ?}Nh!b^KJ*lz5 zV$`XKuR1x(MPIs@ZeHZ5HXE&>C?3-`d`W?*HV?$K(83F;m1LG*M{AF*i0Q7Y3UO@6 zfZdtOh0ql-$ZyDe3k;NbW|)$r9x&*X+>3)^w(%k7mx0->19`4h zg`ROcAsvz8@^d?o&J$67(}QVPK;}%{nDi^AaTW6h0~sYngIBil0zJx45V( zs6%6lpYZ8(fchi@*}LH(m>Ttto3KJoT!dGLlsI;ywB0La0)89_9tC98!M>uO`IcTb z-_pzG#MvZ{UUoxRWyC_GTQ(vi{3oU&M z#@3&=Y6BZ)$5m{OQsl(rUsr=-x9osmLKKGynbfGww9*>N&LNsTZ5&SCJ65nhWoHV;9 zSiL97C>_D)R?!SiLgH8xvI4m*w#V+8H7ZZWavrDx4IrM(NqRVzV{-WVVY}8-73-WciU5vw!z%CJc1WFf%Uek=KH66usA^7WR}H`GfI zAbkVH&Zu8a*Xa3^^jtuF(q$PCEOP;qcEMJ9Em-Jli`97>=Ok3p=;E9Sb=sK?SG(9h zOH4&|hB5|;{%rEAM|5beb29wKW*2WP1d1?m=-<+$odj770PI0}0_(j^PwW-KBRLc9 zO^vgXcUsA^MDXTJXhO*;&e%s9x^z>lCEc{I$Wcw)8|TMkcZ2H;egGOozHLh3u8H>l zHW8TX?!M6xZ-Yd#TIky-!35*XKtNX@&mj_~&GELoQ!^^S{_;|1mImU?lyDYNK)vOS>d zHiY3pspO$az5#wW?~}!eHLS7fqd2dZ{ah~ai`q6=dN$nYnI*Vc;cLHTq5y;g3dk`4 zIjewZ|9Ur|s?5u((k^Vby3lBK!Pg+JjD70n#F}A|x%kwiHFO7i(mfD*z;SRXP~gb` z$i=~>wk(qyy5Vr0&E#p6&TtCB?&s=0MQ_SvdS@EwDa0F(UFX5ja2lGDs#P%QmdS*C zb*fQ%P=u;rfJ7SO|rBHQ3k{V<~>*Fb}9ZYsd95fYr0n` z^T;2BY>li9gisK`QsJY8l_^H4_fbGmJ{L8xlEkdL6I7Z;a&-1Qkcl)Zl?cNcmJ zRl^>>N?<>}E^9Z+9&5sZsSj4-@}D&dQ^Dsfmru2{D3v{R(VkhZ<9cRlGSz0W&2$#o(3mQnUW>W?_j z?@hA(Te5vPUrdBHF%97s^Cb3UM(Id?42Zdb|HcgQ)p$tV#{FD8#m&WBj7utF731r3 z8@>~eOmG?nWk)dPF4++jaK7t`RBN4uLGxD%hrHw%wp^f%W z8+kHk3Z{5#V-GB&p`MRY6!XuQNNa7(4VFF zxQso=$EBpjos)*MNc>*@uHWxv|9&Y$l_=vgj6FZ`{f56Y)b3b05ftM`@pr~bRvGxl zOt2ohNaQOav((=iS@$z(=>6}#`hXhxYZ<9M{F0p3KQ%7ek=7taKC4e#29gKAkb&ej zbGvOI`9!Ct~$?e zZY`}*&k?PkU3?6|FzcfJcb1;arG72^D4NM4?YA~eO?_kqEBP2VF4EE@Sr(9#&Q$~1 zN1W36sA8C00yd_RooZk9rd91AF^!bAt}`WNK+YzMc)n=1)LM@OBPi^}>rBv0iFVMIS!Hh!3-Wy!o=q7U$qF+CGx2N@`tv z0~PzZH3UDwU0;`9#ff@9e-h8c|9h>{wk;0IE<|J`tOwla?ZDrFx4rJ8)h9v0`ia*a z#~{-7kal3r-W1zITC-WL5rxDU_%KYd9XkKVd~s`M=ZZth49!&^8!I~XQ36r<`tX_| zUM^sZCS?sZfwVmX?z24u$|>(~vzn>xnAjSIQssO-ofBp84(O{&smK%GY5~0S9fLw9 z=3Q1I;(A*fSMfxPgLf+Ksg&Kud#rMW>%^4l2L3jP&osg~Q1y1IXsY|D?`?W@LZm5a zgQOy@vKc39C+q4ugXH)-Z}v&`FvY|?RGT(zGj$_YuIng5$r0l3AnkGTZM8RA+mqaN zA9Xg;%FepK)6!XXoFXkfGBHnDI!a5Uo|jG_0|d)JncsTZs3nG-|61#sP7J_R__Yu?g$HleYOo zj%EH3W&1EBe}QUBxBhSdMTRGA{Z|h}6`qiz-?qHxj1Lj-O{|!coL3Miy7@FSWIVyJ zu0ruJUAQSq@)yMWGt2@v9&G(1%~|n&m$@pjAu|b*z-OqO&24>xbACOf>)-xy=6|Ul z-=Rqrb4F4B=t%uHeRlm^*i2}csr8$WCFbXaABzv%^aD}*66-&^Nk?D8e<(-(T!M4Y zG;@;rJ#P2Er*|XlJcH+v#}m7_COj!GyviMT?I!7e;z0j%)_mx>SRfWJe3)S{Ew34h zkA`sQru53tgG8dk5x`}&kV8a=!D1>S&b=3(tQju*JJ$Y=;~N7{;=3J0`j#E?jCb{< zclvLX@)545e0rRF|D23d-cNj$L%2hZ>~V}c!E^t7?Q0z)&hhAYZW7^%xgwG2_UFW7 zU2s(nH(&w{+3gIK#!ZdXzGcgFE*O^XA)Tms5@&D!FQs|^o$cJ>d-o416Ay54>(~4C z9-G@)#S!JZM)paw*)~4fYt|%mB;fR>7eh1uby6;F943?o~dgX%~Gh)Q5wx9c==~Y$&geAdHW-f=uzN2yC_ioBPQM4~;5TmJPfm_8< zhp)TOGt}1|_T&YYrk@T|)YtNKO!S>R)?yz;(pHc&)QCL!N8<%Krtim z1gM1=Yl1sx_`+$PE7@Z4{$-~57V@FTya}tk_=Sfh<)4`f!*a{4pWm^KkPdby7JWy$=&`y8FhYG9 z#9B8X6zQK)_8;I{`nVhKFg-j+VL*DW($ z2cdW^rpniScnU`mr@qD#p`b6)oQ1kGHSm73%zVK2GmZ77V&{zAJ zax11cG2~5dKtGP;ZJ4EuWzIp+g!VH4v9w)Q>D{T>Lmv#JFNsu}n^=*IC8&|rWMnlW zd~v#B;`N+!B+J#TmazCI4>Ml>wZ^Ns-`}CVsaQuWoS|z5RUUVTM)<0J!A?4#vgtg^H%&3X0Gz7VVx+V=Wc1xYEOLI zj`ct0u6P1DpbchpdG6M!Os*Zp*mEV`5%BjrougV`_kBfEgp6KcKjs(y35qMMmV@sxA^Hs@W(j8}U&PjWSg11WqnEPj_OI9k>8 zT+AP-OQv?vHJRq zUY%3Rkp5cUki~2?j!%>D#cDxalyT2(QE;*t8x%~4*{qTwH#X<#Xl=XDXbpe|bK;7e zgaMUx(UpOfCH^y&;qxg9vfrIonGgiQ8on50!v<8g_`J$q{AVgd@sENm>AcF8{WF!} zJSD2K8V0T(XaDVzA-MdXscyu8>O2Fglgd6+%J_m<<4QvmY;sfyY?e4^;95H}UT)5hSvNFV#MJLg)MPiHq}95%|t(P%J}kMu(n76}!}6uLK33wMUR?UMbF zR3%%~WTxSm&{aHuiI~urd4P~&LSuPAj1l^Q2btPJLwLZVK-Bwwuu4AtI{h%pp5jI6 zA*1YdzHtYad6G7{C{o7r8T)jk_=8gu2;>7tFYc^X<@N-H);1XiJR4m*x z5t&FoCB3d==6)JOe7ib*HBE9~0XL7Yj_l)Z{Y=FloaOy5yuev#%6^;PW;Zd%UZ5fXIa?ubq+)Qx23wxA^xn?WOHsZUrFZNB)$^Oxruzmv&J!RcQ*_XG8E70-Tk{X zj{cG4Pxr5LSIlvlE?7Vs&FJ<_Vb=YtjCa5O$418GXMNT0_$)Pes42-}uvYMW$-a^mT3zs^Iv) z(E|5SC$auKlkQDXy^OG7W;y^Q4Ny(Z@1T<^0;2W14AJlIcbQ|gR?(AMsIX-EmyI&H zE5&VI)_Gk<>2`jA1@0&G+R&CB@-D*zC)ob^vIoHSJyhbWj^keBW|0Es_KMt7=Dxtp z)7A>4lr&lL8?Tl$%3h9KHv6ut@opTr_atiLo)z5l!U6Eb{k z`Dl7}yY?%i>q3c7Iv{0x#^W@y&#;6lY(noR~)2GIjUxO!W4Vo zaqCa4{l|Ch-zEBOVL!57V*5f(r;A3fjFtVCl`(;9=X9{PU{$*9aoMRG)%{aXOhb%} zyEeooLwG`?UFXh7o%Z@mt}p~*2KR=|IoRBJjD|TW6pT@&ln_J=m%T|5oxf?2lmE*s z9_%9F$CB~_?^6>iFbf>xSt)H-;p~58$A?!X1#Z%O?x+nAXFZr7SWWHehX7^@u75Rq ze&Bmny(C_dzkEG1Oad#7ed44n=5WkPZte#d*&U(S^v?W13pKC_V>aK%)`gA0e)toY z#~`rt1HaoUd#3RXbCQ~Vb$_JC=i%E4&ji$s2~w|ae@51?vcQv_wpB?Ie=3{X3clV% z&s1Hd`FaO?zs6dRy9&>UvGY&Zsfa(~9W86oI~L>z?$TZ*TiEhmC(y2pSrEFEEkSyk z6ke5>A9zOlB3sUvOEGI1JKictVuCeNlmyTHy^YWd_J!=vCV?T&RQ{Wh(gcT z=pL8Y14zwFmcRb3RixxZQogyoMpLf0QvQl~mNlfeg6nkofhBM1C{yxL8KU;G%Ewm- zV0qlx)8XBqKquSd5}KbM_<4*pMz>2MUoZgg7HXgk@oYcuqS-f?$%t{c3gDfI%g%}i@HA1 zTs^K~me%T@m&5@=l7E3)yq?aBH*@08XTwN`2lCT%R+Hz$qyE(7jN1P=idU=f_Q05W zfp0dSWN1BiqMQ`BGm{fx^YJm33v>9&|;m4At^I+h>mtW#`#+*@U3&KJ2vntIMo*qp2g(U*v6~ zmh$z*daj`oaXooQ(#F2nq?j1bcoiEP`&|6+8XJ2=P(3-s9O}@4d5ilTd2F$_Fm>vK z!op=|h4utvS<9zs${H)>&o&D`Qjz@$thOA6-mo&f9C|3p547!aF`Q#GkFWTX81LLa z3p}B#E|j_2$}IV`fcKI=3%qdff|apC4Do@&DmkDSBe!Ukb)idpyjPA19Q@Q_kL#lO z?RgZ$-+)(fn4oDvIC6Y!L|D7v#60 zf!|$n4!_;)!0L*cSf`K zt4u=$A|Muqy~$`mEolFcn`A>oDQCVRYclb9>+CB=_1`;&GhMSiq5JXcL@?6m-HFn! z(@?tIP`h`OMsUoxS~+O7f-G@#*k}P_*KeKYIw}EI$KZ?&m)?R-U~K+hfTTnv%Yzn} zQ&t-rd*jGrly2rFkZ(&tf7I9F*=Fc|-~-|&s( zmpR`Z8dFiege9G?$Gv*!pdPGKeckRgzcbg{+(tDvQv1g%Pfp-D5c9?_e-WfD4E(a& zk#V;#|BI%4Kax_oe3zyaTPf_htK8dWl*wI~g1|dpR+U2}px_;W<;f3JzAoZwTxhkZ zHv?s3L16DTm5p{y;xf!T7cFhMj7@0Lg-ZPL{1T(2gp91!;O*Mrn11Sv%nvJ5R=NUP zBi*@34jLO!Xj}+Gr5#Zb`9ISdf~3Hd(HEL+BK5&vTIIK#DhYB3B1CNyzt0ag%#peu zOF}*H4}pPAFh2|ZbKT|~H^+(mK)-)5$9gwMe&2yVo8jeihWqCxv3l^& z9cRuN=i87RQo-3WcDVU9|F z>M-vcV+mn7f{bQ1p8NSteC-g<(K9K0LtxHr3Liozw%~y1^mpQoD;4~Y$ zV`1P9E0;MWl<8lDXinyMlO7p)EZv`b`QtEFo>-L)+L{S6#Zo4>ec=Moen&xGVD7`x z0D^x#8_@0MV5OF5u8ItA6uf?!Zjvp_O%eV`{>PC2ZgdBl9h-;WkGBGsNy8j?OXlLF zegN_d7A(9YFYvKP8;+XT`tjjw#Wyc{o$#0cv80mq!(HAH3j+_aB8N&eC1^GD=J2@s1?_9r0y*s5y@iajoIU z5(7V-qocJFnr_V_a&dbg{y!uI=3W2o@YEuf-Mok(2#$9>_l2iXJp~T<8Ij%tq<; zq%X`1Or9@Dj}P9*&-{S*B})q!%%au!{%PQiOt8i#aYv*|L5PPNpO<=dZ%wiPG-*M3 zA>w;*P!8G44y}(j?;jVGZF8MBgMGY5YzMCI5Ylp+Mai;{&`7Fz|Crz*zAF~?*>nC` zW7AtCl;5A|JHx5^OFaAMxrMichK5^r=By)?G-GHI9l>XS0mEQg< zxy8T4M!uJe7L^w;kwZZjibTb&XRS7S`c~gxe*f^$B1e@ld}1qU7P&*Sw38K-4khTL zUnPE<^5Yf(ez`08A7BN>C^`@paD89SPG< ze^L6%!%A!&Z4tf{C1m+}O+D0~`a4N|UQ_G(Q-z0@zoe-zTd7gn%wUGd(mhtXR)$xG z3j$YFovWu9Wi3=8nun-5%Vl3f=dAp|TmP-=vtT9f3j$T?kclvZ_mYA@>0Wzuyu%9u z1#jCwJR4ZvSt`$6%l*Jq5V+KV)H7rGGn$fc4wM+70A)<*@`Av9W1XFzt3<&X~D zmUUR`vrXqk_<3^RLUV86mos(L*%QkPU%xQ$rGJ;7NWBeNp)m?Vv=FNu?vTzk{`I1i zB1E^MABk*U{#Qj;Ma~dkMwS|m7Mxgs=Jzn5DBJ|%E#qJ#J;jNo-q z<=LTngR-HqW_@)1)EvIPAP_fBsvW2JXJ09>@HZ+k?O}=VaddwY2c4B!quXt4R&R@o zRa?;6oGGNNbonYolV_fJpBq0RHz`JfEzl-?3>)S9c(O-e^Y0aBw!UdAw&Z!H64CZd zReTi@X0=@KmwZLP&`J&UiDK1SLI(f$1a*HAMo!zF(fed!g?ogra!diULUBmwC(-qW z6d!skM?S+uI8RPxPn0BdM~Xy)f{t{?zv* z^(Wp(Nxi*4Ri?1z>$KjC{#15_g(zcIe%m3(*AxCXZ*K!1RdwwRCuD#DMoy3@QKMkR z7A&Sglx z{HPcog_OtnD12G<97*{y?vS>>`g%#}&?&awzn1q40DD8#9U_VZPO24s+Z z9gev$8C2Oqn7N6fkZ{t(@Q};lgX$s4%}!is=jMc}`{3)K@PmZUc^fa>LHj#lhV1zX z1*;XunyCV*fqVyC4w^Y27CcR&%{dhi{eE?>UaXgA_plgY|E`q*PJP&aIu(ARM-8nG z_LcA>n&(s+TZGkru3aJ2W<|r$5=;R;YfiS6W%doK@9E4~Q4XvRi{*t3{aaQMM0UAS zHk<>G@#GQ@c)>SbrZ$MOd_U0wQTc0j{|o+W^FJ&S7tqCDt<95hC2#kDOjPSHghqnu zQpGt;DPLW9RZ0bg+0mug_xN$&d%3#jw``wVnDfi4L)umazH{>eB23yYamw2X4{cW! zDqnx`uk2N1uxOzvXJZmnb-@fzMY;N`^wVpbviAOzJdLKTr(gMJQ`SlJNB?SU_o38M zeV-9tSgt1O2hPn>L{z0upqT|$aCWpchhj!WNLgnSG6bvawX#mqusQS%dl=3$h)E3R z48Zwsh@R*ho}lHm6MZ5VV++T)Kbs*)J_UOi+(Vb0J#25}%xJSGIIBWk_Zyi#n>M~p zn-=$Gg+A;{{6M~BesYnwLftaNUZf*5DWi}%NUu!Jp1|o3738&458PqvkTiFgx6dKU z>ut_3O{b(}tjLWVct|bz%~8S@wbsTfHv8BwmLOF5reGwLKn7HUcHLzh2X z1fHNSwYzltaCL!hD0%w`m8&0v%Fqv#v0QjXyRyMRp`+?)2xu+tB%7m}NAHc)k)^c6 z8FgH2(0Ts{(dD_&VQc<&S}f8D=2!nP=iVC>n}BF}Dsd~fnBt7OhX_Q7DVf&Tl}Um> zGTExgwkGFTSLRx?^31pUZNVoI@SxY28$Eg=d_Gz^dcv5pV-}c7+r>n6pIJgsO(p7O zSYw0Ok^9uIu0Dx-!Pfpw_4^mUOzJr~6PGw=Vvlyo%Pa?KG3t5ZQyTy~Ffd>_6-e6u zC5?Z=sRus3wU`)qf#Y0`&qAcZq8xMpR|G-%v|d=7r{Hj8t~Ct@m$3b&SBUnZIMOG4 zbM#2>$b8Pt7a?gS7RoHxW<+V~lofkvVpMWTHZ?}zcp)|W29`qoOGmmUyo8tzt7Ug4 zTSSlAlPTqT_-a^1!?8&^pN-Y(#)x43Kh+4vOrx$F?IxGxC70wTmw;k(V10)wZa!vN z6jf4R_{E@FcD?j=VHT_lzT}eOoQjV z2nFFKhDUQO9^*U<2W1spdZmLy*}*+Qsh=IZ=@YP`BbXJF+2IMOGp8KKh_3jU9Y^Ci z>SEnyx%%uzqJYPmHoU>(U)Y<<9_b!*Lh&Z>3IVCDe8zdO3;~i(j5nvteCha)8C8&S(x z{V=lN?*(u3$KwrnCWHjN>|IR?f)U(C19X(i6F=0W8%BId7aXqmI(96{5e3QTHaE895j_HbCSUb7Y3j=NRV9PR-C~du=W( z^TUW|Kn38}ZN73$a<2ON2Qmy<(^kLC?3u&OEjXDEeGl|cs~@ukmE!9KKMUX@`UFbN zVCG7liP*vQR66nQblkWSzOfw8;EwOwkMvUPOUy<{d*THQ`hr}!s$REiHsi?GrHP5< zYPhZpy^B?KqkHIFkTXnpLH|EeP!SqYTx#3RuWV0%jns75)^0ADZzR4H2w#`DuqUMJ zzTThI00X4oW?m1rb3L-D2Yn;)8+#$Lf86C3+%1Dp#Yf6%%3M(cCNMtEj7nKpT!$6Z&0Mo)O4JE)ZsFEVPV)E}eD{(ol zuM=L%Y1`*yEd6F0H$A)OkRLqm;&@67Pa6-E{w{`PW7{3MHjNMlyMuW8LlOeaW;P*Q zOB~7)9Gaybce=8?IDL5K!~*tMU5S`6&@W&RXD7aaFL7{I&|sEY;C!0y)^Q3dX~TU{ zDPrCGFXsmq47mM(VwPx=UF<=vgdR{c5~3)T&<`(!&*AdyK1Tg22tF&1aCc|am*Ux) zkr%HAE?ohaL}S%fq@a9k0m@qgv`A&t^L|o69C8_b#W}>$t-auGX4F4|k5?Y?N`>pl zFlXdK%B=U}F>xl^^ceNmOOXLmN1V4I)S5@slD^PHfXaV~QqkqZpvfJKGEiu! zevb$dVx?)VP{-HGOF^sFRMZW3I`tqsHAh;`F^#wn=_?Uxo$Bdp@K;b{Y5ZfUoxLHi zwMs_7aSrFHOGd>%Kn{-DL=X2iR{aLg)(qU_qCSMnID5rFq0uD9*?@TA@oRJfkdTMj93xF>2ncoOi0M7@7)P>HAQFkLsOYg3a7va&G z0UJ(^**|_IUI@5IK4ra8?~{;lD|HTcF;w_GNj;7z`OV-6bNMJ~HJ)SFR!ya4oU4sY z8JSj`f}aL0T>@ZNQ7=BMLEFmZ=s)cj-T#7jv_vSMb79jO2#*?fM6-&f`145hH;E3( zoEVoQ!B{Sier?=uBF9=jEQ))u>b}4;Z_2Ivg*?D8K|wQmmk;+-P@5tRP=tiD048Hb zPNGtNa}(2AOGY3aUah0}BLhra>KN@4qpYlzV;_J(DH)N=q@o8<(CO&|hc(@BuOVcW zgn*J*uNl^IeF7@6FPij3d-)xYzFfZ|B*(bF2A9?i9IOn7-Koja@4l^>6@q>Ds2}o zNkkiuyy_-N^}DHL^VNTm)N|Za5>fSMlG@u%B{^3glGMMym#X(+q*{G7ydsmUvq0IE z>K!-#Eq-;jq;7Om+n72^Qh(;AwlK9wQe$rF?M$61sWmz^wWl@edAE41SYape_|M1= zDXG_S_az>8s=7b8LUjh_a$%p4dj4^$KPYmpISWOCSWCZy8spD9xXshq&Lsa5F)_Gu zHO2obpu6T)sGJV&N)4PGsQRs?*CVyVO}&n(zXp(kYO78azk2p+2D2I^>%ZI&IA_(H zB=s>jbq!O$6K0c9H24~GUe(*AiA&v7 zMtJMt?XmFdplbZN7+vTUV$^+t5`vXNMDU$+ok@@mdwhD~r=7y&mktbX{D(^@@#m1S z2^|DI+B-)Gn^>ps$(Ai3_}9&l${{~cZMYEL4OfXD0#@m}Z$$O`(6aZ=`*+>rYG z7SeDIWM?7kV0AwSeG=zwg1tKnKL03D03#X6?wwL9H7}lfW0ad6jcP4Yw-rdHQqRY zeYAIEe1%%QT6$5gioef}dSFV9-0&JVO^M#GafM+ALJk@Yvl~B{nEVI(g)EmrCC z%NRk_4F^(8{4Ng`;<`)FJuAwCi{u~Q#hZznjbMtJhC`Doy4hz@uM$*+F@Yw=ZPbt8 zHwc^7y?8q(ZXA^L^q1nVu^xY!oc2)+}8ekppoV5;Stq}wbp@IRf65SZQcSnlL zNgT*6S+yN%8X93e2(%Hx7N--wib|EZ6&=Lq?DW_8#VN6lEFe|V1FPBM%W=>r`pI$s z8}8{M#v{lZn4f20M>H@qf3AU3)pG~-!b2}UWZ@wT3e}TirVF zeSdsEsh}*SAeG`pe8R5Z|p$he1y0|&t8_#!SrXJ8q(VxJF>g~I=di$TO zXOu9j^KPb;ag)@F6+e7)^#zg=N~K&|{q*BMMw#MNN~rofQYMf}`H`SW$^!O>zqyN5 z;u^`jL35xn>PejkaFv9#+rU8k_d6jm_6OBnpzg$l*6rCLRd~da$j^1mvW8RaVPOJ# zeUUb28%uxnTtjJgWeD{DI3vvDL7`jvaR5(`@>L}n1T zlU1tCXvdbTE=D5ESOEAL(A~pB@6mghhXkYUbmYa#_QZh8kVxCjYfslqZRIQ!A5 zZqkn-wLm|hTMG*z4_zlDOF?I@uqgt7OQQf_OsZdX6sS@oeL?1qb2HWIIm(ApIT!aB z;TIY^@Wp}@=(nt}Cp2B(;9c<2wT$@;=1;3j>qu2BLtG8F~LnC*?2>?eR-+TaTkhSb5hk@y3K4^Tx zKRK>OjuuM;j)&4m&g7U2k4TJ{`SoY*`9CJgd{eJyj50}04 z{z6&evkyzWO5lORYWFdoMWT6xLQJKKKPou!hhcad*>b4eY~JxHl-{#2%<^(|%-~YQ z2@T6a;i*5ke1?@#604Ov8R0fs5vojvUxMV+ttRde%9Yy+VdXHVzjSy8jFmOJ`6*A| zEvM(T)i1hiKr00}s)z9k+C&2vlR`>dv3CJJ4-+YYQ_P7xdG!;*QS_7y1l( z4bR??I{hgb20Gf0<>S2`$NSwdA79j3>O-N7U`P>tQMb7T3R`4h2?8AZ=?38yIbWQ9 zmj|rAnfXhm3*N|1Ax&UFiGt0wgRQ8wlLcU6~)mwdG8iSDCVtEU8f}yS~G}AlXU@Tga3}I-yONz^hTZnXr>mlL>@)ZJ`rVQl|>}33~?bG1zbXql!ML*4gAh^WG<1dk5;zmrwLc}?Zetuj6-P&_(G-i(;bl)P# zf$xvLEwkT&`^tNbu7EIj5Lb@&`?4P*BFxDeeN~pxc%a`dfC$22wDox84INN#us@0T zd1FWC6tMKJ(t=}=ze9#Om}ZT3;Suc`hG~WudD2)t0^&<-)ejg&>2Uv=^XLuLRktW( zllsx340YBW2a~vp8Kytp=9suSwrVVodK~uLJ~FoII?npxteObFY2!B|_|0caoo^oF zH~_4Q{Wyu|6BvFR|IxjOX;U11Zy+BB8T6sJG=aV|49u;t&` z8IfD!UM9A&;isL%IkIYOn!}QolUNl02(aJO&U$Zm5-*Ow!9*{6ajlbhR{UiqwlQ(K zooLiOjkKWpBi^y`460A{17#Q-1kAvlujb~U`m>u#79!iMjc(d{N!uAz&$?+8JP_j| zs2+6FD7PS9M^M$eY1NX}5mYz1X|p8_d%G@Jj4QFZt4J=&Rdc?kBp^~$00m?Rr%)!j zC{Imr^M**?PV8SKZmS4`YV6QeCPY zlL(B+w{F7#&5fu2l3=c+t%`tXssTmhIddRjOyi&?{2qe&j(w zaC$mQ-R^!zr?!Qel#7}lw)qc~_VPg|zClI5I7hnA&QU{*)ytZc)V6hv2A-$P&rBmoo+~)UUlD44qN7p+iNDZy6CYRNhl4QekWvUue$%DRB0|XO!|c`jjaf) z7bR;xc8UM1C8b?>7$qyA*h{YFjC)RUG{!DA(xpB{p1Gg7<>H3?u5m>R+>ouHuV5R@ zIVjQWlrUR(h@?dhk!))|nuSmmu}QhO-lTYExqV&*qL5K{E}F&nvH5vWWL2sPImse9 zJSo7O5~#R30KalI#?9P^36jj=jAB#VS+0h-nKYJ5CM-YDyr^<@6l)8*%?52VZqOHP z8U?fkmw^9+n@xom0j9LG9uPXaTv-naOkk0{4SuO$ODwU^nSk*4rQbI<(;MRIX1(bq z0)$Ig=+`#f=k2L1$NE^Q@|#2+H|IlTw+BA4!1pDB(jir~SmXA7i?_FTzg7q=P6R^g z6{o-$rvTzBfQI1Tr)1-pA_h3zwC0DupvpLWhPCQANCQJ&+fsliu4|j>S|T4s@5s&s zGq}n({wdFo7iC2LT$%iRHXaZ`D4DMYpmUsGkZt6*$jOnMF68Wg&CPiXIk}S4ft>f; z938X-xp|V?iQJ9px%059Aa|JLD&#(%p8GwWJ6v+xkz1Rddp>fttNmE((F~NqCgfr` z4SkcXKmzsB&Kc5 z=g*XlgmB{WjfMQVbmIvAe0Spl{*2gI&7bo(5`>AfH+uOqcq36D;oCTtKfO0j#gCQg z9*ea5$9OKm>RTZ^sXJdu@eQs`!RjzmuX9r`l+-(!I>SvpQ&Lwjb*!7(S5og~>Nng} zS-Yz5XR6OlrFTcL`XQzs{9~#Q?@Q`Brgpfg^dAXUKgrasZYmXa!Rqx)ec4U@m8AYJ zratMWJ}Id$F}1->r7Kskx{;}i-P9G5`bVbDbyCBTV08;quGA^E=jqKG2BL6c9;9#W zg`JqC{j{g)MQh3i@FPs%1~GG7x`F16#CJEqc#a9&;N{QxI^yQp5^5_kc*6iD`g9o2 z-WyKCo8|cv>7Tgf=(BKk&`ZfbJUKdEN8yN!SHat?|AdyhhlpZn{XfY6fs{zwD~x$Pwx?K^#QBqxHZℜ^Y@5S57~ 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 z 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