From 7192f437e55c9141d8cc72858295d4c5c6556616 Mon Sep 17 00:00:00 2001 From: fengweihao Date: Tue, 5 Nov 2019 11:38:40 +0800 Subject: [PATCH] =?UTF-8?q?*=20=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E4=B8=BACMake=20*=20=E5=88=A0=E9=99=A4C++?= =?UTF-8?q?=E9=80=82=E9=85=8D=E4=BB=A3=E7=A0=81=20*=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 53 + autorevision.sh | 1268 +++++ cmake/Package.cmake | 38 + cmake/PreInstall.in | 1 + cmake/Version.cmake | 45 + common/CMakeLists.txt | 8 + .../json => common/json/include}/arraylist.h | 0 .../json => common/json/include}/bits.h | 0 .../json => common/json/include}/config.h | 0 .../json => common/json/include}/debug.h | 0 .../json => common/json/include}/json.h | 0 .../json/include}/json_c_version.h | 0 .../json/include}/json_checker.h | 0 .../json/include}/json_config.h | 0 .../json/include}/json_inttypes.h | 0 .../json/include}/json_object.h | 0 .../json/include}/json_object_iterator.h | 0 .../json/include}/json_object_private.h | 0 .../json/include}/json_tokener.h | 0 .../json => common/json/include}/json_util.h | 0 .../json => common/json/include}/linkhash.h | 0 .../json/include}/math_compat.h | 0 .../json/include}/parse_flags.h | 0 .../json => common/json/include}/printbuf.h | 0 .../json/include}/random_seed.h | 0 .../json => common/json/src}/arraylist.c | 0 .../json => common/json/src}/debug.c | 0 .../json => common/json/src}/json_c_version.c | 0 .../json => common/json/src}/json_checker.c | 0 .../json => common/json/src}/json_object.c | 0 .../json/src}/json_object_iterator.c | 0 .../json => common/json/src}/json_tokener.c | 0 .../json => common/json/src}/json_util.c | 0 .../json => common/json/src}/libjson.c | 0 .../json => common/json/src}/linkhash.c | 0 .../json => common/json/src}/parse_flags.c | 0 .../json => common/json/src}/printbuf.c | 1 - .../json => common/json/src}/random_seed.c | 0 {src/rt => common/rt/include}/rt_common.h | 4 + {src/rt => common/rt/include}/rt_file.h | 0 {src/rt => common/rt/include}/rt_stdlib.h | 0 {src/rt => common/rt/include}/rt_string.h | 0 {src/rt => common/rt/include}/rt_sync.h | 0 {src/rt => common/rt/include}/rt_time.h | 0 {src/rt => common/rt/include}/rt_tmr.h | 0 src/rt/rt_file.c => common/rt/src/rt_file.cpp | 0 .../rt/src/rt_stdlib.cpp | 0 .../rt/src/rt_string.cpp | 0 src/rt/rt_time.c => common/rt/src/rt_time.cpp | 0 src/rt/rt_tmr.c => common/rt/src/rt_tmr.cpp | 36 +- .../syslogd/include}/logging.h | 6 +- .../syslogd/src/logging.cpp | 8 +- make/application.mk | 32 - make/common.mk | 51 - make/config.mk | 9 - program/CMakeLists.txt | 22 + {src => program/include}/cert_conf.h | 10 +- {src => program/include}/cert_daemon.h | 0 program/include/cert_session.h | 116 + src/cert_conf.c => program/src/cert_conf.cpp | 16 +- .../src/cert_session.cpp | 528 +-- .../src/cert_store.cpp | 88 +- release/ReadMe | 0 {ca => resource/cert}/mesalab-ca-untrust.pem | 0 {ca => resource/cert}/mesalab-ca.pem | 0 .../cert}/tango-ca-v3-trust-ca.pem | 0 .../cert}/tango-ca-v3-untrust-ca.pem | 0 {conf => resource/conf}/cert_store.ini | 2 +- {conf => resource/conf}/pxy_obj_keyring.json | 0 {conf => resource/conf}/table_info.conf | 0 {src => resource}/package/Makefile | 0 {src => resource}/package/r2_certstore | 0 {src => resource}/package/r3_certstore | 0 rule/full/COMPILE.local | 2 - rule/full/GROUP.local | 3 - rule/full/PXY_OBJ_KEYRING.local | 8 - rule/full/index/full_config_index.0000000001 | 3 - rule/inc/COMPILE.local | 2 - rule/inc/GROUP.local | 3 - rule/inc/PXY_OBJ_KEYRING.local | 8 - rule/inc/index/full_config_index.0000000002 | 3 - {src/script => script}/signssl.sh | 0 script/tarball.sh | 41 + {src/script => script}/x509 | Bin src/Makefile | 87 - src/cert_daemon.c | 120 - src/cert_session.h | 56 - src/components/json/json.mk | 45 - src/components/libevent/TFX3C1D.tmp | 0 src/components/libevent/buffer.h | 1076 ----- src/components/libevent/buffer_compat.h | 115 - src/components/libevent/bufferevent.h | 1021 ---- src/components/libevent/bufferevent_compat.h | 100 - src/components/libevent/bufferevent_ssl.h | 134 - src/components/libevent/bufferevent_struct.h | 116 - src/components/libevent/dns.h | 717 --- src/components/libevent/dns_compat.h | 336 -- src/components/libevent/dns_struct.h | 80 - src/components/libevent/evconfig-private.h | 49 - src/components/libevent/event-config.h | 545 --- src/components/libevent/event.h | 1675 ------- src/components/libevent/event_compat.h | 230 - src/components/libevent/event_struct.h | 180 - src/components/libevent/http.h | 1192 ----- src/components/libevent/http_compat.h | 90 - src/components/libevent/http_struct.h | 152 - src/components/libevent/ipv6-internal.h | 83 - src/components/libevent/keyvalq_struct.h | 80 - src/components/libevent/listener.h | 180 - src/components/libevent/log-internal.h | 83 - src/components/libevent/rpc.h | 596 --- src/components/libevent/rpc_compat.h | 61 - src/components/libevent/rpc_struct.h | 100 - src/components/libevent/tag.h | 146 - src/components/libevent/tag_compat.h | 49 - src/components/libevent/thread.h | 253 - src/components/libevent/time-internal.h | 98 - src/components/libevent/util-internal.h | 483 -- src/components/libevent/util.h | 866 ---- src/components/libevent/visibility.h | 50 - src/components/openssl/aes.h | 149 - src/components/openssl/asn1.h | 1419 ------ src/components/openssl/asn1_mac.h | 579 --- src/components/openssl/asn1t.h | 973 ---- src/components/openssl/bio.h | 883 ---- src/components/openssl/blowfish.h | 130 - src/components/openssl/bn.h | 951 ---- src/components/openssl/buffer.h | 125 - src/components/openssl/camellia.h | 132 - src/components/openssl/cast.h | 107 - src/components/openssl/cmac.h | 82 - src/components/openssl/cms.h | 555 --- src/components/openssl/comp.h | 83 - src/components/openssl/conf.h | 267 -- src/components/openssl/conf_api.h | 89 - src/components/openssl/crypto.h | 661 --- src/components/openssl/des.h | 257 - src/components/openssl/des_old.h | 497 -- src/components/openssl/dh.h | 393 -- src/components/openssl/dsa.h | 332 -- src/components/openssl/dso.h | 451 -- src/components/openssl/dtls1.h | 272 -- src/components/openssl/e_os2.h | 328 -- src/components/openssl/ebcdic.h | 26 - src/components/openssl/ec.h | 1282 ----- src/components/openssl/ecdh.h | 134 - src/components/openssl/ecdsa.h | 335 -- src/components/openssl/engine.h | 960 ---- src/components/openssl/err.h | 389 -- src/components/openssl/evp.h | 1536 ------ src/components/openssl/hmac.h | 109 - src/components/openssl/idea.h | 105 - src/components/openssl/krb5_asn.h | 240 - src/components/openssl/kssl.h | 197 - src/components/openssl/lhash.h | 240 - src/components/openssl/md4.h | 119 - src/components/openssl/md5.h | 119 - src/components/openssl/mdc2.h | 94 - src/components/openssl/modes.h | 163 - src/components/openssl/obj_mac.h | 4194 ----------------- src/components/openssl/objects.h | 1143 ----- src/components/openssl/ocsp.h | 637 --- src/components/openssl/opensslconf.h | 270 -- src/components/openssl/opensslv.h | 97 - src/components/openssl/ossl_typ.h | 213 - src/components/openssl/pem.h | 617 --- src/components/openssl/pem2.h | 70 - src/components/openssl/pkcs12.h | 342 -- src/components/openssl/pkcs7.h | 481 -- src/components/openssl/pqueue.h | 99 - src/components/openssl/rand.h | 150 - src/components/openssl/rc2.h | 103 - src/components/openssl/rc4.h | 88 - src/components/openssl/ripemd.h | 105 - src/components/openssl/rsa.h | 664 --- src/components/openssl/safestack.h | 2672 ----------- src/components/openssl/seed.h | 149 - src/components/openssl/sha.h | 214 - src/components/openssl/srp.h | 179 - src/components/openssl/srtp.h | 147 - src/components/openssl/ssl.h | 3163 ------------- src/components/openssl/ssl2.h | 265 -- src/components/openssl/ssl23.h | 84 - src/components/openssl/ssl3.h | 774 --- src/components/openssl/stack.h | 107 - src/components/openssl/symhacks.h | 516 -- src/components/openssl/tls1.h | 810 ---- src/components/openssl/ts.h | 865 ---- src/components/openssl/txt_db.h | 112 - src/components/openssl/ui.h | 415 -- src/components/openssl/ui_compat.h | 88 - src/components/openssl/whrlpool.h | 41 - src/components/openssl/x509.h | 1330 ------ src/components/openssl/x509_vfy.h | 652 --- src/components/openssl/x509v3.h | 1055 ----- src/components/redis/async.h | 130 - src/components/redis/hiredis.h | 199 - src/components/redis/libevent.h | 108 - src/components/redis/rd_lock.c | 257 - src/components/redis/rd_lock.h | 28 - src/components/redis/read.h | 111 - src/components/redis/redis.mk | 40 - src/components/redis/sds.h | 273 -- src/components/syslogd/syslog.mk | 40 - src/inc/MESA_atomic.h | 38 - src/inc/MESA_handle_logger.h | 63 - src/inc/MESA_htable.h | 419 -- src/inc/MESA_list.h | 34 - src/inc/MESA_list_count.h | 31 - src/inc/MESA_list_queue.h | 115 - src/inc/MESA_prof_load.h | 189 - src/inc/MESA_ring_queue.h | 107 - src/inc/Maat_command.h | 167 - src/inc/Maat_rule.h | 289 -- src/inc/field_stat2.h | 68 - src/inc/gram_index_engine.h | 68 - src/inc/inc.mk | 33 - src/inc/moodycamel_field_stat2.cpp | 60 - src/inc/moodycamel_field_stat2.h | 63 - src/inc/moodycamel_maat_rule.cpp | 90 - src/inc/moodycamel_maat_rule.h | 84 - src/inc/stream_fuzzy_hash.h | 78 - src/lib/libMESA_field_stat2.a | Bin 58804 -> 0 bytes src/lib/libMESA_handle_logger.a | Bin 60466 -> 0 bytes src/lib/libMESA_prof_load.a | Bin 30360 -> 0 bytes src/lib/libcrypto.a | Bin 4515104 -> 0 bytes src/lib/libevent.a | Bin 2335416 -> 0 bytes src/lib/libhiredis.a | Bin 507652 -> 0 bytes src/lib/libssl.a | Bin 768048 -> 0 bytes src/rt/rt.mk | 42 - src/script/tarball.sh | 39 - vendor/CMakeLists.txt | 149 + vendor/googletest-release-1.8.0.tar.gz | Bin 0 -> 1281617 bytes vendor/hiredis-v0.14.0.tar.gz | Bin 0 -> 141321 bytes vendor/libevent-2.1.8-stable.tar.gz | Bin 0 -> 1026485 bytes vendor/libuuid-1.0.3.tar.gz | Bin 0 -> 318256 bytes vendor/openssl-1.1.1.tar.gz | Bin 0 -> 11266843 bytes 237 files changed, 2071 insertions(+), 53674 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 autorevision.sh create mode 100644 cmake/Package.cmake create mode 100644 cmake/PreInstall.in create mode 100644 cmake/Version.cmake create mode 100644 common/CMakeLists.txt rename {src/components/json => common/json/include}/arraylist.h (100%) rename {src/components/json => common/json/include}/bits.h (100%) rename {src/components/json => common/json/include}/config.h (100%) rename {src/components/json => common/json/include}/debug.h (100%) rename {src/components/json => common/json/include}/json.h (100%) rename {src/components/json => common/json/include}/json_c_version.h (100%) rename {src/components/json => common/json/include}/json_checker.h (100%) rename {src/components/json => common/json/include}/json_config.h (100%) rename {src/components/json => common/json/include}/json_inttypes.h (100%) rename {src/components/json => common/json/include}/json_object.h (100%) rename {src/components/json => common/json/include}/json_object_iterator.h (100%) rename {src/components/json => common/json/include}/json_object_private.h (100%) rename {src/components/json => common/json/include}/json_tokener.h (100%) rename {src/components/json => common/json/include}/json_util.h (100%) rename {src/components/json => common/json/include}/linkhash.h (100%) rename {src/components/json => common/json/include}/math_compat.h (100%) rename {src/components/json => common/json/include}/parse_flags.h (100%) rename {src/components/json => common/json/include}/printbuf.h (100%) rename {src/components/json => common/json/include}/random_seed.h (100%) rename {src/components/json => common/json/src}/arraylist.c (100%) rename {src/components/json => common/json/src}/debug.c (100%) rename {src/components/json => common/json/src}/json_c_version.c (100%) rename {src/components/json => common/json/src}/json_checker.c (100%) rename {src/components/json => common/json/src}/json_object.c (100%) rename {src/components/json => common/json/src}/json_object_iterator.c (100%) rename {src/components/json => common/json/src}/json_tokener.c (100%) rename {src/components/json => common/json/src}/json_util.c (100%) rename {src/components/json => common/json/src}/libjson.c (100%) rename {src/components/json => common/json/src}/linkhash.c (100%) rename {src/components/json => common/json/src}/parse_flags.c (100%) rename {src/components/json => common/json/src}/printbuf.c (99%) rename {src/components/json => common/json/src}/random_seed.c (100%) rename {src/rt => common/rt/include}/rt_common.h (62%) rename {src/rt => common/rt/include}/rt_file.h (100%) rename {src/rt => common/rt/include}/rt_stdlib.h (100%) rename {src/rt => common/rt/include}/rt_string.h (100%) rename {src/rt => common/rt/include}/rt_sync.h (100%) rename {src/rt => common/rt/include}/rt_time.h (100%) rename {src/rt => common/rt/include}/rt_tmr.h (100%) rename src/rt/rt_file.c => common/rt/src/rt_file.cpp (100%) rename src/rt/rt_stdlib.c => common/rt/src/rt_stdlib.cpp (100%) rename src/rt/rt_string.c => common/rt/src/rt_string.cpp (100%) rename src/rt/rt_time.c => common/rt/src/rt_time.cpp (100%) rename src/rt/rt_tmr.c => common/rt/src/rt_tmr.cpp (86%) rename {src/components/syslogd => common/syslogd/include}/logging.h (90%) rename src/components/syslogd/logging.c => common/syslogd/src/logging.cpp (90%) delete mode 100644 make/application.mk delete mode 100644 make/common.mk delete mode 100644 make/config.mk create mode 100644 program/CMakeLists.txt rename {src => program/include}/cert_conf.h (92%) rename {src => program/include}/cert_daemon.h (100%) create mode 100644 program/include/cert_session.h rename src/cert_conf.c => program/src/cert_conf.cpp (93%) rename src/cert_session.c => program/src/cert_session.cpp (82%) rename src/cert_store.c => program/src/cert_store.cpp (63%) delete mode 100644 release/ReadMe rename {ca => resource/cert}/mesalab-ca-untrust.pem (100%) rename {ca => resource/cert}/mesalab-ca.pem (100%) rename {ca => resource/cert}/tango-ca-v3-trust-ca.pem (100%) rename {ca => resource/cert}/tango-ca-v3-untrust-ca.pem (100%) rename {conf => resource/conf}/cert_store.ini (99%) rename {conf => resource/conf}/pxy_obj_keyring.json (100%) rename {conf => resource/conf}/table_info.conf (100%) rename {src => resource}/package/Makefile (100%) rename {src => resource}/package/r2_certstore (100%) rename {src => resource}/package/r3_certstore (100%) delete mode 100644 rule/full/COMPILE.local delete mode 100644 rule/full/GROUP.local delete mode 100644 rule/full/PXY_OBJ_KEYRING.local delete mode 100644 rule/full/index/full_config_index.0000000001 delete mode 100644 rule/inc/COMPILE.local delete mode 100644 rule/inc/GROUP.local delete mode 100644 rule/inc/PXY_OBJ_KEYRING.local delete mode 100644 rule/inc/index/full_config_index.0000000002 rename {src/script => script}/signssl.sh (100%) create mode 100644 script/tarball.sh rename {src/script => script}/x509 (100%) delete mode 100644 src/Makefile delete mode 100644 src/cert_daemon.c delete mode 100644 src/cert_session.h delete mode 100644 src/components/json/json.mk delete mode 100644 src/components/libevent/TFX3C1D.tmp delete mode 100644 src/components/libevent/buffer.h delete mode 100644 src/components/libevent/buffer_compat.h delete mode 100644 src/components/libevent/bufferevent.h delete mode 100644 src/components/libevent/bufferevent_compat.h delete mode 100644 src/components/libevent/bufferevent_ssl.h delete mode 100644 src/components/libevent/bufferevent_struct.h delete mode 100644 src/components/libevent/dns.h delete mode 100644 src/components/libevent/dns_compat.h delete mode 100644 src/components/libevent/dns_struct.h delete mode 100644 src/components/libevent/evconfig-private.h delete mode 100644 src/components/libevent/event-config.h delete mode 100644 src/components/libevent/event.h delete mode 100644 src/components/libevent/event_compat.h delete mode 100644 src/components/libevent/event_struct.h delete mode 100644 src/components/libevent/http.h delete mode 100644 src/components/libevent/http_compat.h delete mode 100644 src/components/libevent/http_struct.h delete mode 100644 src/components/libevent/ipv6-internal.h delete mode 100644 src/components/libevent/keyvalq_struct.h delete mode 100644 src/components/libevent/listener.h delete mode 100644 src/components/libevent/log-internal.h delete mode 100644 src/components/libevent/rpc.h delete mode 100644 src/components/libevent/rpc_compat.h delete mode 100644 src/components/libevent/rpc_struct.h delete mode 100644 src/components/libevent/tag.h delete mode 100644 src/components/libevent/tag_compat.h delete mode 100644 src/components/libevent/thread.h delete mode 100644 src/components/libevent/time-internal.h delete mode 100644 src/components/libevent/util-internal.h delete mode 100644 src/components/libevent/util.h delete mode 100644 src/components/libevent/visibility.h delete mode 100644 src/components/openssl/aes.h delete mode 100644 src/components/openssl/asn1.h delete mode 100644 src/components/openssl/asn1_mac.h delete mode 100644 src/components/openssl/asn1t.h delete mode 100644 src/components/openssl/bio.h delete mode 100644 src/components/openssl/blowfish.h delete mode 100644 src/components/openssl/bn.h delete mode 100644 src/components/openssl/buffer.h delete mode 100644 src/components/openssl/camellia.h delete mode 100644 src/components/openssl/cast.h delete mode 100644 src/components/openssl/cmac.h delete mode 100644 src/components/openssl/cms.h delete mode 100644 src/components/openssl/comp.h delete mode 100644 src/components/openssl/conf.h delete mode 100644 src/components/openssl/conf_api.h delete mode 100644 src/components/openssl/crypto.h delete mode 100644 src/components/openssl/des.h delete mode 100644 src/components/openssl/des_old.h delete mode 100644 src/components/openssl/dh.h delete mode 100644 src/components/openssl/dsa.h delete mode 100644 src/components/openssl/dso.h delete mode 100644 src/components/openssl/dtls1.h delete mode 100644 src/components/openssl/e_os2.h delete mode 100644 src/components/openssl/ebcdic.h delete mode 100644 src/components/openssl/ec.h delete mode 100644 src/components/openssl/ecdh.h delete mode 100644 src/components/openssl/ecdsa.h delete mode 100644 src/components/openssl/engine.h delete mode 100644 src/components/openssl/err.h delete mode 100644 src/components/openssl/evp.h delete mode 100644 src/components/openssl/hmac.h delete mode 100644 src/components/openssl/idea.h delete mode 100644 src/components/openssl/krb5_asn.h delete mode 100644 src/components/openssl/kssl.h delete mode 100644 src/components/openssl/lhash.h delete mode 100644 src/components/openssl/md4.h delete mode 100644 src/components/openssl/md5.h delete mode 100644 src/components/openssl/mdc2.h delete mode 100644 src/components/openssl/modes.h delete mode 100644 src/components/openssl/obj_mac.h delete mode 100644 src/components/openssl/objects.h delete mode 100644 src/components/openssl/ocsp.h delete mode 100644 src/components/openssl/opensslconf.h delete mode 100644 src/components/openssl/opensslv.h delete mode 100644 src/components/openssl/ossl_typ.h delete mode 100644 src/components/openssl/pem.h delete mode 100644 src/components/openssl/pem2.h delete mode 100644 src/components/openssl/pkcs12.h delete mode 100644 src/components/openssl/pkcs7.h delete mode 100644 src/components/openssl/pqueue.h delete mode 100644 src/components/openssl/rand.h delete mode 100644 src/components/openssl/rc2.h delete mode 100644 src/components/openssl/rc4.h delete mode 100644 src/components/openssl/ripemd.h delete mode 100644 src/components/openssl/rsa.h delete mode 100644 src/components/openssl/safestack.h delete mode 100644 src/components/openssl/seed.h delete mode 100644 src/components/openssl/sha.h delete mode 100644 src/components/openssl/srp.h delete mode 100644 src/components/openssl/srtp.h delete mode 100644 src/components/openssl/ssl.h delete mode 100644 src/components/openssl/ssl2.h delete mode 100644 src/components/openssl/ssl23.h delete mode 100644 src/components/openssl/ssl3.h delete mode 100644 src/components/openssl/stack.h delete mode 100644 src/components/openssl/symhacks.h delete mode 100644 src/components/openssl/tls1.h delete mode 100644 src/components/openssl/ts.h delete mode 100644 src/components/openssl/txt_db.h delete mode 100644 src/components/openssl/ui.h delete mode 100644 src/components/openssl/ui_compat.h delete mode 100644 src/components/openssl/whrlpool.h delete mode 100644 src/components/openssl/x509.h delete mode 100644 src/components/openssl/x509_vfy.h delete mode 100644 src/components/openssl/x509v3.h delete mode 100644 src/components/redis/async.h delete mode 100644 src/components/redis/hiredis.h delete mode 100644 src/components/redis/libevent.h delete mode 100644 src/components/redis/rd_lock.c delete mode 100644 src/components/redis/rd_lock.h delete mode 100644 src/components/redis/read.h delete mode 100644 src/components/redis/redis.mk delete mode 100644 src/components/redis/sds.h delete mode 100644 src/components/syslogd/syslog.mk delete mode 100644 src/inc/MESA_atomic.h delete mode 100644 src/inc/MESA_handle_logger.h delete mode 100644 src/inc/MESA_htable.h delete mode 100644 src/inc/MESA_list.h delete mode 100644 src/inc/MESA_list_count.h delete mode 100644 src/inc/MESA_list_queue.h delete mode 100644 src/inc/MESA_prof_load.h delete mode 100644 src/inc/MESA_ring_queue.h delete mode 100644 src/inc/Maat_command.h delete mode 100644 src/inc/Maat_rule.h delete mode 100644 src/inc/field_stat2.h delete mode 100644 src/inc/gram_index_engine.h delete mode 100644 src/inc/inc.mk delete mode 100644 src/inc/moodycamel_field_stat2.cpp delete mode 100644 src/inc/moodycamel_field_stat2.h delete mode 100644 src/inc/moodycamel_maat_rule.cpp delete mode 100644 src/inc/moodycamel_maat_rule.h delete mode 100644 src/inc/stream_fuzzy_hash.h delete mode 100644 src/lib/libMESA_field_stat2.a delete mode 100644 src/lib/libMESA_handle_logger.a delete mode 100644 src/lib/libMESA_prof_load.a delete mode 100644 src/lib/libcrypto.a delete mode 100644 src/lib/libevent.a delete mode 100644 src/lib/libhiredis.a delete mode 100644 src/lib/libssl.a delete mode 100644 src/rt/rt.mk delete mode 100644 src/script/tarball.sh create mode 100644 vendor/CMakeLists.txt create mode 100644 vendor/googletest-release-1.8.0.tar.gz create mode 100644 vendor/hiredis-v0.14.0.tar.gz create mode 100644 vendor/libevent-2.1.8-stable.tar.gz create mode 100644 vendor/libuuid-1.0.3.tar.gz create mode 100644 vendor/openssl-1.1.1.tar.gz diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..b209c2e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,53 @@ +cmake_minimum_required(VERSION 3.5) +project(certstore) + +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +set(CMAKE_SCRIPT_PATH ${PROJECT_SOURCE_DIR}/script) +include(Version) +include(Package) + +add_definitions(-D_GNU_SOURCE) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_C_STANDARD 11) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebInfo) +endif() + +if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set (CMAKE_INSTALL_PREFIX "/home/tsg/certstore" CACHE PATH "default install path" FORCE ) +endif() + +# Global compile options +option(ENABLE_PIC "Generate position independent code (necessary for shared libraries)" TRUE) +option(ENABLE_WARNING_ALL "Enable all optional warnings which are desirable for normal code" TRUE) +option(ENABLE_SANITIZE_ADDRESS "Enable AddressSanitizer" FALSE) +option(ENABLE_SANITIZE_THREAD "Enable ThreadSanitizer" FALSE) + +if(ENABLE_WARNING_ALL) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") +endif() + +if(ENABLE_SANITIZE_ADDRESS) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan") +elseif(ENABLE_SANITIZE_THREAD) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread -fno-omit-frame-pointer") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan") +endif() + +if(ENABLE_SANITIZE_ADDRESS AND ENABLE_SANITIZE_THREAD) + message(WARNING "Both ENABLE_SANITIZE_ADDRESS and ENABLE_SANITIZE_THREAD set, only ENABLE_SANITIZE_ADDRESS effected.") +endif() + +add_custom_target("install-program" COMMAND ${CMAKE_COMMAND} ARGS -DCOMPONENT=Program -P cmake_install.cmake) +add_custom_target("install-profile" COMMAND ${CMAKE_COMMAND} ARGS -DCOMPONENT=Profile -P cmake_install.cmake) +add_custom_target("tarball" COMMAND sh ${CMAKE_SCRIPT_PATH}/tarball.sh ${TARGET_DESCRIBE}) + +enable_testing() +add_subdirectory(vendor) +add_subdirectory(common) +add_subdirectory(program) diff --git a/autorevision.sh b/autorevision.sh new file mode 100644 index 0000000..3baa179 --- /dev/null +++ b/autorevision.sh @@ -0,0 +1,1268 @@ +#!/bin/sh + +# Copyright (c) 2012 - 2016 dak180 and contributors. See +# https://opensource.org/licenses/mit-license.php or the included +# COPYING.md for licence terms. +# +# autorevision - extracts metadata about the head version from your +# repository. + +# Usage message. +arUsage() { + cat > "/dev/stderr" << EOF +usage: autorevision {-t output-type | -s symbol} [-o cache-file [-f] ] [-V] + Options include: + -t output-type = specify output type + -s symbol = specify symbol output + -o cache-file = specify cache file location + -f = force the use of cache data + -U = check for untracked files in svn + -V = emit version and exit + -? = help message + +The following are valid output types: + clojure = clojure file + c = C/C++ file + h = Header for use with c/c++ + hpp = Alternate C++ header strings with namespace + ini = INI file + java = Java file + javaprop = Java properties file + js = javascript file + json = JSON file + lua = Lua file + m4 = m4 file + matlab = matlab file + octave = octave file + php = PHP file + pl = Perl file + py = Python file + rpm = rpm file + scheme = scheme file + sh = Bash sytax + swift = Swift file + tex = (La)TeX file + xcode = Header useful for populating info.plist files + cmake = CMake file + + +The following are valid symbols: + VCS_TYPE + VCS_BASENAME + VCS_UUID + VCS_NUM + VCS_DATE + VCS_BRANCH + VCS_TAG + VCS_TICK + VCS_EXTRA + VCS_FULL_HASH + VCS_SHORT_HASH + VCS_WC_MODIFIED + VCS_ACTION_STAMP +EOF + exit 1 +} + +# Config +ARVERSION="&&ARVERSION&&" +TARGETFILE="/dev/stdout" +while getopts ":t:o:s:VfU" OPTION; do + case "${OPTION}" in + t) + AFILETYPE="${OPTARG}" + ;; + o) + CACHEFILE="${OPTARG}" + ;; + f) + CACHEFORCE="1" + ;; + s) + VAROUT="${OPTARG}" + ;; + U) + UNTRACKEDFILES="1" + ;; + V) + echo "autorevision ${ARVERSION}" + exit 0 + ;; + ?) + # If an unknown flag is used (or -?): + arUsage + ;; + esac +done + +if [ ! -z "${VAROUT}" ] && [ ! -z "${AFILETYPE}" ]; then + # If both -s and -t are specified: + echo "error: Improper argument combination." 1>&2 + exit 1 +elif [ -z "${VAROUT}" ] && [ -z "${AFILETYPE}" ]; then + # If neither -s or -t are specified: + arUsage +elif [ -z "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then + # If -f is specified without -o: + arUsage +elif [ ! -f "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then + # If we are forced to use the cache but it does not exist. + echo "error: Cache forced but no cache found." 1>&2 + exit 1 +fi + +# Make sure that the path we are given is one we can source +# (dash, we are looking at you). +if [ ! -z "${CACHEFILE}" ] && ! echo "${CACHEFILE}" | grep -q '^\.*/'; then + CACHEFILE="./${CACHEFILE}" +fi + +GENERATED_HEADER="Generated by autorevision - do not hand-hack!" + +# Functions to extract data from different repo types. +# For git repos +# shellcheck disable=SC2039,SC2164,SC2155 +gitRepo() { + local oldPath="${PWD}" + + cd "$(git rev-parse --show-toplevel)" + + VCS_TYPE="git" + + VCS_BASENAME="$(basename "${PWD}")" + + VCS_UUID="$(git rev-list --max-parents=0 --date-order --reverse HEAD 2>/dev/null | sed -n 1p)" + if [ -z "${VCS_UUID}" ]; then + VCS_UUID="$(git rev-list --topo-order HEAD | tail -n 1)" + fi + + # Is the working copy clean? + test -z "$(git status --untracked-files=normal --porcelain)" + VCS_WC_MODIFIED="${?}" + + # Enumeration of changesets + VCS_NUM="$(git rev-list --count HEAD 2>/dev/null)" + if [ -z "${VCS_NUM}" ]; then + echo "warning: Counting the number of revisions may be slower due to an outdated git version less than 1.7.2.3. If something breaks, please update it." 1>&2 + VCS_NUM="$(git rev-list HEAD | wc -l)" + fi + + # This may be a git-svn remote. If so, report the Subversion revision. + if [ -z "$(git config svn-remote.svn.url 2>/dev/null)" ]; then + # The full revision hash + VCS_FULL_HASH="$(git rev-parse HEAD)" + + # The short hash + VCS_SHORT_HASH="$(echo "${VCS_FULL_HASH}" | cut -b 1-7)" + else + # The git-svn revision number + VCS_FULL_HASH="$(git svn find-rev HEAD)" + VCS_SHORT_HASH="${VCS_FULL_HASH}" + fi + + # Current branch + VCS_BRANCH="$(git rev-parse --symbolic-full-name --verify "$(git name-rev --name-only --no-undefined HEAD 2>/dev/null)" 2>/dev/null | sed -e 's:refs/heads/::' | sed -e 's:refs/::')" + + # Cache the description + local DESCRIPTION="$(git describe --long --tags 2>/dev/null)" + + # Current or last tag ancestor (empty if no tags) + VCS_TAG="$(echo "${DESCRIPTION}" | sed -e "s:-g${VCS_SHORT_HASH}\$::" -e 's:-[0-9]*$::')" + + # Distance to last tag or an alias of VCS_NUM if there is no tag + if [ ! -z "${DESCRIPTION}" ]; then + VCS_TICK="$(echo "${DESCRIPTION}" | sed -e "s:${VCS_TAG}-::" -e "s:-g${VCS_SHORT_HASH}::")" + else + VCS_TICK="${VCS_NUM}" + fi + + # Date of the current commit + VCS_DATE="$(TZ=UTC git show -s --date=iso-strict-local --pretty=format:%ad | sed -e 's|+00:00|Z|')" + if [ -z "${VCS_DATE}" ]; then + echo "warning: Action stamps require git version 2.7+." 1>&2 + VCS_DATE="$(git log -1 --pretty=format:%ci | sed -e 's: :T:' -e 's: ::' -e 's|+00:00|Z|')" + local ASdis="1" + fi + + # Action Stamp + if [ -z "${ASdis}" ]; then + VCS_ACTION_STAMP="${VCS_DATE}!$(git show -s --pretty=format:%cE)" + else + VCS_ACTION_STAMP="" + fi + + cd "${oldPath}" +} + +# For hg repos +# shellcheck disable=SC2039,SC2164 +hgRepo() { + local oldPath="${PWD}" + + cd "$(hg root)" + + VCS_TYPE="hg" + + VCS_BASENAME="$(basename "${PWD}")" + + VCS_UUID="$(hg log -r "0" -l 1 --template '{node}\n')" + + # Is the working copy clean? + test -z "$(hg status -duram)" + VCS_WC_MODIFIED="${?}" + + # Enumeration of changesets + VCS_NUM="$(hg id -n | tr -d '+')" + + # The full revision hash + VCS_FULL_HASH="$(hg log -r "${VCS_NUM}" -l 1 --template '{node}\n')" + + # The short hash + VCS_SHORT_HASH="$(hg id -i | tr -d '+')" + + # Current bookmark (bookmarks are roughly equivalent to git's branches) + # or branch if no bookmark + VCS_BRANCH="$(hg id -B | cut -d ' ' -f 1)" + # Fall back to the branch if there are no bookmarks + if [ -z "${VCS_BRANCH}" ]; then + VCS_BRANCH="$(hg id -b)" + fi + + # Current or last tag ancestor (excluding auto tags, empty if no tags) + VCS_TAG="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttag}\n' 2>/dev/null | sed -e 's:qtip::' -e 's:tip::' -e 's:qbase::' -e 's:qparent::' -e "s:$(hg --config 'extensions.color=' --config 'extensions.mq=' --color never qtop 2>/dev/null)::" | cut -d ' ' -f 1)" + + # Distance to last tag or an alias of VCS_NUM if there is no tag + if [ ! -z "${VCS_TAG}" ]; then + VCS_TICK="$(hg log -r "${VCS_NUM}" -l 1 --template '{latesttagdistance}\n' 2>/dev/null)" + else + VCS_TICK="${VCS_NUM}" + fi + + # Date of the current commit + VCS_DATE="$(hg log -r "${VCS_NUM}" -l 1 --template '{date|isodatesec}\n' 2>/dev/null | sed -e 's: :T:' -e 's: ::' -e 's|+00:00|Z|')" + + # Action Stamp + VCS_ACTION_STAMP="$(TZ=UTC hg log -r "${VCS_NUM}" -l 1 --template '{date|localdate|rfc3339date}\n' 2>/dev/null | sed -e 's|+00:00|Z|')!$(hg log -r "${VCS_NUM}" -l 1 --template '{author|email}\n' 2>/dev/null)" + + cd "${oldPath}" +} + +# For bzr repos +# shellcheck disable=SC2039,SC2164 +bzrRepo() { + local oldPath="${PWD}" + + cd "$(bzr root)" + + VCS_TYPE="bzr" + + VCS_BASENAME="$(basename "${PWD}")" + + # Currently unimplemented because more investigation is needed. + VCS_UUID="" + + # Is the working copy clean? + bzr version-info --custom --template='{clean}\n' | grep -q '1' + VCS_WC_MODIFIED="${?}" + + # Enumeration of changesets + VCS_NUM="$(bzr revno)" + + # The full revision hash + VCS_FULL_HASH="$(bzr version-info --custom --template='{revision_id}\n')" + + # The short hash + VCS_SHORT_HASH="${VCS_NUM}" + + # Nick of the current branch + VCS_BRANCH="$(bzr nick)" + + # Current or last tag ancestor (excluding auto tags, empty if no tags) + VCS_TAG="$(bzr tags --sort=time | sed '/?$/d' | tail -n1 | cut -d ' ' -f1)" + + # Distance to last tag or an alias of VCS_NUM if there is no tag + if [ ! -z "${VCS_TAG}" ]; then + VCS_TICK="$(bzr log --line -r "tag:${VCS_TAG}.." | tail -n +2 | wc -l | sed -e 's:^ *::')" + else + VCS_TICK="${VCS_NUM}" + fi + + # Date of the current commit + VCS_DATE="$(bzr version-info --custom --template='{date}\n' | sed -e 's: :T:' -e 's: ::')" + + # Action Stamp + # Currently unimplemented because more investigation is needed. + VCS_ACTION_STAMP="" + + cd "${oldPath}" +} + +# For svn repos +# shellcheck disable=SC2039,SC2164,SC2155 +svnRepo() { + local oldPath="${PWD}" + + VCS_TYPE="svn" + + case "${PWD}" in + /*trunk*|/*branches*|/*tags*) + local fn="${PWD}" + while [ "$(basename "${fn}")" != 'trunk' ] && [ "$(basename "${fn}")" != 'branches' ] && [ "$(basename "${fn}")" != 'tags' ] && [ "$(basename "${fn}")" != '/' ]; do + local fn="$(dirname "${fn}")" + done + local fn="$(dirname "${fn}")" + if [ "${fn}" = '/' ]; then + VCS_BASENAME="$(basename "${PWD}")" + else + VCS_BASENAME="$(basename "${fn}")" + fi + ;; + *) VCS_BASENAME="$(basename "${PWD}")" ;; + esac + + VCS_UUID="$(svn info --xml | sed -n -e 's:::' -e 's:::p')" + + # Cache svnversion output + local SVNVERSION="$(svnversion)" + + # Is the working copy clean? + echo "${SVNVERSION}" | grep -q "M" + case "${?}" in + 0) + VCS_WC_MODIFIED="1" + ;; + 1) + if [ ! -z "${UNTRACKEDFILES}" ]; then + # `svnversion` does not detect untracked files and `svn status` is really slow, so only run it if we really have to. + if [ -z "$(svn status)" ]; then + VCS_WC_MODIFIED="0" + else + VCS_WC_MODIFIED="1" + fi + else + VCS_WC_MODIFIED="0" + fi + ;; + esac + + # Enumeration of changesets + VCS_NUM="$(echo "${SVNVERSION}" | cut -d : -f 1 | sed -e 's:M::' -e 's:S::' -e 's:P::')" + + # The full revision hash + VCS_FULL_HASH="${SVNVERSION}" + + # The short hash + VCS_SHORT_HASH="${VCS_NUM}" + + # Current branch + case "${PWD}" in + /*trunk*|/*branches*|/*tags*) + local lastbase="" + local fn="${PWD}" + while : + do + base="$(basename "${fn}")" + if [ "${base}" = 'trunk' ]; then + VCS_BRANCH='trunk' + break + elif [ "${base}" = 'branches' ] || [ "${base}" = 'tags' ]; then + VCS_BRANCH="${lastbase}" + break + elif [ "${base}" = '/' ]; then + VCS_BRANCH="" + break + fi + local lastbase="${base}" + local fn="$(dirname "${fn}")" + done + ;; + *) VCS_BRANCH="" ;; + esac + + # Current or last tag ancestor (empty if no tags). But "current + # tag" can't be extracted reliably because Subversion doesn't + # have tags the way other VCSes do. + VCS_TAG="" + VCS_TICK="" + + # Date of the current commit + VCS_DATE="$(svn info --xml | sed -n -e 's:::' -e 's:::p')" + + # Action Stamp + VCS_ACTION_STAMP="${VCS_DATE}!$(svn log --xml -l 1 -r "${VCS_SHORT_HASH}" | sed -n -e 's:::' -e 's:::p')" + + cd "${oldPath}" +} + + +# Functions to output data in different formats. +# For bash output +shOutput() { + cat > "${TARGETFILE}" << EOF +# ${GENERATED_HEADER} + +VCS_TYPE="${VCS_TYPE}" +VCS_BASENAME="${VCS_BASENAME}" +VCS_UUID="${VCS_UUID}" +VCS_NUM="${VCS_NUM}" +VCS_DATE="${VCS_DATE}" +VCS_BRANCH="${VCS_BRANCH}" +VCS_TAG="${VCS_TAG}" +VCS_TICK="${VCS_TICK}" +VCS_EXTRA="${VCS_EXTRA}" + +VCS_ACTION_STAMP="${VCS_ACTION_STAMP}" +VCS_FULL_HASH="${VCS_FULL_HASH}" +VCS_SHORT_HASH="${VCS_SHORT_HASH}" + +VCS_WC_MODIFIED="${VCS_WC_MODIFIED}" + +# end +EOF +} + +# For source C output +cOutput() { + cat > "${TARGETFILE}" << EOF +/* ${GENERATED_HEADER} */ + +const char *VCS_TYPE = "${VCS_TYPE}"; +const char *VCS_BASENAME = "${VCS_BASENAME}"; +const char *VCS_UUID = "${VCS_UUID}"; +const int VCS_NUM = ${VCS_NUM}; +const char *VCS_DATE = "${VCS_DATE}"; +const char *VCS_BRANCH = "${VCS_BRANCH}"; +const char *VCS_TAG = "${VCS_TAG}"; +const int VCS_TICK = ${VCS_TICK}; +const char *VCS_EXTRA = "${VCS_EXTRA}"; + +const char *VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}"; +const char *VCS_FULL_HASH = "${VCS_FULL_HASH}"; +const char *VCS_SHORT_HASH = "${VCS_SHORT_HASH}"; + +const int VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; + +/* end */ +EOF +} + +# For header output +hOutput() { + cat > "${TARGETFILE}" << EOF +/* ${GENERATED_HEADER} */ +#ifndef AUTOREVISION_H +#define AUTOREVISION_H + +#define VCS_TYPE "${VCS_TYPE}" +#define VCS_BASENAME "${VCS_BASENAME}" +#define VCS_UUID "${VCS_UUID}" +#define VCS_NUM ${VCS_NUM} +#define VCS_DATE "${VCS_DATE}" +#define VCS_BRANCH "${VCS_BRANCH}" +#define VCS_TAG "${VCS_TAG}" +#define VCS_TICK ${VCS_TICK} +#define VCS_EXTRA "${VCS_EXTRA}" + +#define VCS_ACTION_STAMP "${VCS_ACTION_STAMP}" +#define VCS_FULL_HASH "${VCS_FULL_HASH}" +#define VCS_SHORT_HASH "${VCS_SHORT_HASH}" + +#define VCS_WC_MODIFIED ${VCS_WC_MODIFIED} + +#endif + +/* end */ +EOF +} + +# A header output for use with xcode to populate info.plist strings +xcodeOutput() { + cat > "${TARGETFILE}" << EOF +/* ${GENERATED_HEADER} */ +#ifndef AUTOREVISION_H +#define AUTOREVISION_H + +#define VCS_TYPE ${VCS_TYPE} +#define VCS_BASENAME ${VCS_BASENAME} +#define VCS_UUID ${VCS_UUID} +#define VCS_NUM ${VCS_NUM} +#define VCS_DATE ${VCS_DATE} +#define VCS_BRANCH ${VCS_BRANCH} +#define VCS_TAG ${VCS_TAG} +#define VCS_TICK ${VCS_TICK} +#define VCS_EXTRA ${VCS_EXTRA} + +#define VCS_ACTION_STAMP ${VCS_ACTION_STAMP} +#define VCS_FULL_HASH ${VCS_FULL_HASH} +#define VCS_SHORT_HASH ${VCS_SHORT_HASH} + +#define VCS_WC_MODIFIED ${VCS_WC_MODIFIED} + +#endif + +/* end */ +EOF +} + +# For Swift output +swiftOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="false" ;; + 1) VCS_WC_MODIFIED="true" ;; + esac + # For values that may not exist depending on the type of repo we + # have read from, set them to `nil` when they are empty. + if [ -z "${VCS_UUID}" ]; then + VCS_UUID="nil" + else + VCS_UUID="\"${VCS_UUID}\"" + fi + if [ -z "${VCS_TAG}" ]; then + VCS_TAG="nil" + else + VCS_TAG="\"${VCS_TAG}\"" + fi + : "${VCS_TICK:="nil"}" + if [ -z "${VCS_EXTRA}" ]; then + VCS_EXTRA="nil" + else + VCS_EXTRA="\"${VCS_EXTRA}\"" + fi + if [ -z "${VCS_ACTION_STAMP}" ]; then + VCS_ACTION_STAMP="nil" + else + VCS_ACTION_STAMP="\"${VCS_ACTION_STAMP}\"" + fi + cat > "${TARGETFILE}" << EOF +/* ${GENERATED_HEADER} */ + +let VCS_TYPE = "${VCS_TYPE}" +let VCS_BASENAME = "${VCS_BASENAME}" +let VCS_UUID: String? = ${VCS_UUID} +let VCS_NUM: Int = ${VCS_NUM} +let VCS_DATE = "${VCS_DATE}" +let VCS_BRANCH: String = "${VCS_BRANCH}" +let VCS_TAG: String? = ${VCS_TAG} +let VCS_TICK: Int? = ${VCS_TICK} +let VCS_EXTRA: String? = ${VCS_EXTRA} + +let VCS_ACTION_STAMP: String? = ${VCS_ACTION_STAMP} +let VCS_FULL_HASH: String = "${VCS_FULL_HASH}" +let VCS_SHORT_HASH: String = "${VCS_SHORT_HASH}" + +let VCS_WC_MODIFIED: Bool = ${VCS_WC_MODIFIED} + +/* end */ +EOF +} + +# For Python output +pyOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="False" ;; + 1) VCS_WC_MODIFIED="True" ;; + esac + cat > "${TARGETFILE}" << EOF +# ${GENERATED_HEADER} + +VCS_TYPE = "${VCS_TYPE}" +VCS_BASENAME = "${VCS_BASENAME}" +VCS_UUID = "${VCS_UUID}" +VCS_NUM = ${VCS_NUM} +VCS_DATE = "${VCS_DATE}" +VCS_BRANCH = "${VCS_BRANCH}" +VCS_TAG = "${VCS_TAG}" +VCS_TICK = ${VCS_TICK} +VCS_EXTRA = "${VCS_EXTRA}" + +VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}" +VCS_FULL_HASH = "${VCS_FULL_HASH}" +VCS_SHORT_HASH = "${VCS_SHORT_HASH}" + +VCS_WC_MODIFIED = ${VCS_WC_MODIFIED} + +# end +EOF +} + +# For Perl output +plOutput() { + cat << EOF +# ${GENERATED_HEADER} + +\$VCS_TYPE = '${VCS_TYPE}'; +\$VCS_BASENAME = '${VCS_BASENAME}'; +\$VCS_UUID = '${VCS_UUID}'; +\$VCS_NUM = ${VCS_NUM}; +\$VCS_DATE = '${VCS_DATE}'; +\$VCS_BRANCH = '${VCS_BRANCH}'; +\$VCS_TAG = '${VCS_TAG}'; +\$VCS_TICK = ${VCS_TICK}; +\$VCS_EXTRA = '${VCS_EXTRA}'; + +\$VCS_ACTION_STAMP = '${VCS_ACTION_STAMP}'; +\$VCS_FULL_HASH = '${VCS_FULL_HASH}'; +\$VCS_SHORT_HASH = '${VCS_SHORT_HASH}'; + +\$VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; + +# end +1; +EOF +} + +# For lua output +luaOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="false" ;; + 1) VCS_WC_MODIFIED="true" ;; + esac + cat > "${TARGETFILE}" << EOF +-- ${GENERATED_HEADER} + +VCS_TYPE = "${VCS_TYPE}" +VCS_BASENAME = "${VCS_BASENAME}" +VCS_UUID = "${VCS_UUID}" +VCS_NUM = ${VCS_NUM} +VCS_DATE = "${VCS_DATE}" +VCS_BRANCH = "${VCS_BRANCH}" +VCS_TAG = "${VCS_TAG}" +VCS_TICK = ${VCS_TICK} +VCS_EXTRA = "${VCS_EXTRA}" + +VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}" +VCS_FULL_HASH = "${VCS_FULL_HASH}" +VCS_SHORT_HASH = "${VCS_SHORT_HASH}" + +VCS_WC_MODIFIED = ${VCS_WC_MODIFIED} + +-- end +EOF +} + +# For php output +phpOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="false" ;; + 1) VCS_WC_MODIFIED="true" ;; + esac + cat > "${TARGETFILE}" << EOF + "${VCS_TYPE}", + "VCS_BASENAME" => "${VCS_BASENAME}", + "VCS_UUID" => "${VCS_UUID}", + "VCS_NUM" => ${VCS_NUM}, + "VCS_DATE" => "${VCS_DATE}", + "VCS_BRANCH" => "${VCS_BRANCH}", + "VCS_TAG" => "${VCS_TAG}", + "VCS_TICK" => ${VCS_TICK}, + "VCS_EXTRA" => "${VCS_EXTRA}", + "VCS_ACTION_STAMP" => "${VCS_ACTION_STAMP}", + "VCS_FULL_HASH" => "${VCS_FULL_HASH}", + "VCS_SHORT_HASH" => "${VCS_SHORT_HASH}", + "VCS_WC_MODIFIED" => ${VCS_WC_MODIFIED} +); + +# end +?> +EOF +} + +# For ini output +iniOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="false" ;; + 1) VCS_WC_MODIFIED="true" ;; + esac + cat > "${TARGETFILE}" << EOF +; ${GENERATED_HEADER} +[VCS] +VCS_TYPE = "${VCS_TYPE}" +VCS_BASENAME = "${VCS_BASENAME}" +VCS_UUID = "${VCS_UUID}" +VCS_NUM = ${VCS_NUM} +VCS_DATE = "${VCS_DATE}" +VCS_BRANCH = "${VCS_BRANCH}" +VCS_TAG = "${VCS_TAG}" +VCS_TICK = ${VCS_TICK} +VCS_EXTRA = "${VCS_EXTRA}" +VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}" +VCS_FULL_HASH = "${VCS_FULL_HASH}" +VCS_SHORT_HASH = "${VCS_SHORT_HASH}" +VCS_WC_MODIFIED = ${VCS_WC_MODIFIED} +; end +EOF +} + +# For javascript output +jsOutput() { + case "${VCS_WC_MODIFIED}" in + 1) VCS_WC_MODIFIED="true" ;; + 0) VCS_WC_MODIFIED="false" ;; + esac + cat > "${TARGETFILE}" << EOF +/** ${GENERATED_HEADER} */ + +var autorevision = { + VCS_TYPE: "${VCS_TYPE}", + VCS_BASENAME: "${VCS_BASENAME}", + VCS_UUID: "${VCS_UUID}", + VCS_NUM: ${VCS_NUM}, + VCS_DATE: "${VCS_DATE}", + VCS_BRANCH: "${VCS_BRANCH}", + VCS_TAG: "${VCS_TAG}", + VCS_TICK: ${VCS_TICK}, + VCS_EXTRA: "${VCS_EXTRA}", + + VCS_ACTION_STAMP: "${VCS_ACTION_STAMP}", + VCS_FULL_HASH: "${VCS_FULL_HASH}", + VCS_SHORT_HASH: "${VCS_SHORT_HASH}", + + VCS_WC_MODIFIED: ${VCS_WC_MODIFIED} +}; + +/** Node.js compatibility */ +if (typeof module !== 'undefined') { + module.exports = autorevision; +} + +/** end */ +EOF +} + +# For JSON output +jsonOutput() { + case "${VCS_WC_MODIFIED}" in + 1) VCS_WC_MODIFIED="true" ;; + 0) VCS_WC_MODIFIED="false" ;; + esac + cat > "${TARGETFILE}" << EOF +{ + "_comment": "${GENERATED_HEADER}", + "VCS_TYPE": "${VCS_TYPE}", + "VCS_BASENAME": "${VCS_BASENAME}", + "VCS_UUID": "${VCS_UUID}", + "VCS_NUM": ${VCS_NUM}, + "VCS_DATE": "${VCS_DATE}", + "VCS_BRANCH":"${VCS_BRANCH}", + "VCS_TAG": "${VCS_TAG}", + "VCS_TICK": ${VCS_TICK}, + "VCS_EXTRA": "${VCS_EXTRA}", + + "VCS_ACTION_STAMP": "${VCS_ACTION_STAMP}", + "VCS_FULL_HASH": "${VCS_FULL_HASH}", + "VCS_SHORT_HASH": "${VCS_SHORT_HASH}", + + "VCS_WC_MODIFIED": ${VCS_WC_MODIFIED} +} +EOF +} + +# For Java output +javaOutput() { + case "${VCS_WC_MODIFIED}" in + 1) VCS_WC_MODIFIED="true" ;; + 0) VCS_WC_MODIFIED="false" ;; + esac + cat > "${TARGETFILE}" << EOF +/* ${GENERATED_HEADER} */ + +public class autorevision { + public static final String VCS_TYPE = "${VCS_TYPE}"; + public static final String VCS_BASENAME = "${VCS_BASENAME}"; + public static final String VCS_UUID = "${VCS_UUID}"; + public static final long VCS_NUM = ${VCS_NUM}; + public static final String VCS_DATE = "${VCS_DATE}"; + public static final String VCS_BRANCH = "${VCS_BRANCH}"; + public static final String VCS_TAG = "${VCS_TAG}"; + public static final long VCS_TICK = ${VCS_TICK}; + public static final String VCS_EXTRA = "${VCS_EXTRA}"; + + public static final String VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}"; + public static final String VCS_FULL_HASH = "${VCS_FULL_HASH}"; + public static final String VCS_SHORT_HASH = "${VCS_SHORT_HASH}"; + + public static final boolean VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; +} +EOF +} + +# For Java properties output +javapropOutput() { + case "${VCS_WC_MODIFIED}" in + 1) VCS_WC_MODIFIED="true" ;; + 0) VCS_WC_MODIFIED="false" ;; + esac + cat > "${TARGETFILE}" << EOF +# ${GENERATED_HEADER} + +VCS_TYPE=${VCS_TYPE} +VCS_BASENAME=${VCS_BASENAME} +VCS_UUID=${VCS_UUID} +VCS_NUM=${VCS_NUM} +VCS_DATE=${VCS_DATE} +VCS_BRANCH=${VCS_BRANCH} +VCS_TAG=${VCS_TAG} +VCS_TICK=${VCS_TICK} +VCS_EXTRA=${VCS_EXTRA} + +VCS_ACTION_STAMP=${VCS_ACTION_STAMP} +VCS_FULL_HASH=${VCS_FULL_HASH} +VCS_SHORT_HASH=${VCS_SHORT_HASH} + +VCS_WC_MODIFIED=${VCS_WC_MODIFIED} +EOF +} + +# For m4 output +m4Output() { + cat > "${TARGETFILE}" << EOF +dnl ${GENERATED_HEADER} +define(\`VCS_TYPE', \`${VCS_TYPE}')dnl +define(\`VCS_BASENAME', \`${VCS_BASENAME}')dnl +define(\`VCS_UUID', \`${VCS_UUID}')dnl +define(\`VCS_NUM', \`${VCS_NUM}')dnl +define(\`VCS_DATE', \`${VCS_DATE}')dnl +define(\`VCS_BRANCH', \`${VCS_BRANCH}')dnl +define(\`VCS_TAG', \`${VCS_TAG}')dnl +define(\`VCS_TICK', \`${VCS_TICK}')dnl +define(\`VCS_EXTRA', \`${VCS_EXTRA}')dnl +define(\`VCS_ACTIONSTAMP', \`${VCS_ACTION_STAMP}')dnl +define(\`VCS_FULLHASH', \`${VCS_FULL_HASH}')dnl +define(\`VCS_SHORTHASH', \`${VCS_SHORT_HASH}')dnl +define(\`VCS_WC_MODIFIED', \`${VCS_WC_MODIFIED}')dnl +EOF +} + +# For (La)TeX output +texOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="false" ;; + 1) VCS_WC_MODIFIED="true" ;; + esac + cat > "${TARGETFILE}" << EOF +% ${GENERATED_HEADER} +\def \vcsType {${VCS_TYPE}} +\def \vcsBasename {${VCS_BASENAME}} +\def \vcsUUID {${VCS_UUID}} +\def \vcsNum {${VCS_NUM}} +\def \vcsDate {${VCS_DATE}} +\def \vcsBranch {${VCS_BRANCH}} +\def \vcsTag {${VCS_TAG}} +\def \vcsTick {${VCS_TICK}} +\def \vcsExtra {${VCS_EXTRA}} +\def \vcsACTIONSTAMP {${VCS_ACTION_STAMP}} +\def \vcsFullHash {${VCS_FULL_HASH}} +\def \vcsShortHash {${VCS_SHORT_HASH}} +\def \vcsWCModified {${VCS_WC_MODIFIED}} +\endinput +EOF +} + +# For scheme output +schemeOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="#f" ;; + 1) VCS_WC_MODIFIED="#t" ;; + esac + cat > "${TARGETFILE}" << EOF +;; ${GENERATED_HEADER} +(define VCS_TYPE "${VCS_TYPE}") +(define VCS_BASENAME "${VCS_BASENAME}") +(define VCS_UUID "${VCS_UUID}") +(define VCS_NUM ${VCS_NUM}) +(define VCS_DATE "${VCS_DATE}") +(define VCS_BRANCH "${VCS_BRANCH}") +(define VCS_TAG "${VCS_TAG}") +(define VCS_TICK ${VCS_TICK}) +(define VCS_EXTRA "${VCS_EXTRA}") + +(define VCS_ACTION_STAMP "${VCS_ACTION_STAMP}") +(define VCS_FULL_HASH "${VCS_FULL_HASH}") +(define VCS_SHORT_HASH "${VCS_SHORT_HASH}") + +(define VCS_WC_MODIFIED ${VCS_WC_MODIFIED}) +;; end +EOF +} + +# For clojure output +clojureOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="false" ;; + 1) VCS_WC_MODIFIED="true" ;; + esac + cat > "${TARGETFILE}" << EOF +;; ${GENERATED_HEADER} +(def VCS_TYPE "${VCS_TYPE}") +(def VCS_BASENAME "${VCS_BASENAME}") +(def VCS_UUID "${VCS_UUID}") +(def VCS_NUM ${VCS_NUM}) +(def VCS_DATE "${VCS_DATE}") +(def VCS_BRANCH "${VCS_BRANCH}") +(def VCS_TAG "${VCS_TAG}") +(def VCS_TICK ${VCS_TICK}) +(def VCS_EXTRA "${VCS_EXTRA}") + +(def VCS_ACTION_STAMP "${VCS_ACTION_STAMP}") +(def VCS_FULL_HASH "${VCS_FULL_HASH}") +(def VCS_SHORT_HASH "${VCS_SHORT_HASH}") + +(def VCS_WC_MODIFIED ${VCS_WC_MODIFIED}) +;; end +EOF +} + +# For rpm spec file output +rpmOutput() { + cat > "${TARGETFILE}" << EOF +# ${GENERATED_HEADER} +$([ "${VCS_TYPE}" ] && echo "%define vcs_type ${VCS_TYPE}") +$([ "${VCS_BASENAME}" ] && echo "%define vcs_basename ${VCS_BASENAME}") +$([ "${VCS_UUID}" ] && echo "%define vcs_uuid ${VCS_UUID}") +$([ "${VCS_NUM}" ] && echo "%define vcs_num ${VCS_NUM}") +$([ "${VCS_DATE}" ] && echo "%define vcs_date ${VCS_DATE}") +$([ "${VCS_BRANCH}" ] && echo "%define vcs_branch ${VCS_BRANCH}") +$([ "${VCS_TAG}" ] && echo "%define vcs_tag ${VCS_TAG}") +$([ "${VCS_TICK}" ] && echo "%define vcs_tick ${VCS_TICK}") +$([ "${VCS_EXTRA}" ] && echo "%define vcs_extra ${VCS_EXTRA}") + +$([ "${VCS_ACTION_STAMP}" ] && echo "%define vcs_action_stamp ${VCS_ACTION_STAMP}") +$([ "${VCS_FULL_HASH}" ] && echo "%define vcs_full_hash ${VCS_FULL_HASH}") +$([ "${VCS_SHORT_HASH}" ] && echo "%define vcs_short_hash ${VCS_SHORT_HASH}") + +$([ "${VCS_WC_MODIFIED}" ] && echo "%define vcs_wc_modified ${VCS_WC_MODIFIED}") +# end +EOF +} + +# shellcheck disable=SC2155,SC2039 +hppOutput() { + local NAMESPACE="$(echo "${VCS_BASENAME}" | sed -e 's:_::g' | tr '[:lower:]' '[:upper:]')" + cat > "${TARGETFILE}" << EOF +/* ${GENERATED_HEADER} */ + +#ifndef ${NAMESPACE}_AUTOREVISION_H +#define ${NAMESPACE}_AUTOREVISION_H + +#include + +namespace $(echo "${NAMESPACE}" | tr '[:upper:]' '[:lower:]') +{ + const std::string VCS_TYPE = "${VCS_TYPE}"; + const std::string VCS_BASENAME = "${VCS_BASENAME}"; + const std::string VCS_UUID = "${VCS_UUID}"; + const int VCS_NUM = ${VCS_NUM}; + const std::string VCS_DATE = "${VCS_DATE}"; + const std::string VCS_BRANCH = "${VCS_BRANCH}"; + const std::string VCS_TAG = "${VCS_TAG}"; + const int VCS_TICK = ${VCS_TICK}; + const std::string VCS_EXTRA = "${VCS_EXTRA}"; + + const std::string VCS_ACTION_STAMP = "${VCS_ACTION_STAMP}"; + const std::string VCS_FULL_HASH = "${VCS_FULL_HASH}"; + const std::string VCS_SHORT_HASH = "${VCS_SHORT_HASH}"; + + const int VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; +} + +#endif + +/* end */ +EOF +} + +matlabOutput() { + case "${VCS_WC_MODIFIED}" in + 0) VCS_WC_MODIFIED="FALSE" ;; + 1) VCS_WC_MODIFIED="TRUE" ;; + esac + cat > "${TARGETFILE}" << EOF +% ${GENERATED_HEADER} + +VCS_TYPE = '${VCS_TYPE}'; +VCS_BASENAME = '${VCS_BASENAME}'; +VCS_UUID = '${VCS_UUID}'; +VCS_NUM = ${VCS_NUM}; +VCS_DATE = '${VCS_DATE}'; +VCS_BRANCH = '${VCS_BRANCH}'; +VCS_TAG = '${VCS_TAG}'; +VCS_TICK = ${VCS_TICK}; +VCS_EXTRA = '${VCS_EXTRA}'; + +VCS_ACTION_STAMP = '${VCS_ACTION_STAMP}'; +VCS_FULL_HASH = '${VCS_FULL_HASH}'; +VCS_SHORT_HASH = '${VCS_SHORT_HASH}'; + +VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; + +% end +EOF +} + +octaveOutput() { + cat > "${TARGETFILE}" << EOF +% ${GENERATED_HEADER} + +VCS_TYPE = '${VCS_TYPE}'; +VCS_BASENAME = '${VCS_BASENAME}'; +VCS_UUID = '${VCS_UUID}'; +VCS_NUM = ${VCS_NUM}; +VCS_DATE = '${VCS_DATE}'; +VCS_BRANCH = '${VCS_BRANCH}'; +VCS_TAG = '${VCS_TAG}'; +VCS_TICK = ${VCS_TICK}; +VCS_EXTRA = '${VCS_EXTRA}'; + +VCS_ACTION_STAMP = '${VCS_ACTION_STAMP}'; +VCS_FULL_HASH = '${VCS_FULL_HASH}'; +VCS_SHORT_HASH = '${VCS_SHORT_HASH}'; + +VCS_WC_MODIFIED = ${VCS_WC_MODIFIED}; + +% end +EOF +} + +cmakeOutput() { + cat > "${TARGETFILE}" << EOF +# ${GENERATED_HEADER} + +set(VCS_TYPE ${VCS_TYPE}) +set(VCS_BASENAME ${VCS_BASENAME}) +set(VCS_UUID ${VCS_UUID}) +set(VCS_NUM ${VCS_NUM}) +set(VCS_DATE ${VCS_DATE}) +set(VCS_BRANCH ${VCS_BRANCH}) +set(VCS_TAG ${VCS_TAG}) +set(VCS_TICK ${VCS_TICK}) +set(VCS_EXTRA ${VCS_EXTRA}) + +set(VCS_ACTION_STAMP ${VCS_ACTION_STAMP}) +set(VCS_FULL_HASH ${VCS_FULL_HASH}) +set(VCS_SHORT_HASH ${VCS_SHORT_HASH}) + +set(VCS_WC_MODIFIED ${VCS_WC_MODIFIED}) + +# end +EOF +} + + +# Helper functions +# Count path segments +# shellcheck disable=SC2039 +pathSegment() { + local pathz="${1}" + local depth="0" + + if [ ! -z "${pathz}" ]; then + # Continue until we are at / or there are no path separators left. + while [ ! "${pathz}" = "/" ] && [ ! "${pathz}" = "$(echo "${pathz}" | sed -e 's:/::')" ]; do + pathz="$(dirname "${pathz}")" + depth="$((depth+1))" + done + fi + echo "${depth}" +} + +# Largest of four numbers +# shellcheck disable=SC2039 +multiCompare() { + local larger="${1}" + local numA="${2}" + local numB="${3}" + local numC="${4}" + + [ "${numA}" -gt "${larger}" ] && larger="${numA}" + [ "${numB}" -gt "${larger}" ] && larger="${numB}" + [ "${numC}" -gt "${larger}" ] && larger="${numC}" + echo "${larger}" +} + +# Test for repositories +# shellcheck disable=SC2155,SC2039 +repoTest() { + REPONUM="0" + if [ ! -z "$(git rev-parse HEAD 2>/dev/null)" ]; then + local gitPath="$(git rev-parse --show-toplevel)" + local gitDepth="$(pathSegment "${gitPath}")" + REPONUM="$((REPONUM+1))" + else + local gitDepth="0" + fi + if [ ! -z "$(hg root 2>/dev/null)" ]; then + local hgPath="$(hg root 2>/dev/null)" + local hgDepth="$(pathSegment "${hgPath}")" + REPONUM="$((REPONUM+1))" + else + local hgDepth="0" + fi + if [ ! -z "$(bzr root 2>/dev/null)" ]; then + local bzrPath="$(bzr root 2>/dev/null)" + local bzrDepth="$(pathSegment "${bzrPath}")" + REPONUM="$((REPONUM+1))" + else + local bzrDepth="0" + fi + if [ ! -z "$(svn info 2>/dev/null)" ]; then + local stringz="" + local stringx="" + local svnPath="$(svn info --xml | sed -n -e "s:${stringz}::" -e "s:${stringx}::p")" + # An old enough svn will not be able give us a path; default + # to 1 for that case. + if [ -z "${svnPath}" ]; then + local svnDepth="1" + else + local svnDepth="$(pathSegment "${svnPath}")" + fi + REPONUM="$((REPONUM+1))" + else + local svnDepth="0" + fi + + # Do not do more work then we have to. + if [ "${REPONUM}" = "0" ]; then + return + fi + + # Figure out which repo is the deepest and use it. + local wonRepo="$(multiCompare "${gitDepth}" "${hgDepth}" "${bzrDepth}" "${svnDepth}")" + if [ "${wonRepo}" = "${gitDepth}" ]; then + gitRepo + elif [ "${wonRepo}" = "${hgDepth}" ]; then + hgRepo + elif [ "${wonRepo}" = "${bzrDepth}" ]; then + bzrRepo + elif [ "${wonRepo}" = "${svnDepth}" ]; then + svnRepo + fi +} + + + +# Detect which repos we are in and gather data. +# shellcheck source=/dev/null +if [ -f "${CACHEFILE}" ] && [ "${CACHEFORCE}" = "1" ]; then + # When requested only read from the cache to populate our symbols. + . "${CACHEFILE}" +else + # If a value is not set through the environment set VCS_EXTRA to nothing. + : "${VCS_EXTRA:=""}" + repoTest + + if [ -f "${CACHEFILE}" ] && [ "${REPONUM}" = "0" ]; then + # We are not in a repo; try to use a previously generated cache to populate our symbols. + . "${CACHEFILE}" + # Do not overwrite the cache if we know we are not going to write anything new. + CACHEFORCE="1" + elif [ "${REPONUM}" = "0" ]; then + echo "error: No repo or cache detected." 1>&2 + exit 1 + fi +fi + + +# -s output is handled here. +if [ ! -z "${VAROUT}" ]; then + if [ "${VAROUT}" = "VCS_TYPE" ]; then + echo "${VCS_TYPE}" + elif [ "${VAROUT}" = "VCS_BASENAME" ]; then + echo "${VCS_BASENAME}" + elif [ "${VAROUT}" = "VCS_NUM" ]; then + echo "${VCS_NUM}" + elif [ "${VAROUT}" = "VCS_DATE" ]; then + echo "${VCS_DATE}" + elif [ "${VAROUT}" = "VCS_BRANCH" ]; then + echo "${VCS_BRANCH}" + elif [ "${VAROUT}" = "VCS_TAG" ]; then + echo "${VCS_TAG}" + elif [ "${VAROUT}" = "VCS_TICK" ]; then + echo "${VCS_TICK}" + elif [ "${VAROUT}" = "VCS_FULL_HASH" ]; then + echo "${VCS_FULL_HASH}" + elif [ "${VAROUT}" = "VCS_SHORT_HASH" ]; then + echo "${VCS_SHORT_HASH}" + elif [ "${VAROUT}" = "VCS_WC_MODIFIED" ]; then + echo "${VCS_WC_MODIFIED}" + elif [ "${VAROUT}" = "VCS_ACTION_STAMP" ]; then + echo "${VCS_ACTION_STAMP}" + else + echo "error: Not a valid output symbol." 1>&2 + exit 1 + fi +fi + + +# Detect requested output type and use it. +if [ ! -z "${AFILETYPE}" ]; then + if [ "${AFILETYPE}" = "c" ]; then + cOutput + elif [ "${AFILETYPE}" = "h" ]; then + hOutput + elif [ "${AFILETYPE}" = "xcode" ]; then + xcodeOutput + elif [ "${AFILETYPE}" = "swift" ]; then + swiftOutput + elif [ "${AFILETYPE}" = "sh" ]; then + shOutput + elif [ "${AFILETYPE}" = "py" ] || [ "${AFILETYPE}" = "python" ]; then + pyOutput + elif [ "${AFILETYPE}" = "pl" ] || [ "${AFILETYPE}" = "perl" ]; then + plOutput + elif [ "${AFILETYPE}" = "lua" ]; then + luaOutput + elif [ "${AFILETYPE}" = "php" ]; then + phpOutput + elif [ "${AFILETYPE}" = "ini" ]; then + iniOutput + elif [ "${AFILETYPE}" = "js" ]; then + jsOutput + elif [ "${AFILETYPE}" = "json" ]; then + jsonOutput + elif [ "${AFILETYPE}" = "java" ]; then + javaOutput + elif [ "${AFILETYPE}" = "javaprop" ]; then + javapropOutput + elif [ "${AFILETYPE}" = "tex" ]; then + texOutput + elif [ "${AFILETYPE}" = "m4" ]; then + m4Output + elif [ "${AFILETYPE}" = "scheme" ]; then + schemeOutput + elif [ "${AFILETYPE}" = "clojure" ]; then + clojureOutput + elif [ "${AFILETYPE}" = "rpm" ]; then + rpmOutput + elif [ "${AFILETYPE}" = "hpp" ]; then + hppOutput + elif [ "${AFILETYPE}" = "matlab" ]; then + matlabOutput + elif [ "${AFILETYPE}" = "octave" ]; then + octaveOutput + elif [ "${AFILETYPE}" = "cmake" ]; then + cmakeOutput + else + echo "error: Not a valid output type." 1>&2 + exit 1 + fi +fi + + +# If requested, make a cache file. +if [ ! -z "${CACHEFILE}" ] && [ ! "${CACHEFORCE}" = "1" ]; then + TARGETFILE="${CACHEFILE}.tmp" + shOutput + + # Check to see if there have been any actual changes. + if [ ! -f "${CACHEFILE}" ]; then + mv -f "${CACHEFILE}.tmp" "${CACHEFILE}" + elif cmp -s "${CACHEFILE}.tmp" "${CACHEFILE}"; then + rm -f "${CACHEFILE}.tmp" + else + mv -f "${CACHEFILE}.tmp" "${CACHEFILE}" + fi +fi diff --git a/cmake/Package.cmake b/cmake/Package.cmake new file mode 100644 index 0000000..910ba97 --- /dev/null +++ b/cmake/Package.cmake @@ -0,0 +1,38 @@ +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CPACK_PACKAGE_NAME "certostre-debug") +else() + set(CPACK_PACKAGE_NAME "certostre") +endif() + +message(STATUS "Package: ${CPACK_PACKAGE_NAME}") + +set(CPACK_PACKAGE_VENDOR "MESASOFT") +set(CPACK_PACKAGE_VERSION_MAJOR "${TARGET_MAJOR}") +set(CPACK_PACKAGE_VERSION_MINOR "${TARGET_MINOR}") +set(CPACK_PACKAGE_VERSION_PATCH "${TARGET_PATCH}.${TARGET_DESCRIBE}") +set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) + +# RPM Build +set(CPACK_GENERATOR "RPM") +set(CPACK_RPM_AUTO_GENERATED_FILE_NAME ON) +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") +set(CPACK_RPM_PACKAGE_AUTOREQPROV "no") +set(CPACK_RPM_PACKAGE_RELEASE_DIST on) +set(CPACK_RPM_DEBUGINFO_PACKAGE on) +set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PreInstall.in) +#set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in) +#set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostUninstall.in) +#set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PreUninstall.in) + +# Must uninstall the debug package before install release package +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CPACK_RPM_PACKAGE_CONFLICTS "certostre") +else() + set(CPACK_RPM_PACKAGE_CONFLICTS "certostre-debug") +endif() + +# setup %config(noreplace) +set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/cert_store.ini" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/table_info.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/pxy_obj_keyring.json") +include(CPack) diff --git a/cmake/PreInstall.in b/cmake/PreInstall.in new file mode 100644 index 0000000..1c27cc9 --- /dev/null +++ b/cmake/PreInstall.in @@ -0,0 +1 @@ +systemctl stop sapp \ No newline at end of file diff --git a/cmake/Version.cmake b/cmake/Version.cmake new file mode 100644 index 0000000..ad6931f --- /dev/null +++ b/cmake/Version.cmake @@ -0,0 +1,45 @@ + +# Using autorevision.sh to generate version information + +set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/autorevision.sh) +set(__AUTORESIVISION ${CMAKE_BINARY_DIR}/autorevision.sh) +set(__VERSION_CACHE ${CMAKE_SOURCE_DIR}/version.txt) +set(__VERSION_CONFIG ${CMAKE_BINARY_DIR}/version.cmake) + +file(COPY ${__SOURCE_AUTORESIVISION} DESTINATION ${CMAKE_BINARY_DIR} + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE) + +# execute autorevision.sh to generate version information +execute_process(COMMAND ${__AUTORESIVISION} -t cmake -o ${__VERSION_CACHE} OUTPUT_FILE ${__VERSION_CONFIG}) +include(${__VERSION_CONFIG}) + +# extract major, minor, patch version from git tag +message(STATUS "Before, Version: ${VCS_TAG}") +string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" TARGET_MAJOR "${VCS_TAG}") +string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" TARGET_MINOR "${VCS_TAG}") +string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" TARGET_PATCH "${VCS_TAG}") + +if(NOT TARGET_MAJOR) + set(TARGET_MAJOR 1) +endif() + +if(NOT TARGET_MINOR) + set(TARGET_MINOR 0) +endif() + +if(NOT TARGET_PATCH) + set(TARGET_PATCH 0) +endif() + +set(TARGET_DESCRIBE "${VCS_SHORT_HASH}") +set(TARGET_VERSION "${TARGET_MAJOR}.${TARGET_MINOR}.${TARGET_PATCH}-${TARGET_DESCRIBE}") +set(TARGET_GIT_VERSION "${TARGET_MAJOR}.${TARGET_MINOR}.${TARGET_PATCH}-${TARGET_DESCRIBE}") + +# Replace .- with _ +string(REGEX REPLACE "[\\.\\-]" "_" TARGET_VAR_VERSION "${TARGET_GIT_VERSION}") + +# print information +message(STATUS "Welcome to Certstore, Version: ${TARGET_VERSION}") +add_definitions(-DTARGET_GIT_VERSION=\"${TARGET_GIT_VERSION}\") +add_definitions(-DTARGET_VAR_VERSION=${TARGET_VAR_VERSION}) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt new file mode 100644 index 0000000..30fc243 --- /dev/null +++ b/common/CMakeLists.txt @@ -0,0 +1,8 @@ +add_library(common syslogd/src/logging.cpp json/src/arraylist.c json/src/debug.c json/src/json_c_version.c + json/src/json_object.c json/src/json_object_iterator.c json/src/json_tokener.c + json/src/json_util.c json/src/libjson.c json/src/linkhash.c + json/src/parse_flags.c json/src/printbuf.c json/src/json_checker.c json/src/random_seed.c + rt/src/rt_file.cpp rt/src/rt_stdlib.cpp rt/src/rt_string.cpp rt/src/rt_tmr.cpp rt/src/rt_time.cpp) + +target_include_directories(common PUBLIC syslogd/include json/include rt/include) +target_link_libraries(common PUBLIC rt MESA_handle_logger) diff --git a/src/components/json/arraylist.h b/common/json/include/arraylist.h similarity index 100% rename from src/components/json/arraylist.h rename to common/json/include/arraylist.h diff --git a/src/components/json/bits.h b/common/json/include/bits.h similarity index 100% rename from src/components/json/bits.h rename to common/json/include/bits.h diff --git a/src/components/json/config.h b/common/json/include/config.h similarity index 100% rename from src/components/json/config.h rename to common/json/include/config.h diff --git a/src/components/json/debug.h b/common/json/include/debug.h similarity index 100% rename from src/components/json/debug.h rename to common/json/include/debug.h diff --git a/src/components/json/json.h b/common/json/include/json.h similarity index 100% rename from src/components/json/json.h rename to common/json/include/json.h diff --git a/src/components/json/json_c_version.h b/common/json/include/json_c_version.h similarity index 100% rename from src/components/json/json_c_version.h rename to common/json/include/json_c_version.h diff --git a/src/components/json/json_checker.h b/common/json/include/json_checker.h similarity index 100% rename from src/components/json/json_checker.h rename to common/json/include/json_checker.h diff --git a/src/components/json/json_config.h b/common/json/include/json_config.h similarity index 100% rename from src/components/json/json_config.h rename to common/json/include/json_config.h diff --git a/src/components/json/json_inttypes.h b/common/json/include/json_inttypes.h similarity index 100% rename from src/components/json/json_inttypes.h rename to common/json/include/json_inttypes.h diff --git a/src/components/json/json_object.h b/common/json/include/json_object.h similarity index 100% rename from src/components/json/json_object.h rename to common/json/include/json_object.h diff --git a/src/components/json/json_object_iterator.h b/common/json/include/json_object_iterator.h similarity index 100% rename from src/components/json/json_object_iterator.h rename to common/json/include/json_object_iterator.h diff --git a/src/components/json/json_object_private.h b/common/json/include/json_object_private.h similarity index 100% rename from src/components/json/json_object_private.h rename to common/json/include/json_object_private.h diff --git a/src/components/json/json_tokener.h b/common/json/include/json_tokener.h similarity index 100% rename from src/components/json/json_tokener.h rename to common/json/include/json_tokener.h diff --git a/src/components/json/json_util.h b/common/json/include/json_util.h similarity index 100% rename from src/components/json/json_util.h rename to common/json/include/json_util.h diff --git a/src/components/json/linkhash.h b/common/json/include/linkhash.h similarity index 100% rename from src/components/json/linkhash.h rename to common/json/include/linkhash.h diff --git a/src/components/json/math_compat.h b/common/json/include/math_compat.h similarity index 100% rename from src/components/json/math_compat.h rename to common/json/include/math_compat.h diff --git a/src/components/json/parse_flags.h b/common/json/include/parse_flags.h similarity index 100% rename from src/components/json/parse_flags.h rename to common/json/include/parse_flags.h diff --git a/src/components/json/printbuf.h b/common/json/include/printbuf.h similarity index 100% rename from src/components/json/printbuf.h rename to common/json/include/printbuf.h diff --git a/src/components/json/random_seed.h b/common/json/include/random_seed.h similarity index 100% rename from src/components/json/random_seed.h rename to common/json/include/random_seed.h diff --git a/src/components/json/arraylist.c b/common/json/src/arraylist.c similarity index 100% rename from src/components/json/arraylist.c rename to common/json/src/arraylist.c diff --git a/src/components/json/debug.c b/common/json/src/debug.c similarity index 100% rename from src/components/json/debug.c rename to common/json/src/debug.c diff --git a/src/components/json/json_c_version.c b/common/json/src/json_c_version.c similarity index 100% rename from src/components/json/json_c_version.c rename to common/json/src/json_c_version.c diff --git a/src/components/json/json_checker.c b/common/json/src/json_checker.c similarity index 100% rename from src/components/json/json_checker.c rename to common/json/src/json_checker.c diff --git a/src/components/json/json_object.c b/common/json/src/json_object.c similarity index 100% rename from src/components/json/json_object.c rename to common/json/src/json_object.c diff --git a/src/components/json/json_object_iterator.c b/common/json/src/json_object_iterator.c similarity index 100% rename from src/components/json/json_object_iterator.c rename to common/json/src/json_object_iterator.c diff --git a/src/components/json/json_tokener.c b/common/json/src/json_tokener.c similarity index 100% rename from src/components/json/json_tokener.c rename to common/json/src/json_tokener.c diff --git a/src/components/json/json_util.c b/common/json/src/json_util.c similarity index 100% rename from src/components/json/json_util.c rename to common/json/src/json_util.c diff --git a/src/components/json/libjson.c b/common/json/src/libjson.c similarity index 100% rename from src/components/json/libjson.c rename to common/json/src/libjson.c diff --git a/src/components/json/linkhash.c b/common/json/src/linkhash.c similarity index 100% rename from src/components/json/linkhash.c rename to common/json/src/linkhash.c diff --git a/src/components/json/parse_flags.c b/common/json/src/parse_flags.c similarity index 100% rename from src/components/json/parse_flags.c rename to common/json/src/parse_flags.c diff --git a/src/components/json/printbuf.c b/common/json/src/printbuf.c similarity index 99% rename from src/components/json/printbuf.c rename to common/json/src/printbuf.c index fcef381..75c1439 100644 --- a/src/components/json/printbuf.c +++ b/common/json/src/printbuf.c @@ -14,7 +14,6 @@ */ #include "config.h" -#define _GNU_SOURCE #include #include #include diff --git a/src/components/json/random_seed.c b/common/json/src/random_seed.c similarity index 100% rename from src/components/json/random_seed.c rename to common/json/src/random_seed.c diff --git a/src/rt/rt_common.h b/common/rt/include/rt_common.h similarity index 62% rename from src/rt/rt_common.h rename to common/rt/include/rt_common.h index 058c43e..8df8766 100644 --- a/src/rt/rt_common.h +++ b/common/rt/include/rt_common.h @@ -16,4 +16,8 @@ #define __rt_always_inline__ __attribute__((always_inline)) inline +#define CHECK_OR_EXIT(condition, fmt, ...) \ +do { if(!(condition)) { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, fmt, ##__VA_ARGS__); exit(EXIT_FAILURE); } } while(0) \ + + #endif diff --git a/src/rt/rt_file.h b/common/rt/include/rt_file.h similarity index 100% rename from src/rt/rt_file.h rename to common/rt/include/rt_file.h diff --git a/src/rt/rt_stdlib.h b/common/rt/include/rt_stdlib.h similarity index 100% rename from src/rt/rt_stdlib.h rename to common/rt/include/rt_stdlib.h diff --git a/src/rt/rt_string.h b/common/rt/include/rt_string.h similarity index 100% rename from src/rt/rt_string.h rename to common/rt/include/rt_string.h diff --git a/src/rt/rt_sync.h b/common/rt/include/rt_sync.h similarity index 100% rename from src/rt/rt_sync.h rename to common/rt/include/rt_sync.h diff --git a/src/rt/rt_time.h b/common/rt/include/rt_time.h similarity index 100% rename from src/rt/rt_time.h rename to common/rt/include/rt_time.h diff --git a/src/rt/rt_tmr.h b/common/rt/include/rt_tmr.h similarity index 100% rename from src/rt/rt_tmr.h rename to common/rt/include/rt_tmr.h diff --git a/src/rt/rt_file.c b/common/rt/src/rt_file.cpp similarity index 100% rename from src/rt/rt_file.c rename to common/rt/src/rt_file.cpp diff --git a/src/rt/rt_stdlib.c b/common/rt/src/rt_stdlib.cpp similarity index 100% rename from src/rt/rt_stdlib.c rename to common/rt/src/rt_stdlib.cpp diff --git a/src/rt/rt_string.c b/common/rt/src/rt_string.cpp similarity index 100% rename from src/rt/rt_string.c rename to common/rt/src/rt_string.cpp diff --git a/src/rt/rt_time.c b/common/rt/src/rt_time.cpp similarity index 100% rename from src/rt/rt_time.c rename to common/rt/src/rt_time.cpp diff --git a/src/rt/rt_tmr.c b/common/rt/src/rt_tmr.cpp similarity index 86% rename from src/rt/rt_tmr.c rename to common/rt/src/rt_tmr.cpp index e47a5e2..958408b 100644 --- a/src/rt/rt_tmr.c +++ b/common/rt/src/rt_tmr.cpp @@ -26,6 +26,16 @@ enum { FORBIDDEN }; +enum tmr_type{ + TMR_PERIODIC, + TMR_ASHOT +}; + +enum tmr_status{ + TMR_STOPPED, + TMR_STARTED +}; + struct tmr_task{ rt_pthread pid; @@ -34,7 +44,7 @@ struct tmr_task{ void * (*routine)(void *); }; -struct timer_t{ +struct rt_timer_t{ #define TMR_INVALID -1 @@ -51,9 +61,9 @@ struct timer_t{ int64_t curr_ticks; - enum {TMR_PERIODIC, TMR_ASHOT} type; + enum tmr_type type; - enum {TMR_STOPPED, TMR_STARTED} status; + enum tmr_status status; void (*routine)(uint32_t uid, int argc, char **argv); @@ -64,13 +74,13 @@ struct timer_t{ int recycle; }; -struct timer_t *_this; +struct rt_timer_t *_this; static volatile atomic64_t g_sys_cur_ticks = ATOMIC_INIT(0); -struct timer_t * +struct rt_timer_t * tmr_set(uint32_t uid, - void (*proc)(struct timer_t *t)) + void (*proc)(struct rt_timer_t *t)) { uid = uid; @@ -80,12 +90,12 @@ tmr_set(uint32_t uid, return _this; } -static void tmr_enable(struct timer_t *t) +static void tmr_enable(struct rt_timer_t *t) { t->status = TMR_STARTED; } -static void tmr_disable(struct timer_t *t) +static void tmr_disable(struct rt_timer_t *t) { t->status = TMR_STOPPED; } @@ -100,7 +110,7 @@ void tmr_stop(uint32_t uid) tmr_set(uid, tmr_disable); } -static void tmr_handler() +static void tmr_handler(int __attribute__((__unused__))sig) { int64_t old_ticks = 0; @@ -120,7 +130,7 @@ static void realtimer_init() { static struct itimerval tmr; - signal(SIGALRM, (void *) tmr_handler); + signal(SIGALRM, tmr_handler); tmr.it_interval.tv_sec = 1; tmr.it_interval.tv_usec = 0; tmr.it_value.tv_sec = 1; @@ -142,9 +152,9 @@ tmr_default_routine(uint32_t uid, int __attribute__((__unused__))argc, static __rt_always_inline__ void * tmr_alloc() { - struct timer_t *t; + struct rt_timer_t *t; - t = kmalloc(sizeof(struct timer_t), MPF_CLR, -1); + t = (struct rt_timer_t *)kmalloc(sizeof(struct rt_timer_t), MPF_CLR, -1); if(likely(t)){ t->uid = TMR_INVALID; t->routine = tmr_default_routine; @@ -175,7 +185,7 @@ uint32_t tmr_create(int module, goto finish; } - _this = (struct timer_t *)tmr_alloc(); + _this = (struct rt_timer_t *)tmr_alloc(); if(unlikely(!_this)){ goto finish; } diff --git a/src/components/syslogd/logging.h b/common/syslogd/include/logging.h similarity index 90% rename from src/components/syslogd/logging.h rename to common/syslogd/include/logging.h index 7e9a338..8d3ac35 100644 --- a/src/components/syslogd/logging.h +++ b/common/syslogd/include/logging.h @@ -24,12 +24,12 @@ typedef struct RTLogInit2Data_ { void *run_log_handle; } RTLogInit2Data; -RTLogInit2Data logging_sc_lid; +extern RTLogInit2Data logging_sc_lid; /* The maximum length of the log message */ #define RT_LOG_MAX_LOG_MSG_LEN 2048 -extern void mesa_logging_print(int log_level, char *module, char *msg); +extern void mesa_logging_print(int log_level, const char *module, const char *msg); #define mesa_log(x, y, z, ...) do { \ char _sc_log_msg[RT_LOG_MAX_LOG_MSG_LEN] = ""; \ @@ -46,6 +46,6 @@ extern void mesa_logging_print(int log_level, char *module, char *msg); #define mesa_runtime_log(level, module, ...) mesa_log(logging_sc_lid.debug_switch, level, module, __VA_ARGS__) -extern void cert_syslog_init(char *config); +void cert_syslog_init(const char *config); #endif diff --git a/src/components/syslogd/logging.c b/common/syslogd/src/logging.cpp similarity index 90% rename from src/components/syslogd/logging.c rename to common/syslogd/src/logging.cpp index fc80e68..d85bb71 100644 --- a/src/components/syslogd/logging.c +++ b/common/syslogd/src/logging.cpp @@ -22,13 +22,15 @@ #include "MESA_prof_load.h" #include "MESA_handle_logger.h" -void mesa_logging_print(int log_level, char *module, char *msg) +RTLogInit2Data logging_sc_lid; + +void mesa_logging_print(int log_level, const char *module, const char *msg) { - MESA_handle_runtime_log(logging_sc_lid.run_log_handle, log_level, module, msg); + MESA_handle_runtime_log(logging_sc_lid.run_log_handle, log_level, (const char *)module, msg); return; } -void cert_syslog_init(char *config) +void cert_syslog_init(const char *config) { char run_log_path[256] = {0}; diff --git a/make/application.mk b/make/application.mk deleted file mode 100644 index 2b31ae8..0000000 --- a/make/application.mk +++ /dev/null @@ -1,32 +0,0 @@ -# target to create object directory - -$(OBJ_DIR): - mkdir $(OBJ_DIR) - mkdir $(OBJ_DIR_CPP) - -# applications object suffix rule - -$(OBJ_DIR)/%.o: %.c - $(COMPILE) - -$(OBJ_DIR)/%.o: %.S - $(ASSEMBLE) - -$(OBJ_DIR_CPP)/%.o: %.cpp - $(CPPCOMPILE) - -# application config check and rules - --include $(OBJS:.o=.d) --include $(OBJS_CPP:.o=.d) - -application-target: $(TARGET) - -$(TARGET): $(OBJ_DIR) $(OBJS) $(LIBS_LIST) $(OBJ_DIR_CPP) $(OBJS_CPP) - $(CC) -o $@ $(OBJS) $(OBJS_CPP) $(LDFLAGS_PATH) $(LIBS_LIST) $(LDFLAGS_GLOBAL) - -#$(TARGET): $(OBJ_DIR) $(OBJS) $(LIBS_LIST) -# $(CC) -o $@ $(OBJS) $(LDFLAGS_PATH) $(LIBS_LIST) $(LDFLAGS_GLOBAL) - -$(TARGET).stp: $(TARGET) - $(STRIP) -o $(TARGET).stp $(TARGET) diff --git a/make/common.mk b/make/common.mk deleted file mode 100644 index f4e664e..0000000 --- a/make/common.mk +++ /dev/null @@ -1,51 +0,0 @@ -include $(CERT_ROOT)/make/config.mk - -#never change this -CERT_ARCH_TARGET:=linux_64 -RELEASED:=TRUE -# Add flags set by config.mk -CFLAGS_GLOBAL += $(CFLAGS_COMMON_CONFIG) -ASFLAGS_GLOBAL += $(CFLAGS_COMMON_CONFIG) - -CPPFLAGS_GLOBAL = -I$(CERT_ROOT) - -CFLAGS_GLOBAL = $(CPPFLAGS_GLOBAL) - -CFLAGS_GLOBAL += -DCERT_BRANCH_TARGET=${BRANCH_TARGET} -DSEMP_PLATFORM=${SEMP_PLATFORM} -DRELEASED=${RELEASED} -CFLAGS_GLOBAL += -Wall - -ASFLAGS_GLOBAL = $(CPPFLAGS_GLOBAL) -g - -LDFLAGS_GLOBAL = - -LDFLAGS_PATH = -L$(CERT_ROOT)/target/lib - -PREFIX=-linux_64 -CFLAGS_GLOBAL += -DCERT_ARCH_TARGET=${CERT_ARCH_TARGET} -ASFLAGS_GLOBAL += -DCERT_ARCH_TARGET=${CERT_ARCH_TARGET} -LDFLAGS_GLOBAL += -lrt - -CC = gcc -AR = ar -LD = ld -STRIP = strip -OBJDUMP = objdump -NM = nm - -CPP = g++ - -# build object directory - -OBJ_DIR = obj$(PREFIX) - -OBJ_DIR_CPP = obj$(PREFIX)/cpp - -# standard compile line - -COMPILE = $(CC) $(CFLAGS_GLOBAL) $(CFLAGS_LOCAL) -MD -c -o $@ $< - -ASSEMBLE = $(CC) $(ASFLAGS_GLOBAL) $(ASFLAGS_LOCAL) -MD -c -o $@ $< - -MYARCHIVE = $(AR) -cr $@ $< - -CPPCOMPILE = $(CPP) $(CFLAGS_GLOBAL) $(CFLAGS_LOCAL) -MD -c -o $@ $< diff --git a/make/config.mk b/make/config.mk deleted file mode 100644 index e56fa2b..0000000 --- a/make/config.mk +++ /dev/null @@ -1,9 +0,0 @@ -#Compile normal version -BRANCH_TARGET:=BRANCH_CERT - -#Comlile bound kernel version -#BRANCH_TARGET:=BRANCH_KERNEL - -#never change this -CERT_ARCH_TARGET:=linux_64 - diff --git a/program/CMakeLists.txt b/program/CMakeLists.txt new file mode 100644 index 0000000..c9fbd9a --- /dev/null +++ b/program/CMakeLists.txt @@ -0,0 +1,22 @@ +if(COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + +add_executable(certstore src/cert_store.cpp src/cert_conf.cpp src/cert_session.cpp) + +target_include_directories(certstore PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include) +target_include_directories(certstore PRIVATE ${SYSTEMD_INCLUDE_DIRS}) + +target_link_libraries(certstore dl common + maatframe + openssl-ssl-static + openssl-crypto-static + pthread + uuid + libevent-static + MESA_htable + MESA_prof_load + MESA_handle_logger + hiredis-static + MESA_field_stat + ${SYSTEMD_LIBRARIES}) diff --git a/src/cert_conf.h b/program/include/cert_conf.h similarity index 92% rename from src/cert_conf.h rename to program/include/cert_conf.h index 30fd70e..c6afee8 100644 --- a/src/cert_conf.h +++ b/program/include/cert_conf.h @@ -12,11 +12,11 @@ #include #include #include -#include -#include +#include +#include -#include "moodycamel_maat_rule.h" -#include "MESA_htable.h" +#include +#include #define CT_PATH_MAX 256 #define CT_ARRARY_LEN (CT_PATH_MAX/2) @@ -82,6 +82,6 @@ struct config_bucket_t{ extern struct config_bucket_t *cert_default_config(); -extern void cert_init_config(char *config); +void cert_init_config(const char *config); #endif diff --git a/src/cert_daemon.h b/program/include/cert_daemon.h similarity index 100% rename from src/cert_daemon.h rename to program/include/cert_daemon.h diff --git a/program/include/cert_session.h b/program/include/cert_session.h new file mode 100644 index 0000000..f858fc3 --- /dev/null +++ b/program/include/cert_session.h @@ -0,0 +1,116 @@ +/************************************************************************* + > File Name: cert_session.h + > Author: + > Mail: + > Created Time: Fri 01 Jun 2018 02:01:08 AM PDT + ************************************************************************/ + +#ifndef _CERT_SESSION_H +#define _CERT_SESSION_H + +#include +#include "MESA_list_queue.h" +#include "rt_sync.h" + + +#include +#include +#include +#include +#include +#include + +/* + * SHA0 was removed in OpenSSL 1.1.0, including OPENSSL_NO_SHA0. + */ +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(OPENSSL_NO_SHA0) +#define OPENSSL_NO_SHA0 +#endif + +#if OPENSSL_VERSION_NUMBER < 0x10100000L +#define ASN1_STRING_get0_data(value) ASN1_STRING_data(value) +#define SSL_is_server(ssl) (ssl->type != SSL_ST_CONNECT) +#define X509_get_signature_nid(x509) (OBJ_obj2nid(x509->sig_alg->algorithm)) +int DH_set0_pqg(DH *, BIGNUM *, BIGNUM *, BIGNUM *); +#endif + +/* + * The constructors returning a SSL_METHOD * were changed to return + * a const SSL_METHOD * between 0.9.8 and 1.0.0. + */ +#if (OPENSSL_VERSION_NUMBER < 0x1000000fL) +#define CONST_SSL_METHOD SSL_METHOD +#else /* >= OpenSSL 1.0.0 */ +#define CONST_SSL_METHOD const SSL_METHOD +#endif /* >= OpensSL 1.0.0 */ + + +/* + * SSL_OP_NO_* is used as an indication that OpenSSL is sufficiently recent + * to have the respective protocol implemented. + * + * OPENSSL_NO_SSL2 indicates the complete removal of SSL 2.0 support. + * + * OPENSSL_NO_SSL3 indicates that no SSL 3.0 connections will be made by + * default, but support is still present, unless OPENSSL_NO_SSL3_METHOD is + * also defined. + */ +#if defined(SSL_OP_NO_SSLv2) && !defined(OPENSSL_NO_SSL2) && \ + defined(WITH_SSLV2) +#define HAVE_SSLV2 +#endif /* SSL_OP_NO_SSLv2 && !OPENSSL_NO_SSL2 && WITH_SSLV2 */ +#if defined(SSL_OP_NO_SSLv3) && !defined(OPENSSL_NO_SSL3_METHOD) +#define HAVE_SSLV3 +#endif /* SSL_OP_NO_SSLv2 && !OPENSSL_NO_SSL3_METHOD */ +#ifdef SSL_OP_NO_TLSv1 +#define HAVE_TLSV10 +#endif /* SSL_OP_NO_TLSv1 */ +#ifdef SSL_OP_NO_TLSv1_1 +#define HAVE_TLSV11 +#endif /* SSL_OP_NO_TLSv1_1 */ +#ifdef SSL_OP_NO_TLSv1_2 +#define HAVE_TLSV12 +#endif /* SSL_OP_NO_TLSv1_2 */ + +struct x509_object_ctx +{ + X509 *root; + EVP_PKEY *key; + + X509 *insec_root; + EVP_PKEY *insec_key; +}; + +typedef struct { + int id; + + rt_pthread pid; /* unique ID of this thread */ + + evutil_socket_t accept_fd; + + rt_pthread_attr *attr; + + struct event_base *base; + + struct x509_object_ctx def; + + struct redisAsyncContext *cl_ctx; + + struct redisContext *sync; + + void * (*routine)(void *); /** Executive entry */ + + int field_ids; /* dispaly */ + + int column_ids; + + uint64_t diffTime; + +} x509_forge_thread; + +int cert_session_init(); + +void sigproc(int __attribute__((__unused__))sig); + +#endif + diff --git a/src/cert_conf.c b/program/src/cert_conf.cpp similarity index 93% rename from src/cert_conf.c rename to program/src/cert_conf.cpp index ea06ffc..a235ec2 100644 --- a/src/cert_conf.c +++ b/program/src/cert_conf.cpp @@ -18,20 +18,14 @@ #include "MESA_prof_load.h" -struct config_bucket_t certConfig = { - .thread_nu = 1, - .expire_after = 30, - .ca_path = "./cert/mesalab-ca.pem", - .uninsec_path = "./cert/mesalab-ca-untrust.pem", - .addr_t = {9995, 6379, "0.0.0.0", 0, 6379, "0.0.0.0"}, -}; +struct config_bucket_t certConfig; struct config_bucket_t *cert_default_config() { return &certConfig; } -static int load_system_config(char *config) +static int load_system_config(const char *config) { int xret = -1; @@ -75,7 +69,7 @@ finish: return xret; } -static int load_module_config(char *config) +static int load_module_config(const char *config) { int xret = -1; @@ -121,7 +115,7 @@ finish: return xret; } -static int load_maat_config(char *config) +static int load_maat_config(const char *config) { int xret = -1; @@ -170,7 +164,7 @@ finish: return xret; } -void cert_init_config(char *config) +void cert_init_config(const char *config) { load_system_config(config); diff --git a/src/cert_session.c b/program/src/cert_session.cpp similarity index 82% rename from src/cert_session.c rename to program/src/cert_session.cpp index 8626e41..6ff2498 100644 --- a/src/cert_session.c +++ b/program/src/cert_session.cpp @@ -4,25 +4,13 @@ > Mail: > Created Time: Fri 01 Jun 2018 02:00:56 AM PDT ************************************************************************/ -#define _GNU_SOURCE #include #include #include #include #include #include - -/* openssl**/ -#include -#include -#include -#include -#include -#include -#include -#include -#include - +#include #include #include "rt_string.h" @@ -33,20 +21,31 @@ #include "rt_tmr.h" #include "json.h" +/* openssl**/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + #include "cert_conf.h" -#include "async.h" -#include "read.h" -#include "bufferevent.h" -#include "listener.h" #include "libevent.h" #include "cert_session.h" -#include "event_compat.h" -#include "http.h" -#include "buffer.h" -#include "MESA_htable.h" -#include "util-internal.h" -#include "moodycamel_maat_rule.h" -#include "moodycamel_field_stat2.h" #include "logging.h" #define WAIT_FOR_EFFECTIVE_US 1000*1000 @@ -60,7 +59,7 @@ #define CM_UPDATE_TYPE_FULL 1 #define CM_UPDATE_TYPE_INC 2 -static cert_thread_ctx *threads; +static x509_forge_thread *threads; enum http_action { @@ -144,19 +143,19 @@ static int x509_public_str2idx(const char *public_algo) } static -int create_client_key(EVP_PKEY** pkey, char *pubkey, char *public_algo) +int ssl_key_genrsa(EVP_PKEY** pkey, char *pubkey, char *public_algo) { RSA *rsa = NULL; EVP_PKEY *pk = NULL; if((pk = EVP_PKEY_new()) == NULL){ - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "create_client_key, gen new key failed!"); + mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "ssl_key_genrsa, gen new key failed!"); goto err; } rsa = RSA_generate_key(x509_public_str2idx(public_algo), RSA_F4, NULL, NULL); if(!EVP_PKEY_assign_RSA(pk, rsa)){ - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "create_client_key, assign key failed!"); + mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "ssl_key_genrsa, assign key failed!"); EVP_PKEY_free(pk); goto err; } @@ -205,50 +204,6 @@ static X509* base_load_pkcs12(BIO *in, EVP_PKEY **pkey, X509 **x, STACK_OF(X509) return _x; } -static void cert_base_load_stack_info(BIO * in_bio, STACK_OF(X509) **stack_ca) -{ - int x509_cnt = 0; - X509_INFO *x509_info; - STACK_OF(X509) *stack_x509 = NULL; - STACK_OF(X509_INFO) *stack_x509_info = NULL; - - if ((stack_x509 = sk_X509_new_null()) == NULL) - { - X509err(X509_F_X509_VERIFY_CERT, ERR_R_MALLOC_FAILURE); - goto finish; - } - - stack_x509_info = PEM_X509_INFO_read_bio(in_bio, NULL, NULL, NULL); - if (stack_x509_info == NULL) - { - X509err(X509_F_X509_LOAD_CERT_CRL_FILE, ERR_R_PEM_LIB); - goto finish; - } - - while (sk_X509_INFO_num(stack_x509_info)) { - x509_info = sk_X509_INFO_shift(stack_x509_info); - if (x509_info->x509 != NULL) { - sk_X509_push(stack_x509, x509_info->x509); - x509_info->x509 = NULL; - x509_cnt++; - } - X509_INFO_free(x509_info); - } - if (x509_cnt >= 1) - *stack_ca = stack_x509; - -finish: - if (stack_x509_info != NULL) - sk_X509_INFO_free(stack_x509_info); - return; -} - -static X509 * -cert_base_load_x509 (BIO * in_bio) -{ - return PEM_read_bio_X509 (in_bio, NULL, NULL, NULL); -} - int x509_get_last_ca(char *file, X509 *cx509) { int last = 0; @@ -329,43 +284,13 @@ finish: return node; } -static X509 * -cert_load_x509(char *file, STACK_OF(X509) **stack_ca) -{ - BIO *in_bio = NULL; - X509 *x509 = NULL; - - if(!file){ - mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Input cert file is empty."); - goto finish; - } - if ((in_bio = BIO_new(BIO_s_file())) == NULL) { - mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Bio malloc failed."); - goto finish; - } - if (BIO_read_filename(in_bio, file) <= 0) { - mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Error opening %s", file); - goto finish; - } - - if ((x509 = cert_base_load_x509(in_bio)) == NULL){ - mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Error loading pem file, %s",file); - } - cert_base_load_stack_info(in_bio, stack_ca); - - BIO_free (in_bio); - in_bio = NULL; -finish: - return x509; -} - -EVP_PKEY * cert_base_key_x509 (BIO * bio, int iFormat, char *strPwd) +EVP_PKEY * cert_base_key_x509 (BIO * bio, int iFormat, const char *strPwd) { EVP_PKEY *pkey = NULL; switch (iFormat){ case LOCAL_USER_PEN: - pkey = PEM_read_bio_PrivateKey (bio, NULL, NULL, strPwd); + pkey = PEM_read_bio_PrivateKey (bio, NULL, NULL, (char *)strPwd); break; case LOCAL_USER_P12: base_load_pkcs12(bio, &pkey, NULL, NULL); @@ -458,15 +383,20 @@ error: return ret; } -int -ssl_x509_v3ext_add(X509V3_CTX *ctx, X509 *crt, char *k, char *v) +/* + * Add a X509v3 extension to a cert and handle errors. + * Returns -1 on errors, 0 on success. + */ +int ssl_x509_v3ext_add(X509V3_CTX * ctx, X509 * crt, const char *k, const char *v) { - X509_EXTENSION *ext; + X509_EXTENSION * ext; - if (!(ext = X509V3_EXT_conf(NULL, ctx, k, v))) { + if (!(ext = X509V3_EXT_conf(NULL, ctx, k, v))) + { return -1; } - if (X509_add_ext(crt, ext, -1) != 1) { + if (X509_add_ext(crt, ext, -1) != 1) + { X509_EXTENSION_free(ext); return -1; } @@ -474,8 +404,7 @@ ssl_x509_v3ext_add(X509V3_CTX *ctx, X509 *crt, char *k, char *v) return 0; } -int -ssl_x509_v3ext_copy_by_nid(X509 *crt, X509 *origcrt, int nid) +int ssl_x509_v3ext_copy_by_nid(X509 *crt, X509 *origcrt, int nid) { X509_EXTENSION *ext; int pos; @@ -518,47 +447,6 @@ int add_ext(X509 *cacrt, X509 *cert, int nid, char *value) return 1; } -static __attribute__((__unused__)) char* -x509_get_CrlDistPoints(X509 *x509) -{ - int i = 0, crit = 0; - char value[512] = {0}, *crlurl = NULL; - CRL_DIST_POINTS *crlpoints = NULL; - - crlpoints = (CRL_DIST_POINTS*)X509_get_ext_d2i(x509, NID_crl_distribution_points, &crit, NULL); - if (!crlpoints) - goto finish; - - for (i = 0; i < sk_DIST_POINT_num(crlpoints); i++){ - int j, gtype; - GENERAL_NAMES *gens; - GENERAL_NAME *gen; - ASN1_STRING *uri; - DIST_POINT *dp = sk_DIST_POINT_value(crlpoints, i); - if (!dp->distpoint || dp->distpoint->type != 0) - continue; - gens = dp->distpoint->name.fullname; - for (j = 0; j < sk_GENERAL_NAME_num(gens); j++){ - gen = sk_GENERAL_NAME_value(gens, j); - uri = (ASN1_STRING*)GENERAL_NAME_get0_value(gen, >ype); - if (gtype == GEN_URI && ASN1_STRING_length(uri) > 6) { - char *uptr = (char *)ASN1_STRING_data(uri); - if (STRLEN(value) > 0){ - STRCAT(value, " | "); - } - STRCAT(value, uptr); - } - } - } - CRL_DIST_POINTS_free(crlpoints); - - crlurl = (char *)malloc(strlen(value) + 5); - assert(crlurl); - sprintf(crlurl, "URI:%s", value); -finish: - return crlurl; -} - static time_t ASN1_GetTimeT(ASN1_TIME* time) { struct tm t; @@ -596,17 +484,17 @@ static time_t ASN1_GetTimeT(ASN1_TIME* time) } X509 * -x509_modify_by_cert(X509 *cacrt, EVP_PKEY *cakey, X509 *origcrt, char *pkey, int *expire_time, char *crlurl, char *public_algo) +ssl_x509_forge(X509 *cacrt, EVP_PKEY *cakey, X509 *origcrt, char *pkey, int *expire_time, char *crlurl, char *public_algo) { int rv; X509 *crt = NULL; EVP_PKEY* key = NULL; X509_NAME *subject = NULL, *issuer = NULL; - if(!create_client_key(&key, pkey, public_algo)){ + if(!ssl_key_genrsa(&key, pkey, public_algo)){ goto err; } -//subjectname,issuername + //subjectname,issuername subject = X509_get_subject_name(origcrt); issuer = X509_get_subject_name(cacrt); if (!subject || !issuer) @@ -615,7 +503,7 @@ x509_modify_by_cert(X509 *cacrt, EVP_PKEY *cakey, X509 *origcrt, char *pkey, int crt = X509_new(); if (!crt) return NULL; -//version,subjectname,issuername,serialnum,time,pubkey + //version,subjectname,issuername,serialnum,time,pubkey if (!X509_set_version(crt, 0x02) || !X509_set_subject_name(crt, subject) || !X509_set_issuer_name(crt, issuer) || @@ -802,7 +690,7 @@ void x509_get_msg_from_ca(X509 *x509, char **root) if ( (bp=BIO_new(BIO_s_mem())) == NULL){ mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "unable to create BIO for output"); - goto finish; + return; } PEM_write_bio_X509(bp, x509); @@ -818,7 +706,6 @@ void x509_get_msg_from_ca(X509 *x509, char **root) } err: BIO_free(bp); -finish: return; } @@ -891,7 +778,7 @@ finish: static int evhttp_socket_send_error(struct evhttp_request *req, int id, int error) { - FS_internal_operate(SGstats.handle, id, SGstats.line_ids[HTTP_ACTION_ERR], FS_OP_ADD, 1); + FS_operate(SGstats.handle, id, SGstats.line_ids[HTTP_ACTION_ERR], FS_OP_ADD, 1); evhttp_send_error(req, error, 0); return 0; } @@ -942,17 +829,22 @@ long __attribute__((__unused__))argl, void __attribute__((__unused__))*argp) { if (*ad == NULL) return; - - struct pxy_obj_keyring* pxy_obj=(struct pxy_obj_keyring*)(*ad); + struct pxy_obj_keyring* pxy_obj=(struct pxy_obj_keyring*)(*ad); atomic64_dec(&pxy_obj->ref_cnt); if (atomic64_read(&pxy_obj->ref_cnt) == 0) { +#ifdef RT_REDIS_ADVANCED + int xret; char *command; + asprintf(&command, "redis-cli keys \"%d*\" | xargs redis-cli del", pxy_obj->keyring_id); + xret = system(command); + if ((-1 == xret) || (!WIFEXITED(xret)) || (0 != WEXITSTATUS(xret))){ + mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "del keyringid %d failed", pxy_obj->keyring_id); + } +#endif if (pxy_obj->root) X509_free(pxy_obj->root); if (pxy_obj->key) EVP_PKEY_free(pxy_obj->key); - if (pxy_obj->stack_ca) - sk_X509_free(pxy_obj->stack_ca); free(pxy_obj); pxy_obj = NULL; *ad=NULL; @@ -1040,7 +932,7 @@ static struct pxy_obj_keyring* get_obj_for_id(int keyring_id) snprintf(cfg_id_str, sizeof(cfg_id_str), "%d", keyring_id); int tables_id = rte->table_id; - pxy_obj = (struct pxy_obj_keyring*)maat_plugin_get_EX_data(rte->feather, tables_id, (const char*)cfg_id_str); + pxy_obj = (struct pxy_obj_keyring*)Maat_plugin_get_EX_data(rte->feather, tables_id, (const char*)cfg_id_str); return pxy_obj; } @@ -1105,7 +997,7 @@ static int x509_online_append(struct x509_object_ctx *def, struct request_t *req crlurl = pxy_obj->v3_ctl; public_algo = pxy_obj->public_algo; modify: - x509 = x509_modify_by_cert(cacrt, cakey, request->origin, pkey, &expire_time, crlurl, public_algo); + x509 = ssl_x509_forge(cacrt, cakey, request->origin, pkey, &expire_time, crlurl, public_algo); if (!x509){ goto finish; } @@ -1167,8 +1059,9 @@ rediSyncCommand(redisContext *sync, struct request_t *request, char *odata, int { int xret = -1; redisReply *reply; - - cert_thread_ctx *thread = threads + request->thread_id; + + struct config_bucket_t *config = cert_default_config();; + x509_forge_thread *thread = threads + request->thread_id; struct evhttp_request *evh_req = request->evh_req; reply = (redisReply *)redisCommand(thread->sync, "set %s %s ex %d nx", request->rkey, odata, expire_after); @@ -1178,14 +1071,13 @@ rediSyncCommand(redisContext *sync, struct request_t *request, char *odata, int switch (readBytes(reply->str)) { case '+' : mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Writing data(%s) to redis successfully", request->rkey); - FS_internal_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SIGN], FS_OP_ADD, 1); + FS_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SIGN], FS_OP_ADD, 1); evhttp_socket_send(evh_req, request->odata); goto free; case '$' : mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Writing data(%s) to redis failed", request->rkey); - FS_internal_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SQL], FS_OP_ADD, 1); - struct config_bucket_t *config = cert_default_config(); + FS_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SQL], FS_OP_ADD, 1); if (config->mode){ redisAsyncCommand(thread->cl_ctx, redis_reget_callback, request, "GET %s", request->rkey); }else{ @@ -1193,7 +1085,7 @@ rediSyncCommand(redisContext *sync, struct request_t *request, char *odata, int } freeReplyObject(reply); goto finish; - default : + default: mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Read redis data(%s) return code failed", request->rkey); evhttp_socket_send_error(request->evh_req, thread->column_ids, HTTP_NOTFOUND); goto free; @@ -1235,7 +1127,7 @@ json_data_rebuild(const char *data, if (!data || !size) return -1; - *odata = malloc (real_size); + *odata = (char *)malloc (real_size); if (!*odata) return -1; memset (*odata, 0, real_size); @@ -1278,47 +1170,53 @@ redis_clnt_pdu_send(struct request_t *request) { #define MAX_CHAIN_LEN 6 int xret = -1, i = 0; - uint64_t expire_time; STACK_OF(X509) *stack_ca = NULL; - cert_thread_ctx *info = threads + request->thread_id; + x509_forge_thread *thread = threads + request->thread_id; char *sign = NULL, pkey[SG_DATA_SIZE] = {0}; char *root = NULL; - expire_time = x509_online_append(&info->def, request, &root, &sign, pkey, &stack_ca); - if (sign == NULL && pkey[0] == '\0'){ + uint64_t expire_time = x509_online_append(&thread->def, request, &root, &sign, pkey, &stack_ca); + if (sign == NULL && pkey[0] == '\0') + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Failed to sign certificate"); - evhttp_socket_send_error(request->evh_req, info->column_ids, HTTP_NOTFOUND); - goto finish; + evhttp_socket_send_error(request->evh_req, thread->column_ids, HTTP_NOTFOUND); + return xret; } - FS_internal_operate(SGstats.handle, info->column_ids, SGstats.line_ids[HTTP_ACTION_TIME], FS_OP_SET, info->diffTime); - FS_internal_operate(SGstats.handle, info->field_ids, 0, FS_OP_ADD, 1); + FS_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_TIME], FS_OP_SET, thread->diffTime); + FS_operate(SGstats.handle, thread->field_ids, 0, FS_OP_ADD, 1); - char *single = NULL; - char *chain[MAX_CHAIN_LEN] = {0}; - if (stack_ca){ - for (i = 0; i < sk_X509_num(stack_ca); i++){ + char *single = NULL; char *chain[MAX_CHAIN_LEN] = {0}; + if (stack_ca) + { + for (i = 0; i < sk_X509_num(stack_ca); i++) + { x509_get_msg_from_ca(sk_X509_value(stack_ca, i), &single); chain[i] = single; } - if (root != NULL){ + if (root != NULL) + { chain[i] = root; i++; } - }else{ + } + else + { chain[0] = root; } web_json_table_add(pkey, sign, chain, &request->odata); - if (info->sync == NULL){ + if (thread->sync == NULL) + { struct evhttp_request *evh_req = request->evh_req; - FS_internal_operate(SGstats.handle, info->column_ids, SGstats.line_ids[HTTP_ACTION_SIGN], FS_OP_ADD, 1); + FS_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SIGN], FS_OP_ADD, 1); evhttp_socket_send(evh_req, request->odata); request_destroy(request); xret = 0; goto finish; } - xret = rediSyncCommand(info->sync, request, request->odata, expire_time); - if (xret < 0){ + xret = rediSyncCommand(thread->sync, request, request->odata, expire_time); + if (xret < 0) + { goto finish; } xret = 0; @@ -1331,15 +1229,15 @@ redis_clnt_send(struct request_t *request, redisReply *reply) { int xret = -1; - cert_thread_ctx *thread = threads + request->thread_id; + x509_forge_thread *thread = threads + request->thread_id; if (!reply && !reply->str){ evhttp_socket_send_error(request->evh_req, thread->column_ids, HTTP_NOTFOUND); goto finish; } - FS_internal_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SQL], FS_OP_ADD, 1); + FS_operate(SGstats.handle, thread->column_ids, SGstats.line_ids[HTTP_ACTION_SQL], FS_OP_ADD, 1); - FS_internal_operate(SGstats.handle, thread->field_ids, 0, FS_OP_ADD, 1); + FS_operate(SGstats.handle, thread->field_ids, 0, FS_OP_ADD, 1); evhttp_socket_send(request->evh_req, reply->str); @@ -1482,12 +1380,12 @@ static int http_decode_uri(struct evhttp_request *evh_req, struct request_t *req char *decoded_uri = evhttp_decode_uri(uri); if (!decoded_uri) { - goto finish; + return 0; } rv = evhttp_parse_query(uri, ¶ms); if (rv != 0) { - goto finish; + return 0; } const char *keyring_id = evhttp_find_header(¶ms, "keyring_id"); if (keyring_id) @@ -1504,7 +1402,6 @@ static int http_decode_uri(struct evhttp_request *evh_req, struct request_t *req { request->sni = strdup(sni); } -finish: return 0; } @@ -1543,6 +1440,8 @@ x509_get_rkey(X509 *origin, int keyring_id, char *rkey, int is_valid) } snprintf(rkey, DATALEN, "%d:%s:%d", keyring_id, hex, is_valid); finish: + if (pxy_obj) + keyring_table_free(pxy_obj); return 0; } @@ -1552,7 +1451,7 @@ redis_sync_command(struct request_t *request, struct redisContext __attribute__ int xret = -1; redisReply *reply; - cert_thread_ctx *thread_ctx = threads + request->thread_id; + x509_forge_thread *thread_ctx = threads + request->thread_id; reply = (redisReply *)redisCommand(thread_ctx->sync, "GET %s", request->rkey); if (NULL == reply) @@ -1584,14 +1483,17 @@ finish: void http_get_cb(struct evhttp_request *evh_req, void *arg) { int xret = -1; - cert_thread_ctx *info = (cert_thread_ctx *)arg; + struct request_t *request = NULL; + struct evbuffer * evbuf_body = NULL; + char *input = NULL; ssize_t inputlen=0; + x509_forge_thread *info = (x509_forge_thread *)arg; struct config_bucket_t *config = cert_default_config(); if (evhttp_request_get_command(evh_req) != EVHTTP_REQ_POST) { mesa_runtime_log(RLOG_LV_DEBUG, MODULE_NAME, "FAILED (post type)"); goto error; } - struct request_t *request = (struct request_t *) kmalloc (sizeof(struct request_t), MPF_CLR, -1); + request = (struct request_t *) kmalloc (sizeof(struct request_t), MPF_CLR, -1); request->keyring_id = 0; request->thread_id = info->id; request->evh_req = evh_req; @@ -1600,8 +1502,7 @@ void http_get_cb(struct evhttp_request *evh_req, void *arg) mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "[Thread %d]Received request for uri, kering_id:%d, sni:%s, valid:%d", request->thread_id, request->keyring_id, request->sni, request->is_valid); - char *input = NULL; ssize_t inputlen=0; - struct evbuffer * evbuf_body = evhttp_request_get_input_buffer(evh_req); + evbuf_body = evhttp_request_get_input_buffer(evh_req); if (!evbuf_body || 0==(inputlen = evbuffer_get_length(evbuf_body)) ||!(input = (char *)evbuffer_pullup(evbuf_body,inputlen))) { @@ -1620,25 +1521,34 @@ void http_get_cb(struct evhttp_request *evh_req, void *arg) goto error; } mesa_runtime_log(RLOG_LV_DEBUG, MODULE_NAME, "Redis key is %s", request->rkey); - FS_internal_operate(SGstats.handle, info->column_ids, SGstats.line_ids[HTTP_ACTION_REQ], FS_OP_ADD, 1); + FS_operate(SGstats.handle, info->column_ids, SGstats.line_ids[HTTP_ACTION_REQ], FS_OP_ADD, 1); /* we want to know if this connection closes on us */ evhttp_connection_set_closecb(evhttp_request_get_connection(evh_req), evhttp_socket_close_cb, NULL); - if (info->sync == NULL){ + if (info->sync == NULL) + { xret = redis_clnt_pdu_send(request); if (xret < 0) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Local sign certificate failed"); - goto free; + } + goto free; }else{ - if (config->mode) + if(config->mode) { xret = redisAsyncCommand(info->cl_ctx, redis_get_callback, request, "GET %s", request->rkey); if (xret < 0) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Failed to get information from redis server"); - }else{ + } + } + else + { xret = redis_sync_command(request, info->sync); if (xret < 0) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Failed to get information from redis server"); + } } } free: @@ -1674,36 +1584,39 @@ finish: } static int -task_private_init(struct event_base *base, cert_thread_ctx *info) +worker_private_init(struct event_base *base, x509_forge_thread *thread) { int xret = -1; struct config_bucket_t *config = cert_default_config(); /* Initialize the redis connection*/ - if (config->mode){ - xret = redis_rsync_init(base, &info->cl_ctx); - if (xret < 0 || !info->cl_ctx){ + if (config->mode) + { + xret = redis_rsync_init(base, &thread->cl_ctx); + if (xret < 0 || !thread->cl_ctx){ mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Initialize the redis connection is failure"); } } - - xret = redis_sync_init(&info->sync); - if (xret < 0 || !info->sync){ + xret = redis_sync_init(&thread->sync); + if (xret < 0 || !thread->sync) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Initialize the sync redis connection is failure"); } if (config->local_debug) { /* Initialize the X509 CA*/ - xret = x509_key_pair_init(config->ca_path, &info->def.key, &info->def.root); - if (xret < 0 || !(info->def.key) || !(info->def.root)){ + xret = x509_key_pair_init(config->ca_path, &thread->def.key, &thread->def.root); + if (xret < 0 || !(thread->def.key) || !(thread->def.root)) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Failed to initialize the x509 certificate"); goto finish; } /* Initialize the insec CA*/ - xret = x509_key_pair_init(config->uninsec_path, &info->def.insec_key, &info->def.insec_root); - if (xret < 0 || !(info->def.key) || !(info->def.root)){ + xret = x509_key_pair_init(config->uninsec_path, &thread->def.insec_key, &thread->def.insec_root); + if (xret < 0 || !(thread->def.key) || !(thread->def.root)) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Failed to initialize the insec x509 certificate"); goto finish; } @@ -1715,18 +1628,15 @@ finish: static void *pthread_worker_libevent(void *arg) { int xret = -1; - struct evhttp *http = NULL; - struct event_base *base = NULL; struct evhttp_bound_socket *bound = NULL; + x509_forge_thread *thread_ctx = (x509_forge_thread *)arg; - cert_thread_ctx *thread_ctx = (cert_thread_ctx *)arg; - - base = event_base_new(); + struct event_base *base = event_base_new(); if (! base) { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Can'thread_ctx allocate event base"); - goto finish; + return NULL; } - http = evhttp_new(base); + struct evhttp *http = evhttp_new(base); if (!http) { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "couldn'thread_ctx create evhttp. Exiting."); goto error; @@ -1734,8 +1644,9 @@ static void *pthread_worker_libevent(void *arg) thread_ctx->base = base; /* Context initialization */ - xret = task_private_init(base, thread_ctx); - if (xret < 0){ + xret = worker_private_init(base, thread_ctx); + if (xret < 0) + { goto error; } evhttp_set_cb(http, "/ca", http_get_cb, thread_ctx); @@ -1750,10 +1661,84 @@ static void *pthread_worker_libevent(void *arg) event_base_dispatch(base); error: event_base_free(base); -finish: return NULL; } +#ifdef SOCK_NONBLOCK +#define EVUTIL_SOCK_NONBLOCK SOCK_NONBLOCK +#else +#define EVUTIL_SOCK_NONBLOCK 0x4000000 +#endif +#ifdef SOCK_CLOEXEC +#define EVUTIL_SOCK_CLOEXEC SOCK_CLOEXEC +#else +#define EVUTIL_SOCK_CLOEXEC 0x80000000 +#endif +#ifdef EFD_NONBLOCK +#define EVUTIL_EFD_NONBLOCK EFD_NONBLOCK +#else +#define EVUTIL_EFD_NONBLOCK 0x4000 +#endif +#ifdef EFD_CLOEXEC +#define EVUTIL_EFD_CLOEXEC EFD_CLOEXEC +#else +#define EVUTIL_EFD_CLOEXEC 0x8000 +#endif + +static int +evutil_fast_socket_nonblocking(evutil_socket_t fd) +{ +#ifdef _WIN32 + return evutil_make_socket_nonblocking(fd); +#else + if (fcntl(fd, F_SETFL, O_NONBLOCK) == -1) { + return -1; + } + return 0; +#endif +} + +static int +evutil_fast_socket_closeonexec(evutil_socket_t fd) +{ +#if !defined(_WIN32) && defined(EVENT__HAVE_SETFD) + if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) { + return -1; + } +#endif + return 0; +} + +evutil_socket_t +evutil_socket_(int domain, int type, int protocol) +{ + evutil_socket_t r; +#if defined(SOCK_NONBLOCK) && defined(SOCK_CLOEXEC) + r = socket(domain, type, protocol); + if (r >= 0) + return r; + else if ((type & (SOCK_NONBLOCK|SOCK_CLOEXEC)) == 0) + return -1; +#endif +#define SOCKET_TYPE_MASK (~(EVUTIL_SOCK_NONBLOCK|EVUTIL_SOCK_CLOEXEC)) + r = socket(domain, type & SOCKET_TYPE_MASK, protocol); + if (r < 0) + return -1; + if (type & EVUTIL_SOCK_NONBLOCK) { + if (evutil_fast_socket_nonblocking(r) < 0) { + evutil_closesocket(r); + return -1; + } + } + if (type & EVUTIL_SOCK_CLOEXEC) { + if (evutil_fast_socket_closeonexec(r) < 0) { + evutil_closesocket(r); + return -1; + } + } + return r; +} + static evutil_socket_t evhttp_listen_socket_byuser(const struct sockaddr *sa, int socklen, unsigned flags, int backlog) @@ -1762,7 +1747,7 @@ evhttp_listen_socket_byuser(const struct sockaddr *sa, int socklen, int on = 1; int family = sa ? sa->sa_family : AF_UNSPEC; int socktype = SOCK_STREAM | EVUTIL_SOCK_NONBLOCK; - + if (flags & LEV_OPT_CLOSE_ON_EXEC) socktype |= EVUTIL_SOCK_CLOEXEC; @@ -1795,15 +1780,15 @@ err: } static int -fs_screen_preview(cert_thread_ctx *thread) +fs_screen_preview(x509_forge_thread *thread) { char buff[128] = {0}; snprintf(buff, sizeof(buff),"Thread_%02d", thread->id); - thread->field_ids = FS_internal_register(SGstats.handle, FS_STYLE_FIELD, FS_CALC_CURRENT, buff); + thread->field_ids = FS_register(SGstats.handle, FS_STYLE_FIELD, FS_CALC_CURRENT, buff); snprintf(buff, sizeof(buff),"Thread_%d", thread->id); - thread->column_ids = FS_internal_register(SGstats.handle, FS_STYLE_LINE, FS_CALC_CURRENT, buff); + thread->column_ids = FS_register(SGstats.handle, FS_STYLE_LINE, FS_CALC_CURRENT, buff); return 0; } @@ -1814,8 +1799,8 @@ redis_link_detection(uint32_t __attribute__((__unused__)) uid, char **argv) { int tid = 0, xret = 0; - cert_thread_ctx *info = NULL; - cert_thread_ctx *threads = (cert_thread_ctx *)argv; + x509_forge_thread *info = NULL; + x509_forge_thread *threads = (x509_forge_thread *)argv; unsigned int thread_nu = cert_default_config()->thread_nu; for (tid = 0; tid < (int)thread_nu; tid++) { @@ -1846,33 +1831,35 @@ redis_link_detection(uint32_t __attribute__((__unused__)) uid, static int libevent_socket_init() { - struct sockaddr_in sin; - evutil_socket_t accept_fd = -1; int xret = -1; unsigned int tid = 0; - cert_thread_ctx *thread = NULL; + x509_forge_thread *thread = NULL; + uint32_t tm_link_detetion = 0; unsigned int thread_nu = cert_default_config()->thread_nu; - /* Create a new evhttp object to handle requests. */ + /* Create a new evhttp object to handle requests. */ + struct sockaddr_in sin; memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; sin.sin_port = htons(cert_default_config()->addr_t.e_port); - accept_fd = evhttp_listen_socket_byuser((struct sockaddr*)&sin, sizeof(struct sockaddr_in), - LEV_OPT_REUSEABLE_PORT|LEV_OPT_CLOSE_ON_FREE, -1); - if (accept_fd < 0) { + evutil_socket_t accept_fd = evhttp_listen_socket_byuser((struct sockaddr*)&sin, sizeof(struct sockaddr_in), LEV_OPT_REUSEABLE_PORT|LEV_OPT_CLOSE_ON_FREE, -1); + if (accept_fd < 0) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Could not create a listen!"); goto finish; } - threads = calloc(thread_nu, sizeof(cert_thread_ctx)); - if (! threads) { + threads = (x509_forge_thread *)calloc(thread_nu, sizeof(x509_forge_thread)); + if (! threads) + { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "Can't allocate thread descriptors"); goto finish; } - memset(threads, 0, thread_nu * sizeof(cert_thread_ctx)); + memset(threads, 0, thread_nu * sizeof(x509_forge_thread)); /* Create threads after we've done all the libevent setup. */ - for (tid = 0; tid < thread_nu; tid++) { + for (tid = 0; tid < thread_nu; tid++) + { thread = threads + tid; thread->id = tid; @@ -1891,7 +1878,6 @@ libevent_socket_init() } #ifdef RT_TMR_ADVANCED /*Create timers to monitor redis connections **/ - uint32_t tm_link_detetion = 0; tm_link_detetion = tmr_create(1, "Redis link detection", redis_link_detection, 1, (char **)threads, 5); if (((int32_t)tm_link_detetion < 0)){ @@ -1927,7 +1913,7 @@ rt_get_pname_by_pid(pid_t pid, char *task_name) void sigproc(int __attribute__((__unused__))sig) { unsigned int tid = 0; - cert_thread_ctx *thread = NULL; + x509_forge_thread *thread = NULL; struct config_bucket_t *rte = cert_default_config(); @@ -1948,7 +1934,7 @@ void sigproc(int __attribute__((__unused__))sig) static int MESA_internal_set_para(screen_stat_handle_t handle, enum FS_option type, unsigned value) { - int ret = FS_internal_set_para(handle, type, &value, (int)(sizeof(value))); + int ret = FS_set_para(handle, type, &value, (int)(sizeof(value))); return ret; } @@ -1957,12 +1943,12 @@ static int mesa_fiel_stat_init() char stat_path[128] = {0}; char pname[32]= {0}, buff[128] = {0}; - SGstats.handle = FS_internal_create_handle(); + SGstats.handle = FS_create_handle(); rt_get_pname_by_pid(getpid(), &pname[0]); - FS_internal_set_para(SGstats.handle, APP_NAME, pname, strlen(pname)+1); + FS_set_para(SGstats.handle, APP_NAME, pname, strlen(pname)+1); snprintf(stat_path, 128, "%s/fs2_%s.status", logging_sc_lid.run_log_path, pname); - FS_internal_set_para(SGstats.handle, OUTPUT_DEVICE, stat_path, strlen(stat_path)+1); + FS_set_para(SGstats.handle, OUTPUT_DEVICE, stat_path, strlen(stat_path)+1); MESA_internal_set_para(SGstats.handle, FLUSH_BY_DATE, 0); MESA_internal_set_para(SGstats.handle, PRINT_MODE, 1); @@ -1970,23 +1956,23 @@ static int mesa_fiel_stat_init() MESA_internal_set_para(SGstats.handle, STAT_CYCLE, 3); snprintf(buff,sizeof(buff),"%s", "REQ"); - SGstats.line_ids[HTTP_ACTION_REQ] = FS_internal_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); + SGstats.line_ids[HTTP_ACTION_REQ] = FS_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); snprintf(buff,sizeof(buff),"%s", "SQL"); - SGstats.line_ids[HTTP_ACTION_SQL] = FS_internal_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); + SGstats.line_ids[HTTP_ACTION_SQL] = FS_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); snprintf(buff,sizeof(buff),"%s", "SIGN"); - SGstats.line_ids[HTTP_ACTION_SIGN] = FS_internal_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); + SGstats.line_ids[HTTP_ACTION_SIGN] = FS_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); snprintf(buff,sizeof(buff),"%s", "ERR"); - SGstats.line_ids[HTTP_ACTION_ERR] = FS_internal_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); + SGstats.line_ids[HTTP_ACTION_ERR] = FS_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); snprintf(buff,sizeof(buff),"%s", "take-time"); - SGstats.line_ids[HTTP_ACTION_TIME] = FS_internal_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); + SGstats.line_ids[HTTP_ACTION_TIME] = FS_register(SGstats.handle, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); MESA_internal_set_para(SGstats.handle, ID_INVISBLE, SGstats.line_ids[HTTP_ACTION_TIME]); snprintf(buff,sizeof(buff),"Cert/Nsec"); - FS_internal_register_ratio(SGstats.handle, SGstats.line_ids[HTTP_ACTION_TIME], + FS_register_ratio(SGstats.handle, SGstats.line_ids[HTTP_ACTION_TIME], SGstats.line_ids[HTTP_ACTION_SIGN], 1, FS_STYLE_COLUMN, FS_CALC_CURRENT, buff); - FS_internal_start(SGstats.handle); + FS_start(SGstats.handle); return 0; } @@ -2081,12 +2067,12 @@ int maat_table_ex_init(const char* table_name, struct config_bucket_t *rte = cert_default_config(); - table_id= rte->table_id = maat_table_register(rte->feather, table_name); + table_id= rte->table_id = Maat_table_register(rte->feather, table_name); if(table_id<0) { goto finish; } - table_id=maat_plugin_EX_register(rte->feather, + table_id=Maat_plugin_EX_register(rte->feather, table_id, new_func,free_func, dup_func,NULL,0,NULL); @@ -2105,29 +2091,29 @@ int maat_feather_init() int effective_interval_ms = maat_t->effective_interval_s * 1000; - feather = maat_feather(rte->thread_nu, maat_t->info_path, logging_sc_lid.run_log_handle); + feather = Maat_feather(rte->thread_nu, maat_t->info_path, logging_sc_lid.run_log_handle); - maat_set_feather_opt(feather, MAAT_OPT_INSTANCE_NAME, "certstore", strlen("certstore") + 1); + Maat_set_feather_opt(feather, MAAT_OPT_INSTANCE_NAME, "certstore", strlen("certstore") + 1); if (maat_t->maat_json_switch == 1){ - maat_set_feather_opt(feather, MAAT_OPT_JSON_FILE_PATH, maat_t->pxy_path, strlen(maat_t->pxy_path)+1); + Maat_set_feather_opt(feather, MAAT_OPT_JSON_FILE_PATH, maat_t->pxy_path, strlen(maat_t->pxy_path)+1); } if (maat_t->maat_json_switch == 0){ - maat_set_feather_opt(feather, MAAT_OPT_FULL_CFG_DIR, maat_t->full_cfg_dir, strlen(maat_t->full_cfg_dir)+1); - maat_set_feather_opt(feather, MAAT_OPT_INC_CFG_DIR, maat_t->inc_cfg_dir, strlen(maat_t->inc_cfg_dir)+1); + Maat_set_feather_opt(feather, MAAT_OPT_FULL_CFG_DIR, maat_t->full_cfg_dir, strlen(maat_t->full_cfg_dir)+1); + Maat_set_feather_opt(feather, MAAT_OPT_INC_CFG_DIR, maat_t->inc_cfg_dir, strlen(maat_t->inc_cfg_dir)+1); } if (maat_t->maat_json_switch == 2){ - maat_set_feather_opt(feather, MAAT_OPT_REDIS_IP, rte->addr_t.maat_ip, strlen(rte->addr_t.maat_ip)+1); - maat_set_feather_opt(feather, MAAT_OPT_REDIS_PORT, &rte->addr_t.maat_port, sizeof(rte->addr_t.maat_port)); - maat_set_feather_opt(feather, MAAT_OPT_REDIS_INDEX, &rte->addr_t.dbindex, sizeof(rte->addr_t.dbindex)); + Maat_set_feather_opt(feather, MAAT_OPT_REDIS_IP, rte->addr_t.maat_ip, strlen(rte->addr_t.maat_ip)+1); + Maat_set_feather_opt(feather, MAAT_OPT_REDIS_PORT, &rte->addr_t.maat_port, sizeof(rte->addr_t.maat_port)); + Maat_set_feather_opt(feather, MAAT_OPT_REDIS_INDEX, &rte->addr_t.dbindex, sizeof(rte->addr_t.dbindex)); } - maat_set_feather_opt(feather, MAAT_OPT_SCANDIR_INTERVAL_MS,&scan_interval_ms, sizeof(scan_interval_ms)); - maat_set_feather_opt(feather, MAAT_OPT_EFFECT_INVERVAL_MS,&effective_interval_ms, sizeof(effective_interval_ms)); + Maat_set_feather_opt(feather, MAAT_OPT_SCANDIR_INTERVAL_MS,&scan_interval_ms, sizeof(scan_interval_ms)); + Maat_set_feather_opt(feather, MAAT_OPT_EFFECT_INVERVAL_MS,&effective_interval_ms, sizeof(effective_interval_ms)); /***/ const char* foregin_dir="./foreign_files/"; - maat_set_feather_opt(feather, MAAT_OPT_FOREIGN_CONT_DIR,foregin_dir, strlen(foregin_dir)+1); - ret = maat_initiate_feather(feather); + Maat_set_feather_opt(feather, MAAT_OPT_FOREIGN_CONT_DIR,foregin_dir, strlen(foregin_dir)+1); + ret = Maat_initiate_feather(feather); if (ret < 0) { mesa_runtime_log(RLOG_LV_FATAL, MODULE_NAME, "%s MAAT init failed.", __FUNCTION__); diff --git a/src/cert_store.c b/program/src/cert_store.cpp similarity index 63% rename from src/cert_store.c rename to program/src/cert_store.cpp index 6ccab36..1da481c 100644 --- a/src/cert_store.c +++ b/program/src/cert_store.cpp @@ -9,34 +9,29 @@ #include #include #include +#include #include "rt_string.h" #include "rt_common.h" -#include "cert_daemon.h" -#include "cert_conf.h" -#include "cert_session.h" +#include +#include #include "logging.h" -#include "MESA_prof_load.h" -/* GIT Release */ -#define CERT_GIT_RELEASE "1.1" +#include -#define MODE_TYPE(x) run_mode & x - -/* Configure Path */ -#if 0 -#define CERT_BASIC_CFG "/home/ceiec/certstore_run/conf/cert_store.ini" -#else #define CERT_BASIC_CFG "./conf/cert_store.ini" -#endif -#ifdef VERSION_TARGET -char *git_ver = VERSION_TARGET; +/* VERSION STRING */ +#ifdef TARGET_GIT_VERSION +static __attribute__((__used__)) const char * git_ver = TARGET_GIT_VERSION; #else -char *git_ver = "0" +static __attribute__((__used__)) const char * git_ver = "1.1"; #endif -static char* cert_revision() { return (CERT_GIT_RELEASE); } +const char * version() +{ + return git_ver; +} enum syslog_display_format{ FORMAT_CONSOLE, @@ -44,42 +39,6 @@ enum syslog_display_format{ FORMAT_SYSLOG }; -static int run_mode; - -static void help() -{ - printf("Welcome to certstore %s.%s\n", cert_revision(), VERSION_TARGET); - printf("cert_store <--normal|--daemon>\n" - "Usage:\n" - " --normal | Run the program in normal mode\n" - " --daemon | Run the program in daemon mode\n"); -} - -static void -cert_argv_parser(int argc, char **argv) -{ - int i; - - if (argc != 2){ - help(); - exit(0); - } - - for (i = 0; argv[i] != NULL; i++){ - /** run version parser */ - if (!STRCMP (argv[i], "--normal")){ - goto finish; - } - /** daemonize */ - if (!STRCMP(argv[i], "--daemon")){ - run_mode = 0x20; - goto finish; - } - } -finish: - return; -} - static void cert_preview () { @@ -112,19 +71,26 @@ void cert_preview () int main(int argc, char **argv) { - cert_argv_parser(argc, argv); - + int opt = 0; + while ((opt = getopt(argc, argv, "v")) != -1) + { + switch (opt) + { + case 'v': + fprintf(stderr, "Welcome to certstore, Version: %s\n", version()); + return 0; + default: + break; + } + } cert_syslog_init(CERT_BASIC_CFG); - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Cert server init success"); - cert_init_config(CERT_BASIC_CFG); - if (MODE_TYPE(0x20)){ - daemonize(); - } cert_preview(); - + + mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Cert server init success"); + cert_session_init(); signal(SIGINT, sigproc); diff --git a/release/ReadMe b/release/ReadMe deleted file mode 100644 index e69de29..0000000 diff --git a/ca/mesalab-ca-untrust.pem b/resource/cert/mesalab-ca-untrust.pem similarity index 100% rename from ca/mesalab-ca-untrust.pem rename to resource/cert/mesalab-ca-untrust.pem diff --git a/ca/mesalab-ca.pem b/resource/cert/mesalab-ca.pem similarity index 100% rename from ca/mesalab-ca.pem rename to resource/cert/mesalab-ca.pem diff --git a/ca/tango-ca-v3-trust-ca.pem b/resource/cert/tango-ca-v3-trust-ca.pem similarity index 100% rename from ca/tango-ca-v3-trust-ca.pem rename to resource/cert/tango-ca-v3-trust-ca.pem diff --git a/ca/tango-ca-v3-untrust-ca.pem b/resource/cert/tango-ca-v3-untrust-ca.pem similarity index 100% rename from ca/tango-ca-v3-untrust-ca.pem rename to resource/cert/tango-ca-v3-untrust-ca.pem diff --git a/conf/cert_store.ini b/resource/conf/cert_store.ini similarity index 99% rename from conf/cert_store.ini rename to resource/conf/cert_store.ini index d0bbd3c..d340bcc 100644 --- a/conf/cert_store.ini +++ b/resource/conf/cert_store.ini @@ -8,7 +8,7 @@ RUN_LOG_PATH = ./logs #Number of running threads thread-nu = 4 #1 rsync, 0 sync -mode=0 +mode=1 #Local default root certificate is valid for 30 days by default expire_after = 30 #Local default root certificate path diff --git a/conf/pxy_obj_keyring.json b/resource/conf/pxy_obj_keyring.json similarity index 100% rename from conf/pxy_obj_keyring.json rename to resource/conf/pxy_obj_keyring.json diff --git a/conf/table_info.conf b/resource/conf/table_info.conf similarity index 100% rename from conf/table_info.conf rename to resource/conf/table_info.conf diff --git a/src/package/Makefile b/resource/package/Makefile similarity index 100% rename from src/package/Makefile rename to resource/package/Makefile diff --git a/src/package/r2_certstore b/resource/package/r2_certstore similarity index 100% rename from src/package/r2_certstore rename to resource/package/r2_certstore diff --git a/src/package/r3_certstore b/resource/package/r3_certstore similarity index 100% rename from src/package/r3_certstore rename to resource/package/r3_certstore diff --git a/rule/full/COMPILE.local b/rule/full/COMPILE.local deleted file mode 100644 index d605788..0000000 --- a/rule/full/COMPILE.local +++ /dev/null @@ -1,2 +0,0 @@ -0000000001 -123 1 1 1 1 0 escaped\bdata:have\ba\bspace\band\ba\b\&\bsymbol. 1 diff --git a/rule/full/GROUP.local b/rule/full/GROUP.local deleted file mode 100644 index f583103..0000000 --- a/rule/full/GROUP.local +++ /dev/null @@ -1,3 +0,0 @@ -0000000002 -0 123 1 -1 123 1 diff --git a/rule/full/PXY_OBJ_KEYRING.local b/rule/full/PXY_OBJ_KEYRING.local deleted file mode 100644 index fba5fb5..0000000 --- a/rule/full/PXY_OBJ_KEYRING.local +++ /dev/null @@ -1,8 +0,0 @@ -0000000007 -1 1 name_01 root /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 15 rsa2048 null 1 -2 1 name_02 root /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 90 rsa2048 null 1 -3 1 name_03 root /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 1 -4 1 name_04 end-entity /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 1 -5 1 name_05 intermediate /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 0 -6 1 name_06 intermediate /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 1 -256 1 insec root /home/fengweihao/workspace/cert_store/ca/mesalab-insec-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-insec-cert.cer 30 rsa2048 null 1 diff --git a/rule/full/index/full_config_index.0000000001 b/rule/full/index/full_config_index.0000000001 deleted file mode 100644 index 26ac6b2..0000000 --- a/rule/full/index/full_config_index.0000000001 +++ /dev/null @@ -1,3 +0,0 @@ -COMPILE 1 ../rule/full/COMPILE.local -GROUP 2 ../rule/full/GROUP.local -PXY_OBJ_KEYRING 7 ../rule/full/PXY_OBJ_KEYRING.local diff --git a/rule/inc/COMPILE.local b/rule/inc/COMPILE.local deleted file mode 100644 index d605788..0000000 --- a/rule/inc/COMPILE.local +++ /dev/null @@ -1,2 +0,0 @@ -0000000001 -123 1 1 1 1 0 escaped\bdata:have\ba\bspace\band\ba\b\&\bsymbol. 1 diff --git a/rule/inc/GROUP.local b/rule/inc/GROUP.local deleted file mode 100644 index f583103..0000000 --- a/rule/inc/GROUP.local +++ /dev/null @@ -1,3 +0,0 @@ -0000000002 -0 123 1 -1 123 1 diff --git a/rule/inc/PXY_OBJ_KEYRING.local b/rule/inc/PXY_OBJ_KEYRING.local deleted file mode 100644 index fba5fb5..0000000 --- a/rule/inc/PXY_OBJ_KEYRING.local +++ /dev/null @@ -1,8 +0,0 @@ -0000000007 -1 1 name_01 root /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 15 rsa2048 null 1 -2 1 name_02 root /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 90 rsa2048 null 1 -3 1 name_03 root /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 1 -4 1 name_04 end-entity /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 1 -5 1 name_05 intermediate /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 0 -6 1 name_06 intermediate /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-ca-cert.cer 30 rsa2048 null 1 -256 1 insec root /home/fengweihao/workspace/cert_store/ca/mesalab-insec-cert.key /home/fengweihao/workspace/cert_store/ca/mesalab-insec-cert.cer 30 rsa2048 null 1 diff --git a/rule/inc/index/full_config_index.0000000002 b/rule/inc/index/full_config_index.0000000002 deleted file mode 100644 index ecb7c3a..0000000 --- a/rule/inc/index/full_config_index.0000000002 +++ /dev/null @@ -1,3 +0,0 @@ -COMPILE 1 ../rule/inc/COMPILE.local -GROUP 2 ../rule/inc/GROUP.local -PXY_OBJ_KEYRING 7 ../rule/inc/PXY_OBJ_KEYRING.local diff --git a/src/script/signssl.sh b/script/signssl.sh similarity index 100% rename from src/script/signssl.sh rename to script/signssl.sh diff --git a/script/tarball.sh b/script/tarball.sh new file mode 100644 index 0000000..962e153 --- /dev/null +++ b/script/tarball.sh @@ -0,0 +1,41 @@ +X=certstore-base +#X=certstore + +typeset -l version +version=`lsb_release -i -s` +version_id=`lsb_release -r -s` +machine=`uname -m` +issue_date=`date "+%Y%m%d"` + +tarball="$X-$2-$version$version_id-$machine-$issue_date".tar.gz + +do_mkdir(){ + if [ ! -d "../package" ]; then + mkdir ../package + fi + cd ../package + rm $X -rf + mkdir $X + mkdir $X/cert + mkdir $X/tool +} + +do_copy(){ + cp ../resource/conf/ $X -rf + cp ../resource/cert/* $X/cert + #cp ../rule/ $X -rf + cp ../build/program/certstore $X/certstore + cp ../resource/package/* $X + cp ../script/signssl.sh $X/tool + cp ../script/x509 $X/tool +} + +do_tarball(){ + tar -zcvf $1 $X + rm $X -rf + echo "`date` BUILD=$X COMMIT=$2 ARCHIVE=$tarball" >> release.log +} + +do_mkdir +do_copy $1 +do_tarball $tarball diff --git a/src/script/x509 b/script/x509 similarity index 100% rename from src/script/x509 rename to script/x509 diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index be8bf7e..0000000 --- a/src/Makefile +++ /dev/null @@ -1,87 +0,0 @@ - -ifndef CERT_ROOT -CERT_ROOT = .. -endif - -MAJOR="1.0" -BUILD=$(shell git log | grep -cE 'Author:.*<.*@.*>') -BUILDSHA=$(shell git rev-parse --short HEAD) -BUILD_FINGERPRINT=$(MAJOR).$(BUILD).$(BUILDSHA) - -VERSION_TARGET:=$(BUILDSHA) -# Default simulation parameters -NUM_PROCESSORS=1 - -#SPASR_ARCH_TARGET:=linux_64 - -TARGET = cert_store - -all: ${TARGET} - -# standard common Makefile fragment -include $(CERT_ROOT)/make/common.mk - -# 3RD library path -LIB_PATH := $(CERT_ROOT)/libs - -# application specification - -dir := . -OBJS := \ - $(OBJ_DIR)/cert_store.o \ - $(OBJ_DIR)/cert_conf.o \ - $(OBJ_DIR)/cert_daemon.o\ - $(OBJ_DIR)/cert_session.o\ - -dir := ./components/syslogd -include $(dir)/syslog.mk -OBJS += $(OBJS_$(dir)) - -dir := ./components/json -include $(dir)/json.mk -OBJS += $(OBJS_$(dir)) - -dir := ./rt -include $(dir)/rt.mk -OBJS += $(OBJS_$(dir)) - -dir := ./inc -include $(dir)/inc.mk -OBJS += $(OBJS_$(dir)) - -LDFLAGS_GLOBAL += -L ./lib -lcrypto -lssl -levent -lhiredis -LDFLAGS_GLOBAL += -L ./lib -lMESA_htable -lMESA_field_stat2 -lMESA_handle_logger -lMESA_prof_load -LDFLAGS_GLOBAL += \ - -lpthread -lcrypt -lm -lz -ldl -luuid -lmaatframe -lstdc++ - -CFLAGS_LOCAL = -std=gnu99 -g -O3 -W -Wall \ - -I.\ - -I./components/syslogd\ - -I./components/libevent\ - -I./components/redis\ - -I./components/openssl\ - -I./components/json\ - -I./rt \ - -I./inc \ - -DEPS := $(objs:.o=.d) - -CFLAGS_GLOBAL += -DVERSION_TARGET=\"$(VERSION_TARGET)\" - -CLEAN_LIST := $(CLEAN_LIST) $(OBJS) $(DEPS) $(TARGET_LIB) $(OBJ_DIR) - -$(OBJ_DIR)/%.o: $(d)/%.c - $(COMPILE) - -include $(CERT_ROOT)/make/application.mk - -tarball: cert_store - sh script/tarball.sh $(TARGET) $(MAJOR).$(BUILD) $(BUILDSHA) -clean: - rm -rf $(CLEAN_LIST) - rm -f $(TARGET) - rm -rf package/bin package/lib package/etc - -clobber: clean - rm -rf $(OBJ_DIR) - diff --git a/src/cert_daemon.c b/src/cert_daemon.c deleted file mode 100644 index 116c945..0000000 --- a/src/cert_daemon.c +++ /dev/null @@ -1,120 +0,0 @@ -/************************************************************************* - > File Name: cert_daemon.c - > Author: fengweihao - > Mail: - > Created Time: Tue 29 May 2018 11:12:46 PM PDT - ************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "logging.h" - -static volatile sig_atomic_t sigflag = 0; - -static void SignalHandlerSigusr1 (__attribute__((unused))int signo) { - sigflag = 1; -} - -/** - * \brief Tell the parent process the child is ready - * - * \param pid pid of the parent process to signal - */ -static void TellWaitingParent (pid_t pid) { - kill(pid, SIGUSR1); -} - -/** - * \brief Set the parent on stand-by until the child is ready - * - * \param pid pid of the child process to wait - */ -static void WaitForChild (pid_t pid) { - int status; - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Daemon: Parent waiting for child to be ready..."); - /* Wait until child signals is ready */ - while (sigflag == 0) { - if (waitpid(pid, &status, WNOHANG)) { - /* Check if the child is still there, otherwise the parent should exit */ - if (WIFEXITED(status) || WIFSIGNALED(status)) { - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Child died unexpectedly"); - exit(EXIT_FAILURE); - } - } - /* sigsuspend(); */ - sleep(1); - } -} -/** - * \brief Close stdin, stdout, stderr.Redirect logging info to syslog - * - */ -static void SetupLogging (void) { - /* Redirect stdin, stdout, stderr to /dev/null */ - int fd = open("/dev/null", O_RDWR); - if (fd < 0) - return; - if (dup2(fd, 0) < 0) - return; - if (dup2(fd, 1) < 0) - return; - if (dup2(fd, 2) < 0) - return; - close(fd); -} - -/** - * \brief Daemonize the process - * - */ -void daemonize (void) { - pid_t pid, sid; - - signal(SIGUSR1, SignalHandlerSigusr1); - /** \todo We should check if wie allow more than 1 instance - to run simultaneously. Maybe change the behaviour - through conf file */ - - /* Creates a new process */ - pid = fork(); - - if (pid < 0) { - /* Fork error */ - exit(EXIT_FAILURE); - } else if (pid == 0) { - /* Child continues here */ - umask(027); - - sid = setsid(); - if (sid < 0) { - exit(EXIT_FAILURE); - } - - if (chdir("/") < 0) { - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Error changing to working directory '/'"); - } - - SetupLogging(); - - /* Child is ready, tell its parent */ - TellWaitingParent(getppid()); - - /* Daemon is up and running */ - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Daemon is running"); - return; - } - /* Parent continues here, waiting for child to be ready */ - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Parent is waiting for child to be ready"); - WaitForChild(pid); - - /* Parent exits */ - mesa_runtime_log(RLOG_LV_INFO, MODULE_NAME, "Child is ready, parent exiting"); - exit(EXIT_SUCCESS); -} diff --git a/src/cert_session.h b/src/cert_session.h deleted file mode 100644 index 0396898..0000000 --- a/src/cert_session.h +++ /dev/null @@ -1,56 +0,0 @@ -/************************************************************************* - > File Name: cert_session.h - > Author: - > Mail: - > Created Time: Fri 01 Jun 2018 02:01:08 AM PDT - ************************************************************************/ - -#ifndef _CERT_SESSION_H -#define _CERT_SESSION_H - -#include "event_struct.h" -#include "MESA_list_queue.h" -#include "rt_sync.h" - -struct x509_object_ctx -{ - X509 *root; - EVP_PKEY *key; - - X509 *insec_root; - EVP_PKEY *insec_key; -}; - -typedef struct { - int id; - - rt_pthread pid; /* unique ID of this thread */ - - evutil_socket_t accept_fd; - - rt_pthread_attr *attr; - - struct event_base *base; - - struct x509_object_ctx def; - - struct redisAsyncContext *cl_ctx; - - struct redisContext *sync; - - void * (*routine)(void *); /** Executive entry */ - - int field_ids; /* dispaly */ - - int column_ids; - - uint64_t diffTime; - -} cert_thread_ctx; - -int cert_session_init(); - -void sigproc(int __attribute__((__unused__))sig); - -#endif - diff --git a/src/components/json/json.mk b/src/components/json/json.mk deleted file mode 100644 index 82d82ab..0000000 --- a/src/components/json/json.mk +++ /dev/null @@ -1,45 +0,0 @@ - - -# standard component Makefile header -sp := $(sp).x -dirstack_$(sp) := $(d) -d := $(dir) - -# component specification - -OBJS_$(d) :=\ - $(OBJ_DIR)/arraylist.o\ - $(OBJ_DIR)/debug.o\ - $(OBJ_DIR)/json_c_version.o\ - $(OBJ_DIR)/json_object.o\ - $(OBJ_DIR)/json_object_iterator.o\ - $(OBJ_DIR)/json_tokener.o\ - $(OBJ_DIR)/json_util.o\ - $(OBJ_DIR)/libjson.o\ - $(OBJ_DIR)/linkhash.o\ - $(OBJ_DIR)/parse_flags.o\ - $(OBJ_DIR)/printbuf.o\ - $(OBJ_DIR)/json_checker.o\ - $(OBJ_DIR)/random_seed.o - - -CFLAGS_LOCAL += -I$(d) -$(OBJS_$(d)): CFLAGS_LOCAL := -std=gnu99 -g -O3\ - -I$(d) - - -# standard component Makefile rules - -DEPS_$(d) := $(OBJS_$(d):.o=.d) - -CLEAN_LIST := $(CLEAN_LIST) $(OBJS_$(d)) $(DEPS_$(d)) - -$(OBJ_DIR)/%.o: $(d)/%.c - $(COMPILE) - --include $(DEPS_$(d)) - -# standard component Makefile footer - -d := $(dirstack_$(sp)) -sp := $(basename $(sp)) diff --git a/src/components/libevent/TFX3C1D.tmp b/src/components/libevent/TFX3C1D.tmp deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/libevent/buffer.h b/src/components/libevent/buffer.h deleted file mode 100644 index 67df9ef..0000000 --- a/src/components/libevent/buffer.h +++ /dev/null @@ -1,1076 +0,0 @@ -/* - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_BUFFER_H_INCLUDED_ -#define EVENT2_BUFFER_H_INCLUDED_ - -/** @file event2/buffer.h - - Functions for buffering data for network sending or receiving. - - An evbuffer can be used for preparing data before sending it to - the network or conversely for reading data from the network. - Evbuffers try to avoid memory copies as much as possible. As a - result, evbuffers can be used to pass data around without actually - incurring the overhead of copying the data. - - A new evbuffer can be allocated with evbuffer_new(), and can be - freed with evbuffer_free(). Most users will be using evbuffers via - the bufferevent interface. To access a bufferevent's evbuffers, use - bufferevent_get_input() and bufferevent_get_output(). - - There are several guidelines for using evbuffers. - - - if you already know how much data you are going to add as a result - of calling evbuffer_add() multiple times, it makes sense to use - evbuffer_expand() first to make sure that enough memory is allocated - before hand. - - - evbuffer_add_buffer() adds the contents of one buffer to the other - without incurring any unnecessary memory copies. - - - evbuffer_add() and evbuffer_add_buffer() do not mix very well: - if you use them, you will wind up with fragmented memory in your - buffer. - - - For high-performance code, you may want to avoid copying data into and out - of buffers. You can skip the copy step by using - evbuffer_reserve_space()/evbuffer_commit_space() when writing into a - buffer, and evbuffer_peek() when reading. - - In Libevent 2.0 and later, evbuffers are represented using a linked - list of memory chunks, with pointers to the first and last chunk in - the chain. - - As the contents of an evbuffer can be stored in multiple different - memory blocks, it cannot be accessed directly. Instead, evbuffer_pullup() - can be used to force a specified number of bytes to be contiguous. This - will cause memory reallocation and memory copies if the data is split - across multiple blocks. It is more efficient, however, to use - evbuffer_peek() if you don't require that the memory to be contiguous. - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_UIO_H -#include -#endif -#include - -/** - An evbuffer is an opaque data type for efficiently buffering data to be - sent or received on the network. - - @see event2/event.h for more information -*/ -struct evbuffer -#ifdef EVENT_IN_DOXYGEN_ -{} -#endif -; - -/** - Pointer to a position within an evbuffer. - - Used when repeatedly searching through a buffer. Calling any function - that modifies or re-packs the buffer contents may invalidate all - evbuffer_ptrs for that buffer. Do not modify or contruct these values - except with evbuffer_ptr_set. - - An evbuffer_ptr can represent any position from the start of a buffer up - to a position immediately after the end of a buffer. - - @see evbuffer_ptr_set() - */ -struct evbuffer_ptr { - ev_ssize_t pos; - - /* Do not alter or rely on the values of fields: they are for internal - * use */ - struct { - void *chain; - size_t pos_in_chain; - } internal_; -}; - -/** Describes a single extent of memory inside an evbuffer. Used for - direct-access functions. - - @see evbuffer_reserve_space, evbuffer_commit_space, evbuffer_peek - */ -#ifdef EVENT__HAVE_SYS_UIO_H -#define evbuffer_iovec iovec -/* Internal use -- defined only if we are using the native struct iovec */ -#define EVBUFFER_IOVEC_IS_NATIVE_ -#else -struct evbuffer_iovec { - /** The start of the extent of memory. */ - void *iov_base; - /** The length of the extent of memory. */ - size_t iov_len; -}; -#endif - -/** - Allocate storage for a new evbuffer. - - @return a pointer to a newly allocated evbuffer struct, or NULL if an error - occurred - */ -EVENT2_EXPORT_SYMBOL -struct evbuffer *evbuffer_new(void); -/** - Deallocate storage for an evbuffer. - - @param buf pointer to the evbuffer to be freed - */ -EVENT2_EXPORT_SYMBOL -void evbuffer_free(struct evbuffer *buf); - -/** - Enable locking on an evbuffer so that it can safely be used by multiple - threads at the same time. - - NOTE: when locking is enabled, the lock will be held when callbacks are - invoked. This could result in deadlock if you aren't careful. Plan - accordingly! - - @param buf An evbuffer to make lockable. - @param lock A lock object, or NULL if we should allocate our own. - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_enable_locking(struct evbuffer *buf, void *lock); - -/** - Acquire the lock on an evbuffer. Has no effect if locking was not enabled - with evbuffer_enable_locking. -*/ -EVENT2_EXPORT_SYMBOL -void evbuffer_lock(struct evbuffer *buf); - -/** - Release the lock on an evbuffer. Has no effect if locking was not enabled - with evbuffer_enable_locking. -*/ -EVENT2_EXPORT_SYMBOL -void evbuffer_unlock(struct evbuffer *buf); - - -/** If this flag is set, then we will not use evbuffer_peek(), - * evbuffer_remove(), evbuffer_remove_buffer(), and so on to read bytes - * from this buffer: we'll only take bytes out of this buffer by - * writing them to the network (as with evbuffer_write_atmost), by - * removing them without observing them (as with evbuffer_drain), - * or by copying them all out at once (as with evbuffer_add_buffer). - * - * Using this option allows the implementation to use sendfile-based - * operations for evbuffer_add_file(); see that function for more - * information. - * - * This flag is on by default for bufferevents that can take advantage - * of it; you should never actually need to set it on a bufferevent's - * output buffer. - */ -#define EVBUFFER_FLAG_DRAINS_TO_FD 1 - -/** Change the flags that are set for an evbuffer by adding more. - * - * @param buffer the evbuffer that the callback is watching. - * @param cb the callback whose status we want to change. - * @param flags One or more EVBUFFER_FLAG_* options - * @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_set_flags(struct evbuffer *buf, ev_uint64_t flags); -/** Change the flags that are set for an evbuffer by removing some. - * - * @param buffer the evbuffer that the callback is watching. - * @param cb the callback whose status we want to change. - * @param flags One or more EVBUFFER_FLAG_* options - * @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_clear_flags(struct evbuffer *buf, ev_uint64_t flags); - -/** - Returns the total number of bytes stored in the evbuffer - - @param buf pointer to the evbuffer - @return the number of bytes stored in the evbuffer -*/ -EVENT2_EXPORT_SYMBOL -size_t evbuffer_get_length(const struct evbuffer *buf); - -/** - Returns the number of contiguous available bytes in the first buffer chain. - - This is useful when processing data that might be split into multiple - chains, or that might all be in the first chain. Calls to - evbuffer_pullup() that cause reallocation and copying of data can thus be - avoided. - - @param buf pointer to the evbuffer - @return 0 if no data is available, otherwise the number of available bytes - in the first buffer chain. -*/ -EVENT2_EXPORT_SYMBOL -size_t evbuffer_get_contiguous_space(const struct evbuffer *buf); - -/** - Expands the available space in an evbuffer. - - Expands the available space in the evbuffer to at least datlen, so that - appending datlen additional bytes will not require any new allocations. - - @param buf the evbuffer to be expanded - @param datlen the new minimum length requirement - @return 0 if successful, or -1 if an error occurred -*/ -EVENT2_EXPORT_SYMBOL -int evbuffer_expand(struct evbuffer *buf, size_t datlen); - -/** - Reserves space in the last chain or chains of an evbuffer. - - Makes space available in the last chain or chains of an evbuffer that can - be arbitrarily written to by a user. The space does not become - available for reading until it has been committed with - evbuffer_commit_space(). - - The space is made available as one or more extents, represented by - an initial pointer and a length. You can force the memory to be - available as only one extent. Allowing more extents, however, makes the - function more efficient. - - Multiple subsequent calls to this function will make the same space - available until evbuffer_commit_space() has been called. - - It is an error to do anything that moves around the buffer's internal - memory structures before committing the space. - - NOTE: The code currently does not ever use more than two extents. - This may change in future versions. - - @param buf the evbuffer in which to reserve space. - @param size how much space to make available, at minimum. The - total length of the extents may be greater than the requested - length. - @param vec an array of one or more evbuffer_iovec structures to - hold pointers to the reserved extents of memory. - @param n_vec The length of the vec array. Must be at least 1; - 2 is more efficient. - @return the number of provided extents, or -1 on error. - @see evbuffer_commit_space() -*/ -EVENT2_EXPORT_SYMBOL -int -evbuffer_reserve_space(struct evbuffer *buf, ev_ssize_t size, - struct evbuffer_iovec *vec, int n_vec); - -/** - Commits previously reserved space. - - Commits some of the space previously reserved with - evbuffer_reserve_space(). It then becomes available for reading. - - This function may return an error if the pointer in the extents do - not match those returned from evbuffer_reserve_space, or if data - has been added to the buffer since the space was reserved. - - If you want to commit less data than you got reserved space for, - modify the iov_len pointer of the appropriate extent to a smaller - value. Note that you may have received more space than you - requested if it was available! - - @param buf the evbuffer in which to reserve space. - @param vec one or two extents returned by evbuffer_reserve_space. - @param n_vecs the number of extents. - @return 0 on success, -1 on error - @see evbuffer_reserve_space() -*/ -EVENT2_EXPORT_SYMBOL -int evbuffer_commit_space(struct evbuffer *buf, - struct evbuffer_iovec *vec, int n_vecs); - -/** - Append data to the end of an evbuffer. - - @param buf the evbuffer to be appended to - @param data pointer to the beginning of the data buffer - @param datlen the number of bytes to be copied from the data buffer - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add(struct evbuffer *buf, const void *data, size_t datlen); - - -/** - Read data from an evbuffer and drain the bytes read. - - If more bytes are requested than are available in the evbuffer, we - only extract as many bytes as were available. - - @param buf the evbuffer to be read from - @param data the destination buffer to store the result - @param datlen the maximum size of the destination buffer - @return the number of bytes read, or -1 if we can't drain the buffer. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_remove(struct evbuffer *buf, void *data, size_t datlen); - -/** - Read data from an evbuffer, and leave the buffer unchanged. - - If more bytes are requested than are available in the evbuffer, we - only extract as many bytes as were available. - - @param buf the evbuffer to be read from - @param data_out the destination buffer to store the result - @param datlen the maximum size of the destination buffer - @return the number of bytes read, or -1 if we can't drain the buffer. - */ -EVENT2_EXPORT_SYMBOL -ev_ssize_t evbuffer_copyout(struct evbuffer *buf, void *data_out, size_t datlen); - -/** - Read data from the middle of an evbuffer, and leave the buffer unchanged. - - If more bytes are requested than are available in the evbuffer, we - only extract as many bytes as were available. - - @param buf the evbuffer to be read from - @param pos the position to start reading from - @param data_out the destination buffer to store the result - @param datlen the maximum size of the destination buffer - @return the number of bytes read, or -1 if we can't drain the buffer. - */ -EVENT2_EXPORT_SYMBOL -ev_ssize_t evbuffer_copyout_from(struct evbuffer *buf, const struct evbuffer_ptr *pos, void *data_out, size_t datlen); - -/** - Read data from an evbuffer into another evbuffer, draining - the bytes from the source buffer. This function avoids copy - operations to the extent possible. - - If more bytes are requested than are available in src, the src - buffer is drained completely. - - @param src the evbuffer to be read from - @param dst the destination evbuffer to store the result into - @param datlen the maximum numbers of bytes to transfer - @return the number of bytes read - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_remove_buffer(struct evbuffer *src, struct evbuffer *dst, - size_t datlen); - -/** Used to tell evbuffer_readln what kind of line-ending to look for. - */ -enum evbuffer_eol_style { - /** Any sequence of CR and LF characters is acceptable as an - * EOL. - * - * Note that this style can produce ambiguous results: the - * sequence "CRLF" will be treated as a single EOL if it is - * all in the buffer at once, but if you first read a CR from - * the network and later read an LF from the network, it will - * be treated as two EOLs. - */ - EVBUFFER_EOL_ANY, - /** An EOL is an LF, optionally preceded by a CR. This style is - * most useful for implementing text-based internet protocols. */ - EVBUFFER_EOL_CRLF, - /** An EOL is a CR followed by an LF. */ - EVBUFFER_EOL_CRLF_STRICT, - /** An EOL is a LF. */ - EVBUFFER_EOL_LF, - /** An EOL is a NUL character (that is, a single byte with value 0) */ - EVBUFFER_EOL_NUL -}; - -/** - * Read a single line from an evbuffer. - * - * Reads a line terminated by an EOL as determined by the evbuffer_eol_style - * argument. Returns a newly allocated nul-terminated string; the caller must - * free the returned value. The EOL is not included in the returned string. - * - * @param buffer the evbuffer to read from - * @param n_read_out if non-NULL, points to a size_t that is set to the - * number of characters in the returned string. This is useful for - * strings that can contain NUL characters. - * @param eol_style the style of line-ending to use. - * @return pointer to a single line, or NULL if an error occurred - */ -EVENT2_EXPORT_SYMBOL -char *evbuffer_readln(struct evbuffer *buffer, size_t *n_read_out, - enum evbuffer_eol_style eol_style); - -/** - Move all data from one evbuffer into another evbuffer. - - This is a destructive add. The data from one buffer moves into - the other buffer. However, no unnecessary memory copies occur. - - @param outbuf the output buffer - @param inbuf the input buffer - @return 0 if successful, or -1 if an error occurred - - @see evbuffer_remove_buffer() - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add_buffer(struct evbuffer *outbuf, struct evbuffer *inbuf); - -/** - Copy data from one evbuffer into another evbuffer. - - This is a non-destructive add. The data from one buffer is copied - into the other buffer. However, no unnecessary memory copies occur. - - Note that buffers already containing buffer references can't be added - to other buffers. - - @param outbuf the output buffer - @param inbuf the input buffer - @return 0 if successful, or -1 if an error occurred - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add_buffer_reference(struct evbuffer *outbuf, - struct evbuffer *inbuf); - -/** - A cleanup function for a piece of memory added to an evbuffer by - reference. - - @see evbuffer_add_reference() - */ -typedef void (*evbuffer_ref_cleanup_cb)(const void *data, - size_t datalen, void *extra); - -/** - Reference memory into an evbuffer without copying. - - The memory needs to remain valid until all the added data has been - read. This function keeps just a reference to the memory without - actually incurring the overhead of a copy. - - @param outbuf the output buffer - @param data the memory to reference - @param datlen how memory to reference - @param cleanupfn callback to be invoked when the memory is no longer - referenced by this evbuffer. - @param cleanupfn_arg optional argument to the cleanup callback - @return 0 if successful, or -1 if an error occurred - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add_reference(struct evbuffer *outbuf, - const void *data, size_t datlen, - evbuffer_ref_cleanup_cb cleanupfn, void *cleanupfn_arg); - -/** - Copy data from a file into the evbuffer for writing to a socket. - - This function avoids unnecessary data copies between userland and - kernel. If sendfile is available and the EVBUFFER_FLAG_DRAINS_TO_FD - flag is set, it uses those functions. Otherwise, it tries to use - mmap (or CreateFileMapping on Windows). - - The function owns the resulting file descriptor and will close it - when finished transferring data. - - The results of using evbuffer_remove() or evbuffer_pullup() on - evbuffers whose data was added using this function are undefined. - - For more fine-grained control, use evbuffer_add_file_segment. - - @param outbuf the output buffer - @param fd the file descriptor - @param offset the offset from which to read data - @param length how much data to read, or -1 to read as much as possible. - (-1 requires that 'fd' support fstat.) - @return 0 if successful, or -1 if an error occurred -*/ - -EVENT2_EXPORT_SYMBOL -int evbuffer_add_file(struct evbuffer *outbuf, int fd, ev_off_t offset, - ev_off_t length); - -/** - An evbuffer_file_segment holds a reference to a range of a file -- - possibly the whole file! -- for use in writing from an evbuffer to a - socket. It could be implemented with mmap, sendfile, splice, or (if all - else fails) by just pulling all the data into RAM. A single - evbuffer_file_segment can be added more than once, and to more than one - evbuffer. - */ -struct evbuffer_file_segment; - -/** - Flag for creating evbuffer_file_segment: If this flag is set, then when - the evbuffer_file_segment is freed and no longer in use by any - evbuffer, the underlying fd is closed. - */ -#define EVBUF_FS_CLOSE_ON_FREE 0x01 -/** - Flag for creating evbuffer_file_segment: Disable memory-map based - implementations. - */ -#define EVBUF_FS_DISABLE_MMAP 0x02 -/** - Flag for creating evbuffer_file_segment: Disable direct fd-to-fd - implementations (including sendfile and splice). - - You might want to use this option if data needs to be taken from the - evbuffer by any means other than writing it to the network: the sendfile - backend is fast, but it only works for sending files directly to the - network. - */ -#define EVBUF_FS_DISABLE_SENDFILE 0x04 -/** - Flag for creating evbuffer_file_segment: Do not allocate a lock for this - segment. If this option is set, then neither the segment nor any - evbuffer it is added to may ever be accessed from more than one thread - at a time. - */ -#define EVBUF_FS_DISABLE_LOCKING 0x08 - -/** - A cleanup function for a evbuffer_file_segment added to an evbuffer - for reference. - */ -typedef void (*evbuffer_file_segment_cleanup_cb)( - struct evbuffer_file_segment const* seg, int flags, void* arg); - -/** - Create and return a new evbuffer_file_segment for reading data from a - file and sending it out via an evbuffer. - - This function avoids unnecessary data copies between userland and - kernel. Where available, it uses sendfile or splice. - - The file descriptor must not be closed so long as any evbuffer is using - this segment. - - The results of using evbuffer_remove() or evbuffer_pullup() or any other - function that reads bytes from an evbuffer on any evbuffer containing - the newly returned segment are undefined, unless you pass the - EVBUF_FS_DISABLE_SENDFILE flag to this function. - - @param fd an open file to read from. - @param offset an index within the file at which to start reading - @param length how much data to read, or -1 to read as much as possible. - (-1 requires that 'fd' support fstat.) - @param flags any number of the EVBUF_FS_* flags - @return a new evbuffer_file_segment, or NULL on failure. - **/ -EVENT2_EXPORT_SYMBOL -struct evbuffer_file_segment *evbuffer_file_segment_new( - int fd, ev_off_t offset, ev_off_t length, unsigned flags); - -/** - Free an evbuffer_file_segment - - It is safe to call this function even if the segment has been added to - one or more evbuffers. The evbuffer_file_segment will not be freed - until no more references to it exist. - */ -EVENT2_EXPORT_SYMBOL -void evbuffer_file_segment_free(struct evbuffer_file_segment *seg); - -/** - Add cleanup callback and argument for the callback to an - evbuffer_file_segment. - - The cleanup callback will be invoked when no more references to the - evbuffer_file_segment exist. - **/ -EVENT2_EXPORT_SYMBOL -void evbuffer_file_segment_add_cleanup_cb(struct evbuffer_file_segment *seg, - evbuffer_file_segment_cleanup_cb cb, void* arg); - -/** - Insert some or all of an evbuffer_file_segment at the end of an evbuffer - - Note that the offset and length parameters of this function have a - different meaning from those provided to evbuffer_file_segment_new: When - you create the segment, the offset is the offset _within the file_, and - the length is the length _of the segment_, whereas when you add a - segment to an evbuffer, the offset is _within the segment_ and the - length is the length of the _part of the segment you want to use. - - In other words, if you have a 10 KiB file, and you create an - evbuffer_file_segment for it with offset 20 and length 1000, it will - refer to bytes 20..1019 inclusive. If you then pass this segment to - evbuffer_add_file_segment and specify an offset of 20 and a length of - 50, you will be adding bytes 40..99 inclusive. - - @param buf the evbuffer to append to - @param seg the segment to add - @param offset the offset within the segment to start from - @param length the amount of data to add, or -1 to add it all. - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add_file_segment(struct evbuffer *buf, - struct evbuffer_file_segment *seg, ev_off_t offset, ev_off_t length); - -/** - Append a formatted string to the end of an evbuffer. - - The string is formated as printf. - - @param buf the evbuffer that will be appended to - @param fmt a format string - @param ... arguments that will be passed to printf(3) - @return The number of bytes added if successful, or -1 if an error occurred. - - @see evutil_printf(), evbuffer_add_vprintf() - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add_printf(struct evbuffer *buf, const char *fmt, ...) -#ifdef __GNUC__ - __attribute__((format(printf, 2, 3))) -#endif -; - -/** - Append a va_list formatted string to the end of an evbuffer. - - @param buf the evbuffer that will be appended to - @param fmt a format string - @param ap a varargs va_list argument array that will be passed to vprintf(3) - @return The number of bytes added if successful, or -1 if an error occurred. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_add_vprintf(struct evbuffer *buf, const char *fmt, va_list ap) -#ifdef __GNUC__ - __attribute__((format(printf, 2, 0))) -#endif -; - - -/** - Remove a specified number of bytes data from the beginning of an evbuffer. - - @param buf the evbuffer to be drained - @param len the number of bytes to drain from the beginning of the buffer - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_drain(struct evbuffer *buf, size_t len); - - -/** - Write the contents of an evbuffer to a file descriptor. - - The evbuffer will be drained after the bytes have been successfully written. - - @param buffer the evbuffer to be written and drained - @param fd the file descriptor to be written to - @return the number of bytes written, or -1 if an error occurred - @see evbuffer_read() - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_write(struct evbuffer *buffer, evutil_socket_t fd); - -/** - Write some of the contents of an evbuffer to a file descriptor. - - The evbuffer will be drained after the bytes have been successfully written. - - @param buffer the evbuffer to be written and drained - @param fd the file descriptor to be written to - @param howmuch the largest allowable number of bytes to write, or -1 - to write as many bytes as we can. - @return the number of bytes written, or -1 if an error occurred - @see evbuffer_read() - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_write_atmost(struct evbuffer *buffer, evutil_socket_t fd, - ev_ssize_t howmuch); - -/** - Read from a file descriptor and store the result in an evbuffer. - - @param buffer the evbuffer to store the result - @param fd the file descriptor to read from - @param howmuch the number of bytes to be read - @return the number of bytes read, or -1 if an error occurred - @see evbuffer_write() - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_read(struct evbuffer *buffer, evutil_socket_t fd, int howmuch); - -/** - Search for a string within an evbuffer. - - @param buffer the evbuffer to be searched - @param what the string to be searched for - @param len the length of the search string - @param start NULL or a pointer to a valid struct evbuffer_ptr. - @return a struct evbuffer_ptr whose 'pos' field has the offset of the - first occurrence of the string in the buffer after 'start'. The 'pos' - field of the result is -1 if the string was not found. - */ -EVENT2_EXPORT_SYMBOL -struct evbuffer_ptr evbuffer_search(struct evbuffer *buffer, const char *what, size_t len, const struct evbuffer_ptr *start); - -/** - Search for a string within part of an evbuffer. - - @param buffer the evbuffer to be searched - @param what the string to be searched for - @param len the length of the search string - @param start NULL or a pointer to a valid struct evbuffer_ptr that - indicates where we should start searching. - @param end NULL or a pointer to a valid struct evbuffer_ptr that - indicates where we should stop searching. - @return a struct evbuffer_ptr whose 'pos' field has the offset of the - first occurrence of the string in the buffer after 'start'. The 'pos' - field of the result is -1 if the string was not found. - */ -EVENT2_EXPORT_SYMBOL -struct evbuffer_ptr evbuffer_search_range(struct evbuffer *buffer, const char *what, size_t len, const struct evbuffer_ptr *start, const struct evbuffer_ptr *end); - -/** - Defines how to adjust an evbuffer_ptr by evbuffer_ptr_set() - - @see evbuffer_ptr_set() */ -enum evbuffer_ptr_how { - /** Sets the pointer to the position; can be called on with an - uninitialized evbuffer_ptr. */ - EVBUFFER_PTR_SET, - /** Advances the pointer by adding to the current position. */ - EVBUFFER_PTR_ADD -}; - -/** - Sets the search pointer in the buffer to position. - - There are two ways to use this function: you can call - evbuffer_ptr_set(buf, &pos, N, EVBUFFER_PTR_SET) - to move 'pos' to a position 'N' bytes after the start of the buffer, or - evbuffer_ptr_set(buf, &pos, N, EVBUFFER_PTR_ADD) - to move 'pos' forward by 'N' bytes. - - If evbuffer_ptr is not initialized, this function can only be called - with EVBUFFER_PTR_SET. - - An evbuffer_ptr can represent any position from the start of the buffer to - a position immediately after the end of the buffer. - - @param buffer the evbuffer to be search - @param ptr a pointer to a struct evbuffer_ptr - @param position the position at which to start the next search - @param how determines how the pointer should be manipulated. - @returns 0 on success or -1 otherwise -*/ -EVENT2_EXPORT_SYMBOL -int -evbuffer_ptr_set(struct evbuffer *buffer, struct evbuffer_ptr *ptr, - size_t position, enum evbuffer_ptr_how how); - -/** - Search for an end-of-line string within an evbuffer. - - @param buffer the evbuffer to be searched - @param start NULL or a pointer to a valid struct evbuffer_ptr to start - searching at. - @param eol_len_out If non-NULL, the pointed-to value will be set to - the length of the end-of-line string. - @param eol_style The kind of EOL to look for; see evbuffer_readln() for - more information - @return a struct evbuffer_ptr whose 'pos' field has the offset of the - first occurrence EOL in the buffer after 'start'. The 'pos' - field of the result is -1 if the string was not found. - */ -EVENT2_EXPORT_SYMBOL -struct evbuffer_ptr evbuffer_search_eol(struct evbuffer *buffer, - struct evbuffer_ptr *start, size_t *eol_len_out, - enum evbuffer_eol_style eol_style); - -/** Function to peek at data inside an evbuffer without removing it or - copying it out. - - Pointers to the data are returned by filling the 'vec_out' array - with pointers to one or more extents of data inside the buffer. - - The total data in the extents that you get back may be more than - you requested (if there is more data last extent than you asked - for), or less (if you do not provide enough evbuffer_iovecs, or if - the buffer does not have as much data as you asked to see). - - @param buffer the evbuffer to peek into, - @param len the number of bytes to try to peek. If len is negative, we - will try to fill as much of vec_out as we can. If len is negative - and vec_out is not provided, we return the number of evbuffer_iovecs - that would be needed to get all the data in the buffer. - @param start_at an evbuffer_ptr indicating the point at which we - should start looking for data. NULL means, "At the start of the - buffer." - @param vec_out an array of evbuffer_iovec - @param n_vec the length of vec_out. If 0, we only count how many - extents would be necessary to point to the requested amount of - data. - @return The number of extents needed. This may be less than n_vec - if we didn't need all the evbuffer_iovecs we were given, or more - than n_vec if we would need more to return all the data that was - requested. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_peek(struct evbuffer *buffer, ev_ssize_t len, - struct evbuffer_ptr *start_at, - struct evbuffer_iovec *vec_out, int n_vec); - - -/** Structure passed to an evbuffer_cb_func evbuffer callback - - @see evbuffer_cb_func, evbuffer_add_cb() - */ -struct evbuffer_cb_info { - /** The number of bytes in this evbuffer when callbacks were last - * invoked. */ - size_t orig_size; - /** The number of bytes added since callbacks were last invoked. */ - size_t n_added; - /** The number of bytes removed since callbacks were last invoked. */ - size_t n_deleted; -}; - -/** Type definition for a callback that is invoked whenever data is added or - removed from an evbuffer. - - An evbuffer may have one or more callbacks set at a time. The order - in which they are executed is undefined. - - A callback function may add more callbacks, or remove itself from the - list of callbacks, or add or remove data from the buffer. It may not - remove another callback from the list. - - If a callback adds or removes data from the buffer or from another - buffer, this can cause a recursive invocation of your callback or - other callbacks. If you ask for an infinite loop, you might just get - one: watch out! - - @param buffer the buffer whose size has changed - @param info a structure describing how the buffer changed. - @param arg a pointer to user data -*/ -typedef void (*evbuffer_cb_func)(struct evbuffer *buffer, const struct evbuffer_cb_info *info, void *arg); - -struct evbuffer_cb_entry; -/** Add a new callback to an evbuffer. - - Subsequent calls to evbuffer_add_cb() add new callbacks. To remove this - callback, call evbuffer_remove_cb or evbuffer_remove_cb_entry. - - @param buffer the evbuffer to be monitored - @param cb the callback function to invoke when the evbuffer is modified, - or NULL to remove all callbacks. - @param cbarg an argument to be provided to the callback function - @return a handle to the callback on success, or NULL on failure. - */ -EVENT2_EXPORT_SYMBOL -struct evbuffer_cb_entry *evbuffer_add_cb(struct evbuffer *buffer, evbuffer_cb_func cb, void *cbarg); - -/** Remove a callback from an evbuffer, given a handle returned from - evbuffer_add_cb. - - Calling this function invalidates the handle. - - @return 0 if a callback was removed, or -1 if no matching callback was - found. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_remove_cb_entry(struct evbuffer *buffer, - struct evbuffer_cb_entry *ent); - -/** Remove a callback from an evbuffer, given the function and argument - used to add it. - - @return 0 if a callback was removed, or -1 if no matching callback was - found. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_remove_cb(struct evbuffer *buffer, evbuffer_cb_func cb, void *cbarg); - -/** If this flag is not set, then a callback is temporarily disabled, and - * should not be invoked. - * - * @see evbuffer_cb_set_flags(), evbuffer_cb_clear_flags() - */ -#define EVBUFFER_CB_ENABLED 1 - -/** Change the flags that are set for a callback on a buffer by adding more. - - @param buffer the evbuffer that the callback is watching. - @param cb the callback whose status we want to change. - @param flags EVBUFFER_CB_ENABLED to re-enable the callback. - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_cb_set_flags(struct evbuffer *buffer, - struct evbuffer_cb_entry *cb, ev_uint32_t flags); - -/** Change the flags that are set for a callback on a buffer by removing some - - @param buffer the evbuffer that the callback is watching. - @param cb the callback whose status we want to change. - @param flags EVBUFFER_CB_ENABLED to disable the callback. - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_cb_clear_flags(struct evbuffer *buffer, - struct evbuffer_cb_entry *cb, ev_uint32_t flags); - -#if 0 -/** Postpone calling a given callback until unsuspend is called later. - - This is different from disabling the callback, since the callback will get - invoked later if the buffer size changes between now and when we unsuspend - it. - - @param the buffer that the callback is watching. - @param cb the callback we want to suspend. - */ -EVENT2_EXPORT_SYMBOL -void evbuffer_cb_suspend(struct evbuffer *buffer, struct evbuffer_cb_entry *cb); -/** Stop postponing a callback that we postponed with evbuffer_cb_suspend. - - If data was added to or removed from the buffer while the callback was - suspended, the callback will get called once now. - - @param the buffer that the callback is watching. - @param cb the callback we want to stop suspending. - */ -EVENT2_EXPORT_SYMBOL -void evbuffer_cb_unsuspend(struct evbuffer *buffer, struct evbuffer_cb_entry *cb); -#endif - -/** - Makes the data at the beginning of an evbuffer contiguous. - - @param buf the evbuffer to make contiguous - @param size the number of bytes to make contiguous, or -1 to make the - entire buffer contiguous. - @return a pointer to the contiguous memory array, or NULL if param size - requested more data than is present in the buffer. -*/ - -EVENT2_EXPORT_SYMBOL -unsigned char *evbuffer_pullup(struct evbuffer *buf, ev_ssize_t size); - -/** - Prepends data to the beginning of the evbuffer - - @param buf the evbuffer to which to prepend data - @param data a pointer to the memory to prepend - @param size the number of bytes to prepend - @return 0 if successful, or -1 otherwise -*/ - -EVENT2_EXPORT_SYMBOL -int evbuffer_prepend(struct evbuffer *buf, const void *data, size_t size); - -/** - Prepends all data from the src evbuffer to the beginning of the dst - evbuffer. - - @param dst the evbuffer to which to prepend data - @param src the evbuffer to prepend; it will be emptied as a result - @return 0 if successful, or -1 otherwise -*/ -EVENT2_EXPORT_SYMBOL -int evbuffer_prepend_buffer(struct evbuffer *dst, struct evbuffer* src); - -/** - Prevent calls that modify an evbuffer from succeeding. A buffer may - frozen at the front, at the back, or at both the front and the back. - - If the front of a buffer is frozen, operations that drain data from - the front of the buffer, or that prepend data to the buffer, will - fail until it is unfrozen. If the back a buffer is frozen, operations - that append data from the buffer will fail until it is unfrozen. - - @param buf The buffer to freeze - @param at_front If true, we freeze the front of the buffer. If false, - we freeze the back. - @return 0 on success, -1 on failure. -*/ -EVENT2_EXPORT_SYMBOL -int evbuffer_freeze(struct evbuffer *buf, int at_front); -/** - Re-enable calls that modify an evbuffer. - - @param buf The buffer to un-freeze - @param at_front If true, we unfreeze the front of the buffer. If false, - we unfreeze the back. - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_unfreeze(struct evbuffer *buf, int at_front); - -struct event_base; -/** - Force all the callbacks on an evbuffer to be run, not immediately after - the evbuffer is altered, but instead from inside the event loop. - - This can be used to serialize all the callbacks to a single thread - of execution. - */ -EVENT2_EXPORT_SYMBOL -int evbuffer_defer_callbacks(struct evbuffer *buffer, struct event_base *base); - -/** - Append data from 1 or more iovec's to an evbuffer - - Calculates the number of bytes needed for an iovec structure and guarantees - all data will fit into a single chain. Can be used in lieu of functionality - which calls evbuffer_add() constantly before being used to increase - performance. - - @param buffer the destination buffer - @param vec the source iovec - @param n_vec the number of iovec structures. - @return the number of bytes successfully written to the output buffer. -*/ -EVENT2_EXPORT_SYMBOL -size_t evbuffer_add_iovec(struct evbuffer * buffer, struct evbuffer_iovec * vec, int n_vec); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_BUFFER_H_INCLUDED_ */ diff --git a/src/components/libevent/buffer_compat.h b/src/components/libevent/buffer_compat.h deleted file mode 100644 index c94ad10..0000000 --- a/src/components/libevent/buffer_compat.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_BUFFER_COMPAT_H_INCLUDED_ -#define EVENT2_BUFFER_COMPAT_H_INCLUDED_ - -#include - -/** @file event2/buffer_compat.h - - Obsolete and deprecated versions of the functions in buffer.h: provided - only for backward compatibility. - */ - - -/** - Obsolete alias for evbuffer_readln(buffer, NULL, EVBUFFER_EOL_ANY). - - @deprecated This function is deprecated because its behavior is not correct - for almost any protocol, and also because it's wholly subsumed by - evbuffer_readln(). - - @param buffer the evbuffer to read from - @return pointer to a single line, or NULL if an error occurred - -*/ -EVENT2_EXPORT_SYMBOL -char *evbuffer_readline(struct evbuffer *buffer); - -/** Type definition for a callback that is invoked whenever data is added or - removed from an evbuffer. - - An evbuffer may have one or more callbacks set at a time. The order - in which they are executed is undefined. - - A callback function may add more callbacks, or remove itself from the - list of callbacks, or add or remove data from the buffer. It may not - remove another callback from the list. - - If a callback adds or removes data from the buffer or from another - buffer, this can cause a recursive invocation of your callback or - other callbacks. If you ask for an infinite loop, you might just get - one: watch out! - - @param buffer the buffer whose size has changed - @param old_len the previous length of the buffer - @param new_len the current length of the buffer - @param arg a pointer to user data -*/ -typedef void (*evbuffer_cb)(struct evbuffer *buffer, size_t old_len, size_t new_len, void *arg); - -/** - Replace all callbacks on an evbuffer with a single new callback, or - remove them. - - Subsequent calls to evbuffer_setcb() replace callbacks set by previous - calls. Setting the callback to NULL removes any previously set callback. - - @deprecated This function is deprecated because it clears all previous - callbacks set on the evbuffer, which can cause confusing behavior if - multiple parts of the code all want to add their own callbacks on a - buffer. Instead, use evbuffer_add(), evbuffer_del(), and - evbuffer_setflags() to manage your own evbuffer callbacks without - interfering with callbacks set by others. - - @param buffer the evbuffer to be monitored - @param cb the callback function to invoke when the evbuffer is modified, - or NULL to remove all callbacks. - @param cbarg an argument to be provided to the callback function - */ -EVENT2_EXPORT_SYMBOL -void evbuffer_setcb(struct evbuffer *buffer, evbuffer_cb cb, void *cbarg); - - -/** - Find a string within an evbuffer. - - @param buffer the evbuffer to be searched - @param what the string to be searched for - @param len the length of the search string - @return a pointer to the beginning of the search string, or NULL if the search failed. - */ -EVENT2_EXPORT_SYMBOL -unsigned char *evbuffer_find(struct evbuffer *buffer, const unsigned char *what, size_t len); - -/** deprecated in favor of calling the functions directly */ -#define EVBUFFER_LENGTH(x) evbuffer_get_length(x) -/** deprecated in favor of calling the functions directly */ -#define EVBUFFER_DATA(x) evbuffer_pullup((x), -1) - -#endif - diff --git a/src/components/libevent/bufferevent.h b/src/components/libevent/bufferevent.h deleted file mode 100644 index 42e461f..0000000 --- a/src/components/libevent/bufferevent.h +++ /dev/null @@ -1,1021 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_BUFFEREVENT_H_INCLUDED_ -#define EVENT2_BUFFEREVENT_H_INCLUDED_ - -/** - @file event2/bufferevent.h - - Functions for buffering data for network sending or receiving. Bufferevents - are higher level than evbuffers: each has an underlying evbuffer for reading - and one for writing, and callbacks that are invoked under certain - circumstances. - - A bufferevent provides input and output buffers that get filled and - drained automatically. The user of a bufferevent no longer deals - directly with the I/O, but instead is reading from input and writing - to output buffers. - - Once initialized, the bufferevent structure can be used repeatedly - with bufferevent_enable() and bufferevent_disable(). - - When reading is enabled, the bufferevent will try to read from the - file descriptor onto its input buffer, and call the read callback. - When writing is enabled, the bufferevent will try to write data onto its - file descriptor when the output buffer has enough data, and call the write - callback when the output buffer is sufficiently drained. - - Bufferevents come in several flavors, including: - -
-
Socket-based bufferevents
-
A bufferevent that reads and writes data onto a network - socket. Created with bufferevent_socket_new().
- -
Paired bufferevents
-
A pair of bufferevents that send and receive data to one - another without touching the network. Created with - bufferevent_pair_new().
- -
Filtering bufferevents
-
A bufferevent that transforms data, and sends or receives it - over another underlying bufferevent. Created with - bufferevent_filter_new().
- -
SSL-backed bufferevents
-
A bufferevent that uses the openssl library to send and - receive data over an encrypted connection. Created with - bufferevent_openssl_socket_new() or - bufferevent_openssl_filter_new().
-
- */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/** @name Bufferevent event codes - - These flags are passed as arguments to a bufferevent's event callback. - - @{ -*/ -#define BEV_EVENT_READING 0x01 /**< error encountered while reading */ -#define BEV_EVENT_WRITING 0x02 /**< error encountered while writing */ -#define BEV_EVENT_EOF 0x10 /**< eof file reached */ -#define BEV_EVENT_ERROR 0x20 /**< unrecoverable error encountered */ -#define BEV_EVENT_TIMEOUT 0x40 /**< user-specified timeout reached */ -#define BEV_EVENT_CONNECTED 0x80 /**< connect operation finished. */ -/**@}*/ - -/** - An opaque type for handling buffered IO - - @see event2/bufferevent.h - */ -struct bufferevent -#ifdef EVENT_IN_DOXYGEN_ -{} -#endif -; -struct event_base; -struct evbuffer; -struct sockaddr; - -/** - A read or write callback for a bufferevent. - - The read callback is triggered when new data arrives in the input - buffer and the amount of readable data exceed the low watermark - which is 0 by default. - - The write callback is triggered if the write buffer has been - exhausted or fell below its low watermark. - - @param bev the bufferevent that triggered the callback - @param ctx the user-specified context for this bufferevent - */ -typedef void (*bufferevent_data_cb)(struct bufferevent *bev, void *ctx); - -/** - An event/error callback for a bufferevent. - - The event callback is triggered if either an EOF condition or another - unrecoverable error was encountered. - - For bufferevents with deferred callbacks, this is a bitwise OR of all errors - that have happened on the bufferevent since the last callback invocation. - - @param bev the bufferevent for which the error condition was reached - @param what a conjunction of flags: BEV_EVENT_READING or BEV_EVENT_WRITING - to indicate if the error was encountered on the read or write path, - and one of the following flags: BEV_EVENT_EOF, BEV_EVENT_ERROR, - BEV_EVENT_TIMEOUT, BEV_EVENT_CONNECTED. - - @param ctx the user-specified context for this bufferevent -*/ -typedef void (*bufferevent_event_cb)(struct bufferevent *bev, short what, void *ctx); - -/** Options that can be specified when creating a bufferevent */ -enum bufferevent_options { - /** If set, we close the underlying file - * descriptor/bufferevent/whatever when this bufferevent is freed. */ - BEV_OPT_CLOSE_ON_FREE = (1<<0), - - /** If set, and threading is enabled, operations on this bufferevent - * are protected by a lock */ - BEV_OPT_THREADSAFE = (1<<1), - - /** If set, callbacks are run deferred in the event loop. */ - BEV_OPT_DEFER_CALLBACKS = (1<<2), - - /** If set, callbacks are executed without locks being held on the - * bufferevent. This option currently requires that - * BEV_OPT_DEFER_CALLBACKS also be set; a future version of Libevent - * might remove the requirement.*/ - BEV_OPT_UNLOCK_CALLBACKS = (1<<3) -}; - -/** - Create a new socket bufferevent over an existing socket. - - @param base the event base to associate with the new bufferevent. - @param fd the file descriptor from which data is read and written to. - This file descriptor is not allowed to be a pipe(2). - It is safe to set the fd to -1, so long as you later - set it with bufferevent_setfd or bufferevent_socket_connect(). - @param options Zero or more BEV_OPT_* flags - @return a pointer to a newly allocated bufferevent struct, or NULL if an - error occurred - @see bufferevent_free() - */ -EVENT2_EXPORT_SYMBOL -struct bufferevent *bufferevent_socket_new(struct event_base *base, evutil_socket_t fd, int options); - -/** - Launch a connect() attempt with a socket-based bufferevent. - - When the connect succeeds, the eventcb will be invoked with - BEV_EVENT_CONNECTED set. - - If the bufferevent does not already have a socket set, we allocate a new - socket here and make it nonblocking before we begin. - - If no address is provided, we assume that the socket is already connecting, - and configure the bufferevent so that a BEV_EVENT_CONNECTED event will be - yielded when it is done connecting. - - @param bufev an existing bufferevent allocated with - bufferevent_socket_new(). - @param addr the address we should connect to - @param socklen The length of the address - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_socket_connect(struct bufferevent *, const struct sockaddr *, int); - -struct evdns_base; -/** - Resolve the hostname 'hostname' and connect to it as with - bufferevent_socket_connect(). - - @param bufev An existing bufferevent allocated with bufferevent_socket_new() - @param evdns_base Optionally, an evdns_base to use for resolving hostnames - asynchronously. May be set to NULL for a blocking resolve. - @param family A preferred address family to resolve addresses to, or - AF_UNSPEC for no preference. Only AF_INET, AF_INET6, and AF_UNSPEC are - supported. - @param hostname The hostname to resolve; see below for notes on recognized - formats - @param port The port to connect to on the resolved address. - @return 0 if successful, -1 on failure. - - Recognized hostname formats are: - - www.example.com (hostname) - 1.2.3.4 (ipv4address) - ::1 (ipv6address) - [::1] ([ipv6address]) - - Performance note: If you do not provide an evdns_base, this function - may block while it waits for a DNS response. This is probably not - what you want. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_socket_connect_hostname(struct bufferevent *, - struct evdns_base *, int, const char *, int); - -/** - Return the error code for the last failed DNS lookup attempt made by - bufferevent_socket_connect_hostname(). - - @param bev The bufferevent object. - @return DNS error code. - @see evutil_gai_strerror() -*/ -EVENT2_EXPORT_SYMBOL -int bufferevent_socket_get_dns_error(struct bufferevent *bev); - -/** - Assign a bufferevent to a specific event_base. - - NOTE that only socket bufferevents support this function. - - @param base an event_base returned by event_init() - @param bufev a bufferevent struct returned by bufferevent_new() - or bufferevent_socket_new() - @return 0 if successful, or -1 if an error occurred - @see bufferevent_new() - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_base_set(struct event_base *base, struct bufferevent *bufev); - -/** - Return the event_base used by a bufferevent -*/ -EVENT2_EXPORT_SYMBOL -struct event_base *bufferevent_get_base(struct bufferevent *bev); - -/** - Assign a priority to a bufferevent. - - Only supported for socket bufferevents. - - @param bufev a bufferevent struct - @param pri the priority to be assigned - @return 0 if successful, or -1 if an error occurred - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_priority_set(struct bufferevent *bufev, int pri); - -/** - Return the priority of a bufferevent. - - Only supported for socket bufferevents - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_get_priority(const struct bufferevent *bufev); - -/** - Deallocate the storage associated with a bufferevent structure. - - If there is pending data to write on the bufferevent, it probably won't be - flushed before the bufferevent is freed. - - @param bufev the bufferevent structure to be freed. - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_free(struct bufferevent *bufev); - - -/** - Changes the callbacks for a bufferevent. - - @param bufev the bufferevent object for which to change callbacks - @param readcb callback to invoke when there is data to be read, or NULL if - no callback is desired - @param writecb callback to invoke when the file descriptor is ready for - writing, or NULL if no callback is desired - @param eventcb callback to invoke when there is an event on the file - descriptor - @param cbarg an argument that will be supplied to each of the callbacks - (readcb, writecb, and errorcb) - @see bufferevent_new() - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_setcb(struct bufferevent *bufev, - bufferevent_data_cb readcb, bufferevent_data_cb writecb, - bufferevent_event_cb eventcb, void *cbarg); - -/** - Retrieves the callbacks for a bufferevent. - - @param bufev the bufferevent to examine. - @param readcb_ptr if readcb_ptr is nonnull, *readcb_ptr is set to the current - read callback for the bufferevent. - @param writecb_ptr if writecb_ptr is nonnull, *writecb_ptr is set to the - current write callback for the bufferevent. - @param eventcb_ptr if eventcb_ptr is nonnull, *eventcb_ptr is set to the - current event callback for the bufferevent. - @param cbarg_ptr if cbarg_ptr is nonnull, *cbarg_ptr is set to the current - callback argument for the bufferevent. - @see buffervent_setcb() -*/ -EVENT2_EXPORT_SYMBOL -void bufferevent_getcb(struct bufferevent *bufev, - bufferevent_data_cb *readcb_ptr, - bufferevent_data_cb *writecb_ptr, - bufferevent_event_cb *eventcb_ptr, - void **cbarg_ptr); - -/** - Changes the file descriptor on which the bufferevent operates. - Not supported for all bufferevent types. - - @param bufev the bufferevent object for which to change the file descriptor - @param fd the file descriptor to operate on -*/ -EVENT2_EXPORT_SYMBOL -int bufferevent_setfd(struct bufferevent *bufev, evutil_socket_t fd); - -/** - Returns the file descriptor associated with a bufferevent, or -1 if - no file descriptor is associated with the bufferevent. - */ -EVENT2_EXPORT_SYMBOL -evutil_socket_t bufferevent_getfd(struct bufferevent *bufev); - -/** - Returns the underlying bufferevent associated with a bufferevent (if - the bufferevent is a wrapper), or NULL if there is no underlying bufferevent. - */ -EVENT2_EXPORT_SYMBOL -struct bufferevent *bufferevent_get_underlying(struct bufferevent *bufev); - -/** - Write data to a bufferevent buffer. - - The bufferevent_write() function can be used to write data to the file - descriptor. The data is appended to the output buffer and written to the - descriptor automatically as it becomes available for writing. - - @param bufev the bufferevent to be written to - @param data a pointer to the data to be written - @param size the length of the data, in bytes - @return 0 if successful, or -1 if an error occurred - @see bufferevent_write_buffer() - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_write(struct bufferevent *bufev, - const void *data, size_t size); - - -/** - Write data from an evbuffer to a bufferevent buffer. The evbuffer is - being drained as a result. - - @param bufev the bufferevent to be written to - @param buf the evbuffer to be written - @return 0 if successful, or -1 if an error occurred - @see bufferevent_write() - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf); - - -/** - Read data from a bufferevent buffer. - - The bufferevent_read() function is used to read data from the input buffer. - - @param bufev the bufferevent to be read from - @param data pointer to a buffer that will store the data - @param size the size of the data buffer, in bytes - @return the amount of data read, in bytes. - */ -EVENT2_EXPORT_SYMBOL -size_t bufferevent_read(struct bufferevent *bufev, void *data, size_t size); - -/** - Read data from a bufferevent buffer into an evbuffer. This avoids - memory copies. - - @param bufev the bufferevent to be read from - @param buf the evbuffer to which to add data - @return 0 if successful, or -1 if an error occurred. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_read_buffer(struct bufferevent *bufev, struct evbuffer *buf); - -/** - Returns the input buffer. - - The user MUST NOT set the callback on this buffer. - - @param bufev the bufferevent from which to get the evbuffer - @return the evbuffer object for the input buffer - */ - -EVENT2_EXPORT_SYMBOL -struct evbuffer *bufferevent_get_input(struct bufferevent *bufev); - -/** - Returns the output buffer. - - The user MUST NOT set the callback on this buffer. - - When filters are being used, the filters need to be manually - triggered if the output buffer was manipulated. - - @param bufev the bufferevent from which to get the evbuffer - @return the evbuffer object for the output buffer - */ - -EVENT2_EXPORT_SYMBOL -struct evbuffer *bufferevent_get_output(struct bufferevent *bufev); - -/** - Enable a bufferevent. - - @param bufev the bufferevent to be enabled - @param event any combination of EV_READ | EV_WRITE. - @return 0 if successful, or -1 if an error occurred - @see bufferevent_disable() - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_enable(struct bufferevent *bufev, short event); - -/** - Disable a bufferevent. - - @param bufev the bufferevent to be disabled - @param event any combination of EV_READ | EV_WRITE. - @return 0 if successful, or -1 if an error occurred - @see bufferevent_enable() - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_disable(struct bufferevent *bufev, short event); - -/** - Return the events that are enabled on a given bufferevent. - - @param bufev the bufferevent to inspect - @return A combination of EV_READ | EV_WRITE - */ -EVENT2_EXPORT_SYMBOL -short bufferevent_get_enabled(struct bufferevent *bufev); - -/** - Set the read and write timeout for a bufferevent. - - A bufferevent's timeout will fire the first time that the indicated - amount of time has elapsed since a successful read or write operation, - during which the bufferevent was trying to read or write. - - (In other words, if reading or writing is disabled, or if the - bufferevent's read or write operation has been suspended because - there's no data to write, or not enough banwidth, or so on, the - timeout isn't active. The timeout only becomes active when we we're - willing to actually read or write.) - - Calling bufferevent_enable or setting a timeout for a bufferevent - whose timeout is already pending resets its timeout. - - If the timeout elapses, the corresponding operation (EV_READ or - EV_WRITE) becomes disabled until you re-enable it again. The - bufferevent's event callback is called with the - BEV_EVENT_TIMEOUT|BEV_EVENT_READING or - BEV_EVENT_TIMEOUT|BEV_EVENT_WRITING. - - @param bufev the bufferevent to be modified - @param timeout_read the read timeout, or NULL - @param timeout_write the write timeout, or NULL - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_set_timeouts(struct bufferevent *bufev, - const struct timeval *timeout_read, const struct timeval *timeout_write); - -/** - Sets the watermarks for read and write events. - - On input, a bufferevent does not invoke the user read callback unless - there is at least low watermark data in the buffer. If the read buffer - is beyond the high watermark, the bufferevent stops reading from the network. - - On output, the user write callback is invoked whenever the buffered data - falls below the low watermark. Filters that write to this bufev will try - not to write more bytes to this buffer than the high watermark would allow, - except when flushing. - - @param bufev the bufferevent to be modified - @param events EV_READ, EV_WRITE or both - @param lowmark the lower watermark to set - @param highmark the high watermark to set -*/ - -EVENT2_EXPORT_SYMBOL -void bufferevent_setwatermark(struct bufferevent *bufev, short events, - size_t lowmark, size_t highmark); - -/** - Retrieves the watermarks for read or write events. - Returns non-zero if events contains not only EV_READ or EV_WRITE. - Returns zero if events equal EV_READ or EV_WRITE - - @param bufev the bufferevent to be examined - @param events EV_READ or EV_WRITE - @param lowmark receives the lower watermark if not NULL - @param highmark receives the high watermark if not NULL -*/ -EVENT2_EXPORT_SYMBOL -int bufferevent_getwatermark(struct bufferevent *bufev, short events, - size_t *lowmark, size_t *highmark); - -/** - Acquire the lock on a bufferevent. Has no effect if locking was not - enabled with BEV_OPT_THREADSAFE. - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_lock(struct bufferevent *bufev); - -/** - Release the lock on a bufferevent. Has no effect if locking was not - enabled with BEV_OPT_THREADSAFE. - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_unlock(struct bufferevent *bufev); - - -/** - * Public interface to manually increase the reference count of a bufferevent - * this is useful in situations where a user may reference the bufferevent - * somewhere eles (unknown to libevent) - * - * @param bufev the bufferevent to increase the refcount on - * - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_incref(struct bufferevent *bufev); - -/** - * Public interface to manually decrement the reference count of a bufferevent - * - * Warning: make sure you know what you're doing. This is mainly used in - * conjunction with bufferevent_incref(). This will free up all data associated - * with a bufferevent if the reference count hits 0. - * - * @param bufev the bufferevent to decrement the refcount on - * - * @return 1 if the bufferevent was freed, otherwise 0 (still referenced) - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_decref(struct bufferevent *bufev); - -/** - Flags that can be passed into filters to let them know how to - deal with the incoming data. -*/ -enum bufferevent_flush_mode { - /** usually set when processing data */ - BEV_NORMAL = 0, - - /** want to checkpoint all data sent. */ - BEV_FLUSH = 1, - - /** encountered EOF on read or done sending data */ - BEV_FINISHED = 2 -}; - -/** - Triggers the bufferevent to produce more data if possible. - - @param bufev the bufferevent object - @param iotype either EV_READ or EV_WRITE or both. - @param mode either BEV_NORMAL or BEV_FLUSH or BEV_FINISHED - @return -1 on failure, 0 if no data was produces, 1 if data was produced - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_flush(struct bufferevent *bufev, - short iotype, - enum bufferevent_flush_mode mode); - -/** - Flags for bufferevent_trigger(_event) that modify when and how to trigger - the callback. -*/ -enum bufferevent_trigger_options { - /** trigger the callback regardless of the watermarks */ - BEV_TRIG_IGNORE_WATERMARKS = (1<<16), - - /** defer even if the callbacks are not */ - BEV_TRIG_DEFER_CALLBACKS = BEV_OPT_DEFER_CALLBACKS - - /* (Note: for internal reasons, these need to be disjoint from - * bufferevent_options, except when they mean the same thing. */ -}; - -/** - Triggers bufferevent data callbacks. - - The function will honor watermarks unless options contain - BEV_TRIG_IGNORE_WATERMARKS. If the options contain BEV_OPT_DEFER_CALLBACKS, - the callbacks are deferred. - - @param bufev the bufferevent object - @param iotype either EV_READ or EV_WRITE or both. - @param options - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_trigger(struct bufferevent *bufev, short iotype, - int options); - -/** - Triggers the bufferevent event callback. - - If the options contain BEV_OPT_DEFER_CALLBACKS, the callbacks are deferred. - - @param bufev the bufferevent object - @param what the flags to pass onto the event callback - @param options - */ -EVENT2_EXPORT_SYMBOL -void bufferevent_trigger_event(struct bufferevent *bufev, short what, - int options); - -/** - @name Filtering support - - @{ -*/ -/** - Values that filters can return. - */ -enum bufferevent_filter_result { - /** everything is okay */ - BEV_OK = 0, - - /** the filter needs to read more data before output */ - BEV_NEED_MORE = 1, - - /** the filter encountered a critical error, no further data - can be processed. */ - BEV_ERROR = 2 -}; - -/** A callback function to implement a filter for a bufferevent. - - @param src An evbuffer to drain data from. - @param dst An evbuffer to add data to. - @param limit A suggested upper bound of bytes to write to dst. - The filter may ignore this value, but doing so means that - it will overflow the high-water mark associated with dst. - -1 means "no limit". - @param mode Whether we should write data as may be convenient - (BEV_NORMAL), or flush as much data as we can (BEV_FLUSH), - or flush as much as we can, possibly including an end-of-stream - marker (BEV_FINISH). - @param ctx A user-supplied pointer. - - @return BEV_OK if we wrote some data; BEV_NEED_MORE if we can't - produce any more output until we get some input; and BEV_ERROR - on an error. - */ -typedef enum bufferevent_filter_result (*bufferevent_filter_cb)( - struct evbuffer *src, struct evbuffer *dst, ev_ssize_t dst_limit, - enum bufferevent_flush_mode mode, void *ctx); - -/** - Allocate a new filtering bufferevent on top of an existing bufferevent. - - @param underlying the underlying bufferevent. - @param input_filter The filter to apply to data we read from the underlying - bufferevent - @param output_filter The filer to apply to data we write to the underlying - bufferevent - @param options A bitfield of bufferevent options. - @param free_context A function to use to free the filter context when - this bufferevent is freed. - @param ctx A context pointer to pass to the filter functions. - */ -EVENT2_EXPORT_SYMBOL -struct bufferevent * -bufferevent_filter_new(struct bufferevent *underlying, - bufferevent_filter_cb input_filter, - bufferevent_filter_cb output_filter, - int options, - void (*free_context)(void *), - void *ctx); -/**@}*/ - -/** - Allocate a pair of linked bufferevents. The bufferevents behave as would - two bufferevent_sock instances connected to opposite ends of a - socketpair(), except that no internal socketpair is allocated. - - @param base The event base to associate with the socketpair. - @param options A set of options for this bufferevent - @param pair A pointer to an array to hold the two new bufferevent objects. - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_pair_new(struct event_base *base, int options, - struct bufferevent *pair[2]); - -/** - Given one bufferevent returned by bufferevent_pair_new(), returns the - other one if it still exists. Otherwise returns NULL. - */ -EVENT2_EXPORT_SYMBOL -struct bufferevent *bufferevent_pair_get_partner(struct bufferevent *bev); - -/** - Abstract type used to configure rate-limiting on a bufferevent or a group - of bufferevents. - */ -struct ev_token_bucket_cfg; - -/** - A group of bufferevents which are configured to respect the same rate - limit. -*/ -struct bufferevent_rate_limit_group; - -/** Maximum configurable rate- or burst-limit. */ -#define EV_RATE_LIMIT_MAX EV_SSIZE_MAX - -/** - Initialize and return a new object to configure the rate-limiting behavior - of bufferevents. - - @param read_rate The maximum number of bytes to read per tick on - average. - @param read_burst The maximum number of bytes to read in any single tick. - @param write_rate The maximum number of bytes to write per tick on - average. - @param write_burst The maximum number of bytes to write in any single tick. - @param tick_len The length of a single tick. Defaults to one second. - Any fractions of a millisecond are ignored. - - Note that all rate-limits hare are currently best-effort: future versions - of Libevent may implement them more tightly. - */ -EVENT2_EXPORT_SYMBOL -struct ev_token_bucket_cfg *ev_token_bucket_cfg_new( - size_t read_rate, size_t read_burst, - size_t write_rate, size_t write_burst, - const struct timeval *tick_len); - -/** Free all storage held in 'cfg'. - - Note: 'cfg' is not currently reference-counted; it is not safe to free it - until no bufferevent is using it. - */ -EVENT2_EXPORT_SYMBOL -void ev_token_bucket_cfg_free(struct ev_token_bucket_cfg *cfg); - -/** - Set the rate-limit of a the bufferevent 'bev' to the one specified in - 'cfg'. If 'cfg' is NULL, disable any per-bufferevent rate-limiting on - 'bev'. - - Note that only some bufferevent types currently respect rate-limiting. - They are: socket-based bufferevents (normal and IOCP-based), and SSL-based - bufferevents. - - Return 0 on sucess, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_set_rate_limit(struct bufferevent *bev, - struct ev_token_bucket_cfg *cfg); - -/** - Create a new rate-limit group for bufferevents. A rate-limit group - constrains the maximum number of bytes sent and received, in toto, - by all of its bufferevents. - - @param base An event_base to run any necessary timeouts for the group. - Note that all bufferevents in the group do not necessarily need to share - this event_base. - @param cfg The rate-limit for this group. - - Note that all rate-limits hare are currently best-effort: future versions - of Libevent may implement them more tightly. - - Note also that only some bufferevent types currently respect rate-limiting. - They are: socket-based bufferevents (normal and IOCP-based), and SSL-based - bufferevents. - */ -EVENT2_EXPORT_SYMBOL -struct bufferevent_rate_limit_group *bufferevent_rate_limit_group_new( - struct event_base *base, - const struct ev_token_bucket_cfg *cfg); -/** - Change the rate-limiting settings for a given rate-limiting group. - - Return 0 on success, -1 on failure. -*/ -EVENT2_EXPORT_SYMBOL -int bufferevent_rate_limit_group_set_cfg( - struct bufferevent_rate_limit_group *, - const struct ev_token_bucket_cfg *); - -/** - Change the smallest quantum we're willing to allocate to any single - bufferevent in a group for reading or writing at a time. - - The rationale is that, because of TCP/IP protocol overheads and kernel - behavior, if a rate-limiting group is so tight on bandwidth that you're - only willing to send 1 byte per tick per bufferevent, you might instead - want to batch up the reads and writes so that you send N bytes per - 1/N of the bufferevents (chosen at random) each tick, so you still wind - up send 1 byte per tick per bufferevent on average, but you don't send - so many tiny packets. - - The default min-share is currently 64 bytes. - - Returns 0 on success, -1 on faulre. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_rate_limit_group_set_min_share( - struct bufferevent_rate_limit_group *, size_t); - -/** - Free a rate-limiting group. The group must have no members when - this function is called. -*/ -EVENT2_EXPORT_SYMBOL -void bufferevent_rate_limit_group_free(struct bufferevent_rate_limit_group *); - -/** - Add 'bev' to the list of bufferevents whose aggregate reading and writing - is restricted by 'g'. If 'g' is NULL, remove 'bev' from its current group. - - A bufferevent may belong to no more than one rate-limit group at a time. - If 'bev' is already a member of a group, it will be removed from its old - group before being added to 'g'. - - Return 0 on success and -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_add_to_rate_limit_group(struct bufferevent *bev, - struct bufferevent_rate_limit_group *g); - -/** Remove 'bev' from its current rate-limit group (if any). */ -EVENT2_EXPORT_SYMBOL -int bufferevent_remove_from_rate_limit_group(struct bufferevent *bev); - -/** - Set the size limit for single read operation. - - Set to 0 for a reasonable default. - - Return 0 on success and -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_set_max_single_read(struct bufferevent *bev, size_t size); - -/** - Set the size limit for single write operation. - - Set to 0 for a reasonable default. - - Return 0 on success and -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_set_max_single_write(struct bufferevent *bev, size_t size); - -/** Get the current size limit for single read operation. */ -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_get_max_single_read(struct bufferevent *bev); - -/** Get the current size limit for single write operation. */ -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_get_max_single_write(struct bufferevent *bev); - -/** - @name Rate limit inspection - - Return the current read or write bucket size for a bufferevent. - If it is not configured with a per-bufferevent ratelimit, return - EV_SSIZE_MAX. This function does not inspect the group limit, if any. - Note that it can return a negative value if the bufferevent has been - made to read or write more than its limit. - - @{ - */ -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_get_read_limit(struct bufferevent *bev); -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_get_write_limit(struct bufferevent *bev); -/*@}*/ - -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_get_max_to_read(struct bufferevent *bev); -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_get_max_to_write(struct bufferevent *bev); - -EVENT2_EXPORT_SYMBOL -const struct ev_token_bucket_cfg *bufferevent_get_token_bucket_cfg(const struct bufferevent * bev); - -/** - @name Group Rate limit inspection - - Return the read or write bucket size for a bufferevent rate limit - group. Note that it can return a negative value if bufferevents in - the group have been made to read or write more than their limits. - - @{ - */ -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_rate_limit_group_get_read_limit( - struct bufferevent_rate_limit_group *); -EVENT2_EXPORT_SYMBOL -ev_ssize_t bufferevent_rate_limit_group_get_write_limit( - struct bufferevent_rate_limit_group *); -/*@}*/ - -/** - @name Rate limit manipulation - - Subtract a number of bytes from a bufferevent's read or write bucket. - The decrement value can be negative, if you want to manually refill - the bucket. If the change puts the bucket above or below zero, the - bufferevent will resume or suspend reading writing as appropriate. - These functions make no change in the buckets for the bufferevent's - group, if any. - - Returns 0 on success, -1 on internal error. - - @{ - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_decrement_read_limit(struct bufferevent *bev, ev_ssize_t decr); -EVENT2_EXPORT_SYMBOL -int bufferevent_decrement_write_limit(struct bufferevent *bev, ev_ssize_t decr); -/*@}*/ - -/** - @name Group rate limit manipulation - - Subtract a number of bytes from a bufferevent rate-limiting group's - read or write bucket. The decrement value can be negative, if you - want to manually refill the bucket. If the change puts the bucket - above or below zero, the bufferevents in the group will resume or - suspend reading writing as appropriate. - - Returns 0 on success, -1 on internal error. - - @{ - */ -EVENT2_EXPORT_SYMBOL -int bufferevent_rate_limit_group_decrement_read( - struct bufferevent_rate_limit_group *, ev_ssize_t); -EVENT2_EXPORT_SYMBOL -int bufferevent_rate_limit_group_decrement_write( - struct bufferevent_rate_limit_group *, ev_ssize_t); -/*@}*/ - - -/** - * Inspect the total bytes read/written on a group. - * - * Set the variable pointed to by total_read_out to the total number of bytes - * ever read on grp, and the variable pointed to by total_written_out to the - * total number of bytes ever written on grp. */ -EVENT2_EXPORT_SYMBOL -void bufferevent_rate_limit_group_get_totals( - struct bufferevent_rate_limit_group *grp, - ev_uint64_t *total_read_out, ev_uint64_t *total_written_out); - -/** - * Reset the total bytes read/written on a group. - * - * Reset the number of bytes read or written on grp as given by - * bufferevent_rate_limit_group_reset_totals(). */ -EVENT2_EXPORT_SYMBOL -void -bufferevent_rate_limit_group_reset_totals( - struct bufferevent_rate_limit_group *grp); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_BUFFEREVENT_H_INCLUDED_ */ diff --git a/src/components/libevent/bufferevent_compat.h b/src/components/libevent/bufferevent_compat.h deleted file mode 100644 index 6548204..0000000 --- a/src/components/libevent/bufferevent_compat.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2007-2012 Niels Provos, Nick Mathewson - * Copyright (c) 2000-2007 Niels Provos - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_BUFFEREVENT_COMPAT_H_INCLUDED_ -#define EVENT2_BUFFEREVENT_COMPAT_H_INCLUDED_ - -#define evbuffercb bufferevent_data_cb -#define everrorcb bufferevent_event_cb - -/** - Create a new bufferevent for an fd. - - This function is deprecated. Use bufferevent_socket_new and - bufferevent_set_callbacks instead. - - Libevent provides an abstraction on top of the regular event callbacks. - This abstraction is called a buffered event. A buffered event provides - input and output buffers that get filled and drained automatically. The - user of a buffered event no longer deals directly with the I/O, but - instead is reading from input and writing to output buffers. - - Once initialized, the bufferevent structure can be used repeatedly with - bufferevent_enable() and bufferevent_disable(). - - When read enabled the bufferevent will try to read from the file descriptor - and call the read callback. The write callback is executed whenever the - output buffer is drained below the write low watermark, which is 0 by - default. - - If multiple bases are in use, bufferevent_base_set() must be called before - enabling the bufferevent for the first time. - - @deprecated This function is deprecated because it uses the current - event base, and as such can be error prone for multithreaded programs. - Use bufferevent_socket_new() instead. - - @param fd the file descriptor from which data is read and written to. - This file descriptor is not allowed to be a pipe(2). - @param readcb callback to invoke when there is data to be read, or NULL if - no callback is desired - @param writecb callback to invoke when the file descriptor is ready for - writing, or NULL if no callback is desired - @param errorcb callback to invoke when there is an error on the file - descriptor - @param cbarg an argument that will be supplied to each of the callbacks - (readcb, writecb, and errorcb) - @return a pointer to a newly allocated bufferevent struct, or NULL if an - error occurred - @see bufferevent_base_set(), bufferevent_free() - */ -struct bufferevent *bufferevent_new(evutil_socket_t fd, - evbuffercb readcb, evbuffercb writecb, everrorcb errorcb, void *cbarg); - - -/** - Set the read and write timeout for a buffered event. - - @param bufev the bufferevent to be modified - @param timeout_read the read timeout - @param timeout_write the write timeout - */ -void bufferevent_settimeout(struct bufferevent *bufev, - int timeout_read, int timeout_write); - -#define EVBUFFER_READ BEV_EVENT_READING -#define EVBUFFER_WRITE BEV_EVENT_WRITING -#define EVBUFFER_EOF BEV_EVENT_EOF -#define EVBUFFER_ERROR BEV_EVENT_ERROR -#define EVBUFFER_TIMEOUT BEV_EVENT_TIMEOUT - -/** macro for getting access to the input buffer of a bufferevent */ -#define EVBUFFER_INPUT(x) bufferevent_get_input(x) -/** macro for getting access to the output buffer of a bufferevent */ -#define EVBUFFER_OUTPUT(x) bufferevent_get_output(x) - -#endif diff --git a/src/components/libevent/bufferevent_ssl.h b/src/components/libevent/bufferevent_ssl.h deleted file mode 100644 index 4e9dabb..0000000 --- a/src/components/libevent/bufferevent_ssl.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2009-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_BUFFEREVENT_SSL_H_INCLUDED_ -#define EVENT2_BUFFEREVENT_SSL_H_INCLUDED_ - -/** @file event2/bufferevent_ssl.h - - OpenSSL support for bufferevents. - */ -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* This is what openssl's SSL objects are underneath. */ -struct ssl_st; - -/** - The state of an SSL object to be used when creating a new - SSL bufferevent. - */ -enum bufferevent_ssl_state { - BUFFEREVENT_SSL_OPEN = 0, - BUFFEREVENT_SSL_CONNECTING = 1, - BUFFEREVENT_SSL_ACCEPTING = 2 -}; - -#if defined(EVENT__HAVE_OPENSSL) || defined(EVENT_IN_DOXYGEN_) -/** - Create a new SSL bufferevent to send its data over another bufferevent. - - @param base An event_base to use to detect reading and writing. It - must also be the base for the underlying bufferevent. - @param underlying A socket to use for this SSL - @param ssl A SSL* object from openssl. - @param state The current state of the SSL connection - @param options One or more bufferevent_options - @return A new bufferevent on success, or NULL on failure -*/ -EVENT2_EXPORT_SYMBOL -struct bufferevent * -bufferevent_openssl_filter_new(struct event_base *base, - struct bufferevent *underlying, - struct ssl_st *ssl, - enum bufferevent_ssl_state state, - int options); - -/** - Create a new SSL bufferevent to send its data over an SSL * on a socket. - - @param base An event_base to use to detect reading and writing - @param fd A socket to use for this SSL - @param ssl A SSL* object from openssl. - @param state The current state of the SSL connection - @param options One or more bufferevent_options - @return A new bufferevent on success, or NULL on failure. -*/ -EVENT2_EXPORT_SYMBOL -struct bufferevent * -bufferevent_openssl_socket_new(struct event_base *base, - evutil_socket_t fd, - struct ssl_st *ssl, - enum bufferevent_ssl_state state, - int options); - -/** Control how to report dirty SSL shutdowns. - - If the peer (or the network, or an attacker) closes the TCP - connection before closing the SSL channel, and the protocol is SSL >= v3, - this is a "dirty" shutdown. If allow_dirty_shutdown is 0 (default), - this is reported as BEV_EVENT_ERROR. - - If instead allow_dirty_shutdown=1, a dirty shutdown is reported as - BEV_EVENT_EOF. - - (Note that if the protocol is < SSLv3, you will always receive - BEV_EVENT_EOF, since SSL 2 and earlier cannot distinguish a secure - connection close from a dirty one. This is one reason (among many) - not to use SSL 2.) -*/ - -EVENT2_EXPORT_SYMBOL -int bufferevent_openssl_get_allow_dirty_shutdown(struct bufferevent *bev); -EVENT2_EXPORT_SYMBOL -void bufferevent_openssl_set_allow_dirty_shutdown(struct bufferevent *bev, - int allow_dirty_shutdown); - -/** Return the underlying openssl SSL * object for an SSL bufferevent. */ -EVENT2_EXPORT_SYMBOL -struct ssl_st * -bufferevent_openssl_get_ssl(struct bufferevent *bufev); - -/** Tells a bufferevent to begin SSL renegotiation. */ -EVENT2_EXPORT_SYMBOL -int bufferevent_ssl_renegotiate(struct bufferevent *bev); - -/** Return the most recent OpenSSL error reported on an SSL bufferevent. */ -EVENT2_EXPORT_SYMBOL -unsigned long bufferevent_get_openssl_error(struct bufferevent *bev); - -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_BUFFEREVENT_SSL_H_INCLUDED_ */ diff --git a/src/components/libevent/bufferevent_struct.h b/src/components/libevent/bufferevent_struct.h deleted file mode 100644 index a4c5ee4..0000000 --- a/src/components/libevent/bufferevent_struct.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_ -#define EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_ - -/** @file event2/bufferevent_struct.h - - Data structures for bufferevents. Using these structures may hurt forward - compatibility with later versions of Libevent: be careful! - - @deprecated Use of bufferevent_struct.h is completely deprecated; these - structures are only exposed for backward compatibility with programs - written before Libevent 2.0 that used them. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include -/* For struct event */ -#include - -struct event_watermark { - size_t low; - size_t high; -}; - -/** - Shared implementation of a bufferevent. - - This type is exposed only because it was exposed in previous versions, - and some people's code may rely on manipulating it. Otherwise, you - should really not rely on the layout, size, or contents of this structure: - it is fairly volatile, and WILL change in future versions of the code. -**/ -struct bufferevent { - /** Event base for which this bufferevent was created. */ - struct event_base *ev_base; - /** Pointer to a table of function pointers to set up how this - bufferevent behaves. */ - const struct bufferevent_ops *be_ops; - - /** A read event that triggers when a timeout has happened or a socket - is ready to read data. Only used by some subtypes of - bufferevent. */ - struct event ev_read; - /** A write event that triggers when a timeout has happened or a socket - is ready to write data. Only used by some subtypes of - bufferevent. */ - struct event ev_write; - - /** An input buffer. Only the bufferevent is allowed to add data to - this buffer, though the user is allowed to drain it. */ - struct evbuffer *input; - - /** An input buffer. Only the bufferevent is allowed to drain data - from this buffer, though the user is allowed to add it. */ - struct evbuffer *output; - - struct event_watermark wm_read; - struct event_watermark wm_write; - - bufferevent_data_cb readcb; - bufferevent_data_cb writecb; - /* This should be called 'eventcb', but renaming it would break - * backward compatibility */ - bufferevent_event_cb errorcb; - void *cbarg; - - struct timeval timeout_read; - struct timeval timeout_write; - - /** Events that are currently enabled: currently EV_READ and EV_WRITE - are supported. */ - short enabled; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_ */ diff --git a/src/components/libevent/dns.h b/src/components/libevent/dns.h deleted file mode 100644 index d8bcf15..0000000 --- a/src/components/libevent/dns.h +++ /dev/null @@ -1,717 +0,0 @@ -/* - * Copyright (c) 2006-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 original DNS code is due to Adam Langley with heavy - * modifications by Nick Mathewson. Adam put his DNS software in the - * public domain. You can find his original copyright below. Please, - * aware that the code as part of Libevent is governed by the 3-clause - * BSD license above. - * - * This software is Public Domain. To view a copy of the public domain dedication, - * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to - * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. - * - * I ask and expect, but do not require, that all derivative works contain an - * attribution similar to: - * Parts developed by Adam Langley - * - * You may wish to replace the word "Parts" with something else depending on - * the amount of original code. - * - * (Derivative works does not include programs which link against, run or include - * the source verbatim in their source distributions) - */ - -/** @file event2/dns.h - * - * Welcome, gentle reader - * - * Async DNS lookups are really a whole lot harder than they should be, - * mostly stemming from the fact that the libc resolver has never been - * very good at them. Before you use this library you should see if libc - * can do the job for you with the modern async call getaddrinfo_a - * (see http://www.imperialviolet.org/page25.html#e498). Otherwise, - * please continue. - * - * The library keeps track of the state of nameservers and will avoid - * them when they go down. Otherwise it will round robin between them. - * - * Quick start guide: - * #include "evdns.h" - * void callback(int result, char type, int count, int ttl, - * void *addresses, void *arg); - * evdns_resolv_conf_parse(DNS_OPTIONS_ALL, "/etc/resolv.conf"); - * evdns_resolve("www.hostname.com", 0, callback, NULL); - * - * When the lookup is complete the callback function is called. The - * first argument will be one of the DNS_ERR_* defines in evdns.h. - * Hopefully it will be DNS_ERR_NONE, in which case type will be - * DNS_IPv4_A, count will be the number of IP addresses, ttl is the time - * which the data can be cached for (in seconds), addresses will point - * to an array of uint32_t's and arg will be whatever you passed to - * evdns_resolve. - * - * Searching: - * - * In order for this library to be a good replacement for glibc's resolver it - * supports searching. This involves setting a list of default domains, in - * which names will be queried for. The number of dots in the query name - * determines the order in which this list is used. - * - * Searching appears to be a single lookup from the point of view of the API, - * although many DNS queries may be generated from a single call to - * evdns_resolve. Searching can also drastically slow down the resolution - * of names. - * - * To disable searching: - * 1. Never set it up. If you never call evdns_resolv_conf_parse or - * evdns_search_add then no searching will occur. - * - * 2. If you do call evdns_resolv_conf_parse then don't pass - * DNS_OPTION_SEARCH (or DNS_OPTIONS_ALL, which implies it). - * - * 3. When calling evdns_resolve, pass the DNS_QUERY_NO_SEARCH flag. - * - * The order of searches depends on the number of dots in the name. If the - * number is greater than the ndots setting then the names is first tried - * globally. Otherwise each search domain is appended in turn. - * - * The ndots setting can either be set from a resolv.conf, or by calling - * evdns_search_ndots_set. - * - * For example, with ndots set to 1 (the default) and a search domain list of - * ["myhome.net"]: - * Query: www - * Order: www.myhome.net, www. - * - * Query: www.abc - * Order: www.abc., www.abc.myhome.net - * - * Internals: - * - * Requests are kept in two queues. The first is the inflight queue. In - * this queue requests have an allocated transaction id and nameserver. - * They will soon be transmitted if they haven't already been. - * - * The second is the waiting queue. The size of the inflight ring is - * limited and all other requests wait in waiting queue for space. This - * bounds the number of concurrent requests so that we don't flood the - * nameserver. Several algorithms require a full walk of the inflight - * queue and so bounding its size keeps thing going nicely under huge - * (many thousands of requests) loads. - * - * If a nameserver loses too many requests it is considered down and we - * try not to use it. After a while we send a probe to that nameserver - * (a lookup for google.com) and, if it replies, we consider it working - * again. If the nameserver fails a probe we wait longer to try again - * with the next probe. - */ - -#ifndef EVENT2_DNS_H_INCLUDED_ -#define EVENT2_DNS_H_INCLUDED_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* For integer types. */ -#include - -/** Error codes 0-5 are as described in RFC 1035. */ -#define DNS_ERR_NONE 0 -/** The name server was unable to interpret the query */ -#define DNS_ERR_FORMAT 1 -/** The name server was unable to process this query due to a problem with the - * name server */ -#define DNS_ERR_SERVERFAILED 2 -/** The domain name does not exist */ -#define DNS_ERR_NOTEXIST 3 -/** The name server does not support the requested kind of query */ -#define DNS_ERR_NOTIMPL 4 -/** The name server refuses to reform the specified operation for policy - * reasons */ -#define DNS_ERR_REFUSED 5 -/** The reply was truncated or ill-formatted */ -#define DNS_ERR_TRUNCATED 65 -/** An unknown error occurred */ -#define DNS_ERR_UNKNOWN 66 -/** Communication with the server timed out */ -#define DNS_ERR_TIMEOUT 67 -/** The request was canceled because the DNS subsystem was shut down. */ -#define DNS_ERR_SHUTDOWN 68 -/** The request was canceled via a call to evdns_cancel_request */ -#define DNS_ERR_CANCEL 69 -/** There were no answers and no error condition in the DNS packet. - * This can happen when you ask for an address that exists, but a record - * type that doesn't. */ -#define DNS_ERR_NODATA 70 - -#define DNS_IPv4_A 1 -#define DNS_PTR 2 -#define DNS_IPv6_AAAA 3 - -#define DNS_QUERY_NO_SEARCH 1 - -#define DNS_OPTION_SEARCH 1 -#define DNS_OPTION_NAMESERVERS 2 -#define DNS_OPTION_MISC 4 -#define DNS_OPTION_HOSTSFILE 8 -#define DNS_OPTIONS_ALL 15 - -/* Obsolete name for DNS_QUERY_NO_SEARCH */ -#define DNS_NO_SEARCH DNS_QUERY_NO_SEARCH - -/** - * The callback that contains the results from a lookup. - * - result is one of the DNS_ERR_* values (DNS_ERR_NONE for success) - * - type is either DNS_IPv4_A or DNS_PTR or DNS_IPv6_AAAA - * - count contains the number of addresses of form type - * - ttl is the number of seconds the resolution may be cached for. - * - addresses needs to be cast according to type. It will be an array of - * 4-byte sequences for ipv4, or an array of 16-byte sequences for ipv6, - * or a nul-terminated string for PTR. - */ -typedef void (*evdns_callback_type) (int result, char type, int count, int ttl, void *addresses, void *arg); - -struct evdns_base; -struct event_base; - -/** Flag for evdns_base_new: process resolv.conf. */ -#define EVDNS_BASE_INITIALIZE_NAMESERVERS 1 -/** Flag for evdns_base_new: Do not prevent the libevent event loop from - * exiting when we have no active dns requests. */ -#define EVDNS_BASE_DISABLE_WHEN_INACTIVE 0x8000 - -/** - Initialize the asynchronous DNS library. - - This function initializes support for non-blocking name resolution by - calling evdns_resolv_conf_parse() on UNIX and - evdns_config_windows_nameservers() on Windows. - - @param event_base the event base to associate the dns client with - @param flags any of EVDNS_BASE_INITIALIZE_NAMESERVERS| - EVDNS_BASE_DISABLE_WHEN_INACTIVE - @return evdns_base object if successful, or NULL if an error occurred. - @see evdns_base_free() - */ -EVENT2_EXPORT_SYMBOL -struct evdns_base * evdns_base_new(struct event_base *event_base, int initialize_nameservers); - - -/** - Shut down the asynchronous DNS resolver and terminate all active requests. - - If the 'fail_requests' option is enabled, all active requests will return - an empty result with the error flag set to DNS_ERR_SHUTDOWN. Otherwise, - the requests will be silently discarded. - - @param evdns_base the evdns base to free - @param fail_requests if zero, active requests will be aborted; if non-zero, - active requests will return DNS_ERR_SHUTDOWN. - @see evdns_base_new() - */ -EVENT2_EXPORT_SYMBOL -void evdns_base_free(struct evdns_base *base, int fail_requests); - -/** - Remove all hosts entries that have been loaded into the event_base via - evdns_base_load_hosts or via event_base_resolv_conf_parse. - - @param evdns_base the evdns base to remove outdated host addresses from - */ -EVENT2_EXPORT_SYMBOL -void evdns_base_clear_host_addresses(struct evdns_base *base); - -/** - Convert a DNS error code to a string. - - @param err the DNS error code - @return a string containing an explanation of the error code -*/ -EVENT2_EXPORT_SYMBOL -const char *evdns_err_to_string(int err); - - -/** - Add a nameserver. - - The address should be an IPv4 address in network byte order. - The type of address is chosen so that it matches in_addr.s_addr. - - @param base the evdns_base to which to add the name server - @param address an IP address in network byte order - @return 0 if successful, or -1 if an error occurred - @see evdns_base_nameserver_ip_add() - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_nameserver_add(struct evdns_base *base, - unsigned long int address); - -/** - Get the number of configured nameservers. - - This returns the number of configured nameservers (not necessarily the - number of running nameservers). This is useful for double-checking - whether our calls to the various nameserver configuration functions - have been successful. - - @param base the evdns_base to which to apply this operation - @return the number of configured nameservers - @see evdns_base_nameserver_add() - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_count_nameservers(struct evdns_base *base); - -/** - Remove all configured nameservers, and suspend all pending resolves. - - Resolves will not necessarily be re-attempted until evdns_base_resume() is called. - - @param base the evdns_base to which to apply this operation - @return 0 if successful, or -1 if an error occurred - @see evdns_base_resume() - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_clear_nameservers_and_suspend(struct evdns_base *base); - - -/** - Resume normal operation and continue any suspended resolve requests. - - Re-attempt resolves left in limbo after an earlier call to - evdns_base_clear_nameservers_and_suspend(). - - @param base the evdns_base to which to apply this operation - @return 0 if successful, or -1 if an error occurred - @see evdns_base_clear_nameservers_and_suspend() - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_resume(struct evdns_base *base); - -/** - Add a nameserver by string address. - - This function parses a n IPv4 or IPv6 address from a string and adds it as a - nameserver. It supports the following formats: - - [IPv6Address]:port - - [IPv6Address] - - IPv6Address - - IPv4Address:port - - IPv4Address - - If no port is specified, it defaults to 53. - - @param base the evdns_base to which to apply this operation - @return 0 if successful, or -1 if an error occurred - @see evdns_base_nameserver_add() - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_nameserver_ip_add(struct evdns_base *base, - const char *ip_as_string); - -/** - Add a nameserver by sockaddr. - **/ -EVENT2_EXPORT_SYMBOL -int -evdns_base_nameserver_sockaddr_add(struct evdns_base *base, - const struct sockaddr *sa, ev_socklen_t len, unsigned flags); - -struct evdns_request; - -/** - Lookup an A record for a given name. - - @param base the evdns_base to which to apply this operation - @param name a DNS hostname - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return an evdns_request object if successful, or NULL if an error occurred. - @see evdns_resolve_ipv6(), evdns_resolve_reverse(), evdns_resolve_reverse_ipv6(), evdns_cancel_request() - */ -EVENT2_EXPORT_SYMBOL -struct evdns_request *evdns_base_resolve_ipv4(struct evdns_base *base, const char *name, int flags, evdns_callback_type callback, void *ptr); - -/** - Lookup an AAAA record for a given name. - - @param base the evdns_base to which to apply this operation - @param name a DNS hostname - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return an evdns_request object if successful, or NULL if an error occurred. - @see evdns_resolve_ipv4(), evdns_resolve_reverse(), evdns_resolve_reverse_ipv6(), evdns_cancel_request() - */ -EVENT2_EXPORT_SYMBOL -struct evdns_request *evdns_base_resolve_ipv6(struct evdns_base *base, const char *name, int flags, evdns_callback_type callback, void *ptr); - -struct in_addr; -struct in6_addr; - -/** - Lookup a PTR record for a given IP address. - - @param base the evdns_base to which to apply this operation - @param in an IPv4 address - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return an evdns_request object if successful, or NULL if an error occurred. - @see evdns_resolve_reverse_ipv6(), evdns_cancel_request() - */ -EVENT2_EXPORT_SYMBOL -struct evdns_request *evdns_base_resolve_reverse(struct evdns_base *base, const struct in_addr *in, int flags, evdns_callback_type callback, void *ptr); - - -/** - Lookup a PTR record for a given IPv6 address. - - @param base the evdns_base to which to apply this operation - @param in an IPv6 address - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return an evdns_request object if successful, or NULL if an error occurred. - @see evdns_resolve_reverse_ipv6(), evdns_cancel_request() - */ -EVENT2_EXPORT_SYMBOL -struct evdns_request *evdns_base_resolve_reverse_ipv6(struct evdns_base *base, const struct in6_addr *in, int flags, evdns_callback_type callback, void *ptr); - -/** - Cancels a pending DNS resolution request. - - @param base the evdns_base that was used to make the request - @param req the evdns_request that was returned by calling a resolve function - @see evdns_base_resolve_ipv4(), evdns_base_resolve_ipv6, evdns_base_resolve_reverse -*/ -EVENT2_EXPORT_SYMBOL -void evdns_cancel_request(struct evdns_base *base, struct evdns_request *req); - -/** - Set the value of a configuration option. - - The currently available configuration options are: - - ndots, timeout, max-timeouts, max-inflight, attempts, randomize-case, - bind-to, initial-probe-timeout, getaddrinfo-allow-skew. - - In versions before Libevent 2.0.3-alpha, the option name needed to end with - a colon. - - @param base the evdns_base to which to apply this operation - @param option the name of the configuration option to be modified - @param val the value to be set - @return 0 if successful, or -1 if an error occurred - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_set_option(struct evdns_base *base, const char *option, const char *val); - - -/** - Parse a resolv.conf file. - - The 'flags' parameter determines what information is parsed from the - resolv.conf file. See the man page for resolv.conf for the format of this - file. - - The following directives are not parsed from the file: sortlist, rotate, - no-check-names, inet6, debug. - - If this function encounters an error, the possible return values are: 1 = - failed to open file, 2 = failed to stat file, 3 = file too large, 4 = out of - memory, 5 = short read from file, 6 = no nameservers listed in the file - - @param base the evdns_base to which to apply this operation - @param flags any of DNS_OPTION_NAMESERVERS|DNS_OPTION_SEARCH|DNS_OPTION_MISC| - DNS_OPTION_HOSTSFILE|DNS_OPTIONS_ALL - @param filename the path to the resolv.conf file - @return 0 if successful, or various positive error codes if an error - occurred (see above) - @see resolv.conf(3), evdns_config_windows_nameservers() - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_resolv_conf_parse(struct evdns_base *base, int flags, const char *const filename); - -/** - Load an /etc/hosts-style file from 'hosts_fname' into 'base'. - - If hosts_fname is NULL, add minimal entries for localhost, and nothing - else. - - Note that only evdns_getaddrinfo uses the /etc/hosts entries. - - This function does not replace previously loaded hosts entries; to do that, - call evdns_base_clear_host_addresses first. - - Return 0 on success, negative on failure. -*/ -EVENT2_EXPORT_SYMBOL -int evdns_base_load_hosts(struct evdns_base *base, const char *hosts_fname); - -/** - Obtain nameserver information using the Windows API. - - Attempt to configure a set of nameservers based on platform settings on - a win32 host. Preferentially tries to use GetNetworkParams; if that fails, - looks in the registry. - - @return 0 if successful, or -1 if an error occurred - @see evdns_resolv_conf_parse() - */ -#ifdef _WIN32 -EVENT2_EXPORT_SYMBOL -int evdns_base_config_windows_nameservers(struct evdns_base *); -#define EVDNS_BASE_CONFIG_WINDOWS_NAMESERVERS_IMPLEMENTED -#endif - - -/** - Clear the list of search domains. - */ -EVENT2_EXPORT_SYMBOL -void evdns_base_search_clear(struct evdns_base *base); - - -/** - Add a domain to the list of search domains - - @param domain the domain to be added to the search list - */ -EVENT2_EXPORT_SYMBOL -void evdns_base_search_add(struct evdns_base *base, const char *domain); - - -/** - Set the 'ndots' parameter for searches. - - Sets the number of dots which, when found in a name, causes - the first query to be without any search domain. - - @param ndots the new ndots parameter - */ -EVENT2_EXPORT_SYMBOL -void evdns_base_search_ndots_set(struct evdns_base *base, const int ndots); - -/** - A callback that is invoked when a log message is generated - - @param is_warning indicates if the log message is a 'warning' - @param msg the content of the log message - */ -typedef void (*evdns_debug_log_fn_type)(int is_warning, const char *msg); - - -/** - Set the callback function to handle DNS log messages. If this - callback is not set, evdns log messages are handled with the regular - Libevent logging system. - - @param fn the callback to be invoked when a log message is generated - */ -EVENT2_EXPORT_SYMBOL -void evdns_set_log_fn(evdns_debug_log_fn_type fn); - -/** - Set a callback that will be invoked to generate transaction IDs. By - default, we pick transaction IDs based on the current clock time, which - is bad for security. - - @param fn the new callback, or NULL to use the default. - - NOTE: This function has no effect in Libevent 2.0.4-alpha and later, - since Libevent now provides its own secure RNG. - */ -EVENT2_EXPORT_SYMBOL -void evdns_set_transaction_id_fn(ev_uint16_t (*fn)(void)); - -/** - Set a callback used to generate random bytes. By default, we use - the same function as passed to evdns_set_transaction_id_fn to generate - bytes two at a time. If a function is provided here, it's also used - to generate transaction IDs. - - NOTE: This function has no effect in Libevent 2.0.4-alpha and later, - since Libevent now provides its own secure RNG. -*/ -EVENT2_EXPORT_SYMBOL -void evdns_set_random_bytes_fn(void (*fn)(char *, size_t)); - -/* - * Functions used to implement a DNS server. - */ - -struct evdns_server_request; -struct evdns_server_question; - -/** - A callback to implement a DNS server. The callback function receives a DNS - request. It should then optionally add a number of answers to the reply - using the evdns_server_request_add_*_reply functions, before calling either - evdns_server_request_respond to send the reply back, or - evdns_server_request_drop to decline to answer the request. - - @param req A newly received request - @param user_data A pointer that was passed to - evdns_add_server_port_with_base(). - */ -typedef void (*evdns_request_callback_fn_type)(struct evdns_server_request *, void *); -#define EVDNS_ANSWER_SECTION 0 -#define EVDNS_AUTHORITY_SECTION 1 -#define EVDNS_ADDITIONAL_SECTION 2 - -#define EVDNS_TYPE_A 1 -#define EVDNS_TYPE_NS 2 -#define EVDNS_TYPE_CNAME 5 -#define EVDNS_TYPE_SOA 6 -#define EVDNS_TYPE_PTR 12 -#define EVDNS_TYPE_MX 15 -#define EVDNS_TYPE_TXT 16 -#define EVDNS_TYPE_AAAA 28 - -#define EVDNS_QTYPE_AXFR 252 -#define EVDNS_QTYPE_ALL 255 - -#define EVDNS_CLASS_INET 1 - -/* flags that can be set in answers; as part of the err parameter */ -#define EVDNS_FLAGS_AA 0x400 -#define EVDNS_FLAGS_RD 0x080 - -/** Create a new DNS server port. - - @param base The event base to handle events for the server port. - @param socket A UDP socket to accept DNS requests. - @param flags Always 0 for now. - @param callback A function to invoke whenever we get a DNS request - on the socket. - @param user_data Data to pass to the callback. - @return an evdns_server_port structure for this server port. - */ -EVENT2_EXPORT_SYMBOL -struct evdns_server_port *evdns_add_server_port_with_base(struct event_base *base, evutil_socket_t socket, int flags, evdns_request_callback_fn_type callback, void *user_data); -/** Close down a DNS server port, and free associated structures. */ -EVENT2_EXPORT_SYMBOL -void evdns_close_server_port(struct evdns_server_port *port); - -/** Sets some flags in a reply we're building. - Allows setting of the AA or RD flags - */ -EVENT2_EXPORT_SYMBOL -void evdns_server_request_set_flags(struct evdns_server_request *req, int flags); - -/* Functions to add an answer to an in-progress DNS reply. - */ -EVENT2_EXPORT_SYMBOL -int evdns_server_request_add_reply(struct evdns_server_request *req, int section, const char *name, int type, int dns_class, int ttl, int datalen, int is_name, const char *data); -EVENT2_EXPORT_SYMBOL -int evdns_server_request_add_a_reply(struct evdns_server_request *req, const char *name, int n, const void *addrs, int ttl); -EVENT2_EXPORT_SYMBOL -int evdns_server_request_add_aaaa_reply(struct evdns_server_request *req, const char *name, int n, const void *addrs, int ttl); -EVENT2_EXPORT_SYMBOL -int evdns_server_request_add_ptr_reply(struct evdns_server_request *req, struct in_addr *in, const char *inaddr_name, const char *hostname, int ttl); -EVENT2_EXPORT_SYMBOL -int evdns_server_request_add_cname_reply(struct evdns_server_request *req, const char *name, const char *cname, int ttl); - -/** - Send back a response to a DNS request, and free the request structure. -*/ -EVENT2_EXPORT_SYMBOL -int evdns_server_request_respond(struct evdns_server_request *req, int err); -/** - Free a DNS request without sending back a reply. -*/ -EVENT2_EXPORT_SYMBOL -int evdns_server_request_drop(struct evdns_server_request *req); -struct sockaddr; -/** - Get the address that made a DNS request. - */ -EVENT2_EXPORT_SYMBOL -int evdns_server_request_get_requesting_addr(struct evdns_server_request *req, struct sockaddr *sa, int addr_len); - -/** Callback for evdns_getaddrinfo. */ -typedef void (*evdns_getaddrinfo_cb)(int result, struct evutil_addrinfo *res, void *arg); - -struct evdns_base; -struct evdns_getaddrinfo_request; -/** Make a non-blocking getaddrinfo request using the dns_base in 'dns_base'. - * - * If we can answer the request immediately (with an error or not!), then we - * invoke cb immediately and return NULL. Otherwise we return - * an evdns_getaddrinfo_request and invoke cb later. - * - * When the callback is invoked, we pass as its first argument the error code - * that getaddrinfo would return (or 0 for no error). As its second argument, - * we pass the evutil_addrinfo structures we found (or NULL on error). We - * pass 'arg' as the third argument. - * - * Limitations: - * - * - The AI_V4MAPPED and AI_ALL flags are not currently implemented. - * - For ai_socktype, we only handle SOCKTYPE_STREAM, SOCKTYPE_UDP, and 0. - * - For ai_protocol, we only handle IPPROTO_TCP, IPPROTO_UDP, and 0. - */ -EVENT2_EXPORT_SYMBOL -struct evdns_getaddrinfo_request *evdns_getaddrinfo( - struct evdns_base *dns_base, - const char *nodename, const char *servname, - const struct evutil_addrinfo *hints_in, - evdns_getaddrinfo_cb cb, void *arg); - -/* Cancel an in-progress evdns_getaddrinfo. This MUST NOT be called after the - * getaddrinfo's callback has been invoked. The resolves will be canceled, - * and the callback will be invoked with the error EVUTIL_EAI_CANCEL. */ -EVENT2_EXPORT_SYMBOL -void evdns_getaddrinfo_cancel(struct evdns_getaddrinfo_request *req); - -/** - Retrieve the address of the 'idx'th configured nameserver. - - @param base The evdns_base to examine. - @param idx The index of the nameserver to get the address of. - @param sa A location to receive the server's address. - @param len The number of bytes available at sa. - - @return the number of bytes written into sa on success. On failure, returns - -1 if idx is greater than the number of configured nameservers, or a - value greater than 'len' if len was not high enough. - */ -EVENT2_EXPORT_SYMBOL -int evdns_base_get_nameserver_addr(struct evdns_base *base, int idx, - struct sockaddr *sa, ev_socklen_t len); - -#ifdef __cplusplus -} -#endif - -#endif /* !EVENT2_DNS_H_INCLUDED_ */ diff --git a/src/components/libevent/dns_compat.h b/src/components/libevent/dns_compat.h deleted file mode 100644 index aa9382f..0000000 --- a/src/components/libevent/dns_compat.h +++ /dev/null @@ -1,336 +0,0 @@ -/* - * Copyright (c) 2006-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_DNS_COMPAT_H_INCLUDED_ -#define EVENT2_DNS_COMPAT_H_INCLUDED_ - -/** @file event2/dns_compat.h - - Potentially non-threadsafe versions of the functions in dns.h: provided - only for backwards compatibility. - - - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/** - Initialize the asynchronous DNS library. - - This function initializes support for non-blocking name resolution by - calling evdns_resolv_conf_parse() on UNIX and - evdns_config_windows_nameservers() on Windows. - - @deprecated This function is deprecated because it always uses the current - event base, and is easily confused by multiple calls to event_init(), and - so is not safe for multithreaded use. Additionally, it allocates a global - structure that only one thread can use. The replacement is - evdns_base_new(). - - @return 0 if successful, or -1 if an error occurred - @see evdns_shutdown() - */ -int evdns_init(void); - -struct evdns_base; -/** - Return the global evdns_base created by event_init() and used by the other - deprecated functions. - - @deprecated This function is deprecated because use of the global - evdns_base is error-prone. - */ -struct evdns_base *evdns_get_global_base(void); - -/** - Shut down the asynchronous DNS resolver and terminate all active requests. - - If the 'fail_requests' option is enabled, all active requests will return - an empty result with the error flag set to DNS_ERR_SHUTDOWN. Otherwise, - the requests will be silently discarded. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_shutdown(). - - @param fail_requests if zero, active requests will be aborted; if non-zero, - active requests will return DNS_ERR_SHUTDOWN. - @see evdns_init() - */ -void evdns_shutdown(int fail_requests); - -/** - Add a nameserver. - - The address should be an IPv4 address in network byte order. - The type of address is chosen so that it matches in_addr.s_addr. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_nameserver_add(). - - @param address an IP address in network byte order - @return 0 if successful, or -1 if an error occurred - @see evdns_nameserver_ip_add() - */ -int evdns_nameserver_add(unsigned long int address); - -/** - Get the number of configured nameservers. - - This returns the number of configured nameservers (not necessarily the - number of running nameservers). This is useful for double-checking - whether our calls to the various nameserver configuration functions - have been successful. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_count_nameservers(). - - @return the number of configured nameservers - @see evdns_nameserver_add() - */ -int evdns_count_nameservers(void); - -/** - Remove all configured nameservers, and suspend all pending resolves. - - Resolves will not necessarily be re-attempted until evdns_resume() is called. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_clear_nameservers_and_suspend(). - - @return 0 if successful, or -1 if an error occurred - @see evdns_resume() - */ -int evdns_clear_nameservers_and_suspend(void); - -/** - Resume normal operation and continue any suspended resolve requests. - - Re-attempt resolves left in limbo after an earlier call to - evdns_clear_nameservers_and_suspend(). - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_resume(). - - @return 0 if successful, or -1 if an error occurred - @see evdns_clear_nameservers_and_suspend() - */ -int evdns_resume(void); - -/** - Add a nameserver. - - This wraps the evdns_nameserver_add() function by parsing a string as an IP - address and adds it as a nameserver. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_nameserver_ip_add(). - - @return 0 if successful, or -1 if an error occurred - @see evdns_nameserver_add() - */ -int evdns_nameserver_ip_add(const char *ip_as_string); - -/** - Lookup an A record for a given name. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_resolve_ipv4(). - - @param name a DNS hostname - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return 0 if successful, or -1 if an error occurred - @see evdns_resolve_ipv6(), evdns_resolve_reverse(), evdns_resolve_reverse_ipv6() - */ -int evdns_resolve_ipv4(const char *name, int flags, evdns_callback_type callback, void *ptr); - -/** - Lookup an AAAA record for a given name. - - @param name a DNS hostname - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return 0 if successful, or -1 if an error occurred - @see evdns_resolve_ipv4(), evdns_resolve_reverse(), evdns_resolve_reverse_ipv6() - */ -int evdns_resolve_ipv6(const char *name, int flags, evdns_callback_type callback, void *ptr); - -struct in_addr; -struct in6_addr; - -/** - Lookup a PTR record for a given IP address. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_resolve_reverse(). - - @param in an IPv4 address - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return 0 if successful, or -1 if an error occurred - @see evdns_resolve_reverse_ipv6() - */ -int evdns_resolve_reverse(const struct in_addr *in, int flags, evdns_callback_type callback, void *ptr); - -/** - Lookup a PTR record for a given IPv6 address. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_resolve_reverse_ipv6(). - - @param in an IPv6 address - @param flags either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. - @param callback a callback function to invoke when the request is completed - @param ptr an argument to pass to the callback function - @return 0 if successful, or -1 if an error occurred - @see evdns_resolve_reverse_ipv6() - */ -int evdns_resolve_reverse_ipv6(const struct in6_addr *in, int flags, evdns_callback_type callback, void *ptr); - -/** - Set the value of a configuration option. - - The currently available configuration options are: - - ndots, timeout, max-timeouts, max-inflight, and attempts - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_set_option(). - - @param option the name of the configuration option to be modified - @param val the value to be set - @param flags Ignored. - @return 0 if successful, or -1 if an error occurred - */ -int evdns_set_option(const char *option, const char *val, int flags); - -/** - Parse a resolv.conf file. - - The 'flags' parameter determines what information is parsed from the - resolv.conf file. See the man page for resolv.conf for the format of this - file. - - The following directives are not parsed from the file: sortlist, rotate, - no-check-names, inet6, debug. - - If this function encounters an error, the possible return values are: 1 = - failed to open file, 2 = failed to stat file, 3 = file too large, 4 = out of - memory, 5 = short read from file, 6 = no nameservers listed in the file - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_resolv_conf_parse(). - - @param flags any of DNS_OPTION_NAMESERVERS|DNS_OPTION_SEARCH|DNS_OPTION_MISC| - DNS_OPTIONS_ALL - @param filename the path to the resolv.conf file - @return 0 if successful, or various positive error codes if an error - occurred (see above) - @see resolv.conf(3), evdns_config_windows_nameservers() - */ -int evdns_resolv_conf_parse(int flags, const char *const filename); - -/** - Clear the list of search domains. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_search_clear(). - */ -void evdns_search_clear(void); - -/** - Add a domain to the list of search domains - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_search_add(). - - @param domain the domain to be added to the search list - */ -void evdns_search_add(const char *domain); - -/** - Set the 'ndots' parameter for searches. - - Sets the number of dots which, when found in a name, causes - the first query to be without any search domain. - - @deprecated This function is deprecated because it does not allow the - caller to specify which evdns_base it applies to. The recommended - function is evdns_base_search_ndots_set(). - - @param ndots the new ndots parameter - */ -void evdns_search_ndots_set(const int ndots); - -/** - As evdns_server_new_with_base. - - @deprecated This function is deprecated because it does not allow the - caller to specify which even_base it uses. The recommended - function is evdns_add_server_port_with_base(). - -*/ -struct evdns_server_port *evdns_add_server_port(evutil_socket_t socket, int flags, evdns_request_callback_fn_type callback, void *user_data); - -#ifdef _WIN32 -int evdns_config_windows_nameservers(void); -#define EVDNS_CONFIG_WINDOWS_NAMESERVERS_IMPLEMENTED -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_EVENT_COMPAT_H_INCLUDED_ */ diff --git a/src/components/libevent/dns_struct.h b/src/components/libevent/dns_struct.h deleted file mode 100644 index 5293488..0000000 --- a/src/components/libevent/dns_struct.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_DNS_STRUCT_H_INCLUDED_ -#define EVENT2_DNS_STRUCT_H_INCLUDED_ - -/** @file event2/dns_struct.h - - Data structures for dns. Using these structures may hurt forward - compatibility with later versions of Libevent: be careful! - - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/* - * Structures used to implement a DNS server. - */ - -struct evdns_server_request { - int flags; - int nquestions; - struct evdns_server_question **questions; -}; -struct evdns_server_question { - int type; -#ifdef __cplusplus - int dns_question_class; -#else - /* You should refer to this field as "dns_question_class". The - * name "class" works in C for backward compatibility, and will be - * removed in a future version. (1.5 or later). */ - int class; -#define dns_question_class class -#endif - char name[1]; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_DNS_STRUCT_H_INCLUDED_ */ - diff --git a/src/components/libevent/evconfig-private.h b/src/components/libevent/evconfig-private.h deleted file mode 100644 index f6b08e3..0000000 --- a/src/components/libevent/evconfig-private.h +++ /dev/null @@ -1,49 +0,0 @@ -/* evconfig-private.h. Generated from evconfig-private.h.in by configure. */ -/* evconfig-private.h template - see "Configuration Header Templates" */ -/* in AC manual. Kevin Bowling header file. */ -#define EVENT__HAVE_ARPA_INET_H 1 - -/* Define to 1 if you have the `clock_gettime' function. */ -#define EVENT__HAVE_CLOCK_GETTIME 1 - -/* Define to 1 if you have the declaration of `CTL_KERN', and to 0 if you - don't. */ -#define EVENT__HAVE_DECL_CTL_KERN 1 - -/* Define to 1 if you have the declaration of `KERN_ARND', and to 0 if you - don't. */ -#define EVENT__HAVE_DECL_KERN_ARND 0 - -/* Define to 1 if you have the declaration of `KERN_RANDOM', and to 0 if you - don't. */ -#define EVENT__HAVE_DECL_KERN_RANDOM 1 - -/* Define to 1 if you have the declaration of `RANDOM_UUID', and to 0 if you - don't. */ -#define EVENT__HAVE_DECL_RANDOM_UUID 1 - -/* Define if /dev/poll is available */ -/* #undef EVENT__HAVE_DEVPOLL */ - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_DLFCN_H 1 - -/* Define if your system supports the epoll system calls */ -#define EVENT__HAVE_EPOLL 1 - -/* Define to 1 if you have the `epoll_create1' function. */ -#define EVENT__HAVE_EPOLL_CREATE1 1 - -/* Define to 1 if you have the `epoll_ctl' function. */ -#define EVENT__HAVE_EPOLL_CTL 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_ERRNO_H 1 - -/* Define to 1 if you have ERR_remove_thread_stat(). */ -#define EVENT__HAVE_ERR_REMOVE_THREAD_STATE 1 - -/* Define to 1 if you have the `eventfd' function. */ -#define EVENT__HAVE_EVENTFD 1 - -/* Define if your system supports event ports */ -/* #undef EVENT__HAVE_EVENT_PORTS */ - -/* Define to 1 if you have the `fcntl' function. */ -#define EVENT__HAVE_FCNTL 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_FCNTL_H 1 - -/* Define to 1 if the system has the type `fd_mask'. */ -#define EVENT__HAVE_FD_MASK 1 - -/* Do we have getaddrinfo()? */ -#define EVENT__HAVE_GETADDRINFO 1 - -/* Define to 1 if you have the `getegid' function. */ -#define EVENT__HAVE_GETEGID 1 - -/* Define to 1 if you have the `geteuid' function. */ -#define EVENT__HAVE_GETEUID 1 - -/* Define this if you have any gethostbyname_r() */ -/* #undef EVENT__HAVE_GETHOSTBYNAME_R */ - -/* Define this if gethostbyname_r takes 3 arguments */ -/* #undef EVENT__HAVE_GETHOSTBYNAME_R_3_ARG */ - -/* Define this if gethostbyname_r takes 5 arguments */ -/* #undef EVENT__HAVE_GETHOSTBYNAME_R_5_ARG */ - -/* Define this if gethostbyname_r takes 6 arguments */ -/* #undef EVENT__HAVE_GETHOSTBYNAME_R_6_ARG */ - -/* Define to 1 if you have the `getifaddrs' function. */ -#define EVENT__HAVE_GETIFADDRS 1 - -/* Define to 1 if you have the `getnameinfo' function. */ -#define EVENT__HAVE_GETNAMEINFO 1 - -/* Define to 1 if you have the `getprotobynumber' function. */ -#define EVENT__HAVE_GETPROTOBYNUMBER 1 - -/* Define to 1 if you have the `getservbyname' function. */ -#define EVENT__HAVE_GETSERVBYNAME 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -#define EVENT__HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_IFADDRS_H 1 - -/* Define to 1 if you have the `inet_ntop' function. */ -#define EVENT__HAVE_INET_NTOP 1 - -/* Define to 1 if you have the `inet_pton' function. */ -#define EVENT__HAVE_INET_PTON 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `issetugid' function. */ -/* #undef EVENT__HAVE_ISSETUGID */ - -/* Define to 1 if you have the `kqueue' function. */ -/* #undef EVENT__HAVE_KQUEUE */ - -/* Define if the system has zlib */ -#define EVENT__HAVE_LIBZ 1 - -/* Define to 1 if you have the `mach_absolute_time' function. */ -/* #undef EVENT__HAVE_MACH_ABSOLUTE_TIME */ - -/* Define to 1 if you have the header file. */ -/* #undef EVENT__HAVE_MACH_MACH_TIME_H */ - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `mmap' function. */ -#define EVENT__HAVE_MMAP 1 - -/* Define to 1 if you have the `nanosleep' function. */ -#define EVENT__HAVE_NANOSLEEP 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_NETDB_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef EVENT__HAVE_NETINET_IN6_H */ - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_NETINET_IN_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_NETINET_TCP_H 1 - -/* Define if the system has openssl */ -#define EVENT__HAVE_OPENSSL 1 - -/* Define to 1 if you have the `pipe' function. */ -#define EVENT__HAVE_PIPE 1 - -/* Define to 1 if you have the `pipe2' function. */ -#define EVENT__HAVE_PIPE2 1 - -/* Define to 1 if you have the `poll' function. */ -#define EVENT__HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_POLL_H 1 - -/* Define to 1 if you have the `port_create' function. */ -/* #undef EVENT__HAVE_PORT_CREATE */ - -/* Define to 1 if you have the header file. */ -/* #undef EVENT__HAVE_PORT_H */ - -/* Define if you have POSIX threads libraries and header files. */ -/* #undef EVENT__HAVE_PTHREAD */ - -/* Define if we have pthreads on this system */ -#define EVENT__HAVE_PTHREADS 1 - -/* Define to 1 if you have the `putenv' function. */ -#define EVENT__HAVE_PUTENV 1 - -/* Define to 1 if the system has the type `sa_family_t'. */ -#define EVENT__HAVE_SA_FAMILY_T 1 - -/* Define to 1 if you have the `select' function. */ -#define EVENT__HAVE_SELECT 1 - -/* Define to 1 if you have the `sendfile' function. */ -#define EVENT__HAVE_SENDFILE 1 - -/* Define to 1 if you have the `setenv' function. */ -#define EVENT__HAVE_SETENV 1 - -/* Define if F_SETFD is defined in */ -#define EVENT__HAVE_SETFD 1 - -/* Define to 1 if you have the `setrlimit' function. */ -#define EVENT__HAVE_SETRLIMIT 1 - -/* Define to 1 if you have the `sigaction' function. */ -#define EVENT__HAVE_SIGACTION 1 - -/* Define to 1 if you have the `signal' function. */ -#define EVENT__HAVE_SIGNAL 1 - -/* Define to 1 if you have the `splice' function. */ -#define EVENT__HAVE_SPLICE 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_STDARG_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_STDDEF_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_STRING_H 1 - -/* Define to 1 if you have the `strlcpy' function. */ -/* #undef EVENT__HAVE_STRLCPY */ - -/* Define to 1 if you have the `strsep' function. */ -#define EVENT__HAVE_STRSEP 1 - -/* Define to 1 if you have the `strtok_r' function. */ -#define EVENT__HAVE_STRTOK_R 1 - -/* Define to 1 if you have the `strtoll' function. */ -#define EVENT__HAVE_STRTOLL 1 - -/* Define to 1 if the system has the type `struct addrinfo'. */ -#define EVENT__HAVE_STRUCT_ADDRINFO 1 - -/* Define to 1 if the system has the type `struct in6_addr'. */ -#define EVENT__HAVE_STRUCT_IN6_ADDR 1 - -/* Define to 1 if `s6_addr16' is a member of `struct in6_addr'. */ -#define EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR16 1 - -/* Define to 1 if `s6_addr32' is a member of `struct in6_addr'. */ -#define EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR32 1 - -/* Define to 1 if the system has the type `struct sockaddr_in6'. */ -#define EVENT__HAVE_STRUCT_SOCKADDR_IN6 1 - -/* Define to 1 if `sin6_len' is a member of `struct sockaddr_in6'. */ -/* #undef EVENT__HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN */ - -/* Define to 1 if `sin_len' is a member of `struct sockaddr_in'. */ -/* #undef EVENT__HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */ - -/* Define to 1 if the system has the type `struct sockaddr_storage'. */ -#define EVENT__HAVE_STRUCT_SOCKADDR_STORAGE 1 - -/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ -#define EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 - -/* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */ -/* #undef EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */ - -/* Define to 1 if the system has the type `struct so_linger'. */ -/* #undef EVENT__HAVE_STRUCT_SO_LINGER */ - -/* Define to 1 if you have the `sysctl' function. */ -#define EVENT__HAVE_SYSCTL 1 - -/* Define to 1 if you have the header file. */ -/* #undef EVENT__HAVE_SYS_DEVPOLL_H */ - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_EPOLL_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_EVENTFD_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef EVENT__HAVE_SYS_EVENT_H */ - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_IOCTL_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_MMAN_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_PARAM_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_QUEUE_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_SENDFILE_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_SOCKET_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_SYSCTL_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_TIMERFD_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_UIO_H 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_SYS_WAIT_H 1 - -/* Define if TAILQ_FOREACH is defined in */ -#define EVENT__HAVE_TAILQFOREACH 1 - -/* Define if timeradd is defined in */ -#define EVENT__HAVE_TIMERADD 1 - -/* Define if timerclear is defined in */ -#define EVENT__HAVE_TIMERCLEAR 1 - -/* Define if timercmp is defined in */ -#define EVENT__HAVE_TIMERCMP 1 - -/* Define to 1 if you have the `timerfd_create' function. */ -#define EVENT__HAVE_TIMERFD_CREATE 1 - -/* Define if timerisset is defined in */ -#define EVENT__HAVE_TIMERISSET 1 - -/* Define to 1 if the system has the type `uint16_t'. */ -#define EVENT__HAVE_UINT16_T 1 - -/* Define to 1 if the system has the type `uint32_t'. */ -#define EVENT__HAVE_UINT32_T 1 - -/* Define to 1 if the system has the type `uint64_t'. */ -#define EVENT__HAVE_UINT64_T 1 - -/* Define to 1 if the system has the type `uint8_t'. */ -#define EVENT__HAVE_UINT8_T 1 - -/* Define to 1 if the system has the type `uintptr_t'. */ -#define EVENT__HAVE_UINTPTR_T 1 - -/* Define to 1 if you have the `umask' function. */ -#define EVENT__HAVE_UMASK 1 - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_UNISTD_H 1 - -/* Define to 1 if you have the `unsetenv' function. */ -#define EVENT__HAVE_UNSETENV 1 - -/* Define to 1 if you have the `usleep' function. */ -#define EVENT__HAVE_USLEEP 1 - -/* Define to 1 if you have the `vasprintf' function. */ -#define EVENT__HAVE_VASPRINTF 1 - -/* Define if waitpid() supports WNOWAIT */ -/* #undef EVENT__HAVE_WAITPID_WITH_WNOWAIT */ - -/* Define if kqueue works correctly with pipes */ -/* #undef EVENT__HAVE_WORKING_KQUEUE */ - -/* Define to 1 if you have the header file. */ -#define EVENT__HAVE_ZLIB_H 1 - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define EVENT__LT_OBJDIR ".libs/" - -/* Numeric representation of the version */ -#define EVENT__NUMERIC_VERSION 0x02010800 - -/* Name of package */ -#define EVENT__PACKAGE "libevent" - -/* Define to the address where bug reports for this package should be sent. */ -#define EVENT__PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define EVENT__PACKAGE_NAME "libevent" - -/* Define to the full name and version of this package. */ -#define EVENT__PACKAGE_STRING "libevent 2.1.8-stable" - -/* Define to the one symbol short name of this package. */ -#define EVENT__PACKAGE_TARNAME "libevent" - -/* Define to the home page for this package. */ -#define EVENT__PACKAGE_URL "" - -/* Define to the version of this package. */ -#define EVENT__PACKAGE_VERSION "2.1.8-stable" - -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -/* #undef EVENT__PTHREAD_CREATE_JOINABLE */ - -/* The size of `int', as computed by sizeof. */ -#define EVENT__SIZEOF_INT 4 - -/* The size of `long', as computed by sizeof. */ -#define EVENT__SIZEOF_LONG 8 - -/* The size of `long long', as computed by sizeof. */ -#define EVENT__SIZEOF_LONG_LONG 8 - -/* The size of `off_t', as computed by sizeof. */ -#define EVENT__SIZEOF_OFF_T 8 - -/* The size of `pthread_t', as computed by sizeof. */ -#define EVENT__SIZEOF_PTHREAD_T 8 - -/* The size of `short', as computed by sizeof. */ -#define EVENT__SIZEOF_SHORT 2 - -/* The size of `size_t', as computed by sizeof. */ -#define EVENT__SIZEOF_SIZE_T 8 - -/* The size of `void *', as computed by sizeof. */ -#define EVENT__SIZEOF_VOID_P 8 - -/* Define to 1 if you have the ANSI C header files. */ -#define EVENT__STDC_HEADERS 1 - -/* Define to 1 if you can safely include both and . */ -#define EVENT__TIME_WITH_SYS_TIME 1 - -/* Enable extensions on AIX 3, Interix. */ -#ifndef EVENT___ALL_SOURCE -# define EVENT___ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef EVENT___GNU_SOURCE -# define EVENT___GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef EVENT___POSIX_PTHREAD_SEMANTICS -# define EVENT___POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef EVENT___TANDEM_SOURCE -# define EVENT___TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef EVENT____EXTENSIONS__ -# define EVENT____EXTENSIONS__ 1 -#endif - - -/* Version number of package */ -#define EVENT__VERSION "2.1.8-stable" - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef EVENT___DARWIN_USE_64_BIT_INODE -# define EVENT___DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef EVENT___FILE_OFFSET_BITS */ - -/* Define for large files, on AIX-style hosts. */ -/* #undef EVENT___LARGE_FILES */ - -/* Define to 1 if on MINIX. */ -/* #undef EVENT___MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef EVENT___POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef EVENT___POSIX_SOURCE */ - -/* Define to appropriate substitue if compiler doesnt have __func__ */ -/* #undef EVENT____func__ */ - -/* Define to empty if `const' does not conform to ANSI C. */ -/* #undef EVENT__const */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef EVENT____cplusplus -/* #undef EVENT__inline */ -#endif - -/* Define to `int' if does not define. */ -/* #undef EVENT__pid_t */ - -/* Define to `unsigned int' if does not define. */ -/* #undef EVENT__size_t */ - -/* Define to unsigned int if you dont have it */ -/* #undef EVENT__socklen_t */ - -/* Define to `int' if does not define. */ -/* #undef EVENT__ssize_t */ - -#endif /* event2/event-config.h */ diff --git a/src/components/libevent/event.h b/src/components/libevent/event.h deleted file mode 100644 index 0bcb534..0000000 --- a/src/components/libevent/event.h +++ /dev/null @@ -1,1675 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_EVENT_H_INCLUDED_ -#define EVENT2_EVENT_H_INCLUDED_ - -/** - @mainpage - - @section intro Introduction - - Libevent is an event notification library for developing scalable network - servers. The Libevent API provides a mechanism to execute a callback - function when a specific event occurs on a file descriptor or after a - timeout has been reached. Furthermore, Libevent also support callbacks due - to signals or regular timeouts. - - Libevent is meant to replace the event loop found in event driven network - servers. An application just needs to call event_base_dispatch() and then add or - remove events dynamically without having to change the event loop. - - - Currently, Libevent supports /dev/poll, kqueue(2), select(2), poll(2), - epoll(4), and evports. The internal event mechanism is completely - independent of the exposed event API, and a simple update of Libevent can - provide new functionality without having to redesign the applications. As a - result, Libevent allows for portable application development and provides - the most scalable event notification mechanism available on an operating - system. Libevent can also be used for multithreaded programs. Libevent - should compile on Linux, *BSD, Mac OS X, Solaris and, Windows. - - @section usage Standard usage - - Every program that uses Libevent must include the - header, and pass the -levent flag to the linker. (You can instead link - -levent_core if you only want the main event and buffered IO-based code, - and don't want to link any protocol code.) - - @section setup Library setup - - Before you call any other Libevent functions, you need to set up the - library. If you're going to use Libevent from multiple threads in a - multithreaded application, you need to initialize thread support -- - typically by using evthread_use_pthreads() or - evthread_use_windows_threads(). See for more - information. - - This is also the point where you can replace Libevent's memory - management functions with event_set_mem_functions, and enable debug mode - with event_enable_debug_mode(). - - @section base Creating an event base - - Next, you need to create an event_base structure, using event_base_new() - or event_base_new_with_config(). The event_base is responsible for - keeping track of which events are "pending" (that is to say, being - watched to see if they become active) and which events are "active". - Every event is associated with a single event_base. - - @section event Event notification - - For each file descriptor that you wish to monitor, you must create an - event structure with event_new(). (You may also declare an event - structure and call event_assign() to initialize the members of the - structure.) To enable notification, you add the structure to the list - of monitored events by calling event_add(). The event structure must - remain allocated as long as it is active, so it should generally be - allocated on the heap. - - @section loop Dispatching events. - - Finally, you call event_base_dispatch() to loop and dispatch events. - You can also use event_base_loop() for more fine-grained control. - - Currently, only one thread can be dispatching a given event_base at a - time. If you want to run events in multiple threads at once, you can - either have a single event_base whose events add work to a work queue, - or you can create multiple event_base objects. - - @section bufferevent I/O Buffers - - Libevent provides a buffered I/O abstraction on top of the regular event - callbacks. This abstraction is called a bufferevent. A bufferevent - provides input and output buffers that get filled and drained - automatically. The user of a buffered event no longer deals directly - with the I/O, but instead is reading from input and writing to output - buffers. - - Once initialized via bufferevent_socket_new(), the bufferevent structure - can be used repeatedly with bufferevent_enable() and - bufferevent_disable(). Instead of reading and writing directly to a - socket, you would call bufferevent_read() and bufferevent_write(). - - When read enabled the bufferevent will try to read from the file descriptor - and call the read callback. The write callback is executed whenever the - output buffer is drained below the write low watermark, which is 0 by - default. - - See for more information. - - @section timers Timers - - Libevent can also be used to create timers that invoke a callback after a - certain amount of time has expired. The evtimer_new() macro returns - an event struct to use as a timer. To activate the timer, call - evtimer_add(). Timers can be deactivated by calling evtimer_del(). - (These macros are thin wrappers around event_new(), event_add(), - and event_del(); you can also use those instead.) - - @section evdns Asynchronous DNS resolution - - Libevent provides an asynchronous DNS resolver that should be used instead - of the standard DNS resolver functions. See the - functions for more detail. - - @section evhttp Event-driven HTTP servers - - Libevent provides a very simple event-driven HTTP server that can be - embedded in your program and used to service HTTP requests. - - To use this capability, you need to include the header in your - program. See that header for more information. - - @section evrpc A framework for RPC servers and clients - - Libevent provides a framework for creating RPC servers and clients. It - takes care of marshaling and unmarshaling all data structures. - - @section api API Reference - - To browse the complete documentation of the libevent API, click on any of - the following links. - - event2/event.h - The primary libevent header - - event2/thread.h - Functions for use by multithreaded programs - - event2/buffer.h and event2/bufferevent.h - Buffer management for network reading and writing - - event2/util.h - Utility functions for portable nonblocking network code - - event2/dns.h - Asynchronous DNS resolution - - event2/http.h - An embedded libevent-based HTTP server - - event2/rpc.h - A framework for creating RPC servers and clients - - */ - -/** @file event2/event.h - - Core functions for waiting for and receiving events, and using event bases. -*/ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -#include - -/* For int types. */ -#include - -/** - * Structure to hold information and state for a Libevent dispatch loop. - * - * The event_base lies at the center of Libevent; every application will - * have one. It keeps track of all pending and active events, and - * notifies your application of the active ones. - * - * This is an opaque structure; you can allocate one using - * event_base_new() or event_base_new_with_config(). - * - * @see event_base_new(), event_base_free(), event_base_loop(), - * event_base_new_with_config() - */ -struct event_base -#ifdef EVENT_IN_DOXYGEN_ -{/*Empty body so that doxygen will generate documentation here.*/} -#endif -; - -/** - * @struct event - * - * Structure to represent a single event. - * - * An event can have some underlying condition it represents: a socket - * becoming readable or writeable (or both), or a signal becoming raised. - * (An event that represents no underlying condition is still useful: you - * can use one to implement a timer, or to communicate between threads.) - * - * Generally, you can create events with event_new(), then make them - * pending with event_add(). As your event_base runs, it will run the - * callbacks of an events whose conditions are triggered. When you - * longer want the event, free it with event_free(). - * - * In more depth: - * - * An event may be "pending" (one whose condition we are watching), - * "active" (one whose condition has triggered and whose callback is about - * to run), neither, or both. Events come into existence via - * event_assign() or event_new(), and are then neither active nor pending. - * - * To make an event pending, pass it to event_add(). When doing so, you - * can also set a timeout for the event. - * - * Events become active during an event_base_loop() call when either their - * condition has triggered, or when their timeout has elapsed. You can - * also activate an event manually using event_active(). The even_base - * loop will run the callbacks of active events; after it has done so, it - * marks them as no longer active. - * - * You can make an event non-pending by passing it to event_del(). This - * also makes the event non-active. - * - * Events can be "persistent" or "non-persistent". A non-persistent event - * becomes non-pending as soon as it is triggered: thus, it only runs at - * most once per call to event_add(). A persistent event remains pending - * even when it becomes active: you'll need to event_del() it manually in - * order to make it non-pending. When a persistent event with a timeout - * becomes active, its timeout is reset: this means you can use persistent - * events to implement periodic timeouts. - * - * This should be treated as an opaque structure; you should never read or - * write any of its fields directly. For backward compatibility with old - * code, it is defined in the event2/event_struct.h header; including this - * header may make your code incompatible with other versions of Libevent. - * - * @see event_new(), event_free(), event_assign(), event_get_assignment(), - * event_add(), event_del(), event_active(), event_pending(), - * event_get_fd(), event_get_base(), event_get_events(), - * event_get_callback(), event_get_callback_arg(), - * event_priority_set() - */ -struct event -#ifdef EVENT_IN_DOXYGEN_ -{/*Empty body so that doxygen will generate documentation here.*/} -#endif -; - -/** - * Configuration for an event_base. - * - * There are many options that can be used to alter the behavior and - * implementation of an event_base. To avoid having to pass them all in a - * complex many-argument constructor, we provide an abstract data type - * wrhere you set up configation information before passing it to - * event_base_new_with_config(). - * - * @see event_config_new(), event_config_free(), event_base_new_with_config(), - * event_config_avoid_method(), event_config_require_features(), - * event_config_set_flag(), event_config_set_num_cpus_hint() - */ -struct event_config -#ifdef EVENT_IN_DOXYGEN_ -{/*Empty body so that doxygen will generate documentation here.*/} -#endif -; - -/** - * Enable some relatively expensive debugging checks in Libevent that - * would normally be turned off. Generally, these checks cause code that - * would otherwise crash mysteriously to fail earlier with an assertion - * failure. Note that this method MUST be called before any events or - * event_bases have been created. - * - * Debug mode can currently catch the following errors: - * An event is re-assigned while it is added - * Any function is called on a non-assigned event - * - * Note that debugging mode uses memory to track every event that has been - * initialized (via event_assign, event_set, or event_new) but not yet - * released (via event_free or event_debug_unassign). If you want to use - * debug mode, and you find yourself running out of memory, you will need - * to use event_debug_unassign to explicitly stop tracking events that - * are no longer considered set-up. - * - * @see event_debug_unassign() - */ -EVENT2_EXPORT_SYMBOL -void event_enable_debug_mode(void); - -/** - * When debugging mode is enabled, informs Libevent that an event should no - * longer be considered as assigned. When debugging mode is not enabled, does - * nothing. - * - * This function must only be called on a non-added event. - * - * @see event_enable_debug_mode() - */ -EVENT2_EXPORT_SYMBOL -void event_debug_unassign(struct event *); - -/** - * Create and return a new event_base to use with the rest of Libevent. - * - * @return a new event_base on success, or NULL on failure. - * - * @see event_base_free(), event_base_new_with_config() - */ -EVENT2_EXPORT_SYMBOL -struct event_base *event_base_new(void); - -/** - Reinitialize the event base after a fork - - Some event mechanisms do not survive across fork. The event base needs - to be reinitialized with the event_reinit() function. - - @param base the event base that needs to be re-initialized - @return 0 if successful, or -1 if some events could not be re-added. - @see event_base_new() -*/ -EVENT2_EXPORT_SYMBOL -int event_reinit(struct event_base *base); - -/** - Event dispatching loop - - This loop will run the event base until either there are no more pending or - active, or until something calls event_base_loopbreak() or - event_base_loopexit(). - - @param base the event_base structure returned by event_base_new() or - event_base_new_with_config() - @return 0 if successful, -1 if an error occurred, or 1 if we exited because - no events were pending or active. - @see event_base_loop() - */ -EVENT2_EXPORT_SYMBOL -int event_base_dispatch(struct event_base *); - -/** - Get the kernel event notification mechanism used by Libevent. - - @param eb the event_base structure returned by event_base_new() - @return a string identifying the kernel event mechanism (kqueue, epoll, etc.) - */ -EVENT2_EXPORT_SYMBOL -const char *event_base_get_method(const struct event_base *); - -/** - Gets all event notification mechanisms supported by Libevent. - - This functions returns the event mechanism in order preferred by - Libevent. Note that this list will include all backends that - Libevent has compiled-in support for, and will not necessarily check - your OS to see whether it has the required resources. - - @return an array with pointers to the names of support methods. - The end of the array is indicated by a NULL pointer. If an - error is encountered NULL is returned. -*/ -EVENT2_EXPORT_SYMBOL -const char **event_get_supported_methods(void); - -/** Query the current monotonic time from a the timer for a struct - * event_base. - */ -EVENT2_EXPORT_SYMBOL -int event_gettime_monotonic(struct event_base *base, struct timeval *tp); - -/** - @name event type flag - - Flags to pass to event_base_get_num_events() to specify the kinds of events - we want to aggregate counts for -*/ -/**@{*/ -/** count the number of active events, which have been triggered.*/ -#define EVENT_BASE_COUNT_ACTIVE 1U -/** count the number of virtual events, which is used to represent an internal - * condition, other than a pending event, that keeps the loop from exiting. */ -#define EVENT_BASE_COUNT_VIRTUAL 2U -/** count the number of events which have been added to event base, including - * internal events. */ -#define EVENT_BASE_COUNT_ADDED 4U -/**@}*/ - -/** - Gets the number of events in event_base, as specified in the flags. - - Since event base has some internal events added to make some of its - functionalities work, EVENT_BASE_COUNT_ADDED may return more than the - number of events you added using event_add(). - - If you pass EVENT_BASE_COUNT_ACTIVE and EVENT_BASE_COUNT_ADDED together, an - active event will be counted twice. However, this might not be the case in - future libevent versions. The return value is an indication of the work - load, but the user shouldn't rely on the exact value as this may change in - the future. - - @param eb the event_base structure returned by event_base_new() - @param flags a bitwise combination of the kinds of events to aggregate - counts for - @return the number of events specified in the flags -*/ -EVENT2_EXPORT_SYMBOL -int event_base_get_num_events(struct event_base *, unsigned int); - -/** - Get the maximum number of events in a given event_base as specified in the - flags. - - @param eb the event_base structure returned by event_base_new() - @param flags a bitwise combination of the kinds of events to aggregate - counts for - @param clear option used to reset the maximum count. - @return the number of events specified in the flags - */ -EVENT2_EXPORT_SYMBOL -int event_base_get_max_events(struct event_base *, unsigned int, int); - -/** - Allocates a new event configuration object. - - The event configuration object can be used to change the behavior of - an event base. - - @return an event_config object that can be used to store configuration, or - NULL if an error is encountered. - @see event_base_new_with_config(), event_config_free(), event_config -*/ -EVENT2_EXPORT_SYMBOL -struct event_config *event_config_new(void); - -/** - Deallocates all memory associated with an event configuration object - - @param cfg the event configuration object to be freed. -*/ -EVENT2_EXPORT_SYMBOL -void event_config_free(struct event_config *cfg); - -/** - Enters an event method that should be avoided into the configuration. - - This can be used to avoid event mechanisms that do not support certain - file descriptor types, or for debugging to avoid certain event - mechanisms. An application can make use of multiple event bases to - accommodate incompatible file descriptor types. - - @param cfg the event configuration object - @param method the name of the event method to avoid - @return 0 on success, -1 on failure. -*/ -EVENT2_EXPORT_SYMBOL -int event_config_avoid_method(struct event_config *cfg, const char *method); - -/** - A flag used to describe which features an event_base (must) provide. - - Because of OS limitations, not every Libevent backend supports every - possible feature. You can use this type with - event_config_require_features() to tell Libevent to only proceed if your - event_base implements a given feature, and you can receive this type from - event_base_get_features() to see which features are available. -*/ -enum event_method_feature { - /** Require an event method that allows edge-triggered events with EV_ET. */ - EV_FEATURE_ET = 0x01, - /** Require an event method where having one event triggered among - * many is [approximately] an O(1) operation. This excludes (for - * example) select and poll, which are approximately O(N) for N - * equal to the total number of possible events. */ - EV_FEATURE_O1 = 0x02, - /** Require an event method that allows file descriptors as well as - * sockets. */ - EV_FEATURE_FDS = 0x04, - /** Require an event method that allows you to use EV_CLOSED to detect - * connection close without the necessity of reading all the pending data. - * - * Methods that do support EV_CLOSED may not be able to provide support on - * all kernel versions. - **/ - EV_FEATURE_EARLY_CLOSE = 0x08 -}; - -/** - A flag passed to event_config_set_flag(). - - These flags change the behavior of an allocated event_base. - - @see event_config_set_flag(), event_base_new_with_config(), - event_method_feature - */ -enum event_base_config_flag { - /** Do not allocate a lock for the event base, even if we have - locking set up. - - Setting this option will make it unsafe and nonfunctional to call - functions on the base concurrently from multiple threads. - */ - EVENT_BASE_FLAG_NOLOCK = 0x01, - /** Do not check the EVENT_* environment variables when configuring - an event_base */ - EVENT_BASE_FLAG_IGNORE_ENV = 0x02, - /** Windows only: enable the IOCP dispatcher at startup - - If this flag is set then bufferevent_socket_new() and - evconn_listener_new() will use IOCP-backed implementations - instead of the usual select-based one on Windows. - */ - EVENT_BASE_FLAG_STARTUP_IOCP = 0x04, - /** Instead of checking the current time every time the event loop is - ready to run timeout callbacks, check after each timeout callback. - */ - EVENT_BASE_FLAG_NO_CACHE_TIME = 0x08, - - /** If we are using the epoll backend, this flag says that it is - safe to use Libevent's internal change-list code to batch up - adds and deletes in order to try to do as few syscalls as - possible. Setting this flag can make your code run faster, but - it may trigger a Linux bug: it is not safe to use this flag - if you have any fds cloned by dup() or its variants. Doing so - will produce strange and hard-to-diagnose bugs. - - This flag can also be activated by setting the - EVENT_EPOLL_USE_CHANGELIST environment variable. - - This flag has no effect if you wind up using a backend other than - epoll. - */ - EVENT_BASE_FLAG_EPOLL_USE_CHANGELIST = 0x10, - - /** Ordinarily, Libevent implements its time and timeout code using - the fastest monotonic timer that we have. If this flag is set, - however, we use less efficient more precise timer, assuming one is - present. - */ - EVENT_BASE_FLAG_PRECISE_TIMER = 0x20 -}; - -/** - Return a bitmask of the features implemented by an event base. This - will be a bitwise OR of one or more of the values of - event_method_feature - - @see event_method_feature - */ -EVENT2_EXPORT_SYMBOL -int event_base_get_features(const struct event_base *base); - -/** - Enters a required event method feature that the application demands. - - Note that not every feature or combination of features is supported - on every platform. Code that requests features should be prepared - to handle the case where event_base_new_with_config() returns NULL, as in: -
-     event_config_require_features(cfg, EV_FEATURE_ET);
-     base = event_base_new_with_config(cfg);
-     if (base == NULL) {
-       // We can't get edge-triggered behavior here.
-       event_config_require_features(cfg, 0);
-       base = event_base_new_with_config(cfg);
-     }
-   
- - @param cfg the event configuration object - @param feature a bitfield of one or more event_method_feature values. - Replaces values from previous calls to this function. - @return 0 on success, -1 on failure. - @see event_method_feature, event_base_new_with_config() -*/ -EVENT2_EXPORT_SYMBOL -int event_config_require_features(struct event_config *cfg, int feature); - -/** - * Sets one or more flags to configure what parts of the eventual event_base - * will be initialized, and how they'll work. - * - * @see event_base_config_flags, event_base_new_with_config() - **/ -EVENT2_EXPORT_SYMBOL -int event_config_set_flag(struct event_config *cfg, int flag); - -/** - * Records a hint for the number of CPUs in the system. This is used for - * tuning thread pools, etc, for optimal performance. In Libevent 2.0, - * it is only on Windows, and only when IOCP is in use. - * - * @param cfg the event configuration object - * @param cpus the number of cpus - * @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int event_config_set_num_cpus_hint(struct event_config *cfg, int cpus); - -/** - * Record an interval and/or a number of callbacks after which the event base - * should check for new events. By default, the event base will run as many - * events are as activated at the higest activated priority before checking - * for new events. If you configure it by setting max_interval, it will check - * the time after each callback, and not allow more than max_interval to - * elapse before checking for new events. If you configure it by setting - * max_callbacks to a value >= 0, it will run no more than max_callbacks - * callbacks before checking for new events. - * - * This option can decrease the latency of high-priority events, and - * avoid priority inversions where multiple low-priority events keep us from - * polling for high-priority events, but at the expense of slightly decreasing - * the throughput. Use it with caution! - * - * @param cfg The event_base configuration object. - * @param max_interval An interval after which Libevent should stop running - * callbacks and check for more events, or NULL if there should be - * no such interval. - * @param max_callbacks A number of callbacks after which Libevent should - * stop running callbacks and check for more events, or -1 if there - * should be no such limit. - * @param min_priority A priority below which max_interval and max_callbacks - * should not be enforced. If this is set to 0, they are enforced - * for events of every priority; if it's set to 1, they're enforced - * for events of priority 1 and above, and so on. - * @return 0 on success, -1 on failure. - **/ -EVENT2_EXPORT_SYMBOL -int event_config_set_max_dispatch_interval(struct event_config *cfg, - const struct timeval *max_interval, int max_callbacks, - int min_priority); - -/** - Initialize the event API. - - Use event_base_new_with_config() to initialize a new event base, taking - the specified configuration under consideration. The configuration object - can currently be used to avoid certain event notification mechanisms. - - @param cfg the event configuration object - @return an initialized event_base that can be used to registering events, - or NULL if no event base can be created with the requested event_config. - @see event_base_new(), event_base_free(), event_init(), event_assign() -*/ -EVENT2_EXPORT_SYMBOL -struct event_base *event_base_new_with_config(const struct event_config *); - -/** - Deallocate all memory associated with an event_base, and free the base. - - Note that this function will not close any fds or free any memory passed - to event_new as the argument to callback. - - If there are any pending finalizer callbacks, this function will invoke - them. - - @param eb an event_base to be freed - */ -EVENT2_EXPORT_SYMBOL -void event_base_free(struct event_base *); - -/** - As event_free, but do not run finalizers. - - THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES - BECOMES STABLE. - */ -EVENT2_EXPORT_SYMBOL -void event_base_free_nofinalize(struct event_base *); - -/** @name Log severities - */ -/**@{*/ -#define EVENT_LOG_DEBUG 0 -#define EVENT_LOG_MSG 1 -#define EVENT_LOG_WARN 2 -#define EVENT_LOG_ERR 3 -/**@}*/ - -/* Obsolete names: these are deprecated, but older programs might use them. - * They violate the reserved-identifier namespace. */ -#define _EVENT_LOG_DEBUG EVENT_LOG_DEBUG -#define _EVENT_LOG_MSG EVENT_LOG_MSG -#define _EVENT_LOG_WARN EVENT_LOG_WARN -#define _EVENT_LOG_ERR EVENT_LOG_ERR - -/** - A callback function used to intercept Libevent's log messages. - - @see event_set_log_callback - */ -typedef void (*event_log_cb)(int severity, const char *msg); -/** - Redirect Libevent's log messages. - - @param cb a function taking two arguments: an integer severity between - EVENT_LOG_DEBUG and EVENT_LOG_ERR, and a string. If cb is NULL, - then the default log is used. - - NOTE: The function you provide *must not* call any other libevent - functionality. Doing so can produce undefined behavior. - */ -EVENT2_EXPORT_SYMBOL -void event_set_log_callback(event_log_cb cb); - -/** - A function to be called if Libevent encounters a fatal internal error. - - @see event_set_fatal_callback - */ -typedef void (*event_fatal_cb)(int err); - -/** - Override Libevent's behavior in the event of a fatal internal error. - - By default, Libevent will call exit(1) if a programming error makes it - impossible to continue correct operation. This function allows you to supply - another callback instead. Note that if the function is ever invoked, - something is wrong with your program, or with Libevent: any subsequent calls - to Libevent may result in undefined behavior. - - Libevent will (almost) always log an EVENT_LOG_ERR message before calling - this function; look at the last log message to see why Libevent has died. - */ -EVENT2_EXPORT_SYMBOL -void event_set_fatal_callback(event_fatal_cb cb); - -#define EVENT_DBG_ALL 0xffffffffu -#define EVENT_DBG_NONE 0 - -/** - Turn on debugging logs and have them sent to the default log handler. - - This is a global setting; if you are going to call it, you must call this - before any calls that create an event-base. You must call it before any - multithreaded use of Libevent. - - Debug logs are verbose. - - @param which Controls which debug messages are turned on. This option is - unused for now; for forward compatibility, you must pass in the constant - "EVENT_DBG_ALL" to turn debugging logs on, or "EVENT_DBG_NONE" to turn - debugging logs off. - */ -EVENT2_EXPORT_SYMBOL -void event_enable_debug_logging(ev_uint32_t which); - -/** - Associate a different event base with an event. - - The event to be associated must not be currently active or pending. - - @param eb the event base - @param ev the event - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int event_base_set(struct event_base *, struct event *); - -/** @name Loop flags - - These flags control the behavior of event_base_loop(). - */ -/**@{*/ -/** Block until we have an active event, then exit once all active events - * have had their callbacks run. */ -#define EVLOOP_ONCE 0x01 -/** Do not block: see which events are ready now, run the callbacks - * of the highest-priority ones, then exit. */ -#define EVLOOP_NONBLOCK 0x02 -/** Do not exit the loop because we have no pending events. Instead, keep - * running until event_base_loopexit() or event_base_loopbreak() makes us - * stop. - */ -#define EVLOOP_NO_EXIT_ON_EMPTY 0x04 -/**@}*/ - -/** - Wait for events to become active, and run their callbacks. - - This is a more flexible version of event_base_dispatch(). - - By default, this loop will run the event base until either there are no more - pending or active events, or until something calls event_base_loopbreak() or - event_base_loopexit(). You can override this behavior with the 'flags' - argument. - - @param eb the event_base structure returned by event_base_new() or - event_base_new_with_config() - @param flags any combination of EVLOOP_ONCE | EVLOOP_NONBLOCK - @return 0 if successful, -1 if an error occurred, or 1 if we exited because - no events were pending or active. - @see event_base_loopexit(), event_base_dispatch(), EVLOOP_ONCE, - EVLOOP_NONBLOCK - */ -EVENT2_EXPORT_SYMBOL -int event_base_loop(struct event_base *, int); - -/** - Exit the event loop after the specified time - - The next event_base_loop() iteration after the given timer expires will - complete normally (handling all queued events) then exit without - blocking for events again. - - Subsequent invocations of event_base_loop() will proceed normally. - - @param eb the event_base structure returned by event_init() - @param tv the amount of time after which the loop should terminate, - or NULL to exit after running all currently active events. - @return 0 if successful, or -1 if an error occurred - @see event_base_loopbreak() - */ -EVENT2_EXPORT_SYMBOL -int event_base_loopexit(struct event_base *, const struct timeval *); - -/** - Abort the active event_base_loop() immediately. - - event_base_loop() will abort the loop after the next event is completed; - event_base_loopbreak() is typically invoked from this event's callback. - This behavior is analogous to the "break;" statement. - - Subsequent invocations of event_base_loop() will proceed normally. - - @param eb the event_base structure returned by event_init() - @return 0 if successful, or -1 if an error occurred - @see event_base_loopexit() - */ -EVENT2_EXPORT_SYMBOL -int event_base_loopbreak(struct event_base *); - -/** - Tell the active event_base_loop() to scan for new events immediately. - - Calling this function makes the currently active event_base_loop() - start the loop over again (scanning for new events) after the current - event callback finishes. If the event loop is not running, this - function has no effect. - - event_base_loopbreak() is typically invoked from this event's callback. - This behavior is analogous to the "continue;" statement. - - Subsequent invocations of event loop will proceed normally. - - @param eb the event_base structure returned by event_init() - @return 0 if successful, or -1 if an error occurred - @see event_base_loopbreak() - */ -EVENT2_EXPORT_SYMBOL -int event_base_loopcontinue(struct event_base *); - -/** - Checks if the event loop was told to exit by event_base_loopexit(). - - This function will return true for an event_base at every point after - event_loopexit() is called, until the event loop is next entered. - - @param eb the event_base structure returned by event_init() - @return true if event_base_loopexit() was called on this event base, - or 0 otherwise - @see event_base_loopexit() - @see event_base_got_break() - */ -EVENT2_EXPORT_SYMBOL -int event_base_got_exit(struct event_base *); - -/** - Checks if the event loop was told to abort immediately by event_base_loopbreak(). - - This function will return true for an event_base at every point after - event_base_loopbreak() is called, until the event loop is next entered. - - @param eb the event_base structure returned by event_init() - @return true if event_base_loopbreak() was called on this event base, - or 0 otherwise - @see event_base_loopbreak() - @see event_base_got_exit() - */ -EVENT2_EXPORT_SYMBOL -int event_base_got_break(struct event_base *); - -/** - * @name event flags - * - * Flags to pass to event_new(), event_assign(), event_pending(), and - * anything else with an argument of the form "short events" - */ -/**@{*/ -/** Indicates that a timeout has occurred. It's not necessary to pass - * this flag to event_for new()/event_assign() to get a timeout. */ -#define EV_TIMEOUT 0x01 -/** Wait for a socket or FD to become readable */ -#define EV_READ 0x02 -/** Wait for a socket or FD to become writeable */ -#define EV_WRITE 0x04 -/** Wait for a POSIX signal to be raised*/ -#define EV_SIGNAL 0x08 -/** - * Persistent event: won't get removed automatically when activated. - * - * When a persistent event with a timeout becomes activated, its timeout - * is reset to 0. - */ -#define EV_PERSIST 0x10 -/** Select edge-triggered behavior, if supported by the backend. */ -#define EV_ET 0x20 -/** - * If this option is provided, then event_del() will not block in one thread - * while waiting for the event callback to complete in another thread. - * - * To use this option safely, you may need to use event_finalize() or - * event_free_finalize() in order to safely tear down an event in a - * multithreaded application. See those functions for more information. - * - * THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES - * BECOMES STABLE. - **/ -#define EV_FINALIZE 0x40 -/** - * Detects connection close events. You can use this to detect when a - * connection has been closed, without having to read all the pending data - * from a connection. - * - * Not all backends support EV_CLOSED. To detect or require it, use the - * feature flag EV_FEATURE_EARLY_CLOSE. - **/ -#define EV_CLOSED 0x80 -/**@}*/ - -/** - @name evtimer_* macros - - Aliases for working with one-shot timer events */ -/**@{*/ -#define evtimer_assign(ev, b, cb, arg) \ - event_assign((ev), (b), -1, 0, (cb), (arg)) -#define evtimer_new(b, cb, arg) event_new((b), -1, 0, (cb), (arg)) -#define evtimer_add(ev, tv) event_add((ev), (tv)) -#define evtimer_del(ev) event_del(ev) -#define evtimer_pending(ev, tv) event_pending((ev), EV_TIMEOUT, (tv)) -#define evtimer_initialized(ev) event_initialized(ev) -/**@}*/ - -/** - @name evsignal_* macros - - Aliases for working with signal events - */ -/**@{*/ -#define evsignal_add(ev, tv) event_add((ev), (tv)) -#define evsignal_assign(ev, b, x, cb, arg) \ - event_assign((ev), (b), (x), EV_SIGNAL|EV_PERSIST, cb, (arg)) -#define evsignal_new(b, x, cb, arg) \ - event_new((b), (x), EV_SIGNAL|EV_PERSIST, (cb), (arg)) -#define evsignal_del(ev) event_del(ev) -#define evsignal_pending(ev, tv) event_pending((ev), EV_SIGNAL, (tv)) -#define evsignal_initialized(ev) event_initialized(ev) -/**@}*/ - -/** - A callback function for an event. - - It receives three arguments: - - @param fd An fd or signal - @param events One or more EV_* flags - @param arg A user-supplied argument. - - @see event_new() - */ -typedef void (*event_callback_fn)(evutil_socket_t, short, void *); - -/** - Return a value used to specify that the event itself must be used as the callback argument. - - The function event_new() takes a callback argument which is passed - to the event's callback function. To specify that the argument to be - passed to the callback function is the event that event_new() returns, - pass in the return value of event_self_cbarg() as the callback argument - for event_new(). - - For example: -
-      struct event *ev = event_new(base, sock, events, callback, %event_self_cbarg());
-  
- - For consistency with event_new(), it is possible to pass the return value - of this function as the callback argument for event_assign() – this - achieves the same result as passing the event in directly. - - @return a value to be passed as the callback argument to event_new() or - event_assign(). - @see event_new(), event_assign() - */ -EVENT2_EXPORT_SYMBOL -void *event_self_cbarg(void); - -/** - Allocate and asssign a new event structure, ready to be added. - - The function event_new() returns a new event that can be used in - future calls to event_add() and event_del(). The fd and events - arguments determine which conditions will trigger the event; the - callback and callback_arg arguments tell Libevent what to do when the - event becomes active. - - If events contains one of EV_READ, EV_WRITE, or EV_READ|EV_WRITE, then - fd is a file descriptor or socket that should get monitored for - readiness to read, readiness to write, or readiness for either operation - (respectively). If events contains EV_SIGNAL, then fd is a signal - number to wait for. If events contains none of those flags, then the - event can be triggered only by a timeout or by manual activation with - event_active(): In this case, fd must be -1. - - The EV_PERSIST flag can also be passed in the events argument: it makes - event_add() persistent until event_del() is called. - - The EV_ET flag is compatible with EV_READ and EV_WRITE, and supported - only by certain backends. It tells Libevent to use edge-triggered - events. - - The EV_TIMEOUT flag has no effect here. - - It is okay to have multiple events all listening on the same fds; but - they must either all be edge-triggered, or all not be edge triggerd. - - When the event becomes active, the event loop will run the provided - callbuck function, with three arguments. The first will be the provided - fd value. The second will be a bitfield of the events that triggered: - EV_READ, EV_WRITE, or EV_SIGNAL. Here the EV_TIMEOUT flag indicates - that a timeout occurred, and EV_ET indicates that an edge-triggered - event occurred. The third event will be the callback_arg pointer that - you provide. - - @param base the event base to which the event should be attached. - @param fd the file descriptor or signal to be monitored, or -1. - @param events desired events to monitor: bitfield of EV_READ, EV_WRITE, - EV_SIGNAL, EV_PERSIST, EV_ET. - @param callback callback function to be invoked when the event occurs - @param callback_arg an argument to be passed to the callback function - - @return a newly allocated struct event that must later be freed with - event_free(). - @see event_free(), event_add(), event_del(), event_assign() - */ -EVENT2_EXPORT_SYMBOL -struct event *event_new(struct event_base *, evutil_socket_t, short, event_callback_fn, void *); - - -/** - Prepare a new, already-allocated event structure to be added. - - The function event_assign() prepares the event structure ev to be used - in future calls to event_add() and event_del(). Unlike event_new(), it - doesn't allocate memory itself: it requires that you have already - allocated a struct event, probably on the heap. Doing this will - typically make your code depend on the size of the event structure, and - thereby create incompatibility with future versions of Libevent. - - The easiest way to avoid this problem is just to use event_new() and - event_free() instead. - - A slightly harder way to future-proof your code is to use - event_get_struct_event_size() to determine the required size of an event - at runtime. - - Note that it is NOT safe to call this function on an event that is - active or pending. Doing so WILL corrupt internal data structures in - Libevent, and lead to strange, hard-to-diagnose bugs. You _can_ use - event_assign to change an existing event, but only if it is not active - or pending! - - The arguments for this function, and the behavior of the events that it - makes, are as for event_new(). - - @param ev an event struct to be modified - @param base the event base to which ev should be attached. - @param fd the file descriptor to be monitored - @param events desired events to monitor; can be EV_READ and/or EV_WRITE - @param callback callback function to be invoked when the event occurs - @param callback_arg an argument to be passed to the callback function - - @return 0 if success, or -1 on invalid arguments. - - @see event_new(), event_add(), event_del(), event_base_once(), - event_get_struct_event_size() - */ -EVENT2_EXPORT_SYMBOL -int event_assign(struct event *, struct event_base *, evutil_socket_t, short, event_callback_fn, void *); - -/** - Deallocate a struct event * returned by event_new(). - - If the event is pending or active, first make it non-pending and - non-active. - */ -EVENT2_EXPORT_SYMBOL -void event_free(struct event *); - -/** - * Callback type for event_finalize and event_free_finalize(). - * - * THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES - * BECOMES STABLE. - * - **/ -typedef void (*event_finalize_callback_fn)(struct event *, void *); -/** - @name Finalization functions - - These functions are used to safely tear down an event in a multithreaded - application. If you construct your events with EV_FINALIZE to avoid - deadlocks, you will need a way to remove an event in the certainty that - it will definitely not be running its callback when you deallocate it - and its callback argument. - - To do this, call one of event_finalize() or event_free_finalize with - 0 for its first argument, the event to tear down as its second argument, - and a callback function as its third argument. The callback will be - invoked as part of the event loop, with the event's priority. - - After you call a finalizer function, event_add() and event_active() will - no longer work on the event, and event_del() will produce a no-op. You - must not try to change the event's fields with event_assign() or - event_set() while the finalize callback is in progress. Once the - callback has been invoked, you should treat the event structure as - containing uninitialized memory. - - The event_free_finalize() function frees the event after it's finalized; - event_finalize() does not. - - A finalizer callback must not make events pending or active. It must not - add events, activate events, or attempt to "resucitate" the event being - finalized in any way. - - THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES - BECOMES STABLE. - - @return 0 on succes, -1 on failure. - */ -/**@{*/ -EVENT2_EXPORT_SYMBOL -int event_finalize(unsigned, struct event *, event_finalize_callback_fn); -EVENT2_EXPORT_SYMBOL -int event_free_finalize(unsigned, struct event *, event_finalize_callback_fn); -/**@}*/ - -/** - Schedule a one-time event - - The function event_base_once() is similar to event_new(). However, it - schedules a callback to be called exactly once, and does not require the - caller to prepare an event structure. - - Note that in Libevent 2.0 and earlier, if the event is never triggered, the - internal memory used to hold it will never be freed. In Libevent 2.1, - the internal memory will get freed by event_base_free() if the event - is never triggered. The 'arg' value, however, will not get freed in either - case--you'll need to free that on your own if you want it to go away. - - @param base an event_base - @param fd a file descriptor to monitor, or -1 for no fd. - @param events event(s) to monitor; can be any of EV_READ | - EV_WRITE, or EV_TIMEOUT - @param callback callback function to be invoked when the event occurs - @param arg an argument to be passed to the callback function - @param timeout the maximum amount of time to wait for the event. NULL - makes an EV_READ/EV_WRITE event make forever; NULL makes an - EV_TIMEOUT event succees immediately. - @return 0 if successful, or -1 if an error occurred - */ -EVENT2_EXPORT_SYMBOL -int event_base_once(struct event_base *, evutil_socket_t, short, event_callback_fn, void *, const struct timeval *); - -/** - Add an event to the set of pending events. - - The function event_add() schedules the execution of the event 'ev' when the - condition specified by event_assign() or event_new() occurs, or when the time - specified in timeout has elapesed. If atimeout is NULL, no timeout - occurs and the function will only be - called if a matching event occurs. The event in the - ev argument must be already initialized by event_assign() or event_new() - and may not be used - in calls to event_assign() until it is no longer pending. - - If the event in the ev argument already has a scheduled timeout, calling - event_add() replaces the old timeout with the new one if tv is non-NULL. - - @param ev an event struct initialized via event_assign() or event_new() - @param timeout the maximum amount of time to wait for the event, or NULL - to wait forever - @return 0 if successful, or -1 if an error occurred - @see event_del(), event_assign(), event_new() - */ -EVENT2_EXPORT_SYMBOL -int event_add(struct event *ev, const struct timeval *timeout); - -/** - Remove a timer from a pending event without removing the event itself. - - If the event has a scheduled timeout, this function unschedules it but - leaves the event otherwise pending. - - @param ev an event struct initialized via event_assign() or event_new() - @return 0 on success, or -1 if an error occurrect. -*/ -EVENT2_EXPORT_SYMBOL -int event_remove_timer(struct event *ev); - -/** - Remove an event from the set of monitored events. - - The function event_del() will cancel the event in the argument ev. If the - event has already executed or has never been added the call will have no - effect. - - @param ev an event struct to be removed from the working set - @return 0 if successful, or -1 if an error occurred - @see event_add() - */ -EVENT2_EXPORT_SYMBOL -int event_del(struct event *); - -/** - As event_del(), but never blocks while the event's callback is running - in another thread, even if the event was constructed without the - EV_FINALIZE flag. - - THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES - BECOMES STABLE. - */ -EVENT2_EXPORT_SYMBOL -int event_del_noblock(struct event *ev); -/** - As event_del(), but always blocks while the event's callback is running - in another thread, even if the event was constructed with the - EV_FINALIZE flag. - - THIS IS AN EXPERIMENTAL API. IT MIGHT CHANGE BEFORE THE LIBEVENT 2.1 SERIES - BECOMES STABLE. - */ -EVENT2_EXPORT_SYMBOL -int event_del_block(struct event *ev); - -/** - Make an event active. - - You can use this function on a pending or a non-pending event to make it - active, so that its callback will be run by event_base_dispatch() or - event_base_loop(). - - One common use in multithreaded programs is to wake the thread running - event_base_loop() from another thread. - - @param ev an event to make active. - @param res a set of flags to pass to the event's callback. - @param ncalls an obsolete argument: this is ignored. - **/ -EVENT2_EXPORT_SYMBOL -void event_active(struct event *ev, int res, short ncalls); - -/** - Checks if a specific event is pending or scheduled. - - @param ev an event struct previously passed to event_add() - @param events the requested event type; any of EV_TIMEOUT|EV_READ| - EV_WRITE|EV_SIGNAL - @param tv if this field is not NULL, and the event has a timeout, - this field is set to hold the time at which the timeout will - expire. - - @return true if the event is pending on any of the events in 'what', (that - is to say, it has been added), or 0 if the event is not added. - */ -EVENT2_EXPORT_SYMBOL -int event_pending(const struct event *ev, short events, struct timeval *tv); - -/** - If called from within the callback for an event, returns that event. - - The behavior of this function is not defined when called from outside the - callback function for an event. - */ -EVENT2_EXPORT_SYMBOL -struct event *event_base_get_running_event(struct event_base *base); - -/** - Test if an event structure might be initialized. - - The event_initialized() function can be used to check if an event has been - initialized. - - Warning: This function is only useful for distinguishing a a zeroed-out - piece of memory from an initialized event, it can easily be confused by - uninitialized memory. Thus, it should ONLY be used to distinguish an - initialized event from zero. - - @param ev an event structure to be tested - @return 1 if the structure might be initialized, or 0 if it has not been - initialized - */ -EVENT2_EXPORT_SYMBOL -int event_initialized(const struct event *ev); - -/** - Get the signal number assigned to a signal event -*/ -#define event_get_signal(ev) ((int)event_get_fd(ev)) - -/** - Get the socket or signal assigned to an event, or -1 if the event has - no socket. -*/ -EVENT2_EXPORT_SYMBOL -evutil_socket_t event_get_fd(const struct event *ev); - -/** - Get the event_base associated with an event. -*/ -EVENT2_EXPORT_SYMBOL -struct event_base *event_get_base(const struct event *ev); - -/** - Return the events (EV_READ, EV_WRITE, etc) assigned to an event. -*/ -EVENT2_EXPORT_SYMBOL -short event_get_events(const struct event *ev); - -/** - Return the callback assigned to an event. -*/ -EVENT2_EXPORT_SYMBOL -event_callback_fn event_get_callback(const struct event *ev); - -/** - Return the callback argument assigned to an event. -*/ -EVENT2_EXPORT_SYMBOL -void *event_get_callback_arg(const struct event *ev); - -/** - Return the priority of an event. - @see event_priority_init(), event_get_priority() -*/ -EVENT2_EXPORT_SYMBOL -int event_get_priority(const struct event *ev); - -/** - Extract _all_ of arguments given to construct a given event. The - event_base is copied into *base_out, the fd is copied into *fd_out, and so - on. - - If any of the "_out" arguments is NULL, it will be ignored. - */ -EVENT2_EXPORT_SYMBOL -void event_get_assignment(const struct event *event, - struct event_base **base_out, evutil_socket_t *fd_out, short *events_out, - event_callback_fn *callback_out, void **arg_out); - -/** - Return the size of struct event that the Libevent library was compiled - with. - - This will be NO GREATER than sizeof(struct event) if you're running with - the same version of Libevent that your application was built with, but - otherwise might not. - - Note that it might be SMALLER than sizeof(struct event) if some future - version of Libevent adds extra padding to the end of struct event. - We might do this to help ensure ABI-compatibility between different - versions of Libevent. - */ -EVENT2_EXPORT_SYMBOL -size_t event_get_struct_event_size(void); - -/** - Get the Libevent version. - - Note that this will give you the version of the library that you're - currently linked against, not the version of the headers that you've - compiled against. - - @return a string containing the version number of Libevent -*/ -EVENT2_EXPORT_SYMBOL -const char *event_get_version(void); - -/** - Return a numeric representation of Libevent's version. - - Note that this will give you the version of the library that you're - currently linked against, not the version of the headers you've used to - compile. - - The format uses one byte each for the major, minor, and patchlevel parts of - the version number. The low-order byte is unused. For example, version - 2.0.1-alpha has a numeric representation of 0x02000100 -*/ -EVENT2_EXPORT_SYMBOL -ev_uint32_t event_get_version_number(void); - -/** As event_get_version, but gives the version of Libevent's headers. */ -#define LIBEVENT_VERSION EVENT__VERSION -/** As event_get_version_number, but gives the version number of Libevent's - * headers. */ -#define LIBEVENT_VERSION_NUMBER EVENT__NUMERIC_VERSION - -/** Largest number of priorities that Libevent can support. */ -#define EVENT_MAX_PRIORITIES 256 -/** - Set the number of different event priorities - - By default Libevent schedules all active events with the same priority. - However, some time it is desirable to process some events with a higher - priority than others. For that reason, Libevent supports strict priority - queues. Active events with a lower priority are always processed before - events with a higher priority. - - The number of different priorities can be set initially with the - event_base_priority_init() function. This function should be called - before the first call to event_base_dispatch(). The - event_priority_set() function can be used to assign a priority to an - event. By default, Libevent assigns the middle priority to all events - unless their priority is explicitly set. - - Note that urgent-priority events can starve less-urgent events: after - running all urgent-priority callbacks, Libevent checks for more urgent - events again, before running less-urgent events. Less-urgent events - will not have their callbacks run until there are no events more urgent - than them that want to be active. - - @param eb the event_base structure returned by event_base_new() - @param npriorities the maximum number of priorities - @return 0 if successful, or -1 if an error occurred - @see event_priority_set() - */ -EVENT2_EXPORT_SYMBOL -int event_base_priority_init(struct event_base *, int); - -/** - Get the number of different event priorities. - - @param eb the event_base structure returned by event_base_new() - @return Number of different event priorities - @see event_base_priority_init() -*/ -EVENT2_EXPORT_SYMBOL -int event_base_get_npriorities(struct event_base *eb); - -/** - Assign a priority to an event. - - @param ev an event struct - @param priority the new priority to be assigned - @return 0 if successful, or -1 if an error occurred - @see event_priority_init(), event_get_priority() - */ -EVENT2_EXPORT_SYMBOL -int event_priority_set(struct event *, int); - -/** - Prepare an event_base to use a large number of timeouts with the same - duration. - - Libevent's default scheduling algorithm is optimized for having a large - number of timeouts with their durations more or less randomly - distributed. But if you have a large number of timeouts that all have - the same duration (for example, if you have a large number of - connections that all have a 10-second timeout), then you can improve - Libevent's performance by telling Libevent about it. - - To do this, call this function with the common duration. It will return a - pointer to a different, opaque timeout value. (Don't depend on its actual - contents!) When you use this timeout value in event_add(), Libevent will - schedule the event more efficiently. - - (This optimization probably will not be worthwhile until you have thousands - or tens of thousands of events with the same timeout.) - */ -EVENT2_EXPORT_SYMBOL -const struct timeval *event_base_init_common_timeout(struct event_base *base, - const struct timeval *duration); - -#if !defined(EVENT__DISABLE_MM_REPLACEMENT) || defined(EVENT_IN_DOXYGEN_) -/** - Override the functions that Libevent uses for memory management. - - Usually, Libevent uses the standard libc functions malloc, realloc, and - free to allocate memory. Passing replacements for those functions to - event_set_mem_functions() overrides this behavior. - - Note that all memory returned from Libevent will be allocated by the - replacement functions rather than by malloc() and realloc(). Thus, if you - have replaced those functions, it will not be appropriate to free() memory - that you get from Libevent. Instead, you must use the free_fn replacement - that you provided. - - Note also that if you are going to call this function, you should do so - before any call to any Libevent function that does allocation. - Otherwise, those funtions will allocate their memory using malloc(), but - then later free it using your provided free_fn. - - @param malloc_fn A replacement for malloc. - @param realloc_fn A replacement for realloc - @param free_fn A replacement for free. - **/ -EVENT2_EXPORT_SYMBOL -void event_set_mem_functions( - void *(*malloc_fn)(size_t sz), - void *(*realloc_fn)(void *ptr, size_t sz), - void (*free_fn)(void *ptr)); -/** This definition is present if Libevent was built with support for - event_set_mem_functions() */ -#define EVENT_SET_MEM_FUNCTIONS_IMPLEMENTED -#endif - -/** - Writes a human-readable description of all inserted and/or active - events to a provided stdio stream. - - This is intended for debugging; its format is not guaranteed to be the same - between libevent versions. - - @param base An event_base on which to scan the events. - @param output A stdio file to write on. - */ -EVENT2_EXPORT_SYMBOL -void event_base_dump_events(struct event_base *, FILE *); - - -/** - Activates all pending events for the given fd and event mask. - - This function activates pending events only. Events which have not been - added will not become active. - - @param base the event_base on which to activate the events. - @param fd An fd to active events on. - @param events One or more of EV_{READ,WRITE}. - */ -EVENT2_EXPORT_SYMBOL -void event_base_active_by_fd(struct event_base *base, evutil_socket_t fd, short events); - -/** - Activates all pending signals with a given signal number - - This function activates pending events only. Events which have not been - added will not become active. - - @param base the event_base on which to activate the events. - @param fd The signal to active events on. - */ -EVENT2_EXPORT_SYMBOL -void event_base_active_by_signal(struct event_base *base, int sig); - -/** - * Callback for iterating events in an event base via event_base_foreach_event - */ -typedef int (*event_base_foreach_event_cb)(const struct event_base *, const struct event *, void *); - -/** - Iterate over all added or active events events in an event loop, and invoke - a given callback on each one. - - The callback must not call any function that modifies the event base, that - modifies any event in the event base, or that adds or removes any event to - the event base. Doing so is unsupported and will lead to undefined - behavior -- likely, to crashes. - - event_base_foreach_event() holds a lock on the event_base() for the whole - time it's running: slow callbacks are not advisable. - - Note that Libevent adds some events of its own to make pieces of its - functionality work. You must not assume that the only events you'll - encounter will be the ones you added yourself. - - The callback function must return 0 to continue iteration, or some other - integer to stop iterating. - - @param base An event_base on which to scan the events. - @param fn A callback function to receive the events. - @param arg An argument passed to the callback function. - @return 0 if we iterated over every event, or the value returned by the - callback function if the loop exited early. -*/ -EVENT2_EXPORT_SYMBOL -int event_base_foreach_event(struct event_base *base, event_base_foreach_event_cb fn, void *arg); - - -/** Sets 'tv' to the current time (as returned by gettimeofday()), - looking at the cached value in 'base' if possible, and calling - gettimeofday() or clock_gettime() as appropriate if there is no - cached time. - - Generally, this value will only be cached while actually - processing event callbacks, and may be very inaccuate if your - callbacks take a long time to execute. - - Returns 0 on success, negative on failure. - */ -EVENT2_EXPORT_SYMBOL -int event_base_gettimeofday_cached(struct event_base *base, - struct timeval *tv); - -/** Update cached_tv in the 'base' to the current time - * - * You can use this function is useful for selectively increasing - * the accuracy of the cached time value in 'base' during callbacks - * that take a long time to execute. - * - * This function has no effect if the base is currently not in its - * event loop, or if timeval caching is disabled via - * EVENT_BASE_FLAG_NO_CACHE_TIME. - * - * @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int event_base_update_cache_time(struct event_base *base); - -/** Release up all globally-allocated resources allocated by Libevent. - - This function does not free developer-controlled resources like - event_bases, events, bufferevents, listeners, and so on. It only releases - resources like global locks that there is no other way to free. - - It is not actually necessary to call this function before exit: every - resource that it frees would be released anyway on exit. It mainly exists - so that resource-leak debugging tools don't see Libevent as holding - resources at exit. - - You should only call this function when no other Libevent functions will - be invoked -- e.g., when cleanly exiting a program. - */ -EVENT2_EXPORT_SYMBOL -void libevent_global_shutdown(void); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_EVENT_H_INCLUDED_ */ diff --git a/src/components/libevent/event_compat.h b/src/components/libevent/event_compat.h deleted file mode 100644 index 7aa36be..0000000 --- a/src/components/libevent/event_compat.h +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_EVENT_COMPAT_H_INCLUDED_ -#define EVENT2_EVENT_COMPAT_H_INCLUDED_ - -/** @file event2/event_compat.h - - Potentially non-threadsafe versions of the functions in event.h: provided - only for backwards compatibility. - - In the oldest versions of Libevent, event_base was not a first-class - structure. Instead, there was a single event base that every function - manipulated. Later, when separate event bases were added, the old functions - that didn't take an event_base argument needed to work by manipulating the - "current" event base. This could lead to thread-safety issues, and obscure, - hard-to-diagnose bugs. - - @deprecated All functions in this file are by definition deprecated. - */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/** - Initialize the event API. - - The event API needs to be initialized with event_init() before it can be - used. Sets the global current base that gets used for events that have no - base associated with them. - - @deprecated This function is deprecated because it replaces the "current" - event_base, and is totally unsafe for multithreaded use. The replacement - is event_base_new(). - - @see event_base_set(), event_base_new() - */ -EVENT2_EXPORT_SYMBOL -struct event_base *event_init(void); - -/** - Loop to process events. - - Like event_base_dispatch(), but uses the "current" base. - - @deprecated This function is deprecated because it is easily confused by - multiple calls to event_init(), and because it is not safe for - multithreaded use. The replacement is event_base_dispatch(). - - @see event_base_dispatch(), event_init() - */ -EVENT2_EXPORT_SYMBOL -int event_dispatch(void); - -/** - Handle events. - - This function behaves like event_base_loop(), but uses the "current" base - - @deprecated This function is deprecated because it uses the event base from - the last call to event_init, and is therefore not safe for multithreaded - use. The replacement is event_base_loop(). - - @see event_base_loop(), event_init() -*/ -EVENT2_EXPORT_SYMBOL -int event_loop(int); - - -/** - Exit the event loop after the specified time. - - This function behaves like event_base_loopexit(), except that it uses the - "current" base. - - @deprecated This function is deprecated because it uses the event base from - the last call to event_init, and is therefore not safe for multithreaded - use. The replacement is event_base_loopexit(). - - @see event_init, event_base_loopexit() - */ -EVENT2_EXPORT_SYMBOL -int event_loopexit(const struct timeval *); - - -/** - Abort the active event_loop() immediately. - - This function behaves like event_base_loopbreakt(), except that it uses the - "current" base. - - @deprecated This function is deprecated because it uses the event base from - the last call to event_init, and is therefore not safe for multithreaded - use. The replacement is event_base_loopbreak(). - - @see event_base_loopbreak(), event_init() - */ -EVENT2_EXPORT_SYMBOL -int event_loopbreak(void); - -/** - Schedule a one-time event to occur. - - @deprecated This function is obsolete, and has been replaced by - event_base_once(). Its use is deprecated because it relies on the - "current" base configured by event_init(). - - @see event_base_once() - */ -EVENT2_EXPORT_SYMBOL -int event_once(evutil_socket_t , short, - void (*)(evutil_socket_t, short, void *), void *, const struct timeval *); - - -/** - Get the kernel event notification mechanism used by Libevent. - - @deprecated This function is obsolete, and has been replaced by - event_base_get_method(). Its use is deprecated because it relies on the - "current" base configured by event_init(). - - @see event_base_get_method() - */ -EVENT2_EXPORT_SYMBOL -const char *event_get_method(void); - - -/** - Set the number of different event priorities. - - @deprecated This function is deprecated because it is easily confused by - multiple calls to event_init(), and because it is not safe for - multithreaded use. The replacement is event_base_priority_init(). - - @see event_base_priority_init() - */ -EVENT2_EXPORT_SYMBOL -int event_priority_init(int); - -/** - Prepare an event structure to be added. - - @deprecated event_set() is not recommended for new code, because it requires - a subsequent call to event_base_set() to be safe under most circumstances. - Use event_assign() or event_new() instead. - */ -EVENT2_EXPORT_SYMBOL -void event_set(struct event *, evutil_socket_t, short, void (*)(evutil_socket_t, short, void *), void *); - -#define evtimer_set(ev, cb, arg) event_set((ev), -1, 0, (cb), (arg)) -#define evsignal_set(ev, x, cb, arg) \ - event_set((ev), (x), EV_SIGNAL|EV_PERSIST, (cb), (arg)) - - -/** - @name timeout_* macros - - @deprecated These macros are deprecated because their naming is inconsistent - with the rest of Libevent. Use the evtimer_* macros instead. - @{ - */ -#define timeout_add(ev, tv) event_add((ev), (tv)) -#define timeout_set(ev, cb, arg) event_set((ev), -1, 0, (cb), (arg)) -#define timeout_del(ev) event_del(ev) -#define timeout_pending(ev, tv) event_pending((ev), EV_TIMEOUT, (tv)) -#define timeout_initialized(ev) event_initialized(ev) -/**@}*/ - -/** - @name signal_* macros - - @deprecated These macros are deprecated because their naming is inconsistent - with the rest of Libevent. Use the evsignal_* macros instead. - @{ - */ -#define signal_add(ev, tv) event_add((ev), (tv)) -#define signal_set(ev, x, cb, arg) \ - event_set((ev), (x), EV_SIGNAL|EV_PERSIST, (cb), (arg)) -#define signal_del(ev) event_del(ev) -#define signal_pending(ev, tv) event_pending((ev), EV_SIGNAL, (tv)) -#define signal_initialized(ev) event_initialized(ev) -/**@}*/ - -#ifndef EVENT_FD -/* These macros are obsolete; use event_get_fd and event_get_signal instead. */ -#define EVENT_FD(ev) ((int)event_get_fd(ev)) -#define EVENT_SIGNAL(ev) event_get_signal(ev) -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_EVENT_COMPAT_H_INCLUDED_ */ diff --git a/src/components/libevent/event_struct.h b/src/components/libevent/event_struct.h deleted file mode 100644 index 3097cc7..0000000 --- a/src/components/libevent/event_struct.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_EVENT_STRUCT_H_INCLUDED_ -#define EVENT2_EVENT_STRUCT_H_INCLUDED_ - -/** @file event2/event_struct.h - - Structures used by event.h. Using these structures directly WILL harm - forward compatibility: be careful. - - No field declared in this file should be used directly in user code. Except - for historical reasons, these fields would not be exposed at all. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/* For evkeyvalq */ -#include - -#define EVLIST_TIMEOUT 0x01 -#define EVLIST_INSERTED 0x02 -#define EVLIST_SIGNAL 0x04 -#define EVLIST_ACTIVE 0x08 -#define EVLIST_INTERNAL 0x10 -#define EVLIST_ACTIVE_LATER 0x20 -#define EVLIST_FINALIZING 0x40 -#define EVLIST_INIT 0x80 - -#define EVLIST_ALL 0xff - -/* Fix so that people don't have to run with */ -#ifndef TAILQ_ENTRY -#define EVENT_DEFINED_TQENTRY_ -#define TAILQ_ENTRY(type) \ -struct { \ - struct type *tqe_next; /* next element */ \ - struct type **tqe_prev; /* address of previous next element */ \ -} -#endif /* !TAILQ_ENTRY */ - -#ifndef TAILQ_HEAD -#define EVENT_DEFINED_TQHEAD_ -#define TAILQ_HEAD(name, type) \ -struct name { \ - struct type *tqh_first; \ - struct type **tqh_last; \ -} -#endif - -/* Fix so that people don't have to run with */ -#ifndef LIST_ENTRY -#define EVENT_DEFINED_LISTENTRY_ -#define LIST_ENTRY(type) \ -struct { \ - struct type *le_next; /* next element */ \ - struct type **le_prev; /* address of previous next element */ \ -} -#endif /* !LIST_ENTRY */ - -#ifndef LIST_HEAD -#define EVENT_DEFINED_LISTHEAD_ -#define LIST_HEAD(name, type) \ -struct name { \ - struct type *lh_first; /* first element */ \ - } -#endif /* !LIST_HEAD */ - -struct event; - -struct event_callback { - TAILQ_ENTRY(event_callback) evcb_active_next; - short evcb_flags; - ev_uint8_t evcb_pri; /* smaller numbers are higher priority */ - ev_uint8_t evcb_closure; - /* allows us to adopt for different types of events */ - union { - void (*evcb_callback)(evutil_socket_t, short, void *); - void (*evcb_selfcb)(struct event_callback *, void *); - void (*evcb_evfinalize)(struct event *, void *); - void (*evcb_cbfinalize)(struct event_callback *, void *); - } evcb_cb_union; - void *evcb_arg; -}; - -struct event_base; -struct event { - struct event_callback ev_evcallback; - - /* for managing timeouts */ - union { - TAILQ_ENTRY(event) ev_next_with_common_timeout; - int min_heap_idx; - } ev_timeout_pos; - evutil_socket_t ev_fd; - - struct event_base *ev_base; - - union { - /* used for io events */ - struct { - LIST_ENTRY (event) ev_io_next; - struct timeval ev_timeout; - } ev_io; - - /* used by signal events */ - struct { - LIST_ENTRY (event) ev_signal_next; - short ev_ncalls; - /* Allows deletes in callback */ - short *ev_pncalls; - } ev_signal; - } ev_; - - short ev_events; - short ev_res; /* result passed to event callback */ - struct timeval ev_timeout; -}; - -TAILQ_HEAD (event_list, event); - -#ifdef EVENT_DEFINED_TQENTRY_ -#undef TAILQ_ENTRY -#endif - -#ifdef EVENT_DEFINED_TQHEAD_ -#undef TAILQ_HEAD -#endif - -LIST_HEAD (event_dlist, event); - -#ifdef EVENT_DEFINED_LISTENTRY_ -#undef LIST_ENTRY -#endif - -#ifdef EVENT_DEFINED_LISTHEAD_ -#undef LIST_HEAD -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_EVENT_STRUCT_H_INCLUDED_ */ diff --git a/src/components/libevent/http.h b/src/components/libevent/http.h deleted file mode 100644 index f38a2b5..0000000 --- a/src/components/libevent/http.h +++ /dev/null @@ -1,1192 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_HTTP_H_INCLUDED_ -#define EVENT2_HTTP_H_INCLUDED_ - -/* For int types. */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* In case we haven't included the right headers yet. */ -struct evbuffer; -struct event_base; -struct bufferevent; -struct evhttp_connection; - -/** @file event2/http.h - * - * Basic support for HTTP serving. - * - * As Libevent is a library for dealing with event notification and most - * interesting applications are networked today, I have often found the - * need to write HTTP code. The following prototypes and definitions provide - * an application with a minimal interface for making HTTP requests and for - * creating a very simple HTTP server. - */ - -/* Response codes */ -#define HTTP_OK 200 /**< request completed ok */ -#define HTTP_NOCONTENT 204 /**< request does not have content */ -#define HTTP_MOVEPERM 301 /**< the uri moved permanently */ -#define HTTP_MOVETEMP 302 /**< the uri moved temporarily */ -#define HTTP_NOTMODIFIED 304 /**< page was not modified from last */ -#define HTTP_BADREQUEST 400 /**< invalid http request was made */ -#define HTTP_NOTFOUND 404 /**< could not find content for uri */ -#define HTTP_BADMETHOD 405 /**< method not allowed for this uri */ -#define HTTP_ENTITYTOOLARGE 413 /**< */ -#define HTTP_EXPECTATIONFAILED 417 /**< we can't handle this expectation */ -#define HTTP_INTERNAL 500 /**< internal error */ -#define HTTP_NOTIMPLEMENTED 501 /**< not implemented */ -#define HTTP_SERVUNAVAIL 503 /**< the server is not available */ - -struct evhttp; -struct evhttp_request; -struct evkeyvalq; -struct evhttp_bound_socket; -struct evconnlistener; -struct evdns_base; - -/** - * Create a new HTTP server. - * - * @param base (optional) the event base to receive the HTTP events - * @return a pointer to a newly initialized evhttp server structure - * @see evhttp_free() - */ -EVENT2_EXPORT_SYMBOL -struct evhttp *evhttp_new(struct event_base *base); - -/** - * Binds an HTTP server on the specified address and port. - * - * Can be called multiple times to bind the same http server - * to multiple different ports. - * - * @param http a pointer to an evhttp object - * @param address a string containing the IP address to listen(2) on - * @param port the port number to listen on - * @return 0 on success, -1 on failure. - * @see evhttp_accept_socket() - */ -EVENT2_EXPORT_SYMBOL -int evhttp_bind_socket(struct evhttp *http, const char *address, ev_uint16_t port); - -/** - * Like evhttp_bind_socket(), but returns a handle for referencing the socket. - * - * The returned pointer is not valid after \a http is freed. - * - * @param http a pointer to an evhttp object - * @param address a string containing the IP address to listen(2) on - * @param port the port number to listen on - * @return Handle for the socket on success, NULL on failure. - * @see evhttp_bind_socket(), evhttp_del_accept_socket() - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_bound_socket *evhttp_bind_socket_with_handle(struct evhttp *http, const char *address, ev_uint16_t port); - -/** - * Makes an HTTP server accept connections on the specified socket. - * - * This may be useful to create a socket and then fork multiple instances - * of an http server, or when a socket has been communicated via file - * descriptor passing in situations where an http servers does not have - * permissions to bind to a low-numbered port. - * - * Can be called multiple times to have the http server listen to - * multiple different sockets. - * - * @param http a pointer to an evhttp object - * @param fd a socket fd that is ready for accepting connections - * @return 0 on success, -1 on failure. - * @see evhttp_bind_socket() - */ -EVENT2_EXPORT_SYMBOL -int evhttp_accept_socket(struct evhttp *http, evutil_socket_t fd); - -/** - * Like evhttp_accept_socket(), but returns a handle for referencing the socket. - * - * The returned pointer is not valid after \a http is freed. - * - * @param http a pointer to an evhttp object - * @param fd a socket fd that is ready for accepting connections - * @return Handle for the socket on success, NULL on failure. - * @see evhttp_accept_socket(), evhttp_del_accept_socket() - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_bound_socket *evhttp_accept_socket_with_handle(struct evhttp *http, evutil_socket_t fd); - -/** - * The most low-level evhttp_bind/accept method: takes an evconnlistener, and - * returns an evhttp_bound_socket. The listener will be freed when the bound - * socket is freed. - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_bound_socket *evhttp_bind_listener(struct evhttp *http, struct evconnlistener *listener); - -EVENT2_EXPORT_SYMBOL -void accept_socket_cb(struct evconnlistener *listener, evutil_socket_t nfd, - struct sockaddr *peer_sa, int peer_socklen, void *arg); -/** - * Return the listener used to implement a bound socket. - */ -EVENT2_EXPORT_SYMBOL -struct evconnlistener *evhttp_bound_socket_get_listener(struct evhttp_bound_socket *bound); - -typedef void evhttp_bound_socket_foreach_fn(struct evhttp_bound_socket *, void *); -/** - * Applies the function specified in the first argument to all - * evhttp_bound_sockets associated with "http". The user must not - * attempt to free or remove any connections, sockets or listeners - * in the callback "function". - * - * @param http pointer to an evhttp object - * @param function function to apply to every bound socket - * @param argument pointer value passed to function for every socket iterated - */ -EVENT2_EXPORT_SYMBOL -void evhttp_foreach_bound_socket(struct evhttp *http, evhttp_bound_socket_foreach_fn *function, void *argument); - -/** - * Makes an HTTP server stop accepting connections on the specified socket - * - * This may be useful when a socket has been sent via file descriptor passing - * and is no longer needed by the current process. - * - * If you created this bound socket with evhttp_bind_socket_with_handle or - * evhttp_accept_socket_with_handle, this function closes the fd you provided. - * If you created this bound socket with evhttp_bind_listener, this function - * frees the listener you provided. - * - * \a bound_socket is an invalid pointer after this call returns. - * - * @param http a pointer to an evhttp object - * @param bound_socket a handle returned by evhttp_{bind,accept}_socket_with_handle - * @see evhttp_bind_socket_with_handle(), evhttp_accept_socket_with_handle() - */ -EVENT2_EXPORT_SYMBOL -void evhttp_del_accept_socket(struct evhttp *http, struct evhttp_bound_socket *bound_socket); - -/** - * Get the raw file descriptor referenced by an evhttp_bound_socket. - * - * @param bound_socket a handle returned by evhttp_{bind,accept}_socket_with_handle - * @return the file descriptor used by the bound socket - * @see evhttp_bind_socket_with_handle(), evhttp_accept_socket_with_handle() - */ -EVENT2_EXPORT_SYMBOL -evutil_socket_t evhttp_bound_socket_get_fd(struct evhttp_bound_socket *bound_socket); - -/** - * Free the previously created HTTP server. - * - * Works only if no requests are currently being served. - * - * @param http the evhttp server object to be freed - * @see evhttp_start() - */ -EVENT2_EXPORT_SYMBOL -void evhttp_free(struct evhttp* http); - -/** XXX Document. */ -EVENT2_EXPORT_SYMBOL -void evhttp_set_max_headers_size(struct evhttp* http, ev_ssize_t max_headers_size); -/** XXX Document. */ -EVENT2_EXPORT_SYMBOL -void evhttp_set_max_body_size(struct evhttp* http, ev_ssize_t max_body_size); - -/** - Set the value to use for the Content-Type header when none was provided. If - the content type string is NULL, the Content-Type header will not be - automatically added. - - @param http the http server on which to set the default content type - @param content_type the value for the Content-Type header -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_set_default_content_type(struct evhttp *http, - const char *content_type); - -/** - Sets the what HTTP methods are supported in requests accepted by this - server, and passed to user callbacks. - - If not supported they will generate a "405 Method not allowed" response. - - By default this includes the following methods: GET, POST, HEAD, PUT, DELETE - - @param http the http server on which to set the methods - @param methods bit mask constructed from evhttp_cmd_type values -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_set_allowed_methods(struct evhttp* http, ev_uint16_t methods); - -/** - Set a callback for a specified URI - - @param http the http sever on which to set the callback - @param path the path for which to invoke the callback - @param cb the callback function that gets invoked on requesting path - @param cb_arg an additional context argument for the callback - @return 0 on success, -1 if the callback existed already, -2 on failure -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_set_cb(struct evhttp *http, const char *path, - void (*cb)(struct evhttp_request *, void *), void *cb_arg); - -/** Removes the callback for a specified URI */ -EVENT2_EXPORT_SYMBOL -int evhttp_del_cb(struct evhttp *, const char *); - -/** - Set a callback for all requests that are not caught by specific callbacks - - Invokes the specified callback for all requests that do not match any of - the previously specified request paths. This is catchall for requests not - specifically configured with evhttp_set_cb(). - - @param http the evhttp server object for which to set the callback - @param cb the callback to invoke for any unmatched requests - @param arg an context argument for the callback -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_set_gencb(struct evhttp *http, - void (*cb)(struct evhttp_request *, void *), void *arg); - -/** - Set a callback used to create new bufferevents for connections - to a given evhttp object. - - You can use this to override the default bufferevent type -- for example, - to make this evhttp object use SSL bufferevents rather than unencrypted - ones. - - New bufferevents must be allocated with no fd set on them. - - @param http the evhttp server object for which to set the callback - @param cb the callback to invoke for incoming connections - @param arg an context argument for the callback - */ -EVENT2_EXPORT_SYMBOL -void evhttp_set_bevcb(struct evhttp *http, - struct bufferevent *(*cb)(struct event_base *, void *), void *arg); - -/** - Adds a virtual host to the http server. - - A virtual host is a newly initialized evhttp object that has request - callbacks set on it via evhttp_set_cb() or evhttp_set_gencb(). It - most not have any listing sockets associated with it. - - If the virtual host has not been removed by the time that evhttp_free() - is called on the main http server, it will be automatically freed, too. - - It is possible to have hierarchical vhosts. For example: A vhost - with the pattern *.example.com may have other vhosts with patterns - foo.example.com and bar.example.com associated with it. - - @param http the evhttp object to which to add a virtual host - @param pattern the glob pattern against which the hostname is matched. - The match is case insensitive and follows otherwise regular shell - matching. - @param vhost the virtual host to add the regular http server. - @return 0 on success, -1 on failure - @see evhttp_remove_virtual_host() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_add_virtual_host(struct evhttp* http, const char *pattern, - struct evhttp* vhost); - -/** - Removes a virtual host from the http server. - - @param http the evhttp object from which to remove the virtual host - @param vhost the virtual host to remove from the regular http server. - @return 0 on success, -1 on failure - @see evhttp_add_virtual_host() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_remove_virtual_host(struct evhttp* http, struct evhttp* vhost); - -/** - Add a server alias to an http object. The http object can be a virtual - host or the main server. - - @param http the evhttp object - @param alias the alias to add - @see evhttp_add_remove_alias() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_add_server_alias(struct evhttp *http, const char *alias); - -/** - Remove a server alias from an http object. - - @param http the evhttp object - @param alias the alias to remove - @see evhttp_add_server_alias() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_remove_server_alias(struct evhttp *http, const char *alias); - -/** - * Set the timeout for an HTTP request. - * - * @param http an evhttp object - * @param timeout_in_secs the timeout, in seconds - */ -EVENT2_EXPORT_SYMBOL -void evhttp_set_timeout(struct evhttp *http, int timeout_in_secs); - -/** - * Set the timeout for an HTTP request. - * - * @param http an evhttp object - * @param tv the timeout, or NULL - */ -EVENT2_EXPORT_SYMBOL -void evhttp_set_timeout_tv(struct evhttp *http, const struct timeval* tv); - -/* Read all the clients body, and only after this respond with an error if the - * clients body exceed max_body_size */ -#define EVHTTP_SERVER_LINGERING_CLOSE 0x0001 -/** - * Set connection flags for HTTP server. - * - * @see EVHTTP_SERVER_* - * @return 0 on success, otherwise non zero (for example if flag doesn't - * supported). - */ -EVENT2_EXPORT_SYMBOL -int evhttp_set_flags(struct evhttp *http, int flags); - -/* Request/Response functionality */ - -/** - * Send an HTML error message to the client. - * - * @param req a request object - * @param error the HTTP error code - * @param reason a brief explanation of the error. If this is NULL, we'll - * just use the standard meaning of the error code. - */ -EVENT2_EXPORT_SYMBOL -void evhttp_send_error(struct evhttp_request *req, int error, - const char *reason); - -/** - * Send an HTML reply to the client. - * - * The body of the reply consists of the data in databuf. After calling - * evhttp_send_reply() databuf will be empty, but the buffer is still - * owned by the caller and needs to be deallocated by the caller if - * necessary. - * - * @param req a request object - * @param code the HTTP response code to send - * @param reason a brief message to send with the response code - * @param databuf the body of the response - */ -EVENT2_EXPORT_SYMBOL -void evhttp_send_reply(struct evhttp_request *req, int code, - const char *reason, struct evbuffer *databuf); - -/* Low-level response interface, for streaming/chunked replies */ - -/** - Initiate a reply that uses Transfer-Encoding chunked. - - This allows the caller to stream the reply back to the client and is - useful when either not all of the reply data is immediately available - or when sending very large replies. - - The caller needs to supply data chunks with evhttp_send_reply_chunk() - and complete the reply by calling evhttp_send_reply_end(). - - @param req a request object - @param code the HTTP response code to send - @param reason a brief message to send with the response code -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_send_reply_start(struct evhttp_request *req, int code, - const char *reason); - -/** - Send another data chunk as part of an ongoing chunked reply. - - The reply chunk consists of the data in databuf. After calling - evhttp_send_reply_chunk() databuf will be empty, but the buffer is - still owned by the caller and needs to be deallocated by the caller - if necessary. - - @param req a request object - @param databuf the data chunk to send as part of the reply. -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_send_reply_chunk(struct evhttp_request *req, - struct evbuffer *databuf); - -/** - Send another data chunk as part of an ongoing chunked reply. - - The reply chunk consists of the data in databuf. After calling - evhttp_send_reply_chunk() databuf will be empty, but the buffer is - still owned by the caller and needs to be deallocated by the caller - if necessary. - - @param req a request object - @param databuf the data chunk to send as part of the reply. - @param cb callback funcion - @param call back's argument. -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_send_reply_chunk_with_cb(struct evhttp_request *, struct evbuffer *, - void (*cb)(struct evhttp_connection *, void *), void *arg); - -/** - Complete a chunked reply, freeing the request as appropriate. - - @param req a request object -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_send_reply_end(struct evhttp_request *req); - -/* - * Interfaces for making requests - */ - -/** The different request types supported by evhttp. These are as specified - * in RFC2616, except for PATCH which is specified by RFC5789. - * - * By default, only some of these methods are accepted and passed to user - * callbacks; use evhttp_set_allowed_methods() to change which methods - * are allowed. - */ -enum evhttp_cmd_type { - EVHTTP_REQ_GET = 1 << 0, - EVHTTP_REQ_POST = 1 << 1, - EVHTTP_REQ_HEAD = 1 << 2, - EVHTTP_REQ_PUT = 1 << 3, - EVHTTP_REQ_DELETE = 1 << 4, - EVHTTP_REQ_OPTIONS = 1 << 5, - EVHTTP_REQ_TRACE = 1 << 6, - EVHTTP_REQ_CONNECT = 1 << 7, - EVHTTP_REQ_PATCH = 1 << 8 -}; - -/** a request object can represent either a request or a reply */ -enum evhttp_request_kind { EVHTTP_REQUEST, EVHTTP_RESPONSE }; - -/** - * Create and return a connection object that can be used to for making HTTP - * requests. The connection object tries to resolve address and establish the - * connection when it is given an http request object. - * - * @param base the event_base to use for handling the connection - * @param dnsbase the dns_base to use for resolving host names; if not - * specified host name resolution will block. - * @param bev a bufferevent to use for connecting to the server; if NULL, a - * socket-based bufferevent will be created. This buffrevent will be freed - * when the connection closes. It must have no fd set on it. - * @param address the address to which to connect - * @param port the port to connect to - * @return an evhttp_connection object that can be used for making requests - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_connection *evhttp_connection_base_bufferevent_new( - struct event_base *base, struct evdns_base *dnsbase, struct bufferevent* bev, const char *address, ev_uint16_t port); - -/** - * Return the bufferevent that an evhttp_connection is using. - */ -EVENT2_EXPORT_SYMBOL -struct bufferevent* evhttp_connection_get_bufferevent(struct evhttp_connection *evcon); - -/** - * Return the HTTP server associated with this connection, or NULL. - */ -EVENT2_EXPORT_SYMBOL -struct evhttp *evhttp_connection_get_server(struct evhttp_connection *evcon); - -/** - * Creates a new request object that needs to be filled in with the request - * parameters. The callback is executed when the request completed or an - * error occurred. - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_request *evhttp_request_new( - void (*cb)(struct evhttp_request *, void *), void *arg); - -/** - * Enable delivery of chunks to requestor. - * @param cb will be called after every read of data with the same argument - * as the completion callback. Will never be called on an empty - * response. May drain the input buffer; it will be drained - * automatically on return. - */ -EVENT2_EXPORT_SYMBOL -void evhttp_request_set_chunked_cb(struct evhttp_request *, - void (*cb)(struct evhttp_request *, void *)); - -/** - * Register callback for additional parsing of request headers. - * @param cb will be called after receiving and parsing the full header. - * It allows analyzing the header and possibly closing the connection - * by returning a value < 0. - */ -EVENT2_EXPORT_SYMBOL -void evhttp_request_set_header_cb(struct evhttp_request *, - int (*cb)(struct evhttp_request *, void *)); - -/** - * The different error types supported by evhttp - * - * @see evhttp_request_set_error_cb() - */ -enum evhttp_request_error { - /** - * Timeout reached, also @see evhttp_connection_set_timeout() - */ - EVREQ_HTTP_TIMEOUT, - /** - * EOF reached - */ - EVREQ_HTTP_EOF, - /** - * Error while reading header, or invalid header - */ - EVREQ_HTTP_INVALID_HEADER, - /** - * Error encountered while reading or writing - */ - EVREQ_HTTP_BUFFER_ERROR, - /** - * The evhttp_cancel_request() called on this request. - */ - EVREQ_HTTP_REQUEST_CANCEL, - /** - * Body is greater then evhttp_connection_set_max_body_size() - */ - EVREQ_HTTP_DATA_TOO_LONG -}; -/** - * Set a callback for errors - * @see evhttp_request_error for error types. - * - * On error, both the error callback and the regular callback will be called, - * error callback is called before the regular callback. - **/ -EVENT2_EXPORT_SYMBOL -void evhttp_request_set_error_cb(struct evhttp_request *, - void (*)(enum evhttp_request_error, void *)); - -/** - * Set a callback to be called on request completion of evhttp_send_* function. - * - * The callback function will be called on the completion of the request after - * the output data has been written and before the evhttp_request object - * is destroyed. This can be useful for tracking resources associated with a - * request (ex: timing metrics). - * - * @param req a request object - * @param cb callback function that will be called on request completion - * @param cb_arg an additional context argument for the callback - */ -EVENT2_EXPORT_SYMBOL -void evhttp_request_set_on_complete_cb(struct evhttp_request *req, - void (*cb)(struct evhttp_request *, void *), void *cb_arg); - -/** Frees the request object and removes associated events. */ -EVENT2_EXPORT_SYMBOL -void evhttp_request_free(struct evhttp_request *req); - -/** - * Create and return a connection object that can be used to for making HTTP - * requests. The connection object tries to resolve address and establish the - * connection when it is given an http request object. - * - * @param base the event_base to use for handling the connection - * @param dnsbase the dns_base to use for resolving host names; if not - * specified host name resolution will block. - * @param address the address to which to connect - * @param port the port to connect to - * @return an evhttp_connection object that can be used for making requests - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_connection *evhttp_connection_base_new( - struct event_base *base, struct evdns_base *dnsbase, - const char *address, ev_uint16_t port); - -/** - * Set family hint for DNS requests. - */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_family(struct evhttp_connection *evcon, - int family); - -/* reuse connection address on retry */ -#define EVHTTP_CON_REUSE_CONNECTED_ADDR 0x0008 -/* Try to read error, since server may already send and close - * connection, but if at that time we have some data to send then we - * can send get EPIPE and fail, while we can read that HTTP error. */ -#define EVHTTP_CON_READ_ON_WRITE_ERROR 0x0010 -/* @see EVHTTP_SERVER_LINGERING_CLOSE */ -#define EVHTTP_CON_LINGERING_CLOSE 0x0020 -/* Padding for public flags, @see EVHTTP_CON_* in http-internal.h */ -#define EVHTTP_CON_PUBLIC_FLAGS_END 0x100000 -/** - * Set connection flags. - * - * @see EVHTTP_CON_* - * @return 0 on success, otherwise non zero (for example if flag doesn't - * supported). - */ -EVENT2_EXPORT_SYMBOL -int evhttp_connection_set_flags(struct evhttp_connection *evcon, - int flags); - -/** Takes ownership of the request object - * - * Can be used in a request callback to keep onto the request until - * evhttp_request_free() is explicitly called by the user. - */ -EVENT2_EXPORT_SYMBOL -void evhttp_request_own(struct evhttp_request *req); - -/** Returns 1 if the request is owned by the user */ -EVENT2_EXPORT_SYMBOL -int evhttp_request_is_owned(struct evhttp_request *req); - -/** - * Returns the connection object associated with the request or NULL - * - * The user needs to either free the request explicitly or call - * evhttp_send_reply_end(). - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_connection *evhttp_request_get_connection(struct evhttp_request *req); - -/** - * Returns the underlying event_base for this connection - */ -EVENT2_EXPORT_SYMBOL -struct event_base *evhttp_connection_get_base(struct evhttp_connection *req); - -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_max_headers_size(struct evhttp_connection *evcon, - ev_ssize_t new_max_headers_size); - -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_max_body_size(struct evhttp_connection* evcon, - ev_ssize_t new_max_body_size); - -/** Frees an http connection */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_free(struct evhttp_connection *evcon); - -/** Disowns a given connection object - * - * Can be used to tell libevent to free the connection object after - * the last request has completed or failed. - */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_free_on_completion(struct evhttp_connection *evcon); - -/** sets the ip address from which http connections are made */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_local_address(struct evhttp_connection *evcon, - const char *address); - -/** sets the local port from which http connections are made */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_local_port(struct evhttp_connection *evcon, - ev_uint16_t port); - -/** Sets the timeout in seconds for events related to this connection */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_timeout(struct evhttp_connection *evcon, - int timeout_in_secs); - -/** Sets the timeout for events related to this connection. Takes a struct - * timeval. */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_timeout_tv(struct evhttp_connection *evcon, - const struct timeval *tv); - -/** Sets the delay before retrying requests on this connection. This is only - * used if evhttp_connection_set_retries is used to make the number of retries - * at least one. Each retry after the first is twice as long as the one before - * it. */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_initial_retry_tv(struct evhttp_connection *evcon, - const struct timeval *tv); - -/** Sets the retry limit for this connection - -1 repeats indefinitely */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_retries(struct evhttp_connection *evcon, - int retry_max); - -/** Set a callback for connection close. */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_set_closecb(struct evhttp_connection *evcon, - void (*)(struct evhttp_connection *, void *), void *); - -/** Get the remote address and port associated with this connection. */ -EVENT2_EXPORT_SYMBOL -void evhttp_connection_get_peer(struct evhttp_connection *evcon, - char **address, ev_uint16_t *port); - -/** Get the remote address associated with this connection. - * extracted from getpeername() OR from nameserver. - * - * @return NULL if getpeername() return non success, - * or connection is not connected, - * otherwise it return pointer to struct sockaddr_storage */ -EVENT2_EXPORT_SYMBOL -const struct sockaddr* -evhttp_connection_get_addr(struct evhttp_connection *evcon); - -/** - Make an HTTP request over the specified connection. - - The connection gets ownership of the request. On failure, the - request object is no longer valid as it has been freed. - - @param evcon the evhttp_connection object over which to send the request - @param req the previously created and configured request object - @param type the request type EVHTTP_REQ_GET, EVHTTP_REQ_POST, etc. - @param uri the URI associated with the request - @return 0 on success, -1 on failure - @see evhttp_cancel_request() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_make_request(struct evhttp_connection *evcon, - struct evhttp_request *req, - enum evhttp_cmd_type type, const char *uri); - -/** - Cancels a pending HTTP request. - - Cancels an ongoing HTTP request. The callback associated with this request - is not executed and the request object is freed. If the request is - currently being processed, e.g. it is ongoing, the corresponding - evhttp_connection object is going to get reset. - - A request cannot be canceled if its callback has executed already. A request - may be canceled reentrantly from its chunked callback. - - @param req the evhttp_request to cancel; req becomes invalid after this call. -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_cancel_request(struct evhttp_request *req); - -/** - * A structure to hold a parsed URI or Relative-Ref conforming to RFC3986. - */ -struct evhttp_uri; - -/** Returns the request URI */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_request_get_uri(const struct evhttp_request *req); -/** Returns the request URI (parsed) */ -EVENT2_EXPORT_SYMBOL -const struct evhttp_uri *evhttp_request_get_evhttp_uri(const struct evhttp_request *req); -/** Returns the request command */ -EVENT2_EXPORT_SYMBOL -enum evhttp_cmd_type evhttp_request_get_command(const struct evhttp_request *req); - -EVENT2_EXPORT_SYMBOL -int evhttp_request_get_response_code(const struct evhttp_request *req); -EVENT2_EXPORT_SYMBOL -const char * evhttp_request_get_response_code_line(const struct evhttp_request *req); - -/** Returns the input headers */ -EVENT2_EXPORT_SYMBOL -struct evkeyvalq *evhttp_request_get_input_headers(struct evhttp_request *req); -/** Returns the output headers */ -EVENT2_EXPORT_SYMBOL -struct evkeyvalq *evhttp_request_get_output_headers(struct evhttp_request *req); -/** Returns the input buffer */ -EVENT2_EXPORT_SYMBOL -struct evbuffer *evhttp_request_get_input_buffer(struct evhttp_request *req); -/** Returns the output buffer */ -EVENT2_EXPORT_SYMBOL -struct evbuffer *evhttp_request_get_output_buffer(struct evhttp_request *req); -/** Returns the host associated with the request. If a client sends an absolute - URI, the host part of that is preferred. Otherwise, the input headers are - searched for a Host: header. NULL is returned if no absolute URI or Host: - header is provided. */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_request_get_host(struct evhttp_request *req); - -/* Interfaces for dealing with HTTP headers */ - -/** - Finds the value belonging to a header. - - @param headers the evkeyvalq object in which to find the header - @param key the name of the header to find - @returns a pointer to the value for the header or NULL if the header - could not be found. - @see evhttp_add_header(), evhttp_remove_header() -*/ -EVENT2_EXPORT_SYMBOL -const char *evhttp_find_header(const struct evkeyvalq *headers, - const char *key); - -/** - Removes a header from a list of existing headers. - - @param headers the evkeyvalq object from which to remove a header - @param key the name of the header to remove - @returns 0 if the header was removed, -1 otherwise. - @see evhttp_find_header(), evhttp_add_header() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_remove_header(struct evkeyvalq *headers, const char *key); - -/** - Adds a header to a list of existing headers. - - @param headers the evkeyvalq object to which to add a header - @param key the name of the header - @param value the value belonging to the header - @returns 0 on success, -1 otherwise. - @see evhttp_find_header(), evhttp_clear_headers() -*/ -EVENT2_EXPORT_SYMBOL -int evhttp_add_header(struct evkeyvalq *headers, const char *key, const char *value); - -/** - Removes all headers from the header list. - - @param headers the evkeyvalq object from which to remove all headers -*/ -EVENT2_EXPORT_SYMBOL -void evhttp_clear_headers(struct evkeyvalq *headers); - -/* Miscellaneous utility functions */ - - -/** - Helper function to encode a string for inclusion in a URI. All - characters are replaced by their hex-escaped (%22) equivalents, - except for characters explicitly unreserved by RFC3986 -- that is, - ASCII alphanumeric characters, hyphen, dot, underscore, and tilde. - - The returned string must be freed by the caller. - - @param str an unencoded string - @return a newly allocated URI-encoded string or NULL on failure - */ -EVENT2_EXPORT_SYMBOL -char *evhttp_encode_uri(const char *str); - -/** - As evhttp_encode_uri, but if 'size' is nonnegative, treat the string - as being 'size' bytes long. This allows you to encode strings that - may contain 0-valued bytes. - - The returned string must be freed by the caller. - - @param str an unencoded string - @param size the length of the string to encode, or -1 if the string - is NUL-terminated - @param space_to_plus if true, space characters in 'str' are encoded - as +, not %20. - @return a newly allocate URI-encoded string, or NULL on failure. - */ -EVENT2_EXPORT_SYMBOL -char *evhttp_uriencode(const char *str, ev_ssize_t size, int space_to_plus); - -/** - Helper function to sort of decode a URI-encoded string. Unlike - evhttp_get_decoded_uri, it decodes all plus characters that appear - _after_ the first question mark character, but no plusses that occur - before. This is not a good way to decode URIs in whole or in part. - - The returned string must be freed by the caller - - @deprecated This function is deprecated; you probably want to use - evhttp_get_decoded_uri instead. - - @param uri an encoded URI - @return a newly allocated unencoded URI or NULL on failure - */ -EVENT2_EXPORT_SYMBOL -char *evhttp_decode_uri(const char *uri); - -/** - Helper function to decode a URI-escaped string or HTTP parameter. - - If 'decode_plus' is 1, then we decode the string as an HTTP parameter - value, and convert all plus ('+') characters to spaces. If - 'decode_plus' is 0, we leave all plus characters unchanged. - - The returned string must be freed by the caller. - - @param uri a URI-encode encoded URI - @param decode_plus determines whether we convert '+' to space. - @param size_out if size_out is not NULL, *size_out is set to the size of the - returned string - @return a newly allocated unencoded URI or NULL on failure - */ -EVENT2_EXPORT_SYMBOL -char *evhttp_uridecode(const char *uri, int decode_plus, - size_t *size_out); - -/** - Helper function to parse out arguments in a query. - - Parsing a URI like - - http://foo.com/?q=test&s=some+thing - - will result in two entries in the key value queue. - - The first entry is: key="q", value="test" - The second entry is: key="s", value="some thing" - - @deprecated This function is deprecated as of Libevent 2.0.9. Use - evhttp_uri_parse and evhttp_parse_query_str instead. - - @param uri the request URI - @param headers the head of the evkeyval queue - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evhttp_parse_query(const char *uri, struct evkeyvalq *headers); - -/** - Helper function to parse out arguments from the query portion of an - HTTP URI. - - Parsing a query string like - - q=test&s=some+thing - - will result in two entries in the key value queue. - - The first entry is: key="q", value="test" - The second entry is: key="s", value="some thing" - - @param query_parse the query portion of the URI - @param headers the head of the evkeyval queue - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evhttp_parse_query_str(const char *uri, struct evkeyvalq *headers); - -/** - * Escape HTML character entities in a string. - * - * Replaces <, >, ", ' and & with <, >, ", - * ' and & correspondingly. - * - * The returned string needs to be freed by the caller. - * - * @param html an unescaped HTML string - * @return an escaped HTML string or NULL on error - */ -EVENT2_EXPORT_SYMBOL -char *evhttp_htmlescape(const char *html); - -/** - * Return a new empty evhttp_uri with no fields set. - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_uri *evhttp_uri_new(void); - -/** - * Changes the flags set on a given URI. See EVHTTP_URI_* for - * a list of flags. - **/ -EVENT2_EXPORT_SYMBOL -void evhttp_uri_set_flags(struct evhttp_uri *uri, unsigned flags); - -/** Return the scheme of an evhttp_uri, or NULL if there is no scheme has - * been set and the evhttp_uri contains a Relative-Ref. */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_uri_get_scheme(const struct evhttp_uri *uri); -/** - * Return the userinfo part of an evhttp_uri, or NULL if it has no userinfo - * set. - */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_uri_get_userinfo(const struct evhttp_uri *uri); -/** - * Return the host part of an evhttp_uri, or NULL if it has no host set. - * The host may either be a regular hostname (conforming to the RFC 3986 - * "regname" production), or an IPv4 address, or the empty string, or a - * bracketed IPv6 address, or a bracketed 'IP-Future' address. - * - * Note that having a NULL host means that the URI has no authority - * section, but having an empty-string host means that the URI has an - * authority section with no host part. For example, - * "mailto:user@example.com" has a host of NULL, but "file:///etc/motd" - * has a host of "". - */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_uri_get_host(const struct evhttp_uri *uri); -/** Return the port part of an evhttp_uri, or -1 if there is no port set. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_get_port(const struct evhttp_uri *uri); -/** Return the path part of an evhttp_uri, or NULL if it has no path set */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_uri_get_path(const struct evhttp_uri *uri); -/** Return the query part of an evhttp_uri (excluding the leading "?"), or - * NULL if it has no query set */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_uri_get_query(const struct evhttp_uri *uri); -/** Return the fragment part of an evhttp_uri (excluding the leading "#"), - * or NULL if it has no fragment set */ -EVENT2_EXPORT_SYMBOL -const char *evhttp_uri_get_fragment(const struct evhttp_uri *uri); - -/** Set the scheme of an evhttp_uri, or clear the scheme if scheme==NULL. - * Returns 0 on success, -1 if scheme is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_scheme(struct evhttp_uri *uri, const char *scheme); -/** Set the userinfo of an evhttp_uri, or clear the userinfo if userinfo==NULL. - * Returns 0 on success, -1 if userinfo is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_userinfo(struct evhttp_uri *uri, const char *userinfo); -/** Set the host of an evhttp_uri, or clear the host if host==NULL. - * Returns 0 on success, -1 if host is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_host(struct evhttp_uri *uri, const char *host); -/** Set the port of an evhttp_uri, or clear the port if port==-1. - * Returns 0 on success, -1 if port is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_port(struct evhttp_uri *uri, int port); -/** Set the path of an evhttp_uri, or clear the path if path==NULL. - * Returns 0 on success, -1 if path is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_path(struct evhttp_uri *uri, const char *path); -/** Set the query of an evhttp_uri, or clear the query if query==NULL. - * The query should not include a leading "?". - * Returns 0 on success, -1 if query is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_query(struct evhttp_uri *uri, const char *query); -/** Set the fragment of an evhttp_uri, or clear the fragment if fragment==NULL. - * The fragment should not include a leading "#". - * Returns 0 on success, -1 if fragment is not well-formed. */ -EVENT2_EXPORT_SYMBOL -int evhttp_uri_set_fragment(struct evhttp_uri *uri, const char *fragment); - -/** - * Helper function to parse a URI-Reference as specified by RFC3986. - * - * This function matches the URI-Reference production from RFC3986, - * which includes both URIs like - * - * scheme://[[userinfo]@]foo.com[:port]]/[path][?query][#fragment] - * - * and relative-refs like - * - * [path][?query][#fragment] - * - * Any optional elements portions not present in the original URI are - * left set to NULL in the resulting evhttp_uri. If no port is - * specified, the port is set to -1. - * - * Note that no decoding is performed on percent-escaped characters in - * the string; if you want to parse them, use evhttp_uridecode or - * evhttp_parse_query_str as appropriate. - * - * Note also that most URI schemes will have additional constraints that - * this function does not know about, and cannot check. For example, - * mailto://www.example.com/cgi-bin/fortune.pl is not a reasonable - * mailto url, http://www.example.com:99999/ is not a reasonable HTTP - * URL, and ftp:username@example.com is not a reasonable FTP URL. - * Nevertheless, all of these URLs conform to RFC3986, and this function - * accepts all of them as valid. - * - * @param source_uri the request URI - * @param flags Zero or more EVHTTP_URI_* flags to affect the behavior - * of the parser. - * @return uri container to hold parsed data, or NULL if there is error - * @see evhttp_uri_free() - */ -EVENT2_EXPORT_SYMBOL -struct evhttp_uri *evhttp_uri_parse_with_flags(const char *source_uri, - unsigned flags); - -/** Tolerate URIs that do not conform to RFC3986. - * - * Unfortunately, some HTTP clients generate URIs that, according to RFC3986, - * are not conformant URIs. If you need to support these URIs, you can - * do so by passing this flag to evhttp_uri_parse_with_flags. - * - * Currently, these changes are: - *
    - *
  • Nonconformant URIs are allowed to contain otherwise unreasonable - * characters in their path, query, and fragment components. - *
- */ -#define EVHTTP_URI_NONCONFORMANT 0x01 - -/** Alias for evhttp_uri_parse_with_flags(source_uri, 0) */ -EVENT2_EXPORT_SYMBOL -struct evhttp_uri *evhttp_uri_parse(const char *source_uri); - -/** - * Free all memory allocated for a parsed uri. Only use this for URIs - * generated by evhttp_uri_parse. - * - * @param uri container with parsed data - * @see evhttp_uri_parse() - */ -EVENT2_EXPORT_SYMBOL -void evhttp_uri_free(struct evhttp_uri *uri); - -/** - * Join together the uri parts from parsed data to form a URI-Reference. - * - * Note that no escaping of reserved characters is done on the members - * of the evhttp_uri, so the generated string might not be a valid URI - * unless the members of evhttp_uri are themselves valid. - * - * @param uri container with parsed data - * @param buf destination buffer - * @param limit destination buffer size - * @return an joined uri as string or NULL on error - * @see evhttp_uri_parse() - */ -EVENT2_EXPORT_SYMBOL -char *evhttp_uri_join(struct evhttp_uri *uri, char *buf, size_t limit); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_HTTP_H_INCLUDED_ */ diff --git a/src/components/libevent/http_compat.h b/src/components/libevent/http_compat.h deleted file mode 100644 index ca9e708..0000000 --- a/src/components/libevent/http_compat.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_HTTP_COMPAT_H_INCLUDED_ -#define EVENT2_HTTP_COMPAT_H_INCLUDED_ - -/** @file event2/http_compat.h - - Potentially non-threadsafe versions of the functions in http.h: provided - only for backwards compatibility. - - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/** - * Start an HTTP server on the specified address and port - * - * @deprecated It does not allow an event base to be specified - * - * @param address the address to which the HTTP server should be bound - * @param port the port number on which the HTTP server should listen - * @return an struct evhttp object - */ -struct evhttp *evhttp_start(const char *address, ev_uint16_t port); - -/** - * A connection object that can be used to for making HTTP requests. The - * connection object tries to establish the connection when it is given an - * http request object. - * - * @deprecated It does not allow an event base to be specified - */ -struct evhttp_connection *evhttp_connection_new( - const char *address, ev_uint16_t port); - -/** - * Associates an event base with the connection - can only be called - * on a freshly created connection object that has not been used yet. - * - * @deprecated XXXX Why? - */ -void evhttp_connection_set_base(struct evhttp_connection *evcon, - struct event_base *base); - - -/** Returns the request URI */ -#define evhttp_request_uri evhttp_request_get_uri - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_EVENT_COMPAT_H_INCLUDED_ */ diff --git a/src/components/libevent/http_struct.h b/src/components/libevent/http_struct.h deleted file mode 100644 index 24b2fb9..0000000 --- a/src/components/libevent/http_struct.h +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_HTTP_STRUCT_H_INCLUDED_ -#define EVENT2_HTTP_STRUCT_H_INCLUDED_ - -/** @file event2/http_struct.h - - Data structures for http. Using these structures may hurt forward - compatibility with later versions of Libevent: be careful! - - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -/** - * the request structure that a server receives. - * WARNING: expect this structure to change. I will try to provide - * reasonable accessors. - */ -struct evhttp_request { -#if defined(TAILQ_ENTRY) - TAILQ_ENTRY(evhttp_request) next; -#else -struct { - struct evhttp_request *tqe_next; - struct evhttp_request **tqe_prev; -} next; -#endif - - /* the connection object that this request belongs to */ - struct evhttp_connection *evcon; - int flags; -/** The request obj owns the evhttp connection and needs to free it */ -#define EVHTTP_REQ_OWN_CONNECTION 0x0001 -/** Request was made via a proxy */ -#define EVHTTP_PROXY_REQUEST 0x0002 -/** The request object is owned by the user; the user must free it */ -#define EVHTTP_USER_OWNED 0x0004 -/** The request will be used again upstack; freeing must be deferred */ -#define EVHTTP_REQ_DEFER_FREE 0x0008 -/** The request should be freed upstack */ -#define EVHTTP_REQ_NEEDS_FREE 0x0010 - - struct evkeyvalq *input_headers; - struct evkeyvalq *output_headers; - - /* address of the remote host and the port connection came from */ - char *remote_host; - ev_uint16_t remote_port; - - /* cache of the hostname for evhttp_request_get_host */ - char *host_cache; - - enum evhttp_request_kind kind; - enum evhttp_cmd_type type; - - size_t headers_size; - size_t body_size; - - char *uri; /* uri after HTTP request was parsed */ - struct evhttp_uri *uri_elems; /* uri elements */ - - char major; /* HTTP Major number */ - char minor; /* HTTP Minor number */ - - int response_code; /* HTTP Response code */ - char *response_code_line; /* Readable response */ - - struct evbuffer *input_buffer; /* read data */ - ev_int64_t ntoread; - unsigned chunked:1, /* a chunked request */ - userdone:1; /* the user has sent all data */ - - struct evbuffer *output_buffer; /* outgoing post or data */ - - /* Callback */ - void (*cb)(struct evhttp_request *, void *); - void *cb_arg; - - /* - * Chunked data callback - call for each completed chunk if - * specified. If not specified, all the data is delivered via - * the regular callback. - */ - void (*chunk_cb)(struct evhttp_request *, void *); - - /* - * Callback added for forked-daapd so they can collect ICY - * (shoutcast) metadata from the http header. If return - * int is negative the connection will be closed. - */ - int (*header_cb)(struct evhttp_request *, void *); - - /* - * Error callback - called when error is occured. - * @see evhttp_request_error for error types. - * - * @see evhttp_request_set_error_cb() - */ - void (*error_cb)(enum evhttp_request_error, void *); - - /* - * Send complete callback - called when the request is actually - * sent and completed. - */ - void (*on_complete_cb)(struct evhttp_request *, void *); - void *on_complete_cb_arg; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_HTTP_STRUCT_H_INCLUDED_ */ - diff --git a/src/components/libevent/ipv6-internal.h b/src/components/libevent/ipv6-internal.h deleted file mode 100644 index 53df6a9..0000000 --- a/src/components/libevent/ipv6-internal.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2009-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. - */ - -/* Internal use only: Fake IPv6 structures and values on platforms that - * do not have them */ - -#ifndef IPV6_INTERNAL_H_INCLUDED_ -#define IPV6_INTERNAL_H_INCLUDED_ - -#include "event-config.h" -#include "evconfig-private.h" - -#include -#ifdef EVENT__HAVE_SYS_SOCKET_H -#include -#endif -#include "util.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** @file ipv6-internal.h - * - * Replacement types and functions for platforms that don't support ipv6 - * properly. - */ - -#ifndef EVENT__HAVE_STRUCT_IN6_ADDR -struct in6_addr { - ev_uint8_t s6_addr[16]; -}; -#endif - -#ifndef EVENT__HAVE_SA_FAMILY_T -typedef int sa_family_t; -#endif - -#ifndef EVENT__HAVE_STRUCT_SOCKADDR_IN6 -struct sockaddr_in6 { - /* This will fail if we find a struct sockaddr that doesn't have - * sa_family as the first element. */ - sa_family_t sin6_family; - ev_uint16_t sin6_port; - struct in6_addr sin6_addr; -}; -#endif - -#ifndef AF_INET6 -#define AF_INET6 3333 -#endif -#ifndef PF_INET6 -#define PF_INET6 AF_INET6 -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/libevent/keyvalq_struct.h b/src/components/libevent/keyvalq_struct.h deleted file mode 100644 index bffa54b..0000000 --- a/src/components/libevent/keyvalq_struct.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_KEYVALQ_STRUCT_H_INCLUDED_ -#define EVENT2_KEYVALQ_STRUCT_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -/* Fix so that people don't have to run with */ -/* XXXX This code is duplicated with event_struct.h */ -#ifndef TAILQ_ENTRY -#define EVENT_DEFINED_TQENTRY_ -#define TAILQ_ENTRY(type) \ -struct { \ - struct type *tqe_next; /* next element */ \ - struct type **tqe_prev; /* address of previous next element */ \ -} -#endif /* !TAILQ_ENTRY */ - -#ifndef TAILQ_HEAD -#define EVENT_DEFINED_TQHEAD_ -#define TAILQ_HEAD(name, type) \ -struct name { \ - struct type *tqh_first; \ - struct type **tqh_last; \ -} -#endif - -/* - * Key-Value pairs. Can be used for HTTP headers but also for - * query argument parsing. - */ -struct evkeyval { - TAILQ_ENTRY(evkeyval) next; - - char *key; - char *value; -}; - -TAILQ_HEAD (evkeyvalq, evkeyval); - -/* XXXX This code is duplicated with event_struct.h */ -#ifdef EVENT_DEFINED_TQENTRY_ -#undef TAILQ_ENTRY -#endif - -#ifdef EVENT_DEFINED_TQHEAD_ -#undef TAILQ_HEAD -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/libevent/listener.h b/src/components/libevent/listener.h deleted file mode 100644 index ea0c1fa..0000000 --- a/src/components/libevent/listener.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_LISTENER_H_INCLUDED_ -#define EVENT2_LISTENER_H_INCLUDED_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -struct sockaddr; -struct evconnlistener; - -/** - A callback that we invoke when a listener has a new connection. - - @param listener The evconnlistener - @param fd The new file descriptor - @param addr The source address of the connection - @param socklen The length of addr - @param user_arg the pointer passed to evconnlistener_new() - */ -typedef void (*evconnlistener_cb)(struct evconnlistener *, evutil_socket_t, struct sockaddr *, int socklen, void *); - -/** - A callback that we invoke when a listener encounters a non-retriable error. - - @param listener The evconnlistener - @param user_arg the pointer passed to evconnlistener_new() - */ -typedef void (*evconnlistener_errorcb)(struct evconnlistener *, void *); - -/** Flag: Indicates that we should not make incoming sockets nonblocking - * before passing them to the callback. */ -#define LEV_OPT_LEAVE_SOCKETS_BLOCKING (1u<<0) -/** Flag: Indicates that freeing the listener should close the underlying - * socket. */ -#define LEV_OPT_CLOSE_ON_FREE (1u<<1) -/** Flag: Indicates that we should set the close-on-exec flag, if possible */ -#define LEV_OPT_CLOSE_ON_EXEC (1u<<2) -/** Flag: Indicates that we should disable the timeout (if any) between when - * this socket is closed and when we can listen again on the same port. */ -#define LEV_OPT_REUSEABLE (1u<<3) -/** Flag: Indicates that the listener should be locked so it's safe to use - * from multiple threadcs at once. */ -#define LEV_OPT_THREADSAFE (1u<<4) -/** Flag: Indicates that the listener should be created in disabled - * state. Use evconnlistener_enable() to enable it later. */ -#define LEV_OPT_DISABLED (1u<<5) -/** Flag: Indicates that the listener should defer accept() until data is - * available, if possible. Ignored on platforms that do not support this. - * - * This option can help performance for protocols where the client transmits - * immediately after connecting. Do not use this option if your protocol - * _doesn't_ start out with the client transmitting data, since in that case - * this option will sometimes cause the kernel to never tell you about the - * connection. - * - * This option is only supported by evconnlistener_new_bind(): it can't - * work with evconnlistener_new_fd(), since the listener needs to be told - * to use the option before it is actually bound. - */ -#define LEV_OPT_DEFERRED_ACCEPT (1u<<6) -/** Flag: Indicates that we ask to allow multiple servers (processes or - * threads) to bind to the same port if they each set the option. - * - * SO_REUSEPORT is what most people would expect SO_REUSEADDR to be, however - * SO_REUSEPORT does not imply SO_REUSEADDR. - * - * This is only available on Linux and kernel 3.9+ - */ -#define LEV_OPT_REUSEABLE_PORT (1u<<7) - -/** - Allocate a new evconnlistener object to listen for incoming TCP connections - on a given file descriptor. - - @param base The event base to associate the listener with. - @param cb A callback to be invoked when a new connection arrives. If the - callback is NULL, the listener will be treated as disabled until the - callback is set. - @param ptr A user-supplied pointer to give to the callback. - @param flags Any number of LEV_OPT_* flags - @param backlog Passed to the listen() call to determine the length of the - acceptable connection backlog. Set to -1 for a reasonable default. - Set to 0 if the socket is already listening. - @param fd The file descriptor to listen on. It must be a nonblocking - file descriptor, and it should already be bound to an appropriate - port and address. -*/ -EVENT2_EXPORT_SYMBOL -struct evconnlistener *evconnlistener_new(struct event_base *base, - evconnlistener_cb cb, void *ptr, unsigned flags, int backlog, - evutil_socket_t fd); -/** - Allocate a new evconnlistener object to listen for incoming TCP connections - on a given address. - - @param base The event base to associate the listener with. - @param cb A callback to be invoked when a new connection arrives. If the - callback is NULL, the listener will be treated as disabled until the - callback is set. - @param ptr A user-supplied pointer to give to the callback. - @param flags Any number of LEV_OPT_* flags - @param backlog Passed to the listen() call to determine the length of the - acceptable connection backlog. Set to -1 for a reasonable default. - @param addr The address to listen for connections on. - @param socklen The length of the address. - */ -EVENT2_EXPORT_SYMBOL -struct evconnlistener *evconnlistener_new_bind(struct event_base *base, - evconnlistener_cb cb, void *ptr, unsigned flags, int backlog, - const struct sockaddr *sa, int socklen); -/** - Disable and deallocate an evconnlistener. - */ -EVENT2_EXPORT_SYMBOL -void evconnlistener_free(struct evconnlistener *lev); -/** - Re-enable an evconnlistener that has been disabled. - */ -EVENT2_EXPORT_SYMBOL -int evconnlistener_enable(struct evconnlistener *lev); -/** - Stop listening for connections on an evconnlistener. - */ -EVENT2_EXPORT_SYMBOL -int evconnlistener_disable(struct evconnlistener *lev); - -/** Return an evconnlistener's associated event_base. */ -EVENT2_EXPORT_SYMBOL -struct event_base *evconnlistener_get_base(struct evconnlistener *lev); - -/** Return the socket that an evconnlistner is listening on. */ -EVENT2_EXPORT_SYMBOL -evutil_socket_t evconnlistener_get_fd(struct evconnlistener *lev); - -/** Change the callback on the listener to cb and its user_data to arg. - */ -EVENT2_EXPORT_SYMBOL -void evconnlistener_set_cb(struct evconnlistener *lev, - evconnlistener_cb cb, void *arg); - -/** Set an evconnlistener's error callback. */ -EVENT2_EXPORT_SYMBOL -void evconnlistener_set_error_cb(struct evconnlistener *lev, - evconnlistener_errorcb errorcb); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/libevent/log-internal.h b/src/components/libevent/log-internal.h deleted file mode 100644 index f43ea3f..0000000 --- a/src/components/libevent/log-internal.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 LOG_INTERNAL_H_INCLUDED_ -#define LOG_INTERNAL_H_INCLUDED_ - -#include "util.h" - -#ifdef __GNUC__ -#define EV_CHECK_FMT(a,b) __attribute__((format(printf, a, b))) -#define EV_NORETURN __attribute__((noreturn)) -#else -#define EV_CHECK_FMT(a,b) -#define EV_NORETURN -#endif - -#define EVENT_ERR_ABORT_ ((int)0xdeaddead) - -#define USE_GLOBAL_FOR_DEBUG_LOGGING - -#if !defined(EVENT__DISABLE_DEBUG_MODE) || defined(USE_DEBUG) -#define EVENT_DEBUG_LOGGING_ENABLED -#endif - -#ifdef EVENT_DEBUG_LOGGING_ENABLED -#ifdef USE_GLOBAL_FOR_DEBUG_LOGGING -extern ev_uint32_t event_debug_logging_mask_; -#define event_debug_get_logging_mask_() (event_debug_logging_mask_) -#else -ev_uint32_t event_debug_get_logging_mask_(void); -#endif -#else -#define event_debug_get_logging_mask_() (0) -#endif - -void event_err(int eval, const char *fmt, ...) EV_CHECK_FMT(2,3) EV_NORETURN; -void event_warn(const char *fmt, ...) EV_CHECK_FMT(1,2); -void event_sock_err(int eval, evutil_socket_t sock, const char *fmt, ...) EV_CHECK_FMT(3,4) EV_NORETURN; -void event_sock_warn(evutil_socket_t sock, const char *fmt, ...) EV_CHECK_FMT(2,3); -void event_errx(int eval, const char *fmt, ...) EV_CHECK_FMT(2,3) EV_NORETURN; -void event_warnx(const char *fmt, ...) EV_CHECK_FMT(1,2); -void event_msgx(const char *fmt, ...) EV_CHECK_FMT(1,2); -void event_debugx_(const char *fmt, ...) EV_CHECK_FMT(1,2); - -void event_logv_(int severity, const char *errstr, const char *fmt, va_list ap) - EV_CHECK_FMT(3,0); - -#ifdef EVENT_DEBUG_LOGGING_ENABLED -#define event_debug(x) do { \ - if (event_debug_get_logging_mask_()) { \ - event_debugx_ x; \ - } \ - } while (0) -#else -#define event_debug(x) ((void)0) -#endif - -#undef EV_CHECK_FMT - -#endif diff --git a/src/components/libevent/rpc.h b/src/components/libevent/rpc.h deleted file mode 100644 index dd43df2..0000000 --- a/src/components/libevent/rpc.h +++ /dev/null @@ -1,596 +0,0 @@ -/* - * Copyright (c) 2006-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_RPC_H_INCLUDED_ -#define EVENT2_RPC_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -/** @file rpc.h - * - * This header files provides basic support for an RPC server and client. - * - * To support RPCs in a server, every supported RPC command needs to be - * defined and registered. - * - * EVRPC_HEADER(SendCommand, Request, Reply); - * - * SendCommand is the name of the RPC command. - * Request is the name of a structure generated by event_rpcgen.py. - * It contains all parameters relating to the SendCommand RPC. The - * server needs to fill in the Reply structure. - * Reply is the name of a structure generated by event_rpcgen.py. It - * contains the answer to the RPC. - * - * To register an RPC with an HTTP server, you need to first create an RPC - * base with: - * - * struct evrpc_base *base = evrpc_init(http); - * - * A specific RPC can then be registered with - * - * EVRPC_REGISTER(base, SendCommand, Request, Reply, FunctionCB, arg); - * - * when the server receives an appropriately formatted RPC, the user callback - * is invoked. The callback needs to fill in the reply structure. - * - * void FunctionCB(EVRPC_STRUCT(SendCommand)* rpc, void *arg); - * - * To send the reply, call EVRPC_REQUEST_DONE(rpc); - * - * See the regression test for an example. - */ - -/** - Determines if the member has been set in the message - - @param msg the message to inspect - @param member the member variable to test for presences - @return 1 if it's present or 0 otherwise. -*/ -#define EVTAG_HAS(msg, member) \ - ((msg)->member##_set == 1) - -#ifndef EVENT2_RPC_COMPAT_H_INCLUDED_ - -/** - Assigns a value to the member in the message. - - @param msg the message to which to assign a value - @param member the name of the member variable - @param value the value to assign -*/ -#define EVTAG_ASSIGN(msg, member, value) \ - (*(msg)->base->member##_assign)((msg), (value)) -/** - Assigns a value to the member in the message. - - @param msg the message to which to assign a value - @param member the name of the member variable - @param value the value to assign - @param len the length of the value -*/ -#define EVTAG_ASSIGN_WITH_LEN(msg, member, value, len) \ - (*(msg)->base->member##_assign)((msg), (value), (len)) -/** - Returns the value for a member. - - @param msg the message from which to get the value - @param member the name of the member variable - @param pvalue a pointer to the variable to hold the value - @return 0 on success, -1 otherwise. -*/ -#define EVTAG_GET(msg, member, pvalue) \ - (*(msg)->base->member##_get)((msg), (pvalue)) -/** - Returns the value for a member. - - @param msg the message from which to get the value - @param member the name of the member variable - @param pvalue a pointer to the variable to hold the value - @param plen a pointer to the length of the value - @return 0 on success, -1 otherwise. -*/ -#define EVTAG_GET_WITH_LEN(msg, member, pvalue, plen) \ - (*(msg)->base->member##_get)((msg), (pvalue), (plen)) - -#endif /* EVENT2_RPC_COMPAT_H_INCLUDED_ */ - -/** - Adds a value to an array. -*/ -#define EVTAG_ARRAY_ADD_VALUE(msg, member, value) \ - (*(msg)->base->member##_add)((msg), (value)) -/** - Allocates a new entry in the array and returns it. -*/ -#define EVTAG_ARRAY_ADD(msg, member) \ - (*(msg)->base->member##_add)(msg) -/** - Gets a variable at the specified offset from the array. -*/ -#define EVTAG_ARRAY_GET(msg, member, offset, pvalue) \ - (*(msg)->base->member##_get)((msg), (offset), (pvalue)) -/** - Returns the number of entries in the array. -*/ -#define EVTAG_ARRAY_LEN(msg, member) ((msg)->member##_length) - - -struct evbuffer; -struct event_base; -struct evrpc_req_generic; -struct evrpc_request_wrapper; -struct evrpc; - -/** The type of a specific RPC Message - * - * @param rpcname the name of the RPC message - */ -#define EVRPC_STRUCT(rpcname) struct evrpc_req__##rpcname - -struct evhttp_request; -struct evrpc_status; -struct evrpc_hook_meta; - -/** Creates the definitions and prototypes for an RPC - * - * You need to use EVRPC_HEADER to create structures and function prototypes - * needed by the server and client implementation. The structures have to be - * defined in an .rpc file and converted to source code via event_rpcgen.py - * - * @param rpcname the name of the RPC - * @param reqstruct the name of the RPC request structure - * @param replystruct the name of the RPC reply structure - * @see EVRPC_GENERATE() - */ -#define EVRPC_HEADER(rpcname, reqstruct, rplystruct) \ -EVRPC_STRUCT(rpcname) { \ - struct evrpc_hook_meta *hook_meta; \ - struct reqstruct* request; \ - struct rplystruct* reply; \ - struct evrpc* rpc; \ - struct evhttp_request* http_req; \ - struct evbuffer* rpc_data; \ -}; \ -int evrpc_send_request_##rpcname(struct evrpc_pool *, \ - struct reqstruct *, struct rplystruct *, \ - void (*)(struct evrpc_status *, \ - struct reqstruct *, struct rplystruct *, void *cbarg), \ - void *); - -struct evrpc_pool; - -/** use EVRPC_GENERATE instead */ -struct evrpc_request_wrapper *evrpc_make_request_ctx( - struct evrpc_pool *pool, void *request, void *reply, - const char *rpcname, - void (*req_marshal)(struct evbuffer*, void *), - void (*rpl_clear)(void *), - int (*rpl_unmarshal)(void *, struct evbuffer *), - void (*cb)(struct evrpc_status *, void *, void *, void *), - void *cbarg); - -/** Creates a context structure that contains rpc specific information. - * - * EVRPC_MAKE_CTX is used to populate a RPC specific context that - * contains information about marshaling the RPC data types. - * - * @param rpcname the name of the RPC - * @param reqstruct the name of the RPC request structure - * @param replystruct the name of the RPC reply structure - * @param pool the evrpc_pool over which to make the request - * @param request a pointer to the RPC request structure object - * @param reply a pointer to the RPC reply structure object - * @param cb the callback function to call when the RPC has completed - * @param cbarg the argument to supply to the callback - */ -#define EVRPC_MAKE_CTX(rpcname, reqstruct, rplystruct, \ - pool, request, reply, cb, cbarg) \ - evrpc_make_request_ctx(pool, request, reply, \ - #rpcname, \ - (void (*)(struct evbuffer *, void *))reqstruct##_marshal, \ - (void (*)(void *))rplystruct##_clear, \ - (int (*)(void *, struct evbuffer *))rplystruct##_unmarshal, \ - (void (*)(struct evrpc_status *, void *, void *, void *))cb, \ - cbarg) - -/** Generates the code for receiving and sending an RPC message - * - * EVRPC_GENERATE is used to create the code corresponding to sending - * and receiving a particular RPC message - * - * @param rpcname the name of the RPC - * @param reqstruct the name of the RPC request structure - * @param replystruct the name of the RPC reply structure - * @see EVRPC_HEADER() - */ -#define EVRPC_GENERATE(rpcname, reqstruct, rplystruct) \ - int evrpc_send_request_##rpcname(struct evrpc_pool *pool, \ - struct reqstruct *request, struct rplystruct *reply, \ - void (*cb)(struct evrpc_status *, \ - struct reqstruct *, struct rplystruct *, void *cbarg), \ - void *cbarg) { \ - return evrpc_send_request_generic(pool, request, reply, \ - (void (*)(struct evrpc_status *, void *, void *, void *))cb, \ - cbarg, \ - #rpcname, \ - (void (*)(struct evbuffer *, void *))reqstruct##_marshal, \ - (void (*)(void *))rplystruct##_clear, \ - (int (*)(void *, struct evbuffer *))rplystruct##_unmarshal); \ -} - -/** Provides access to the HTTP request object underlying an RPC - * - * Access to the underlying http object; can be used to look at headers or - * for getting the remote ip address - * - * @param rpc_req the rpc request structure provided to the server callback - * @return an struct evhttp_request object that can be inspected for - * HTTP headers or sender information. - */ -#define EVRPC_REQUEST_HTTP(rpc_req) (rpc_req)->http_req - -/** completes the server response to an rpc request */ -void evrpc_request_done(struct evrpc_req_generic *req); - -/** accessors for request and reply */ -void *evrpc_get_request(struct evrpc_req_generic *req); -void *evrpc_get_reply(struct evrpc_req_generic *req); - -/** Creates the reply to an RPC request - * - * EVRPC_REQUEST_DONE is used to answer a request; the reply is expected - * to have been filled in. The request and reply pointers become invalid - * after this call has finished. - * - * @param rpc_req the rpc request structure provided to the server callback - */ -#define EVRPC_REQUEST_DONE(rpc_req) do { \ - struct evrpc_req_generic *req_ = (struct evrpc_req_generic *)(rpc_req); \ - evrpc_request_done(req_); \ -} while (0) - - -struct evrpc_base; -struct evhttp; - -/* functions to start up the rpc system */ - -/** Creates a new rpc base from which RPC requests can be received - * - * @param server a pointer to an existing HTTP server - * @return a newly allocated evrpc_base struct - * @see evrpc_free() - */ -struct evrpc_base *evrpc_init(struct evhttp *server); - -/** - * Frees the evrpc base - * - * For now, you are responsible for making sure that no rpcs are ongoing. - * - * @param base the evrpc_base object to be freed - * @see evrpc_init - */ -void evrpc_free(struct evrpc_base *base); - -/** register RPCs with the HTTP Server - * - * registers a new RPC with the HTTP server, each RPC needs to have - * a unique name under which it can be identified. - * - * @param base the evrpc_base structure in which the RPC should be - * registered. - * @param name the name of the RPC - * @param request the name of the RPC request structure - * @param reply the name of the RPC reply structure - * @param callback the callback that should be invoked when the RPC - * is received. The callback has the following prototype - * void (*callback)(EVRPC_STRUCT(Message)* rpc, void *arg) - * @param cbarg an additional parameter that can be passed to the callback. - * The parameter can be used to carry around state. - */ -#define EVRPC_REGISTER(base, name, request, reply, callback, cbarg) \ - evrpc_register_generic(base, #name, \ - (void (*)(struct evrpc_req_generic *, void *))callback, cbarg, \ - (void *(*)(void *))request##_new, NULL, \ - (void (*)(void *))request##_free, \ - (int (*)(void *, struct evbuffer *))request##_unmarshal, \ - (void *(*)(void *))reply##_new, NULL, \ - (void (*)(void *))reply##_free, \ - (int (*)(void *))reply##_complete, \ - (void (*)(struct evbuffer *, void *))reply##_marshal) - -/** - Low level function for registering an RPC with a server. - - Use EVRPC_REGISTER() instead. - - @see EVRPC_REGISTER() -*/ -int evrpc_register_rpc(struct evrpc_base *, struct evrpc *, - void (*)(struct evrpc_req_generic*, void *), void *); - -/** - * Unregisters an already registered RPC - * - * @param base the evrpc_base object from which to unregister an RPC - * @param name the name of the rpc to unregister - * @return -1 on error or 0 when successful. - * @see EVRPC_REGISTER() - */ -#define EVRPC_UNREGISTER(base, name) evrpc_unregister_rpc((base), #name) - -int evrpc_unregister_rpc(struct evrpc_base *base, const char *name); - -/* - * Client-side RPC support - */ - -struct evhttp_connection; -struct evrpc_status; - -/** launches an RPC and sends it to the server - * - * EVRPC_MAKE_REQUEST() is used by the client to send an RPC to the server. - * - * @param name the name of the RPC - * @param pool the evrpc_pool that contains the connection objects over which - * the request should be sent. - * @param request a pointer to the RPC request structure - it contains the - * data to be sent to the server. - * @param reply a pointer to the RPC reply structure. It is going to be filled - * if the request was answered successfully - * @param cb the callback to invoke when the RPC request has been answered - * @param cbarg an additional argument to be passed to the client - * @return 0 on success, -1 on failure - */ -#define EVRPC_MAKE_REQUEST(name, pool, request, reply, cb, cbarg) \ - evrpc_send_request_##name((pool), (request), (reply), (cb), (cbarg)) - -/** - Makes an RPC request based on the provided context. - - This is a low-level function and should not be used directly - unless a custom context object is provided. Use EVRPC_MAKE_REQUEST() - instead. - - @param ctx a context from EVRPC_MAKE_CTX() - @returns 0 on success, -1 otherwise. - @see EVRPC_MAKE_REQUEST(), EVRPC_MAKE_CTX() -*/ -int evrpc_make_request(struct evrpc_request_wrapper *ctx); - -/** creates an rpc connection pool - * - * a pool has a number of connections associated with it. - * rpc requests are always made via a pool. - * - * @param base a pointer to an struct event_based object; can be left NULL - * in singled-threaded applications - * @return a newly allocated struct evrpc_pool object - * @see evrpc_pool_free() - */ -struct evrpc_pool *evrpc_pool_new(struct event_base *base); -/** frees an rpc connection pool - * - * @param pool a pointer to an evrpc_pool allocated via evrpc_pool_new() - * @see evrpc_pool_new() - */ -void evrpc_pool_free(struct evrpc_pool *pool); - -/** - * Adds a connection over which rpc can be dispatched to the pool. - * - * The connection object must have been newly created. - * - * @param pool the pool to which to add the connection - * @param evcon the connection to add to the pool. - */ -void evrpc_pool_add_connection(struct evrpc_pool *pool, - struct evhttp_connection *evcon); - -/** - * Removes a connection from the pool. - * - * The connection object must have been newly created. - * - * @param pool the pool from which to remove the connection - * @param evcon the connection to remove from the pool. - */ -void evrpc_pool_remove_connection(struct evrpc_pool *pool, - struct evhttp_connection *evcon); - -/** - * Sets the timeout in secs after which a request has to complete. The - * RPC is completely aborted if it does not complete by then. Setting - * the timeout to 0 means that it never timeouts and can be used to - * implement callback type RPCs. - * - * Any connection already in the pool will be updated with the new - * timeout. Connections added to the pool after set_timeout has be - * called receive the pool timeout only if no timeout has been set - * for the connection itself. - * - * @param pool a pointer to a struct evrpc_pool object - * @param timeout_in_secs the number of seconds after which a request should - * timeout and a failure be returned to the callback. - */ -void evrpc_pool_set_timeout(struct evrpc_pool *pool, int timeout_in_secs); - -/** - * Hooks for changing the input and output of RPCs; this can be used to - * implement compression, authentication, encryption, ... - */ - -enum EVRPC_HOOK_TYPE { - EVRPC_INPUT, /**< apply the function to an input hook */ - EVRPC_OUTPUT /**< apply the function to an output hook */ -}; - -#ifndef _WIN32 -/** Deprecated alias for EVRPC_INPUT. Not available on windows, where it - * conflicts with platform headers. */ -#define INPUT EVRPC_INPUT -/** Deprecated alias for EVRPC_OUTPUT. Not available on windows, where it - * conflicts with platform headers. */ -#define OUTPUT EVRPC_OUTPUT -#endif - -/** - * Return value from hook processing functions - */ - -enum EVRPC_HOOK_RESULT { - EVRPC_TERMINATE = -1, /**< indicates the rpc should be terminated */ - EVRPC_CONTINUE = 0, /**< continue processing the rpc */ - EVRPC_PAUSE = 1 /**< pause processing request until resumed */ -}; - -/** adds a processing hook to either an rpc base or rpc pool - * - * If a hook returns TERMINATE, the processing is aborted. On CONTINUE, - * the request is immediately processed after the hook returns. If the - * hook returns PAUSE, request processing stops until evrpc_resume_request() - * has been called. - * - * The add functions return handles that can be used for removing hooks. - * - * @param vbase a pointer to either struct evrpc_base or struct evrpc_pool - * @param hook_type either INPUT or OUTPUT - * @param cb the callback to call when the hook is activated - * @param cb_arg an additional argument for the callback - * @return a handle to the hook so it can be removed later - * @see evrpc_remove_hook() - */ -void *evrpc_add_hook(void *vbase, - enum EVRPC_HOOK_TYPE hook_type, - int (*cb)(void *, struct evhttp_request *, struct evbuffer *, void *), - void *cb_arg); - -/** removes a previously added hook - * - * @param vbase a pointer to either struct evrpc_base or struct evrpc_pool - * @param hook_type either INPUT or OUTPUT - * @param handle a handle returned by evrpc_add_hook() - * @return 1 on success or 0 on failure - * @see evrpc_add_hook() - */ -int evrpc_remove_hook(void *vbase, - enum EVRPC_HOOK_TYPE hook_type, - void *handle); - -/** resume a paused request - * - * @param vbase a pointer to either struct evrpc_base or struct evrpc_pool - * @param ctx the context pointer provided to the original hook call - */ -int -evrpc_resume_request(void *vbase, void *ctx, enum EVRPC_HOOK_RESULT res); - -/** adds meta data to request - * - * evrpc_hook_add_meta() allows hooks to add meta data to a request. for - * a client request, the meta data can be inserted by an outgoing request hook - * and retrieved by the incoming request hook. - * - * @param ctx the context provided to the hook call - * @param key a NUL-terminated c-string - * @param data the data to be associated with the key - * @param data_size the size of the data - */ -void evrpc_hook_add_meta(void *ctx, const char *key, - const void *data, size_t data_size); - -/** retrieves meta data previously associated - * - * evrpc_hook_find_meta() can be used to retrieve meta data associated to a - * request by a previous hook. - * @param ctx the context provided to the hook call - * @param key a NUL-terminated c-string - * @param data pointer to a data pointer that will contain the retrieved data - * @param data_size pointer to the size of the data - * @return 0 on success or -1 on failure - */ -int evrpc_hook_find_meta(void *ctx, const char *key, - void **data, size_t *data_size); - -/** - * returns the connection object associated with the request - * - * @param ctx the context provided to the hook call - * @return a pointer to the evhttp_connection object - */ -struct evhttp_connection *evrpc_hook_get_connection(void *ctx); - -/** - Function for sending a generic RPC request. - - Do not call this function directly, use EVRPC_MAKE_REQUEST() instead. - - @see EVRPC_MAKE_REQUEST() - */ -int evrpc_send_request_generic(struct evrpc_pool *pool, - void *request, void *reply, - void (*cb)(struct evrpc_status *, void *, void *, void *), - void *cb_arg, - const char *rpcname, - void (*req_marshal)(struct evbuffer *, void *), - void (*rpl_clear)(void *), - int (*rpl_unmarshal)(void *, struct evbuffer *)); - -/** - Function for registering a generic RPC with the RPC base. - - Do not call this function directly, use EVRPC_REGISTER() instead. - - @see EVRPC_REGISTER() - */ -int -evrpc_register_generic(struct evrpc_base *base, const char *name, - void (*callback)(struct evrpc_req_generic *, void *), void *cbarg, - void *(*req_new)(void *), void *req_new_arg, void (*req_free)(void *), - int (*req_unmarshal)(void *, struct evbuffer *), - void *(*rpl_new)(void *), void *rpl_new_arg, void (*rpl_free)(void *), - int (*rpl_complete)(void *), - void (*rpl_marshal)(struct evbuffer *, void *)); - -/** accessors for obscure and undocumented functionality */ -struct evrpc_pool* evrpc_request_get_pool(struct evrpc_request_wrapper *ctx); -void evrpc_request_set_pool(struct evrpc_request_wrapper *ctx, - struct evrpc_pool *pool); -void evrpc_request_set_cb(struct evrpc_request_wrapper *ctx, - void (*cb)(struct evrpc_status*, void *request, void *reply, void *arg), - void *cb_arg); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_RPC_H_INCLUDED_ */ diff --git a/src/components/libevent/rpc_compat.h b/src/components/libevent/rpc_compat.h deleted file mode 100644 index 8d8334d..0000000 --- a/src/components/libevent/rpc_compat.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_RPC_COMPAT_H_INCLUDED_ -#define EVENT2_RPC_COMPAT_H_INCLUDED_ - -/** @file event2/rpc_compat.h - - Deprecated versions of the functions in rpc.h: provided only for - backwards compatibility. - - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** backwards compatible accessors that work only with gcc */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) - -#undef EVTAG_ASSIGN -#undef EVTAG_GET -#undef EVTAG_ADD - -#define EVTAG_ASSIGN(msg, member, args...) \ - (*(msg)->base->member##_assign)(msg, ## args) -#define EVTAG_GET(msg, member, args...) \ - (*(msg)->base->member##_get)(msg, ## args) -#define EVTAG_ADD(msg, member, args...) \ - (*(msg)->base->member##_add)(msg, ## args) -#endif -#define EVTAG_LEN(msg, member) ((msg)->member##_length) - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_EVENT_COMPAT_H_INCLUDED_ */ diff --git a/src/components/libevent/rpc_struct.h b/src/components/libevent/rpc_struct.h deleted file mode 100644 index 8f691f4..0000000 --- a/src/components/libevent/rpc_struct.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2006-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_RPC_STRUCT_H_INCLUDED_ -#define EVENT2_RPC_STRUCT_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -/** @file event2/rpc_struct.h - - Structures used by rpc.h. Using these structures directly may harm - forward compatibility: be careful! - - */ - -/** - * provides information about the completed RPC request. - */ -struct evrpc_status { -#define EVRPC_STATUS_ERR_NONE 0 -#define EVRPC_STATUS_ERR_TIMEOUT 1 -#define EVRPC_STATUS_ERR_BADPAYLOAD 2 -#define EVRPC_STATUS_ERR_UNSTARTED 3 -#define EVRPC_STATUS_ERR_HOOKABORTED 4 - int error; - - /* for looking at headers or other information */ - struct evhttp_request *http_req; -}; - -/* the structure below needs to be synchronized with evrpc_req_generic */ - -/* Encapsulates a request */ -struct evrpc { - TAILQ_ENTRY(evrpc) next; - - /* the URI at which the request handler lives */ - const char* uri; - - /* creates a new request structure */ - void *(*request_new)(void *); - void *request_new_arg; - - /* frees the request structure */ - void (*request_free)(void *); - - /* unmarshals the buffer into the proper request structure */ - int (*request_unmarshal)(void *, struct evbuffer *); - - /* creates a new reply structure */ - void *(*reply_new)(void *); - void *reply_new_arg; - - /* frees the reply structure */ - void (*reply_free)(void *); - - /* verifies that the reply is valid */ - int (*reply_complete)(void *); - - /* marshals the reply into a buffer */ - void (*reply_marshal)(struct evbuffer*, void *); - - /* the callback invoked for each received rpc */ - void (*cb)(struct evrpc_req_generic *, void *); - void *cb_arg; - - /* reference for further configuration */ - struct evrpc_base *base; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_RPC_STRUCT_H_INCLUDED_ */ diff --git a/src/components/libevent/tag.h b/src/components/libevent/tag.h deleted file mode 100644 index 48e5e91..0000000 --- a/src/components/libevent/tag.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_TAG_H_INCLUDED_ -#define EVENT2_TAG_H_INCLUDED_ - -/** @file event2/tag.h - - Helper functions for reading and writing tagged data onto buffers. - - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif - -/* For int types. */ -#include - -struct evbuffer; - -/* - * Marshaling tagged data - We assume that all tags are inserted in their - * numeric order - so that unknown tags will always be higher than the - * known ones - and we can just ignore the end of an event buffer. - */ - -EVENT2_EXPORT_SYMBOL -void evtag_init(void); - -/** - Unmarshals the header and returns the length of the payload - - @param evbuf the buffer from which to unmarshal data - @param ptag a pointer in which the tag id is being stored - @returns -1 on failure or the number of bytes in the remaining payload. -*/ -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal_header(struct evbuffer *evbuf, ev_uint32_t *ptag); - -EVENT2_EXPORT_SYMBOL -void evtag_marshal(struct evbuffer *evbuf, ev_uint32_t tag, const void *data, - ev_uint32_t len); -EVENT2_EXPORT_SYMBOL -void evtag_marshal_buffer(struct evbuffer *evbuf, ev_uint32_t tag, - struct evbuffer *data); - -/** - Encode an integer and store it in an evbuffer. - - We encode integers by nybbles; the first nibble contains the number - of significant nibbles - 1; this allows us to encode up to 64-bit - integers. This function is byte-order independent. - - @param evbuf evbuffer to store the encoded number - @param number a 32-bit integer - */ -EVENT2_EXPORT_SYMBOL -void evtag_encode_int(struct evbuffer *evbuf, ev_uint32_t number); -EVENT2_EXPORT_SYMBOL -void evtag_encode_int64(struct evbuffer *evbuf, ev_uint64_t number); - -EVENT2_EXPORT_SYMBOL -void evtag_marshal_int(struct evbuffer *evbuf, ev_uint32_t tag, - ev_uint32_t integer); -EVENT2_EXPORT_SYMBOL -void evtag_marshal_int64(struct evbuffer *evbuf, ev_uint32_t tag, - ev_uint64_t integer); - -EVENT2_EXPORT_SYMBOL -void evtag_marshal_string(struct evbuffer *buf, ev_uint32_t tag, - const char *string); - -EVENT2_EXPORT_SYMBOL -void evtag_marshal_timeval(struct evbuffer *evbuf, ev_uint32_t tag, - struct timeval *tv); - -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal(struct evbuffer *src, ev_uint32_t *ptag, - struct evbuffer *dst); -EVENT2_EXPORT_SYMBOL -int evtag_peek(struct evbuffer *evbuf, ev_uint32_t *ptag); -EVENT2_EXPORT_SYMBOL -int evtag_peek_length(struct evbuffer *evbuf, ev_uint32_t *plength); -EVENT2_EXPORT_SYMBOL -int evtag_payload_length(struct evbuffer *evbuf, ev_uint32_t *plength); -EVENT2_EXPORT_SYMBOL -int evtag_consume(struct evbuffer *evbuf); - -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal_int(struct evbuffer *evbuf, ev_uint32_t need_tag, - ev_uint32_t *pinteger); -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal_int64(struct evbuffer *evbuf, ev_uint32_t need_tag, - ev_uint64_t *pinteger); - -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal_fixed(struct evbuffer *src, ev_uint32_t need_tag, - void *data, size_t len); - -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal_string(struct evbuffer *evbuf, ev_uint32_t need_tag, - char **pstring); - -EVENT2_EXPORT_SYMBOL -int evtag_unmarshal_timeval(struct evbuffer *evbuf, ev_uint32_t need_tag, - struct timeval *ptv); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_TAG_H_INCLUDED_ */ diff --git a/src/components/libevent/tag_compat.h b/src/components/libevent/tag_compat.h deleted file mode 100644 index a276c0d..0000000 --- a/src/components/libevent/tag_compat.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_TAG_COMPAT_H_INCLUDED_ -#define EVENT2_TAG_COMPAT_H_INCLUDED_ - -/** @file event2/tag_compat.h - - Obsolete/deprecated functions from tag.h; provided only for backwards - compatibility. - */ - -/** - @name Misnamed functions - - @deprecated These macros are deprecated because their names don't follow - Libevent's naming conventions. Use evtag_encode_int and - evtag_encode_int64 instead. - - @{ -*/ -#define encode_int(evbuf, number) evtag_encode_int((evbuf), (number)) -#define encode_int64(evbuf, number) evtag_encode_int64((evbuf), (number)) -/**@}*/ - -#endif /* EVENT2_TAG_H_INCLUDED_ */ diff --git a/src/components/libevent/thread.h b/src/components/libevent/thread.h deleted file mode 100644 index 9b2ba62..0000000 --- a/src/components/libevent/thread.h +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (c) 2008-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_THREAD_H_INCLUDED_ -#define EVENT2_THREAD_H_INCLUDED_ - -/** @file event2/thread.h - - Functions for multi-threaded applications using Libevent. - - When using a multi-threaded application in which multiple threads - add and delete events from a single event base, Libevent needs to - lock its data structures. - - Like the memory-management function hooks, all of the threading functions - _must_ be set up before an event_base is created if you want the base to - use them. - - Most programs will either be using Windows threads or Posix threads. You - can configure Libevent to use one of these event_use_windows_threads() or - event_use_pthreads() respectively. If you're using another threading - library, you'll need to configure threading functions manually using - evthread_set_lock_callbacks() and evthread_set_condition_callbacks(). - - */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/** - @name Flags passed to lock functions - - @{ -*/ -/** A flag passed to a locking callback when the lock was allocated as a - * read-write lock, and we want to acquire or release the lock for writing. */ -#define EVTHREAD_WRITE 0x04 -/** A flag passed to a locking callback when the lock was allocated as a - * read-write lock, and we want to acquire or release the lock for reading. */ -#define EVTHREAD_READ 0x08 -/** A flag passed to a locking callback when we don't want to block waiting - * for the lock; if we can't get the lock immediately, we will instead - * return nonzero from the locking callback. */ -#define EVTHREAD_TRY 0x10 -/**@}*/ - -#if !defined(EVENT__DISABLE_THREAD_SUPPORT) || defined(EVENT_IN_DOXYGEN_) - -#define EVTHREAD_LOCK_API_VERSION 1 - -/** - @name Types of locks - - @{*/ -/** A recursive lock is one that can be acquired multiple times at once by the - * same thread. No other process can allocate the lock until the thread that - * has been holding it has unlocked it as many times as it locked it. */ -#define EVTHREAD_LOCKTYPE_RECURSIVE 1 -/* A read-write lock is one that allows multiple simultaneous readers, but - * where any one writer excludes all other writers and readers. */ -#define EVTHREAD_LOCKTYPE_READWRITE 2 -/**@}*/ - -/** This structure describes the interface a threading library uses for - * locking. It's used to tell evthread_set_lock_callbacks() how to use - * locking on this platform. - */ -struct evthread_lock_callbacks { - /** The current version of the locking API. Set this to - * EVTHREAD_LOCK_API_VERSION */ - int lock_api_version; - /** Which kinds of locks does this version of the locking API - * support? A bitfield of EVTHREAD_LOCKTYPE_RECURSIVE and - * EVTHREAD_LOCKTYPE_READWRITE. - * - * (Note that RECURSIVE locks are currently mandatory, and - * READWRITE locks are not currently used.) - **/ - unsigned supported_locktypes; - /** Function to allocate and initialize new lock of type 'locktype'. - * Returns NULL on failure. */ - void *(*alloc)(unsigned locktype); - /** Funtion to release all storage held in 'lock', which was created - * with type 'locktype'. */ - void (*free)(void *lock, unsigned locktype); - /** Acquire an already-allocated lock at 'lock' with mode 'mode'. - * Returns 0 on success, and nonzero on failure. */ - int (*lock)(unsigned mode, void *lock); - /** Release a lock at 'lock' using mode 'mode'. Returns 0 on success, - * and nonzero on failure. */ - int (*unlock)(unsigned mode, void *lock); -}; - -/** Sets a group of functions that Libevent should use for locking. - * For full information on the required callback API, see the - * documentation for the individual members of evthread_lock_callbacks. - * - * Note that if you're using Windows or the Pthreads threading library, you - * probably shouldn't call this function; instead, use - * evthread_use_windows_threads() or evthread_use_posix_threads() if you can. - */ -EVENT2_EXPORT_SYMBOL -int evthread_set_lock_callbacks(const struct evthread_lock_callbacks *); - -#define EVTHREAD_CONDITION_API_VERSION 1 - -struct timeval; - -/** This structure describes the interface a threading library uses for - * condition variables. It's used to tell evthread_set_condition_callbacks - * how to use locking on this platform. - */ -struct evthread_condition_callbacks { - /** The current version of the conditions API. Set this to - * EVTHREAD_CONDITION_API_VERSION */ - int condition_api_version; - /** Function to allocate and initialize a new condition variable. - * Returns the condition variable on success, and NULL on failure. - * The 'condtype' argument will be 0 with this API version. - */ - void *(*alloc_condition)(unsigned condtype); - /** Function to free a condition variable. */ - void (*free_condition)(void *cond); - /** Function to signal a condition variable. If 'broadcast' is 1, all - * threads waiting on 'cond' should be woken; otherwise, only on one - * thread is worken. Should return 0 on success, -1 on failure. - * This function will only be called while holding the associated - * lock for the condition. - */ - int (*signal_condition)(void *cond, int broadcast); - /** Function to wait for a condition variable. The lock 'lock' - * will be held when this function is called; should be released - * while waiting for the condition to be come signalled, and - * should be held again when this function returns. - * If timeout is provided, it is interval of seconds to wait for - * the event to become signalled; if it is NULL, the function - * should wait indefinitely. - * - * The function should return -1 on error; 0 if the condition - * was signalled, or 1 on a timeout. */ - int (*wait_condition)(void *cond, void *lock, - const struct timeval *timeout); -}; - -/** Sets a group of functions that Libevent should use for condition variables. - * For full information on the required callback API, see the - * documentation for the individual members of evthread_condition_callbacks. - * - * Note that if you're using Windows or the Pthreads threading library, you - * probably shouldn't call this function; instead, use - * evthread_use_windows_threads() or evthread_use_pthreads() if you can. - */ -EVENT2_EXPORT_SYMBOL -int evthread_set_condition_callbacks( - const struct evthread_condition_callbacks *); - -/** - Sets the function for determining the thread id. - - @param base the event base for which to set the id function - @param id_fn the identify function Libevent should invoke to - determine the identity of a thread. -*/ -EVENT2_EXPORT_SYMBOL -void evthread_set_id_callback( - unsigned long (*id_fn)(void)); - -#if (defined(_WIN32) && !defined(EVENT__DISABLE_THREAD_SUPPORT)) || defined(EVENT_IN_DOXYGEN_) -/** Sets up Libevent for use with Windows builtin locking and thread ID - functions. Unavailable if Libevent is not built for Windows. - - @return 0 on success, -1 on failure. */ -EVENT2_EXPORT_SYMBOL -int evthread_use_windows_threads(void); -/** - Defined if Libevent was built with support for evthread_use_windows_threads() -*/ -#define EVTHREAD_USE_WINDOWS_THREADS_IMPLEMENTED 1 -#endif - -#if defined(EVENT__HAVE_PTHREADS) || defined(EVENT_IN_DOXYGEN_) -/** Sets up Libevent for use with Pthreads locking and thread ID functions. - Unavailable if Libevent is not build for use with pthreads. Requires - libraries to link against Libevent_pthreads as well as Libevent. - - @return 0 on success, -1 on failure. */ -EVENT2_EXPORT_SYMBOL -int evthread_use_pthreads(void); -/** Defined if Libevent was built with support for evthread_use_pthreads() */ -#define EVTHREAD_USE_PTHREADS_IMPLEMENTED 1 - -#endif - -/** Enable debugging wrappers around the current lock callbacks. If Libevent - * makes one of several common locking errors, exit with an assertion failure. - * - * If you're going to call this function, you must do so before any locks are - * allocated. - **/ -EVENT2_EXPORT_SYMBOL -void evthread_enable_lock_debugging(void); - -/* Old (misspelled) version: This is deprecated; use - * evthread_enable_log_debugging instead. */ -EVENT2_EXPORT_SYMBOL -void evthread_enable_lock_debuging(void); - -#endif /* EVENT__DISABLE_THREAD_SUPPORT */ - -struct event_base; -/** Make sure it's safe to tell an event base to wake up from another thread - or a signal handler. - - You shouldn't need to call this by hand; configuring the base with thread - support should be necessary and sufficient. - - @return 0 on success, -1 on failure. - */ -EVENT2_EXPORT_SYMBOL -int evthread_make_base_notifiable(struct event_base *base); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT2_THREAD_H_INCLUDED_ */ diff --git a/src/components/libevent/time-internal.h b/src/components/libevent/time-internal.h deleted file mode 100644 index 9b0ce9f..0000000 --- a/src/components/libevent/time-internal.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2000-2007 Niels Provos - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 TIME_INTERNAL_H_INCLUDED_ -#define TIME_INTERNAL_H_INCLUDED_ - -#include "event-config.h" -#include "evconfig-private.h" - -#ifdef EVENT__HAVE_MACH_MACH_TIME_H -/* For mach_timebase_info */ -#include -#endif - -#include - -#include "util.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(EVENT__HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) -#define HAVE_POSIX_MONOTONIC -#elif defined(EVENT__HAVE_MACH_ABSOLUTE_TIME) -#define HAVE_MACH_MONOTONIC -#elif defined(_WIN32) -#define HAVE_WIN32_MONOTONIC -#else -#define HAVE_FALLBACK_MONOTONIC -#endif - -long evutil_tv_to_msec_(const struct timeval *tv); -void evutil_usleep_(const struct timeval *tv); - -#ifdef _WIN32 -typedef ULONGLONG (WINAPI *ev_GetTickCount_func)(void); -#endif - -struct evutil_monotonic_timer { - -#ifdef HAVE_MACH_MONOTONIC - struct mach_timebase_info mach_timebase_units; -#endif - -#ifdef HAVE_POSIX_MONOTONIC - int monotonic_clock; -#endif - -#ifdef HAVE_WIN32_MONOTONIC - ev_GetTickCount_func GetTickCount64_fn; - ev_GetTickCount_func GetTickCount_fn; - ev_uint64_t last_tick_count; - ev_uint64_t adjust_tick_count; - - ev_uint64_t first_tick; - ev_uint64_t first_counter; - double usec_per_count; - int use_performance_counter; -#endif - - struct timeval adjust_monotonic_clock; - struct timeval last_time; -}; - -int evutil_configure_monotonic_time_(struct evutil_monotonic_timer *mt, - int flags); -int evutil_gettime_monotonic_(struct evutil_monotonic_timer *mt, struct timeval *tv); - - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT_INTERNAL_H_INCLUDED_ */ diff --git a/src/components/libevent/util-internal.h b/src/components/libevent/util-internal.h deleted file mode 100644 index d317d8c..0000000 --- a/src/components/libevent/util-internal.h +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 UTIL_INTERNAL_H_INCLUDED_ -#define UTIL_INTERNAL_H_INCLUDED_ - -#include "event-config.h" -#include "evconfig-private.h" - -#include - -/* For EVUTIL_ASSERT */ -#include "log-internal.h" -#include -#include -#ifdef EVENT__HAVE_SYS_SOCKET_H -#include -#endif -#ifdef EVENT__HAVE_SYS_EVENTFD_H -#include -#endif -#include "util.h" - -#include "time-internal.h" -#include "ipv6-internal.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* If we need magic to say "inline", get it for free internally. */ -#ifdef EVENT__inline -#define inline EVENT__inline -#endif -#if defined(EVENT____func__) && !defined(__func__) -#define __func__ EVENT____func__ -#endif - -/* A good no-op to use in macro definitions. */ -#define EVUTIL_NIL_STMT_ ((void)0) -/* A no-op that tricks the compiler into thinking a condition is used while - * definitely not making any code for it. Used to compile out asserts while - * avoiding "unused variable" warnings. The "!" forces the compiler to - * do the sizeof() on an int, in case "condition" is a bitfield value. - */ -#define EVUTIL_NIL_CONDITION_(condition) do { \ - (void)sizeof(!(condition)); \ -} while(0) - -/* Internal use only: macros to match patterns of error codes in a - cross-platform way. We need these macros because of two historical - reasons: first, nonblocking IO functions are generally written to give an - error on the "blocked now, try later" case, so sometimes an error from a - read, write, connect, or accept means "no error; just wait for more - data," and we need to look at the error code. Second, Windows defines - a different set of error codes for sockets. */ - -#ifndef _WIN32 - -#if EAGAIN == EWOULDBLOCK -#define EVUTIL_ERR_IS_EAGAIN(e) \ - ((e) == EAGAIN) -#else -#define EVUTIL_ERR_IS_EAGAIN(e) \ - ((e) == EAGAIN || (e) == EWOULDBLOCK) -#endif - -/* True iff e is an error that means a read/write operation can be retried. */ -#define EVUTIL_ERR_RW_RETRIABLE(e) \ - ((e) == EINTR || EVUTIL_ERR_IS_EAGAIN(e)) -/* True iff e is an error that means an connect can be retried. */ -#define EVUTIL_ERR_CONNECT_RETRIABLE(e) \ - ((e) == EINTR || (e) == EINPROGRESS) -/* True iff e is an error that means a accept can be retried. */ -#define EVUTIL_ERR_ACCEPT_RETRIABLE(e) \ - ((e) == EINTR || EVUTIL_ERR_IS_EAGAIN(e) || (e) == ECONNABORTED) - -/* True iff e is an error that means the connection was refused */ -#define EVUTIL_ERR_CONNECT_REFUSED(e) \ - ((e) == ECONNREFUSED) - -#else -/* Win32 */ - -#define EVUTIL_ERR_IS_EAGAIN(e) \ - ((e) == WSAEWOULDBLOCK || (e) == EAGAIN) - -#define EVUTIL_ERR_RW_RETRIABLE(e) \ - ((e) == WSAEWOULDBLOCK || \ - (e) == WSAEINTR) - -#define EVUTIL_ERR_CONNECT_RETRIABLE(e) \ - ((e) == WSAEWOULDBLOCK || \ - (e) == WSAEINTR || \ - (e) == WSAEINPROGRESS || \ - (e) == WSAEINVAL) - -#define EVUTIL_ERR_ACCEPT_RETRIABLE(e) \ - EVUTIL_ERR_RW_RETRIABLE(e) - -#define EVUTIL_ERR_CONNECT_REFUSED(e) \ - ((e) == WSAECONNREFUSED) - -#endif - -/* Arguments for shutdown() */ -#ifdef SHUT_RD -#define EVUTIL_SHUT_RD SHUT_RD -#else -#define EVUTIL_SHUT_RD 0 -#endif -#ifdef SHUT_WR -#define EVUTIL_SHUT_WR SHUT_WR -#else -#define EVUTIL_SHUT_WR 1 /* SD_SEND */ -#endif -#ifdef SHUT_BOTH -#define EVUTIL_SHUT_BOTH SHUT_BOTH -#else -#define EVUTIL_SHUT_BOTH 2 -#endif - -/* Helper: Verify that all the elements in 'dlist' are internally consistent. - * Checks for circular lists and bad prev/next pointers. - * - * Example usage: - * EVUTIL_ASSERT_LIST_OK(eventlist, event, ev_next); - */ -#define EVUTIL_ASSERT_LIST_OK(dlist, type, field) do { \ - struct type *elm1, *elm2, **nextp; \ - if (LIST_EMPTY((dlist))) \ - break; \ - \ - /* Check list for circularity using Floyd's */ \ - /* 'Tortoise and Hare' algorithm */ \ - elm1 = LIST_FIRST((dlist)); \ - elm2 = LIST_NEXT(elm1, field); \ - while (elm1 && elm2) { \ - EVUTIL_ASSERT(elm1 != elm2); \ - elm1 = LIST_NEXT(elm1, field); \ - elm2 = LIST_NEXT(elm2, field); \ - if (!elm2) \ - break; \ - EVUTIL_ASSERT(elm1 != elm2); \ - elm2 = LIST_NEXT(elm2, field); \ - } \ - \ - /* Now check next and prev pointers for consistency. */ \ - nextp = &LIST_FIRST((dlist)); \ - elm1 = LIST_FIRST((dlist)); \ - while (elm1) { \ - EVUTIL_ASSERT(*nextp == elm1); \ - EVUTIL_ASSERT(nextp == elm1->field.le_prev); \ - nextp = &LIST_NEXT(elm1, field); \ - elm1 = *nextp; \ - } \ - } while (0) - -/* Helper: Verify that all the elements in a TAILQ are internally consistent. - * Checks for circular lists and bad prev/next pointers. - * - * Example usage: - * EVUTIL_ASSERT_TAILQ_OK(activelist, event, ev_active_next); - */ -#define EVUTIL_ASSERT_TAILQ_OK(tailq, type, field) do { \ - struct type *elm1, *elm2, **nextp; \ - if (TAILQ_EMPTY((tailq))) \ - break; \ - \ - /* Check list for circularity using Floyd's */ \ - /* 'Tortoise and Hare' algorithm */ \ - elm1 = TAILQ_FIRST((tailq)); \ - elm2 = TAILQ_NEXT(elm1, field); \ - while (elm1 && elm2) { \ - EVUTIL_ASSERT(elm1 != elm2); \ - elm1 = TAILQ_NEXT(elm1, field); \ - elm2 = TAILQ_NEXT(elm2, field); \ - if (!elm2) \ - break; \ - EVUTIL_ASSERT(elm1 != elm2); \ - elm2 = TAILQ_NEXT(elm2, field); \ - } \ - \ - /* Now check next and prev pointers for consistency. */ \ - nextp = &TAILQ_FIRST((tailq)); \ - elm1 = TAILQ_FIRST((tailq)); \ - while (elm1) { \ - EVUTIL_ASSERT(*nextp == elm1); \ - EVUTIL_ASSERT(nextp == elm1->field.tqe_prev); \ - nextp = &TAILQ_NEXT(elm1, field); \ - elm1 = *nextp; \ - } \ - EVUTIL_ASSERT(nextp == (tailq)->tqh_last); \ - } while (0) - -/* Locale-independent replacements for some ctypes functions. Use these - * when you care about ASCII's notion of character types, because you are about - * to send those types onto the wire. - */ -int EVUTIL_ISALPHA_(char c); -int EVUTIL_ISALNUM_(char c); -int EVUTIL_ISSPACE_(char c); -int EVUTIL_ISDIGIT_(char c); -int EVUTIL_ISXDIGIT_(char c); -int EVUTIL_ISPRINT_(char c); -int EVUTIL_ISLOWER_(char c); -int EVUTIL_ISUPPER_(char c); -char EVUTIL_TOUPPER_(char c); -char EVUTIL_TOLOWER_(char c); - -/** Remove all trailing horizontal whitespace (space or tab) from the end of a - * string */ -void evutil_rtrim_lws_(char *); - - -/** Helper macro. If we know that a given pointer points to a field in a - structure, return a pointer to the structure itself. Used to implement - our half-baked C OO. Example: - - struct subtype { - int x; - struct supertype common; - int y; - }; - ... - void fn(struct supertype *super) { - struct subtype *sub = EVUTIL_UPCAST(super, struct subtype, common); - ... - } - */ -#define EVUTIL_UPCAST(ptr, type, field) \ - ((type *)(((char*)(ptr)) - evutil_offsetof(type, field))) - -/* As open(pathname, flags, mode), except that the file is always opened with - * the close-on-exec flag set. (And the mode argument is mandatory.) - */ -int evutil_open_closeonexec_(const char *pathname, int flags, unsigned mode); - -int evutil_read_file_(const char *filename, char **content_out, size_t *len_out, - int is_binary); - -int evutil_socket_connect_(evutil_socket_t *fd_ptr, const struct sockaddr *sa, int socklen); - -int evutil_socket_finished_connecting_(evutil_socket_t fd); - -int evutil_ersatz_socketpair_(int, int , int, evutil_socket_t[]); - -int evutil_resolve_(int family, const char *hostname, struct sockaddr *sa, - ev_socklen_t *socklen, int port); - -const char *evutil_getenv_(const char *name); - -/* Structure to hold the state of our weak random number generator. - */ -struct evutil_weakrand_state { - ev_uint32_t seed; -}; - -#define EVUTIL_WEAKRAND_MAX EV_INT32_MAX - -/* Initialize the state of a week random number generator based on 'seed'. If - * the seed is 0, construct a new seed based on not-very-strong platform - * entropy, like the PID and the time of day. - * - * This function, and the other evutil_weakrand* functions, are meant for - * speed, not security or statistical strength. If you need a RNG which an - * attacker can't predict, or which passes strong statistical tests, use the - * evutil_secure_rng* functions instead. - */ -ev_uint32_t evutil_weakrand_seed_(struct evutil_weakrand_state *state, ev_uint32_t seed); -/* Return a pseudorandom value between 0 and EVUTIL_WEAKRAND_MAX inclusive. - * Updates the state in 'seed' as needed -- this value must be protected by a - * lock. - */ -ev_int32_t evutil_weakrand_(struct evutil_weakrand_state *seed); -/* Return a pseudorandom value x such that 0 <= x < top. top must be no more - * than EVUTIL_WEAKRAND_MAX. Updates the state in 'seed' as needed -- this - * value must be proteced by a lock */ -ev_int32_t evutil_weakrand_range_(struct evutil_weakrand_state *seed, ev_int32_t top); - -/* Evaluates to the same boolean value as 'p', and hints to the compiler that - * we expect this value to be false. */ -#if defined(__GNUC__) && __GNUC__ >= 3 /* gcc 3.0 or later */ -#define EVUTIL_UNLIKELY(p) __builtin_expect(!!(p),0) -#else -#define EVUTIL_UNLIKELY(p) (p) -#endif - -/* Replacement for assert() that calls event_errx on failure. */ -#ifdef NDEBUG -#define EVUTIL_ASSERT(cond) EVUTIL_NIL_CONDITION_(cond) -#define EVUTIL_FAILURE_CHECK(cond) 0 -#else -#define EVUTIL_ASSERT(cond) \ - do { \ - if (EVUTIL_UNLIKELY(!(cond))) { \ - event_errx(EVENT_ERR_ABORT_, \ - "%s:%d: Assertion %s failed in %s", \ - __FILE__,__LINE__,#cond,__func__); \ - /* In case a user-supplied handler tries to */ \ - /* return control to us, log and abort here. */ \ - (void)fprintf(stderr, \ - "%s:%d: Assertion %s failed in %s", \ - __FILE__,__LINE__,#cond,__func__); \ - abort(); \ - } \ - } while (0) -#define EVUTIL_FAILURE_CHECK(cond) EVUTIL_UNLIKELY(cond) -#endif - -#ifndef EVENT__HAVE_STRUCT_SOCKADDR_STORAGE -/* Replacement for sockaddr storage that we can use internally on platforms - * that lack it. It is not space-efficient, but neither is sockaddr_storage. - */ -struct sockaddr_storage { - union { - struct sockaddr ss_sa; - struct sockaddr_in ss_sin; - struct sockaddr_in6 ss_sin6; - char ss_padding[128]; - } ss_union; -}; -#define ss_family ss_union.ss_sa.sa_family -#endif - -/* Internal addrinfo error code. This one is returned from only from - * evutil_getaddrinfo_common_, when we are sure that we'll have to hit a DNS - * server. */ -#define EVUTIL_EAI_NEED_RESOLVE -90002 - -struct evdns_base; -struct evdns_getaddrinfo_request; -typedef struct evdns_getaddrinfo_request* (*evdns_getaddrinfo_fn)( - struct evdns_base *base, - const char *nodename, const char *servname, - const struct evutil_addrinfo *hints_in, - void (*cb)(int, struct evutil_addrinfo *, void *), void *arg); -void evutil_set_evdns_getaddrinfo_fn_(evdns_getaddrinfo_fn fn); -typedef void (*evdns_getaddrinfo_cancel_fn)( - struct evdns_getaddrinfo_request *req); -void evutil_set_evdns_getaddrinfo_cancel_fn_(evdns_getaddrinfo_cancel_fn fn); - -struct evutil_addrinfo *evutil_new_addrinfo_(struct sockaddr *sa, - ev_socklen_t socklen, const struct evutil_addrinfo *hints); -struct evutil_addrinfo *evutil_addrinfo_append_(struct evutil_addrinfo *first, - struct evutil_addrinfo *append); -void evutil_adjust_hints_for_addrconfig_(struct evutil_addrinfo *hints); -int evutil_getaddrinfo_common_(const char *nodename, const char *servname, - struct evutil_addrinfo *hints, struct evutil_addrinfo **res, int *portnum); - -struct evdns_getaddrinfo_request *evutil_getaddrinfo_async_( - struct evdns_base *dns_base, - const char *nodename, const char *servname, - const struct evutil_addrinfo *hints_in, - void (*cb)(int, struct evutil_addrinfo *, void *), void *arg); -void evutil_getaddrinfo_cancel_async_(struct evdns_getaddrinfo_request *data); - -/** Return true iff sa is a looback address. (That is, it is 127.0.0.1/8, or - * ::1). */ -int evutil_sockaddr_is_loopback_(const struct sockaddr *sa); - - -/** - Formats a sockaddr sa into a string buffer of size outlen stored in out. - Returns a pointer to out. Always writes something into out, so it's safe - to use the output of this function without checking it for NULL. - */ -const char *evutil_format_sockaddr_port_(const struct sockaddr *sa, char *out, size_t outlen); - -int evutil_hex_char_to_int_(char c); - - -void evutil_free_secure_rng_globals_(void); -void evutil_free_globals_(void); - -#ifdef _WIN32 -HMODULE evutil_load_windows_system_library_(const TCHAR *library_name); -#endif - -#ifndef EV_SIZE_FMT -#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__) -#define EV_U64_FMT "%I64u" -#define EV_I64_FMT "%I64d" -#define EV_I64_ARG(x) ((__int64)(x)) -#define EV_U64_ARG(x) ((unsigned __int64)(x)) -#else -#define EV_U64_FMT "%llu" -#define EV_I64_FMT "%lld" -#define EV_I64_ARG(x) ((long long)(x)) -#define EV_U64_ARG(x) ((unsigned long long)(x)) -#endif -#endif - -#ifdef _WIN32 -#define EV_SOCK_FMT EV_I64_FMT -#define EV_SOCK_ARG(x) EV_I64_ARG((x)) -#else -#define EV_SOCK_FMT "%d" -#define EV_SOCK_ARG(x) (x) -#endif - -#if defined(__STDC__) && defined(__STDC_VERSION__) && !defined(__MINGW64_VERSION_MAJOR) -#if (__STDC_VERSION__ >= 199901L) -#define EV_SIZE_FMT "%zu" -#define EV_SSIZE_FMT "%zd" -#define EV_SIZE_ARG(x) (x) -#define EV_SSIZE_ARG(x) (x) -#endif -#endif - -#ifndef EV_SIZE_FMT -#if (EVENT__SIZEOF_SIZE_T <= EVENT__SIZEOF_LONG) -#define EV_SIZE_FMT "%lu" -#define EV_SSIZE_FMT "%ld" -#define EV_SIZE_ARG(x) ((unsigned long)(x)) -#define EV_SSIZE_ARG(x) ((long)(x)) -#else -#define EV_SIZE_FMT EV_U64_FMT -#define EV_SSIZE_FMT EV_I64_FMT -#define EV_SIZE_ARG(x) EV_U64_ARG(x) -#define EV_SSIZE_ARG(x) EV_I64_ARG(x) -#endif -#endif - -evutil_socket_t evutil_socket_(int domain, int type, int protocol); -evutil_socket_t evutil_accept4_(evutil_socket_t sockfd, struct sockaddr *addr, - ev_socklen_t *addrlen, int flags); - - /* used by one of the test programs.. */ -EVENT2_EXPORT_SYMBOL -int evutil_make_internal_pipe_(evutil_socket_t fd[2]); -evutil_socket_t evutil_eventfd_(unsigned initval, int flags); - -#ifdef SOCK_NONBLOCK -#define EVUTIL_SOCK_NONBLOCK SOCK_NONBLOCK -#else -#define EVUTIL_SOCK_NONBLOCK 0x4000000 -#endif -#ifdef SOCK_CLOEXEC -#define EVUTIL_SOCK_CLOEXEC SOCK_CLOEXEC -#else -#define EVUTIL_SOCK_CLOEXEC 0x80000000 -#endif -#ifdef EFD_NONBLOCK -#define EVUTIL_EFD_NONBLOCK EFD_NONBLOCK -#else -#define EVUTIL_EFD_NONBLOCK 0x4000 -#endif -#ifdef EFD_CLOEXEC -#define EVUTIL_EFD_CLOEXEC EFD_CLOEXEC -#else -#define EVUTIL_EFD_CLOEXEC 0x8000 -#endif - -void evutil_memclear_(void *mem, size_t len); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/libevent/util.h b/src/components/libevent/util.h deleted file mode 100644 index e6a8e73..0000000 --- a/src/components/libevent/util.h +++ /dev/null @@ -1,866 +0,0 @@ -/* - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_UTIL_H_INCLUDED_ -#define EVENT2_UTIL_H_INCLUDED_ - -/** @file event2/util.h - - Common convenience functions for cross-platform portability and - related socket manipulations. - - */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#ifdef EVENT__HAVE_SYS_TIME_H -#include -#endif -#ifdef EVENT__HAVE_STDINT_H -#include -#elif defined(EVENT__HAVE_INTTYPES_H) -#include -#endif -#ifdef EVENT__HAVE_SYS_TYPES_H -#include -#endif -#ifdef EVENT__HAVE_STDDEF_H -#include -#endif -#ifdef _MSC_VER -#include -#endif -#include -#ifdef EVENT__HAVE_NETDB_H -#if !defined(_GNU_SOURCE) -#define _GNU_SOURCE -#endif -#include -#endif - -#ifdef _WIN32 -#include -#ifdef EVENT__HAVE_GETADDRINFO -/* for EAI_* definitions. */ -#include -#endif -#else -#ifdef EVENT__HAVE_ERRNO_H -#include -#endif -#include -#endif - -#include - -/* Some openbsd autoconf versions get the name of this macro wrong. */ -#if defined(EVENT__SIZEOF_VOID__) && !defined(EVENT__SIZEOF_VOID_P) -#define EVENT__SIZEOF_VOID_P EVENT__SIZEOF_VOID__ -#endif - -/** - * @name Standard integer types. - * - * Integer type definitions for types that are supposed to be defined in the - * C99-specified stdint.h. Shamefully, some platforms do not include - * stdint.h, so we need to replace it. (If you are on a platform like this, - * your C headers are now over 10 years out of date. You should bug them to - * do something about this.) - * - * We define: - * - *
- *
ev_uint64_t, ev_uint32_t, ev_uint16_t, ev_uint8_t
- *
unsigned integer types of exactly 64, 32, 16, and 8 bits - * respectively.
- *
ev_int64_t, ev_int32_t, ev_int16_t, ev_int8_t
- *
signed integer types of exactly 64, 32, 16, and 8 bits - * respectively.
- *
ev_uintptr_t, ev_intptr_t
- *
unsigned/signed integers large enough - * to hold a pointer without loss of bits.
- *
ev_ssize_t
- *
A signed type of the same size as size_t
- *
ev_off_t
- *
A signed type typically used to represent offsets within a - * (potentially large) file
- * - * @{ - */ -#ifdef EVENT__HAVE_UINT64_T -#define ev_uint64_t uint64_t -#define ev_int64_t int64_t -#elif defined(_WIN32) -#define ev_uint64_t unsigned __int64 -#define ev_int64_t signed __int64 -#elif EVENT__SIZEOF_LONG_LONG == 8 -#define ev_uint64_t unsigned long long -#define ev_int64_t long long -#elif EVENT__SIZEOF_LONG == 8 -#define ev_uint64_t unsigned long -#define ev_int64_t long -#elif defined(EVENT_IN_DOXYGEN_) -#define ev_uint64_t ... -#define ev_int64_t ... -#else -#error "No way to define ev_uint64_t" -#endif - -#ifdef EVENT__HAVE_UINT32_T -#define ev_uint32_t uint32_t -#define ev_int32_t int32_t -#elif defined(_WIN32) -#define ev_uint32_t unsigned int -#define ev_int32_t signed int -#elif EVENT__SIZEOF_LONG == 4 -#define ev_uint32_t unsigned long -#define ev_int32_t signed long -#elif EVENT__SIZEOF_INT == 4 -#define ev_uint32_t unsigned int -#define ev_int32_t signed int -#elif defined(EVENT_IN_DOXYGEN_) -#define ev_uint32_t ... -#define ev_int32_t ... -#else -#error "No way to define ev_uint32_t" -#endif - -#ifdef EVENT__HAVE_UINT16_T -#define ev_uint16_t uint16_t -#define ev_int16_t int16_t -#elif defined(_WIN32) -#define ev_uint16_t unsigned short -#define ev_int16_t signed short -#elif EVENT__SIZEOF_INT == 2 -#define ev_uint16_t unsigned int -#define ev_int16_t signed int -#elif EVENT__SIZEOF_SHORT == 2 -#define ev_uint16_t unsigned short -#define ev_int16_t signed short -#elif defined(EVENT_IN_DOXYGEN_) -#define ev_uint16_t ... -#define ev_int16_t ... -#else -#error "No way to define ev_uint16_t" -#endif - -#ifdef EVENT__HAVE_UINT8_T -#define ev_uint8_t uint8_t -#define ev_int8_t int8_t -#elif defined(EVENT_IN_DOXYGEN_) -#define ev_uint8_t ... -#define ev_int8_t ... -#else -#define ev_uint8_t unsigned char -#define ev_int8_t signed char -#endif - -#ifdef EVENT__HAVE_UINTPTR_T -#define ev_uintptr_t uintptr_t -#define ev_intptr_t intptr_t -#elif EVENT__SIZEOF_VOID_P <= 4 -#define ev_uintptr_t ev_uint32_t -#define ev_intptr_t ev_int32_t -#elif EVENT__SIZEOF_VOID_P <= 8 -#define ev_uintptr_t ev_uint64_t -#define ev_intptr_t ev_int64_t -#elif defined(EVENT_IN_DOXYGEN_) -#define ev_uintptr_t ... -#define ev_intptr_t ... -#else -#error "No way to define ev_uintptr_t" -#endif - -#ifdef EVENT__ssize_t -#define ev_ssize_t EVENT__ssize_t -#else -#define ev_ssize_t ssize_t -#endif - -/* Note that we define ev_off_t based on the compile-time size of off_t that - * we used to build Libevent, and not based on the current size of off_t. - * (For example, we don't define ev_off_t to off_t.). We do this because - * some systems let you build your software with different off_t sizes - * at runtime, and so putting in any dependency on off_t would risk API - * mismatch. - */ -#ifdef _WIN32 -#define ev_off_t ev_int64_t -#elif EVENT__SIZEOF_OFF_T == 8 -#define ev_off_t ev_int64_t -#elif EVENT__SIZEOF_OFF_T == 4 -#define ev_off_t ev_int32_t -#elif defined(EVENT_IN_DOXYGEN_) -#define ev_off_t ... -#else -#define ev_off_t off_t -#endif -/**@}*/ - -/* Limits for integer types. - - We're making two assumptions here: - - The compiler does constant folding properly. - - The platform does signed arithmetic in two's complement. -*/ - -/** - @name Limits for integer types - - These macros hold the largest or smallest values possible for the - ev_[u]int*_t types. - - @{ -*/ -#ifndef EVENT__HAVE_STDINT_H -#define EV_UINT64_MAX ((((ev_uint64_t)0xffffffffUL) << 32) | 0xffffffffUL) -#define EV_INT64_MAX ((((ev_int64_t) 0x7fffffffL) << 32) | 0xffffffffL) -#define EV_INT64_MIN ((-EV_INT64_MAX) - 1) -#define EV_UINT32_MAX ((ev_uint32_t)0xffffffffUL) -#define EV_INT32_MAX ((ev_int32_t) 0x7fffffffL) -#define EV_INT32_MIN ((-EV_INT32_MAX) - 1) -#define EV_UINT16_MAX ((ev_uint16_t)0xffffUL) -#define EV_INT16_MAX ((ev_int16_t) 0x7fffL) -#define EV_INT16_MIN ((-EV_INT16_MAX) - 1) -#define EV_UINT8_MAX 255 -#define EV_INT8_MAX 127 -#define EV_INT8_MIN ((-EV_INT8_MAX) - 1) -#else -#define EV_UINT64_MAX UINT64_MAX -#define EV_INT64_MAX INT64_MAX -#define EV_INT64_MIN INT64_MIN -#define EV_UINT32_MAX UINT32_MAX -#define EV_INT32_MAX INT32_MAX -#define EV_INT32_MIN INT32_MIN -#define EV_UINT16_MAX UINT16_MAX -#define EV_INT16_MAX INT16_MAX -#define EV_UINT8_MAX UINT8_MAX -#define EV_INT8_MAX INT8_MAX -#define EV_INT8_MIN INT8_MIN -/** @} */ -#endif - - -/** - @name Limits for SIZE_T and SSIZE_T - - @{ -*/ -#if EVENT__SIZEOF_SIZE_T == 8 -#define EV_SIZE_MAX EV_UINT64_MAX -#define EV_SSIZE_MAX EV_INT64_MAX -#elif EVENT__SIZEOF_SIZE_T == 4 -#define EV_SIZE_MAX EV_UINT32_MAX -#define EV_SSIZE_MAX EV_INT32_MAX -#elif defined(EVENT_IN_DOXYGEN_) -#define EV_SIZE_MAX ... -#define EV_SSIZE_MAX ... -#else -#error "No way to define SIZE_MAX" -#endif - -#define EV_SSIZE_MIN ((-EV_SSIZE_MAX) - 1) -/**@}*/ - -#ifdef _WIN32 -#define ev_socklen_t int -#elif defined(EVENT__socklen_t) -#define ev_socklen_t EVENT__socklen_t -#else -#define ev_socklen_t socklen_t -#endif - -#ifdef EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY -#if !defined(EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY) \ - && !defined(ss_family) -#define ss_family __ss_family -#endif -#endif - -/** - * A type wide enough to hold the output of "socket()" or "accept()". On - * Windows, this is an intptr_t; elsewhere, it is an int. */ -#ifdef _WIN32 -#define evutil_socket_t intptr_t -#else -#define evutil_socket_t int -#endif - -/** - * Structure to hold information about a monotonic timer - * - * Use this with evutil_configure_monotonic_time() and - * evutil_gettime_monotonic(). - * - * This is an opaque structure; you can allocate one using - * evutil_monotonic_timer_new(). - * - * @see evutil_monotonic_timer_new(), evutil_monotonic_timer_free(), - * evutil_configure_monotonic_time(), evutil_gettime_monotonic() - */ -struct evutil_monotonic_timer -#ifdef EVENT_IN_DOXYGEN_ -{/*Empty body so that doxygen will generate documentation here.*/} -#endif -; - -#define EV_MONOT_PRECISE 1 -#define EV_MONOT_FALLBACK 2 - -/** Format a date string using RFC 1123 format (used in HTTP). - * If `tm` is NULL, current system's time will be used. - * The number of characters written will be returned. - * One should check if the return value is smaller than `datelen` to check if - * the result is truncated or not. - */ -EVENT2_EXPORT_SYMBOL int -evutil_date_rfc1123(char *date, const size_t datelen, const struct tm *tm); - -/** Allocate a new struct evutil_monotonic_timer for use with the - * evutil_configure_monotonic_time() and evutil_gettime_monotonic() - * functions. You must configure the timer with - * evutil_configure_monotonic_time() before using it. - */ -EVENT2_EXPORT_SYMBOL -struct evutil_monotonic_timer * evutil_monotonic_timer_new(void); - -/** Free a struct evutil_monotonic_timer that was allocated using - * evutil_monotonic_timer_new(). - */ -EVENT2_EXPORT_SYMBOL -void evutil_monotonic_timer_free(struct evutil_monotonic_timer *timer); - -/** Set up a struct evutil_monotonic_timer; flags can include - * EV_MONOT_PRECISE and EV_MONOT_FALLBACK. - */ -EVENT2_EXPORT_SYMBOL -int evutil_configure_monotonic_time(struct evutil_monotonic_timer *timer, - int flags); - -/** Query the current monotonic time from a struct evutil_monotonic_timer - * previously configured with evutil_configure_monotonic_time(). Monotonic - * time is guaranteed never to run in reverse, but is not necessarily epoch- - * based, or relative to any other definite point. Use it to make reliable - * measurements of elapsed time between events even when the system time - * may be changed. - * - * It is not safe to use this funtion on the same timer from multiple - * threads. - */ -EVENT2_EXPORT_SYMBOL -int evutil_gettime_monotonic(struct evutil_monotonic_timer *timer, - struct timeval *tp); - -/** Create two new sockets that are connected to each other. - - On Unix, this simply calls socketpair(). On Windows, it uses the - loopback network interface on 127.0.0.1, and only - AF_INET,SOCK_STREAM are supported. - - (This may fail on some Windows hosts where firewall software has cleverly - decided to keep 127.0.0.1 from talking to itself.) - - Parameters and return values are as for socketpair() -*/ -EVENT2_EXPORT_SYMBOL -int evutil_socketpair(int d, int type, int protocol, evutil_socket_t sv[2]); -/** Do platform-specific operations as needed to make a socket nonblocking. - - @param sock The socket to make nonblocking - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evutil_make_socket_nonblocking(evutil_socket_t sock); - -/** Do platform-specific operations to make a listener socket reusable. - - Specifically, we want to make sure that another program will be able - to bind this address right after we've closed the listener. - - This differs from Windows's interpretation of "reusable", which - allows multiple listeners to bind the same address at the same time. - - @param sock The socket to make reusable - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evutil_make_listen_socket_reuseable(evutil_socket_t sock); - -/** Do platform-specific operations to make a listener port reusable. - - Specifically, we want to make sure that multiple programs which also - set the same socket option will be able to bind, listen at the same time. - - This is a feature available only to Linux 3.9+ - - @param sock The socket to make reusable - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evutil_make_listen_socket_reuseable_port(evutil_socket_t sock); - -/** Do platform-specific operations as needed to close a socket upon a - successful execution of one of the exec*() functions. - - @param sock The socket to be closed - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evutil_make_socket_closeonexec(evutil_socket_t sock); - -/** Do the platform-specific call needed to close a socket returned from - socket() or accept(). - - @param sock The socket to be closed - @return 0 on success, -1 on failure - */ -EVENT2_EXPORT_SYMBOL -int evutil_closesocket(evutil_socket_t sock); -#define EVUTIL_CLOSESOCKET(s) evutil_closesocket(s) - -/** Do platform-specific operations, if possible, to make a tcp listener - * socket defer accept()s until there is data to read. - * - * Not all platforms support this. You don't want to do this for every - * listener socket: only the ones that implement a protocol where the - * client transmits before the server needs to respond. - * - * @param sock The listening socket to to make deferred - * @return 0 on success (whether the operation is supported or not), - * -1 on failure -*/ -EVENT2_EXPORT_SYMBOL -int evutil_make_tcp_listen_socket_deferred(evutil_socket_t sock); - -#ifdef _WIN32 -/** Return the most recent socket error. Not idempotent on all platforms. */ -#define EVUTIL_SOCKET_ERROR() WSAGetLastError() -/** Replace the most recent socket error with errcode */ -#define EVUTIL_SET_SOCKET_ERROR(errcode) \ - do { WSASetLastError(errcode); } while (0) -/** Return the most recent socket error to occur on sock. */ -EVENT2_EXPORT_SYMBOL -int evutil_socket_geterror(evutil_socket_t sock); -/** Convert a socket error to a string. */ -EVENT2_EXPORT_SYMBOL -const char *evutil_socket_error_to_string(int errcode); -#elif defined(EVENT_IN_DOXYGEN_) -/** - @name Socket error functions - - These functions are needed for making programs compatible between - Windows and Unix-like platforms. - - You see, Winsock handles socket errors differently from the rest of - the world. Elsewhere, a socket error is like any other error and is - stored in errno. But winsock functions require you to retrieve the - error with a special function, and don't let you use strerror for - the error codes. And handling EWOULDBLOCK is ... different. - - @{ -*/ -/** Return the most recent socket error. Not idempotent on all platforms. */ -#define EVUTIL_SOCKET_ERROR() ... -/** Replace the most recent socket error with errcode */ -#define EVUTIL_SET_SOCKET_ERROR(errcode) ... -/** Return the most recent socket error to occur on sock. */ -#define evutil_socket_geterror(sock) ... -/** Convert a socket error to a string. */ -#define evutil_socket_error_to_string(errcode) ... -/**@}*/ -#else -#define EVUTIL_SOCKET_ERROR() (errno) -#define EVUTIL_SET_SOCKET_ERROR(errcode) \ - do { errno = (errcode); } while (0) -#define evutil_socket_geterror(sock) (errno) -#define evutil_socket_error_to_string(errcode) (strerror(errcode)) -#endif - - -/** - * @name Manipulation macros for struct timeval. - * - * We define replacements - * for timeradd, timersub, timerclear, timercmp, and timerisset. - * - * @{ - */ -#ifdef EVENT__HAVE_TIMERADD -#define evutil_timeradd(tvp, uvp, vvp) timeradd((tvp), (uvp), (vvp)) -#define evutil_timersub(tvp, uvp, vvp) timersub((tvp), (uvp), (vvp)) -#else -#define evutil_timeradd(tvp, uvp, vvp) \ - do { \ - (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \ - (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \ - if ((vvp)->tv_usec >= 1000000) { \ - (vvp)->tv_sec++; \ - (vvp)->tv_usec -= 1000000; \ - } \ - } while (0) -#define evutil_timersub(tvp, uvp, vvp) \ - do { \ - (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \ - (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \ - if ((vvp)->tv_usec < 0) { \ - (vvp)->tv_sec--; \ - (vvp)->tv_usec += 1000000; \ - } \ - } while (0) -#endif /* !EVENT__HAVE_TIMERADD */ - -#ifdef EVENT__HAVE_TIMERCLEAR -#define evutil_timerclear(tvp) timerclear(tvp) -#else -#define evutil_timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 -#endif -/**@}*/ - -/** Return true iff the tvp is related to uvp according to the relational - * operator cmp. Recognized values for cmp are ==, <=, <, >=, and >. */ -#define evutil_timercmp(tvp, uvp, cmp) \ - (((tvp)->tv_sec == (uvp)->tv_sec) ? \ - ((tvp)->tv_usec cmp (uvp)->tv_usec) : \ - ((tvp)->tv_sec cmp (uvp)->tv_sec)) - -#ifdef EVENT__HAVE_TIMERISSET -#define evutil_timerisset(tvp) timerisset(tvp) -#else -#define evutil_timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) -#endif - -/** Replacement for offsetof on platforms that don't define it. */ -#ifdef offsetof -#define evutil_offsetof(type, field) offsetof(type, field) -#else -#define evutil_offsetof(type, field) ((off_t)(&((type *)0)->field)) -#endif - -/* big-int related functions */ -/** Parse a 64-bit value from a string. Arguments are as for strtol. */ -EVENT2_EXPORT_SYMBOL -ev_int64_t evutil_strtoll(const char *s, char **endptr, int base); - -/** Replacement for gettimeofday on platforms that lack it. */ -#ifdef EVENT__HAVE_GETTIMEOFDAY -#define evutil_gettimeofday(tv, tz) gettimeofday((tv), (tz)) -#else -struct timezone; -EVENT2_EXPORT_SYMBOL -int evutil_gettimeofday(struct timeval *tv, struct timezone *tz); -#endif - -/** Replacement for snprintf to get consistent behavior on platforms for - which the return value of snprintf does not conform to C99. - */ -EVENT2_EXPORT_SYMBOL -int evutil_snprintf(char *buf, size_t buflen, const char *format, ...) -#ifdef __GNUC__ - __attribute__((format(printf, 3, 4))) -#endif -; -/** Replacement for vsnprintf to get consistent behavior on platforms for - which the return value of snprintf does not conform to C99. - */ -EVENT2_EXPORT_SYMBOL -int evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) -#ifdef __GNUC__ - __attribute__((format(printf, 3, 0))) -#endif -; - -/** Replacement for inet_ntop for platforms which lack it. */ -EVENT2_EXPORT_SYMBOL -const char *evutil_inet_ntop(int af, const void *src, char *dst, size_t len); -/** Replacement for inet_pton for platforms which lack it. */ -EVENT2_EXPORT_SYMBOL -int evutil_inet_pton(int af, const char *src, void *dst); -struct sockaddr; - -/** Parse an IPv4 or IPv6 address, with optional port, from a string. - - Recognized formats are: - - [IPv6Address]:port - - [IPv6Address] - - IPv6Address - - IPv4Address:port - - IPv4Address - - If no port is specified, the port in the output is set to 0. - - @param str The string to parse. - @param out A struct sockaddr to hold the result. This should probably be - a struct sockaddr_storage. - @param outlen A pointer to the number of bytes that that 'out' can safely - hold. Set to the number of bytes used in 'out' on success. - @return -1 if the address is not well-formed, if the port is out of range, - or if out is not large enough to hold the result. Otherwise returns - 0 on success. -*/ -EVENT2_EXPORT_SYMBOL -int evutil_parse_sockaddr_port(const char *str, struct sockaddr *out, int *outlen); - -/** Compare two sockaddrs; return 0 if they are equal, or less than 0 if sa1 - * preceeds sa2, or greater than 0 if sa1 follows sa2. If include_port is - * true, consider the port as well as the address. Only implemented for - * AF_INET and AF_INET6 addresses. The ordering is not guaranteed to remain - * the same between Libevent versions. */ -EVENT2_EXPORT_SYMBOL -int evutil_sockaddr_cmp(const struct sockaddr *sa1, const struct sockaddr *sa2, - int include_port); - -/** As strcasecmp, but always compares the characters in locale-independent - ASCII. That's useful if you're handling data in ASCII-based protocols. - */ -EVENT2_EXPORT_SYMBOL -int evutil_ascii_strcasecmp(const char *str1, const char *str2); -/** As strncasecmp, but always compares the characters in locale-independent - ASCII. That's useful if you're handling data in ASCII-based protocols. - */ -EVENT2_EXPORT_SYMBOL -int evutil_ascii_strncasecmp(const char *str1, const char *str2, size_t n); - -/* Here we define evutil_addrinfo to the native addrinfo type, or redefine it - * if this system has no getaddrinfo(). */ -#ifdef EVENT__HAVE_STRUCT_ADDRINFO -#define evutil_addrinfo addrinfo -#else -/** A definition of struct addrinfo for systems that lack it. - - (This is just an alias for struct addrinfo if the system defines - struct addrinfo.) -*/ -struct evutil_addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - size_t ai_addrlen; /* length of ai_addr */ - char *ai_canonname; /* canonical name for nodename */ - struct sockaddr *ai_addr; /* binary address */ - struct evutil_addrinfo *ai_next; /* next structure in linked list */ -}; -#endif -/** @name evutil_getaddrinfo() error codes - - These values are possible error codes for evutil_getaddrinfo() and - related functions. - - @{ -*/ -#if defined(EAI_ADDRFAMILY) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_ADDRFAMILY EAI_ADDRFAMILY -#else -#define EVUTIL_EAI_ADDRFAMILY -901 -#endif -#if defined(EAI_AGAIN) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_AGAIN EAI_AGAIN -#else -#define EVUTIL_EAI_AGAIN -902 -#endif -#if defined(EAI_BADFLAGS) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_BADFLAGS EAI_BADFLAGS -#else -#define EVUTIL_EAI_BADFLAGS -903 -#endif -#if defined(EAI_FAIL) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_FAIL EAI_FAIL -#else -#define EVUTIL_EAI_FAIL -904 -#endif -#if defined(EAI_FAMILY) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_FAMILY EAI_FAMILY -#else -#define EVUTIL_EAI_FAMILY -905 -#endif -#if defined(EAI_MEMORY) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_MEMORY EAI_MEMORY -#else -#define EVUTIL_EAI_MEMORY -906 -#endif -/* This test is a bit complicated, since some MS SDKs decide to - * remove NODATA or redefine it to be the same as NONAME, in a - * fun interpretation of RFC 2553 and RFC 3493. */ -#if defined(EAI_NODATA) && defined(EVENT__HAVE_GETADDRINFO) && (!defined(EAI_NONAME) || EAI_NODATA != EAI_NONAME) -#define EVUTIL_EAI_NODATA EAI_NODATA -#else -#define EVUTIL_EAI_NODATA -907 -#endif -#if defined(EAI_NONAME) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_NONAME EAI_NONAME -#else -#define EVUTIL_EAI_NONAME -908 -#endif -#if defined(EAI_SERVICE) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_SERVICE EAI_SERVICE -#else -#define EVUTIL_EAI_SERVICE -909 -#endif -#if defined(EAI_SOCKTYPE) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_SOCKTYPE EAI_SOCKTYPE -#else -#define EVUTIL_EAI_SOCKTYPE -910 -#endif -#if defined(EAI_SYSTEM) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_EAI_SYSTEM EAI_SYSTEM -#else -#define EVUTIL_EAI_SYSTEM -911 -#endif - -#define EVUTIL_EAI_CANCEL -90001 - -#if defined(AI_PASSIVE) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_PASSIVE AI_PASSIVE -#else -#define EVUTIL_AI_PASSIVE 0x1000 -#endif -#if defined(AI_CANONNAME) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_CANONNAME AI_CANONNAME -#else -#define EVUTIL_AI_CANONNAME 0x2000 -#endif -#if defined(AI_NUMERICHOST) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_NUMERICHOST AI_NUMERICHOST -#else -#define EVUTIL_AI_NUMERICHOST 0x4000 -#endif -#if defined(AI_NUMERICSERV) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_NUMERICSERV AI_NUMERICSERV -#else -#define EVUTIL_AI_NUMERICSERV 0x8000 -#endif -#if defined(AI_V4MAPPED) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_V4MAPPED AI_V4MAPPED -#else -#define EVUTIL_AI_V4MAPPED 0x10000 -#endif -#if defined(AI_ALL) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_ALL AI_ALL -#else -#define EVUTIL_AI_ALL 0x20000 -#endif -#if defined(AI_ADDRCONFIG) && defined(EVENT__HAVE_GETADDRINFO) -#define EVUTIL_AI_ADDRCONFIG AI_ADDRCONFIG -#else -#define EVUTIL_AI_ADDRCONFIG 0x40000 -#endif -/**@}*/ - -struct evutil_addrinfo; -/** - * This function clones getaddrinfo for systems that don't have it. For full - * details, see RFC 3493, section 6.1. - * - * Limitations: - * - When the system has no getaddrinfo, we fall back to gethostbyname_r or - * gethostbyname, with their attendant issues. - * - The AI_V4MAPPED and AI_ALL flags are not currently implemented. - * - * For a nonblocking variant, see evdns_getaddrinfo. - */ -EVENT2_EXPORT_SYMBOL -int evutil_getaddrinfo(const char *nodename, const char *servname, - const struct evutil_addrinfo *hints_in, struct evutil_addrinfo **res); - -/** Release storage allocated by evutil_getaddrinfo or evdns_getaddrinfo. */ -EVENT2_EXPORT_SYMBOL -void evutil_freeaddrinfo(struct evutil_addrinfo *ai); - -EVENT2_EXPORT_SYMBOL -const char *evutil_gai_strerror(int err); - -/** Generate n bytes of secure pseudorandom data, and store them in buf. - * - * Current versions of Libevent use an ARC4-based random number generator, - * seeded using the platform's entropy source (/dev/urandom on Unix-like - * systems; CryptGenRandom on Windows). This is not actually as secure as it - * should be: ARC4 is a pretty lousy cipher, and the current implementation - * provides only rudimentary prediction- and backtracking-resistance. Don't - * use this for serious cryptographic applications. - */ -EVENT2_EXPORT_SYMBOL -void evutil_secure_rng_get_bytes(void *buf, size_t n); - -/** - * Seed the secure random number generator if needed, and return 0 on - * success or -1 on failure. - * - * It is okay to call this function more than once; it will still return - * 0 if the RNG has been successfully seeded and -1 if it can't be - * seeded. - * - * Ordinarily you don't need to call this function from your own code; - * Libevent will seed the RNG itself the first time it needs good random - * numbers. You only need to call it if (a) you want to double-check - * that one of the seeding methods did succeed, or (b) you plan to drop - * the capability to seed (by chrooting, or dropping capabilities, or - * whatever), and you want to make sure that seeding happens before your - * program loses the ability to do it. - */ -EVENT2_EXPORT_SYMBOL -int evutil_secure_rng_init(void); - -/** - * Set a filename to use in place of /dev/urandom for seeding the secure - * PRNG. Return 0 on success, -1 on failure. - * - * Call this function BEFORE calling any other initialization or RNG - * functions. - * - * (This string will _NOT_ be copied internally. Do not free it while any - * user of the secure RNG might be running. Don't pass anything other than a - * real /dev/...random device file here, or you might lose security.) - * - * This API is unstable, and might change in a future libevent version. - */ -EVENT2_EXPORT_SYMBOL -int evutil_secure_rng_set_urandom_device_file(char *fname); - -/** Seed the random number generator with extra random bytes. - - You should almost never need to call this function; it should be - sufficient to invoke evutil_secure_rng_init(), or let Libevent take - care of calling evutil_secure_rng_init() on its own. - - If you call this function as a _replacement_ for the regular - entropy sources, then you need to be sure that your input - contains a fairly large amount of strong entropy. Doing so is - notoriously hard: most people who try get it wrong. Watch out! - - @param dat a buffer full of a strong source of random numbers - @param datlen the number of bytes to read from datlen - */ -EVENT2_EXPORT_SYMBOL -void evutil_secure_rng_add_bytes(const char *dat, size_t datlen); - -#ifdef __cplusplus -} -#endif - -#endif /* EVENT1_EVUTIL_H_INCLUDED_ */ diff --git a/src/components/libevent/visibility.h b/src/components/libevent/visibility.h deleted file mode 100644 index b8ba06a..0000000 --- a/src/components/libevent/visibility.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ -/* - * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson - * - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 EVENT2_VISIBILITY_H_INCLUDED_ -#define EVENT2_VISIBILITY_H_INCLUDED_ - -#include - -#if defined(event_EXPORTS) || defined(event_extra_EXPORTS) || defined(event_core_EXPORTS) -# if defined (__SUNPRO_C) && (__SUNPRO_C >= 0x550) -# define EVENT2_EXPORT_SYMBOL __global -# elif defined __GNUC__ -# define EVENT2_EXPORT_SYMBOL __attribute__ ((visibility("default"))) -# elif defined(_MSC_VER) -# define EVENT2_EXPORT_SYMBOL extern __declspec(dllexport) -# else -# define EVENT2_EXPORT_SYMBOL /* unknown compiler */ -# endif -#else -# if defined(EVENT__NEED_DLLIMPORT) && defined(_MSC_VER) && !defined(EVENT_BUILDING_REGRESS_TEST) -# define EVENT2_EXPORT_SYMBOL extern __declspec(dllimport) -# else -# define EVENT2_EXPORT_SYMBOL -# endif -#endif - -#endif /* EVENT2_VISIBILITY_H_INCLUDED_ */ diff --git a/src/components/openssl/aes.h b/src/components/openssl/aes.h deleted file mode 100644 index 36db745..0000000 --- a/src/components/openssl/aes.h +++ /dev/null @@ -1,149 +0,0 @@ -/* crypto/aes/aes.h */ -/* ==================================================================== - * 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 - -# ifdef OPENSSL_NO_AES -# error AES is disabled. -# endif - -# 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 { -# ifdef AES_LONG - unsigned long rd_key[4 * (AES_MAXNR + 1)]; -# else - unsigned int rd_key[4 * (AES_MAXNR + 1)]; -# endif - int rounds; -}; -typedef struct aes_key_st AES_KEY; - -const char *AES_options(void); - -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); - -int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); -int private_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); -/* NB: the IV is _four_ blocks long */ -void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - const AES_KEY *key2, const 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/src/components/openssl/asn1.h b/src/components/openssl/asn1.h deleted file mode 100644 index da8a45b..0000000 --- a/src/components/openssl/asn1.h +++ /dev/null @@ -1,1419 +0,0 @@ -/* crypto/asn1/asn1.h */ -/* 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 -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -#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 -/* For use with d2i_ASN1_type_bytes() */ -# 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 */ - -/* - * We MUST make sure that, except for constness, asn1_ctx_st and - * asn1_const_ctx are exactly the same. Fortunately, as soon as the old ASN1 - * parsing macros are gone, we can throw this away as well... - */ -typedef struct asn1_ctx_st { - unsigned char *p; /* work char pointer */ - int eos; /* end of sequence read for indefinite - * encoding */ - int error; /* error code to use when returning an error */ - int inf; /* constructed if 0x20, indefinite is 0x21 */ - int tag; /* tag from last 'get object' */ - int xclass; /* class from last 'get object' */ - long slen; /* length of last 'get object' */ - unsigned char *max; /* largest value of p allowed */ - unsigned char *q; /* temporary variable */ - unsigned char **pp; /* variable */ - int line; /* used in error processing */ -} ASN1_CTX; - -typedef struct asn1_const_ctx_st { - const unsigned char *p; /* work char pointer */ - int eos; /* end of sequence read for indefinite - * encoding */ - int error; /* error code to use when returning an error */ - int inf; /* constructed if 0x20, indefinite is 0x21 */ - int tag; /* tag from last 'get object' */ - int xclass; /* class from last 'get object' */ - long slen; /* length of last 'get object' */ - const unsigned char *max; /* largest value of p allowed */ - const unsigned char *q; /* temporary variable */ - const unsigned char **pp; /* variable */ - int line; /* used in error processing */ -} ASN1_const_CTX; - -/* - * These are used internally in the ASN1_OBJECT to keep track of whether the - * names and data need to be free()ed - */ -# define ASN1_OBJECT_FLAG_DYNAMIC 0x01/* internal use */ -# define ASN1_OBJECT_FLAG_CRITICAL 0x02/* critical x509v3 object id */ -# define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04/* internal use */ -# define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08/* internal use */ -struct asn1_object_st { - const char *sn, *ln; - int nid; - int length; - const unsigned char *data; /* data remains const after init */ - int flags; /* Should we free this one */ -}; - -# 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; - -DECLARE_STACK_OF(ASN1_STRING_TABLE) - -/* size limits: this stuff is taken straight from RFC2459 */ - -# define ub_name 32768 -# define ub_common_name 64 -# define ub_locality_name 128 -# define ub_state_name 128 -# define ub_organization_name 64 -# define ub_organization_unit_name 64 -# define ub_title 64 -# define ub_email_address 128 - -/* - * 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; - -/* 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); - -# 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. - * - */ - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* ASN1_ITEM pointer exported type */ -typedef const ASN1_ITEM ASN1_ITEM_EXP; - -/* 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) \ - OPENSSL_EXTERN const ASN1_ITEM name##_it; - -# else - -/* - * Platforms that can't easily handle shared global variables are declared as - * functions returning ASN1_ITEM pointers. - */ - -/* ASN1_ITEM pointer exported type */ -typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); - -/* 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) \ - const ASN1_ITEM * name##_it(void); - -# endif - -/* 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 #XXXXX 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_ASN1_SET_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) -DECLARE_ASN1_SET_OF(ASN1_TYPE) - -typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; - -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) - -typedef struct NETSCAPE_X509_st { - ASN1_OCTET_STRING *header; - X509 *cert; -} NETSCAPE_X509; - -/* 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 M_ASN1_STRING_length(x) ((x)->length) -# define M_ASN1_STRING_length_set(x, n) ((x)->length = (n)) -# define M_ASN1_STRING_type(x) ((x)->type) -# define M_ASN1_STRING_data(x) ((x)->data) - -/* Macros for string operations */ -# define M_ASN1_BIT_STRING_new() (ASN1_BIT_STRING *)\ - ASN1_STRING_type_new(V_ASN1_BIT_STRING) -# define M_ASN1_BIT_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_BIT_STRING_dup(a) (ASN1_BIT_STRING *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) -# define M_ASN1_BIT_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) - -# define M_ASN1_INTEGER_new() (ASN1_INTEGER *)\ - ASN1_STRING_type_new(V_ASN1_INTEGER) -# define M_ASN1_INTEGER_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_INTEGER_dup(a) (ASN1_INTEGER *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_INTEGER_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) - -# define M_ASN1_ENUMERATED_new() (ASN1_ENUMERATED *)\ - ASN1_STRING_type_new(V_ASN1_ENUMERATED) -# define M_ASN1_ENUMERATED_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_ENUMERATED_dup(a) (ASN1_ENUMERATED *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_ENUMERATED_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) - -# define M_ASN1_OCTET_STRING_new() (ASN1_OCTET_STRING *)\ - ASN1_STRING_type_new(V_ASN1_OCTET_STRING) -# define M_ASN1_OCTET_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_OCTET_STRING_dup(a) (ASN1_OCTET_STRING *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) -# define M_ASN1_OCTET_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) -# define M_ASN1_OCTET_STRING_print(a,b) ASN1_STRING_print(a,(ASN1_STRING *)b) -# define M_i2d_ASN1_OCTET_STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\ - V_ASN1_UNIVERSAL) - -# 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 - -# define M_ASN1_PRINTABLE_new() ASN1_STRING_type_new(V_ASN1_T61STRING) -# define M_ASN1_PRINTABLE_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_PRINTABLE(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_PRINTABLE(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_PRINTABLE) - -# define M_DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) -# define M_DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -# define M_d2i_DIRECTORYSTRING(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_DIRECTORYSTRING) - -# define M_DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) -# define M_DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -# define M_d2i_DISPLAYTEXT(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_DISPLAYTEXT) - -# define M_ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\ - ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) -# define M_ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_PRINTABLESTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_PRINTABLESTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_PRINTABLESTRING(a,pp,l) \ - (ASN1_PRINTABLESTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_PRINTABLESTRING) - -# define M_ASN1_T61STRING_new() (ASN1_T61STRING *)\ - ASN1_STRING_type_new(V_ASN1_T61STRING) -# define M_ASN1_T61STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_T61STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_T61STRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_T61STRING(a,pp,l) \ - (ASN1_T61STRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_T61STRING) - -# define M_ASN1_IA5STRING_new() (ASN1_IA5STRING *)\ - ASN1_STRING_type_new(V_ASN1_IA5STRING) -# define M_ASN1_IA5STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_IA5STRING_dup(a) \ - (ASN1_IA5STRING *)ASN1_STRING_dup((const ASN1_STRING *)a) -# define M_i2d_ASN1_IA5STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_IA5STRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_IA5STRING(a,pp,l) \ - (ASN1_IA5STRING *)d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l,\ - B_ASN1_IA5STRING) - -# define M_ASN1_UTCTIME_new() (ASN1_UTCTIME *)\ - ASN1_STRING_type_new(V_ASN1_UTCTIME) -# define M_ASN1_UTCTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_UTCTIME_dup(a) (ASN1_UTCTIME *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) - -# define M_ASN1_GENERALIZEDTIME_new() (ASN1_GENERALIZEDTIME *)\ - ASN1_STRING_type_new(V_ASN1_GENERALIZEDTIME) -# define M_ASN1_GENERALIZEDTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_GENERALIZEDTIME_dup(a) (ASN1_GENERALIZEDTIME *)ASN1_STRING_dup(\ - (const ASN1_STRING *)a) - -# define M_ASN1_TIME_new() (ASN1_TIME *)\ - ASN1_STRING_type_new(V_ASN1_UTCTIME) -# define M_ASN1_TIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_ASN1_TIME_dup(a) (ASN1_TIME *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) - -# define M_ASN1_GENERALSTRING_new() (ASN1_GENERALSTRING *)\ - ASN1_STRING_type_new(V_ASN1_GENERALSTRING) -# define M_ASN1_GENERALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_GENERALSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_GENERALSTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_GENERALSTRING(a,pp,l) \ - (ASN1_GENERALSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_GENERALSTRING) - -# define M_ASN1_UNIVERSALSTRING_new() (ASN1_UNIVERSALSTRING *)\ - ASN1_STRING_type_new(V_ASN1_UNIVERSALSTRING) -# define M_ASN1_UNIVERSALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_UNIVERSALSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UNIVERSALSTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_UNIVERSALSTRING(a,pp,l) \ - (ASN1_UNIVERSALSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_UNIVERSALSTRING) - -# define M_ASN1_BMPSTRING_new() (ASN1_BMPSTRING *)\ - ASN1_STRING_type_new(V_ASN1_BMPSTRING) -# define M_ASN1_BMPSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_BMPSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_BMPSTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_BMPSTRING(a,pp,l) \ - (ASN1_BMPSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_BMPSTRING) - -# define M_ASN1_VISIBLESTRING_new() (ASN1_VISIBLESTRING *)\ - ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) -# define M_ASN1_VISIBLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_VISIBLESTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_VISIBLESTRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_VISIBLESTRING(a,pp,l) \ - (ASN1_VISIBLESTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_VISIBLESTRING) - -# define M_ASN1_UTF8STRING_new() (ASN1_UTF8STRING *)\ - ASN1_STRING_type_new(V_ASN1_UTF8STRING) -# define M_ASN1_UTF8STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -# define M_i2d_ASN1_UTF8STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UTF8STRING,\ - V_ASN1_UNIVERSAL) -# define M_d2i_ASN1_UTF8STRING(a,pp,l) \ - (ASN1_UTF8STRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_UTF8STRING) - - /* for the is_set parameter to i2d_ASN1_SET */ -# define IS_SEQUENCE 0 -# define IS_SET 1 - -DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) - -int ASN1_TYPE_get(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(ASN1_OBJECT *a, unsigned char **pp); -ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - long length); -ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - long length); - -DECLARE_ASN1_ITEM(ASN1_OBJECT) - -DECLARE_STACK_OF(ASN1_OBJECT) -DECLARE_ASN1_SET_OF(ASN1_OBJECT) - -ASN1_STRING *ASN1_STRING_new(void); -void ASN1_STRING_free(ASN1_STRING *a); -void ASN1_STRING_clear_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(ASN1_STRING *x); -unsigned char *ASN1_STRING_data(ASN1_STRING *x); - -DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) -int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp); -ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, - const unsigned char **pp, long length); -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(ASN1_BIT_STRING *a, int n); -int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, - unsigned char *flags, int flags_len); - -# ifndef OPENSSL_NO_BIO -int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, - BIT_STRING_BITNAME *tbl, int indent); -# endif -int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); -int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, - BIT_STRING_BITNAME *tbl); - -int i2d_ASN1_BOOLEAN(int a, unsigned char **pp); -int d2i_ASN1_BOOLEAN(int *a, const unsigned char **pp, long length); - -DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) -int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp); -ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, - long length); -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); - -DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) - -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); -# if 0 -time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s); -# endif - -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); -int ASN1_TIME_diff(int *pday, int *psec, - const ASN1_TIME *from, const ASN1_TIME *to); - -DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) -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); - -DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_NULL) -DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) - -int UTF8_getc(const unsigned char *str, int len, unsigned long *val); -int UTF8_putc(unsigned char *str, int len, unsigned long value); - -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) - -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) -DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) -DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) -DECLARE_ASN1_FUNCTIONS(ASN1_TIME) - -DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) - -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(ASN1_TIME *t); -ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME - **out); -int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); - -int i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, - i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); -STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, - const unsigned char **pp, - long length, d2i_of_void *d2i, - void (*free_func) (OPENSSL_BLOCK), - int ex_tag, int ex_class); - -# ifndef OPENSSL_NO_BIO -int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); -int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); -int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a); -int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); -int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a); -int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); -int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type); -# endif -int i2t_ASN1_OBJECT(char *buf, int buf_len, 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_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_set(ASN1_ENUMERATED *a, long v); -long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a); -ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); -BIGNUM *ASN1_ENUMERATED_to_BN(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); - -int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); -ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, - long length, int Ptag, int Pclass); -unsigned long ASN1_tag2bit(int tag); -/* type is one or more of the B_ASN1_ values. */ -ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, - long length, int type); - -/* PARSING */ -int asn1_Finish(ASN1_CTX *c); -int asn1_const_Finish(ASN1_const_CTX *c); - -/* SPECIALS */ -int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, - int *pclass, long omax); -int ASN1_check_infinite_end(unsigned char **p, long len); -int ASN1_const_check_infinite_end(const unsigned char **p, long len); -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); - -/* Used to implement other functions */ -void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); - -# define ASN1_dup_of(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(type, x))) - -# define ASN1_dup_of_const(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(const type, x))) - -void *ASN1_item_dup(const ASN1_ITEM *it, void *x); - -/* ASN1 alloc/free macros for when a type is only used internally */ - -# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) -# define M_ASN1_free_of(x, type) \ - ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) - -# ifndef OPENSSL_NO_FP_API -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, ASN1_STRING *str, unsigned long flags); -# endif - -int ASN1_STRING_to_UTF8(unsigned char **out, 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, ASN1_STRING *str, unsigned long flags); -int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, - unsigned char *buf, int off); -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 -const char *ASN1_tag2str(int tag); - -/* Used to load and write netscape format cert */ - -DECLARE_ASN1_FUNCTIONS(NETSCAPE_X509) - -int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); - -int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); -int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, int max_len); -int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, - unsigned char *data, int len); -int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, - unsigned char *data, int max_len); - -STACK_OF(OPENSSL_BLOCK) *ASN1_seq_unpack(const unsigned char *buf, int len, - d2i_of_void *d2i, - void (*free_func) (OPENSSL_BLOCK)); -unsigned char *ASN1_seq_pack(STACK_OF(OPENSSL_BLOCK) *safes, i2d_of_void *i2d, - unsigned char **buf, int *len); -void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); -void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); -ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, - ASN1_OCTET_STRING **oct); - -# define ASN1_pack_string_of(type,obj,i2d,oct) \ - (ASN1_pack_string(CHECKED_PTR_OF(type, obj), \ - CHECKED_I2D_OF(type, i2d), \ - oct)) - -ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, - ASN1_OCTET_STRING **oct); - -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); -ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); -int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); -void ASN1_STRING_TABLE_cleanup(void); - -/* 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); -int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, - const ASN1_ITEM *it); - -void ASN1_add_oid_module(void); - -ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); -ASN1_TYPE *ASN1_generate_v3(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); -ASN1_PCTX *ASN1_PCTX_new(void); -void ASN1_PCTX_free(ASN1_PCTX *p); -unsigned long ASN1_PCTX_get_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); - -BIO_METHOD *BIO_f_asn1(void); - -BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); - -int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, - const ASN1_ITEM *it); -int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, - const char *hdr, const ASN1_ITEM *it); -int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, - int ctype_nid, int econt_nid, - STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); -ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); -int SMIME_crlf_copy(BIO *in, BIO *out, int flags); -int SMIME_text(BIO *in, BIO *out); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_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_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_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_LONG 155 -# define ASN1_R_TYPE_NOT_CONSTRUCTED 156 -# define ASN1_R_TYPE_NOT_PRIMITIVE 218 -# 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_PUBLIC_KEY_TYPE 200 -# define ASN1_R_WRONG_TAG 168 -# define ASN1_R_WRONG_TYPE 169 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/asn1_mac.h b/src/components/openssl/asn1_mac.h deleted file mode 100644 index ab9ec85..0000000 --- a/src/components/openssl/asn1_mac.h +++ /dev/null @@ -1,579 +0,0 @@ -/* crypto/asn1/asn1_mac.h */ -/* 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_MAC_H -# define HEADER_ASN1_MAC_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifndef ASN1_MAC_ERR_LIB -# define ASN1_MAC_ERR_LIB ERR_LIB_ASN1 -# endif - -# define ASN1_MAC_H_err(f,r,line) \ - ERR_PUT_error(ASN1_MAC_ERR_LIB,(f),(r),__FILE__,(line)) - -# define M_ASN1_D2I_vars(a,type,func) \ - ASN1_const_CTX c; \ - type ret=NULL; \ - \ - c.pp=(const unsigned char **)pp; \ - c.q= *(const unsigned char **)pp; \ - c.error=ERR_R_NESTED_ASN1_ERROR; \ - if ((a == NULL) || ((*a) == NULL)) \ - { if ((ret=(type)func()) == NULL) \ - { c.line=__LINE__; goto err; } } \ - else ret=(*a); - -# define M_ASN1_D2I_Init() \ - c.p= *(const unsigned char **)pp; \ - c.max=(length == 0)?0:(c.p+length); - -# define M_ASN1_D2I_Finish_2(a) \ - if (!asn1_const_Finish(&c)) \ - { c.line=__LINE__; goto err; } \ - *(const unsigned char **)pp=c.p; \ - if (a != NULL) (*a)=ret; \ - return(ret); - -# define M_ASN1_D2I_Finish(a,func,e) \ - M_ASN1_D2I_Finish_2(a); \ -err:\ - ASN1_MAC_H_err((e),c.error,c.line); \ - asn1_add_error(*(const unsigned char **)pp,(int)(c.q- *pp)); \ - if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ - return(NULL) - -# define M_ASN1_D2I_start_sequence() \ - if (!asn1_GetSequence(&c,&length)) \ - { c.line=__LINE__; goto err; } -/* Begin reading ASN1 without a surrounding sequence */ -# define M_ASN1_D2I_begin() \ - c.slen = length; - -/* End reading ASN1 with no check on length */ -# define M_ASN1_D2I_Finish_nolen(a, func, e) \ - *pp=c.p; \ - if (a != NULL) (*a)=ret; \ - return(ret); \ -err:\ - ASN1_MAC_H_err((e),c.error,c.line); \ - asn1_add_error(*pp,(int)(c.q- *pp)); \ - if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ - return(NULL) - -# define M_ASN1_D2I_end_sequence() \ - (((c.inf&1) == 0)?(c.slen <= 0): \ - (c.eos=ASN1_const_check_infinite_end(&c.p,c.slen))) - -/* Don't use this with d2i_ASN1_BOOLEAN() */ -# define M_ASN1_D2I_get(b, func) \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -/* Don't use this with d2i_ASN1_BOOLEAN() */ -# define M_ASN1_D2I_get_x(type,b,func) \ - c.q=c.p; \ - if (((D2I_OF(type))func)(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -/* use this instead () */ -# define M_ASN1_D2I_get_int(b,func) \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) < 0) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_opt(b,func,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ - == (V_ASN1_UNIVERSAL|(type)))) \ - { \ - M_ASN1_D2I_get(b,func); \ - } - -# define M_ASN1_D2I_get_int_opt(b,func,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ - == (V_ASN1_UNIVERSAL|(type)))) \ - { \ - M_ASN1_D2I_get_int(b,func); \ - } - -# define M_ASN1_D2I_get_imp(b,func, type) \ - M_ASN1_next=(_tmp& V_ASN1_CONSTRUCTED)|type; \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; M_ASN1_next_prev = _tmp; goto err; } \ - c.slen-=(c.p-c.q);\ - M_ASN1_next_prev=_tmp; - -# define M_ASN1_D2I_get_IMP_opt(b,func,tag,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) == \ - (V_ASN1_CONTEXT_SPECIFIC|(tag)))) \ - { \ - unsigned char _tmp = M_ASN1_next; \ - M_ASN1_D2I_get_imp(b,func, type);\ - } - -# define M_ASN1_D2I_get_set(r,func,free_func) \ - M_ASN1_D2I_get_imp_set(r,func,free_func, \ - V_ASN1_SET,V_ASN1_UNIVERSAL); - -# define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ - V_ASN1_SET,V_ASN1_UNIVERSAL); - -# define M_ASN1_D2I_get_set_opt(r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ - { M_ASN1_D2I_get_set(r,func,free_func); } - -# define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ - { M_ASN1_D2I_get_set_type(type,r,func,free_func); } - -# define M_ASN1_I2D_len_SET_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_len_SET(a,f); - -# define M_ASN1_I2D_put_SET_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SET(a,f); - -# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE(a,f); - -# define M_ASN1_I2D_put_SEQUENCE_opt_type(type,a,f) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE_type(type,a,f); - -# define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ - if ((c.slen != 0) && \ - (M_ASN1_next == \ - (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ - { \ - M_ASN1_D2I_get_imp_set(b,func,free_func,\ - tag,V_ASN1_CONTEXT_SPECIFIC); \ - } - -# define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ - if ((c.slen != 0) && \ - (M_ASN1_next == \ - (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ - { \ - M_ASN1_D2I_get_imp_set_type(type,b,func,free_func,\ - tag,V_ASN1_CONTEXT_SPECIFIC); \ - } - -# define M_ASN1_D2I_get_seq(r,func,free_func) \ - M_ASN1_D2I_get_imp_set(r,func,free_func,\ - V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); - -# define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ - V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) - -# define M_ASN1_D2I_get_seq_opt(r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ - { M_ASN1_D2I_get_seq(r,func,free_func); } - -# define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ - { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } - -# define M_ASN1_D2I_get_IMP_set(r,func,free_func,x) \ - M_ASN1_D2I_get_imp_set(r,func,free_func,\ - x,V_ASN1_CONTEXT_SPECIFIC); - -# define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ - x,V_ASN1_CONTEXT_SPECIFIC); - -# define M_ASN1_D2I_get_imp_set(r,func,free_func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_SET(&(r),&c.p,c.slen,(char *(*)())func,\ - (void (*)())free_func,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ - free_func,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_set_strings(r,func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_STRING_SET(&(r),&c.p,c.slen,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -# define M_ASN1_D2I_get_EXP_opt(r,func,tag) \ - if ((c.slen != 0L) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (func(&(r),&c.p,Tlen) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_const_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -# define M_ASN1_D2I_get_EXP_set_opt(r,func,free_func,tag,b) \ - if ((c.slen != 0) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (d2i_ASN1_SET(&(r),&c.p,Tlen,(char *(*)())func, \ - (void (*)())free_func, \ - b,V_ASN1_UNIVERSAL) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -# define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ - if ((c.slen != 0) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (d2i_ASN1_SET_OF_##type(&(r),&c.p,Tlen,func, \ - free_func,b,V_ASN1_UNIVERSAL) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -/* New macros */ -# define M_ASN1_New_Malloc(ret,type) \ - if ((ret=(type *)OPENSSL_malloc(sizeof(type))) == NULL) \ - { c.line=__LINE__; goto err2; } - -# define M_ASN1_New(arg,func) \ - if (((arg)=func()) == NULL) return(NULL) - -# define M_ASN1_New_Error(a) \ -/*- err: ASN1_MAC_H_err((a),ERR_R_NESTED_ASN1_ERROR,c.line); \ - return(NULL);*/ \ - err2: ASN1_MAC_H_err((a),ERR_R_MALLOC_FAILURE,c.line); \ - return(NULL) - -/* - * BIG UGLY WARNING! This is so damn ugly I wanna puke. Unfortunately, some - * macros that use ASN1_const_CTX still insist on writing in the input - * stream. ARGH! ARGH! ARGH! Let's get rid of this macro package. Please? -- - * Richard Levitte - */ -# define M_ASN1_next (*((unsigned char *)(c.p))) -# define M_ASN1_next_prev (*((unsigned char *)(c.q))) - -/*************************************************/ - -# define M_ASN1_I2D_vars(a) int r=0,ret=0; \ - unsigned char *p; \ - if (a == NULL) return(0) - -/* Length Macros */ -# define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) -# define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) - -# define M_ASN1_I2D_len_SET(a,f) \ - ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET); - -# define M_ASN1_I2D_len_SET_type(type,a,f) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ - V_ASN1_UNIVERSAL,IS_SET); - -# define M_ASN1_I2D_len_SEQUENCE(a,f) \ - ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ - V_ASN1_UNIVERSAL,IS_SEQUENCE) - -# define M_ASN1_I2D_len_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_len_SEQUENCE(a,f); - -# define M_ASN1_I2D_len_SEQUENCE_opt_type(type,a,f) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - M_ASN1_I2D_len_SEQUENCE_type(type,a,f); - -# define M_ASN1_I2D_len_IMP_SET(a,f,x) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -# define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -# define M_ASN1_I2D_len_IMP_SET_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); - -# define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -# define M_ASN1_I2D_len_IMP_SEQUENCE(a,f,x) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_IMP_SEQUENCE_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -# define M_ASN1_I2D_len_EXP_opt(a,f,mtag,v) \ - if (a != NULL)\ - { \ - v=f(a,NULL); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -# define M_ASN1_I2D_len_EXP_SET_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0))\ - { \ - v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -# define M_ASN1_I2D_len_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0))\ - { \ - v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -# define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_##type##_num(a) != 0))\ - { \ - v=i2d_ASN1_SET_OF_##type(a,NULL,f,tag, \ - V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -/* Put Macros */ -# define M_ASN1_I2D_put(a,f) f(a,&p) - -# define M_ASN1_I2D_put_IMP_opt(a,f,t) \ - if (a != NULL) \ - { \ - unsigned char *q=p; \ - f(a,&p); \ - *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ - } - -# define M_ASN1_I2D_put_SET(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SET,\ - V_ASN1_UNIVERSAL,IS_SET) -# define M_ASN1_I2D_put_SET_type(type,a,f) \ - i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) -# define M_ASN1_I2D_put_IMP_SET(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ - V_ASN1_CONTEXT_SPECIFIC,IS_SET) -# define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ - i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) -# define M_ASN1_I2D_put_IMP_SEQUENCE(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ - V_ASN1_CONTEXT_SPECIFIC,IS_SEQUENCE) - -# define M_ASN1_I2D_put_SEQUENCE(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SEQUENCE,\ - V_ASN1_UNIVERSAL,IS_SEQUENCE) - -# define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ - i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE) - -# define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE(a,f); - -# define M_ASN1_I2D_put_IMP_SET_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); } - -# define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); } - -# define M_ASN1_I2D_put_IMP_SEQUENCE_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); } - -# define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); } - -# define M_ASN1_I2D_put_EXP_opt(a,f,tag,v) \ - if (a != NULL) \ - { \ - ASN1_put_object(&p,1,v,tag,V_ASN1_CONTEXT_SPECIFIC); \ - f(a,&p); \ - } - -# define M_ASN1_I2D_put_EXP_SET_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ - } - -# define M_ASN1_I2D_put_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SEQUENCE); \ - } - -# define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET_OF_##type(a,&p,f,tag,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - } - -# define M_ASN1_I2D_seq_total() \ - r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ - if (pp == NULL) return(r); \ - p= *pp; \ - ASN1_put_object(&p,1,ret,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) - -# define M_ASN1_I2D_INF_seq_start(tag,ctx) \ - *(p++)=(V_ASN1_CONSTRUCTED|(tag)|(ctx)); \ - *(p++)=0x80 - -# define M_ASN1_I2D_INF_seq_end() *(p++)=0x00; *(p++)=0x00 - -# define M_ASN1_I2D_finish() *pp=p; \ - return(r); - -int asn1_GetSequence(ASN1_const_CTX *c, long *length); -void asn1_add_error(const unsigned char *address, int offset); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/asn1t.h b/src/components/openssl/asn1t.h deleted file mode 100644 index 490514a..0000000 --- a/src/components/openssl/asn1t.h +++ /dev/null @@ -1,973 +0,0 @@ -/* asn1t.h */ -/* - * 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 - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -/* ASN1 template defines, structures and functions */ - -#ifdef __cplusplus -extern "C" { -#endif - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* 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) \ - OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { - -# define ASN1_ITEM_end(itname) \ - }; - -# else - -/* 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(void) \ - { \ - static const ASN1_ITEM local_it = { - -# define ASN1_ITEM_end(itname) \ - }; \ - return &local_it; \ - } - -# endif - -/* 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) - -/* 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 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 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_BROKEN_SEQUENCE(tname) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 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 ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) - -# 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 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 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 ASN1_CHOICE_END_name(stname, tname) 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 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) } - -/* used when the structure is combined with the parent */ - -# define ASN1_EX_COMBINE(flags, tag, type) { \ - (flags)|ASN1_TFLG_COMBINE, (tag), 0, NULL, 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 */ - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION -# 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) } -# else -# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } -# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } -# endif -/* 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[] - -# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -# 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\ - } - -# else - -# define ASN1_ADB_END(name, flags, field, app_table, def, none) \ - ;\ - static const ASN1_ITEM *name##_adb(void) \ - { \ - static const ASN1_ADB internal_adb = \ - {\ - flags,\ - offsetof(name, field),\ - app_table,\ - name##_adbtbl,\ - sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ - def,\ - none\ - }; \ - return (const ASN1_ITEM *) &internal_adb; \ - } \ - void dummy_function(void) - -# endif - -# define ADB_ENTRY(val, template) {val, template} - -# define ASN1_ADB_TEMPLATE(name) \ - static const ASN1_TEMPLATE name##_tt - -/* - * 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 */ -# ifndef NO_ASN1_FIELD_NAMES - const char *field_name; /* Field name */ -# endif - 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 */ - STACK_OF(ASN1_ADB_TABLE) **app_items; /* Application defined items */ - 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. Otherwise - * 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 means a parent structure is passed instead of the field: this is - * useful is a SEQUENCE is being combined with a CHOICE for example. Since - * this means the structure and item name will differ we need to use the - * ASN1_CHOICE_END_name() macro for example. - */ - -# define ASN1_TFLG_COMBINE (0x1<<10) - -/* - * 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) */ -# ifndef NO_ASN1_FIELD_NAMES - const char *sname; /* Structure name */ -# endif -}; - -/*- - * 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. - * - * For COMPAT types the funcs field gives a - * set of functions that handle this type, this - * supports the old d2i, i2d convention. - * - * 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_COMPAT 0x3 - -# 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_COMPAT_FUNCS_st { - ASN1_new_func *asn1_new; - ASN1_free_func *asn1_free; - ASN1_d2i_func *asn1_d2i; - ASN1_i2d_func *asn1_i2d; -} ASN1_COMPAT_FUNCS; - -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 -/* The Sequence length is invalid */ -# define ASN1_AFLG_BROKEN 4 - -/* 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 - -/* 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) - -/* Macro to implement an ASN1_ITEM in terms of old style funcs */ - -# define IMPLEMENT_COMPAT_ASN1(sname) IMPLEMENT_COMPAT_ASN1_type(sname, V_ASN1_SEQUENCE) - -# define IMPLEMENT_COMPAT_ASN1_type(sname, tag) \ - static const ASN1_COMPAT_FUNCS sname##_ff = { \ - (ASN1_new_func *)sname##_new, \ - (ASN1_free_func *)sname##_free, \ - (ASN1_d2i_func *)d2i_##sname, \ - (ASN1_i2d_func *)i2d_##sname, \ - }; \ - ASN1_ITEM_start(sname) \ - ASN1_ITYPE_COMPAT, \ - tag, \ - NULL, \ - 0, \ - &sname##_ff, \ - 0, \ - #sname \ - ASN1_ITEM_end(sname) - -# 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) - -/* external definitions for primitive types */ - -DECLARE_ASN1_ITEM(ASN1_BOOLEAN) -DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) -DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) -DECLARE_ASN1_ITEM(ASN1_SEQUENCE) -DECLARE_ASN1_ITEM(CBIGNUM) -DECLARE_ASN1_ITEM(BIGNUM) -DECLARE_ASN1_ITEM(LONG) -DECLARE_ASN1_ITEM(ZLONG) - -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_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); -int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it); - -void ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); -int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, - const ASN1_TEMPLATE *tt); -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); -int ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out, - const ASN1_TEMPLATE *tt); -void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it); - -int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, - const ASN1_ITEM *it); -int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, - int utype, char *free_cont, const ASN1_ITEM *it); - -int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_set_choice_selector(ASN1_VALUE **pval, int value, - const ASN1_ITEM *it); - -ASN1_VALUE **asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); - -const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, - int nullerr); - -int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it); - -void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it); -void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, - const ASN1_ITEM *it); -int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, - const ASN1_ITEM *it); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/bio.h b/src/components/openssl/bio.h deleted file mode 100644 index f82dee4..0000000 --- a/src/components/openssl/bio.h +++ /dev/null @@ -1,883 +0,0 @@ -/* crypto/bio/bio.h */ -/* 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 - -# include - -# ifndef OPENSSL_NO_FP_API -# include -# endif -# include - -# include - -# ifndef OPENSSL_NO_SCTP -# ifndef OPENSSL_SYS_VMS -# include -# else -# include -# endif -# endif - -#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) -# ifndef OPENSSL_NO_SCTP -# define BIO_TYPE_DGRAM_SCTP (24|0x0400|0x0100) -# endif -# 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_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 */ -# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 - -# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 - -# ifndef OPENSSL_NO_SCTP -/* SCTP stuff */ -# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 -# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 -# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 -# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 -# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 -# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 -# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 -# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 -# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 -# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 -# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 -# endif - -/* 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 -# ifndef BIO_FLAGS_UPLINK -/* - * "UPLINK" flag denotes file descriptors provided by application. It - * defaults to 0, as most platforms don't require UPLINK interface. - */ -# define BIO_FLAGS_UPLINK 0 -# endif - -/* 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 - -typedef struct bio_st BIO; - -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) - -long (*BIO_get_callback(const BIO *b)) (struct bio_st *, int, const char *, - int, long, long); -void BIO_set_callback(BIO *b, - long (*callback) (struct bio_st *, int, const char *, - int, long, long)); -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 void bio_info_cb (struct bio_st *, int, const char *, int, long, - long); - -typedef struct bio_method_st { - int type; - const char *name; - int (*bwrite) (BIO *, const char *, int); - int (*bread) (BIO *, char *, int); - int (*bputs) (BIO *, const char *); - int (*bgets) (BIO *, char *, int); - long (*ctrl) (BIO *, int, long, void *); - int (*create) (BIO *); - int (*destroy) (BIO *); - long (*callback_ctrl) (BIO *, int, bio_info_cb *); -} BIO_METHOD; - -struct bio_st { - BIO_METHOD *method; - /* bio, mode, argp, argi, argl, ret */ - long (*callback) (struct bio_st *, int, const char *, int, long, long); - char *cb_arg; /* first argument for the callback */ - int init; - int shutdown; - int flags; /* extra storage */ - int retry_reason; - int num; - void *ptr; - struct bio_st *next_bio; /* used by filter BIOs */ - struct bio_st *prev_bio; /* used by filter BIOs */ - int references; - unsigned long num_read; - unsigned long num_write; - CRYPTO_EX_DATA ex_data; -}; - -DECLARE_STACK_OF(BIO) - -typedef struct bio_f_buffer_ctx_struct { - /*- - * Buffers are setup like this: - * - * <---------------------- size -----------------------> - * +---------------------------------------------------+ - * | consumed | remaining | free space | - * +---------------------------------------------------+ - * <-- off --><------- len -------> - */ - /*- BIO *bio; *//* - * this is now in the BIO struct - */ - int ibuf_size; /* how big is the input buffer */ - int obuf_size; /* how big is the output buffer */ - char *ibuf; /* the char array */ - int ibuf_len; /* how many bytes are in it */ - int ibuf_off; /* write/read offset */ - char *obuf; /* the char array */ - int obuf_len; /* how many bytes are in it */ - int obuf_off; /* write/read offset */ -} BIO_F_BUFFER_CTX; - -/* Prefix and suffix callback in ASN1 BIO */ -typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, - void *parg); - -# ifndef OPENSSL_NO_SCTP -/* SCTP parameter structs */ -struct bio_dgram_sctp_sndinfo { - uint16_t snd_sid; - uint16_t snd_flags; - uint32_t snd_ppid; - uint32_t snd_context; -}; - -struct bio_dgram_sctp_rcvinfo { - uint16_t rcv_sid; - uint16_t rcv_ssn; - uint16_t rcv_flags; - uint32_t rcv_ppid; - uint32_t rcv_tsn; - uint32_t rcv_cumtsn; - uint32_t rcv_context; -}; - -struct bio_dgram_sctp_prinfo { - uint16_t pr_policy; - uint32_t pr_value; -}; -# endif - -/* 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_NREAD0 143 -# define BIO_C_NREAD 144 -# define BIO_C_NWRITE0 145 -# define BIO_C_NWRITE 146 -# define BIO_C_RESET_READ_REQUEST 147 -# define BIO_C_SET_MD_CTX 148 - -# define BIO_C_SET_PREFIX 149 -# define BIO_C_GET_PREFIX 150 -# define BIO_C_SET_SUFFIX 151 -# define BIO_C_GET_SUFFIX 152 - -# 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_ctrl(b,BIO_C_GET_CONNECT,3,NULL) - -# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) - -/* BIO_s_accept() */ -# 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) - -/* BIO_s_accept() and BIO_s_connect() */ -# 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) - -/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ -# 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) - -/* BIO_s_file() */ -# 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) - -/* BIO_s_fd() and BIO_s_file() */ -# 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 - */ -# ifdef CONST_STRICT -/* - * If you are wondering why this isn't defined, its because CONST_STRICT is - * purely a compile-time kludge to allow const to be checked. - */ -int BIO_read_filename(BIO *b, const char *name); -# else -# define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_READ,(char *)name) -# endif -# 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) -# define BIO_dgram_get_mtu_overhead(b) \ - (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) - -/* 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); - -/* For BIO_f_asn1() */ -int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, - asn1_ps_func *prefix_free); -int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, - asn1_ps_func **pprefix_free); -int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, - asn1_ps_func *suffix_free); -int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, - asn1_ps_func **psuffix_free); - -# ifndef OPENSSL_NO_FP_API -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); -# define BIO_s_file_internal BIO_s_file -# endif -BIO *BIO_new(BIO_METHOD *type); -int BIO_set(BIO *a, BIO_METHOD *type); -int BIO_free(BIO *a); -void BIO_vfree(BIO *a); -int BIO_read(BIO *b, void *data, int len); -int BIO_gets(BIO *bp, char *buf, int size); -int BIO_write(BIO *b, const void *data, int len); -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, - void (*fp) (struct bio_st *, int, const char *, int, - long, long)); -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); -BIO *BIO_get_retry_BIO(BIO *bio, int *reason); -int BIO_get_retry_reason(BIO *bio); -BIO *BIO_dup_chain(BIO *in); - -int BIO_nread0(BIO *bio, char **buf); -int BIO_nread(BIO *bio, char **buf, int num); -int BIO_nwrite0(BIO *bio, char **buf); -int BIO_nwrite(BIO *bio, char **buf, int num); - -long BIO_debug_callback(BIO *bio, int cmd, const char *argp, int argi, - long argl, long ret); - -BIO_METHOD *BIO_s_mem(void); -BIO *BIO_new_mem_buf(const void *buf, int len); -BIO_METHOD *BIO_s_socket(void); -BIO_METHOD *BIO_s_connect(void); -BIO_METHOD *BIO_s_accept(void); -BIO_METHOD *BIO_s_fd(void); -# ifndef OPENSSL_SYS_OS2 -BIO_METHOD *BIO_s_log(void); -# endif -BIO_METHOD *BIO_s_bio(void); -BIO_METHOD *BIO_s_null(void); -BIO_METHOD *BIO_f_null(void); -BIO_METHOD *BIO_f_buffer(void); -# ifdef OPENSSL_SYS_VMS -BIO_METHOD *BIO_f_linebuffer(void); -# endif -BIO_METHOD *BIO_f_nbio_test(void); -# ifndef OPENSSL_NO_DGRAM -BIO_METHOD *BIO_s_datagram(void); -# ifndef OPENSSL_NO_SCTP -BIO_METHOD *BIO_s_datagram_sctp(void); -# endif -# 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_cb(int (*cb) (const void *data, size_t len, void *u), - void *u, const char *s, int len); -int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), - void *u, const char *s, int len, int indent); -int BIO_dump(BIO *b, const char *bytes, int len); -int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); -# ifndef OPENSSL_NO_FP_API -int BIO_dump_fp(FILE *fp, const char *s, int len); -int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); -# endif -int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, - int datalen); - -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); -# ifndef OPENSSL_NO_SCTP -BIO *BIO_new_dgram_sctp(int fd, int close_flag); -int BIO_dgram_is_sctp(BIO *bio); -int BIO_dgram_sctp_notification_cb(BIO *b, - void (*handle_notifications) (BIO *bio, - void - *context, - void *buf), - void *context); -int BIO_dgram_sctp_wait_for_dry(BIO *b); -int BIO_dgram_sctp_msg_waiting(BIO *b); -# endif -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); - */ - -# ifdef __GNUC__ -# define __bio_h__attr__ __attribute__ -# else -# define __bio_h__attr__(x) -# endif -int BIO_printf(BIO *bio, const char *format, ...) -__bio_h__attr__((__format__(__printf__, 2, 3))); -int BIO_vprintf(BIO *bio, const char *format, va_list args) -__bio_h__attr__((__format__(__printf__, 2, 0))); -int BIO_snprintf(char *buf, size_t n, const char *format, ...) -__bio_h__attr__((__format__(__printf__, 3, 4))); -int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) -__bio_h__attr__((__format__(__printf__, 3, 0))); -# undef __bio_h__attr__ - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_DGRAM_SCTP_WRITE 133 -# 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_IN_USE 123 -# define BIO_R_KEEPALIVE 109 -# 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/src/components/openssl/blowfish.h b/src/components/openssl/blowfish.h deleted file mode 100644 index 5dab06b..0000000 --- a/src/components/openssl/blowfish.h +++ /dev/null @@ -1,130 +0,0 @@ -/* crypto/bf/blowfish.h */ -/* 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 - -# ifdef OPENSSL_NO_BF -# error BF is disabled. -# 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. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -# if defined(__LP32__) -# define BF_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define BF_LONG unsigned long -# define BF_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -# else -# define BF_LONG unsigned int -# endif - -# 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; - -# ifdef OPENSSL_FIPS -void private_BF_set_key(BF_KEY *key, int len, const unsigned char *data); -# endif -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); -const char *BF_options(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/bn.h b/src/components/openssl/bn.h deleted file mode 100644 index 4945858..0000000 --- a/src/components/openssl/bn.h +++ /dev/null @@ -1,951 +0,0 @@ -/* crypto/bn/bn.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.] - */ -/* ==================================================================== - * 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 -# ifndef OPENSSL_NO_FP_API -# include /* FILE */ -# endif -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * These preprocessor symbols control various aspects of the bignum headers - * and library code. They're not defined by any "normal" configuration, as - * they are intended for development and testing purposes. NB: defining all - * three can be useful for debugging application code as well as openssl - * itself. BN_DEBUG - turn on various debugging alterations to the bignum - * code BN_DEBUG_RAND - uses random poisoning of unused words to trip up - * mismanagement of bignum internals. You must also define BN_DEBUG. - */ -/* #define BN_DEBUG */ -/* #define BN_DEBUG_RAND */ - -# ifndef OPENSSL_SMALL_FOOTPRINT -# define BN_MUL_COMBA -# define BN_SQR_COMBA -# define BN_RECURSION -# 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. - */ -# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || \ - defined(OPENSSL_SYS_WIN32) || defined(linux) -# ifndef BN_DIV2W -# define BN_DIV2W -# endif -# endif - -/* - * assuming long is 64bit - this is the DEC Alpha unsigned long long is only - * 64 bits :-(, don't define BN_LLONG for the DEC Alpha - */ -# ifdef SIXTY_FOUR_BIT_LONG -# define BN_ULLONG unsigned long long -# 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_MASK (0xffffffffffffffffffffffffffffffffLL) -# 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" -# endif - -/* - * This is where the long long data type is 64 bits, but long is 32. For - * machines where there are 64bit registers, this is the mode to use. IRIX, - * on R4000 and above should use this mode, along with the relevant assembler - * code :-). Do NOT define BN_LLONG. - */ -# ifdef SIXTY_FOUR_BIT -# undef BN_LLONG -# undef BN_ULLONG -# define BN_ULONG unsigned long long -# define BN_LONG long long -# define BN_BITS 128 -# define BN_BYTES 8 -# define BN_BITS2 64 -# define BN_BITS4 32 -# define BN_MASK2 (0xffffffffffffffffLL) -# define BN_MASK2l (0xffffffffL) -# define BN_MASK2h (0xffffffff00000000LL) -# define BN_MASK2h1 (0xffffffff80000000LL) -# define BN_TBIT (0x8000000000000000LL) -# define BN_DEC_CONV (10000000000000000000ULL) -# define BN_DEC_FMT1 "%llu" -# define BN_DEC_FMT2 "%019llu" -# define BN_DEC_NUM 19 -# define BN_HEX_FMT1 "%llX" -# define BN_HEX_FMT2 "%016llX" -# endif - -# ifdef THIRTY_TWO_BIT -# ifdef BN_LLONG -# if defined(_WIN32) && !defined(__GNUC__) -# define BN_ULLONG unsigned __int64 -# define BN_MASK (0xffffffffffffffffI64) -# else -# define BN_ULLONG unsigned long long -# define BN_MASK (0xffffffffffffffffLL) -# endif -# endif -# 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_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_DEFAULT_BITS 1280 - -# define BN_FLG_MALLOCED 0x01 -# define BN_FLG_STATIC_DATA 0x02 - -/* - * 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. - */ -# define BN_FLG_CONSTTIME 0x04 - -# ifdef OPENSSL_NO_DEPRECATED -/* deprecated name for the flag */ -# define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME -/* - * avoid leaking exponent information through timings - * (BN_mod_exp_mont() will call BN_mod_exp_mont_consttime) - */ -# endif - -# ifndef OPENSSL_NO_DEPRECATED -# define BN_FLG_FREE 0x8000 - /* used for debuging */ -# endif -# define BN_set_flags(b,n) ((b)->flags|=(n)) -# define BN_get_flags(b,n) ((b)->flags&(n)) - -/* - * get a clone of a BIGNUM with changed flags, for *temporary* use only (the - * two BIGNUMs cannot not be used in parallel!) - */ -# define BN_with_flags(dest,b,n) ((dest)->d=(b)->d, \ - (dest)->top=(b)->top, \ - (dest)->dmax=(b)->dmax, \ - (dest)->neg=(b)->neg, \ - (dest)->flags=(((dest)->flags & BN_FLG_MALLOCED) \ - | ((b)->flags & ~BN_FLG_MALLOCED) \ - | BN_FLG_STATIC_DATA \ - | (n))) - -/* Already declared in ossl_typ.h */ -# if 0 -typedef struct bignum_st BIGNUM; -/* Used for temp variables (declaration hidden in bn_lcl.h) */ -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_recp_ctx_st BN_RECP_CTX; -typedef struct bn_gencb_st BN_GENCB; -# endif - -struct bignum_st { - BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit - * chunks. */ - int top; /* Index of last used d +1. */ - /* The next are internal book keeping for bn_expand. */ - int dmax; /* Size of the d array. */ - int neg; /* one if the number is negative */ - int flags; -}; - -/* Used for montgomery multiplication */ -struct bn_mont_ctx_st { - int ri; /* number of bits in R */ - BIGNUM RR; /* used to convert to montgomery form */ - BIGNUM N; /* The modulus */ - BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 (Ni is only - * stored for bignum algorithm) */ - BN_ULONG n0[2]; /* least significant word(s) of Ni; (type - * changed with 0.9.9, was "BN_ULONG n0;" - * before) */ - int flags; -}; - -/* - * Used for reciprocal division/mod functions It cannot be shared between - * threads - */ -struct bn_recp_ctx_st { - BIGNUM N; /* the divisor */ - BIGNUM Nr; /* the reciprocal */ - int num_bits; - int shift; - int flags; -}; - -/* Used for slow "generation" functions. */ -struct bn_gencb_st { - unsigned int ver; /* To handle binary (in)compatibility */ - void *arg; /* callback-specific data */ - union { - /* if(ver==1) - handles old style callbacks */ - void (*cb_1) (int, int, void *); - /* if(ver==2) - new callback style */ - int (*cb_2) (int, int, BN_GENCB *); - } cb; -}; -/* Wrapper function to make using BN_GENCB easier, */ -int BN_GENCB_call(BN_GENCB *cb, int a, int b); -/* Macro to populate a BN_GENCB structure with an "old"-style callback */ -# define BN_GENCB_set_old(gencb, callback, cb_arg) { \ - BN_GENCB *tmp_gencb = (gencb); \ - tmp_gencb->ver = 1; \ - tmp_gencb->arg = (cb_arg); \ - tmp_gencb->cb.cb_1 = (callback); } -/* Macro to populate a BN_GENCB structure with a "new"-style callback */ -# define BN_GENCB_set(gencb, callback, cb_arg) { \ - BN_GENCB *tmp_gencb = (gencb); \ - tmp_gencb->ver = 2; \ - tmp_gencb->arg = (cb_arg); \ - tmp_gencb->cb.cb_2 = (callback); } - -# define BN_prime_checks 0 /* default: select number of iterations based - * on the size of the number */ - -/* - * number of Miller-Rabin iterations for an error rate of less than 2^-80 for - * random 'b'-bit input, b >= 100 (taken from table 4.4 in the Handbook of - * Applied Cryptography [Menezes, van Oorschot, Vanstone; CRC Press 1996]; - * original paper: Damgaard, Landrock, Pomerance: Average case error - * estimates for the strong probable prime test. -- Math. Comp. 61 (1993) - * 177-194) - */ -# define BN_prime_checks_for_size(b) ((b) >= 1300 ? 2 : \ - (b) >= 850 ? 3 : \ - (b) >= 650 ? 4 : \ - (b) >= 550 ? 5 : \ - (b) >= 450 ? 6 : \ - (b) >= 400 ? 7 : \ - (b) >= 350 ? 8 : \ - (b) >= 300 ? 9 : \ - (b) >= 250 ? 12 : \ - (b) >= 200 ? 15 : \ - (b) >= 150 ? 18 : \ - /* b >= 100 */ 27) - -# define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) - -/* Note that BN_abs_is_word didn't work reliably for w == 0 until 0.9.8 */ -# define BN_abs_is_word(a,w) ((((a)->top == 1) && ((a)->d[0] == (BN_ULONG)(w))) || \ - (((w) == 0) && ((a)->top == 0))) -# define BN_is_zero(a) ((a)->top == 0) -# define BN_is_one(a) (BN_abs_is_word((a),1) && !(a)->neg) -# define BN_is_word(a,w) (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg)) -# define BN_is_odd(a) (((a)->top > 0) && ((a)->d[0] & 1)) - -# define BN_one(a) (BN_set_word((a),1)) -# define BN_zero_ex(a) \ - do { \ - BIGNUM *_tmp_bn = (a); \ - _tmp_bn->top = 0; \ - _tmp_bn->neg = 0; \ - } while(0) -# ifdef OPENSSL_NO_DEPRECATED -# define BN_zero(a) BN_zero_ex(a) -# else -# define BN_zero(a) (BN_set_word((a),0)) -# endif - -const BIGNUM *BN_value_one(void); -char *BN_options(void); -BN_CTX *BN_CTX_new(void); -# ifndef OPENSSL_NO_DEPRECATED -void BN_CTX_init(BN_CTX *c); -# endif -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_init(BIGNUM *); -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); -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); -/** BN_set_negative sets sign of a BIGNUM - * \param b pointer to the BIGNUM object - * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise - */ -void BN_set_negative(BIGNUM *b, int n); -/** BN_is_negative returns 1 if the BIGNUM is negative - * \param a pointer to the BIGNUM object - * \return 1 if a < 0 and 0 otherwise - */ -# define BN_is_negative(a) ((a)->neg != 0) - -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_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, - const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m, - BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx); - -int BN_mask_bits(BIGNUM *a, int n); -# ifndef OPENSSL_NO_FP_API -int BN_print_fp(FILE *fp, const BIGNUM *a); -# endif -# ifdef HEADER_BIO_H -int BN_print(BIO *fp, const BIGNUM *a); -# else -int BN_print(void *fp, const BIGNUM *a); -# endif -int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); -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); - -/* Deprecated versions */ -# ifndef OPENSSL_NO_DEPRECATED -BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, - const BIGNUM *add, const BIGNUM *rem, - void (*callback) (int, int, void *), void *cb_arg); -int BN_is_prime(const BIGNUM *p, int nchecks, - void (*callback) (int, int, void *), - BN_CTX *ctx, void *cb_arg); -int BN_is_prime_fasttest(const BIGNUM *p, int nchecks, - void (*callback) (int, int, void *), BN_CTX *ctx, - void *cb_arg, int do_trial_division); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* Newer versions */ -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); - -int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); - -int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, - const BIGNUM *Xp, const BIGNUM *Xp1, - const BIGNUM *Xp2, const BIGNUM *e, BN_CTX *ctx, - BN_GENCB *cb); -int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, BIGNUM *Xp1, - BIGNUM *Xp2, const BIGNUM *Xp, const BIGNUM *e, - BN_CTX *ctx, BN_GENCB *cb); - -BN_MONT_CTX *BN_MONT_CTX_new(void); -void BN_MONT_CTX_init(BN_MONT_CTX *ctx); -int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - BN_MONT_CTX *mont, BN_CTX *ctx); -# define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ - (r),(a),&((mont)->RR),(mont),(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, BN_MONT_CTX *from); -BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, - const BIGNUM *mod, BN_CTX *ctx); - -/* BN_BLINDING flags */ -# define BN_BLINDING_NO_UPDATE 0x00000001 -# define BN_BLINDING_NO_RECREATE 0x00000002 - -BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); -void BN_BLINDING_free(BN_BLINDING *b); -int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); -int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, - BN_CTX *); -# ifndef OPENSSL_NO_DEPRECATED -unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); -void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); -# endif -CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); -unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); -void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); -BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, - const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, - int (*bn_mod_exp) (BIGNUM *r, - const BIGNUM *a, - const BIGNUM *p, - const BIGNUM *m, - BN_CTX *ctx, - BN_MONT_CTX *m_ctx), - BN_MONT_CTX *m_ctx); - -# ifndef OPENSSL_NO_DEPRECATED -void BN_set_params(int mul, int high, int low, int mont); -int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */ -# endif - -void BN_RECP_CTX_init(BN_RECP_CTX *recp); -BN_RECP_CTX *BN_RECP_CTX_new(void); -void BN_RECP_CTX_free(BN_RECP_CTX *recp); -int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *rdiv, BN_CTX *ctx); -int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, - BN_RECP_CTX *recp, BN_CTX *ctx); -int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx); -int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, - BN_RECP_CTX *recp, BN_CTX *ctx); - -# ifndef OPENSSL_NO_EC2M - -/* - * Functions for arithmetic over binary polynomials represented by BIGNUMs. - * The BIGNUM::neg property of BIGNUMs representing binary polynomials is - * ignored. Note that input arguments are not const so that their bit arrays - * can be expanded to the appropriate size if needed. - */ - -/* - * r = a + b - */ -int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -# define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) -/* - * r=a mod p - */ -int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); -/* r = (a * b) mod p */ -int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); -/* r = (a * a) mod p */ -int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -/* r = (1 / b) mod p */ -int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, BN_CTX *ctx); -/* r = (a / b) mod p */ -int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); -/* r = (a ^ b) mod p */ -int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); -/* r = sqrt(a) mod p */ -int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); -/* r^2 + r = a mod p */ -int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); -# define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) -/*- - * Some functions allow for representation of the irreducible polynomials - * as an unsigned int[], say p. The irreducible f(t) is then of the form: - * t^p[0] + t^p[1] + ... + t^p[k] - * where m = p[0] > p[1] > ... > p[k] = 0. - */ -/* r = a mod p */ -int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); -/* r = (a * b) mod p */ -int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); -/* r = (a * a) mod p */ -int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], - BN_CTX *ctx); -/* r = (1 / b) mod p */ -int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], - BN_CTX *ctx); -/* r = (a / b) mod p */ -int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); -/* r = (a ^ b) mod p */ -int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); -/* r = sqrt(a) mod p */ -int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, - const int p[], BN_CTX *ctx); -/* r^2 + r = a mod p */ -int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, - const int p[], BN_CTX *ctx); -int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); -int BN_GF2m_arr2poly(const int p[], BIGNUM *a); - -# endif - -/* - * faster mod functions for the 'NIST primes' 0 <= a < p^2 - */ -int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); - -const BIGNUM *BN_get0_nist_prime_192(void); -const BIGNUM *BN_get0_nist_prime_224(void); -const BIGNUM *BN_get0_nist_prime_256(void); -const BIGNUM *BN_get0_nist_prime_384(void); -const BIGNUM *BN_get0_nist_prime_521(void); - -/* library internal functions */ - -# define bn_expand(a,bits) \ - ( \ - bits > (INT_MAX - BN_BITS2 + 1) ? \ - NULL \ - : \ - (((bits+BN_BITS2-1)/BN_BITS2) <= (a)->dmax) ? \ - (a) \ - : \ - bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2) \ - ) - -# define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) -BIGNUM *bn_expand2(BIGNUM *a, int words); -# ifndef OPENSSL_NO_DEPRECATED -BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ -# endif - -/*- - * Bignum consistency macros - * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from - * bignum data after direct manipulations on the data. There is also an - * "internal" macro, bn_check_top(), for verifying that there are no leading - * zeroes. Unfortunately, some auditing is required due to the fact that - * bn_fix_top() has become an overabused duct-tape because bignum data is - * occasionally passed around in an inconsistent state. So the following - * changes have been made to sort this out; - * - bn_fix_top()s implementation has been moved to bn_correct_top() - * - if BN_DEBUG isn't defined, bn_fix_top() maps to bn_correct_top(), and - * bn_check_top() is as before. - * - if BN_DEBUG *is* defined; - * - bn_check_top() tries to pollute unused words even if the bignum 'top' is - * consistent. (ed: only if BN_DEBUG_RAND is defined) - * - bn_fix_top() maps to bn_check_top() rather than "fixing" anything. - * The idea is to have debug builds flag up inconsistent bignums when they - * occur. If that occurs in a bn_fix_top(), we examine the code in question; if - * the use of bn_fix_top() was appropriate (ie. it follows directly after code - * that manipulates the bignum) it is converted to bn_correct_top(), and if it - * was not appropriate, we convert it permanently to bn_check_top() and track - * down the cause of the bug. Eventually, no internal code should be using the - * bn_fix_top() macro. External applications and libraries should try this with - * their own code too, both in terms of building against the openssl headers - * with BN_DEBUG defined *and* linking with a version of OpenSSL built with it - * defined. This not only improves external code, it provides more test - * coverage for openssl's own code. - */ - -# ifdef BN_DEBUG - -/* We only need assert() when debugging */ -# include - -# ifdef BN_DEBUG_RAND -/* To avoid "make update" cvs wars due to BN_DEBUG, use some tricks */ -# ifndef RAND_pseudo_bytes -int RAND_pseudo_bytes(unsigned char *buf, int num); -# define BN_DEBUG_TRIX -# endif -# define bn_pollute(a) \ - do { \ - const BIGNUM *_bnum1 = (a); \ - if(_bnum1->top < _bnum1->dmax) { \ - unsigned char _tmp_char; \ - /* We cast away const without the compiler knowing, any \ - * *genuinely* constant variables that aren't mutable \ - * wouldn't be constructed with top!=dmax. */ \ - BN_ULONG *_not_const; \ - memcpy(&_not_const, &_bnum1->d, sizeof(BN_ULONG*)); \ - /* Debug only - safe to ignore error return */ \ - RAND_pseudo_bytes(&_tmp_char, 1); \ - memset((unsigned char *)(_not_const + _bnum1->top), _tmp_char, \ - (_bnum1->dmax - _bnum1->top) * sizeof(BN_ULONG)); \ - } \ - } while(0) -# ifdef BN_DEBUG_TRIX -# undef RAND_pseudo_bytes -# endif -# else -# define bn_pollute(a) -# endif -# define bn_check_top(a) \ - do { \ - const BIGNUM *_bnum2 = (a); \ - if (_bnum2 != NULL) { \ - assert((_bnum2->top == 0) || \ - (_bnum2->d[_bnum2->top - 1] != 0)); \ - bn_pollute(_bnum2); \ - } \ - } while(0) - -# define bn_fix_top(a) bn_check_top(a) - -# define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2) -# define bn_wcheck_size(bn, words) \ - do { \ - const BIGNUM *_bnum2 = (bn); \ - assert((words) <= (_bnum2)->dmax && (words) >= (_bnum2)->top); \ - /* avoid unused variable warning with NDEBUG */ \ - (void)(_bnum2); \ - } while(0) - -# else /* !BN_DEBUG */ - -# define bn_pollute(a) -# define bn_check_top(a) -# define bn_fix_top(a) bn_correct_top(a) -# define bn_check_size(bn, bits) -# define bn_wcheck_size(bn, words) - -# endif - -# define bn_correct_top(a) \ - { \ - BN_ULONG *ftl; \ - int tmp_top = (a)->top; \ - if (tmp_top > 0) \ - { \ - for (ftl= &((a)->d[tmp_top-1]); tmp_top > 0; tmp_top--) \ - if (*(ftl--)) break; \ - (a)->top = tmp_top; \ - } \ - if ((a)->top == 0) \ - (a)->neg = 0; \ - bn_pollute(a); \ - } - -BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num, - BN_ULONG w); -BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w); -void bn_sqr_words(BN_ULONG *rp, const BN_ULONG *ap, int num); -BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d); -BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, - int num); -BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, - int num); - -/* Primes from RFC 2409 */ -BIGNUM *get_rfc2409_prime_768(BIGNUM *bn); -BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); - -/* Primes from RFC 3526 */ -BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); - -int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_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_LSHIFT 145 -# 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_RSHIFT 146 -# 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 118 -# 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_LENGTH 106 -# define BN_R_INVALID_RANGE 115 -# define BN_R_INVALID_SHIFT 119 -# 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/src/components/openssl/buffer.h b/src/components/openssl/buffer.h deleted file mode 100644 index e8cf4d0..0000000 --- a/src/components/openssl/buffer.h +++ /dev/null @@ -1,125 +0,0 @@ -/* crypto/buffer/buffer.h */ -/* 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 - -# if !defined(NO_SYS_TYPES_H) -# include -# endif - -/* 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); -size_t BUF_strnlen(const char *str, size_t maxlen); -char *BUF_strdup(const char *str); - -/* - * Like strndup, but in addition, explicitly guarantees to never read past the - * first |siz| bytes of |str|. - */ -char *BUF_strndup(const char *str, size_t siz); - -void *BUF_memdup(const void *data, size_t siz); -void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz); - -/* safe string functions */ -size_t BUF_strlcpy(char *dst, const char *src, size_t siz); -size_t BUF_strlcat(char *dst, const char *src, size_t siz); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/camellia.h b/src/components/openssl/camellia.h deleted file mode 100644 index 4c65d4e..0000000 --- a/src/components/openssl/camellia.h +++ /dev/null @@ -1,132 +0,0 @@ -/* crypto/camellia/camellia.h */ -/* ==================================================================== - * 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 - -# ifdef OPENSSL_NO_CAMELLIA -# error CAMELLIA is disabled. -# endif - -# 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; - -# ifdef OPENSSL_FIPS -int private_Camellia_set_key(const unsigned char *userKey, const int bits, - CAMELLIA_KEY *key); -# endif -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/src/components/openssl/cast.h b/src/components/openssl/cast.h deleted file mode 100644 index 5415fcd..0000000 --- a/src/components/openssl/cast.h +++ /dev/null @@ -1,107 +0,0 @@ -/* crypto/cast/cast.h */ -/* 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 - -#ifdef __cplusplus -extern "C" { -#endif - -# include - -# ifdef OPENSSL_NO_CAST -# error CAST is disabled. -# 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; - -# ifdef OPENSSL_FIPS -void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); -# endif -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/src/components/openssl/cmac.h b/src/components/openssl/cmac.h deleted file mode 100644 index 1da7646..0000000 --- a/src/components/openssl/cmac.h +++ /dev/null @@ -1,82 +0,0 @@ -/* crypto/cmac/cmac.h */ -/* - * 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); -int CMAC_resume(CMAC_CTX *ctx); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/cms.h b/src/components/openssl/cms.h deleted file mode 100644 index 18d94b2..0000000 --- a/src/components/openssl/cms.h +++ /dev/null @@ -1,555 +0,0 @@ -/* crypto/cms/cms.h */ -/* - * 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 - -# ifdef OPENSSL_NO_CMS -# error CMS is disabled. -# endif - -#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(GENERAL_NAMES) -DECLARE_STACK_OF(CMS_RecipientEncryptedKey) -DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) -DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) -DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) - -# 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 - -const ASN1_OBJECT *CMS_get0_type(CMS_ContentInfo *cms); - -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); - -# ifdef HEADER_PEM_H -DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) -# endif -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, - unsigned char *id, size_t idlen); -int CMS_decrypt_set1_password(CMS_ContentInfo *cms, - unsigned char *pass, ossl_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, - ossl_ssize_t passlen); - -CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, - int iter, int wrap_nid, - int pbe_nid, - unsigned char *pass, - ossl_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, 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, 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, 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); - -# ifdef HEADER_X509V3_H - -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); -# endif -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); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CMS_strings(void); - -/* Error codes for the CMS functions. */ - -/* 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_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 - -/* 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_DIGEST_ERROR 161 -# 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_ALGORIHM 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_RECIPIENT_TYPE 154 -# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE 155 -# 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 diff --git a/src/components/openssl/comp.h b/src/components/openssl/comp.h deleted file mode 100644 index ca18cca..0000000 --- a/src/components/openssl/comp.h +++ /dev/null @@ -1,83 +0,0 @@ - -#ifndef HEADER_COMP_H -# define HEADER_COMP_H - -# include - -# ifdef OPENSSL_NO_COMP -# error COMP is disabled. -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct comp_ctx_st COMP_CTX; - -struct comp_method_st { - int type; /* NID for compression library */ - const char *name; /* A text string to identify the library */ - int (*init) (COMP_CTX *ctx); - void (*finish) (COMP_CTX *ctx); - int (*compress) (COMP_CTX *ctx, - unsigned char *out, unsigned int olen, - unsigned char *in, unsigned int ilen); - int (*expand) (COMP_CTX *ctx, - unsigned char *out, unsigned int olen, - unsigned char *in, unsigned int ilen); - /* - * The following two do NOTHING, but are kept for backward compatibility - */ - long (*ctrl) (void); - long (*callback_ctrl) (void); -}; - -struct comp_ctx_st { - COMP_METHOD *meth; - unsigned long compress_in; - unsigned long compress_out; - unsigned long expand_in; - unsigned long expand_out; - CRYPTO_EX_DATA ex_data; -}; - -COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); -void COMP_CTX_free(COMP_CTX *ctx); -int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, - unsigned char *in, int ilen); -int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, - unsigned char *in, int ilen); -COMP_METHOD *COMP_rle(void); -COMP_METHOD *COMP_zlib(void); -void COMP_zlib_cleanup(void); - -# ifdef HEADER_BIO_H -# ifdef ZLIB -BIO_METHOD *BIO_f_zlib(void); -# endif -# endif - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_COMP_strings(void); - -/* Error codes for the COMP functions. */ - -/* Function codes. */ -# define COMP_F_BIO_ZLIB_FLUSH 99 -# define COMP_F_BIO_ZLIB_NEW 100 -# define COMP_F_BIO_ZLIB_READ 101 -# define COMP_F_BIO_ZLIB_WRITE 102 - -/* Reason codes. */ -# define COMP_R_ZLIB_DEFLATE_ERROR 99 -# define COMP_R_ZLIB_INFLATE_ERROR 100 -# define COMP_R_ZLIB_NOT_SUPPORTED 101 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/conf.h b/src/components/openssl/conf.h deleted file mode 100644 index 329336f..0000000 --- a/src/components/openssl/conf.h +++ /dev/null @@ -1,267 +0,0 @@ -/* crypto/conf/conf.h */ -/* 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; - -struct conf_method_st { - const char *name; - CONF *(*create) (CONF_METHOD *meth); - int (*init) (CONF *conf); - int (*destroy) (CONF *conf); - int (*destroy_data) (CONF *conf); - int (*load_bio) (CONF *conf, BIO *bp, long *eline); - int (*dump) (const CONF *conf, BIO *bp); - int (*is_number) (const CONF *conf, char c); - int (*to_int) (const CONF *conf, char c); - int (*load) (CONF *conf, const char *name, long *eline); -}; - -/* 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 - -int CONF_set_default_method(CONF_METHOD *meth); -void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); -LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, - long *eline); -# ifndef OPENSSL_NO_FP_API -LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, - long *eline); -# endif -LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, - long *eline); -STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, - const char *section); -char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, - const char *name); -long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, - const char *name); -void CONF_free(LHASH_OF(CONF_VALUE) *conf); -int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); -int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); - -void OPENSSL_config(const char *config_name); -void OPENSSL_no_config(void); - -/* - * New conf code. The semantics are different from the functions above. If - * that wasn't the case, the above functions would have been replaced - */ - -struct conf_st { - CONF_METHOD *meth; - void *meth_data; - LHASH_OF(CONF_VALUE) *data; -}; - -CONF *NCONF_new(CONF_METHOD *meth); -CONF_METHOD *NCONF_default(void); -CONF_METHOD *NCONF_WIN32(void); -# if 0 /* Just to give you an idea of what I have in - * mind */ -CONF_METHOD *NCONF_XML(void); -# endif -void NCONF_free(CONF *conf); -void NCONF_free_data(CONF *conf); - -int NCONF_load(CONF *conf, const char *file, long *eline); -# ifndef OPENSSL_NO_FP_API -int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); -# endif -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); -int NCONF_dump_fp(const CONF *conf, FILE *out); -int NCONF_dump_bio(const CONF *conf, BIO *out); - -# if 0 /* The following function has no error - * checking, and should therefore be avoided */ -long NCONF_get_number(CONF *conf, char *group, char *name); -# else -# define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) -# endif - -/* 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); -int CONF_module_add(const char *name, conf_init_func *ifunc, - conf_finish_func *ffunc); - -const char *CONF_imodule_get_name(const CONF_IMODULE *md); -const char *CONF_imodule_get_value(const CONF_IMODULE *md); -void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); -void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); -CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); -unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); -void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); -void *CONF_module_get_usr_data(CONF_MODULE *pmod); -void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); - -char *CONF_get1_default_config_file(void); - -int CONF_parse_list(const char *list, int sep, int nospc, - int (*list_cb) (const char *elem, int len, void *usr), - void *arg); - -void OPENSSL_load_builtin_modules(void); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_HAS_NO_VALUE 104 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/conf_api.h b/src/components/openssl/conf_api.h deleted file mode 100644 index ac86814..0000000 --- a/src/components/openssl/conf_api.h +++ /dev/null @@ -1,89 +0,0 @@ -/* conf_api.h */ -/* 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_API_H -# define HEADER_CONF_API_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Up until OpenSSL 0.9.5a, this was new_section */ -CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); -/* Up until OpenSSL 0.9.5a, this was get_section */ -CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); -/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ -STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, - const char *section); - -int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); -char *_CONF_get_string(const CONF *conf, const char *section, - const char *name); -long _CONF_get_number(const CONF *conf, const char *section, - const char *name); - -int _CONF_new_data(CONF *conf); -void _CONF_free_data(CONF *conf); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/crypto.h b/src/components/openssl/crypto.h deleted file mode 100644 index 61b13ba..0000000 --- a/src/components/openssl/crypto.h +++ /dev/null @@ -1,661 +0,0 @@ -/* crypto/crypto.h */ -/* ==================================================================== - * 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. - */ - -#ifndef HEADER_CRYPTO_H -# define HEADER_CRYPTO_H - -# include - -# include - -# ifndef OPENSSL_NO_FP_API -# include -# endif - -# include -# include -# include -# include - -# ifdef CHARSET_EBCDIC -# include -# endif - -/* - * Resolve problems on some operating systems with symbol names that clash - * one way or another - */ -# 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 - -/* Already declared in ossl_typ.h */ -# if 0 -typedef struct crypto_ex_data_st CRYPTO_EX_DATA; -/* Called when a new object is created */ -typedef int CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -/* Called when an object is free()ed */ -typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -/* Called when we need to dup an object */ -typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, - void *from_d, int idx, long argl, void *argp); -# endif - -/* A generic structure to pass assorted data in a expandable way */ -typedef struct openssl_item_st { - int code; - void *value; /* Not used for flag attributes */ - size_t value_size; /* Max size of value for output, length for - * input */ - size_t *value_length; /* Returned length of value for output */ -} OPENSSL_ITEM; - -/* - * When changing the CRYPTO_LOCK_* list, be sure to maintin 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 OPENSSL_NO_LOCKING -# ifndef CRYPTO_w_lock -# define CRYPTO_w_lock(type) \ - CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) -# define CRYPTO_w_unlock(type) \ - CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) -# define CRYPTO_r_lock(type) \ - CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) -# define CRYPTO_r_unlock(type) \ - CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) -# define CRYPTO_add(addr,amount,type) \ - CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) -# endif -# else -# define CRYPTO_w_lock(a) -# define CRYPTO_w_unlock(a) -# define CRYPTO_r_lock(a) -# define CRYPTO_r_unlock(a) -# define CRYPTO_add(a,b,c) ((*(a))+=(b)) -# 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 { - STACK_OF(void) *sk; - /* gcc is screwing up this data structure :-( */ - int dummy; -}; -DECLARE_STACK_OF(void) - -/* - * This stuff is basically class callback functions The current classes are - * SSL_CTX, SSL, SSL_SESSION, and a few more - */ - -typedef struct crypto_ex_data_func_st { - long argl; /* Arbitary long */ - void *argp; /* Arbitary void * */ - CRYPTO_EX_new *new_func; - CRYPTO_EX_free *free_func; - CRYPTO_EX_dup *dup_func; -} CRYPTO_EX_DATA_FUNCS; - -DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) - -/* - * Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA - * entry. - */ - -# define CRYPTO_EX_INDEX_BIO 0 -# define CRYPTO_EX_INDEX_SSL 1 -# define CRYPTO_EX_INDEX_SSL_CTX 2 -# define CRYPTO_EX_INDEX_SSL_SESSION 3 -# define CRYPTO_EX_INDEX_X509_STORE 4 -# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 -# define CRYPTO_EX_INDEX_RSA 6 -# define CRYPTO_EX_INDEX_DSA 7 -# define CRYPTO_EX_INDEX_DH 8 -# define CRYPTO_EX_INDEX_ENGINE 9 -# define CRYPTO_EX_INDEX_X509 10 -# define CRYPTO_EX_INDEX_UI 11 -# define CRYPTO_EX_INDEX_ECDSA 12 -# define CRYPTO_EX_INDEX_ECDH 13 -# define CRYPTO_EX_INDEX_COMP 14 -# define CRYPTO_EX_INDEX_STORE 15 - -/* - * Dynamically assigned indexes start from this value (don't use directly, - * use via CRYPTO_ex_data_new_class). - */ -# define CRYPTO_EX_INDEX_USER 100 - -/* - * This is the default callbacks, but we can have others as well: this is - * needed in Win32 where the application malloc and the library malloc may - * not be the same. - */ -# define CRYPTO_malloc_init() CRYPTO_set_mem_functions(\ - malloc, realloc, free) - -# if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD -# ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ -# define CRYPTO_MDEBUG -# endif -# endif - -/* - * Set standard debugging functions (not done by default unless CRYPTO_MDEBUG - * is defined) - */ -# define CRYPTO_malloc_debug_init() do {\ - CRYPTO_set_mem_debug_functions(\ - CRYPTO_dbg_malloc,\ - CRYPTO_dbg_realloc,\ - CRYPTO_dbg_free,\ - CRYPTO_dbg_set_options,\ - CRYPTO_dbg_get_options);\ - } while(0) - -int CRYPTO_mem_ctrl(int mode); -int CRYPTO_is_mem_check_on(void); - -/* for applications */ -# define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) -# define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) - -/* for library-internal use */ -# define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) -# define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) -# define is_MemCheck_on() CRYPTO_is_mem_check_on() - -# define OPENSSL_malloc(num) CRYPTO_malloc((int)num,__FILE__,__LINE__) -# define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__) -# define OPENSSL_realloc(addr,num) \ - CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__) -# define OPENSSL_realloc_clean(addr,old_num,num) \ - CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__) -# define OPENSSL_remalloc(addr,num) \ - CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__) -# define OPENSSL_freeFunc CRYPTO_free -# define OPENSSL_free(addr) CRYPTO_free(addr) - -# define OPENSSL_malloc_locked(num) \ - CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) -# define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) - -const char *SSLeay_version(int type); -unsigned long SSLeay(void); - -int OPENSSL_issetugid(void); - -/* An opaque type representing an implementation of "ex_data" support */ -typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; -/* Return an opaque pointer to the current "ex_data" implementation */ -const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); -/* Sets the "ex_data" implementation to be used (if it's not too late) */ -int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); -/* Get a new "ex_data" class, and return the corresponding "class_index" */ -int CRYPTO_ex_data_new_class(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); - -int CRYPTO_get_new_lockid(char *name); - -int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ -void CRYPTO_lock(int mode, int type, const char *file, int line); -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); - -/* Don't use this structure directly. */ -typedef struct crypto_threadid_st { - void *ptr; - unsigned long val; -} CRYPTO_THREADID; -/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ -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 *); -void CRYPTO_THREADID_current(CRYPTO_THREADID *id); -int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); -void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); -unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); -# ifndef OPENSSL_NO_DEPRECATED -void CRYPTO_set_id_callback(unsigned long (*func) (void)); -unsigned long (*CRYPTO_get_id_callback(void)) (void); -unsigned long CRYPTO_thread_id(void); -# endif - -const char *CRYPTO_get_lock_name(int type); -int CRYPTO_add_lock(int *pointer, int amount, int type, const char *file, - int line); - -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); - -/* - * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call - * the latter last if you need different functions - */ -int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), - void (*f) (void *)); -int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), - void (*free_func) (void *)); -int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), - void *(*r) (void *, size_t, const char *, - int), void (*f) (void *)); -int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), - void (*free_func) (void *)); -int CRYPTO_set_mem_debug_functions(void (*m) - (void *, int, const char *, int, int), - void (*r) (void *, void *, int, - const char *, int, int), - void (*f) (void *, int), void (*so) (long), - long (*go) (void)); -void CRYPTO_get_mem_functions(void *(**m) (size_t), - void *(**r) (void *, size_t), - void (**f) (void *)); -void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), - void (**f) (void *)); -void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), - void *(**r) (void *, size_t, const char *, - int), void (**f) (void *)); -void CRYPTO_get_locked_mem_ex_functions(void - *(**m) (size_t, const char *, int), - void (**f) (void *)); -void CRYPTO_get_mem_debug_functions(void (**m) - (void *, int, const char *, int, int), - void (**r) (void *, void *, int, - const char *, int, int), - void (**f) (void *, int), - void (**so) (long), long (**go) (void)); - -void *CRYPTO_malloc_locked(int num, const char *file, int line); -void CRYPTO_free_locked(void *ptr); -void *CRYPTO_malloc(int num, const char *file, int line); -char *CRYPTO_strdup(const char *str, const char *file, int line); -void CRYPTO_free(void *ptr); -void *CRYPTO_realloc(void *addr, int num, const char *file, int line); -void *CRYPTO_realloc_clean(void *addr, int old_num, int num, const char *file, - int line); -void *CRYPTO_remalloc(void *addr, int num, const char *file, int line); - -void OPENSSL_cleanse(void *ptr, size_t len); - -void CRYPTO_set_mem_debug_options(long bits); -long CRYPTO_get_mem_debug_options(void); - -# define CRYPTO_push_info(info) \ - CRYPTO_push_info_(info, __FILE__, __LINE__); -int CRYPTO_push_info_(const char *info, const char *file, int line); -int CRYPTO_pop_info(void); -int CRYPTO_remove_all_info(void); - -/* - * Default debugging functions (enabled by CRYPTO_malloc_debug_init() macro; - * used as default in CRYPTO_MDEBUG compilations): - */ -/*- - * The last argument has the following significance: - * - * 0: called before the actual memory allocation has taken place - * 1: called after the actual memory allocation has taken place - */ -void CRYPTO_dbg_malloc(void *addr, int num, const char *file, int line, - int before_p); -void CRYPTO_dbg_realloc(void *addr1, void *addr2, int num, const char *file, - int line, int before_p); -void CRYPTO_dbg_free(void *addr, int before_p); -/*- - * Tell the debugging code about options. By default, the following values - * apply: - * - * 0: Clear all options. - * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. - * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. - * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 - */ -void CRYPTO_dbg_set_options(long bits); -long CRYPTO_dbg_get_options(void); - -# ifndef OPENSSL_NO_FP_API -void CRYPTO_mem_leaks_fp(FILE *); -# endif -void CRYPTO_mem_leaks(struct bio_st *bio); -/* unsigned long order, char *file, int line, int num_bytes, char *addr */ -typedef void *CRYPTO_MEM_LEAK_CB (unsigned long, const char *, int, int, - void *); -void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); - -/* die if we have to */ -void OpenSSLDie(const char *file, int line, const char *assertion); -# define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1)) - -unsigned long *OPENSSL_ia32cap_loc(void); -# define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) -int OPENSSL_isservice(void); - -int FIPS_mode(void); -int FIPS_mode_set(int r); - -void OPENSSL_init(void); - -# define fips_md_init(alg) fips_md_init_ctx(alg, alg) - -# ifdef OPENSSL_FIPS -# define fips_md_init_ctx(alg, cx) \ - int alg##_Init(cx##_CTX *c) \ - { \ - if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ - "Low level API call to digest " #alg " forbidden in FIPS mode!"); \ - return private_##alg##_Init(c); \ - } \ - int private_##alg##_Init(cx##_CTX *c) - -# define fips_cipher_abort(alg) \ - if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ - "Low level API call to cipher " #alg " forbidden in FIPS mode!") - -# else -# define fips_md_init_ctx(alg, cx) \ - int alg##_Init(cx##_CTX *c) -# define fips_cipher_abort(alg) while(0) -# endif - -/* - * 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 volatile void *a, const volatile void *b, size_t len); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/des.h b/src/components/openssl/des.h deleted file mode 100644 index dc85c33..0000000 --- a/src/components/openssl/des.h +++ /dev/null @@ -1,257 +0,0 @@ -/* crypto/des/des.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.] - */ - -#ifndef HEADER_NEW_DES_H -# define HEADER_NEW_DES_H - -# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG - * (via openssl/opensslconf.h */ - -# ifdef OPENSSL_NO_DES -# error DES is disabled. -# endif - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -#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; - -# ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT -# ifndef OPENSSL_ENABLE_OLD_DES_SUPPORT -# define OPENSSL_ENABLE_OLD_DES_SUPPORT -# endif -# endif - -# ifdef OPENSSL_ENABLE_OLD_DES_SUPPORT -# include -# endif - -# 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)) - -OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ -# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) -OPENSSL_DECLARE_GLOBAL(int, DES_rw_mode); /* defaults to DES_PCBC_MODE */ -# define DES_rw_mode OPENSSL_GLOBAL_REF(DES_rw_mode) - -const char *DES_options(void); -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); -# if 0 -void DES_xwhite_in2out(const_DES_cblock *DES_key, const_DES_cblock *in_white, - DES_cblock *out_white); -# endif - -int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched, - DES_cblock *iv); -int DES_enc_write(int fd, const void *buf, int len, DES_key_schedule *sched, - DES_cblock *iv); -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); -# ifdef OPENSSL_FIPS -void private_DES_set_key_unchecked(const_DES_cblock *key, - DES_key_schedule *schedule); -# endif -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); - -int DES_read_password(DES_cblock *key, const char *prompt, int verify); -int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, - const char *prompt, int verify); - -# define DES_fixup_key_parity DES_set_odd_parity - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/des_old.h b/src/components/openssl/des_old.h deleted file mode 100644 index 1de076b..0000000 --- a/src/components/openssl/des_old.h +++ /dev/null @@ -1,497 +0,0 @@ -/* crypto/des/des_old.h */ - -/*- - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - * - * The function names in here are deprecated and are only present to - * provide an interface compatible with openssl 0.9.6 and older as - * well as libdes. OpenSSL now provides functions where "des_" has - * been replaced with "DES_" in the names, to make it possible to - * make incompatible changes that are needed for C type security and - * other stuff. - * - * This include files has two compatibility modes: - * - * - If OPENSSL_DES_LIBDES_COMPATIBILITY is defined, you get an API - * that is compatible with libdes and SSLeay. - * - If OPENSSL_DES_LIBDES_COMPATIBILITY isn't defined, you get an - * API that is compatible with OpenSSL 0.9.5x to 0.9.6x. - * - * Note that these modes break earlier snapshots of OpenSSL, where - * libdes compatibility was the only available mode or (later on) the - * prefered compatibility mode. However, after much consideration - * (and more or less violent discussions with external parties), it - * was concluded that OpenSSL should be compatible with earlier versions - * of itself before anything else. Also, in all honesty, libdes is - * an old beast that shouldn't really be used any more. - * - * Please consider starting to use the DES_ functions rather than the - * des_ ones. The des_ functions will disappear completely before - * OpenSSL 1.0! - * - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - */ - -/* - * Written by Richard Levitte (richard@levitte.org) for the OpenSSL project - * 2001. - */ -/* ==================================================================== - * 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). - * - */ - -#ifndef HEADER_DES_H -# define HEADER_DES_H - -# include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */ - -# ifdef OPENSSL_NO_DES -# error DES is disabled. -# endif - -# ifndef HEADER_NEW_DES_H -# error You must include des.h, not des_old.h directly. -# endif - -# ifdef _KERBEROS_DES_H -# error replaces . -# endif - -# include - -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef _ -# undef _ -# endif - -typedef unsigned char _ossl_old_des_cblock[8]; -typedef struct _ossl_old_des_ks_struct { - union { - _ossl_old_des_cblock _; - /* - * make sure things are correct size on machines with 8 byte longs - */ - DES_LONG pad[2]; - } ks; -} _ossl_old_des_key_schedule[16]; - -# ifndef OPENSSL_DES_LIBDES_COMPATIBILITY -# define des_cblock DES_cblock -# define const_des_cblock const_DES_cblock -# define des_key_schedule DES_key_schedule -# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ - DES_ecb3_encrypt((i),(o),&(k1),&(k2),&(k3),(e)) -# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ - DES_ede3_cbc_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(e)) -# define des_ede3_cbcm_encrypt(i,o,l,k1,k2,k3,iv1,iv2,e)\ - DES_ede3_cbcm_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv1),(iv2),(e)) -# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ - DES_ede3_cfb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n),(e)) -# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ - DES_ede3_ofb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n)) -# define des_options()\ - DES_options() -# define des_cbc_cksum(i,o,l,k,iv)\ - DES_cbc_cksum((i),(o),(l),&(k),(iv)) -# define des_cbc_encrypt(i,o,l,k,iv,e)\ - DES_cbc_encrypt((i),(o),(l),&(k),(iv),(e)) -# define des_ncbc_encrypt(i,o,l,k,iv,e)\ - DES_ncbc_encrypt((i),(o),(l),&(k),(iv),(e)) -# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ - DES_xcbc_encrypt((i),(o),(l),&(k),(iv),(inw),(outw),(e)) -# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ - DES_cfb_encrypt((i),(o),(n),(l),&(k),(iv),(e)) -# define des_ecb_encrypt(i,o,k,e)\ - DES_ecb_encrypt((i),(o),&(k),(e)) -# define des_encrypt1(d,k,e)\ - DES_encrypt1((d),&(k),(e)) -# define des_encrypt2(d,k,e)\ - DES_encrypt2((d),&(k),(e)) -# define des_encrypt3(d,k1,k2,k3)\ - DES_encrypt3((d),&(k1),&(k2),&(k3)) -# define des_decrypt3(d,k1,k2,k3)\ - DES_decrypt3((d),&(k1),&(k2),&(k3)) -# define des_xwhite_in2out(k,i,o)\ - DES_xwhite_in2out((k),(i),(o)) -# define des_enc_read(f,b,l,k,iv)\ - DES_enc_read((f),(b),(l),&(k),(iv)) -# define des_enc_write(f,b,l,k,iv)\ - DES_enc_write((f),(b),(l),&(k),(iv)) -# define des_fcrypt(b,s,r)\ - DES_fcrypt((b),(s),(r)) -# if 0 -# define des_crypt(b,s)\ - DES_crypt((b),(s)) -# if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__) -# define crypt(b,s)\ - DES_crypt((b),(s)) -# endif -# endif -# define des_ofb_encrypt(i,o,n,l,k,iv)\ - DES_ofb_encrypt((i),(o),(n),(l),&(k),(iv)) -# define des_pcbc_encrypt(i,o,l,k,iv,e)\ - DES_pcbc_encrypt((i),(o),(l),&(k),(iv),(e)) -# define des_quad_cksum(i,o,l,c,s)\ - DES_quad_cksum((i),(o),(l),(c),(s)) -# define des_random_seed(k)\ - _ossl_096_des_random_seed((k)) -# define des_random_key(r)\ - DES_random_key((r)) -# define des_read_password(k,p,v) \ - DES_read_password((k),(p),(v)) -# define des_read_2passwords(k1,k2,p,v) \ - DES_read_2passwords((k1),(k2),(p),(v)) -# define des_set_odd_parity(k)\ - DES_set_odd_parity((k)) -# define des_check_key_parity(k)\ - DES_check_key_parity((k)) -# define des_is_weak_key(k)\ - DES_is_weak_key((k)) -# define des_set_key(k,ks)\ - DES_set_key((k),&(ks)) -# define des_key_sched(k,ks)\ - DES_key_sched((k),&(ks)) -# define des_set_key_checked(k,ks)\ - DES_set_key_checked((k),&(ks)) -# define des_set_key_unchecked(k,ks)\ - DES_set_key_unchecked((k),&(ks)) -# define des_string_to_key(s,k)\ - DES_string_to_key((s),(k)) -# define des_string_to_2keys(s,k1,k2)\ - DES_string_to_2keys((s),(k1),(k2)) -# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ - DES_cfb64_encrypt((i),(o),(l),&(ks),(iv),(n),(e)) -# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ - DES_ofb64_encrypt((i),(o),(l),&(ks),(iv),(n)) - -# 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)) - -# define des_check_key DES_check_key -# define des_rw_mode DES_rw_mode -# else /* libdes compatibility */ -/* - * Map all symbol names to _ossl_old_des_* form, so we avoid all clashes with - * libdes - */ -# define des_cblock _ossl_old_des_cblock -# define des_key_schedule _ossl_old_des_key_schedule -# define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ - _ossl_old_des_ecb3_encrypt((i),(o),(k1),(k2),(k3),(e)) -# define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ - _ossl_old_des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e)) -# define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ - _ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e)) -# define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ - _ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n)) -# define des_options()\ - _ossl_old_des_options() -# define des_cbc_cksum(i,o,l,k,iv)\ - _ossl_old_des_cbc_cksum((i),(o),(l),(k),(iv)) -# define des_cbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_cbc_encrypt((i),(o),(l),(k),(iv),(e)) -# define des_ncbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_ncbc_encrypt((i),(o),(l),(k),(iv),(e)) -# define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ - _ossl_old_des_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e)) -# define des_cfb_encrypt(i,o,n,l,k,iv,e)\ - _ossl_old_des_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e)) -# define des_ecb_encrypt(i,o,k,e)\ - _ossl_old_des_ecb_encrypt((i),(o),(k),(e)) -# define des_encrypt(d,k,e)\ - _ossl_old_des_encrypt((d),(k),(e)) -# define des_encrypt2(d,k,e)\ - _ossl_old_des_encrypt2((d),(k),(e)) -# define des_encrypt3(d,k1,k2,k3)\ - _ossl_old_des_encrypt3((d),(k1),(k2),(k3)) -# define des_decrypt3(d,k1,k2,k3)\ - _ossl_old_des_decrypt3((d),(k1),(k2),(k3)) -# define des_xwhite_in2out(k,i,o)\ - _ossl_old_des_xwhite_in2out((k),(i),(o)) -# define des_enc_read(f,b,l,k,iv)\ - _ossl_old_des_enc_read((f),(b),(l),(k),(iv)) -# define des_enc_write(f,b,l,k,iv)\ - _ossl_old_des_enc_write((f),(b),(l),(k),(iv)) -# define des_fcrypt(b,s,r)\ - _ossl_old_des_fcrypt((b),(s),(r)) -# define des_crypt(b,s)\ - _ossl_old_des_crypt((b),(s)) -# if 0 -# define crypt(b,s)\ - _ossl_old_crypt((b),(s)) -# endif -# define des_ofb_encrypt(i,o,n,l,k,iv)\ - _ossl_old_des_ofb_encrypt((i),(o),(n),(l),(k),(iv)) -# define des_pcbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_pcbc_encrypt((i),(o),(l),(k),(iv),(e)) -# define des_quad_cksum(i,o,l,c,s)\ - _ossl_old_des_quad_cksum((i),(o),(l),(c),(s)) -# define des_random_seed(k)\ - _ossl_old_des_random_seed((k)) -# define des_random_key(r)\ - _ossl_old_des_random_key((r)) -# define des_read_password(k,p,v) \ - _ossl_old_des_read_password((k),(p),(v)) -# define des_read_2passwords(k1,k2,p,v) \ - _ossl_old_des_read_2passwords((k1),(k2),(p),(v)) -# define des_set_odd_parity(k)\ - _ossl_old_des_set_odd_parity((k)) -# define des_is_weak_key(k)\ - _ossl_old_des_is_weak_key((k)) -# define des_set_key(k,ks)\ - _ossl_old_des_set_key((k),(ks)) -# define des_key_sched(k,ks)\ - _ossl_old_des_key_sched((k),(ks)) -# define des_string_to_key(s,k)\ - _ossl_old_des_string_to_key((s),(k)) -# define des_string_to_2keys(s,k1,k2)\ - _ossl_old_des_string_to_2keys((s),(k1),(k2)) -# define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ - _ossl_old_des_cfb64_encrypt((i),(o),(l),(ks),(iv),(n),(e)) -# define des_ofb64_encrypt(i,o,l,ks,iv,n)\ - _ossl_old_des_ofb64_encrypt((i),(o),(l),(ks),(iv),(n)) - -# 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)) - -# define des_check_key DES_check_key -# define des_rw_mode DES_rw_mode -# endif - -const char *_ossl_old_des_options(void); -void _ossl_old_des_ecb3_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, int enc); -DES_LONG _ossl_old_des_cbc_cksum(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec); -void _ossl_old_des_cbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ncbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_xcbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, - _ossl_old_des_cblock *inw, - _ossl_old_des_cblock *outw, int enc); -void _ossl_old_des_cfb_encrypt(unsigned char *in, unsigned char *out, - int numbits, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ecb_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, - _ossl_old_des_key_schedule ks, int enc); -void _ossl_old_des_encrypt(DES_LONG *data, _ossl_old_des_key_schedule ks, - int enc); -void _ossl_old_des_encrypt2(DES_LONG *data, _ossl_old_des_key_schedule ks, - int enc); -void _ossl_old_des_encrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3); -void _ossl_old_des_decrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3); -void _ossl_old_des_ede3_cbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, - _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ede3_cfb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, - _ossl_old_des_cblock *ivec, int *num, - int enc); -void _ossl_old_des_ede3_ofb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, - _ossl_old_des_cblock *ivec, int *num); -# if 0 -void _ossl_old_des_xwhite_in2out(_ossl_old_des_cblock (*des_key), - _ossl_old_des_cblock (*in_white), - _ossl_old_des_cblock (*out_white)); -# endif - -int _ossl_old_des_enc_read(int fd, char *buf, int len, - _ossl_old_des_key_schedule sched, - _ossl_old_des_cblock *iv); -int _ossl_old_des_enc_write(int fd, char *buf, int len, - _ossl_old_des_key_schedule sched, - _ossl_old_des_cblock *iv); -char *_ossl_old_des_fcrypt(const char *buf, const char *salt, char *ret); -char *_ossl_old_des_crypt(const char *buf, const char *salt); -# if !defined(PERL5) && !defined(NeXT) -char *_ossl_old_crypt(const char *buf, const char *salt); -# endif -void _ossl_old_des_ofb_encrypt(unsigned char *in, unsigned char *out, - int numbits, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec); -void _ossl_old_des_pcbc_encrypt(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int enc); -DES_LONG _ossl_old_des_quad_cksum(_ossl_old_des_cblock *input, - _ossl_old_des_cblock *output, long length, - int out_count, _ossl_old_des_cblock *seed); -void _ossl_old_des_random_seed(_ossl_old_des_cblock key); -void _ossl_old_des_random_key(_ossl_old_des_cblock ret); -int _ossl_old_des_read_password(_ossl_old_des_cblock *key, const char *prompt, - int verify); -int _ossl_old_des_read_2passwords(_ossl_old_des_cblock *key1, - _ossl_old_des_cblock *key2, - const char *prompt, int verify); -void _ossl_old_des_set_odd_parity(_ossl_old_des_cblock *key); -int _ossl_old_des_is_weak_key(_ossl_old_des_cblock *key); -int _ossl_old_des_set_key(_ossl_old_des_cblock *key, - _ossl_old_des_key_schedule schedule); -int _ossl_old_des_key_sched(_ossl_old_des_cblock *key, - _ossl_old_des_key_schedule schedule); -void _ossl_old_des_string_to_key(char *str, _ossl_old_des_cblock *key); -void _ossl_old_des_string_to_2keys(char *str, _ossl_old_des_cblock *key1, - _ossl_old_des_cblock *key2); -void _ossl_old_des_cfb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int *num, - int enc); -void _ossl_old_des_ofb64_encrypt(unsigned char *in, unsigned char *out, - long length, - _ossl_old_des_key_schedule schedule, - _ossl_old_des_cblock *ivec, int *num); - -void _ossl_096_des_random_seed(des_cblock *key); - -/* - * The following definitions provide compatibility with the MIT Kerberos - * library. The _ossl_old_des_key_schedule structure is not binary - * compatible. - */ - -# define _KERBEROS_DES_H - -# define KRBDES_ENCRYPT DES_ENCRYPT -# define KRBDES_DECRYPT DES_DECRYPT - -# ifdef KERBEROS -# define ENCRYPT DES_ENCRYPT -# define DECRYPT DES_DECRYPT -# endif - -# ifndef NCOMPAT -# define C_Block des_cblock -# define Key_schedule des_key_schedule -# define KEY_SZ DES_KEY_SZ -# define string_to_key des_string_to_key -# define read_pw_string des_read_pw_string -# define random_key des_random_key -# define pcbc_encrypt des_pcbc_encrypt -# define set_key des_set_key -# define key_sched des_key_sched -# define ecb_encrypt des_ecb_encrypt -# define cbc_encrypt des_cbc_encrypt -# define ncbc_encrypt des_ncbc_encrypt -# define xcbc_encrypt des_xcbc_encrypt -# define cbc_cksum des_cbc_cksum -# define quad_cksum des_quad_cksum -# define check_parity des_check_key_parity -# endif - -# define des_fixup_key_parity DES_fixup_key_parity - -#ifdef __cplusplus -} -#endif - -/* for DES_read_pw_string et al */ -# include - -#endif diff --git a/src/components/openssl/dh.h b/src/components/openssl/dh.h deleted file mode 100644 index ba78804..0000000 --- a/src/components/openssl/dh.h +++ /dev/null @@ -1,393 +0,0 @@ -/* crypto/dh/dh.h */ -/* 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 - -# ifdef OPENSSL_NO_DH -# error DH is disabled. -# endif - -# ifndef OPENSSL_NO_BIO -# include -# endif -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -# ifndef OPENSSL_DH_MAX_MODULUS_BITS -# define OPENSSL_DH_MAX_MODULUS_BITS 10000 -# endif - -# define DH_FLAG_CACHE_MONT_P 0x01 - -/* - * new with 0.9.7h; the built-in DH - * implementation now uses constant time - * modular exponentiation for secret exponents - * by default. This flag causes the - * faster variable sliding window method to - * be used for all exponents. - */ -# define DH_FLAG_NO_EXP_CONSTTIME 0x02 - -/* - * 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 - -/* Already defined in ossl_typ.h */ -/* typedef struct dh_st DH; */ -/* typedef struct dh_method DH_METHOD; */ - -struct dh_method { - const char *name; - /* Methods here */ - int (*generate_key) (DH *dh); - int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh); - /* Can be null */ - int (*bn_mod_exp) (const DH *dh, BIGNUM *r, const BIGNUM *a, - const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *m_ctx); - int (*init) (DH *dh); - int (*finish) (DH *dh); - int flags; - char *app_data; - /* If this is non-NULL, it will be used to generate parameters */ - int (*generate_params) (DH *dh, int prime_len, int generator, - BN_GENCB *cb); -}; - -struct dh_st { - /* - * This first argument is used to pick up errors when a DH is passed - * instead of a EVP_PKEY - */ - int pad; - int version; - BIGNUM *p; - BIGNUM *g; - long length; /* optional */ - BIGNUM *pub_key; /* g^x % p */ - BIGNUM *priv_key; /* x */ - int flags; - BN_MONT_CTX *method_mont_p; - /* Place holders if we want to do X9.42 DH */ - BIGNUM *q; - BIGNUM *j; - unsigned char *seed; - int seedlen; - BIGNUM *counter; - int references; - CRYPTO_EX_DATA ex_data; - const DH_METHOD *meth; - ENGINE *engine; -}; - -# 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 - -# define d2i_DHparams_fp(fp,x) (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHparams,(fp),(unsigned char **)(x)) -# define i2d_DHparams_fp(fp,x) ASN1_i2d_fp(i2d_DHparams,(fp), \ - (unsigned char *)(x)) -# define d2i_DHparams_bio(bp,x) ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x) -# define i2d_DHparams_bio(bp,x) ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) - -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_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); - -/* Deprecated version */ -# ifndef OPENSSL_NO_DEPRECATED -DH *DH_generate_parameters(int prime_len, int generator, - void (*callback) (int, int, void *), void *cb_arg); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* 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); -int DH_compute_key_padded(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); -DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); -int i2d_DHxparams(const DH *a, unsigned char **pp); -# ifndef OPENSSL_NO_FP_API -int DHparams_print_fp(FILE *fp, const DH *x); -# endif -# ifndef OPENSSL_NO_BIO -int DHparams_print(BIO *bp, const DH *x); -# else -int DHparams_print(char *bp, const DH *x); -# endif - -/* RFC 5114 parameters */ -DH *DH_get_1024_160(void); -DH *DH_get_2048_224(void); -DH *DH_get_2048_256(void); - -/* RFC2631 KDF */ -int DH_KDF_X9_42(unsigned char *out, size_t outlen, - const unsigned char *Z, size_t Zlen, - ASN1_OBJECT *key_oid, - const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); - -# 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_subprime_len(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, 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_CTX_set_dh_rfc5114(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) - -# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) - -# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) - -# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) - -# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)oid) - -# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)poid) - -# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)md) - -# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)pmd) - -# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) - -# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)plen) - -# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)p) - -# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ - EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)p) - -# 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) -# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) -# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) - -/* KDF types */ -# define EVP_PKEY_DH_KDF_NONE 1 -# define EVP_PKEY_DH_KDF_X9_42 2 - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_CMS_DECRYPT 117 -# define DH_F_DH_CMS_SET_PEERKEY 118 -# define DH_F_DH_CMS_SET_SHARED_INFO 119 -# 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_KDF_PARAMETER_ERROR 112 -# 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_PEER_KEY_ERROR 113 -# define DH_R_SHARED_INFO_ERROR 114 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/dsa.h b/src/components/openssl/dsa.h deleted file mode 100644 index cdf1bd4..0000000 --- a/src/components/openssl/dsa.h +++ /dev/null @@ -1,332 +0,0 @@ -/* crypto/dsa/dsa.h */ -/* 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 - -# ifdef OPENSSL_NO_DSA -# error DSA is disabled. -# endif - -# ifndef OPENSSL_NO_BIO -# include -# endif -# include -# include - -# ifndef OPENSSL_NO_DEPRECATED -# include -# ifndef OPENSSL_NO_DH -# include -# endif -# endif - -# ifndef OPENSSL_DSA_MAX_MODULUS_BITS -# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 -# endif - -# define DSA_FLAG_CACHE_MONT_P 0x01 -/* - * new with 0.9.7h; the built-in DSA implementation now uses constant time - * modular exponentiation for secret exponents by default. This flag causes - * the faster variable sliding window method to be used for all exponents. - */ -# define DSA_FLAG_NO_EXP_CONSTTIME 0x02 - -/* - * 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 - -/* Already defined in ossl_typ.h */ -/* typedef struct dsa_st DSA; */ -/* typedef struct dsa_method DSA_METHOD; */ - -typedef struct DSA_SIG_st { - BIGNUM *r; - BIGNUM *s; -} DSA_SIG; - -struct dsa_method { - const char *name; - DSA_SIG *(*dsa_do_sign) (const unsigned char *dgst, int dlen, DSA *dsa); - int (*dsa_sign_setup) (DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, - BIGNUM **rp); - int (*dsa_do_verify) (const unsigned char *dgst, int dgst_len, - DSA_SIG *sig, DSA *dsa); - int (*dsa_mod_exp) (DSA *dsa, BIGNUM *rr, BIGNUM *a1, BIGNUM *p1, - BIGNUM *a2, BIGNUM *p2, BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *in_mont); - /* Can be null */ - int (*bn_mod_exp) (DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); - int (*init) (DSA *dsa); - int (*finish) (DSA *dsa); - int flags; - char *app_data; - /* If this is non-NULL, it is used to generate DSA parameters */ - int (*dsa_paramgen) (DSA *dsa, int bits, - const unsigned char *seed, int seed_len, - int *counter_ret, unsigned long *h_ret, - BN_GENCB *cb); - /* If this is non-NULL, it is used to generate DSA keys */ - int (*dsa_keygen) (DSA *dsa); -}; - -struct dsa_st { - /* - * This first variable is used to pick up errors where a DSA is passed - * instead of of a EVP_PKEY - */ - int pad; - long version; - int write_params; - BIGNUM *p; - BIGNUM *q; /* == 20 */ - BIGNUM *g; - BIGNUM *pub_key; /* y public key */ - BIGNUM *priv_key; /* x private key */ - BIGNUM *kinv; /* Signing pre-calc */ - BIGNUM *r; /* Signing pre-calc */ - int flags; - /* Normally used to cache montgomery values */ - BN_MONT_CTX *method_mont_p; - int references; - CRYPTO_EX_DATA ex_data; - const DSA_METHOD *meth; - /* functional reference if 'meth' is ENGINE-provided */ - ENGINE *engine; -}; - -# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ - (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) -# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ - (unsigned char *)(x)) -# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) -# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) - -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); - -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 *); - /* 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); - -DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); -DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); -DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); - -/* Deprecated version */ -# ifndef OPENSSL_NO_DEPRECATED -DSA *DSA_generate_parameters(int bits, - unsigned char *seed, int seed_len, - int *counter_ret, unsigned long *h_ret, void - (*callback) (int, int, void *), void *cb_arg); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* 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); -int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); -int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); -int i2d_DSAparams(const DSA *a, unsigned char **pp); - -# ifndef OPENSSL_NO_BIO -int DSAparams_print(BIO *bp, const DSA *x); -int DSA_print(BIO *bp, const DSA *x, int off); -# endif -# ifndef OPENSSL_NO_FP_API -int DSAparams_print_fp(FILE *fp, const DSA *x); -int DSA_print_fp(FILE *bp, const DSA *x, int off); -# endif - -# define DSS_prime_checks 50 -/* - * Primality test according to FIPS PUB 186[-1], Appendix 2.1: 50 rounds of - * Rabin-Miller - */ -# define DSA_is_prime(n, callback, cb_arg) \ - BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) - -# 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 - -# 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) - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_BUILTIN_PARAMGEN2 126 -# 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 -# define DSA_R_Q_NOT_PRIME 113 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/dso.h b/src/components/openssl/dso.h deleted file mode 100644 index e0e5d48..0000000 --- a/src/components/openssl/dso.h +++ /dev/null @@ -1,451 +0,0 @@ -/* dso.h */ -/* - * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project - * 2000. - */ -/* ==================================================================== - * Copyright (c) 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 - * 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_DSO_H -# define HEADER_DSO_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* These values are used as commands to DSO_ctrl() */ -# define DSO_CTRL_GET_FLAGS 1 -# define DSO_CTRL_SET_FLAGS 2 -# define DSO_CTRL_OR_FLAGS 3 - -/* - * By default, DSO_load() will translate the provided filename into a form - * typical for the platform (more specifically the DSO_METHOD) using the - * dso_name_converter function of the method. Eg. win32 will transform "blah" - * into "blah.dll", and dlfcn will transform it into "libblah.so". The - * behaviour can be overriden by setting the name_converter callback in the - * DSO object (using DSO_set_name_converter()). This callback could even - * utilise the DSO_METHOD's converter too if it only wants to override - * behaviour for one or two possible DSO methods. However, the following flag - * can be set in a DSO to prevent *any* native name-translation at all - eg. - * if the caller has prompted the user for a path to a driver library so the - * filename should be interpreted as-is. - */ -# define DSO_FLAG_NO_NAME_TRANSLATION 0x01 -/* - * An extra flag to give if only the extension should be added as - * translation. This is obviously only of importance on Unix and other - * operating systems where the translation also may prefix the name with - * something, like 'lib', and ignored everywhere else. This flag is also - * ignored if DSO_FLAG_NO_NAME_TRANSLATION is used at the same time. - */ -# define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY 0x02 - -/* - * The following flag controls the translation of symbol names to upper case. - * This is currently only being implemented for OpenVMS. - */ -# define DSO_FLAG_UPCASE_SYMBOL 0x10 - -/* - * This flag loads the library with public symbols. Meaning: The exported - * symbols of this library are public to all libraries loaded after this - * library. At the moment only implemented in unix. - */ -# define DSO_FLAG_GLOBAL_SYMBOLS 0x20 - -typedef void (*DSO_FUNC_TYPE) (void); - -typedef struct dso_st DSO; - -/* - * The function prototype used for method functions (or caller-provided - * callbacks) that transform filenames. They are passed a DSO structure - * pointer (or NULL if they are to be used independantly of a DSO object) and - * a filename to transform. They should either return NULL (if there is an - * error condition) or a newly allocated string containing the transformed - * form that the caller will need to free with OPENSSL_free() when done. - */ -typedef char *(*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *); -/* - * The function prototype used for method functions (or caller-provided - * callbacks) that merge two file specifications. They are passed a DSO - * structure pointer (or NULL if they are to be used independantly of a DSO - * object) and two file specifications to merge. They should either return - * NULL (if there is an error condition) or a newly allocated string - * containing the result of merging that the caller will need to free with - * OPENSSL_free() when done. Here, merging means that bits and pieces are - * taken from each of the file specifications and added together in whatever - * fashion that is sensible for the DSO method in question. The only rule - * that really applies is that if the two specification contain pieces of the - * same type, the copy from the first string takes priority. One could see - * it as the first specification is the one given by the user and the second - * being a bunch of defaults to add on if they're missing in the first. - */ -typedef char *(*DSO_MERGER_FUNC)(DSO *, const char *, const char *); - -typedef struct dso_meth_st { - const char *name; - /* - * Loads a shared library, NB: new DSO_METHODs must ensure that a - * successful load populates the loaded_filename field, and likewise a - * successful unload OPENSSL_frees and NULLs it out. - */ - int (*dso_load) (DSO *dso); - /* Unloads a shared library */ - int (*dso_unload) (DSO *dso); - /* Binds a variable */ - void *(*dso_bind_var) (DSO *dso, const char *symname); - /* - * Binds a function - assumes a return type of DSO_FUNC_TYPE. This should - * be cast to the real function prototype by the caller. Platforms that - * don't have compatible representations for different prototypes (this - * is possible within ANSI C) are highly unlikely to have shared - * libraries at all, let alone a DSO_METHOD implemented for them. - */ - DSO_FUNC_TYPE (*dso_bind_func) (DSO *dso, const char *symname); -/* I don't think this would actually be used in any circumstances. */ -# if 0 - /* Unbinds a variable */ - int (*dso_unbind_var) (DSO *dso, char *symname, void *symptr); - /* Unbinds a function */ - int (*dso_unbind_func) (DSO *dso, char *symname, DSO_FUNC_TYPE symptr); -# endif - /* - * The generic (yuck) "ctrl()" function. NB: Negative return values - * (rather than zero) indicate errors. - */ - long (*dso_ctrl) (DSO *dso, int cmd, long larg, void *parg); - /* - * The default DSO_METHOD-specific function for converting filenames to a - * canonical native form. - */ - DSO_NAME_CONVERTER_FUNC dso_name_converter; - /* - * The default DSO_METHOD-specific function for converting filenames to a - * canonical native form. - */ - DSO_MERGER_FUNC dso_merger; - /* [De]Initialisation handlers. */ - int (*init) (DSO *dso); - int (*finish) (DSO *dso); - /* Return pathname of the module containing location */ - int (*pathbyaddr) (void *addr, char *path, int sz); - /* Perform global symbol lookup, i.e. among *all* modules */ - void *(*globallookup) (const char *symname); -} DSO_METHOD; - -/**********************************************************************/ -/* The low-level handle type used to refer to a loaded shared library */ - -struct dso_st { - DSO_METHOD *meth; - /* - * Standard dlopen uses a (void *). Win32 uses a HANDLE. VMS doesn't use - * anything but will need to cache the filename for use in the dso_bind - * handler. All in all, let each method control its own destiny. - * "Handles" and such go in a STACK. - */ - STACK_OF(void) *meth_data; - int references; - int flags; - /* - * For use by applications etc ... use this for your bits'n'pieces, don't - * touch meth_data! - */ - CRYPTO_EX_DATA ex_data; - /* - * If this callback function pointer is set to non-NULL, then it will be - * used in DSO_load() in place of meth->dso_name_converter. NB: This - * should normally set using DSO_set_name_converter(). - */ - DSO_NAME_CONVERTER_FUNC name_converter; - /* - * If this callback function pointer is set to non-NULL, then it will be - * used in DSO_load() in place of meth->dso_merger. NB: This should - * normally set using DSO_set_merger(). - */ - DSO_MERGER_FUNC merger; - /* - * This is populated with (a copy of) the platform-independant filename - * used for this DSO. - */ - char *filename; - /* - * This is populated with (a copy of) the translated filename by which - * the DSO was actually loaded. It is NULL iff the DSO is not currently - * loaded. NB: This is here because the filename translation process may - * involve a callback being invoked more than once not only to convert to - * a platform-specific form, but also to try different filenames in the - * process of trying to perform a load. As such, this variable can be - * used to indicate (a) whether this DSO structure corresponds to a - * loaded library or not, and (b) the filename with which it was actually - * loaded. - */ - char *loaded_filename; -}; - -DSO *DSO_new(void); -DSO *DSO_new_method(DSO_METHOD *method); -int DSO_free(DSO *dso); -int DSO_flags(DSO *dso); -int DSO_up_ref(DSO *dso); -long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg); - -/* - * This function sets the DSO's name_converter callback. If it is non-NULL, - * then it will be used instead of the associated DSO_METHOD's function. If - * oldcb is non-NULL then it is set to the function pointer value being - * replaced. Return value is non-zero for success. - */ -int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb, - DSO_NAME_CONVERTER_FUNC *oldcb); -/* - * These functions can be used to get/set the platform-independant filename - * used for a DSO. NB: set will fail if the DSO is already loaded. - */ -const char *DSO_get_filename(DSO *dso); -int DSO_set_filename(DSO *dso, const char *filename); -/* - * This function will invoke the DSO's name_converter callback to translate a - * filename, or if the callback isn't set it will instead use the DSO_METHOD's - * converter. If "filename" is NULL, the "filename" in the DSO itself will be - * used. If the DSO_FLAG_NO_NAME_TRANSLATION flag is set, then the filename is - * simply duplicated. NB: This function is usually called from within a - * DSO_METHOD during the processing of a DSO_load() call, and is exposed so - * that caller-created DSO_METHODs can do the same thing. A non-NULL return - * value will need to be OPENSSL_free()'d. - */ -char *DSO_convert_filename(DSO *dso, const char *filename); -/* - * This function will invoke the DSO's merger callback to merge two file - * specifications, or if the callback isn't set it will instead use the - * DSO_METHOD's merger. A non-NULL return value will need to be - * OPENSSL_free()'d. - */ -char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2); -/* - * If the DSO is currently loaded, this returns the filename that it was - * loaded under, otherwise it returns NULL. So it is also useful as a test as - * to whether the DSO is currently loaded. NB: This will not necessarily - * return the same value as DSO_convert_filename(dso, dso->filename), because - * the DSO_METHOD's load function may have tried a variety of filenames (with - * and/or without the aid of the converters) before settling on the one it - * actually loaded. - */ -const char *DSO_get_loaded_filename(DSO *dso); - -void DSO_set_default_method(DSO_METHOD *meth); -DSO_METHOD *DSO_get_default_method(void); -DSO_METHOD *DSO_get_method(DSO *dso); -DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth); - -/* - * The all-singing all-dancing load function, you normally pass NULL for the - * first and third parameters. Use DSO_up and DSO_free for subsequent - * reference count handling. Any flags passed in will be set in the - * constructed DSO after its init() function but before the load operation. - * If 'dso' is non-NULL, 'flags' is ignored. - */ -DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags); - -/* This function binds to a variable inside a shared library. */ -void *DSO_bind_var(DSO *dso, const char *symname); - -/* This function binds to a function inside a shared library. */ -DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname); - -/* - * This method is the default, but will beg, borrow, or steal whatever method - * should be the default on any particular platform (including - * DSO_METH_null() if necessary). - */ -DSO_METHOD *DSO_METHOD_openssl(void); - -/* - * This method is defined for all platforms - if a platform has no DSO - * support then this will be the only method! - */ -DSO_METHOD *DSO_METHOD_null(void); - -/* - * If DSO_DLFCN is defined, the standard dlfcn.h-style functions (dlopen, - * dlclose, dlsym, etc) will be used and incorporated into this method. If - * not, this method will return NULL. - */ -DSO_METHOD *DSO_METHOD_dlfcn(void); - -/* - * If DSO_DL is defined, the standard dl.h-style functions (shl_load, - * shl_unload, shl_findsym, etc) will be used and incorporated into this - * method. If not, this method will return NULL. - */ -DSO_METHOD *DSO_METHOD_dl(void); - -/* If WIN32 is defined, use DLLs. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_win32(void); - -/* If VMS is defined, use shared images. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_vms(void); - -/* - * This function writes null-terminated pathname of DSO module containing - * 'addr' into 'sz' large caller-provided 'path' and returns the number of - * characters [including trailing zero] written to it. If 'sz' is 0 or - * negative, 'path' is ignored and required amount of charachers [including - * trailing zero] to accomodate pathname is returned. If 'addr' is NULL, then - * pathname of cryptolib itself is returned. Negative or zero return value - * denotes error. - */ -int DSO_pathbyaddr(void *addr, char *path, int sz); - -/* - * This function should be used with caution! It looks up symbols in *all* - * loaded modules and if module gets unloaded by somebody else attempt to - * dereference the pointer is doomed to have fatal consequences. Primary - * usage for this function is to probe *core* system functionality, e.g. - * check if getnameinfo(3) is available at run-time without bothering about - * OS-specific details such as libc.so.versioning or where does it actually - * reside: in libc itself or libsocket. - */ -void *DSO_global_lookup(const char *name); - -/* If BeOS is defined, use shared images. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_beos(void); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DSO_strings(void); - -/* Error codes for the DSO functions. */ - -/* Function codes. */ -# define DSO_F_BEOS_BIND_FUNC 144 -# define DSO_F_BEOS_BIND_VAR 145 -# define DSO_F_BEOS_LOAD 146 -# define DSO_F_BEOS_NAME_CONVERTER 147 -# define DSO_F_BEOS_UNLOAD 148 -# define DSO_F_DLFCN_BIND_FUNC 100 -# define DSO_F_DLFCN_BIND_VAR 101 -# define DSO_F_DLFCN_LOAD 102 -# define DSO_F_DLFCN_MERGER 130 -# define DSO_F_DLFCN_NAME_CONVERTER 123 -# define DSO_F_DLFCN_UNLOAD 103 -# define DSO_F_DL_BIND_FUNC 104 -# define DSO_F_DL_BIND_VAR 105 -# define DSO_F_DL_LOAD 106 -# define DSO_F_DL_MERGER 131 -# define DSO_F_DL_NAME_CONVERTER 124 -# define DSO_F_DL_UNLOAD 107 -# define DSO_F_DSO_BIND_FUNC 108 -# define DSO_F_DSO_BIND_VAR 109 -# define DSO_F_DSO_CONVERT_FILENAME 126 -# define DSO_F_DSO_CTRL 110 -# define DSO_F_DSO_FREE 111 -# define DSO_F_DSO_GET_FILENAME 127 -# define DSO_F_DSO_GET_LOADED_FILENAME 128 -# define DSO_F_DSO_GLOBAL_LOOKUP 139 -# define DSO_F_DSO_LOAD 112 -# define DSO_F_DSO_MERGE 132 -# define DSO_F_DSO_NEW_METHOD 113 -# define DSO_F_DSO_PATHBYADDR 140 -# define DSO_F_DSO_SET_FILENAME 129 -# define DSO_F_DSO_SET_NAME_CONVERTER 122 -# define DSO_F_DSO_UP_REF 114 -# define DSO_F_GLOBAL_LOOKUP_FUNC 138 -# define DSO_F_PATHBYADDR 137 -# define DSO_F_VMS_BIND_SYM 115 -# define DSO_F_VMS_LOAD 116 -# define DSO_F_VMS_MERGER 133 -# define DSO_F_VMS_UNLOAD 117 -# define DSO_F_WIN32_BIND_FUNC 118 -# define DSO_F_WIN32_BIND_VAR 119 -# define DSO_F_WIN32_GLOBALLOOKUP 142 -# define DSO_F_WIN32_GLOBALLOOKUP_FUNC 143 -# define DSO_F_WIN32_JOINER 135 -# define DSO_F_WIN32_LOAD 120 -# define DSO_F_WIN32_MERGER 134 -# define DSO_F_WIN32_NAME_CONVERTER 125 -# define DSO_F_WIN32_PATHBYADDR 141 -# define DSO_F_WIN32_SPLITTER 136 -# define DSO_F_WIN32_UNLOAD 121 - -/* Reason codes. */ -# define DSO_R_CTRL_FAILED 100 -# define DSO_R_DSO_ALREADY_LOADED 110 -# define DSO_R_EMPTY_FILE_STRUCTURE 113 -# define DSO_R_FAILURE 114 -# define DSO_R_FILENAME_TOO_BIG 101 -# define DSO_R_FINISH_FAILED 102 -# define DSO_R_INCORRECT_FILE_SYNTAX 115 -# define DSO_R_LOAD_FAILED 103 -# define DSO_R_NAME_TRANSLATION_FAILED 109 -# define DSO_R_NO_FILENAME 111 -# define DSO_R_NO_FILE_SPECIFICATION 116 -# define DSO_R_NULL_HANDLE 104 -# define DSO_R_SET_FILENAME_FAILED 112 -# define DSO_R_STACK_ERROR 105 -# define DSO_R_SYM_FAILURE 106 -# define DSO_R_UNLOAD_FAILED 107 -# define DSO_R_UNSUPPORTED 108 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/dtls1.h b/src/components/openssl/dtls1.h deleted file mode 100644 index beda10b..0000000 --- a/src/components/openssl/dtls1.h +++ /dev/null @@ -1,272 +0,0 @@ -/* ssl/dtls1.h */ -/* - * 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 - -# include -# include -# ifdef OPENSSL_SYS_VMS -# include -# include -# endif -# ifdef OPENSSL_SYS_WIN32 -/* Needed for struct timeval */ -# include -# elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) -# include -# else -# if defined(OPENSSL_SYS_VXWORKS) -# include -# else -# include -# endif -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# define DTLS1_VERSION 0xFEFF -# define DTLS1_2_VERSION 0xFEFD -# define DTLS_MAX_VERSION DTLS1_2_VERSION -# define DTLS1_VERSION_MAJOR 0xFE - -# define DTLS1_BAD_VER 0x0100 - -/* Special value for method supporting multiple versions */ -# define DTLS_ANY_VERSION 0x1FFFF - -# if 0 -/* this alert description is not specified anywhere... */ -# define DTLS1_AD_MISSING_HANDSHAKE_MESSAGE 110 -# endif - -/* 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 - -# ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE -# define DTLS1_AL_HEADER_LENGTH 7 -# else -# define DTLS1_AL_HEADER_LENGTH 2 -# endif - -# ifndef OPENSSL_NO_SSL_INTERN - -# ifndef OPENSSL_NO_SCTP -# define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP" -# endif - -/* Max MTU overhead we know about so far is 40 for IPv6 + 8 for UDP */ -# define DTLS1_MAX_MTU_OVERHEAD 48 - -typedef struct dtls1_bitmap_st { - unsigned long map; /* track 32 packets on 32-bit systems and 64 - * - on 64-bit systems */ - unsigned char max_seq_num[8]; /* max record number seen so far, 64-bit - * value in big-endian encoding */ -} DTLS1_BITMAP; - -struct dtls1_retransmit_state { - EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ - EVP_MD_CTX *write_hash; /* used for mac generation */ -# ifndef OPENSSL_NO_COMP - COMP_CTX *compress; /* compression */ -# else - char *compress; -# endif - SSL_SESSION *session; - unsigned short epoch; -}; - -struct hm_header_st { - unsigned char type; - unsigned long msg_len; - unsigned short seq; - unsigned long frag_off; - unsigned long frag_len; - unsigned int is_ccs; - struct dtls1_retransmit_state saved_retransmit_state; -}; - -struct ccs_header_st { - unsigned char type; - unsigned short seq; -}; - -struct dtls1_timeout_st { - /* Number of read timeouts so far */ - unsigned int read_timeouts; - /* Number of write timeouts so far */ - unsigned int write_timeouts; - /* Number of alerts received so far */ - unsigned int num_alerts; -}; - -typedef struct record_pqueue_st { - unsigned short epoch; - pqueue q; -} record_pqueue; - -typedef struct hm_fragment_st { - struct hm_header_st msg_header; - unsigned char *fragment; - unsigned char *reassembly; -} hm_fragment; - -typedef struct dtls1_state_st { - unsigned int send_cookie; - unsigned char cookie[DTLS1_COOKIE_LENGTH]; - unsigned char rcvd_cookie[DTLS1_COOKIE_LENGTH]; - unsigned int cookie_len; - /* - * The current data and handshake epoch. This is initially - * undefined, and starts at zero once the initial handshake is - * completed - */ - unsigned short r_epoch; - unsigned short w_epoch; - /* records being received in the current epoch */ - DTLS1_BITMAP bitmap; - /* renegotiation starts a new set of sequence numbers */ - DTLS1_BITMAP next_bitmap; - /* handshake message numbers */ - unsigned short handshake_write_seq; - unsigned short next_handshake_write_seq; - unsigned short handshake_read_seq; - /* save last sequence number for retransmissions */ - unsigned char last_write_sequence[8]; - /* Received handshake records (processed and unprocessed) */ - record_pqueue unprocessed_rcds; - record_pqueue processed_rcds; - /* Buffered handshake messages */ - pqueue buffered_messages; - /* Buffered (sent) handshake records */ - pqueue sent_messages; - /* - * Buffered application records. Only for records between CCS and - * Finished to prevent either protocol violation or unnecessary message - * loss. - */ - record_pqueue buffered_app_data; - /* Is set when listening for new connections with dtls1_listen() */ - unsigned int listen; - unsigned int link_mtu; /* max on-the-wire DTLS packet size */ - unsigned int mtu; /* max DTLS packet size */ - struct hm_header_st w_msg_hdr; - struct hm_header_st r_msg_hdr; - struct dtls1_timeout_st timeout; - /* - * Indicates when the last handshake msg or heartbeat sent will timeout - */ - struct timeval next_timeout; - /* Timeout duration */ - unsigned short timeout_duration; - /* - * storage for Alert/Handshake protocol data received but not yet - * processed by ssl3_read_bytes: - */ - unsigned char alert_fragment[DTLS1_AL_HEADER_LENGTH]; - unsigned int alert_fragment_len; - unsigned char handshake_fragment[DTLS1_HM_HEADER_LENGTH]; - unsigned int handshake_fragment_len; - unsigned int retransmitting; - /* - * Set when the handshake is ready to process peer's ChangeCipherSpec message. - * Cleared after the message has been processed. - */ - unsigned int change_cipher_spec_ok; -# ifndef OPENSSL_NO_SCTP - /* used when SSL_ST_XX_FLUSH is entered */ - int next_state; - int shutdown_received; -# endif -} DTLS1_STATE; - -typedef struct dtls1_record_data_st { - unsigned char *packet; - unsigned int packet_length; - SSL3_BUFFER rbuf; - SSL3_RECORD rrec; -# ifndef OPENSSL_NO_SCTP - struct bio_dgram_sctp_rcvinfo recordinfo; -# endif -} DTLS1_RECORD_DATA; - -# endif - -/* 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/src/components/openssl/e_os2.h b/src/components/openssl/e_os2.h deleted file mode 100644 index d26b144..0000000 --- a/src/components/openssl/e_os2.h +++ /dev/null @@ -1,328 +0,0 @@ -/* e_os2.h */ -/* ==================================================================== - * 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). - * - */ - -#include - -#ifndef HEADER_E_OS2_H -# define HEADER_E_OS2_H - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************** - * Detect operating systems. This probably needs completing. - * The result is that at least one OPENSSL_SYS_os macro should be defined. - * However, if none is defined, Unix is assumed. - **/ - -# define OPENSSL_SYS_UNIX - -/* ---------------------- Macintosh, before MacOS X ----------------------- */ -# if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_MACINTOSH_CLASSIC -# endif - -/* ---------------------- NetWare ----------------------------------------- */ -# if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_NETWARE -# endif - -/* --------------------- Microsoft operating systems ---------------------- */ - -/* - * Note that MSDOS actually denotes 32-bit environments running on top of - * MS-DOS, such as DJGPP one. - */ -# if defined(OPENSSL_SYSNAME_MSDOS) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_MSDOS -# endif - -/* - * For 32 bit environment, there seems to be the CygWin environment and then - * all the others that try to do the same thing Microsoft does... - */ -# if defined(OPENSSL_SYSNAME_UWIN) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32_UWIN -# else -# if defined(__CYGWIN__) || defined(OPENSSL_SYSNAME_CYGWIN) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32_CYGWIN -# else -# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32 -# endif -# if defined(_WIN64) || defined(OPENSSL_SYSNAME_WIN64) -# undef OPENSSL_SYS_UNIX -# if !defined(OPENSSL_SYS_WIN64) -# define OPENSSL_SYS_WIN64 -# endif -# endif -# if defined(OPENSSL_SYSNAME_WINNT) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINNT -# endif -# if defined(OPENSSL_SYSNAME_WINCE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINCE -# endif -# endif -# endif - -/* Anything that tries to look like Microsoft is "Windows" */ -# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN64) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINDOWS -# ifndef OPENSSL_SYS_MSDOS -# define OPENSSL_SYS_MSDOS -# endif -# endif - -/* - * DLL settings. This part is a bit tough, because it's up to the - * application implementor how he or she will link the application, so it - * requires some macro to be used. - */ -# ifdef OPENSSL_SYS_WINDOWS -# ifndef OPENSSL_OPT_WINDLL -# if defined(_WINDLL) /* This is used when building OpenSSL to - * indicate that DLL linkage should be used */ -# define OPENSSL_OPT_WINDLL -# endif -# endif -# endif - -/* ------------------------------- OpenVMS -------------------------------- */ -# if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_VMS -# if defined(__DECC) -# define OPENSSL_SYS_VMS_DECC -# elif defined(__DECCXX) -# define OPENSSL_SYS_VMS_DECC -# define OPENSSL_SYS_VMS_DECCXX -# else -# define OPENSSL_SYS_VMS_NODECC -# endif -# endif - -/* -------------------------------- OS/2 ---------------------------------- */ -# if defined(__EMX__) || defined(__OS2__) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_OS2 -# endif - -/* -------------------------------- Unix ---------------------------------- */ -# ifdef OPENSSL_SYS_UNIX -# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX) -# define OPENSSL_SYS_LINUX -# endif -# ifdef OPENSSL_SYSNAME_MPE -# define OPENSSL_SYS_MPE -# endif -# ifdef OPENSSL_SYSNAME_SNI -# define OPENSSL_SYS_SNI -# endif -# ifdef OPENSSL_SYSNAME_ULTRASPARC -# define OPENSSL_SYS_ULTRASPARC -# endif -# ifdef OPENSSL_SYSNAME_NEWS4 -# define OPENSSL_SYS_NEWS4 -# endif -# ifdef OPENSSL_SYSNAME_MACOSX -# define OPENSSL_SYS_MACOSX -# endif -# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY -# define OPENSSL_SYS_MACOSX_RHAPSODY -# define OPENSSL_SYS_MACOSX -# endif -# ifdef OPENSSL_SYSNAME_SUNOS -# define OPENSSL_SYS_SUNOS -# endif -# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY) -# define OPENSSL_SYS_CRAY -# endif -# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX) -# define OPENSSL_SYS_AIX -# endif -# endif - -/* -------------------------------- VOS ----------------------------------- */ -# if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS) -# define OPENSSL_SYS_VOS -# ifdef __HPPA__ -# define OPENSSL_SYS_VOS_HPPA -# endif -# ifdef __IA32__ -# define OPENSSL_SYS_VOS_IA32 -# endif -# endif - -/* ------------------------------ VxWorks --------------------------------- */ -# ifdef OPENSSL_SYSNAME_VXWORKS -# define OPENSSL_SYS_VXWORKS -# endif - -/* -------------------------------- BeOS ---------------------------------- */ -# if defined(__BEOS__) -# define OPENSSL_SYS_BEOS -# include -# if defined(BONE_VERSION) -# define OPENSSL_SYS_BEOS_BONE -# else -# define OPENSSL_SYS_BEOS_R5 -# endif -# endif - -/** - * That's it for OS-specific stuff - *****************************************************************************/ - -/* Specials for I/O an exit */ -# ifdef OPENSSL_SYS_MSDOS -# define OPENSSL_UNISTD_IO -# define OPENSSL_DECLARE_EXIT extern void exit(int); -# else -# define OPENSSL_UNISTD_IO OPENSSL_UNISTD -# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ -# endif - -/*- - * Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare - * certain global symbols that, with some compilers under VMS, have to be - * defined and declared explicitely with globaldef and globalref. - * Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare - * DLL exports and imports for compilers under Win32. These are a little - * more complicated to use. Basically, for any library that exports some - * global variables, the following code must be present in the header file - * that declares them, before OPENSSL_EXTERN is used: - * - * #ifdef SOME_BUILD_FLAG_MACRO - * # undef OPENSSL_EXTERN - * # define OPENSSL_EXTERN OPENSSL_EXPORT - * #endif - * - * The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL - * have some generally sensible values, and for OPENSSL_EXTERN to have the - * value OPENSSL_IMPORT. - */ - -# if defined(OPENSSL_SYS_VMS_NODECC) -# define OPENSSL_EXPORT globalref -# define OPENSSL_IMPORT globalref -# define OPENSSL_GLOBAL globaldef -# elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) -# define OPENSSL_EXPORT extern __declspec(dllexport) -# define OPENSSL_IMPORT extern __declspec(dllimport) -# define OPENSSL_GLOBAL -# else -# define OPENSSL_EXPORT extern -# define OPENSSL_IMPORT extern -# define OPENSSL_GLOBAL -# endif -# define OPENSSL_EXTERN OPENSSL_IMPORT - -/*- - * Macros to allow global variables to be reached through function calls when - * required (if a shared library version requires it, for example. - * The way it's done allows definitions like this: - * - * // in foobar.c - * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) - * // in foobar.h - * OPENSSL_DECLARE_GLOBAL(int,foobar); - * #define foobar OPENSSL_GLOBAL_REF(foobar) - */ -# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ - type *_shadow_##name(void) \ - { static type _hide_##name=value; return &_hide_##name; } -# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) -# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) -# else -# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) OPENSSL_GLOBAL type _shadow_##name=value; -# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name -# define OPENSSL_GLOBAL_REF(name) _shadow_##name -# endif - -# if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE) -# define ossl_ssize_t long -# endif - -# ifdef OPENSSL_SYS_MSDOS -# define ossl_ssize_t long -# endif - -# if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS) -# define ssize_t int -# endif - -# if defined(__ultrix) && !defined(ssize_t) -# define ossl_ssize_t int -# endif - -# ifndef ossl_ssize_t -# define ossl_ssize_t ssize_t -# endif - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ebcdic.h b/src/components/openssl/ebcdic.h deleted file mode 100644 index 4cbdfeb..0000000 --- a/src/components/openssl/ebcdic.h +++ /dev/null @@ -1,26 +0,0 @@ -/* crypto/ebcdic.h */ - -#ifndef HEADER_EBCDIC_H -# define HEADER_EBCDIC_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Avoid name clashes with other applications */ -# define os_toascii _openssl_os_toascii -# define os_toebcdic _openssl_os_toebcdic -# define ebcdic2ascii _openssl_ebcdic2ascii -# define ascii2ebcdic _openssl_ascii2ebcdic - -extern const unsigned char os_toascii[256]; -extern const unsigned char os_toebcdic[256]; -void *ebcdic2ascii(void *dest, const void *srce, size_t count); -void *ascii2ebcdic(void *dest, const void *srce, size_t count); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ec.h b/src/components/openssl/ec.h deleted file mode 100644 index a5204f0..0000000 --- a/src/components/openssl/ec.h +++ /dev/null @@ -1,1282 +0,0 @@ -/* crypto/ec/ec.h */ -/* - * Originally written by Bodo Moeller for the OpenSSL project. - */ -/** - * \file crypto/ec/ec.h Include file for the OpenSSL EC functions - * \author 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 - -# ifdef OPENSSL_NO_EC -# error EC is disabled. -# endif - -# include -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -# ifdef __cplusplus -extern "C" { -# elif defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (off,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif -# endif - -# ifndef OPENSSL_ECC_MAX_FIELD_BITS -# define OPENSSL_ECC_MAX_FIELD_BITS 661 -# endif - -/** Enum for the point conversion form as defined in X9.62 (ECDSA) - * for the encoding of a elliptic curve point (x,y) */ -typedef enum { - /** the point is encoded as z||x, where the octet z specifies - * which solution of the quadratic equation y is */ - POINT_CONVERSION_COMPRESSED = 2, - /** the point is encoded as z||x||y, where z is the octet 0x04 */ - POINT_CONVERSION_UNCOMPRESSED = 4, - /** the point is encoded as z||x||y, where the octet z specifies - * which solution of the quadratic equation y is */ - POINT_CONVERSION_HYBRID = 6 -} point_conversion_form_t; - -typedef struct ec_method_st EC_METHOD; - -typedef struct ec_group_st - /*- - EC_METHOD *meth; - -- field definition - -- curve coefficients - -- optional generator with associated information (order, cofactor) - -- optional extra data (precomputed table for fast computation of multiples of generator) - -- ASN1 stuff - */ - EC_GROUP; - -typedef struct ec_point_st EC_POINT; - -/********************************************************************/ -/* EC_METHODs for curves over GF(p) */ -/********************************************************************/ - -/** Returns the basic GFp ec methods which provides the basis for the - * optimized methods. - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_simple_method(void); - -/** Returns GFp methods using montgomery multiplication. - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_mont_method(void); - -/** Returns GFp methods using optimized methods for NIST recommended curves - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nist_method(void); - -# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -/** Returns 64-bit optimized methods for nistp224 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp224_method(void); - -/** Returns 64-bit optimized methods for nistp256 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp256_method(void); - -/** Returns 64-bit optimized methods for nistp521 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp521_method(void); -# endif - -# ifndef OPENSSL_NO_EC2M -/********************************************************************/ -/* EC_METHOD for curves over GF(2^m) */ -/********************************************************************/ - -/** Returns the basic GF2m ec method - * \return EC_METHOD object - */ -const EC_METHOD *EC_GF2m_simple_method(void); - -# endif - -/********************************************************************/ -/* EC_GROUP functions */ -/********************************************************************/ - -/** Creates a new EC_GROUP object - * \param meth EC_METHOD to use - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); - -/** Frees a EC_GROUP object - * \param group EC_GROUP object to be freed. - */ -void EC_GROUP_free(EC_GROUP *group); - -/** Clears and frees a EC_GROUP object - * \param group EC_GROUP object to be cleared and freed. - */ -void EC_GROUP_clear_free(EC_GROUP *group); - -/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. - * \param dst destination EC_GROUP object - * \param src source EC_GROUP object - * \return 1 on success and 0 if an error occurred. - */ -int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); - -/** Creates a new EC_GROUP object and copies the copies the content - * form src to the newly created EC_KEY object - * \param src source EC_GROUP object - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); - -/** Returns the EC_METHOD of the EC_GROUP object. - * \param group EC_GROUP object - * \return EC_METHOD used in this EC_GROUP object. - */ -const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); - -/** Returns the field type of the EC_METHOD. - * \param meth EC_METHOD object - * \return NID of the underlying field type OID. - */ -int EC_METHOD_get_field_type(const EC_METHOD *meth); - -/** Sets the generator and it's order/cofactor of a EC_GROUP object. - * \param group EC_GROUP object - * \param generator EC_POINT object with the generator. - * \param order the order of the group generated by the generator. - * \param cofactor the index of the sub-group generated by the generator - * in the group of all points on the elliptic curve. - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, - const BIGNUM *order, const BIGNUM *cofactor); - -/** Returns the generator of a EC_GROUP object. - * \param group EC_GROUP object - * \return the currently used generator (possibly NULL). - */ -const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); - -/** Returns the montgomery data for order(Generator) - * \param group EC_GROUP object - * \return the currently used generator (possibly NULL). -*/ -BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group); - -/** Gets the order of a EC_GROUP - * \param group EC_GROUP object - * \param order BIGNUM to which the order is copied - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); - -/** Gets the cofactor of a EC_GROUP - * \param group EC_GROUP object - * \param cofactor BIGNUM to which the cofactor is copied - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, - BN_CTX *ctx); - -/** Sets the name of a EC_GROUP object - * \param group EC_GROUP object - * \param nid NID of the curve name OID - */ -void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); - -/** Returns the curve name of a EC_GROUP object - * \param group EC_GROUP object - * \return NID of the curve name OID or 0 if not set. - */ -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); - -/** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b - * \param group EC_GROUP object - * \param p BIGNUM with the prime number - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); - -/** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b - * \param group EC_GROUP object - * \param p BIGNUM for the prime number - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, - BIGNUM *b, BN_CTX *ctx); - -# ifndef OPENSSL_NO_EC2M -/** Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b - * \param group EC_GROUP object - * \param p BIGNUM with the polynomial defining the underlying field - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); - -/** Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b - * \param group EC_GROUP object - * \param p BIGNUM for the polynomial defining the underlying field - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, - BIGNUM *b, BN_CTX *ctx); -# endif -/** Returns the number of bits needed to represent a field element - * \param group EC_GROUP object - * \return number of bits needed to represent a field element - */ -int EC_GROUP_get_degree(const EC_GROUP *group); - -/** Checks whether the parameter in the EC_GROUP define a valid ec group - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 if group is a valid ec group and 0 otherwise - */ -int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); - -/** Checks whether the discriminant of the elliptic curve is zero or not - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 if the discriminant is not zero and 0 otherwise - */ -int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); - -/** Compares two EC_GROUP objects - * \param a first EC_GROUP object - * \param b second EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 0 if both groups are equal and 1 otherwise - */ -int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); - -/* - * EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() after - * choosing an appropriate EC_METHOD - */ - -/** Creates a new EC_GROUP object with the specified parameters defined - * over GFp (defined by the equation y^2 = x^3 + a*x + b) - * \param p BIGNUM with the prime number - * \param a BIGNUM with the parameter a of the equation - * \param b BIGNUM with the parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return newly created EC_GROUP object with the specified parameters - */ -EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); -# ifndef OPENSSL_NO_EC2M -/** Creates a new EC_GROUP object with the specified parameters defined - * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) - * \param p BIGNUM with the polynomial defining the underlying field - * \param a BIGNUM with the parameter a of the equation - * \param b BIGNUM with the parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return newly created EC_GROUP object with the specified parameters - */ -EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); -# endif -/** Creates a EC_GROUP object with a curve specified by a NID - * \param nid NID of the OID of the curve name - * \return newly created EC_GROUP object with specified curve or NULL - * if an error occurred - */ -EC_GROUP *EC_GROUP_new_by_curve_name(int nid); - -/********************************************************************/ -/* handling of internal curves */ -/********************************************************************/ - -typedef struct { - int nid; - const char *comment; -} EC_builtin_curve; - -/* - * EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number of all - * available curves or zero if a error occurred. In case r ist not zero - * nitems EC_builtin_curve structures are filled with the data of the first - * nitems internal groups - */ -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 functions */ -/********************************************************************/ - -/** Creates a new EC_POINT object for the specified EC_GROUP - * \param group EC_GROUP the underlying EC_GROUP object - * \return newly created EC_POINT object or NULL if an error occurred - */ -EC_POINT *EC_POINT_new(const EC_GROUP *group); - -/** Frees a EC_POINT object - * \param point EC_POINT object to be freed - */ -void EC_POINT_free(EC_POINT *point); - -/** Clears and frees a EC_POINT object - * \param point EC_POINT object to be cleared and freed - */ -void EC_POINT_clear_free(EC_POINT *point); - -/** Copies EC_POINT object - * \param dst destination EC_POINT object - * \param src source EC_POINT object - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); - -/** Creates a new EC_POINT object and copies the content of the supplied - * EC_POINT - * \param src source EC_POINT object - * \param group underlying the EC_GROUP object - * \return newly created EC_POINT object or NULL if an error occurred - */ -EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); - -/** Returns the EC_METHOD used in EC_POINT object - * \param point EC_POINT object - * \return the EC_METHOD used - */ -const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); - -/** Sets a point to infinity (neutral element) - * \param group underlying EC_GROUP object - * \param point EC_POINT to set to infinity - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); - -/** Sets the jacobian projective coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param z BIGNUM with the z-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - const BIGNUM *y, const BIGNUM *z, - BN_CTX *ctx); - -/** Gets the jacobian projective coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param z BIGNUM for the z-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BIGNUM *z, - BN_CTX *ctx); - -/** Sets the affine coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - BN_CTX *ctx); - -/** Gets the affine coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BN_CTX *ctx); - -/** Sets the x9.62 compressed coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - int y_bit, BN_CTX *ctx); -# ifndef OPENSSL_NO_EC2M -/** Sets the affine coordinates of a EC_POINT over GF2m - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - BN_CTX *ctx); - -/** Gets the affine coordinates of a EC_POINT over GF2m - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BN_CTX *ctx); - -/** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - int y_bit, BN_CTX *ctx); -# endif -/** Encodes a EC_POINT object to a octet string - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param form point conversion form - * \param buf memory buffer for the result. If NULL the function returns - * required buffer size. - * \param len length of the memory buffer - * \param ctx BN_CTX object (optional) - * \return the length of the encoded octet string or 0 if an error occurred - */ -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); - -/** Decodes a EC_POINT from a octet string - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param buf memory buffer with the encoded ec point - * \param len length of the encoded ec point - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, - const unsigned char *buf, size_t len, BN_CTX *ctx); - -/* other interfaces to point2oct/oct2point: */ -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 *); - -/********************************************************************/ -/* functions for doing EC_POINT arithmetic */ -/********************************************************************/ - -/** Computes the sum of two EC_POINT - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result (r = a + b) - * \param a EC_POINT object with the first summand - * \param b EC_POINT object with the second summand - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, - const EC_POINT *b, BN_CTX *ctx); - -/** Computes the double of a EC_POINT - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result (r = 2 * a) - * \param a EC_POINT object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, - BN_CTX *ctx); - -/** Computes the inverse of a EC_POINT - * \param group underlying EC_GROUP object - * \param a EC_POINT object to be inverted (it's used for the result as well) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); - -/** Checks whether the point is the neutral element of the group - * \param group the underlying EC_GROUP object - * \param p EC_POINT object - * \return 1 if the point is the neutral element and 0 otherwise - */ -int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); - -/** Checks whether the point is on the curve - * \param group underlying EC_GROUP object - * \param point EC_POINT object to check - * \param ctx BN_CTX object (optional) - * \return 1 if point if on the curve and 0 otherwise - */ -int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, - BN_CTX *ctx); - -/** Compares two EC_POINTs - * \param group underlying EC_GROUP object - * \param a first EC_POINT object - * \param b second EC_POINT object - * \param ctx BN_CTX object (optional) - * \return 0 if both points are equal and a value != 0 otherwise - */ -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_POINTs_make_affine(const EC_GROUP *group, size_t num, - EC_POINT *points[], BN_CTX *ctx); - -/** Computes r = generator * n sum_{i=0}^{num-1} p[i] * m[i] - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result - * \param n BIGNUM with the multiplier for the group generator (optional) - * \param num number futher summands - * \param p array of size num of EC_POINT objects - * \param m array of size num of BIGNUM objects - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, - size_t num, const EC_POINT *p[], const BIGNUM *m[], - BN_CTX *ctx); - -/** Computes r = generator * n + q * m - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result - * \param n BIGNUM with the multiplier for the group generator (optional) - * \param q EC_POINT object with the first factor of the second summand - * \param m BIGNUM with the second factor of the second summand - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, - const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); - -/** Stores multiples of generator for faster point multiplication - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); - -/** Reports whether a precomputation has been done - * \param group EC_GROUP object - * \return 1 if a pre-computation has been done and 0 otherwise - */ -int EC_GROUP_have_precompute_mult(const EC_GROUP *group); - -/********************************************************************/ -/* ASN1 stuff */ -/********************************************************************/ - -/* - * EC_GROUP_get_basis_type() returns the NID of the basis type used to - * represent the field elements - */ -int EC_GROUP_get_basis_type(const EC_GROUP *); -# ifndef OPENSSL_NO_EC2M -int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); -int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, - unsigned int *k2, unsigned int *k3); -# endif - -# define OPENSSL_EC_NAMED_CURVE 0x001 - -typedef struct ecpk_parameters_st ECPKPARAMETERS; - -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 -# ifndef OPENSSL_NO_FP_API -int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); -# endif - -/********************************************************************/ -/* EC_KEY functions */ -/********************************************************************/ - -typedef struct ec_key_st EC_KEY; - -/* some values for the encoding_flag */ -# define EC_PKEY_NO_PARAMETERS 0x001 -# define EC_PKEY_NO_PUBKEY 0x002 - -/* some values for the flags field */ -# define EC_FLAG_NON_FIPS_ALLOW 0x1 -# define EC_FLAG_FIPS_CHECKED 0x2 - -/** Creates a new EC_KEY object. - * \return EC_KEY object or NULL if an error occurred. - */ -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); - -/** Creates a new EC_KEY object using a named curve as underlying - * EC_GROUP object. - * \param nid NID of the named curve. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new_by_curve_name(int nid); - -/** Frees a EC_KEY object. - * \param key EC_KEY object to be freed. - */ -void EC_KEY_free(EC_KEY *key); - -/** Copies a EC_KEY object. - * \param dst destination EC_KEY object - * \param src src EC_KEY object - * \return dst or NULL if an error occurred. - */ -EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); - -/** Creates a new EC_KEY object and copies the content from src to it. - * \param src the source EC_KEY object - * \return newly created EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_dup(const EC_KEY *src); - -/** Increases the internal reference count of a EC_KEY object. - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_up_ref(EC_KEY *key); - -/** Returns the EC_GROUP object of a EC_KEY object - * \param key EC_KEY object - * \return the EC_GROUP object (possibly NULL). - */ -const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); - -/** Sets the EC_GROUP of a EC_KEY object. - * \param key EC_KEY object - * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY - * object will use an own copy of the EC_GROUP). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); - -/** Returns the private key of a EC_KEY object. - * \param key EC_KEY object - * \return a BIGNUM with the private key (possibly NULL). - */ -const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); - -/** Sets the private key of a EC_KEY object. - * \param key EC_KEY object - * \param prv BIGNUM with the private key (note: the EC_KEY object - * will use an own copy of the BIGNUM). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); - -/** Returns the public key of a EC_KEY object. - * \param key the EC_KEY object - * \return a EC_POINT object with the public key (possibly NULL) - */ -const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); - -/** Sets the public key of a EC_KEY object. - * \param key EC_KEY object - * \param pub EC_POINT object with the public key (note: the EC_KEY object - * will use an own copy of the EC_POINT object). - * \return 1 on success and 0 if an error occurred. - */ -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); -/* functions to set/get method specific data */ -void *EC_KEY_get_key_method_data(EC_KEY *key, - void *(*dup_func) (void *), - void (*free_func) (void *), - void (*clear_free_func) (void *)); -/** Sets the key method data of an EC_KEY object, if none has yet been set. - * \param key EC_KEY object - * \param data opaque data to install. - * \param dup_func a function that duplicates |data|. - * \param free_func a function that frees |data|. - * \param clear_free_func a function that wipes and frees |data|. - * \return the previously set data pointer, or NULL if |data| was inserted. - */ -void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, - void *(*dup_func) (void *), - void (*free_func) (void *), - void (*clear_free_func) (void *)); -/* wrapper functions for the underlying EC_GROUP object */ -void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); - -/** Creates a table of pre-computed multiples of the generator to - * accelerate further EC_KEY operations. - * \param key EC_KEY object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); - -/** Creates a new ec private (and optional a new public) key. - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_generate_key(EC_KEY *key); - -/** Verifies that a private and/or public key is valid. - * \param key the EC_KEY object - * \return 1 on success and 0 otherwise. - */ -int EC_KEY_check_key(const EC_KEY *key); - -/** Sets a public key from affine coordindates performing - * neccessary NIST PKV tests. - * \param key the EC_KEY object - * \param x public key x coordinate - * \param y public key y coordinate - * \return 1 on success and 0 otherwise. - */ -int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, - BIGNUM *y); - -/********************************************************************/ -/* de- and encoding functions for SEC1 ECPrivateKey */ -/********************************************************************/ - -/** Decodes a private key from a memory buffer. - * \param key a pointer to a EC_KEY object which should be used (or NULL) - * \param in pointer to memory with the DER encoded private key - * \param len length of the DER encoded private key - * \return the decoded private key or NULL if an error occurred. - */ -EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes a private key object and stores the result in a buffer. - * \param key the EC_KEY object to encode - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred. - */ -int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); - -/********************************************************************/ -/* de- and encoding functions for EC parameters */ -/********************************************************************/ - -/** Decodes ec parameter from a memory buffer. - * \param key a pointer to a EC_KEY object which should be used (or NULL) - * \param in pointer to memory with the DER encoded ec parameters - * \param len length of the DER encoded ec parameters - * \return a EC_KEY object with the decoded parameters or NULL if an error - * occurred. - */ -EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes ec parameter and stores the result in a buffer. - * \param key the EC_KEY object with ec paramters to encode - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred. - */ -int i2d_ECParameters(EC_KEY *key, unsigned char **out); - -/********************************************************************/ -/* de- and encoding functions for EC public key */ -/* (octet string, not DER -- hence 'o2i' and 'i2o') */ -/********************************************************************/ - -/** Decodes a ec public key from a octet string. - * \param key a pointer to a EC_KEY object which should be used - * \param in memory buffer with the encoded public key - * \param len length of the encoded public key - * \return EC_KEY object with decoded public key or NULL if an error - * occurred. - */ -EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes a ec public key in an octet string. - * \param key the EC_KEY object with the public key - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred - */ -int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); - -# ifndef OPENSSL_NO_BIO -/** Prints out the ec parameters on human readable form. - * \param bp BIO object to which the information is printed - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred - */ -int ECParameters_print(BIO *bp, const EC_KEY *key); - -/** Prints out the contents of a EC_KEY object - * \param bp BIO object to which the information is printed - * \param key EC_KEY object - * \param off line offset - * \return 1 on success and 0 if an error occurred - */ -int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); - -# endif -# ifndef OPENSSL_NO_FP_API -/** Prints out the ec parameters on human readable form. - * \param fp file descriptor to which the information is printed - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred - */ -int ECParameters_print_fp(FILE *fp, const EC_KEY *key); - -/** Prints out the contents of a EC_KEY object - * \param fp file descriptor to which the information is printed - * \param key EC_KEY object - * \param off line offset - * \return 1 on success and 0 if an error occurred - */ -int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); - -# endif - -# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) - -# ifndef __cplusplus -# if defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif -# endif -# endif - -# 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) - -# 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) -/* KDF types */ -# define EVP_PKEY_ECDH_KDF_NONE 1 -# define EVP_PKEY_ECDH_KDF_X9_62 2 - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_ECDH_CMS_DECRYPT 238 -# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 -# 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_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_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_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_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_PENTANOMIAL_BASIS 132 -# define EC_R_INVALID_PRIVATE_KEY 123 -# define EC_R_INVALID_TRINOMIAL_BASIS 137 -# define EC_R_KDF_PARAMETER_ERROR 148 -# define EC_R_KEYS_NOT_SET 140 -# define EC_R_MISSING_PARAMETERS 124 -# define EC_R_MISSING_PRIVATE_KEY 125 -# 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_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_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/src/components/openssl/ecdh.h b/src/components/openssl/ecdh.h deleted file mode 100644 index e6a189e..0000000 --- a/src/components/openssl/ecdh.h +++ /dev/null @@ -1,134 +0,0 @@ -/* crypto/ecdh/ecdh.h */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * The Elliptic Curve Public-Key Crypto Library (ECC Code) included - * herein is developed by SUN MICROSYSTEMS, INC., and is contributed - * to the OpenSSL project. - * - * The ECC Code is licensed pursuant to the OpenSSL open source - * license provided below. - * - * The ECDH software is originally written by Douglas Stebila of - * Sun Microsystems Laboratories. - * - */ -/* ==================================================================== - * Copyright (c) 2000-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 - * 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_ECDH_H -# define HEADER_ECDH_H - -# include - -# ifdef OPENSSL_NO_ECDH -# error ECDH is disabled. -# endif - -# include -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# define EC_FLAG_COFACTOR_ECDH 0x1000 - -const ECDH_METHOD *ECDH_OpenSSL(void); - -void ECDH_set_default_method(const ECDH_METHOD *); -const ECDH_METHOD *ECDH_get_default_method(void); -int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); - -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)); - -int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new - *new_func, CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); -void *ECDH_get_ex_data(EC_KEY *d, int idx); - -int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, - const unsigned char *Z, size_t Zlen, - const unsigned char *sinfo, size_t sinfolen, - const EVP_MD *md); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ECDH_strings(void); - -/* Error codes for the ECDH functions. */ - -/* Function codes. */ -# define ECDH_F_ECDH_CHECK 102 -# define ECDH_F_ECDH_COMPUTE_KEY 100 -# define ECDH_F_ECDH_DATA_NEW_METHOD 101 - -/* Reason codes. */ -# define ECDH_R_KDF_FAILED 102 -# define ECDH_R_NON_FIPS_METHOD 103 -# define ECDH_R_NO_PRIVATE_VALUE 100 -# define ECDH_R_POINT_ARITHMETIC_FAILURE 101 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ecdsa.h b/src/components/openssl/ecdsa.h deleted file mode 100644 index e040c00..0000000 --- a/src/components/openssl/ecdsa.h +++ /dev/null @@ -1,335 +0,0 @@ -/* crypto/ecdsa/ecdsa.h */ -/** - * \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions - * \author Written by Nils Larsch for the OpenSSL project - */ -/* ==================================================================== - * 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_ECDSA_H -# define HEADER_ECDSA_H - -# include - -# ifdef OPENSSL_NO_ECDSA -# error ECDSA is disabled. -# endif - -# include -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ECDSA_SIG_st { - BIGNUM *r; - BIGNUM *s; -} ECDSA_SIG; - -/** Allocates and initialize a ECDSA_SIG structure - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_SIG_new(void); - -/** frees a ECDSA_SIG structure - * \param sig pointer to the ECDSA_SIG structure - */ -void ECDSA_SIG_free(ECDSA_SIG *sig); - -/** DER encode content of ECDSA_SIG object (note: this function modifies *pp - * (*pp += length of the DER encoded signature)). - * \param sig pointer to the ECDSA_SIG object - * \param pp pointer to a unsigned char pointer for the output or NULL - * \return the length of the DER encoded ECDSA_SIG object or 0 - */ -int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); - -/** Decodes a DER encoded ECDSA signature (note: this function changes *pp - * (*pp += len)). - * \param sig pointer to ECDSA_SIG pointer (may be NULL) - * \param pp memory buffer with the DER encoded signature - * \param len length of the buffer - * \return pointer to the decoded ECDSA_SIG structure (or NULL) - */ -ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); - -/** Computes the ECDSA signature of the given hash value using - * the supplied private key and returns the created signature. - * \param dgst pointer to the hash value - * \param dgst_len length of the hash value - * \param eckey EC_KEY object containing a private EC key - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, - EC_KEY *eckey); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param kinv BIGNUM with a pre-computed inverse k (optional) - * \param rp BIGNUM with a pre-computed rp value (optioanl), - * see ECDSA_sign_setup - * \param eckey EC_KEY object containing a private EC key - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, - const BIGNUM *kinv, const BIGNUM *rp, - EC_KEY *eckey); - -/** Verifies that the supplied signature is a valid ECDSA - * signature of the supplied hash value using the supplied public key. - * \param dgst pointer to the hash value - * \param dgst_len length of the hash value - * \param sig ECDSA_SIG structure - * \param eckey EC_KEY object containing a public EC key - * \return 1 if the signature is valid, 0 if the signature is invalid - * and -1 on error - */ -int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, - const ECDSA_SIG *sig, EC_KEY *eckey); - -const ECDSA_METHOD *ECDSA_OpenSSL(void); - -/** Sets the default ECDSA method - * \param meth new default ECDSA_METHOD - */ -void ECDSA_set_default_method(const ECDSA_METHOD *meth); - -/** Returns the default ECDSA method - * \return pointer to ECDSA_METHOD structure containing the default method - */ -const ECDSA_METHOD *ECDSA_get_default_method(void); - -/** Sets method to be used for the ECDSA operations - * \param eckey EC_KEY object - * \param meth new method - * \return 1 on success and 0 otherwise - */ -int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); - -/** Returns the maximum length of the DER encoded signature - * \param eckey EC_KEY object - * \return numbers of bytes required for the DER encoded signature - */ -int ECDSA_size(const EC_KEY *eckey); - -/** Precompute parts of the signing operation - * \param eckey EC_KEY object containing a private EC key - * \param ctx BN_CTX object (optional) - * \param kinv BIGNUM pointer for the inverse of k - * \param rp BIGNUM pointer for x coordinate of k * generator - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param type this parameter is ignored - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param sig memory for the DER encoded created signature - * \param siglen pointer to the length of the returned signature - * \param eckey EC_KEY object containing a private EC key - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param type this parameter is ignored - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param sig buffer to hold the DER encoded signature - * \param siglen pointer to the length of the returned signature - * \param kinv BIGNUM with a pre-computed inverse k (optional) - * \param rp BIGNUM with a pre-computed rp value (optioanl), - * see ECDSA_sign_setup - * \param eckey EC_KEY object containing a private EC key - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, - const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); - -/** Verifies that the given signature is valid ECDSA signature - * of the supplied hash value using the specified public key. - * \param type this parameter is ignored - * \param dgst pointer to the hash value - * \param dgstlen length of the hash value - * \param sig pointer to the DER encoded signature - * \param siglen length of the DER encoded signature - * \param eckey EC_KEY object containing a public EC key - * \return 1 if the signature is valid, 0 if the signature is invalid - * and -1 on error - */ -int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, - const unsigned char *sig, int siglen, EC_KEY *eckey); - -/* the standard ex_data functions */ -int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new - *new_func, CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -int ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg); -void *ECDSA_get_ex_data(EC_KEY *d, int idx); - -/** Allocates and initialize a ECDSA_METHOD structure - * \param ecdsa_method pointer to ECDSA_METHOD to copy. (May be NULL) - * \return pointer to a ECDSA_METHOD structure or NULL if an error occurred - */ - -ECDSA_METHOD *ECDSA_METHOD_new(const ECDSA_METHOD *ecdsa_method); - -/** frees a ECDSA_METHOD structure - * \param ecdsa_method pointer to the ECDSA_METHOD structure - */ -void ECDSA_METHOD_free(ECDSA_METHOD *ecdsa_method); - -/** Sets application specific data in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param app application specific data to set - */ - -void ECDSA_METHOD_set_app_data(ECDSA_METHOD *ecdsa_method, void *app); - -/** Returns application specific data from a ECDSA_METHOD structure - * \param ecdsa_method pointer to ECDSA_METHOD structure - * \return pointer to application specific data. - */ - -void *ECDSA_METHOD_get_app_data(ECDSA_METHOD *ecdsa_method); - -/** Set the ECDSA_do_sign function in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param ecdsa_do_sign a funtion of type ECDSA_do_sign - */ - -void ECDSA_METHOD_set_sign(ECDSA_METHOD *ecdsa_method, - ECDSA_SIG *(*ecdsa_do_sign) (const unsigned char - *dgst, int dgst_len, - const BIGNUM *inv, - const BIGNUM *rp, - EC_KEY *eckey)); - -/** Set the ECDSA_sign_setup function in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param ecdsa_sign_setup a funtion of type ECDSA_sign_setup - */ - -void ECDSA_METHOD_set_sign_setup(ECDSA_METHOD *ecdsa_method, - int (*ecdsa_sign_setup) (EC_KEY *eckey, - BN_CTX *ctx, - BIGNUM **kinv, - BIGNUM **r)); - -/** Set the ECDSA_do_verify function in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param ecdsa_do_verify a funtion of type ECDSA_do_verify - */ - -void ECDSA_METHOD_set_verify(ECDSA_METHOD *ecdsa_method, - int (*ecdsa_do_verify) (const unsigned char - *dgst, int dgst_len, - const ECDSA_SIG *sig, - EC_KEY *eckey)); - -void ECDSA_METHOD_set_flags(ECDSA_METHOD *ecdsa_method, int flags); - -/** Set the flags field in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param flags flags value to set - */ - -void ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name); - -/** Set the name field in the ECDSA_METHOD - * \param ecdsa_method pointer to existing ECDSA_METHOD - * \param name name to set - */ - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ECDSA_strings(void); - -/* Error codes for the ECDSA functions. */ - -/* Function codes. */ -# define ECDSA_F_ECDSA_CHECK 104 -# define ECDSA_F_ECDSA_DATA_NEW_METHOD 100 -# define ECDSA_F_ECDSA_DO_SIGN 101 -# define ECDSA_F_ECDSA_DO_VERIFY 102 -# define ECDSA_F_ECDSA_METHOD_NEW 105 -# define ECDSA_F_ECDSA_SIGN_SETUP 103 - -/* Reason codes. */ -# define ECDSA_R_BAD_SIGNATURE 100 -# define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101 -# define ECDSA_R_ERR_EC_LIB 102 -# define ECDSA_R_MISSING_PARAMETERS 103 -# define ECDSA_R_NEED_NEW_SETUP_VALUES 106 -# define ECDSA_R_NON_FIPS_METHOD 107 -# define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104 -# define ECDSA_R_SIGNATURE_MALLOC_FAILED 105 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/engine.h b/src/components/openssl/engine.h deleted file mode 100644 index 4b5421b..0000000 --- a/src/components/openssl/engine.h +++ /dev/null @@ -1,960 +0,0 @@ -/* openssl/engine.h */ -/* - * 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 - -# ifdef OPENSSL_NO_ENGINE -# error ENGINE is disabled. -# endif - -# ifndef OPENSSL_NO_DEPRECATED -# include -# ifndef OPENSSL_NO_RSA -# include -# endif -# ifndef OPENSSL_NO_DSA -# include -# endif -# ifndef OPENSSL_NO_DH -# include -# endif -# ifndef OPENSSL_NO_ECDH -# include -# endif -# ifndef OPENSSL_NO_ECDSA -# include -# endif -# include -# include -# include -# endif - -# include -# include - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * These flags are used to control combinations of algorithm (methods) by - * bitwise "OR"ing. - */ -# 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_ECDH (unsigned int)0x0010 -# define ENGINE_METHOD_ECDSA (unsigned int)0x0020 -# 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 -/* Obvious all-or-nothing cases. */ -# define ENGINE_METHOD_ALL (unsigned int)0xFFFF -# define ENGINE_METHOD_NONE (unsigned int)0x0000 - -/* - * This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used - * internally to control registration of ENGINE implementations, and can be - * set by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to - * initialise registered ENGINEs if they are not already initialised. - */ -# define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 - -/* ENGINE flags that can be set by ENGINE_set_flags(). */ -/* Not used */ -/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ - -/* - * This flag is for ENGINEs that wish to handle the various 'CMD'-related - * control commands on their own. Without this flag, ENGINE_ctrl() handles - * these control commands on behalf of the ENGINE using their "cmd_defns" - * data. - */ -# define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 - -/* - * This flag is for ENGINEs who return new duplicate structures when found - * via "ENGINE_by_id()". When an ENGINE must store state (eg. if - * ENGINE_ctrl() commands are called in sequence as part of some stateful - * process like key-generation setup and execution), it can set this flag - - * then each attempt to obtain the ENGINE will result in it being copied into - * a new structure. Normally, ENGINEs don't declare this flag so - * ENGINE_by_id() just increments the existing ENGINE's structural reference - * count. - */ -# define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 - -/* - * This flag if for an ENGINE that does not want its methods registered as - * part of ENGINE_register_all_complete() for example if the methods are not - * usable as default methods. - */ - -# define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 - -/* - * ENGINEs can support their own command types, and these flags are used in - * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input - * each command expects. Currently only numeric and string input is - * supported. If a control command supports none of the _NUMERIC, _STRING, or - * _NO_INPUT options, then it is regarded as an "internal" control command - - * and not for use in config setting situations. As such, they're not - * available to the ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() - * access. Changes to this list of 'command types' should be reflected - * carefully in ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). - */ - -/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ -# define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 -/* - * accepts string input (cast from 'void*' to 'const char *', 4th parameter - * to ENGINE_ctrl) - */ -# define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 -/* - * Indicates that the control command takes *no* input. Ie. the control - * command is unparameterised. - */ -# define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 -/* - * Indicates that the control command is internal. This control command won't - * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() - * function. - */ -# define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 - -/* - * NB: These 3 control commands are deprecated and should not be used. - * ENGINEs relying on these commands should compile conditional support for - * compatibility (eg. if these symbols are defined) but should also migrate - * the same functionality to their own ENGINE-specific control functions that - * can be "discovered" by calling applications. The fact these control - * commands wouldn't be "executable" (ie. usable by text-based config) - * doesn't change the fact that application code can find and use them - * without requiring per-ENGINE hacking. - */ - -/* - * These flags are used to tell the ctrl function what should be done. All - * command numbers are shared between all engines, even if some don't make - * sense to some engines. In such a case, they do nothing but return the - * error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. - */ -# define ENGINE_CTRL_SET_LOGSTREAM 1 -# define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 -# define ENGINE_CTRL_HUP 3/* Close and reinitialise - * any handles/connections - * etc. */ -# define ENGINE_CTRL_SET_USER_INTERFACE 4/* Alternative to callback */ -# define ENGINE_CTRL_SET_CALLBACK_DATA 5/* User-specific data, used - * when calling the password - * callback and the user - * interface */ -# define ENGINE_CTRL_LOAD_CONFIGURATION 6/* Load a configuration, - * given a string that - * represents a file name - * or so */ -# define ENGINE_CTRL_LOAD_SECTION 7/* Load data from a given - * section in the already - * loaded configuration */ - -/* - * These control commands allow an application to deal with an arbitrary - * engine in a dynamic way. Warn: Negative return values indicate errors FOR - * THESE COMMANDS because zero is used to indicate 'end-of-list'. Other - * commands, including ENGINE-specific command types, return zero for an - * error. An ENGINE can choose to implement these ctrl functions, and can - * internally manage things however it chooses - it does so by setting the - * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise - * the ENGINE_ctrl() code handles this on the ENGINE's behalf using the - * cmd_defns data (set using ENGINE_set_cmd_defns()). This means an ENGINE's - * ctrl() handler need only implement its own commands - the above "meta" - * commands will be taken care of. - */ - -/* - * Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", - * then all the remaining control commands will return failure, so it is - * worth checking this first if the caller is trying to "discover" the - * engine's capabilities and doesn't want errors generated unnecessarily. - */ -# define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 -/* - * Returns a positive command number for the first command supported by the - * engine. Returns zero if no ctrl commands are supported. - */ -# define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 -/* - * The 'long' argument specifies a command implemented by the engine, and the - * return value is the next command supported, or zero if there are no more. - */ -# define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 -/* - * The 'void*' argument is a command name (cast from 'const char *'), and the - * return value is the command that corresponds to it. - */ -# define ENGINE_CTRL_GET_CMD_FROM_NAME 13 -/* - * The next two allow a command to be converted into its corresponding string - * form. In each case, the 'long' argument supplies the command. In the - * NAME_LEN case, the return value is the length of the command name (not - * counting a trailing EOL). In the NAME case, the 'void*' argument must be a - * string buffer large enough, and it will be populated with the name of the - * command (WITH a trailing EOL). - */ -# define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 -# define ENGINE_CTRL_GET_NAME_FROM_CMD 15 -/* The next two are similar but give a "short description" of a command. */ -# define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 -# define ENGINE_CTRL_GET_DESC_FROM_CMD 17 -/* - * With this command, the return value is the OR'd combination of - * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given - * engine-specific ctrl command expects. - */ -# define ENGINE_CTRL_GET_CMD_FLAGS 18 - -/* - * ENGINE implementations should start the numbering of their own control - * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). - */ -# define ENGINE_CMD_BASE 200 - -/* - * NB: These 2 nCipher "chil" control commands are deprecated, and their - * functionality is now available through ENGINE-specific control commands - * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 - * commands should be migrated to the more general command handling before - * these are removed. - */ - -/* Flags specific to the nCipher "chil" engine */ -# define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 - /* - * Depending on the value of the (long)i argument, this sets or - * unsets the SimpleForkCheck flag in the CHIL API to enable or - * disable checking and workarounds for applications that fork(). - */ -# define ENGINE_CTRL_CHIL_NO_LOCKING 101 - /* - * This prevents the initialisation function from providing mutex - * callbacks to the nCipher library. - */ - -/* - * If an ENGINE supports its own specific control commands and wishes the - * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on - * its behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN - * entries to ENGINE_set_cmd_defns(). It should also implement a ctrl() - * handler that supports the stated commands (ie. the "cmd_num" entries as - * described by the array). NB: The array must be ordered in increasing order - * of cmd_num. "null-terminated" means that the last ENGINE_CMD_DEFN element - * has cmd_num set to zero and/or cmd_name set to NULL. - */ -typedef struct ENGINE_CMD_DEFN_st { - unsigned int cmd_num; /* The command number */ - const char *cmd_name; /* The command name itself */ - const char *cmd_desc; /* A short description of the command */ - unsigned int cmd_flags; /* The input the command expects */ -} ENGINE_CMD_DEFN; - -/* Generic function pointer */ -typedef int (*ENGINE_GEN_FUNC_PTR) (void); -/* Generic function pointer taking no arguments */ -typedef int (*ENGINE_GEN_INT_FUNC_PTR) (ENGINE *); -/* Specific control function pointer */ -typedef int (*ENGINE_CTRL_FUNC_PTR) (ENGINE *, int, long, void *, - void (*f) (void)); -/* Generic load_key function pointer */ -typedef EVP_PKEY *(*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, - UI_METHOD *ui_method, - void *callback_data); -typedef int (*ENGINE_SSL_CLIENT_CERT_PTR) (ENGINE *, SSL *ssl, - STACK_OF(X509_NAME) *ca_dn, - X509 **pcert, EVP_PKEY **pkey, - STACK_OF(X509) **pother, - UI_METHOD *ui_method, - void *callback_data); -/*- - * These callback types are for an ENGINE's handler for cipher and digest logic. - * These handlers have these prototypes; - * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); - * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); - * Looking at how to implement these handlers in the case of cipher support, if - * the framework wants the EVP_CIPHER for 'nid', it will call; - * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) - * If the framework wants a list of supported 'nid's, it will call; - * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) - */ -/* - * Returns to a pointer to the array of supported cipher 'nid's. If the - * second parameter is non-NULL it is set to the size of the returned array. - */ -typedef int (*ENGINE_CIPHERS_PTR) (ENGINE *, const EVP_CIPHER **, - const int **, int); -typedef int (*ENGINE_DIGESTS_PTR) (ENGINE *, const EVP_MD **, const int **, - int); -typedef int (*ENGINE_PKEY_METHS_PTR) (ENGINE *, EVP_PKEY_METHOD **, - const int **, int); -typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **, - const int **, int); -/* - * STRUCTURE functions ... all of these functions deal with pointers to - * ENGINE structures where the pointers have a "structural reference". This - * means that their reference is to allowed access to the structure but it - * does not imply that the structure is functional. To simply increment or - * decrement the structural reference count, use ENGINE_by_id and - * ENGINE_free. NB: This is not required when iterating using ENGINE_get_next - * as it will automatically decrement the structural reference count of the - * "current" ENGINE and increment the structural reference count of the - * ENGINE it returns (unless it is NULL). - */ - -/* Get the first/last "ENGINE" type available. */ -ENGINE *ENGINE_get_first(void); -ENGINE *ENGINE_get_last(void); -/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ -ENGINE *ENGINE_get_next(ENGINE *e); -ENGINE *ENGINE_get_prev(ENGINE *e); -/* Add another "ENGINE" type into the array. */ -int ENGINE_add(ENGINE *e); -/* Remove an existing "ENGINE" type from the array. */ -int ENGINE_remove(ENGINE *e); -/* Retrieve an engine from the list by its unique "id" value. */ -ENGINE *ENGINE_by_id(const char *id); -/* Add all the built-in engines. */ -void ENGINE_load_openssl(void); -void ENGINE_load_dynamic(void); -# ifndef OPENSSL_NO_STATIC_ENGINE -void ENGINE_load_4758cca(void); -void ENGINE_load_aep(void); -void ENGINE_load_atalla(void); -void ENGINE_load_chil(void); -void ENGINE_load_cswift(void); -void ENGINE_load_nuron(void); -void ENGINE_load_sureware(void); -void ENGINE_load_ubsec(void); -void ENGINE_load_padlock(void); -void ENGINE_load_capi(void); -# ifndef OPENSSL_NO_GMP -void ENGINE_load_gmp(void); -# endif -# ifndef OPENSSL_NO_GOST -void ENGINE_load_gost(void); -# endif -# endif -void ENGINE_load_cryptodev(void); -void ENGINE_load_rdrand(void); -void ENGINE_load_builtin_engines(void); - -/* - * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation - * "registry" handling. - */ -unsigned int ENGINE_get_table_flags(void); -void ENGINE_set_table_flags(unsigned int flags); - -/*- Manage registration of ENGINEs per "table". For each type, there are 3 - * functions; - * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) - * ENGINE_unregister_***(e) - unregister the implementation from 'e' - * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list - * Cleanup is automatically registered from each table when required, so - * ENGINE_cleanup() will reverse any "register" operations. - */ - -int ENGINE_register_RSA(ENGINE *e); -void ENGINE_unregister_RSA(ENGINE *e); -void ENGINE_register_all_RSA(void); - -int ENGINE_register_DSA(ENGINE *e); -void ENGINE_unregister_DSA(ENGINE *e); -void ENGINE_register_all_DSA(void); - -int ENGINE_register_ECDH(ENGINE *e); -void ENGINE_unregister_ECDH(ENGINE *e); -void ENGINE_register_all_ECDH(void); - -int ENGINE_register_ECDSA(ENGINE *e); -void ENGINE_unregister_ECDSA(ENGINE *e); -void ENGINE_register_all_ECDSA(void); - -int ENGINE_register_DH(ENGINE *e); -void ENGINE_unregister_DH(ENGINE *e); -void ENGINE_register_all_DH(void); - -int ENGINE_register_RAND(ENGINE *e); -void ENGINE_unregister_RAND(ENGINE *e); -void ENGINE_register_all_RAND(void); - -int ENGINE_register_STORE(ENGINE *e); -void ENGINE_unregister_STORE(ENGINE *e); -void ENGINE_register_all_STORE(void); - -int ENGINE_register_ciphers(ENGINE *e); -void ENGINE_unregister_ciphers(ENGINE *e); -void ENGINE_register_all_ciphers(void); - -int ENGINE_register_digests(ENGINE *e); -void ENGINE_unregister_digests(ENGINE *e); -void ENGINE_register_all_digests(void); - -int ENGINE_register_pkey_meths(ENGINE *e); -void ENGINE_unregister_pkey_meths(ENGINE *e); -void ENGINE_register_all_pkey_meths(void); - -int ENGINE_register_pkey_asn1_meths(ENGINE *e); -void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); -void ENGINE_register_all_pkey_asn1_meths(void); - -/* - * These functions register all support from the above categories. Note, use - * of these functions can result in static linkage of code your application - * may not need. If you only need a subset of functionality, consider using - * more selective initialisation. - */ -int ENGINE_register_complete(ENGINE *e); -int ENGINE_register_all_complete(void); - -/* - * Send parametrised control commands to the engine. The possibilities to - * send down an integer, a pointer to data or a function pointer are - * provided. Any of the parameters may or may not be NULL, depending on the - * command number. In actuality, this function only requires a structural - * (rather than functional) reference to an engine, but many control commands - * may require the engine be functional. The caller should be aware of trying - * commands that require an operational ENGINE, and only use functional - * references in such situations. - */ -int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)); - -/* - * This function tests if an ENGINE-specific command is usable as a - * "setting". Eg. in an application's config file that gets processed through - * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to - * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). - */ -int ENGINE_cmd_is_executable(ENGINE *e, int cmd); - -/* - * This function works like ENGINE_ctrl() with the exception of taking a - * command name instead of a command number, and can handle optional - * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation - * on how to use the cmd_name and cmd_optional. - */ -int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, - long i, void *p, void (*f) (void), int cmd_optional); - -/* - * This function passes a command-name and argument to an ENGINE. The - * cmd_name is converted to a command number and the control command is - * called using 'arg' as an argument (unless the ENGINE doesn't support such - * a command, in which case no control command is called). The command is - * checked for input flags, and if necessary the argument will be converted - * to a numeric value. If cmd_optional is non-zero, then if the ENGINE - * doesn't support the given cmd_name the return value will be success - * anyway. This function is intended for applications to use so that users - * (or config files) can supply engine-specific config data to the ENGINE at - * run-time to control behaviour of specific engines. As such, it shouldn't - * be used for calling ENGINE_ctrl() functions that return data, deal with - * binary data, or that are otherwise supposed to be used directly through - * ENGINE_ctrl() in application code. Any "return" data from an ENGINE_ctrl() - * operation in this function will be lost - the return value is interpreted - * as failure if the return value is zero, success otherwise, and this - * function returns a boolean value as a result. In other words, vendors of - * 'ENGINE'-enabled devices should write ENGINE implementations with - * parameterisations that work in this scheme, so that compliant ENGINE-based - * applications can work consistently with the same configuration for the - * same ENGINE-enabled devices, across applications. - */ -int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, - int cmd_optional); - -/* - * These functions are useful for manufacturing new ENGINE structures. They - * don't address reference counting at all - one uses them to populate an - * ENGINE structure with personalised implementations of things prior to - * using it directly or adding it to the builtin ENGINE list in OpenSSL. - * These are also here so that the ENGINE structure doesn't have to be - * exposed and break binary compatibility! - */ -ENGINE *ENGINE_new(void); -int ENGINE_free(ENGINE *e); -int ENGINE_up_ref(ENGINE *e); -int ENGINE_set_id(ENGINE *e, const char *id); -int ENGINE_set_name(ENGINE *e, const char *name); -int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); -int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); -int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); -int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth); -int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); -int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); -int ENGINE_set_STORE(ENGINE *e, const STORE_METHOD *store_meth); -int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); -int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); -int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); -int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); -int ENGINE_set_load_privkey_function(ENGINE *e, - ENGINE_LOAD_KEY_PTR loadpriv_f); -int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); -int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, - ENGINE_SSL_CLIENT_CERT_PTR - loadssl_f); -int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); -int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); -int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); -int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); -int ENGINE_set_flags(ENGINE *e, int flags); -int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); -/* These functions allow control over any per-structure ENGINE data. */ -int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); -void *ENGINE_get_ex_data(const ENGINE *e, int idx); - -/* - * This function cleans up anything that needs it. Eg. the ENGINE_add() - * function automatically ensures the list cleanup function is registered to - * be called from ENGINE_cleanup(). Similarly, all ENGINE_register_*** - * functions ensure ENGINE_cleanup() will clean up after them. - */ -void ENGINE_cleanup(void); - -/* - * These return values from within the ENGINE structure. These can be useful - * with functional references as well as structural references - it depends - * which you obtained. Using the result for functional purposes if you only - * obtained a structural reference may be problematic! - */ -const char *ENGINE_get_id(const ENGINE *e); -const char *ENGINE_get_name(const ENGINE *e); -const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); -const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); -const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); -const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e); -const DH_METHOD *ENGINE_get_DH(const ENGINE *e); -const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); -const STORE_METHOD *ENGINE_get_STORE(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); -ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); -ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); -ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); -ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE - *e); -ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); -ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); -ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); -ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); -const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); -const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); -const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); -const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); -const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, - const char *str, - int len); -const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, - const char *str, - int len); -const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); -int ENGINE_get_flags(const ENGINE *e); - -/* - * FUNCTIONAL functions. These functions deal with ENGINE structures that - * have (or will) be initialised for use. Broadly speaking, the structural - * functions are useful for iterating the list of available engine types, - * creating new engine types, and other "list" operations. These functions - * actually deal with ENGINEs that are to be used. As such these functions - * can fail (if applicable) when particular engines are unavailable - eg. if - * a hardware accelerator is not attached or not functioning correctly. Each - * ENGINE has 2 reference counts; structural and functional. Every time a - * functional reference is obtained or released, a corresponding structural - * reference is automatically obtained or released too. - */ - -/* - * Initialise a engine type for use (or up its reference count if it's - * already in use). This will fail if the engine is not currently operational - * and cannot initialise. - */ -int ENGINE_init(ENGINE *e); -/* - * Free a functional reference to a engine type. This does not require a - * corresponding call to ENGINE_free as it also releases a structural - * reference. - */ -int ENGINE_finish(ENGINE *e); - -/* - * The following functions handle keys that are stored in some secondary - * location, handled by the engine. The storage may be on a card or - * whatever. - */ -EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, - UI_METHOD *ui_method, void *callback_data); -EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, - UI_METHOD *ui_method, void *callback_data); -int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, - STACK_OF(X509_NAME) *ca_dn, X509 **pcert, - EVP_PKEY **ppkey, STACK_OF(X509) **pother, - UI_METHOD *ui_method, void *callback_data); - -/* - * This returns a pointer for the current ENGINE structure that is (by - * default) performing any RSA operations. The value returned is an - * incremented reference, so it should be free'd (ENGINE_finish) before it is - * discarded. - */ -ENGINE *ENGINE_get_default_RSA(void); -/* Same for the other "methods" */ -ENGINE *ENGINE_get_default_DSA(void); -ENGINE *ENGINE_get_default_ECDH(void); -ENGINE *ENGINE_get_default_ECDSA(void); -ENGINE *ENGINE_get_default_DH(void); -ENGINE *ENGINE_get_default_RAND(void); -/* - * These functions can be used to get a functional reference to perform - * ciphering or digesting corresponding to "nid". - */ -ENGINE *ENGINE_get_cipher_engine(int nid); -ENGINE *ENGINE_get_digest_engine(int nid); -ENGINE *ENGINE_get_pkey_meth_engine(int nid); -ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); - -/* - * This sets a new default ENGINE structure for performing RSA operations. If - * the result is non-zero (success) then the ENGINE structure will have had - * its reference count up'd so the caller should still free their own - * reference 'e'. - */ -int ENGINE_set_default_RSA(ENGINE *e); -int ENGINE_set_default_string(ENGINE *e, const char *def_list); -/* Same for the other "methods" */ -int ENGINE_set_default_DSA(ENGINE *e); -int ENGINE_set_default_ECDH(ENGINE *e); -int ENGINE_set_default_ECDSA(ENGINE *e); -int ENGINE_set_default_DH(ENGINE *e); -int ENGINE_set_default_RAND(ENGINE *e); -int ENGINE_set_default_ciphers(ENGINE *e); -int ENGINE_set_default_digests(ENGINE *e); -int ENGINE_set_default_pkey_meths(ENGINE *e); -int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); - -/* - * The combination "set" - the flags are bitwise "OR"d from the - * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" - * function, this function can result in unnecessary static linkage. If your - * application requires only specific functionality, consider using more - * selective functions. - */ -int ENGINE_set_default(ENGINE *e, unsigned int flags); - -void ENGINE_add_conf_module(void); - -/* Deprecated functions ... */ -/* int ENGINE_clear_defaults(void); */ - -/**************************/ -/* DYNAMIC ENGINE SUPPORT */ -/**************************/ - -/* Binary/behaviour compatibility levels */ -# define OSSL_DYNAMIC_VERSION (unsigned long)0x00020000 -/* - * Binary versions older than this are too old for us (whether we're a loader - * or a loadee) - */ -# define OSSL_DYNAMIC_OLDEST (unsigned long)0x00020000 - -/* - * When compiling an ENGINE entirely as an external shared library, loadable - * by the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' - * structure type provides the calling application's (or library's) error - * functionality and memory management function pointers to the loaded - * library. These should be used/set in the loaded library code so that the - * loading application's 'state' will be used/changed in all operations. The - * 'static_state' pointer allows the loaded library to know if it shares the - * same static data as the calling application (or library), and thus whether - * these callbacks need to be set or not. - */ -typedef void *(*dyn_MEM_malloc_cb) (size_t); -typedef void *(*dyn_MEM_realloc_cb) (void *, size_t); -typedef void (*dyn_MEM_free_cb) (void *); -typedef struct st_dynamic_MEM_fns { - dyn_MEM_malloc_cb malloc_cb; - dyn_MEM_realloc_cb realloc_cb; - dyn_MEM_free_cb free_cb; -} dynamic_MEM_fns; -/* - * FIXME: Perhaps the memory and locking code (crypto.h) should declare and - * use these types so we (and any other dependant code) can simplify a bit?? - */ -typedef void (*dyn_lock_locking_cb) (int, int, const char *, int); -typedef int (*dyn_lock_add_lock_cb) (int *, int, int, const char *, int); -typedef struct CRYPTO_dynlock_value *(*dyn_dynlock_create_cb) (const char *, - int); -typedef void (*dyn_dynlock_lock_cb) (int, struct CRYPTO_dynlock_value *, - const char *, int); -typedef void (*dyn_dynlock_destroy_cb) (struct CRYPTO_dynlock_value *, - const char *, int); -typedef struct st_dynamic_LOCK_fns { - dyn_lock_locking_cb lock_locking_cb; - dyn_lock_add_lock_cb lock_add_lock_cb; - dyn_dynlock_create_cb dynlock_create_cb; - dyn_dynlock_lock_cb dynlock_lock_cb; - dyn_dynlock_destroy_cb dynlock_destroy_cb; -} dynamic_LOCK_fns; -/* The top-level structure */ -typedef struct st_dynamic_fns { - void *static_state; - const ERR_FNS *err_fns; - const CRYPTO_EX_DATA_IMPL *ex_data_fns; - dynamic_MEM_fns mem_fns; - dynamic_LOCK_fns lock_fns; -} dynamic_fns; - -/* - * The version checking function should be of this prototype. NB: The - * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading - * code. If this function returns zero, it indicates a (potential) version - * incompatibility and the loaded library doesn't believe it can proceed. - * Otherwise, the returned value is the (latest) version supported by the - * loading library. The loader may still decide that the loaded code's - * version is unsatisfactory and could veto the load. The function is - * expected to be implemented with the symbol name "v_check", and a default - * implementation can be fully instantiated with - * IMPLEMENT_DYNAMIC_CHECK_FN(). - */ -typedef unsigned long (*dynamic_v_check_fn) (unsigned long ossl_version); -# define IMPLEMENT_DYNAMIC_CHECK_FN() \ - OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ - OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ - if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ - return 0; } - -/* - * This function is passed the ENGINE structure to initialise with its own - * function and command settings. It should not adjust the structural or - * functional reference counts. If this function returns zero, (a) the load - * will be aborted, (b) the previous ENGINE state will be memcpy'd back onto - * the structure, and (c) the shared library will be unloaded. So - * implementations should do their own internal cleanup in failure - * circumstances otherwise they could leak. The 'id' parameter, if non-NULL, - * represents the ENGINE id that the loader is looking for. If this is NULL, - * the shared library can choose to return failure or to initialise a - * 'default' ENGINE. If non-NULL, the shared library must initialise only an - * ENGINE matching the passed 'id'. The function is expected to be - * implemented with the symbol name "bind_engine". A standard implementation - * can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where the parameter - * 'fn' is a callback function that populates the ENGINE structure and - * returns an int value (zero for failure). 'fn' should have prototype; - * [static] int fn(ENGINE *e, const char *id); - */ -typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id, - const dynamic_fns *fns); -# define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ - OPENSSL_EXPORT \ - int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ - OPENSSL_EXPORT \ - int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ - if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ - if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ - fns->mem_fns.realloc_cb, fns->mem_fns.free_cb)) \ - return 0; \ - CRYPTO_set_locking_callback(fns->lock_fns.lock_locking_cb); \ - CRYPTO_set_add_lock_callback(fns->lock_fns.lock_add_lock_cb); \ - CRYPTO_set_dynlock_create_callback(fns->lock_fns.dynlock_create_cb); \ - CRYPTO_set_dynlock_lock_callback(fns->lock_fns.dynlock_lock_cb); \ - CRYPTO_set_dynlock_destroy_callback(fns->lock_fns.dynlock_destroy_cb); \ - if(!CRYPTO_set_ex_data_implementation(fns->ex_data_fns)) \ - return 0; \ - if(!ERR_set_implementation(fns->err_fns)) return 0; \ - skip_cbs: \ - if(!fn(e,id)) return 0; \ - return 1; } - -/* - * If the loading application (or library) and the loaded ENGINE library - * share the same static data (eg. they're both dynamically linked to the - * same libcrypto.so) we need a way to avoid trying to set system callbacks - - * this would fail, and for the same reason that it's unnecessary to try. If - * the loaded ENGINE has (or gets from through the loader) its own copy of - * the libcrypto static data, we will need to set the callbacks. The easiest - * way to detect this is to have a function that returns a pointer to some - * static data and let the loading application and loaded ENGINE compare - * their respective values. - */ -void *ENGINE_get_static_state(void); - -# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV) -void ENGINE_setup_bsd_cryptodev(void); -# endif - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ENGINE_strings(void); - -/* 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/src/components/openssl/err.h b/src/components/openssl/err.h deleted file mode 100644 index 5792b57..0000000 --- a/src/components/openssl/err.h +++ /dev/null @@ -1,389 +0,0 @@ -/* crypto/err/err.h */ -/* 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 - -# ifndef OPENSSL_NO_FP_API -# include -# include -# endif - -# include -# ifndef OPENSSL_NO_BIO -# include -# endif -# ifndef OPENSSL_NO_LHASH -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# ifndef OPENSSL_NO_ERR -# 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 -typedef struct err_state_st { - CRYPTO_THREADID tid; - int err_flags[ERR_NUM_ERRORS]; - unsigned long err_buffer[ERR_NUM_ERRORS]; - char *err_data[ERR_NUM_ERRORS]; - int err_data_flags[ERR_NUM_ERRORS]; - const char *err_file[ERR_NUM_ERRORS]; - int err_line[ERR_NUM_ERRORS]; - int top, bottom; -} ERR_STATE; - -/* 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_USER 128 - -# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__) -# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__) -# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__) -# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__) -# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__) -# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__) -# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__) -# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__) -# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__) -# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__) -# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__) -# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__) -# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__) -# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__) -# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__) -# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__) -# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__) -# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__) -# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__) -# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__) -# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__) -# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__) -# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) -# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) -# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__) -# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) -# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__) -# define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__) -# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__) -# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__) -# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) -# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) -# define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) - -/* - * Borland C seems too stupid to be able to shift and do longs in the - * pre-processor :-( - */ -# define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \ - ((((unsigned long)f)&0xfffL)*0x1000)| \ - ((((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) - -/* - * 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); -# ifndef OPENSSL_NO_FP_API -void ERR_print_errors_fp(FILE *fp); -# endif -# ifndef OPENSSL_NO_BIO -void ERR_print_errors(BIO *bp); -# endif -void ERR_add_error_data(int num, ...); -void ERR_add_error_vdata(int num, va_list args); -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); -# ifndef OPENSSL_NO_DEPRECATED -void ERR_remove_state(unsigned long pid); /* if zero we look it up */ -# endif -ERR_STATE *ERR_get_state(void); - -# ifndef OPENSSL_NO_LHASH -LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void); -LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void); -void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash); -# endif - -int ERR_get_next_error_library(void); - -int ERR_set_mark(void); -int ERR_pop_to_mark(void); - -/* Already defined in ossl_typ.h */ -/* typedef struct st_ERR_FNS ERR_FNS; */ -/* - * An application can use this function and provide the return value to - * loaded modules that should use the application's ERR state/functionality - */ -const ERR_FNS *ERR_get_implementation(void); -/* - * A loaded module should call this function prior to any ERR operations - * using the application's "ERR_FNS". - */ -int ERR_set_implementation(const ERR_FNS *fns); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/evp.h b/src/components/openssl/evp.h deleted file mode 100644 index 3c6351b..0000000 --- a/src/components/openssl/evp.h +++ /dev/null @@ -1,1536 +0,0 @@ -/* crypto/evp/evp.h */ -/* 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 - -# ifdef OPENSSL_ALGORITHM_DEFINES -# include -# else -# define OPENSSL_ALGORITHM_DEFINES -# include -# undef OPENSSL_ALGORITHM_DEFINES -# endif - -# 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_PKEY_NONE NID_undef -# define EVP_PKEY_RSA NID_rsaEncryption -# 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_DHX NID_dhpublicnumber -# define EVP_PKEY_EC NID_X9_62_id_ecPublicKey -# define EVP_PKEY_HMAC NID_hmac -# define EVP_PKEY_CMAC NID_cmac - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Type needs to be a bit field Sub-type needs to be for variations on the - * method, as in, can it do arbitrary encryption.... - */ -struct evp_pkey_st { - int type; - int save_type; - int references; - const EVP_PKEY_ASN1_METHOD *ameth; - ENGINE *engine; - union { - char *ptr; -# ifndef OPENSSL_NO_RSA - struct rsa_st *rsa; /* RSA */ -# endif -# ifndef OPENSSL_NO_DSA - struct dsa_st *dsa; /* DSA */ -# endif -# ifndef OPENSSL_NO_DH - struct dh_st *dh; /* DH */ -# endif -# ifndef OPENSSL_NO_EC - struct ec_key_st *ec; /* ECC */ -# endif - } pkey; - int save_parameters; - STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ -} /* EVP_PKEY */ ; - -# 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 -struct env_md_st { - int type; - int pkey_type; - int md_size; - unsigned long flags; - int (*init) (EVP_MD_CTX *ctx); - int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); - int (*final) (EVP_MD_CTX *ctx, unsigned char *md); - int (*copy) (EVP_MD_CTX *to, const EVP_MD_CTX *from); - int (*cleanup) (EVP_MD_CTX *ctx); - /* FIXME: prototype these some day */ - int (*sign) (int type, const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, void *key); - int (*verify) (int type, const unsigned char *m, unsigned int m_length, - const unsigned char *sigbuf, unsigned int siglen, - void *key); - int required_pkey_type[5]; /* EVP_PKEY_xxx */ - int block_size; - int ctx_size; /* how big does the ctx->md_data need to be */ - /* control function */ - int (*md_ctrl) (EVP_MD_CTX *ctx, int cmd, int p1, void *p2); -} /* EVP_MD */ ; - -typedef int evp_sign_method(int type, const unsigned char *m, - unsigned int m_length, unsigned char *sigret, - unsigned int *siglen, void *key); -typedef int evp_verify_method(int type, const unsigned char *m, - unsigned int m_length, - const unsigned char *sigbuf, - unsigned int siglen, void *key); - -/* digest can only handle a single block */ -# define EVP_MD_FLAG_ONESHOT 0x0001 - -/* - * digest is a "clone" digest used - * which is a copy of an existing - * one for a specific public key type. - * EVP_dss1() etc - */ -# define EVP_MD_FLAG_PKEY_DIGEST 0x0002 - -/* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ - -# define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004 - -/* 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 - -/* Note if suitable for use in FIPS mode */ -# define EVP_MD_FLAG_FIPS 0x0400 - -/* Digest ctrls */ - -# define EVP_MD_CTRL_DIGALGID 0x1 -# define EVP_MD_CTRL_MICALG 0x2 - -/* Minimum Algorithm specific ctrl value */ - -# define EVP_MD_CTRL_ALG_CTRL 0x1000 - -# define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} - -# ifndef OPENSSL_NO_DSA -# define EVP_PKEY_DSA_method (evp_sign_method *)DSA_sign, \ - (evp_verify_method *)DSA_verify, \ - {EVP_PKEY_DSA,EVP_PKEY_DSA2,EVP_PKEY_DSA3, \ - EVP_PKEY_DSA4,0} -# else -# define EVP_PKEY_DSA_method EVP_PKEY_NULL_method -# endif - -# ifndef OPENSSL_NO_ECDSA -# define EVP_PKEY_ECDSA_method (evp_sign_method *)ECDSA_sign, \ - (evp_verify_method *)ECDSA_verify, \ - {EVP_PKEY_EC,0,0,0} -# else -# define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method -# endif - -# ifndef OPENSSL_NO_RSA -# define EVP_PKEY_RSA_method (evp_sign_method *)RSA_sign, \ - (evp_verify_method *)RSA_verify, \ - {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} -# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method \ - (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, \ - (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, \ - {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} -# else -# define EVP_PKEY_RSA_method EVP_PKEY_NULL_method -# define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method -# endif - -# endif /* !EVP_MD */ - -struct env_md_ctx_st { - const EVP_MD *digest; - ENGINE *engine; /* functional reference if 'digest' is - * ENGINE-provided */ - unsigned long flags; - void *md_data; - /* Public key context for sign/verify */ - EVP_PKEY_CTX *pctx; - /* Update function: usually copied from EVP_MD */ - int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count); -} /* EVP_MD_CTX */ ; - -/* 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_X931 0x10/* X9.31 mode */ -# define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */ - -# define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */ - -struct evp_cipher_st { - int nid; - int block_size; - /* Default value for variable length ciphers */ - int key_len; - int iv_len; - /* Various flags */ - unsigned long flags; - /* init key */ - int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key, - const unsigned char *iv, int enc); - /* encrypt/decrypt data */ - int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out, - const unsigned char *in, size_t inl); - /* cleanup ctx */ - int (*cleanup) (EVP_CIPHER_CTX *); - /* how big ctx->cipher_data needs to be */ - int ctx_size; - /* Populate a ASN1_TYPE with parameters */ - int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); - /* Get parameters from a ASN1_TYPE */ - int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); - /* Miscellaneous operations */ - int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr); - /* Application data */ - void *app_data; -} /* EVP_CIPHER */ ; - -/* 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 key length function */ -# define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 -/* 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 -# define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 - -/* - * Cipher context flag to indicate 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_SET_KEY_LENGTH 0x1 -# 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_GCM_SET_IVLEN 0x9 -# define EVP_CTRL_GCM_GET_TAG 0x10 -# define EVP_CTRL_GCM_SET_TAG 0x11 -# define EVP_CTRL_GCM_SET_IV_FIXED 0x12 -# define EVP_CTRL_GCM_IV_GEN 0x13 -# define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN -# define EVP_CTRL_CCM_GET_TAG EVP_CTRL_GCM_GET_TAG -# define EVP_CTRL_CCM_SET_TAG EVP_CTRL_GCM_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 - -# define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19 -# define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a -# define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b -# define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c - -/* RFC 5246 defines additional data to be 13 bytes in length */ -# define EVP_AEAD_TLS1_AAD_LEN 13 - -typedef struct { - unsigned char *out; - const unsigned char *inp; - size_t len; - unsigned int interleave; -} EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM; - -/* 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 - -typedef struct evp_cipher_info_st { - const EVP_CIPHER *cipher; - unsigned char iv[EVP_MAX_IV_LENGTH]; -} EVP_CIPHER_INFO; - -struct evp_cipher_ctx_st { - const EVP_CIPHER *cipher; - ENGINE *engine; /* functional reference if 'cipher' is - * ENGINE-provided */ - int encrypt; /* encrypt or decrypt */ - int buf_len; /* number we have left */ - unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ - unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ - unsigned char buf[EVP_MAX_BLOCK_LENGTH]; /* saved partial block */ - int num; /* used by cfb/ofb/ctr mode */ - void *app_data; /* application stuff */ - int key_len; /* May change for variable length cipher */ - unsigned long flags; /* Various flags */ - void *cipher_data; /* per EVP data */ - int final_used; - int block_mask; - unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */ -} /* EVP_CIPHER_CTX */ ; - -typedef struct evp_Encode_Ctx_st { - /* number saved in a partial encode/decode */ - int num; - /* - * The length is either the output line length (in input bytes) or the - * shortest input line length that is ok. Once decoding begins, the - * length is adjusted up each time a longer line is decoded - */ - int length; - /* data to encode */ - unsigned char enc_data[80]; - /* number read on current line */ - int line_num; - int expect_nl; -} EVP_ENCODE_CTX; - -/* 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); -# 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_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_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); -# 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) - -# 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) - -# ifdef CONST_STRICT -void BIO_set_md(BIO *, const EVP_MD *md); -# else -# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md) -# endif -# 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); - -# define EVP_add_cipher_alias(n,alias) \ - OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) -# define EVP_add_digest_alias(n,alias) \ - OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) -# define EVP_delete_cipher_alias(alias) \ - OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); -# define EVP_delete_digest_alias(alias) \ - OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); - -void EVP_MD_CTX_init(EVP_MD_CTX *ctx); -int EVP_MD_CTX_cleanup(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_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_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(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); -int EVP_DecryptFinal_ex(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(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); -int EVP_CipherFinal_ex(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_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_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); - -void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); -void 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); - -void 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_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 -BIO_METHOD *BIO_f_md(void); -BIO_METHOD *BIO_f_base64(void); -BIO_METHOD *BIO_f_cipher(void); -BIO_METHOD *BIO_f_reliable(void); -void 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_MD2 -const EVP_MD *EVP_md2(void); -# endif -# ifndef OPENSSL_NO_MD4 -const EVP_MD *EVP_md4(void); -# endif -# ifndef OPENSSL_NO_MD5 -const EVP_MD *EVP_md5(void); -# endif -# ifndef OPENSSL_NO_SHA -const EVP_MD *EVP_sha(void); -const EVP_MD *EVP_sha1(void); -const EVP_MD *EVP_dss(void); -const EVP_MD *EVP_dss1(void); -const EVP_MD *EVP_ecdsa(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); -# endif -# ifndef OPENSSL_NO_MDC2 -const EVP_MD *EVP_mdc2(void); -# endif -# ifndef OPENSSL_NO_RIPEMD -const EVP_MD *EVP_ripemd160(void); -# endif -# ifndef OPENSSL_NO_WHIRLPOOL -const EVP_MD *EVP_whirlpool(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 -# if 0 -const EVP_CIPHER *EVP_des_ede_cfb1(void); -const EVP_CIPHER *EVP_des_ede_cfb8(void); -# endif -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); -const EVP_CIPHER *EVP_des_ede3_wrap(void); -/* - * This should now be supported through the dev_crypto ENGINE. But also, why - * are rc4 and md5 declarations made here inside a "NO_DES" precompiler - * branch? - */ -# if 0 -# ifdef OPENSSL_OPENBSD_DEV_CRYPTO -const EVP_CIPHER *EVP_dev_crypto_des_ede3_cbc(void); -const EVP_CIPHER *EVP_dev_crypto_rc4(void); -const EVP_MD *EVP_dev_crypto_md5(void); -# endif -# endif -# endif -# ifndef OPENSSL_NO_RC4 -const EVP_CIPHER *EVP_rc4(void); -const EVP_CIPHER *EVP_rc4_40(void); -# ifndef OPENSSL_NO_MD5 -const EVP_CIPHER *EVP_rc4_hmac_md5(void); -# endif -# 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_RC5 -const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); -const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); -const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); -# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 -const EVP_CIPHER *EVP_rc5_32_12_16_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_xts(void); -const EVP_CIPHER *EVP_aes_128_wrap(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_xts(void); -const EVP_CIPHER *EVP_aes_256_wrap(void); -# if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1) -const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); -const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); -# endif -# ifndef OPENSSL_NO_SHA256 -const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); -const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(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_SEED -const EVP_CIPHER *EVP_seed_ecb(void); -const EVP_CIPHER *EVP_seed_cbc(void); -const EVP_CIPHER *EVP_seed_cfb128(void); -# define EVP_seed_cfb EVP_seed_cfb128 -const EVP_CIPHER *EVP_seed_ofb(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() - -int EVP_add_cipher(const EVP_CIPHER *cipher); -int EVP_add_digest(const EVP_MD *digest); - -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(EVP_PKEY *pkey); -int EVP_PKEY_size(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(EVP_PKEY *pkey); - -# ifndef OPENSSL_NO_RSA -struct rsa_st; -int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); -struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); -# endif -# ifndef OPENSSL_NO_DSA -struct dsa_st; -int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); -struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); -# endif -# ifndef OPENSSL_NO_DH -struct dh_st; -int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); -struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); -# endif -# ifndef OPENSSL_NO_EC -struct ec_key_st; -int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); -struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); -# endif - -EVP_PKEY *EVP_PKEY_new(void); -void EVP_PKEY_free(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); - -/* calls methods */ -int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); -int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); - -/* These are used by EVP_CIPHER methods */ -int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); -int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type); - -/* PKCS5 password based encryption */ -int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md, int en_de); -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); -int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md, int en_de); - -void PKCS5_PBE_add(void); - -int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, - ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); - -/* PBE type */ - -/* Can appear as the outermost AlgorithmIdentifier */ -# define EVP_PBE_TYPE_OUTER 0x0 -/* Is an PRF type OID */ -# define EVP_PBE_TYPE_PRF 0x1 - -int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, - int md_nid, EVP_PBE_KEYGEN *keygen); -int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, - EVP_PBE_KEYGEN *keygen); -int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid, - EVP_PBE_KEYGEN **pkeygen); -void EVP_PBE_cleanup(void); - -# 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_add0(const EVP_PKEY_ASN1_METHOD *ameth); -int EVP_PKEY_asn1_add_alias(int to, int from); -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(EVP_PKEY *pkey); -EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, - const char *pem_str, - const char *info); -void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, - const EVP_PKEY_ASN1_METHOD *src); -void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); -void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, - int (*pub_decode) (EVP_PKEY *pk, - X509_PUBKEY *pub), - int (*pub_encode) (X509_PUBKEY *pub, - const EVP_PKEY *pk), - int (*pub_cmp) (const EVP_PKEY *a, - const EVP_PKEY *b), - int (*pub_print) (BIO *out, - const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx), - int (*pkey_size) (const EVP_PKEY *pk), - int (*pkey_bits) (const EVP_PKEY *pk)); -void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, - int (*priv_decode) (EVP_PKEY *pk, - PKCS8_PRIV_KEY_INFO - *p8inf), - int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8, - const EVP_PKEY *pk), - int (*priv_print) (BIO *out, - const EVP_PKEY *pkey, - int indent, - ASN1_PCTX *pctx)); -void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, - int (*param_decode) (EVP_PKEY *pkey, - const unsigned char **pder, - int derlen), - int (*param_encode) (const EVP_PKEY *pkey, - unsigned char **pder), - int (*param_missing) (const EVP_PKEY *pk), - int (*param_copy) (EVP_PKEY *to, - const EVP_PKEY *from), - int (*param_cmp) (const EVP_PKEY *a, - const EVP_PKEY *b), - int (*param_print) (BIO *out, - const EVP_PKEY *pkey, - int indent, - ASN1_PCTX *pctx)); - -void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, - void (*pkey_free) (EVP_PKEY *pkey)); -void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_ctrl) (EVP_PKEY *pkey, int op, - long arg1, void *arg2)); -void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth, - int (*item_verify) (EVP_MD_CTX *ctx, - const ASN1_ITEM *it, - void *asn, - X509_ALGOR *a, - ASN1_BIT_STRING *sig, - EVP_PKEY *pkey), - int (*item_sign) (EVP_MD_CTX *ctx, - const ASN1_ITEM *it, - void *asn, - X509_ALGOR *alg1, - X509_ALGOR *alg2, - ASN1_BIT_STRING *sig)); - -# 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 - -const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); -EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags); -void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, - const EVP_PKEY_METHOD *meth); -void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); -void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); -int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); - -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); - -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); - -void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, - int (*init) (EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, - int (*copy) (EVP_PKEY_CTX *dst, - EVP_PKEY_CTX *src)); - -void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, - void (*cleanup) (EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, - int (*paramgen_init) (EVP_PKEY_CTX *ctx), - int (*paramgen) (EVP_PKEY_CTX *ctx, - EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, - int (*keygen_init) (EVP_PKEY_CTX *ctx), - int (*keygen) (EVP_PKEY_CTX *ctx, - EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, - int (*sign_init) (EVP_PKEY_CTX *ctx), - int (*sign) (EVP_PKEY_CTX *ctx, - unsigned char *sig, size_t *siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, - int (*verify_init) (EVP_PKEY_CTX *ctx), - int (*verify) (EVP_PKEY_CTX *ctx, - const unsigned char *sig, - size_t siglen, - const unsigned char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, - int (*verify_recover_init) (EVP_PKEY_CTX - *ctx), - int (*verify_recover) (EVP_PKEY_CTX - *ctx, - unsigned char - *sig, - size_t *siglen, - const unsigned - char *tbs, - size_t tbslen)); - -void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, - int (*signctx_init) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx), - int (*signctx) (EVP_PKEY_CTX *ctx, - unsigned char *sig, - size_t *siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, - int (*verifyctx_init) (EVP_PKEY_CTX *ctx, - EVP_MD_CTX *mctx), - int (*verifyctx) (EVP_PKEY_CTX *ctx, - const unsigned char *sig, - int siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, - int (*encrypt_init) (EVP_PKEY_CTX *ctx), - int (*encryptfn) (EVP_PKEY_CTX *ctx, - unsigned char *out, - size_t *outlen, - const unsigned char *in, - size_t inlen)); - -void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, - int (*decrypt_init) (EVP_PKEY_CTX *ctx), - int (*decrypt) (EVP_PKEY_CTX *ctx, - unsigned char *out, - size_t *outlen, - const unsigned char *in, - size_t inlen)); - -void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, - int (*derive_init) (EVP_PKEY_CTX *ctx), - int (*derive) (EVP_PKEY_CTX *ctx, - unsigned char *key, - size_t *keylen)); - -void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, - int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1, - void *p2), - int (*ctrl_str) (EVP_PKEY_CTX *ctx, - const char *type, - const char *value)); - -void EVP_add_alg_module(void); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -void ERR_load_EVP_strings(void); - -/* Error codes for the EVP functions. */ - -/* Function codes. */ -# 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_T4_INIT_KEY 178 -# 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_CMLL_T4_INIT_KEY 179 -# 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_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_DECRYPTFINAL_EX 101 -# define EVP_F_EVP_DIGESTINIT_EX 128 -# define EVP_F_EVP_ENCRYPTFINAL_EX 127 -# define EVP_F_EVP_MD_CTX_COPY_EX 110 -# 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_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_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_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_KEY 171 -# 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_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_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 -# define EVP_R_OPERATON_NOT_INITIALIZED 151 -# 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_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_UNSUPPORTED_SALT_TYPE 126 -# define EVP_R_WRAP_MODE_NOT_ALLOWED 170 -# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 -# define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 - -# ifdef __cplusplus -} -# endif -#endif diff --git a/src/components/openssl/hmac.h b/src/components/openssl/hmac.h deleted file mode 100644 index 40b209a..0000000 --- a/src/components/openssl/hmac.h +++ /dev/null @@ -1,109 +0,0 @@ -/* crypto/hmac/hmac.h */ -/* 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 - -# ifdef OPENSSL_NO_HMAC -# error HMAC is disabled. -# endif - -# include - -# define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct hmac_ctx_st { - const EVP_MD *md; - EVP_MD_CTX md_ctx; - EVP_MD_CTX i_ctx; - EVP_MD_CTX o_ctx; - unsigned int key_length; - unsigned char key[HMAC_MAX_MD_CBLOCK]; -} HMAC_CTX; - -# define HMAC_size(e) (EVP_MD_size((e)->md)) - -void HMAC_CTX_init(HMAC_CTX *ctx); -void HMAC_CTX_cleanup(HMAC_CTX *ctx); - -/* deprecated */ -# define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) - -/* deprecated */ -int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md); -int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md, ENGINE *impl); -int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len); -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); -int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); - -void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/idea.h b/src/components/openssl/idea.h deleted file mode 100644 index d794216..0000000 --- a/src/components/openssl/idea.h +++ /dev/null @@ -1,105 +0,0 @@ -/* crypto/idea/idea.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.] - */ - -#ifndef HEADER_IDEA_H -# define HEADER_IDEA_H - -# include /* IDEA_INT, OPENSSL_NO_IDEA */ - -# ifdef OPENSSL_NO_IDEA -# error IDEA is disabled. -# endif - -# 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; - -const char *idea_options(void); -void idea_ecb_encrypt(const unsigned char *in, unsigned char *out, - IDEA_KEY_SCHEDULE *ks); -# ifdef OPENSSL_FIPS -void private_idea_set_encrypt_key(const unsigned char *key, - IDEA_KEY_SCHEDULE *ks); -# endif -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/src/components/openssl/krb5_asn.h b/src/components/openssl/krb5_asn.h deleted file mode 100644 index fdd8268..0000000 --- a/src/components/openssl/krb5_asn.h +++ /dev/null @@ -1,240 +0,0 @@ -/* krb5_asn.h */ -/* - * Written by Vern Staats for the OpenSSL project, ** - * using ocsp/{*.h,*asn*.c} as a starting point - */ - -/* ==================================================================== - * 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_KRB5_ASN_H -# define HEADER_KRB5_ASN_H - -/* - * #include - */ -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * ASN.1 from Kerberos RFC 1510 - */ - -/*- EncryptedData ::= SEQUENCE { - * etype[0] INTEGER, -- EncryptionType - * kvno[1] INTEGER OPTIONAL, - * cipher[2] OCTET STRING -- ciphertext - * } - */ -typedef struct krb5_encdata_st { - ASN1_INTEGER *etype; - ASN1_INTEGER *kvno; - ASN1_OCTET_STRING *cipher; -} KRB5_ENCDATA; - -DECLARE_STACK_OF(KRB5_ENCDATA) - -/*- PrincipalName ::= SEQUENCE { - * name-type[0] INTEGER, - * name-string[1] SEQUENCE OF GeneralString - * } - */ -typedef struct krb5_princname_st { - ASN1_INTEGER *nametype; - STACK_OF(ASN1_GENERALSTRING) *namestring; -} KRB5_PRINCNAME; - -DECLARE_STACK_OF(KRB5_PRINCNAME) - -/*- Ticket ::= [APPLICATION 1] SEQUENCE { - * tkt-vno[0] INTEGER, - * realm[1] Realm, - * sname[2] PrincipalName, - * enc-part[3] EncryptedData - * } - */ -typedef struct krb5_tktbody_st { - ASN1_INTEGER *tktvno; - ASN1_GENERALSTRING *realm; - KRB5_PRINCNAME *sname; - KRB5_ENCDATA *encdata; -} KRB5_TKTBODY; - -typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET; -DECLARE_STACK_OF(KRB5_TKTBODY) - -/*- AP-REQ ::= [APPLICATION 14] SEQUENCE { - * pvno[0] INTEGER, - * msg-type[1] INTEGER, - * ap-options[2] APOptions, - * ticket[3] Ticket, - * authenticator[4] EncryptedData - * } - * - * APOptions ::= BIT STRING { - * reserved(0), use-session-key(1), mutual-required(2) } - */ -typedef struct krb5_ap_req_st { - ASN1_INTEGER *pvno; - ASN1_INTEGER *msgtype; - ASN1_BIT_STRING *apoptions; - KRB5_TICKET *ticket; - KRB5_ENCDATA *authenticator; -} KRB5_APREQBODY; - -typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ; -DECLARE_STACK_OF(KRB5_APREQBODY) - -/* Authenticator Stuff */ - -/*- Checksum ::= SEQUENCE { - * cksumtype[0] INTEGER, - * checksum[1] OCTET STRING - * } - */ -typedef struct krb5_checksum_st { - ASN1_INTEGER *ctype; - ASN1_OCTET_STRING *checksum; -} KRB5_CHECKSUM; - -DECLARE_STACK_OF(KRB5_CHECKSUM) - -/*- EncryptionKey ::= SEQUENCE { - * keytype[0] INTEGER, - * keyvalue[1] OCTET STRING - * } - */ -typedef struct krb5_encryptionkey_st { - ASN1_INTEGER *ktype; - ASN1_OCTET_STRING *keyvalue; -} KRB5_ENCKEY; - -DECLARE_STACK_OF(KRB5_ENCKEY) - -/*- AuthorizationData ::= SEQUENCE OF SEQUENCE { - * ad-type[0] INTEGER, - * ad-data[1] OCTET STRING - * } - */ -typedef struct krb5_authorization_st { - ASN1_INTEGER *adtype; - ASN1_OCTET_STRING *addata; -} KRB5_AUTHDATA; - -DECLARE_STACK_OF(KRB5_AUTHDATA) - -/*- -- Unencrypted authenticator - * Authenticator ::= [APPLICATION 2] SEQUENCE { - * authenticator-vno[0] INTEGER, - * crealm[1] Realm, - * cname[2] PrincipalName, - * cksum[3] Checksum OPTIONAL, - * cusec[4] INTEGER, - * ctime[5] KerberosTime, - * subkey[6] EncryptionKey OPTIONAL, - * seq-number[7] INTEGER OPTIONAL, - * authorization-data[8] AuthorizationData OPTIONAL - * } - */ -typedef struct krb5_authenticator_st { - ASN1_INTEGER *avno; - ASN1_GENERALSTRING *crealm; - KRB5_PRINCNAME *cname; - KRB5_CHECKSUM *cksum; - ASN1_INTEGER *cusec; - ASN1_GENERALIZEDTIME *ctime; - KRB5_ENCKEY *subkey; - ASN1_INTEGER *seqnum; - KRB5_AUTHDATA *authorization; -} KRB5_AUTHENTBODY; - -typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT; -DECLARE_STACK_OF(KRB5_AUTHENTBODY) - -/*- DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) = - * type *name##_new(void); - * void name##_free(type *a); - * DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) = - * 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) = OPENSSL_EXTERN const ASN1_ITEM itname##_it - */ - -DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA) -DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME) -DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_TICKET) -DECLARE_ASN1_FUNCTIONS(KRB5_APREQ) - -DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM) -DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT) - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/kssl.h b/src/components/openssl/kssl.h deleted file mode 100644 index 18bc28e..0000000 --- a/src/components/openssl/kssl.h +++ /dev/null @@ -1,197 +0,0 @@ -/* ssl/kssl.h */ -/* - * Written by Vern Staats for the OpenSSL project - * 2000. project 2000. - */ -/* ==================================================================== - * Copyright (c) 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 - * 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). - * - */ - -/* - ** 19990701 VRS Started. - */ - -#ifndef KSSL_H -# define KSSL_H - -# include - -# ifndef OPENSSL_NO_KRB5 - -# include -# include -# include -# ifdef OPENSSL_SYS_WIN32 -/* - * These can sometimes get redefined indirectly by krb5 header files after - * they get undefed in ossl_typ.h - */ -# undef X509_NAME -# undef X509_EXTENSIONS -# undef OCSP_REQUEST -# undef OCSP_RESPONSE -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Depending on which KRB5 implementation used, some types from - * the other may be missing. Resolve that here and now - */ -# ifdef KRB5_HEIMDAL -typedef unsigned char krb5_octet; -# define FAR -# else - -# ifndef FAR -# define FAR -# endif - -# endif - -/*- - * Uncomment this to debug kssl problems or - * to trace usage of the Kerberos session key - * - * #define KSSL_DEBUG - */ - -# ifndef KRB5SVC -# define KRB5SVC "host" -# endif - -# ifndef KRB5KEYTAB -# define KRB5KEYTAB "/etc/krb5.keytab" -# endif - -# ifndef KRB5SENDAUTH -# define KRB5SENDAUTH 1 -# endif - -# ifndef KRB5CHECKAUTH -# define KRB5CHECKAUTH 1 -# endif - -# ifndef KSSL_CLOCKSKEW -# define KSSL_CLOCKSKEW 300; -# endif - -# define KSSL_ERR_MAX 255 -typedef struct kssl_err_st { - int reason; - char text[KSSL_ERR_MAX + 1]; -} KSSL_ERR; - -/*- Context for passing - * (1) Kerberos session key to SSL, and - * (2) Config data between application and SSL lib - */ -typedef struct kssl_ctx_st { - /* used by: disposition: */ - char *service_name; /* C,S default ok (kssl) */ - char *service_host; /* C input, REQUIRED */ - char *client_princ; /* S output from krb5 ticket */ - char *keytab_file; /* S NULL (/etc/krb5.keytab) */ - char *cred_cache; /* C NULL (default) */ - krb5_enctype enctype; - int length; - krb5_octet FAR *key; -} KSSL_CTX; - -# define KSSL_CLIENT 1 -# define KSSL_SERVER 2 -# define KSSL_SERVICE 3 -# define KSSL_KEYTAB 4 - -# define KSSL_CTX_OK 0 -# define KSSL_CTX_ERR 1 -# define KSSL_NOMEM 2 - -/* Public (for use by applications that use OpenSSL with Kerberos 5 support */ -krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text); -KSSL_CTX *kssl_ctx_new(void); -KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx); -void kssl_ctx_show(KSSL_CTX *kssl_ctx); -krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which, - krb5_data *realm, krb5_data *entity, - int nentities); -krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp, - krb5_data *authenp, KSSL_ERR *kssl_err); -krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata, - krb5_ticket_times *ttimes, KSSL_ERR *kssl_err); -krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session); -void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text); -void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data); -krb5_error_code kssl_build_principal_2(krb5_context context, - krb5_principal *princ, int rlen, - const char *realm, int slen, - const char *svc, int hlen, - const char *host); -krb5_error_code kssl_validate_times(krb5_timestamp atime, - krb5_ticket_times *ttimes); -krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp, - krb5_timestamp *atimep, - KSSL_ERR *kssl_err); -unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn); - -void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx); -KSSL_CTX *SSL_get0_kssl_ctx(SSL *s); -char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx); - -#ifdef __cplusplus -} -#endif -# endif /* OPENSSL_NO_KRB5 */ -#endif /* KSSL_H */ diff --git a/src/components/openssl/lhash.h b/src/components/openssl/lhash.h deleted file mode 100644 index 2f5bc47..0000000 --- a/src/components/openssl/lhash.h +++ /dev/null @@ -1,240 +0,0 @@ -/* crypto/lhash/lhash.h */ -/* 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 -# ifndef OPENSSL_NO_FP_API -# include -# endif - -# ifndef OPENSSL_NO_BIO -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct lhash_node_st { - void *data; - struct lhash_node_st *next; -# ifndef OPENSSL_NO_HASH_COMP - unsigned long hash; -# endif -} LHASH_NODE; - -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_NODE **b; - LHASH_COMP_FN_TYPE comp; - LHASH_HASH_FN_TYPE hash; - unsigned int num_nodes; - unsigned int num_alloc_nodes; - unsigned int p; - unsigned int pmax; - unsigned long up_load; /* load times 256 */ - unsigned long down_load; /* load times 256 */ - unsigned long num_items; - unsigned long num_expands; - unsigned long num_expand_reallocs; - unsigned long num_contracts; - unsigned long num_contract_reallocs; - unsigned long num_hash_calls; - unsigned long num_comp_calls; - unsigned long num_insert; - unsigned long num_replace; - unsigned long num_delete; - unsigned long num_no_delete; - unsigned long num_retrieve; - unsigned long num_retrieve_miss; - unsigned long num_hash_comps; - int error; -} _LHASH; /* Do not use _LHASH directly, use LHASH_OF - * and friends */ - -# define LH_LOAD_MULT 256 - -/* - * Indicates a malloc() error in the last call, this is only bad in - * lh_insert(). - */ -# define lh_error(lh) ((lh)->error) - -_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); -void lh_free(_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); - -# ifndef OPENSSL_NO_FP_API -void lh_stats(const _LHASH *lh, FILE *out); -void lh_node_stats(const _LHASH *lh, FILE *out); -void lh_node_usage_stats(const _LHASH *lh, FILE *out); -# endif - -# ifndef OPENSSL_NO_BIO -void lh_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); -# endif - -/* Type checking... */ - -# define LHASH_OF(type) struct lhash_st_##type - -# define DECLARE_LHASH_OF(type) LHASH_OF(type) { int dummy; } - -# 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_down_load(type, lh) (CHECKED_LHASH_OF(type, lh)->down_load) -# define LHM_lh_node_stats_bio(type, lh, out) \ - lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out) -# define LHM_lh_node_usage_stats_bio(type, lh, out) \ - lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out) -# define LHM_lh_stats_bio(type, lh, out) \ - lh_stats_bio(CHECKED_LHASH_OF(type, lh), out) -# 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/src/components/openssl/md4.h b/src/components/openssl/md4.h deleted file mode 100644 index 0dc9ae3..0000000 --- a/src/components/openssl/md4.h +++ /dev/null @@ -1,119 +0,0 @@ -/* crypto/md4/md4.h */ -/* 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_MD4_H -# define HEADER_MD4_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_NO_MD4 -# error MD4 is disabled. -# endif - -/*- - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD4_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -# if defined(__LP32__) -# define MD4_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define MD4_LONG unsigned long -# define MD4_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -# else -# define MD4_LONG unsigned int -# endif - -# 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; - -# ifdef OPENSSL_FIPS -int private_MD4_Init(MD4_CTX *c); -# endif -int MD4_Init(MD4_CTX *c); -int MD4_Update(MD4_CTX *c, const void *data, size_t len); -int MD4_Final(unsigned char *md, MD4_CTX *c); -unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); -void MD4_Transform(MD4_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/md5.h b/src/components/openssl/md5.h deleted file mode 100644 index a54c74f..0000000 --- a/src/components/openssl/md5.h +++ /dev/null @@ -1,119 +0,0 @@ -/* crypto/md5/md5.h */ -/* 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_MD5_H -# define HEADER_MD5_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_NO_MD5 -# error MD5 is disabled. -# endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD5_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -# if defined(__LP32__) -# define MD5_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define MD5_LONG unsigned long -# define MD5_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -# else -# define MD5_LONG unsigned int -# endif - -# 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; - -# ifdef OPENSSL_FIPS -int private_MD5_Init(MD5_CTX *c); -# endif -int MD5_Init(MD5_CTX *c); -int MD5_Update(MD5_CTX *c, const void *data, size_t len); -int MD5_Final(unsigned char *md, MD5_CTX *c); -unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); -void MD5_Transform(MD5_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/mdc2.h b/src/components/openssl/mdc2.h deleted file mode 100644 index 51abb5e..0000000 --- a/src/components/openssl/mdc2.h +++ /dev/null @@ -1,94 +0,0 @@ -/* crypto/mdc2/mdc2.h */ -/* 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_MDC2_H -# define HEADER_MDC2_H - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_NO_MDC2 -# error MDC2 is disabled. -# endif - -# define MDC2_BLOCK 8 -# define MDC2_DIGEST_LENGTH 16 - -typedef struct mdc2_ctx_st { - unsigned int num; - unsigned char data[MDC2_BLOCK]; - DES_cblock h, hh; - int pad_type; /* either 1 or 2, default 1 */ -} MDC2_CTX; - -# ifdef OPENSSL_FIPS -int private_MDC2_Init(MDC2_CTX *c); -# endif -int MDC2_Init(MDC2_CTX *c); -int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); -int MDC2_Final(unsigned char *md, MDC2_CTX *c); -unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/modes.h b/src/components/openssl/modes.h deleted file mode 100644 index fd48849..0000000 --- a/src/components/openssl/modes.h +++ /dev/null @@ -1,163 +0,0 @@ -/* ==================================================================== - * 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); - -size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, unsigned char ivec[16], - block128_f block); -size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); -size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, unsigned char ivec[16], - block128_f block); -size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); - -size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, - unsigned char ivec[16], - block128_f block); -size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); -size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, - unsigned char *out, size_t len, - const void *key, - unsigned char ivec[16], - block128_f block); -size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); - -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); - -size_t CRYPTO_128_wrap(void *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, size_t inlen, - block128_f block); - -size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, size_t inlen, - block128_f block); - -#ifdef __cplusplus -} -#endif diff --git a/src/components/openssl/obj_mac.h b/src/components/openssl/obj_mac.h deleted file mode 100644 index 779c309..0000000 --- a/src/components/openssl/obj_mac.h +++ /dev/null @@ -1,4194 +0,0 @@ -/* 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 935 -#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_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_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" -#define NID_id_ct_asciiTextWithCRLF 787 -#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L - -#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_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 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_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_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_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_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 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 Distrubution 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 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 OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L - -#define SN_dsa_with_SHA224 "dsa_with_SHA224" -#define NID_dsa_with_SHA224 802 -#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L - -#define SN_dsa_with_SHA256 "dsa_with_SHA256" -#define NID_dsa_with_SHA256 803 -#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L - -#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_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_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 SN_aes_128_cbc_hmac_sha256 "AES-128-CBC-HMAC-SHA256" -#define LN_aes_128_cbc_hmac_sha256 "aes-128-cbc-hmac-sha256" -#define NID_aes_128_cbc_hmac_sha256 948 - -#define SN_aes_192_cbc_hmac_sha256 "AES-192-CBC-HMAC-SHA256" -#define LN_aes_192_cbc_hmac_sha256 "aes-192-cbc-hmac-sha256" -#define NID_aes_192_cbc_hmac_sha256 949 - -#define SN_aes_256_cbc_hmac_sha256 "AES-256-CBC-HMAC-SHA256" -#define LN_aes_256_cbc_hmac_sha256 "aes-256-cbc-hmac-sha256" -#define NID_aes_256_cbc_hmac_sha256 950 - -#define SN_dhpublicnumber "dhpublicnumber" -#define LN_dhpublicnumber "X9.42 DH" -#define NID_dhpublicnumber 920 -#define OBJ_dhpublicnumber OBJ_ISO_US,10046L,2L,1L - -#define SN_brainpoolP160r1 "brainpoolP160r1" -#define NID_brainpoolP160r1 921 -#define OBJ_brainpoolP160r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,1L - -#define SN_brainpoolP160t1 "brainpoolP160t1" -#define NID_brainpoolP160t1 922 -#define OBJ_brainpoolP160t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,2L - -#define SN_brainpoolP192r1 "brainpoolP192r1" -#define NID_brainpoolP192r1 923 -#define OBJ_brainpoolP192r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,3L - -#define SN_brainpoolP192t1 "brainpoolP192t1" -#define NID_brainpoolP192t1 924 -#define OBJ_brainpoolP192t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,4L - -#define SN_brainpoolP224r1 "brainpoolP224r1" -#define NID_brainpoolP224r1 925 -#define OBJ_brainpoolP224r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,5L - -#define SN_brainpoolP224t1 "brainpoolP224t1" -#define NID_brainpoolP224t1 926 -#define OBJ_brainpoolP224t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,6L - -#define SN_brainpoolP256r1 "brainpoolP256r1" -#define NID_brainpoolP256r1 927 -#define OBJ_brainpoolP256r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,7L - -#define SN_brainpoolP256t1 "brainpoolP256t1" -#define NID_brainpoolP256t1 928 -#define OBJ_brainpoolP256t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,8L - -#define SN_brainpoolP320r1 "brainpoolP320r1" -#define NID_brainpoolP320r1 929 -#define OBJ_brainpoolP320r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,9L - -#define SN_brainpoolP320t1 "brainpoolP320t1" -#define NID_brainpoolP320t1 930 -#define OBJ_brainpoolP320t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,10L - -#define SN_brainpoolP384r1 "brainpoolP384r1" -#define NID_brainpoolP384r1 931 -#define OBJ_brainpoolP384r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,11L - -#define SN_brainpoolP384t1 "brainpoolP384t1" -#define NID_brainpoolP384t1 932 -#define OBJ_brainpoolP384t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,12L - -#define SN_brainpoolP512r1 "brainpoolP512r1" -#define NID_brainpoolP512r1 933 -#define OBJ_brainpoolP512r1 1L,3L,36L,3L,3L,2L,8L,1L,1L,13L - -#define SN_brainpoolP512t1 "brainpoolP512t1" -#define NID_brainpoolP512t1 934 -#define OBJ_brainpoolP512t1 1L,3L,36L,3L,3L,2L,8L,1L,1L,14L - -#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 936 -#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 937 -#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 938 -#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 939 -#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 940 -#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 941 -#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 942 -#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 943 -#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 944 -#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 945 -#define OBJ_dhSinglePass_cofactorDH_sha512kdf_scheme OBJ_secg_scheme,14L,3L - -#define SN_dh_std_kdf "dh-std-kdf" -#define NID_dh_std_kdf 946 - -#define SN_dh_cofactor_kdf "dh-cofactor-kdf" -#define NID_dh_cofactor_kdf 947 - -#define SN_ct_precert_scts "ct_precert_scts" -#define LN_ct_precert_scts "CT Precertificate SCTs" -#define NID_ct_precert_scts 951 -#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 952 -#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 953 -#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 954 -#define OBJ_ct_cert_scts 1L,3L,6L,1L,4L,1L,11129L,2L,4L,5L - -#define SN_jurisdictionLocalityName "jurisdictionL" -#define LN_jurisdictionLocalityName "jurisdictionLocalityName" -#define NID_jurisdictionLocalityName 955 -#define OBJ_jurisdictionLocalityName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,1L - -#define SN_jurisdictionStateOrProvinceName "jurisdictionST" -#define LN_jurisdictionStateOrProvinceName "jurisdictionStateOrProvinceName" -#define NID_jurisdictionStateOrProvinceName 956 -#define OBJ_jurisdictionStateOrProvinceName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,2L - -#define SN_jurisdictionCountryName "jurisdictionC" -#define LN_jurisdictionCountryName "jurisdictionCountryName" -#define NID_jurisdictionCountryName 957 -#define OBJ_jurisdictionCountryName 1L,3L,6L,1L,4L,1L,311L,60L,2L,1L,3L diff --git a/src/components/openssl/objects.h b/src/components/openssl/objects.h deleted file mode 100644 index 16b8a9f..0000000 --- a/src/components/openssl/objects.h +++ /dev/null @@ -1,1143 +0,0 @@ -/* crypto/objects/objects.h */ -/* 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 - -# define USE_OBJ_MAC - -# ifdef USE_OBJ_MAC -# include -# else -# define SN_undef "UNDEF" -# define LN_undef "undefined" -# define NID_undef 0 -# define OBJ_undef 0L - -# define SN_Algorithm "Algorithm" -# define LN_algorithm "algorithm" -# define NID_algorithm 38 -# define OBJ_algorithm 1L,3L,14L,3L,2L - -# define LN_rsadsi "rsadsi" -# define NID_rsadsi 1 -# define OBJ_rsadsi 1L,2L,840L,113549L - -# define LN_pkcs "pkcs" -# define NID_pkcs 2 -# define OBJ_pkcs OBJ_rsadsi,1L - -# define SN_md2 "MD2" -# define LN_md2 "md2" -# define NID_md2 3 -# define OBJ_md2 OBJ_rsadsi,2L,2L - -# define SN_md5 "MD5" -# define LN_md5 "md5" -# define NID_md5 4 -# define OBJ_md5 OBJ_rsadsi,2L,5L - -# define SN_rc4 "RC4" -# define LN_rc4 "rc4" -# define NID_rc4 5 -# define OBJ_rc4 OBJ_rsadsi,3L,4L - -# define LN_rsaEncryption "rsaEncryption" -# define NID_rsaEncryption 6 -# define OBJ_rsaEncryption OBJ_pkcs,1L,1L - -# define SN_md2WithRSAEncryption "RSA-MD2" -# define LN_md2WithRSAEncryption "md2WithRSAEncryption" -# define NID_md2WithRSAEncryption 7 -# define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L - -# define SN_md5WithRSAEncryption "RSA-MD5" -# define LN_md5WithRSAEncryption "md5WithRSAEncryption" -# define NID_md5WithRSAEncryption 8 -# define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L - -# define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" -# define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" -# define NID_pbeWithMD2AndDES_CBC 9 -# define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L - -# define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" -# define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" -# define NID_pbeWithMD5AndDES_CBC 10 -# define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L - -# define LN_X500 "X500" -# define NID_X500 11 -# define OBJ_X500 2L,5L - -# define LN_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_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 - -/* Postal Address? PA */ - -/* should be "ST" (rfc1327) but MS uses 'S' */ -# define SN_stateOrProvinceName "ST" -# define LN_stateOrProvinceName "stateOrProvinceName" -# define NID_stateOrProvinceName 16 -# define OBJ_stateOrProvinceName OBJ_X509,8L - -# 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_rsa "RSA" -# define LN_rsa "rsa" -# define NID_rsa 19 -# define OBJ_rsa OBJ_X500,8L,1L,1L - -# define LN_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 LN_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_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_cfb64 "DES-CFB" -# define LN_des_cfb64 "des-cfb" -# define NID_des_cfb64 30 -/* IV + num */ -# define OBJ_des_cfb64 OBJ_algorithm,9L - -# define SN_des_cbc "DES-CBC" -# define LN_des_cbc "des-cbc" -# define NID_des_cbc 31 -/* IV */ -# define OBJ_des_cbc OBJ_algorithm,7L - -# define SN_des_ede "DES-EDE" -# define LN_des_ede "des-ede" -# define NID_des_ede 32 -/* ?? */ -# define OBJ_des_ede OBJ_algorithm,17L - -# define SN_des_ede3 "DES-EDE3" -# define LN_des_ede3 "des-ede3" -# define NID_des_ede3 33 - -# 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_cfb64 "IDEA-CFB" -# define LN_idea_cfb64 "idea-cfb" -# define NID_idea_cfb64 35 - -# define SN_idea_ecb "IDEA-ECB" -# define LN_idea_ecb "idea-ecb" -# define NID_idea_ecb 36 - -# 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_sha "SHA" -# define LN_sha "sha" -# define NID_sha 41 -# define OBJ_sha OBJ_algorithm,18L - -# define SN_shaWithRSAEncryption "RSA-SHA" -# define LN_shaWithRSAEncryption "shaWithRSAEncryption" -# define NID_shaWithRSAEncryption 42 -# define OBJ_shaWithRSAEncryption OBJ_algorithm,15L - -# 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_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_des_ofb64 "DES-OFB" -# define LN_des_ofb64 "des-ofb" -# define NID_des_ofb64 45 -# define OBJ_des_ofb64 OBJ_algorithm,8L - -# define SN_idea_ofb64 "IDEA-OFB" -# define LN_idea_ofb64 "idea-ofb" -# define NID_idea_ofb64 46 - -# define LN_pkcs9 "pkcs9" -# define NID_pkcs9 47 -# define OBJ_pkcs9 OBJ_pkcs,9L - -# define SN_pkcs9_emailAddress "Email" -# 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_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_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 - -/* I'm not sure about the object ID */ -# define SN_sha1 "SHA1" -# define LN_sha1 "sha1" -# define NID_sha1 64 -# define OBJ_sha1 OBJ_algorithm,26L -/* 28 Jun 1996 - eay */ -/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ - -# define SN_sha1WithRSAEncryption "RSA-SHA1" -# define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" -# define NID_sha1WithRSAEncryption 65 -# define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L - -# define SN_dsaWithSHA "DSA-SHA" -# define LN_dsaWithSHA "dsaWithSHA" -# define NID_dsaWithSHA 66 -# define OBJ_dsaWithSHA OBJ_algorithm,13L - -# define SN_dsa_2 "DSA-old" -# define LN_dsa_2 "dsaEncryption-old" -# define NID_dsa_2 67 -# define OBJ_dsa_2 OBJ_algorithm,12L - -/* proposed by microsoft to RSA */ -# define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" -# define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" -# define NID_pbeWithSHA1AndRC2_CBC 68 -# define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L - -/* - * proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now defined - * explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something completely - * different. - */ -# define LN_id_pbkdf2 "PBKDF2" -# define NID_id_pbkdf2 69 -# define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L - -# define SN_dsaWithSHA1_2 "DSA-SHA1-old" -# define LN_dsaWithSHA1_2 "dsaWithSHA1-old" -# define NID_dsaWithSHA1_2 70 -/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ -# define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L - -# 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_desx_cbc "DESX-CBC" -# define LN_desx_cbc "desx-cbc" -# define NID_desx_cbc 80 - -# define SN_id_ce "id-ce" -# define NID_id_ce 81 -# define OBJ_id_ce 2L,5L,29L - -# 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_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_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_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_mdc2 "MDC2" -# define LN_mdc2 "mdc2" -# define NID_mdc2 95 -# define OBJ_mdc2 2L,5L,8L,3L,101L -/* An alternative? 1L,3L,14L,3L,2L,19L */ - -# define SN_mdc2WithRSA "RSA-MDC2" -# define LN_mdc2WithRSA "mdc2withRSA" -# define NID_mdc2WithRSA 96 -# define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L - -# define SN_rc4_40 "RC4-40" -# define LN_rc4_40 "rc4-40" -# define NID_rc4_40 97 - -# define SN_rc2_40_cbc "RC2-40-CBC" -# define LN_rc2_40_cbc "rc2-40-cbc" -# define NID_rc2_40_cbc 98 - -# define SN_givenName "G" -# define LN_givenName "givenName" -# define NID_givenName 99 -# define OBJ_givenName OBJ_X509,42L - -# define SN_surname "S" -# define LN_surname "surname" -# define NID_surname 100 -# define OBJ_surname OBJ_X509,4L - -# define SN_initials "I" -# define LN_initials "initials" -# define NID_initials 101 -# define OBJ_initials OBJ_X509,43L - -# define SN_uniqueIdentifier "UID" -# define LN_uniqueIdentifier "uniqueIdentifier" -# define NID_uniqueIdentifier 102 -# define OBJ_uniqueIdentifier OBJ_X509,45L - -# 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_md5WithRSA "RSA-NP-MD5" -# define LN_md5WithRSA "md5WithRSA" -# define NID_md5WithRSA 104 -# define OBJ_md5WithRSA OBJ_algorithm,3L - -# define SN_serialNumber "SN" -# define LN_serialNumber "serialNumber" -# define NID_serialNumber 105 -# define OBJ_serialNumber OBJ_X509,5L - -# define SN_title "T" -# define LN_title "title" -# define NID_title 106 -# define OBJ_title OBJ_X509,12L - -# define SN_description "D" -# define LN_description "description" -# define NID_description 107 -# define OBJ_description OBJ_X509,13L - -/* CAST5 is CAST-128, I'm just sticking with the documentation */ -# define SN_cast5_cbc "CAST5-CBC" -# define LN_cast5_cbc "cast5-cbc" -# define NID_cast5_cbc 108 -# define OBJ_cast5_cbc 1L,2L,840L,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 1L,2L,840L,113533L,7L,66L,12L - -/*- - * This is one sun will soon be using :-( - * id-dsa-with-sha1 ID ::= { - * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } - */ -# define SN_dsaWithSHA1 "DSA-SHA1" -# define LN_dsaWithSHA1 "dsaWithSHA1" -# define NID_dsaWithSHA1 113 -# define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L - -# define NID_md5_sha1 114 -# define SN_md5_sha1 "MD5-SHA1" -# define LN_md5_sha1 "md5-sha1" - -# define SN_sha1WithRSA "RSA-SHA1-2" -# define LN_sha1WithRSA "sha1WithRSA" -# define NID_sha1WithRSA 115 -# define OBJ_sha1WithRSA OBJ_algorithm,29L - -# define SN_dsa "DSA" -# define LN_dsa "dsaEncryption" -# define NID_dsa 116 -# define OBJ_dsa 1L,2L,840L,10040L,4L,1L - -# define SN_ripemd160 "RIPEMD160" -# define LN_ripemd160 "ripemd160" -# define NID_ripemd160 117 -# define OBJ_ripemd160 1L,3L,36L,3L,2L,1L - -/* - * The name should actually be rsaSignatureWithripemd160, but I'm going to - * continue using the convention I'm using with the other ciphers - */ -# define SN_ripemd160WithRSA "RSA-RIPEMD160" -# define LN_ripemd160WithRSA "ripemd160WithRSA" -# define NID_ripemd160WithRSA 119 -# define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L - -/*- - * Taken from rfc2040 - * RC5_CBC_Parameters ::= SEQUENCE { - * version INTEGER (v1_0(16)), - * rounds INTEGER (8..127), - * blockSizeInBits INTEGER (64, 128), - * iv OCTET STRING OPTIONAL - * } - */ -# 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_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 1L,1L,1L,1L,666L,2L - -# 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,37 - -# define SN_id_pkix "PKIX" -# define NID_id_pkix 127 -# define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L - -# define SN_id_kp "id-kp" -# define NID_id_kp 128 -# define OBJ_id_kp OBJ_id_pkix,3L - -/* PKIX extended key usage OIDs */ - -# 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_time_stamp "timeStamping" -# define LN_time_stamp "Time Stamping" -# define NID_time_stamp 133 -# define OBJ_time_stamp OBJ_id_kp,8L - -/* Additional extended key usage OIDs: Microsoft */ - -# 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 - -/* Additional usage: Netscape */ - -# 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_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_crl_reason "CRLReason" -# define LN_crl_reason "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_sxnet "SXNetID" -# define LN_sxnet "Strong Extranet ID" -# define NID_sxnet 143 -# define OBJ_sxnet 1L,3L,101L,1L,4L,1L - -/* PKCS12 and related OBJECT IDENTIFIERS */ - -# define OBJ_pkcs12 OBJ_pkcs,12L -# define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 - -# 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 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 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 - -/* PKCS#5 v2 OIDs */ - -# define LN_pbes2 "PBES2" -# define NID_pbes2 161 -# define OBJ_pbes2 OBJ_pkcs,5L,13L - -# define LN_pbmac1 "PBMAC1" -# define NID_pbmac1 162 -# define OBJ_pbmac1 OBJ_pkcs,5L,14L - -# define LN_hmacWithSHA1 "hmacWithSHA1" -# define NID_hmacWithSHA1 163 -# define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L - -/* Policy Qualifier Ids */ - -# define LN_id_qt_cps "Policy Qualifier CPS" -# define SN_id_qt_cps "id-qt-cps" -# define NID_id_qt_cps 164 -# define OBJ_id_qt_cps OBJ_id_pkix,2L,1L - -# define LN_id_qt_unotice "Policy Qualifier User Notice" -# define SN_id_qt_unotice "id-qt-unotice" -# define NID_id_qt_unotice 165 -# define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L - -# define SN_rc2_64_cbc "RC2-64-CBC" -# define LN_rc2_64_cbc "rc2-64-cbc" -# define NID_rc2_64_cbc 166 - -# define SN_SMIMECapabilities "SMIME-CAPS" -# define LN_SMIMECapabilities "S/MIME Capabilities" -# define NID_SMIMECapabilities 167 -# define OBJ_SMIMECapabilities OBJ_pkcs9,15L - -# define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" -# define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" -# define NID_pbeWithMD2AndRC2_CBC 168 -# define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,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_pkcs,5L,6L - -# define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" -# define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" -# define NID_pbeWithSHA1AndDES_CBC 170 -# define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L - -/* Extension request OIDs */ - -# define LN_ms_ext_req "Microsoft Extension Request" -# define SN_ms_ext_req "msExtReq" -# define NID_ms_ext_req 171 -# define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L - -# define LN_ext_req "Extension Request" -# define SN_ext_req "extReq" -# define NID_ext_req 172 -# define OBJ_ext_req OBJ_pkcs9,14L - -# define SN_name "name" -# define LN_name "name" -# define NID_name 173 -# define OBJ_name OBJ_X509,41L - -# define SN_dnQualifier "dnQualifier" -# define LN_dnQualifier "dnQualifier" -# define NID_dnQualifier 174 -# define OBJ_dnQualifier OBJ_X509,46L - -# define SN_id_pe "id-pe" -# define NID_id_pe 175 -# define OBJ_id_pe OBJ_id_pkix,1L - -# define SN_id_ad "id-ad" -# define NID_id_ad 176 -# define OBJ_id_ad OBJ_id_pkix,48L - -# 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_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_OCSP_sign "OCSPSigning" -# define LN_OCSP_sign "OCSP Signing" -# define NID_OCSP_sign 180 -# define OBJ_OCSP_sign OBJ_id_kp,9L -# endif /* USE_OBJ_MAC */ - -# 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_PKEY_METH 0x03 -# define OBJ_NAME_TYPE_COMP_METH 0x04 -# define OBJ_NAME_TYPE_NUM 0x05 - -# define OBJ_NAME_ALIAS 0x8000 - -# define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 -# define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct obj_name_st { - int type; - int alias; - const char *name; - const char *data; -} OBJ_NAME; - -# define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) - -int OBJ_NAME_init(void); -int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *), - int (*cmp_func) (const char *, const char *), - void (*free_func) (const char *, int, const char *)); -const char *OBJ_NAME_get(const char *name, int type); -int OBJ_NAME_add(const char *name, int type, const char *data); -int OBJ_NAME_remove(const char *name, int type); -void OBJ_NAME_cleanup(int type); /* -1 for everything */ -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); -const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, - int (*cmp) (const void *, const void *)); -const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, - int size, - int (*cmp) (const void *, const void *), - int flags); - -# define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ - static int nm##_cmp(type1 const *, type2 const *); \ - scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) - -# define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ - _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) -# define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ - type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) - -/*- - * Unsolved problem: if a type is actually a pointer type, like - * nid_triple is, then its impossible to get a const where you need - * it. Consider: - * - * typedef int nid_triple[3]; - * const void *a_; - * const nid_triple const *a = a_; - * - * The assignement discards a const because what you really want is: - * - * const int const * const *a = a_; - * - * But if you do that, you lose the fact that a is an array of 3 ints, - * which breaks comparison functions. - * - * Thus we end up having to cast, sadly, or unpack the - * declarations. Or, as I finally did in this case, delcare nid_triple - * to be a struct, which it should have been in the first place. - * - * Ben, August 2008. - * - * Also, strictly speaking not all types need be const, but handling - * the non-constness means a lot of complication, and in practice - * comparison routines do always not touch their arguments. - */ - -# define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ - { \ - type1 const *a = a_; \ - type2 const *b = b_; \ - return nm##_cmp(a,b); \ - } \ - static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ - { \ - return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ - nm##_cmp_BSEARCH_CMP_FN); \ - } \ - extern void dummy_prototype(void) - -# define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ - { \ - type1 const *a = a_; \ - type2 const *b = b_; \ - return nm##_cmp(a,b); \ - } \ - type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ - { \ - return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ - nm##_cmp_BSEARCH_CMP_FN); \ - } \ - extern void dummy_prototype(void) - -# define OBJ_bsearch(type1,key,type2,base,num,cmp) \ - ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ - num,sizeof(type2), \ - ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ - (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ - cmp##_BSEARCH_CMP_FN))) - -# define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ - ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ - num,sizeof(type2), \ - ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ - (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ - cmp##_BSEARCH_CMP_FN)),flags) - -int OBJ_new_nid(int num); -int OBJ_add_object(const ASN1_OBJECT *obj); -int OBJ_create(const char *oid, const char *sn, const char *ln); -void OBJ_cleanup(void); -int OBJ_create_objects(BIO *in); - -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); -int OBJ_add_sigid(int signid, int dig_id, int pkey_id); -void OBJ_sigid_free(void); - -extern int obj_cleanup_defer; -void check_defer(int nid); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/ocsp.h b/src/components/openssl/ocsp.h deleted file mode 100644 index 996c62f..0000000 --- a/src/components/openssl/ocsp.h +++ /dev/null @@ -1,637 +0,0 @@ -/* ocsp.h */ -/* - * 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 - -/* 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 - -/*- CertID ::= SEQUENCE { - * hashAlgorithm AlgorithmIdentifier, - * issuerNameHash OCTET STRING, -- Hash of Issuer's DN - * issuerKeyHash OCTET STRING, -- Hash of Issuers public key (excluding the tag & length fields) - * serialNumber CertificateSerialNumber } - */ -typedef struct ocsp_cert_id_st { - X509_ALGOR *hashAlgorithm; - ASN1_OCTET_STRING *issuerNameHash; - ASN1_OCTET_STRING *issuerKeyHash; - ASN1_INTEGER *serialNumber; -} OCSP_CERTID; - -DECLARE_STACK_OF(OCSP_CERTID) - -/*- Request ::= SEQUENCE { - * reqCert CertID, - * singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_one_request_st { - OCSP_CERTID *reqCert; - STACK_OF(X509_EXTENSION) *singleRequestExtensions; -} OCSP_ONEREQ; - -DECLARE_STACK_OF(OCSP_ONEREQ) -DECLARE_ASN1_SET_OF(OCSP_ONEREQ) - -/*- TBSRequest ::= SEQUENCE { - * version [0] EXPLICIT Version DEFAULT v1, - * requestorName [1] EXPLICIT GeneralName OPTIONAL, - * requestList SEQUENCE OF Request, - * requestExtensions [2] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_req_info_st { - ASN1_INTEGER *version; - GENERAL_NAME *requestorName; - STACK_OF(OCSP_ONEREQ) *requestList; - STACK_OF(X509_EXTENSION) *requestExtensions; -} OCSP_REQINFO; - -/*- Signature ::= SEQUENCE { - * signatureAlgorithm AlgorithmIdentifier, - * signature BIT STRING, - * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - */ -typedef struct ocsp_signature_st { - X509_ALGOR *signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; -} OCSP_SIGNATURE; - -/*- OCSPRequest ::= SEQUENCE { - * tbsRequest TBSRequest, - * optionalSignature [0] EXPLICIT Signature OPTIONAL } - */ -typedef struct ocsp_request_st { - OCSP_REQINFO *tbsRequest; - OCSP_SIGNATURE *optionalSignature; /* OPTIONAL */ -} OCSP_REQUEST; - -/*- OCSPResponseStatus ::= ENUMERATED { - * successful (0), --Response has valid confirmations - * malformedRequest (1), --Illegal confirmation request - * internalError (2), --Internal error in issuer - * tryLater (3), --Try again later - * --(4) is not used - * sigRequired (5), --Must sign the request - * unauthorized (6) --Request unauthorized - * } - */ -# 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 - -/*- ResponseBytes ::= SEQUENCE { - * responseType OBJECT IDENTIFIER, - * response OCTET STRING } - */ -typedef struct ocsp_resp_bytes_st { - ASN1_OBJECT *responseType; - ASN1_OCTET_STRING *response; -} OCSP_RESPBYTES; - -/*- OCSPResponse ::= SEQUENCE { - * responseStatus OCSPResponseStatus, - * responseBytes [0] EXPLICIT ResponseBytes OPTIONAL } - */ -struct ocsp_response_st { - ASN1_ENUMERATED *responseStatus; - OCSP_RESPBYTES *responseBytes; -}; - -/*- ResponderID ::= CHOICE { - * byName [1] Name, - * byKey [2] KeyHash } - */ -# define V_OCSP_RESPID_NAME 0 -# define V_OCSP_RESPID_KEY 1 -struct ocsp_responder_id_st { - int type; - union { - X509_NAME *byName; - ASN1_OCTET_STRING *byKey; - } value; -}; - -DECLARE_STACK_OF(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) - -/*- KeyHash ::= OCTET STRING --SHA-1 hash of responder's public key - * --(excluding the tag and length fields) - */ - -/*- RevokedInfo ::= SEQUENCE { - * revocationTime GeneralizedTime, - * revocationReason [0] EXPLICIT CRLReason OPTIONAL } - */ -typedef struct ocsp_revoked_info_st { - ASN1_GENERALIZEDTIME *revocationTime; - ASN1_ENUMERATED *revocationReason; -} OCSP_REVOKEDINFO; - -/*- CertStatus ::= CHOICE { - * good [0] IMPLICIT NULL, - * revoked [1] IMPLICIT RevokedInfo, - * unknown [2] IMPLICIT UnknownInfo } - */ -# define V_OCSP_CERTSTATUS_GOOD 0 -# define V_OCSP_CERTSTATUS_REVOKED 1 -# define V_OCSP_CERTSTATUS_UNKNOWN 2 -typedef struct ocsp_cert_status_st { - int type; - union { - ASN1_NULL *good; - OCSP_REVOKEDINFO *revoked; - ASN1_NULL *unknown; - } value; -} OCSP_CERTSTATUS; - -/*- SingleResponse ::= SEQUENCE { - * certID CertID, - * certStatus CertStatus, - * thisUpdate GeneralizedTime, - * nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, - * singleExtensions [1] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_single_response_st { - OCSP_CERTID *certId; - OCSP_CERTSTATUS *certStatus; - ASN1_GENERALIZEDTIME *thisUpdate; - ASN1_GENERALIZEDTIME *nextUpdate; - STACK_OF(X509_EXTENSION) *singleExtensions; -} OCSP_SINGLERESP; - -DECLARE_STACK_OF(OCSP_SINGLERESP) -DECLARE_ASN1_SET_OF(OCSP_SINGLERESP) - -/*- ResponseData ::= SEQUENCE { - * version [0] EXPLICIT Version DEFAULT v1, - * responderID ResponderID, - * producedAt GeneralizedTime, - * responses SEQUENCE OF SingleResponse, - * responseExtensions [1] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_response_data_st { - ASN1_INTEGER *version; - OCSP_RESPID *responderId; - ASN1_GENERALIZEDTIME *producedAt; - STACK_OF(OCSP_SINGLERESP) *responses; - STACK_OF(X509_EXTENSION) *responseExtensions; -} OCSP_RESPDATA; - -/*- BasicOCSPResponse ::= SEQUENCE { - * tbsResponseData ResponseData, - * signatureAlgorithm AlgorithmIdentifier, - * signature BIT STRING, - * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - */ - /* - * Note 1: The value for "signature" is specified in the OCSP rfc2560 as - * follows: "The value for the signature SHALL be computed on the hash of - * the DER encoding ResponseData." This means that you must hash the - * DER-encoded tbsResponseData, and then run it through a crypto-signing - * function, which will (at least w/RSA) do a hash-'n'-private-encrypt - * operation. This seems a bit odd, but that's the spec. Also note that - * the data structures do not leave anywhere to independently specify the - * algorithm used for the initial hash. So, we look at the - * signature-specification algorithm, and try to do something intelligent. - * -- Kathy Weinhold, CertCo - */ - /* - * Note 2: It seems that the mentioned passage from RFC 2560 (section - * 4.2.1) is open for interpretation. I've done tests against another - * responder, and found that it doesn't do the double hashing that the RFC - * seems to say one should. Therefore, all relevant functions take a flag - * saying which variant should be used. -- Richard Levitte, OpenSSL team - * and CeloCom - */ -typedef struct ocsp_basic_response_st { - OCSP_RESPDATA *tbsResponseData; - X509_ALGOR *signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; -} OCSP_BASICRESP; - -/*- - * 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 - -/*- - * CrlID ::= SEQUENCE { - * crlUrl [0] EXPLICIT IA5String OPTIONAL, - * crlNum [1] EXPLICIT INTEGER OPTIONAL, - * crlTime [2] EXPLICIT GeneralizedTime OPTIONAL } - */ -typedef struct ocsp_crl_id_st { - ASN1_IA5STRING *crlUrl; - ASN1_INTEGER *crlNum; - ASN1_GENERALIZEDTIME *crlTime; -} OCSP_CRLID; - -/*- - * ServiceLocator ::= SEQUENCE { - * issuer Name, - * locator AuthorityInfoAccessSyntax OPTIONAL } - */ -typedef struct ocsp_service_locator_st { - X509_NAME *issuer; - STACK_OF(ACCESS_DESCRIPTION) *locator; -} OCSP_SERVICELOC; - -# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" -# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" - -# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) - -# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) - -# 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 i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) - -# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) - -# define OCSP_REQUEST_sign(o,pkey,md) \ - ASN1_item_sign(ASN1_ITEM_rptr(OCSP_REQINFO),\ - o->optionalSignature->signatureAlgorithm,NULL,\ - o->optionalSignature->signature,o->tbsRequest,pkey,md) - -# define OCSP_BASICRESP_sign(o,pkey,md,d) \ - ASN1_item_sign(ASN1_ITEM_rptr(OCSP_RESPDATA),o->signatureAlgorithm,NULL,\ - o->signature,o->tbsResponseData,pkey,md) - -# define OCSP_REQUEST_verify(a,r) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_REQINFO),\ - a->optionalSignature->signatureAlgorithm,\ - a->optionalSignature->signature,a->tbsRequest,r) - -# define OCSP_BASICRESP_verify(a,r,d) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_RESPDATA),\ - a->signatureAlgorithm,a->signature,a->tbsResponseData,r) - -# define ASN1_BIT_STRING_digest(data,type,md,len) \ - ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) - -# define OCSP_CERTSTATUS_dup(cs)\ - (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ - (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(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_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); -int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); -OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); -void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); -void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); -int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, - ASN1_VALUE *val); -int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, - const ASN1_ITEM *it); -BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); -int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, - ASN1_VALUE *val); -int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); -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, X509 *subject, X509 *issuer); - -OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, - X509_NAME *issuerName, - ASN1_BIT_STRING *issuerKey, - 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); - -int OCSP_resp_count(OCSP_BASICRESP *bs); -OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); -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(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, 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, 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, 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, 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, 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); - -DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) -DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) -DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) -DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) -DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) -DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) -DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) -DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) -DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) -DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) -DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) - -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); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/opensslconf.h b/src/components/openssl/opensslconf.h deleted file mode 100644 index 87a3d3e..0000000 --- a/src/components/openssl/opensslconf.h +++ /dev/null @@ -1,270 +0,0 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -#ifdef __cplusplus -extern "C" { -#endif -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_DOING_MAKEDEPEND - - -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_LIBUNBOUND -# define OPENSSL_NO_LIBUNBOUND -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SSL_TRACE -# define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 -#endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE -#endif -#ifndef OPENSSL_NO_UNIT_TEST -# define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -# define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif -#ifndef OPENSSL_NO_STATIC_ENGINE -# define OPENSSL_NO_STATIC_ENGINE -#endif - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) -# define NO_LIBUNBOUND -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) -# define NO_SSL_TRACE -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) -# define NO_UNIT_TEST -# endif -# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) -# define NO_WEAK_SSL_CIPHERS -# endif -#endif - -#define OPENSSL_CPUID_OBJ - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "/usr/local/openssl/lib/engines" -#define OPENSSLDIR "/usr/local/openssl/ssl" -#endif -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION - -#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. - */ -#define RC4_CHUNK unsigned long -#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 int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -#define SIXTY_FOUR_BIT_LONG -#undef SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#undef RC4_INDEX -#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 -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#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 ) || 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 */ -#ifdef __cplusplus -} -#endif diff --git a/src/components/openssl/opensslv.h b/src/components/openssl/opensslv.h deleted file mode 100644 index 645dd07..0000000 --- a/src/components/openssl/opensslv.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef HEADER_OPENSSLV_H -# define HEADER_OPENSSLV_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*- - * Numeric release version identifier: - * MNNFFPPS: major minor fix patch status - * The status nibble has one of the values 0 for development, 1 to e for betas - * 1 to 14, and f for release. The patch level is exactly that. - * For example: - * 0.9.3-dev 0x00903000 - * 0.9.3-beta1 0x00903001 - * 0.9.3-beta2-dev 0x00903002 - * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) - * 0.9.3 0x0090300f - * 0.9.3a 0x0090301f - * 0.9.4 0x0090400f - * 1.2.3z 0x102031af - * - * For continuity reasons (because 0.9.5 is already out, and is coded - * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level - * part is slightly different, by setting the highest bit. This means - * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start - * with 0x0090600S... - * - * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) - * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for - * major minor fix final patch/beta) - */ -# define OPENSSL_VERSION_NUMBER 0x100020bfL -# ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2k-fips 26 Jan 2017" -# else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2k 26 Jan 2017" -# endif -# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT - -/*- - * The macros below are to be used for shared library (.so, .dll, ...) - * versioning. That kind of versioning works a bit differently between - * operating systems. The most usual scheme is to set a major and a minor - * number, and have the runtime loader check that the major number is equal - * to what it was at application link time, while the minor number has to - * be greater or equal to what it was at application link time. With this - * scheme, the version number is usually part of the file name, like this: - * - * libcrypto.so.0.9 - * - * Some unixen also make a softlink with the major verson number only: - * - * libcrypto.so.0 - * - * On Tru64 and IRIX 6.x it works a little bit differently. There, the - * shared library version is stored in the file, and is actually a series - * of versions, separated by colons. The rightmost version present in the - * library when linking an application is stored in the application to be - * matched at run time. When the application is run, a check is done to - * see if the library version stored in the application matches any of the - * versions in the version string of the library itself. - * This version string can be constructed in any way, depending on what - * kind of matching is desired. However, to implement the same scheme as - * the one used in the other unixen, all compatible versions, from lowest - * to highest, should be part of the string. Consecutive builds would - * give the following versions strings: - * - * 3.0 - * 3.0:3.1 - * 3.0:3.1:3.2 - * 4.0 - * 4.0:4.1 - * - * Notice how version 4 is completely incompatible with version, and - * therefore give the breach you can see. - * - * There may be other schemes as well that I haven't yet discovered. - * - * So, here's the way it works here: first of all, the library version - * number doesn't need at all to match the overall OpenSSL version. - * However, it's nice and more understandable if it actually does. - * The current library version is stored in the macro SHLIB_VERSION_NUMBER, - * which is just a piece of text in the format "M.m.e" (Major, minor, edit). - * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, - * we need to keep a history of version numbers, which is done in the - * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and - * should only keep the versions that are binary compatible with the current. - */ -# define SHLIB_VERSION_HISTORY "" -# define SHLIB_VERSION_NUMBER "1.0.0" - - -#ifdef __cplusplus -} -#endif -#endif /* HEADER_OPENSSLV_H */ diff --git a/src/components/openssl/ossl_typ.h b/src/components/openssl/ossl_typ.h deleted file mode 100644 index e0d5d19..0000000 --- a/src/components/openssl/ossl_typ.h +++ /dev/null @@ -1,213 +0,0 @@ -/* ==================================================================== - * 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 - -#ifdef __cplusplus -extern "C" { -#endif - -# include - -# ifdef NO_ASN1_TYPEDEFS -# define ASN1_INTEGER ASN1_STRING -# define ASN1_ENUMERATED ASN1_STRING -# define ASN1_BIT_STRING ASN1_STRING -# define ASN1_OCTET_STRING ASN1_STRING -# define ASN1_PRINTABLESTRING ASN1_STRING -# define ASN1_T61STRING ASN1_STRING -# define ASN1_IA5STRING ASN1_STRING -# define ASN1_UTCTIME ASN1_STRING -# define ASN1_GENERALIZEDTIME ASN1_STRING -# define ASN1_TIME ASN1_STRING -# define ASN1_GENERALSTRING ASN1_STRING -# define ASN1_UNIVERSALSTRING ASN1_STRING -# define ASN1_BMPSTRING ASN1_STRING -# define ASN1_VISIBLESTRING ASN1_STRING -# define ASN1_UTF8STRING ASN1_STRING -# define ASN1_BOOLEAN int -# define ASN1_NULL int -# else -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; -# endif - -typedef struct asn1_object_st ASN1_OBJECT; - -typedef struct ASN1_ITEM_st ASN1_ITEM; -typedef struct asn1_pctx_st ASN1_PCTX; - -# ifdef OPENSSL_SYS_WIN32 -# undef X509_NAME -# undef X509_EXTENSIONS -# undef X509_CERT_PAIR -# undef PKCS7_ISSUER_AND_SERIAL -# undef OCSP_REQUEST -# undef OCSP_RESPONSE -# 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_recp_ctx_st BN_RECP_CTX; -typedef struct bn_gencb_st BN_GENCB; - -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 env_md_st EVP_MD; -typedef struct env_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 dh_st DH; -typedef struct dh_method DH_METHOD; - -typedef struct dsa_st DSA; -typedef struct dsa_method DSA_METHOD; - -typedef struct rsa_st RSA; -typedef struct rsa_meth_st RSA_METHOD; - -typedef struct rand_meth_st RAND_METHOD; - -typedef struct ecdh_method ECDH_METHOD; -typedef struct ecdsa_method ECDSA_METHOD; - -typedef struct x509_st X509; -typedef struct X509_algor_st X509_ALGOR; -typedef struct X509_crl_st X509_CRL; -typedef struct x509_crl_method_st X509_CRL_METHOD; -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 pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; - -typedef struct v3_ext_ctx X509V3_CTX; -typedef struct conf_st CONF; - -typedef struct store_st STORE; -typedef struct store_method_st STORE_METHOD; - -typedef struct ui_st UI; -typedef struct ui_method_st UI_METHOD; - -typedef struct st_ERR_FNS ERR_FNS; - -typedef struct engine_st ENGINE; -typedef struct ssl_st SSL; -typedef struct ssl_ctx_st SSL_CTX; - -typedef struct comp_method_st COMP_METHOD; - -typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; -typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; -typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; -typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; - -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 depency 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; - -#ifdef __cplusplus -} -#endif -#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/src/components/openssl/pem.h b/src/components/openssl/pem.h deleted file mode 100644 index 4134adf..0000000 --- a/src/components/openssl/pem.h +++ /dev/null @@ -1,617 +0,0 @@ -/* crypto/pem/pem.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.] - */ - -#ifndef HEADER_PEM_H -# define HEADER_PEM_H - -# include -# ifndef OPENSSL_NO_BIO -# include -# endif -# ifndef OPENSSL_NO_STACK -# include -# endif -# include -# 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_PAIR "CERTIFICATE PAIR" -# 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_DHXPARAMS "X9.42 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" - - /* - * Note that this structure is initialised by PEM_SealInit and cleaned up - * by PEM_SealFinal (at least for now) - */ -typedef struct PEM_Encode_Seal_st { - EVP_ENCODE_CTX encode; - EVP_MD_CTX md; - EVP_CIPHER_CTX cipher; -} PEM_ENCODE_SEAL_CTX; - -/* 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 - -typedef struct pem_recip_st { - char *name; - X509_NAME *dn; - int cipher; - int key_enc; - /* char iv[8]; unused and wrong size */ -} PEM_USER; - -typedef struct pem_ctx_st { - int type; /* what type of object */ - struct { - int version; - int mode; - } proc_type; - - char *domain; - - struct { - int cipher; - /*- - unused, and wrong size - unsigned char iv[8]; */ - } DEK_info; - - PEM_USER *originator; - - int num_recipient; - PEM_USER **recipient; -/*- - XXX(ben): don#t think this is used! - STACK *x509_chain; / * certificate chain */ - EVP_MD *md; /* signature type */ - - int md_enc; /* is the md encrypted or not? */ - int md_len; /* length of md_data */ - char *md_data; /* message digest, could be pkey encrypted */ - - EVP_CIPHER *dec; /* date encryption cipher */ - int key_len; /* key length */ - unsigned char *key; /* key */ - /*- - unused, and wrong size - unsigned char iv[8]; */ - - int data_enc; /* is the data encrypted */ - int data_len; - unsigned char *data; -} PEM_CTX; - -/* - * 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(...) - */ - -# ifdef OPENSSL_NO_FP_API - -# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ -# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ -# else - -# 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); \ - } - -# endif - -# 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) - -/* These are the same except they are for the declarations */ - -# if defined(OPENSSL_NO_FP_API) - -# define DECLARE_PEM_read_fp(name, type) /**/ -# define DECLARE_PEM_write_fp(name, type) /**/ -# define DECLARE_PEM_write_cb_fp(name, type) /**/ -# else - -# 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); - -# endif - -# 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) -# if 1 -/* "userdata": new with OpenSSL 0.9.4 */ -typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); -# else -/* OpenSSL 0.9.3, 0.9.3a */ -typedef int pem_password_cb (char *buf, int size, int rwflag); -# endif - -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_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, - EVP_MD *md_type, unsigned char **ek, int *ekl, - unsigned char *iv, EVP_PKEY **pubk, int npubk); -void PEM_SealUpdate(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *out, int *outl, - unsigned char *in, int inl); -int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, - unsigned char *out, int *outl, EVP_PKEY *priv); - -void PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); -void 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); - -# include - -DECLARE_PEM_rw(X509, X509) -DECLARE_PEM_rw(X509_AUX, X509) -DECLARE_PEM_rw(X509_CERT_PAIR, X509_CERT_PAIR) -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(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) -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) -DECLARE_PEM_write_const(DHxparams, DH) -# endif -DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) -DECLARE_PEM_rw(PUBKEY, EVP_PKEY) - -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 - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -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_DHPARAMS 141 -# define PEM_F_PEM_READ_BIO_PARAMETERS 140 -# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 -# define PEM_F_PEM_READ_DHPARAMS 142 -# 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_HEADER_TOO_LONG 128 -# 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/src/components/openssl/pem2.h b/src/components/openssl/pem2.h deleted file mode 100644 index 84897d5..0000000 --- a/src/components/openssl/pem2.h +++ /dev/null @@ -1,70 +0,0 @@ -/* ==================================================================== - * 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). - * - */ - -/* - * This header only exists to break a circular dependency between pem and err - * Ben 30 Jan 1999. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef HEADER_PEM_H -void ERR_load_PEM_strings(void); -#endif - -#ifdef __cplusplus -} -#endif diff --git a/src/components/openssl/pkcs12.h b/src/components/openssl/pkcs12.h deleted file mode 100644 index 71ca982..0000000 --- a/src/components/openssl/pkcs12.h +++ /dev/null @@ -1,342 +0,0 @@ -/* pkcs12.h */ -/* - * 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 { - X509_SIG *dinfo; - ASN1_OCTET_STRING *salt; - ASN1_INTEGER *iter; /* defaults to 1 */ -} PKCS12_MAC_DATA; - -typedef struct { - ASN1_INTEGER *version; - PKCS12_MAC_DATA *mac; - PKCS7 *authsafes; -} PKCS12; - -typedef struct { - ASN1_OBJECT *type; - union { - struct pkcs12_bag_st *bag; /* secret, crl and certbag */ - struct pkcs8_priv_key_info_st *keybag; /* keybag */ - X509_SIG *shkeybag; /* shrouded key bag */ - STACK_OF(PKCS12_SAFEBAG) *safes; - ASN1_TYPE *other; - } value; - STACK_OF(X509_ATTRIBUTE) *attrib; -} PKCS12_SAFEBAG; - -DECLARE_STACK_OF(PKCS12_SAFEBAG) -DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG) -DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG) - -typedef struct pkcs12_bag_st { - ASN1_OBJECT *type; - union { - ASN1_OCTET_STRING *x509cert; - ASN1_OCTET_STRING *x509crl; - ASN1_OCTET_STRING *octet; - ASN1_IA5STRING *sdsicert; - ASN1_TYPE *other; /* Secret or other bag */ - } value; -} PKCS12_BAGS; - -# define PKCS12_ERROR 0 -# define PKCS12_OK 1 - -/* 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 - -# define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type) -# define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type) -# define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type - -# define PKCS12_get_attr(bag, attr_nid) \ - PKCS12_get_attr_gen(bag->attrib, attr_nid) - -# define PKCS8_get_attr(p8, attr_nid) \ - PKCS12_get_attr_gen(p8->attributes, attr_nid) - -# define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) - -PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509); -PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl); -X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag); -X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag); - -PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, - int nid1, int nid2); -PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, - int passlen); -PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(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); -PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, - int passlen, unsigned char *salt, - int saltlen, int iter, - PKCS8_PRIV_KEY_INFO *p8); -PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); -STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); -PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, - unsigned char *salt, int saltlen, int iter, - STACK_OF(PKCS12_SAFEBAG) *bags); -STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, - int passlen); - -int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); -STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12); - -int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, - int namelen); -int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, - const unsigned char *name, int namelen); -int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); -ASN1_TYPE *PKCS12_get_attr_gen(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid); -char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); -unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, - int passlen, unsigned char *in, int inlen, - unsigned char **data, int *datalen, - int en_de); -void *PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, - const char *pass, int passlen, - ASN1_OCTET_STRING *oct, int zbuf); -ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, - const ASN1_ITEM *it, - const char *pass, int passlen, - void *obj, int zbuf); -PKCS12 *PKCS12_init(int mode); -int PKCS12_key_gen_asc(const 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_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_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md_type, int en_de); -int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, - unsigned char *mac, unsigned int *maclen); -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); -int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, - int saltlen, const EVP_MD *md_type); -unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, - unsigned char **uni, int *unilen); -char *OPENSSL_uni2asc(unsigned char *uni, int unilen); - -DECLARE_ASN1_FUNCTIONS(PKCS12) -DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) -DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) -DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) - -DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) -DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) - -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(char *pass, char *name, EVP_PKEY *pkey, X509 *cert, - STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, - int mac_iter, int keytype); - -PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); -PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, - EVP_PKEY *key, int key_usage, int iter, - int key_nid, char *pass); -int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, - int safe_nid, int iter, char *pass); -PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); - -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); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/pkcs7.h b/src/components/openssl/pkcs7.h deleted file mode 100644 index 1390bd0..0000000 --- a/src/components/openssl/pkcs7.h +++ /dev/null @@ -1,481 +0,0 @@ -/* crypto/pkcs7/pkcs7.h */ -/* 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 -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_SYS_WIN32 -/* Under Win32 thes are defined in wincrypt.h */ -# 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) -DECLARE_ASN1_SET_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) -DECLARE_ASN1_SET_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_ASN1_SET_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_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 - -DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) - -int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, - const EVP_MD *type, unsigned char *md, - unsigned int *len); -# ifndef OPENSSL_NO_FP_API -PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); -int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); -# endif -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); - -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) -DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) -DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) -DECLARE_ASN1_FUNCTIONS(PKCS7) - -DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) -DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) - -DECLARE_ASN1_NDEF_FUNCTION(PKCS7) -DECLARE_ASN1_PRINT_FUNCTION(PKCS7) - -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); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_INVALID_SIGNED_DATA_TYPE 155 -# 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/src/components/openssl/pqueue.h b/src/components/openssl/pqueue.h deleted file mode 100644 index d40d9c7..0000000 --- a/src/components/openssl/pqueue.h +++ /dev/null @@ -1,99 +0,0 @@ -/* crypto/pqueue/pqueue.h */ -/* - * 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_PQUEUE_H -# define HEADER_PQUEUE_H - -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif -typedef struct _pqueue *pqueue; - -typedef struct _pitem { - unsigned char priority[8]; /* 64-bit value in big-endian encoding */ - void *data; - struct _pitem *next; -} pitem; - -typedef struct _pitem *piterator; - -pitem *pitem_new(unsigned char *prio64be, void *data); -void pitem_free(pitem *item); - -pqueue pqueue_new(void); -void pqueue_free(pqueue pq); - -pitem *pqueue_insert(pqueue pq, pitem *item); -pitem *pqueue_peek(pqueue pq); -pitem *pqueue_pop(pqueue pq); -pitem *pqueue_find(pqueue pq, unsigned char *prio64be); -pitem *pqueue_iterator(pqueue pq); -pitem *pqueue_next(piterator *iter); - -void pqueue_print(pqueue pq); -int pqueue_size(pqueue pq); - -#ifdef __cplusplus -} -#endif -#endif /* ! HEADER_PQUEUE_H */ diff --git a/src/components/openssl/rand.h b/src/components/openssl/rand.h deleted file mode 100644 index 8d2dbe2..0000000 --- a/src/components/openssl/rand.h +++ /dev/null @@ -1,150 +0,0 @@ -/* crypto/rand/rand.h */ -/* 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_RAND_H -# define HEADER_RAND_H - -# include -# include -# include - -# if defined(OPENSSL_SYS_WINDOWS) -# include -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -# if defined(OPENSSL_FIPS) -# define FIPS_RAND_SIZE_T size_t -# 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); -}; - -# ifdef BN_DEBUG -extern int rand_predictable; -# endif - -int RAND_set_rand_method(const RAND_METHOD *meth); -const RAND_METHOD *RAND_get_rand_method(void); -# ifndef OPENSSL_NO_ENGINE -int RAND_set_rand_engine(ENGINE *engine); -# endif -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_query_egd_bytes(const char *path, unsigned char *buf, int bytes); -int RAND_egd(const char *path); -int RAND_egd_bytes(const char *path, int bytes); -int RAND_poll(void); - -# if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) - -void RAND_screen(void); -int RAND_event(UINT, WPARAM, LPARAM); - -# endif - -# ifdef OPENSSL_FIPS -void RAND_set_fips_drbg_type(int type, int flags); -int RAND_init_fips(void); -# endif - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_RAND_strings(void); - -/* Error codes for the RAND functions. */ - -/* 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/src/components/openssl/rc2.h b/src/components/openssl/rc2.h deleted file mode 100644 index 5cbce65..0000000 --- a/src/components/openssl/rc2.h +++ /dev/null @@ -1,103 +0,0 @@ -/* crypto/rc2/rc2.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.] - */ - -#ifndef HEADER_RC2_H -# define HEADER_RC2_H - -# include /* OPENSSL_NO_RC2, RC2_INT */ -# ifdef OPENSSL_NO_RC2 -# error RC2 is disabled. -# endif - -# 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; - -# ifdef OPENSSL_FIPS -void private_RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, - int bits); -# endif -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/src/components/openssl/rc4.h b/src/components/openssl/rc4.h deleted file mode 100644 index 58d370b..0000000 --- a/src/components/openssl/rc4.h +++ /dev/null @@ -1,88 +0,0 @@ -/* crypto/rc4/rc4.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.] - */ - -#ifndef HEADER_RC4_H -# define HEADER_RC4_H - -# include /* OPENSSL_NO_RC4, RC4_INT */ -# ifdef OPENSSL_NO_RC4 -# error RC4 is disabled. -# endif - -# include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct rc4_key_st { - RC4_INT x, y; - RC4_INT data[256]; -} RC4_KEY; - -const char *RC4_options(void); -void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); -void private_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/src/components/openssl/ripemd.h b/src/components/openssl/ripemd.h deleted file mode 100644 index 99ce3fc..0000000 --- a/src/components/openssl/ripemd.h +++ /dev/null @@ -1,105 +0,0 @@ -/* crypto/ripemd/ripemd.h */ -/* 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_RIPEMD_H -# define HEADER_RIPEMD_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_NO_RIPEMD -# error RIPEMD is disabled. -# endif - -# if defined(__LP32__) -# define RIPEMD160_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || 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; - -# ifdef OPENSSL_FIPS -int private_RIPEMD160_Init(RIPEMD160_CTX *c); -# endif -int RIPEMD160_Init(RIPEMD160_CTX *c); -int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); -int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); -unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); -void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/rsa.h b/src/components/openssl/rsa.h deleted file mode 100644 index a097ae7..0000000 --- a/src/components/openssl/rsa.h +++ /dev/null @@ -1,664 +0,0 @@ -/* crypto/rsa/rsa.h */ -/* 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 - -# ifndef OPENSSL_NO_BIO -# include -# endif -# include -# include -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif - -# ifdef OPENSSL_NO_RSA -# error RSA is disabled. -# endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Declared already in ossl_typ.h */ -/* typedef struct rsa_st RSA; */ -/* typedef struct rsa_meth_st RSA_METHOD; */ - -struct rsa_meth_st { - const char *name; - int (*rsa_pub_enc) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int (*rsa_pub_dec) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int (*rsa_priv_enc) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int (*rsa_priv_dec) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - /* Can be null */ - int (*rsa_mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx); - /* Can be null */ - int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); - /* called at new */ - int (*init) (RSA *rsa); - /* called at free */ - int (*finish) (RSA *rsa); - /* RSA_METHOD_FLAG_* things */ - int flags; - /* may be needed! */ - char *app_data; - /* - * New sign and verify functions: some libraries don't allow arbitrary - * data to be signed/verified: this allows them to be used. Note: for - * this to work the RSA_public_decrypt() and RSA_private_encrypt() should - * *NOT* be used RSA_sign(), RSA_verify() should be used instead. Note: - * for backwards compatibility this functionality is only enabled if the - * RSA_FLAG_SIGN_VER option is set in 'flags'. - */ - int (*rsa_sign) (int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, - const RSA *rsa); - int (*rsa_verify) (int dtype, const unsigned char *m, - unsigned int m_length, const unsigned char *sigbuf, - unsigned int siglen, const RSA *rsa); - /* - * If this callback is NULL, the builtin software RSA key-gen will be - * used. This is for behavioural compatibility whilst the code gets - * rewired, but one day it would be nice to assume there are no such - * things as "builtin software" implementations. - */ - int (*rsa_keygen) (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); -}; - -struct rsa_st { - /* - * The first parameter is used to pickup errors where this is passed - * instead of aEVP_PKEY, it is set to 0 - */ - int pad; - long version; - const RSA_METHOD *meth; - /* functional reference if 'meth' is ENGINE-provided */ - ENGINE *engine; - BIGNUM *n; - BIGNUM *e; - BIGNUM *d; - BIGNUM *p; - BIGNUM *q; - BIGNUM *dmp1; - BIGNUM *dmq1; - BIGNUM *iqmp; - /* be careful using this if the RSA structure is shared */ - CRYPTO_EX_DATA ex_data; - int references; - int flags; - /* Used to cache montgomery values */ - BN_MONT_CTX *_method_mod_n; - BN_MONT_CTX *_method_mod_p; - BN_MONT_CTX *_method_mod_q; - /* - * all BIGNUM values are actually in the following data, if it is not - * NULL - */ - char *bignum_data; - BN_BLINDING *blinding; - BN_BLINDING *mt_blinding; -}; - -# 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 - -/* exponent limit enforced for "large" modulus only */ -# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 -# endif - -# define RSA_3 0x3L -# define RSA_F4 0x10001L - -# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private - * match */ - -# 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 - -/* - * new with 0.9.6j and 0.9.7b; the built-in - * RSA implementation now uses blinding by - * default (ignoring RSA_FLAG_BLINDING), - * but other engines might not need it - */ -# define RSA_FLAG_NO_BLINDING 0x0080 -/* - * new with 0.9.8f; the built-in RSA - * implementation now uses constant time - * operations by default in private key operations, - * e.g., constant time modular exponentiation, - * modular inverse without leaking branches, - * division without leaking branches. This - * flag disables these constant time - * operations and results in faster RSA - * private key operations. - */ -# define RSA_FLAG_NO_CONSTTIME 0x0100 -# ifdef OPENSSL_USE_DEPRECATED -/* deprecated name for the flag*/ -/* - * new with 0.9.7h; the built-in RSA - * implementation now uses constant time - * modular exponentiation for secret exponents - * by default. This flag causes the - * faster variable sliding window method to - * be used for all exponents. - */ -# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME -# endif - -# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \ - pad, NULL) - -# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, \ - EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) - -# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \ - len, NULL) - -# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - (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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) - -# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) - -# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - 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_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) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - 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_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 -# 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_size(const RSA *rsa); - -/* Deprecated version */ -# ifndef OPENSSL_NO_DEPRECATED -RSA *RSA_generate_key(int bits, unsigned long e, void - (*callback) (int, int, void *), void *cb_arg); -# endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* 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); - -/* This function needs the memory locking malloc callbacks to be installed */ -int RSA_memory_lock(RSA *r); - -/* these are the actual SSLeay RSA functions */ -const RSA_METHOD *RSA_PKCS1_SSLeay(void); - -const RSA_METHOD *RSA_null_method(void); - -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) - -typedef struct rsa_pss_params_st { - X509_ALGOR *hashAlgorithm; - X509_ALGOR *maskGenAlgorithm; - ASN1_INTEGER *saltLength; - ASN1_INTEGER *trailerField; -} RSA_PSS_PARAMS; - -DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) - -typedef struct rsa_oaep_params_st { - X509_ALGOR *hashFunc; - X509_ALGOR *maskGenFunc; - X509_ALGOR *pSourceFunc; -} RSA_OAEP_PARAMS; - -DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) - -# ifndef OPENSSL_NO_FP_API -int RSA_print_fp(FILE *fp, const RSA *r, int offset); -# endif - -# ifndef OPENSSL_NO_BIO -int RSA_print(BIO *bp, const RSA *r, int offset); -# endif - -# ifndef OPENSSL_NO_RC4 -int i2d_RSA_NET(const RSA *a, unsigned char **pp, - int (*cb) (char *buf, int len, const char *prompt, - int verify), int sgckey); -RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, - int (*cb) (char *buf, int len, const char *prompt, - int verify), int sgckey); - -int i2d_Netscape_RSA(const RSA *a, unsigned char **pp, - int (*cb) (char *buf, int len, const char *prompt, - int verify)); -RSA *d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, - int (*cb) (char *buf, int len, const char *prompt, - int verify)); -# 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); -BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); - -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_SSLv23(unsigned char *to, int tlen, - const unsigned char *f, int fl); -int RSA_padding_check_SSLv23(unsigned char *to, int tlen, - const unsigned char *f, int fl, int rsa_len); -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_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, - int fl); -int RSA_padding_check_X931(unsigned char *to, int tlen, - const unsigned char *f, int fl, int rsa_len); -int RSA_X931_hash_id(int nid); - -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); - -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 - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_ALGOR_TO_MD 157 -# define RSA_F_RSA_BUILTIN_KEYGEN 129 -# define RSA_F_RSA_CHECK_KEY 123 -# define RSA_F_RSA_CMS_DECRYPT 158 -# 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_MGF1_TO_MD 159 -# 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_OAEP_MGF1 160 -# 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_SSLV23 110 -# 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_OAEP_MGF1 161 -# 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_SSLV23 114 -# 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_PSS_TO_CTX 162 -# 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 166 -# 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 160 -# define RSA_R_INVALID_DIGEST_LENGTH 143 -# define RSA_R_INVALID_HEADER 137 -# define RSA_R_INVALID_KEYBITS 145 -# define RSA_R_INVALID_LABEL 161 -# define RSA_R_INVALID_MESSAGE_LENGTH 131 -# define RSA_R_INVALID_MGF1_MD 156 -# define RSA_R_INVALID_OAEP_PARAMETERS 162 -# 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_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_PKCS_DECODING_ERROR 159 -# 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 163 -# 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 164 -# define RSA_R_UNSUPPORTED_LABEL_SOURCE 165 -# 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/src/components/openssl/safestack.h b/src/components/openssl/safestack.h deleted file mode 100644 index 0257b06..0000000 --- a/src/components/openssl/safestack.h +++ /dev/null @@ -1,2672 +0,0 @@ -/* ==================================================================== - * 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 - -#ifdef __cplusplus -extern "C" { -#endif - -# 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_COPY_FUNC(type, p) \ - ((void *(*)(void *)) ((1 ? p : (type *(*)(const type *))0))) - -# define CHECKED_SK_FREE_FUNC(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) \ - { \ - _STACK stack; \ - }; -# define DECLARE_SPECIAL_STACK_OF(type, type2) \ -STACK_OF(type) \ - { \ - _STACK stack; \ - }; - -/* nada (obsolete in new safestack approach)*/ -# define IMPLEMENT_STACK_OF(type) - -/*- - * 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. - * - * 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) - -/* - * Similarly, we sometimes use a block of characters, NOT nul-terminated. - * These should also be distinguished from "normal" stacks. - */ -typedef void *OPENSSL_BLOCK; -DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) - -/* - * 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_find_ex(type, st, val) \ - sk_find_ex(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_deep_copy(type, st, copy_func, free_func) \ - (STACK_OF(type) *)sk_deep_copy(CHECKED_STACK_OF(type, st), CHECKED_SK_COPY_FUNC(type, copy_func), 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 SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - (STACK_OF(type) *)d2i_ASN1_SET( \ - (STACK_OF(OPENSSL_BLOCK) **)CHECKED_PTR_OF(STACK_OF(type)*, st), \ - pp, length, \ - CHECKED_D2I_OF(type, d2i_func), \ - CHECKED_SK_FREE_FUNC(type, free_func), \ - ex_tag, ex_class) -# define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ - i2d_ASN1_SET((STACK_OF(OPENSSL_BLOCK) *)CHECKED_STACK_OF(type, st), pp, \ - CHECKED_I2D_OF(type, i2d_func), \ - ex_tag, ex_class, is_set) -# define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ - ASN1_seq_pack(CHECKED_PTR_OF(STACK_OF(type), st), \ - CHECKED_I2D_OF(type, i2d_func), buf, len) -# define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ - (STACK_OF(type) *)ASN1_seq_unpack(buf, len, CHECKED_D2I_OF(type, d2i_func), CHECKED_SK_FREE_FUNC(type, free_func)) -# define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ - (STACK_OF(type) *)PKCS12_decrypt_d2i(algor, \ - CHECKED_D2I_OF(type, d2i_func), \ - CHECKED_SK_FREE_FUNC(type, free_func), \ - pass, passlen, oct, seq) -/* - * This block of defines is updated by util/mkstack.pl, please do not touch! - */ -# 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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ACCESS_DESCRIPTION, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASIdOrRange, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_GENERALSTRING, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_INTEGER, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_OBJECT, (st), (copy_func), (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_STRING_TABLE_new(cmp) SKM_sk_new(ASN1_STRING_TABLE, (cmp)) -# define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE) -# define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i)) -# define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val)) -# define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_find_ex(st, val) SKM_sk_find_ex(ASN1_STRING_TABLE, (st), (val)) -# define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i)) -# define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr)) -# define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i)) -# define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp)) -# define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st) -# define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func)) -# define sk_ASN1_STRING_TABLE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_STRING_TABLE, (st), (copy_func), (free_func)) -# define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st)) -# define sk_ASN1_STRING_TABLE_is_sorted(st) SKM_sk_is_sorted(ASN1_STRING_TABLE, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_TYPE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_UTF8STRING, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ASN1_VALUE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BIO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_ENTRY, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(BY_DIR_HASH, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_CertificateChoices, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientEncryptedKey, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RecipientInfo, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_RevocationInfoChoice, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CMS_SignerInfo, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_IMODULE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_MODULE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CONF_VALUE, (st), (copy_func), (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_EX_DATA_FUNCS_new(cmp) SKM_sk_new(CRYPTO_EX_DATA_FUNCS, (cmp)) -# define sk_CRYPTO_EX_DATA_FUNCS_new_null() SKM_sk_new_null(CRYPTO_EX_DATA_FUNCS) -# define sk_CRYPTO_EX_DATA_FUNCS_free(st) SKM_sk_free(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_num(st) SKM_sk_num(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_value(st, i) SKM_sk_value(CRYPTO_EX_DATA_FUNCS, (st), (i)) -# define sk_CRYPTO_EX_DATA_FUNCS_set(st, i, val) SKM_sk_set(CRYPTO_EX_DATA_FUNCS, (st), (i), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_zero(st) SKM_sk_zero(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_push(st, val) SKM_sk_push(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_unshift(st, val) SKM_sk_unshift(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_find(st, val) SKM_sk_find(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_find_ex(st, val) SKM_sk_find_ex(CRYPTO_EX_DATA_FUNCS, (st), (val)) -# define sk_CRYPTO_EX_DATA_FUNCS_delete(st, i) SKM_sk_delete(CRYPTO_EX_DATA_FUNCS, (st), (i)) -# define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_EX_DATA_FUNCS, (st), (ptr)) -# define sk_CRYPTO_EX_DATA_FUNCS_insert(st, val, i) SKM_sk_insert(CRYPTO_EX_DATA_FUNCS, (st), (val), (i)) -# define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_EX_DATA_FUNCS, (st), (cmp)) -# define sk_CRYPTO_EX_DATA_FUNCS_dup(st) SKM_sk_dup(CRYPTO_EX_DATA_FUNCS, st) -# define sk_CRYPTO_EX_DATA_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_EX_DATA_FUNCS, (st), (free_func)) -# define sk_CRYPTO_EX_DATA_FUNCS_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_EX_DATA_FUNCS, (st), (copy_func), (free_func)) -# define sk_CRYPTO_EX_DATA_FUNCS_shift(st) SKM_sk_shift(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_pop(st) SKM_sk_pop(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_sort(st) SKM_sk_sort(CRYPTO_EX_DATA_FUNCS, (st)) -# define sk_CRYPTO_EX_DATA_FUNCS_is_sorted(st) SKM_sk_is_sorted(CRYPTO_EX_DATA_FUNCS, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(CRYPTO_dynlock, (st), (copy_func), (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_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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(DIST_POINT, (st), (copy_func), (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_ENGINE_new(cmp) SKM_sk_new(ENGINE, (cmp)) -# define sk_ENGINE_new_null() SKM_sk_new_null(ENGINE) -# define sk_ENGINE_free(st) SKM_sk_free(ENGINE, (st)) -# define sk_ENGINE_num(st) SKM_sk_num(ENGINE, (st)) -# define sk_ENGINE_value(st, i) SKM_sk_value(ENGINE, (st), (i)) -# define sk_ENGINE_set(st, i, val) SKM_sk_set(ENGINE, (st), (i), (val)) -# define sk_ENGINE_zero(st) SKM_sk_zero(ENGINE, (st)) -# define sk_ENGINE_push(st, val) SKM_sk_push(ENGINE, (st), (val)) -# define sk_ENGINE_unshift(st, val) SKM_sk_unshift(ENGINE, (st), (val)) -# define sk_ENGINE_find(st, val) SKM_sk_find(ENGINE, (st), (val)) -# define sk_ENGINE_find_ex(st, val) SKM_sk_find_ex(ENGINE, (st), (val)) -# define sk_ENGINE_delete(st, i) SKM_sk_delete(ENGINE, (st), (i)) -# define sk_ENGINE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE, (st), (ptr)) -# define sk_ENGINE_insert(st, val, i) SKM_sk_insert(ENGINE, (st), (val), (i)) -# define sk_ENGINE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE, (st), (cmp)) -# define sk_ENGINE_dup(st) SKM_sk_dup(ENGINE, st) -# define sk_ENGINE_pop_free(st, free_func) SKM_sk_pop_free(ENGINE, (st), (free_func)) -# define sk_ENGINE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE, (st), (copy_func), (free_func)) -# define sk_ENGINE_shift(st) SKM_sk_shift(ENGINE, (st)) -# define sk_ENGINE_pop(st) SKM_sk_pop(ENGINE, (st)) -# define sk_ENGINE_sort(st) SKM_sk_sort(ENGINE, (st)) -# define sk_ENGINE_is_sorted(st) SKM_sk_is_sorted(ENGINE, (st)) -# define sk_ENGINE_CLEANUP_ITEM_new(cmp) SKM_sk_new(ENGINE_CLEANUP_ITEM, (cmp)) -# define sk_ENGINE_CLEANUP_ITEM_new_null() SKM_sk_new_null(ENGINE_CLEANUP_ITEM) -# define sk_ENGINE_CLEANUP_ITEM_free(st) SKM_sk_free(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_num(st) SKM_sk_num(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_value(st, i) SKM_sk_value(ENGINE_CLEANUP_ITEM, (st), (i)) -# define sk_ENGINE_CLEANUP_ITEM_set(st, i, val) SKM_sk_set(ENGINE_CLEANUP_ITEM, (st), (i), (val)) -# define sk_ENGINE_CLEANUP_ITEM_zero(st) SKM_sk_zero(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_push(st, val) SKM_sk_push(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_unshift(st, val) SKM_sk_unshift(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_find(st, val) SKM_sk_find(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_find_ex(st, val) SKM_sk_find_ex(ENGINE_CLEANUP_ITEM, (st), (val)) -# define sk_ENGINE_CLEANUP_ITEM_delete(st, i) SKM_sk_delete(ENGINE_CLEANUP_ITEM, (st), (i)) -# define sk_ENGINE_CLEANUP_ITEM_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE_CLEANUP_ITEM, (st), (ptr)) -# define sk_ENGINE_CLEANUP_ITEM_insert(st, val, i) SKM_sk_insert(ENGINE_CLEANUP_ITEM, (st), (val), (i)) -# define sk_ENGINE_CLEANUP_ITEM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE_CLEANUP_ITEM, (st), (cmp)) -# define sk_ENGINE_CLEANUP_ITEM_dup(st) SKM_sk_dup(ENGINE_CLEANUP_ITEM, st) -# define sk_ENGINE_CLEANUP_ITEM_pop_free(st, free_func) SKM_sk_pop_free(ENGINE_CLEANUP_ITEM, (st), (free_func)) -# define sk_ENGINE_CLEANUP_ITEM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ENGINE_CLEANUP_ITEM, (st), (copy_func), (free_func)) -# define sk_ENGINE_CLEANUP_ITEM_shift(st) SKM_sk_shift(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_pop(st) SKM_sk_pop(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_sort(st) SKM_sk_sort(ENGINE_CLEANUP_ITEM, (st)) -# define sk_ENGINE_CLEANUP_ITEM_is_sorted(st) SKM_sk_is_sorted(ENGINE_CLEANUP_ITEM, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(ESS_CERT_ID, (st), (copy_func), (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)) -# 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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_MD, (st), (copy_func), (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_PBE_CTL_new(cmp) SKM_sk_new(EVP_PBE_CTL, (cmp)) -# define sk_EVP_PBE_CTL_new_null() SKM_sk_new_null(EVP_PBE_CTL) -# define sk_EVP_PBE_CTL_free(st) SKM_sk_free(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_num(st) SKM_sk_num(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_value(st, i) SKM_sk_value(EVP_PBE_CTL, (st), (i)) -# define sk_EVP_PBE_CTL_set(st, i, val) SKM_sk_set(EVP_PBE_CTL, (st), (i), (val)) -# define sk_EVP_PBE_CTL_zero(st) SKM_sk_zero(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_push(st, val) SKM_sk_push(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_unshift(st, val) SKM_sk_unshift(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_find(st, val) SKM_sk_find(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_find_ex(st, val) SKM_sk_find_ex(EVP_PBE_CTL, (st), (val)) -# define sk_EVP_PBE_CTL_delete(st, i) SKM_sk_delete(EVP_PBE_CTL, (st), (i)) -# define sk_EVP_PBE_CTL_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PBE_CTL, (st), (ptr)) -# define sk_EVP_PBE_CTL_insert(st, val, i) SKM_sk_insert(EVP_PBE_CTL, (st), (val), (i)) -# define sk_EVP_PBE_CTL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PBE_CTL, (st), (cmp)) -# define sk_EVP_PBE_CTL_dup(st) SKM_sk_dup(EVP_PBE_CTL, st) -# define sk_EVP_PBE_CTL_pop_free(st, free_func) SKM_sk_pop_free(EVP_PBE_CTL, (st), (free_func)) -# define sk_EVP_PBE_CTL_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PBE_CTL, (st), (copy_func), (free_func)) -# define sk_EVP_PBE_CTL_shift(st) SKM_sk_shift(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_pop(st) SKM_sk_pop(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_sort(st) SKM_sk_sort(EVP_PBE_CTL, (st)) -# define sk_EVP_PBE_CTL_is_sorted(st) SKM_sk_is_sorted(EVP_PBE_CTL, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_ASN1_METHOD, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(EVP_PKEY_METHOD, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAME, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_NAMES, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(GENERAL_SUBTREE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressFamily, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(IPAddressOrRange, (st), (copy_func), (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_KRB5_APREQBODY_new(cmp) SKM_sk_new(KRB5_APREQBODY, (cmp)) -# define sk_KRB5_APREQBODY_new_null() SKM_sk_new_null(KRB5_APREQBODY) -# define sk_KRB5_APREQBODY_free(st) SKM_sk_free(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_num(st) SKM_sk_num(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_value(st, i) SKM_sk_value(KRB5_APREQBODY, (st), (i)) -# define sk_KRB5_APREQBODY_set(st, i, val) SKM_sk_set(KRB5_APREQBODY, (st), (i), (val)) -# define sk_KRB5_APREQBODY_zero(st) SKM_sk_zero(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_push(st, val) SKM_sk_push(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_unshift(st, val) SKM_sk_unshift(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_find(st, val) SKM_sk_find(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_APREQBODY, (st), (val)) -# define sk_KRB5_APREQBODY_delete(st, i) SKM_sk_delete(KRB5_APREQBODY, (st), (i)) -# define sk_KRB5_APREQBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_APREQBODY, (st), (ptr)) -# define sk_KRB5_APREQBODY_insert(st, val, i) SKM_sk_insert(KRB5_APREQBODY, (st), (val), (i)) -# define sk_KRB5_APREQBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_APREQBODY, (st), (cmp)) -# define sk_KRB5_APREQBODY_dup(st) SKM_sk_dup(KRB5_APREQBODY, st) -# define sk_KRB5_APREQBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_APREQBODY, (st), (free_func)) -# define sk_KRB5_APREQBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_APREQBODY, (st), (copy_func), (free_func)) -# define sk_KRB5_APREQBODY_shift(st) SKM_sk_shift(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_pop(st) SKM_sk_pop(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_sort(st) SKM_sk_sort(KRB5_APREQBODY, (st)) -# define sk_KRB5_APREQBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_APREQBODY, (st)) -# define sk_KRB5_AUTHDATA_new(cmp) SKM_sk_new(KRB5_AUTHDATA, (cmp)) -# define sk_KRB5_AUTHDATA_new_null() SKM_sk_new_null(KRB5_AUTHDATA) -# define sk_KRB5_AUTHDATA_free(st) SKM_sk_free(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_num(st) SKM_sk_num(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_value(st, i) SKM_sk_value(KRB5_AUTHDATA, (st), (i)) -# define sk_KRB5_AUTHDATA_set(st, i, val) SKM_sk_set(KRB5_AUTHDATA, (st), (i), (val)) -# define sk_KRB5_AUTHDATA_zero(st) SKM_sk_zero(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_push(st, val) SKM_sk_push(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_unshift(st, val) SKM_sk_unshift(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_find(st, val) SKM_sk_find(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHDATA, (st), (val)) -# define sk_KRB5_AUTHDATA_delete(st, i) SKM_sk_delete(KRB5_AUTHDATA, (st), (i)) -# define sk_KRB5_AUTHDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHDATA, (st), (ptr)) -# define sk_KRB5_AUTHDATA_insert(st, val, i) SKM_sk_insert(KRB5_AUTHDATA, (st), (val), (i)) -# define sk_KRB5_AUTHDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHDATA, (st), (cmp)) -# define sk_KRB5_AUTHDATA_dup(st) SKM_sk_dup(KRB5_AUTHDATA, st) -# define sk_KRB5_AUTHDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHDATA, (st), (free_func)) -# define sk_KRB5_AUTHDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHDATA, (st), (copy_func), (free_func)) -# define sk_KRB5_AUTHDATA_shift(st) SKM_sk_shift(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_pop(st) SKM_sk_pop(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_sort(st) SKM_sk_sort(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHDATA, (st)) -# define sk_KRB5_AUTHENTBODY_new(cmp) SKM_sk_new(KRB5_AUTHENTBODY, (cmp)) -# define sk_KRB5_AUTHENTBODY_new_null() SKM_sk_new_null(KRB5_AUTHENTBODY) -# define sk_KRB5_AUTHENTBODY_free(st) SKM_sk_free(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_num(st) SKM_sk_num(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_value(st, i) SKM_sk_value(KRB5_AUTHENTBODY, (st), (i)) -# define sk_KRB5_AUTHENTBODY_set(st, i, val) SKM_sk_set(KRB5_AUTHENTBODY, (st), (i), (val)) -# define sk_KRB5_AUTHENTBODY_zero(st) SKM_sk_zero(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_push(st, val) SKM_sk_push(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_unshift(st, val) SKM_sk_unshift(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_find(st, val) SKM_sk_find(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHENTBODY, (st), (val)) -# define sk_KRB5_AUTHENTBODY_delete(st, i) SKM_sk_delete(KRB5_AUTHENTBODY, (st), (i)) -# define sk_KRB5_AUTHENTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHENTBODY, (st), (ptr)) -# define sk_KRB5_AUTHENTBODY_insert(st, val, i) SKM_sk_insert(KRB5_AUTHENTBODY, (st), (val), (i)) -# define sk_KRB5_AUTHENTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHENTBODY, (st), (cmp)) -# define sk_KRB5_AUTHENTBODY_dup(st) SKM_sk_dup(KRB5_AUTHENTBODY, st) -# define sk_KRB5_AUTHENTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHENTBODY, (st), (free_func)) -# define sk_KRB5_AUTHENTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_AUTHENTBODY, (st), (copy_func), (free_func)) -# define sk_KRB5_AUTHENTBODY_shift(st) SKM_sk_shift(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_pop(st) SKM_sk_pop(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_sort(st) SKM_sk_sort(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_AUTHENTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHENTBODY, (st)) -# define sk_KRB5_CHECKSUM_new(cmp) SKM_sk_new(KRB5_CHECKSUM, (cmp)) -# define sk_KRB5_CHECKSUM_new_null() SKM_sk_new_null(KRB5_CHECKSUM) -# define sk_KRB5_CHECKSUM_free(st) SKM_sk_free(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_num(st) SKM_sk_num(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_value(st, i) SKM_sk_value(KRB5_CHECKSUM, (st), (i)) -# define sk_KRB5_CHECKSUM_set(st, i, val) SKM_sk_set(KRB5_CHECKSUM, (st), (i), (val)) -# define sk_KRB5_CHECKSUM_zero(st) SKM_sk_zero(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_push(st, val) SKM_sk_push(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_unshift(st, val) SKM_sk_unshift(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_find(st, val) SKM_sk_find(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_find_ex(st, val) SKM_sk_find_ex(KRB5_CHECKSUM, (st), (val)) -# define sk_KRB5_CHECKSUM_delete(st, i) SKM_sk_delete(KRB5_CHECKSUM, (st), (i)) -# define sk_KRB5_CHECKSUM_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_CHECKSUM, (st), (ptr)) -# define sk_KRB5_CHECKSUM_insert(st, val, i) SKM_sk_insert(KRB5_CHECKSUM, (st), (val), (i)) -# define sk_KRB5_CHECKSUM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_CHECKSUM, (st), (cmp)) -# define sk_KRB5_CHECKSUM_dup(st) SKM_sk_dup(KRB5_CHECKSUM, st) -# define sk_KRB5_CHECKSUM_pop_free(st, free_func) SKM_sk_pop_free(KRB5_CHECKSUM, (st), (free_func)) -# define sk_KRB5_CHECKSUM_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_CHECKSUM, (st), (copy_func), (free_func)) -# define sk_KRB5_CHECKSUM_shift(st) SKM_sk_shift(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_pop(st) SKM_sk_pop(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_sort(st) SKM_sk_sort(KRB5_CHECKSUM, (st)) -# define sk_KRB5_CHECKSUM_is_sorted(st) SKM_sk_is_sorted(KRB5_CHECKSUM, (st)) -# define sk_KRB5_ENCDATA_new(cmp) SKM_sk_new(KRB5_ENCDATA, (cmp)) -# define sk_KRB5_ENCDATA_new_null() SKM_sk_new_null(KRB5_ENCDATA) -# define sk_KRB5_ENCDATA_free(st) SKM_sk_free(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_num(st) SKM_sk_num(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_value(st, i) SKM_sk_value(KRB5_ENCDATA, (st), (i)) -# define sk_KRB5_ENCDATA_set(st, i, val) SKM_sk_set(KRB5_ENCDATA, (st), (i), (val)) -# define sk_KRB5_ENCDATA_zero(st) SKM_sk_zero(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_push(st, val) SKM_sk_push(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_unshift(st, val) SKM_sk_unshift(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_find(st, val) SKM_sk_find(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCDATA, (st), (val)) -# define sk_KRB5_ENCDATA_delete(st, i) SKM_sk_delete(KRB5_ENCDATA, (st), (i)) -# define sk_KRB5_ENCDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCDATA, (st), (ptr)) -# define sk_KRB5_ENCDATA_insert(st, val, i) SKM_sk_insert(KRB5_ENCDATA, (st), (val), (i)) -# define sk_KRB5_ENCDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCDATA, (st), (cmp)) -# define sk_KRB5_ENCDATA_dup(st) SKM_sk_dup(KRB5_ENCDATA, st) -# define sk_KRB5_ENCDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCDATA, (st), (free_func)) -# define sk_KRB5_ENCDATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCDATA, (st), (copy_func), (free_func)) -# define sk_KRB5_ENCDATA_shift(st) SKM_sk_shift(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_pop(st) SKM_sk_pop(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_sort(st) SKM_sk_sort(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCDATA, (st)) -# define sk_KRB5_ENCKEY_new(cmp) SKM_sk_new(KRB5_ENCKEY, (cmp)) -# define sk_KRB5_ENCKEY_new_null() SKM_sk_new_null(KRB5_ENCKEY) -# define sk_KRB5_ENCKEY_free(st) SKM_sk_free(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_num(st) SKM_sk_num(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_value(st, i) SKM_sk_value(KRB5_ENCKEY, (st), (i)) -# define sk_KRB5_ENCKEY_set(st, i, val) SKM_sk_set(KRB5_ENCKEY, (st), (i), (val)) -# define sk_KRB5_ENCKEY_zero(st) SKM_sk_zero(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_push(st, val) SKM_sk_push(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_unshift(st, val) SKM_sk_unshift(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_find(st, val) SKM_sk_find(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCKEY, (st), (val)) -# define sk_KRB5_ENCKEY_delete(st, i) SKM_sk_delete(KRB5_ENCKEY, (st), (i)) -# define sk_KRB5_ENCKEY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCKEY, (st), (ptr)) -# define sk_KRB5_ENCKEY_insert(st, val, i) SKM_sk_insert(KRB5_ENCKEY, (st), (val), (i)) -# define sk_KRB5_ENCKEY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCKEY, (st), (cmp)) -# define sk_KRB5_ENCKEY_dup(st) SKM_sk_dup(KRB5_ENCKEY, st) -# define sk_KRB5_ENCKEY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCKEY, (st), (free_func)) -# define sk_KRB5_ENCKEY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_ENCKEY, (st), (copy_func), (free_func)) -# define sk_KRB5_ENCKEY_shift(st) SKM_sk_shift(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_pop(st) SKM_sk_pop(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_sort(st) SKM_sk_sort(KRB5_ENCKEY, (st)) -# define sk_KRB5_ENCKEY_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCKEY, (st)) -# define sk_KRB5_PRINCNAME_new(cmp) SKM_sk_new(KRB5_PRINCNAME, (cmp)) -# define sk_KRB5_PRINCNAME_new_null() SKM_sk_new_null(KRB5_PRINCNAME) -# define sk_KRB5_PRINCNAME_free(st) SKM_sk_free(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_num(st) SKM_sk_num(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_value(st, i) SKM_sk_value(KRB5_PRINCNAME, (st), (i)) -# define sk_KRB5_PRINCNAME_set(st, i, val) SKM_sk_set(KRB5_PRINCNAME, (st), (i), (val)) -# define sk_KRB5_PRINCNAME_zero(st) SKM_sk_zero(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_push(st, val) SKM_sk_push(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_unshift(st, val) SKM_sk_unshift(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_find(st, val) SKM_sk_find(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_find_ex(st, val) SKM_sk_find_ex(KRB5_PRINCNAME, (st), (val)) -# define sk_KRB5_PRINCNAME_delete(st, i) SKM_sk_delete(KRB5_PRINCNAME, (st), (i)) -# define sk_KRB5_PRINCNAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_PRINCNAME, (st), (ptr)) -# define sk_KRB5_PRINCNAME_insert(st, val, i) SKM_sk_insert(KRB5_PRINCNAME, (st), (val), (i)) -# define sk_KRB5_PRINCNAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_PRINCNAME, (st), (cmp)) -# define sk_KRB5_PRINCNAME_dup(st) SKM_sk_dup(KRB5_PRINCNAME, st) -# define sk_KRB5_PRINCNAME_pop_free(st, free_func) SKM_sk_pop_free(KRB5_PRINCNAME, (st), (free_func)) -# define sk_KRB5_PRINCNAME_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_PRINCNAME, (st), (copy_func), (free_func)) -# define sk_KRB5_PRINCNAME_shift(st) SKM_sk_shift(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_pop(st) SKM_sk_pop(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_sort(st) SKM_sk_sort(KRB5_PRINCNAME, (st)) -# define sk_KRB5_PRINCNAME_is_sorted(st) SKM_sk_is_sorted(KRB5_PRINCNAME, (st)) -# define sk_KRB5_TKTBODY_new(cmp) SKM_sk_new(KRB5_TKTBODY, (cmp)) -# define sk_KRB5_TKTBODY_new_null() SKM_sk_new_null(KRB5_TKTBODY) -# define sk_KRB5_TKTBODY_free(st) SKM_sk_free(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_num(st) SKM_sk_num(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_value(st, i) SKM_sk_value(KRB5_TKTBODY, (st), (i)) -# define sk_KRB5_TKTBODY_set(st, i, val) SKM_sk_set(KRB5_TKTBODY, (st), (i), (val)) -# define sk_KRB5_TKTBODY_zero(st) SKM_sk_zero(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_push(st, val) SKM_sk_push(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_unshift(st, val) SKM_sk_unshift(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_find(st, val) SKM_sk_find(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_TKTBODY, (st), (val)) -# define sk_KRB5_TKTBODY_delete(st, i) SKM_sk_delete(KRB5_TKTBODY, (st), (i)) -# define sk_KRB5_TKTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_TKTBODY, (st), (ptr)) -# define sk_KRB5_TKTBODY_insert(st, val, i) SKM_sk_insert(KRB5_TKTBODY, (st), (val), (i)) -# define sk_KRB5_TKTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_TKTBODY, (st), (cmp)) -# define sk_KRB5_TKTBODY_dup(st) SKM_sk_dup(KRB5_TKTBODY, st) -# define sk_KRB5_TKTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_TKTBODY, (st), (free_func)) -# define sk_KRB5_TKTBODY_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(KRB5_TKTBODY, (st), (copy_func), (free_func)) -# define sk_KRB5_TKTBODY_shift(st) SKM_sk_shift(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_pop(st) SKM_sk_pop(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_sort(st) SKM_sk_sort(KRB5_TKTBODY, (st)) -# define sk_KRB5_TKTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_TKTBODY, (st)) -# define sk_MEM_OBJECT_DATA_new(cmp) SKM_sk_new(MEM_OBJECT_DATA, (cmp)) -# define sk_MEM_OBJECT_DATA_new_null() SKM_sk_new_null(MEM_OBJECT_DATA) -# define sk_MEM_OBJECT_DATA_free(st) SKM_sk_free(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_num(st) SKM_sk_num(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_value(st, i) SKM_sk_value(MEM_OBJECT_DATA, (st), (i)) -# define sk_MEM_OBJECT_DATA_set(st, i, val) SKM_sk_set(MEM_OBJECT_DATA, (st), (i), (val)) -# define sk_MEM_OBJECT_DATA_zero(st) SKM_sk_zero(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_push(st, val) SKM_sk_push(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_unshift(st, val) SKM_sk_unshift(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_find(st, val) SKM_sk_find(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_find_ex(st, val) SKM_sk_find_ex(MEM_OBJECT_DATA, (st), (val)) -# define sk_MEM_OBJECT_DATA_delete(st, i) SKM_sk_delete(MEM_OBJECT_DATA, (st), (i)) -# define sk_MEM_OBJECT_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(MEM_OBJECT_DATA, (st), (ptr)) -# define sk_MEM_OBJECT_DATA_insert(st, val, i) SKM_sk_insert(MEM_OBJECT_DATA, (st), (val), (i)) -# define sk_MEM_OBJECT_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MEM_OBJECT_DATA, (st), (cmp)) -# define sk_MEM_OBJECT_DATA_dup(st) SKM_sk_dup(MEM_OBJECT_DATA, st) -# define sk_MEM_OBJECT_DATA_pop_free(st, free_func) SKM_sk_pop_free(MEM_OBJECT_DATA, (st), (free_func)) -# define sk_MEM_OBJECT_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MEM_OBJECT_DATA, (st), (copy_func), (free_func)) -# define sk_MEM_OBJECT_DATA_shift(st) SKM_sk_shift(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_pop(st) SKM_sk_pop(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_sort(st) SKM_sk_sort(MEM_OBJECT_DATA, (st)) -# define sk_MEM_OBJECT_DATA_is_sorted(st) SKM_sk_is_sorted(MEM_OBJECT_DATA, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_HEADER, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(MIME_PARAM, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(NAME_FUNCS, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_CERTID, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_ONEREQ, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_RESPID, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(OCSP_SINGLERESP, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS12_SAFEBAG, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_RECIP_INFO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(PKCS7_SIGNER_INFO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYINFO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICYQUALINFO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(POLICY_MAPPING, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SCT, (st), (copy_func), (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_SRP_gN_new(cmp) SKM_sk_new(SRP_gN, (cmp)) -# define sk_SRP_gN_new_null() SKM_sk_new_null(SRP_gN) -# define sk_SRP_gN_free(st) SKM_sk_free(SRP_gN, (st)) -# define sk_SRP_gN_num(st) SKM_sk_num(SRP_gN, (st)) -# define sk_SRP_gN_value(st, i) SKM_sk_value(SRP_gN, (st), (i)) -# define sk_SRP_gN_set(st, i, val) SKM_sk_set(SRP_gN, (st), (i), (val)) -# define sk_SRP_gN_zero(st) SKM_sk_zero(SRP_gN, (st)) -# define sk_SRP_gN_push(st, val) SKM_sk_push(SRP_gN, (st), (val)) -# define sk_SRP_gN_unshift(st, val) SKM_sk_unshift(SRP_gN, (st), (val)) -# define sk_SRP_gN_find(st, val) SKM_sk_find(SRP_gN, (st), (val)) -# define sk_SRP_gN_find_ex(st, val) SKM_sk_find_ex(SRP_gN, (st), (val)) -# define sk_SRP_gN_delete(st, i) SKM_sk_delete(SRP_gN, (st), (i)) -# define sk_SRP_gN_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN, (st), (ptr)) -# define sk_SRP_gN_insert(st, val, i) SKM_sk_insert(SRP_gN, (st), (val), (i)) -# define sk_SRP_gN_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN, (st), (cmp)) -# define sk_SRP_gN_dup(st) SKM_sk_dup(SRP_gN, st) -# define sk_SRP_gN_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN, (st), (free_func)) -# define sk_SRP_gN_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN, (st), (copy_func), (free_func)) -# define sk_SRP_gN_shift(st) SKM_sk_shift(SRP_gN, (st)) -# define sk_SRP_gN_pop(st) SKM_sk_pop(SRP_gN, (st)) -# define sk_SRP_gN_sort(st) SKM_sk_sort(SRP_gN, (st)) -# define sk_SRP_gN_is_sorted(st) SKM_sk_is_sorted(SRP_gN, (st)) -# define sk_SRP_gN_cache_new(cmp) SKM_sk_new(SRP_gN_cache, (cmp)) -# define sk_SRP_gN_cache_new_null() SKM_sk_new_null(SRP_gN_cache) -# define sk_SRP_gN_cache_free(st) SKM_sk_free(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_num(st) SKM_sk_num(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_value(st, i) SKM_sk_value(SRP_gN_cache, (st), (i)) -# define sk_SRP_gN_cache_set(st, i, val) SKM_sk_set(SRP_gN_cache, (st), (i), (val)) -# define sk_SRP_gN_cache_zero(st) SKM_sk_zero(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_push(st, val) SKM_sk_push(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_unshift(st, val) SKM_sk_unshift(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_find(st, val) SKM_sk_find(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_find_ex(st, val) SKM_sk_find_ex(SRP_gN_cache, (st), (val)) -# define sk_SRP_gN_cache_delete(st, i) SKM_sk_delete(SRP_gN_cache, (st), (i)) -# define sk_SRP_gN_cache_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN_cache, (st), (ptr)) -# define sk_SRP_gN_cache_insert(st, val, i) SKM_sk_insert(SRP_gN_cache, (st), (val), (i)) -# define sk_SRP_gN_cache_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN_cache, (st), (cmp)) -# define sk_SRP_gN_cache_dup(st) SKM_sk_dup(SRP_gN_cache, st) -# define sk_SRP_gN_cache_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN_cache, (st), (free_func)) -# define sk_SRP_gN_cache_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_gN_cache, (st), (copy_func), (free_func)) -# define sk_SRP_gN_cache_shift(st) SKM_sk_shift(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_pop(st) SKM_sk_pop(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_sort(st) SKM_sk_sort(SRP_gN_cache, (st)) -# define sk_SRP_gN_cache_is_sorted(st) SKM_sk_is_sorted(SRP_gN_cache, (st)) -# define sk_SRP_user_pwd_new(cmp) SKM_sk_new(SRP_user_pwd, (cmp)) -# define sk_SRP_user_pwd_new_null() SKM_sk_new_null(SRP_user_pwd) -# define sk_SRP_user_pwd_free(st) SKM_sk_free(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_num(st) SKM_sk_num(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_value(st, i) SKM_sk_value(SRP_user_pwd, (st), (i)) -# define sk_SRP_user_pwd_set(st, i, val) SKM_sk_set(SRP_user_pwd, (st), (i), (val)) -# define sk_SRP_user_pwd_zero(st) SKM_sk_zero(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_push(st, val) SKM_sk_push(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_unshift(st, val) SKM_sk_unshift(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_find(st, val) SKM_sk_find(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_find_ex(st, val) SKM_sk_find_ex(SRP_user_pwd, (st), (val)) -# define sk_SRP_user_pwd_delete(st, i) SKM_sk_delete(SRP_user_pwd, (st), (i)) -# define sk_SRP_user_pwd_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_user_pwd, (st), (ptr)) -# define sk_SRP_user_pwd_insert(st, val, i) SKM_sk_insert(SRP_user_pwd, (st), (val), (i)) -# define sk_SRP_user_pwd_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_user_pwd, (st), (cmp)) -# define sk_SRP_user_pwd_dup(st) SKM_sk_dup(SRP_user_pwd, st) -# define sk_SRP_user_pwd_pop_free(st, free_func) SKM_sk_pop_free(SRP_user_pwd, (st), (free_func)) -# define sk_SRP_user_pwd_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRP_user_pwd, (st), (copy_func), (free_func)) -# define sk_SRP_user_pwd_shift(st) SKM_sk_shift(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_pop(st) SKM_sk_pop(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_sort(st) SKM_sk_sort(SRP_user_pwd, (st)) -# define sk_SRP_user_pwd_is_sorted(st) SKM_sk_is_sorted(SRP_user_pwd, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SRTP_PROTECTION_PROFILE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_CIPHER, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SSL_COMP, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STACK_OF_X509_NAME_ENTRY, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_ATTR_INFO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(STORE_OBJECT, (st), (copy_func), (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_SXNETID_new(cmp) SKM_sk_new(SXNETID, (cmp)) -# define sk_SXNETID_new_null() SKM_sk_new_null(SXNETID) -# define sk_SXNETID_free(st) SKM_sk_free(SXNETID, (st)) -# define sk_SXNETID_num(st) SKM_sk_num(SXNETID, (st)) -# define sk_SXNETID_value(st, i) SKM_sk_value(SXNETID, (st), (i)) -# define sk_SXNETID_set(st, i, val) SKM_sk_set(SXNETID, (st), (i), (val)) -# define sk_SXNETID_zero(st) SKM_sk_zero(SXNETID, (st)) -# define sk_SXNETID_push(st, val) SKM_sk_push(SXNETID, (st), (val)) -# define sk_SXNETID_unshift(st, val) SKM_sk_unshift(SXNETID, (st), (val)) -# define sk_SXNETID_find(st, val) SKM_sk_find(SXNETID, (st), (val)) -# define sk_SXNETID_find_ex(st, val) SKM_sk_find_ex(SXNETID, (st), (val)) -# define sk_SXNETID_delete(st, i) SKM_sk_delete(SXNETID, (st), (i)) -# define sk_SXNETID_delete_ptr(st, ptr) SKM_sk_delete_ptr(SXNETID, (st), (ptr)) -# define sk_SXNETID_insert(st, val, i) SKM_sk_insert(SXNETID, (st), (val), (i)) -# define sk_SXNETID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SXNETID, (st), (cmp)) -# define sk_SXNETID_dup(st) SKM_sk_dup(SXNETID, st) -# define sk_SXNETID_pop_free(st, free_func) SKM_sk_pop_free(SXNETID, (st), (free_func)) -# define sk_SXNETID_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(SXNETID, (st), (copy_func), (free_func)) -# define sk_SXNETID_shift(st) SKM_sk_shift(SXNETID, (st)) -# define sk_SXNETID_pop(st) SKM_sk_pop(SXNETID, (st)) -# define sk_SXNETID_sort(st) SKM_sk_sort(SXNETID, (st)) -# define sk_SXNETID_is_sorted(st) SKM_sk_is_sorted(SXNETID, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(UI_STRING, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509V3_EXT_METHOD, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ALGOR, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_ATTRIBUTE, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_CRL, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_EXTENSION, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_INFO, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_LOOKUP, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_NAME_ENTRY, (st), (copy_func), (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_OBJECT, (st), (copy_func), (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_POLICY_DATA_new(cmp) SKM_sk_new(X509_POLICY_DATA, (cmp)) -# define sk_X509_POLICY_DATA_new_null() SKM_sk_new_null(X509_POLICY_DATA) -# define sk_X509_POLICY_DATA_free(st) SKM_sk_free(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_num(st) SKM_sk_num(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_value(st, i) SKM_sk_value(X509_POLICY_DATA, (st), (i)) -# define sk_X509_POLICY_DATA_set(st, i, val) SKM_sk_set(X509_POLICY_DATA, (st), (i), (val)) -# define sk_X509_POLICY_DATA_zero(st) SKM_sk_zero(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_push(st, val) SKM_sk_push(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_unshift(st, val) SKM_sk_unshift(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_find(st, val) SKM_sk_find(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_DATA, (st), (val)) -# define sk_X509_POLICY_DATA_delete(st, i) SKM_sk_delete(X509_POLICY_DATA, (st), (i)) -# define sk_X509_POLICY_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_DATA, (st), (ptr)) -# define sk_X509_POLICY_DATA_insert(st, val, i) SKM_sk_insert(X509_POLICY_DATA, (st), (val), (i)) -# define sk_X509_POLICY_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_DATA, (st), (cmp)) -# define sk_X509_POLICY_DATA_dup(st) SKM_sk_dup(X509_POLICY_DATA, st) -# define sk_X509_POLICY_DATA_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_DATA, (st), (free_func)) -# define sk_X509_POLICY_DATA_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_DATA, (st), (copy_func), (free_func)) -# define sk_X509_POLICY_DATA_shift(st) SKM_sk_shift(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_pop(st) SKM_sk_pop(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_sort(st) SKM_sk_sort(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_DATA_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_DATA, (st)) -# define sk_X509_POLICY_NODE_new(cmp) SKM_sk_new(X509_POLICY_NODE, (cmp)) -# define sk_X509_POLICY_NODE_new_null() SKM_sk_new_null(X509_POLICY_NODE) -# define sk_X509_POLICY_NODE_free(st) SKM_sk_free(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_num(st) SKM_sk_num(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_value(st, i) SKM_sk_value(X509_POLICY_NODE, (st), (i)) -# define sk_X509_POLICY_NODE_set(st, i, val) SKM_sk_set(X509_POLICY_NODE, (st), (i), (val)) -# define sk_X509_POLICY_NODE_zero(st) SKM_sk_zero(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_push(st, val) SKM_sk_push(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_unshift(st, val) SKM_sk_unshift(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_find(st, val) SKM_sk_find(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_NODE, (st), (val)) -# define sk_X509_POLICY_NODE_delete(st, i) SKM_sk_delete(X509_POLICY_NODE, (st), (i)) -# define sk_X509_POLICY_NODE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_NODE, (st), (ptr)) -# define sk_X509_POLICY_NODE_insert(st, val, i) SKM_sk_insert(X509_POLICY_NODE, (st), (val), (i)) -# define sk_X509_POLICY_NODE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_NODE, (st), (cmp)) -# define sk_X509_POLICY_NODE_dup(st) SKM_sk_dup(X509_POLICY_NODE, st) -# define sk_X509_POLICY_NODE_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_NODE, (st), (free_func)) -# define sk_X509_POLICY_NODE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_POLICY_NODE, (st), (copy_func), (free_func)) -# define sk_X509_POLICY_NODE_shift(st) SKM_sk_shift(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_pop(st) SKM_sk_pop(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_sort(st) SKM_sk_sort(X509_POLICY_NODE, (st)) -# define sk_X509_POLICY_NODE_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_NODE, (st)) -# define sk_X509_PURPOSE_new(cmp) SKM_sk_new(X509_PURPOSE, (cmp)) -# define sk_X509_PURPOSE_new_null() SKM_sk_new_null(X509_PURPOSE) -# define sk_X509_PURPOSE_free(st) SKM_sk_free(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_num(st) SKM_sk_num(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_value(st, i) SKM_sk_value(X509_PURPOSE, (st), (i)) -# define sk_X509_PURPOSE_set(st, i, val) SKM_sk_set(X509_PURPOSE, (st), (i), (val)) -# define sk_X509_PURPOSE_zero(st) SKM_sk_zero(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_push(st, val) SKM_sk_push(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_unshift(st, val) SKM_sk_unshift(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_find(st, val) SKM_sk_find(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_find_ex(st, val) SKM_sk_find_ex(X509_PURPOSE, (st), (val)) -# define sk_X509_PURPOSE_delete(st, i) SKM_sk_delete(X509_PURPOSE, (st), (i)) -# define sk_X509_PURPOSE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_PURPOSE, (st), (ptr)) -# define sk_X509_PURPOSE_insert(st, val, i) SKM_sk_insert(X509_PURPOSE, (st), (val), (i)) -# define sk_X509_PURPOSE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_PURPOSE, (st), (cmp)) -# define sk_X509_PURPOSE_dup(st) SKM_sk_dup(X509_PURPOSE, st) -# define sk_X509_PURPOSE_pop_free(st, free_func) SKM_sk_pop_free(X509_PURPOSE, (st), (free_func)) -# define sk_X509_PURPOSE_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_PURPOSE, (st), (copy_func), (free_func)) -# define sk_X509_PURPOSE_shift(st) SKM_sk_shift(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_pop(st) SKM_sk_pop(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_sort(st) SKM_sk_sort(X509_PURPOSE, (st)) -# define sk_X509_PURPOSE_is_sorted(st) SKM_sk_is_sorted(X509_PURPOSE, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_REVOKED, (st), (copy_func), (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_TRUST_new(cmp) SKM_sk_new(X509_TRUST, (cmp)) -# define sk_X509_TRUST_new_null() SKM_sk_new_null(X509_TRUST) -# define sk_X509_TRUST_free(st) SKM_sk_free(X509_TRUST, (st)) -# define sk_X509_TRUST_num(st) SKM_sk_num(X509_TRUST, (st)) -# define sk_X509_TRUST_value(st, i) SKM_sk_value(X509_TRUST, (st), (i)) -# define sk_X509_TRUST_set(st, i, val) SKM_sk_set(X509_TRUST, (st), (i), (val)) -# define sk_X509_TRUST_zero(st) SKM_sk_zero(X509_TRUST, (st)) -# define sk_X509_TRUST_push(st, val) SKM_sk_push(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_unshift(st, val) SKM_sk_unshift(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_find(st, val) SKM_sk_find(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_find_ex(st, val) SKM_sk_find_ex(X509_TRUST, (st), (val)) -# define sk_X509_TRUST_delete(st, i) SKM_sk_delete(X509_TRUST, (st), (i)) -# define sk_X509_TRUST_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_TRUST, (st), (ptr)) -# define sk_X509_TRUST_insert(st, val, i) SKM_sk_insert(X509_TRUST, (st), (val), (i)) -# define sk_X509_TRUST_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_TRUST, (st), (cmp)) -# define sk_X509_TRUST_dup(st) SKM_sk_dup(X509_TRUST, st) -# define sk_X509_TRUST_pop_free(st, free_func) SKM_sk_pop_free(X509_TRUST, (st), (free_func)) -# define sk_X509_TRUST_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_TRUST, (st), (copy_func), (free_func)) -# define sk_X509_TRUST_shift(st) SKM_sk_shift(X509_TRUST, (st)) -# define sk_X509_TRUST_pop(st) SKM_sk_pop(X509_TRUST, (st)) -# define sk_X509_TRUST_sort(st) SKM_sk_sort(X509_TRUST, (st)) -# define sk_X509_TRUST_is_sorted(st) SKM_sk_is_sorted(X509_TRUST, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(X509_VERIFY_PARAM, (st), (copy_func), (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_nid_triple_new(cmp) SKM_sk_new(nid_triple, (cmp)) -# define sk_nid_triple_new_null() SKM_sk_new_null(nid_triple) -# define sk_nid_triple_free(st) SKM_sk_free(nid_triple, (st)) -# define sk_nid_triple_num(st) SKM_sk_num(nid_triple, (st)) -# define sk_nid_triple_value(st, i) SKM_sk_value(nid_triple, (st), (i)) -# define sk_nid_triple_set(st, i, val) SKM_sk_set(nid_triple, (st), (i), (val)) -# define sk_nid_triple_zero(st) SKM_sk_zero(nid_triple, (st)) -# define sk_nid_triple_push(st, val) SKM_sk_push(nid_triple, (st), (val)) -# define sk_nid_triple_unshift(st, val) SKM_sk_unshift(nid_triple, (st), (val)) -# define sk_nid_triple_find(st, val) SKM_sk_find(nid_triple, (st), (val)) -# define sk_nid_triple_find_ex(st, val) SKM_sk_find_ex(nid_triple, (st), (val)) -# define sk_nid_triple_delete(st, i) SKM_sk_delete(nid_triple, (st), (i)) -# define sk_nid_triple_delete_ptr(st, ptr) SKM_sk_delete_ptr(nid_triple, (st), (ptr)) -# define sk_nid_triple_insert(st, val, i) SKM_sk_insert(nid_triple, (st), (val), (i)) -# define sk_nid_triple_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(nid_triple, (st), (cmp)) -# define sk_nid_triple_dup(st) SKM_sk_dup(nid_triple, st) -# define sk_nid_triple_pop_free(st, free_func) SKM_sk_pop_free(nid_triple, (st), (free_func)) -# define sk_nid_triple_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(nid_triple, (st), (copy_func), (free_func)) -# define sk_nid_triple_shift(st) SKM_sk_shift(nid_triple, (st)) -# define sk_nid_triple_pop(st) SKM_sk_pop(nid_triple, (st)) -# define sk_nid_triple_sort(st) SKM_sk_sort(nid_triple, (st)) -# define sk_nid_triple_is_sorted(st) SKM_sk_is_sorted(nid_triple, (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_find_ex(st, val) SKM_sk_find_ex(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_deep_copy(st, copy_func, free_func) SKM_sk_deep_copy(void, (st), (copy_func), (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_FUNC(char, free_func)) -# define sk_OPENSSL_STRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_STRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_COPY_FUNC(char, copy_func), CHECKED_SK_FREE_FUNC(char, 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_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_STRING), st), CHECKED_CONST_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_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)sk_new(CHECKED_SK_CMP_FUNC(void, cmp))) -# define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)sk_new_null()) -# define sk_OPENSSL_BLOCK_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_value(st, i) ((OPENSSL_BLOCK)sk_value(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i)) -# define sk_OPENSSL_BLOCK_num(st) SKM_sk_num(OPENSSL_BLOCK, st) -# define sk_OPENSSL_BLOCK_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_FREE_FUNC(void, free_func)) -# define sk_OPENSSL_BLOCK_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_BLOCK) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_COPY_FUNC(void, copy_func), CHECKED_SK_FREE_FUNC(void, free_func))) -# define sk_OPENSSL_BLOCK_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val), i) -# define sk_OPENSSL_BLOCK_free(st) SKM_sk_free(OPENSSL_BLOCK, st) -# define sk_OPENSSL_BLOCK_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i, CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_zero(st) SKM_sk_zero(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_BLOCK_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_BLOCK), st), CHECKED_CONST_PTR_OF(void, val)) -# define sk_OPENSSL_BLOCK_delete(st, i) SKM_sk_delete(OPENSSL_BLOCK, (st), (i)) -# define sk_OPENSSL_BLOCK_delete_ptr(st, ptr) (OPENSSL_BLOCK *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, ptr)) -# define sk_OPENSSL_BLOCK_set_cmp_func(st, cmp) \ - ((int (*)(const void * const *,const void * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_CMP_FUNC(void, cmp))) -# define sk_OPENSSL_BLOCK_dup(st) SKM_sk_dup(OPENSSL_BLOCK, st) -# define sk_OPENSSL_BLOCK_shift(st) SKM_sk_shift(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_BLOCK_pop(st) (void *)sk_pop(CHECKED_STACK_OF(OPENSSL_BLOCK, st)) -# define sk_OPENSSL_BLOCK_sort(st) SKM_sk_sort(OPENSSL_BLOCK, (st)) -# define sk_OPENSSL_BLOCK_is_sorted(st) SKM_sk_is_sorted(OPENSSL_BLOCK, (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_FUNC(OPENSSL_STRING, free_func)) -# define sk_OPENSSL_PSTRING_deep_copy(st, copy_func, free_func) ((STACK_OF(OPENSSL_PSTRING) *)sk_deep_copy(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_COPY_FUNC(OPENSSL_STRING, copy_func), CHECKED_SK_FREE_FUNC(OPENSSL_STRING, 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_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_PSTRING), st), CHECKED_CONST_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 d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_UTF8STRING, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_UTF8STRING, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ASN1_UTF8STRING(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_UTF8STRING, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ASN1_UTF8STRING(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_UTF8STRING, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_ESS_CERT_ID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ESS_CERT_ID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_ESS_CERT_ID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ESS_CERT_ID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_ESS_CERT_ID(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ESS_CERT_ID, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_ESS_CERT_ID(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ESS_CERT_ID, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_EVP_MD(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(EVP_MD, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_EVP_MD(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(EVP_MD, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_EVP_MD(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(EVP_MD, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_EVP_MD(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(EVP_MD, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_OCSP_ONEREQ(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(OCSP_ONEREQ, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_OCSP_ONEREQ(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(OCSP_ONEREQ, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_OCSP_ONEREQ(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(OCSP_ONEREQ, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_OCSP_ONEREQ(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(OCSP_ONEREQ, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(OCSP_SINGLERESP, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(OCSP_SINGLERESP, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_OCSP_SINGLERESP(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(OCSP_SINGLERESP, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_OCSP_SINGLERESP(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(OCSP_SINGLERESP, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func)) -# define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -# define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -# define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len)) -# define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func)) -# define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \ - SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) -# define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \ - SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) -# 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_down_load(lh) LHM_lh_down_load(ADDED_OBJ,lh) -# define lh_ADDED_OBJ_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ADDED_OBJ,lh,out) -# define lh_ADDED_OBJ_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ADDED_OBJ,lh,out) -# define lh_ADDED_OBJ_stats_bio(lh,out) \ - LHM_lh_stats_bio(ADDED_OBJ,lh,out) -# define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) -# define lh_APP_INFO_new() LHM_lh_new(APP_INFO,app_info) -# define lh_APP_INFO_insert(lh,inst) LHM_lh_insert(APP_INFO,lh,inst) -# define lh_APP_INFO_retrieve(lh,inst) LHM_lh_retrieve(APP_INFO,lh,inst) -# define lh_APP_INFO_delete(lh,inst) LHM_lh_delete(APP_INFO,lh,inst) -# define lh_APP_INFO_doall(lh,fn) LHM_lh_doall(APP_INFO,lh,fn) -# define lh_APP_INFO_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(APP_INFO,lh,fn,arg_type,arg) -# define lh_APP_INFO_error(lh) LHM_lh_error(APP_INFO,lh) -# define lh_APP_INFO_num_items(lh) LHM_lh_num_items(APP_INFO,lh) -# define lh_APP_INFO_down_load(lh) LHM_lh_down_load(APP_INFO,lh) -# define lh_APP_INFO_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(APP_INFO,lh,out) -# define lh_APP_INFO_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(APP_INFO,lh,out) -# define lh_APP_INFO_stats_bio(lh,out) \ - LHM_lh_stats_bio(APP_INFO,lh,out) -# define lh_APP_INFO_free(lh) LHM_lh_free(APP_INFO,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_down_load(lh) LHM_lh_down_load(CONF_VALUE,lh) -# define lh_CONF_VALUE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(CONF_VALUE,lh,out) -# define lh_CONF_VALUE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(CONF_VALUE,lh,out) -# define lh_CONF_VALUE_stats_bio(lh,out) \ - LHM_lh_stats_bio(CONF_VALUE,lh,out) -# define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) -# define lh_ENGINE_PILE_new() LHM_lh_new(ENGINE_PILE,engine_pile) -# define lh_ENGINE_PILE_insert(lh,inst) LHM_lh_insert(ENGINE_PILE,lh,inst) -# define lh_ENGINE_PILE_retrieve(lh,inst) LHM_lh_retrieve(ENGINE_PILE,lh,inst) -# define lh_ENGINE_PILE_delete(lh,inst) LHM_lh_delete(ENGINE_PILE,lh,inst) -# define lh_ENGINE_PILE_doall(lh,fn) LHM_lh_doall(ENGINE_PILE,lh,fn) -# define lh_ENGINE_PILE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ENGINE_PILE,lh,fn,arg_type,arg) -# define lh_ENGINE_PILE_error(lh) LHM_lh_error(ENGINE_PILE,lh) -# define lh_ENGINE_PILE_num_items(lh) LHM_lh_num_items(ENGINE_PILE,lh) -# define lh_ENGINE_PILE_down_load(lh) LHM_lh_down_load(ENGINE_PILE,lh) -# define lh_ENGINE_PILE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ENGINE_PILE,lh,out) -# define lh_ENGINE_PILE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ENGINE_PILE,lh,out) -# define lh_ENGINE_PILE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ENGINE_PILE,lh,out) -# define lh_ENGINE_PILE_free(lh) LHM_lh_free(ENGINE_PILE,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_down_load(lh) LHM_lh_down_load(ERR_STATE,lh) -# define lh_ERR_STATE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STATE,lh,out) -# define lh_ERR_STATE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STATE,lh,out) -# define lh_ERR_STATE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STATE,lh,out) -# 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_down_load(lh) LHM_lh_down_load(ERR_STRING_DATA,lh) -# define lh_ERR_STRING_DATA_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STRING_DATA,lh,out) -# define lh_ERR_STRING_DATA_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STRING_DATA,lh,out) -# define lh_ERR_STRING_DATA_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STRING_DATA,lh,out) -# 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_down_load(lh) LHM_lh_down_load(EX_CLASS_ITEM,lh) -# define lh_EX_CLASS_ITEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(EX_CLASS_ITEM,lh,out) -# define lh_EX_CLASS_ITEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(EX_CLASS_ITEM,lh,out) -# define lh_EX_CLASS_ITEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(EX_CLASS_ITEM,lh,out) -# 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_down_load(lh) LHM_lh_down_load(FUNCTION,lh) -# define lh_FUNCTION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(FUNCTION,lh,out) -# define lh_FUNCTION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(FUNCTION,lh,out) -# define lh_FUNCTION_stats_bio(lh,out) \ - LHM_lh_stats_bio(FUNCTION,lh,out) -# define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) -# define lh_MEM_new() LHM_lh_new(MEM,mem) -# define lh_MEM_insert(lh,inst) LHM_lh_insert(MEM,lh,inst) -# define lh_MEM_retrieve(lh,inst) LHM_lh_retrieve(MEM,lh,inst) -# define lh_MEM_delete(lh,inst) LHM_lh_delete(MEM,lh,inst) -# define lh_MEM_doall(lh,fn) LHM_lh_doall(MEM,lh,fn) -# define lh_MEM_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(MEM,lh,fn,arg_type,arg) -# define lh_MEM_error(lh) LHM_lh_error(MEM,lh) -# define lh_MEM_num_items(lh) LHM_lh_num_items(MEM,lh) -# define lh_MEM_down_load(lh) LHM_lh_down_load(MEM,lh) -# define lh_MEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(MEM,lh,out) -# define lh_MEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(MEM,lh,out) -# define lh_MEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(MEM,lh,out) -# define lh_MEM_free(lh) LHM_lh_free(MEM,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_down_load(lh) LHM_lh_down_load(OBJ_NAME,lh) -# define lh_OBJ_NAME_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OBJ_NAME,lh,out) -# define lh_OBJ_NAME_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OBJ_NAME,lh,out) -# define lh_OBJ_NAME_stats_bio(lh,out) \ - LHM_lh_stats_bio(OBJ_NAME,lh,out) -# define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) -# define lh_OPENSSL_CSTRING_new() LHM_lh_new(OPENSSL_CSTRING,openssl_cstring) -# define lh_OPENSSL_CSTRING_insert(lh,inst) LHM_lh_insert(OPENSSL_CSTRING,lh,inst) -# define lh_OPENSSL_CSTRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_CSTRING,lh,inst) -# define lh_OPENSSL_CSTRING_delete(lh,inst) LHM_lh_delete(OPENSSL_CSTRING,lh,inst) -# define lh_OPENSSL_CSTRING_doall(lh,fn) LHM_lh_doall(OPENSSL_CSTRING,lh,fn) -# define lh_OPENSSL_CSTRING_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OPENSSL_CSTRING,lh,fn,arg_type,arg) -# define lh_OPENSSL_CSTRING_error(lh) LHM_lh_error(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_CSTRING_num_items(lh) LHM_lh_num_items(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_CSTRING_down_load(lh) LHM_lh_down_load(OPENSSL_CSTRING,lh) -# define lh_OPENSSL_CSTRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_CSTRING,lh,out) -# define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_CSTRING,lh,out) -# define lh_OPENSSL_CSTRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_CSTRING,lh,out) -# define lh_OPENSSL_CSTRING_free(lh) LHM_lh_free(OPENSSL_CSTRING,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_down_load(lh) LHM_lh_down_load(OPENSSL_STRING,lh) -# define lh_OPENSSL_STRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_STRING,lh,out) -# define lh_OPENSSL_STRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_STRING,lh,out) -# define lh_OPENSSL_STRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_STRING,lh,out) -# 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_down_load(lh) LHM_lh_down_load(SSL_SESSION,lh) -# define lh_SSL_SESSION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(SSL_SESSION,lh,out) -# define lh_SSL_SESSION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(SSL_SESSION,lh,out) -# define lh_SSL_SESSION_stats_bio(lh,out) \ - LHM_lh_stats_bio(SSL_SESSION,lh,out) -# define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) -#ifdef __cplusplus -} -#endif -#endif /* !defined HEADER_SAFESTACK_H */ diff --git a/src/components/openssl/seed.h b/src/components/openssl/seed.h deleted file mode 100644 index c9bf997..0000000 --- a/src/components/openssl/seed.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2007 KISA(Korea Information Security Agency). 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. Neither the name of author 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 AUTHOR 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 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. - * - */ -/* ==================================================================== - * 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). - * - */ - -#ifndef HEADER_SEED_H -# define HEADER_SEED_H - -# include -# include -# include - -# ifdef OPENSSL_NO_SEED -# error SEED is disabled. -# endif - -/* look whether we need 'long' to get 32 bits */ -# ifdef AES_LONG -# ifndef SEED_LONG -# define SEED_LONG 1 -# endif -# endif - -# if !defined(NO_SYS_TYPES_H) -# include -# endif - -# define SEED_BLOCK_SIZE 16 -# define SEED_KEY_LENGTH 16 - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct seed_key_st { -# ifdef SEED_LONG - unsigned long data[32]; -# else - unsigned int data[32]; -# endif -} SEED_KEY_SCHEDULE; - -# ifdef OPENSSL_FIPS -void private_SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], - SEED_KEY_SCHEDULE *ks); -# endif -void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], - SEED_KEY_SCHEDULE *ks); - -void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], - unsigned char d[SEED_BLOCK_SIZE], - const SEED_KEY_SCHEDULE *ks); -void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], - unsigned char d[SEED_BLOCK_SIZE], - const SEED_KEY_SCHEDULE *ks); - -void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, - const SEED_KEY_SCHEDULE *ks, int enc); -void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, - const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], int enc); -void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], int *num, - int enc); -void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], int *num); - -#ifdef __cplusplus -} -#endif - -#endif /* HEADER_SEED_H */ diff --git a/src/components/openssl/sha.h b/src/components/openssl/sha.h deleted file mode 100644 index c5b687f..0000000 --- a/src/components/openssl/sha.h +++ /dev/null @@ -1,214 +0,0 @@ -/* crypto/sha/sha.h */ -/* 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_SHA_H -# define HEADER_SHA_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# if defined(OPENSSL_NO_SHA) || (defined(OPENSSL_NO_SHA0) && defined(OPENSSL_NO_SHA1)) -# error SHA is disabled. -# endif - -# if defined(OPENSSL_FIPS) -# define FIPS_SHA_SIZE_T size_t -# endif - -/*- - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! SHA_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -# if defined(__LP32__) -# define SHA_LONG unsigned long -# elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -# define SHA_LONG unsigned long -# define SHA_LONG_LOG2 3 -# else -# define SHA_LONG unsigned int -# endif - -# 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_SHA0 -# ifdef OPENSSL_FIPS -int private_SHA_Init(SHA_CTX *c); -# endif -int SHA_Init(SHA_CTX *c); -int SHA_Update(SHA_CTX *c, const void *data, size_t len); -int SHA_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); -void SHA_Transform(SHA_CTX *c, const unsigned char *data); -# endif -# ifndef OPENSSL_NO_SHA1 -# ifdef OPENSSL_FIPS -int private_SHA1_Init(SHA_CTX *c); -# endif -int SHA1_Init(SHA_CTX *c); -int SHA1_Update(SHA_CTX *c, const void *data, size_t len); -int SHA1_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); -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 -# ifdef OPENSSL_FIPS -int private_SHA224_Init(SHA256_CTX *c); -int private_SHA256_Init(SHA256_CTX *c); -# endif -int SHA224_Init(SHA256_CTX *c); -int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA224_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); -int SHA256_Init(SHA256_CTX *c); -int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA256_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); -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. - */ -/* - * SHA-512 treats input data as a - * contiguous array of 64 bit - * wide big-endian values. - */ -# define SHA512_CBLOCK (SHA_LBLOCK*8) -# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) -# define SHA_LONG64 unsigned __int64 -# define U64(C) C##UI64 -# elif defined(__arch64__) -# 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 -# ifdef OPENSSL_FIPS -int private_SHA384_Init(SHA512_CTX *c); -int private_SHA512_Init(SHA512_CTX *c); -# endif -int SHA384_Init(SHA512_CTX *c); -int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA384_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); -int SHA512_Init(SHA512_CTX *c); -int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA512_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); -void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); -# endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/srp.h b/src/components/openssl/srp.h deleted file mode 100644 index c8beae0..0000000 --- a/src/components/openssl/srp.h +++ /dev/null @@ -1,179 +0,0 @@ -/* crypto/srp/srp.h */ -/* - * Written by Christophe Renou (christophe.renou@edelweb.fr) with the - * precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the - * EdelKey project and contributed to the OpenSSL project 2004. - */ -/* ==================================================================== - * Copyright (c) 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 __SRP_H__ -# define __SRP_H__ - -# ifndef OPENSSL_NO_SRP - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# include -# include -# include - -typedef struct SRP_gN_cache_st { - char *b64_bn; - BIGNUM *bn; -} SRP_gN_cache; - - -DECLARE_STACK_OF(SRP_gN_cache) - -typedef struct SRP_user_pwd_st { - /* Owned by us. */ - char *id; - BIGNUM *s; - BIGNUM *v; - /* Not owned by us. */ - const BIGNUM *g; - const BIGNUM *N; - /* Owned by us. */ - char *info; -} SRP_user_pwd; - -DECLARE_STACK_OF(SRP_user_pwd) - -void SRP_user_pwd_free(SRP_user_pwd *user_pwd); - -typedef struct SRP_VBASE_st { - STACK_OF(SRP_user_pwd) *users_pwd; - STACK_OF(SRP_gN_cache) *gN_cache; -/* to simulate a user */ - char *seed_key; - BIGNUM *default_g; - BIGNUM *default_N; -} SRP_VBASE; - -/* - * Structure interne pour retenir les couples N et g - */ -typedef struct SRP_gN_st { - char *id; - BIGNUM *g; - BIGNUM *N; -} SRP_gN; - -DECLARE_STACK_OF(SRP_gN) - -SRP_VBASE *SRP_VBASE_new(char *seed_key); -int SRP_VBASE_free(SRP_VBASE *vb); -int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); - -/* This method ignores the configured seed and fails for an unknown user. */ -SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); -/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ -SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); - -char *SRP_create_verifier(const char *user, const char *pass, char **salt, - char **verifier, const char *N, const char *g); -int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, - BIGNUM **verifier, BIGNUM *N, BIGNUM *g); - -# define SRP_NO_ERROR 0 -# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 -# define SRP_ERR_VBASE_BN_LIB 2 -# define SRP_ERR_OPEN_FILE 3 -# define SRP_ERR_MEMORY 4 - -# define DB_srptype 0 -# define DB_srpverifier 1 -# define DB_srpsalt 2 -# define DB_srpid 3 -# define DB_srpgN 4 -# define DB_srpinfo 5 -# undef DB_NUMBER -# define DB_NUMBER 6 - -# define DB_SRP_INDEX 'I' -# define DB_SRP_VALID 'V' -# define DB_SRP_REVOKED 'R' -# define DB_SRP_MODIF 'v' - -/* see srp.c */ -char *SRP_check_known_gN_param(BIGNUM *g, BIGNUM *N); -SRP_gN *SRP_get_default_gN(const char *id); - -/* server side .... */ -BIGNUM *SRP_Calc_server_key(BIGNUM *A, BIGNUM *v, BIGNUM *u, BIGNUM *b, - BIGNUM *N); -BIGNUM *SRP_Calc_B(BIGNUM *b, BIGNUM *N, BIGNUM *g, BIGNUM *v); -int SRP_Verify_A_mod_N(BIGNUM *A, BIGNUM *N); -BIGNUM *SRP_Calc_u(BIGNUM *A, BIGNUM *B, BIGNUM *N); - -/* client side .... */ -BIGNUM *SRP_Calc_x(BIGNUM *s, const char *user, const char *pass); -BIGNUM *SRP_Calc_A(BIGNUM *a, BIGNUM *N, BIGNUM *g); -BIGNUM *SRP_Calc_client_key(BIGNUM *N, BIGNUM *B, BIGNUM *g, BIGNUM *x, - BIGNUM *a, BIGNUM *u); -int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N); - -# define SRP_MINIMAL_N 1024 - -#ifdef __cplusplus -} -#endif - -# endif -#endif diff --git a/src/components/openssl/srtp.h b/src/components/openssl/srtp.h deleted file mode 100644 index 9835521..0000000 --- a/src/components/openssl/srtp.h +++ /dev/null @@ -1,147 +0,0 @@ -/* ssl/srtp.h */ -/* 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 - -# ifndef OPENSSL_NO_SRTP - -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); - -# endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/ssl.h b/src/components/openssl/ssl.h deleted file mode 100644 index 1dbcb23..0000000 --- a/src/components/openssl/ssl.h +++ /dev/null @@ -1,3163 +0,0 @@ -/* ssl/ssl.h */ -/* 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 - -# ifndef OPENSSL_NO_COMP -# include -# endif -# ifndef OPENSSL_NO_BIO -# include -# endif -# ifndef OPENSSL_NO_DEPRECATED -# ifndef OPENSSL_NO_X509 -# include -# endif -# include -# include -# include -# endif -# include -# include - -# include -# include -# include - -#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_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA -# define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA -# 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_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 -# define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 -# 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_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA -# 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_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 -# 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_EXP40 "EXPORT40" -# define SSL_TXT_EXP56 "EXPORT56" -# define SSL_TXT_LOW "LOW" -# define SSL_TXT_MEDIUM "MEDIUM" -# define SSL_TXT_HIGH "HIGH" -# define SSL_TXT_FIPS "FIPS" - -# 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" -# define SSL_TXT_kDHd "kDHd" -# define SSL_TXT_kDH "kDH" -# define SSL_TXT_kEDH "kEDH" -# define SSL_TXT_kDHE "kDHE"/* alias for 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_kECDHE "kECDHE"/* alias for kEECDH */ -# define SSL_TXT_kPSK "kPSK" -# define SSL_TXT_kGOST "kGOST" -# define SSL_TXT_kSRP "kSRP" - -# define SSL_TXT_aRSA "aRSA" -# define SSL_TXT_aDSS "aDSS" -# define SSL_TXT_aDH "aDH" -# define SSL_TXT_aECDH "aECDH" -# define SSL_TXT_aKRB5 "aKRB5" -# define SSL_TXT_aECDSA "aECDSA" -# define SSL_TXT_aPSK "aPSK" -# define SSL_TXT_aGOST94 "aGOST94" -# define SSL_TXT_aGOST01 "aGOST01" -# define SSL_TXT_aGOST "aGOST" -# define SSL_TXT_aSRP "aSRP" - -# define SSL_TXT_DSS "DSS" -# define SSL_TXT_DH "DH" -# define SSL_TXT_EDH "EDH"/* same as "kEDH:-ADH" */ -# define SSL_TXT_DHE "DHE"/* alias for EDH */ -# define SSL_TXT_ADH "ADH" -# define SSL_TXT_RSA "RSA" -# define SSL_TXT_ECDH "ECDH" -# define SSL_TXT_EECDH "EECDH"/* same as "kEECDH:-AECDH" */ -# define SSL_TXT_ECDHE "ECDHE"/* alias 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_MD5 "MD5" -# define SSL_TXT_SHA1 "SHA1" -# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ -# define SSL_TXT_GOST94 "GOST94" -# define SSL_TXT_GOST89MAC "GOST89MAC" -# define SSL_TXT_SHA256 "SHA256" -# define SSL_TXT_SHA384 "SHA384" - -# 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" - -# 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:!EXPORT:!LOW:!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 - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -# if (defined(OPENSSL_NO_RSA) || defined(OPENSSL_NO_MD5)) && !defined(OPENSSL_NO_SSL2) -# define OPENSSL_NO_SSL2 -# endif - -# 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 tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; -typedef struct ssl_method_st SSL_METHOD; -typedef struct ssl_cipher_st SSL_CIPHER; -typedef struct ssl_session_st SSL_SESSION; -typedef struct tls_sigalgs_st TLS_SIGALGS; -typedef struct ssl_conf_ctx_st SSL_CONF_CTX; - -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, - SSL_CIPHER **cipher, void *arg); - -# ifndef OPENSSL_NO_TLSEXT - -/* Typedefs for handling custom extensions */ - -typedef int (*custom_ext_add_cb) (SSL *s, unsigned int ext_type, - const unsigned char **out, - size_t *outlen, int *al, void *add_arg); - -typedef void (*custom_ext_free_cb) (SSL *s, unsigned int ext_type, - const unsigned char *out, void *add_arg); - -typedef int (*custom_ext_parse_cb) (SSL *s, unsigned int ext_type, - const unsigned char *in, - size_t inlen, int *al, void *parse_arg); - -# endif - -# ifndef OPENSSL_NO_SSL_INTERN - -/* used to hold info on the particular ciphers used */ -struct ssl_cipher_st { - int valid; - const char *name; /* text name */ - unsigned long id; /* id, 4 bytes, first is version */ - /* - * changed in 0.9.9: these four used to be portions of a single value - * 'algorithms' - */ - unsigned long algorithm_mkey; /* key exchange algorithm */ - unsigned long algorithm_auth; /* server authentication */ - unsigned long algorithm_enc; /* symmetric encryption */ - unsigned long algorithm_mac; /* symmetric authentication */ - unsigned long algorithm_ssl; /* (major) protocol version */ - unsigned long algo_strength; /* strength and export flags */ - unsigned long algorithm2; /* Extra flags */ - int strength_bits; /* Number of bits really used */ - int alg_bits; /* Number of bits for algorithm */ -}; - -/* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */ -struct ssl_method_st { - int version; - int (*ssl_new) (SSL *s); - void (*ssl_clear) (SSL *s); - void (*ssl_free) (SSL *s); - int (*ssl_accept) (SSL *s); - int (*ssl_connect) (SSL *s); - int (*ssl_read) (SSL *s, void *buf, int len); - int (*ssl_peek) (SSL *s, void *buf, int len); - int (*ssl_write) (SSL *s, const void *buf, int len); - int (*ssl_shutdown) (SSL *s); - int (*ssl_renegotiate) (SSL *s); - int (*ssl_renegotiate_check) (SSL *s); - long (*ssl_get_message) (SSL *s, int st1, int stn, int mt, long - max, int *ok); - int (*ssl_read_bytes) (SSL *s, int type, unsigned char *buf, int len, - int peek); - int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, int len); - int (*ssl_dispatch_alert) (SSL *s); - long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg); - long (*ssl_ctx_ctrl) (SSL_CTX *ctx, int cmd, long larg, void *parg); - const SSL_CIPHER *(*get_cipher_by_char) (const unsigned char *ptr); - int (*put_cipher_by_char) (const SSL_CIPHER *cipher, unsigned char *ptr); - int (*ssl_pending) (const SSL *s); - int (*num_ciphers) (void); - const SSL_CIPHER *(*get_cipher) (unsigned ncipher); - const struct ssl_method_st *(*get_ssl_method) (int version); - long (*get_timeout) (void); - struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ - int (*ssl_version) (void); - long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void)); - long (*ssl_ctx_callback_ctrl) (SSL_CTX *s, int cb_id, void (*fp) (void)); -}; - -/*- - * Lets make this into an ASN.1 type structure as follows - * SSL_SESSION_ID ::= SEQUENCE { - * version INTEGER, -- structure version number - * SSLversion INTEGER, -- SSL version number - * Cipher OCTET STRING, -- the 3 byte cipher ID - * Session_ID OCTET STRING, -- the Session ID - * Master_key OCTET STRING, -- the master key - * KRB5_principal OCTET STRING -- optional Kerberos principal - * Key_Arg [ 0 ] IMPLICIT OCTET STRING, -- the optional Key argument - * Time [ 1 ] EXPLICIT INTEGER, -- optional Start Time - * Timeout [ 2 ] EXPLICIT INTEGER, -- optional Timeout ins seconds - * Peer [ 3 ] EXPLICIT X509, -- optional Peer Certificate - * Session_ID_context [ 4 ] EXPLICIT OCTET STRING, -- the Session ID context - * Verify_result [ 5 ] EXPLICIT INTEGER, -- X509_V_... code for `Peer' - * HostName [ 6 ] EXPLICIT OCTET STRING, -- optional HostName from servername TLS extension - * PSK_identity_hint [ 7 ] EXPLICIT OCTET STRING, -- optional PSK identity hint - * PSK_identity [ 8 ] EXPLICIT OCTET STRING, -- optional PSK identity - * Ticket_lifetime_hint [9] EXPLICIT INTEGER, -- server's lifetime hint for session ticket - * Ticket [10] EXPLICIT OCTET STRING, -- session ticket (clients only) - * Compression_meth [11] EXPLICIT OCTET STRING, -- optional compression method - * SRP_username [ 12 ] EXPLICIT OCTET STRING -- optional SRP username - * } - * Look in ssl/ssl_asn1.c for more details - * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-). - */ -struct ssl_session_st { - int ssl_version; /* what ssl version session info is being - * kept in here? */ - /* only really used in SSLv2 */ - unsigned int key_arg_length; - unsigned char key_arg[SSL_MAX_KEY_ARG_LENGTH]; - int master_key_length; - unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH]; - /* session_id - valid? */ - unsigned int session_id_length; - unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; - /* - * this is used to determine whether the session is being reused in the - * appropriate context. It is up to the application to set this, via - * SSL_new - */ - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; -# ifndef OPENSSL_NO_KRB5 - unsigned int krb5_client_princ_len; - unsigned char krb5_client_princ[SSL_MAX_KRB5_PRINCIPAL_LENGTH]; -# endif /* OPENSSL_NO_KRB5 */ -# ifndef OPENSSL_NO_PSK - char *psk_identity_hint; - char *psk_identity; -# endif - /* - * Used to indicate that session resumption is not allowed. Applications - * can also set this bit for a new session via not_resumable_session_cb - * to disable session caching and tickets. - */ - int not_resumable; - /* The cert is the certificate used to establish this connection */ - struct sess_cert_st /* SESS_CERT */ *sess_cert; - /* - * This is the cert for the other end. On clients, it will be the same as - * sess_cert->peer_key->x509 (the latter is not enough as sess_cert is - * not retained in the external representation of sessions, see - * ssl_asn1.c). - */ - X509 *peer; - /* - * when app_verify_callback accepts a session where the peer's - * certificate is not ok, we must remember the error for session reuse: - */ - long verify_result; /* only for servers */ - int references; - long timeout; - long time; - unsigned int compress_meth; /* Need to lookup the method */ - const SSL_CIPHER *cipher; - unsigned long cipher_id; /* when ASN.1 loaded, this needs to be used - * to load the 'cipher' structure */ - STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */ - CRYPTO_EX_DATA ex_data; /* application specific data */ - /* - * These are used to make removal of session-ids more efficient and to - * implement a maximum cache size. - */ - struct ssl_session_st *prev, *next; -# ifndef OPENSSL_NO_TLSEXT - char *tlsext_hostname; -# ifndef OPENSSL_NO_EC - size_t tlsext_ecpointformatlist_length; - unsigned char *tlsext_ecpointformatlist; /* peer's list */ - size_t tlsext_ellipticcurvelist_length; - unsigned char *tlsext_ellipticcurvelist; /* peer's list */ -# endif /* OPENSSL_NO_EC */ - /* RFC4507 info */ - unsigned char *tlsext_tick; /* Session ticket */ - size_t tlsext_ticklen; /* Session ticket length */ - long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */ -# endif -# ifndef OPENSSL_NO_SRP - char *srp_username; -# endif -}; - -# endif - -# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L -# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L -/* Allow initial connection to servers that don't support RI */ -# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L -# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L -# define SSL_OP_TLSEXT_PADDING 0x00000010L -# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L -# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040L -# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L -# define SSL_OP_TLS_D5_BUG 0x00000100L -# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L - -/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */ -# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 -/* Refers to ancient SSLREF and SSLv2, retained for compatibility */ -# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 - -/* - * 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 we include it in - * SSL_OP_ALL. - */ -/* added in 0.9.6e */ -# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L - -/* - * SSL_OP_ALL: various bug workarounds that should be rather harmless. This - * used to be 0x000FFFFFL before 0.9.7. - */ -# define SSL_OP_ALL 0x80000BFFL - -/* 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 -/* Use Cisco's "speshul" version of DTLS_BAD_VER (as client) */ -# define SSL_OP_CISCO_ANYCONNECT 0x00008000L - -/* As server, disallow session resumption on renegotiation */ -# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L -/* Don't use compression even if supported */ -# define SSL_OP_NO_COMPRESSION 0x00020000L -/* Permit unsafe legacy renegotiation */ -# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000L -/* If set, always create a new key when using tmp_ecdh parameters */ -# define SSL_OP_SINGLE_ECDH_USE 0x00080000L -/* Does nothing: retained for compatibility */ -# define SSL_OP_SINGLE_DH_USE 0x00100000L -/* Does nothing: retained for compatibiity */ -# define SSL_OP_EPHEMERAL_RSA 0x0 -/* - * Set on servers to choose the cipher according to the server's preferences - */ -# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L -/* - * If set, a server will allow a client to issue a SSLv3.0 version number as - * latest version supported in the premaster secret, even when TLSv1.0 - * (version 3.1) was announced in the client hello. Normally this is - * forbidden to prevent version rollback attacks. - */ -# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L - -# define SSL_OP_NO_SSLv2 0x01000000L -# define SSL_OP_NO_SSLv3 0x02000000L -# define SSL_OP_NO_TLSv1 0x04000000L -# define SSL_OP_NO_TLSv1_2 0x08000000L -# define SSL_OP_NO_TLSv1_1 0x10000000L - -# define SSL_OP_NO_DTLSv1 0x04000000L -# define SSL_OP_NO_DTLSv1_2 0x08000000L - -# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|\ - SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2) - -/* - * These next two were never actually used for anything since SSLeay zap so - * we have some more flags. - */ -/* - * The next flag deliberately changes the ciphertest, this is a check for the - * PKCS#1 attack - */ -# define SSL_OP_PKCS1_CHECK_1 0x0 -# define SSL_OP_PKCS1_CHECK_2 0x0 - -# define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L -# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L -/* - * Make server add server-hello extension from early version of cryptopro - * draft, when GOST ciphersuite is negotiated. Required for interoperability - * with CryptoPro CSP 3.x - */ -# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000L - -/* - * 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 -/* - * Send the current time in the Random fields of the ClientHello and - * ServerHello records for compatibility with hypothetical implementations - * that require it. - */ -# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020L -# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040L -/* - * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications - * that reconnect with a downgraded protocol version; see - * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your - * application attempts a normal handshake. Only use this in explicit - * fallback retries, following the guidance in - * draft-ietf-tls-downgrade-scsv-00. - */ -# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080L - -/* Cert related flags */ -/* - * Many implementations ignore some aspects of the TLS standards such as - * enforcing certifcate chain algorithms. When this is set we enforce them. - */ -# define SSL_CERT_FLAG_TLS_STRICT 0x00000001L - -/* Suite B modes, takes same values as certificate verify flags */ -# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 -/* Suite B 192 bit only mode */ -# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 -/* Suite B 128 bit mode allowing 192 bit algorithms */ -# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 - -/* Perform all sorts of protocol violations for testing purposes */ -# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 - -/* Flags for building certificate chains */ -/* Treat any existing certificates as untrusted CAs */ -# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 -/* Don't include root CA in chain */ -# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 -/* Just check certificates already there */ -# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 -/* Ignore verification errors */ -# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 -/* Clear verification errors from queue */ -# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 - -/* Flags returned by SSL_check_chain */ -/* Certificate can be used with this session */ -# define CERT_PKEY_VALID 0x1 -/* Certificate can also be used for signing */ -# define CERT_PKEY_SIGN 0x2 -/* EE certificate signing algorithm OK */ -# define CERT_PKEY_EE_SIGNATURE 0x10 -/* CA signature algorithms OK */ -# define CERT_PKEY_CA_SIGNATURE 0x20 -/* EE certificate parameters OK */ -# define CERT_PKEY_EE_PARAM 0x40 -/* CA certificate parameters OK */ -# define CERT_PKEY_CA_PARAM 0x80 -/* Signing explicitly allowed as opposed to SHA1 fallback */ -# define CERT_PKEY_EXPLICIT_SIGN 0x100 -/* Client CA issuer names match (always set for server cert) */ -# define CERT_PKEY_ISSUER_NAME 0x200 -/* Cert type matches client types (always set for server cert) */ -# define CERT_PKEY_CERT_TYPE 0x400 -/* Cert chain suitable to Suite B */ -# define CERT_PKEY_SUITEB 0x800 - -# define SSL_CONF_FLAG_CMDLINE 0x1 -# define SSL_CONF_FLAG_FILE 0x2 -# define SSL_CONF_FLAG_CLIENT 0x4 -# define SSL_CONF_FLAG_SERVER 0x8 -# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 -# define SSL_CONF_FLAG_CERTIFICATE 0x20 -/* Configuration value types */ -# define SSL_CONF_TYPE_UNKNOWN 0x0 -# define SSL_CONF_TYPE_STRING 0x1 -# define SSL_CONF_TYPE_FILE 0x2 -# define SSL_CONF_TYPE_DIR 0x3 - -/* - * 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 DTLS_set_link_mtu(ssl, mtu) \ - SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) -# define DTLS_get_link_min_mtu(ssl) \ - SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) - -# define SSL_get_secure_renegotiation_support(ssl) \ - SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) - -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_heartbeat(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL) -# endif - -# define SSL_CTX_set_cert_flags(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) -# define SSL_set_cert_flags(s,op) \ - SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) -# define SSL_CTX_clear_cert_flags(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) -# define SSL_clear_cert_flags(s,op) \ - SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),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)) - -# ifndef OPENSSL_NO_SRP - -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct srp_ctx_st { - /* param for all the callbacks */ - void *SRP_cb_arg; - /* set client Hello login callback */ - int (*TLS_ext_srp_username_callback) (SSL *, int *, void *); - /* set SRP N/g param callback for verification */ - int (*SRP_verify_param_callback) (SSL *, void *); - /* set SRP client passwd callback */ - char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *); - char *login; - BIGNUM *N, *g, *s, *B, *A; - BIGNUM *a, *b, *v; - char *info; - int strength; - unsigned long srp_Mask; -} SRP_CTX; - -# endif - -/* see tls_srp.c */ -int SSL_SRP_CTX_init(SSL *s); -int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); -int SSL_SRP_CTX_free(SSL *ctx); -int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); -int SSL_srp_server_param_with_username(SSL *s, int *ad); -int SRP_generate_server_master_secret(SSL *s, unsigned char *master_key); -int SRP_Calc_A_param(SSL *s); -int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key); - -# endif - -# if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) -# define SSL_MAX_CERT_LIST_DEFAULT 1024*30 - /* 30k max cert list :-) */ -# else -# define SSL_MAX_CERT_LIST_DEFAULT 1024*100 - /* 100k max cert list :-) */ -# endif - -# 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; - -# ifndef OPENSSL_NO_SSL_INTERN - -struct ssl_comp_st { - int id; - const char *name; -# ifndef OPENSSL_NO_COMP - COMP_METHOD *method; -# else - char *method; -# endif -}; - -DECLARE_STACK_OF(SSL_COMP) -DECLARE_LHASH_OF(SSL_SESSION); - -struct ssl_ctx_st { - const SSL_METHOD *method; - STACK_OF(SSL_CIPHER) *cipher_list; - /* same as above but sorted for lookup */ - STACK_OF(SSL_CIPHER) *cipher_list_by_id; - struct x509_store_st /* X509_STORE */ *cert_store; - LHASH_OF(SSL_SESSION) *sessions; - /* - * Most session-ids that will be cached, default is - * SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited. - */ - unsigned long session_cache_size; - struct ssl_session_st *session_cache_head; - struct ssl_session_st *session_cache_tail; - /* - * This can have one of 2 values, ored together, SSL_SESS_CACHE_CLIENT, - * SSL_SESS_CACHE_SERVER, Default is SSL_SESSION_CACHE_SERVER, which - * means only SSL_accept which cache SSL_SESSIONS. - */ - int session_cache_mode; - /* - * If timeout is not 0, it is the default timeout value set when - * SSL_new() is called. This has been put in to make life easier to set - * things up - */ - long session_timeout; - /* - * If this callback is not null, it will be called each time a session id - * is added to the cache. If this function returns 1, it means that the - * callback will do a SSL_SESSION_free() when it has finished using it. - * Otherwise, on 0, it means the callback has finished with it. If - * remove_session_cb is not null, it will be called when a session-id is - * removed from the cache. After the call, OpenSSL will - * SSL_SESSION_free() it. - */ - int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess); - void (*remove_session_cb) (struct ssl_ctx_st *ctx, SSL_SESSION *sess); - SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl, - unsigned char *data, int len, int *copy); - struct { - int sess_connect; /* SSL new conn - started */ - int sess_connect_renegotiate; /* SSL reneg - requested */ - int sess_connect_good; /* SSL new conne/reneg - finished */ - int sess_accept; /* SSL new accept - started */ - int sess_accept_renegotiate; /* SSL reneg - requested */ - int sess_accept_good; /* SSL accept/reneg - finished */ - int sess_miss; /* session lookup misses */ - int sess_timeout; /* reuse attempt on timeouted session */ - int sess_cache_full; /* session removed due to full cache */ - int sess_hit; /* session reuse actually done */ - int sess_cb_hit; /* session-id that was not in the cache was - * passed back via the callback. This - * indicates that the application is - * supplying session-id's from other - * processes - spooky :-) */ - } stats; - - int references; - - /* if defined, these override the X509_verify_cert() calls */ - int (*app_verify_callback) (X509_STORE_CTX *, void *); - void *app_verify_arg; - /* - * before OpenSSL 0.9.7, 'app_verify_arg' was ignored - * ('app_verify_callback' was called with just one argument) - */ - - /* Default password callback. */ - pem_password_cb *default_passwd_callback; - - /* Default password callback user data. */ - void *default_passwd_callback_userdata; - - /* get client cert callback */ - int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey); - - /* cookie generate callback */ - int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie, - unsigned int *cookie_len); - - /* verify cookie callback */ - int (*app_verify_cookie_cb) (SSL *ssl, unsigned char *cookie, - unsigned int cookie_len); - - CRYPTO_EX_DATA ex_data; - - const EVP_MD *rsa_md5; /* For SSLv2 - name is 'ssl2-md5' */ - const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */ - const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */ - - STACK_OF(X509) *extra_certs; - STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */ - - /* Default values used when no per-SSL value is defined follow */ - - /* used if SSL's info_callback is NULL */ - void (*info_callback) (const SSL *ssl, int type, int val); - - /* what we put in client cert requests */ - STACK_OF(X509_NAME) *client_CA; - - /* - * Default values to use in SSL structures follow (these are copied by - * SSL_new) - */ - - unsigned long options; - unsigned long mode; - long max_cert_list; - - struct cert_st /* CERT */ *cert; - int read_ahead; - - /* callback that allows applications to peek at protocol messages */ - void (*msg_callback) (int write_p, int version, int content_type, - const void *buf, size_t len, SSL *ssl, void *arg); - void *msg_callback_arg; - - int verify_mode; - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - /* called 'verify_callback' in the SSL */ - int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx); - - /* Default generate session ID callback. */ - GEN_SESSION_CB generate_session_id; - - X509_VERIFY_PARAM *param; - -# if 0 - int purpose; /* Purpose setting */ - int trust; /* Trust setting */ -# endif - - int quiet_shutdown; - - /* - * Maximum amount of data to send in one fragment. actual record size can - * be more than this due to padding and MAC overheads. - */ - unsigned int max_send_fragment; - -# ifndef OPENSSL_NO_ENGINE - /* - * Engine to pass requests for client certs to - */ - ENGINE *client_cert_engine; -# endif - -# ifndef OPENSSL_NO_TLSEXT - /* TLS extensions servername callback */ - int (*tlsext_servername_callback) (SSL *, int *, void *); - void *tlsext_servername_arg; - /* RFC 4507 session ticket keys */ - unsigned char tlsext_tick_key_name[16]; - unsigned char tlsext_tick_hmac_key[16]; - unsigned char tlsext_tick_aes_key[16]; - /* Callback to support customisation of ticket key setting */ - int (*tlsext_ticket_key_cb) (SSL *ssl, - unsigned char *name, unsigned char *iv, - EVP_CIPHER_CTX *ectx, - HMAC_CTX *hctx, int enc); - - /* certificate status request info */ - /* Callback for status request */ - int (*tlsext_status_cb) (SSL *ssl, void *arg); - void *tlsext_status_arg; - - /* draft-rescorla-tls-opaque-prf-input-00.txt information */ - int (*tlsext_opaque_prf_input_callback) (SSL *, void *peerinput, - size_t len, void *arg); - void *tlsext_opaque_prf_input_callback_arg; -# endif - -# ifndef OPENSSL_NO_PSK - char *psk_identity_hint; - unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, - char *identity, - unsigned int max_identity_len, - unsigned char *psk, - unsigned int max_psk_len); - unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, - unsigned char *psk, - unsigned int max_psk_len); -# endif - -# ifndef OPENSSL_NO_BUF_FREELISTS -# define SSL_MAX_BUF_FREELIST_LEN_DEFAULT 32 - unsigned int freelist_max_len; - struct ssl3_buf_freelist_st *wbuf_freelist; - struct ssl3_buf_freelist_st *rbuf_freelist; -# endif -# ifndef OPENSSL_NO_SRP - SRP_CTX srp_ctx; /* ctx for SRP authentication */ -# endif - -# ifndef OPENSSL_NO_TLSEXT - -# ifndef OPENSSL_NO_NEXTPROTONEG - /* Next protocol negotiation information */ - /* (for experimental NPN extension). */ - - /* - * For a server, this contains a callback function by which the set of - * advertised protocols can be provided. - */ - int (*next_protos_advertised_cb) (SSL *s, const unsigned char **buf, - unsigned int *len, void *arg); - void *next_protos_advertised_cb_arg; - /* - * For a client, this contains a callback function that selects the next - * protocol from the list provided by the server. - */ - int (*next_proto_select_cb) (SSL *s, unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, void *arg); - void *next_proto_select_cb_arg; -# endif - /* SRTP profiles we are willing to do from RFC 5764 */ - STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; - - /* - * ALPN information (we are in the process of transitioning from NPN to - * ALPN.) - */ - - /*- - * For a server, this contains a callback function that allows the - * server to select the protocol for the connection. - * out: on successful return, this must point to the raw protocol - * name (without the length prefix). - * outlen: on successful return, this contains the length of |*out|. - * in: points to the client's list of supported protocols in - * wire-format. - * inlen: the length of |in|. - */ - int (*alpn_select_cb) (SSL *s, - const unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, void *arg); - void *alpn_select_cb_arg; - - /* - * For a client, this contains the list of supported protocols in wire - * format. - */ - unsigned char *alpn_client_proto_list; - unsigned alpn_client_proto_list_len; - -# ifndef OPENSSL_NO_EC - /* EC extension values inherited by SSL structure */ - size_t tlsext_ecpointformatlist_length; - unsigned char *tlsext_ecpointformatlist; - size_t tlsext_ellipticcurvelist_length; - unsigned char *tlsext_ellipticcurvelist; -# endif /* OPENSSL_NO_EC */ -# endif -}; - -# 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) - -LHASH_OF(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, - unsigned char - *data, int len, - int *copy)); -SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, - 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); -# ifndef OPENSSL_NO_ENGINE -int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); -# endif -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, - unsigned char - *cookie, - unsigned int - cookie_len)); -# ifndef OPENSSL_NO_NEXTPROTONEG -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); -void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, - unsigned *len); -# endif - -# ifndef OPENSSL_NO_TLSEXT -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); -# endif - -# 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 protos_len); -int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, - unsigned 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 *len); - -# ifndef OPENSSL_NO_PSK -/* - * the maximum length of the buffer given to callbacks containing the - * resulting identity/psk - */ -# define PSK_MAX_IDENTITY_LEN 128 -# define PSK_MAX_PSK_LEN 256 -void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, - unsigned int (*psk_client_callback) (SSL - *ssl, - const - char - *hint, - char - *identity, - unsigned - int - max_identity_len, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -void SSL_set_psk_client_callback(SSL *ssl, - unsigned int (*psk_client_callback) (SSL - *ssl, - const - char - *hint, - char - *identity, - unsigned - int - max_identity_len, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, - unsigned int (*psk_server_callback) (SSL - *ssl, - const - char - *identity, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -void SSL_set_psk_server_callback(SSL *ssl, - unsigned int (*psk_server_callback) (SSL - *ssl, - const - char - *identity, - unsigned - char - *psk, - unsigned - int - max_psk_len)); -int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); -int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); -const char *SSL_get_psk_identity_hint(const SSL *s); -const char *SSL_get_psk_identity(const SSL *s); -# endif - -# ifndef OPENSSL_NO_TLSEXT -/* Register callbacks to handle custom TLS Extensions for client or server. */ - -int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type, - custom_ext_add_cb add_cb, - custom_ext_free_cb free_cb, - void *add_arg, - custom_ext_parse_cb parse_cb, - void *parse_arg); - -int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type, - custom_ext_add_cb add_cb, - custom_ext_free_cb free_cb, - void *add_arg, - custom_ext_parse_cb parse_cb, - void *parse_arg); - -int SSL_extension_supported(unsigned int ext_type); - -# 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 - -# ifndef OPENSSL_NO_SSL_INTERN - -struct ssl_st { - /* - * protocol version (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, - * DTLS1_VERSION) - */ - int version; - /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ - int type; - /* SSLv3 */ - const SSL_METHOD *method; - /* - * There are 2 BIO's even though they are normally both the same. This - * is so data can be read and written to different handlers - */ -# ifndef OPENSSL_NO_BIO - /* used by SSL_read */ - BIO *rbio; - /* used by SSL_write */ - BIO *wbio; - /* used during session-id reuse to concatenate messages */ - BIO *bbio; -# else - /* used by SSL_read */ - char *rbio; - /* used by SSL_write */ - char *wbio; - char *bbio; -# endif - /* - * This holds a variable that indicates what we were doing when a 0 or -1 - * is returned. This is needed for non-blocking IO so we know what - * request needs re-doing when in SSL_accept or SSL_connect - */ - int rwstate; - /* true when we are actually in SSL_accept() or SSL_connect() */ - int in_handshake; - int (*handshake_func) (SSL *); - /* - * Imagine that here's a boolean member "init" that is switched as soon - * as SSL_set_{accept/connect}_state is called for the first time, so - * that "state" and "handshake_func" are properly initialized. But as - * handshake_func is == 0 until then, we use this test instead of an - * "init" member. - */ - /* are we the server side? - mostly used by SSL_clear */ - int server; - /* - * Generate a new session or reuse an old one. - * NB: For servers, the 'new' session may actually be a previously - * cached session or even the previous session unless - * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set - */ - int new_session; - /* don't send shutdown packets */ - int quiet_shutdown; - /* we have shut things down, 0x01 sent, 0x02 for received */ - int shutdown; - /* where we are */ - int state; - /* where we are when reading */ - int rstate; - BUF_MEM *init_buf; /* buffer used during init */ - void *init_msg; /* pointer to handshake message body, set by - * ssl3_get_message() */ - int init_num; /* amount read/written */ - int init_off; /* amount read/written */ - /* used internally to point at a raw packet */ - unsigned char *packet; - unsigned int packet_length; - struct ssl2_state_st *s2; /* SSLv2 variables */ - struct ssl3_state_st *s3; /* SSLv3 variables */ - struct dtls1_state_st *d1; /* DTLSv1 variables */ - int read_ahead; /* Read as many input bytes as possible (for - * non-blocking reads) */ - /* callback that allows applications to peek at protocol messages */ - void (*msg_callback) (int write_p, int version, int content_type, - const void *buf, size_t len, SSL *ssl, void *arg); - void *msg_callback_arg; - int hit; /* reusing a previous session */ - X509_VERIFY_PARAM *param; -# if 0 - int purpose; /* Purpose setting */ - int trust; /* Trust setting */ -# endif - /* crypto */ - STACK_OF(SSL_CIPHER) *cipher_list; - STACK_OF(SSL_CIPHER) *cipher_list_by_id; - /* - * These are the ones being used, the ones in SSL_SESSION are the ones to - * be 'copied' into these ones - */ - int mac_flags; - EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */ - EVP_MD_CTX *read_hash; /* used for mac generation */ -# ifndef OPENSSL_NO_COMP - COMP_CTX *expand; /* uncompress */ -# else - char *expand; -# endif - EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ - EVP_MD_CTX *write_hash; /* used for mac generation */ -# ifndef OPENSSL_NO_COMP - COMP_CTX *compress; /* compression */ -# else - char *compress; -# endif - /* session info */ - /* client cert? */ - /* This is used to hold the server certificate used */ - struct cert_st /* CERT */ *cert; - /* - * the session_id_context is used to ensure sessions are only reused in - * the appropriate context - */ - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - /* This can also be in the session once a session is established */ - SSL_SESSION *session; - /* Default generate session ID callback. */ - GEN_SESSION_CB generate_session_id; - /* Used in SSL2 and SSL3 */ - /* - * 0 don't care about verify failure. - * 1 fail if verify fails - */ - int verify_mode; - /* fail if callback returns 0 */ - int (*verify_callback) (int ok, X509_STORE_CTX *ctx); - /* optional informational callback */ - void (*info_callback) (const SSL *ssl, int type, int val); - /* error bytes to be written */ - int error; - /* actual code */ - int error_code; -# ifndef OPENSSL_NO_KRB5 - /* Kerberos 5 context */ - KSSL_CTX *kssl_ctx; -# endif /* OPENSSL_NO_KRB5 */ -# ifndef OPENSSL_NO_PSK - unsigned int (*psk_client_callback) (SSL *ssl, const char *hint, - char *identity, - unsigned int max_identity_len, - unsigned char *psk, - unsigned int max_psk_len); - unsigned int (*psk_server_callback) (SSL *ssl, const char *identity, - unsigned char *psk, - unsigned int max_psk_len); -# endif - SSL_CTX *ctx; - /* - * set this flag to 1 and a sleep(1) is put into all SSL_read() and - * SSL_write() calls, good for nbio debuging :-) - */ - int debug; - /* extra application data */ - long verify_result; - CRYPTO_EX_DATA ex_data; - /* for server side, keep the list of CA_dn we can use */ - STACK_OF(X509_NAME) *client_CA; - int references; - /* protocol behaviour */ - unsigned long options; - /* API behaviour */ - unsigned long mode; - long max_cert_list; - int first_packet; - /* what was passed, used for SSLv3/TLS rollback check */ - int client_version; - unsigned int max_send_fragment; -# ifndef OPENSSL_NO_TLSEXT - /* TLS extension debug callback */ - void (*tlsext_debug_cb) (SSL *s, int client_server, int type, - unsigned char *data, int len, void *arg); - void *tlsext_debug_arg; - char *tlsext_hostname; - /*- - * no further mod of servername - * 0 : call the servername extension callback. - * 1 : prepare 2, allow last ack just after in server callback. - * 2 : don't call servername callback, no ack in server hello - */ - int servername_done; - /* certificate status request info */ - /* Status type or -1 if no status type */ - int tlsext_status_type; - /* Expect OCSP CertificateStatus message */ - int tlsext_status_expected; - /* OCSP status request only */ - STACK_OF(OCSP_RESPID) *tlsext_ocsp_ids; - X509_EXTENSIONS *tlsext_ocsp_exts; - /* OCSP response received or to be sent */ - unsigned char *tlsext_ocsp_resp; - int tlsext_ocsp_resplen; - /* RFC4507 session ticket expected to be received or sent */ - int tlsext_ticket_expected; -# ifndef OPENSSL_NO_EC - size_t tlsext_ecpointformatlist_length; - /* our list */ - unsigned char *tlsext_ecpointformatlist; - size_t tlsext_ellipticcurvelist_length; - /* our list */ - unsigned char *tlsext_ellipticcurvelist; -# endif /* OPENSSL_NO_EC */ - /* - * draft-rescorla-tls-opaque-prf-input-00.txt information to be used for - * handshakes - */ - void *tlsext_opaque_prf_input; - size_t tlsext_opaque_prf_input_len; - /* TLS Session Ticket extension override */ - TLS_SESSION_TICKET_EXT *tlsext_session_ticket; - /* TLS Session Ticket extension callback */ - tls_session_ticket_ext_cb_fn tls_session_ticket_ext_cb; - void *tls_session_ticket_ext_cb_arg; - /* TLS pre-shared secret session resumption */ - tls_session_secret_cb_fn tls_session_secret_cb; - void *tls_session_secret_cb_arg; - SSL_CTX *initial_ctx; /* initial ctx, used to store sessions */ -# ifndef OPENSSL_NO_NEXTPROTONEG - /* - * Next protocol negotiation. For the client, this is the protocol that - * we sent in NextProtocol and is set when handling ServerHello - * extensions. For a server, this is the client's selected_protocol from - * NextProtocol and is set when handling the NextProtocol message, before - * the Finished message. - */ - unsigned char *next_proto_negotiated; - unsigned char next_proto_negotiated_len; -# endif -# define session_ctx initial_ctx - /* What we'll do */ - STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; - /* What's been chosen */ - SRTP_PROTECTION_PROFILE *srtp_profile; - /*- - * Is use of the Heartbeat extension negotiated? - * 0: disabled - * 1: enabled - * 2: enabled, but not allowed to send Requests - */ - unsigned int tlsext_heartbeat; - /* Indicates if a HeartbeatRequest is in flight */ - unsigned int tlsext_hb_pending; - /* HeartbeatRequest sequence number */ - unsigned int tlsext_hb_seq; -# else -# define session_ctx ctx -# endif /* OPENSSL_NO_TLSEXT */ - /*- - * 1 if we are renegotiating. - * 2 if we are a server and are inside a handshake - * (i.e. not just sending a HelloRequest) - */ - int renegotiate; -# ifndef OPENSSL_NO_SRP - /* ctx for SRP authentication */ - SRP_CTX srp_ctx; -# endif -# ifndef OPENSSL_NO_TLSEXT - /* - * For a client, this contains the list of supported protocols in wire - * format. - */ - unsigned char *alpn_client_proto_list; - unsigned alpn_client_proto_list_len; -# endif /* OPENSSL_NO_TLSEXT */ -}; - -# endif - -#ifdef __cplusplus -} -#endif - -# include -# include -# include /* This is mostly sslv3 with a few tweaks */ -# include /* Datagram TLS */ -# include -# 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_ST_ERR 0x05 - -# 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 - -# define OpenSSL_add_ssl_algorithms() SSL_library_init() -# define SSLeay_add_ssl_algorithms() SSL_library_init() - -/* this is for backward compatibility */ -# if 0 /* NEW_SSLEAY */ -# define SSL_CTX_set_default_verify(a,b,c) SSL_CTX_set_verify(a,b,c) -# define SSL_set_pref_cipher(c,n) SSL_set_cipher_list(c,n) -# define SSL_add_session(a,b) SSL_CTX_add_session((a),(b)) -# define SSL_remove_session(a,b) SSL_CTX_remove_session((a),(b)) -# define SSL_flush_sessions(a,b) SSL_CTX_flush_sessions((a),(b)) -# endif -/* 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) - -DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) -# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value - * from SSL_AD_... */ -/* These alert types are for SSLv3 and TLSv1 */ -# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY -/* fatal */ -# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE -/* fatal */ -# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC -# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED -# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW -/* fatal */ -# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE -/* fatal */ -# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE -/* Not for TLS */ -# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE -# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE -# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE -# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED -# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED -# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN -/* fatal */ -# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER -/* fatal */ -# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA -/* fatal */ -# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED -/* fatal */ -# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR -# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR -/* fatal */ -# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION -/* fatal */ -# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION -/* fatal */ -# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY -/* fatal */ -# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR -# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED -# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION -# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION -# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE -# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME -# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE -# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE -/* fatal */ -# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY -/* fatal */ -# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK -# 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/* look at error stack/return - * value/errno */ -# define SSL_ERROR_ZERO_RETURN 6 -# define SSL_ERROR_WANT_CONNECT 7 -# define SSL_ERROR_WANT_ACCEPT 8 -# 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 */ -# ifndef OPENSSL_NO_TLSEXT -# 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_SET_TLSEXT_OPAQUE_PRF_INPUT 60 -# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 -# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 -# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 -# 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 -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT 85 -# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING 86 -# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS 87 -# endif -# endif /* OPENSSL_NO_TLSEXT */ -# 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_GET_CURVES 90 -# define SSL_CTRL_SET_CURVES 91 -# define SSL_CTRL_SET_CURVES_LIST 92 -# define SSL_CTRL_GET_SHARED_CURVE 93 -# define SSL_CTRL_SET_ECDH_AUTO 94 -# define SSL_CTRL_SET_SIGALGS 97 -# define SSL_CTRL_SET_SIGALGS_LIST 98 -# define SSL_CTRL_CERT_FLAGS 99 -# define SSL_CTRL_CLEAR_CERT_FLAGS 100 -# define SSL_CTRL_SET_CLIENT_SIGALGS 101 -# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 -# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 -# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 -# define SSL_CTRL_BUILD_CERT_CHAIN 105 -# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 -# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 -# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 -# define SSL_CTRL_GET_SERVER_TMP_KEY 109 -# define SSL_CTRL_GET_RAW_CIPHERLIST 110 -# define SSL_CTRL_GET_EC_POINT_FORMATS 111 -# define SSL_CTRL_GET_CHAIN_CERTS 115 -# define SSL_CTRL_SELECT_CURRENT_CERT 116 -# define SSL_CTRL_SET_CURRENT_CERT 117 -# define SSL_CTRL_CHECK_PROTO_VERSION 119 -# define DTLS_CTRL_SET_LINK_MTU 120 -# define DTLS_CTRL_GET_LINK_MIN_MTU 121 -# define SSL_CERT_SET_FIRST 1 -# define SSL_CERT_SET_NEXT 2 -# define SSL_CERT_SET_SERVER 3 -# 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_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_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_CTX_set0_chain(ctx,sk) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) -# define SSL_CTX_set1_chain(ctx,sk) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) -# define SSL_CTX_add0_chain_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) -# define SSL_CTX_add1_chain_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) -# define SSL_CTX_get0_chain_certs(ctx,px509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) -# define SSL_CTX_clear_chain_certs(ctx) \ - SSL_CTX_set0_chain(ctx,NULL) -# define SSL_CTX_build_cert_chain(ctx, flags) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) -# define SSL_CTX_select_current_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) -# define SSL_CTX_set_current_cert(ctx, op) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) -# define SSL_CTX_set0_verify_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) -# define SSL_CTX_set1_verify_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) -# define SSL_CTX_set0_chain_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) -# define SSL_CTX_set1_chain_cert_store(ctx,st) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) -# define SSL_set0_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)sk) -# define SSL_set1_chain(ctx,sk) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)sk) -# define SSL_add0_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)x509) -# define SSL_add1_chain_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)x509) -# define SSL_get0_chain_certs(ctx,px509) \ - SSL_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) -# define SSL_clear_chain_certs(ctx) \ - SSL_set0_chain(ctx,NULL) -# define SSL_build_cert_chain(s, flags) \ - SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) -# define SSL_select_current_cert(ctx,x509) \ - SSL_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)x509) -# define SSL_set_current_cert(ctx,op) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) -# define SSL_set0_verify_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)st) -# define SSL_set1_verify_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)st) -# define SSL_set0_chain_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)st) -# define SSL_set1_chain_cert_store(s,st) \ - SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)st) -# define SSL_get1_curves(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_GET_CURVES,0,(char *)s) -# define SSL_CTX_set1_curves(ctx, clist, clistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) -# define SSL_CTX_set1_curves_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) -# define SSL_set1_curves(ctx, clist, clistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURVES,clistlen,(char *)clist) -# define SSL_set1_curves_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CURVES_LIST,0,(char *)s) -# define SSL_get_shared_curve(s, n) \ - SSL_ctrl(s,SSL_CTRL_GET_SHARED_CURVE,n,NULL) -# define SSL_CTX_set_ecdh_auto(ctx, onoff) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) -# define SSL_set_ecdh_auto(s, onoff) \ - SSL_ctrl(s,SSL_CTRL_SET_ECDH_AUTO,onoff,NULL) -# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) -# define SSL_CTX_set1_sigalgs_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) -# define SSL_set1_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)slist) -# define SSL_set1_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)s) -# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)slist) -# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) -# define SSL_set1_client_sigalgs(ctx, slist, slistlen) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,clistlen,(int *)slist) -# define SSL_set1_client_sigalgs_list(ctx, s) \ - SSL_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)s) -# define SSL_get0_certificate_types(s, clist) \ - SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)clist) -# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) -# define SSL_set1_client_certificate_types(s, clist, clistlen) \ - SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)clist) -# define SSL_get_peer_signature_nid(s, pn) \ - SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) -# define SSL_get_server_tmp_key(s, pk) \ - SSL_ctrl(s,SSL_CTRL_GET_SERVER_TMP_KEY,0,pk) -# define SSL_get0_raw_cipherlist(s, plst) \ - SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,(char *)plst) -# define SSL_get0_ec_point_formats(s, plst) \ - SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,(char *)plst) -# ifndef OPENSSL_NO_BIO -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); - -# endif - -int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); -SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); -void SSL_CTX_free(SSL_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 *); -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); -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); - -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); -# ifndef OPENSSL_NO_SOCK -int SSL_set_fd(SSL *s, int fd); -int SSL_set_rfd(SSL *s, int fd); -int SSL_set_wfd(SSL *s, int fd); -# endif -# ifndef OPENSSL_NO_BIO -void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); -BIO *SSL_get_rbio(const SSL *s); -BIO *SSL_get_wbio(const SSL *s); -# endif -int SSL_set_cipher_list(SSL *s, const char *str); -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); -void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); -# ifndef OPENSSL_NO_RSA -int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); -# endif -int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, 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); - -# ifndef OPENSSL_NO_TLSEXT -/* Set serverinfo data for the current active cert. */ -int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, - size_t serverinfo_length); -# ifndef OPENSSL_NO_STDIO -int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); -# endif /* NO_STDIO */ - -# endif - -# ifndef OPENSSL_NO_STDIO -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_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); -/* PEM type */ -int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); -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); -# ifndef OPENSSL_SYS_VMS -/* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */ -# ifndef OPENSSL_SYS_MACINTOSH_CLASSIC -int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *dir); -# endif -# endif - -# endif - -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); -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); -void SSL_copy_session_id(SSL *to, const SSL *from); -X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); -int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx, - unsigned int sid_ctx_len); - -SSL_SESSION *SSL_SESSION_new(void); -const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, - unsigned int *len); -unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); -# ifndef OPENSSL_NO_FP_API -int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); -# endif -# ifndef OPENSSL_NO_BIO -int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); -# endif -void SSL_SESSION_free(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); -void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), - void *arg); -# ifndef OPENSSL_NO_RSA -int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); -# endif -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); - -void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); -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); - -SSL *SSL_new(SSL_CTX *ctx); -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_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); -int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); - -X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); -X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); - -# ifndef OPENSSL_NO_SRP -int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); -int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); -int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); -int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, - char *(*cb) (SSL *, void *)); -int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, - int (*cb) (SSL *, void *)); -int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, - int (*cb) (SSL *, int *, void *)); -int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); - -int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, - BIGNUM *sa, BIGNUM *v, char *info); -int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, - const char *grp); - -BIGNUM *SSL_get_srp_g(SSL *s); -BIGNUM *SSL_get_srp_N(SSL *s); - -char *SSL_get_srp_username(SSL *s); -char *SSL_get_srp_userinfo(SSL *s); -# endif - -void SSL_certs_clear(SSL *s); -void SSL_free(SSL *ssl); -int SSL_accept(SSL *ssl); -int SSL_connect(SSL *ssl); -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); -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); - -# ifndef OPENSSL_NO_SSL2_METHOD -const SSL_METHOD *SSLv2_method(void); /* SSLv2 */ -const SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */ -const SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */ -# endif - -# ifndef OPENSSL_NO_SSL3_METHOD -const SSL_METHOD *SSLv3_method(void); /* SSLv3 */ -const SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */ -const SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */ -# endif - -const SSL_METHOD *SSLv23_method(void); /* Negotiate highest available SSL/TLS - * version */ -const SSL_METHOD *SSLv23_server_method(void); /* Negotiate highest available - * SSL/TLS version */ -const SSL_METHOD *SSLv23_client_method(void); /* Negotiate highest available - * SSL/TLS version */ - -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 *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 1.0 and 1.2 */ -const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ -const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ - -STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const 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_CTX_get_ssl_method(SSL_CTX *ctx); -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); - -int SSL_library_init(void); - -char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); -STACK_OF(X509_NAME) *SSL_dup_CA_list(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); - -X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); -EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); - -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); -# 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 */ -# ifndef OPENSSL_NO_RSA -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)); -# endif -# ifndef OPENSSL_NO_DH -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)); -# endif -# ifndef OPENSSL_NO_ECDH -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)); -# endif - -const COMP_METHOD *SSL_get_current_compression(SSL *s); -const COMP_METHOD *SSL_get_current_expansion(SSL *s); -const char *SSL_COMP_get_name(const COMP_METHOD *comp); -STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); -STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) - *meths); -void SSL_COMP_free_compression_methods(void); -int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); - -const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); - -/* 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); - -void SSL_set_debug(SSL *s, int debug); -int SSL_cache_hit(SSL *s); -int SSL_is_server(SSL *s); - -SSL_CONF_CTX *SSL_CONF_CTX_new(void); -int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); -void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); -unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); -unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned int flags); -int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); - -void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); -void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); - -int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); -int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); -int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); - -# ifndef OPENSSL_NO_SSL_TRACE -void SSL_trace(int write_p, int version, int content_type, - const void *buf, size_t len, SSL *ssl, void *arg); -const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); -# endif - -# ifndef OPENSSL_NO_UNIT_TEST -const struct openssl_ssl_test_functions *SSL_test_functions(void); -# endif - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_SSL_strings(void); - -/* Error codes for the SSL functions. */ - -/* Function codes. */ -# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 -# 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_BUFFERED_RECORDS 424 -# 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_STATIC_DH_KEY 340 -# 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_CHECK_FINISHED 339 -# 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_GENERATE_MASTER_SECRET 388 -# 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_CERT_CHAIN 318 -# define SSL_F_SSL_ADD_CERT_TO_BUF 319 -# 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_BUILD_CERT_CHAIN 332 -# 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_CONF_CMD 334 -# 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_CTX_USE_SERVERINFO 336 -# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 -# 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_CERT_INDEX 322 -# 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_SCAN_CLIENTHELLO_TLSEXT 320 -# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 -# define SSL_F_SSL_SESSION_DUP 348 -# 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_TLS12_CHECK_PEER_SIGALG 333 -# define SSL_F_TLS1_CERT_VERIFY_MAC 286 -# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 -# 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_GET_CURVELIST 338 -# 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_TLS1_SET_SERVER_SIGALGS 335 -# 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 390 -# 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_G_VALUE 375 -# define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 -# define SSL_R_BAD_DH_PUB_KEY_VALUE 393 -# define SSL_R_BAD_DH_P_LENGTH 110 -# define SSL_R_BAD_DH_P_VALUE 395 -# 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_PARAMETERS 371 -# 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_VALUE 384 -# 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_CCS_RECEIVED_EARLY 133 -# define SSL_R_CERTIFICATE_VERIFY_FAILED 134 -# define SSL_R_CERT_CB_ERROR 377 -# 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_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 372 -# 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_ECDH_REQUIRED_FOR_SUITEB_MODE 374 -# define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 -# 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_ILLEGAL_SUITEB_DIGEST 380 -# 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_NULL_CMD_NAME 385 -# define SSL_R_INVALID_PURPOSE 278 -# define SSL_R_INVALID_SERVERINFO_DATA 388 -# 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_ECDH_CERT 382 -# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381 -# 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_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_GOST_CERTIFICATE_SENT_BY_PEER 330 -# define SSL_R_NO_METHOD_SPECIFIED 188 -# define SSL_R_NO_PEM_EXTENSIONS 389 -# 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_SHARED_SIGATURE_ALGORITHMS 376 -# 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_DTLS_1_2_ALLOWED_IN_SUITEB_MODE 387 -# define SSL_R_ONLY_TLS_1_2_ALLOWED_IN_SUITEB_MODE 379 -# define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 -# define SSL_R_OPAQUE_PRF_INPUT_TOO_LONG 327 -# 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_PEM_NAME_BAD_PREFIX 391 -# define SSL_R_PEM_NAME_TOO_SHORT 392 -# 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_SHUTDOWN_WHILE_IN_INIT 407 -# 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_TLSV1_ALERT_ACCESS_DENIED 1049 -# 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_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_TOO_MANY_WARN_ALERTS 409 -# define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235 -# 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_CMD_NAME 386 -# 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_WRITE_BIO_NOT_SET 260 -# define SSL_R_WRONG_CERTIFICATE_TYPE 383 -# 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 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ssl2.h b/src/components/openssl/ssl2.h deleted file mode 100644 index 03c7dd8..0000000 --- a/src/components/openssl/ssl2.h +++ /dev/null @@ -1,265 +0,0 @@ -/* ssl/ssl2.h */ -/* 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_SSL2_H -# define HEADER_SSL2_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Protocol Version Codes */ -# define SSL2_VERSION 0x0002 -# define SSL2_VERSION_MAJOR 0x00 -# define SSL2_VERSION_MINOR 0x02 -/* #define SSL2_CLIENT_VERSION 0x0002 */ -/* #define SSL2_SERVER_VERSION 0x0002 */ - -/* Protocol Message Codes */ -# define SSL2_MT_ERROR 0 -# define SSL2_MT_CLIENT_HELLO 1 -# define SSL2_MT_CLIENT_MASTER_KEY 2 -# define SSL2_MT_CLIENT_FINISHED 3 -# define SSL2_MT_SERVER_HELLO 4 -# define SSL2_MT_SERVER_VERIFY 5 -# define SSL2_MT_SERVER_FINISHED 6 -# define SSL2_MT_REQUEST_CERTIFICATE 7 -# define SSL2_MT_CLIENT_CERTIFICATE 8 - -/* Error Message Codes */ -# define SSL2_PE_UNDEFINED_ERROR 0x0000 -# define SSL2_PE_NO_CIPHER 0x0001 -# define SSL2_PE_NO_CERTIFICATE 0x0002 -# define SSL2_PE_BAD_CERTIFICATE 0x0004 -# define SSL2_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006 - -/* Cipher Kind Values */ -# define SSL2_CK_NULL_WITH_MD5 0x02000000/* v3 */ -# define SSL2_CK_RC4_128_WITH_MD5 0x02010080 -# define SSL2_CK_RC4_128_EXPORT40_WITH_MD5 0x02020080 -# define SSL2_CK_RC2_128_CBC_WITH_MD5 0x02030080 -# define SSL2_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x02040080 -# define SSL2_CK_IDEA_128_CBC_WITH_MD5 0x02050080 -# define SSL2_CK_DES_64_CBC_WITH_MD5 0x02060040 -# define SSL2_CK_DES_64_CBC_WITH_SHA 0x02060140/* v3 */ -# define SSL2_CK_DES_192_EDE3_CBC_WITH_MD5 0x020700c0 -# define SSL2_CK_DES_192_EDE3_CBC_WITH_SHA 0x020701c0/* v3 */ -# define SSL2_CK_RC4_64_WITH_MD5 0x02080080/* MS hack */ - -# define SSL2_CK_DES_64_CFB64_WITH_MD5_1 0x02ff0800/* SSLeay */ -# define SSL2_CK_NULL 0x02ff0810/* SSLeay */ - -# define SSL2_TXT_DES_64_CFB64_WITH_MD5_1 "DES-CFB-M1" -# define SSL2_TXT_NULL_WITH_MD5 "NULL-MD5" -# define SSL2_TXT_RC4_128_WITH_MD5 "RC4-MD5" -# define SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 "EXP-RC4-MD5" -# define SSL2_TXT_RC2_128_CBC_WITH_MD5 "RC2-CBC-MD5" -# define SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 "EXP-RC2-CBC-MD5" -# define SSL2_TXT_IDEA_128_CBC_WITH_MD5 "IDEA-CBC-MD5" -# define SSL2_TXT_DES_64_CBC_WITH_MD5 "DES-CBC-MD5" -# define SSL2_TXT_DES_64_CBC_WITH_SHA "DES-CBC-SHA" -# define SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 "DES-CBC3-MD5" -# define SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA "DES-CBC3-SHA" -# define SSL2_TXT_RC4_64_WITH_MD5 "RC4-64-MD5" - -# define SSL2_TXT_NULL "NULL" - -/* Flags for the SSL_CIPHER.algorithm2 field */ -# define SSL2_CF_5_BYTE_ENC 0x01 -# define SSL2_CF_8_BYTE_ENC 0x02 - -/* Certificate Type Codes */ -# define SSL2_CT_X509_CERTIFICATE 0x01 - -/* Authentication Type Code */ -# define SSL2_AT_MD5_WITH_RSA_ENCRYPTION 0x01 - -# define SSL2_MAX_SSL_SESSION_ID_LENGTH 32 - -/* Upper/Lower Bounds */ -# define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256 -# ifdef OPENSSL_SYS_MPE -# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 29998u -# else -# define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 32767u - /* 2^15-1 */ -# endif -# define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383/* 2^14-1 */ - -# define SSL2_CHALLENGE_LENGTH 16 -/* - * #define SSL2_CHALLENGE_LENGTH 32 - */ -# define SSL2_MIN_CHALLENGE_LENGTH 16 -# define SSL2_MAX_CHALLENGE_LENGTH 32 -# define SSL2_CONNECTION_ID_LENGTH 16 -# define SSL2_MAX_CONNECTION_ID_LENGTH 16 -# define SSL2_SSL_SESSION_ID_LENGTH 16 -# define SSL2_MAX_CERT_CHALLENGE_LENGTH 32 -# define SSL2_MIN_CERT_CHALLENGE_LENGTH 16 -# define SSL2_MAX_KEY_MATERIAL_LENGTH 24 - -# ifndef HEADER_SSL_LOCL_H -# define CERT char -# endif - -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl2_state_st { - int three_byte_header; - int clear_text; /* clear text */ - int escape; /* not used in SSLv2 */ - int ssl2_rollback; /* used if SSLv23 rolled back to SSLv2 */ - /* - * non-blocking io info, used to make sure the same args were passwd - */ - unsigned int wnum; /* number of bytes sent so far */ - int wpend_tot; - const unsigned char *wpend_buf; - int wpend_off; /* offset to data to write */ - int wpend_len; /* number of bytes passwd to write */ - int wpend_ret; /* number of bytes to return to caller */ - /* buffer raw data */ - int rbuf_left; - int rbuf_offs; - unsigned char *rbuf; - unsigned char *wbuf; - unsigned char *write_ptr; /* used to point to the start due to 2/3 byte - * header. */ - unsigned int padding; - unsigned int rlength; /* passed to ssl2_enc */ - int ract_data_length; /* Set when things are encrypted. */ - unsigned int wlength; /* passed to ssl2_enc */ - int wact_data_length; /* Set when things are decrypted. */ - unsigned char *ract_data; - unsigned char *wact_data; - unsigned char *mac_data; - unsigned char *read_key; - unsigned char *write_key; - /* Stuff specifically to do with this SSL session */ - unsigned int challenge_length; - unsigned char challenge[SSL2_MAX_CHALLENGE_LENGTH]; - unsigned int conn_id_length; - unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH]; - unsigned int key_material_length; - unsigned char key_material[SSL2_MAX_KEY_MATERIAL_LENGTH * 2]; - unsigned long read_sequence; - unsigned long write_sequence; - struct { - unsigned int conn_id_length; - unsigned int cert_type; - unsigned int cert_length; - unsigned int csl; - unsigned int clear; - unsigned int enc; - unsigned char ccl[SSL2_MAX_CERT_CHALLENGE_LENGTH]; - unsigned int cipher_spec_length; - unsigned int session_id_length; - unsigned int clen; - unsigned int rlen; - } tmp; -} SSL2_STATE; - -# endif - -/* SSLv2 */ -/* client */ -# define SSL2_ST_SEND_CLIENT_HELLO_A (0x10|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_HELLO_B (0x11|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_HELLO_A (0x20|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_HELLO_B (0x21|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_MASTER_KEY_A (0x30|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_MASTER_KEY_B (0x31|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_FINISHED_A (0x40|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_FINISHED_B (0x41|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_A (0x50|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_B (0x51|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_C (0x52|SSL_ST_CONNECT) -# define SSL2_ST_SEND_CLIENT_CERTIFICATE_D (0x53|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_VERIFY_A (0x60|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_VERIFY_B (0x61|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_FINISHED_A (0x70|SSL_ST_CONNECT) -# define SSL2_ST_GET_SERVER_FINISHED_B (0x71|SSL_ST_CONNECT) -# define SSL2_ST_CLIENT_START_ENCRYPTION (0x80|SSL_ST_CONNECT) -# define SSL2_ST_X509_GET_CLIENT_CERTIFICATE (0x90|SSL_ST_CONNECT) -/* server */ -# define SSL2_ST_GET_CLIENT_HELLO_A (0x10|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_HELLO_B (0x11|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_HELLO_C (0x12|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_HELLO_A (0x20|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_HELLO_B (0x21|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_MASTER_KEY_A (0x30|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_MASTER_KEY_B (0x31|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_VERIFY_A (0x40|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_VERIFY_B (0x41|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_VERIFY_C (0x42|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_FINISHED_A (0x50|SSL_ST_ACCEPT) -# define SSL2_ST_GET_CLIENT_FINISHED_B (0x51|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_FINISHED_A (0x60|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_SERVER_FINISHED_B (0x61|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_A (0x70|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_B (0x71|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_C (0x72|SSL_ST_ACCEPT) -# define SSL2_ST_SEND_REQUEST_CERTIFICATE_D (0x73|SSL_ST_ACCEPT) -# define SSL2_ST_SERVER_START_ENCRYPTION (0x80|SSL_ST_ACCEPT) -# define SSL2_ST_X509_GET_SERVER_CERTIFICATE (0x90|SSL_ST_ACCEPT) - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ssl23.h b/src/components/openssl/ssl23.h deleted file mode 100644 index 9de4685..0000000 --- a/src/components/openssl/ssl23.h +++ /dev/null @@ -1,84 +0,0 @@ -/* ssl/ssl23.h */ -/* 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_SSL23_H -# define HEADER_SSL23_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * client - */ -/* write to server */ -# define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) -# define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) -/* read from server */ -# define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) -# define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) - -/* server */ -/* read from client */ -# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) -# define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ssl3.h b/src/components/openssl/ssl3.h deleted file mode 100644 index 5a2ffb2..0000000 --- a/src/components/openssl/ssl3.h +++ /dev/null @@ -1,774 +0,0 @@ -/* ssl/ssl3.h */ -/* 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 - -# ifndef OPENSSL_NO_COMP -# include -# endif -# include -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Signalling cipher suite value from RFC 5746 - * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) - */ -# define SSL3_CK_SCSV 0x030000FF - -/* - * Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00 - * (TLS_FALLBACK_SCSV) - */ -# 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_DHE_DSS_DES_40_CBC_SHA SSL3_CK_EDH_DSS_DES_40_CBC_SHA -# define SSL3_CK_EDH_DSS_DES_64_CBC_SHA 0x03000012 -# define SSL3_CK_DHE_DSS_DES_64_CBC_SHA SSL3_CK_EDH_DSS_DES_64_CBC_SHA -# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 -# define SSL3_CK_DHE_DSS_DES_192_CBC3_SHA SSL3_CK_EDH_DSS_DES_192_CBC3_SHA -# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 -# define SSL3_CK_DHE_RSA_DES_40_CBC_SHA SSL3_CK_EDH_RSA_DES_40_CBC_SHA -# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 -# define SSL3_CK_DHE_RSA_DES_64_CBC_SHA SSL3_CK_EDH_RSA_DES_64_CBC_SHA -# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 -# define SSL3_CK_DHE_RSA_DES_192_CBC3_SHA SSL3_CK_EDH_RSA_DES_192_CBC3_SHA - -# 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 - -# if 0 -# define SSL3_CK_FZA_DMS_NULL_SHA 0x0300001C -# define SSL3_CK_FZA_DMS_FZA_SHA 0x0300001D -# if 0 /* Because it clashes with KRB5, is never - * used any more, and is safe to remove - * according to David Hopwood - * of the - * ietf-tls list */ -# define SSL3_CK_FZA_DMS_RC4_SHA 0x0300001E -# endif -# endif - -/* - * 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_DHE_DSS_DES_40_CBC_SHA "EXP-DHE-DSS-DES-CBC-SHA" -# define SSL3_TXT_DHE_DSS_DES_64_CBC_SHA "DHE-DSS-DES-CBC-SHA" -# define SSL3_TXT_DHE_DSS_DES_192_CBC3_SHA "DHE-DSS-DES-CBC3-SHA" -# define SSL3_TXT_DHE_RSA_DES_40_CBC_SHA "EXP-DHE-RSA-DES-CBC-SHA" -# define SSL3_TXT_DHE_RSA_DES_64_CBC_SHA "DHE-RSA-DES-CBC-SHA" -# define SSL3_TXT_DHE_RSA_DES_192_CBC3_SHA "DHE-RSA-DES-CBC3-SHA" - -/* - * This next block of six "EDH" labels is for backward compatibility with - * older versions of OpenSSL. New code should use the six "DHE" labels above - * instead: - */ -# 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" - -# if 0 -# define SSL3_TXT_FZA_DMS_NULL_SHA "FZA-NULL-SHA" -# define SSL3_TXT_FZA_DMS_FZA_SHA "FZA-FZA-CBC-SHA" -# define SSL3_TXT_FZA_DMS_RC4_SHA "FZA-RC4-SHA" -# endif - -# 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_SESSION_ID_SIZE 32 -# define SSL3_RT_HEADER_LENGTH 5 - -# define SSL3_HM_HEADER_LENGTH 4 - -# ifndef SSL3_ALIGN_PAYLOAD - /* - * Some will argue that this increases memory footprint, but it's not - * actually true. Point is that malloc has to return at least 64-bit aligned - * pointers, meaning that allocating 5 bytes wastes 3 bytes in either case. - * Suggested pre-gaping simply moves these wasted bytes from the end of - * allocated region to its front, but makes data payload aligned, which - * improves performance:-) - */ -# define SSL3_ALIGN_PAYLOAD 8 -# else -# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 -# error "insane SSL3_ALIGN_PAYLOAD" -# undef SSL3_ALIGN_PAYLOAD -# endif -# endif - -/* - * 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 */ - -# ifdef OPENSSL_NO_COMP -# define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH -# else -# define SSL3_RT_MAX_COMPRESSED_LENGTH \ - (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) -# endif -# 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 TLS1_RT_HEARTBEAT 24 - -/* Pseudo content types to indicate additional parameters */ -# define TLS1_RT_CRYPTO 0x1000 -# define TLS1_RT_CRYPTO_PREMASTER (TLS1_RT_CRYPTO | 0x1) -# define TLS1_RT_CRYPTO_CLIENT_RANDOM (TLS1_RT_CRYPTO | 0x2) -# define TLS1_RT_CRYPTO_SERVER_RANDOM (TLS1_RT_CRYPTO | 0x3) -# define TLS1_RT_CRYPTO_MASTER (TLS1_RT_CRYPTO | 0x4) - -# define TLS1_RT_CRYPTO_READ 0x0000 -# define TLS1_RT_CRYPTO_WRITE 0x0100 -# define TLS1_RT_CRYPTO_MAC (TLS1_RT_CRYPTO | 0x5) -# define TLS1_RT_CRYPTO_KEY (TLS1_RT_CRYPTO | 0x6) -# define TLS1_RT_CRYPTO_IV (TLS1_RT_CRYPTO | 0x7) -# define TLS1_RT_CRYPTO_FIXED_IV (TLS1_RT_CRYPTO | 0x8) - -/* Pseudo content type for SSL/TLS header info */ -# define SSL3_RT_HEADER 0x100 - -# define SSL3_AL_WARNING 1 -# define SSL3_AL_FATAL 2 - -# 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 */ - -# define TLS1_HB_REQUEST 1 -# define TLS1_HB_RESPONSE 2 - -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl3_record_st { - /* type of record */ - /* - * r - */ int type; - /* How many bytes available */ - /* - * rw - */ unsigned int length; - /* read/write offset into 'buf' */ - /* - * r - */ unsigned int off; - /* pointer to the record data */ - /* - * rw - */ unsigned char *data; - /* where the decode bytes are */ - /* - * rw - */ unsigned char *input; - /* only used with decompression - malloc()ed */ - /* - * r - */ unsigned char *comp; - /* epoch number, needed by DTLS1 */ - /* - * r - */ unsigned long epoch; - /* sequence number, needed by DTLS1 */ - /* - * r - */ unsigned char seq_num[8]; -} SSL3_RECORD; - -typedef struct ssl3_buffer_st { - /* at least SSL3_RT_MAX_PACKET_SIZE bytes, see ssl3_setup_buffers() */ - unsigned char *buf; - /* buffer size */ - size_t len; - /* where to 'copy from' */ - int offset; - /* how many bytes left */ - int left; -} SSL3_BUFFER; - -# endif - -# define SSL3_CT_RSA_SIGN 1 -# define SSL3_CT_DSS_SIGN 2 -# define SSL3_CT_RSA_FIXED_DH 3 -# define SSL3_CT_DSS_FIXED_DH 4 -# define SSL3_CT_RSA_EPHEMERAL_DH 5 -# define SSL3_CT_DSS_EPHEMERAL_DH 6 -# define SSL3_CT_FORTEZZA_DMS 20 -/* - * SSL3_CT_NUMBER is used to size arrays and it must be large enough to - * contain all of the cert types defined either for SSLv3 and TLSv1. - */ -# define SSL3_CT_NUMBER 9 - -# define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 -# define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002 -# define SSL3_FLAGS_POP_BUFFER 0x0004 -# define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 -# define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 -# define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020 -/* - * Set when the handshake is ready to process peer's ChangeCipherSpec message. - * Cleared after the message has been processed. - */ -# define SSL3_FLAGS_CCS_OK 0x0080 - -/* SSL3_FLAGS_SGC_RESTART_DONE is no longer used */ -# define SSL3_FLAGS_SGC_RESTART_DONE 0x0040 - -# ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl3_state_st { - long flags; - int delay_buf_pop_ret; - unsigned char read_sequence[8]; - int read_mac_secret_size; - unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; - unsigned char write_sequence[8]; - int write_mac_secret_size; - unsigned char write_mac_secret[EVP_MAX_MD_SIZE]; - unsigned char server_random[SSL3_RANDOM_SIZE]; - unsigned char client_random[SSL3_RANDOM_SIZE]; - /* flags for countermeasure against known-IV weakness */ - int need_empty_fragments; - int empty_fragment_done; - /* The value of 'extra' when the buffers were initialized */ - int init_extra; - SSL3_BUFFER rbuf; /* read IO goes into here */ - SSL3_BUFFER wbuf; /* write IO goes into here */ - SSL3_RECORD rrec; /* each decoded record goes in here */ - SSL3_RECORD wrec; /* goes out from here */ - /* - * storage for Alert/Handshake protocol data received but not yet - * processed by ssl3_read_bytes: - */ - unsigned char alert_fragment[2]; - unsigned int alert_fragment_len; - unsigned char handshake_fragment[4]; - unsigned int handshake_fragment_len; - /* partial write - check the numbers match */ - unsigned int wnum; /* number of bytes sent so far */ - int wpend_tot; /* number bytes written */ - int wpend_type; - int wpend_ret; /* number of bytes submitted */ - const unsigned char *wpend_buf; - /* used during startup, digest all incoming/outgoing packets */ - BIO *handshake_buffer; - /* - * When set of handshake digests is determined, buffer is hashed and - * freed and MD_CTX-es for all required digests are stored in this array - */ - EVP_MD_CTX **handshake_dgst; - /* - * Set whenever an expected ChangeCipherSpec message is processed. - * Unset when the peer's Finished message is received. - * Unexpected ChangeCipherSpec messages trigger a fatal alert. - */ - int change_cipher_spec; - int warn_alert; - int fatal_alert; - /* - * we allow one fatal and one warning alert to be outstanding, send close - * alert via the warning alert - */ - int alert_dispatch; - unsigned char send_alert[2]; - /* - * This flag is set when we should renegotiate ASAP, basically when there - * is no more data in the read or write buffers - */ - int renegotiate; - int total_renegotiations; - int num_renegotiations; - int in_read_app_data; - /* - * Opaque PRF input as used for the current handshake. These fields are - * used only if TLSEXT_TYPE_opaque_prf_input is defined (otherwise, they - * are merely present to improve binary compatibility) - */ - void *client_opaque_prf_input; - size_t client_opaque_prf_input_len; - void *server_opaque_prf_input; - size_t server_opaque_prf_input_len; - struct { - /* actually only needs to be 16+20 */ - unsigned char cert_verify_md[EVP_MAX_MD_SIZE * 2]; - /* actually only need to be 16+20 for SSLv3 and 12 for TLS */ - unsigned char finish_md[EVP_MAX_MD_SIZE * 2]; - int finish_md_len; - unsigned char peer_finish_md[EVP_MAX_MD_SIZE * 2]; - int peer_finish_md_len; - unsigned long message_size; - int message_type; - /* used to hold the new cipher we are going to use */ - const SSL_CIPHER *new_cipher; -# ifndef OPENSSL_NO_DH - DH *dh; -# endif -# ifndef OPENSSL_NO_ECDH - EC_KEY *ecdh; /* holds short lived ECDH key */ -# endif - /* used when SSL_ST_FLUSH_DATA is entered */ - int next_state; - int reuse_message; - /* used for certificate requests */ - int cert_req; - int ctype_num; - char ctype[SSL3_CT_NUMBER]; - STACK_OF(X509_NAME) *ca_names; - int use_rsa_tmp; - int key_block_length; - unsigned char *key_block; - const EVP_CIPHER *new_sym_enc; - const EVP_MD *new_hash; - int new_mac_pkey_type; - int new_mac_secret_size; -# ifndef OPENSSL_NO_COMP - const SSL_COMP *new_compression; -# else - char *new_compression; -# endif - int cert_request; - } tmp; - - /* Connection binding to prevent renegotiation attacks */ - unsigned char previous_client_finished[EVP_MAX_MD_SIZE]; - unsigned char previous_client_finished_len; - unsigned char previous_server_finished[EVP_MAX_MD_SIZE]; - unsigned char previous_server_finished_len; - int send_connection_binding; /* TODOEKR */ - -# ifndef OPENSSL_NO_NEXTPROTONEG - /* - * Set if we saw the Next Protocol Negotiation extension from our peer. - */ - int next_proto_neg_seen; -# endif - -# ifndef OPENSSL_NO_TLSEXT -# ifndef OPENSSL_NO_EC - /* - * This is set to true if we believe that this is a version of Safari - * running on OS X 10.6 or newer. We wish to know this because Safari on - * 10.8 .. 10.8.3 has broken ECDHE-ECDSA support. - */ - char is_probably_safari; -# endif /* !OPENSSL_NO_EC */ - - /* - * ALPN information (we are in the process of transitioning from NPN to - * ALPN.) - */ - - /* - * In a server these point to the selected ALPN protocol after the - * ClientHello has been processed. In a client these contain the protocol - * that the server selected once the ServerHello has been processed. - */ - unsigned char *alpn_selected; - unsigned alpn_selected_len; -# endif /* OPENSSL_NO_TLSEXT */ -} SSL3_STATE; - -# endif - -/* SSLv3 */ -/* - * client - */ -/* extra state */ -# define SSL3_ST_CW_FLUSH (0x100|SSL_ST_CONNECT) -# ifndef OPENSSL_NO_SCTP -# define DTLS1_SCTP_ST_CW_WRITE_SOCK (0x310|SSL_ST_CONNECT) -# define DTLS1_SCTP_ST_CR_READ_SOCK (0x320|SSL_ST_CONNECT) -# endif -/* 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) -# ifndef OPENSSL_NO_NEXTPROTONEG -# define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) -# define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) -# endif -# 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) -# ifndef OPENSSL_NO_SCTP -# define DTLS1_SCTP_ST_SW_WRITE_SOCK (0x310|SSL_ST_ACCEPT) -# define DTLS1_SCTP_ST_SR_READ_SOCK (0x320|SSL_ST_ACCEPT) -# endif -/* 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) -# define SSL3_ST_SR_CLNT_HELLO_D (0x115|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) -# ifndef OPENSSL_NO_NEXTPROTONEG -# define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) -# define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) -# endif -# 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 -# ifndef OPENSSL_NO_NEXTPROTONEG -# define SSL3_MT_NEXT_PROTO 67 -# endif -# define DTLS1_MT_HELLO_VERIFY_REQUEST 3 - -# define SSL3_MT_CCS 1 - -/* 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) - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/stack.h b/src/components/openssl/stack.h deleted file mode 100644 index eb07216..0000000 --- a/src/components/openssl/stack.h +++ /dev/null @@ -1,107 +0,0 @@ -/* crypto/stack/stack.h */ -/* 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 { - int num; - char **data; - int sorted; - int num_alloc; - int (*comp) (const void *, const void *); -} _STACK; /* Use STACK_OF(...) instead */ - -# 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 *)); -_STACK *sk_deep_copy(_STACK *, void *(*)(void *), void (*)(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_find_ex(_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/src/components/openssl/symhacks.h b/src/components/openssl/symhacks.h deleted file mode 100644 index e0613ee..0000000 --- a/src/components/openssl/symhacks.h +++ /dev/null @@ -1,516 +0,0 @@ -/* ==================================================================== - * 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_SYMHACKS_H -# define HEADER_SYMHACKS_H - -# include - -/* - * Hacks to solve the problem with linkers incapable of handling very long - * symbol names. In the case of VMS, the limit is 31 characters on VMS for - * VAX. - */ -/* - * Note that this affects util/libeay.num and util/ssleay.num... you may - * change those manually, but that's not recommended, as those files are - * controlled centrally and updated on Unix, and the central definition may - * disagree with yours, which in turn may come with shareable library - * incompatibilities. - */ -# ifdef OPENSSL_SYS_VMS - -/* Hack a long name in crypto/ex_data.c */ -# undef CRYPTO_get_ex_data_implementation -# define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl -# undef CRYPTO_set_ex_data_implementation -# define CRYPTO_set_ex_data_implementation CRYPTO_set_ex_data_impl - -/* Hack a long name in crypto/asn1/a_mbstr.c */ -# undef ASN1_STRING_set_default_mask_asc -# define ASN1_STRING_set_default_mask_asc ASN1_STRING_set_def_mask_asc - -# if 0 /* No longer needed, since safestack macro - * magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */ -# undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO -# define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF -# undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO -# define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF -# endif - -# if 0 /* No longer needed, since safestack macro - * magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */ -# undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO -# define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECINF -# undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO -# define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECINF -# endif - -# if 0 /* No longer needed, since safestack macro - * magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */ -# undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION -# define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION i2d_ASN1_SET_OF_ACC_DESC -# undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION -# define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION d2i_ASN1_SET_OF_ACC_DESC -# endif - -/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */ -# undef PEM_read_NETSCAPE_CERT_SEQUENCE -# define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQ -# undef PEM_write_NETSCAPE_CERT_SEQUENCE -# define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQ -# undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE -# define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQ -# undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE -# define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQ -# undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE -# define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ - -/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */ -# undef PEM_read_PKCS8_PRIV_KEY_INFO -# define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO -# undef PEM_write_PKCS8_PRIV_KEY_INFO -# define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO -# undef PEM_read_bio_PKCS8_PRIV_KEY_INFO -# define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO -# undef PEM_write_bio_PKCS8_PRIV_KEY_INFO -# define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO -# undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO -# define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_wrt_cb_bio_P8_PRIV_KEY_INFO - -/* Hack other PEM names */ -# undef PEM_write_bio_PKCS8PrivateKey_nid -# define PEM_write_bio_PKCS8PrivateKey_nid PEM_write_bio_PKCS8PrivKey_nid - -/* Hack some long X509 names */ -# undef X509_REVOKED_get_ext_by_critical -# define X509_REVOKED_get_ext_by_critical X509_REVOKED_get_ext_by_critic -# undef X509_policy_tree_get0_user_policies -# define X509_policy_tree_get0_user_policies X509_pcy_tree_get0_usr_policies -# undef X509_policy_node_get0_qualifiers -# define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers -# undef X509_STORE_CTX_get_explicit_policy -# define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy -# undef X509_STORE_CTX_get0_current_issuer -# define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_cur_issuer - -/* Hack some long CRYPTO names */ -# undef CRYPTO_set_dynlock_destroy_callback -# define CRYPTO_set_dynlock_destroy_callback CRYPTO_set_dynlock_destroy_cb -# undef CRYPTO_set_dynlock_create_callback -# define CRYPTO_set_dynlock_create_callback CRYPTO_set_dynlock_create_cb -# undef CRYPTO_set_dynlock_lock_callback -# define CRYPTO_set_dynlock_lock_callback CRYPTO_set_dynlock_lock_cb -# undef CRYPTO_get_dynlock_lock_callback -# define CRYPTO_get_dynlock_lock_callback CRYPTO_get_dynlock_lock_cb -# undef CRYPTO_get_dynlock_destroy_callback -# define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb -# undef CRYPTO_get_dynlock_create_callback -# define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb -# undef CRYPTO_set_locked_mem_ex_functions -# define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs -# undef CRYPTO_get_locked_mem_ex_functions -# define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs - -/* Hack some long SSL/TLS names */ -# undef SSL_CTX_set_default_verify_paths -# define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths -# undef SSL_get_ex_data_X509_STORE_CTX_idx -# define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx -# undef SSL_add_file_cert_subjects_to_stack -# define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk -# undef SSL_add_dir_cert_subjects_to_stack -# define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk -# undef SSL_CTX_use_certificate_chain_file -# define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file -# undef SSL_CTX_set_cert_verify_callback -# define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb -# undef SSL_CTX_set_default_passwd_cb_userdata -# define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud -# undef SSL_COMP_get_compression_methods -# define SSL_COMP_get_compression_methods SSL_COMP_get_compress_methods -# undef SSL_COMP_set0_compression_methods -# define SSL_COMP_set0_compression_methods SSL_COMP_set0_compress_methods -# undef SSL_COMP_free_compression_methods -# define SSL_COMP_free_compression_methods SSL_COMP_free_compress_methods -# undef ssl_add_clienthello_renegotiate_ext -# define ssl_add_clienthello_renegotiate_ext ssl_add_clienthello_reneg_ext -# undef ssl_add_serverhello_renegotiate_ext -# define ssl_add_serverhello_renegotiate_ext ssl_add_serverhello_reneg_ext -# undef ssl_parse_clienthello_renegotiate_ext -# define ssl_parse_clienthello_renegotiate_ext ssl_parse_clienthello_reneg_ext -# undef ssl_parse_serverhello_renegotiate_ext -# define ssl_parse_serverhello_renegotiate_ext ssl_parse_serverhello_reneg_ext -# undef SSL_srp_server_param_with_username -# define SSL_srp_server_param_with_username SSL_srp_server_param_with_un -# undef SSL_CTX_set_srp_client_pwd_callback -# define SSL_CTX_set_srp_client_pwd_callback SSL_CTX_set_srp_client_pwd_cb -# undef SSL_CTX_set_srp_verify_param_callback -# define SSL_CTX_set_srp_verify_param_callback SSL_CTX_set_srp_vfy_param_cb -# undef SSL_CTX_set_srp_username_callback -# define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb -# undef ssl_add_clienthello_use_srtp_ext -# define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext -# undef ssl_add_serverhello_use_srtp_ext -# define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext -# undef ssl_parse_clienthello_use_srtp_ext -# define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext -# undef ssl_parse_serverhello_use_srtp_ext -# define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext -# undef SSL_CTX_set_next_protos_advertised_cb -# define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb -# undef SSL_CTX_set_next_proto_select_cb -# define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb - -# undef tls1_send_server_supplemental_data -# define tls1_send_server_supplemental_data tls1_send_server_suppl_data -# undef tls1_send_client_supplemental_data -# define tls1_send_client_supplemental_data tls1_send_client_suppl_data -# undef tls1_get_server_supplemental_data -# define tls1_get_server_supplemental_data tls1_get_server_suppl_data -# undef tls1_get_client_supplemental_data -# define tls1_get_client_supplemental_data tls1_get_client_suppl_data - -# undef ssl3_cbc_record_digest_supported -# define ssl3_cbc_record_digest_supported ssl3_cbc_record_digest_support -# undef ssl_check_clienthello_tlsext_late -# define ssl_check_clienthello_tlsext_late ssl_check_clihello_tlsext_late -# undef ssl_check_clienthello_tlsext_early -# define ssl_check_clienthello_tlsext_early ssl_check_clihello_tlsext_early - -/* Hack some RSA long names */ -# undef RSA_padding_check_PKCS1_OAEP_mgf1 -# define RSA_padding_check_PKCS1_OAEP_mgf1 RSA_pad_check_PKCS1_OAEP_mgf1 - -/* Hack some ENGINE long names */ -# undef ENGINE_get_default_BN_mod_exp_crt -# define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt -# undef ENGINE_set_default_BN_mod_exp_crt -# define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt -# undef ENGINE_set_load_privkey_function -# define ENGINE_set_load_privkey_function ENGINE_set_load_privkey_fn -# undef ENGINE_get_load_privkey_function -# define ENGINE_get_load_privkey_function ENGINE_get_load_privkey_fn -# undef ENGINE_unregister_pkey_asn1_meths -# define ENGINE_unregister_pkey_asn1_meths ENGINE_unreg_pkey_asn1_meths -# undef ENGINE_register_all_pkey_asn1_meths -# define ENGINE_register_all_pkey_asn1_meths ENGINE_reg_all_pkey_asn1_meths -# undef ENGINE_set_default_pkey_asn1_meths -# define ENGINE_set_default_pkey_asn1_meths ENGINE_set_def_pkey_asn1_meths -# undef ENGINE_get_pkey_asn1_meth_engine -# define ENGINE_get_pkey_asn1_meth_engine ENGINE_get_pkey_asn1_meth_eng -# undef ENGINE_set_load_ssl_client_cert_function -# define ENGINE_set_load_ssl_client_cert_function \ - ENGINE_set_ld_ssl_clnt_cert_fn -# undef ENGINE_get_ssl_client_cert_function -# define ENGINE_get_ssl_client_cert_function ENGINE_get_ssl_client_cert_fn - -/* Hack some long OCSP names */ -# undef OCSP_REQUEST_get_ext_by_critical -# define OCSP_REQUEST_get_ext_by_critical OCSP_REQUEST_get_ext_by_crit -# undef OCSP_BASICRESP_get_ext_by_critical -# define OCSP_BASICRESP_get_ext_by_critical OCSP_BASICRESP_get_ext_by_crit -# undef OCSP_SINGLERESP_get_ext_by_critical -# define OCSP_SINGLERESP_get_ext_by_critical OCSP_SINGLERESP_get_ext_by_crit - -/* Hack some long DES names */ -# undef _ossl_old_des_ede3_cfb64_encrypt -# define _ossl_old_des_ede3_cfb64_encrypt _ossl_odes_ede3_cfb64_encrypt -# undef _ossl_old_des_ede3_ofb64_encrypt -# define _ossl_old_des_ede3_ofb64_encrypt _ossl_odes_ede3_ofb64_encrypt - -/* Hack some long EVP names */ -# undef OPENSSL_add_all_algorithms_noconf -# define OPENSSL_add_all_algorithms_noconf OPENSSL_add_all_algo_noconf -# undef OPENSSL_add_all_algorithms_conf -# define OPENSSL_add_all_algorithms_conf OPENSSL_add_all_algo_conf -# undef EVP_PKEY_meth_set_verify_recover -# define EVP_PKEY_meth_set_verify_recover EVP_PKEY_meth_set_vrfy_recover - -/* Hack some long EC names */ -# undef EC_GROUP_set_point_conversion_form -# define EC_GROUP_set_point_conversion_form EC_GROUP_set_point_conv_form -# undef EC_GROUP_get_point_conversion_form -# define EC_GROUP_get_point_conversion_form EC_GROUP_get_point_conv_form -# undef EC_GROUP_clear_free_all_extra_data -# define EC_GROUP_clear_free_all_extra_data EC_GROUP_clr_free_all_xtra_data -# undef EC_KEY_set_public_key_affine_coordinates -# define EC_KEY_set_public_key_affine_coordinates \ - EC_KEY_set_pub_key_aff_coords -# undef EC_POINT_set_Jprojective_coordinates_GFp -# define EC_POINT_set_Jprojective_coordinates_GFp \ - EC_POINT_set_Jproj_coords_GFp -# undef EC_POINT_get_Jprojective_coordinates_GFp -# define EC_POINT_get_Jprojective_coordinates_GFp \ - EC_POINT_get_Jproj_coords_GFp -# undef EC_POINT_set_affine_coordinates_GFp -# define EC_POINT_set_affine_coordinates_GFp EC_POINT_set_affine_coords_GFp -# undef EC_POINT_get_affine_coordinates_GFp -# define EC_POINT_get_affine_coordinates_GFp EC_POINT_get_affine_coords_GFp -# undef EC_POINT_set_compressed_coordinates_GFp -# define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp -# undef EC_POINT_set_affine_coordinates_GF2m -# define EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coords_GF2m -# undef EC_POINT_get_affine_coordinates_GF2m -# define EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coords_GF2m -# undef EC_POINT_set_compressed_coordinates_GF2m -# define EC_POINT_set_compressed_coordinates_GF2m \ - EC_POINT_set_compr_coords_GF2m -# undef ec_GF2m_simple_group_clear_finish -# define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish -# undef ec_GF2m_simple_group_check_discriminant -# define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim -# undef ec_GF2m_simple_point_clear_finish -# define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish -# undef ec_GF2m_simple_point_set_to_infinity -# define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf -# undef ec_GF2m_simple_points_make_affine -# define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine -# undef ec_GF2m_simple_point_set_affine_coordinates -# define ec_GF2m_simple_point_set_affine_coordinates \ - ec_GF2m_smp_pt_set_af_coords -# undef ec_GF2m_simple_point_get_affine_coordinates -# define ec_GF2m_simple_point_get_affine_coordinates \ - ec_GF2m_smp_pt_get_af_coords -# undef ec_GF2m_simple_set_compressed_coordinates -# define ec_GF2m_simple_set_compressed_coordinates \ - ec_GF2m_smp_set_compr_coords -# undef ec_GFp_simple_group_set_curve_GFp -# define ec_GFp_simple_group_set_curve_GFp ec_GFp_simple_grp_set_curve_GFp -# undef ec_GFp_simple_group_get_curve_GFp -# define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp -# undef ec_GFp_simple_group_clear_finish -# define ec_GFp_simple_group_clear_finish ec_GFp_simple_grp_clear_finish -# undef ec_GFp_simple_group_set_generator -# define ec_GFp_simple_group_set_generator ec_GFp_simple_grp_set_generator -# undef ec_GFp_simple_group_get0_generator -# define ec_GFp_simple_group_get0_generator ec_GFp_simple_grp_gt0_generator -# undef ec_GFp_simple_group_get_cofactor -# define ec_GFp_simple_group_get_cofactor ec_GFp_simple_grp_get_cofactor -# undef ec_GFp_simple_point_clear_finish -# define ec_GFp_simple_point_clear_finish ec_GFp_simple_pt_clear_finish -# undef ec_GFp_simple_point_set_to_infinity -# define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf -# undef ec_GFp_simple_points_make_affine -# define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine -# undef ec_GFp_simple_set_Jprojective_coordinates_GFp -# define ec_GFp_simple_set_Jprojective_coordinates_GFp \ - ec_GFp_smp_set_Jproj_coords_GFp -# undef ec_GFp_simple_get_Jprojective_coordinates_GFp -# define ec_GFp_simple_get_Jprojective_coordinates_GFp \ - ec_GFp_smp_get_Jproj_coords_GFp -# undef ec_GFp_simple_point_set_affine_coordinates_GFp -# define ec_GFp_simple_point_set_affine_coordinates_GFp \ - ec_GFp_smp_pt_set_af_coords_GFp -# undef ec_GFp_simple_point_get_affine_coordinates_GFp -# define ec_GFp_simple_point_get_affine_coordinates_GFp \ - ec_GFp_smp_pt_get_af_coords_GFp -# undef ec_GFp_simple_set_compressed_coordinates_GFp -# define ec_GFp_simple_set_compressed_coordinates_GFp \ - ec_GFp_smp_set_compr_coords_GFp -# undef ec_GFp_simple_point_set_affine_coordinates -# define ec_GFp_simple_point_set_affine_coordinates \ - ec_GFp_smp_pt_set_af_coords -# undef ec_GFp_simple_point_get_affine_coordinates -# define ec_GFp_simple_point_get_affine_coordinates \ - ec_GFp_smp_pt_get_af_coords -# undef ec_GFp_simple_set_compressed_coordinates -# define ec_GFp_simple_set_compressed_coordinates \ - ec_GFp_smp_set_compr_coords -# undef ec_GFp_simple_group_check_discriminant -# define ec_GFp_simple_group_check_discriminant ec_GFp_simple_grp_chk_discrim - -/* Hack som long STORE names */ -# undef STORE_method_set_initialise_function -# define STORE_method_set_initialise_function STORE_meth_set_initialise_fn -# undef STORE_method_set_cleanup_function -# define STORE_method_set_cleanup_function STORE_meth_set_cleanup_fn -# undef STORE_method_set_generate_function -# define STORE_method_set_generate_function STORE_meth_set_generate_fn -# undef STORE_method_set_modify_function -# define STORE_method_set_modify_function STORE_meth_set_modify_fn -# undef STORE_method_set_revoke_function -# define STORE_method_set_revoke_function STORE_meth_set_revoke_fn -# undef STORE_method_set_delete_function -# define STORE_method_set_delete_function STORE_meth_set_delete_fn -# undef STORE_method_set_list_start_function -# define STORE_method_set_list_start_function STORE_meth_set_list_start_fn -# undef STORE_method_set_list_next_function -# define STORE_method_set_list_next_function STORE_meth_set_list_next_fn -# undef STORE_method_set_list_end_function -# define STORE_method_set_list_end_function STORE_meth_set_list_end_fn -# undef STORE_method_set_update_store_function -# define STORE_method_set_update_store_function STORE_meth_set_update_store_fn -# undef STORE_method_set_lock_store_function -# define STORE_method_set_lock_store_function STORE_meth_set_lock_store_fn -# undef STORE_method_set_unlock_store_function -# define STORE_method_set_unlock_store_function STORE_meth_set_unlock_store_fn -# undef STORE_method_get_initialise_function -# define STORE_method_get_initialise_function STORE_meth_get_initialise_fn -# undef STORE_method_get_cleanup_function -# define STORE_method_get_cleanup_function STORE_meth_get_cleanup_fn -# undef STORE_method_get_generate_function -# define STORE_method_get_generate_function STORE_meth_get_generate_fn -# undef STORE_method_get_modify_function -# define STORE_method_get_modify_function STORE_meth_get_modify_fn -# undef STORE_method_get_revoke_function -# define STORE_method_get_revoke_function STORE_meth_get_revoke_fn -# undef STORE_method_get_delete_function -# define STORE_method_get_delete_function STORE_meth_get_delete_fn -# undef STORE_method_get_list_start_function -# define STORE_method_get_list_start_function STORE_meth_get_list_start_fn -# undef STORE_method_get_list_next_function -# define STORE_method_get_list_next_function STORE_meth_get_list_next_fn -# undef STORE_method_get_list_end_function -# define STORE_method_get_list_end_function STORE_meth_get_list_end_fn -# undef STORE_method_get_update_store_function -# define STORE_method_get_update_store_function STORE_meth_get_update_store_fn -# undef STORE_method_get_lock_store_function -# define STORE_method_get_lock_store_function STORE_meth_get_lock_store_fn -# undef STORE_method_get_unlock_store_function -# define STORE_method_get_unlock_store_function STORE_meth_get_unlock_store_fn - -/* Hack some long TS names */ -# undef TS_RESP_CTX_set_status_info_cond -# define TS_RESP_CTX_set_status_info_cond TS_RESP_CTX_set_stat_info_cond -# undef TS_RESP_CTX_set_clock_precision_digits -# define TS_RESP_CTX_set_clock_precision_digits TS_RESP_CTX_set_clk_prec_digits -# undef TS_CONF_set_clock_precision_digits -# define TS_CONF_set_clock_precision_digits TS_CONF_set_clk_prec_digits - -/* Hack some long CMS names */ -# undef CMS_RecipientInfo_ktri_get0_algs -# define CMS_RecipientInfo_ktri_get0_algs CMS_RecipInfo_ktri_get0_algs -# undef CMS_RecipientInfo_ktri_get0_signer_id -# define CMS_RecipientInfo_ktri_get0_signer_id CMS_RecipInfo_ktri_get0_sigr_id -# undef CMS_OtherRevocationInfoFormat_it -# define CMS_OtherRevocationInfoFormat_it CMS_OtherRevocInfoFormat_it -# undef CMS_KeyAgreeRecipientIdentifier_it -# define CMS_KeyAgreeRecipientIdentifier_it CMS_KeyAgreeRecipIdentifier_it -# undef CMS_OriginatorIdentifierOrKey_it -# define CMS_OriginatorIdentifierOrKey_it CMS_OriginatorIdOrKey_it -# undef cms_SignerIdentifier_get0_signer_id -# define cms_SignerIdentifier_get0_signer_id cms_SignerId_get0_signer_id -# undef CMS_RecipientInfo_kari_get0_orig_id -# define CMS_RecipientInfo_kari_get0_orig_id CMS_RecipInfo_kari_get0_orig_id -# undef CMS_RecipientInfo_kari_get0_reks -# define CMS_RecipientInfo_kari_get0_reks CMS_RecipInfo_kari_get0_reks -# undef CMS_RecipientEncryptedKey_cert_cmp -# define CMS_RecipientEncryptedKey_cert_cmp CMS_RecipEncryptedKey_cert_cmp -# undef CMS_RecipientInfo_kari_set0_pkey -# define CMS_RecipientInfo_kari_set0_pkey CMS_RecipInfo_kari_set0_pkey -# undef CMS_RecipientEncryptedKey_get0_id -# define CMS_RecipientEncryptedKey_get0_id CMS_RecipEncryptedKey_get0_id -# undef CMS_RecipientInfo_kari_orig_id_cmp -# define CMS_RecipientInfo_kari_orig_id_cmp CMS_RecipInfo_kari_orig_id_cmp - -/* Hack some long DTLS1 names */ -# undef dtls1_retransmit_buffered_messages -# define dtls1_retransmit_buffered_messages dtls1_retransmit_buffered_msgs - -/* Hack some long SRP names */ -# undef SRP_generate_server_master_secret -# define SRP_generate_server_master_secret SRP_gen_server_master_secret -# undef SRP_generate_client_master_secret -# define SRP_generate_client_master_secret SRP_gen_client_master_secret - -/* Hack some long UI names */ -# undef UI_method_get_prompt_constructor -# define UI_method_get_prompt_constructor UI_method_get_prompt_constructr -# undef UI_method_set_prompt_constructor -# define UI_method_set_prompt_constructor UI_method_set_prompt_constructr - -# endif /* defined OPENSSL_SYS_VMS */ - -/* Case insensitive linking causes problems.... */ -# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) -# undef ERR_load_CRYPTO_strings -# define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings -# undef OCSP_crlID_new -# define OCSP_crlID_new OCSP_crlID2_new - -# undef d2i_ECPARAMETERS -# define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS -# undef i2d_ECPARAMETERS -# define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS -# undef d2i_ECPKPARAMETERS -# define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS -# undef i2d_ECPKPARAMETERS -# define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS - -/* - * These functions do not seem to exist! However, I'm paranoid... Original - * command in x509v3.h: These functions are being redefined in another - * directory, and clash when the linker is case-insensitive, so let's hide - * them a little, by giving them an extra 'o' at the beginning of the name... - */ -# undef X509v3_cleanup_extensions -# define X509v3_cleanup_extensions oX509v3_cleanup_extensions -# undef X509v3_add_extension -# define X509v3_add_extension oX509v3_add_extension -# undef X509v3_add_netscape_extensions -# define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions -# undef X509v3_add_standard_extensions -# define X509v3_add_standard_extensions oX509v3_add_standard_extensions - -/* This one clashes with CMS_data_create */ -# undef cms_Data_create -# define cms_Data_create priv_cms_Data_create - -# endif - -#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/src/components/openssl/tls1.h b/src/components/openssl/tls1.h deleted file mode 100644 index 239211a..0000000 --- a/src/components/openssl/tls1.h +++ /dev/null @@ -1,810 +0,0 @@ -/* ssl/tls1.h */ -/* 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 - -#ifdef __cplusplus -extern "C" { -#endif - -# define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 - -# define TLS1_VERSION 0x0301 -# define TLS1_1_VERSION 0x0302 -# define TLS1_2_VERSION 0x0303 -# define TLS_MAX_VERSION TLS1_2_VERSION - -# define TLS1_VERSION_MAJOR 0x03 -# define TLS1_VERSION_MINOR 0x01 - -# define TLS1_1_VERSION_MAJOR 0x03 -# define TLS1_1_VERSION_MINOR 0x02 - -# define TLS1_2_VERSION_MAJOR 0x03 -# define TLS1_2_VERSION_MINOR 0x03 - -# define TLS1_get_version(s) \ - ((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0) - -# define TLS1_get_client_version(s) \ - ((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0) - -# 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 */ -# define TLS1_AD_INAPPROPRIATE_FALLBACK 86/* fatal */ -# define TLS1_AD_USER_CANCELLED 90 -# define TLS1_AD_NO_RENEGOTIATION 100 -/* codes 110-114 are from RFC3546 */ -# 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 -# define TLS1_AD_UNKNOWN_PSK_IDENTITY 115/* fatal */ - -/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ -# 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 RFC4681 */ -# define TLSEXT_TYPE_user_mapping 6 -/* ExtensionType values from RFC5878 */ -# define TLSEXT_TYPE_client_authz 7 -# define TLSEXT_TYPE_server_authz 8 -/* ExtensionType values from RFC6091 */ -# define TLSEXT_TYPE_cert_type 9 - -/* ExtensionType values from RFC4492 */ -# define TLSEXT_TYPE_elliptic_curves 10 -# define TLSEXT_TYPE_ec_point_formats 11 - -/* ExtensionType value from RFC5054 */ -# define TLSEXT_TYPE_srp 12 - -/* ExtensionType values from RFC5246 */ -# define TLSEXT_TYPE_signature_algorithms 13 - -/* ExtensionType value from RFC5764 */ -# define TLSEXT_TYPE_use_srtp 14 - -/* ExtensionType value from RFC5620 */ -# define TLSEXT_TYPE_heartbeat 15 - -/* ExtensionType value from RFC7301 */ -# define TLSEXT_TYPE_application_layer_protocol_negotiation 16 - -/* - * ExtensionType value for TLS padding extension. - * http://tools.ietf.org/html/draft-agl-tls-padding - */ -# define TLSEXT_TYPE_padding 21 - -/* ExtensionType value from RFC4507 */ -# define TLSEXT_TYPE_session_ticket 35 - -/* ExtensionType value from draft-rescorla-tls-opaque-prf-input-00.txt */ -# if 0 -/* - * will have to be provided externally for now , - * i.e. build with -DTLSEXT_TYPE_opaque_prf_input=38183 - * using whatever extension number you'd like to try - */ -# define TLSEXT_TYPE_opaque_prf_input ?? -# endif - -/* Temporary extension type */ -# define TLSEXT_TYPE_renegotiate 0xff01 - -# ifndef OPENSSL_NO_NEXTPROTONEG -/* This is not an IANA defined extension number */ -# define TLSEXT_TYPE_next_proto_neg 13172 -# endif - -/* NameType value from RFC3546 */ -# define TLSEXT_NAMETYPE_host_name 0 -/* status request value from RFC3546 */ -# define TLSEXT_STATUSTYPE_ocsp 1 - -/* ECPointFormat values from RFC4492 */ -# 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 - -/* Signature and hash algorithms from RFC5246 */ -# define TLSEXT_signature_anonymous 0 -# define TLSEXT_signature_rsa 1 -# define TLSEXT_signature_dsa 2 -# define TLSEXT_signature_ecdsa 3 - -/* Total number of different signature algorithms */ -# define TLSEXT_signature_num 4 - -# define TLSEXT_hash_none 0 -# define TLSEXT_hash_md5 1 -# define TLSEXT_hash_sha1 2 -# define TLSEXT_hash_sha224 3 -# define TLSEXT_hash_sha256 4 -# define TLSEXT_hash_sha384 5 -# define TLSEXT_hash_sha512 6 - -/* Total number of different digest algorithms */ - -# define TLSEXT_hash_num 7 - -/* Flag set for unrecognised algorithms */ -# define TLSEXT_nid_unknown 0x1000000 - -/* ECC curves */ - -# define TLSEXT_curve_P_256 23 -# define TLSEXT_curve_P_384 24 - -# ifndef OPENSSL_NO_TLSEXT - -# 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_sigalgs(SSL *s, int idx, - int *psign, int *phash, int *psignandhash, - unsigned char *rsig, unsigned char *rhash); - -int SSL_get_shared_sigalgs(SSL *s, int idx, - int *psign, int *phash, int *psignandhash, - unsigned char *rsig, unsigned char *rhash); - -int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain); - -# 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_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_set_tlsext_status_cb(ssl, cb) \ -SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) - -# 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_set_tlsext_opaque_prf_input(s, src, len) \ -SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT, len, src) -# define SSL_CTX_set_tlsext_opaque_prf_input_callback(ctx, cb) \ -SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB, (void (*)(void))cb) -# define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(ctx, arg) \ -SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG, 0, 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) - -# ifndef OPENSSL_NO_HEARTBEATS -# define SSL_TLSEXT_HB_ENABLED 0x01 -# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS 0x02 -# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS 0x04 - -# define SSL_get_tlsext_heartbeat_pending(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING,0,NULL) -# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ - SSL_ctrl((ssl),SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) -# endif -# endif - -/* PSK ciphersuites from 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 RFC3268 */ -# 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 RFC4132 */ -# 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 RFC4132 */ -# 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 RFC4162 */ -# 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 RFC5288 */ -# 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 - -/* - * ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in - * draft 13 - */ -# 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 RFC5289 */ - -# 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 RFC5289 */ -# 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 - -/* - * XXX * Backward compatibility alert: + * Older versions of OpenSSL gave - * some DHE ciphers names with "EDH" + * instead of "DHE". Going forward, we - * should be using DHE + * everywhere, though we may indefinitely maintain - * aliases for users + * or configurations that used "EDH" + - */ -# 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 RFC3268 */ -# 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 RFC4492 */ -# 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 RFC4132 */ -# 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" - -/* SEED ciphersuites from RFC4162 */ -# 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 RFC5288 */ -# 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 RFC5289 */ - -# 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 RFC5289 */ -# 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" - -# define TLS_CT_RSA_SIGN 1 -# define TLS_CT_DSS_SIGN 2 -# define TLS_CT_RSA_FIXED_DH 3 -# define TLS_CT_DSS_FIXED_DH 4 -# define TLS_CT_ECDSA_SIGN 64 -# define TLS_CT_RSA_FIXED_ECDH 65 -# define TLS_CT_ECDSA_FIXED_ECDH 66 -# define TLS_CT_GOST94_SIGN 21 -# define TLS_CT_GOST01_SIGN 22 -/* - * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see - * comment there) - */ -# define TLS_CT_NUMBER 9 - -# 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_SERVER_WRITE_KEY_CONST "server write key" -# define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 -# 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 CHARSET_EBCDIC -# undef TLS_MD_CLIENT_FINISH_CONST -/* - * client finished - */ -# define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" - -# undef TLS_MD_SERVER_FINISH_CONST -/* - * server finished - */ -# define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" - -# undef TLS_MD_SERVER_WRITE_KEY_CONST -/* - * server write key - */ -# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" - -# undef TLS_MD_KEY_EXPANSION_CONST -/* - * key expansion - */ -# define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" - -# undef TLS_MD_CLIENT_WRITE_KEY_CONST -/* - * client write key - */ -# define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" - -# undef TLS_MD_SERVER_WRITE_KEY_CONST -/* - * server write key - */ -# define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" - -# undef TLS_MD_IV_BLOCK_CONST -/* - * IV block - */ -# define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" - -# undef TLS_MD_MASTER_SECRET_CONST -/* - * master secret - */ -# define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" -# endif - -/* TLS Session Ticket extension struct */ -struct tls_session_ticket_ext_st { - unsigned short length; - void *data; -}; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/ts.h b/src/components/openssl/ts.h deleted file mode 100644 index d9d7330..0000000 --- a/src/components/openssl/ts.h +++ /dev/null @@ -1,865 +0,0 @@ -/* crypto/ts/ts.h */ -/* - * 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 -# 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 - -# ifdef WIN32 -/* Under Win32 this is defined in wincrypt.h */ -# undef X509_NAME -# endif - -# include -# include - -/*- -MessageImprint ::= SEQUENCE { - hashAlgorithm AlgorithmIdentifier, - hashedMessage OCTET STRING } -*/ - -typedef struct TS_msg_imprint_st { - X509_ALGOR *hash_algo; - ASN1_OCTET_STRING *hashed_msg; -} TS_MSG_IMPRINT; - -/*- -TimeStampReq ::= SEQUENCE { - version INTEGER { v1(1) }, - messageImprint MessageImprint, - --a hash algorithm OID and the hash value of the data to be - --time-stamped - reqPolicy TSAPolicyId OPTIONAL, - nonce INTEGER OPTIONAL, - certReq BOOLEAN DEFAULT FALSE, - extensions [0] IMPLICIT Extensions OPTIONAL } -*/ - -typedef struct TS_req_st { - ASN1_INTEGER *version; - TS_MSG_IMPRINT *msg_imprint; - ASN1_OBJECT *policy_id; /* OPTIONAL */ - ASN1_INTEGER *nonce; /* OPTIONAL */ - ASN1_BOOLEAN cert_req; /* DEFAULT FALSE */ - STACK_OF(X509_EXTENSION) *extensions; /* [0] OPTIONAL */ -} TS_REQ; - -/*- -Accuracy ::= SEQUENCE { - seconds INTEGER OPTIONAL, - millis [0] INTEGER (1..999) OPTIONAL, - micros [1] INTEGER (1..999) OPTIONAL } -*/ - -typedef struct TS_accuracy_st { - ASN1_INTEGER *seconds; - ASN1_INTEGER *millis; - ASN1_INTEGER *micros; -} TS_ACCURACY; - -/*- -TSTInfo ::= SEQUENCE { - version INTEGER { v1(1) }, - policy TSAPolicyId, - messageImprint MessageImprint, - -- MUST have the same value as the similar field in - -- TimeStampReq - serialNumber INTEGER, - -- Time-Stamping users MUST be ready to accommodate integers - -- up to 160 bits. - genTime GeneralizedTime, - accuracy Accuracy OPTIONAL, - ordering BOOLEAN DEFAULT FALSE, - nonce INTEGER OPTIONAL, - -- MUST be present if the similar field was present - -- in TimeStampReq. In that case it MUST have the same value. - tsa [0] GeneralName OPTIONAL, - extensions [1] IMPLICIT Extensions OPTIONAL } -*/ - -typedef struct TS_tst_info_st { - ASN1_INTEGER *version; - ASN1_OBJECT *policy_id; - TS_MSG_IMPRINT *msg_imprint; - ASN1_INTEGER *serial; - ASN1_GENERALIZEDTIME *time; - TS_ACCURACY *accuracy; - ASN1_BOOLEAN ordering; - ASN1_INTEGER *nonce; - GENERAL_NAME *tsa; - STACK_OF(X509_EXTENSION) *extensions; -} TS_TST_INFO; - -/*- -PKIStatusInfo ::= SEQUENCE { - status PKIStatus, - statusString PKIFreeText OPTIONAL, - failInfo PKIFailureInfo OPTIONAL } - -From RFC 1510 - section 3.1.1: -PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String - -- text encoded as UTF-8 String (note: each UTF8String SHOULD - -- include an RFC 1766 language tag to indicate the language - -- of the contained text) -*/ - -/* Possible values for status. See ts_resp_print.c && ts_resp_verify.c. */ - -# 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. See ts_resp_print.c && ts_resp_verify.c - */ - -# 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 { - ASN1_INTEGER *status; - STACK_OF(ASN1_UTF8STRING) *text; - ASN1_BIT_STRING *failure_info; -} TS_STATUS_INFO; - -DECLARE_STACK_OF(ASN1_UTF8STRING) -DECLARE_ASN1_SET_OF(ASN1_UTF8STRING) - -/*- -TimeStampResp ::= SEQUENCE { - status PKIStatusInfo, - timeStampToken TimeStampToken OPTIONAL } -*/ - -typedef struct TS_resp_st { - TS_STATUS_INFO *status_info; - PKCS7 *token; - TS_TST_INFO *tst_info; -} TS_RESP; - -/* The structure below would belong to the ESS component. */ - -/*- -IssuerSerial ::= SEQUENCE { - issuer GeneralNames, - serialNumber CertificateSerialNumber - } -*/ - -typedef struct ESS_issuer_serial { - STACK_OF(GENERAL_NAME) *issuer; - ASN1_INTEGER *serial; -} ESS_ISSUER_SERIAL; - -/*- -ESSCertID ::= SEQUENCE { - certHash Hash, - issuerSerial IssuerSerial OPTIONAL -} -*/ - -typedef struct ESS_cert_id { - ASN1_OCTET_STRING *hash; /* Always SHA-1 digest. */ - ESS_ISSUER_SERIAL *issuer_serial; -} ESS_CERT_ID; - -DECLARE_STACK_OF(ESS_CERT_ID) -DECLARE_ASN1_SET_OF(ESS_CERT_ID) - -/*- -SigningCertificate ::= SEQUENCE { - certs SEQUENCE OF ESSCertID, - policies SEQUENCE OF PolicyInformation OPTIONAL -} -*/ - -typedef struct ESS_signing_cert { - STACK_OF(ESS_CERT_ID) *cert_ids; - STACK_OF(POLICYINFO) *policy_info; -} ESS_SIGNING_CERT; - -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); - -void ERR_load_TS_strings(void); - -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, 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, 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_resp_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); - -/* 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, 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_resp_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 *, long *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 { - X509 *signer_cert; - EVP_PKEY *signer_key; - STACK_OF(X509) *certs; /* Certs to include in signed data. */ - STACK_OF(ASN1_OBJECT) *policies; /* Acceptable policies. */ - ASN1_OBJECT *default_policy; /* It may appear in policies, too. */ - STACK_OF(EVP_MD) *mds; /* Acceptable message digests. */ - ASN1_INTEGER *seconds; /* accuracy, 0 means not specified. */ - ASN1_INTEGER *millis; /* accuracy, 0 means not specified. */ - ASN1_INTEGER *micros; /* accuracy, 0 means not specified. */ - unsigned clock_precision_digits; /* fraction of seconds in time stamp - * token. */ - unsigned flags; /* Optional info, see values above. */ - /* Callback functions. */ - TS_serial_cb serial_cb; - void *serial_cb_data; /* User data for serial_cb. */ - TS_time_cb time_cb; - void *time_cb_data; /* User data for time_cb. */ - TS_extension_cb extension_cb; - void *extension_cb_data; /* User data for extension_cb. */ - /* These members are used only while creating the response. */ - TS_REQ *request; - TS_RESP *response; - TS_TST_INFO *tst_info; -} TS_RESP_CTX; - -DECLARE_STACK_OF(EVP_MD) -DECLARE_ASN1_SET_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, 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, 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 usec precision. */ -# define TS_MAX_CLOCK_PRECISION_DIGITS 6 - -/* Maximum status message length */ -# define TS_MAX_STATUS_LENGTH (1024 * 1024) - -/* 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 the gettimeofday() and gmtime() system calls. */ -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_resp_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 { - /* Set this to the union of TS_VFY_... flags you want to carry out. */ - unsigned flags; - /* Must be set only with TS_VFY_SIGNATURE. certs is optional. */ - X509_STORE *store; - STACK_OF(X509) *certs; - /* Must be set only with TS_VFY_POLICY. */ - ASN1_OBJECT *policy; - /* - * Must be set only with TS_VFY_IMPRINT. If md_alg is NULL, the - * algorithm from the response is used. - */ - X509_ALGOR *md_alg; - unsigned char *imprint; - unsigned imprint_len; - /* Must be set only with TS_VFY_DATA. */ - BIO *data; - /* Must be set only with TS_VFY_TSA_NAME. */ - ASN1_INTEGER *nonce; - /* Must be set only with TS_VFY_TSA_NAME. */ - GENERAL_NAME *tsa_name; -} 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_init(TS_VERIFY_CTX *ctx); -void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); -void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); - -/*- - * 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_resp_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_crypto_device(CONF *conf, const char *section, - const char *device); -int TS_CONF_set_default_engine(const char *name); -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); - -/* -------------------------------------------------- */ -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/txt_db.h b/src/components/openssl/txt_db.h deleted file mode 100644 index 8c65679..0000000 --- a/src/components/openssl/txt_db.h +++ /dev/null @@ -1,112 +0,0 @@ -/* crypto/txt_db/txt_db.h */ -/* 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/src/components/openssl/ui.h b/src/components/openssl/ui.h deleted file mode 100644 index 30e7a7d..0000000 --- a/src/components/openssl/ui.h +++ /dev/null @@ -1,415 +0,0 @@ -/* crypto/ui/ui.h */ -/* - * 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 - -# ifndef OPENSSL_NO_DEPRECATED -# include -# endif -# 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 with, 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 all return an index of the added information. That index - is usefull 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 - -/*- - * The user 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 - * OPENSSL_malloc(), and need to be free'd with OPENSSL_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 */ -UI_METHOD *UI_OpenSSL(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 wth 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(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(UI_METHOD *method)) (UI *); -int (*UI_method_get_writer(UI_METHOD *method)) (UI *, UI_STRING *); -int (*UI_method_get_flusher(UI_METHOD *method)) (UI *); -int (*UI_method_get_reader(UI_METHOD *method)) (UI *, UI_STRING *); -int (*UI_method_get_closer(UI_METHOD *method)) (UI *); -char *(*UI_method_get_prompt_constructor(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 (the boolean promtp - * 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); - -/* A couple of popular utility functions */ -int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, - int verify); -int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, - int verify); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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/src/components/openssl/ui_compat.h b/src/components/openssl/ui_compat.h deleted file mode 100644 index a7a5832..0000000 --- a/src/components/openssl/ui_compat.h +++ /dev/null @@ -1,88 +0,0 @@ -/* crypto/ui/ui.h */ -/* - * 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_COMPAT_H -# define HEADER_UI_COMPAT_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The following functions were previously part of the DES section, and are - * provided here for backward compatibility reasons. - */ - -# define des_read_pw_string(b,l,p,v) \ - _ossl_old_des_read_pw_string((b),(l),(p),(v)) -# define des_read_pw(b,bf,s,p,v) \ - _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) - -int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, - int verify); -int _ossl_old_des_read_pw(char *buf, char *buff, int size, const char *prompt, - int verify); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/whrlpool.h b/src/components/openssl/whrlpool.h deleted file mode 100644 index 65721d3..0000000 --- a/src/components/openssl/whrlpool.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef HEADER_WHRLPOOL_H -# define HEADER_WHRLPOOL_H - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define WHIRLPOOL_DIGEST_LENGTH (512/8) -# define WHIRLPOOL_BBLOCK 512 -# define WHIRLPOOL_COUNTER (256/8) - -typedef struct { - union { - unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; - /* double q is here to ensure 64-bit alignment */ - double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)]; - } H; - unsigned char data[WHIRLPOOL_BBLOCK / 8]; - unsigned int bitoff; - size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; -} WHIRLPOOL_CTX; - -# ifndef OPENSSL_NO_WHIRLPOOL -# ifdef OPENSSL_FIPS -int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); -# endif -int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); -int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); -void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); -int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); -unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); -# endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/openssl/x509.h b/src/components/openssl/x509.h deleted file mode 100644 index df9ca51..0000000 --- a/src/components/openssl/x509.h +++ /dev/null @@ -1,1330 +0,0 @@ -/* crypto/x509/x509.h */ -/* 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_BUFFER -# include -# endif -# ifndef OPENSSL_NO_EVP -# include -# endif -# ifndef OPENSSL_NO_BIO -# include -# endif -# include -# include -# include - -# ifndef OPENSSL_NO_EC -# include -# endif - -# ifndef OPENSSL_NO_ECDSA -# include -# endif - -# ifndef OPENSSL_NO_ECDH -# include -# endif - -# ifndef OPENSSL_NO_DEPRECATED -# ifndef OPENSSL_NO_RSA -# include -# endif -# ifndef OPENSSL_NO_DSA -# include -# endif -# ifndef OPENSSL_NO_DH -# include -# endif -# endif - -# ifndef OPENSSL_NO_SHA -# include -# endif -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_SYS_WIN32 -/* Under Win32 these are defined in wincrypt.h */ -# undef X509_NAME -# undef X509_CERT_PAIR -# 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 - -typedef struct X509_objects_st { - int nid; - int (*a2i) (void); - int (*i2a) (void); -} X509_OBJECTS; - -struct X509_algor_st { - ASN1_OBJECT *algorithm; - ASN1_TYPE *parameter; -} /* X509_ALGOR */ ; - -DECLARE_ASN1_SET_OF(X509_ALGOR) - -typedef STACK_OF(X509_ALGOR) X509_ALGORS; - -typedef struct X509_val_st { - ASN1_TIME *notBefore; - ASN1_TIME *notAfter; -} X509_VAL; - -struct X509_pubkey_st { - X509_ALGOR *algor; - ASN1_BIT_STRING *public_key; - EVP_PKEY *pkey; -}; - -typedef struct X509_sig_st { - X509_ALGOR *algor; - ASN1_OCTET_STRING *digest; -} X509_SIG; - -typedef struct X509_name_entry_st { - ASN1_OBJECT *object; - ASN1_STRING *value; - int set; - int size; /* temp variable */ -} X509_NAME_ENTRY; - -DECLARE_STACK_OF(X509_NAME_ENTRY) -DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) - -/* we always keep X509_NAMEs in 2 forms. */ -struct X509_name_st { - STACK_OF(X509_NAME_ENTRY) *entries; - int modified; /* true if 'bytes' needs to be built */ -# ifndef OPENSSL_NO_BUFFER - BUF_MEM *bytes; -# else - char *bytes; -# endif -/* unsigned long hash; Keep the hash around for lookups */ - unsigned char *canon_enc; - int canon_enclen; -} /* X509_NAME */ ; - -DECLARE_STACK_OF(X509_NAME) - -# define X509_EX_V_NETSCAPE_HACK 0x8000 -# define X509_EX_V_INIT 0x0001 -typedef struct X509_extension_st { - ASN1_OBJECT *object; - ASN1_BOOLEAN critical; - ASN1_OCTET_STRING *value; -} X509_EXTENSION; - -typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; - -DECLARE_STACK_OF(X509_EXTENSION) -DECLARE_ASN1_SET_OF(X509_EXTENSION) - -/* a sequence of these are used */ -typedef struct x509_attributes_st { - ASN1_OBJECT *object; - int single; /* 0 for a set, 1 for a single item (which is - * wrong) */ - union { - char *ptr; - /* - * 0 - */ STACK_OF(ASN1_TYPE) *set; - /* - * 1 - */ ASN1_TYPE *single; - } value; -} X509_ATTRIBUTE; - -DECLARE_STACK_OF(X509_ATTRIBUTE) -DECLARE_ASN1_SET_OF(X509_ATTRIBUTE) - -typedef struct X509_req_info_st { - ASN1_ENCODING enc; - ASN1_INTEGER *version; - X509_NAME *subject; - X509_PUBKEY *pubkey; - /* d=2 hl=2 l= 0 cons: cont: 00 */ - STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ -} X509_REQ_INFO; - -typedef struct X509_req_st { - X509_REQ_INFO *req_info; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int references; -} X509_REQ; - -typedef struct x509_cinf_st { - ASN1_INTEGER *version; /* [ 0 ] default of v1 */ - ASN1_INTEGER *serialNumber; - X509_ALGOR *signature; - X509_NAME *issuer; - X509_VAL *validity; - X509_NAME *subject; - X509_PUBKEY *key; - ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ - ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ - STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ - ASN1_ENCODING enc; -} X509_CINF; - -/* - * This stuff is certificate "auxiliary info" it contains details which are - * useful in certificate stores and databases. When used this is tagged onto - * the end of the certificate itself - */ - -typedef struct x509_cert_aux_st { - STACK_OF(ASN1_OBJECT) *trust; /* trusted uses */ - STACK_OF(ASN1_OBJECT) *reject; /* rejected uses */ - ASN1_UTF8STRING *alias; /* "friendly name" */ - ASN1_OCTET_STRING *keyid; /* key id of private key */ - STACK_OF(X509_ALGOR) *other; /* other unspecified info */ -} X509_CERT_AUX; - -struct x509_st { - X509_CINF *cert_info; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int valid; - int references; - char *name; - CRYPTO_EX_DATA ex_data; - /* These contain copies of various extension values */ - long ex_pathlen; - long ex_pcpathlen; - unsigned long ex_flags; - unsigned long ex_kusage; - unsigned long ex_xkusage; - unsigned long ex_nscert; - ASN1_OCTET_STRING *skid; - AUTHORITY_KEYID *akid; - X509_POLICY_CACHE *policy_cache; - STACK_OF(DIST_POINT) *crldp; - STACK_OF(GENERAL_NAME) *altname; - NAME_CONSTRAINTS *nc; -# ifndef OPENSSL_NO_RFC3779 - STACK_OF(IPAddressFamily) *rfc3779_addr; - struct ASIdentifiers_st *rfc3779_asid; -# endif -# ifndef OPENSSL_NO_SHA - unsigned char sha1_hash[SHA_DIGEST_LENGTH]; -# endif - X509_CERT_AUX *aux; -} /* X509 */ ; - -DECLARE_STACK_OF(X509) -DECLARE_ASN1_SET_OF(X509) - -/* This is used for a table of trust checking functions */ - -typedef struct x509_trust_st { - int trust; - int flags; - int (*check_trust) (struct x509_trust_st *, X509 *, int); - char *name; - int arg1; - void *arg2; -} X509_TRUST; - -DECLARE_STACK_OF(X509_TRUST) - -typedef struct x509_cert_pair_st { - X509 *forward; - X509 *reverse; -} X509_CERT_PAIR; - -/* standard trust ids */ - -# define X509_TRUST_DEFAULT -1/* Only valid in purpose settings */ - -# 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 - -/* trust_flags values */ -# define X509_TRUST_DYNAMIC 1 -# define X509_TRUST_DYNAMIC_NAME 2 - -/* check_trust return codes */ - -# define X509_TRUST_TRUSTED 1 -# define X509_TRUST_REJECTED 2 -# define X509_TRUST_UNTRUSTED 3 - -/* 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) -# define X509_FLAG_NO_IDS (1L << 12) - -/* 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) - -struct x509_revoked_st { - ASN1_INTEGER *serialNumber; - ASN1_TIME *revocationDate; - STACK_OF(X509_EXTENSION) /* optional */ *extensions; - /* Set up if indirect CRL */ - STACK_OF(GENERAL_NAME) *issuer; - /* Revocation reason */ - int reason; - int sequence; /* load sequence */ -}; - -DECLARE_STACK_OF(X509_REVOKED) -DECLARE_ASN1_SET_OF(X509_REVOKED) - -typedef struct X509_crl_info_st { - ASN1_INTEGER *version; - X509_ALGOR *sig_alg; - X509_NAME *issuer; - ASN1_TIME *lastUpdate; - ASN1_TIME *nextUpdate; - STACK_OF(X509_REVOKED) *revoked; - STACK_OF(X509_EXTENSION) /* [0] */ *extensions; - ASN1_ENCODING enc; -} X509_CRL_INFO; - -struct X509_crl_st { - /* actual signature */ - X509_CRL_INFO *crl; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int references; - int flags; - /* Copies of various extensions */ - AUTHORITY_KEYID *akid; - ISSUING_DIST_POINT *idp; - /* Convenient breakdown of IDP */ - int idp_flags; - int idp_reasons; - /* CRL and base CRL numbers for delta processing */ - ASN1_INTEGER *crl_number; - ASN1_INTEGER *base_crl_number; -# ifndef OPENSSL_NO_SHA - unsigned char sha1_hash[SHA_DIGEST_LENGTH]; -# endif - STACK_OF(GENERAL_NAMES) *issuers; - const X509_CRL_METHOD *meth; - void *meth_data; -} /* X509_CRL */ ; - -DECLARE_STACK_OF(X509_CRL) -DECLARE_ASN1_SET_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; - -/* Netscape certificate sequence structure */ -typedef struct Netscape_certificate_sequence { - ASN1_OBJECT *type; - STACK_OF(X509) *certs; -} NETSCAPE_CERT_SEQUENCE; - -/*- Unused (and iv length is wrong) -typedef struct CBCParameter_st - { - unsigned char iv[8]; - } CBC_PARAM; -*/ - -/* Password based encryption structure */ - -typedef struct PBEPARAM_st { - ASN1_OCTET_STRING *salt; - ASN1_INTEGER *iter; -} PBEPARAM; - -/* Password based encryption V2 structures */ - -typedef struct PBE2PARAM_st { - X509_ALGOR *keyfunc; - X509_ALGOR *encryption; -} PBE2PARAM; - -typedef struct PBKDF2PARAM_st { -/* Usually OCTET STRING but could be anything */ - ASN1_TYPE *salt; - ASN1_INTEGER *iter; - ASN1_INTEGER *keylength; - X509_ALGOR *prf; -} PBKDF2PARAM; - -/* PKCS#8 private key info structure */ - -struct pkcs8_priv_key_info_st { - /* Flag for various broken formats */ - int broken; -# define PKCS8_OK 0 -# define PKCS8_NO_OCTET 1 -# define PKCS8_EMBEDDED_PARAM 2 -# define PKCS8_NS_DB 3 -# define PKCS8_NEG_PRIVKEY 4 - ASN1_INTEGER *version; - X509_ALGOR *pkeyalg; - /* Should be OCTET STRING but some are broken */ - ASN1_TYPE *pkey; - STACK_OF(X509_ATTRIBUTE) *attributes; -}; - -#ifdef __cplusplus -} -#endif - -# include -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# define X509_EXT_PACK_UNKNOWN 1 -# define X509_EXT_PACK_STRING 2 - -# define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) -/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ -# define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) -# define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) -# define X509_extract_key(x) X509_get_pubkey(x)/*****/ -# define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) -# define X509_REQ_get_subject_name(x) ((x)->req_info->subject) -# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) -# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) -# define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_alg->algorithm)) - -# define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) -# define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) -# define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) -# define X509_CRL_get_issuer(x) ((x)->crl->issuer) -# define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) - -void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); -X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), - int (*crl_free) (X509_CRL *crl), - int (*crl_lookup) (X509_CRL *crl, - X509_REVOKED **ret, - ASN1_INTEGER *ser, - X509_NAME *issuer), - int (*crl_verify) (X509_CRL *crl, - EVP_PKEY *pk)); -void X509_CRL_METHOD_free(X509_CRL_METHOD *m); - -void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); -void *X509_CRL_get_meth_data(X509_CRL *crl); - -/* - * This one is only used so that a binary form can output, as in - * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) - */ -# define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) - -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, X509_ALGOR *alg, 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_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); -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 X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); -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 - -# ifndef OPENSSL_NO_FP_API -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); -# endif - -# 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_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); -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(ASN1_OBJECT **paobj, int *pptype, void **ppval, - X509_ALGOR *algor); -void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); -int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); - -X509_NAME *X509_NAME_dup(X509_NAME *xn); -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); - -DECLARE_ASN1_FUNCTIONS(X509_ALGOR) -DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) -DECLARE_ASN1_FUNCTIONS(X509_VAL) - -DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) - -int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); -EVP_PKEY *X509_PUBKEY_get(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 - -DECLARE_ASN1_FUNCTIONS(X509_SIG) -DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) -DECLARE_ASN1_FUNCTIONS(X509_REQ) - -DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) -X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); - -DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) -DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) - -DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) - -DECLARE_ASN1_FUNCTIONS(X509_NAME) - -int X509_NAME_set(X509_NAME **xn, X509_NAME *name); - -DECLARE_ASN1_FUNCTIONS(X509_CINF) - -DECLARE_ASN1_FUNCTIONS(X509) -DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) - -DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR) - -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); - -void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, - const X509 *x); -int X509_get_signature_nid(const X509 *x); - -int X509_alias_set1(X509 *x, unsigned char *name, int len); -int X509_keyid_set1(X509 *x, 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_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, - int); -int X509_TRUST_set(int *t, int trust); -int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); -int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); -void X509_trust_clear(X509 *x); -void X509_reject_clear(X509 *x); - -DECLARE_ASN1_FUNCTIONS(X509_REVOKED) -DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) -DECLARE_ASN1_FUNCTIONS(X509_CRL) - -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); -int i2d_X509_PKEY(X509_PKEY *a, unsigned char **pp); -X509_PKEY *d2i_X509_PKEY(X509_PKEY **a, const unsigned char **pp, - long length); - -DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) -DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) -DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) - -# ifndef OPENSSL_NO_EVP -X509_INFO *X509_INFO_new(void); -void X509_INFO_free(X509_INFO *a); -char *X509_NAME_oneline(X509_NAME *a, char *buf, int size); - -int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); - -int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, - unsigned char *md, unsigned int *len); - -int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, - X509_ALGOR *algor2, ASN1_BIT_STRING *signature, - char *data, EVP_PKEY *pkey, const EVP_MD *type); - -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 - -int X509_set_version(X509 *x, long version); -int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); -ASN1_INTEGER *X509_get_serialNumber(X509 *x); -int X509_set_issuer_name(X509 *x, X509_NAME *name); -X509_NAME *X509_get_issuer_name(X509 *a); -int X509_set_subject_name(X509 *x, X509_NAME *name); -X509_NAME *X509_get_subject_name(X509 *a); -int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); -int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); -int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); -EVP_PKEY *X509_get_pubkey(X509 *x); -ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); -int X509_certificate_type(X509 *x, EVP_PKEY *pubkey /* optional */ ); - -int X509_REQ_set_version(X509_REQ *x, long version); -int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); -int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); -EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); -int X509_REQ_extension_nid(int nid); -int *X509_REQ_get_extension_nids(void); -void X509_REQ_set_extension_nids(int *nids); -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, 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_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); -int X509_CRL_sort(X509_CRL *crl); - -int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); -int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); - -X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, - EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); - -int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); - -int X509_check_private_key(X509 *x509, EVP_PKEY *pkey); -int X509_chain_check_suiteb(int *perror_depth, - X509 *x, STACK_OF(X509) *chain, - unsigned long flags); -int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); -STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); - -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); -# ifndef OPENSSL_NO_FP_API -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, X509_NAME *nm, int indent, - unsigned long flags); -# endif - -# ifndef OPENSSL_NO_BIO -int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); -int X509_NAME_print_ex(BIO *out, 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_CERT_AUX_print(BIO *bp, X509_CERT_AUX *x, int indent); -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(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, ASN1_OBJECT *obj, - char *buf, int len); - -/* - * NOTE: you should be passsing -1, not 0 as lastpos. The functions that use - * lastpos, search after that position on. - */ -int X509_NAME_get_index_by_NID(X509_NAME *name, int nid, int lastpos); -int X509_NAME_get_index_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, - int lastpos); -X509_NAME_ENTRY *X509_NAME_get_entry(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, X509_NAME_ENTRY *ne, - int loc, int set); -int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, - unsigned char *bytes, int len, int loc, - int set); -int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, - 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, 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, - ASN1_OBJECT *obj, int type, - const unsigned char *bytes, - int len); -int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, 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(X509_NAME_ENTRY *ne); -ASN1_STRING *X509_NAME_ENTRY_get_data(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, - 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(X509 *x); -int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); -int X509_get_ext_by_OBJ(X509 *x, ASN1_OBJECT *obj, int lastpos); -int X509_get_ext_by_critical(X509 *x, int crit, int lastpos); -X509_EXTENSION *X509_get_ext(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(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(X509_CRL *x); -int X509_CRL_get_ext_by_NID(X509_CRL *x, int nid, int lastpos); -int X509_CRL_get_ext_by_OBJ(X509_CRL *x, ASN1_OBJECT *obj, int lastpos); -int X509_CRL_get_ext_by_critical(X509_CRL *x, int crit, int lastpos); -X509_EXTENSION *X509_CRL_get_ext(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(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(X509_REVOKED *x); -int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos); -int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x, ASN1_OBJECT *obj, - int lastpos); -int X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int lastpos); -X509_EXTENSION *X509_REVOKED_get_ext(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(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, - ASN1_OBJECT *obj, int crit, - ASN1_OCTET_STRING *data); -int X509_EXTENSION_set_object(X509_EXTENSION *ex, 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(X509_EXTENSION *ex); - -int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); -int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, - int lastpos); -int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, - ASN1_OBJECT *obj, int lastpos); -X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); -X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, - X509_ATTRIBUTE *attr); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) - **x, const ASN1_OBJECT *obj, - int type, - const unsigned char *bytes, - int len); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) - **x, int nid, int type, - const unsigned char *bytes, - int len); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) - **x, const char *attrname, - int type, - const unsigned char *bytes, - int len); -void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, ASN1_OBJECT *obj, - int lastpos, int type); -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(X509_ATTRIBUTE *attr); -ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); -ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); - -int EVP_PKEY_get_attr_count(const EVP_PKEY *key); -int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); -int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); -X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); -int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); -int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len); -int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, - int nid, int type, - const unsigned char *bytes, int len); -int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, - const char *attrname, int type, - const unsigned char *bytes, int len); - -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); - -DECLARE_ASN1_FUNCTIONS(PBEPARAM) -DECLARE_ASN1_FUNCTIONS(PBE2PARAM) -DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) - -int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, - const unsigned char *salt, int saltlen); - -X509_ALGOR *PKCS5_pbe_set(int alg, int iter, - const unsigned char *salt, int saltlen); -X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, - unsigned char *salt, int saltlen); -X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, - unsigned char *salt, int saltlen, - unsigned char *aiv, int prf_nid); - -X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, - int prf_nid, int keylen); - -/* PKCS#8 utilities */ - -DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) - -EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); -PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); - -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(ASN1_OBJECT **ppkalg, - const unsigned char **pk, int *ppklen, - X509_ALGOR **pa, PKCS8_PRIV_KEY_INFO *p8); - -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_check_trust(X509 *x, int id, int flags); -int X509_TRUST_get_count(void); -X509_TRUST *X509_TRUST_get0(int idx); -int X509_TRUST_get_by_id(int id); -int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), - char *name, int arg1, void *arg2); -void X509_TRUST_cleanup(void); -int X509_TRUST_get_flags(X509_TRUST *xp); -char *X509_TRUST_get0_name(X509_TRUST *xp); -int X509_TRUST_get_trust(X509_TRUST *xp); - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -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_NAME_CONSTRAINTS 106 -# 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_DIFF 105 -# 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_AKID_MISMATCH 110 -# 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_CRL_ALREADY_DELTA 127 -# define X509_R_CRL_VERIFY_FAILURE 131 -# define X509_R_ERR_ASN1_LIB 102 -# define X509_R_IDP_MISMATCH 128 -# define X509_R_INVALID_DIRECTORY 113 -# define X509_R_INVALID_FIELD_NAME 119 -# define X509_R_INVALID_TRUST 123 -# define X509_R_ISSUER_MISMATCH 129 -# 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_NAME_TOO_LONG 134 -# define X509_R_NEWER_CRL_NOT_NEWER 132 -# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 -# define X509_R_NO_CRL_NUMBER 130 -# 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/src/components/openssl/x509_vfy.h b/src/components/openssl/x509_vfy.h deleted file mode 100644 index b68553e..0000000 --- a/src/components/openssl/x509_vfy.h +++ /dev/null @@ -1,652 +0,0 @@ -/* crypto/x509/x509_vfy.h */ -/* 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 -# include - -#ifdef __cplusplus -extern "C" { -#endif - -# if 0 -/* Outer object */ -typedef struct x509_hash_dir_st { - int num_dirs; - char **dirs; - int *dirs_type; - int num_dirs_alloced; -} X509_HASH_DIR_CTX; -# endif - -typedef struct x509_file_st { - int num_paths; /* number of paths to files or directories */ - int num_alloced; - char **paths; /* the list of paths or directories */ - int *path_type; -} X509_CERT_FILE_CTX; - -/*******************************/ -/*- -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. -*/ - -# define X509_LU_RETRY -1 -# define X509_LU_FAIL 0 -# define X509_LU_X509 1 -# define X509_LU_CRL 2 -# define X509_LU_PKEY 3 - -typedef struct x509_object_st { - /* one of the above types */ - int type; - union { - char *ptr; - X509 *x509; - X509_CRL *crl; - EVP_PKEY *pkey; - } data; -} X509_OBJECT; - -typedef struct x509_lookup_st X509_LOOKUP; - -DECLARE_STACK_OF(X509_LOOKUP) -DECLARE_STACK_OF(X509_OBJECT) - -/* This is a static that defines the function interface */ -typedef struct x509_lookup_method_st { - const char *name; - int (*new_item) (X509_LOOKUP *ctx); - void (*free) (X509_LOOKUP *ctx); - int (*init) (X509_LOOKUP *ctx); - int (*shutdown) (X509_LOOKUP *ctx); - int (*ctrl) (X509_LOOKUP *ctx, int cmd, const char *argc, long argl, - char **ret); - int (*get_by_subject) (X509_LOOKUP *ctx, int type, X509_NAME *name, - X509_OBJECT *ret); - int (*get_by_issuer_serial) (X509_LOOKUP *ctx, int type, X509_NAME *name, - ASN1_INTEGER *serial, X509_OBJECT *ret); - int (*get_by_fingerprint) (X509_LOOKUP *ctx, int type, - unsigned char *bytes, int len, - X509_OBJECT *ret); - int (*get_by_alias) (X509_LOOKUP *ctx, int type, char *str, int len, - X509_OBJECT *ret); -} X509_LOOKUP_METHOD; - -typedef struct X509_VERIFY_PARAM_ID_st X509_VERIFY_PARAM_ID; - -/* - * This structure hold all parameters associated with a verify operation by - * including an X509_VERIFY_PARAM structure in related structures the - * parameters used can be customized - */ - -typedef struct X509_VERIFY_PARAM_st { - char *name; - time_t check_time; /* Time to use */ - unsigned long inh_flags; /* Inheritance flags */ - unsigned long flags; /* Various verify flags */ - int purpose; /* purpose to check untrusted certificates */ - int trust; /* trust setting to check */ - int depth; /* Verify depth */ - STACK_OF(ASN1_OBJECT) *policies; /* Permissible policies */ - X509_VERIFY_PARAM_ID *id; /* opaque ID data */ -} X509_VERIFY_PARAM; - -DECLARE_STACK_OF(X509_VERIFY_PARAM) - -/* - * This is used to hold everything. It is used for all certificate - * validation. Once we have a certificate chain, the 'verify' function is - * then called to actually check the cert chain. - */ -struct x509_store_st { - /* The following is a cache of trusted certs */ - int cache; /* if true, stash any hits */ - STACK_OF(X509_OBJECT) *objs; /* Cache of all objects */ - /* These are external lookup methods */ - STACK_OF(X509_LOOKUP) *get_cert_methods; - X509_VERIFY_PARAM *param; - /* Callbacks for various operations */ - /* called to verify a certificate */ - int (*verify) (X509_STORE_CTX *ctx); - /* error callback */ - int (*verify_cb) (int ok, X509_STORE_CTX *ctx); - /* get issuers cert from ctx */ - int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); - /* check issued */ - int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); - /* Check revocation status of chain */ - int (*check_revocation) (X509_STORE_CTX *ctx); - /* retrieve CRL */ - int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); - /* Check CRL validity */ - int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); - /* Check certificate against CRL */ - int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); - STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); - STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); - int (*cleanup) (X509_STORE_CTX *ctx); - CRYPTO_EX_DATA ex_data; - int references; -} /* X509_STORE */ ; - -int X509_STORE_set_depth(X509_STORE *store, int depth); - -# define X509_STORE_set_verify_cb_func(ctx,func) ((ctx)->verify_cb=(func)) -# define X509_STORE_set_verify_func(ctx,func) ((ctx)->verify=(func)) - -/* This is the functions plus an instance of the local variables. */ -struct x509_lookup_st { - int init; /* have we been started */ - int skip; /* don't use us. */ - X509_LOOKUP_METHOD *method; /* the functions */ - char *method_data; /* method data */ - X509_STORE *store_ctx; /* who owns us */ -} /* X509_LOOKUP */ ; - -/* - * This is a used when verifying cert chains. Since the gathering of the - * cert chain can take some time (and have to be 'retried', this needs to be - * kept and passed around. - */ -struct x509_store_ctx_st { /* X509_STORE_CTX */ - X509_STORE *ctx; - /* used when looking up certs */ - int current_method; - /* The following are set by the caller */ - /* The cert to check */ - X509 *cert; - /* chain of X509s - untrusted - passed in */ - STACK_OF(X509) *untrusted; - /* set of CRLs passed in */ - STACK_OF(X509_CRL) *crls; - X509_VERIFY_PARAM *param; - /* Other info for use with get_issuer() */ - void *other_ctx; - /* Callbacks for various operations */ - /* called to verify a certificate */ - int (*verify) (X509_STORE_CTX *ctx); - /* error callback */ - int (*verify_cb) (int ok, X509_STORE_CTX *ctx); - /* get issuers cert from ctx */ - int (*get_issuer) (X509 **issuer, X509_STORE_CTX *ctx, X509 *x); - /* check issued */ - int (*check_issued) (X509_STORE_CTX *ctx, X509 *x, X509 *issuer); - /* Check revocation status of chain */ - int (*check_revocation) (X509_STORE_CTX *ctx); - /* retrieve CRL */ - int (*get_crl) (X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); - /* Check CRL validity */ - int (*check_crl) (X509_STORE_CTX *ctx, X509_CRL *crl); - /* Check certificate against CRL */ - int (*cert_crl) (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); - int (*check_policy) (X509_STORE_CTX *ctx); - STACK_OF(X509) *(*lookup_certs) (X509_STORE_CTX *ctx, X509_NAME *nm); - STACK_OF(X509_CRL) *(*lookup_crls) (X509_STORE_CTX *ctx, X509_NAME *nm); - int (*cleanup) (X509_STORE_CTX *ctx); - /* The following is built up */ - /* if 0, rebuild chain */ - int valid; - /* index of last untrusted cert */ - int last_untrusted; - /* chain of X509s - built up and trusted */ - STACK_OF(X509) *chain; - /* Valid policy tree */ - X509_POLICY_TREE *tree; - /* Require explicit policy value */ - int explicit_policy; - /* When something goes wrong, this is why */ - int error_depth; - int error; - X509 *current_cert; - /* cert currently being tested as valid issuer */ - X509 *current_issuer; - /* current CRL */ - X509_CRL *current_crl; - /* score of current CRL */ - int current_crl_score; - /* Reason mask */ - unsigned int current_reasons; - /* For CRL path validation: parent context */ - X509_STORE_CTX *parent; - CRYPTO_EX_DATA ex_data; -} /* X509_STORE_CTX */ ; - -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_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_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_APPLICATION_VERIFICATION 50 -# 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 - -/* Suite B mode algorithm violation */ -# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 -# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 -# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 -# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 -# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 -# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 - -/* 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 - -# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 67 - -/* Certificate verify flags */ - -/* Send issuer+subject checks to verify_cb */ -# define X509_V_FLAG_CB_ISSUER_CHECK 0x1 -/* 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 -/* Enable policy checking */ -# 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 -/* Suite B 128 bit only mode: not normally used */ -# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 -/* Suite B 192 bit only mode */ -# define X509_V_FLAG_SUITEB_192_LOS 0x20000 -/* Suite B 128 bit mode allowing 192 bit algorithms */ -# define X509_V_FLAG_SUITEB_128_LOS 0x30000 - -/* 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 - -# 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 - -/* Internal use: mask of policy related options */ -# 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) - -int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, int type, - X509_NAME *name); -X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, - int type, X509_NAME *name); -X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, - X509_OBJECT *x); -void X509_OBJECT_up_ref_count(X509_OBJECT *a); -void X509_OBJECT_free_contents(X509_OBJECT *a); -X509_STORE *X509_STORE_new(void); -void X509_STORE_free(X509_STORE *v); - -STACK_OF(X509) *X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); -STACK_OF(X509_CRL) *X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); -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); - -void X509_STORE_set_verify_cb(X509_STORE *ctx, - int (*verify_cb) (int, X509_STORE_CTX *)); - -void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, - STACK_OF(X509_CRL) *(*cb) (X509_STORE_CTX - *ctx, - X509_NAME *nm)); - -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); -void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); -void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); - -X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); - -X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); - -X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); -X509_LOOKUP_METHOD *X509_LOOKUP_file(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_get_by_subject(X509_STORE_CTX *vs, int type, X509_NAME *name, - X509_OBJECT *ret); - -int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, - long argl, char **ret); - -# ifndef OPENSSL_NO_STDIO -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); -# endif - -X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); -void X509_LOOKUP_free(X509_LOOKUP *ctx); -int X509_LOOKUP_init(X509_LOOKUP *ctx); -int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type, X509_NAME *name, - X509_OBJECT *ret); -int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type, X509_NAME *name, - ASN1_INTEGER *serial, X509_OBJECT *ret); -int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type, - unsigned char *bytes, int len, - X509_OBJECT *ret); -int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str, int len, - X509_OBJECT *ret); -int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); - -# ifndef OPENSSL_NO_STDIO -int X509_STORE_load_locations(X509_STORE *ctx, - const char *file, const char *dir); -int X509_STORE_set_default_paths(X509_STORE *ctx); -# endif - -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); -X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -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); -int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, - int purpose, 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_set_verify_cb(X509_STORE_CTX *ctx, - int (*verify_cb) (int, X509_STORE_CTX *)); - -X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); -int X509_STORE_CTX_get_explicit_policy(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_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_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 *); -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); - -int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); -const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); - -int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_get_count(void); -const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); -const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); -void X509_VERIFY_PARAM_table_cleanup(void); - -int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, - STACK_OF(X509) *certs, - STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); - -void X509_policy_tree_free(X509_POLICY_TREE *tree); - -int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); -X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, - int i); - -STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_policies(const - X509_POLICY_TREE - *tree); - -STACK_OF(X509_POLICY_NODE) *X509_policy_tree_get0_user_policies(const - X509_POLICY_TREE - *tree); - -int X509_policy_level_node_count(X509_POLICY_LEVEL *level); - -X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, - int i); - -const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); - -STACK_OF(POLICYQUALINFO) *X509_policy_node_get0_qualifiers(const - X509_POLICY_NODE - *node); -const X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE - *node); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/components/openssl/x509v3.h b/src/components/openssl/x509v3.h deleted file mode 100644 index 2d29ae4..0000000 --- a/src/components/openssl/x509v3.h +++ /dev/null @@ -1,1055 +0,0 @@ -/* x509v3.h */ -/* - * 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 - -#ifdef __cplusplus -extern "C" { -#endif - -# ifdef OPENSSL_SYS_WIN32 -/* Under Win32 these are defined in wincrypt.h */ -# undef X509_NAME -# undef X509_CERT_PAIR -# undef X509_EXTENSIONS -# 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; - void *usr_data; /* Any extension specific data */ -}; - -typedef struct X509V3_CONF_METHOD_st { - char *(*get_string) (void *db, char *section, char *value); - STACK_OF(CONF_VALUE) *(*get_section) (void *db, char *section); - void (*free_string) (void *db, char *string); - void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); -} X509V3_CONF_METHOD; - -/* Context specific info */ -struct v3_ext_ctx { -# define CTX_TEST 0x1 - int flags; - X509 *issuer_cert; - X509 *subject_cert; - X509_REQ *subject_req; - X509_CRL *crl; - X509V3_CONF_METHOD *db_meth; - void *db; -/* Maybe more here */ -}; - -typedef struct v3_ext_method X509V3_EXT_METHOD; - -DECLARE_STACK_OF(X509V3_EXT_METHOD) - -/* ext_flags values */ -# define X509V3_EXT_DYNAMIC 0x1 -# define X509V3_EXT_CTX_DEP 0x2 -# define X509V3_EXT_MULTILINE 0x4 - -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_TYPE *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 */ - ASN1_TYPE *other; /* x400Address */ - } d; -} GENERAL_NAME; - -typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; - -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) -DECLARE_ASN1_SET_OF(GENERAL_NAME) - -DECLARE_STACK_OF(ACCESS_DESCRIPTION) -DECLARE_ASN1_SET_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) -DECLARE_ASN1_SET_OF(DIST_POINT) - -struct AUTHORITY_KEYID_st { - ASN1_OCTET_STRING *keyid; - GENERAL_NAMES *issuer; - ASN1_INTEGER *serial; -}; - -/* Strong extranet structures */ - -typedef struct SXNET_ID_st { - ASN1_INTEGER *zone; - ASN1_OCTET_STRING *user; -} SXNETID; - -DECLARE_STACK_OF(SXNETID) -DECLARE_ASN1_SET_OF(SXNETID) - -typedef struct SXNET_st { - ASN1_INTEGER *version; - STACK_OF(SXNETID) *ids; -} SXNET; - -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) -DECLARE_ASN1_SET_OF(POLICYQUALINFO) - -typedef struct POLICYINFO_st { - ASN1_OBJECT *policyid; - STACK_OF(POLICYQUALINFO) *qualifiers; -} POLICYINFO; - -typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; - -DECLARE_STACK_OF(POLICYINFO) -DECLARE_ASN1_SET_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; - -/* Proxy certificate structures, see RFC 3820 */ -typedef struct PROXY_POLICY_st { - ASN1_OBJECT *policyLanguage; - ASN1_OCTET_STRING *policy; -} PROXY_POLICY; - -typedef struct PROXY_CERT_INFO_EXTENSION_st { - ASN1_INTEGER *pcPathLengthConstraint; - PROXY_POLICY *proxyPolicy; -} PROXY_CERT_INFO_EXTENSION; - -DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) -DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) - -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_add_error_data(6, "section:", val->section, \ -",name:", val->name, ",value:", 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; - -# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ - 0,0,0,0, \ - 0,0, \ - (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ - (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ - NULL, NULL, \ - table} - -# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ - 0,0,0,0, \ - (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ - (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ - 0,0,0,0, \ - NULL} - -# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - -/* X509_PURPOSE stuff */ - -# define EXFLAG_BCONS 0x1 -# define EXFLAG_KUSAGE 0x2 -# define EXFLAG_XKUSAGE 0x4 -# define EXFLAG_NSCERT 0x8 - -# define EXFLAG_CA 0x10 -/* Really self issued not necessarily self signed */ -# define EXFLAG_SI 0x20 -# define EXFLAG_V1 0x40 -# define EXFLAG_INVALID 0x80 -# define EXFLAG_SET 0x100 -# define EXFLAG_CRITICAL 0x200 -# define EXFLAG_PROXY 0x400 - -# define EXFLAG_INVALID_POLICY 0x800 -# define EXFLAG_FRESHEST 0x1000 -/* Self signed */ -# define EXFLAG_SS 0x2000 - -# 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 { - int purpose; - int trust; /* Default trust ID */ - int flags; - int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); - char *name; - char *sname; - void *usr_data; -} 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) - -DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) - -DECLARE_ASN1_FUNCTIONS(SXNET) -DECLARE_ASN1_FUNCTIONS(SXNETID) - -int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); -int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, - int userlen); -int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, - int userlen); - -ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone); -ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); -ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); - -DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) - -DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) - -DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) -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); - -DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) - -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); - -DECLARE_ASN1_FUNCTIONS(OTHERNAME) -DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) -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, - ASN1_OCTET_STRING *ia5); -ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, char *str); - -DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) -int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION *a); - -DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) -DECLARE_ASN1_FUNCTIONS(POLICYINFO) -DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) -DECLARE_ASN1_FUNCTIONS(USERNOTICE) -DECLARE_ASN1_FUNCTIONS(NOTICEREF) - -DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) -DECLARE_ASN1_FUNCTIONS(DIST_POINT) -DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) -DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) - -int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); - -int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); - -DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) -DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) - -DECLARE_ASN1_ITEM(POLICY_MAPPING) -DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) -DECLARE_ASN1_ITEM(POLICY_MAPPINGS) - -DECLARE_ASN1_ITEM(GENERAL_SUBTREE) -DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) - -DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) -DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) - -DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) -DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) - -GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, - const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, int gen_type, 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, - char *value); -X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, - char *value); -int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, - STACK_OF(X509_EXTENSION) **sk); -int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, - X509 *cert); -int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, - X509_REQ *req); -int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, - X509_CRL *crl); - -X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, - X509V3_CTX *ctx, int ext_nid, - char *value); -X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *name, char *value); -int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509 *cert); -int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509_REQ *req); -int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509_CRL *crl); - -int X509V3_add_value_bool_nf(char *name, int asn1_bool, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); -int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); -void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); -void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); -# endif - -char *X509V3_get_string(X509V3_CTX *ctx, char *name, char *section); -STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, char *section); -void X509V3_string_free(X509V3_CTX *ctx, char *str); -void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); -void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, - X509_REQ *req, X509_CRL *crl, int flags); - -int X509V3_add_value(const char *name, const char *value, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_uchar(const char *name, const unsigned char *value, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_bool(const char *name, int asn1_bool, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint, - STACK_OF(CONF_VALUE) **extlist); -char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint); -ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value); -char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint); -char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, - ASN1_ENUMERATED *aint); -int X509V3_EXT_add(X509V3_EXT_METHOD *ext); -int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); -int X509V3_EXT_add_alias(int nid_to, int nid_from); -void X509V3_EXT_cleanup(void); - -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(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, - int *idx); -int X509V3_EXT_free(int nid, void *ext_data); - -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); -int name_cmp(const char *name, const char *cmp); - -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, char *title, - 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_PURPOSE_set(int *p, int purpose); -int X509_check_issued(X509 *issuer, X509 *subject); -int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid); -int X509_PURPOSE_get_count(void); -X509_PURPOSE *X509_PURPOSE_get0(int idx); -int X509_PURPOSE_get_by_sname(char *sname); -int X509_PURPOSE_get_by_id(int id); -int X509_PURPOSE_add(int id, int trust, int flags, - int (*ck) (const X509_PURPOSE *, const X509 *, int), - char *name, char *sname, void *arg); -char *X509_PURPOSE_get0_name(X509_PURPOSE *xp); -char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp); -int X509_PURPOSE_get_trust(X509_PURPOSE *xp); -void X509_PURPOSE_cleanup(void); -int X509_PURPOSE_get_id(X509_PURPOSE *); - -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 -/* - * Match reference identifiers starting with "." to any sub-domain. - * This is a non-public flag, turned on implicitly when the subject - * reference identity is a DNS name. - */ -# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 - -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); - -void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); -DECLARE_STACK_OF(X509_POLICY_NODE) - -# ifndef OPENSSL_NO_RFC3779 - -typedef struct ASRange_st { - ASN1_INTEGER *min, *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, *rdi; -} ASIdentifiers; - -DECLARE_ASN1_FUNCTIONS(ASRange) -DECLARE_ASN1_FUNCTIONS(ASIdOrRange) -DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) -DECLARE_ASN1_FUNCTIONS(ASIdentifiers) - -typedef struct IPAddressRange_st { - ASN1_BIT_STRING *min, *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) - -DECLARE_ASN1_FUNCTIONS(IPAddressRange) -DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) -DECLARE_ASN1_FUNCTIONS(IPAddressChoice) -DECLARE_ASN1_FUNCTIONS(IPAddressFamily) - -/* - * 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 v3_asid_add_inherit(ASIdentifiers *asid, int which); -int v3_asid_add_id_or_range(ASIdentifiers *asid, int which, - ASN1_INTEGER *min, ASN1_INTEGER *max); -int v3_addr_add_inherit(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi); -int v3_addr_add_prefix(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *a, const int prefixlen); -int v3_addr_add_range(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *min, unsigned char *max); -unsigned v3_addr_get_afi(const IPAddressFamily *f); -int v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, - unsigned char *min, unsigned char *max, - const int length); - -/* - * Canonical forms. - */ -int v3_asid_is_canonical(ASIdentifiers *asid); -int v3_addr_is_canonical(IPAddrBlocks *addr); -int v3_asid_canonize(ASIdentifiers *asid); -int v3_addr_canonize(IPAddrBlocks *addr); - -/* - * Tests for inheritance and containment. - */ -int v3_asid_inherits(ASIdentifiers *asid); -int v3_addr_inherits(IPAddrBlocks *addr); -int v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); -int v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); - -/* - * Check whether RFC 3779 extensions nest properly in chains. - */ -int v3_asid_validate_path(X509_STORE_CTX *); -int v3_addr_validate_path(X509_STORE_CTX *); -int v3_asid_validate_resource_set(STACK_OF(X509) *chain, - ASIdentifiers *ext, int allow_inheritance); -int v3_addr_validate_resource_set(STACK_OF(X509) *chain, - IPAddrBlocks *ext, int allow_inheritance); - -# endif /* OPENSSL_NO_RFC3779 */ - -/* BEGIN ERROR CODES */ -/* - * The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -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_FREE 165 -# 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_CANNOT_FIND_FREE_FUNCTION 168 -# 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_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_MULTIPLE_RDNS 161 -# 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/src/components/redis/async.h b/src/components/redis/async.h deleted file mode 100644 index e69d840..0000000 --- a/src/components/redis/async.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2009-2011, Salvatore Sanfilippo - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * 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 Redis 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 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. - */ - -#ifndef __HIREDIS_ASYNC_H -#define __HIREDIS_ASYNC_H -#include "hiredis.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct redisAsyncContext; /* need forward declaration of redisAsyncContext */ -struct dict; /* dictionary header is included in async.c */ - -/* Reply callback prototype and container */ -typedef void (redisCallbackFn)(struct redisAsyncContext*, void*, void*); -typedef struct redisCallback { - struct redisCallback *next; /* simple singly linked list */ - redisCallbackFn *fn; - int pending_subs; - void *privdata; -} redisCallback; - -/* List of callbacks for either regular replies or pub/sub */ -typedef struct redisCallbackList { - redisCallback *head, *tail; -} redisCallbackList; - -/* Connection callback prototypes */ -typedef void (redisDisconnectCallback)(const struct redisAsyncContext*, int status); -typedef void (redisConnectCallback)(const struct redisAsyncContext*, int status); - -/* Context for an async connection to Redis */ -typedef struct redisAsyncContext { - /* Hold the regular context, so it can be realloc'ed. */ - redisContext c; - - /* Setup error flags so they can be used directly. */ - int err; - char *errstr; - - /* Not used by hiredis */ - void *data; - - /* Event library data and hooks */ - struct { - void *data; - - /* Hooks that are called when the library expects to start - * reading/writing. These functions should be idempotent. */ - void (*addRead)(void *privdata); - void (*delRead)(void *privdata); - void (*addWrite)(void *privdata); - void (*delWrite)(void *privdata); - void (*cleanup)(void *privdata); - } ev; - - /* Called when either the connection is terminated due to an error or per - * user request. The status is set accordingly (REDIS_OK, REDIS_ERR). */ - redisDisconnectCallback *onDisconnect; - - /* Called when the first write event was received. */ - redisConnectCallback *onConnect; - - /* Regular command callbacks */ - redisCallbackList replies; - - /* Subscription callbacks */ - struct { - redisCallbackList invalid; - struct dict *channels; - struct dict *patterns; - } sub; -} redisAsyncContext; - -/* Functions that proxy to hiredis */ -redisAsyncContext *redisAsyncConnect(const char *ip, int port); -redisAsyncContext *redisAsyncConnectBind(const char *ip, int port, const char *source_addr); -redisAsyncContext *redisAsyncConnectBindWithReuse(const char *ip, int port, - const char *source_addr); -redisAsyncContext *redisAsyncConnectUnix(const char *path); -int redisAsyncSetConnectCallback(redisAsyncContext *ac, redisConnectCallback *fn); -int redisAsyncSetDisconnectCallback(redisAsyncContext *ac, redisDisconnectCallback *fn); -void redisAsyncDisconnect(redisAsyncContext *ac); -void redisAsyncFree(redisAsyncContext *ac); - -/* Handle read/write events */ -void redisAsyncHandleRead(redisAsyncContext *ac); -void redisAsyncHandleWrite(redisAsyncContext *ac); - -/* Command functions for an async context. Write the command to the - * output buffer and register the provided callback. */ -int redisvAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, const char *format, va_list ap); -int redisAsyncCommand(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, const char *format, ...); -int redisAsyncCommandArgv(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, int argc, const char **argv, const size_t *argvlen); -int redisAsyncFormattedCommand(redisAsyncContext *ac, redisCallbackFn *fn, void *privdata, const char *cmd, size_t len); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/redis/hiredis.h b/src/components/redis/hiredis.h deleted file mode 100644 index a743760..0000000 --- a/src/components/redis/hiredis.h +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (c) 2009-2011, Salvatore Sanfilippo - * Copyright (c) 2010-2014, Pieter Noordhuis - * Copyright (c) 2015, Matt Stancliff , - * Jan-Erik Rediger - * - * 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 Redis 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 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. - */ - -#ifndef __HIREDIS_H -#define __HIREDIS_H -#include "read.h" -#include /* for va_list */ -#include /* for struct timeval */ -#include /* uintXX_t, etc */ -#include "sds.h" /* for sds */ - -#define HIREDIS_MAJOR 0 -#define HIREDIS_MINOR 13 -#define HIREDIS_PATCH 3 -#define HIREDIS_SONAME 0.13 - -/* Connection type can be blocking or non-blocking and is set in the - * least significant bit of the flags field in redisContext. */ -#define REDIS_BLOCK 0x1 - -/* Connection may be disconnected before being free'd. The second bit - * in the flags field is set when the context is connected. */ -#define REDIS_CONNECTED 0x2 - -/* The async API might try to disconnect cleanly and flush the output - * buffer and read all subsequent replies before disconnecting. - * This flag means no new commands can come in and the connection - * should be terminated once all replies have been read. */ -#define REDIS_DISCONNECTING 0x4 - -/* Flag specific to the async API which means that the context should be clean - * up as soon as possible. */ -#define REDIS_FREEING 0x8 - -/* Flag that is set when an async callback is executed. */ -#define REDIS_IN_CALLBACK 0x10 - -/* Flag that is set when the async context has one or more subscriptions. */ -#define REDIS_SUBSCRIBED 0x20 - -/* Flag that is set when monitor mode is active */ -#define REDIS_MONITORING 0x40 - -/* Flag that is set when we should set SO_REUSEADDR before calling bind() */ -#define REDIS_REUSEADDR 0x80 - -#define REDIS_KEEPALIVE_INTERVAL 15 /* seconds */ - -/* number of times we retry to connect in the case of EADDRNOTAVAIL and - * SO_REUSEADDR is being used. */ -#define REDIS_CONNECT_RETRIES 10 - -#ifdef __cplusplus -extern "C" { -#endif - -/* This is the reply object returned by redisCommand() */ -typedef struct redisReply { - int type; /* REDIS_REPLY_* */ - long long integer; /* The integer when type is REDIS_REPLY_INTEGER */ - size_t len; /* Length of string */ - char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */ - size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */ - struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */ -} redisReply; - -redisReader *redisReaderCreate(void); - -/* Function to free the reply objects hiredis returns by default. */ -void freeReplyObject(void *reply); - -/* Functions to format a command according to the protocol. */ -int redisvFormatCommand(char **target, const char *format, va_list ap); -int redisFormatCommand(char **target, const char *format, ...); -int redisFormatCommandArgv(char **target, int argc, const char **argv, const size_t *argvlen); -int redisFormatSdsCommandArgv(sds *target, int argc, const char ** argv, const size_t *argvlen); -void redisFreeCommand(char *cmd); -void redisFreeSdsCommand(sds cmd); - -enum redisConnectionType { - REDIS_CONN_TCP, - REDIS_CONN_UNIX -}; - -/* Context for a connection to Redis */ -typedef struct redisContext { - int err; /* Error flags, 0 when there is no error */ - char errstr[128]; /* String representation of error when applicable */ - int fd; - int flags; - char *obuf; /* Write buffer */ - redisReader *reader; /* Protocol reader */ - - enum redisConnectionType connection_type; - struct timeval *timeout; - - struct { - char *host; - char *source_addr; - int port; - } tcp; - - struct { - char *path; - } unix_sock; - -} redisContext; - -redisContext *redisConnect(const char *ip, int port); -redisContext *redisConnectWithTimeout(const char *ip, int port, const struct timeval tv); -redisContext *redisConnectNonBlock(const char *ip, int port); -redisContext *redisConnectBindNonBlock(const char *ip, int port, - const char *source_addr); -redisContext *redisConnectBindNonBlockWithReuse(const char *ip, int port, - const char *source_addr); -redisContext *redisConnectUnix(const char *path); -redisContext *redisConnectUnixWithTimeout(const char *path, const struct timeval tv); -redisContext *redisConnectUnixNonBlock(const char *path); -redisContext *redisConnectFd(int fd); - -/** - * Reconnect the given context using the saved information. - * - * This re-uses the exact same connect options as in the initial connection. - * host, ip (or path), timeout and bind address are reused, - * flags are used unmodified from the existing context. - * - * Returns REDIS_OK on successful connect or REDIS_ERR otherwise. - */ -int redisReconnect(redisContext *c); - -int redisSetTimeout(redisContext *c, const struct timeval tv); -int redisEnableKeepAlive(redisContext *c); -void redisFree(redisContext *c); -int redisFreeKeepFd(redisContext *c); -int redisBufferRead(redisContext *c); -int redisBufferWrite(redisContext *c, int *done); - -/* In a blocking context, this function first checks if there are unconsumed - * replies to return and returns one if so. Otherwise, it flushes the output - * buffer to the socket and reads until it has a reply. In a non-blocking - * context, it will return unconsumed replies until there are no more. */ -int redisGetReply(redisContext *c, void **reply); -int redisGetReplyFromReader(redisContext *c, void **reply); - -/* Write a formatted command to the output buffer. Use these functions in blocking mode - * to get a pipeline of commands. */ -int redisAppendFormattedCommand(redisContext *c, const char *cmd, size_t len); - -/* Write a command to the output buffer. Use these functions in blocking mode - * to get a pipeline of commands. */ -int redisvAppendCommand(redisContext *c, const char *format, va_list ap); -int redisAppendCommand(redisContext *c, const char *format, ...); -int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen); - -/* Issue a command to Redis. In a blocking context, it is identical to calling - * redisAppendCommand, followed by redisGetReply. The function will return - * NULL if there was an error in performing the request, otherwise it will - * return the reply. In a non-blocking context, it is identical to calling - * only redisAppendCommand and will always return NULL. */ -void *redisvCommand(redisContext *c, const char *format, va_list ap); -void *redisCommand(redisContext *c, const char *format, ...); -void *redisCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/redis/libevent.h b/src/components/redis/libevent.h deleted file mode 100644 index 69e9533..0000000 --- a/src/components/redis/libevent.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * 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 Redis 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 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. - */ - -#ifndef __HIREDIS_LIBEVENT_H__ -#define __HIREDIS_LIBEVENT_H__ -#include -#include "hiredis.h" -#include "async.h" - -typedef struct redisLibeventEvents { - redisAsyncContext *context; - struct event *rev, *wev; -} redisLibeventEvents; - -static void redisLibeventReadEvent(int fd, short event, void *arg) { - ((void)fd); ((void)event); - redisLibeventEvents *e = (redisLibeventEvents*)arg; - redisAsyncHandleRead(e->context); -} - -static void redisLibeventWriteEvent(int fd, short event, void *arg) { - ((void)fd); ((void)event); - redisLibeventEvents *e = (redisLibeventEvents*)arg; - redisAsyncHandleWrite(e->context); -} - -static void redisLibeventAddRead(void *privdata) { - redisLibeventEvents *e = (redisLibeventEvents*)privdata; - event_add(e->rev,NULL); -} - -static void redisLibeventDelRead(void *privdata) { - redisLibeventEvents *e = (redisLibeventEvents*)privdata; - event_del(e->rev); -} - -static void redisLibeventAddWrite(void *privdata) { - redisLibeventEvents *e = (redisLibeventEvents*)privdata; - event_add(e->wev,NULL); -} - -static void redisLibeventDelWrite(void *privdata) { - redisLibeventEvents *e = (redisLibeventEvents*)privdata; - event_del(e->wev); -} - -static void redisLibeventCleanup(void *privdata) { - redisLibeventEvents *e = (redisLibeventEvents*)privdata; - event_free(e->rev); - event_free(e->wev); - free(e); -} - -static int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) { - redisContext *c = &(ac->c); - redisLibeventEvents *e; - - /* Nothing should be attached when something is already attached */ - if (ac->ev.data != NULL) - return REDIS_ERR; - - /* Create container for context and r/w events */ - e = (redisLibeventEvents*)malloc(sizeof(*e)); - e->context = ac; - - /* Register functions to start/stop listening for events */ - ac->ev.addRead = redisLibeventAddRead; - ac->ev.delRead = redisLibeventDelRead; - ac->ev.addWrite = redisLibeventAddWrite; - ac->ev.delWrite = redisLibeventDelWrite; - ac->ev.cleanup = redisLibeventCleanup; - ac->ev.data = e; - - /* Initialize and install read/write events */ - e->rev = event_new(base, c->fd, EV_READ, redisLibeventReadEvent, e); - e->wev = event_new(base, c->fd, EV_WRITE, redisLibeventWriteEvent, e); - event_add(e->rev, NULL); - event_add(e->wev, NULL); - return REDIS_OK; -} -#endif diff --git a/src/components/redis/rd_lock.c b/src/components/redis/rd_lock.c deleted file mode 100644 index 6b44c6a..0000000 --- a/src/components/redis/rd_lock.c +++ /dev/null @@ -1,257 +0,0 @@ -/************************************************************************* - > File Name: rd_lock.c - > Author: - > Mail: - > Created Time: 20180705 11ʱ0139 - ************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rd_lock.h" -#include "rt_string.h" - -struct rd_RedLock{ - float m_clockDriftFactor; - sds m_unlockScript; - int m_retryCount; - int m_retryDelay; -}; - -static struct rd_RedLock redlock = { - .m_clockDriftFactor = 0.01, - .m_unlockScript = NULL, - .m_retryCount = 0, - .m_retryDelay = 0, -}; - -struct rd_RedLock *mutx_redlock() -{ - return &redlock; -} - -static char * -get_unique_lockid() -{ - int i = 0; - char *s = NULL; - char value[10] = "abcdefghij"; - unsigned char buffer[20]; - - struct timeval t1; - gettimeofday(&t1, NULL); - srand(t1.tv_usec * t1.tv_sec); - - for (int i = 0; i < 20; ++i) { - buffer[i] = value[rand() % 10]; - } - //ȡ20byte - s = sdsempty(); - for (i = 0; i < 20; i++) { - s = sdscatprintf(s, "%02X", buffer[i]); - } - - return s; -} - -static int -rd_lock_instance(redisContext *c, const char *key, - const char *val, const int ttl) -{ - int xret = 0; - redisReply *reply; - - reply = (redisReply *)redisCommand(c, "set %s %s px %d nx", key, val, ttl); - if (NULL == reply) - goto finish; - - if (reply->str && STRCMP(reply->str, "OK") == 0) { - xret = 1; - } - freeReplyObject(reply); - -finish: - return xret; -} - -static char **convertToSds(int count, char** args) -{ - int j; - char **sds = (char**)malloc(sizeof(char*)*count); - for(j = 0; j < count; j++) - sds[j] = sdsnew(args[j]); - return sds; -} - -redisReply *rd_command_argv(redisContext *c, int argc, char **inargv) -{ - redisReply *reply = NULL; - - char **argv; - argv = convertToSds(argc, inargv); - - size_t *argvlen; - argvlen = (size_t *)malloc(argc * sizeof(size_t)); - - for (int j = 0; j < argc; j++) - argvlen[j] = sdslen(argv[j]); - - reply = (redisReply *)redisCommandArgv(c, argc, (const char **)argv, argvlen); - if (reply) { - //printf("RedisCommandArgv return: %lld\n", reply->integer); - } - free(argvlen); - sdsfreesplitres(argv, argc); - return reply; -} - -int rd_mutex_unlock(struct rd_lock_scb *mtx, struct redisContext *c) -{ - int argc = 5; - struct rd_RedLock *redlock = mutx_redlock(); - - char *unlockScriptArgv[] = {(char*)"EVAL", - redlock->m_unlockScript, - (char*)"1", - (char*)mtx->m_resource, - (char*)mtx->m_val}; - - redisReply *reply = rd_command_argv(c, argc, unlockScriptArgv); - if (reply) { - freeReplyObject(reply); - } - - sdsfree(mtx->m_resource); - sdsfree(mtx->m_val); - - return 0; -} - -/* - ttl ms -*/ - -int rd_mutex_lock(const char *key, const int ttl, - struct rd_lock_scb *mtx, struct redisContext *c) -{ - char *val = NULL; - int xret = 0; - struct rd_RedLock *redlock = mutx_redlock(); - - - val = get_unique_lockid(); - if (!val) { - return xret; - } - mtx->m_resource = sdsnew(key); - mtx->m_val = val; - - int end = (int)time(NULL) * 1000 + ttl; - - while((int)time(NULL) * 1000 < end){ - int n = 0; - - int startTime = (int)time(NULL) * 1000; - - if (c == NULL || c->err) { - goto finish; - } - - if (rd_lock_instance(c, key, val, ttl)) { - n++; - } - - int validityTime = ttl - ((int)time(NULL) * 1000 - startTime); - if (n > 0 && validityTime > 0) { - mtx->m_validityTime = validityTime; - xret = 1; - goto finish; - } - - int delay = redlock->m_retryDelay; - usleep(delay * 1000); - } - -finish: - return xret; -} - - -/* redis lock*/ -int rd_mutex_lock_bak(const char *key, const int ttl, - struct rd_lock_scb *mtx, struct redisContext *c) -{ - struct rd_RedLock *redlock = mutx_redlock(); - - char *val = NULL; - int retryCount =0, xret = 0; - - val = get_unique_lockid(); - if (!val) { - return xret; - } - mtx->m_resource = sdsnew(key); - mtx->m_val = val; - retryCount = redlock->m_retryCount; - - do { - int n = 0; - int startTime = (int)time(NULL) * 1000; - - if (c == NULL || c->err) { - goto finish; - } - - if (rd_lock_instance(c, key, val, ttl)) { - n++; - } - - int drift = (ttl * redlock->m_clockDriftFactor) + 2; - int validityTime = ttl - ((int)time(NULL) * 1000 - startTime) - drift; - printf("The resource validty time is %d, n is %d\n", - validityTime, n); - - if (n > 0 && validityTime > 0) { - mtx->m_validityTime = validityTime; - xret = 1; - goto finish; - } else { - printf("The resource validty time is %d, n is %d\n", - validityTime, n); - } - // Wait a random delay before to retry - int delay = rand() % redlock->m_retryDelay + floor(redlock->m_retryDelay / 2); - //printf("[Test] delay = %d\n", delay); - usleep(delay * 1000); - retryCount--; - } while (retryCount > 0); - -finish: - return xret; -} - -void rd_lock_init() -{ - struct rd_RedLock *rdlock = mutx_redlock(); - - rdlock->m_unlockScript = sdsnew("if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end"); - rdlock->m_retryCount = 3; - rdlock->m_retryDelay = 10; - rdlock->m_clockDriftFactor = 0.01; - - return; -} - -void rd_lock_fini() -{ - struct rd_RedLock *rdlock = mutx_redlock(); - - sdsfree(rdlock->m_unlockScript); -} - diff --git a/src/components/redis/rd_lock.h b/src/components/redis/rd_lock.h deleted file mode 100644 index 171bb00..0000000 --- a/src/components/redis/rd_lock.h +++ /dev/null @@ -1,28 +0,0 @@ -/************************************************************************* - > File Name: rd_lock.h - > Author: - > Mail: - > Created Time: 2018年07月05日 星期四 11时02分03秒 - ************************************************************************/ - -#ifndef _RD_LOCK_H -#define _RD_LOCK_H - -#include "hiredis.h" - -struct rd_lock_scb{ - int m_validityTime; - sds m_resource; - sds m_val; -}; - -void rd_lock_init(); - -void rd_lock_fini(); - -int rd_mutex_lock(const char *resource, const int ttl, - struct rd_lock_scb *mtx, struct redisContext *c); - -int rd_mutex_unlock(struct rd_lock_scb *mtx, struct redisContext *c); - -#endif diff --git a/src/components/redis/read.h b/src/components/redis/read.h deleted file mode 100644 index 2988aa4..0000000 --- a/src/components/redis/read.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2009-2011, Salvatore Sanfilippo - * Copyright (c) 2010-2011, Pieter Noordhuis - * - * 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 Redis 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 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. - */ - - -#ifndef __HIREDIS_READ_H -#define __HIREDIS_READ_H -#include /* for size_t */ - -#define REDIS_ERR -1 -#define REDIS_OK 0 - -/* When an error occurs, the err flag in a context is set to hold the type of - * error that occurred. REDIS_ERR_IO means there was an I/O error and you - * should use the "errno" variable to find out what is wrong. - * For other values, the "errstr" field will hold a description. */ -#define REDIS_ERR_IO 1 /* Error in read or write */ -#define REDIS_ERR_EOF 3 /* End of file */ -#define REDIS_ERR_PROTOCOL 4 /* Protocol error */ -#define REDIS_ERR_OOM 5 /* Out of memory */ -#define REDIS_ERR_OTHER 2 /* Everything else... */ - -#define REDIS_REPLY_STRING 1 -#define REDIS_REPLY_ARRAY 2 -#define REDIS_REPLY_INTEGER 3 -#define REDIS_REPLY_NIL 4 -#define REDIS_REPLY_STATUS 5 -#define REDIS_REPLY_ERROR 6 - -#define REDIS_READER_MAX_BUF (1024*16) /* Default max unused reader buffer. */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct redisReadTask { - int type; - int elements; /* number of elements in multibulk container */ - int idx; /* index in parent (array) object */ - void *obj; /* holds user-generated value for a read task */ - struct redisReadTask *parent; /* parent task */ - void *privdata; /* user-settable arbitrary field */ -} redisReadTask; - -typedef struct redisReplyObjectFunctions { - void *(*createString)(const redisReadTask*, char*, size_t); - void *(*createArray)(const redisReadTask*, int); - void *(*createInteger)(const redisReadTask*, long long); - void *(*createNil)(const redisReadTask*); - void (*freeObject)(void*); -} redisReplyObjectFunctions; - -typedef struct redisReader { - int err; /* Error flags, 0 when there is no error */ - char errstr[128]; /* String representation of error when applicable */ - - char *buf; /* Read buffer */ - size_t pos; /* Buffer cursor */ - size_t len; /* Buffer length */ - size_t maxbuf; /* Max length of unused buffer */ - - redisReadTask rstack[9]; - int ridx; /* Index of current read task */ - void *reply; /* Temporary reply pointer */ - - redisReplyObjectFunctions *fn; - void *privdata; -} redisReader; - -/* Public API for the protocol parser. */ -redisReader *redisReaderCreateWithFunctions(redisReplyObjectFunctions *fn); -void redisReaderFree(redisReader *r); -int redisReaderFeed(redisReader *r, const char *buf, size_t len); -int redisReaderGetReply(redisReader *r, void **reply); - -#define redisReaderSetPrivdata(_r, _p) (int)(((redisReader*)(_r))->privdata = (_p)) -#define redisReaderGetObject(_r) (((redisReader*)(_r))->reply) -#define redisReaderGetError(_r) (((redisReader*)(_r))->errstr) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/components/redis/redis.mk b/src/components/redis/redis.mk deleted file mode 100644 index 5baf45d..0000000 --- a/src/components/redis/redis.mk +++ /dev/null @@ -1,40 +0,0 @@ - - -# standard component Makefile header -sp := $(sp).x -dirstack_$(sp) := $(d) -d := $(dir) - -# component specification - -OBJS_$(d) :=\ - $(OBJ_DIR)/rd_lock.o\ - -CFLAGS_LOCAL += -I$(d) -$(OBJS_$(d)): CFLAGS_LOCAL := -std=gnu99 -W -Wall -Wunused-parameter -g -O3 \ - -I$(d)\ - -I$(d)/../../rt\ - -I$(d)/../../inc\ - - -# standard component Makefile rules - -DEPS_$(d) := $(OBJS_$(d):.o=.d) - -#LIBS_LIST := $(LIBS_LIST) $(LIBRARY) -LIBS_LIST := $(LIBS_LIST) - -CLEAN_LIST := $(CLEAN_LIST) $(OBJS_$(d)) $(DEPS_$(d)) - --include $(DEPS_$(d)) - -#$(LIBRARY): $(OBJS) -# $(MYARCHIVE) - -$(OBJ_DIR)/%.o: $(d)/%.c - $(COMPILE) - -# standard component Makefile footer - -d := $(dirstack_$(sp)) -sp := $(basename $(sp)) diff --git a/src/components/redis/sds.h b/src/components/redis/sds.h deleted file mode 100644 index 13be75a..0000000 --- a/src/components/redis/sds.h +++ /dev/null @@ -1,273 +0,0 @@ -/* SDSLib 2.0 -- A C dynamic strings library - * - * Copyright (c) 2006-2015, Salvatore Sanfilippo - * Copyright (c) 2015, Oran Agra - * Copyright (c) 2015, Redis Labs, Inc - * 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 Redis 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 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. - */ - -#ifndef __SDS_H -#define __SDS_H - -#define SDS_MAX_PREALLOC (1024*1024) - -#include -#include -#include - -typedef char *sds; - -/* Note: sdshdr5 is never used, we just access the flags byte directly. - * However is here to document the layout of type 5 SDS strings. */ -struct __attribute__ ((__packed__)) sdshdr5 { - unsigned char flags; /* 3 lsb of type, and 5 msb of string length */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr8 { - uint8_t len; /* used */ - uint8_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr16 { - uint16_t len; /* used */ - uint16_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr32 { - uint32_t len; /* used */ - uint32_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; -struct __attribute__ ((__packed__)) sdshdr64 { - uint64_t len; /* used */ - uint64_t alloc; /* excluding the header and null terminator */ - unsigned char flags; /* 3 lsb of type, 5 unused bits */ - char buf[]; -}; - -#define SDS_TYPE_5 0 -#define SDS_TYPE_8 1 -#define SDS_TYPE_16 2 -#define SDS_TYPE_32 3 -#define SDS_TYPE_64 4 -#define SDS_TYPE_MASK 7 -#define SDS_TYPE_BITS 3 -#define SDS_HDR_VAR(T,s) struct sdshdr##T *sh = (struct sdshdr##T *)((s)-(sizeof(struct sdshdr##T))); -#define SDS_HDR(T,s) ((struct sdshdr##T *)((s)-(sizeof(struct sdshdr##T)))) -#define SDS_TYPE_5_LEN(f) ((f)>>SDS_TYPE_BITS) - -static inline size_t sdslen(const sds s) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - return SDS_TYPE_5_LEN(flags); - case SDS_TYPE_8: - return SDS_HDR(8,s)->len; - case SDS_TYPE_16: - return SDS_HDR(16,s)->len; - case SDS_TYPE_32: - return SDS_HDR(32,s)->len; - case SDS_TYPE_64: - return SDS_HDR(64,s)->len; - } - return 0; -} - -static inline size_t sdsavail(const sds s) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: { - return 0; - } - case SDS_TYPE_8: { - SDS_HDR_VAR(8,s); - return sh->alloc - sh->len; - } - case SDS_TYPE_16: { - SDS_HDR_VAR(16,s); - return sh->alloc - sh->len; - } - case SDS_TYPE_32: { - SDS_HDR_VAR(32,s); - return sh->alloc - sh->len; - } - case SDS_TYPE_64: { - SDS_HDR_VAR(64,s); - return sh->alloc - sh->len; - } - } - return 0; -} - -static inline void sdssetlen(sds s, size_t newlen) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - { - unsigned char *fp = ((unsigned char*)s)-1; - *fp = SDS_TYPE_5 | (newlen << SDS_TYPE_BITS); - } - break; - case SDS_TYPE_8: - SDS_HDR(8,s)->len = newlen; - break; - case SDS_TYPE_16: - SDS_HDR(16,s)->len = newlen; - break; - case SDS_TYPE_32: - SDS_HDR(32,s)->len = newlen; - break; - case SDS_TYPE_64: - SDS_HDR(64,s)->len = newlen; - break; - } -} - -static inline void sdsinclen(sds s, size_t inc) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - { - unsigned char *fp = ((unsigned char*)s)-1; - unsigned char newlen = SDS_TYPE_5_LEN(flags)+inc; - *fp = SDS_TYPE_5 | (newlen << SDS_TYPE_BITS); - } - break; - case SDS_TYPE_8: - SDS_HDR(8,s)->len += inc; - break; - case SDS_TYPE_16: - SDS_HDR(16,s)->len += inc; - break; - case SDS_TYPE_32: - SDS_HDR(32,s)->len += inc; - break; - case SDS_TYPE_64: - SDS_HDR(64,s)->len += inc; - break; - } -} - -/* sdsalloc() = sdsavail() + sdslen() */ -static inline size_t sdsalloc(const sds s) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - return SDS_TYPE_5_LEN(flags); - case SDS_TYPE_8: - return SDS_HDR(8,s)->alloc; - case SDS_TYPE_16: - return SDS_HDR(16,s)->alloc; - case SDS_TYPE_32: - return SDS_HDR(32,s)->alloc; - case SDS_TYPE_64: - return SDS_HDR(64,s)->alloc; - } - return 0; -} - -static inline void sdssetalloc(sds s, size_t newlen) { - unsigned char flags = s[-1]; - switch(flags&SDS_TYPE_MASK) { - case SDS_TYPE_5: - /* Nothing to do, this type has no total allocation info. */ - break; - case SDS_TYPE_8: - SDS_HDR(8,s)->alloc = newlen; - break; - case SDS_TYPE_16: - SDS_HDR(16,s)->alloc = newlen; - break; - case SDS_TYPE_32: - SDS_HDR(32,s)->alloc = newlen; - break; - case SDS_TYPE_64: - SDS_HDR(64,s)->alloc = newlen; - break; - } -} - -sds sdsnewlen(const void *init, size_t initlen); -sds sdsnew(const char *init); -sds sdsempty(void); -sds sdsdup(const sds s); -void sdsfree(sds s); -sds sdsgrowzero(sds s, size_t len); -sds sdscatlen(sds s, const void *t, size_t len); -sds sdscat(sds s, const char *t); -sds sdscatsds(sds s, const sds t); -sds sdscpylen(sds s, const char *t, size_t len); -sds sdscpy(sds s, const char *t); - -sds sdscatvprintf(sds s, const char *fmt, va_list ap); -#ifdef __GNUC__ -sds sdscatprintf(sds s, const char *fmt, ...) - __attribute__((format(printf, 2, 3))); -#else -sds sdscatprintf(sds s, const char *fmt, ...); -#endif - -sds sdscatfmt(sds s, char const *fmt, ...); -sds sdstrim(sds s, const char *cset); -void sdsrange(sds s, int start, int end); -void sdsupdatelen(sds s); -void sdsclear(sds s); -int sdscmp(const sds s1, const sds s2); -sds *sdssplitlen(const char *s, int len, const char *sep, int seplen, int *count); -void sdsfreesplitres(sds *tokens, int count); -void sdstolower(sds s); -void sdstoupper(sds s); -sds sdsfromlonglong(long long value); -sds sdscatrepr(sds s, const char *p, size_t len); -sds *sdssplitargs(const char *line, int *argc); -sds sdsmapchars(sds s, const char *from, const char *to, size_t setlen); -sds sdsjoin(char **argv, int argc, char *sep); -sds sdsjoinsds(sds *argv, int argc, const char *sep, size_t seplen); - -/* Low level functions exposed to the user API */ -sds sdsMakeRoomFor(sds s, size_t addlen); -void sdsIncrLen(sds s, int incr); -sds sdsRemoveFreeSpace(sds s); -size_t sdsAllocSize(sds s); -void *sdsAllocPtr(sds s); - -/* Export the allocator used by SDS to the program using SDS. - * Sometimes the program SDS is linked to, may use a different set of - * allocators, but may want to allocate or free things that SDS will - * respectively free or allocate. */ -void *sds_malloc(size_t size); -void *sds_realloc(void *ptr, size_t size); -void sds_free(void *ptr); - -#ifdef REDIS_TEST -int sdsTest(int argc, char *argv[]); -#endif - -#endif diff --git a/src/components/syslogd/syslog.mk b/src/components/syslogd/syslog.mk deleted file mode 100644 index 58ae5e1..0000000 --- a/src/components/syslogd/syslog.mk +++ /dev/null @@ -1,40 +0,0 @@ - - -# standard component Makefile header -sp := $(sp).x -dirstack_$(sp) := $(d) -d := $(dir) - -# component specification - -OBJS_$(d) :=\ - $(OBJ_DIR)/logging.o\ - -CFLAGS_LOCAL += -I$(d) -$(OBJS_$(d)): CFLAGS_LOCAL := -std=gnu99 -W -Wall -Wunused-parameter -g -O3 \ - -I$(d)\ - -I$(d)/../../rt\ - -I$(d)/../../inc\ - - -# standard component Makefile rules - -DEPS_$(d) := $(OBJS_$(d):.o=.d) - -#LIBS_LIST := $(LIBS_LIST) $(LIBRARY) -LIBS_LIST := $(LIBS_LIST) - -CLEAN_LIST := $(CLEAN_LIST) $(OBJS_$(d)) $(DEPS_$(d)) - --include $(DEPS_$(d)) - -#$(LIBRARY): $(OBJS) -# $(MYARCHIVE) - -$(OBJ_DIR)/%.o: $(d)/%.c - $(COMPILE) - -# standard component Makefile footer - -d := $(dirstack_$(sp)) -sp := $(basename $(sp)) diff --git a/src/inc/MESA_atomic.h b/src/inc/MESA_atomic.h deleted file mode 100644 index 76e5b80..0000000 --- a/src/inc/MESA_atomic.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _MESA_ATOMIC_H_ -#define _MESA_ATOMIC_H_ - - -#if(__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ >= 411) -typedef unsigned long MESA_ATOMIC_T; -#define MESA_ATOMIC_SET(v, i) __sync_lock_test_and_set((&v), i) -#define MESA_ATOMIC_READ(v) __sync_or_and_fetch((&v), 0) -#define MESA_ATOMIC_INC(v) __sync_add_and_fetch((&v),1) -#define MESA_ATOMIC_DEC(v) __sync_sub_and_fetch((&v),1) -#define MESA_ATOMIC_ADD(v,add) __sync_add_and_fetch((&v),(add)) -#define MESA_ATOMIC_SUB(v,sub) __sync_sub_and_fetch((&v),(sub)) -#else -#include -typedef atomic_t MESA_ATOMIC_T; -#define MESA_ATOMIC_SET(v, i) atomic_set((&v), i) -#define MESA_ATOMIC_READ(v) atomic_read((&v)) -#define MESA_ATOMIC_INC(v) atomic_inc((&v)) -#define MESA_ATOMIC_DEC(v) atomic_dec((&v)) -#define MESA_ATOMIC_ADD(v, add) atomic_add((add),(&v)) -#define MESA_ATOMIC_SUB(v, sub) atomic_sub((sub),(&v)) -#endif - - -#ifdef __tilegx__ -#include -typedef int MESA_ATOMIC_T; -#define MESA_ATOMIC_SET(v, i) arch_atomic_exchange((&v), i) -#define MESA_ATOMIC_READ(v) arch_atomic_or((&v), 0) -#define MESA_ATOMIC_INC(v) arch_atomic_add((&v), 1) -#define MESA_ATOMIC_DEC(v) arch_atomic_sub((&v), 1) -#define MESA_ATOMIC_ADD(v, add) arch_atomic_add((&v), add) -#define MESA_ATOMIC_SUB(v, sub) arch_atomic_sub((&v), sub) -#endif - - -#endif - diff --git a/src/inc/MESA_handle_logger.h b/src/inc/MESA_handle_logger.h deleted file mode 100644 index 735a9f1..0000000 --- a/src/inc/MESA_handle_logger.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef MESA_HANDLE__LOGGER_H -#define MESA_HANDLE__LOGGER_H - -/* - * runtime_log with handle, - * based on runtime_log. - * yang wei - * create time:2014-03-24 - * version:20140324 - */ - -#ifdef __cplusplus -extern "C" -{ -#endif - -#define MESA_HANDLE_RUNTIME_LOG(handle, lv, mod, fmt, args...) \ - MESA_handle_runtime_log((handle), (lv), (mod), "file %s, line %d, " fmt, \ - __FILE__, __LINE__, ##args) - -/* - * name: MESA_create_runtime_log_handle - * functionality: get runtime_log handle; - * params: - * file_path: path of log file, like "./log/runtime_log"; - * level: level of log; - * returns: - * not NULL, if succeeded; - * NULL, if file is not absolute path, or failed to create log file; - */ -void *MESA_create_runtime_log_handle(const char *file_path, int level); - -/* - * name: MESA_handle_runtime_log - * functionality: appends log message to runtime log file; - * params: - * handle:handle of runtime log, which is created by MESA_create_runtime_log_handle; - * level: log level, messages with level value smaller the global var - * "runtime_log_level" are ignored; - * module: name of loggin module; - * fmt: format string; - * returns: - * none; - */ -void MESA_handle_runtime_log(void *handle, int level, const char *module, const char *fmt, ...); - -/* - * name: MESA_destroy_runtime_log_handle - * functionality: release runtime log handle memory. - * params: - * handle: runtime log handle which is going to be released; - * returns: - * none; - */ -void MESA_destroy_runtime_log_handle(void *handle); - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/src/inc/MESA_htable.h b/src/inc/MESA_htable.h deleted file mode 100644 index ac7c2b2..0000000 --- a/src/inc/MESA_htable.h +++ /dev/null @@ -1,419 +0,0 @@ -#ifndef __MESA_HTABLE_H_ -#define __MESA_HTABLE_H_ -#ifdef __cplusplus -extern "C" -{ -#endif - -#include -#include -#include -#include - -/* - * general purpose hash table implementation. - * - * xiang hong - * 2002-07-28 - *History: - * 2012-03-23 zhengchao add thread safe option and link expire feature; - * 2014-01-27 lijia add reentrant feature. - */ -#define MESA_HTABLE_VERSION_MACRO (20170104) -extern const unsigned int MESA_HTABLE_VERSION_INT; - -#define MESA_HASH_DEBUG (0) - -#define COMPLEX_KEY_SWITCH (1) - -#define ELIMINATE_TYPE_NUM (1) -#define ELIMINATE_TYPE_TIME (2) -#define ELIMINATE_TYPE_MANUAL (3) /* delete oldest item by manual */ - -typedef void * MESA_htable_handle; - - -#define HASH_MALLOC(_n_) malloc(_n_) -#define HASH_FREE(_p_) free(_p_) - - -#ifndef uchar -#define uchar unsigned char -#endif -#ifndef uint -#define uint unsigned int -#endif - -/* eliminate algorithm */ -#define HASH_ELIMINATE_ALGO_FIFO (0) /* by default */ -#define HASH_ELIMINATE_ALGO_LRU (1) - -/* - * hash key compare function prototype, see hash_key_comp(). - * return value: - * 0:key1 and key2 are equal; - * other:key1 and key2 not equal. - */ -typedef int key_comp_fun_t(const uchar * key1, uint size1, const uchar * key2, uint size2); - -/* - * hash key->index computing function prototype, see hash_key2index(). - */ -typedef uint key2index_fun_t(const MESA_htable_handle table, const uchar * key, uint size); - -typedef void MESA_htable_data_free_cbfun_t(void *data); - -typedef int MESA_htable_expire_notify_cbfun_t(void *data, int eliminate_type); - -typedef uchar* MESA_htable_complex_key_dup_cbfun_t(const uchar *key, uint key_size); - -typedef void MESA_htable_complex_key_free_cbfun_t(uchar *key, uint key_size); - -typedef long hash_cb_fun_t(void *data, const uchar *key, uint size, void *user_arg); - -/* - * thread_safe: 0:create hash table without thread safe features; - * positive:the bigger number has more performance, less collide, but less timeout accuracy. - * max number is 1024. - * recursive: 0:can't recursive call MESA_htable_xxx series function - * 1:can recursive call MESA_htable_xxx series function. - * hash_slot_size: how big do you want the table to be, must be 2^N; - * max_elem_num: the maximum elements of the HASH-table,0 means infinite; - * key_comp: hash key compare function, use default function if NULL; - * suggest implement by yourself. - * key2index: hash key->index computing function, use default function if NULL; - * suggest use MESA_htable built-in function. - * data_free: release resources function; - * data_expire_with_condition: - * if expire_time > 0 and data_expire_with_condition != NULL, - * then call this function when an element expired, and give the reason by the 'type' - * if expire_time > 0 and data_expire_with_condition is NULL, - * eliminate the item immediately; - * args: - * data: pointer to attached data; - * type: item eliminate reason, ELIMINATE_TYPE_NUM or ELIMINATE_TYPE_TIME; - * return value of 'data_expire_with_condition': - * 1: the item can be eliminated; - * 0: the item can't be eliminated, renew the item. - * eliminate_type: the algorithm of elimanate a expired element, 0:FIFO; 1:LRU. - * expire_time: the element expire time in second, 0 means infinite. - */ -typedef struct{ - unsigned int thread_safe; - int recursive; - unsigned int hash_slot_size; - unsigned int max_elem_num; - int eliminate_type; - int expire_time; - key_comp_fun_t * key_comp; - key2index_fun_t * key2index; - void (* data_free)(void *data); - int (*data_expire_with_condition)(void *data, int eliminate_type); -#if COMPLEX_KEY_SWITCH - uchar* (*complex_key_dup)(const uchar *key, uint key_size); - void (* complex_key_free)(uchar *key, uint key_size); -#endif -}MESA_htable_create_args_t; - - -/* All of the following functions return value */ -typedef enum{ - MESA_HTABLE_RET_OK = 0, /* success */ - MESA_HTABLE_RET_COMMON_ERR = -1, /* generalundefined errors */ - MESA_HTABLE_RET_ARG_ERR = -2, /* invalid args */ - MESA_HTABLE_RET_NUM_FULL = -3, /* htable number full */ - MESA_HTABLE_RET_QEMPTY = -4, /* htable empty */ - MESA_HTABLE_RET_DUP_ITEM = -5, /* duplicate item */ - MESA_HTABLE_RET_NOT_FOUND = -6, /* not found item */ - MESA_HTABLE_RET_LEN_ERR = -7, /* length error */ - MESA_HTABLE_RET_CANT_GET_LOCK = -8, /* can't get lock in non-block mode */ - MESA_HTABLE_RET_GET_LOCK_TMOUT = -9, /* get lock timeout */ -}MESA_htable_errno_t; - -/* - * You should never use this API to create a hash table, use MESA_htable_born() instead. - * name: MESA_htable_create - * functionality: allocats memory for hash slots, and initialize hash structure; - * param: - * args: argments set; - * args_len: length of argment set; - * returns: - * NULL : error; - * Non-NULL : success; - */ -MESA_htable_handle MESA_htable_create(const MESA_htable_create_args_t *args, int args_struct_len); - -/* - * get total number of HASH element. -*/ -unsigned int MESA_htable_get_elem_num(const MESA_htable_handle table); - -/* - * name: MESA_htable_destroy - * functionality: cleans up hash structure, frees memory occupied; - * param: - * table: who is the victim; - * func: callback function to clean up data attached to hash items, has higher priority level than MESA_htable_data_free_cbfun_t in initialization. - - * returns: - * always returns 0; - */ -int MESA_htable_destroy(MESA_htable_handle table, void (* func)(void *)); - -/* - * name: MESA_htable_add - * functionality: adds item to table, call hash_expire() if elem_count gets - * bigger than threshold_hi, and adjust threshold; - * param: - * table: to which table do you want to add; - * key: what is the label; - * size: how long is the label; - * data: what data do you want to attach; - * returns: - * >0: success,return hash elems' linklist size; - * 0: success. - * <0: error, refer to MESA_htable_errno_t. - */ -int MESA_htable_add(MESA_htable_handle table, const uchar * key, uint size, const void *data); - -/* - TODO, - sturct hash_status{ - uint hlist_max; - uint hlist_max_slot_index; - uint cur_index_hlist_num; - uint hash_value; - }; - - MESA_htable_add_feedback(MESA_htable_handle table, const uchar * key, uint size, const void *data, sturct hash_status *hstat); - ڷHASHһЩؼϢ, - -*/ - -#if 0 -/* - * name: hash_add_with_expire - * functionality: adds item to table, than call hash_expire() on its list - * param: - * table: to which table do you want to add; - * key: what is the label; - * size: how long is the label; - * data: what data do you want to attach; - * returns: - * >0 success,return hash elems' linklist size - * -1, duplicates found and can't add this one; - * -2, memory failure; - */ -int MESA_hash_add_with_expire_v3(MESA_htable_inner_t * table, uchar * key, uint size, void * data); - -#endif - - -/* - * name: MESA_htable_del - * functionality: deletes item from table. - * param: - * table: from which table do you want to delete; - * key : what is the label; - * size : how long is the label; - * func : callback function to clean up data attached to hash items, - if this pointer is NULL will call "data_free" in MESA_hash_create(), - * returns: - * 0 : success; - * <0: error, refer to MESA_htable_errno_t. - */ -int MESA_htable_del(MESA_htable_handle table, const uchar * key, uint size, - void (* func)(void *)); -/* - TODO: - MESA_htable_del_with_hash(MESA_htable_handle table, const uchar * key, uint size, uint hash_value, - void (* func)(void *)); - ɾʱ֮ǰhash_value, һhash㿪, -*/ - - -/* - * name: MESA_htable_del_oldest_manual - * functionality: deletes oldest item from table. - * param: - * table: from which table do you want to delete; - * func : callback function to clean up data attached to hash items, - if this pointer is NULL will call "data_free" in MESA_hash_create(), - * batch_num: delete oldest items. - * returns: - * 0, do nothing ; - * >0, delete items; - */ -int MESA_htable_del_oldest_manual(MESA_htable_handle table, void (* func)(void *), int batch_num); - -/* - * name: MESA_htable_search - * functionality: selects item from table; - * param: - * table: from which table do you want to select; - * key : what is the label; - * size : how long is the label; - * - * return: - * not NULL :pointer to attached data; - * NULL :not found(thus be careful if you are attaching NULL data on purpose). - */ -void *MESA_htable_search(const MESA_htable_handle table, const uchar * key, uint size); - -/* - * name: MESA_htable_search_cb - * functionality: selects item from table, and then call 'cb', reentrant; - * in param: - * table: from which table do you want to select; - * key : what is the label; - * size : how long is the label; - * cb : call this function when found the attached data; - * arg : the argument of "cb" function. - * out param: - * cb_ret: the return value of the function "cb". - * return: - * not NULL :pointer to attached data; - * NULL :not found(thus be careful if you are attaching NULL data on purpose). - */ -void *MESA_htable_search_cb(const MESA_htable_handle table, const uchar * key, uint size, - hash_cb_fun_t *cb, void *arg, long *cb_ret); - -/* - * name: MESA_htable_iterate - * functionality: iterates each hash item; - * params: - * table: what table is to be iterated; - * func: what do you want to do to each attached data item; - * returns: - * 0: iterates all items; - * -1: error; - */ -int MESA_htable_iterate(MESA_htable_handle table, - void (* func)(const uchar * key, uint size, void * data, void *user), void * user); - - -/* - * name: MESA_htable_iterate_bytime - * functionality: iterates each hash item by your demand; - * note: - * if 'thread_safe' more than one, this function is not correct. - * params: - * table: what table is to be iterated; - * iterate_type: 1: newest item first; 2: oldest item first; - * iterate_cb: what do you want to do to each attached data item; - * return value of iterate_cb: - * refer to ITERATE_CB_RET_xxx; - * returns: - * 0: iterates all items; - * -1: uncomplete break. - * -2: error; - */ -#define ITERATE_CB_RET_CONTINUE_FLAG (0) /* default, like MESA_htable_iterate() */ -#define ITERATE_CB_RET_BREAK_FLAG (1<<1) /* break iterate, return from MESA_htable_iterate_bytime() immediately */ -#define ITERATE_CB_RET_DEL_FLAG (1<<2) /* del this item, like but faster than call MESA_htable_del() */ -#define ITERATE_CB_RET_REVERSE_FLAG (1<<3) /* if the item is newest item, it will become the oldest item, and vice versa */ -#define ITERATE_CB_RET_REMOVE_BUT_NOT_FREE (1<<4) /* only remove the item from Hash table, but don't free the attached data, be careful */ - -#define ITERATE_TYPE_NEWEST_FIRST (1) -#define ITERATE_TYPE_OLDEST_FIRST (2) -int MESA_htable_iterate_bytime(MESA_htable_handle table, int iterate_type, - int (*iterate_cb)(const uchar * key, uint size, void * data, void *user), void * user); - -/* - args: - print_switch: - 0: disable print message; - 1: enable print message; -*/ -void MESA_htable_print_crtl(MESA_htable_handle table, int print_switch); - - -/* - Create a htable handle and Alloc memory, and set default option, - but can't running before call MESA_htable_mature(). - - return value: - not NULL: success. - NULL : error. -*/ -MESA_htable_handle MESA_htable_born(void); - -/* - MESA_htable option definition. -*/ -enum MESA_htable_opt{ - MHO_THREAD_SAFE = 0, /* must be int, 1:create hash table with thread safe features, default is 0 */ - MHO_MUTEX_NUM, /* must be int, valid only if MHO_THREAD_SAFE is not zero, max value is 1024, defalut is 1. the bigger number has more performance and less mutex collide, but less timeout accuracy */ - MHO_HASH_SLOT_SIZE, /* must be unsigned int, default is 1048576. */ - MHO_HASH_MAX_ELEMENT_NUM, /* must be unsigned int, defalut is 0, means infinite */ - MHO_EXPIRE_TIME, /* must be int, defalut is 0, means infinite */ - MHO_ELIMIMINATE_TYPE, /* must be int, valid only if MHO_EXPIRE_TIME is not zero. HASH_ELIMINATE_ALGO_FIFO or HASH_ELIMINATE_ALGO_LRU, defalut HASH_ELIMINATE_ALGO_FIFO */ - MHO_CBFUN_KEY_COMPARE, /* must be key_comp_fun_t, hash key compare function, use default function if NULL */ - MHO_CBFUN_KEY_TO_INDEX, /* must be key2index_fun_t, hash key->index computing function, use default function if NULL */ - MHO_CBFUN_DATA_FREE, /* must be MESA_htable_data_free_cbfun_t, release resources function */ - /* data_expire_notify, must be MESA_htable_expire_notify_cbfun_t, - * if expire_time > 0 and data_expire_notify != NULL, - * then call this function when an element expired, and give the reason by the 'type' - * if expire_time > 0 and data_expire_notify is NULL, - * eliminate the item immediately; - * args: - * data: pointer to attached data; - * type: item eliminate reason, ELIMINATE_TYPE_NUM or ELIMINATE_TYPE_TIME; - * return value of 'data_expire_with_condition': - * 1: the item can be eliminated; - * 0: the item can't be eliminated, renew the item. - */ - MHO_CBFUN_DATA_EXPIRE_NOTIFY, - MHO_CBFUN_COMPLEX_KEY_DUP, /* must be MESA_htable_complex_key_dup_cbfun_t, if key store in a complex struct, caller must be implement this duplicate function. */ - MHO_CBFUN_COMPLEX_KEY_FREE, /* must be MESA_htable_complex_key_free_cbfun_t, if key store in a complex struct, caller must be implement this duplicate function. */ - MHO_AUTO_UPDATE_TIME, /* must be int, create a background thread used to update current_time instead of time(NULL). 1:enable; 0:disable; default value is 0; */ - MHO_SCREEN_PRINT_CTRL, /* must be int, 1:enable screen print; 0:disable screen print; default is 1. */ - MHO_HASH_LIST_COLLIDE_THRESHOLD, /* must be int, write log when hash collide number more than this, default is 100, 0 means infinite. */ - MHO_HASH_LOG_FILE, /* must be char * with EOF, default is "./hash_list_collide.log", opt_len is strlen(optval) */ - MHO_HASH_SEARCH_MAX_TIMES, /* must be int, max compare items in once MESA_htable_search() */ - MHO_HASH_SEARCH_AVG_TIMES, /* must be double, average compare items in all previous MESA_htable_search() */ - __MHO_MAX_VAL, /* caller can't use this definition, it's value maybe changed in next version!! */ -}; - - -/* - to set features of specified MESA_htable handle. - opt_type: option type, refer to enum MESA_htable_opt; - opt_val : option value, depend on opt type; - opt_len : opt_val size, depend on opt type; - - return value: - 0 :success; - <0:error; -*/ -int MESA_htable_set_opt(MESA_htable_handle table, enum MESA_htable_opt opt_type, void *opt_val, int opt_len); - -/* - to get features of specified MESA_htable handle. - opt_type: option type, refer to enum MESA_htable_opt; - opt_val : option value, depend on opt type; - opt_len : value-result argument, opt_val size, depend on opt type; - - return value: - 0 :success; - <0:error; -*/ -int MESA_htable_get_opt(MESA_htable_handle api_table, enum MESA_htable_opt opt_type, void *opt_val, int *opt_len); - -/* - Construct htable and ready to running. - - return value: - 0 : success; - <0: error. -*/ -int MESA_htable_mature(MESA_htable_handle table); - - -#ifdef __cplusplus -} -#endif - -#endif /* _LIB_HASH_H_INCLUDED_ */ - - diff --git a/src/inc/MESA_list.h b/src/inc/MESA_list.h deleted file mode 100644 index 6ad7c45..0000000 --- a/src/inc/MESA_list.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _MESA_LIST_H_ -#define _MESA_LIST_H_ - -typedef struct MESA_list{ - struct MESA_list *nextele; - struct MESA_list *preele; - void *quiddity; -}MESA_list_t; - - -#ifdef __cplusplus -extern "C" -{ -#endif - -#define MESA_LIST_VERSION_MACRO (20150529) -extern const unsigned int MESA_LIST_VERSION_INT; - -void MESA_list_init_head(struct MESA_list *head); -int MESA_list_is_empty(const struct MESA_list *head); -void MESA_list_add(struct MESA_list *head, struct MESA_list *new_list); -void MESA_list_add_tail(struct MESA_list *head, struct MESA_list *new_list); -void MESA_list_del(struct MESA_list *head, struct MESA_list *del_list); -void MESA_list_move(struct MESA_list *head, struct MESA_list *list); -void MESA_list_move_tail(struct MESA_list *head, struct MESA_list *list); -struct MESA_list *MESA_list_join_n(struct MESA_list *head, struct MESA_list *op_place, struct MESA_list *new_obj); -struct MESA_list *MESA_list_join_p(struct MESA_list *head, struct MESA_list *new_obj, struct MESA_list *op_place); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/src/inc/MESA_list_count.h b/src/inc/MESA_list_count.h deleted file mode 100644 index 884ee74..0000000 --- a/src/inc/MESA_list_count.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _MESA_LIST_COUNT_H_ -#define _MESA_LIST_COUNT_H_ - -typedef struct MESA_list_count{ - struct MESA_list_count *nextele; - struct MESA_list_count *preele; - void *quiddity; -}MESA_list_count_t; - -#ifdef __cplusplus -extern "C" -{ -#endif - -void MESA_list_count_init_head(struct MESA_list_count *head); -long MESA_list_count_get_count(const struct MESA_list_count *head); -int MESA_list_count_is_empty(const struct MESA_list_count *head); -void MESA_list_count_add(struct MESA_list_count *head, struct MESA_list_count *new_list); -void MESA_list_count_add_tail(struct MESA_list_count *head, struct MESA_list_count *new_list); -void MESA_list_count_del(struct MESA_list_count *head, struct MESA_list_count *del_list); -void MESA_list_count_move(struct MESA_list_count *head, struct MESA_list_count *list); -void MESA_list_count_move_tail(struct MESA_list_count *head, struct MESA_list_count *list); -struct MESA_list_count *MESA_list_count_join_n(struct MESA_list_count *head, struct MESA_list_count *op_place, struct MESA_list_count *new_obj); -struct MESA_list_count *MESA_list_count_join_p(struct MESA_list_count *head, struct MESA_list_count *new_obj, struct MESA_list_count *op_place); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/src/inc/MESA_list_queue.h b/src/inc/MESA_list_queue.h deleted file mode 100644 index 08ce32b..0000000 --- a/src/inc/MESA_list_queue.h +++ /dev/null @@ -1,115 +0,0 @@ -#ifndef _MESA_LIST_QUEUE_H_ -#define _MESA_LIST_QUEUE_H_ - -#ifdef __cplusplus -extern "C" -{ -#endif - -/* - MESA_list 棬 - 1-̰߳ȫ; - 2-ڲṹ, ȫӿڸ; - 3-йڵṹʹø; -*/ - -#define MESA_LIST_QUEUE_VERSION_MACRO (20160308) -extern const unsigned int MESA_LIST_QUEUE_VERSION_INT; - -#define MESA_LIST_OP_PLACE_HEAD (0x1) -#define MESA_LIST_OP_PLACE_TAIL (0x2) - -#define MESA_list_GET (0x1) -#define MESA_list_JOIN (0x2) - -#define MESA_list_BOLCK (0x4) -#define MESA_list_NONBOLCK (0x8) - -#define MESA_list_JOIN_BLOCK (MESA_list_JOIN|MESA_list_BOLCK) -#define MESA_list_JOIN_NONBLOCK (MESA_list_JOIN|MESA_list_NONBOLCK) -#define MESA_list_GET_BLOCK (MESA_list_GET|MESA_list_BOLCK) -#define MESA_list_GET_NONBLOCK (MESA_list_GET|MESA_list_NONBOLCK) - -typedef void * MESA_lqueue_head; -typedef int (* MESA_lqueue_cb_t)(void *data, long data_len, void *arg); - -/* All of the following functions return value */ -typedef enum{ - MESA_QUEUE_RET_OK = 0, /* success */ - MESA_QUEUE_RET_COMMON_ERR = -1, /* generalundefined errors */ - MESA_QUEUE_RET_ARG_ERR = -2, /* invalid args */ - MESA_QUEUE_RET_NUM_FULL = -3, /* queue number full */ - MESA_QUEUE_RET_MEM_FULL = -4, /* queue memory full */ - MESA_QUEUE_RET_QEMPTY = -5, /* queue empty */ - MESA_QUEUE_RET_LEN_ERR = -6, /* length error */ - MESA_QUEUE_RET_CANT_GET_LOCK = -7, /* can't get lock in non-block mode */ - MESA_QUEUE_RET_GET_LOCK_TMOUT = -8, /* get lock timeout */ -}MESA_queue_errno_t; - -/* - args description: - [IN] - thread_safe : 1:create thread safe queue; 0:without thread safe insurance. - max_item_num: maximum queue items of the queue, 0 means infinity. -*/ -MESA_lqueue_head MESA_lqueue_create(int thread_safe, long max_item_num); - -/* - attention: - The follow two functions is get some value of queue in a moment, - however, the value you got is not exactly, - because it's maybe changed immediately by other thread when this functions is return. -*/ -long MESA_lqueue_get_mem_used(MESA_lqueue_head head); -long MESA_lqueue_get_count(MESA_lqueue_head head); - - -/* - args description: - [IN]: - lq_head : the handler of MESA_lqueue. - - [OUT]: - data : receive buffer. - - [IN && OUT]: - data_len: - is value-result argument, like "addrlen of recvfrom(2)", - the caller should initialize the size of the 'data', - will modified on return to indicate the actual size of the queue item. - -*/ -int MESA_lqueue_read_head(MESA_lqueue_head lq_head, void *data, long *data_len); -int MESA_lqueue_get_head(MESA_lqueue_head lqhead, void *data, long *data_len); - -/* - if return value of "cb" is 0, the behaviour is like MESA_lqueue_read_head(), - else if return value of "cb" is not 0, the behaviour is like MESA_lqueue_get_head(). -*/ -int MESA_lqueue_detect_get_head(MESA_lqueue_head lq_head, MESA_lqueue_cb_t cb, void *data, long *data_len, void *cb_arg); -int MESA_lqueue_get_tail(MESA_lqueue_head lq_head, void *data, long *data_len); - -int MESA_lqueue_join_head(MESA_lqueue_head lq_head, const void *data, long data_len); -int MESA_lqueue_join_tail(MESA_lqueue_head lq_head, const void *data, long data_len); - - -/* these functions features same with above no "try", - except shall return immediately, in other word is "Non-block mode"! - */ -int MESA_lqueue_try_read_head(MESA_lqueue_head lq_head, void *data, long *data_len); -int MESA_lqueue_try_get_head(MESA_lqueue_head lq_head, void *data, long *data_len); -int MESA_lqueue_try_get_tail(MESA_lqueue_head lq_head, void *data, long *data_len); -int MESA_lqueue_try_join_head(MESA_lqueue_head lq_head, const void *data, long data_len); -int MESA_lqueue_try_join_tail(MESA_lqueue_head lq_head, const void *data, long data_len); - - -void MESA_lqueue_destroy(MESA_lqueue_head head, MESA_lqueue_cb_t cb, void *cb_arg); - -const char *MESA_lqueue_strerror(MESA_queue_errno_t error_num); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/src/inc/MESA_prof_load.h b/src/inc/MESA_prof_load.h deleted file mode 100644 index ecfc50f..0000000 --- a/src/inc/MESA_prof_load.h +++ /dev/null @@ -1,189 +0,0 @@ -#ifndef SLIB_LOADPROF_H -#define SLIB_LOADPROF_H -#include - -#ifdef __cplusplus -extern "C" { -#endif - - -// Read in specified integer value -// -// Return: -// 0 : success -// < 0 : error, val is set to default -int MESA_load_profile_int_def( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - int *val, // [OUT] returned value - const int dval); // [IN] default value - - - -// Read in specified integer value -// -// Return: -// 0 : success -// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error -// -2 : error ,the val if out of range -int MESA_load_profile_int_nodef( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - int *val); // [OUT] returned value - - - - -// Read in specified unsigned integer value -// -// Return: -// 0 : success -// < 0 : error, val is set to default -int MESA_load_profile_uint_def( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - unsigned int *val, // [OUT] returned value - const unsigned int dval); // [IN] default value - - - -// Read in specified unsigned integer value -// -// Return: -// 0 : success -// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error -// -2 : error ,the val if out of range -int MESA_load_profile_uint_nodef( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - unsigned int *val); // [OUT] returned value - - - -// Read in specified short integer value -// -// Return: -// 0 : success -// < 0 : error, val is set to default -int MESA_load_profile_short_def( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - short *val, // [OUT] returned value - const short dval); // [IN] default value - - - -// Read in specified short integer value -// -// Return: -// 0 : success -// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error -// -2 : error ,the val if out of range -int MESA_load_profile_short_nodef( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - short *val); // [OUT] returned value - - - -// Read in specified string value, -// if value string is too long to return, extra chars truncated. -// prefix/postfix space chars cutted, -// space chars: ' ', '\t' '\n' '\r' -// -// Return: -// >= 0 : length of val -// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error - -int MESA_load_profile_string_nodef( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - char *str, // [OUT] returned string - const size_t size); // [IN] buffer size(bytes) - - - -// Read in specified string value, -// if value string is too long to return, extra chars truncated. -// prefix/postfix space chars cutted, -// space chars: ' ', '\t' '\n' '\r' -// -// Return: -// >= 0 : length of val -// < 0 : error, str is set to default -int MESA_load_profile_string_def( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - char *str, // [OUT] returned string - const size_t size, // [IN] buffer size(bytes) - const char *dstr); // [IN] default string - -//read muti unint number from config file, e.g "1-3,5-9" -//return : -// >=0 : success,return the number of uint read from file successfully -// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error -// -2 : error,invalid uint -int MESA_load_profile_uint_range( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - const size_t size, // [IN] the number of unit memory out pointed - unsigned int *out); // [OUT] return ipset network bytes order - -//read ips from config file -//return : -// >=0 : success,return the number of ip read from file successfully -// -1 : failed to get the key,may be have no thie section, key or the val which the key pointed error -// -2 : error,invalid ip - -#if 0 -int MESA_load_profile_ipset( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - const size_t size, // [IN] the size of memory ips point,it must equel or greater than ip_num*sizeof(unsigned int) - unsigned int *ipset); // [OUT] return ipset network bytes order - -// Write the a int into specified position of the config file,the position is decided by section and key -// Return: -// >= 0 : success -// -1 : failed to write profile,maybe fopen failed, or malloc failed -int MESA_write_profile_int( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - const int value); // [IN] the integer need write - -// Write the a float into specified position of the config file,the position is decided by section and key -// Return: -// >= 0 : success -// -1 : failed to write profile,maybe fopen failed, or malloc failed -int MESA_write_profile_float( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - const float value); // [IN] the float need write - -// Write the a string into specified position of the config file,the position is decided by section and key -// Return: -// >= 0 : success -// -1 : failed to write profile,maybe fopen failed, or malloc failed -int MESA_write_profile_string( - const char *file, // [IN] initialization file path - const char *section, // [IN] section name in initialization file - const char *key, // [IN] keyword name in initialization file - const char *value); // [IN] the string need write -#endif -#ifdef __cplusplus -} -#endif - -#endif /* #ifndef SLIB_LOADPROF_H */ diff --git a/src/inc/MESA_ring_queue.h b/src/inc/MESA_ring_queue.h deleted file mode 100644 index cc1efe8..0000000 --- a/src/inc/MESA_ring_queue.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef __MESA_RING_QUEUE_H_ -#define __MESA_RING_QUEUE_H_ 1 - -#ifdef __cplusplus -extern "C" -{ -#endif - -typedef void * MESA_ring_queue_head; - -#define MESA_RING_QUEUE_VERSION_MACRO (20160708) -extern const unsigned int MESA_RING_QUEUE_VERSION_INT; - -/* All of the following functions return value */ -typedef enum{ - MESA_RQUEUE_RET_OK = 0, /* success */ - MESA_RQUEUE_RET_COMMON_ERR = -1, /* generalundefined errors */ - MESA_RQUEUE_RET_ARG_ERR = -2, /* invalid args */ - MESA_RQUEUE_RET_NUM_FULL = -3, /* queue number full */ - MESA_RQUEUE_RET_MEM_FULL = -4, /* queue memory full */ - MESA_RQUEUE_RET_QEMPTY = -5, /* queue empty */ - MESA_RQUEUE_RET_LEN_ERR = -6, /* length error */ - MESA_RQUEUE_RET_CANT_GET_LOCK = -7, /* can't get lock in non-block mode */ - MESA_RQUEUE_RET_GET_LOCK_TMOUT = -8, /* get lock timeout */ -}MESA_ring_queue_errno_t; - - -/* - args description: - [IN] - thread_safe : 1:create thread safe queue; 0:without thread safe insurance. - max_item_num: maximum queue items of the queue, must more than zero. -*/ -MESA_ring_queue_head MESA_ring_queue_born(void); - - -enum MESA_rq_opt{ - RQO_THREAD_SAFE = 0, /* must be int, 1:create ring qqueue with thread safe features, default is 1 */ - RQO_RING_ELEMENT_NUM, /* must be unsigned int, defalut is 1000. */ - RQO_PRE_ALLOC_BUF_LEN, /* must be unsigned int, Ԥȷÿitemڴ, Ժֻmemcpy */ - RQO_MULTI_THREAD_LOCK_FREE, /* must be int, default is 0, conflict with RQO_THREAD_SAFE */ -}; - -/* - to set features of specified MESA_ring_queue_headhandle. - opt_type: option type, refer to enum MESA_htable_opt; - opt_val : option value, depend on opt type; - opt_len : opt_val size, depend on opt type; - - return value: - 0 :success; - <0:error; -*/ -int MESA_ring_queue_set_opt(MESA_ring_queue_head rq, enum MESA_rq_opt opt_type, void *opt_val, int opt_len); - - -/* - Construct ring queue and ready to running. - - return value: - 0 : success; - <0: error. -*/ -int MESA_ring_queue_mature(MESA_ring_queue_head rq); - - - -int MESA_ring_queue_get_count(MESA_ring_queue_head head); - -/* - args description: - [IN]: - lq_head : the handler of MESA_ring_queue. - - [OUT]: - data : receive buffer. - - [IN && OUT]: - data_len: - is value-result argument, like "addrlen of recvfrom(2)", - the caller should initialize the size of the 'data', - will modified on return to indicate the actual size of the queue item. - -*/ -int MESA_ring_queue_read(MESA_ring_queue_head rq_head, void *data, int *data_len); -int MESA_ring_queue_get(MESA_ring_queue_head rqhead, void *data, int *data_len); -int MESA_ring_queue_join(MESA_ring_queue_head rq_head, const void *data, int data_len); - - -/* these functions features same with above no "try", - except shall return immediately, in other word is "Non-block mode"! - */ -int MESA_ring_queue_try_read(MESA_ring_queue_head rq_head, void *data, int *data_len); -int MESA_ring_queue_try_get(MESA_ring_queue_head rqhead, void *data, int *data_len); -int MESA_ring_queue_try_join(MESA_ring_queue_head rq_head, const void *data, int data_len); - - -typedef int (* MESA_rqueue_cb_t)(void *data, long data_len, void *arg); -void MESA_ring_queue_destroy(MESA_ring_queue_head rq_head, MESA_rqueue_cb_t cb, void *cb_arg); -const char *MESA_ring_queue_strerror(MESA_ring_queue_errno_t error_num); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/src/inc/Maat_command.h b/src/inc/Maat_command.h deleted file mode 100644 index ec4796f..0000000 --- a/src/inc/Maat_command.h +++ /dev/null @@ -1,167 +0,0 @@ -#ifndef H_MAAT_COMMAND_H_INCLUDE -#define H_MAAT_COMMAND_H_INCLUDE -#ifndef __cplusplus -#error("This file should be compiled with C++ compiler") -#endif -#include "Maat_rule.h" -enum MAAT_OPERATION -{ - MAAT_OP_DEL=0, - MAAT_OP_ADD, - MAAT_OP_RENEW_TIMEOUT //Rule expire time is changed to now+cmd->expire_after -}; - -enum MAAT_REGION_TYPE -{ - REGION_EXPR, - REGION_IP, - REGION_INTERVAL, - REGION_DIGEST, - REGION_SIMILARITY -}; -enum MAAT_EXPR_TYPE -{ - EXPR_TYPE_STRING=0, - EXPR_TYPE_AND, - EXPR_TYPE_REGEX, - EXPR_TYPE_OFFSET -}; -enum MAAT_MATCH_METHOD -{ - MATCH_METHOD_SUB=0, - MATCH_METHOD_RIGHT, - MATCH_METHOD_LEFT, - MATCH_METHOD_COMPLETE -}; - -enum MAAT_CASE_TYPE -{ - UNCASE_PLAIN=0, - CASE_HEXBIN, - CASE_PLAIN -}; -enum MAAT_ADDR_TYPE -{ - ADDR_TYPE_IPv4=4, - ADDR_TYPE_IPv6=6 -}; -enum MAAT_ADDR_DIRECTION -{ - ADDR_DIR_DOUBLE=0, - ADDR_DIR_SINGLE=1 -}; -struct Maat_rgn_str_t -{ - const char *keywords; - const char *district;// optional for expr_plus, otherwise set to NULL. - enum MAAT_EXPR_TYPE expr_type; - enum MAAT_MATCH_METHOD match_method; - enum MAAT_CASE_TYPE hex_bin; -}; -struct Maat_rgn_addr_t -{ - enum MAAT_ADDR_TYPE addr_type; - const char* src_ip; - const char* mask_src_ip; - const char* dst_ip; - const char* mask_dst_ip; - unsigned short src_port; - unsigned short mask_src_port; - unsigned short dst_port; - unsigned short mask_dst_port; - unsigned short protocol; - enum MAAT_ADDR_DIRECTION direction; -}; -struct Maat_rgn_intv_t -{ - unsigned int low_boundary; - unsigned int up_boundary; -}; -struct Maat_rgn_digest_t -{ - unsigned long long orgin_len; - const char* digest_string; - short confidence_degree; -}; -struct Maat_rgn_sim_t -{ - char* target; - short threshold;// 1~100 -}; -struct Maat_region_t -{ - const char* table_name; - int region_id; //If MAAT_OPT_CMD_AUTO_NUMBERING==1, maat will assigned one. Or users must appoint a unique number. - enum MAAT_REGION_TYPE region_type; - union - { - struct Maat_rgn_str_t expr_rule; - struct Maat_rgn_addr_t ip_rule; - struct Maat_rgn_intv_t interval_rule; - struct Maat_rgn_digest_t digest_rule; - struct Maat_rgn_sim_t similarity_rule; - }; -}; -struct Maat_group_t -{ - int region_num; - int group_id; //If MAAT_OPT_CMD_AUTO_NUMBERING==1, maat will assigned one. Or users must assign a unique number. - struct Maat_region_t *regions; -}; -struct Maat_cmd_t -{ - //This Struct MUST alloced by Maat_create_cmd(), then released by Maat_free_cmd(). - struct Maat_rule_t compile; // for MAAT_OP_DEL, only compile.config_id is necessary. - int group_num; // for MAAT_OP_DEL, set to 0. - int expire_after; //expired after $expire_after$ seconds, set to 0 for never timeout. - int label_id; //>0, to be indexed and quried by Maat_cmd_select; =0 not index - struct Maat_group_t* groups;// Add regions with Maat_add_region2cmd -}; -struct Maat_line_t -{ - const char* table_name; - const char* table_line; - int rule_id; // for MAAT_OP_DEL, only rule_id and table_name are necessary. - int label_id; - int expire_after; //expired after $timeout$ seconds, set to 0 for never timeout. -}; -struct Maat_cmd_t* Maat_create_cmd(const struct Maat_rule_t* rule, int group_num); -int Maat_cmd_set_opt(struct Maat_cmd_t* cmd, enum MAAT_RULE_OPT type, const char* val, int size); -//input: which_group 0~group_num -//input: region can be freed after added. -void Maat_add_region2cmd(struct Maat_cmd_t* cmd,int which_group,const struct Maat_region_t* region); - -void Maat_free_cmd(struct Maat_cmd_t* cmd); -int Maat_format_cmd(struct Maat_cmd_t* cmd, char* buffer, int size); -//Input string of REGION_EXPR and REGION_SIMILARITY need to be escapeed. -char* Maat_str_escape(char* dst,int size,const char*src); - -//Deletion failed due to not complete synchronize with Redis. -//To make sure the delete command is excecuted, user should try again after MAAT_OPT_SCANDIR_INTERVAL_MS ms. -//Returns nubmer of successfully updated rule. -//The following functions are NOT thread safe. -int Maat_cmd(Maat_feather_t feather,struct Maat_cmd_t* cmd,enum MAAT_OPERATION op); - -//pipeline model -int Maat_cmd_append(Maat_feather_t feather,struct Maat_cmd_t* cmd,enum MAAT_OPERATION op); - -//Return nubmer of successfully updated rule. -//Return -1 for failed. -int Maat_cmd_commit(Maat_feather_t feather); - - -int Maat_cmd_set_group(Maat_feather_t feather, int group_id, const struct Maat_region_t* region, enum MAAT_OPERATION op); - -//Returns nubmer of successfully updated rule. -//Return -1 for failed. -int Maat_cmd_set_line(Maat_feather_t feather,const struct Maat_line_t* line_rule, enum MAAT_OPERATION op); -int Maat_cmd_set_lines(Maat_feather_t feather,const struct Maat_line_t** line_rule, int line_num ,enum MAAT_OPERATION op); -int Maat_cmd_set_file(Maat_feather_t feather,const char* key, const char* value, size_t size, enum MAAT_OPERATION op); - -//Return the value of key after the increment. -//If the key does not exist, it is set to 0 before performing the operation. -long long Maat_cmd_incrby(Maat_feather_t feather,const char* key, int increment); -int Maat_cmd_select(Maat_feather_t feather, int label_id, int * output_ids, unsigned int size); -int Maat_cmd_flushDB(Maat_feather_t feather); -#endif - diff --git a/src/inc/Maat_rule.h b/src/inc/Maat_rule.h deleted file mode 100644 index afba44c..0000000 --- a/src/inc/Maat_rule.h +++ /dev/null @@ -1,289 +0,0 @@ - -/* -*****************Maat Deep Packet Inspection Policy Framework******** -* Maat is the Goddess of truth and justice in ancient Egyptian concept. -* Her feather was the measure that determined whether the souls (considered -* to reside in the heart) of the departed would reach the paradise of afterlife -* successfully. -* Author: zhengchao@iie.ac.cn, MESA -* Version 2018-12-07 Plugin Extra Data. -* NOTE: MUST compile with G++ -* All right reserved by Institute of Infomation Engineering,Chinese Academic of Science 2014~2018 -********************************************************* -*/ -#ifndef H_MAAT_RULE_H_INCLUDE -#define H_MAAT_RULE_H_INCLUDE -#ifndef __cplusplus -#error("This file should be compiled with C++ compiler") -#endif -#include -enum MAAT_CHARSET -{ - CHARSET_NONE=0, - CHARSET_GBK, - CHARSET_BIG5, - CHARSET_UNICODE, - CHARSET_UTF8, // 4 - CHARSET_BIN, //5 - CHARSET_UNICODE_ASCII_ESC, // Unicode Escape format, prefix backslash-u hex, e.g. "\u627;" - CHARSET_UNICODE_ASCII_ALIGNED,//Unicode Escape format, prefix backslash-u with 4 bytes aligned, e.g. "\u0627" - CHARSET_UNICODE_NCR_DEC, //SGML Numeric character reference,decimal base, e.g. "ا" - CHARSET_UNICODE_NCR_HEX, //SGML Numeric character reference,hexdecimal base, e.g. "ا" - CHARSET_URL_ENCODE_GB2312, //URL encode with GB2312, e.g. the chinese word "china" was encoded to %D6%D0%B9%FA - CHARSET_URL_ENCODE_UTF8 //11, URL encode with UTF8,e.g. the chinese word "china" was encoded to %E4%B8%AD%E5%9B%BD -}; -enum MAAT_ACTION -{ - MAAT_ACTION_BLOCK=0, - MAAT_ACTION_MONIT, - MAAT_ACTION_WHITE -}; -enum MAAT_POS_TYPE -{ - MAAT_POSTYPE_EXPR=0, - MAAT_POSTYPE_REGEX -}; -typedef void* scan_status_t; -typedef void* stream_para_t; -typedef void* Maat_feather_t; - - -#define MAX_SERVICE_DEFINE_LEN 128 -#define MAX_HUGE_SERVICE_DEFINE_LEN (1024*4) -struct Maat_rule_t -{ - int config_id; - int service_id; - char do_log; - char do_blacklist; - char action; - char reserved; - int serv_def_len; - char service_defined[MAX_SERVICE_DEFINE_LEN]; -}; -#define MAAT_RULE_UPDATE_TYPE_FULL 1 -#define MAAT_RULE_UPDATE_TYPE_INC 2 -typedef void Maat_start_callback_t(int update_type,void* u_para); -typedef void Maat_update_callback_t(int table_id,const char* table_line,void* u_para); -typedef void Maat_finish_callback_t(void* u_para); - - - - - -//--------------------HITTING DETAIL DESCRIPTION BEGIN - -#define MAAT_MAX_HIT_RULE_NUM 8 -#define MAAT_MAX_EXPR_ITEM_NUM 8 -#define MAAT_MAX_HIT_POS_NUM 8 -#define MAAT_MAX_REGEX_GROUP_NUM 8 - -//NOTE position buffer as hitting_regex_pos and hit_pos,are ONLY valid before next scan or Maat_stream_scan_string_end -struct regex_pos_t -{ - int group_num; - int hitting_regex_len; - const char* hitting_regex_pos; - int grouping_len[MAAT_MAX_REGEX_GROUP_NUM]; - const char* grouping_pos[MAAT_MAX_REGEX_GROUP_NUM]; -}; -struct str_pos_t -{ - int hit_len; - const char* hit_pos; -}; -struct sub_item_pos_t -{ - enum MAAT_POS_TYPE ruletype; - int hit_cnt; - union - { - struct regex_pos_t regex_pos[MAAT_MAX_HIT_POS_NUM]; - struct str_pos_t substr_pos[MAAT_MAX_HIT_POS_NUM]; - }; -}; - -struct Maat_region_pos_t -{ - - int region_id; - int sub_item_num; - struct sub_item_pos_t sub_item_pos[MAAT_MAX_EXPR_ITEM_NUM]; -}; - -struct Maat_hit_detail_t -{ - int config_id;//set <0 if half hit; - int hit_region_cnt; - struct Maat_region_pos_t region_pos[MAAT_MAX_HIT_RULE_NUM]; -}; -//--------------------HITTING DETAIL DESCRIPTION END - -//Abondon interface ,left for compatible. -Maat_feather_t Maat_summon_feather(int max_thread_num, - const char* table_info_path, - const char* ful_cfg_dir, - const char* inc_cfg_dir, - void*logger);//MESA_handle_logger -//Abondon interface ,left for compatible. -Maat_feather_t Maat_summon_feather_json(int max_thread_num, - const char* table_info_path, - const char* json_rule, - void* logger); - -Maat_feather_t Maat_feather(int max_thread_num,const char* table_info_path,void* logger); -int Maat_initiate_feather(Maat_feather_t feather); - -enum MAAT_INIT_OPT -{ - MAAT_OPT_SCANDIR_INTERVAL_MS=1, //VALUE is interger, SIZE=sizeof(int). DEFAULT:1,000 milliseconds. - MAAT_OPT_EFFECT_INVERVAL_MS, //VALUE is interger, SIZE=sizeof(int). DEFAULT:60,000 milliseconds. - MAAT_OPT_FULL_CFG_DIR, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1.DEFAULT: no default. - MAAT_OPT_INC_CFG_DIR, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1.DEFAULT: no default. - MAAT_OPT_JSON_FILE_PATH, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1.DEFAULT: no default. - MAAT_OPT_STAT_ON, //VALUE is NULL, SIZE is 0. MAAT_OPT_STAT_FILE_PATH must be set. Default: stat OFF. - MAAT_OPT_PERF_ON, //VALUE is NULL, SIZE is 0. MAAT_OPT_STAT_FILE_PATH must be set. Default: stat OFF. - MAAT_OPT_STAT_FILE_PATH, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. DEFAULT: no default. - MAAT_OPT_SCAN_DETAIL, //VALUE is interger *, SIZE=sizeof(int). 0: not return any detail;1: return hit pos, not include regex grouping. - // 2 return hit pos and regex grouping pos;DEFAULT:0 - MAAT_OPT_INSTANCE_NAME, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1, no more than 11 bytes.DEFAULT: MAAT_$tableinfo_path$. - MAAT_OPT_DECRYPT_KEY, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. No DEFAULT. - MAAT_OPT_REDIS_IP, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. No DEFAULT. - MAAT_OPT_REDIS_PORT, //VALUE is a unsigned short or a signed int, host order, SIZE= sizeof(unsigned short) or sizeof(int). No DEFAULT. - MAAT_OPT_REDIS_INDEX, //VALUE is interger *, 0~15, SIZE=sizeof(int). DEFAULT: 0. - MAAT_OPT_CMD_AUTO_NUMBERING, //VALUE is a interger *, 1 or 0, SIZE=sizeof(int). DEFAULT: 1. - MAAT_OPT_DEFERRED_LOAD, //VALUE is NULL,SIZE is 0. Default: Deffered initialization OFF. - MAAT_OPT_CUMULATIVE_UPDATE_OFF, //VALUE is NULL,SIZE is 0. Default: CUMMULATIVE UPDATE ON. - MAAT_OPT_LOAD_VERSION_FROM, //VALUE is a long long, SIZE=sizeof(long long). Default: Load the Latest. Only valid in redis mode, and maybe failed for too old. - //This option also disables background update. - MAAT_OPT_ENABLE_UPDATE, //VALUE is interger, SIZE=sizeof(int). 1: Enabled, 0:Disabled. DEFAULT: Backgroud update is enabled. Runtime setting is allowed. - MAAT_OPT_ACCEPT_TAGS, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. Format is a JSON, e.g.{"tags":[{"tag":"location","value":"Beijing/ChaoYang/Huayan/22A"},{"tag":"isp","value":"telecom"}]} - MAAT_OPT_FOREIGN_CONT_DIR, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. Specifies a local diretory to store foreign content. Default: []table_info_path]_files - MAAT_OPT_FOREIGN_CONT_LINGER //VALUE is interger *, SIZE=sizeof(int). Greater than 0: delete after VALUE seconds; 0: delete foreign content right after the notification callbacks; Less than 0: NEVER delete. Default: 0. -}; -//return -1 if failed, return 0 on success; -int Maat_set_feather_opt(Maat_feather_t feather,enum MAAT_INIT_OPT type,const void* value,int size); -enum MAAT_STATE_OPT -{ - MAAT_STATE_VERSION=1, //Get current maat version, if maat is in update progress, the updating version is returned. VALUE is long long, SIZE=sizeof(long long). - MAAT_STATE_LAST_UPDATING_TABLE, //Query at Maat_finish_callback_t to determine whether this table is the last one to update. VALUE is interger, SIZE=sizeof(int), 1:yes, 0: no - MAAT_STATE_IN_UPDATING -}; -int Maat_read_state(Maat_feather_t feather, enum MAAT_STATE_OPT type, void* value, int size); - -void Maat_burn_feather(Maat_feather_t feather); - -//return table_id(>=0) if success,otherwise return -1; -int Maat_table_register(Maat_feather_t feather,const char* table_name); -//return 1 if success,otherwise return -1 incase invalid table_id or registed function number exceed 32; -int Maat_table_callback_register(Maat_feather_t feather,short table_id, - Maat_start_callback_t *start,//MAAT_RULE_UPDATE_TYPE_*,u_para - Maat_update_callback_t *update,//table line ,u_para - Maat_finish_callback_t *finish,//u_para - void* u_para); - - -enum MAAT_SCAN_OPT -{ - MAAT_SET_SCAN_DISTRICT=1, //VALUE is a const char*,SIZE= strlen(string).DEFAULT: no default. - MAAT_SET_SCAN_LAST_REGION //VALUE is NULL, SIZE=0. This option indicates that the follow scan is the last region of current scan cobination. -}; -//return 0 if success, return -1 when failed; -int Maat_set_scan_status(Maat_feather_t feather,scan_status_t* mid,enum MAAT_SCAN_OPT type,const void* value,int size); - -//Return hit rule number, return -1 when error occurs,return -2 when hit current region -//mid MUST set to NULL before fist call -int Maat_scan_intval(Maat_feather_t feather,int table_id - ,unsigned int intval - ,struct Maat_rule_t*result,int rule_num - ,scan_status_t *mid,int thread_num); -int Maat_scan_addr(Maat_feather_t feather,int table_id - ,struct ipaddr* addr - ,struct Maat_rule_t*result,int rule_num - ,scan_status_t *mid,int thread_num); -int Maat_scan_proto_addr(Maat_feather_t feather,int table_id - ,struct ipaddr* addr,unsigned short int proto - ,struct Maat_rule_t*result,int rule_num - ,scan_status_t *mid,int thread_num); -int Maat_full_scan_string(Maat_feather_t feather,int table_id - ,enum MAAT_CHARSET charset,const char* data,int data_len - ,struct Maat_rule_t*result,int* found_pos,int rule_num - ,scan_status_t* mid,int thread_num); -//hite_detail could be NULL if unconcern -int Maat_full_scan_string_detail(Maat_feather_t feather,int table_id - ,enum MAAT_CHARSET charset,const char* data,int data_len - ,struct Maat_rule_t*result,int rule_num,struct Maat_hit_detail_t *hit_detail,int detail_num - ,int* detail_ret,scan_status_t* mid,int thread_num); - -stream_para_t Maat_stream_scan_string_start(Maat_feather_t feather,int table_id,int thread_num); -int Maat_stream_scan_string(stream_para_t* stream_para - ,enum MAAT_CHARSET charset,const char* data,int data_len - ,struct Maat_rule_t*result,int* found_pos,int rule_num - ,scan_status_t* mid); -//hited_detail could be NULL if unconcern -int Maat_stream_scan_string_detail(stream_para_t* stream_para - ,enum MAAT_CHARSET charset,const char* data,int data_len - ,struct Maat_rule_t*result,int rule_num,struct Maat_hit_detail_t *hit_detail,int detail_num - ,int* detail_ret,scan_status_t* mid); -void Maat_stream_scan_string_end(stream_para_t* stream_para); - -stream_para_t Maat_stream_scan_digest_start(Maat_feather_t feather,int table_id,unsigned long long total_len,int thread_num); -int Maat_stream_scan_digest(stream_para_t* stream_para - ,const char* data,int data_len,unsigned long long offset - ,struct Maat_rule_t*result,int rule_num - ,scan_status_t* mid); -void Maat_stream_scan_digest_end(stream_para_t* stream_para); - -int Maat_similar_scan_string(Maat_feather_t feather,int table_id - ,const char* data,int data_len - ,struct Maat_rule_t*result,int rule_num - ,scan_status_t* mid,int thread_num); - -void Maat_clean_status(scan_status_t* mid); - -typedef void* MAAT_RULE_EX_DATA; -// The idx parameter is the index: this will be the same value returned by Maat_rule_get_ex_new_index() when the functions were initially registered. -// Finally the argl and argp parameters are the values originally passed to the same corresponding parameters when Maat_rule_get_ex_new_index() was called. -typedef void Maat_rule_EX_new_func_t(int idx, const struct Maat_rule_t* rule, const char* srv_def_large, - MAAT_RULE_EX_DATA* ad, long argl, void *argp); -typedef void Maat_rule_EX_free_func_t(int idx, const struct Maat_rule_t* rule, const char* srv_def_large, - MAAT_RULE_EX_DATA* ad, long argl, void *argp); -typedef void Maat_rule_EX_dup_func_t(int idx, MAAT_RULE_EX_DATA *to, MAAT_RULE_EX_DATA *from, long argl, void *argp); - -int Maat_rule_get_ex_new_index(Maat_feather_t feather, const char* compile_table_name, - Maat_rule_EX_new_func_t* new_func, - Maat_rule_EX_free_func_t* free_func, - Maat_rule_EX_dup_func_t* dup_func, - long argl, void *argp); -//returned data is duplicated by dup_func of Maat_rule_get_ex_new_index, caller is responsible to free the data. -MAAT_RULE_EX_DATA Maat_rule_get_ex_data(Maat_feather_t feather, const struct Maat_rule_t* rule, int idx); - -//Helper function for parsing space or tab seperated line. -//Nth_column: the Nth column is numberd from 1. -//Return 0 if success. -int Maat_helper_read_column(const char* line, int Nth_column, size_t *column_offset, size_t *column_len); - - -//Following functions are similar to Maat_rule_get_ex_data, except they are effective on plugin table. -typedef void* MAAT_PLUGIN_EX_DATA; -typedef void Maat_plugin_EX_new_func_t(int table_id, const char* key, const char* table_line, MAAT_PLUGIN_EX_DATA* ad, long argl, void *argp); -typedef void Maat_plugin_EX_free_func_t(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void *argp); -typedef void Maat_plugin_EX_dup_func_t(int table_id, MAAT_PLUGIN_EX_DATA *to, MAAT_PLUGIN_EX_DATA *from, long argl, void *argp); -typedef int Maat_plugin_EX_key2index_func_t(const char* key); - -int Maat_plugin_EX_register(Maat_feather_t feather, int table_id, - Maat_plugin_EX_new_func_t* new_func, - Maat_plugin_EX_free_func_t* free_func, - Maat_plugin_EX_dup_func_t* dup_func, - Maat_plugin_EX_key2index_func_t* key2index_func, - long argl, void *argp); -//Data is duplicated by dup_func of Maat_plugin_EX_register, caller is responsible to free the data. -MAAT_PLUGIN_EX_DATA Maat_plugin_get_EX_data(Maat_feather_t feather, int table_id, const char* key); - -enum MAAT_RULE_OPT -{ - MAAT_RULE_SERV_DEFINE //VALUE is a char* buffer,SIZE= buffer size. -}; -int Maat_read_rule(Maat_feather_t feather, const struct Maat_rule_t* rule, enum MAAT_RULE_OPT type, void* value, int size); -#endif // H_MAAT_RULE_H_INCLUDE - diff --git a/src/inc/field_stat2.h b/src/inc/field_stat2.h deleted file mode 100644 index 6ed212c..0000000 --- a/src/inc/field_stat2.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef H_SCREEN_STAT_H_INCLUDE -#define H_SCREEN_STAT_H_INCLUDE -#include - -#ifndef __cplusplus -#error("This file should be compiled with C++ compiler") -#endif - -enum field_dsp_style_t -{ - FS_STYLE_FIELD=0, - FS_STYLE_COLUMN, - FS_STYLE_LINE, - FS_STYLE_STATUS -}; -enum field_calc_algo -{ - FS_CALC_CURRENT=0, - FS_CALC_SPEED -}; -enum field_op -{ - FS_OP_ADD=1, - FS_OP_SET, -}; - - -typedef void* screen_stat_handle_t; - -enum FS_option -{ - OUTPUT_DEVICE, //VALUE is a const char*, indicate a file path string, SIZE = strlen(string+'\0')+1.DEFAULT:output to stdout. - PRINT_MODE, //VALUE is an interger,1:Rewrite ,2: Append. SIZE=4,DEFALUT:REWRITE. - STAT_CYCLE, //VALUE is an interger idicate interval seconds of every output, SIZE=4 ,DEFUALT:2 seconds. - PRINT_TRIGGER, //VALUE is an interger,1:Do print,0: Don't print.SIZE=4.DEFAULT:1. - CREATE_THREAD, //VALUE is an interger,1: Create a print thread,0:not create,output by call passive_output function, - //and the STAT_CYCLE is meaningless.SIZE=4,DEFAULT:0. - ID_INVISBLE, //value is field_id/status_id/column_id, not output this string, SIZE=4,DEFAULT: shutdown NO one. - FLUSH_BY_DATE, //value is 1(ture) or 0(false),SIZE=4,DEFAULT: Do not flush by date. - APP_NAME, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. DEFAULT is "?". - STATS_SERVER_IP, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. No DEFAULT. - STATS_SERVER_PORT, //VALUE is a unsigned short or a signed int, host order, SIZE= sizeof(unsigned short) or sizeof(int). No DEFAULT. - MAX_STAT_FIELD_NUM //VALUE is an interger, SIZE=sizeof(int), DEFAULT:1024. -}; - -//Always success. -screen_stat_handle_t FS_create_handle(void); - -int FS_set_para(screen_stat_handle_t handle, enum FS_option type,const void* value,int size); -void FS_start(screen_stat_handle_t handle); -void FS_stop(screen_stat_handle_t* handle); - -//return field_id/line_id/column_id greater than zero if success,return an interger less than zero if failed. -//should NOT include "|:\n\r.\t<>[]#!@"or space in the parameter name. -//Runtime rregister column is NOT allowed. -int FS_register(screen_stat_handle_t handle,enum field_dsp_style_t style,enum field_calc_algo calc_type,const char* name); - -//numerator_id and denominator_id must be column/field/status style. -//scaling: negative value: zoom in; positive value: zoom out; -int FS_register_ratio(screen_stat_handle_t handle,int numerator_id,int denominator_id,int scaling,enum field_dsp_style_t style,enum field_calc_algo calc_type,const char* name); - -//id: when id's type is FIELD , column_id is ignore. -int FS_operate(screen_stat_handle_t handle,int id,int column_id,enum field_op op,long long value); - -void FS_passive_output(screen_stat_handle_t handle); - -#endif - diff --git a/src/inc/gram_index_engine.h b/src/inc/gram_index_engine.h deleted file mode 100644 index a69e924..0000000 --- a/src/inc/gram_index_engine.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _GRAM_INDEX_ENGINE_ -#define _GRAM_INDEX_ENGINE_ - -#ifdef __cplusplus -extern "C" { -#endif - -#define GIE_INSERT_OPT 0 -#define GIE_DELETE_OPT 1 -#define GIE_INPUT_FORMAT_SFH 1 -#define GIE_INPUT_FORMAT_PLAIN 0 - - -typedef struct -{ - /* data */ -}GIE_handle_t; - - -typedef struct -{ - unsigned int id; - unsigned int sfh_length;//size of fuzzy_hash - short operation;//GIE_INSERT_OPT or GIE_DELETE_OPT.if operation is GIE_DELETE_OPT, only id is needed; - short cfds_lvl; - char * sfh; - void * tag; -}GIE_digest_t; - - -typedef struct -{ - unsigned int id; - short cfds_lvl; - void * tag; -}GIE_result_t; - - -typedef struct -{ - unsigned int gram_value; - //unsigned int htable_num; - unsigned int position_accuracy; - short format; //if format==GIE_INPUT_FORMAT_SFH, means the input string is a GIE_INPUT_FORMAT_SFH string - //else id format==PALIN, means the input string is common string - short ED_reexamine;//if ED_reexamine==1, calculate edit distance to verify the final result -}GIE_create_para_t; - - -GIE_handle_t * GIE_create(const GIE_create_para_t * para); - - -int GIE_update(GIE_handle_t * handle, GIE_digest_t ** digests, int size); - - -//return actual matched result count -//return 0 when matched nothing; -//return -1 when error occurs; -int GIE_query(GIE_handle_t * handle, const char * data, int data_len, GIE_result_t * results, int result_size); - -void GIE_destory(GIE_handle_t * handle); -int GIE_string_similiarity(const char *str1, int len1, const char *str2, int len2); -int GIE_sfh_similiarity(const char *sfh1, int len1, const char *sfh2, int len2); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/inc/inc.mk b/src/inc/inc.mk deleted file mode 100644 index b4119d5..0000000 --- a/src/inc/inc.mk +++ /dev/null @@ -1,33 +0,0 @@ - - -# standard component Makefile header -sp := $(sp).x -dirstack_$(sp) := $(d) -d := $(dir) - -# component specification - -OBJS_$(d) :=\ - $(OBJ_DIR_CPP)/moodycamel_field_stat2.o\ - $(OBJ_DIR_CPP)/moodycamel_maat_rule.o - - -CFLAGS_LOCAL += -I$(d) -$(OBJS_$(d)): CFLAGS_LOCAL := -std=c++11 -W -Wall -g -O3\ - -I$(d)\ - -# standard component Makefile rules - -DEPS_$(d) := $(OBJS_$(d):.o=.d) - -CLEAN_LIST := $(CLEAN_LIST) $(OBJS_$(d)) $(DEPS_$(d)) - -$(OBJ_DIR_CPP)/%.o: $(d)/%.cpp - $(CPPCOMPILE) - --include $(DEPS_$(d)) - -# standard component Makefile footer - -d := $(dirstack_$(sp)) -sp := $(basename $(sp)) diff --git a/src/inc/moodycamel_field_stat2.cpp b/src/inc/moodycamel_field_stat2.cpp deleted file mode 100644 index 4e56fe1..0000000 --- a/src/inc/moodycamel_field_stat2.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/************************************************************************* - > File Name: moodycamel_field_stat2.cpp - > Author: - > Mail: - > Created Time: 2018年07月03日 星期二 16时48分52秒 - ************************************************************************/ - -#include -#include "field_stat2.h" - -using namespace std; - -extern "C" screen_stat_handle_t FS_internal_create_handle(void); -extern "C" int FS_internal_set_para(screen_stat_handle_t handle, enum FS_option type,const void* value,int size); -extern "C" void FS_internal_start(screen_stat_handle_t handle); -extern "C" void FS_internal_stop(screen_stat_handle_t* handle); -extern "C" int FS_internal_register(screen_stat_handle_t handle,enum field_dsp_style_t style, - enum field_calc_algo calc_type,const char* name); -extern "C" int FS_internal_operate(screen_stat_handle_t handle,int id,int column_id,enum field_op op,long long value); - -extern "C" int FS_internal_register_ratio(screen_stat_handle_t handle,int numerator_id,int denominator_id,int scaling, - enum field_dsp_style_t style,enum field_calc_algo calc_type,const char* name); - -screen_stat_handle_t FS_internal_create_handle(void) -{ - return FS_create_handle(); -} - -int FS_internal_set_para(screen_stat_handle_t handle, enum FS_option type,const void* value,int size) -{ - return FS_set_para(handle, type, value, size); -} - -void FS_internal_start(screen_stat_handle_t handle) -{ - FS_start(handle); -} - -void FS_internal_stop(screen_stat_handle_t* handle) -{ - FS_stop(handle); -} - -int FS_internal_register(screen_stat_handle_t handle,enum field_dsp_style_t style, - enum field_calc_algo calc_type,const char* name) -{ - return FS_register(handle, style, calc_type, name); -} - -int FS_internal_operate(screen_stat_handle_t handle,int id,int column_id,enum field_op op,long long value) -{ - return FS_operate(handle, id, column_id, op, value); -} - -int FS_internal_register_ratio(screen_stat_handle_t handle,int numerator_id,int denominator_id,int scaling, - enum field_dsp_style_t style,enum field_calc_algo calc_type,const char* name) -{ - return FS_register_ratio(handle, numerator_id, denominator_id, scaling, style, calc_type, name); -} - diff --git a/src/inc/moodycamel_field_stat2.h b/src/inc/moodycamel_field_stat2.h deleted file mode 100644 index a5e9a2c..0000000 --- a/src/inc/moodycamel_field_stat2.h +++ /dev/null @@ -1,63 +0,0 @@ -/************************************************************************* - > File Name: moodycamel_field_stat2.h - > Author: - > Mail: - > Created Time: 2018年07月03日 星期二 16时51分41秒 - ************************************************************************/ - -#ifndef _MOODYCAMEL_FIELD_STAT2_H -#define _MOODYCAMEL_FIELD_STAT2_H - -enum field_dsp_style_t -{ - FS_STYLE_FIELD=0, - FS_STYLE_COLUMN, - FS_STYLE_LINE, - FS_STYLE_STATUS -}; -enum field_calc_algo -{ - FS_CALC_CURRENT=0, - FS_CALC_SPEED -}; -enum field_op -{ - FS_OP_ADD=1, - FS_OP_SET, -}; - -typedef void* screen_stat_handle_t; - -enum FS_option -{ - OUTPUT_DEVICE, //VALUE is a const char*, indicate a file path string, SIZE = strlen(string+'\0')+1.DEFAULT:output to stdout. - PRINT_MODE, //VALUE is an interger,1:Rewrite ,2: Append. SIZE=4,DEFALUT:REWRITE. - STAT_CYCLE, //VALUE is an interger idicate interval seconds of every output, SIZE=4 ,DEFUALT:2 seconds. - PRINT_TRIGGER, //VALUE is an interger,1:Do print,0: Don't print.SIZE=4.DEFAULT:1. - CREATE_THREAD, //VALUE is an interger,1: Create a print thread,0:not create,output by call passive_output function, - //and the STAT_CYCLE is meaningless.SIZE=4,DEFAULT:0. - ID_INVISBLE, //value is field_id/status_id/column_id, not output this string, SIZE=4,DEFAULT: shutdown NO one. - FLUSH_BY_DATE, //value is 1(ture) or 0(false),SIZE=4,DEFAULT: Do not flush by date. - APP_NAME, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. DEFAULT is "?". - STATS_SERVER_IP, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. No DEFAULT. - STATS_SERVER_PORT, //VALUE is a unsigned short or a signed int, host order, SIZE= sizeof(unsigned short) or sizeof(int). No DEFAULT. - MAX_STAT_FIELD_NUM //VALUE is an interger, SIZE=sizeof(int), DEFAULT:1024. -}; - -screen_stat_handle_t FS_internal_create_handle(void); - -int FS_internal_set_para(screen_stat_handle_t handle, enum FS_option type,const void* value,int size); - -void FS_internal_start(screen_stat_handle_t handle); - -void FS_internal_stop(screen_stat_handle_t* handle); - -int FS_internal_register(screen_stat_handle_t handle,enum field_dsp_style_t style, - enum field_calc_algo calc_type,const char* name); - -int FS_internal_operate(screen_stat_handle_t handle,int id,int column_id,enum field_op op,long long value); - -int FS_internal_register_ratio(screen_stat_handle_t handle,int numerator_id,int denominator_id,int scaling, - enum field_dsp_style_t style,enum field_calc_algo calc_type,const char* name); - -#endif diff --git a/src/inc/moodycamel_maat_rule.cpp b/src/inc/moodycamel_maat_rule.cpp deleted file mode 100644 index b00aff0..0000000 --- a/src/inc/moodycamel_maat_rule.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/************************************************************************* - > File Name: moodycamel_maat_rule.cpp - > Author: - > Mail: - > Created Time: 2018年09月04日 星期二 16时56分42秒 - ************************************************************************/ - -#include - -using namespace std; - -#include - -extern "C" Maat_feather_t maat_feather(int max_thread_num,const char* table_info_path,void* logger); -extern "C" int maat_set_feather_opt(Maat_feather_t feather,enum MAAT_INIT_OPT type,const void* value,int size); -extern "C" int maat_initiate_feather(Maat_feather_t feather); -extern "C" int maat_table_register(Maat_feather_t feather,const char* table_name); -extern "C" void matt_burn_feather(Maat_feather_t feather); -extern "C" int maat_inter_table_callback_register(Maat_feather_t feather,short table_id, - Maat_start_callback_t *start, - Maat_update_callback_t *update, - Maat_finish_callback_t *finish, - void* u_para); -extern "C" int maat_read_state(Maat_feather_t feather, enum MAAT_STATE_OPT type, void* value, int size); - -extern "C" MAAT_PLUGIN_EX_DATA maat_plugin_get_EX_data(Maat_feather_t feather, int table_id, const char* key); - -extern "C" int maat_plugin_EX_register(Maat_feather_t feather, int table_id, - Maat_plugin_EX_new_func_t* new_func, - Maat_plugin_EX_free_func_t* free_func, - Maat_plugin_EX_dup_func_t* dup_func, - Maat_plugin_EX_key2index_func_t* key2index_func, - long argl, void *argp); - -Maat_feather_t maat_feather(int max_thread_num,const char* table_info_path,void* logger) -{ - return Maat_feather(max_thread_num, table_info_path, logger); -} - -int maat_set_feather_opt(Maat_feather_t feather,enum MAAT_INIT_OPT type,const void* value,int size) -{ - return Maat_set_feather_opt(feather, type, value, size); -} - -int maat_initiate_feather(Maat_feather_t feather) -{ - return Maat_initiate_feather(feather); -} - -int maat_table_register(Maat_feather_t feather,const char* table_name) -{ - return Maat_table_register(feather, table_name); -} - -int maat_inter_table_callback_register(Maat_feather_t feather,short table_id, - Maat_start_callback_t *start, - Maat_update_callback_t *update, - Maat_finish_callback_t *finish, - void* u_para) -{ - return Maat_table_callback_register(feather, table_id, start, update, finish, u_para); -} - - -int maat_plugin_EX_register(Maat_feather_t feather, int table_id, - Maat_plugin_EX_new_func_t* new_func, - Maat_plugin_EX_free_func_t* free_func, - Maat_plugin_EX_dup_func_t* dup_func, - Maat_plugin_EX_key2index_func_t* key2index_func, - long argl, void *argp) -{ - return Maat_plugin_EX_register(feather,table_id,new_func,free_func,dup_func,key2index_func,argl,argp); -} - -MAAT_PLUGIN_EX_DATA maat_plugin_get_EX_data(Maat_feather_t feather, int table_id, const char* key) -{ - return Maat_plugin_get_EX_data(feather, table_id, key); -} - -int maat_read_state(Maat_feather_t feather, enum MAAT_STATE_OPT type, void* value, int size) -{ - return Maat_read_state(feather, type, value, size); -} - -void matt_burn_feather(Maat_feather_t feather) -{ - return Maat_burn_feather(feather); -} - - diff --git a/src/inc/moodycamel_maat_rule.h b/src/inc/moodycamel_maat_rule.h deleted file mode 100644 index 39d72e1..0000000 --- a/src/inc/moodycamel_maat_rule.h +++ /dev/null @@ -1,84 +0,0 @@ -/************************************************************************* - > File Name: moodycamel_maat_rule.h - > Author: - > Mail: - > Created Time: 2018年09月04日 星期二 16时55分54秒 - ************************************************************************/ - -#ifndef _MOODYCAMEL_MAAT_RULE_H -#define _MOODYCAMEL_MAAT_RULE_H - -typedef void* Maat_feather_t; - -enum MAAT_INIT_OPT -{ - MAAT_OPT_SCANDIR_INTERVAL_MS=1, //VALUE is interger, SIZE=sizeof(int). DEFAULT:1,000 milliseconds. - MAAT_OPT_EFFECT_INVERVAL_MS, //VALUE is interger, SIZE=sizeof(int). DEFAULT:60,000 milliseconds. - MAAT_OPT_FULL_CFG_DIR, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1.DEFAULT: no default. - MAAT_OPT_INC_CFG_DIR, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1.DEFAULT: no default. - MAAT_OPT_JSON_FILE_PATH, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1.DEFAULT: no default. - MAAT_OPT_STAT_ON, //VALUE is NULL, SIZE is 0. MAAT_OPT_STAT_FILE_PATH must be set. Default: stat OFF. - MAAT_OPT_PERF_ON, //VALUE is NULL, SIZE is 0. MAAT_OPT_STAT_FILE_PATH must be set. Default: stat OFF. - MAAT_OPT_STAT_FILE_PATH, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. DEFAULT: no default. - MAAT_OPT_SCAN_DETAIL, //VALUE is interger *, SIZE=sizeof(int). 0: not return any detail;1: return hit pos, not include regex grouping. - // 2 return hit pos and regex grouping pos;DEFAULT:0 - MAAT_OPT_INSTANCE_NAME, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1, no more than 11 bytes.DEFAULT: MAAT_$tableinfo_path$. - MAAT_OPT_DECRYPT_KEY, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. No DEFAULT. - MAAT_OPT_REDIS_IP, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. No DEFAULT. - MAAT_OPT_REDIS_PORT, //VALUE is a unsigned short or a signed int, host order, SIZE= sizeof(unsigned short) or sizeof(int). No DEFAULT. - MAAT_OPT_REDIS_INDEX, //VALUE is interger *, 0~15, SIZE=sizeof(int). DEFAULT: 0. - MAAT_OPT_CMD_AUTO_NUMBERING, //VALUE is a interger *, 1 or 0, SIZE=sizeof(int). DEFAULT: 1. - MAAT_OPT_DEFERRED_LOAD, //VALUE is NULL,SIZE is 0. Default: Deffered initialization OFF. - MAAT_OPT_CUMULATIVE_UPDATE_OFF, //VALUE is NULL,SIZE is 0. Default: CUMMULATIVE UPDATE ON. - MAAT_OPT_LOAD_VERSION_FROM, //VALUE is a long long, SIZE=sizeof(long long). Default: Load the Latest. Only valid in redis mode, and maybe failed for too old. - //This option also disables background update. - MAAT_OPT_ENABLE_UPDATE, //VALUE is interger, SIZE=sizeof(int). 1: Enabled, 0:Disabled. DEFAULT: Backgroud update is enabled. Runtime setting is allowed. - MAAT_OPT_ACCEPT_TAGS, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. Format is a JSON, e.g.{"tags":[{"tag":"location","value":"Beijing/ChaoYang/Huayan/22A"},{"tag":"isp","value":"telecom"}]} - MAAT_OPT_FOREIGN_CONT_DIR, //VALUE is a const char*, MUST end with '\0', SIZE= strlen(string+'\0')+1. Specifies a local diretory to store foreign content. Default: []table_info_path]_files - MAAT_OPT_FOREIGN_CONT_LINGER //VALUE is interger *, SIZE=sizeof(int). Greater than 0: delete after VALUE seconds; 0: delete foreign content right after the notification callbacks; Less than 0: NEVER delete. Default: 0. - }; - -enum MAAT_STATE_OPT -{ - MAAT_STATE_VERSION=1, //Get current maat version. VALUE is long long, SIZE=sizeof(long long). - MAAT_STATE_LAST_UPDATING_TABLE //Query at Maat_finish_callback_t to determine whether this table is the last one to update. VALUE is interger, SIZE=sizeof(int), 1:yes, 0: no -}; - - -typedef void Maat_start_callback_t(int update_type,void* u_para); -typedef void Maat_update_callback_t(int table_id,const char* table_line,void* u_para); -typedef void Maat_finish_callback_t(void* u_para); - -typedef void* MAAT_PLUGIN_EX_DATA; -typedef void Maat_plugin_EX_new_func_t(int table_id, const char* key, const char* table_line, MAAT_PLUGIN_EX_DATA* ad, long argl, void *argp); -typedef void Maat_plugin_EX_free_func_t(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void *argp); -typedef void Maat_plugin_EX_dup_func_t(int table_id, MAAT_PLUGIN_EX_DATA *to, MAAT_PLUGIN_EX_DATA *from, long argl, void *argp); -typedef int Maat_plugin_EX_key2index_func_t(const char* key); - -Maat_feather_t maat_feather(int max_thread_num,const char* table_info_path,void* logger); - -int maat_set_feather_opt(Maat_feather_t feather,enum MAAT_INIT_OPT type,const void* value,int size); - -int maat_initiate_feather(Maat_feather_t feather); - -int maat_table_register(Maat_feather_t feather,const char* table_name); - -int maat_inter_table_callback_register(Maat_feather_t feather,short table_id, - Maat_start_callback_t *start, - Maat_update_callback_t *update, - Maat_finish_callback_t *finish, - void* u_para); -MAAT_PLUGIN_EX_DATA maat_plugin_get_EX_data(Maat_feather_t feather, int table_id, const char* key); - -int maat_plugin_EX_register(Maat_feather_t feather, int table_id, - Maat_plugin_EX_new_func_t* new_func, - Maat_plugin_EX_free_func_t* free_func, - Maat_plugin_EX_dup_func_t* dup_func, - Maat_plugin_EX_key2index_func_t* key2index_func, - long argl, void *argp); -int maat_read_state(Maat_feather_t feather, enum MAAT_STATE_OPT type, void* value, int size); - -void matt_burn_feather(Maat_feather_t feather); - -#endif - diff --git a/src/inc/stream_fuzzy_hash.h b/src/inc/stream_fuzzy_hash.h deleted file mode 100644 index 9e85e81..0000000 --- a/src/inc/stream_fuzzy_hash.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef _STREAM_FUZZY_HASH_ -#define _STREAM_FUZZY_HASH_ - -/* - * Copyright (C) MESA 2015 - - * - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define TOTAL_LENGTH 0 -#define EFFECTIVE_LENGTH 1 -#define HASH_LENGTH 2 - -// typedef sfh_instance_t void*; -typedef struct -{ -}sfh_instance_t; - -/** - * create a fuzzy hash handle and return it. - * @return [handle] - */ -sfh_instance_t * SFH_instance(unsigned long long origin_len); - -/** - * destroy context by a fuzzy hash handle. - * @param handle [handle] - */ -void SFH_release(sfh_instance_t * handle); - -/** - * Feed the function your data. - * Call this function several times, if you have several parts of data to feed. - * @param handle [handle] - * @param data [data that you want to fuzzy_hash] - * @param size [data size] - * @param offset [offset] - * @return [return effective data length in current feed] - */ -unsigned int SFH_feed(sfh_instance_t * handle, const char* data, unsigned int size, unsigned long long offset); - -/** - * Obtain the fuzzy hash values. - * @param handle [handle] - * @param result [fuzzy hash result] - * Fuzzy hash result with offsets(in the square brackets, with colon splitted). - * eg. abc[1:100]def[200:300] - * @param size [@result size] - * @return [return zero on success, non-zero on error] - */ -int SFH_digest(sfh_instance_t * handle, char* result, unsigned int size); - -/** - * Obtain certain length of fuzzy hash status. - * @param handle [handle] - * @param type [length type] - * TOTAL_LENGTH:Total length of data you have fed. - * Overlapped data will NOT count for 2 times. - * EFFECTIVE_LENGTH:Length of data that involved in the calculation of hash. - * HASH_LENGTH:Hash result length. - * @return [length value] - */ -unsigned long long SFH_status(sfh_instance_t * handle, int type); - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/src/lib/libMESA_field_stat2.a b/src/lib/libMESA_field_stat2.a deleted file mode 100644 index ff9be9c4ebd4bab8e7dfc07fb32547d1ab84bfea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58804 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

l%5ku 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%0DJ3IRXbf3OyO>KHFF@abthuiu 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

wnXUb$CUZ9_5q3c*Q@(e&xj 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

B5#(`6pCcc~Ng0H`zX;g<&?*Qu-* zYXAJ8g<6{Ke99j4qi~tyOHj#c4WGN>PSUNu1jXR=!u)qu*$IBcU%O=|QX227hLVf1 zPhAv?0!e0F4E<&tSo9m~e1({1v8Swt;Wg&0B9~<%-Hj&)fVLe>JdmIQ6!J)kMQ%2t zy=u7>oU}2JF+ku6OPn(PL!Z*4d>NP6gGnbI-E)ACd~sFYI~v;2`C$X1O+Ee2;eAYj z&@vMc4sEKV_kNp798dLgF54GpRntta|2?m9PH*J~^rEWAKhAodb!Lgi*r-L%>XelZ zPJ@w)z2l7`1dLQu%H*%cf$rv3=-2%^8i{M`8)uIxIOh5*kEQpYtP!01hOwGJQnbtiz9!H7{_q_q(EPlnS9h(-Wih*TY17>55$$8C}C>vxo4-o<3IK3%18H;2>Z^C)>WRaa2<=SL(!es&w zBU;$8;s;Az-E(mvqMnV*#6-~)s|69HPO#|l*ns{*rQMR|+yl?3FPQ24&mtOSsa}i3 zh^;?=>h$+qsatA3ciUoTMe>vT0uR#4S5h&W#zy^zxyp;jOveiKqU>A&9P>t=A&ZDv z+pa(Y&HUjv%ns#jfgh2roy{8zu(^%w!8}+Izk{S^F3t04!LqUSrU?2d`sqtW;&t;M z0c~6C|EHPSVy?v7y*_GP?@BkW0P1YK1x=lexnHYN@?g~?6uNxgkc1#1%(6*&DEqv_ zZl)Y>v2PoEHh?J~EtG8`dL05w3$zwIOree#cl zX^IWeNa9WHm_rA_Cy7W9&f3n`6Fz5!_-m@9uQ0D|k*;gB*n02$a)by6mtM2f2o@D# zhMD5sCXfESc}%0#$Hau|6cSDrT*dCe1G`6|ZRi_`HE5{|5KXI}pRU2Bxak4E!0U#w zIpIxf${V?bCQQfGR5;nfoT-LTyx*y(dn(rMiea~QZ|!)8VqmrdrBL_3+lEoLBEGjw z6Ky)o@cW%MA)}FTY_i(Nj&bck`NP_tgVE2>HY*golNOnL_JXg-Dhtk+*yPc(-(01` zf5_M7{u;Pwm1~4G*g3+}uM&*`6>cB_2x2TN#)7z`QzYcz)nWmqqi{rpDyA23cytvA z$5#V_v_HKVtymOqt~nr?p-QwR#q%ASfl@u~R|9x0)YN*%O@7Z<#82P(n0cDiULbKD zwWwu8s#KC>rVj3)ao2mR&+cAJxnjaKb1;W&=V6^ZNY-22(qI%aRBb&Y%v%}!CRPm6 zV~f`WSXo3R^N#EnJn12-ejvzu|0F0#W0AO}bn{;?>1ik6(0a-!2kk_9{S#iJF)@?fH-~Rx!Hkhttza zrD?>+*;+X7DJ*0^-hqO!i2DzbhzPzQMkOiLO5IcQVxo70-X|76IM)2`6QKH~!*|Sd zCiXjzUiC<$WshMpp6l{s4QUWgld0c`2od=!HXH36Nrv<~%FdIK z#gB6>eKIurZ0=u|H?WsxrFlTWpj}8WtfA^JHCNv(o@G_NAVidQ3<-8aE8}x{8d*CQ z;ZM7U%J7!K?HWW771>$@N*_Zzv8=D8H?$FK*t`94+sCjl&041IACp41HL{YN=;o?R zp_4gl4!t|4G0;6}>|kxs9EetN8@b8@OINcUFNPJ?8V0*$g#lYg1|Aroh)F{ySI5A? z)Ed?-1N8YXTJ8TnDUc&#i;c;R4YwB`9s&j;6#!Ac%D}#_`VA9+WO41E_1prAwZd&M zzz?zhAZGALQO{Re)#1^25ce(_T8!_l`7v}mOTDj%o(v^q2Xr5P2keWrjWIE9PMi27 zxWrHWDr&<>h~1@Sr@AEY|I8jwP)4cC@*JWf_f(}q?w!(=y2LI3rGtrrJ-4lk_n{Jj zIT(DRmx$_lgZ*XDr=@9$yr5#Tk@uSPCs8Y}wy56xye&*t;S=c)QSTwV6rCecl5*ut z>pUFgJIuRBXz*Wo<`I6q9&WUT^d1C&Bf6#zE;M3d1?4Z-)RfXO{cXI8$-;ONq8H%1 ziZY3_3Hto8wQ(2FV!SUhzeTWMW6;0^0WIYa+%9F?CuZyeER*k0<52FwEjt_D4XHQW z#l5#$mOA4x6LO~hs+lQI%e8`J-SEq}#%xD8y9G2C%lhk+>}ezA=daBb+qX5@q+2c2 z&7_$e1YnC~TU529y#Y~puYcB^io^0toJ2xIW8A8-xKFJ!8j|VYf^BH36C+hzY=&J% z`Zea>if-;0N+LYGFW^G$rbyTB2+efV3X>1#-%9fT?50k4N)1T!9Nyvs8qbQn$L-kg zoLVVp12aDIeW^ypXkXp>v8?!(t(R4a;@TT$)k)pG^h4btDAoKH8Wb635>%w6TH;{C zzqaX&cp6#}5?yDkY7lirC73?z<1y;gGZWbo3H^QVc=6g%zV9)wp< zRoDpU1w`Ra(8KWqa;|EH)$Z55PeSF$a6+qd@8mNx_>!dE-g?J71#&5P>N*<1OdFFl z=c9>UyOdU+E-q0Qw)lG&^GU;9KL5uEx}+{6T@(@Z7M)L=!+EnaqY3fMmss+lh{N;%5C>*>8E%5U$nt$7mkRd`rA=_{Ky!*g{WHo4 zsk!c>mdcwJGh*3E`>Lib)P~Xol={M;>;{&=vk(6x)zE2(WepY3%w>sUhi?lhJjGPS1r(9MppO^2Mhpt?jsmuJQIlVYR~OUicESv!Ra?^ zVCUa$e27RVyjwb|BT)tSbdI}wCGt;|x!=Q=v5G6iRDl-Hut}v=k_NTG=SXL*%ge=Y z4|sJa$k)l?xPYrpR?XW#;o518&gyBI`?TgqTFV8eg%B?QRq8)&M9L#hXa#}vhMcan zeez-|8@aznjKaFv$+X^JOvC1Vl-QD}eOQ!4S%T(HTZ%s#PT@|Gg#&OXsy-3B$+Q(A zxdY09(aH#kI6W48nim+V7@-o$fiP}}P}iQ|$`MB`L zs;It9FZ3qHuWq%cnaG{*7IW`3EakuehKhmyBu*Y%N4_}44dOAKbcxnJEtBga#D`9N z2)s+=@0#8XZU`YkMMF;$|D0=%xegm~A1sNMRJjUx$npib+mZ*O31i}{CgFqzv&o9= zMUr^!5Z&-^AUww#bdDzGeXx zx8HRe6BK{?2We?iO?Tt2rWQolDa7(@Fj*CoezwQU}@*X6UjU_kwjj!3NA0Y?EYNu&xk zn$LBt2u)*o1^o=S?-l$1ZBvn@Y!H0Vf_1~P`6UAN+&?L_11sUMTo*3IWWT7;y2DBK z#^Z|X?~ht^!y7VKqvh8yNZ-T@=PPruSWxQelX)Q@Mb}S0-W;d*yIV|&K2ywwf-u-= z*~b-WM8XwV1ud$k8_a9l^$AB_A)EG1 zsyPoWP_l@jM_H&9yBHy2`t;!a4^qD_IpttTDW49c4}Y~H>rrZZN@Re3xigxC{*~|? zZ_(vY0`OJrPPJ6mm`ZOWBD?!sy8vhg=~)a5ba$FskDA6xNXfp|1o$&6X2j+)m6CF^ zbDUXD4{eob%rRUQpCo#uPAJad4G-8P0k4ag`yGPKM`p3xeHt_7V7W{QGp)EDrMw%- zILbU(R&-V-jjT#IkYr212?P2-_Qb>(TvWjoD za&e_kNLEh)v%LyMU|5Wl2v5BZ@Lel3j+258&1g|R&|TlK&cW?^7A14#*~YtTrm9_F zhSa~uo@|=Cw{rbPiTfm>v44c*y#Lsuy_}VG?uezxWuI3 z^%UX-$vVfSIJTfxS_gER3uvCskPu5Q`kIYvd97fBGvb zvirbL)7sbHmaX~Bl_W)y`88JAl=M3oiP?KfL*LZ`l@LRv%!N}>KJ`QWedd_msWc2w zY#JWcVm*pV#zsq8(nEJ7(8OtkGvxP(J)yHJNm#xC5IVAAOd36=w3apKK0g?J>VHl} z9I&q!Va`8fI5tci=H+EhTf}tlpB4300uE$Ys*~I+7v7D!A;m1r_4K;uDd8<$} zW6F6jN?HG!6t-_7E2dd(0_?9fZY=Ev^hWNRSDKT3H5b}getFT40tCfG%BId-d_INP zU(H{mjZkGk>&je7jNfI6VyWR0P^c{r#2nATlp9Cxb^8bk$eZ!bku~0d^;k)8h)?f2 zviN5xUz(rlgp+iQ^huD6H&r+rw%C$;^GNAiYrW#OU2<>PO+}2Aydt7EVZRB8yBfyl zjqyekynpaU91VQvdU{s-deHNJ$YG>}n2jgd=Gug|h*51R=vy!_=lK6aFgjBa>AMn-H$$HK9X&pe8Sqj6# zco>rHP=+Rvk5!Df6Zs1`soJl|>$<>0(`oTk)nR`(3-VvC;|JRKs1B*9oy2ywA)BIu zEC0cPcGB1?td}x4g87NMFA@PTNaPr2zLeMD6K+0yf)s2d@3kgf_-Hyfv5?%Mz7xAp; zpP)ecRilA*)y>E<_|g2s4ouj0rH|^B2c;SurlsYQ0iGt zsEMa-D0hF@#FCWv&!U*m!b1siIdWI|(7BK~^-Ki1N{I56Bj~7Fub_AW?dDB`61^o~ zn(pDqak6@Es?J%Gb_>vVqL*!cDuXwq>TV2N9k>Qo55h81aXL2=nsSgcbUc>)!LD>CTD*zxj!VX3>M1hd&r8&^i|_b?aXvh zeWQ!zW?7?{T{9PWqK(Y`zsLK7Fer6fglWmy)EVSxfCHog^f{V9ym#pzuMd=nrrwT^ zOQ}G{eN++c7tJCb;=})0&S-_==j7hORU4{cW3zmN$d`1+@+(>pibMMbAdU@C#C|m} z5ZiDDT?yG5{d_ye1)5lYC~XahePBfO1Mv=`v6H$Ndsn7wFp-6=pcJBS_8iG&r45-U zY@F2BomRUbjqKU%Gra%q0wqhmX9VqQTFO=+jB;aJ_n{VfX7!{~eM$M$5NNfRWJYs| zA*PfBblTzgXdD5JlWJ6gV!;~58Ou5!J`Js_ocj1uL+ZD*BV{!eC4peBVXYQggwd`~ zf4ID`U-T(Z9cv?B{ISLh2X-vfWZkl3g26AvwqEH+Q4L z-{W~QLveMCi&P$6P?Z>j|a z&o9EjcO30&rtmNjIoAsx6`%4kg}&bA$BB6@n0{xDat;Sv)gR~v(|dsmm8|lxFxU{m zPUax1TA9#Dn$0P9;Q&4lMrl>uAPiS3O(BL({k$!am{eiU;!XiAZr3n1=CR^c(bf9wrr@qxLRRW~zrP3) zH!O!|JF3R@Br^F!gWx9DSQZ}!rP@>&v(gOT@ofRX-cUV*KJuf&7cjlM(t);fz(d12 z#BBsGA!KodeSUezQsjHpBErF zZU!%sg11NJiu=j}-bpUP%D)lv7t8iXpT=OE=wI>{Yay1nE~;rc)rslF!dD5Sok%CQ7)KUWAW#vV!z=w z5`}z(7=%Ovj>V_;wn{ho12;cdML||>m61<|P;F8oNI$$YmZV}5fIKpvnrZ|;uBVr( zngfd8J{a0?rVFZ49QSBjEu2LmQU2hYwp$p+~@!WJm8g1`wxI-uRW*FP+a28wASZ@pkj2=nE_1F7{tFq!N?D!GU zom>t+VCTfQjX%S@Q7SpTk(w`XE$K4Bm8YbA8x^q&;|dEJQ6l34$h!Vic%Dvaf>1i@ zxIq5o!Tyisp3mUX{E}7p=(6X)4PU3;PFOX;&lN(zDhXFFC&y10>I;+WcX%h~S}L$! z%dAXLn;Rtc_Xz&^RHrNgPtJ5bIW+p#X=z zUJH&vinToX)~d?@XI?7V-uolz5q~rvta(YwTUfwrg)J6|<8VBzuT)~)X||WL;IvJj?3)=ipZ8Hc5_=olj7;f;myL_Fe;JxtvXJ!k|+H300`RRt>Ri5!ync zw^!LnXmTrO-P5ENYpDW-d}Dq+J4Ow2D+9+T6lxRX7%RZNzcP+zotDqK13aAFqlt~l zPt3j}3PO^5TvkoScptRXm4fmR0G*bf8U;PEc7K2Dg{3X29$u6PZ$d^`eQP#V9YlR3 ziJs8sNWX7$O+X7#eZ7R|&;y`{aT_uV~{iG_r`uje5rwKL1oJSmh|!|WCWJUsNoHnC zHCKp`_Eaxrn*RcC@GGuglp@Gwoh;H?&TaBao>L*LunvI|pGqr0=8>S+keckko9 zV-Z6OMv%OTHJX9s($@n`f~U4ao=>hbhNg&|2eWM<+3o)T;E3IkKuEn3pW1-3LFY9V zip!@mrvkosiU1V;FyML{G_$Wi=?vXk=Lpq*QLP8o88XOnN|r#43Y;PjqK$_fHpAi@ zhO4sbLTAa~*Njs>k%o^&Q>_S&Y##up{}o-o=Ek^E-4zl6q%?w5ML=6UEuC8bkU@}2 zw(kG1i+^B9q^zS=DrcZDTxPwDXfRkp;57J$gXZ@0>nhp;NFu=nT|Rbe{H~~Fk2f%K z%H`;BwSc{oBqg@990aRVE>)at69tAFW=>MoEI>`@H(7u4b2WdXrTpa4eQXcw{IH6w zRHbDptae5xZ1wvWAlLV-*=sK@W=A3rh>!e1?>p6nvlMz!(WiEOr6=RsXM%ymWuVY% z!MnjXn;5Dyk}5eTQVW-4>NOQD9GYn%{ioN$oOdA2@;u0ySzs9B$GE_93q)y~O%9%W z*OwHi+=5>piCkS#o(ExL*Jpp4FjJ!up4f z)3}tAnXrPsgZ`}+n(#1a0WBAZv?&TD0-pcMWxXJanlh&79%iSwAnE+mO)wxu@ApS5 zAKFE(K*j%Ch*E#xbogX632>SBI3N0^&B8Lx#c?O#RsBqTTMtIn-! z`Snw4e9oz&nQa#vm1QJk8wgyvHjOE<=AN1zxLZ(DuyDHaVV-Y4Q`Gv3$rgUlYD(+p zyOb86j=Zou+0N_Vi;RX-+}zWWrUzj-q7g$EWKNrCeBcQ|w%qeAe^}%&va=BgG3pwG z>O;;99n?f&19+M$fkjM4Fo_jDA2&VF3pw+#^4E68auT+sj2n8NsVCvW$-ll%zn9rv z3{V0_4-6D zt!T&szN{0*MY!@#Oa+DmK33O5cqNsq$DP_#3r*-I@;ySeLLi5m>rS?)-}aDMf>$7{ zddKu3>z4LUuXD1h?v&=&}&|eeM`2 zfN8P7FB%-l^#2+G7(^1SCefyqUnwr4^$P=Y;^WB_^9*8 z%8;r4WpCsmsj%J3#noStRYhTV7Vts6So?26G(>MS1j5@CHk4I>f18$C{vh4+nxmQM zR_R%tOV8Ab9G9^1xR3iUV2DHmqzg1Sl55DmIaMKuw=uSq>jhuwTd1ErNpYF z0+3xuVAbKdRYZh{ic!s)z*cY2k7&x|a(M#Z4fl$qonV??1P>o+4kuym&4S&j(-`ld zW6A@Gy`yYBHSV{c1AX+XoS?L)j^1Y+0ovM3M50xbNjCsesZk+Mw$gv+%kQ*i_H12g zCH^eh&&r_1Wf+0)T>efFJ{}AY)vN^Y5Kv4L2=fe2ymIzplK8_Vf;g0gtm#XSF6+Dbt5SA zs2v!wXG^0`xKi$!vd|u4b_SWP;f)uYWkA(dd*&V00m3+S#3w8&To0r;$Zmx*-rQ`y z75pM4iEj*_Ge2M+rZ7Gb!|jxLK7|Y-+WZh#tBhor{W49=GxqsshsO8)ohtMSr(OXIqmuGfJ*y$jvS{RqlGBsJBJc#|`8olm z)Zrnk%ZkFnct0rPpZRMd_BD(1X&xyKbV4=gEfx&26*^~OzP(Sdb=(2L7uH)P!n7lU zRFNudla`ijhm&VwU|8nHBaXskbXml^At5JYDN!tj@F)&`prj!)sda>8#MVV(;h0isntSFArm~-#m8+i ziAt8zQ5aFm29|ZvHSOm4A0VmNT9P(rMeen?_ZnE4y!(R+QLyf0K)iM^62smCjL8vI zc*~6=nCJ~B$q1ZNoX_+uZm`ohUbYOUy?f=)4#6(5wZfn^R<_52y=NR2&DF=<%rZKz zg^4cXDODQLM3lOE8u}+B0_|k!3U{F-EjcI^%`e9iEY4D)Np`@Fq*Fz4Q`DVBkixVW z5V2%?6t^;R_PXDn5n%@jNhY`j2 z>Yw)Qr%fJo>}R_LMMDt?G7sNJv67d&2g~|a9Sca zix!~&leEijyeb3A*n*HO)7yp}y7i9YXA2&#Y2g^lnMRr{AiZlIGY-uT(t%#D4mKNC zMI9UvSn8k6QUr(?j(AaKM%0ZTH71v-(1CK}BGA4>T~gXJEh|e2*iRG_j%Snc9R|Vl zq+6@F^x(_f`n5wt6DNUVaU*c3lO19AEp5L?*Wn?(jGJ;sedj6G;M9b4AFSJ8>TV8$ z_o4>cgv8h*TT{wVuoP#Bn|j&nL^h4ww09w~`uT1UoLx;*Wb~W&3pT5!NuxI7c)M?N9zc78iH1a0H867!U3rOD9|{V=wK240M33dS|usr!bXPn3(m4u)XHKUm|CnVA#Ze zSvx~JI9BMBwr%D_FNW#kQj)dz>@r+tS5bJ|P%k#F*Y7WI!?5oUT}MDNcKl?7pwb0kc#9~qT6d%C<~6--2E!YyzU3+ zzjr0{Z8OscB?;ocM8c?IXXxCI!T_|UqH}iWWs7%H z2!MnmKD4?89z^&MzV9JM68;hTdtGROE_ZtbcBwSKfqn8L??_*f;s|!a!_^_B`a=sl zgmTJbCi@e1H@Hn5v?*7AYf?K{m`JgQ(bKKFrZTqxmg7huCiDW1^GKcy`7(f;cfQ%L)~z8h(qU7&bkYyTHky`IVA#WWivY88YRE+l09 z-)CKEFGvPL5x^(z4$fz}T?@z|Q8(LVpv)elJXU%xexNu~PW*4>RM^fkW+`kvg}899 z8hxGVS!8G}*}B88Te`>$M!$HRqgs_18I?m?6yxMys28>PZ;-hB&@=+(BO31L5XJ+j7K9Jq+Z~*R>1JP{*)E4Q%l-{2!`AGk!Mo(_RVyA zErXr}Gzz)G%z-te46$I7xSnHk8>i&qA2Yg78ToR6lWYBNGLUCw94Aw5&T>NWL}Vam zG*~mTqcr!xU}*1%oTc{nfl-B0Sq~>G=8brWDXH(n;)3BhEgS*{B7U#U&tynv(b#MMQ@=YDd2kW&gGT zk$ukz*kp=X%2vLUNq6km6*jZWg_nsCt>f+j{gR-#a8eX7H9c#nb+!_P#+W@a547uI zg~y9a-kd){R39*XWLB#yPy6JhBkaE%EhQ@*4H9?ZyLQ$5G#Yb*K7B$2j&6hPjsm$W ze998G_|IyyI>*`5@8yrUvrg*m#%n6RckGTxGcmbC;RbQBX7wNRGWt$sa*>`!qd&qy z1P@5GE}EFZur6`5r<|gb54y`dj6xaK6kH%~h8ASAS9#lzPK&HX9ceNIPyT{0N3;jP0m!Bl|rHMI_UJ*`P7B7T$OK;y4wGl;IMn;Qqi#LG%%zn z_|B=gqW?Au8U^gRen1yha^`62mSB0D`*%G1`?WoV8l`0DsY^#8iyMk=nRX^@C<+pk zCN_e6+ogkpNSYqzZ6So815np}h0Q~)2Mq$NS;i9DNUk@Otx{Cx>%vK7!PogL987%7 ztL2sMYKR~c3>U7xR*-wUV%EUhP_m`S10x;5G8EWOpLPQu5^1J=D40`({iVk`0^Q6z zl-k-9(XjS@A;W}=B0rOSdPk{Jf(u0bigNZ|UcKaOS=c*VJ}oTr^?-|!#caE`Kv0b~ z9HEsap+aG{aOxTBI#{e=HzcbLn7e#2$W$g?RgA!le=ykQAZ0E7lZirC^GEUN@ofFl z6n&guu***^WYFxR_d#=x@cx6XToGeBpd&wIL$_Myt9XjjoXG7pv2}dEX!Q+KE_K*F zg2o8rc1m3MH_wXZvQ?Q(g|9NJJ>Nv7lk{Ao^}~)!>n~y&WG9bJNxaeTeQ1y z`BCM4<)SQ~Ps573JiFfmim zs&`LSX=iCXmgtrSzq?)JF5a4)XQQ3knD>!_-e1-!)X zne-jqiH6ONrDyXZsG05>#dLzMxrNk~oU<@}Mbs2*f$zb*3#tCP?V?$vdNE&oCqnd2 zbr2x|mh>RpZtZ)a%~P0xB;?-==PVxgm@;`2doaG+crYJ4Hks~r4#LrGAgVko`P{q9wadSY}i{Z;5HZ4zCr&J)~Niu-!hv_PCzZPap((a28M3 z{JquCSOxr6hT@kt-nz~KadRLLE2u{XkmiS9PX$1a)DDi212~0w)HC*}QnDyYnmo~t zWDiCkcJ?klHe=8>n+uauo0r6otaETQmsQPP4h}ekIXwQvYb>(k-|Ks9Q-MmlSu|-S zx3)U+5i61ua5ubD+hF`!tH?!0qw={RRU-nb2gMK0OqHTi=fdH9yD=w>oim^qs|c3! zY(q6Sjb(bQPb-bUb6)S!HGRNy(eM63law-w3ZO9Mu)kjM{Lu^_&)7dZp(NI5vM zU2~EQeSO`)qAC2rXwW`Dm$rpu+&jstv#P%nQm^g}sm2XK6&z$t0{a87#014#jF*HH zcWO$8hXiCd+IK1<#v7Rh5$i`@R|+O#EJGXe6K1c+=~GFo$*l7tRnb9?B1w}{?^(b) zXhi}|5k!bhRTm(zj~AMy&sBiVNkt&`uhDnSS!V{vJ_?|qDZ+9B?{N@Eu(rh0YtNei zcTq4Rs5mAnzguKM-&q~iz@w+Y{X!9_?qhIFZOVS3?A+O4?T5GvRV1w-QI68qx&m>g z2xIN*2&Dgu6frCWFpj2*#hMBIK2d`dd_8J<4390kb!*K3RJnK_me1N$iLa@oZ)rvL z?3kNrv?U-8`9#h>Oz~n2Y3!=&5 zrpHEjs6OXjS1f!gnnVgeq-NzpJ^YZZJ4{DKSI}XLJ-$bDlE6+n@f@8#=B9x2Q{)2{ z!Z#F~G315|3SlYl@^e9Y_g6jerzxk8ej%J}Zf_VqB$bhoc`zNmu}?h}a4M#faW9P4 zG(PPzx2Un6e*%Tq=r6Lxck4I2k)hVP@HA^i7Wf64uZfBP3c*5s`zWv(xc0M2FUjbC zWlqQBM`K)(&~uw(n+8J9(<6ybOA$E(AUzJYSI-ONYg21n*rO+QGJS zcmRVAdR5r`(uL1evGZUAc6@vfV}RvG%PIwjX0CpafGZ&hi5zlG;ApTs9IQp%u0eUI zyA7%h4P1@hZZ1&c+#f>PgrJE{0Ya3>`%A*`Ub+W!@8G>4>nkDJg61svOQJ36{Oo}?f62}%C*z77}n#9;w)?6&<-Nvz@!ZuUz%xx zr^CQ;^#<`j3>Y*GS`S!{b<@`(4idXgbv9Ay%z{^5a4N`|3|Ms{OpNLkzn?Yea9%-s zxQ(<^6krSxKqAko9WQ0%^~|cDvR7f%D&23rQ0!r1AN%yAQq5~etyNAW3o?BK1(O_z zKPG`;)q|-V?zoR9M4C=DWJzv054s%A)e?T4=c z1g|>!ql!k zHn~}PiT4I3K&q*L3fZRir5+5lg;-5d(`18`f>D@oV7x8{l?X924qMx%^};FRbs?c- zek1CT(p&PyBTNb{B*hhZQp~e!O!f3^Ngx?S9$yY-XlfD=k`2|c_SOq5{-M%USYjmBLX)i|%*r=W&Z^$JGh*(0kv#%7EuI zEW!a|^j;}U*!Kjh&ZrYZlya0D{!Ge}tmHD~da0+-fRA&DTm68gh>QsAQJ&61%pNOY zD&1eQ{Xm$HIr!%RzgX7PM2KG)`(1&o`>R(K%aDG}-|WAyRc6s6N~~N6A1CvGM=$2k zr<%imDhsK1A@bvEM+)c<$q;YfB5Q#7E~YNa>S2T zwU_1Rob&%Gt4?ht2fN!kiK~Tzl7?9#{;nJZDiQcKi%bTk;{xB6^Gg87ZZ%^~-p7O6 z^au(gx2Fk*aIz=LExnq{#7rCw=>AZ3ZpI6WekAvt$JCrQ=eMXV}?nhEfp9wHrGys$0u&sZ$~dE-0!ah%Gyq#P2(A1 zyly3ni`Rz-=@X<@P`-3p9R}`#^>3lx#DN#&qR79Q9>}oZEq+uBX-!XJEoPl@(@GQ_+ezEO@|CFO}fNI>n@$sNW$QDtP86!rRhLJ&-SGgDpFJ$XU7$ zHIsgvO~{>&*Cw(KupygYu6ri0l+!!ot`#o6CCrAZ0L6}KefA4aSO#PHM5;zu6~Dsb zK$o!o1efWl1tNN4WySl#&~uIK=#31*kL^ApNjo;EgC*l0rm(`vxois>T*%vy(!=*j ztikjim%HDntHQ@+Oii<|gzClO=MY96wMsmf8*M*{#HCx5>DSGp?iWM`gGo_fE8lCa zJhE97!zTA!LBp~mN;TFpHI{-p7%Um9ACONePZlt6{>xwNrfVePxBTMb3>q3Dvxs~i z#fUA*likO1S^EYNjugT{6c6^G_0)Y-F%OnwvQnGvShJq&!b)-HaY!o^gv+hU~c z&+OI8X=~;!UxN z+5~w-9QlkCCaF;mUl>4hMym;Q`v8wGvWen==6HSu(dCG!ECS^N;^gg}8WD#)3q}ce z91fdX$E(S4Qpi!~$sNqcC{C1%2>Lu7`X3-q&LL+$T#)<%OlPyu+Hft^qz!=>%H_gc zncZnzbFze~q+H&FCndRK#NJZKa+n-13EtzvlQpmyFWeKD0Sng|DIMIVEo*>6MB#Dx z2>=7rc9Qg}Gqe7oOTY`qo;z5zAYW;fc)qY5wGz;Y5g3I0Ll*W0a`FjeC^3lDbV1WV zGnheV^_G#>2zxt*QsP-)3~*K)7Z}=v#6FF(R_<6=rVcv+9e1LAx#`7JOH$wcfL$;o z`1D?6%1xz6Yf-7GQsCIg! zVk_ukFij=9?p4V?;9sB-Hk(qNZuGBy_C21D0TZiLn07IlapPmetw-9-I20xQ>Xp_b zM>U+vwTa~xZeq?zhR}zx$7EY;NO>T#lou}09TAvukLg&8%)|NI1!KyPu!%tPa{iH4 z|A2h_@fwt1sxe+Q^G4p!XVo|s&VLmw_t7W2{>V*d!O zRK@B7P7BfpOt>lm;pEiT72(l0s2O{!8a_m}Ma}r$eg=*3+5=u_>GQ2)7P*o~4xts# zC8RjF<;+X;{jxTe)iL4g1=dh_L5K#FopcSfs!nJLTL-#woMt?X6_7@{Rg3qDsEeOI z-l_&y*M2RtWz~yq)(BsKJLdEywZXi@4IoH=N7yB>Xc>S`sNl>Ax48SxENcucy_TY@*wR1~qkfcfutX0X9vk*T3T z$DxV%fQbR<;7h`G=_pa&b$DC0x51;{DWoX$XYq zDzbNEh6cS~S%`+Hy5ANNF2FqUc6WW)KUU3lzbe?Nn02G#^>D%F%ZwObhp=W)03v9C z+FBLI62ca8I$a(WnOkvfglk|+F3XqsOSN-KW{b@}L;f3@iqvN+2`Dif;;A14 z9%pLJN~1##Dlx;p(?{=BIaZS$>T~Lki6o$2vadCuWV1(tOtocFrT~MrNO3H3FJ^`^ zAWZDEYuA6b{o_9mr!S%K=*QSW^}9v*s0zVe%4yl;qcY+{w^IO2TBP_ltUr3(j~v(_ z#bH7`0ILqLQ#4EcVlZyghL6;C0{=sycT#L(F7$S<-gJRetj-5yhN@>G)pF%>QDfKo z>o9Y=_Zo()SB8y2$H<|eQkp0r%OQxEtr*PAA|-QqC*Y>>jX&S2O*O(7lPoy*iMANn z3~1q8>AvjQ{JWkttYWSloMfa%Gr5qh6_`Y&E7`>|K$2&qk zxbwie^G-e=Z|InOiqc3VT=@q5hB&rXun%5z-Tpw;z>f{7m zI+3~46BY5+{@h8`lpXzf^?M@jXDmOo?yohUQ%^DRB#mRzBG|mjNcp;Au#NOiDc(X= zvTI-b1ZwNEYT*bHt`NZ^BtACywG~Yo3*bu@L}+m^4QcfDBuL_@&v3DjqH~8-^pWvG zG4sBmm#RmS&=~Y^N0GirjsgbiPKo>5^CB_f7)vM4_IaDW->O*3<(;I3QFBNUSa+2q znUIsaVecIgls3^ON|$OKJ0<+n&a`wyUa?(F=7khGv=w|5v}cy*0Taf1J5^8PfkO!w z_<$<|A*w!d{kqsyPUpb!m3f$2oG7~ME-9N@QG!hCveZ053fp4QL(;XFASES#2u62EiOJs~7qhj>_V z>o^r5E$SU}FG`LXDtqm8@@$3G{$!>T>oTT>krJf63E3=@z}>{a)Rhi}$-;j$_#*Vc z%WDUQ#J-H?hSF@!z`*DE$|qkB+fA8e|5**F`(ae*BM@L_8b}5I`@5d}dO~H!QvHW@ zX&P6s&hJT$_=!@Jhz3IHV9dT@uZE`+**PY%kk1}AAYzUhV`NYz;3FRZc`IBBU7N1t zwVf2$t&J7uePOQXN~Z^VMjIbM!9Pv_tI04Fw%Yw#m+3en(?Q(}u0nu8Fm#mg%f#Ky+O7F<2iYyf7Qm2j ze+1$wP4vClrV$Vufd293c-*Ynyv#bbTd8sqHR8w5$Z9917k6e1_wLu?2{#QqK3iy- z1}oiKWnJnNEz>$S2GxCy1|Q(~#;UY+6C&!#W;8Vo`70{z!>7~fwRxRGOY^sZrsWQf zb-KhI^{hS5#}G5?a~C}wgRVz+5^?6JKx=&&U@`PD02G$Z?#v+tXjfDA5pN`CGcgSB zTFftSJ82evUBrAONw+D-Nlr-p4>B0CeeWz%vy-b?1@vy^aS#}v5xQR@&<-;dm1Vs% z_cGfZ)oH%OdUxN zK*+ys`bwAm{W@nJ3_g-QFGnSRmzBeU z>PDs>W*Xn$%TZJaxsk=p#}giQfns?Vf?SA}k#AX7+Hk%9C`srSyl>NSCP4~r9`*cE zK`e)^VN~aLp0I};L<#>*qt%^x&~dS*h(u0nc9O^O5fY^a+&*06OOvhw>Yhdn>1|EQ z9GC8RKeV&+y* zQIiFg>Q*5$;fWl9S=X`=jQ;VQ$iNKd1QR*7b#>DvMvWeU&SK>zE&M|c1E4mIU`q?L z`xt>zNG$kIV-Z;>&4u7^d?=4KnZPh8e+g_}W?rdaF27xPn>~F%2ltwQ#lg$ zQs&?&@;ttIXkip>EBCvnQ3NcI=449pcJP_4FraO`n0hhUX25D$%ky{m^cnF)OfB|b zuoiT;={EIMMLX86j9JjY$EmVd!_K$T45MF^MtdkTKaq!g)*xGW_z1l>mSK8I#n*Yh z7>rreRN;JW#LHTqh<8{Bi?>@*nov-B3q7F0`ZZvZ@``glee1AnD$c?jhI!n2k5wry zZ+2q=Gf~vUVUUp3T7WG5*`YSLvN$)W7+y7|WX3{r|ybWS+Tn zX+Of{M!tM;qKnU`by(&r20y$mO_-b@Uq?hs30liQx$TAWN)Ru|e3I7&XZj`u18jH5 z$Uu?WpmuML`tal)Su~yMcVbscV8{!`-hDM9P*JG^+96T`0Mtfd_ zOh7bLnfGh+NVUC>8>e%EjFQ8GTh%p$lEf1C2!I1KdGYWZ2TBFns3a{+$6RZ~LjiIQ z%k%HIzg3aGJKvIhcjq#v#X~_sdXw}Yry7-& zsP=r*yOIo;{{QaJ-eg|AMd?FKq^ZIUkxlif%qBlT%iHz?ll#4kl6>awsUDR#Ji}p` z_fi_xJ9(O1Ip#Q`2`x42VJ*r)X)#uZ!CqV*ebFEr9xQYj9&RrDBM8|uMoE#C2&pM< zr=@-Egq)oQVNtETUC$A!3))E-mSpT6&?t;OuODBxlSJ;K9G_3TS6Bt$04*{mTJIyE zVOZ9P7;YrxxwNWs9l$8}UB5XHtY+zC{Y*%LQ36OTBQ##N8?Naz-ja6?7JOu61w4R$$65gmf+nQDi9>nQ5 zUE)VKFuy1jhmFCt^?c_Dq9gfh%7~m2ou7jOzkeCOyp%CACou4vo1LYcGmBaUJ0O*2 z4-zA5v?O1CNgtnh837pZs%Vr+oSfBZi;xlSa(Te?td*71i%8H6j?Nz8J{WJ-9_)tR z>qE{T)@zVmB2Cx6=++0TT(??W{%J4vLOI+BPIIpydfE z@H!mASKOS=NY9?t$M`nmibS|FC-j9+KO;A81_O| zE6%qGxXGTxA}lP&;%i7jiZ;KX{veb)foZI5rs;0evxmuyGK#?6Z((FIIxNjQ3cA}6 z*qy`!am1u}ODG!H`9WFLOzFkbrF-kXc@PPzFm1p3>{rQH~cf8EwTsQiSG@xeNy#P*@a75}Ljb)<0{!lE`6Kq{}C7 z{#Zyj^*eT+wfAuXOJ0szTd4*{J(7Z?1)E*k9!A9e=Fl;B+HqLakdrp!qm6AA20%b| z=>r6*iGnu6wKvxBa)Wu%OFG5U)t+Y-riVMv{n)(3UQTIhwi9-3uH`5E<97UDbndIl zm4cf_aN_}$h^0&d-euBm2L{~QYqIzbT5BV*4EgJF3BTQCKr*DPB6T?3@pk`8bkCQI zs3bj({{5OY(eo@&kt@2RQeC%A2&ghREXlDj-rX&s1Ps<6MJ9`(@Akf(`7X>A12^~{_@3^@U23<+JWIIccx_T6&lhoOg z5k*y2n%t!@pAvHLZp-`PW?{h+^fC%Vt}o@Rh|_jw9(@MaQY8Ao zOB>AxkE({k1HrO|sf_cuOg8^JjDWt(gLUO&Qql`r0MXo=CE9%rMr*5F`a)J5N{IaA zpSjz6E490q%qWgQ39ca{p|npY*iN>GTzvpHv0_O)#^E1RfF;`>n28=#P-`np{h^T( z+{#birWZPCzytCZ0Zw4Vve3Ah3S${xBt$GB#;PFPuBcKEQdUmwvEzGG_;vM2{+M6n zsm(KR3IGAc7^%}mOWHvlrfSWmvTHn(SM{{JVElg#E4_|Wr?w{6jE$?Ko?2o7HiV>e zf(Yek0Y#XFh`mawnX;R_jB%#0`jW>was0oYY#Cdbqf+5H5{_mO=k(vWyI3WOR%3bb z+pB&2i&GNbvs(UHTdw!1H0vNUe&p{_*K*J3RwxChaV3Bmgho7PyEtM$yOgwbaPRe+s5XMK{J}_VmIo@~* zj1p5mk8t0G9@;C=%z|YbrUP8Z*3s(@{2Y>E2fz?e*dqu{(;v@70L!X6*NW%0qq|u_ z`#*1j<@d*jA^{o;SVH&eN_jg%U|m6g@I;~Br_CZJ;c_I_S(ZuaNfS9ASMQN2w2E4? z^%U|D29KV%FongfN1|n*2lhP<`843-L+f1%U8*ENL^N9aQ-7ZfYiNvOs8%*stenDW zoVG{Ky6Yb!TI`~wo{0j^y*`Cwl&l}x1*&+SP*N;`mXa0~S8-SS(?lGO+4vzR>*1R@ zGKXMLz_{3X*%4J*+JI;E#$DBZbM&Xj4FoU^;sY9#^#OCv0y_9G?G;k*kzd%7K*4`< zC>rERT*f2Pa)C{1x}q@8r+wHkunA%ad1hBhwSeev}a+L&3=dS(p^6Ad& zrHj^O?$u0bxi$cem@-|6H|fyrQ*FGtz6UdY<7j7Gp9i_C=?@n2QPs?rL#AyrM~sL7 zB}2|{lG&a=I4~*N1jo^xfG4s{ik9{EFgR-$co;sd`5Y`g*?CT%Xcu2>ZMN}GvXM1F_{WS z0xgXxRW7q#plq*r3pQ3CU@@b1T%7Wx`2S((s!5HH)9q%T~$Y_sW&$xJV2`_<&rT)d;VYWIf(XI z+fG-4ZQx5!j~gv1?hHla%!bg+VG@c&s%J@&_p_1CtL>!-8JqAoMdv~g^&UbJs5CkY z?7YtP`kJ$*Oo#msb3)Va0_}49aNCYt*ZDO^>rtwB!dD?5!N2}Hzcuz*#2;YUYqanm zI&;e)#3Lxt$)go1JmT}3K0q`av~n!S;9r^paemG6afv z(=K003ZELmW)}b0CDxMGo&{eO_2gedPY0n-m6@uF>GG>;(Te!6mY|ExkZJ-{!GcGB zmC{zPQZxtdRC*M&MO2>nyljC|njtR`J$Ej)Iet+HXxN$-X(3eNl30acyK&ed*PH*; z_O9#XU_N&8K^X|43r8~UQNBek%3pf@E9`R7W-YPMbT5yJQrvL9+BhD6;XIg=pB8gn z9Wg#a-%1#=Q4kv2u90#<%el&1Vw1{LAn=%psbFY1RDR`3rNs7APMwZq?vS0)~uOjt`% z+bo^H?_9nUk?#2|UmPd-vyZ2}FI4=4kFSB6;6YLQie@;m23>~ZLk~#yIN3+v9jJHR za`#^#OmXR`^4N+9o!Cj#MsILk80r~jl45_|$Lj)qyL!P+9< zYn*!X7~g{2kS{~L?@=~zU5@W8#ifCm*`Rxff*tH2x!RrVd^?Rk?8E5S&_{=;OqIi1 zL^UY?B=uM!kb0ZQ@cY*+w;x*ICQF`Vz4eJz=L2VG{P$v;KtT3hXH8 zV2zumUNCS7RE3ELZ2logtOTo^WEA4ui_h)sC1G=~hH@`rwc@!raH=N~4tM$>taGyO z&|8<^d5idefj&@~8HVy}g+}Z+P#-nbv~I6L{KZlVbUzxqEET&rE-5sq7yg;+!*si5 z-SNv$%KYf%&DMkmh`ylbv>Z&x-7lvVy$w--hv6{nfv@qrL_P;$3aC&X6t0K9M;KR? z4RS+j_ZJkVXw$<7#)p1>^)mBPQuz8h1k$8Z6(Qji%(O~PyOQSKwxkv~pvZKqwkb+E zZ{!*Pghl(6*F=NuTcuT>w|#ChSNz}1O5i+G$pre7Ij=lNQ^@o^p_A(dd2i&)m-bOU zr})g|3gJ4d(Y!rdiU>tvB_|uF5n}o8VLAG@Yb!x<-|zF+E4Zc`vndT2X%)n|u;txM z0a8W5?z>BSB1>W{aPx@i)57Q#D+K-bq;1SQ?uBfuLMnm)owxG&9j4B(Em$7jLaWls z*I~PFEhg1&GzqUS8kH%Qvo2vJe1N5>FOX#QeA)!AFkw0B4hSh`bw>yYJ;n72Huls( zQaK$6%VQdrcMv%HwESkfDuh`K!bS1|`FyHCJsxXQPBtg8oKF+8nc5`UUat|*Txp!W zuYHUN#|q;Xnx8laG7wj`T2p#J=YLcQ8>?>IPuKY(BTe2gbS?7oz^SQ>=9VTn8E9CJ zk@4^G7X(6YST(k_<3U5bKY;me6i)44TYxN|H67%FbWU_NpTZ=v^X$W#nyyg%k^ZJ( zk$n0S#%spRiCXb8#}tbui39CtwBq#Ed=9i$&S{wU`z)T4~`PVG&?Wn`x??U}( zvcUiIknI{I2v+^4f#|QX0N8q~l~N5cK2~rNKtuf539;V))0Bl8(UDyE$hd9KF<8=c zF3{h#0;7DKf`&X4X}-^i1oZP6Q-{uc{dS`-)_Tfa3TSR@qR|xqjpUb9cF!vfcUlc@%@UrF(j5cIS|MeQ0#n z5Va6;lLP+$dhRU3C`&%?TCP?73E1qg?`mBt4Ki`+Ojl#u0ij>}oW&Y$^H&RAIeq)e zHm#|T0Nca}Q*hsGk9Q>Pl{b1)Q4tf;TQKeoy4R4LkRlt@Zqt^Ad|0>k#eh2KJgDlp z4R1?JvN!&h(hVOiQs}Q({@L4@j5dcgmnWrEl*%T;YtX_|&Q3Thq1pyUUVVw3cd!!d zbFfD~rLFN+SGv0`Mz%Np%JK>RX%{Ze?7tp8C;bQZJUG?CiX{x;694x#fFMtWAbMh3tL8Y z)lpF*mH)7r@7MrE`G}q2^B~qO<7hIdlA=j?VxP%Ak%EXfEc*S}?f#5!?mqLDucfFz z+~qfCz#TfUural3Bd|B{i7B7uGgB&|*{8Mn6A-iSQO@=a4Zih_m9#Ef%UO;UHYuJ( z);8m26uIK6f;OfaK{<+L`!lJ))Wz&laknP$Ns4t0@gFe>%a?zH^k2kN$HW5r-Tpwx z`L=<|80Mq+u$s_sguFd-=iMq6v9>yHBOtACa3*7=vh~`G_^!w`B7NcwS(8pVAnlYr8BvpbxMh{cku_+BeERh$MeQ^FQPZ|2(scq%yP+>1Fqw zGAN;AN%!V2zE;&8to);(B>50_Rr$k#==6KxIGL;s?XOR$YZ$riS;Hct)V4zP6TTgs z$5+%P-;lmV{xgG=SS)8dcMNvP-oYW`jw#6!+Wc6=6ma4u5AT-Ib=Fx z7pf9a5Hla5lS78Ms|ze1B`Q2@3bs58nyk`}v`(sjY{bHXoEwa>m%1HNp+%Yfgod`_L6A*VJ@W4Y2pp%Wkr*4J!z$ z`pKg{8HQvZ>W)?zH?$sXs8@908L7T;s&AQfx(KUpMWt9<~71A_)8*B8+B4Fe; zSx^3!nvdN@YEDOwxinOg_Z9C`01^a2LBE&YK@yG6arC}`yJ8UeclggLkV`r_aNiGX3JlU{4?feDA zZa^LHe=wyK-29dZC`Opk%t#ivn|3ky0MH;YWreh!)?&QMO!Req(XsqVw}OA5G*ngl zyNCBWEck=sV$jrXu%Hu?p`VB%SG33T++GMP7Ro-|;4#atyrmN_<-C6*#+SmnCj)CM z%u4kaxy8!iDo?IOc+>|-N8oZ<&XV27{<{@<9YH0%!^#Iq*~DG=X3Frqy@l3Cm0Y~^UUV}W7&l0l(2j)kA8g92+&=n+{ zlnhT^g80@@aw1lqRz3k}WjgEWyZl4)B0nI#jY@Muvy^tdorI~cM)(qKk15{j$)XU3 zxfl=KMbs!^#(UyAKojmIWd<08hG1Y;+a zAOxj4cQkg)H+3HUa3h?fiYuolGRvbZD|%WTHBbGrV(Buf-K<}%hBp=TpFeIgbc2ML&&7Bf726LG{CBn1cHE(JxnHP zJ|Blilg;q-v^?FZzUR}eK4;LSz1X~S1-QX80BlI2U3rsOCFj1YhFk85%Uv#0BJ-%= zk4*f1a_|p9w%aCWB3PZ9VaF{idTCa|UIFVnOa?AZuU4hbde9>wg?dPX_xf;@4(qdI zRs`y&b-Lu3XEl%4N|E5u$K~b}k^=-Ov52%F#7S2v{0g1~WFLg-I`LZX1EylOuo=qa z+gLP3`d?gxMj~gn5E;MP_&a&x%&PEEw!ug2#U6#*aj8!uJ3f!MKF$UK{5228u)VEL zcOh{?1!Fie&aZzqC3a~D&B?Vvb?Tx1nY?CT1-x#oSCfY zR#Ce;b1A@Tx*$BQ+K%I+E7Q}Bn;Ox@3zAH`siTNroTn!N^0+)57H+UoPp0ttY6<_r zCLiaCaW4&LGUt)cUPy;S#vyuj+gFZt73G`?DfkI}LV8L#IFB%DgqbUIu(Yhhsu@^> z7YPuQo&#RarxBscmBa}EuzycIZ(ob@k0)$7xLuc*97C?DvDNg(qhjkVS&!-o&-0G|JO@I{7&ZLMAr89pT6Y|l@uOFlW_ z99!}!oX`%IECq@SugnViVj%kZjTwR$ruP4L+tMIN&% zdCK;!WwLv<$aAgL9Lo~6>;OFPAp)Me_G zGmlvQ(iQJkME7JjZvaTc&214w+f_N^!B*6~&1)#DbU;b2qAi z>r@dz1ffR9LC1=M`@C}up(!huosqsdWUc$6L$I{-OF-zgg5TQaIZVBmV+dq%Ps{8c ze`w`>55d3x(xJs=SW#rlO!^T*_gE#fz=(=AW-fu(n!=q^TlV%kFVKUOSI$n8nRp-* zQiJKq+z(~BP>L($uF0O5%9$_r)+xwDY7BfTObMd~j|$76n4q(wPGp1bzHoa~ToL{% zXyHH|MyS9+dwRzYo;F<#;{C4Vd1Ig5G9cv^DX%|>Kj>1P^)-!#D>;^LIf0m=Oy8*j z$)*7$+ahSm4~@q0W`}hnK@Dt2`{Ql=5RhFTgn6~L_)7F7`fNm~D|MMl?;yE1qF+NW zBLrZ(V72GB&swYW){#>~gO^aOvS;eiurKa5@GxSF0B>(K=03gOdd%iKzn!enGaSgvuH0eh<_Wp}!58K|m1#^ViB{E1aXeWeaT!sDz@}d7`LAuxdww-zH zo>o9H43FXmL5~Eu4M1oiL2)?kbZ)?-R*#=ZbTn~y5?cTq9>c?a^K&XQ+o0=N-Mv{- z##b^;+njKbB9N0fy(K$&n($UPN;ZI zi!f7JjD7n-gxbtnUzPpcG8mNl`sbV84_XY=Y6*wRu8F$(L!F8wEb)9w#&&vRa#8|f z7Q4~7B9X`8uCha@A^n*5@UdI~jZN+3R=$c2AAomXH6|lcG|vQk89%{7{U5XWK|PZX zw6gy9Uevl^T|#d%CyCFJjIzys0{&7nPSND51dtn9b1zLn2w;8Mw@wn)UhLEpO)gsJ8yst}K$=k0g7r)}r{TjqIg1kI8K-EES`yoFt z6gTn+1R*vCy6w@@?3%FC%A&TbQd)&)Mtebvs@zwRy8Au>PX{%B{-VSp8%0B= zn_y}{p$o{9X*0S!-c5A{TSH?mA2 zVPCU3#wn_q(-|DaRB>$+LLqWN2pe&9mseU;QnN-?3N2Vr5kX91fV@@3`xwND*PpQ415x&Y*- zxH^|cz9x2!pt9Bo=Rl3GYxA?NO`#uGa+v)s@-K6-g^du00H*<~hk780S*ZT1s#OQ@ zY4|e8%;Olrlu180 zj$+t$Z0jU2z)-O^+-a=ZQ+Jd@`y-aejY@WC{IdH%v|X8oTMh2T%)fbP*3*lsl|qRk z1;KS{9;HAUwHMf@4t9JpB$q{Z2Z8}(24r#im&3mO)<_S@6Z@UXAY<}wXme7m*6U98 z{@e?t#xnfNvYL(vxHP~f-Red?y~$1QrEh9XiddcbqHLrcFICg4 z-O&iT-b z$)cclY_WW=YbmC=Vj?Z~%#mLP&vB4rdFjjpaxZhs`GrWX3G)<#?(92!UXLm2+wF=5 z9PF%seDQ(P2wO=ow7gD}8W&n8? zrFK%$1X72E_D8!NPHcG<#v)cnTfb)*X@>*)rqISjC{|s6?R`h01Dnq?#?~P>EkInp z_U35)>9;O1ui<<_=hBiVB=zSGmvOv8{~n}gTy5O+A6P1gAbXo|cPxJ)z8!N^HFqJm zTg|BQDp}ASS!w6)Sa)Q)OUW=PyZj83eMjIvhV;>IIngR6OyT#M1ISx;^!5ayTT6o( zC1Lpm(M%iGd{oLi)}>uRrF`+Bh@gOicPvpUBT0#t#CodD&L)vc7keZV3l4sa{KUb8 zG|~{kDLecfgI9;^_)>HRz!Cy40&J3-d+up(KlIu{@1QLM3FHmfpOaq zVjpV42&Zd|Bt!j} zvy?X|(UIN$ZwS&U*3wyOiVjndG}S@Tsfk%oI2io)Lhh8EM-3&v36Lj(v$4}UA{>{v zlfWifY-0NNb$Dq9o2%C)2~fznbQ)#x8FQ`PH(xHUz0PxwgQ zTXEK{ynVchA#*rz$%^g?$DS!gUHGqBgyMcE(I3AZ+jNK@eb$H!nTuFP>Jx)Dgqmc! zV6H>eV9v|^)v#I(fkSPykj&-R1o_xGXES^=4Oki+0ziD`Xkrnj03QmUH#=vI{+t%`p7SEPY{1 zgtcEn&-GM=?Gp3(Dn4*$tAm2{Ji$)GOkQw`oF%HAu!K*2ThP$y(Vdbw+hp(dO-8yQ zs$&Oh;rsZLqIl7<#=oi{)dIHl4|+K{!@Y6Vl=_laPtTZrd|^@{5oZlveAK4Jr!l4( zn@uN0dSV(;$e9hMr5s`w49iGf&xou0_XzIY_o8ebt2}>(=gtVdgC{=0DvFNe_w}i< zPT%&FL}CgbnCpbU?eI8cQ!?DTNpW>g070d`Q0|l*-w=Jqx-q;bx1n=AB`9uaF!CJG zvx^J;RU3P^QFAfu{)5q(pto`kXSW|KAYWtQs56Vmtp(YM`D!8PGy#pZDIksJ!joF% zZ;~AN5kPM#k19s-74l*|>UGl<8GV6$eJj%Nf+(S7}2M_lPdII+T_wUqA?-ADGyg#bMU@t-Qq z9uYHyBPrt29Yk``bDiMuIPp`)k4AUiJ{;m8-1S*RuIibEYWgqR00r64FgYw}5vCHs zrF76VNtOPKR>foRy&6Pp0SZK#cij8dml*OR46JH*;D^nn)7$70*K&X3&W%p@CJo0Z z`=9|6wkXHo|5QVA(`X?mrriFIb^y!tf9Wl-1Bfsi#iiW>IeZkTrL=Qt{s#BbHGV}` z!q4x*S{q>ihtxs5X zSU=*_Bp1@*aHi(%uPOISvS5o0aoChfe`=~vjg|`8s*tv3urdqn+5OwLcze_QQZcmB zi(X-53)T9$&qyGSBE5DCByBjVzP#7kkjQ~%Enbh)2E#v9K2VomotxWy@(x>!(kjJ; zKAXcwQm>T<87OGoz3VY}R3!9*N++Tx^PTudet4XbHY_>ELm4@ECTnr@)NiWp4g)q)<$A=73^8=e&}hS7C}fPG7E-%6 z4c*d!xHt_F1y>D|WqTJ7ru8*q^JhwbAS6np9RIbq--!Kclc3ZQhBqWk;{zcShIPCDeog!|9~-&^ zXCkq|5RXPGeCe!ej1Z=?Hc-%@b*I4mt1>?0JeQGg2EGaYDfC{D&QW7GsJbQYiFVv6 z{UY8zDqwQ)HrX!Iek>pOvfCIw0?z19dDR$ZlfQdm_Wrw*j}sq70qByXke5nXzZX?)ED~ z3Bl~}+Qv{QRY)MoTUE~MNe2^wRHkdT-=kLq<3{B_Q7!%%PTRa>B>hcRK?gWRbVwsqZUVb4d6}r{gg0boT(&X)U@cYXkA0M zR-uj!Y(NF_Czxm$a}<8J5)VmvbVl97+XW0ez(SZBm6p6Ad9ynkiwZ6vD@L<(rB+QP zM_p#*cZ4}U()%8cOtEWp5SNI1$s`B&>tBDrJTCdqT0feLci112ec8EW7 za!OCvWh(a~@p^1xrFRvR6QtGnaO>H%)hM#N*XP|@H!=$x42Fy7F{;}>7sP1w(E{ID zRD=AI6@Hq{5BtFCD+)VD8@T33~`)6$XAa^=|<3Ch}J6@TrIA6ctTIhHuPe~qdMqK?UGzPa;cRqs?b*99HY>U53Q z6U3>}XrOaRZ3q|OVJg$+MgTS1gBSs>Xr%l-YH6S?(8;8^p#p=e>&N*o3pS)nl*0$F zn4b?{nI?0Yg~p4uap0|gMk`uky;@1+N6omyGab;<{rdTn#we~hESY(aG$|uuNQ3oZ zA&zsum&uG?R;MrS6^Y?@S4GIBp(!YDMc}>=%+)J)+E!fIil`mg=@cR^6?8nZd~yz3 zm)~X#sc?2({Zss3BCWW!wXV|M`g8wntDU|~Z-Hmk>(@(HYDu!#4*G$pf&NCqL2#Vg z!v#oIkqIb$`*L#hHRq@fRA1dhyuY7cqc3(o87`ohPJMU$4mY~O~DUuHu+>YK=n{{&5!Hh`Vz&!I_d z!f}I~+HC?Xw9;nK+ByMj%I@=|Rw#0h`&*Mx*z9?=2(#fa)=a0tG&F@7td`|p%Oy|p z;r1c_IaiR9j})HrC*M=Zzy_{ldd|h^ScB1QC8d(k-h$4YoyWJ6Zh2X5%qO0^F_LiP z;h-s=s)H~Kw?yWJH+32qzxN5Pj%6%A^-a-$m(}4l6TD^{&EO!+X~@6eyEh7Fo9({u zD1qEl&gG^igM8<73}c#(xYFPRHb^4e6UvXXx*k6YT*&Cwj(@|4e3B%syp6Zxp1WfE z{YJXZ%Xj3c>r39Q?y!v0H@4n(dFYtL3;Rc5YXnS`vI&+S_ccEfizM86-pAZkq0MQJ zRWgbe@!wDw4V4wbx=6?bvRf(075{{ReKx9L_S<_zFpeUY!=9z&y+cvW5$3h(YddbD z2(2rn@ zYKkh#+IF%f2lfZ=Q&#*Wc+&f&2X~Mt6BtrwG)aTR;MJe@TXlGkU0eD$M$M7TIx)~1RAc)9Pv9E9X<3$!EoM1kJ zgu#_va~D&U19Np51C>cT@Tmez3jjtZa9Q|L-=w2&cnq*zP zw{k5AUr4YNIC^Ip&hlsSc9ZRHvkzlzVgqRPJJ$>&RiHK}&PjQLc=1(is$ea74bsKO z)&1KT11&Tw2d9mXvx?)5d)&QgH9|8&YGg$YG!EZkX9 zsyCPzSHP5?i33}u^ikYu&(*TyHQr(uCQ*BW1QIaBOhOa_#uK3;&1scjj z?1ZcJvsu4|YR06#@@NV&JRek~Z8*h^t%ecAx3Et0>cp3Pmni{w9QwI_#p}NLUwFhK z$Rq_#q7~E}Mk?%%{ftE?@J<=t`xW6E9T`*qwDi_yNZEAwW697OvK3IrHPT6}M%Kx- zrm1=pgA07eLO5C?X#4=sBnRo?FUZeh50xK8#v8EFB9BCl>>2kseY&xKcwhQ6o8MRg z8KM2$lnF|0UpcdU#3r~>?p!rbYYLMa^<57TJ!y|-pR6xY^mI&YAk~3qR7fsO%hc2% z&@EgD%EDAiNvKc=QlzZg@yZ$sNhXuWV*+bZL7d%W%UF_^qLC$cyGD4~NN_1wKc_n( ze9>@g*3{0R=(X#Q!ofHL!7&(-Yx5=nzlq~i4ekc=N?_DTaJhWxclL;EcrJistl?TW z)EvP+)#1;ZMld1d<%2%#42axyI>6G1k@LZ#1e^`7*O>7G`^+?f)k35qd^ci1Jc zvIf$$fs$9~`WU22_V>EitdAv7K1+s{Dcelw+@xPfABk}0qFQQ9Q?@IMvN@eg$!qMV zG1?%!)@FAh9gq=rhU~S?N@Eakb0}kSXq&<)A$;y6O=#Gkq0{Sfz&qWI+Z;$PVN%#+ z8dTTew5!C%#H^L?07h&Is_oJ?6_7`FLxw;pVG!CsH0UL-RPxp({f*iApEZb!MtrYE z2dB;sbIUP$mw`&p!hmZDrFz3yWHV@(sx+Owrt_QfYE;<8Gn@WmYF;}Nw*(AEZwTYm1S3i zF8=%{)2@U{cXrfh10pxc*gJ|o_()g14fB;Gjh3o;rJHU^uAr7#Q^LIYx9PvH2b0o! zTW#FIIz2KXaQ`e>J9a(_oS5qky32YQOP`MC81FW0DG=TqA$Quuf^wGVe%dy8rEt<0 zwhLCboH3lu@R0sh~-lNYdnzoU2A4$7>Vwe4%uVQA~Y@`3kj8|GUZ=sgR9V6t=Qn zti<>jg5(w;R7b_kqe+8*GLH0H0ztMs^hR^(^Mw!(P~WdB+*L3JFLrnqSEeNyLAey! zTjf0xp-7Dfd|ehR7&Z87?kAT~x?5fwv4wl;9&D#R<6ijGl3}z`BfAyhuQbyE@uPK- zh?Ek%`X%`@Qozk?e^u;%=i36P;90h5fOUJcy>z{g`Q8#<9PU?yOU787hWDv{PiYS} zrH`{<^q;_XWDbte=mBEt+eXP`mY(8gzy3nr;WLSy&`&+!w9$0VK& zO^!^2suz%7JtEaAq}7SZqDdDwy^iPg;op*ilG>&o3O+bHNh#&76OH{gQJG4^^07n= zhOAXszoe`HJH9us`k<=zs|f5BY3M z3_dph1v2YQdhe+<%1!zZ^Tud@`BJmD+gQ&63s5_E4B3_+JRwLf>J=E^?yy(0|2cs2 z;LRk-x#at!Mq0@>3vAm)UZk$7AOET-8N+qu%7&{ArvejafBcNaaj6o${F2MyzR#NP z%Y(JS__?4xS5N>!K)%1#K@I-=Qb+#JRUzZR?&nD2T2#xQ!w*jMWq{GREK+Q_%Wx`| zJSM3m(Yz`)G~kWpDm*CLAn^y)_WntYqq+S+@gIUJ{juQZt{^Zk7QIOsCCk*M7fwAK zeouqT>nbM&dy`+Xj$oIWed|XaF7zonrMSeIrt3Dfk>GJ0k{{K(CR=-+;>>`iVLR>h zj(UC^AG$+;@8#N!6&M$S>K6I%pIIx4cL8hs1cBEhsc7?0Y1-dJ`dbozX7}5faZh ziv(1`#{=FOMaECe-wsAN2j6R|@klqPnlX2ukjeszpNsFmfOR>6C6E~>!obSYzt|oX z%E{yj0>+%Cq1m-cbb60}lN5^t>86P#EP8)@5>vC7;$tk!-;5fBy@EI_8kCngcI1V3c!u@;HiLc|VL414n+T zftGtlwHuVRuI!~7lK^}(Z+M+?w#|Jx1n1Hmz}fFFTvZ@HN)IFQ3VaDAMF4h=+k{7e zrBnv0$djt^tUDrWXy-B?M16ke#? za-M?ay{Axzrf-YdX$MIHE>|+;Wco3!877_Is{GAKv!|*ph=+BjXKXRIZlAHx#qSzN z5X-U#xZwB6f-s;bEIz0lCdP)zOvnf4Xv8P$jyr~G1-=*Blqh=}j@!JBAVwZ?E|2 zj4ZU#Lus_Hj0wA=MBuNC)L;-J?I%sRF*8yB|hHI?Wa0a4V5OGE*J! z(lVQ|3K$6gmba?JS3HJ#*fJ-Y#J8`U?JAfJV==5=v!A0NK3w07jx*cn&1QmO@qjk{ zaxH+F6;5(cZks#txYxm5dpid?A@y!KmX_noe5EPhu`1V%HqKLfq4Ht;FF8=v*r2q5=>I^eI z=)|>w?L&)5{a$%k^Vttg>zxl`N*0uJYOLFPlEwoMo}c%P!bPd!*Zdx4XejYWqyNz8 z^nBnrg*k-6)N2`rnkbQ=7$$SEab{p{dG9jDkdWm@PGb+-tHU5;>;@3hVKcExtj~Ha}A?KJr4O{7uxeOXxZRd~1!Q1h_jKLw5S8 z79QYo)ZML8R2wJZ9u4PSKz*5YqW>Ll{7^L;Ilnx`8Z~Q)L`1k0`hNQ-K>06Cmt=iN zgx=`T-0z#1NGo8nMU00uM%co;{HSb4yg&D|veCdp^vJgb&>@@?z(8j%k5R#2*9MGk z16H4?Niw&4&n?~OMdCdj-GQg#*6T~$c=e#?EZ+l(0!*y0Ih=@M7>}e1Y?nBAE~0;QLg-+s+*8OzAC|boK^JV(%Cw9pZrlvFX$ZTb3i9Bai{#2wfn4Z zC%_E%gr>=#fgRwn_sQLVv?)Ltn?(cRjWv@#0b5xdi0soUQ%RFdS5e+Zd$UEz4u|4pqS z!k*UjeM1%Y%6SQ8MZ09&6JHbu9~s$+#pDSN)IY1JwkN4RF?TM6Rpg79RUhKfQH%V$ zD+Y7j7FXW$i%#VcJYze)g&Vea4w|OS5eX>=QC1IGrtg(x=O?Q=4F@xetmNg@ESf84 zLnd>P{2ZJ2?@~X(r;wYZTxOWL@3UFjjaoqyF9j`;dUm@&He47-MJ@j)U5)VRN=6W-W$1$KdT0U|=->R6j1_OB%@b}LnWNCIFEkY-NO^EsYi8bCy7S$(YO=iMQXM_r2!`jOi*|-( z2kI)@FiH9v+~*WmSJ@Yc#rJ)`#~*Cz?%B<(M{76ijOF`xq6{j;0_PLtKM_&Be8lc# z7u`A6K6~DL9t6PQ>0DWK%TN-sB`FhyRy7<58vw+W|9n)mh=9FJ?qiA!o|^YEf7{DP zBx@Mdce9%zaMP-S>En~7qQd0C%mz>La|dN;!*U~(g_WmGJE4yZ1a&hVzl)K{P}*|| zZ*t;pErMIkuSjus{UD2R{NpHM=(#;`r`cTv{*Nu$=x?T^=dS z^^XP{W_0wVxDKBh^^3v!2?CMakq+x7F?@EK*w+V zeX#Ay0C>M(V=SX`$+@*#DI~gWntYD<=EkFApqK<6DUDH%;(zEY_eKK{Re1}+_U>F8syO~sh( zTZ|uFrF1H0`6}3EZv>C>`{R^H+|;xxr=!>{d|XAJcL|N1(ZjF3li1&;)>o8Jr`1(r zE|vNI_>BLGn%et(rajFK7Az|EBTVn=kdNcV<}_Merl}cKhBZBk(~qu-#0MvZ22k3r z=eKH;kQ^iL2`o%9dFZzO>@hgW4*P2#hoD`9P1tDr@UiB>9fmot49VB{lyye1742xn?=MRV5=xXU_0=_E* zyp!>g;UZYXH?lOfh45%WEQ7t0(V!hC_Pyijc6zlDiMaZLs8Y2K+qC3GQ^^0rr-7yd zzN2Xb?C^}7h*9M!=%r~B1D!#t2NwLsw9CPS9VDh%taa|-DTu%FL%@aMrH*xvqk^Bk zeAu}_+KU0kk1by3WuCK;R-<%ZQ9Z2XdD>6UN>g7UForrixM*&5h0rdGbX>B0)8$xl zF|fqK%*7gnHD_s1ojq&GeSN)D7yS_AN1@f-nbVYRDP_E+kG#;bwf1`_3{YpSUW#3c zpx@>tMj=P=oR!@E{ZTT?pC}7M$!kB{o1M?_Z{yw$>R8K%;V(Z6kXj(GX6@GWsb7nh z-~i`hqc_fGKrM3T2fav_nyJw7qz1r=331rVK+ZMa-qk%RLl^MHRjVvcqKZTjZ+5i2 zUtsuj*pwRp7^Ud&Wup)81f8~CVD2SNjk?VhIa+cw5w*DCz(m|YXN%}0u*(cj9qvT*zqh8I!%lE3MaNqH~^J^v^rZ7WXlFo z&|+4?Q8YzZm85-FJ=ZftpT8CiS2<(y?5)$P-`4`+cHGg}!|^t###C5JcV2tcl0I^_ z)Y_ny*YFRSe!c>W4&Qhr#$T-f3_UD$bwjN~+buxqEv2kF(W zo})T6+gK!5udN5*rVjHnGSX@B4d8!c%XgM1GCpk2pdAi;i67m&)-l-iQKohbBN`d6 zVckkzs?Bn8QoVl7tI#$!b;{h>3paezy?FkU%@@KJIl|)R+}cfgxn=l5P8aLcPT&ei zA-k%~krXmx86$v#S`?Z`dsx?EI6Upp+ySGAN}nGup+4`oqD_wECb2WF=lD0`l=LzS zNYLf0?8`gPM6BhH%wTXZEyjkmqo{mv5yVRTZzW)ffb7IC(l&(DZ*SY+#ZJ5%Nfe=KP;L!ufjG8h|lUA zr@j3U#+GA*sxql}Iq(YEhJ`p32KlK$9>xtxKaC$ zcU1k}2CwYDGiwXCl7(LoJpL46+F_*qH~H6UCQMQ06FlfRS%oR6W8-p5<(-~g>n^$a z%peXsxxOVD<|SXd|2;hk%o;;pWq)DLWH~*|whUmj>E)q=vT7~o$DzfC*Hr?)t=>od zE=_2VMXVVD=n?P{^KmA241rVcwn~lf7yAD@W(}rY@AK zURS)4(kCra|F|K?d!BDi@Tb3Ma$iUnq^m#2XjrZ8;CtJ`g`YK%asNVi9#Pkj>c#1? z23j$;`X+Z=ax0*QXHtX z1`M*ug;N84=&;-0P1vokOOs~%oy2kn_gQe^ad2z39XfD;E78MU77jhqjy2ABBTiz@M?Ht2xc<4YD}K2Up5m_PMlww+&I89z zpGD7iz`GmDwCTY>nGW)_6DF}9eFV9SS^Sw`14S#wM3>lQd=^6I-l;PV0}S2C zhG7Bwv6sPT(tmaNI`g_oAiM)32_hyrDU9Km92q( zieroNVU@$(fLY&M6;yg8Z_<`Z+p+-Bheu9Mcb(EVh6gTgo*HW43SKQfHXKx=&*?r$ zlXQ)_bbqrvgmy=1w$zbj%DRjSMg*A7QnXc%c0)$eFlgTr|9#kg8T9wi4M1|VA!U7-N^$M)u9g=g4Di#2Qr+y-wtWtC#&hP3@D(-oIV{J}^VZJ*kns~hN zkp%QM2#7tb({e39<%pwR9I8D>%+({ol zm&xic3}d!O|90NmA1HT*QBVsjkk7ifgEBiX+c&jNOO3n{P<1WziOieP3EjJNJ+x4x z+lt9+bY&+Q9JP$EPB!dvtq_)F#}gn7)c7G$1TdSId+N8DEp5#^`{s1bc+LL%&xW2_ zSRh(Xhh9spbG~%S#AkkR}{KS3Ce@RTEVQ!q21Ilu}R}i=ZCUeT#;o3!`+( z9+?iQ3)i{AV&^OrP6;JBpO-#(9k{27Os@(P{T}-F8~sEfTvDD|CL084DND9x+qpEB zj_rz_SpzaI$Tjn0H9$|Lr`oGHECQ{F@SO_NKf7kI&*e@v@bB7bkwR?aBsEg_oPZs^ zRROb4Zxa%yyB`6sCP<;7Yf!ZC@NPb*u6HqulG#oqs$TMHzv4@_H$oCm2#p8*?Bkif zj%e6jg!T-lxK|~kq+OiFkAPxWSfeW|1F43S^6k|nXttZe9z)xxrM1Y79y*vh6uTQZ zt`g3a?lq9w%!X_ie>%$Q21b5mI>z4w%|n2r<(fttCG8cB?3-j>%E~ZpT^|Pz@}D(3 zdo+f!mkx~1+7JerwO&_d1@q2@v@u<8DFm#(&4RG|P; zuyX3OqcMGNP`ommy^DA-iRG6nvE(;jyvT93b4msb0Bg{vUv?tDwG(htY8~)ffLWN^ zfI^+(rDx+DYj7bYQ}TRloKO+zQ)xa^C$lJrdl?S$n>5`s!AVnun%i0`{UK8vuGWKk~)0}h^G@t zZ|RDE4hFoFIvR7n?t&WJ8lq+NyF&dA1Mj473&FdWu!qN_dL-I+4E8d{jf*}~Bf@IJ z`)|*AMKlrr_N4Yu0+>8yC0Mzl8oYi9-Lg6}pf{6~hzB^^pf_<|^&ArxEO~!ONG4(O z&ObI2(Ap{Ss}3E=Ibz~#C!OA5=Z@2A+8#7|YCthNNlLnB^Ghc1_nT4*@>ENam6u}R zmbR=m@{4V`+RYQ{CG85w@=xcx%Yo|&9s0#Yg+_;r{D>DbYiSK5VH$t=hoBC)YX?jZ{Q1~5_M7(mI<1riRJxg*zv#qSk4LXk6^K(BDuCv78}%Noq?b(7l#yRE!ig3H&Pb+j;s&saV(6 z%t=m-w7`H>y@)KZkN>iB)CcJ`QpfX(7^1}*t53jgSC_n_4+AfKehcVE$>;!9FmTMt zr9iY3u*j)kf^A%=yKql1Xaf<`proM<39Z5I6(n%zaB)ZKVTArQy1zIX>A{)-d17Bd z{2KE(cBBsuy1ctw#x_VSP6PW676RniTw!w%#pVV)B=JYUj!BF?d$9?KT0Ze*#SCGd z*u$89jLWC{`z-?1Ajxa~)P2agYwV%6>hEv`5+|R?( z2`jY9KXT*zsX?QB^#}I_*>hDDj;yht4+t@(r<;V12z-AOn(c;F(+4)gNUy6#C}4RG z&kQpCAanoGi?Nsoc&Y^{-LC-S!cxs=LPOT0e)3;iU=?lAmWyj}MN3H#vwQd@J#>zX z_2+f~^M_mHwdqyp1~ z!d6aoot)>p5P@Opj1}sUUvvVvreaGu=frf%zZQVeA?V~A_% zpE1j0UpODe4+|&Jy&{ARB|*YM=?U>u(Pv$)A;1U?l3=BQO>#z8pCXwux?7UC|F<$Q zLEfQJj8RP4FFbetn=1YEkuf>q&C8*!*3%X~2}1^!c3AUyMHpOSHqx`Glq`;YLtMbQ zB5BC;+1MlGNsn1FP7GY?#pE~9ThAm*$31BBaR}P`Y5REQfQaYdskULzo zY|=<{o!-FBu(l?AGvRiboRsBgJ=eY7s&Cn7xA7E)6`pDE#GF^9-y+t=lfD<)*37x} z1f^kYh9sd)X^lKJAtA=NKmmZIY#bf}Wa*5pMZ&X!D+9X!JGhvb??=WUqWX%IESSbR zjebfJExeH+svq=Uu?5}3RK2%ve8{WwYdB_a>-}Q|EBmysMO#;{uG5YO}bAiU6%vQ=6Th9nbNlXG_l5 z*ri7pHj|M2p(Z8LL@r%$a81$>Z4LBA4A&5A zOWAqA7P2A`AP+&_k7dPX$<7^MCw_gr(x~SPBmd#!%)hn&GXQJz@3Wu21h>J!L}VgmB}F6YdPT19f2Ty9H<)}ah$)KPo>2R}0MKOQZ{~Sf`NrVAVfqze zN>Cc3{_k1n{hHIPiSxmk3d({LvEsVms^vdK=$?K^5#rSo=!g2q1FT+d+;L zN6}O!lp=GVK`Zw}#p%;9pJqt`RLCR3qEZ6;O=A@9sa^AFc=Yg32VcxOlcSA??sU;! z<4;irQRaFs0r7&A>$9$ArKrF>0Z}^*z(+%pUft!eYm}V`-hZ>SF~|N?2LocD{h6dT zp%T0`8d|ty5Pa{1Y(!&MAHOt9ZJ}+YDeX@jqTC6cx_^e`jcov|*Jk0RqH~8C24L`y zqMe2hK#QDN#6t-8GcgUzDDJq)5t$wK3XXIre$D)m?Q-()g<5l?)SNL-A%#38B^kcu zABc9m=#k)<+}NVSTv-0EAaQ#6TXXGFNpgWjvp(GCfmMCwF6Hv{zg&CF*oO`ZGL6uH z((&`B>YD_|?wfIy3wl=oe_JjyCXsEu(~h*k`vD~DMcEQ8yERqfikePo1Z1B26ruI zG8Hc=1N4HEf+6}lS5kx9TRW+?dukXXr=-AT+6Z3;>tm`Sjm3r56&q|>7Z;1zX0p)m zEfHFjL0Olsi1w^3DSYFGb4Xm6)>jR+^FlQIkZPFuq-~9g%4O46^2lQMQEAGn{=%#y z!*tMryx|fm8YO3s#v9ylioSI&StkU(<7q2JzeT13 zySB)f#`GG&bqJI<&c4UBQf8S1Tu=Q~H+wiMQ?*!Sp>FqX>7t34#?eTR?O{4RcbvRB zGMhj;Wh;@_;qc)FX5xAkhe~7+)I}ENyvw(EnvdP>2gIsG9?wsfTcg;~-GP}o2>qTj zK1Tv*d5+$_lx&63MTOc*Fj~vFi*xEku7VEXhu`BhielrRTcJHqV$)PYz7(4vM9ifw zyuG~q4t>6R!vtb8U>_`nrB?N0^C3_bP^cU|P@%gJtJvY-Q6e10VQH3}65ePJk%6Q} zav$=MC137Dw=P$4VqQPfM?7e~^CHP&ZB17Ajmt}>AYtDJU3*nc&IFnDIB3#CnrhSPlaa+R>E*Dd{f?+pKW zd@Kl#mFJ0OG$leVCV>QSe6WzBZE@ocmAC2<`8Bm69VTfh*KgB6wg>~5I8vb!e~9iT z09z50E_7fP;vn~b_g_KP_6{`>#QE?ik(QH5rfA7v9r9d0?Q&WHCm~L#{Oj}1x17MxQIN>)Z7Ep(=!SF+0YQj?vNK;q8yAC<2LVj2 zF@fVD&ztCnImrd$-;9rpF3D0sKjuButuU!#lyX||fXPF#>tbl>20P_cIZv_nEF`UU z9sbCLhOfuQm0zj>k1x*1!PF{gbR{yrOT=iPq||sc0Jz&c$}Z)`k9?Wa1ng_E9qP}; zD~~S7Td>lTNA!PDJ$BHTy$HC$QA9xUb!F5XOJs1;b#pW82Wh>ABKp0)$W}%xW5le| z6URaV)~|X(+80K3T*# zm)D$eA4o7OM=Mf{Z~mAnV-AGE@WmF<%!y)rm@Th}5cSXIElk?XD=PW$dG`LE4}m^Q z{(rfY^ROXZ`sE=VX$y6{`<+L3y|4g__xjoogVI+|LsFb1jQ6W;37AE7A4{{q_>Yut zzjI6zPDMTNt~AAdthe-0(fHM;4dq(7&epgNI^3|5w4q}t-Lq+X6?I}gLB&qT#Nx-q zU%dC9GQQfK`e5oRT7!qnMRcw87x8*;7O?aegRbUu?9TV&)BF8Phv2Lhwf&>>fyNnN zggvkz7JOXp5(@#vV=LXXXu2N7Xl63a1FT!i3r_cWVk!_^=xVTOy%(m_{T+E}lydBg z2P|kZpxIK2*1uS$#z6o%0uCe)>dj3Q4Y47??z-H#iUo8IU|QYGiMt`MGZXQlt2*H7 zCEw3PaXW6Itt`Blt8sneer0aSZ+c9N2$|H|Nj0Fr)dj4>Sn-eF%R+_L?T4_lwm;Bh z@P_sr2O{MWDE}XF*3yiwfBplvf!n+H@zd{g`#fFi%@%ge+YF3=YE~*_IZxJP05nuY zw*qhaCBIH*?Pw(-A%~93xuWE*1A3~7 zI`wwL(+u1wij=YWiVaV&Dvn=tpxu@3t3Fx)cj9Hi7C3CL$or z7#bcX>X0_pAtRrek|ChB5#tooWbgH%R69%_K-apWyl;b<0U1mDzmJnLtwun;00rL$)&Q=_IO+(V!@jfZf}ViVBTCK0_GpS zbMu(Kd(kHtN2ptx^vV{Ysu+a|8h*oo1t*p;-$}1&w>^a(J;o@gS2%Ny-Ti zjNb|AQt}|6(?}9au~)AtTudCTN56feZ+cQkTyimFX13>At}`a44%DZrMY#m;BE$i{q%E?nd>>)ufu zZu>;yle$*nC@vef__?_%ik63>WzHYVyGCiw#p5tPuIITm$oMO`a{ngoyA~qNLj4yY zUS^=uvG{PA6CN^2AbBa;ToUEJ!%3x-?s{e#f{9=O$7pF5n2&gN!}mot%t-tx2-*DI z3fD>SYBZek3pX;dS0L_C=0eVM4Ed0&CZXzvGvIp&T9aRo8Of*GxWXnL1eZ7zFDFl|Bn}Ob?x{HO94#*2D|+NZ&1da4r+NtqlLJMW#B9 zVBUk+ukDM%@dY2=l)c_AHatN-SreUN(2cKdZFX;SUJB9qjP?;DslQfrdBKP8`J@TL z0ahPc*AQWIun9~z9A&M}wTM^?l}W1Gsc%>S@D4ij6;3AH9rZwA^e(1ciy!bKmF}a! zIy88xUYD}!b-VP3a}YA~%o{ESu$ozt4|!i|Padsfqw!FhQDTIP;0EsTWpam6kzih! zu9Gy%fNEq&x~gcGvVqp8QjPMfJhAZut&T`z!?nP{$AOitGRb@5;mVG1QdCIx4I61f ztew2L&EE_^J|lDiRP5i(&gOv;2$f!h4ZYP>lW8D%ip;2Wv%_r<91+~$QT=PYmHj$W zh-fBi5K3*J0n64a6it`2xvh!Pzj+inhUt|1+Y6@lU=}H&*eNXp997o5YJcee!wT!2 z0~7lrh3qKi8=xq|p$r2-qi&9p1G&8vLC3H}k)BTfq>2|yntvY&WN^gtN8};(^rP^R zLSTB@xPjg#S$#&lfYvV{p)}PW@`Tv)olb!<9vw7|t2r8mq#R1B8C&e$oq%SOGEIIj z_gRNfZ8$+c`JzwOXWg80zd%?aaApNUNwj$3v2(syEHc(OrBcuSAfqeotg-?yN#HQlYhei(y5DfVF~dYg98*x_ z(vU9G1iUR2pAXTX1sEe*?nlL-L@eX9i8(`BhcSUP1`Pd48EcY6555SV`z;sc)#(G; z@IR<#l=q?O+XFJ0>J`wuhYPD%AFG4>Wb2CDeu3JUm2Kr`I~`{KoM}^7W0ENkTx1;b zy6S@6JSCoGK_V((xq^{!pDpYMt}L6)NQ(?|Ouot12yX+t9VP_n7hT=}b$Dt!jLdE;n}%GBu?{5~o{yMXLiH3(>_MV3Ih1KCdn zrkl3#nWVm&G`Kuhiy$2Qv@qqfsymQLQp>t{>4$(0-^@-KBsD_JOMN95abmg&0lAw! z3hChCBNJEM8#|d5u3pufj<S7l2iG$(i_)7Z+S>sP*oXvk@mx zh}eQ4%Il$m%NZ6G!f}f zA{^~18YG!I_^OrVD>cZvVikYxzn|k5KwP<4_UeWU5*6V2#~p7?15Di$PuMsx>gqSw zJt(5qh0O^je;IcH=K4j$yKdh85>6Wf54dX>q6fmzRo+_N+$4YFvmg7B(SD^ZV2uqv z0(Mrgj}X8hoJDbr7jW=QYX|E=hzpmER8uUM}`9&m>>9Rax!~?2U&$C>+#e&m*Rx}wHF=VWX z3sS}ebBY$`s@hQS7T`Ahm1MW+F2ohM6=OIt%XS1YtvP7Jn&WovR8o z3^ozgqL2r@SNrAnrlvfuIYSVN>n|$JADl9D>c^?fE0^|mfG|vw3mc_OTPjL{vVbW& z?_pc@crQ;uior^BIQWJNJ&>;I5yn+NMJg7&+LU>+?-bhO^5#6;Ad?qhdRwHm_Khz% zE@_bZKrP@EUOyPqJ!Gzfc*t}|R8!;ShckKNjqX+Vh4?&MEzp7>785F}=~GUFZ)8n#Xz80Urd^Nf zH<1?3@xdgf^AI5kM9QL`DtNW=Mq8e9l;4|N=*$M-o1fFd$E4P94mMyO`mXA})hul* zJ&eF(&t#Bq&*7tg5c}pt;MK-A>9?QTG|qU+=ycEvAwI!2i%+Otqco&t@g4ROL{0bL z7&OB+h*7Wj@mggW4iio9&O%oiI#dhFU{xcrY>4GyH^VUPnEoG2VrG4rkPyH0a`zC_ zg-E+V<@DG1rJE4=hjOvsnBHaB&?2L_`@Er1|4A+Z!)sIewzeHq4Ht6#F+FBU4@*yS z7=Q=f+lQYy=Xq+e`1B4z_*QBrd&K@4B$vU5oNbP4KnfeHLd^m`KY(fM+XScy1Akx8 zx;yuUJE(sdj;(WY3C6*#XHX7Am%tYPBsI3L4s*`NKY|{$`PaZoK14DNy(bs)W=+|e z#XzKo!xwK8Gi*(OhU?Y1Lr}?cT4xdimvpviX7MrGkAvNPjzQhF2gTMIFGrJ&h&fH` zCk(zOu6~5LtNYVFwHHsW0V^8+kULow3;J%yULeiS*FY74$A-G># zm|fB;9^9AV(urcaFp#)rwN=KkK~J?o{o`S6sktt!IJfjels3v|g?~V#1Nbdsn1pO|lpg6vr+uoANv(7~HxoG==EV zYdVaH5woCwbU$UR4$b6pqT;;J6!}qDx=Z6eq{LvB8hYu?$f3?>qvhkPadN4Pm7UEM z7Cp9p|MRdQuJz6hD56IJWY58++g2FSgI+x@TIvzSB-(9j%>)$EROoR=4;+D0R%xlX zrjc78&)z^{mfQ)@_52*tA{*7)A&^1#1uBCiG1O+&4vcRhK4e{~c~O%@1Q+aI7|bCW znN&G52D2uofdJd=0oc2ns87bQNddXGkwaPr>93>nGuDPD$?X%4YOYGc2;{4mIG^4> zgM}3b8rXggfJ0yWPqaqk2;SiG@6AjYlyK3mUKV>e`ALdKe0M2fU1QiSj8oCi4UCI0 zYI@_@+1Ar%CrmI{H)6KFjPu5eN{62Pw#*toP1#8DA-Y?0sgkho(QM_=Dkp?8umzm9 zH*_V!NNEB`@aOF8qRUFaR*FGBr{i!E7z`yh=>wfkvuvp$Wl0lT|?G?AJI_hJ7qOYWW@vLmtAHf=25?0*!lsBYA zV8Yc2D=*@4Q%AhVSUwMYLb4q|aL@Xi4{K9f@c5SfL)f$-MI zsKcP?I~YykyVhFVJx-N3gi|m^$Hq)8>}A(I8F;dZJk87|-?)uGNLrcW+n72r(|uQ| z*m8B#3#*iJ2xS(XC45Md*!+R26L!}_l!}C9{)GSt5P*mRv46Zx{BY>*Yv|K}g7r9z zmwYeS{S_6_l0yzfK`&$7yv>UaW6S|Yz<)!F1DDli zeCpVr=>(;?S#p|Gg+~(IsF>kW1%!N>MGl^juuIVN{LQD0byKo!s5If1$?AiXmjG-9~&oi+x4+y6iH3-{+mR#P$3Ad(9J%{kPbv0r_sARiT0RkV|bz-aW ze9@|mXP3j38kJvpd4~wh{7_@DHQh1r*fS@Va57xjjY$fzT0CZ@+(E;I!M39+V%XaL z=Y9Ka8<3Js=$VMpN_-A0pfEPi(=VzW$j6`MiQh++G0`(;NzH_TzOpMp)068-^wk|x z{v{h5q<%(L9cnUkdHEVp-Yar{28NvIg$%%f6#2$mu=r)_6R=mO8-L>N2c+q6m% zg399kt4?W$pAX`HvN*u8Hc8(Cq^p}XwqvW?Yh^F$z(AbCfMtm)nViwCU@8@l4q)F& zzu=^t2LJH!`w)tWKU`gEcDykFaU2Cy((TIY<;5v z9ihlV{4JC2;5TsL|1~=>2?>RC7n#v-LGs zAlah^hU6Eycj3l-N35D7gQ(JTANyB>i_G?NCEkhV&hPIZ8P@Hm)+z$Y!c$ ztuEz}#UehX0^SItOO;piiPH}TY$|38^!w<|&*tF_G{#o^0*<=0t#g%kmE;9Du%|2% zhI^)Ojtmkt_+tckeFdNnW`jIOx*-LT*SeiJ)!yz4#kRnke5y^aEbgb6PK@M@d)eE) zJF9R$_NiKdmnFZdm^j(96|9M`S$2fyJaAib_w8#Dh2X0XM#sjooRIQiX%97+XWhILvC=i-Jm4)UE=yRLJUC?Gs4QYVx9hi@M zU&$q`R@fA9GxW+$QmozC8$|V)1YdQsuXb+ zGD{EISwFs>SF|+(3(v=PByA!=2_g2v3-907XE$zi*JcbwHZY=V8Y*v^ymb zuXAo+WG>zu6JHEqK$^IJ1I)O^Kq%2iy9IPxIte|vNMj&V!UAHaJX*#4S6#nI?>meP z$@Yl~mI_)UcB~_-LMv5kJ-y%dVIUJ&B=SBMWq!%pn@-oB^f1C;lXr+o>U19C9qgu} zMYccX&K+13KS+;}Bk#I9(Kpfj-7RfGI&{(w<;_%Qe%a*3Pos(DjNlTp_3;zRvhb(4 zKn17;D3}3v&r5{_>N_L-KV`Vdw6Fq)hkK3+7t5L-CUqv|6bzG)of-z}tMK07Fq^e~ z>;M9$p1~a}6V40yqx81mCqD6z-qpBo;jJI=UhcX$&&K4cYCvxlm^RS{{!FXJP}T2; z{?83LegAdGSx=p(QzfuTcZad0nInPW24Kn`_mIwaZY!{+V&#x~r(PbdOm zuHmOK9>|7D*$KJj$95&KD~o{weQ%43qxx0{?W62ey9JYM4tb+tFvok^?u6GA2Gwn8 z(^kEyikc!xSy$F5?3G1FkILNUPpbyO1w(-rKlCJMm&3?5D?d^;U!>x@lMRxSWL%jm zWATu;+OPOjSt%UNzUz5NFIjopJ-f%4>4;x@Y9VJn83DYD2_M<~gWIvCDB1S__L1oq zgyU5-sevgz5s@n1JFx~x*2&96|5XR9wh^!s#$E&%wM=gcll8(eEiF>sWiB|c;mTTX zmb@otFl1NolW`nfa1vgQh3Gp+FZ1xn-^P}GJzRKQc`?5rN?X^|Stc}l@vM=LH}FI> z>Xzl55>n2Oa1}*`_40WhemECs;oeE<($8`^@+v+fQs5eD29zDXb)End^s6|>G0JQR znZ%nN)(f>ByyEqYN}EcogKw1g#cb;+tN-i#liDZ6$RS9UOfl;86+Eczo#c%KF!OpK z&t!TKeqzb%zwt$2-?>yK28)L?3tXu@+)rMPT?4|(H%jG<3-W-e&4-ZWtr>$O9QHQ& z{fypvC~tNJH*YjZ8G=Zn^yC&(xTi_|t?gW=__MhcsIrX}C{~Y^kM;pn)wjToAc|-w z9+wjQH2=_+w)n}6aUv4pO@bgzD3uJK&l7S$f)(5wbgkmgJOotVrsEE?5=7XWNBVeXkEWunuNS;Vn&64ntt4y9U6ki89*O z(4r7ooR`;KdIOw9*%qPG^U(y&g9(arB=VoT%7e%_TjD5{iKR!S+i2rQtCwSX+^ zJC#atJ9h5&=Ry`gA}&xO=hb0Bw&ZUXQ}5fb#W$VD3p4m|?G*uuC#QAhP?!_K%+CMp z`qwA+_t{Tis1`6x_Sj5h?2^P$dz~kc*P>WfQpX>~AMFemFhh^+ie*0QS=t3Ilwk`Z zH{1=QU_H8re=c;<95H-u8?g57|8rzQ#VTn}U;~5Gk$WQH|9SAe`KlFTKK2>=MDy`w z<(~POks;O}W*v$gpUQ5oHh?i?0vvi8yh-v!Q{HKP#7@WGBu=;XF_G z^~5O5@zCO1nDfUC4DQ~;C7#p3t@M3>pl8G&m|;LzTF+sVybeSF)+$1#DR)w)YqzmC z32e&TCLm3Pt1cP}uGtwCUU9J|pv1bFk*)C#d+G)AeUN%ifk2yHF@PNR8DUBlj!x&Q5DZxXv z1h_R8#jMe|S;+cm=GK*cX%K8q{dNeCLyp6P^U{L{!|+ARGzqcn!aN}EMx87JGYUd{y&Ei4Vgfvc%&&at-Bo%}GZbD?E-jw`AjtU&Gpw`;I&B!$GJP`yy zIGmCC4@niI`!fBv&s}-;kkMGLi&%pL8}R=+KNnLw_ZGS;KpiXm zx%rF~5VJ48_ijWE=20z07aqAA0x`$bneI;{M?0PB!NvNvNXkq1n(Dh0_4RN%C`^~7 zRUdWRFGb55B`|JK2J=v5Y3?!ENHvoP<+HF`@38bwnv}S`^N2hqgNq=EnH}3Od=#q# z-_%6?6=m(kurB9yFQFIPY0oxod09Ic3};s9?imt}4F`JnK{Ngg`6r_b6L6ajj^PSo zB%?MsrocucrXe8Iur9_ISQ{miB6dvQyuXKJ9oEeSwTkywh{4GGQ+kXQbrcqF&Qqq< zQhn;BI+C0phZtPT2}iJS;juXlEZmRGJ^3;%QRVd_aDIebreRAqSYj>aI(H`A55ns?vj;qhpwY0tH=k+c+v z{^Ka%yKH*vz^cXM{^939QGRKq?MHtfl2o)e0Yy)Rfz6eKUt-&X<+9D83%+#ZZC>4c z{p7AW7ZB)uLs3Fz17fV8a&2ftlhwAI`{PTwb?c$$M2l_=!KIO-o#TWF1dp?j6wEh* z-YP6Z8I=OqqL2}ThiIF+f)OJWePShtZHi^8P_=F)bDYnoss$9uNQYc56i3nE;O$dS zeq(t^I*` zPmv|7_ACunk7Li}O$E$9zzexhW3U*f5h#=Y5xtu*vj8u2Nd&ZSiV${Y(ov}3xf_7N zkcq#(na~Y}DdVfEs>N6*oYhb&-RTbnb1;qcAC-i7n^J};_#BD+wQ38Hu2 zbRmAGO}oIkqyTT)=-uxZTB3;^;2yz#qA2(K4e{kVRRH-siR=Q%gPIt3ZT2I3dLEoX*@F7LSQsW1V$`vT5%f-Zs2Nm)E%T>;zFH{h}X>^TC!Gj zUpWtc;sA%P;NR+#0F`N}Qk}3sjej!B*(Eh5f~sFVs;Op*)V=d!g43 zK=dveQP)89W?F}=kcq@cdN9Mx7qyH7*9ElJnseoN((6arbAr!%TOZN21FQ2a^IQMFnG4^#=J(?Uswkj#oZ zGAJ!C@ERjy!IBBAj75{QJC2BPj_)6gCXBwNjaMfC>;>qO=Znl$I2^{VdnPG6{lQqB zLjUWylM9T%hS(xgiQ6r*0A9+s*#5&80W;6`0i1#Q#+uYry$?LSrrK@KqDg>gFm#cD z@A9u6n19xQt{5maO=ZK9s45#oP|$%WlL= z8S%|w8*hi>4aP^Z@nG0FSwL<|P3`r(9hyG9ytc`nVIx16L{4+hkmp{z`Py5tG^p_K zm7+|i-Od7xH;&6Isu@P4ewfTeGGXOVIjFnZQC}Y3>CLfUC9EtfdiIKbG-h5FkcZVeYyLA(o{{rr9=(6Q>(vL(r~vE2yL# zeSy#EYk>0(mWEZeYupKme71V)=T8x!=d4n2o4m^yc9_lKrA%O2{RU4n;k|9j6t9qE zGK!QUL;f0UEK9_uEDfjrefSQUXL74|V`(njWDhZ*CV@<7F0@H@v7pYwM5GRaktWOc z-KbN`ow~d0bmsFjoo3jmcqk2{wi(dXHMs;v9&bR7_*}aY!B<-rEs>#k{p%Sa`~#S& zWOu-x93xLv&|A0ehBDdS$>xrIMX7_3?1x|#S!o1D&DL0o-NqEsG-i&qGq#*4!yEWV zP%y#eccCWY;O!DmZ(0Uo$}BT`NWN#yex$=3?MDxXu^x03i&^JbZswU1|IlN~LI<>h?dkxE=Bvc_YkaHQCp(aIAf;+DmC2+AL^oQ6mtH zyNK%>>)YS7G{(g0P42XE%Jm{4NK)o#qeT$17%K%oik|J7^kKQNEPtDDmH>OfF7AJA zdQc)%hYd9yU$spU*Be%^ybChSoES`ud~~EfT-ghMYpb5$EQN4W}v}@7FSBN6tXT*DaHndTC(n8qdVr7!16zUHY zX3O8%Omp(CO*!kBzQ7UEB?E-J;I5BUGvU$u2Jw3@9E3@+p# zc*=7|8zttT;H+&elMPH;AHe53{dU=zzN9DI^#-^C0!BUCA=N!AGhe6yJ++wW>T1n|WtTAt5ToHk`+eQZamtw0+Y07 za1ArZ-5QLgd0+c+)F?n6$MjCbkNWN;>{bHrFJ`urzi9q8hHoK zK}h%#9bX!o}K(b?uM}qVZYU0G@qTH%B=QXrh7hy zls2e(c-oy)y0wnC+W85?8%WkOAp2SbA*Qb|&h&P*X7KdS0Q#uHuN_81QLBlVnK+}@ zo-;%PNg=%PV)!rPR#mWt`G_nY2xl~o1(wa~H^%LDL27;6tfe*yJ#^tFce8%ta{XpE zpn()lCi?ezs`N$PJH4MGK74jZ0Uqt*tLK7w`5|`rGxkMt-0m4Vzc*oC6`STx=}tk; z6Rn^cWeyx9)#HBXK$3+Ex1^t)}d#(Ek3Ns zs+bq8zUE?##YWx_n1%el*T`vkllG_VHG6|6c~v6}40+(#GpPn$^?wJO4t#=u<|ezC zcb8L7wVWMv2vb?_Q>;o!^rOrV+J2yiT-*`J0A&5oyg0#f+T|0|fRlT+5EPH`mU^xZ>^5pReQIQEdY|30HsmV0}$ptkUeP6P~fCOV8 zeV^+bP#P-6xW~gJjvrb)7@0rtRnndM7_t4PVt>Mri?O+p!EQPCGWY1KhUW{BElN`L zpv4OBtukGd_9d6r)Ki;@x)24%b}9oz73=GxkpqOoI@dmoxVJ>JxNIeQu1nGq%ar39 z73+Mc=D}OgW^28_2M-C$&T#CBb(4MVLPb?N%irnnK#S zj1-0K>~{7xiP7E+)FN8Wr08(vxx_np1FoK1MA5%~)C(F6EI;xwRfOR&yTGYyKTHZ> zP28PC?-eY0t@^#pN=Sb;qE*fnA6o^dJY@)@bBI$Uhx#t($KkA9o+$~sGUKggtFH&Q zaov*k{o$J&u~=7GU7MspPi4rHD1{40ls8iJ_CB@@XTblm*q7)Cb$sP6?{lBX4EX(16^90K+un8?&4 zMDg#0UJZzr6U}W}yd!0cmpl>t{jAYIXtulPWWlgmgtc-WF!cBA=s2dP)SAMXhPOsx ziL3QcN0knAdA*&+()nbF-XQ@lBZb*Qds!}b7e!OW!?soXxtvi)B0ev$bJBAcFpRRA?;&?~5Yo&!+)%cX!b}BT1c+hYMj~d>z=Lc0 zQcI9V&FPnC@-3(2C6|fKLu-g4|4G=07G*0lMe_oAn@3Os??JviVQAL#8;||d%C^vuf3brnhX>e53D6Zs%Iec`_Tkj zDY5q?NU)?4k%APFUcEDt@#8FV8!nGk9eSKYqAD3lmSd)y`fS3Cfut4Q91C-VJX7u12wb#jU_Sx1!&8_+u ztfH|f9&EZ_9w6;AcxnbKMi2QJm)RL%Uke6e^fC0pSI~R3MsKBMzu`x0%8fMt@w`Dk zcsQCE2XWe|GhKT2>IyE0nRi-;(J3uWF^9@C*N4VF+z$Gi;4x|;HuIe|4mH6|cc092NpG22uioo7D0oS=`W^pn#ofe#erMkTUdv;QV71N zuUnF*8BM7D`lNQ$22xmpS)@4*Jg{E2YMV*kKfH2Od7JUlfI4oRTWhGFfkJHvbvNXr z=svqpHfF(J2Qsnz6zg^NG}w9u$;_zzFX`rVBx>qdXN?b){c@e%2aG@g;e^W}GUBEE zOA)y&bWZ8wUyC($4)m4mcLf~Q^K(5>R2A@Mn;X4n%~hSpV~wwPZs=q2mB7=hG}$?E zZMWpUVX_2-X+Gz0X)YZR%U@nQvY&^LRM+2fY)}!w@w{P$(3d&~a9+QH9Uw!eGJ<(8 z#R`AaWVLR@%M~Xn4p*Kmb!?4Y{q>&6M*{d1wLaBGYsSM?-iHqXv}TsI1IEU0z+%oq z$xnV@Ona^woH}NA3#>RckpxTbAWh2?Mrt(@zhjFif#7iVt|1Z@Ys*Sej4kGtc%CX8(>}BUcOOt}hrXaRvdgIXv#L-2A{FGY3(+R1l@yxu0f&cAYW%0a3Ex{rc5i0Sq7z_wx6kD^7*eCH8af?? zr22C)CEd<=Xs5tWZ0^W?W)UjM&%E7QX)he9jzJo6IrmYLy%F1=*e=?FJWDmCC+y@!=C=(}L2B?Jr7N|0XnzEAN0CO845>qadq{nGaSq)#x`{v$7zDJD0r*9wdvuss5I!7|k7sY#jpb#}5j9oKzyj1hPCM01!8f2OKHfK~5?8<$#kPiT z|BbUg+B7KWYh&tCECIgwH{D^3BP}W0LV=GzQdADu1!@B}v>xOCz>^;T&EtdL9fD8~ z{?b1?v!4GAo8id*rD?T4l+4I=Ei}~BkN~X!pzO*^3kibj5Y!ugXgSJvot0(x4ZG)= zNtT=#g4a1wR6(-nVt?2OVb{KNx9{c9@FM7>5uiT!1czGDdStv0g2qraTQR%rYv;E; z>^+9ZzZdX2UH<_of@_yKL^`Epss)^%?4j7fFrWX{=<$}K5%7Ia6UN{gTn^IG-rJ4QMaHT51+*~r0CL>sGMF> zkbM;2av+x;(@ig2b;jn7+Hav)Wf{-^CTPZ$IP?sob{Zdh3B!Zn1lFkz4moBCgOK6> zUdXdk_Y0*_0;l%gy_N=Qv1&XUfQwXOhtQ-1_xv|bZ1>;qJqrm~k;`d`%jkzg&R&^B z2dPB$``HTgl~edF$goev_OMCM%=fJoyxDcI;i2Ew<)eXq!J8yRmrrI^drh{U}&twI^m6J;Lq@U0>nz63Qo{ng=zrV-M@e|pm`odv6 zntOQ?oC<2}o0l)_d6qQ~otCv=1e*svQqSvfxcU$X0Bil6qjQtm+%7*cgjR2-`D6`@ ziTDD1!btelTMH)Ptr+y^-g9Xq(UTSfBrUICnALoWn}_cRq*0S7l#8FsL>LKu~9F8SizWv zd5o~$gF^Eb!zd9%mY{zBoug{CvkMM8Ns`?km2>`2%Lik=5@DE0MKy8slHy%61-ys=`pMyw6%txf~;VVlwjSVwm z(AG8upp3E}4)|V|HPjSNlq1%T5xxInJtYd-Ikria$U~Y+2VIk zaU8*<#Ri=|pyYWrQK|xq@(%;TvxXC4KPdaA=z{+H!>jY<1M+<$HcdKF!^iGnCwAYz zebM*uRUlGCZk5B^NT-k65-{Er%pJdD%b&_RFHXMCoo%JU$klv~^~JQy{gmF1 zKUB(R}hHlGaLcYT|&?a#g5kFB)en$vL&g)6Ubv0}`Xz8*k<7 z$n&4XZV8L(97#hm=8aR-#V|;Xj$Cx*EV4%sZ+3-D0_O%eg>{#CaON! zoOc4qxk-iUg)_xKc^wA57;W%_s0%(r2yn7f-lj`Uo*G$bwr08Qpih5ib@r2cBS%9U zaROS7V3g-C9t6CMJ@;_+5U*ADWOcju)YQ`FJn6HEdeYY$EIM6vsI~WsAzLM&Xr8iE zXZMPJgEO@*tDjeMTCmZDL)Yw~RS>ilkzPb}k~XqVCm{92r*bKZ=6Lo_GYD+$SFoAz zU_nlrw#-tv5&k@K_sAhSg3&Kk@R%|$2Y=sgO2_{BW(ABv(6n0_;7R3B*a(ukFgbiH zkfN&mL2=;In)c+G*P2uPpFe?=KSieZ!do{;JdMScPR3oWZ!)t~<3O^h%C9=9=b@|v z2^$@txDgU(m+MT9g(~AoKB(-idyuX!i84%-w7D*}Dzw!buB#s6KHh&t;{DjN`6%gZO=4srpq_Q@M$6Pu9+aTtT<$(qKr_x()@>o7-Q% zrG;k9;8WX^W$T|Yz%aNM|IBI-^M~CKTveZ|>jNWYaDFJ2Hei&DHG?k05rg=60sHQ> z*^N+AhPo{VH==yyt49E%#j0Ynryh%-(qWo~6pOB7tCiH5F9nB$4|F){PM5M%;dG;>G)_M0vfe-KI;jVhcu*8r}6FyBU!%fp(=0JVsTy4eE<*b zwZE<+-JZy@6ka8lwgUrl;Dx&XAXo4ue$mCY>nKrfjkN+3;Z)ZxB!Dc+;rgpz%Ab*& zMIjoj`g)Vnq-Gx+sSKVm6YL}N$4nWJ7NLqd6eX<)p0x>$tw6pChEV654c0eIL%+rd zuv2V+>sAw8L2|X&-guRxoxiw?vyWajj%6Yu%lKL%&TyN6ftrGf0RViJ(jK^zpE87l z>O5bfJ~VtbWmsolW%xK3#XcR-pkb!2AtO;zMs%2%C8_L@rA!FxKg%7-ox7<(!nAl* zL&X%_uMA;3D%M_Wgg6^FFHr|!f#a|Ww;NZ|1*a`rxmLB9kD#%pt@u9W`|RDPEHH)5 z1u>L!1yc@PC8;4*O;unjfb;U9FQa31ct_2!#mF_GE!1l2SoD`IBx~z{a4myI;&D48 z&HYSu&&Xz*AoP+;opTz@uhHq=xQe1*r>+Um@y6=4 zUpEw`dXI2mwIF0c+*D$mNv@uLeuH`>IVpapBn1hKz^-)iRd0G12`0*g_@2iGo%ZdI6Mfu@9|Hg;_q-0~Mm!J>M=@eCxPn9p zA$&;6`fYFTX69m-&I&FKzrr#5RT>_u&+V~8?5$*t} zj@K}C-Q%^?JO%5;LyXlvv1OZM78Sj{Nv*?>c|x{9j{TV)u6}U670(hLx2qZ(Ppv5q zT~r56=R;B9-iydKVlkz2&8FR*Qg$JBbDOK&VkcP;#1t*0qEKesbRS8Z+ zjlZzbb!C|Az9@E4MuvYl;(I`A{5hscFkTKNHUNg%HC*RL7R+7PTk{M$Cnjvt&dQ5I zXH&Hu&o1JN2A&$1*gXNo33-ak5%d=Z)g6YItXEgNT9Y0PAKry}<4qN`5dGe@>zp={ z4#DnSIj5+@?xwivifnL8`1i80HJQ>3w13G>h zS%Y&#-mnQ)q!5GdLGf*I^w#D%puw&#(U=hry0R3k zH{>o7Kabr>PTM~i4>&3IXYy_qO{R@-mX1F0bao&N7#Y0VkFGPP2`&*Hx2|ebb!M5z zu>s-nDnoh3-YwpbRqNG1byrg#EjfXT72!IUYp17?nTbmOyKh0yok|V;{bimK-%XTA zp2B-(XoWo4k{Z0?-rrp2;D5f*7kCX*7^Xh7Jap^T(49`3F)9(fESPmP()F`OrFf z&2ioJR66|9HS~mkcr%V$#RE%oMmVN*`9kmTxlvH}1atqwha7a=p{y8y{!1;VAn{f# zb3O$*^%(WS%$+vg)OmN zUYSaYS*7#rJEb6%sp_#8OH)=n-~_*<+|!R%~(Scwrr+ce*Ez|Dk9=49Mg? z_7e)35CL`bMjfUhHS>GBWwQ{DA^!?>>emkh7y^MMsk5Yt{i6luv^|?&=P9`RQZk26EQis}Lm~ix?-GU@}QPDc^f_(ww5JA@D z6x8}Gjgk~3E6^@jUll9y8-mLl6dFj{^?^@t$Kw)#ga4o9U7X~U$i7=LG6fODh)qSz zQP7|pQ;r{;xNT2FI#$ZoKmIhiirQEeB3yr=@N|@I0Y!ugihavrP16?{Kt~)9Ih~IC z?kv?QCjZJSEMmbjKF|3D8VBh-Ub)naLzERCro8*#-l_zq=C&R{N#SVpCoqMa+N<9x zG94nC7t6QysgCW;O_R4xc6;0n7ztiLIkEiR!hN*ArYUA#ky@WlUd6v2L*Ccj*y6S5l@l7!Ons6Rg1Q!B! zLpGIUOZmt;OCY~!%79jUuTxHRb;jUI2POsfD%tG#&e)Y&bkS^j`nl%h!zH6VZB#w3 zI_a7nX;&XJ8ZMpw^O5K^JqD~l2{6ej9QW_w2DMF{3e<@O|Nd)x_28 z)-T($q0WzQnF9S!@q&0hrk~>6%EkvZ-1f=PzJj=KE%HVzy7MgJ&9{Jk#DP3q%o#ZDo%)wq+pj11S-t;)L{k-qx6#x#V zjk`_RBYhXG7p9k@N^+QvRkrU{)Z2JoKx1<$0|d7rNsjf+J7?e zENODymFoxjQVA)j*Uw7 zB7LM|`7@2*T#19x(`>a_%B`p}g7ex7HOLU33J9gM9~LV*TlP9+Tz|e1IzX2>Ky@sy zmKzfHY+{tcKA396=N&`$Jx^sQZvOAM6-x))Hf5Hh%{QrD_{9w6)a&odVthHgg=UC+9Xn!o(*W}0PDkuZp~nI z!)uz3sdYHQRMk%;`GDL9bjNBHG)ruO20|r|>gAzWqz6V6`WsaF``4Cwe!N{r3Ry85 zg=%E@ZSEDig`NYzKeX2|qMy+O4w@4V5$*3r_yv%tF@oKc~dWF0JndnQ=a6fsY*cQIo)W(smd-_&#<{` zf+XlW5DvP;qcKK{8Ny(qW{LW%g#X3(ua&GKzHTiEZKSo^wwoM{PwrFNVvs@a@0YvK zLXdmC_6&o7@P`k^rpRuZ(P2oc0WTn-+Mv_b`&#mJ77?)7Ap086)&OnA8)rZOP-zpJ z>V+iSusV^fVeg&>?JFN3o_TE-f((V;!f`S;UqO=)Sx;=~2K!nee@(?8Rghp&tXH$&@*ip?CYQ2mGKPsIjG~MLj%y1AMlplfYe?+>bbShE&V>iU2HZd`kihC<1g*v zmyvFg=ygS1Dp0EloN*C9As^`MdrT%*#PwA{k{fjN^rcB?d#reUTg0EDa2@$o^YySq zRj@hPF!}DzYw!`_1&sq;(uCVl9n8Arj)MdX;EtY#&ZC_l+HS*FAVI_Q!r5dKxqzhBe}S`QlF44q{!ttEW%&xL2Zyb(ahk|BN)nTrzWu*?(T z*h!_aI8?~kh*f|m%O$)mGk{j~{Yx5_ywTidWp8jO^q+Tnm|5_c>As8SZD`E$jL!D5 z{XCUQJgxXP+65xnCe+bEqJhUh@xZgFVpG=+HiO6@$-h$C;7^KKP#ZuNYj%}3Nc<8e{W;b8JQ-lbMbO*Gm+Sy!kUTs)^8TFxA z%0tBH3s6TSBxT~VHSc(RcGqoh(!~jTKTW5ar*&~zq+ZXB{U`)&bkU`Jxg1e=5*_C` zIW{)*3pEf``7O_a=c-^ibb+%8h-g0Kz(}VCprzNp9|D+|dNvLWr*@FSw_*SxO1mXN2 z4m;$1C0<$sz}<P3giDl}`)pD)P^@u+VDVh$XPq z+|UuM(Pz1Adw0*qYpjh~8Es6xyiY?E=9o zUp7yX?|PL>Gywn6et&EqdahJ$=OW4yG>I`iNkpA$Xo z?5VU#A4=TKY0d?&iuv^x8=ax=;3IF=al1v+{mn+rpLjFMK;X`JDUO>cXbP@IvT2;E z)p&3uJyW{d`?Pz&LN0n-I5lvZhqTXIaDg%l(>;uV;7>qo95#O6PGCQrWFdP;{x9V} zYQJ5-*;Gp-d>h2s!x1%s=5!NSx3a+&zhfAdYMvekh3AlT@rGTE`Ae(hZ|Q~83r^QW z)5Xf4?n;bpKDqM>!^U$FAoLdVK@ypFq*vtXjuoH<+->gLSD4Xp7Q`4NQYN!l z4Jx5(KTq6-m;zd{(!KenYlhEsivNr)x;jBc?;fck3>48Jp)A-=H zq{U(po9S8k$qxPZV$zVw6Fw-(RLJ{3vL z1{Ki8EBEQ=V-zl>>^U1jgr@&5e*=6lg*<24k$-dmrqD1IE3;3GMAwQE0+Hz~Q&)+@wneOBA9mLI!lWcY24vO`E3TmB9}vUy_#yBn5k zqNZ^0^~$z6ZjLeyY-n)P$X|)i2HJqh{bREbh)sZS7Jndnha$d_QejSr(G8ow!lRem z=vrdvhMPn8PFM*4nAqHw5vamh1Z7L9PM>EW^4|gwA>7ChL zQ`bx&#=)2T&IvzA#J1D;v}0NouO-*)ARfR^(v=J!66czfbkpDLw|DGv+iiWWq*DVs zod^EX$Z9SM=VmYkTy79UT5Ft)o8|5G#?w-+$=M2+G%ba=8WRnX5^#ln;H*NZVL%z#K6#Xdr1aO;KIkw_|L*x|a_pW3fSn9k zx~!1Vxp^K~r0icFYET^~RKAa=&p9NHEGwf<3*B>b!EqMGRG>r@f}%I^Q;SX;3U+~> zJNfw}Lcpdx9%s)qOL!QRxv9<4?7M+TIIFUG8G|@2JmB)T{#5V!h=BX2d>PNhmfTH8 zazX)iad$8ZRnnpz_Y6&#m_}2^swz6TH|cDfjq_T=9r@{*D8I;qt(YYiY*V$#YH*I2 z+=%v-blgDvN=y>h3`r(jcNiap>`~@Qul=;cran0hjx&ElGanwc=Tl%SgZnwv6rN$) z0_R5H_U_Hmtek~?0AfVvoVjDS^|ef;NUON#-Cp(5bH<+9@A`~%e^$}#yoU&D8#qS7 z^LXLTmqcmHW?~-WC1qX{WPNES-Z5E|)L0ID-}r|TKet%WUaqlC!=T=T_h`eQk(z}d zq0pOXJci7-hz+o1O&>iT!5li1Rj3N*;5h2&uEc$qKJhoLdz8FqhSLx(?lvmU2aa>B z{CCC8a5TvcM}j97w&C6qJ$Wu?UZOVIhVkI8Y^v7xdfv~mTrPcu!-wK`2lM-7E?mJir231V+jH1piv65*%#Le`gT`~LeqUY!dCOF zJvxp5KaeRONt8YMmz6-IR!YDBrPoYiwAzYvWC`W4Cp26pQG2Pq$%4{cKmlY$Tr48j z_$fB+3f1TqEWokJTVvUE?V`RfRU~f5kY^%h(D7xX@-sXx%=~RWMnfuLH%Qw$MZ=6M zXVqneV9e)-{65~x)_y0iP9te(^YR%BfD2p~L$8|RrfrLfd>$WO$45q2w~Q$z-bY2%^ZS2aN7NIp}YhNe$sLIv?pjnt%_;V=sUlZ3$sL z4Ru#y6rL#R{)w1=76$DJIho+%z{%CdicnVAp!`OIjvG%$V1kiRCrX-nhb&L6{^rVZ z0KIWR8L9@%jo&z^>b_%4O9xu*$j-quS=QFQ1H7u9wCtu8go@t6k>0A{HW6vx@37C6 zG^-=-MXwP(Mt2K{-!h@}23>(%!6S(_q+t#9v(CfXv5)8-DN?U_A)y^~c?Ieq_x{q1 zA=j`)h#ii}nFwsx+AVbibrqPGil(7Y*9+E}`&jm=qepP$5rtpYhFu?sZCXo0yrj5& z`o0=7EbD0y#mN)sIlq-dtBTYLmT~pQBTjJ7`;2~Drm83+eH+JvJYFQdvO%E#R2b4U zh`DL({yUbVC(?<_r+wb4dX$;5sc7!o>7E^E!;WbK@CXWrB=2~XKSltwgqNFoP?H)0 zRVx(F20V?25zVwfKkSie=WyS`Q*}z>LWL!&QdKfD9ToWZA}Fc#EqI1eKDij z-c9}fVuqkAd0n+S6)NpS>Bhfm!8LI692WpISiH8j0?~uBQgPx)xJCv?T50|_ZElg+ z3A?3U0T&HqohGz}A{`2$R)LLjZPG?jZ14W3G*nE;SFD{ep3_;r<$?ljNE~v3@&D~k zf>^u|uNyEi09OF2rZ$0S-rXFG_o`J=ImTIWlY%C%Tf&QU(mOiCE#JEkEB#BuvX z3Y(9GSgmp5MMfhO?Ft+uG6+3JEtGmbeG2iu$<;va-VuD5?S#7j=en}pjn%3-ap{wz zA8kLDCx<-~|7nGR$~s7L4`7=6rHPA%D{sKVC%jAxoULOM2NNPdD6B{xi#4@(l)CJc z5-}JT+7_^%Cx|lFh+L%FD!Ng`8{c99_!B49QsW!hnObRbJc+Xf%W_;CxpRgA3b_>kT5(CHViV?}?sRX|>(Frse zwETii)J3a>vx*v{gL`2ja-jQC8|YZwP+zeBTFxO;wT&Hfs6^w`xR)?K)i(ZZ5siIN z=XH2kFS2dwMBzhozU`~GGD;#=9y^U^yTT*BdZ^1y~DlcV6StxiYvED$m}fO zda{iihueGD764#aZ^YLVOQb?MeW$}Gmyx)LVEx*?yT;Es4bp2y0dyL25X6|hdUTAT zj`qD}=aEc!nt=$)<&}IPd05FQw@A-@%)8!Sd>jc$QQ+_dbSQ7^M9n6`T08g-CF;+n zGOmcl>joWq1jTBB_cYYBQ02$cdvaXz9IIil75N;otxGN-Ii2?GtxX&L9Zd1292@2z z)oZ=Xd9(mWK)An_F>9m`|h)oJ-9m z#u6BZSY+TsQTEOjRSo!=Q^9S{$v_iVAysDB7g3E9O#uf^yhYorkqfqjIJ-129+K!P z(oahC;-M>vjwm^>vVg&{bOEKEhuo7EW~*>(fpi7u$*Y@wLEM0x@7;k#f<`G(sSSw? z9XN1ndzUb6$K4;^EKN7=yG%~+t5NHo1?N{~iqT>X^u8csb* zQePt5rNIKhnqE)*x?4r#&e57nTbMR$llQkVQGzHb~n=VXSH9aJ8aIr210=$Uju)dB>$Jh=T8GN?L3zeZoT zv0Wi!uN5A)n)oN7)LFi&+7{>s3?5WnlC~J8Sq8eQCSWEPGj}poQg!u}{Gd~>$*`tf_evx&-dE^;IxjPahz*`Ao^Ig@NnoH>^bpxnNH1Bb zchr7Rc-Cbjdy&h9(U^%$lN?d_kEITC@uP+zu$=<3CYBgbTDQ&u*`_yR2h*lMP{I`KriDu*ytcu>qk!`%B@S@-Xz9ory7J##|4fec_Di`vm}5woFtc zFOfIIz>Wy_N{%U(%8Uk!MDYc7j0X z$uR4R%&Lcym2^Yt)C2x`jd0W>nNh&d@|@a?RD|dHBD^n9f}wKt->JR8a4z>Zu?{gR|1QUXH_O$2ZN;lPr zm;cD+TRnn+V_uOf;*ajKRmW@UQ6>@ROk!7N%399a0r7ejXQHMN^1S`T35J}+K=a+& zWlCV_QlI3P)hd3Ikmu-|@fU6~2qkWW+`zjFdH^^-))pSIKVSpT)$u}f-~jm6tK;Bi z(FayXM?l867Jq<(J%~xC*s(Qq;smqT2gY$tRqB(J?hP; zIDD@72f)x?k^yu*Tzar=vu)#FDx6-vMo{T?deynr@*uj7=Q6BRQlq(XkIE76Sf-f& zJ~v)4XSP0q0HNjo(lQt25qn2h4*WPJDC^eW#qK#f%&6o==Tz!&#HGd%BwSoiJqD)!2?)1P8N`R^Fyz2w0mhYA?0cr&!6D zltJzes!SettD4=-z9GDL{au!W^#rxEBQvV zZ*rmdYzH+RJsz+3y9 znM~sS7S9V&UH`(Ob<1}uv=5diD_n`3E2QnPb?FS#Cd^_QlT)buQsBT)mYc>S^E1Z3 z72hYKNPVswNQlQOJqLXl`FMCpeSm+K8R;u*k8N%<*kM?9LyA()OqaNbQP5ZacM(zv zVHs-sH-Pgm)N0qGbh--s7wo4c14wp!$eV{qU)M5q!E4S~z^s1i7Ho-*w00rL?GJS< zvfwb9q&gi!E-Ze-K&VgXd_X4o9OP6KJ;19NMD}_=&0b(8zv`vdra>blj%I5i^n}|U z0s#R8xa~IBj2&K-=X^6;6x>z7cU%Y3-<;TiCHfC4ugm>!>J{jWXNY9`c!)xy`&CAW z&zW{7K|W13)>~Wpw;Ucs#(?$#XMGB{W**i*X3u!c+@fn{cmLaObb$f0Xhw||+t5vo zDmtqj&{dQr?5yL>#bkx`cCxJ#B^eZVWj`>AU2=U=dyn(x$+q5A`*8ZPSGHUI06GWQ z5A_H7041Qjr#de84Rm#xU5StOYAUW=U?34NLP&=K7;?P<(|hE6kvKv<_C%FyV;alllpJ?8GJ_ms zxF$$1ROrsg`;@2vKusAoo1?k30VZL0#iv*3STD~`(w!jmhcp9PZRWXx-MQ%GG->0( z*LNeNoh&!fJLEbJ$CTVrZ%;=A9(Gqu7^7Ga3eDQwnmPq|_4AxI;*G{JP~OAFpKVJ# zcBNBBmt0P&THS~ibUdrKp$h0*gTiIJeE!aGk#L3v6JPmPJ5Uuw;uMji=@+|9#`llF zX35^yO=tfeV{bQ8uaHJ{y@y_;V7yVM7tYU1e|sa+N|m{ z-nKx(-tnL-=oaDGRgOb>$6n;i*HZVEoqTwaFRUr?D^q`oEaEm=$hQa6^SGaMbq17? zDBFJ((3MZoLr~>vDbP{=;eDt?kLfXq;{N0b#vFg;k}U^LXFCQB7DEp0xtOVNM#^e1 zYjaBH$Cuhq^84`YlZ_WX%ViIwg+kvJ1U4lW;%ddvySmA+!_URf87l*GRv>i=!{wLc zmfA}ev}*|xp-s1-86@N$x+XY4Lt?{^VCD(jX#kH5$y0K|f$3+4MQXE>`>v)1M!UD1 zHcKp~djj_nb@P;i51kNSoX2}~3dW3Ec8b`_XrAy`Yo^73tbP*qQPflC^~Mfcp>#{c zxUz{-r9E%iPmGvYep zcf~Y0?9pJPuLn4}q;~rFu~RCykwnVFuuPHIA||vyl!Ov4)dvYstNxi#qxSF|6)_APkM{tw>{ko8{lAqKR#!ik<6h~p>BP?B`X- zMR#B+IZ>&}C@XKGAatM%-TB5#=a47M!2imvSi4&^q9+f&jH6!0R?8n`d`-e9#)kQ*gv7j5}tTb-!U?FDfu(j@7>GieV^Y(s9h$@z=_BK(l$e{ z5Ut_-ehO;*_6-q@+$E%Km>WagzN$1BtFFY&{I@xTB(dIvm{}@3Y4Mha4H-vyv`3Pg z6mVG)rP;Yv?q(Hx4cDE1WM0k7_js+8GQiZE7pz$Wt|G#GueuRC66kokgyN>AprOtr zKLwJ5krZMxO3r)9>7F??G~2O$(HiLN?|45)4Lv>f;4jxf{9>!GfVd#$gM$^5$!iIc zY;TE=R}-Q^tNh%@`r=+22jE7P-p>kU2QIL&NwPyjTp0ax%u zX~pmy7BEY?QJUfVgP)>WE_EHZDAb-C^%+R(PUU76TeldV?cZ!+3wz=|zSS-fP2R^u z8H4isgbn84h3tjac<#3yFn$AQZcRJ@&Anw?YMSDcIyUDsY<18GVLDrxOB1gzT=*x~ zBX~0%_wB~|w75A0P^!6^b>Ot(1hFo1CP{olm2#L#Ex4&hrmFgydS=fAAzpBl*EKnv8-XhPd?pEPfC39v zJLQ1)8PT5cX<~Z@349{(nf0z*GlhGWyzcL4Ly}t+=DL@}^)zkGaI?;A)797=`FoA0 zdBy4~VtTf4eF0@%XFtUkPvppO2~DGhPzn6e2T2p>R-*ji71RBIoT5+St(kP#1I_?Q5xkE_TkI9mq-;}1UR4CXyckRoHS&i{s#|7rMhB;$xJWR^9?C0 zhMr2tBpOFUHL9W05k(oezDATIP1M|h0NujAEyyaw4}U$%AVshJg|Iyz^4dv7fIe-z zLR_sGik+7A5f%O0J+V@7V2~?l8x4sOEJZY|gE$?hv;{bLTLn0zKC&f8cM>E+?YjX< zZut!IyP`7m5XTv0ea)%gx%;43Nut^S8l)<&i1#kSxmW)9UIA-M9-RGls7Jy zT~&fOCJ^$i% z$9@;1Z;iM%_5Ua%Q5|!?jupB|qOOc}h=G#=O#irAZN=?1R$$>Xc@30)Nz-Xs%WZ}O z0nkru@6D4)SC6A0TcN}HkmvLJYmQHPF6!5AhRQm;PwQi*_friBr5*+%KX^v<=HGxM z9%Kqy+Qy61Wr^M{(L4$J&sDUnv`uA+?ycb_n!h|j)RZzeWH%ov{)2#IS8{m(LBot7 z(**S;L++r%UXEI0|CpF(%Im6dRz1dDNA>BR08O+1W_g&-3Na>L8Eg3YsEjH&gj7SG z8T=5_P%3m$u-Uo=!U%@LlKu7AKvP{pv)`vt_bR;u;?1 z&3zs+may34ri?m{m`Pw#ux#Xwrz!_I*qRBExR$Du9QhX}6E4bsYjMaABZo4TUT+Ym zB4sWn3&hFMl)$$_hW@&_A;3cwokMdNUH!gX-le+X|B4<`Ui@RDtmJ1=iW6!$F&T z$D)fbFZ=+!D5__CFY9Ira%p&47Pa>ipt~=MS9SY4AeJjyBTpO?zDBQaC++jUBO@1n z(Q`zbMq-~cc!(ZCG8UvIdRV9rlWbd~Bte0|+qmml^{E&uoU-k9S2Io~;!%9a&0Hj} z6k;AwTLH5c&Vo1!V8t=J1RlZul)GVRpriNijaz~{CUf7hI5)$-A4*`Ed~~g7nbbR) zG|5!a2C2s!Z%{L=j}BIBl2f~LL^(btzWgX;G;}x|)hHOj{}M|+;Y-jwd}fF(`Pr(& z&me&$_}neUGL<+gE{R&0pkKH<8?va5~^Y_L!JA5EMvZbF4;N3qV> z$QPSsR8CnYWjx=jQ$xO-7c+4K|%z z65hWjNb9=e)dn*1N89x)QUN9%AT(_+n)r`DQ+Bu)Sfr0P48vDZHn~qN#l;tO+>BA? ztoI`CWO{_Z=7Y4}iTdD@SVai+)C62AI+6T zorN_>nlcTXR&Kj}Ee#J!PKuJ>UXBCCRMA?GA(lePk}W^-Vl*LY8-Al_^j zV+!4Cyi`r@46?~oFTg6Fs@T#zuq7LNAExjo&I#c33SR1=twB;O&0 zS)zzF>?3|yESaF!f%5Ik2Nae#RSJ^^A--F_>kTpqe}R!CwWa^3U{MAM*|f;!snYiU zk~vSTy}{`^SfQtSK;nGkm~F4%v^c9M*+N6*%9tDq2T-@@@>nC_uZGU=C=!zDR=Bt^ z{AU~r5*aE5S*@<)q@D(}vpk@G;?^=Uh<)7;TaJ_4UHr=|&C{5?u7s6y}3? zwIC*0CSQEMXnxXPud3KYEgi=!R|jq5&5)2vf|H`zvDYH^-;J~cOt63Z zLvP{hr_zdIKwu&uwZA{j#I^)cvFtQ#h`|HNPIbUAu*xGX2x~L!ISxANDG5uUxAM2Mrh4vDhL8hpA$g-Wy3C&%fGu)t2UTxLKeYv z8Ssr&o;8S-Tcl?T1oHFo!Ev}?dDnP`MB9c%D zyj#?-H65m8QK&UA{+94KC&1pJbc;sEy4=T4=Mc~6Q)8g?K>s!BX5Dv-`VCAA8C-te zQiYp$Y$d?K35K%zJ#^Ho?vC|jJIQQ&IQWiEJ-@L`CJkloVc*_!37sEI?F_fS*U9&; z9^OF~eo(+3c~Iod$6S8Rw_1=){73uD>G2E|2DbxnQr zd#G1r=zy9HzeX0*zN+)iE8RLpok0ht2@#aZfXZvTVjidZ^D)E+6O0u!dc-T4yuM0V zpE-Ezk*5A_q{~7-HT$Ya@C1AZuVu~c8cBrcW}_(@zw#j*y$;1vHGtEGnX0|^f2SLc8%8L!GBuE``V_5iIRQqwX&U5 zS^<9OUsVax4P}(*tPB$Y=?9&ecGF@ObImy@uYV z9CeR2PkdA*o+|rg{e|YSoENzsZ!>AmLPSs!Cmda|YoHOiTt?rw&45`kqXgKv_v<_Q zlEgb{1jSP#?yh(>qI4w9nB0)%Wk2RxgxgeKV;$7goQa%0BpB1U4h0{R3zWp23) zsyV8TY!|14KVzZl9ab|SbKf&XhR~@+ypX^>9V}GfXTe#j@0Q7eP5kE$=r#A_dD}I7 zlam*F{oBR(C7waH1bZ?c9(tWksQis7n{S_&YBuSO@!!SA-7ClhjaYgc{hcxRG*tj- zfR*dmwN;AVfy!Hr+J>lJO$#a|0SZ&-p`hwD{BD-n1RK-yd~VKO-|3p7Rr{ z$*)5n0zR5CLG#+&IXaL7?-#MtG11Xw6WW#FKG1r@XJhe(-PkNfo;WvO=3si(1o{KP z@OZTJL_@<@jma0`*zJ+dF2Nrouy+>#%e)7&@<*-_LZbK}jn9MG*cvYK9b5l;v;M?? z&=LJ;;luH;kgii*0~iGC1$p~Wh)6&bcgf?0kBwri?fPd9EK_J^P*H|1u%>5fq^hhH zLF`jNi^Rx0PE#%v&%5BpQk(Vo6ntQQOK zaYZ)?I2#z*US+a$4qcOps1EqZHkne9Lh0GS<=})KL11VZlT4$o(}dflGN*HJ8N1c_ zz}L@fR{qks`hx58HeYu|Sd0Jt%nY)O5W#eVU$$8mns^K|BBZpqiy-K4>ciu8{&;RE z`WMJM1bb#6J~4Blx)YFFgjvO!)*e zSPt=MMq_90bgu6)e7UJWZEV}RR$^vPV=QnKM}e4H&gKc z$8=dB-E^Z`8rKa=R5*5;>_@rYf6|;qk}I4=VS(bN^^Wd!s1E`!5M!_~E$lL}Fhy#- znONb&8bv><{!?GvtgP9>BY!+Pi{&S4lK8?dpLs&p=Wa%56K0|x)J-y&W1Ygit8Lt( zSJo2Os$XaM6^;ENzLYtEQ*}@MBDc$2AZw%Zi~luI^_^8|uPDAmFuy^a?OV1$AmubS zr1Fc|y4;%}FDgKX9_!iE3J6VMygqJJ6%w!*{ zwjm^|*}(GXTn694ba8!Q`gmnutF`X0s8l;9DHHz|T@g8)F z>`ZGJFC4{37^Z&7LypjJD~hodT%iq<6a`@~c*eFfl$Wdr_~c^7dCLa6Q1Hwi$mU>O!)7;74b;5DRV~{Qm6KU#=ZU z{P@4Z*iQ%tmPIn^8lXUcHbCCgfN5k*!@pYAPOG?{#~xG@AGsXh5>RRV+nNH8>}hp8 zgM{Lmp@40so=jn-5&89XL_P{=!B4u*O|b_I!ErF5TPPffJkFkZ>wLz_Cw|~TsSvp- zBQfOi3ADXtzU;|*H?jBzkZ@Eu{rZ7fT|wi8pNp#*CmZ9(l))(cLc6?gs^B|>Y=hgT zL+!Ei1ze;7A+))%WKUL(KhxTQh=ZHTK9Q3kPAfvO5`nyFk}o||$Fk?^ zz89cB#+UKRN_=**pRU`khyNwXR0@bTxel*=aSlzK_1%P$^^9*Zlh1(_QuM((hp6m6 z{_kr0>HHV8!;SmyMu3r}0F)pCtQgaC<&%bT4?qCu?I)QtOM!jp5Si*%J5A}6Y5PSY zwl#|XGz}ns*HbtI;XGvzXdVwod1Ihiy#=g+DGZYX!cst?mnXa?wfb^vacA+F77b?; z(MUcXQUDhKc=oNg0pyRD)Lk6ZlKbpcrG2u;N8i3d$u5vc~p@U-3cdZ7NnVr?-P{uD*!skFLNqn`d zRiE3a6OWXv!(~LUf|g8e6}@O=`eM-IevL6-tSJ|zmHf7z_I=17QudJrs7BFasv(wG z_qbuGj5IOMTJiN++NKRekuzqGqyLe$tazu-&gOk6t6iXt zA$SnpHganLs*62D))02;rDHo5d8r)Eg+YGgGNHPFWs794WLpgm;yv~2%E8FfwER1b z39|%U^G=ZsmDA@v6=d&K=uo&OZ)V}W8LLUuZpz`?aweMSBC`UCQ+mtVeoJSu|05;! zZm*w?i+F{a+BKzX)FuYKt^*&^WZZM;M~t5de#wpjO;)JQjK-4QTzZW@#5^){p*7%m zeE)#>bz<^9s_i}}|2^)c_!v&F2Q`9NDD!d#waI>#hB2L0*%|Gfoa5YV-m@xR-zLHl zO>V8L6fkm!LqB-=8CQrJ&!9<~zn$8US{e-etdbp9N$k3de^HV~{)L`aucS_)6tFXc zt;OXMFQ)P`g`3z0I?lqF2zvJ~szC?2qLudn{N6AnnZdJ!3%cdjHp%1?QG||td*KVc zeV;+D$txxzjQoS8z2d)-$0~$tCuj{s>GaMs6#Iei-t=i-lDkhM_V#S?SmEc{!#}Qe zGYfR-!uE+yq1IwaUC4W96%Em7e~N8v&9PSkByyTxVOiKp7P*#iN~>4q_eYFhejP^l z(AQVq;$F^xO$oMsM+F%){T&_)P|;oRLr*!1=0x9@O|qT}8CPeAzXr;9BJBQeVl)eH z``FDk>b#MiN4^E2JT`-@;}Dky!FIZV#)8Hu%Oo2;TUQc>C{pq#m~Q6idB=yf{;^&_ z=>rUV=SZ~`FwpS*_iD2^;C8;KKnyWYO0e2Y?8<)hJ|c%=Ad@+ZRbY;1Mn)dMra%5+ zUK%C?YlecvN+d5_xJA$3LrZ8cQJSldW(p$5RK}L~kEO5mesGW--r(C$mmNYZFT5_V zqs{chB>qmzJ%q2Iu@KFi!B@Cb1U^lX>(R;G>m7GuyU5;qfvUxks&|rtu8|{y){XIc z%7hxn7V|(CNsO=Vn&~KsDAy!zJ*Rr^Y!xf#!Us@H9g0Bh#aGW?1a<|sIi7K!zl(;# z0X#H)Ej|!_OC`!IqP{WlsW|KAv|{IrPhvi^6Euzm(d3>g`UTi$X=9F-*T1-Zo0LeH z7lb;}<<|&PrJdsQ9Xl_HA4l#zo)cWjiQre)O<6I9%#D%WJSxcGOV9l#lv#T&EgQ=+ zNdm=!2d-CkojPIa_sRY7Y+vibg65xxxajJ(f4m%7;Ql=&=8zIT6Q>OT6;=r!>f(bC zGmPdGcdaN2z8Hu-QUd&I%}`kLIuV7np^D!y3ty9ctmC&ze4yQ}%K$G`nL@*oY~Kkf z-qAk8W_Rd-T^Yh6z)Ihp*yfp@G)d=WPA+5#LGmB}qW=&kS%DmN)JGjnW0N|sg-Ls9 zGkiyfM#>li^Y1~FWwi{c%OvnNNI1J#Xkh_1cOSlm@dtj~d{|j*0*@W9ao`&nT;-+A zrJokRtWMDPJi25!+Xa1%e>Pr`U7l2?ZHJ1qqCgHq0%yl8-OjO~>1$&h)ZMSxOt zNk$r8*T+BgeLh)uo36#a*Jay5<4&wBo71BNB^WUpR_u7?F`6HR z8x>(Ww4QL~U2&%^@T=cb7chT@S(4+pcp!~(Seadc&7gH$;X7a!re{d_99!dXJ+WoT zEIzOqXhcB*Au%7U+CgCCe2M~Ztrw7db0|m(>21lY)Kq@AvDRfm=ZJl!d5*(q<1Of% zX4hfViR7nb#h!YB^7Y=J&2?7HPDx#uh35d8N>KwFKZ7R54%W?sT9D_fgaH?!wJ%^$ zDr6(D&4!q00Q=#lkkDw=e<4`{$08Y9=?;;rp@Y7d0z^;5c(ndC7f>+epw->CPS@ zxT9{!RzT`5G%I(yr)bOAK_yOKLDO#G+Z5~%ruH(MzL*v{_jcp%0!(Lv7pkY}Dgr}T zmoI~551FJ}+Nkp>7BY_eI-I3>7P}d}E=}B=hAk$u(9g%lM+=;m&=k(pC}HIjw^E}Y z)3!aAxK%wkzqjS+P-ug3A6L8PmPK*L(k)vpAM>3hZNWT|C5ew#T5qD^ZCkt;u9@`p zz7wS1gs$+z>|KNSunMGQ*bC;iem6@QIb>O7X-Wu^C05wH;O!$%xijQkLs8ahPw?pI z_DbQ_Cm2x?$H0|>5DGax7P=l{y{6to$75wlN5pLY0s_16dXxxJQ2(hh(Fzc zh-Q}s?K0UZ=h?LNZHvRA*s6l*@Z8{wM^ln-@>9xXu7Ch=f2TY|RuL1}g!xhILTN4O zuIb-}_==#?%7!XUrP(FeAn@NgjhIs`K->&NS`&-&3l*ng;EIt9n+`M#-q;`WF7Ufe zuIHeyIbynAD*H!Ri>%As+(#B`$c6L)sKzjC7megt+(hEE`C`Yx=BVcxGZX<{^#07{&BAZKnmY zF=g2zz;i&A;f4D*XQi`cPyXt>f~7*f_ulO9=4%9HfMER7soUrY$P=&0|B)1AN0@9L z_c099B}rF1A|WcQx^nBc=UE8vtPN^+LJ5!|6vO@oNg%@b5WHk0X}?~F=gj+?Yce)N zDvqev`mDlR93}w}n|6!Ka z=7s{BQhwfEleu={DJ2G-D-uwCu#`tKrF`&8i%)djd&xi62rr>9oo!-v8V_YTcZ8!K z_eUELPZHeJ8DD`tinVUCm9A+OhZy^nh~dq{NSagmd-Lg3rNIbv1`ZIgy9`+B5tto< zRt)8aH7)gui)p{xN1eUja~#|Q>Y-sN_+4t}_&7ZvdT{S;XgZ|`)J5(aNc-+4Hh^e6 zM&r)2X(TVi6;nJ$Vu3e-E=|}OpEOMz#lzPk#aTTTL|B$(uFk8tR*V_X)mepN8~d?u zO7U$@efY1s^3q}!l z%;b_BO&5E*Ex*(lW~)m)dD4sPfXVQD+9MwSM$l}O4ULny0bRuq@bF_I+kY(XfR~s^Uis7$TGhp^0EL^ah5vkW zJ@j*mdsQ4KcEpR}q!-q{vWoqE0aPSrs&FVeu8DiDMdha>Q(sjZOnwEvN8*uZO`}gT ztu_IMD6YOtM-&n2nKIqJa6&o)G+e{Me>z+}(h>xXXWRC$nrqzr;w2{8f~hD@%v`RL ze$JyuHXJ4DzmW!cGKpoKt~R#@i3MTpZadb%1TQRck4Qbn)o<`zL5^72tUorFekGGD zV)vUL&dPdb#Q)K$&mIN}s-g58&=?rpNs8n^uo_~cIsZcjIrg683}k3mRA|@)>Y2bF z{V2`s!?`e#t5ocM(#u2Fwso}SZxky9AAJgtf|`v5aw{g0k|N+`1K$q2`6T(4LTDiV z$XWVaAg8Zh1aJfPmfhDFo@p>&l_aanf`=YBN$HE-Mw@1l@93%~^#%sCq)})5Ik*xi z?*OR#6k-_`btoE4%GH=dNrOFQ?f?vOd;lQWu%2ncC0LuIVCD{pglQi~ltyWAnyKC6 zsBY2sBbrgbvUS!d<5Fo){*=F-ib^S>XSa*;_45k;O)F7_4QjEOsEd^tr$}|W3`4?| z73OQ95E~7%Ot-&Y}d_SY+0ovN8t#D4A2YMmKd|SZ@7^oT6 zRLFo1DYFLZx##tz&Jjo#^ksZ_5X0YQRI3&*#e;)dk4!k_uG zMKgaK8 zLgpovul132^9l76doMcoo2(gDs)vMOig96`_vLarjM9>I%sW8<&ow-j(-E6}?M4c@ z&pTpwP%7QrJ16hnZiE2_n;&#aDe1-zQJ%On%_4t`pD_Zbvx7Z@)2D7@GTx8CL&FhNnk+&G@7Bg*~K zWw`EvmH3X#2<{bH6jqP{3Zaj7o8boMLRWX{^3savjgdH$G{bl-!YGYp}>yE#>?EdBr^bPCA>Qp z^U-bD1=#Ie-GZt!@v?q@Pp&!=&0=Dr_533j)$3pYT}^)iuS~RPfZ9aAvoxJi zW-hZ@`7}5v0HAncmxo|(_7Zbq4whmbRUDA!d$Na{AH4k}IECkceZs6SQ3<@eT00c1 zIYK!GL>X*1KuWtc5f$2FlqR-(JBk#yVUg0W?xHSE?b-RJ64DKbqAc7MsW}m*6F5AO zg@+GpZM3H<|6m-DaVX9<5}Xa;D6oUZ(=#svqPlZ+SR12f_OYpl60ZOB8qq%ej&!mN znyTD`7T<4O81OlQK{<7DoU~`UHp?NyRmAQq&V-9U237%xZ^$@}gK$B1-BXEKryNfO zDRhob5aBt=FHezLv%(sioR3TA(_Z5_urC{Uvc2BWqI;Pwk7I=una(esZe&ZGe}#Y^ zfe@l-Dz!s4L{8NPL%5C&V{MJz3ThNWV-+%RA~vdC@+PQ@hldk}y;yo8HytPtJixX? zIo?gRyRRl=UoCIjie651;aKs{nyIo#kCBJ(ppQJMT#NSCO2%DcOn<}Dhz0IM6%2b4^O#Qr;I}_XLA3&{bNSY z5zf)Nt{nH+o$V8trrIBtrgAd$Hx_NZ83F&kco{Y@kx#t-|K33_m3p%Rw~0IEnx#Yz zQTaa<+*dMZ^tw{l1tP#1lGeAxX)wY@tO6DN!;)hzMhGGsqOn(CV_O>xM)@D*LtJcD zQOkvHM(~$48Oiz2O4*c24Cz#peUe8ZGLxg=E9=1x!TKkJ`Wf>t!r0GYyBvcnyt z08|Na=hLIF2YikeEw0Cup%;Wd4I?{&az`WVCqy(CUk^=VYQ=xov5Hg?cdrJ{P#3Fz zgHL=0jpa~L^a6v#E@LA6KpcR-4!$6fWn^;09_|}7>Sr17V%b%{= zgdcOFpgU;8VA-}kX%Jx)yJK9)1;2;~uQrsi(qMEn-&s_Uv3(lhl;HMrH-9y@j+1}f zVyf6Hc@NOV{CTM?x!icjnK}aN**@quJ-=WTbK)awVXhAyS>%Qgy%dz17K0>sp`PmS zz-yHoIGh{9k-LR^wO8**3#nQRZ>u}6X|dkkg*G=WbFC2O6^^>3nXwOh>yXG7D`p$kgIXf&%XU2O$fE}HZXYVsBNp*IR_SACWUJNY zCR_kqzD$ZcC%fjHr76|iZ?V(_QmU`Sjd>$^CQ4$ktA8+S_HE^bn3nP@Jc)q<19r~W zq#68?k5!tjquix+cfU|g`m@eJX``FGU|_Es!iacTHxPc32TY@e8NW8!fayxZ!4S{X z6xN-EG*do0?#R#>TU$q*)ltm{9}Ng&CPRz3rqIC2Zz(jwk%q|{wtt9}q=O17@|@}n zClpau^#Vwu=%z4I!PVn(55J=Ko%!fY~G#c_{7@ruW}&uO+cHweh7_huM_FKJ;x8N%Lj@@dsv>3iVX17gxUZTtY$>D zNYGqDzu4)JzPX&W4jV&0+ZGm?|Lhu5dJ(GAJKXeH(~_@|DcV2jlENOFypetB7i_zB z=HaZbU)c$D<64EjNB&bbbq;6`C<_>KY{Itg8~yHeHbQN-pYqM5*dbVJm#J_qHe5s? z2jV_@ba97Sf~?VT>2sfy_c_H6fiNzZ*YjM^DRCTo3*uOZ@?oAKRY*h&v-cvwVeVEH=z5JH^kqIrk4j| zht~V9j?*x`D>$V;WOQ9vzt1OjW28(@?+-JwW6WkXhjQ<{010@{%FZk1Q1?I9CjdbYNgKDo^hRdIa~N=zsoz2IHXN zQh^#hB2wCj*h9}U=Klg;U#W?|>eFg~q`96wUggMnyB910tR2XibQ;b5m|#`8ix)$1 zhBzF6-=UB|61iua{{WbE$RH*o1Or??%I@57OFW%Rj$|Jg6+A7wTr@LoH`sysdMWY@ zn&%LgTS;lI1}9y-dfQbrYZ$x4d<9v2xf@$#;Z9J=Wp>d3eUoaEw>j z6kq_Gi)*`hsF|(F1~~f>jsTfwv&uxxH5BO2M6*vXf)(zf>!v?QP&9(LNp~z|Ju)p~ zTcNPNm`X?3&;T4=O%*)kta?5U*@4x6_}wKX8OB5_IhU@u>ocHdN{4XO!{y7x}8zcGVGnI># zTJi)Pg~;ehH2Dk|_o{@Lm6d3Trbx2~}EmX9QQalYz_u-=0Fn5_lOTsr4gHQJVd~(I>az~6ZUlLq4S9*Lb_womEe~Z) z${q(pnq8Bl{tG)O$Kn0R*YQTE>zsf+0>X;1{zOaeHYuBT>%@3p4o0Ot_7 z4Uej`>Q)@CrgZLp2c@#QAVy3};t|RX^wCF5E^dkalf92HQ?5np+Hb=GE?Uh-g@dHJ zkWM{nV41$1F6LF;=k0+iplU#&r%osN6y0EGhEG9&!m!-WCqwxn5DP*7dq%BEILtFz z@ilV_Y>Tw-V53v9q*VJ9%xNUG(y2;d=}1m>hQys-jvhxhRkS>5wl_PC&DSsc2mcAr z7G5-Cme{2uYq}7bPB!F!HJ;%gcg8cC!>Ao@(4YM&i%7H;zak$RRFXp<=wpGaaEc0& zj%DQsNwU#Dn}h7OocF}?8;zq%(8IeL4pG^)T(b>3z}{d!c&t_O}zEdx^Ph3F)GUgg;8O<6YGkkjBOrMDwz&kRu}yXn_ba z_d9cJAExN?Qg$tzwyJceyv3F6;|Ejw5b=RY!gE}p$yk)59OJ4R=VI#1TNv*hSupnM zuAZ#u9EBm7{fvqUTQ9yk@xxi!n=OBiEKD>5=Uq8M&}5PZ94~1yws~p_doUz-uN@Ew8uqezX_r zK1lgJTmr<_$ryX1pPjpm&m@FRoc+s@1~nY3@knsnqXvQkA7rnd&i1_}`SXVP+z3n} zwL>8$kqotgvO+0diITNq!|fN;P&p3S11z?ffM$S zivrd7N8Zkw!*REeaT`s9z9wY4JFIyAB^Wy=Y<21gwOG(SYKQ{33sJs}$j~)W?l zveba2oI1vxUrFIhJG|6*EfQIixIOD7+{+0FTfmAxFK~R*yN5x)rKT1XX`s%89Ek5j zc?^b+U5W!ZiXSmSXCPtxz%GpEfi>4!fi6u+mq1`y0G{lT-BefjCI=TDQ04z&ME zak}7iuD^5UlHWJAjIbMU`L*rc&x7Y1Ml`yl-n4bqnI84B?UJ?y{_Jz+2fO9pHOZ)G z=p1y|KS*=WF>~qcW?ia2Ew{(>L}pKq$|v%>)^I=dzM-k@%L6aNw{7t-x+Hx0zNl_W z**0Z1E^lzV(Wv$}?>zIFHsX5sZt3p$RJy9!oteX4+jV$5d;G?> z+`d4!zT>8K(l2k-YT(o8$%9`RN3P0WQKk0XD@X1eC|c=S`F!fwr){|%$*XhnR4HX* z=0}`N@8+>5%W=lsJ2sN?(?@-*x?x{hbNk1Y2i6~cvCXk@2Na5v`JGbj`|JFE(DTtO9rwQ7_PITNupRp>N0ay0#){xBXddbIme`KwzOFWtQDNwf2dMywqF#bxrw)!lMO^{QN^ zS-PR`8NbK3f+U79zj`dc9Ub^AqV2+l+jDJy4ZhMhse((dKEG~gf8b$3&rdC?&fXdJ zAw6hr<&(zTqJ5)|?%45Dul0)Unua4@HEuO(S3u_diBSzF-Dy2>O=3u^zIMm^Cmgycic83l*?EUf&%2m0tM`wc+g{!N`RS}KHI^=#pxHBKYoEaD^BZl=lDEH~S#)E8 zr`O$>--ZV)O{?qaRLgtf@fvkrm^Qpy`{>7~MPZ@&3DGv=?{D*4ccR?WhXcyDsv13S z@v|Bau6?&FPx`S<)#ZkuBR^l(_E=wIo^9y>*#sIwb|;8igLPB9m=1mr!#%;vQX9jzBc(()^u)= z=ic4hCUxB^Qw&f2_U76fezuQN6H-_GwYu>1Z>!Vm)|oPM%gEYeb)9AYo-6IE3{SiB z%b7ph#3ji#^G1DtJi_$&V{XgxMVq%R*mGf9o0gsQ_pkLjs2`EtwOK+$ z$HKgueP-_*@v_q*``k&b+I=%reQL$tO_SQ}m^3f>;F*1)jZU6>xkQ~fqCz|SA%9-2 z-zj=+`qrFUP4db;%I*32bN6~1=k1=gt4{I_hxtFAyw>pQz=EsSkNo)b{;}QPWbJM2 z+kNPaC;Q$W$xRM_*ZTLeGkUK~o%FKcaFx-u6>j&ZJie1R(y>a@9JyNmNuv?L*d+k)omd+o!Z-mpK8e~L z!1z|XhH#rY9XbE!t>EB=tz)O&D8I7CcNMng^nAH#g;(_=Z9(wf^zOblmR+BA{7@T> z_Y2*V)v+^H+xukwwcID6c}#;X^Da2=y!L1Et&^>%mHB1mUrtbHT${)yPSotCt!nzXO?>{_b#sUP}uxV6$>QXz`{3FZP4?Yw0 zcWU6T?H}}?Q~qQN&E&BD`$h)c`8Ij)pTTkSf4C+c+$2c*NA`=$JL}Z$Y`a+JJ}~g` zp0aPBt*zvpEPb0fd`LOC#cO!o6OHf19sXdbH1lltHaBke|8wLswdckq`f7!)K~?8g zoUa>yEu&k|sG0jRH&&Mzf9+B3oZl{ex3vXpkDsjH+wPaGzbzVberoLxim)yhC-q!$ z%2ma+I2PmceXr>^^mm=+|NT5YH)i^>>NEWZlyj`mx|Q+CxAkI1xzutl43P%9zH91P zQSTnme`xZMho1*XUVj_s2LB;9CGlskjvcP|eRTC+VZY~jd571?Kac3xamTplJ*Krd zDBFCyt8<6Wa|XZLaj9{*ZDTx{;uqv(&o;F27gGJ-`!la?@reTsh1i=-P4RL^Q-I5!3Ar( z_daq{(e<{i*0W1tdKqK;w;5OK%ylw!8(im9iht+FF1rIFTF0C?W|ZDNQ;>Srx7wWc ze;o6Bd+A!pwgZ})lPjE8t6vtCyM4vgpH3>T+GoVnKY+vIQOI1KOp z%dEeyow?VpiQW87oi}*@-05{;yG1v``o41s8$JJ^%c@<^!>>*`Sx?#i#^mhgkDpKL z(0tTtseHh?thyt@BC1_$za;X*`QY$QlUBO7$m_V~d2&Xj<8OO3cmDV&XF_sBhaFpr z&e$}NE3151v882)sYfmaMdm&1v^nn1_6U!i*{08L?uPf@aOcqZ4ciaS*>)B>1D8hxzv zZOWFKHf8eM{kKG|+qN~>?eeA6XUdw_jm;B}&pOe0ukKXWJc(1Y@hw}Mw0uO&X|sJpV>YwQ1GerkCG*PN(8J?HE|j@9l(#!H*}|9vUb6VQQ_T3+_}8e3=s6 z;ZTiXMICg%)#*BDXARxFmZ?Q4*-4$wkG8M*eNILtZp@E;CZ$ETu$%w$L0cxfMPv2z7}Z``dj}>ZV5DmU-Cj zXv9V3koB{C6oJm)-t8RN^2bJlc1!>6a&zDb(;%(G_8JkD(?8e$9JkWH|EHtttIxE% zQ8xX3;p8bp?M#tHVd+0K*cQCqCfw=rc2B?allD}O_%z8e<6Z9`vhO-HJhN`Y=6d7c zWp6`2C(Rw0`E2y6CGAwnW$gAJxc%*4^YRYC8@<+5cWT=4vxoX@MBChB`<29@Uu;)ggejAuX8ArAKv0|Vez?>wGP`k)M+%N!{pBz z*;IIMaeiQ}58qDjTsx=N4o#oqzcg4f>a|CO#xdUKXKue4l676%?pC*e$ETwRFpXv{se!SX;O-W8y z#~*8x^x%&#qXUv2d3=d3=p1_~@yDwlLnpoTPBhpy-7$Z|wz@4eOIE#k`$0Cng6<~# z=hsq+eUE<8a}!*?`R3FwwK~LITd0`f-Q}-p6FnCj8!qslU*^|#v)^>{TRM5w+UmV+ z)*o?FY4&{4ZMzY2|GVF9j`aOQ)$HUC?VN_6t6z5X{wW&wE=%Nr%05Zuw;UUMORH_T zTwA8umbr6UymC9(;YP-~y5WsJR_{IheZ=Zq)8$Uj`m9}%Qjpocr>&{Ln5)k{e0sy) zUsjEH(QL)kZxaqS;rw>L`tZ%{&fMG4vwJq)<^B4A*3j8D_~hFQ=YM#7@Q?kgek$)+ z!(mOcVZ+W`+jyl;ueAHs*1L8q=$0%Ezg_1`y;`?UomcL9P*~xLr}vQNKc{=C)N||K zX?NaO@JF=e`;-n#JG&f{##PtndB+@Y|a zd)rDKr)EFe+3d);BgPvScLjQk=v{4rc4G4@T!km?*PB9Z;+EOpy`Hw+<3u^Hmkr8= zU;HNaiOKem?fY^ym;b(eewM+jU)0SR4TjJ0$!=Mx?z>GcvQynYb$!;P;;d6oj9)6w zYW+AuQd#X1@S*IV-1}30555dLcxl|yRqHx@+!^Mw%U-qa^nqR-#x;GVkzG>Um^Is@ zO55aiYk!(q`DWp;S`Yho32y#(wFz}v`A3B`d^B{G!=1&xfk90b%B)p22M(CKZS?0M z_v#&ZFog?WLRV*?;PM>C6ttpuyVD!O1RNmwl>GtzMWhlj}NP=d+ng8dgtMq z`WbG<%hBU!-X2-L+lQrn23%RcR{8p=Q-kMa55>1zS@b?|kAJnPxl3N(?DTYVjq7FJ zhX#&Vc>k|Dub+o6nD=4%`i4>OKXs__b8_P6+?qjYyFZ)_nqySe zwMp+)Z~VIQMvtVs>CJC*-{*$6Ebs3H?_aN!IRC!#hZnytt@mf7bL8TfztZQe+j?l@ zGq083J!<&o^yYc}?JG6Xt*)_5&po?gTW;Oj3Kznsy!+81IW~6L?n-UEW;CBRe@5^g z2jzD*uey75J`!+h#Kv=1G^z=nvo^hrbAErf>F9t<`_AO`)DCS@Q0Kt)l-V`A)O_mS zYrk0cIfDh-gnH&ku0v-kVR&h?}B-}*Rz>x7XzuZ1RjyEi|y-%9z^6)i^Wt8~z% z(wZgJuiPA-sjFA^rtVqa-al(rM&Ezh#c+7fr;k-0-`Q3FP0f^whV-kCUqt*-b;8W+ zpZdi6#P)P7TI}Ngn@Kv#x%roZxMRwbKg;cv8|wMp|D|c-fG_tR51yUz_rQ(Qrn>KH z9aHA)Qs;|rqTlI%Y~5?+l>3|ay_#GvXs}-Y{&AN9_jXUYcHd5OcGEOvgv`&rThxur z(GcV}crNekk+r&pO~sB+PCFdawyBg|ec^=4!QbpJS3UfNS38~GkDe{Y{?cvUtCYxP z4d!3{D_?r`e%}ULhDE)2@oUdU<0AK)?lf4kaMJC1&N07~8Qv)UZr^;*W9wTtjc)nU zr~0@Z$+N0+%WfUJ;vMx_t*Rhh<&?Z=X4xJ)e`q&gvdgi~YtMHZ)@J7TWp>hzi+6%O4m z2s~+1J80+ny&WcuU)Z{EqG{)m`gJBH_5Sf<<;_2@Tom-=@Uyj=`inEKsMp0j4_CWo zXEd2Pc3RC1^$g!W8#yIFJD`%yoXf{IzFN`m$LB2__KxSu&!5wHRo1kz4Q2Wm56SL* zab;ZGdkt+J^SDpov2Ifzj`C^w+NrU!LhI){c0QPV`SAhy)L$-nsy0vCb#Cr&pJp^y z)j065XR|H3?^Ci{eeU&anhU%sV&~2yv&T$cHdS#d@GnhrcJvR1!`Bw{XwtTMqisX( z$H&b6J?8qJtbM6Zb9y+rHFmgrD?KamK`sz&=x@L!Z`UY(55&h)hoI8J?I1%{a zt*ODEcj~R_)@%QKkAl^XTYtVZ>WJr#s~x_-{ri1o`efsZ=68;s`jqzhMBJa@YdRO+ zUC?Oh>fbjwTGO?U0T!kAsZ)t|eo_}LuLe>fXkv9r^FV*&Z&=hVxq@MT!} zjsdFgLV~7m4II*EvP;b^zib+~CH>?XS^IXY5>hYZoY~HWZi=keA}+Mm^Xu& z=(m{KKgFa^D!a(jrkbl$-l5es;BOH<_ugF6>ZxSgjGULpb|2mI_q<^*#$T+QGG=M7 zdIfV_+TG6_Q9m$r)zMSK-yTZ8-97gGz9}yismtPeNPk%{a>&wkMV-%0o)i$CzF>d1 zQLVEA(^}SUR;IRQiRX!tGgE4QsIOTW`Fw-z!aq8Pp09I$L|j1R&-3@j?uaUT*HooS z=&7Qgx%QeP%O)=|Jnvd}KRFCLaAntwiYIF3W;*w|tgIK6I`7MlzmJS+e`<8Z zr!|u%dGuK1l3VM>gV9%0gSx)!dCsP-L-5!yM(*#+KH*nX@8_O%bw8(@AGb86<+AH- z)$PLuD0(ce`P;q1<+YY~8vez@bE~fI=#@h{yMMFx{3S!@kbp^H8H=vx&298;r4fVd z+`4@KXYT45)lcct8vAzIu2{dU+r{o~^)|^{R9zcTN7E;Ldw#Q%(wUp9uj)RwTWHaq zi^C^Qc(hUL{A%IF-|wGlc>7%Q9UZ>EzV+01l0aYIPBNFkp8Z7xyoaiNJk-p0eLg+wB$4j)W5lln+(COF#Etz6!Io{dD}3|KucR0_kj3+!4E6mg*?w}c zR{^vXKA619!IzJN<6PSy2j_G<9|u`lnE(fuIb{_NZZpgEaPZQV@9vOnW7ol^qJtM; z3I`XU@o{j5IzA5eft8>-2OlGRFpV?w1DbR@f8^(H=BMEKW!l*)fSq3{c3h=)z@r`N z3~69(_yW7kwDql0E?}-*dYQDc0dvaf%G=JV2xj!FWY@|TGyb3i+BurmLmQftYr@1a ziJ>DTt_g|p{4r9<#cQKOT@$qv5+$zTp^2dq*AWQ`64&@xJVA1IS9dr?B7#5;3Izg* zYgp`%idfH}%4H4@AU~?(%Z3`Jl z#LwWk0X`@Bp5ZHkqqFhJjWLy-q!<^<@o2~L zVG8Ud6`8Z*tephCyJY%IPD|SpVLM5MlEjFCUTAB}R9ggZA%b@l!Tm+>VIufg5qzcy zzEA{TC4z4d!4Hby$3*apBKTbq{DlbqMFg(`Ze*=r8jIj9L~u_L+*br2AcBt&!6%8} z^F;7pMezM1_)!u3u?SukLXS1ORTaS-h~Ujda90uBUj*+jf+vdL=_2@A5quxuRUra} zxbP!bh(zZ^=pTyUb`YAa*{!h%-cbbaCxR!4;PXZBzeMnS5&Ve=?f{|CTDzKy;5|g} zi6Z!KB6z+Cepdv4ErM5qsluB6E+V*(2;Nr&j}gJ=ir{NS@Vz4Vc@g}H2rkiv#c5)q z5)vnQwD)ukD{-oci`QykRTHNPPl^*M35(W-#>2`+s}&(AT{J!_COme$CNgxK7A2s7 zq(rS|Oj2}WNgjwW6eSBsY7;e~5fM=_mV#rWViFUOTS@w2N#T-sZKA7}yStmjRpsj@ z(FCe``6yJHUI78Y{(Uul6+S9|jl{RlprF3JG@;?)n&?g$_>6^wDF;dvGEeX{Re9N6nzy~q9Kb)2E)2MNQI3FjRsi~pPm}u zz5_L|dW=sLPM|)rGmFv0#)oU;g;H%yxR4bT3hJfo*_ZDa|2};*U}B9nKAu;KFN@KR zN0$6aSZv(H;SqKgT^Ja{6sGC^o1Z9)kVQ3;yRL`_r-^jTEm z#FD*}Fg9K@CKeXYtUF>ST0tY?W5@9Dh!~A_LR@G}xJR)@r~>a7;JRR>sF=`1ZGt8+ zAg&}$Vr;Q0#a0*-hjxrf8lxEzm6$;CF=JxGC13<#TvEFPZL~HlQ8T_nNjOG3vLq0P z9!VTY)L%8>u}LGMt$8xmE6Gj}+aB8k%`%T(%@}QBBO z62ju6#z2n}M`6i$8?)`C!uf)dEiF-Gt*s>qnAVmk!1l6URI=4r+C45lb`KJPxPsc`(36dn~bP79I70<;{hEDspUu`yP=GYm#hNk(ie zDOp0A0il`+Hk5$)ZbXzeI-CY_BAh`XUI=0sR2vf(8*X+#rXU<<8LI`f4`X2#;S(%t zNP^|Aq#Arae&Lghpm=RAk#oxz>y!MYU_;;h`dB6ur`Tk`M3(6jarVsJUg5abRK!KX5KQ-=Pm z2>z16n=$m?!uk{wwyQaO1i7gq_(}%HOEH1|0)yiomVkFF4=0e2KkjJ>cqoInV(^I+ zx3t>=hMw)0RU-5UMCdOvIO~TWMEKO87n-O)E7zUkmU{LTp^sp28Pnca250qI&fu*X z`kfTFlzWDuXZ3WYTVa;{J4Xb6C4viEbI7L+qfaxsWrw&cgS#_0OW#EV@6O;XpMDI^ z@(B^aM~mR&MDT?S&dOcG;H=zTBKS21XZbv4aF)*-5xgGV>a?_HYX)cebP&ONGdQb{ zhQV1r6B(SPpT*!T{VE1$={GYtOP|N!Ed3=0XX&3aI7|PL!CCt9mBINSS^8&H5xl+# z-ipClxtS-GZ_MCx7+l8Siy54qFaBh3 zc70OB;2sR0@>Ssk66(_mK7u}78N4lnhch^cnA0h{Jj|5i^1XVSxK^_cV}>x{vv~SWcYAsL`atY6G3t0&#vFT6QQ3Y zLjS7>{XP-;Ht2kiP%dld&kWAm%@3Ut64Ez^k6^c1BKUO?+{oaa7(Qk3A_Nlh?+hP- ze=P=Q>06563K4vW2tJ*`J2P_AMDX<@c#a5upTSxE--+N-bOK10c4#DmcM`#;F?bi? zC)o2(3`UTUKZ|EExEGWO^h0s5L9)~*nZen18AR~KBKRs1e1ixcgBOQXA69=IgR}ZK zkP-4y`hUydI7Ec@szvajB6xcYUXai}GWZC5x-mE#SNkzID_6_l*mQwUI)k(EZ5zdH zftKChIM2|t^ID+@{d*C5d#nt}lE0kd*j|=@M-lp95&BpLXXn}JB7BxJ^q3XwvyQ>B zDFU7+!sjAGk3&SDe=0)%L4>}A94bRXJFxMP6Tz1;cxR|1$URDNOFQ3Y=uriM-VQI$ zA(ep-Yqz=-x8&2Fp=bGYXK>a($BFP+!qBsPHjB{biO@f3M${*Mg-aWuT^-SgkSyC3 z=ECFHE?iOx^lNyS(6i&{r3g+hXW@_c=YYz`aSKMDo@GCys#_Is!fP=dTF7ot%51Rz}^fK05B*+(z z7^5(6DL<3y&)&a>Ol0`QByY%DvtQv_-hR%MG1?FN$kKi|rcpjm4H+Q`4omMV6kv0} zrvQ!xtS^w8>5_Slu4aJGAT1{07{=sD0sV5N^;rz_LOlVWKru`G-Dv$}iwZ*fh58AQ zv1Y%w>v)ctlo0KQTU|nZ!T<1b-m>qo%9a^?{qOLENfzpm_E_qU3(ur>La-}Ch=mIneRS<3&$y=_Mslib^TbZqO^p<{=3GMT%Zn;Y}(>4}&p0ii}n z#p(X40QethGj|(U85EzHVTrd83<2^cus7ThT24ZLQY43BYQB#V6xxOP5AgYn8AzYt zgMEgwzV<;2eC>n$zxH9f6{z&bl)4KNRjYC;{aIDrp7yG`K&!u|syp0Ssk<&wNqsWmb4;Z# z4~MfVeJ^{p)aRN?KfqC?*ElPNDTcm0EN$oqcNV)!8>XOmK|Tsc$smhLUJV+8Kvc|* z$g2hv)p&W;P~HUz=l&WVTLUI4sUHaTI|iS#YN_8fI6hVBk1Ed^xvau&Dt*54tVvlR zlgqjdCs&kbA1W)H<+5&dQ=WaK%(~Z2S>c$v!XwlgG%l&_ysz2E(lAP$5mW}tRCx;B ztJGbU5aZN;M$Q=ffN{_;v~AchXg0J>1r4J{F6Q-130`X~d41j1f_-WK5)<=1>kEuj zcDAZ&-FfMKK>A=o`hVBO5%Ws*Z)y35VHK}xWvi;o%dZRa>r(k(DQjJ>PJLqTXl%6~ z^)Tpf3lFpKFSUE7+C5M0p09Q=U!Fj>a+o3w>-~XlX2n+xIOJZX$X+k!* zxwINjAp|_C#oC7{?-z{Drs%I2FykH8N^HXE&v6D@mB9h}4Ti^XM-{y4$%sq#M@^*- zli?^KBvma)xU_M}#$O=3C^U-UIP8WDdwH0ZTHHUJK1ccHmden+GpMH2XL5R@Qh!$Y z=C;bv)e9k;EPyy&zC;Pb=*=Ca%^~yoIpv$XN}I!AL@Wo(D)r}8z%Q#%rhM~&%X%VH z+hi%79x9yxm^G(A%e{%PSK1sSg3Ka#+)-(BoW~DS(LC;~ zv^l}!**MspE+}_zlI?-^Ta^Ry1v!@TkMi;}RreMyY!YzJ6F;`;}668EPC;*M5i53WD}6 z_yB!#I6%L~+QSjTc_75)Ue4e`LewtypRfC`p`6Mv4m@`ncy55R5ijDrQ2O&oYxYMtsF7bR+&Jbo5bJKa?~JyAQoR_ZQExHpA3Xbb`N#D@x% zHhD^?LvZeh0tM_i@xTCQ7CWhQIs$T)PM0`C`vY&jeBlgja^axTXW; zABHB7zEA!sq}4UFHd{5C_rcn+d>oh}KXY zBcx5X+UcZPU#NDv2->OjCZ+Bi@fo%Lg%W+{21t3QtX-tk6-ZznD};{;dBoc5Ob4G~=7Qp0E6!#6?0ub=?ep?=zB2cS4EzJaNVd`&dd{_V>r=&8hT(dH)T(dH_h%!$YW%7wKCRFAaDa=7-9uj4;h%$K?h#+W!DFkI8 z_<+M1u>j&vNo82MW@T8pW@SuN9vYUn%vGXH7AkX`6rMz79uZ}Z5oPj8#IZqB5M@;Q zJ22av{2ROWs7n7(=>-0jFL4J4&Qj{GeKAL+lf_Z#4uqkHd{hEACQ<3+SECZ^U)x?^ zME|Yx>lhI{1|2ha36Fw^c~U)!43czRr>dQpY!HNk3uHTIK$#(a0v(wq=~#Y z@Q#pAn)@dE_TJYIfs9xZU88`v3!%S@mWS}Ln3xnxpODhCr1bSjEXK-cTvBkE6nr81 zTO2<^$jOtDgcw5IA#(ma`%vDSqa^z_`_S<>5R=+Wc!~2j4(;p_FJHqXg`ooJz(LMP zkSdF~>|rbhgXTkzU@@$M&XVFo#ECMo_<~A*6~`hJAIJW}+J}`k7+A3QI@lJ&1P6;O zoNe1be(~jtIgF^CZbBHr=mVXAeQXXSYW)WYBpfc4O9v8wJ`@KM>+2U>GC`158QOdg z63v$pu*QYBtTHqW2bAMOD$E6652&`!`nr?BDtdj5>M_AQ)g zVP;a*eyFYu3tImy_?#k_O#Wxc1&Gw|s^x-~zg8;t>f)TCEVzo~cNu(1Q|H3PP=qwL z>~GJ%e2I|89E*?^<-?}{K6l~s1U|3f^CiMh8k-p*jmwj8xtWeoHNsyS`xem8nea94 z9hN)bSAR$R9xlW02siwW@y73QK`>E=K&^t)_;o2lA$@cfb2l+}6>|?TcL#Gtn0t)5 zH<){cU!S=zN0am~rPFJ{N8<=zBW3Uv>jq!rz2R$m5MC;JOG>v7#FsttOr(JdreWTe z4P)BGw^3*qG{zhC`wxwgI;Z0`GieU${|o3@N`IntasTAJ9iQ_lwrqP)IOj=Ge$Kt3 zf}HC`cL8f-gV@yA8nyBGF6LPF?J=Ht&>{991Ij(&Gff5r0p9R6JOsXeO~#_Bv70jR z*l%23PMdMhb1r-~=Ct{IhD+O-32=6ny5M|CtZYTof*aY2`UUs16*UT; zf({o!hnv}1!-@*Cv&Iyi%g)jkUBlCR*rZuGpQqP?k46SxBfUX;tE;|J?Mo_R+V?58 zX;VC(8e6t2e{9+hk4zhJ8wlFx3ZHS<#-7;5{@6w`W5aQ029jJK_b#XFxGOpJ;duRX zVNTc2nK|`87t*%oTqr2YIa%-~ThYGYc($TV!8vSXQMRH=!5e7l1!(CFY~)#N5O9WD1>qnY89ISEkLieid$Wrg9Veyu8FGJXt;_lR8{kZtLPqZ6%Erqzh;6U zKxZ^HU1t~II=c`)be&CRGzfLfI-6NDsaiEr)#aJj1?F`Lb9L1 zcsspQrxw6fF|hXIS^H7eurb0e;r+mc&HFE^7KN(XaN(A%stt-BQ|g}pb555D*Mdh? zPOmszFzC;!o!%4X{=nRy1TD4H{}^6Vk_96!h@tsvC)g;0u=n3J9!Gt#e$4d+e^o3^ ziGuyg;%jAY#^ZJ1DKDk5+2Hjc#}`aQ3OX!Ufz?gH@XHY!NQf;5wz7vcf5Kh10?u&Oxi7@uYn!Ihdxe+=WX^ z#N1H18@A7jZ|+El7F^msc`|gY@keYJRFd&!2H2=UMj?oS$tr{8`wCq!6uTgtc0nVS zOJ8ChKa`bdmO2Hc`pLb}K)J@PFl%yYD~MFJ{+Sw@rGKr|7a1oIk!9o@^p8CUy#hk| zQX%`OI-nh>sMg;{3(MtTUX>oG!E~2ZdOx`%x(J-yQt4H4XSM!0agymz!5u;NalVHf zk=KlDbmtNqH($H{wK6`Gmg9qi4P+c2WN^S&f0$}xhr?7G8v#>oY)lXg98P}`hD3@y znJgiu&ynMcOaNIZ&)_pFNd}e=Qe473ItrGG$tA;3pCXq* zp-R79?m~|H+S-+?IVI6q!-49-V)GVnstO^9%C2JpeYIBXL!Hx!3$I1bx=@ttdrj_QOg$T+(6 zmZ-$5^KH^-&}P~h{JNq}%}g4qPR&c~fI}=7`a2UAZROz;h>OlZ8GhlSGZ36_dSH<0 zZ#!^2X8y%$r$}8GnHiv-X+E^Sczz-=4Py$29^j3$0634I90EQ1->@gvx?dz_?URRq z0AtictRphDpeNc>rs#pio;Zip#*U37*4$3dSIFatRoBQT5S&V}qf)rEdh)NDJQ+=X z!Nj+NH~9)V9=}>E69|kyLoI%RK!(S^TqWRT9juZ#Lkw<1W^sm|j%1l+=mJ}B(@`aZOzGc0$m*u|0Og$<9{>a zB*=5Kkyii(pmumfD}h_|H9N>qbdYd#kbQ)}I1y{%_$0L`SO(fcT{boc#@fjU>CF_< zqi}KoPUetqg_G+M(t?E~8bM|SiGeU8&%oyjlxD*RM(E8$a6Avk<8Zu2YGi^qQiDcu zQUeCT02~P#2*ZqA8KI?e-S`t;ZlS>C8Oi(uxyeF}c}xuu$zMs85bI4SsMsL>gcpmk zj3`g%hyUE%3_k|fh0-#(ZD`L@Ai8$y(Wc`uI7tPv*U4Rk^#ldT=hS7fs7fwF>S(APNG4sjz~ z`IZWkD{U@6agw<;Q;>0nWZ-fgFVFe;^@^~|&ovoa~POXQ@6Q@jJ0);gW z4-^%s^)G>xPNTS@Q|mvH$h`6%@7vf?jELUGR%BsZdZLh7pAa$L4MZkZ<`&UmB?D>3 z#0)G5b zAQP#26DnvqoS;H@{AzT_00QF>)Cn5zO`Cy73{1&Th(T>O9B~%s&sWIj5qymtw-8Ae z)By%U5Z*4&1o(e34)3RH<_sc@E<88{VFD|)UdH}6Kp}4B;x;Z5cX^YqpmWw7IWolN z;bIt@$DhL@l;CURy9th+*69v4KD{6i4Yw%03KH`d6Lf*I94^612U;0e8A1^sXx;b| zj65|q+`v&$P=7l){uklST9_?_MwzAJnhs9*c$Yy`fbdR-^M8(a=qDsX29XS}sr4`` z;oHYI){#Hq#bydj&M-_sDe+k)M5qzR)Bv%?VHTq$8)l2wQr2>~zfw(Pe+7QYz}@8k z(H4tvO@;jHTG?VDzilD^^MpUU&7zdrqnhIW$pvaVS@;kJ-Fm4b=OR>rEp}EA0#dJU;Z28FzercyV3IZRkG3Y2@WvX z{G*MQj%1^yzqiFkOC~>GbiR+nySf}ht356wlPz{y>JWlpnU$RuU?J?ZEQEn?JpG?{ zTIT%cot8YZm0(>Xj3lRxvta7^zrEGc*XmYFhUHevl-n2(={&Z%ixe|LV(O=nX*+TV^{l~o)P_Wcy%lun>pr@NH zcA}dtCH6;4`2YXqjg*o@gsk-nNt6}Vde7ht)`9Mo$U=L$N`TfFOV|Puol}Vd$1NzBMbAMO4I*; z`-Hz_G+#~xfqBfA6Bxw)Pj8>_B{}_hR1n@ltgJ*(fPJ7s$*TB^hj(!LYU&nZQJlOojpsK{$SO0Lg&BIFZ)M zq_yz)mB@sG0;skjq{~(!+ z$vBV!p~m>A9Ty-|Wc)LPjjNrK9FDP?mPHybj6-~VE$eQRx#MEA8#k|WkO zNfwgL5e#)`c5E89yLgiXw%xF8rFTe{UZhsHvO|)|S`yuEG!mx`#h+X08tTfw+adY> zBo2py`t!;0|KB08+;_*$BeC}%?~uU%8~n@vIk5QG0&tVBrT>lpB7jE0q+%n`d`Oia(?F=`Y~Tc|M(}oni$3-|)C!S^kLM*8U434e0S5 z=b4mjEIqEKxHlXz{mdUEe^I=U;`=Fnn&KH$zeI{79rBmKiXRg`i-_sDKu_^F9+ucb zeL_$DggzQ8sRcOgT1v?u@ZJ1K?@j4P(b8@dmr%QeQ@kI=lj%F9?ovEj!0{nSNZ0s- zL`U%u`jG3N6#r4+4?p%`y2l?RI|ce`JYYxLcShikFP4NfgzEKx;)V5je1yM~k+@e+d>vQ>6E?X@E*Y@1uQa@S7+-N~elvMgXj_l4&^S#{$$BV{(3R*}p~Fkk7Qb4% zBr$!{b^DUkf@4^`0K0_KSd_7*FUgEADP;yTEWC~!hD38Zu3?yvcVE#{NuUT`o{lR^ z`tRttw!}x!aczl@q~q5TpGC*7CH{bpUrU@H)&KKv8C1nki_f*Q$(x>pw_{O>M8E|U zUm=C2vc!||1v8K`$+v`rNt9zx&z3OrOA| zen~8AL_*H6HyIBsFuMdm>JQQ)R;>Mtq!EA^i_{b_iTwQoO8{|cBMhkJC7LM@)9 z{-$t*yN-*qIW+4hw^tYf6JKZBNK=Brvz3McUTQ<2_qsCD)Z<{xb+*z}2fztICjgX& zUf%Gm9z5NK_gvm5Y*I6&DdV6_@j5WcMw)tu=Mw}E({gY#rnkYz9uAzrr!pK=1|LU5 zpX!hcf}iXA>TZA571~sQ+v(wAR(G@<;C+>bKt~h5CcFj6&oO&r+48}^Q9?nyz9ug)I4cQ z6LJ#hs5bPP05%03IM|l3r{-)8^~gDR7^nYiR@2d))+ki8SR;!K9$STaudi0o?8h^ymsH zy9K|e%$pKR&^b8$Q=-%pbBlQ2@Rlyhc@!!?rC-W3yt#-`4LAJq6b;{Jpa2KkKaqo9%AI0PO-hX>JzD>R3T zf4f$u9ZZH&=)MCOM#+8BgdGPRz6WofaRidtB}fjL36^1)fM}5N0v}U143H_)Aaqe) z0+lo+_RE(qNNG9_WW0XD?J}JH4X00(I}>7bKvf#w2P%Cof77p~4-PLeHH2T$$#6iUGvgt(9{lcW!Z({x`D8wT zw;n(x$zSE5F3t_FNnhja;O~AHCWuc5@ro#z(>><cDRRjIiqyIQ=l-d8le!3^+kP5vFgQLH1NtS_VQKZL89)W}CNO}Fb5^qp=?qw3^ z5?naLWEsI>=1Fe~;nfUug_Q>oz5xNnEzVIK1leDtDKgNI)93Off=%>AO4{Yfh0~WI zH^58$(n1_`ndRZ_9jNUdd|Qy8R9UFV`e^4zy+)l1PjKW&Q*HqPr|TjIlU~Fu&W9%< zXu3`Nk8Y!^TM zTgG{XxJGrFgE}cnb1^#^H7vYQC2{RuG`uqGZ&=SLXxN4Sd*=zhl!4U0~f-o-@EYLdxmhR!*#ry~F9>6ZSB8fFSXp zFbQLSI{WJj@%0c7{peaue;9mSufZrLbYd1ZEWSj;2tQLtpfZmKGkF4%N0lJwJBY6| z6j_5Ff);QGcy--7o5TUScXmn5MRYQa1OqB|PXN}Ymk>kE!uF%EaV3Ni`|z@sBB}LO znrZ+?_E`oT&;I%&mP5Ks$stYn($UKzZV>y0OMN0u8G-|) zco0(p7|e8hlfewLJSngk&3mE6rAITY^IM`jrqIh`MYO=X9zI|!&M4UzzYBX6$SzkFa}^g z6nr5H1LvCTWt{c8t|bIiU2s|1j>| ztd9H7=)I2oN;~y?(7AYh$cKR={19a0&{=FB84~996&u>L2r7`cWmVIN zk`Kk}7Y=SVfR!|Vy_yz;a}EAl36mbU%S|bFDC@0Viz8gvYn2UuQQ)V))gmi3Z(46I z?5sOnd+~nar@v#eLHn5dXASC4;)hv(VtUf6rlx}airpCUOs_yAbkcu0vo`n)V(d6 z7^Qm)m-hImp4lEa;Q0QG0A)=nqfDf+?NRlyGHl};D{iWP*y0de0;ku* zJ_yS%_Ed%bu_?WHe2^`c-%uL}m2T^76Pqa^1J_wo;Hd`lMH@WC%lAPl{FV$Si7upR zO0Yi6@UTAtPcg&0MT#4VdnT!Mp?CQ{Hq{gSy;OghdO%TeJSbh>szkX8w`^4UODgbx zUMJMojlW;wUu^yGSGIjg*PF_MqUQB}qTG$s!`nF?7-e{OMrtOkOQk6bz#X7Bpa?l2v$>V@k8 z^LU*H!uW~K+IThfAa%Tp$9E#qD?qOU*67VZ>n8IZaUKa=vwVu_8x?U`z(oIdnR2T{Tn#W?5 z^BzETVV)FQ;q;j&X5F=%pCOe z_|JC+|3nO8_FxBi?F$4S%wRNI3l$)mb>MVUF__`yBV;j_)#bAo${hJDMzXSe76aLP z#Pue-=*BM(7Ls|V{h{H=DH4~+JD zuwa&^bj69|9jx5SV7$WFDYuLqmB+;!zqWq?Q!=rDKIc&@^LicG!S3%#)C8-QCI(NN zjq{SF3&MziDrT-wyH1;lRFb=+R96I?|waBQcsYIN^x$ zHuScK183-684fB#Z%2c&I^=@DUHa;7eb(K!sc=kptQjV+!Fx?Q!h0DajD34qwn&t7L_5o!?@%j!QO6B9D znU2wGE@6v$34F^TJ-M#7Mz1MF{}H;0kEd4XEqxi564I1!fyX>kQ^JY*RVz3#Yk-45 zl%wf78+q|g4L+Khh3ii8$T;3k1MvScWXc^ANm~ib#mf~>ijDW(yQD-~R!5*?I`a!rtIr#E% zaGY!F@8Fzn$2rK-%J?|A%qgpIaGP1q&%sMqzPm%Rt=&7jiVj}B4sHqu7as?ikApMR z@o}*4fwxU@@Dbj*zYFx?`SnJA-Oc>`ke?Fy`8fpH#sW7$EV%hqBD{!?1DkA^MR;By zFWnC0vbrgdSD-_Pox#Q`v%pH>P`w@M1L<%{Uj8DyGLaWF-9j;+O16Ehw%^Cxek!L2 zx*)M9(YaU-X+P1~&mqIc_Pte|{VQSL;BCv80!s3-Xg}#2PisENnFEX$Bfa!%_OcCw*m5W+DN#gCv*%B zUXg^&EhBl3?>Z}${x|LwL_6R;azbLq2;yXA0)=Fpz_B@e5D%gi$QYq{Yxlf$p!6X) zmLQQa07o1b`msf1CSGJX$B#4UIf1K zKZ)RFplhwktt5h16~SwZ;BpZh@1?XR*H;AZC4!F>!KaGgKZxLKMDQ&l_-+yWun2xu z1TPT5O(OU!5xgwKDQot062a?=;2t8lQUs3_!SP;AYx-n};5$U{6C(II5!@((e-^>( z!rW#}PY)5iqX^z#1Wyvd(*ehOWkc|$Ye>TU^0NrNqu5)W8M8$%E?zXWJ>bZppYErE%t zeESRv>f4K;5}NPJ_3>BuDg88IN%8SG4FfkHm9nRwvS*+sF*05o8m@^7FHJorju;Yz zB*him7AnUijnRyVN=!gTNnt=n)r--N7r2ZGjRwWAU_?}m$A}n-f1f^@xTHjlHa3*#%RZY_iZ7-uK&Ct;05BG@*XWSr z@A;K9;Dv-9Itx> zJ~*#pDgz%Df570l;VIDLWickC$B-uAG6t{9;L8}C<-eQ3Sw8s;&ho){kI7Q57sOEk zXZ0M!;H=yLWB|#sy~7zCuM>rKEn@Kc48BtYzb1lLpi4w7MxPP*j}*ZWOS-Hn3ZrQT#goK6U9O723gt!QB{~ZErVu z(6?atgflohexn(@B||@z!P#~#ptz;n-x&H944-o%^iM?SUokkV=O+ed^{hcJ#L;f8 z7`gQsyfuTjqPV6097ErNp^s&7Hol!=a5k>qVDL5!pO*~o%HU<_^}D4$4JeN7V)bb& zLLV$bAI{*cKC>7c=VD>J3(qiG>T{5xXZ5+l;BE|`T9x4h66(+T&o>Ot`m;BKv-Cj> z&W_(G24~0bSO#au?-UXIdj@CaE~U7o9X2xb?D%ygx3Tf<#pgo=dp2Wmc3gL6aMljp zDQ+n@ilJxipUB|sc$vcBEg60I?fcUGvRXv$E`|>)_nZj*6A}7X49@ELiNRSttI}tq z(0^Jn`qyFb)(jrN;2sPS zJ6?1m^s5i&;1PU1-t}(ZZJ5z-VUjTQhB)@ z;V96jFgWWc%P4Ny?;9C;4J@K5k5B=dX|q3{UHnO!_L2z8N3ste_M)M>KV+? zv;Gz)La!5{H!wKsp9>hA_0OFm{4X-}tUk9z=xynKKH7n$@5_#&vvH;cgR^mFB!jc#_b!98xb_c{2Nw(9JG+IU0vZLw5t`xE!*YK(6ju5Md;&2 z=yf9WzlhLp6QR!+p})%DtpD6*aMpjy;^qY;%l67Cj`m^O>n1|47NHMg=y3@k*coMF z!fh;j_*BFbNSMcjIO-()zDTD>GcKcqw0q6C@Vlc7>S7Z32){ex7{?^wLHw!tJ_E$N zQ49}WG%wH#Mcx*;pr4H5s5^dy)Q)BZT%Z@^3%GEeVL>naF8kO57wq7L3PKY22zJY` zzyI^$jEKJFQ9qC;~2utrf?*8gd0&Z-i)fx z5whl|AECZ9$L)Np~(~n358*@w}^`A$iM*q;0CP_^iIXs5GZs-Hc3a! zw^MEbx;+!%>%a{7A~&YG7mx~%#tQfHVsw%ycE5n{Jt(#mss6HQH{PSkdJL!c4I+Il zO&tTbw=(yfit}Ndil_j5L#*%}NcqZu@1u2=Qf0Js2h@D@y=5sp+6De6P5lK*O;KQM zO9C%SumlM>D+KVsFySy737T6W0Gks6RNYk03IRt6x+B3oXas32-&^2Mdj8D;=x9fw z5Fb3{4DdEcbf#iY+6YCwCsh@$2u8pnXeMInKBDhurPY}Upi{Ohy@D(EXY7zVo z5q!4@j#INWI~)_iFN)yTMR2_Kw8o#_-4^2-#@}UzcjdrZQyY)Bs*To8#5;#X?>xhs z#_+BzxN}GBp0lvnIC5uCpnp$aA59qCw}sSZ332gJW8jv!2?&l0jZV^P@ct?|p*N|G z3?uiR;Y~=TZt-Fy(>vEt3E{>rdS4sfQAF;6f?L0UE#3l0QUHG-*A66T!3>To z76Bi@;JD5g@K_Oik_bLi1jof5CcMsJ_ge5>OqdYI{uAWl@)8r`czq+_Aq-xX!4nu9 zFSiAHd|xUi?K!nd`hMwiKi^1`_QPAfggX1=wfaCj5Fe^0q+1VWcHT56%*R53W$eecqORTo0X;g?Wm6=z7oMUV9J`o=J(XsVN1VC~7LgQU zsSw3!*q~<;(LK3;T3>8WPN*;JNeco6`NGi~3NY^`5YXc&s{eo56I0Uq7S$z7|6%)w z)B2V^A=HnwU@X{QfCoXwTK^@}eH@{mu>Y{GP+!2s_QZtuOIykp>?X*^b4%T^ERrrc zg?mtOZnd^2C$=XhqaF7WnK8*yK3;c3M~x`GC)Qpjb9ZxdW4=8-VK>av)6MJO?uiBA z1VNKGIeJSRB=C%&9)ER`z)L_=2+A2qP=H;b#4-TFe#~QgBbIP{6oE&n?GH2mF^8LH z>^XgH=m)HaWw5E{jm&IeQ_V2h8Q(@)h3A*+OZpFSNJGc(M@Bx3S6@4!XzTIk_4Q$07z;bCSJ{IHsIv3tI`hm~EBj^=? zM*rMBGs|S>{rX6mm)v@3>PAv}1n3Nq)7^)?Cw%V^uVE^@3(*&ztX2cUZauvv=cAnk z3{>X{JAed(H~gFQ=#X3zOt@TMd(a1-+4q%^qy7eDT_{AxD_rs>-~9ln7e&44k)y{T zJd(HH0ntD_$@Pr`4Up*sJmqqA$#{eW+1Y#!vrCJ!8O7OoG^_VDzyC3%9JYwO+3Wvf z?_J>IEXw`y&82O6A)6ixMn%|a#8k0nOMwIsciT<7DM^X6g>V3qlBP{1Z9=nwB2a>x zK-aLPDq_7?^eD&UIj4%JmdL3og_ z`Td55DO3G=AGl;HYPVS`|t85M3`&ak#Xh0e%_nJ_%oYfQRmIcX?x+~)a=(;D1BD| zKX4c7<978nz=ol&S2jZ453w8Gbh95rN^5lWabW@f}hQwz>k_HG+Fb6dWMHG2bn54 zCw?pGqa*1-r{=VT?hexB;|syu2yT_!%BDYjI0FVyQX%hi|6yJYjQb7JH*|Tz>}4cu zwl?!aL9y*0T2*w(*0s78=y%qq|I>&{E zA$wWzwecKRV~(rIcKw)Hp98FS0oHMgBK5>2Dp%N^>3mkrQ*wJ(bQ5m@(^IK}Nsj|ZG?nQXCm)l$3$jy5-4|`WLCZCR@ zkwhM0GK^X#;^~Vp$#%M8#HnMr@jhZ!4weWlAz0$HRKn6o3+Q?8@BE7Dfkw8t)dP`| zbgU55W*0?@W&pV;t{;v1(S*k!Pg|zXxt|%S3sK)9f!ioH0IE;7ysaKneP#7f*@VnfsB>}X{I0g;IKLALPpz6d?TS!n z+8Loa3zzdEfisVBM)2tF7br0@@Y|%y*x$$J{L->U+%8ZCYuw;wsIKOuE;ZQseBv&G zn+jv4<;kMirJ-v}%V(9AMG>|VUb;sQ1SYdDQgjPQ7b^`FeFX&|I%~w`15xuyfQ8~?)yw0a z+gHc<-|~TdCi5RTr>ehsiV=%8Qs?OMpKHxO@Xt5bs`*F>>Nxnz`V$C9tyK>1r^u^i z9u$}it33xRa#kCh^@T>gA9%9v3r1W_8!Y+otALY##1M*P{RVF|xO%5xzYYKS_^^8> zpY?dssCNs`@8droz298ugFf_+`ryy_;035a`Qqg}n-BLpe?JZMOxG^+5iIS%Sq9%{ zaMcz-7Qb`(oXg7>??NA(mlEcq?>F%tG*wr%F^HFUv{23}Q-IRO@FJ{ye0c3O=^G8b z)YON3==T}=7Ki?z4}B3jIr8r^^s3#0oNoi3Po7F2oXh+Z1KIbE?YA=74r@`{;)OjO ziDph~XOB|T#ly|wOP|g~>X<7JdOL9b>2LDLIlfAOp)F>N!#Hc_&aRtV+iV>%$Mm&$ znv>M#RI?#f=dF#Me8FE1FEeP{%4XhxA`qv&^I-vtgQSa`a%a;iJEzn6R1@e%A|5#A z32;uG^8obW>Xe1*uA9H;0p;csGK%5rdqW4<}*vmuh0 zaCR2h5J_-Ex^u-fIcL>%4$Gl-5VT@-g0wg!-MzGPxvoCuwN>*Qe3fKQkn@i;sCH`Z zMez42RAWKd1wYl`E`5(hZ_izR%cAEri17KbMQ_i^z8&uu4P~^~D(p1_d+s%2(c5$1 zuUoi1ht7K}Xvp7|lY44th?nDENh1>i;V&QhV zoM+)DgO`-o#Xk5FAH2s0Px|1W@xj0DgY%+Z8a`|}H(PiJej@+Reeiu2KG~vw(co_V zDKq^Lz3qJdyun@iLeu4t{sR{OWfuNH3%}mN?R04!4!S+D>+|m{db=L(vFeY#7Lu{j zYuBqDOm%h8+!6U}q;^2+Oz1qRo8}|<# zT*g^D99+g(`yE`yK^ST%BXY_(Xp)1=c&F0AWn9BgWg6il;}?y-`QH$NlC>#zk5RKpUoQzY5xDue5O}`wuVUv96Efjh{v69ocq#vhz}&I}6sR@>|1LT# zEbFA$1>Cavqw8P14DyS4LloCL)PY9X1nUJqMGqLy5Pkb()pd z^xWdL$yZlkzcNz9-G!0V6PT35RNr*$-^6Ca{fvm)6+?7l7vb~@YzoEPV1b(bWQ8Ay zOj7#}4Tmb;bX?6~VAKe^YU|>uXbJga@-tDt+_v#J`>!d=~V@yd1e*(YuUJ`8wx6TcP=+wB9;U%Jr*4o&?=n( zCtq6;4c@kus;54Wa<1)zA|esh7Ds1 zaGk0=x2V{ml1-`#^w<2HOv+`~eg6MvrPkObMmgl&P1&#GOM<10m{YlhNwC)NI_3vIasxEcH zh5}T%Cac2b*0(`$9=v*_1Pqj?o&qTUV7V59}|8dOU?za|$%r_bU=eHa`x3w@|D8pajkQ7YJ1$Cfb-Al4(-ssV`#!DkobLtYUivMC%6X zO3p4wT<66@z4C*%f-;*5sXQtXpTfrp`qq+x6Dw-Uxzyf;ZV`!~wu<_SvYaH;Ba^Wu z;d}(q={^C>O-w2+2foDk#n9uYyZYlz zSKq>}9w(9RD?hw%G0q1KQ6QfG;Yp^t)XwluT{l3WZVFc;m)2ulER*4gyMO*RWSL$^ z!1#;frhMx`>Mm$?fAg%;4Ll^2*!aTB@?Q8nd;Ar7x8n06=<6WL5Ajbk zo8Ot)ef`cI)id?I+G`7nZpa`1tnqC=(HGXjW8}5ovk*V?WIBqS=3M?@MXw1fbFuN4 zVFeE6t*&kT|Kywi$M61YRHK!z{WB2`&h?8?brKHF_pz;UO%;HA_&Gj!oezG258mQ~ zb3~UfUiMP?@U=ep*MKv<8_YM0s_Vf1(}#Y@2WO|9FW$#|@F#ungFg7*d~o(2`Qkm% z2j^T#K6-xAsB%{?mwD$9r`k+lnml!_t(x!0$D7Y7gY#$1Xw)mO$imqM2;OYr_T2SN7H-RVm%&{*xfV%7dF;8+13vU6=6!VO z-)nG}Kb7#%xb*XU=$HA>^A2wsKJ0w{st^667H;Rmab|+Vovv6B}x!cy|v(KVG$%^-M(+@IT9J`C0A=qiihyP+W8H?aD zo{+s>f_syx67WqvLkP#F(-e!xC1Pyn8u`V;?eqQCAU3cOgV|;3F^1wQ9%08kr8x!v zjNddjgp^q&gaVkSY34ojRM<%RX2XXOmOQ87-!>9I<+hE)FV6@(X|J-0U{4wOr#iTV zlPAZqVz)_ubd>4mxPam9Iz&F3O!!8Jxy$xq(6Vku@Nb)5R#up}e&FziYY1IzWMQ}`%QlWv4@(zzcFTd1BdsBv zHoY2WOlXe&j+G`!3j~QMVX|uo+o{_2XH;#=X;~iDh;utJCjJu@mEo5#n;*i2RRxPk zX6mrD*j$s6ZhWccm%(%&JaH$A%+g;7XKFjTqwTozwK-lbxx@G@hBF z{~a`C;-EtK85K%T)Q^e$PXQ*$+u$eKY9@+^6FBDub{m|%`pyS)ROSw zc)o53k2}9=j{fW5)WwDwUdQRXh6&G2!!A|BKdCI_um|~=SQ8s%bVg*ANp1HH* zz-Xi&VCr!yWd$i}gMMFzj#QP1$f*=*#aU+9B(`rt_) z{Bu6|*M0E+1kO2-D%M9BRWI>;0RQ>q{H+iEq7Tk*^?ZD?otbs11Ls_t)!fASGv`Bp z(7gEELCFRmm8d&u>Eb`YvDHkbrx=aoBx-Ev-~99jTUZyyX`T!E6+0) zz5Pu`y>m1!{re0~`EB}-S-71KGFRjBk^R~(pU?Tk`*n-Ioo`z#-2NuwDl858+j9tq zEc^ucNxl_QKp0oflMU|5`F;zx=Pqh2+%A`>h1=!QYH&X6dUCx*Z|8G}Lc-A7kSKSb z`px3fUKsdIKSBt}Ec5%OTWt#gI=3zH`=(oOzHue|v3}F-aN^^VQEwj2oBgIM$oHWHes22xzUfL#_& z>GqrW+wI6;cjc!$Ur{&mg@lP1PqvxI@=dqaRA_1E6f^v|@pC*2g>dpo7dp~6T^QPr z^~SKH|E9b1y%IapqpT6UN5|pJCC~D!9%esbE((vw7`=qYykquM)DHc6Z7V{eJ&;6D)fT$^ znnYWu6`H3Lik7|q!bH!Cw!q~)pAn+QxzN(?5H#k7s>1oeX#t+C2rYsBz6AIu+HtBA zmnnrh+LmjdL}zEHW8sP=ZH_avxN}7aH%EokI)-B6kt#oM>FMa{&IUvJa4nQashkcM zwM-IP)Y+y*))}G~PeSB=`O+mS1d5z-2No^s3ai9Hncb2VJy1&svd|*nSLVl&v&@Se z@^E1B(iPn}=GvNQON4NX)WQy|;+SVh$L=_pJxidmQHXTucut6>G#iR{$HL2@z*t<% z+Pb?JE@^XlEL*ZT99ou*xN~7!7th~f$p|IW?FBa)`dl|ltt|_7cjpZYxO-tof~70s z(Cx~SSg~+vN81XIW+k*FdO30BvM!a0U;w$=cs%&ZfYbz4OuD2y7LLeNQzsOWu2fKd z7+Sovt2@LZHHWB{cZT$6Fa*7vxF`&jdwEYsN9gi4)Va2huG)BCx~ZjedA7Q=UD>m+ zBh&?HRNmoT>7=H|kk%Gy@-3va6NVNufr|pvz{!^?hft+XU0D{m(y~*+&Msb=h9g9} zf_C?Gb#<;tfRUApxiQ!tD-aR#>>7!^ySwA6(?TmcJ3203h_`iNB7sMsXZaP&JFi|I z%C-%BjXl^@NTFJ`u=@%r8o?x~IpMlc_Fh;|@Q~3{iX^Gl0?}msRJ{##clNAkW&BwW z6{#oRNH4G2=6HFnla5I>acuWgIbOX2uP_=D(|}2hoEfj3d0um4G^X^7HpBw4^VKQ8 zMts)H58z+9F08$vZq~(thT4YnFSxk5{`{He1C9MAS3kdQZZqP;jd%*u zN-^1Jkzi)SJPJiMtIAy)y|@`kx)3v5zBsPd%cWm{(|I#Tl55ze_U_@6=xqQ;@RSI3 z^J^QLO;RZ$zO}q_b#yn(o`nT(FNxNe^U9Ub0T`kS0Hp4fgYIcM+SzV3t z#GpO0ajd{52c0I`nim`Ou4d1Kj3Zcd?mh})EH8O$JU8;3Z;^7(o5#9K+YyVZhK=s5|V{o?A^kE*ELzithIcQ3>V?>5GQMJxw3X^DW3oYzk z9u8p>Nn0yMA&b!KEnU16Lozdb(|v*$9s>m$W}02cvNc_&EWdv?;kLi7K`sXsO-?*E zoq7Y1fqs0<8={%y`9&(sSAzCzbKHv^_Y%jAZ<4!v6uQ={I9QUUk zciM4(-f@4{ao_H^2ORer$GysNV}TQI}ZY+o8#Mk4vzv;NY;JC3cmlGayojLArIqrXR z++TFuUvk`EcHEzH+*dp95lzTYNsc^$(AZpend6R(&h@Wy{0}<(0*?Pa$A7)!zsvF8 z<@lF5{u{>R%Cpa*Z*=5saok;wyVr5Ab=(^q{zHyC@n7%o8*=2Ya>7R(ccbHO zaok;wdxI0-S|`51xZM2P<@iS&`G*{SyBzmE$9>S@chK=)@A#KF@&sIe#~pIq0Vn-c zj(@~)w>atRa@=bje(N1~$dR|#4ez)&IN^I8ccUwx6X(njFF zcFlEbS-Xxf4&3Rr0Otl~kH6&ab8f)CBC9$ubwyjp!l|4JqirhY>K1mq<@>TIHs?nF z@pop82}IK+IC zoI=ESeH72KESYCp;DcjanU`Lz$#OEfRe#1LaFtHa^43JR=fp&7H>Qu&%{(2Q3m2*R zi0%YF(w21lEYouHI=OI`yK_aeCeAXDz!X|?j#KVq@qdmfAI`ng&}pwx%Cxpi{{cm< z>6tIG2FGtD8le~b91Sb}Hhqb~SuaI4LgfzrHsh{z@RN1!JQ(jQv(h|8PK<+xU=5+!HwL;2$;gCFUvoWxsy8gLfLY+=(IdvR}X2qAxLV@e#Lh=I57;TlPQ*A0F1F zX?N&x)SenaNa>iv&q4E2N}%{2mheK_d2-TO|aj=8x8%i zgNq)665~&A=FhdpUGCtw8h53Gf8DsN9sDlijyw2H<8E^B-xznhgFk27D;-?cE>}DF z@kPuv=yG)MN`v3&;4=)q$-yr&_znway{c5)q3h4V8x6kS!kM2}7(T-e-fM7KLzVo$ z&EVzcDfoKhmUIaIJ%d*}^gE3^?%+=vcawv^Zrtq_&h+-0bgi^-rfZUEw^uv(2MxZ? z!Ot@Ioen-r{I4x?n(!j z^BZvopKSJ-H#xYR-)ML6j~e=w4nEi5s~!Ab4ZhC7mmB;}2fxnXn;d+N!FM?LR}8+_ z!M|tl{SGeYNroMKkD)IyPsz_e8F#sZ|HZf~9lY4AwO2d%i3X25_;iCeIrw=7Z+Gy^ z4ZhOByA8hD!EZMBItTxP!S8hN?-+cOgKsqW4hO&A;CmhXX9nNz;7=HQ*ujSlUSgh- z{}cHV!<0L?+_hBc;88l}Qm!S8hNM-0Bn!7~Qm z;o!pt-|OJx`OyHg-@zvteAvN1Y;Y-0$^WwqUT)$M{33%_I(Ub{Ln`*{9y#ND%MbFU z45s>c{36CCPw{ZS1^xEO?cxSSn6>($_KPwelRWP`=M-SXO*d(%v;DsZ7z=4_b1EF< z`DVlOyNx{EJ#xLkXl^q3uU(p!c9A1u>~45D_al2q8HPsEFX86{qkV+@<4KMA0tuj< zfslF1<9t}y^+g0Q&lYa%gsCzgxTUbOiVC}OdcrKiKjW{W!!kqW!*i;I(JFGw6YE4C zW|KZEAFei-hxStjGs9Gm`k)D4?IGGC@(YZ0qP*!}`(8~U>16tur4nB7iNM^vXUIx! z$c4E@KfGT_w*YjzveR#q2`}GcoLk`DVmE$PuYB=~?w#x4ZyPs$?(yroB0O@B-x-z$ zAe_{KP9UWRXnNI|$9(tOou&>^j))S*oZFh8p7qj#njP~}53V{dJ?pi2`uxJW)GwgE zW!vn6g3X6PI%O~J{fSe%!&CbiGG1^$Z>afGJbit^wp#Pqe#vF(D>Qnkw>OYEg>y!n zv>4<}#O4nCWY14sa#?r?)ahu!yjaapus;dk-m?no(=!TsKADal#)U#_uwWC21vkzq z2=9*ezI-?_;lM|0gBwd|?>RSlZ$TYSiq+iPbD-wlVBeoXn|x(VaLpQ8?k$+ItL9*8 z>kXGsAN4jRcWUn?Tf@79C-;H?cR}rh?jKmlQir9{v0s`L7vSv56Xiwl!FiV6;#p!RxhW~G&*b2umV z{@$|#iKn0pq##~%py!2n`r3kRMYu2xmq=+osyZAf6wN?X+M)DHN&aH-%+w2JTsD8X zdsNQVZC$)JdSU9|mi;I5P~n2qUwNjmtPi#2^AIPs10Hm69wk<@Wz}h3Mo$DXh~>z@ zX68pZn5mfAk}GX%qxM-yT=dgy7K!Zm?0TzFN2 ztC%JP`*@p3L+e4_M2LH!UQm<_qUst+Z~!sh`f%NpN6t%MceK3rR~rRQhq=u4>wVyOp{FN{kb95;4X z>Z$M!P)vDn%kasm?Nc62?F~N~-hb#SiHkUyzS2|H*Tnu4fHJ|h_m!gEV z{u8ADB|5$^j#ZN=Z-~P068l%Jqr^cjW2MbxfH>2IwWZ~^Q1{AB#nIBrB+u^^UNx?? zGFlpnmX?EJ1}|`GE3JfB9)M^O{5RwQ^GC`7$~A?vOUu(m(1~&jdEGQ>W@%M&bgVQ| z2&E@gK)`c`@Dz--mvW53bgPIC!y+ z>5bg8Wp+~K*Fu54nAj~Rw*}>1X7q+zua2~HF*-Na%rgXfeM+PnvBPVc=y5RDFBz>4 zN-0F(!$>zxG5$G(k~JZ|pESfd(h>X;f-uZhG$$U8y(!9&p5s`d=dgvw7VkUA6o>*FfRT33{Ls^*(37Lvv9lqe8R$Q`Hv?97(Upy2_IWW zu}y!b5B+5Zcjdg=qPO!Qgt%x(Z<4OuP3kv`_Zs(Y4leD^J_lcKGc$f~<`F_5Rvo`N zj((Fa;qA7;esdfxW^O>%Uf2&X9@ZTi`Ns5{G z2`A4wz+$&aUvu(Z{9M|PoA4v5gXwZZ zP5{Y&;m0*@MimjjJmY++U|Q5~c78y@OZl-)ar2%*LZ(8soAB~*#8GJa0aK$)kd2oWWRnIjnS4H;as z4*u!oe|^L6$R+rWoaTK;zSH~0cE2S*>U>LXDl!INm1DQfEWvkY(TFe036}0trL$9i z(&c<(veN3ghvl$kKLed_%;d{s=LOfCf-J{ugqnzx3^>1;_TfpR>H{s=3hZ46D_*4RL!6d6z;*j%gn3D zF}O>AmxbH$ZuQ~wTZ`U~*Y94`QKn;d%?v{1{fk zA88D{(hQ8-O?Y`ox@~v9qTXl1OZ_?4F|g<+!+D$>OQEnIWV z>tv1A6ktS2qsPF!3!~=w8{*fU6i@9+JrFlzEVatP;UvbLy(IU>P;=lI#0k2=#J zva2qAPO$=0dnuqdJnkc5R?dsy&|^IgQW4z;xe4V5Q<~32>oCbjT*;chWnNx%yi#WJd^Y3(DjX5@N%Zp>-YlvbKYC!oBfk- z?8SHWt>{8fRl$UaC>>nSfSj=JOA|j&i)E zIG9OlHMa**MvS>WNDzkYV+sCcOvKllhGP?Z>@!cHBk7kJ+@-(6!h^62e}0zIklr2x z?osGS{?8cP?KVE<;JwEERv#fSVEgVjmKk;;aLe9rEE8wKVD{>V+AqR*SSB>( z`r&(5bG6&)7=!3GX+Sk??H7Y$I&t8G$G5(&q~;^|RBw*|E%( z5`kvp{kpKS^Zlpg)gS4*wN< zD(2Ovw#ILKdK0{{-29LFw=O2nFaZcci7$b?R` zbGHioSDoFE`b(x+DPQYFFeLoaiY`TtEgM387FBUo)~B8VRzKy*`hq_zpYUT6Yy8Ih zm}}TobQw3dL_Z#FHhZ6b%q>C(ewCe{V}A2u?7Gxz(fP6T;=}54?Dl%7D_qa`ncXU< z8~U-OB8^udp1h~xPI%#J-74XI(OCp-~byJ8RmWn>g* z_7BBa0Mt-;qTVN^#;xskTBpj`)Emo25a}S_{LSm}lO0Qr44XSIc^1Q|F>r1;j9c4f zFOZeLvDCisOG@6@l!Fbee`vr)v}gg+SX>cJ&pXT%L5U|$Ey%FAu5}wzg3IhspX#RE zSO39^idgD}Xu)F*t&hz~U-!PijBT-ZA1+Wi%4@0hjdt9EHVQ?lvO+G@=Ap^j^z?Ve zQil{dF2z%~YQG;HPyK){nK;U$q4j6=saNW$N)OwEpgm1dgXQXn&~DZCzeJ60CBZct z@FG$2y7c@}fja0jEsLk;U{lqWczVXf;ODl~)!Y~S+)xSTl&PvcntVMNyy?rZ#ZoV! z7!PlGwip|v_7%Sv4R#h!NNz89G1yr@u3&NSxh*dSZ-|Y9V#Y0HHHTI_5v|!4>|^hM z>%Fm=Xu_nb`r`xXM$BG65?u2^h3~fTLWOe`8kuO}MGAivnUISYEByB(@KFkXa0EVD z;hcHORg?h__U*#} zoN9AP74Ls09*liY*%kZR{%4}8dxLBCfCw#CaLog>)VzK}Pb}S35Pl3@{>*goyP`GQ zufM`e)U$|g@EZJV{sw-soj^nXAO4peV*(=Rz7*;GckUTirf#dnGzn%5HTv zW^P4Ac;I&Eqa2pjm<>g2$}TqfmFy8h$^8XNU&M5sKk3s!5E%Rl$x?^WP-|GJkzlhP zV!u!s?E516TnGrop0u=XH@iCTCF5!`#z;VvS=U3zP+jXIYHU+aovd|JcFjqjQ>1uf zpC%bs)@B3?rP6*0tVSpRO;0PFN_!h^L;%EE1|yed+3I|5>6ry}HILM#FDyd`5wF=5{M@}I4+s0s0AV!w3R;&_VM9kS zvmlmwcuS^Ow-~7hwmey!d>O6H4Nx0<)kl&q7m`LdGmQ#uyz2eQmy3w%R;ERvEmut> zq#Kzo1$D)0c1w5iKyc&ql1NozLIfRGwB`ZnPIg*2x)b2KJF#(eC%|=gV&mvefa~tW z#?hSs*WHPYqdNhvyAvBncLH2@CpM1m1i0=_Y#iOm1ME(04Bg2C>`rV9-N^&&PHYU_ z$ph?8Yz*DW1ME(AChtYFW3nk)vm5OWo8jWJs@S9mD-!DqREuLHG2RZZ)}dp`jvPi* zj7dc};})x!&T-0DP&ekJC!LLLx*S2wn22!$9tEm`YzyA5MiA#R0P3U~M1 z-w_0Qq~Zx`1o8USPcUT7L9cIN?>G^C%Ov(K7({vz{Tgv#0_;I?H%zBV! z_k*ZzCUZM66<)Xb_-bN?XG%R>?^RF39Zk*D~Ku{u((Kd;1l zTg5)T45i+3kvVb ztFh)h&iYp)>JicSsY&L#f+|-$PsTsi4?_QnHG??qC}x`Pa9vEvggyAS4xMZoXP5RC z7T%LL?)Z4dQEzy?pA4~g|8j2a_~+UJb0f$6Bi0sVk2345dQWm<)O#WG;WK>b=lb9+ zKKPYBIN#!Y@ecUlY__GzleE3{s=zF<<0i)h2TD-|nvxcLuY2}^FewRjREyK8>w|VLE zrHLG^!_+_=Q+Msx!HX9_XORV6xRy*SDb^&jmM&k|K^j>L$}(>4Xj{0v$J{K8Z9KTc zN?pS2-XWXiu5PXB>Oq{m%8D#`uEE;iV@?+2IcGp7-R%qgPBi%3l+a#UKIG#qe87kP-waOqZTe>{ zoJZ;<-gjaIPD6S-UA8{tx5H29s|~#?XPw2T+@inQ!nrp__*{&yLmI|w<0qQ;nD{&J zFZ8EdIPby}e7=R-^htxea(>mKxAO-FQI%o5Z?pKzJr~67a%^HD!MOZa7@YJr|2_-1 z<@|yVzRidKpDcPipP%uef6a&f?6FFGmH&2qxY)w&`moNz?eh9Q2VpQwuZ@3;nFT}K zuIIn7@OQ&c%5gPcW*9d=?=ZNVpLhAtKjcIIyoKBKXSwMI$lp%y*DRcUzsMPaorZGq zUrd*=2rm8X(+)2ESFvdygkJiuMhBOEO5%C5&kzEVHHXNyi5SOsOnSwSZJ%x41qbse zVuP^9&HWr3=n2E>z<5lxJK|dRpPhKggT`cocHs9^{FA3?PCWc*!-o-qJl(S^65do} zkFUfp&xi?MJ`Zx`$00LwO?n!S8WMP4uEVD67SC zH`lt=M0)auYRr580Tl7%4G~y>t*s$gf2OUKux{1XDp)tcx*z|TMc-f0qno=Knl6^i0OJu&GIpsG7Dg{GTvSz4R>;=9o*? zIOZ2jJOk(Gr3uU!j8vT)vtm4#F@6p|o4pt{F9gi9#@c}C{=NoG*T<8H3z-n5ol98N zu+$A)RH-!p56mb@4i^ObI2Va)A;!lC3gZJM$=?<9WOV{BVAO3nQHxICx`7+2F$1|f z{E`v|tSnu^moQwfU$}^GxP=UNqffYtB6R~-S7XhAi?k}z{-K_UI`cD0%-`raBM^nG z{SN(~!V9FRb?AGuehFPCfJdNAS#}3NRoZ_r2F&Vl1A!?xpr2PL3s8F*5rTc!AYbdT z5FF>aaQG!X6YTk3VsahPRMn?`rwBc*&B4BN;GMj-q@d@x_&`xSS&b5T8Ly#N-)>=+ zu;8<$?-fDvhB(T1HCCqTk~cKMdcC$b!MXz0{K*dX?LcOsB2-ZpXpK(&8uOB#y#Jv* zuZ~;!k*yG4rZm^(l|~}dd8uCm*1AjHD6(^PWQ}6o3{GQ0pv#Ghn8Prvsoo9ot>cYn`&4wAYqn_eZy#G1ZrnABR%{SMk z$57_O&L)QaXzs62WeD1n@Sks3#JPfe_}M=AEFXNn4}Pf+-tL26?Su23%qM5R5B^yn z{EI&LdLR5dJ~-z_^2y^3imYwR`eq8MG0VSSdB)skC?*Tw!HF+gbB~I_LtR>72*kd$ zn_94zwQ-sYUdwtq_-I|$#fQ>U*Nj6IbaeMz&c~A0MSLt;dKDkg`y^p#HHs0DEM+*h zrs4RO<3}`7%CIe?adD1?XKA3%BV%ZQ-^& zcUZVRXES8s_FUZ)7H-cK$=&1hw(I9f<^#*kpO}T)^4s@{*z$K-^tL>G7H;R~tp<1H zk-NcNdA@J)vE>=Ea9f_=TDUFG^A>K)^EZRL^1OqBz_{{!$im+Nf2q$iEZpY*F@wAO zms|99J^zLe{bnEfhkfXu^`Q?jQ81K;|9>wN0wcbPesfOJ-%EUMAN4MHP~?aZnCJSj z+7dBC4URh)59>0G%vqcQJ8@H-^ipP4{vnE@6&gPM=A4c;d>A|!|1>hQjD+Vrhiynp zBhQGjR}r*~oDZC8VYEs(d9q&=yG^?4DAWIO6W*;8y(WCG%@lUYe}UQ0<}1H_tlThC zPAor$mGFYIO?S%42c2c*S3fW~mk9E#zuMu=hHfm*a<5%Yvp;uWZ zoxHQ6XXd|C^|Y#K)79~cV>n+?CYc5aB1#HOCt(z%_K$AO?niOm=BtkfIis6;5peKR z_}SctpX~M*wK;_cH@C`uQBA+nqwhZ|`kOuan~sXU%cEyVA9++IR2x*NyBeRBbE(1_ z3yui#|AF~C>B(Xn=zY_gWDt`!K-yCFdoknxVLs0*Eo;TT5aRrfp>gqqhDYF>n4xj$ zzolXCy;RP(y6@y4q?n8E-ak?=7u$$Jt2LE!;Pg3hmJyBMwCB^y^#S0d50L;y24=I}b9Z0@8 zfv*oM*FuJnK@x2RpVRWavy z7|rZfh>=>BbpVYEy@&!0-ih{rx^5-^$8zqcu_q{lbuQ8ge6L9-yCUY3j2)#FD+Xqd z9q0MbUukfcKIudM4IlcueCQwcq5r)_Z+`WJXI@S~Bj zfZ&Z94us58aB){VxN(}kQICftujv;u1jP6+X1cKmF7m}4JY?K04lZ)CtE3S=y~>rn zqgU_^2EWrh1>a}fZ}kxZ1Ll?8K9OgHKQR0C!~2!=3g9;u7dI(>aplh^JL$_!fexDh{50X5iyJ?CNVn_(1XffaG(~Ec>8izJykr$_;aKn0CF!tO1$#0ZeSJ849LQB42J-)+89kfIfkbLiWLu@CMq603}SWVJPrlzc`~@M zA<+LoPbW?m^^A!p?=Qf~shR2d)de_CwC39&#qq)3>yAHsPq2^ei?{OiDL4ji!q4W< z<0t!lfV1Cntn0@6m@@ZZbRRH_&sA^?_T$Ilb6{icp8rnLtZBggJF6FTelnMEi zD?V5eT+MG{bxv88S1nJF-hsldOV28c*W4dZ*W$R>y>&Rpi}S$HcyT4zN7Z4{C9uU( zzvePJPJ2Nw0?q>mJ7dQOlG_S+K6JtfI03eWr$dWRh$rtYt9kzFCt@{w9 z9~|HU{^b!k4sZcaj=*t%YmYh)Y{`NHTzk}cU<<@aC8*1ZPI9-&g=gyWWnj5QYsetD~b)rrA|%0UKm{S4S3+JUP1C%Xu~-0FM59g zilKmqsrXg|H;%&rlD?gZr*NvW_vM0~6}7krVD)F<6-(`%vNu*U9PCp`mF*+z;N`p& z;m1@xlAQ*b}eR3SBQ~GGXVUK>@5yilr_9KadWihvBXKS)T8m% z7vVSM(fWdyQ1bFF^euvXyqBSc5&k)QFGH|z4t?-esoNpAN8`uHY(0kJMuAuHa(jtk zJ2u#!lb9-CgJ36&k4K|qa@i; zF{xl1UNN3&f>#OH1pBxI7EQ@CyD{%_;fZqzYkiJ>?AZ2Q*hq+po%4) zo?rEP@3aC8B+?fY;5;O1NW2JjsxEy#&W6r9tZtW>6%5{v+aDltzV|S;)(3bH zGFVlDBf&Kf2G<;?z?~Y57o_JD5-rRR($%88FGIyyaP3{k$}S#(T#PD#y!tFF!>kaaAOwk$F>J!c${d0Av!dd_$t z(JV4PJ!b-t4`-1H={d&%c{dQ8`ZbB;^#eTf3+JS_S2dRMrCh4Edc|8&eyZKr7ArV> zPi7w)?reLL+L}3;fQ(ndk7e$&-QIiiG*YMAuiW~b*$Q&I7kGZpu!=WSaG(z=xKK=E zs_F}IPYBL1Zp9hK%lYnj?H$^$THI>@=4!_RhtaKcXmgAcuLv~BgnXkrn_uR*KD(bN zdzMh`CyJF;C&$bw-B(cfC^i(0JeoLXJinjYO+5Ujqp8RLb;=e9e48IbihtZY`>6IS zVRzC^(5D0bvvF3j=so$*KGt$Rh3WXI;V1Je%K4V(XghI4X<=Y$Yv;0MZOapZsmnVP zZBu8@UGSmq#KP7q0#nr_Zd*IHdMsSlW+WK-!29+Oos(sZ`Q})e7xo-z2?>qyp98h2 zgqr-vW*x@H??eCl3e5+tq2+^X&YaT}qv{qMoRe_pSx7V62fxS%=gW|f4?kP-;VXS` zeo^J4|Dq569UuG$KKN!Ie3uW-MmV25fAPUNI#KyN8WtFN@5+$%#LEn>-aYt#7Edge^}( z7U!4tHa=~oCyoJ_aTX{dY8|3i{8$k$1R*~q{x#oIQg(O z75pWOzTCnmu&;)pw~bf%;Bze8-mkON!tFC+D-G_Z>o$wtPS-bm=>OM;{-dT{qWpF} zzrw=pdVaNq+x7f^4erXh)1tTQgXmmmyzj=px>!4T0d&FYa=1>Hmb^ zn|+25kWG?_-eVInwg*kR#KY~A-vtlmQA7yLbDtrUePGNh#v>y+mOafW_$Q9}fgCg5 z>)3N(MQbCc!a<&IHay39jDH&bZ6onJ$@k)C7@7$FX=i!a=6EB&q*weToVeq#5UUcv zJl}1?OaCk05?-DkgNN9KhR^ekGXEBv@UHxgCj34!vy7Xbh49N){vkFtFfHm=@BQXz zUBXNGvyF7ijzL7Hc^4g)annk-D?7>8v%lYfJn z?AZm|#$1tjSMu4S`qXyJB*j}F+5BS!-cJT|)3MOux^%oCx-Bq>IaVkHNc~*-Y%4DR zsoIam>-9Wc-RFbZCk{N~O(w9`=}EX7V9QRzX{7-7$^A!A8{YHD;Kssq{B}%RU)^~Q zZUJ0T5KT9|o_H57o$Wnm^iPBR8^Iy=*#)Ab;MN{>H=WQB@Pwt4_M{@Hb%F zbOwSX#@%?Bo5wet-ZSwq~Dow=dUZ+Zs)RPXTgfE2BdDR8&46*Trop{tK zB@Os3EnzpXl7uj`^y8oRBS}73&wTr{bQ5LgN93Q+1IOAQ9CylBTcy{8Sxa@=Q%AeorrV4vs>GmgR6B<;XGfw8x9J!7s=j+@4 zlGSIW6eGg4G`BD8Zf{@(5PZGykoi%;rCcT4n|+25 zkRn>$oMIJGzk$F@Mt`f^^rpwvSJz1$QXq02XS{CaE6^J3}B2Sj_+B7 zqYWPhU-ERvpc38;#Uy$~ONYo2G4?8gmWdkqk2Hp?Lm1&@1rKx{W%_0Rl1nao_*dIZ zVVC?D_+nUC_ag$BXRoOcapPt_Fsy`^^79)*4jX~mO?Y{@X{FnhowO~cLaZ|Z*jDg+ zz>VK;3^~k1!St%%?2j8io5O|O%a3{tdFE-;s*ZIG*(8|-F(OKo2<{Cj4fG$zW}_Dq zWy!;ZYS@=JiQ}P&9wx?d-vV^2zGLXnuH?Q#H8zV6oV%aFvt^8)NrX7wy@ z4J=#OeZ}my<;vbQud`=GYn!q&0Oy=7`e?_J&J{}&?aL%k7U*8sk*IH5z64vB6Dt-j z?PyyuYiV1@BF^RpmIvAbnC9(X+POTiD9{zSGO%b_R~SE6h678l#5{0bBXzCJ@paoe zt9s;6`h_=D+oKJ6wp@!}c=vs~GdI}Z&E*$A-&x!IqvHRJ9myNmg-+y^HpUGibdrB= zx%$z&xa$_af3Nt3pVTwI`sKMTORDrJlH*Xuw8kuKjguN^I*I`mByAiln0w`Ff%o!@*wVD zZ}~oy+%sS+I;UdUa$$$rR=}+X++Z+uMdw@IfuPe&@&9k04O4YWM~(6R(SKWWEup|0 z`DN!c$SU8r`v(ktF9~4Qt6x3#A|EMVdGF@KpZg+)44t$qZ3-{(bV;|H^8Tcuj~KVm zGkB4@DUP;WQ{>e!7w4!p*W3bUSuUhpclhAn^}+7~&N%={r_}Lnz$YTT5j<(C^+W09 z%NOsT;7>j+hEDjr40k^IF~}FvcRBRj4VjO=($M!h^ym1{pJ(XTI`qxJnJzJsF6zXl zJnJ3$n+(3e!M|kiAqW3&gYRw!b+bHu57s3Iy!G|xOr)!ZCNwO152kZa)V?E;OR18d|3jCJ^Q_)1<6w6 z$Ytf7;%m7fktd4)XDcCB*HsKY+I2Kv;WKX*2tYHgY?Kr#O9_2}v5tsp)L z|1zgI&*1z%;S!qQtv-0S51#bFKWE`5!!G>4>4V?pgKzc0_gHuZ?85)|KKP3k{(g&I z?m1#U*!T&i-EeVgKcOLR$J?Y(o&WZ}h;|Eq2kau}N(<+_qTs77+}@9|&cbc}cUrj3 zf0KpV{C8Nm&3~_j+x+)ixXpjq!fpBzlRvC)HvPLSoMRSAFHiW;klx0nZKXH!T1=I( z5YP600k7W|`d&lV<o(Z?|yD^FHIY z^V6nZ=g>!td%cC*^g|X-{&S66>ZdEe)I*WK+0Y-f_X9E!?JGXW`_}^=z8;7XD!ksoxPk;Wq#M7EXGR z=b(k#^kt?p(VO%)t5~sCVc|A?wS|*DW#}UoZqv6|IO(}+P1A1SHvMV~Cw*E`bOob;bH^lG9QcBadw-|NtS!O-usaGO44{ON5-6e917;EjgvQis09xaEBjdU5wT z^u5L{?~%~2HTd@&`t`;=Qfc5nI-LP)8@Hj{{PaDTUL%4`ShertN`%?HLV3JgOhS(VTMBkk`g zuoEvLXqiqYUh#5awu$8VX2Y{TBTsitPvZXy{A?rf%d-}qw7c<#OuD5#6CNS4m}dk} z_T7Birt4p{D`X;K{_#C^^Y1cX`Ql%11d@GKnp+?c5{r2@;h8V~wQth|Ert){XWVZ5 z>=zh+75;6rn!>`^Z35jUIo`9|!sst%qX{o=c}jS3uZD$~$!>uIn@sp7CxFN=gh^QP zrT-uY^)OO?O#cM@OL(cj6M?y94=5maib=aljK&csuk56|(?rxu;b8dQu}Zk{bL^Eb z{z|ochH;jYF>d@^(_GZnwL&gcIO4vzs_-%Euit0V08vdnk039{sx!3ePK8H2E%rD) zTMZSrTHBsn%a7x#@zni^CS1Rtn1_STL9=fSY7UdHMiNbR!EgSy`vo3k6%F$}e-Jy* zsQ$rHRhzsIcgEYQ-g#yfcl-ZJ0vveAJEMn_-xK2LdaAB}3Wt}e<&W7{PaVAVINPg_ z>f(I#XA!tQ_51xy;DN6Mj&X|J_bgpK*qun8Fu&rD?^!yf=Py>;RoIgEZtj@bnQ+W! z+TP;fHOdUbO#4U99W#!6`>Zt1uY{2%-<&evZ#8#j$W@-h&hI?8-y_LsKKR)__zWMs z!3SU9gL5B8K6%uHnR=P^{a#Djmbb0IBv-TlRn(lf;^Yp`Oz8(yo$=@t5jBfM3eRG5 zUEp)e!;A zbBD=)83VA+vz3wXg8PjPHkkM?cKEunN?MB zs$c#IUvmYAcScj0!BKFktAe&=?@URQZ(^1}fRNs|@14)*jSywH%0rKQa1{j9bsHkJ z*Bl23cE?k%hV@k&7!f7jjVn`dg~etsTE!ZBy!1U7a$m+Zh;NV;cJt@(ligDfT|rx| z^y5OScPB9d^{IAr*xbSZ1 z4>~bEP)jdd)SpgMIwY711#6PT+`&cQH(SK<)iQ>ZB&K{(VHq zhD`$+3%ToM@IaAph6$-~au|&3~#UOFg8Ujd<#>Xo>cqUZ82v`!GMkMmI49 zm%;`6*#E?gKB+(JtV!Ni#bib=i+)_6EkQ*rK`saTeveE{R+k0)A7yS1L`vdmTrvke zO#_YUZlSVxYnkSuzLJ7{KLB0*Kv#*<{Ph|fb;(s!{PhB@A`J^F*#CrrW|b)ZyWtT2 zp)CK9@P~3VbFYrn0_X`VAM8c2n7T?zNdb}j*8+kT_SAFUiws%Vr17qxLmo)vz)8}+ zr&S%xvJQTI2wLlz15fZC9pqa-6;-JhB=b|)q&>(RF7sVba9?X}_@zuO>dgqzgKI7( zJWz|S1Cd;ZGKmjBK3yPy*3{$=_8!1_Qr$N$KlzK4UJ7&C$XIxPRUYB)0jx@p3qN%O zXV`+R9~mT{K-Y{UW3nzMJkV1Xr)IdnqNr@vwIjpiV|~&{GO`|{S(hu;s~px(DLq*^ zrKJmV4?J)NEXN1jZtVrP%nwI~qTg%uTbJMOcl5h1zu&beq)bbGzhe5u;KzEyp~S0r zft%RrN01cVuGM2YAcP+8Zhk)u4&!GtLg6AXbj4biAoJntz)4v}N*=8m9LD>mdTMEO z@$Otlk}{HvAqhu~4oTu-yd!1FVcZt^G<=i8xaI3rShDZ?*2Edm>sK}@aZwhVS(ca> zZ$%@Kz1XXVit-eNw4WSrMDUWL2@a|&#B_MXSAtfz3Eh@?zXm#RW0sj%K~Iq|w^^~V zDN6jiI+3{DgiYYuu=KSh`@3GoJz7JFTcqE>*eN3MTRDYkmtY^;bY6B9F|pe6g%n@3 z7iAf~TzXt%M4|j4qsDQ{RtSij!*I8wZVGV)=AC1L{l7#-z*T8w1(^q7W2t7xd(j1h zEI5_nY_xxR_h=LXFL6VGut&!&V9lYr)bB)a6xe%{=TwYV3nYn3h+D2(Y(y?u%YGiX zs9{7)9-!w2);DI@*2F%}HGN1524Ec~wl@ESor6kjJqC`D1Ho{am>xuBJ)xRUJmsC; zgn)rer{s>6KGh%Lo>D!G9atU;KNcUjKEwi_q@qeUsj+e0-Yu^d#aroFNzZp`PiNq~ zH6EO?H+}6m^O_F+EVmZw@dNpzy(Jf|)iRpeHnR2TIWhcTJ-vdBEiq!e_)L_-rR*q^mvma zPc@zrg?r0YHuh1BfV$U@_q_fc^AGt`b%ZPiN%fIQB1a~PADN`_$RtfiAbF!2!JTnO zS0fU$G2pAhDB^`+ANS6Bbs$^Dt19Ys`5He~2e%&dyen_Tl6GuCr38RZPU+8uatU%Oc4oY)vypsx7F_c* zn!Vh7%WO3*;nBPgKT@>jeYnV6eykcx_KqChR>ud=5hwCw+pcS2c-!zNYNOH9A!M>j>l4~*K zLQl>erlx|SYby?}o~V5>YC4=~Q9eA+l~~{v(KR5@$JXzVCQFe;??K^n?4biu_!r5` zbR4nNKJ-S_@?8;aW`9H##(h6mFBvY94DW16?W^bN#vvn8;=Af@%391}s3o+!3ph4m zJlTl`w8wqCfVx;n?=B>fH-Is$f@`Sk*3b+!q+Y&z6v@1ykViHhWYK#dQy{}ipF4j+ zg>ZwPhu`Mh#LG+wQm9Vf=Oi-c+g=&ioC%dbYpy_!W@f7s-#K!0h*WW-bC{>9hP$KTadR z$MW-APJXxN$fwI)amc)G#;YoueMYBVMn4E*+)1wE<^U?1x=%TxHTU7ogA`seZf3OK z&WTn>c(aNyn}6JhJorr#epS+I%lC03p9&m)#=N*cv!mjc<-sqJgOg(?BCID6U+=*$ zA)BC9EnKDpk^EW!b0eAAMDXoDTT+^=NR}EB81(h;mT!-s4p4(r6TY>QwtB=ie zEOMCDNR8X1er#sEs(x^aBwL>P3XNSdUX7xCG|I_ue0nt~ldqTX(;)FF1I3pM>Ae>K{%mlWOLE-Gc+M<_)X7&0 zdcG)3>v1=5msZ$~-1GFP;~M8KbOnlIa(HyGuMO|9?hg7+M5;M`+7f=ryJ$FthW?!( zfru@jK2yE*z03jJi&_8|(-Z6)1Cbbiu>W{qkipzwt;Wr$vAN|LAA?Fy zkg{REo4#nK8sh`HrB{;iQ{W?CKyd{7SssP}{St$mfCQ`F>Nuv{Ot!RSCqr6fG6dA< zPlA1aWVsGBAvET7=Bn(vmXj?rRrs@2hL}2ks)A2Z zix1@R8V{&}?frGI)V)z>bt40(wqhuvi*%G?rb{YcZ-v(FFl4L81c91hv@P10;vv_UhU8-RSuz@|CDdoFs+I@Ur zo8nZtmzhpKobUZPU#CXa5ruPMz6B{WwD41l^V$!$IKSWfy5@&nwg;2$62-mdRG33Dt{5sz^?0V>maUxp}E09n9m#avgkhjn3LHG?3>^mQgsA8R|h0T1Y z{~Sfqf)waTRl~vJ+G!UqV$}uJ!rbvMs6T-%3aW+Uq6WUk{l5T05$8XPr~0-I_6-5E zzLwG2by=Uxs%_I!e*G2n>W^j4M%7cTW7dmJB-*!}CNk3na<3mc19>rc2a=Vq!ka-! z=3Iox!@0%fd;&SE#xwOeFY4a^`M(@KjH{ww#|%mwO+YP%FvCby-2f+PQ8)h^5vz7- zU}Z^cpenvSQUU}u0QZTjF&kdjfHP*xe(m52ad;!EIT#z8Qx~&Dt2#kYm-@9cTC)h| zDh(O6se^Zq^W*VBm8F?iSxVBA#+h^9fB@N?Q^oOPw%VCpHtB~+`mK?qnLiGjnx@M< zu{HA^JDlI(>%f;eFM$fFax1eNjgE>MT-1Q>8cI+CPN)^{#_R9NoM&{Ce9+YOlkAv% z2Qepswa3nP5Hk#ke!}Kei#2dPChvZ&mVKn7wkFdWrCo*i!M-|1fL5aMC+yWsc=W3> zRRl&>{gyT~a|VV@*#+KKY}|J{23(zx;~%;j zw<+P*!PL+T_DcLW8EiVAvr5ZuD#U$o$)ee%q04a>+}6^v=r->hexIS0c+P=) zox!-ctnZVHdH2c1N+X3Ajw=m;qrO${yzv)WE+zL~6Mg}oph_0DM8iD4(}Yv)s3Y&}(yGD-A)qHxbi9g7 z?utH^xFU#a5{6qeKSjIEyjfE?qqIC-1U(72Aa5#f8U;ND$r2aTDXJ?C z-Bdigv@(gfBbSd;ae|?aGdlibKxV2cppn>k)}h}R8LBA*JVvAg`W}*_3%{rXdr62R z2?2&bk?Dsi@yiDlzUT)~N6i+J`JT-qho9s*;VLHb7X4ykqx*k=sB-r%Zj0k+=YRi=LJ zhnt2U2ILbeR!+s2wx1Y$gTYl>1MDG#_p*M%sP+TT-{7BoTDYkZMzs%kK81hc5x%rA z>Rrc^?K|<_2}I31j3@7PAikCxaA8DW1kVL4K9e-A-X&OhE|~ZRgRA#Olf1#+ZX>** zlgF{#tD)~|86`ozXAR_`eiD-`4?ox7-}De|i5Z;xlWkLHaCfikT!VkqCWd{U!IwCA zlfnBO{Nn~c*}=6Qgi+qPQ1Naz^s@voPkmSAr~qf0ZPRV&ueL$hR~me?gRe5U)Nk?b zGx%=>FwajL97UgF)*AfJIcOkoyTK1R_*V=rdyB=JiWgaqmFg*|^z)+vRSy1NhFduLnMqV`xvXWC%q+buep`>=Yup&G8e zWnu5)W$m3IjkzJqFz8(<{zvd!)NXkCVThMDXf>60MS9humUNfB#VhowoO?Q!P-5JT zN7uIW3R2@@LSr?ml0eZJGA@vsXew(@4}F3`!Kb}v%lgIFZ*W`=-FQuP)%?S(2!E6L zZ~mt8?F|0a8W%$}g|BDv?@R+4Pt(k+ajG%CYK*rU>(3GzKQ)GOvf(t@c%5v+Gkzye zjnFOS^g=aFiiExohDSRtHk^yy@pRd>opv($%;< z3|9@t^nGTciK!4CZ#ZkFj|Dv@^+(>D#@oqiTe_K|(j~J6&a#BG}VuLPCUE7IiFX?@2FQ*~yzOM~DnpLsf4m zE;2U&@@hQ;avQ3(H;c}FNoPgq)%el(Nt%5IA#i{V)< zbD)0=n#e{($KF+_J%rggyKZj7+!mJ;#Zl(8Eo7QD{BBpXMdGr(rH;K8?n+Pt1D3PQ zzuj;62;SwJ*?&;@ISSvX@Q*5dyTUoQ6+W*iJgM;ayZ#KrhFD7BqIZNiWfML!|H5!O zc8tO=Q+(8V$d#;3nZ;SF$? z_=;X1(rf%4MbEjs(EnWFGZg-k!lx^IEXK<;bk^y4w8MQlFHm>@KN9Ye2)tL}jf#Ga z!p~DU4`b4B{q21Gg#Q;5J=e$tzf<9wKTkW*P=1}ik1Bj7+=S0>6+TPhuPB_~6AS&> zWDLVcGk$`9Lg6WecPU(_f5zc{`hQ8$*C{?fQ1}H3|E^UQ%MkDpRedYt@!Bl`K+SX;eJiwI(@#c_#CJBZ&vi0 z&(jLm^6XN4j#qs4D06spvJI|5Uh^=VywKmgi|julf8@(VwWoeLaFc z?xucB|C1E`5f1m$U+&u^eU+l05F z{FjPe!sfqnXZUD*B@x z&T^>JXNscN_4FJ?uk*1<(SJzspQG?o72c+BUGHvG{B^zCpm05Ie^KFjod15e*vxoo z`dJFs0wqT=;gg)de3zbRbv|GvUCpUn!_e4bKxhvNTg1b)CFAcFDh zd&1#NADzypDO~rnA5-{j_>p?LT;W$Je4WBCQTV+P__GoC*hAqN#+UzShx_tZDqPFo z7QyFwMX%H0GYY>F;Y)nK6T#<)ieB@1TH%_{*uzY;M#bxRhx_rGsc@a1mnmG2$F7LL zuXDJcp0_J{E&o>{=pT%re@x*QsC4^H1fPA1UWYqjQt|XT!Qp=TT%d3rZYF}ymlVAY z_X$P+ekK1$-)rSzxXTpYtZ+R}Tcq%rivBi*U#0MWQFy1qzo&2=uO}7WrRd*xI4m%f zvl~Atw;xgX)e3J`xaR*wg)dk1TNSS9Usw2CMSs{4u)t6rOpQUi!9)3*Wx;<=F zxaPk^;hImE!Zn|@3fFx8(cyl5*{tYw`FTX)J&3cU|IZb!+t2Y8OdXp(X*`AgXoc&1 zoTl)r75!xj*X_d>BJj--_>KsCkHULZxQDzC78vHQZhwwccq7~-UQ-l)p29Cy_%#Y| zQMl$apzv!I{pS?ELg8OlxXzb2GtmUq1g$(d+X0eTD0E_@TmexKArwhdcX76WvkqO-JB=8-Z_(z<=m) zKVHu(dL6Gl5%h;1RghEDAEj{JFIPL<5BEGpulX!gxaPAug3sS8dd=r+5%gOk=(k7E z|2BgDRfX&PJ^1KC`sn@Mw2lA_WL8oZ9V^B zs_Y|1GD3aMUhSTO%lYhD50~@MNe@pjBVgDU&9!;zHFYrk? z`#KMobKdJcT=MBI50~@S8$7(60>f;yk5Eo$jSYEt(q;HI50`V~35QF$a#r&V3*QA7 zIVIf$PdE>kx~JgP&c4ROyPf?G5ASpKUwXL2_s|?M(n;iza`g=lm-G6= z9xmmif(&4UkK`lOpJ-gp>)-C-lFq{(F6A>Z*5l(UG|z!*{&HS_n}E?9*d;2x4ZUJoTZ$Io!uU*Tv7n{+;EnCdD8WZTqa>SrOv&=Jx_GFi=IPc zv9EgJii68Wv6?km@_eWMYv7kWCx;yEi-b?DLE4B_o(*v1yUYHNw1S&bFqQTZ{=4QW zv?uXaEdAEZu_RAAN~Rz4$WOlufiZkP{z(`9dJz;fGzs%x_+y_~Ec{kZqF^>S{|ujD z`{8p9jwI3^;MJJngngc7AK|}aXZ#T47*?>52rp&FYFpvmr_I2Ln4kXT&VQ|!;3B_p zya6x8;$MD|r5JVrGXAW(;$O<|A;A2!r_bO7{ul0pvbNE2Ehal@pLG7$u#<&hy{pB~ z51-?sV&S*4V8b+d728F}I^y3R5bcy}ND^wd zUZ?5LXzqmq@f~!==k?H7LH(G&69r(<5q$`hYLzM#k4Y%5`z=&(KtV#yBi3K`DW?pS zq}d%#Pb3ta^qWw5+sPZLxvA_=pr8nvg2V7cA&U*S7Rn%N9>0&Pi4wfg%K>4mY7RV$ zg#%rx2Q!@1#sL4D4#eMmoKhR*ELK1r14;R|*#2HzB4a%Nn`Q=k6n->ZbKtj6uW1IZGyfx#pF3KPMQ6F8jxwDi{a-) z(9e#*7f0YM?3AY)Pa0Eh@LY{wv2bsWz;BPhzZ8N0Qv@D1Zf!h1UTsc>+T-iRZx{|w z{_?D6Xu%QB8eSS)KnxFa=pSeL3vhVq)4DJ2HYb#OS{8RKYd5cC%j3J|P%&SOkC7+6 z5tZ;>BKAw{b7W3=5*=ZPv!xNdi69K|GW-O0U6{eye+h0|Lrc&8OK|1~4f$}}Kyaon z4e`V96a2dbVTkj1f#CNMgdxthO7I^OgkfJ@il5*w5`-Z=rT|-M=q0XaSe< z=HPeyNWdrC3e{a1UP<#Gi|ut!dH7{IYAih8Rq0aK`Ldq#m1#gDV~G>-PTcR$?YFO_ z9BCZ85Ihxc623f>aO8WnCc=B*2u|~G@h4BNugbe7y`~sgg!XcW z>9RsT_M2IZWoc1H(qEvDw6`<(7Twl00GPO}qrkBekA! z4E45iga@8bX!uc73F?&}WLFpaJ~JxF?)u|D#rvP-tAkmeq4tUJ(Makd@V6Aq7Sd6l zrC?@`gIVr`iGrV2)NGbPy^-4Z5bozT$3Oc(?PI+ubJ;|bj7xdn4HcMwklJ6Nq3Wr| zY~IrWW|AlSAhgNdG7gblixDvIKncgbA_t3dkbQ!2JXwjyL5hRND3}eGfzvk%gAj`M zR~Ms<_rI?={58ORAMTF#8@;oG6y!@&e%4gxbP~JwQfBJl;`bf=pVd`7}e{1`$E9r?3{06Um*Ny2}yf!}YGxI(c z`a&PYo7IY(f8D%3WNMI^Y;9U!RF*d|h7fIS*(dYAgLP#4FvqF)Mys%iuGxesds4?e5hlT-58)?_u3X&>OEg9G!-*5SH>A>?jda%)`xnPa99 zv8lp6Ex0jC-y;MqwvE}BMen`24hjuo#%MLY5ne?$qyF?W0BRm-gc{e{Sh}n!`&{5O zs|Qf9o10Ubn<9}nS4SOZF4BCdph+67L!zMK*67_8<&q;^!u%`*Ussxb?|micsAY1D z!a8s{;}5SgKR4Iu==PWq`;$v^li<`5Y!ZD=fi<+#{sb`#lig&(J5BrsTuqQH-`Zdj z9(N@r8*!xuE||K$)Z9I@57%gv6@o^rF3mMmWb1JM1g@gW@){~|U>4>Y(B}-LXG-UD zko844*BeMGm_>`aWcqN>1FQ>dUR$-s$=D^A)eJ$yahRSPN_PHQ=Rf=V{jZ_~-8f_QUbY4Cekv@9-^`k@dM}%^cz@QsQ<-OcfS)zx z>MF7&MhfZ`&TJ`1i3{&NTfLV$BykT2+1&Cg{IA|iovZQwXUsb_rp5>U&D?<4K4{BkI>7dnKWrl)~NAWr(w z%$~9FettWY*)u-g|0fUz+4B<=F02~;h%$X142`$&iTi*+zItzo5$JD$3{Kxi-=E6S zH}4BW<{X-N4UDOjHS-!6{~Au2*P!9}GV?NS@!HJ@54ziUA>pBaBs8C)hUp-x6YFXvyBhZ1w%>XH*dwtKfyFN@!mZnQ4t^bCPEHF zJcuE#1rINsY=}LkXL>ZuD>uf&WkW%3Vr6{b1-eUldJb{i#KLyp&G;*nC-k5-%vXX`#D$P-WAoSR*q%r4+&C?&OKYR%y`q@9ETeoQ2%C>hj$vHGS;TD4{)ZkgaxN5cYaWxeYy!PXH)hM z_1P!tvvVttGS@%Z`ZmtiTQp=Rq5CMWhic-Z+=w^VgZ1dwf?SZOcSEW??>Mp7BwT|x zDWBJK1bCEfJnX$HCM{(S!L{wWTEjX006MLF8~uj;0n-O}g3ru8?9vC_wWJSj8^KT{ zw+bySlujRt!ob?SXMFk!(=0xXY@pP*1tvE?VFaMo=>(J=Tbs*;p`|u*fZCMZ zTc3S}AqO^OwA=UK8Y)W52z4l&IZp-i@@$a7V<(h z%kyR;o4)trZD0QK&|aT?BhRa3WPV_?4WkFPlTc~f0&`xnZZqO9y)d|4j=bs;}7&T-chMwW$m|49%FS7GMA zVFE%cSnxlxJh*Xbko~EhQx~Z(uY~nwuZf?nFTA5NqQ02?OkdN;DXlH*HZ#M7LsmY* zY{x)1`*^DF!?E5&GMh^pGY^zZ+uZw7Q`=*WC6B|MwJVu@_~aj90tP+z+28XDFWwrP zn}hm07x${=aBI#a6u-xfVEKiNb?(NuN}k^L*g7`dCDI(`p{g%oWx@#8nZ9AZSzG>Ra@qs>IBriWtSkd~|fX*mk|CsS`Eh+@A68tw~nVo3J&926rYG!T*gg~@iE?~ZG2)e?n z=;-QF96GA8$rjei6>%!GuE34G*|Cyq-aR&{%#9T#CSiJ?2{=2Y-uhBg-=Vu4`(*dG zKwKC04fi8+6FdJ2{SYookOZGs!YhHd$Nz@$LA<%XBlQ}*Fjq0&8^?ClhN&X07)4*x z5KCd!T+*1kw$`=+h=%c!=hcy}JovTZFOUIMlHsB5D%+E z`J+v!eUL||W0b$%Q^LmL0HpAy6ujM6EHdUcN%RB*U>|zn^3SFfQC@bMAr@K+whynG zE~7EK+jSYd#V>3hY=^ii(UfboCI1=l#HbVH_%6IPv1XVo3Dz04_QA9r@d2*%+P=m1 zGp4k^3UamsrunY~g|rq=qi?Qv^Hww#X9v0SQS|2|*pB4RuSR!^uJd^l2u5z^su^@I zSQZPr?LvK~Lt*k-=y!~7T(R7c-O+@m1vfVBm9jXJl^aKeg8l+hb4-C=Pl<_=&yE;P zUV0GMV)w3Ln{Q_4R=GXoyq)*2=God5$|-MBb>*5DV%O}RX~b#DKDwiBkGXH+mXENk zur1yB&-B-rTPgLeSUKTXApI4#{r_spmW=OH8&@*_P5<%*#K15AydKqztioyUn{+Qp zQ+yxDzYI@>wdFRuEw^CNqK?ibEzk+y9_zlct*0i|)3fZF$x~vT&>kP_YG2SD>srv> z9a}MNN{#gabyGdiXio)N;&(&Z(%a}=g8XeQk)G-ac+?jD>{wGv2-7q0#-|Ndt&*MJORQx!6q`812QWFmx zw;0p%9;5dA{0U<|gST_30DNo)DzN#QGP{5rvxMKxl>KvX|;79saZnVLe zvWw>`{D}84A~2#iimMdF<=m~%f5qV&uu4W_$}OIpq>_FE4?w_}GH73s4sL_k+2t`d z)MhS-eHPPCyxBO7)_eW1!npGegyu*2>gE{aIRby zONSRD@K+;nRJx*kCPd&-dbN25qnJE35qNzBJ~IO6hD$O2Tz)Qwe>wvHQUv}l5%`7( zd`krWTm(KIdm+W-d|w1UH3B~;0>3x{Ul@V&vfo2gySiO!tDZ<0g{TDDmbEYFgsRK} z0KKy*4mI3ihY-_>{gzwlH29b&5O4J9aQX&q%(?K zLpDw|E>0pEy|hMkt<`I5mE$VyxHVQ=El(|)w}PTvqw3aZx~+~-Wee4?=2)RtH;aVe zTnoy2m$t7c99X2@Q*#z^o}c6fDwR%cyvEK~LM{g`J*OQmRPh@y7ORx1(#scg_AKKuNm5|G*1nv2kg3R4OR~T!y(Ntio=SIlSaKHC-L_oYwR{oZsSI`c zymO&F^D4eNeX2&QEq%_%OtEDtE>mlPZdp1SJ*ITA7m-oJvdJJqM(?U|a}!ZKpn$h- zPECtZ+R3?NA*BqpXm)lPsTfPnJBbW6glt2ZGE`R0Z;O!WVB40qw_Q0ZU`-71F!gV_AR=DOr zl@WsR`3DZ?L-W5_;kq8BBlz5;=uZVNNw?$NP?*jiQh1%hPgD3@g>x(}e6CP9>$2ee z3a?T4KPY^%!l~DvhVo3oPx$O`xSu|MR`fbv*SaYd`EYI^e7>ph6BK^0!npt{^h2ev z!1&?*+~MS}^JO9r)xr?h{2LWs2{+;Y6^Hx$|3lGh{&U_#?xW?o%Hh5|4@J;F6+!>9 z!p}rFBIlnK&QCQ37rlSJ{2%0E7mP2@*$UVE>lCi}f6n1P|8FaLoj&(R(Elugey75D zI8WlWH-b-vTQBhAb+W^KIqM?mzoc-^Q6=0*6t49NMCso<$*ogR9?hpw;b$xU%?|hF zyj0Pjs_6ey;X1$a3O`5D*O$QpLwUFcA@N$IaLwmRh3kC3*5SUKpHcKW-=9#p4);Zc ze@w{}kHZ2(Ig|K_oX0!d4_E7v)8Wojd~`Zr8o_6&qSxvCLxrc5JaIS4qMRDn`roE2 z`n00g@~m>WAFod-dM(e33fJj2{tyHPLwR&Q&QW+B+$24hC|sB48x>x!=pR*hgTjBK za2>C*LqP=N=i`wI*K!`Ga9!R~3fJ<89yapVc*fED>G>taN0*a-SGbnvF@>LtFeKex zR=AGupB?UpTk6&sDW}fI4=G&pnd)$#Pg2oqKFtyIT5p?q<6-p-zc z2*EI3x?W$R@ELHEbo;!*bvl1b;en$6wZb+3v7A)EFx*D`g#SE+>-4H@?%ff5wkmoZuB?YLUV3~|3Oh{+evE^xySru}#ASV*b0r#~w>Gyo zrt$ICg=tPB^s-()-@*mlm4l@oF6;5@JY3fA@A7b2ryufg*$3F>;myvTa8ITIe`1pE zMR1{C;o*{QBB#*HlJhtw0F2<0o=FcEIk~Q@=_S5fJY3R8zWEaVk`9*=fDv5M|1KYQ z>2Imu`F{dlDWV%zhm4Z$ZP=AhagcH*cFu`eMw0@#=P(N`%mz39;Dh0m5`?L+4>JcR z?xtG~jl~j&hp!`ETylmO>kN6mQ~x#aOP-VQ(?-JooCfhO;mebKAK(4(hn)P|J^u;M zo`k(v`mLQ}2}@l-Oh4w4pMLX!k)#?wZA9OtI^my8>H7viJ{uK*<>2a3uTF=oB->h;k?@o)Nj!;j>wBp}pPCaY?^>kFZ zF)JlX8nLXN4l2sPfk}Hlaj>~8Gjw1)cmOA+N;mHri?5ghd% z&t4wdaZY*y&x_@ff&Dg$|An(zIKKIMkh`BvFppHbb4^<_1ZZ+~>CEse6Z^7tY4dGW z>f)4qO@$-OQ1k)snHK_cT9SoOzKsf>{6=sKzCD6lQ?9Mb9LRkMjCYVbRFB~JW?eN7 zZl#Y1ay+e=j_0~3E{XJKiQM#3JgRcj zC*pBxZhCp{!by0m#woC=nP>K9hD#3G9^kxKBD3uP;8XK0Sh7XRiah+3Y~Upv&Z-&O z`91@v62Dzz-d7j^A+El{%zW#B})f`SOHwDFV%D#jWVqTHv_%s=z%*_5Ne~meF>DLE* zE*4}=orqCW4i3&bam*1~r>KURXsSv2NK}%_8#CKVQAtpq3ZGlmoAOo8?-9c`rft7f z(lFUVy%oM*8V<>iG8Fc%hgf}C`9(N8#xa6xzRmaSBq0{?1;#B=8SGLEjljB#V77!< zJr#6j`!DUphX|PSSyv)-8_su$!TgvVQ{jBl^s>a@xWf4)bEarUSzpPRdy5_tnm(b5 zOi)*8=JU^lGovi=Nqge!+zE&@&b86$U7scTe?%Y7M3Y!N za5h`M=0evI+t^SwbPYGu^)9erBet8ZR}C#*wgA_1lJCN0xR;X$1iBV4=05xMrp8(I z;f=1Oz%G1mcSuJXo*n2(FIb)y3vU#?Fg2^5Xu21S`HsEo5e(aww^LesA+8Q7y%a8s zxN+~!EzAurY)I8N*0;3vE?>?oUR{{&orWWWcP9j{S+K0Py@iLyLDJK^FgEfu13)=a zKu_|1Rj)bBfaB*a9i7Hr^AB( zk{}H6!|@aRHG(k2ISms07?d9x;_SZ!*L%-;51VJpXh_etPUtUFxZaa)S2+7+p?^%_ zdQV#K8S8jWa+5hfUi>(d#>YPtf$P0zw%H=j`HEied0(P%E&oD?^TCc*_}r-I6AHgA zg8rKk^bbbR4@c1NQTVYc+=;GTVEP=VaGtfIA+FQmWQFT=(0k#>!;i#Q?}b+?yi@Vf z>2{aGxg0Hg{$1gd6rR944Ws9xXzaD-zkny4y~)F?oxRn=lg^&@@MdRU2nw_-M&iNfb67b0?6tzaS!=5hc2h$jXXUuV{g}g4g8X)zeXnhT{J*pjf5}HBw)Tv`LI+tH{j%dt2HXF>kBXO z%jbf(8UM?je_f{Of2s3d@gC=2$~pToj#2&aqt>X_&;jOOy#PIHY!Oak;)tItQ5AH_MyyfQ zOs$>@bz(4YUw_zqx86y4lKjJe8B&yMK8@KY8aMxLY-(P8b{7_e%xAe+`dR(LI!Kz? zGl^g0mN#L=0-w^SE9a+=gi4mo-bDJaVD%P~j96oVZk=){3#mukgVlTY!8vs=Tf6wD zo<_Pgwmm#^;1RBVl*ap6;TxxIj%Qv$LN`s@MqN$`iq;fAcN;%+Y~4YdTNS}~o!5ec zK#ke0W)UUczW}JL3^ir#_kef?+5XBk@NPW7j-@JjrANEEWau6$;Qf{Bm6xV0)*r~{ zE&A6&-xnxQ>+Ut{LQl3>#h ze_&0J{YGUUyaw4jD!C?`-P)Ah0mVD>gIAuJJ~-}WIANXX4ilq#1hWhFt^JkKgd;+i zBKMlIcUH1EZ{9JkDSJ=l9uPtL7x36TJTBP$+XK0-hN=-4#eAb^Hz$tpP09U@W$#r*!>>7{nETmz}v8So0u6YL-6Zh2?qNs z%b70Ut$dbNM0hE&W?-~HX;FWrS@eTt1ufOir5hQ+WD0WkRPF%gR>qhWA3y;NP+(hQ z>4|(MpsMFOV#u?l+22W)-NN#jx(9x-%()C-ZPS@FRZZr@R$CZgU!m*`1G`sDX>5C< zuYVF{Ea^QF`LpwVLEERWm6_|k0}-p_RF9hDap%N?CRT-=$3k2%NOBi}H!>4qbi zX{=YCdw|N)2biV1duH3-zMD-w>dXFadf&}wGy6(xX=gzkM$u|QiD0dQnwI-GeqqVQ z0_{D9iy_VIiQRZfeBe7E&e#U4B;SFdvg~=JD-&q@!zSPCHjI0XU)JAaYJ5}nKMfxV zm$kh%KJcekp;u%vn1=QG@%v!2%{`@?KGKbYGsA*z)X&AL+>Ivmb~w;v+1Mi5)vkd+ zM3PWJu;zZa)x6kH^Q`%Po7H;i^uGSHo0%59C$mx?#XW$xS+B9mY-%hTkD5o&T!bRs z27XWpF+a%u9NIV}vhn^^z_ZlXE_(kc|6+hfR!|3O0eu$mRAx)b*k$MrrY)*W#s|+g ztLDqFyJ7n#**zee50DL%#pk|JxgN0;C-iIa{;?*Ax$L{3z}*T&oO=fWc=Z_%cDGi*!yC#w9l}B+N{iwH zyRdzLJvwv?6|vr+<`+!w+U%1?>BiVspq2vac}y^fY-#@YyRF`VroqmSVUWW@TH2WT z%@9UA@qr^ioX9aWNJ%#r=-{eVvq5IMizK6(%bZ8d8{+O9xB;+2S-u) z)zpIJMgTUUMl=ZRM&MNy+@u_DI6A#e1sl|uiJOcvQ6QlZ!tPK(V!S7;U+C*VGSyYZ z`zMldW>q3~HzI~IH;#77M~$2Tdf_LTYiTIV>o>2cSuBs)YPt;@w=%l%wVpN6IBchb z`LqFgY{&>XgstW@hb8w^($&b3r(U^{`a4q>&kXfdrLsSyddZ*63-@|!v75Yt+0l)C z>1N1@om(iDnwi~I7~}67CPxhIF^)Bpf*Y>1SpaW|AiFupK1#TXvj&?SWLPyg=^@CB zA_dtYUgchoxUYpi9uyT zX4bM4(GSphaEQ#B6PO{d5r^DS9HBxbfCzR9fGyg1{|VzL8b*LFP~;y-yP=hmd53-L zdn(t1E!A#4fP!PwyN&5&^>{$XN)T^&U=tL4V(4yazvToj7|me@L80v4a7DcTyi(Xq z%Mu^pt_Bowq1IP18B+J6+Oc!&r_BgeUMP71lCmPe@QeJ?h=t5VUQCxu^B6u6A5~}> zJsV?8+n7f6MfHV2D$d`ofDkND*wEgMeNtP#;ACQDqsG`g6z~5j>Tv-;ENl$o{VB3= zO}2V6aayg1!p1G!iO(0Dlde8QU)$G+9eeGj4Qw`9_c_y-w#vZZWU!|K{SE4D#dKQpF9VE+e_)|%ao)Ex74=)4HdXs%p9wFoc9!NRL< z_JGn)l{X&G)8VNe%~37qCkgmz$}Xy$&)R@8dMPR|#vo8Ncc)>CS!OEp5ROM&T3NmG zkko2aWi%k4Ivw7KHw-+R8oUbS@m~>ib_eq+QSp4oLkwC=FUM4QsZ zRv+reOkITjvnE6zbgib7cM_)0OJ!~-h4RqXF^_4?9l%CEKJYtOQn_=D0?}vijzoxO zpGK-0U(6|HrWz3qJZ7>H$!fDA{|$^h*?zIURX{-Vg3*8!HCw0$PGO@uvP$N!hS#;h z>Q7cC*MmIX{~fj&v<@5V-@5}&6k7CJI1n6spZ1JdbrZCBCW+UyFJL>Zl>Q{ zBe)9)7YH^Oie;5S{BQd!{~4Ce!($Z}me!Z-$UdCiwt09=D!UsvCreU- z8?z4uCE$(T%kbL9sL?tED=P?5w4OsKd}`)R-LzI#=;y^d3qykWFQen~k)z{-Km(F) zw0w+Be6WEGFo&Vd^m%-qytS$1rM`F{$2*K-U(2bo+?iyB6}zN@yjY6SWYgf;CBa~Q2?`V!H&D#y%Os_#aw$fbrV%ic6wXghPW2sF z(tAAniWT+QKkS@@`APhH7&z=G8JtzJCMfBDq<4Jgw&&b_ zDQO32Wb-B^Gl8eau@lj z=1S%yYk)JV!8@Om*qZXza}t&$mXRQwlhCI(C*fs?n3JGNm!R;OwFkV%2M+}fznpgV zA8r~hzv2w+W5a|lByjE7FEO=13YJQX{UE|OsmY>Jk^dZ=Lu(@czLD1Vz0-1d4@6p`l--iNX=G#(v3S)NkkywF4ziCr| zi*e{a*r}p1TxufAvhtvr8Lg^loVE|6xFSP$YAj!sXq@)vk|M7z=}z@%pM^}_? zww%nt)O4NUkVU1nqh!n$KW0YP(niQEQ|x3fgJPZWtEM@ z8Y91>Sb<=uxRo*wj)5pQk4@=2{Khok-aQ~G5i*!C<^u03z8RF~UF$9DqSCV1Y5#|w zIb;%)s2zFE1jH0OLrAw`dZR4vHbR8~o;(i|t$zwj3!ZsD>^vJL#*}ebPRFlYK=o{h zz~@Eatr7TD5%`J-d>{h9H3I)q1b$Zp&e>kE_-=~8w?yFFbSTD$O;|Dfr3joGCdKG^ zR-_mnb=Hx3kj8ydOBr^Db62m`Cj+ z#xsz``12O1V)*wQpP`ACfoV(e%8j{V^uLV2e;a}Cj=*_YLoxnGM&PGL;2(>?d8a`! z{+v)1!&`teJzLGB-t_@Yl9B!GX|=Uy7`0K=#$jP^$Fg)sr#)E7?l|&5>CD-)=9qdLEo}>yEwg7m7p_dV_r#pqBWgmb?^x2_ zV@MZvbW&v$cy;vf-ps4oTNW?qNrOI3HBdaasnk5VL!(zM=(*CKeTBQx&xNNAzJ^{F zbzCDSK1l$TMR>t&|-c{5okD4Nkq=8n8xg{16ilLN4!q%-SHeu;{+LdrHm zqnU(l(|TSv`f7V4sRhpM=v=T&Xei(0smvk9b>t~o3Tk46__bJ_R7*@nC8 z3fJ;~OW`{GA67WeRSN%?70!8v;N_*Tz)+r}@e}-Hg=;=3g&(8n7c2Y&3hz<4E25(j=(o4{8&Z*q{4MR9_ogyjF--rk16~(#b>p`k5_nB;gt&iy24LT_-=*kaL00f z4?}r$Ivl3(1l%P3&r-Nf&shrBv+A_jei)g zD#ic!2)rf&pQiAW6`zI({DKHv>qpY{_gpu=qMWBF{-TF~_^ArNL(%h9^5xqK*ZICz z;ioD3Lk@-o#^+z>a5k4rTH$|*qCZ{XUsrgw!XJphA62+6&;PCPO2y|nh3k5;OW{1{ zEOOSc5rkp9bUL4@aNR%7P&i+OPn*JZzp3>p>3(yCqStsP0$&?}uaCetMBuv>uH*Z< z!gW15gpr3~`Xum^_*N@i*XwqL>-xJ(;gb~~-eO2Y{!{Q1{_k@*%N3h^!B32!|7Zk0 zN8wWypJfWy{n2L?uG^Vy3fJlLq{4MOGl7{3!+0_3BL8fK>-xJu;krC5i@*mIuI2fn z!gYVzMIso=quaeND_r;2FDhK8PX(F6kdN-C>J+Za)x`?e;r2w}cPm`?3y0G)48zrO zen{b3&N_vYrKG>sQ>63jQ;J@XEACXd9#`C}aLwnZ3fJR`*A%Yn%Yk+Q%EU|O<9ijJ zQ1VZS!0Q#R#}&&IuJh|Ig;O+1pZ{{W-=62)1RPlO+Q89n*O^E_tWzU zMSm8;mUulAK|hX#8-{Xf`tud8)1g!0y8ZbZg|q3Ba6hGRT@G(kxGq|2@m-V&n9xm%;i4yA|^s;^={NCv^0gq(urg0&gqiTsK8yQY1K^T{Pk$RuL?S*T7SswDv=c)LS=U7^ldAt5=;D>TeR(|;^ z{@rvSbamNa{18myM~wNR&E2XzXk7dY7T|?gwE*sUzw>{Zhl_uCUI2G_*Q77L&GcLB z{QL6na{hS$PaDZU!4}}9SpM&E3EJuing0jjC;lb>*#`J|M=$f)X~J~dNBHlFQ#9>K zyv_NaKi+!f@SZaG;Zvq!;U|u@{?cB;_~CP54O-OS_BU~pv4n^Z;$YtXH*wot94JxJ zh?PWK4vJ9=k{l;B7s}6Af#b0AvBjL8v~N2$i4$@f7Q4{(a^AuzLwXd9g4~rjH~C`k z!TE2%wl>#Limm5HTv?Zp<1Db}u~84Act5v*aDbo|2MB(HSDa%^mxepj2uz*RwBbR| zP_@x?^B~A~*EK_{(QngN;1)k@P4`scCgQSLJj!wIW)f8@ZL`{xCYdYxBpvc)Dp2Zq8aNd|o=5ujduu#$Z+tFf=GcImFy9kFq08@aUsD0%})Z5ZKhk3}u`TVhmi&_Q-f+%5_?R0MMSO=iOb^3bqvrD6Y| z*M3?IYH_B$jKw~saJJQgKcsNBP_ zmk!Q*`0(LV;X2Gc_hntLfSQpqjiGRVP#zIS-Kp%%6ZTx7_?#oX4Z4O-LJh09&Y(M;{u~4fk zKP$;h89#iEg_dT3Oe=9yCyi8E`?tli(S&^k_Hok^Of)ejJ4+4{yX z@aQ*akTZiOj)len#K1+4^<}LCj?g{0wxB~$DU!rFPcx9h&}b+<1_Pu>>HaX;r(myH~O$4k8SLL3qpGl zA7-t<_gA!p9~8#>4+BMz{d%8*5xAwD4Yyn}84O;zbgQX^!PYvH$y@8nDH6ZV+*)Uf z8=eUufPUNe?CY>q8Qa!6Q~6-8b@n8m_p`VH3~0e~KA&6bTFEq9=MFRG>Q?YeN+`r+ zYMf42n7auqfLoevE zT#+v~gFS*c=WiD9QyT|i*~FIYz9slG$4$KucHY7AAoMqpJ~f)Y=8^o>3`gibN4jEs zZPdIl@@K&BVpYCs_T|9aFi`M!UjdFpxOIRpk1B97+vuW# zR@$1~509(d2fef$vKy|0Q)8Rh6W$+&gCbOGOHZMG&&+Oa%x(*^j|JI3;JX`>PDXN> zV`R22eKWiLXpf3=`5E5#Bub|0;p4Ke0zk5vu z{|(7>GpNiVZtb}|Jq@tQ7!4=V#{o7uq~R*)*fn)$2U{L#G6?bBbEHQfWJEjY?6fE& zZFif(^efKBByfNvo#S$P}eBW^Mu&kN|zo3oqBN*RU>SY)||nB0YX5Zz&jRk3u#2zEB! z6?Gv2{kdU| zbxO>rjEPhj^YFdcT+reN@G;8l&$(gl?d;FF;p0KA=b%#NIi@9U$_n01xyO^`NHDyH zhMit9yazb>Bps!xCwTuG{EE@91y1_)c+$ui`pbAPM*qzS{QD93wg{Yax?=oaioiKM zDn@@O>Ps;^0o=sPjfpw1p<(?Z&ihtrO#Q~QCW22Y0_PBneEQrZNY<4<;qW1cn|1*F z+amaMMc{oA_-7pd#5hWC_g?w@rwDp}08TlRj$Yc8A4SkV?dY35`rk*;k3%|=zswy> z8wGjdz>DR};Su=J5%>wf_5HDI+l?u7WQ*DtFX&yCZsD;`UUJ#Bh!?I_o3#+0M-_MH zW>0^Pf{UNDC9&%ULw=4=!>k#Nvl?0!V8hzKz9D5xVfYbNfU7qf!7oD!wi z_7yGW6Ag9aYcVXQI7rmUY2-mr3eKe(KF!jNT>H!GH8Zf-oDsI zv*S9m78I(j?U=mCUP#(FYi`4gh6`h+K3x21=Nw3$)?pE~re8LYD&KZyJd0OEdZwS6e z;d+1k2Gm;`%FnHDq5rzVwVZN4Dd~?;^!$#KhBzmd!sllS=h#N@v5Y8;A79pU8uHQm z`>f|QKL05Ze0YDi&}%-TQXx1(=d1^g0W9E{{>w7>?RLSI(yo~*E_pB zh5vdN$ag(@8F&4}!(|-xf``jEir;V12>*nOXN89+9e%2Z%XlW~;jNC|a)0Ol33w%I ze@2l6MpNU;gSCww8yyJ;ijoup_w3_F1&oxliFju?GH+m6q2Y=ZaaW888FRH4uHY^i z#2R_NqR;u4@Wg|Z6S3Feg*;^(EV%e*Td9qNFV7?#`RYp?EL%ki_YE^5>Xd`pPmbV7t8+@ZeWsd{+a(A!;62( zfA%eY-UEttyNORXEy{S}6is`Q4?F*&JDFn<%HW4jnTmxUkQk=MOBg?V4(Av2bk@kG zg4~N0wWm-!W%7RSDFm|61bLDa3jc>-Cvae&S;$Wx=)SSXg6$tge?=py{=@ADV7dGF zV5{*NY)zUZ2(n{0GHRFnk)Hdlo2(_D535~sUXHiI8Z{Q`c0O8IvouS@e@vHW_KmTE z9K-9cl5T?ltEmX&eM7Ho&kT<-_hJRPkM3YVfnEH!;Xhd57vz{ru{{6CC&+O`sO^7c zcPL}Zof8JRHZ^Z%_Mz0=nb{xA%l?#!n|%VC23QHMpb|8vg@LNpo^d*E&1&g`>C=Nj zYU2={V%eus*#=3JEfprIobm;$8zHr|fq`=Evw~}(sY_E_4~0%?qhl_WeZpyf_~D%T z?1KnD2(rA_2^!$2TgfyXHetD@i*@IC|F^-esqNPkBw^O6A*5Ejff6y0=EH3GugF3+tPF9SpMIJh#g z_bw`Pfv%skE1{sUK5NxO8Yk#)+WBd-mtqCn`IWFvnR5ZL?%stw!i1&Kt7A)IGB4sS zBL?PdYEI*f*zy?HkhGDi>$mxW3+)hS&i^V9d;#yiTtsc6L<{R}Ne^ER+Z{+?gyJ3V-mH8Bb)4pbF~N1^|_!WBVE<>f7& z|GVUTyZKl97V^Ja=g4&W3+;U+AfOCMuA#6OaGxptU|A_Plrm!$;l=EECFurpF8{E@ zlNr;Dy{Lu>bMaq4VIHXLd}1lxVcd|*tiOKJLL;!XMX)=IU>l2IKPZ9?7s38i1S@q7 zA=lAp0{lcr&h-S0jvVORxtaTPH;t<+tICXTDof((y{dDSikuk}n#!u`6ySKt8Rk8X z*R5lW{+f>u`0faNA8_skZO4;F+Mx+ZNABSax%8BFn>rne$;tDZWNtJmhnWqfdBz?r=Eer4c^ggkA4ti9A%a zXZGkkdhXE?XFO=6-F!2hIizoO^rlUPzdyoWES=woz@v2OaPQ9Ki{rn?NEM463%nSA z-V;|0KPLijjKG^C@XI4`o}*+s_c{3_oj(~t-yeaSbJb>1qAk|bv81JKp+WG#T&daI z#CU%DN~l?BNvB6b3wl==Qck%#I-y*K>RWo+uXcn+Lrc$SfZoX3UIt0t1wRUOWSp%j z0%N6<+59ZNo#|~$UU*?kcQ1C~mM`yGZub2~>=-VZ++p@qIVp6L!S=FZMDmtJUD(?MDzP^kskC77+_89Nh%?z{H#f|}VJWkz+KF2z)h@14 zrUbo4j-~TFy>Z5@c{3?0=jkI#3b3Zxvu4n(u0Uq?iCCmjTu11fsdVLh9G(^U$sWNR zhx_zbDSEwU_j!fuJvCXwCx5O}3;!QGdanH)t?*w*;D1#3af+U5bZN*(<2(XOL;M8% zB;4a8@F@ysUn}%=5xD3A^7;2Udd8Py5aBbZaIPl{{*Ma(fWp6}@Y5B3Ff#;({JCx} ze9lxj=LLdO_ZSW7HUBn+bKPC&uTuCFg6b;%C0XnS_1LzEu zj4Ozfzm)q{$Bz&47ra~Hn*Tb5YyR66Zurv?W?11yeuwW;IQh$-O@(u(vwJ0*@H-3Q zq?hqg0`D}$&opoLFL3X~ae_58E8LsUr%&OU&w7P3T<+h~++`o5!ri8D(zDH_(fONYG`9vM!lBdT!E6CLiz9Ex_*2b_x^ z?Nfo1r%(QN{c|iso*av4BmO_ELA*=&@@#OJAHKx9%1gh5$1e$cvGfZLw}cy9Kuka8 zk)M8-0V9bY{(4qAnC)*7{(R6B3xAL6AS4|aKEw9IzXBM;uf|WCZbvBnp}0x9$+HIz z@-8%d{=EdGLA?94YaHf9Gq&FOm-G`hKHCf&ip9U&HMq4dK*pbIBH~}lZ`2uvW_Nhx zvl6g-`tsB6%TCfA&VRSdN7g%Li61`a0e;>Cip_Tw^;VC$A3o=C*DPNwM;O9;lcUZs z)J&c-IbqD(*AXFo8Rbgy5C0PolOUJkcViX%hWGEwoJocU%EEOQ#!6O{mmE3qz|ysd z7;(-)Xk7AH%bVz-Pq(i~$IQBS?6ieFJ%5qaZKm=5uWfr7WhF=67Rz1cxhoisP9DY9 zs_8b?lyaf6PmXW7HYO%aGbt4I+kC7jxaq$mOt>c{E-tkr*v|*69Hoisi$eJvU%xLp z*7^5S>^w*BKMFCoE+^r^`t?rzvo9h~zb%yT->NO-eASl;P;3SNiWr}k;SlrlMEv`5 zNn0YU*_Rb-3-`Eyq|IZSQ>-tFY76gj0nC+v+|!r8nCyns5kBesu^do#kzdQ@=N-K~ z>HNzah8T?>K8roq&ZIGXtMgowYpU_3IL+H{3*}5C!%y-L{|BSB3Ubrg7MAWCw&#M} zci!cp-F>2suRJ%g&%d9Ae+T{J;1Mnt^iFu;OG=)~QRl1NH@znXxsR!DWOJ+d(WqR| zDPPRO=Oqt@snNFIA5KE5s5Y8n`)xEaDVxk&8v3s{Z&tTv4BN{~uxm`empa^x+01v2 zi?FL4Ou)yH@BYq_cd1^6WorN1{$i!Jc$>|rN4Nb4x|A9DD7Np&u}t(gfPM?iy@}#| z1?S1^Lzss&l7DOqi6;oca7~Y<7C)gifcu*jfithkr`6HPIK3l+{^|(aELfY$-B$S0 zO0SjE4LcKQr)!`46kH;IJ9`o%mfA(_j9yEJOvgL<**3G?l65_qN3-26Q}}Yc(-3ER z34I^lX?#3uVS_WTgg)VLhRdIrsqRH^$&s0Y%gWpL3atC zW1(W*hGG)l|mh-QvlWX_;3^@iEp-GyzB-WiL8oe{_(DM$$97z~G z4em_2J5OHYG}_q_2(Ev`;37}@g$ouXu1=UMT4D=36N}p0x)!x3?9MFg_Jv1^66vn4 z#Igm;m$WAqcP&rgKySicQKEfxbb?dIqQoL|bxR_>vb#MdnAt!z7oNnf>geg|=v+dD z4-4>BE54MBLE~5NvfiFTD6vlLh9=N_CrpEGMeK=nc6BBecXan8kmw2bMQmr6;zaUT z$T-p7i3l+)8Vvr-8_|0*eD{&Z^6%Qs+R-|MQJ|2 z;o}CZn|onXEVKbdV#Ua^ZhCBSVYtEK7+dDqv1cs95#zqdv!iVo;eLf@@AmBNo_&dD z@AT|lp8ZPC-r?CXb{Qd$5&F&kh7TA?-{;wrp1s+#4<9(vf6TL&d-fsEzQMD1d;GgS z_qCpTwdbDn?9HCN)w8en_-*j)+kLy|f5>y+<=NMJ^nIRvt!Gboc0cd_LT7L}2jY(= z$v@12=3xdjW5OloT$vGFBdwmdYdfhGQXg`K$xqH`-c@a3;lcMxyuERlvUB81?oR-DC zoo(qJ)BMxAynR7WS7(pWzp$)pfjtfd2XuBl5mO$jY9JST@~XuW7Z`|V$}O`{jtMzl z`!hipj-hBcw9|8);|*%ZkeZ(9L_>P6zssD4V`iF=KNXU}oNeJz^yEpyVj;58E@L>s zMZPLJ!U!&Pt=7UJeuA?H9-eac`5r#Y*_V3wLT6v$;XKnzv&KHcaK*mP!@uC{cX{{* zXW!`ITbzBHhd<%$PkQ)E&R)udfsyoi-CAQ69)6&+S9!STkdnO>;UhXw1CRbJXP@uk zycC^gsfT~u*;jbD=u%zd;X=30!*6r;yF6UZPHpt??>PH54Ffy#3qz}ejQ!pICBT4b;sGEPW?x%J@mN{`n<%J@a4(<0>1m<3$VfSpKyHT zk;Dtzc0RSK;-ng8$T4R6F^~N8W53AotMSuj!+2|ZtF;eVyU>35{wwF-$0go^%igsY z&DgN>Un_*}De?=9`9jh7?{FPag(GDAIl2)4f=8`=RJa2DR%;K8k1soeT<84vxd^kb zrbvGHQEML+j_{LYri`C{T>I$i=~*U=AK`vWO>v#PwbeEIeLulkw~tRTl13K0_K}(0 zTw>a9S?kE%IG;NqM^H=X4iXwyu63C2+8ym_^1XcO;>PTw;Ux#FUswkpL1twIl-7Q- zvLc(Vtc>@weGPIe6GkoPDYRr(R^f(%1YR4nPnb~f1$1Wk{&UvDd-~wi>Ni-R;{*JP zqA_=))x&vC`ANWT{WP#(@Y2faU~pMwbJO6W%5Hp-ZkUKdO}X*Fg1k)O!Fd01hSx`P z*Om_K?ybc=1Wlo@;=b{1cd&X3BP3Te;1loM?DBy}dN()bu1)YW^C}a>z)(}}(#oop zUu(?WP@22Abl~yymvb}9ab?0f5{{s`sWEqPqA_<3u4VX{$cqIh!yr8qUyoO&Hoq~J zAD`n3`=6(#y_|~AdRZc3sZMIl%}&hBJ_)_R)E3OI?=P*iX=E8y#0NM=302m94pHC4 zM&v$Bt*tHt<0X~(;XcEfd@J%haZ|#Z`B5Lw=eL5^=qC_;33D07k`ZAT)*Cq@&40&` z*DIN*gm2U0DEiDO`hfK9QS@^_&s1s5ohb?Pl1lc9c>hbFs2NJ_p3z(qA7GD!d|1(x zyCN}@_h$SvfSI`&)c~s+vw5Ztlovpa08}G4=4MowQsYLL5WnN(M4? zCX?}l;4(8ey8=G5w9V5`z?;@_oVwUl*6hpnQj#AB zt6x}yz?z@}A;~IRN^J@WAka|Z)GEkbAHiUKWvkKgJg(9TmswSTYMe4PdQ}3iJOz&% zLRh(3&m{^$7V38|Qb1#NOT52<#Nb(N6B=)(N>$|VM(EPMup%H{f2c30mx%X&0A&GJ zlq7IPNiD7@p<0D%s#P%IF;DhV{@hgPS%4y8DG2fY=MAiHPNABIISBT5nrz6Bk^S6C z)U#pF`5%lkYyIF-I@iY=cd(7f55uvL#1F;? zUV~&#hp?&cVP$>{4)=BA&*(9!`GxgW&}re)NZQRX$0bdf3v9k+gM9UtHB5x;ld5HO z`}HV?(8y7jgnKMy^gRbzW{*=$?(~7jHnG#sU&7L9^j?^%jq7EkIeD8B=Pv*U6W5(v z0w~!)S-KJxcWk}}INK-oPy53DDf7b8Aaf%-r@5@($dPzIcbEXO_-?hYEWY>f6}?P? z9ZWLFzTC(%Vmk^+CUfHsmE1`tG-e;_eSdx$5JajU9H8nQeFRG6z@2!vordLszTw$0 zvS*;w*!G!A83kQ4P1%>EwJ>3ovc~vAWVS5zwUFp`_Bn90?dC|{=+T#oqLtL;=-F&O zq;fNwvkzyU8`C>J(^NTi++Aobw}HjLZUh|ff6+w4sNRPvY}B;Bf#_(B=A-efn3?@O z+s`JZ)I_vMucEcwx1CgnA~)DP*X)~_-PM%+El5n7(QUVB883!gQ}*}h&m=M9{l7GY zA6jOD+%y(G+zwRl`Z?xxMUbOgwuBZ`Eu(GwJ=QysrfikFjp%+ba`mFn%Km;tD;w|c z1W_t?Z8PF-ZW5C6jMn`5f=q#v*7OC>BZ=mY3uAIB+=LjTmP9D+Gzfdcb#TfL8A*^o z!qMDQbPt+;(futIph%gJvXFlX^ioIjJ5ArgK7pOVYv>;4n?$zFUjF(K0*A8p!B_qY zQ%N9=Iv+D=2JPn5iy4!)#YB}jHZf$k2&LeEmH7*;6_-O^S-+AMN}jEeIn#-Z&&;y& zSy(v^@X8;}og6knw}I0~fIFVFK7v$PZRWrkW!p=}JO+IPxb_LRJ%J>=?I|^(3Epof zBbXOZeJw8#+`{{!2FEp&Ro%?{qHa3C@H($-sATLJV~Q#_n89`3R{WmDkLK97maV>Q zeaV=g6lHhrgm&O{qhy|8^r~~XMN?`Y@BTc|Nc{=_$E>AuzNhshNZEO>!&$CqO!={| znD)Dgue0-!z>j>Ac+!}1g(v6c#CI_-VN4mp^TYTNA3lJn%WFIv@iS}t1Yuguzx|6o z^Xe876fIwit<`_R(2SPf(ubwNQ1Pz?KS_fS#0%GKi{Up#;Gd1azYu|cH3I*31pfU9 zd~*c8Jp%uE1pb={{Erd%YZ3S%sCUKEjkDKc_{kA?bp*~eP{3GO*^- zLYQYD-t5zRoMoFid)C|*eZ5+!UK@@^2t3ujY?@TAU+ZndhvXpR&1^W)fg>A6QTM`* z&dCcq#o?;nWu7{4_*m3&4c$W_sB9Ze=#}`^-SKN*(LEWAanb?+5A5Lqec^n#P~2kzbt}(PXzs71ik23rn8n`f6uPv|E1!i)8P`=pHlv#ReY~exK95sDx76l(&q_< z>+knZB4ZdnbUCbzz%N&L0)B*lm%?@V{D#7HzW+$!I=;VA__2!rs|r6(;S*gKPv_$m zeu~01|LYW9spvnga9w}zioiE3`~<~E_6q!be?`&jd@ph1BFeAp=|K_rAqv;^{e22Q zQOR>$1YQ$?f7ao?{Qsipwfx^vxR(F!2)z102nWOXjwo*t__+#Cz>k!-w8BqP_>B(t z<^Q~**Ye+~@DmlEe~-ZLjlh55a6jCa6}=AkIyVqtI_P?Ro5FSb`5lF8IUkR}OWaVI z{B=8UlESN0eCrji>)l+1>w2*u0$-_c-45L5a6f%ED0-bf_bObM^It0bWF`MDg=_f_ zbK@?C%Q=vgAG{jFZiZRJIVp`xPRva>Z^5}?*KW#KP;i;gu(p zX8b2xZ{ffAm+_@IxNI1=Dn8QqeS6gto_FESK7pJOA@N<|4n)a#_Au{6+DG zjz6O${w4m00Q1wHyqB^OfqAEU@p2YG?iMKnFNWoZ&*rRH_`6(1`Mei@&uZqBi`u)x z4-wvKFTUoisr&uy<8~!r67sUtO~iRh>N?+=x~MVxBj`HM{xmhWG5e=^**ACtZEaIQ z+d37TKbZamSG~KN>=O7>Sn;jrwk5Q%W81Eru`-M0++V{&IJBhC%)T0A-Nqd`Je5vh z3!pa0?isa*Q?qa9v!M=qSpIweK1(;_6UNH_E}d;J`zo5x^RKY3YV^FCwa|L5h1PLh zwZ5!-%>1HDmu4jt{@>(#cC+00*Z8O%!7_FKn&)@H9%b0?0f-WJ4Y;+2|HalES>^Qk zT9f9$D)DpGA@t9e4@cnBBk;>2@IocB2XDiVHVWTpL>#W=f&v#K_$=ZJca9k+v!G)2 z%|QgyUa>8bF-ki@7`9_<_5}Y7K^Wpp8^IHJr(v7vx0}Y{9sVWYk7dQr$s{lu$q#EA zohMO!dADmn0_Tx&XE=Uac%s8qb7Oq`%>0l3BM)s(g@rudsekFq{k~Abf2+Qb<IBepFvr>f~QcX3F^Cb7_>{mMwJ$)84u-tfsmYnElWL@X>+* zN%NY-x(~j|%gw-ngQ4^Xg3OAFSh@m_L@a#>9@w3~eaK!;UGGk(J-B!+@1@SuzuQN} z@s=R_Mv#4!y=Qf1@7Q=hoo~1}vv+*@xXj+t_`oBuZ!N(V=st6C9(u!Sd!WJG<1z5K zL3?)ugE%J8#M3D?_Qnpo-HZ+VGoT;fZu;N(;M&aIlHOG~>|s59hn^C_Ag=rHJf(l+ zHmV=qL1_nuQrRu(O>+7q$UdKapg#MYb4&ljhyxfkk8EOSLDu?J0weyA{%&mb?sHMt zTCyI+{%#h1O&6Zq^V7?ucWy<6OG9|VHQLOB+(r1|y7=66I9nk?BL~2>)aF7TBVy9~ z~^B@*sOfl{vD=K@RivlFM)i>{8y#C~!@!PaOpqLvKhx&lIK!AWyla@lNp!YUOdjn}3X$w^zX`7~`&?cd| zfg%*5Nsv1s*m2Zhlu>4UF+ZJ=QD=-*Yf6QJ&x)@iDis}UD2#}T^+o^R@7`;jyY9|8 z(DL}t{Qdp+=X38l`@7d(d+q1hXP>p#=DdnIMS|&}AM<8#V?)a8kF*s3q}j#XEI0OA zbfxsrBQDdM&<=XND&_EaaccS&*X|mpkr{JR{}i&`P>K#!sc$g|8d=aj+u;L>zl4IM zl-atP>Ms{S;k@^J2*tZx)`#!!Kb8tS)kcA5_`w1+C%h_3 zJ?pa8&jL|IL*T&V`G%Ovjd3%A*B@b;R)1*k|3P`?#_B;J)LU{O*&5L~0rw6${ho;5 z>&b8ZWV(sBpz)UU5I7Bff|Y=xt>2Hn>}q0#Q^{fH%I0~-j#m~zSFA=BR_H|5^7m;oLB8Xt8Yo{;g|exp&6h6QD{A0zNcr}S(<*RD58a9X z`UeM5f>0NF5E1JijIzV2_LeSYhi_iKcph)oPG9_`DEq0lMt=Cg^bo(T=SSv%KBaX) z@ryVVp2r^LF6DRz*&vz9?dJUHp*4(I+@XpfgZnDd!&jo*(1xTkw}JvnwfCq$H~2;f z%_oMJe|R3qcQm_aI@k<0fWzwmwT^UE`tzo!M1>-2qgq-U8p+a{wtR=2c;xyT)ax+N z)ISC7BrUUivAH2V^dyot2uk^Iq^k%uU51Wh21XX5$1iJWDURny`q8;I)j1mUtKs*u zOtk483S!?>qOx^_6CZI}Gy|YTTlYc~_e}gADlL)T6-o)Y#<^z|Gk zJV#I#6W-(7KmA9$KvZj^to@`lc{j3Zd}$b6LZrBKY9R)aWr?4*a@ zk1KRFsloX!f1ANAbL%uX3!Ai{Fudl*Mu8WO=SYT@mHQHh85fQrtvPkWTXJLX27>WG zGU=th3Rp>-jT)MzAqahF_;C(G(ufAXQe9Ff+`hT~aj$K>qtOq#ICCs|EOLbXAXs1j z?pEk{md3&yHL53?ijU%L7^9+A)$q7`D5r<6MLS1Fv+0z|3j@s)oHEq!XMvRlnzr(R zCe5De_2w|lWYL&g(LXTGV6Z8TGgLnt+=q_$QHVLX4|`wr>9LQB*=63<2D#`khg zTG^vz?B|e#PMIFM1I)Bv`y<9&lk{96))?YBU3HEh+KD*H+p-paTl?`>s*Q=+D2>v1 z%SnyPLS3of*O`7#k(~~5#Q0(|?uudjL$pIp-=&uu>m}_vrS$>_dW;hvX7er0PgMRZ z5|UXs{PX_p6I9wOf4;0Dz3VeUejCg9FUfb{$@$09_*ysyMVl|)RVq?noVqVUBX;+G#OV$ zc(DD*Pj-6IeO-WVIFK3GMVNxQbMl^ZejY}n@%g#>nero#Vr1)k>>rrK-7osGBl9Zr z9WUc^^pRZg8_^n*o0nnR#ddJTlozVK)Zld4@@mY`V&+DNj>nwv1|$!ocQ65OlVb}zfOdPFy_g>2^Q5`{=g}x5jSii7MpJQj zH0Q}G2PyXShd3vi!Eh8XP9oflQ3Yz?%3A~78HEE#1My|PbQ0T#Yk!*nyY>MA9N&pe z=yIy(Ir4H5x*6L{xODdmO?&7(j#DE`Dun<+o<{lLr6K*^uS}fG4y^Mv==B$Wz)927 zZsxiK!>em~-DpjlX0(oUHnfhcuQPS9+-aJ(?ArE6)WL%waueq) zyOpKMl%C7DN#00CUxBz<-^FcUQ9mw4fBhGtI@yPf9~fgx2^2mQgh7ey-Adb-?+ii&tK3g z{E9Lr1m$hxMQ#(%RG*(KRYd*$u8pHQv>)`pCcZ}T*lmjHPokl!G+N<4%q>gxfWBn| zKZ(Fn9Rz{zLSU)^9zvbZ1ZtzGwc=_sVCgqtBGr z5hhlsBj10~>t>Yd=%V5teSLBBz&VJRYUWJLcO;Ed_4w*1@ha8l{$U>Is@JF5{CPg7<3OL(i3q4Yadl?Z z+QKPE@JQCzXHspB_Ra2pf&0hW^#Q2N&qLwxMH#*KFTyn<7k^3lng17-pDX{u^24^q z-(QS-5%#(0_Z7ZD*GWMgE?2(2;W6qQ&+_B9*qbYIRWoj!x}YjEIIXFwt?P)YOk>rI zTvhcvo>f}$aqDlK-UM%6gLBgt8)C3ynjdl8{TWcaB{n9Q8=Y}~6n=a&M!)Yb< z;GBWmp9}seUQ6=fe9^&a74JVn({6&nTT0o4Xf6#smsIoW@-G9eVhv!~B-mAw|IrHU z%ei@Kj^~#)RpIm~d~rZLDi1@1F&0B)|TvT^#=QH7D`*F~;4o@}SO zCx+YDS=Lfd?wnbvr)z_HCI*6n|{7UP?!1XZl71Hd=HyJIlw>u z>{+)zYd#A753$>(aP%zO)UCp6V1@BZ`>@>Dhj2dciLao*a7w=f_r!Yz*Kv#OlK6n&r!W#6U&4sVaDuLS(p3HVez>*DhD@&vpl0k2EI z-;{u#mw>NKz`GLgD--Y=67Y8?;Qx?-bANDL`Ftt?-do*4=F zsR{Vm33xsMzaRl$k$|sHz^_Wc|0V&a-SxQg|8N5SZ@}&O;4Cla>;jY9YwGQGw;Nr^ zo^`9;HdL-SwL4?mFsu#Tt6mtnZto~;SO@#x1xMi&9~p!ts6J1FQ>wYalOXqKTE314 z&4VjbW#f&GGleik`n~<~h`SXCiAiXg%q9k8i5J1pU>B}f1$PoMO$dUmt0jSrA8C4@ zI~yB+n5?!o&f?!}{>|avnfyD0e`oQpfq!%PS6`Q)YN}^UBlVSqPA=~?E?m;S1gBqg zZfNOV(*ym}LS6gHbua|mc3$I>vuMA2QShf9LYgeb5FKBCb zCc1G?99xoCbGz-@)$OaU@vI1gbQYqdmd~l1+n#G(u=sqQw^3KpY~>E#{`J0&OZ#_u z)-`;t35f9C!n(I+yY_9J{$T7SOJRWBAKC%(LQlIpE*m!4n-?^n?~c|k1Dr?Vm<_

*}FK)w7{ZD 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 z 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 z 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%0D%01D^!=WB-}Jo-sVaz0 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�JyxVA)nA_hnbaFOOdlzcOCG!%Ka4 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

VyBv2jA+0KjDM_-Uol) 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%0D?N{_}z#zFcu zd-OLwdZ$NYtZz{K|Mci@c=SJcG*%f5ir?nZDUWXV=o>xyCXep$=v5wlvq#_J(ckju z%^rQLNB@^cf7_$KV zV;=puM`I%Np!|N{qxX7rmq&MdbdN{h;n8<`^jeR8(4&9s(LeF%JszF*=zsR;|Muu! zkG{*JAMxlukABFb*Ln049{s3C-|f*)dh}Bs{j^7~_vjyZ^uKuY$36NJ9{ov={#TFg z_h`(87*v0r@#r6V^rt;~gGYbHqd)7>4}0|IJo+Awe$Jym@6rF}(U|)-C_m47^hS^V zf=7SRqrc?QyF7ZEM{oD&FMITVc=T61`l}wj!=rb5^d^t~nn&BG>R+8MiQJ?nY7kG5BN0)nal}ERD^gd7DgI@aUJ^oIQ4!rmiJ-W)H3p~2tvqy_} zz1*WWdg*WW=qgWMzju9)CvT5;eV<1k^ynaWaQPK@_S)#t6FvT@M;Ci^xkndx^m;FU z2geT9r^@4R@#s#E-ss8O?CHPWmkKW_)N4@eY_UL{;zDMu# z=z|^|96Q*46FoZW(FGn|?9t^OUFFd&9(~ZuPp5Z%y+?2K=*=G8>B(E~(fuC(9*;ig z(FI<4_Iu?Mc=d0hN0)p21>W^ykB)kDxkp!d^gfTS^3rSZu5a}0(cEJwK-Gd|D<2r@g|Ki!NxI6 zEeMaaU5=YDhx7GvojfCr=OCU94%yebsK_eHNHYsm0dhK=|5{!e&j09C;GB!^Lb05b z;yBTP>Ueb)9OD+l^4q!GnAU-HiDvW|1zx$Ly{RVEmZ32m*oN8fW=yxoB_XxmpV;F^B1V1;Y^(=x2KL0ruHvF`U<1ZB4 z@jLwDEd05G)8bAyLU|rOLFmaI&UwWQMfPAyj&f!S9ry4{g|6^$$5-#+9~Qd9!yAQO z>)|P(H+VSSi%r<%;ds9^VT*_Vr_j3{U4Pi}!F7_RG=P6XSO#9QN>E3!N)f z-SPiH@H`K9x5Q+HQ=h2tbFB~q57fu`0gHRMTlZPv;pYoo@8M-acX&Ac;4-ZB@LPo5 z;Nfm>$4wsoWudotxTAM__@hGa^>F7Wbiaom75cD;AIBR6fop{rc$s!PL+CsYFBIC% zg>?MfO@*Pz+=nfD6ywL8tlk=Z~Z}9kc2))U}pAdSB zhyPmW-5&nB(0dimdKfoWz$8Y6)1Geb^kEM_b)=2pt~>pw3GUXYI()w1ljZ2}e^ltT9==!T4IX|_=uI9zf(<@`ONaTQJzEGO?DqKI zEBr1UXNM_*@Avp;3x3$cO9juBqm#2x=sXXv5!(5ib^Iy8i#-0c(9RF7^6&~*V>ehSsh-0jMIz0Ro!Pk2D z48b>exZ9(ClZQ75{}vBV3BKFI|5@<89{xqa_j~xa1wZWJ+Xc^+Bkjif4&&J-g@->TbiIfFT<8uDKPdEC56>BE?YzOmBZ6=8@X3O2 z@$fl<@AmM^1>fu8*9yMh!*3A$u!lRp)wy!r*}qTdJP-djp`E^t|676=dHmaj#!hM` zIR2-EuJG_*3tjKwZwTGt;UmXcxobWAy@GG>@O;5HdH77hw|Mxag75b5q~Lo!{93{H zdw8qhhdumG!E@#4>~oLMc^>{vp(lIzPN9oD{Ar=%9{!Th6&`LjEQd+!J^U0IXzB3q zse-Td@Jj{X;Ngn|-{j%f2)@O`8wB6&;T?kS_3$3S_j~x=f*;hzzFzlYx|_+bx!P;mD($JzfUg6GN6;roQ1?BTBqUF6{-WB@Mi;S&XS zYbBlh(*$?+aQHcbJ9{{MhTv;G`6YsH@bE=~Z}RXO!MAvLi{QIG{C2_jdU&7U`#t<~ zf*@T+@GTyGjo`aIyg~529==-e{T|*Y_+bzKH^Fn|=D04b~I&=#0tk~aObLqQdF)j=jzd{VP z$}x%nmwyK@mH58?``%+CxOy$ogQz=^<02e~vwy$Xf5Uq%Bkj*uB$s}kg@algsY`*- z?hrl0o=tOr9G%|oxDvQK*Q^UAzQ%a&^L|V)zfPA+{31_))8E0E|2b^_D=xAeE}zUl zy9h46!)a#U_Kdk!(!Yy@3cmiNecj2PcczWBK_ajkv5EH6XSaR0^f#Yn<9FIa_}@>z zy3#DKa7*>0g|nv5nNd(wFk?{9)|W37JP`@`geVsl!I zyo?P>t}3}we5tQ_WiK>?*Yp!(>12LI z_Hq;-D3Fu_t$@z7llBZu+t?2%3M6fs($cTcPM`>s za5KRkhm^`i#aFLZ}m5^|F*`3VDI@$8XL0sY2A`4KFoGkQz! zm5p-_X3De!kLP)49Q5z`yW;sNK)iyH<;KPyFlCx7 zesg0FXyf_c;WsR-TY>Mofd{c0Egye}QGf@LM#&c7eFG4Byov61Y+&EwKVQKp3&~qW z(!POsej4&m2KyJc_#Z0ENYzqmLO~e>W=_fNUdL{e zR1BTw{!GUk6rjc>9KtuRAtcMgtySF(EMUx0-to4)cvUx=jG3-E-t&K5%)0cfP`t}6 z)Ijkm8-MEMb_#-!`z}LXU^*ZX;`zfN2J5Hh?Jg7DXbItAJv<=W&Pn-)X8g9=ls|n4 ztCS&G|0-me7VN0Lr}*vH%|7PL-lHh%00Tj+>mf7C?M>!-bK{NXx}@=Z&p*F0$(mpT z5avv)K@l)YNdRG6)4>xZ^MM;_+h5~+Y&(P>tgHU2(3BgcN z+)5_E8XU%R9{fSCaDHPGbLseW|0UI|2X>H$|8Q|Lu5O=n)VlN(U;A6WgI0{3h$(rt z_^+e^F_MT0&UkEMyK!%Y6)WZq2*6Qxno{7T0lWIq^<@r zW!RLk{09x$m5ohlsN{SqC&|jkE9KbtAm4a}E4UlHF28qKwINnURJL%Fq!1TQrYsDw z_yXpctjly9YKj~8Kg|@{Slm$m$Me-j>N^_OLuwQ^)Edl_E=Ss|%XHn0y^6`uWMzM= zS7S42@#7|!r>%G-#aes}T>4j)4ihNCS6Kzz zi2gn*AfEpY*|G478d!+$LFHGbc5g^u{080x*jlZ!O-JYBdd3xLs^fd3(N^&d6ECab z=55W}i+@5{XRrhC(>wsh77qkcQS}t>LU`qNtGJLEANsO=ixfN-7yLz2Wc=SiPt+sz zRBQr$1w;4J_^iUqz&`t_+1ZYwIts#njQykD=RL15jD4tjuRq5o{z`NN{NH(gx-ns* zk6zOmg)Qv;c?$*(C4X@uu24qWgj z4ap7ha3lq@X(Hp}h5ux+8zt0+zww)3S)5XOcDp|HZmHV17;nl+{6OwvuVWTeP{>gQ zTgt(uHm6PdiIBZ21X5fCZsL*cYhMO{JC6Woytw+XqzHRR1}Zw^r}#@Ge1#G>GR*>- zWb-l1!wDU^??}f0hrxWSd@g|MKl`sE9UDwxUJFjWuhrnd5C8Gpl62vu=E0QzNZOs! zfU`SN{^s1o4Ah6h?mye&@9~Ri|2Yq8>u-6vcTZI^{<+OIYG`fQ$|LRNIqkpf)g0WI z@egi9GB;FojGZEbaFXX|G}yyRQWv;RbPt5I{eS;wsoCh_Gh6-~M=l^D*F4YA5SKJ^ zV0}FQuY4+;WO53#pmh0>Q)jWunnTA4c{Vwf$1bEBlSWqL*@fxTk&LOkZ-t-S706pS zE9Ug$*&np2fc%AeYji0cz6-jv|Jo*&a+9CQt=`5Q8LJ*21AM56a}R)6>TdQmcm0bc zW%ctwypLy=Ah~{wlP1{z-+@BQcE8mt%xX-svA-F9vgq5c!xaVhOSsVSqu@bYQDLsf zg^fQeaCohs+P``vJ4f{4ZAmw_<7#fY>@6U!Dod}>CeZ=j#8l0QOE~4k}EPfu1 zv&#*v{1Gyavx1@qit{7jScF_`rD$*Yo_4wKWs#68%Fa){VMuXsWL1+F_}>@xAYw zQnzkM^-aU;#sf;#jRFZs?V%YhBeL+mkc{9qGautce{~DbA}OD@aaLVd^^Cw-BvVFI z|1AKeU>M>&S>`jkJNffgvb9#@+>#K{(mWm`1aHCN9pfkM6%*>DiSon!ss=yha9gO8 z7V0Ej(#ctM>#M835E_6tBKA(_{J+Eb{EWswaxOo06gD@XcD-s=JkFWCXeUJAnFyS7y2JQf9D!dNf!`Q`vqu)j|JxDxKm`6X z;9QH)#j*=$${nu1!+#k6mm}~uBJg)33CTan1cfu@5Z46oF#gREcq#&)?fA=BxG8T8 zs9f1`JE77}HFo0~b8`>x#*K_SAO!dV0lLz#Ur3as(BfI;9!I?Nq}a?IO#eOr;S|jM{!R_ zybk|@PsFD=U62pWkb-MIt0M4EE1dRu;a^lZ^PS-DW&I4ta5-)uxXjTeuKCCuZQ@#< zxr&dDm*hv%zen*ungARx2jO4Bov3h4|09KKdBzVTm%aJ4DO~gUw!*a@9#^>5!;1>n z;f`ca$c3x*FkRs~+_ehVd>&D_=JQ*HYx;Dp4VTHuDogY>!{JoZ!3ytDxaRZ42tNO+ z=ry0a6|VW*?CMR1J5q&vm&1c{KC0+Bj3@HHqVPi%ezKc`ME*M5D;yr=FLSGcdia{+ zqtoRch3kAPbGXQ-LCI6)>hWN>?{hfmb-YegxK7_Lg&(f?%Umk*;W)JD=Qc&J<$qM+ z?1u{d93}=F`RH`HLg88--{HY{-JCaTSroTktTK>;FJgB#?DtcXx{!`(+mGnyBo{oI@ zFK&su5nTEycLi|iUyMV4fKKS8UtrO<|C@kUvUb&BiBZzs{mR8lUIhC#QFAJ~n5p1A z$C%lf;kfGNE$37m5e$gT;G7!l1AfQgpFCYNRl@hxe=~fL=h%`@dn5i`HBx#j;mb9N zH@t5uQP`Vfo%|;TaPcSC4BpGVCY`m9@xRdd*LjP4WKPGb0CUm5gmoTnSXPn(xa$V@ z@!Rg6nSS&u{#kd@u?z=wPkbw1z%8_w(r-W<6ZfF(Bp%Pg2)EU}WVIwR5SQ@Tyo7~c z`(9GTVshSzecD^sbGh1g*`oO}DdDZ=B%CsS{CFH50Jrbw2lTMQbS`PG?(F!&yS&07 zh1l`c80t^M?)I+Zhux>nV%>-<V#HzYLJ z-pQAqzxmZ$x)14Dg%b(;t^~lN>+f%{;XC3xnZ}mz{oa->gHJf?^9H7!qwc{ih7%3* zGUMD-ftW0YMeZzt%3KR~vn##pTVDUFp_pbM2Rh?;-@=f_p7F8Vx?(2?)*)~VV+`)P z#@V{>jwN96=>lYJ-m|m)LmxEO?Ncbuoulxxk-Fw-y5ngS^q<|yH?WiO1mQS@9}jcA zIb9k0c4s%x#`SxVqHkc;FCFeX%e3)ypZL>f`OZ%H4_6-0-240}uuCH<{j}o36l%(` z7f(MalH@Q1vI?hnd$7sD7>==z7c>5z?9nFeb|(|nULjeZjkn;iV-7CZ`2>9ft0#Dc z8bn}}8}5LuH*3?o#0JEvYjzBS8cbNU2lp`gFb!|!m`LiJOz)02ytEXN zL*|j(NPQ{>^_@DO)_CNy9=vA0se%zv6yo_N>fL?LI^MiJwc(E-v*Q%k;I2I4qnN=4 z*>BQ)<8G25*3SCL#NM1cCe!X#;2IO0 z8+I?A2`Z7>p7p`}as&BSA1EWK%i8pXkbcv-65{tQRgQ1(_uv&K|o%GuU zBmW-v9{UBxV$lk6a~daJ_rmtydT!~=>B%E5u4|ZL z&&wVUvY(R{?l%5}jTcP8fzj=O!GZLMSQg~Z4-zDolY-iXx!WYP$uhjz#BILbozPHp!q{@*xDnte`ft9PH|vBMnB{6Hu9h~E&T zPY{HYy!2t*SE*jAw4jS);X^yM!y*?(cC!H3YBag}_^^zxq9u(1P+vx`>gXxlHx zru?qW;lU8*J6zfy@nP$$p~g-i7_ZCB!_ZQhly|0FK#Pq6sB74m$SS-S-7C`A+6erA z0XMdKM=W~#PlvY#aF#vNw>#XFYux`C|6$?20o?F+<;2DZb`m^?(I+DCQ4u)D4#b@ac=7?~lN5jKIGZfpaDt<-fg#(#K*_kNh}-UU!04 zE^f>5Aec6ue#2HDi+3Hfd^W+vI6Dm&Tq6e9@BS^X4vTTRL~;;#h9p67;38 z$@<(CJjjMjVv#31&5Ci#@mkyka=Hpl#ktoPFG}uq_6iU}JPdYH^!Ak4cA2=JPIZo0f6sp@bdSQNqe+ zcvOVQqcXs}t9#`_UO5_6IVw|mHna}jifqng#*rpuvb@WtO)NIaCco*YGAoFUjP)8F zv!%ut7}Vn0ruNSYXZaF7|K@PkkPQmI&*9|HKC96GLgDPA3SLzBK?)y^{7Ogu+J<|! z!^xj*hVbcB^zT=Auc9X}pKl+LIhk+G7>{qzL*MivB~2{@Muo^@?8e|GuKva&8Xbd#u_9_ec1mn`f=fH%*u3pa0zMgJuwRn|M)#D{vwhmTEswH&H@Oe(cITgU z0>hDh2kRy}<_+S3U}6a-ES%8Wr@g};<7k5ZoA%K^^B2Qszg0W&f071qPg**;Cf&Wx zYkc4C!k2z4F}j5LE&nk8kyle0GIw*_80m=tT*8&>$M9b6HR-j^zs7hUq+Q^!p!{o` z|E_?CV0z4je?~Qlf9=*egU8DbWcstWE&e6_*%k%Uj$ZaSLMd;==mO%H=b-GQTgbrR zWZyE5gK;<}7(U6u!knD;@u! z`Mg&`E^8M%D`*!>ellPJn>=Dx-KdnB&I_;X!!9HbxHK8)i$=bQYVhj99iC5%2J@93%V45F#MbdoPCur`dkFw z2b}Ws;7VumDXuu9CX~-D5%?Xz$!7{-+4M1}Y2V!*78wyfFeF z2b^+pJsX`VE4a>xpznyla}oHbBXEA3hsjy)9CcW$lQEK*!#-)D(T9Eho%y=XDpPq> zsRO~r8jFN!h3Tj~Z8!9QQ8z)i(yCJ_V(4k5?mSF$NMmW{tsIhB0{-4qTqk|$uvj%U zw;X=hX{lzG@s!ToOm{YRc{Z?wUz)}{ebTI!S#35Xs}+%(wlot=8@=_I-hKdpie+eh5~BjQ@z?jCpDPFFgN`W^s1&ZrXDGhUM8}%)#>62e78v zP4=1x&aztGOzXpTGk`2d%;GZ~v$Xm=%L#NwWNb{5t4aAMaaW$hGyVrKmyh*dS04FPTJ!q2AF_$k|N=&@qadB9%>{iXKyhi!0j_~14AFPsb8 z(aSCYW+4GO4s9MB+)8b8-r}hH%C?S@zAqvrqW1l;6S0( zd!^vTiDh%e0BnUhSnrN6zJaNvlEcli`sek|3D-vOLK=Po+!m;LxoX>s-skH*s(K@Q zdxgWzrV~`B>@snn4RFh(T7VFICG0ks5o)bENQau-;a)HH0nc&XD&kpBMIeqnmfXdY z+-(AF#$7pqF!A#zsSTTeIh9yt>_v17ZBee2nleSZRxP!1cyUIBs<8P)3P5VZZD6|V zn=U;}{c)(VwfV1@#G|2XPdoj9Xug>RXZ87x=Z*c3?FoIHVbpAeW8X*Ho=jc_b|n7mD=6&)=evgCXaYm= z8NkV3_?of+tUZE$X#{=+aPsNVc?8&6hwpH>jQ2*_s&0?qKj8SZn#Ly{2!h1?@14a-BFAA9Ogq>HIK3(QE!!DO}r#v~5J&tbQ25|8d1f^Z!Ex{c92Q zwTuv4FkVMR;Ga;qwu!BDcu)^FD0(et!h~A3)wsu4GJtov=eq*9)Vse5;8O2$jFgV@ z@L%dtnFk?w(#c2Kcj6N8%pij;S`rxD`an3ry7zscAxRSd+R0k+c9(wpYxCI=2v>MJ z^~hu7+S7gYA7%3q|8Ljkv&+eUVo6eaBl62N%I0&J*gPWq3mj$hNjU%9y;3`tb?u^T zK5}lrI!8=B(69J^E1Qp;leJI>hWmgx=9zgq=;~$uk9)blHlH3EgWzfd0R|ppU8l5l z&Fd744|czH`(cl3QafSWd$S+*xYNds+h3cHS7&A6Z_?Z*VZW}!2PkV6S+thKGp+La z`OLtx`DSO=2phH~xu2f@1m>ssyJ@v~gP*)Vot^d{FlHOi8IE?68rA`BTIhBXT~&*X z@G>1wY+`D9@#%jwG<^f94g8|XCHh|2fEN(w^muw_^KSpS())RUyS<7J*(U&%zjkHn z0{0MX-d^6h44HC&E3R~=9>BFdf_`}fesu(XV+1ap zopRfNIV6{~<#Kj*3~eE$Mk9PejJ$5cMsSsO2iiyEt$Ia^g}`PFQ`r}1pOjveZ6d~! zVIEu0o;1_+&N$Phscr6(i8 zUE5x0AE0B`R^vw-bZ`9R2z-IVhv2Gh4xd(d1MbC!^DTwzZ|5I6oc#sXl0yH8qGz2b zI6GN%43|A!!Jj1vN1Wf2g0tMx5odcY`1=&D=Z(m`xS)PcQ1l;Ad_JOZEzemBXB{o! z&Qo|o;a503sE5xgdaZ|B6n>=Q^NhlorV{R;!VgvWk*=dg{WL24WQPaknX2fuJklQ{ zAJ$hAF7p5#@%P|g@KFTeh-;gYv`56XjY#T1Mnl5FZK>TL&Q_D@MknD4&amkc=GXQs zj&b+AB;CExQ%7{{x6u(l*4){jguACYoJtHbE`W>N!bj*6j*jgso#0LOv1FqcJn8Ve z+*NR?{~i3cFA4Z$9ESxsB;E6D2B@6GOQ0wl&K!1_;AGwo>l}t7X(;JL-4d623%AC7 zHW04hq}7i79rAp;{-bO-5|pp817rA-e{pM^*dE`?hP4vZ z^dEGqg9+*gg0yRZ6ANaS9_Rn%0ArC~;9lH>#eaj-|2jv=__L2H{w4oL&0FdsQ#kf> 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ν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

o-Hcgh#hp!puen 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≀8QbfmchoWXAX?}|wcQkC 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 z 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

_1d-cXZBmoJyqK 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 OzncY-?|%TyCm~q? diff --git a/src/lib/libhiredis.a b/src/lib/libhiredis.a deleted file mode 100644 index f92d33b59511bfba8459d35ad331e8937a840d58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507652 zcmd443wRVo);Hcg6JWSyqJW~J1PvHeLIQ}Opc#@tj|2!L;i6y+$pj)H$tDvn3J4}a z+A#{c-hBn{cw1R@5z)mUXuL10>t(%PSan1}MFB6E|2b9X^wiYMWbu9e-}8O_z;xBG zPMtdE)TvX|)t&AEV@m7F=AYYbXlnG4sbpnZ{Y_0BmX$S9l3d))FpLVr@T`gdfB$a7 z_3zS#ZPYeWVeN~l<0*1)u%ny_;D6A=45D4bg z)z#DyT2mbiED06{f<=`J12ql7C^)C4x;ju6EGnyw2al_)E>BQYTwS@usHh7BrUh!N zmQI;_32>1t7LBi|TUZ**sad$Nw7Ohk38BLBdLs1I&09poz%_!$VGvEq4V9D#D}bVk z_R|8T<$=1KxwcGDgt$AFR6sg�?p z!%YYTMPHAvt63<`DhU}kr~`bpwSnq#?iHbggrpM$1JPxR64J+E5#uY1qKM*UgtOF_ z*H;G?R|TpKNCg(w2A5(2AUu^f)Zz)98P5&1<=`wtTUHe)twVHD>4Lztnwo{61ZJlN z7S=2Zpf45HmX?WnzAEs5!pch{nS!98^;ehG<;$k$)zvJ%G*DNAEXqoQ+(>DV0DwiR zb}1Lt3Q4P~hSf`E4UuF8bVOB6^*sDf^%vFFRaOTpC>NEfSST6^)>SUV;=0o6c|y`) zO;yd}fDklT(*S)Zl4T2pP3mi_Dp^XjkI2^rq>!b-xE z!I}~f1)CC;O6%r{S_?~S%jTEXiS#8km7+uNOq!Q0EJZV7H5ks3wCEh^OZ7{u%c91n zPeE|ZNw?HdZJ?>ek#X4dFoB6V@M%k%QbyG#?7 zA@VSdbB#!jQN#EIRw8_4i$u0@oNkL2k z$GJ8z5p>P1-ZeI0x%O9ErxzC&`?eqMfAH%q$lR&Pl?H$9&D~`er6q0c1jST+$z+Fa zD>5fyl+dkErRQZGutNE1o^oq=4=#5XG%7yPbpo!)@b*Wmfi}gyB4L8!Ld!lZjk@Za zjZhMLR@xPW%Wug|>j9#Bu!dsXrnH*@$ZCb69%x3v8%!L$G&DQS)BJuzmKAzJ(13a) zgnIV7-sUzSwN~xKMx>HEBJv0p`7PyXDOSs}v=qDVQz@c}tt;WQ-+CzD{=)wFX~zip z_GeONd!MMe=NeJh-XU^=MQ$iPzojSC20`;%u!{`A6PRtq{(NdB{D2X+;aOI@S+tgG z@AJ2eNU{b$Cxz0Q3a4^URIH82kM=}U{$$y|TGEhl3>LZ)ZEGi`3D2$oFO_bW8!~*2 zhw6h%h2-edDVqM4y*JlxlVaK*TlUvNeUT46jZB-{mv}|Ctr4?mslVfo6}p;xLOPoL zmAAPaD5879{@Malpk4g-PQeHI(|$fUqq((Vc#KrOwxqObpyl2H>7K=W_(Et=_^oAs zob|2X)7+Zvz2W(TABO9otb+Y7FLXwlU@Q6!dq{MZ+EJpHMDIYCac>EhR@{z)CfO|n z72CzTX8-RrcI=1HHsP;0uk_yx-}Fg#8+Ic^n_>tzZ(H_$%YF?yGaby*cI5`BiAQee z(KT?gZ)$~KEA;FpI7M}JUm%Cr1A`+QiVSP?!C)ULHU%TU-IRv4tmbdMO)rCI`a?}= z8wKg}!NC^9pr-y1JFHLx{9o>|>`cpE;&F(u{1K>Sg$g{@s$a6lc@6KiRS*@dP^Puz zK;h^2-nKIpntj20?Q}$2uKE%}kG1t52W62}dEhGq>=&)=Kc8nE{My?7OBZYK%T`O$ zFw5RTN(w1dqGyKAObhC>|ZQ9&A~JVGqtT z(MLs1utW2?Nx(2vm6k1R`6HA;+O#O zMyR+)sKFCjF2^DI{0?u^df?*&eb8C#wrv==vsy))Vjj5}03Qe^il5sCA{Z-Qhv_Cl z@iqvH;tPW`w+ClqtWU8*MKCKJaD?v%HS@p+nxBRC@GXnquU$Woa5{^V_X7=(lf<88Vg_%$9X^ENL5 z3T(Zp2GwbN!Spr$-qm|;nrKfd2fe=LeI6@5`*xvm_$5HrS}lEmqnwR-CPJTq(Z3Q4 zP`qq=hXu-a5^`W1!ja)jcsL^*hi<%TCk`;4_IxEU@nt*qg|OCJ)aT|M{tMHw&zsL- z`9hh#g0Mxbn+`S*;)&5F=s__E!<^ zoe2ps(60Zrz1?n$EIjnpS2#_yY-F{E?|>8z`i)%Q-zLL4MudzukloCNE(|0>Oqdr~$x zoyWptFoM$;#*qJwZRAokvN*9?f}M;g&sJ7#s%LKkClhw%AQ!%a5neCh!o;@)yId^T zX^BZ|b$djb1s5W)QuuUhZy*ulCu&V{GoX5fKSOd*qc*9z?Oe z2QWyW;xHPzLq=V{!}X@$J|HeO-zv;{1D5f^9$;v^Zp{tdzXodIL>;}@I|Kk3*4Mb( zM9V?^`~c#oE!N>N%Lgo;0>yH5YR6eVAjJ}BD1Y?hF9P?r#tra`4F|pX_Ccw#-H1h# zaQYqw%&bu3M#%d|KOcly5yDm;fPPp%`XlQ{q7lV?L>*`OxFSnLQ|xKf$C;wN&0+z$ zY9}_&6STZ8%@3tV)|$}n<$sS^XHKg8HhP_jja*KPO~3h;e-%Wr_RI6V6TZSL0oNAP zaq9y3$+r(wz(tZ!RoZDQUR_xB7Xkt!dz;<|Ag_6M!!eDaHIT$vY7DUB{*~4ANfRvl zCJ;y4{tK8nnXmnP!=oaN64k1{Tb@=MajN(;8!rta5kPg|#FrI8EfjPh_8BAsXZd8<22dmP@mrTej8lOMd$rj3NPHFY2 z!Bk+BT3TLScXsMP*qw}UEy^hhOL-Dz+O43VMI_qSC6$^35!Ok8tjmiZF40nmI2pyh6d_1_vNu z3gP9is-{#>s^$?iJ;d)(;`bQwd!qOqAbtmn-wg3PRQwJTzr)4vZ1H=M_?;_$=ZW7c z@!KSR*N9(R{I*LQng)(OBeVNiuJ=Jy;ZNO1yJjFLGiQrTlFXbVG9H;3BQiZ?W~}QK zsFETx=L%+hW#&BBtx%FGGuf_Bp_z1}v*!#jR%Z{|M|9o0J-#o8?i5|u;|I~cOdrJB z9+^Ib=@gm%8Pk1b`WMlHO#h1MbeaAQ)0r}T7}KL<`gcrc3yFFdCT1*|F-4|8W?UjO zQ)ZIP+d;gGWu~)v7i8wkjK@T2Yh|W~$OL63*$hC*5}7&LL^oY2GrdedWUi2z-sVQ& z)+jT5P2A#JBQpccS|D31GlNZBjNL3Vr-{r4nK@l#HpXDCk_2fw0WPtQ|(Lon)HQEv1c9O?U>rxhTvkf-PAnC=W* zjt9y+W3YkGq3W^X z2R-gs>=|e>3}~-K@YC6Y%?L_lEGdOjojpHt2{t23cFO9>0Ejx+s3-wO>5%S=Egy^R z0x%ZRQm@IYfYot`X1bCK_5$8JP*-OpPgTq}4dJBTa~mp*;im+p;8(mhDuo^4FztSvKZke+0YV9uaW7c z$Y-rgUy59$%~F=7K~vIZDa(5TzOi?(tky_rL?t#!`YTcP7eVpfaPI8EiA$)TVxycV z0b|4b8@6T60tWrdAcu)mSx^GW0V4Tiz)5bw`5Sok0;IDCGcb@L-3ytYjAgE|$kBZ_ zfc;BK>LE|bYDi*7r^0_oZUll;jDDzIKOE(02%BTf9as@W8H1vbkn@C)`>AAJL`YE} zg`AHx#z6cr_Xzq^V7^CAdysw*da3yh7D)PUUqMnKvO5i7cQMeXBIr(2lK%$T2o)`K z_Ur~k)JqzM9^`J}dP&3jgIxu2(l7-@t&M&dp=7nmqS{WUn#jv)ld%m-ifXdPWoRb% z0jI`gXj4gc85)w3qJ}hNj+p~9G^(EyF;|Ym-ONFo4*;%)nTzNk9Ia*^I^-Z6pyqhN zOghO-q%i+P3};3dih@D);6O-WoQgl@N|DAS9MesCHgEq0qG3A7vl6T0F&KX$)ThB> z*f3XNW!Jjg(_v7UVq_uJ8Tf-oE>t=QattwxUG?x=WM&O9r<$XOnA2Q~AU_jk$tdD9 zXf;AS5{XA7B%T^ed}c!86|uy?J|aejl-Mv}g>E>R3n1eNSOJ;85u0T~n_&^kj;no> zsM?=^r!f@A3Lm*n7tBb8uZ0SWiI))gbpBE-@3(!nxXL65mm)2S}cO5;p!3+;fNggq#G6o}v$ z$pm;6j>ple0%u9gFt~ISYBUP98Leu<#pZV%XcEJ$1FeSDD%M3IO#jPp7cuijf-^&$ zSV;*-)2m2R(c54H^hfaEX(BnZD{QRGV~9B`l2P0Tog&Jp`=DVo-E!lKi74rtvJ8dxz?AMUY zy>8QrbJUK)1uh=u7sI_Bx}DQmT%&`|%8)z_16|PR2llu~3<2kZ2MX+fph=2VG4Sy{ZK~Yns1K+T{__F^aI!EpdaE4ns$`>|JL^*+&0l^^VJC~p_;yZ!UWf*tmbfXPg$7#e6>WOQJ2Z0}5@yKcR0rVI1 z9{}UL{Q!=jK}*q*9>fA;4E~s1#Z?$4@wl0M(!Bj&{S9L*RO>1hb69pR{y-jQdOSEU zm^t}wCa&)AkmcPS`tzV=c|D4y=hZDzv)QmjkcIAb?=JTth1t_YA>8XWtdM!Qesy8~ zJ1S2$KNa~;wES1g&#N^|St^>EtLDZD-d;y-nNQL3M``(^&5N)e969)7-fGHoftd>r zni}Tq6tQ44_d*(XNCzWR9Oh}}MZKWASMlIn#EAt=J^m!J8&xsPEb~sRBez%}aTXEC z;Wv(QBPKcZ#>Y$~=bAlwL(M-hDCC?e7B)DMn2?H|N8J0(sfIEBI+mL?JkQL=rnazR zk8t8HrksGJ+xi%WH2F-&#Lm2Y5;5BjoU+9Vvd+XMB!>1_Tha+HKI`CLfK7QzSe0d0x!jTl$#*TfM zY!uo%YMsd?X7!QSnW_Jno%f?6iK9crh0ua{I4-ysfB~SIoSo1Gheu3_g$Rv+8hNVu zP7zGNgjblAXqWgljH;5#RW3DePh3UB77JEbayb9FgW-IGnGAFtXniD}ra6~0)bM)D zsn4rIx)x)PiXDkpna%w`q(3qe7qVHF-g-P#J%W+QHU5}~6e0J-9^&YFq@(hPuSAwY z!--Z{`Vfs;VV%sDx%5?(J-&-M!*nfC7sl-XXP7dX7^YDnv6`E!J_T7EK}T?nKh_Z+ zp76&yLQLcxgvTT92p6bz1Rb#m?J!y$>`q72B=@&5nX4Y=)#f0W z&oj3YE@rQ+9guUc`(SxgSMgkAKK%NLN7hwbK zA>~@3w3h-+IPIMPnWy8l7qt?=`1}JAMM8?QQR0O4sMQy4d-aDa6VydiOIr7$x}HOE zCsMgwq$Cy^7mSY3C{KgR*i`oKqAZ0X+@(@#A`AlcpOWQfcC@t}o#d6{1{h1bfl^#K zcA_oU!!wi-mhEiDoD3rxH)9Utr6eByAY8;9#tr+J%@=2;Z+{~7$i^Di(8pTqicz@# z7iX1tFL2gYi4k4piX~6oh^R)H;V|9i3j>Z!D6SGKl(Q)rN3dnc{SO2H;YA(9YQ;xz z+v(51o+5IT?>tGkyoM7i*k#H9krr`k;3)o9)SzAOT--Rs&7qm#Gf`x{q2ryaj69Vr z+MCW7*1gBMu){353S1&T23&AU;T~;E;T~s;;9RY~%-`#5DNMw2JaAJ3ECAP{#UK}) ziXbZBl_|&ur)j7|reR2V9*B|$Zkve1yuAoK4&`}3lji|Vo=ANu&x4LUGXIc6|3~Bl zF=w)bk48zj$juUFKo_Bek7^P=>a-{&c+`<-99A_qIsCHgOAYg{CO%Q(UbkzxEPl+{ z%ovY%b=1Rr!hAOkoOd?inT3>)7lrdE7d5SpAqM7!Phr&~SOIa34n~#ZSWyuhz5ixt z1UkKgeSdue&Y8GyiU7C4EpqaCa1tX=y)woJf$%Ulo73R#U+kLPSrRhk2)4JboY+lA1AhwA4qv_?)EzWxEp`$c;L@wn0RQFs1sxcVnz(j$oR!I9 zw;8zP$hH}nx&vFEqwYfXkkY{|t&32=#B-uPaVt|E4yV;n8wYKIf#eK5TxUKmXp3=i z=-{{>{HNq0rZ{le>gXmNQe0d8Ml9s=4Q_@x{T#In!(~<~NQW^+S!RiqRX%Ed)JA+% zNhTk_5f;V1KCedm_fGRS)%fZy+A^)aZ(1ThZ$@kRT!gxCr1QuPRKZR956!3oSb2v zcbr;xgplYI*kUu%B3vcUfjTh?KM2^7uJEWvGzIo?=(0nk>;vL$12QG+cexjRU$2C@`=9o=(VsQ&fwYos6tr$UJKVCV+g{ zi9j>WEIxK-_gTVB!@ENU9ySmJkT{bYf?KfNp~a)SppIwBBs>Oybg;jHY_Jg77{=KV zL;0g6I7cN!PGg9)6ZTY;uw%(Q;8ZB`xnv&7o=5heY_^gGwS17p{>4(rj#IM03Kn;= z6drVeBz9J(qac9fDZ&ZA9MSJX&PTcKB%tXKFTzI2m%-&*5Z?0~K%*pDxA&TP#}7IeZEn57U^# zNfts9%Hqf`%u3?;mCmM77%P1t6*{MjshO2dbH$we)PbgR@(Y5baX5F6OR_VK=?-5? zm{gQSXP1$+{=d^?{#Tj~n({bJ)f${W-jT47lP5V)u`W;w6-9)O6=)RE-0HB2(OoBr zr@KxABax+vu>tJC6d~l~$*}gsLvrNY3_^h; zCt2C}u`E{KsjTmAScu_a8W(Z$D+ijzNmd%!PmN=Oi`WFLizMV6s{@U2l68@UoMUx> zkdvxrQ)32ftY*_#v+a%=(>bZCF)fZ7)8nZzZGEg7)8nZzZGEg7)8nZz?FiJE$!f3{ znnnpHRW)YDQKN*_U>8Iq&s@*BM;t#Z;UsG)2|33~LerdN4J9GxSV)b63(OBfZyNkh08;)=SaK$S$pC^<5m zBzffb6q0XDM9xnr`F#XpbMJCQFW}@q9mo-#pT07Uf)I(!D&P{2d#TZpy`YJbH$@

rH2A9*;n5&_YLo>9Gcl85GcBeGh5Om2{4? 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 z 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

Y4Ka0UI1k+nmVc=FR{%(~<+ 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

    +&IA4< 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≀2ugg2c&2Z49tM4NLb$*U16 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 ?RMVH*oO@Xmk@ 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 Z{?8saV->tVZC?2QeXR5KfE{qI`9JCKBDVkl diff --git a/src/rt/rt.mk b/src/rt/rt.mk deleted file mode 100644 index 36480c8..0000000 --- a/src/rt/rt.mk +++ /dev/null @@ -1,42 +0,0 @@ - - -# standard component Makefile header -sp := $(sp).x -dirstack_$(sp) := $(d) -d := $(dir) - -# component specification - -OBJS_$(d) :=\ - $(OBJ_DIR)/rt_file.o\ - $(OBJ_DIR)/rt_stdlib.o\ - $(OBJ_DIR)/rt_string.o\ - $(OBJ_DIR)/rt_tmr.o\ - $(OBJ_DIR)/rt_time.o - -CFLAGS_LOCAL += -I$(d) -$(OBJS_$(d)): CFLAGS_LOCAL := -std=gnu99 -W -Wall -Wunused-parameter -g -O3 \ - -I$(d)\ - - -# standard component Makefile rules - -DEPS_$(d) := $(OBJS_$(d):.o=.d) - -#LIBS_LIST := $(LIBS_LIST) $(LIBRARY) -LIBS_LIST := $(LIBS_LIST) - -CLEAN_LIST := $(CLEAN_LIST) $(OBJS_$(d)) $(DEPS_$(d)) - --include $(DEPS_$(d)) - -#$(LIBRARY): $(OBJS) -# $(MYARCHIVE) - -$(OBJ_DIR)/%.o: $(d)/%.c - $(COMPILE) - -# standard component Makefile footer - -d := $(dirstack_$(sp)) -sp := $(basename $(sp)) diff --git a/src/script/tarball.sh b/src/script/tarball.sh deleted file mode 100644 index 46366b7..0000000 --- a/src/script/tarball.sh +++ /dev/null @@ -1,39 +0,0 @@ -X=certstore-base -#X=certstore - -typeset -l version -version=`lsb_release -i -s` -version_id=`lsb_release -r -s` -machine=`uname -m` -issue_date=`date "+%Y%m%d"` - -tarball="$X-$3-$version$version_id-$machine-$issue_date".tar.gz - -do_mkdir(){ - cd ../release - rm $X -rf - mkdir $X - mkdir $X/cert - mkdir $X/tool -} - -do_copy(){ - cp ../conf/ $X -rf - cp ../ca/* $X/cert - cp ../rule/ $X -rf - cp ../src/cert_store $X/certstore - cp ../src/package/* $X - cp ../src/script/signssl.sh $X/tool - cp ../src/script/x509 $X/tool -} - -do_tarball(){ - tar -zcvf $1 $X - rm $X -rf - echo "`date` BUILD=$X COMMIT=$3 ARCHIVE=$tarball" >> release.log -} - -do_mkdir -do_copy $1 -do_tarball $tarball - diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt new file mode 100644 index 0000000..5ea8eeb --- /dev/null +++ b/vendor/CMakeLists.txt @@ -0,0 +1,149 @@ +# CMakeFiles for 3rd vendor library + +include(ExternalProject) + +### OpenSSL 1.1.1 +ExternalProject_Add(OpenSSL PREFIX openssl + URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1.tar.gz + URL_MD5 d65944e4aa4de6ad9858e02c82d85183 + CONFIGURE_COMMAND ./Configure enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers linux-x86_64 --prefix= --openssldir=/lib/ssl + enable-ec_nistp_64_gcc_128 no-shared + BUILD_COMMAND ${MAKE_COMMAND} + INSTALL_COMMAND make install_sw + BUILD_IN_SOURCE 1) + +ExternalProject_Get_Property(OpenSSL INSTALL_DIR) +set(OPENSSL_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) +set(OPENSSL_LINK_DIRECTORIES ${INSTALL_DIR}/lib) +set(OPENSSL_PKGCONFIG_PATH ${INSTALL_DIR}/lib/pkgconfig/) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(openssl-crypto-static STATIC IMPORTED GLOBAL) +add_dependencies(openssl-crypto-static OpenSSL) +set_property(TARGET openssl-crypto-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libcrypto.a) +set_property(TARGET openssl-crypto-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +add_library(openssl-ssl-static STATIC IMPORTED GLOBAL) +add_dependencies(openssl-ssl-static OpenSSL) +set_property(TARGET openssl-ssl-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libssl.a) +set_property(TARGET openssl-ssl-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +### Libevent 2.1.8 +ExternalProject_Add(libevent PREFIX libevent + URL ${CMAKE_CURRENT_SOURCE_DIR}/libevent-2.1.8-stable.tar.gz + URL_MD5 f3eeaed018542963b7d2416ef1135ecc + CONFIGURE_COMMAND PKG_CONFIG_PATH=${OPENSSL_PKGCONFIG_PATH} + ./configure --prefix= --disable-shared --disable-samples + BUILD_COMMAND make LDFLAGS="-ldl" + BUILD_IN_SOURCE 1 + DEPENDS OpenSSL) + +ExternalProject_Get_Property(libevent INSTALL_DIR) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(libevent-static STATIC IMPORTED GLOBAL) +add_dependencies(libevent-static libevent) +set_property(TARGET libevent-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent.a) +set_property(TARGET libevent-static PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread crypto) +set_property(TARGET libevent-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +### hiredis +ExternalProject_Add(hiredis PREFIX hiredis + URL ${CMAKE_CURRENT_SOURCE_DIR}/hiredis-v0.14.0.tar.gz + URL_MD5 b2c1b014d7bc7cf5ac3b64cc25359a78 + CONFIGURE_COMMAND "" + BUILD_COMMAND make + BUILD_IN_SOURCE 1) + +ExternalProject_Get_Property(hiredis INSTALL_DIR) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(hiredis-static STATIC IMPORTED GLOBAL) +add_dependencies(hiredis-static hiredis) +set_property(TARGET hiredis-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libhiredis.a) +set_property(TARGET hiredis-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +### libUUID 注意: --enable-shared --with-pic +ExternalProject_Add(libUUID PREFIX libUUID + URL ${CMAKE_CURRENT_SOURCE_DIR}/libuuid-1.0.3.tar.gz + URL_MD5 d44d866d06286c08ba0846aba1086d68 + CONFIGURE_COMMAND cd ../libUUID && ./configure --prefix= --enable-shared --with-pic + BUILD_COMMAND cd ../libUUID && make + INSTALL_COMMAND cd ../libUUID && make install) + +ExternalProject_Get_Property(libUUID INSTALL_DIR) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(uuid SHARED IMPORTED GLOBAL) +add_dependencies(uuid libUUID) +set_property(TARGET uuid PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libuuid.a) +set_property(TARGET uuid PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +#### GoogleTest +ExternalProject_Add(googletest PREFIX googletest + URL ${CMAKE_CURRENT_SOURCE_DIR}/googletest-release-1.8.0.tar.gz + URL_MD5 16877098823401d1bf2ed7891d7dce36 + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + +ExternalProject_Get_Property(googletest INSTALL_DIR) +file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + +add_library(gtest STATIC IMPORTED GLOBAL) +add_dependencies(gtest googletest) +set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest.a) +set_property(TARGET gtest PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) +set_property(TARGET gtest PROPERTY INTERFACE_LINK_LIBRARIES pthread) + +add_library(gmock STATIC IMPORTED GLOBAL) +add_dependencies(gmock googletest) +set_property(TARGET gmock PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgmock.a) +set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + +### MESA Framework +# Consider the MESA Framework is installed in the system. We declare a imported target instead of +# ExternalProject target. we may retrive the MESAFramework source code from git.mesalab.cn and +# compile staticly to TFE binarys in the future. + +set(MESA_FRAMEWORK_LIB_DIR /opt/MESA/lib) +set(MESA_FRAMEWORK_INCLUDE_DIR /opt/MESA/include) +set(MRZCPD_LIB_DIR /opt/mrzcpd/lib) +set(MRZCPD_INCLUDE_DIR /opt/mrzcpd/include) + +add_library(MESA_handle_logger SHARED IMPORTED GLOBAL) +set_property(TARGET MESA_handle_logger PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_handle_logger.so) +set_property(TARGET MESA_handle_logger PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(MESA_prof_load SHARED IMPORTED GLOBAL) +set_property(TARGET MESA_prof_load PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_prof_load.so) +set_property(TARGET MESA_prof_load PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(wiredcfg SHARED IMPORTED GLOBAL) +set_property(TARGET wiredcfg PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libwiredcfg.so) +set_property(TARGET wiredcfg PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(MESA_htable SHARED IMPORTED GLOBAL) +set_property(TARGET MESA_htable PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_htable.so) +set_property(TARGET MESA_htable PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(wiredLB SHARED IMPORTED GLOBAL) +set_property(TARGET wiredLB PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libWiredLB.so) +set_property(TARGET wiredLB PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(maatframe SHARED IMPORTED GLOBAL) +set_property(TARGET maatframe PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libmaatframe.so) +set_property(TARGET maatframe PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(MESA_field_stat SHARED IMPORTED GLOBAL) +set_property(TARGET MESA_field_stat PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_field_stat2.so) +set_property(TARGET MESA_field_stat PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(librdkafka SHARED IMPORTED GLOBAL) +set_property(TARGET librdkafka PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/librdkafka.so) +set_property(TARGET librdkafka PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) + +add_library(mrzcpd SHARED IMPORTED GLOBAL) +set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so) +set_property(TARGET mrzcpd PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MRZCPD_INCLUDE_DIR}) + + + diff --git a/vendor/googletest-release-1.8.0.tar.gz b/vendor/googletest-release-1.8.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a40df33faad4a1fb308282148296ad7d0df4dd7a GIT binary patch literal 1281617 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⁢NPD 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 ~CadQ`t>M|>jd7A=j#lWID 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

    |=X|#c8DH8~GEf??nl2O*Vrm05f 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"O(YGu@VNo$o7*7pGh8OX)x{@c91{Dwi^- zN^XI1S%IXiz;f!wZP5#BBq{5aVohti#BSdk;kR`G;O(=oCIdOWg3_(X*e<~REUG59 zX{2KezZ6>Vy#?T+`9eold)o0n%@I^6Vaime*nXbVyaAiM5LRcO}uhbwB$V?~z9z_lEWv zm0s3rP%=x@Y*EpA5!*b;YQ3qm`QCEZjwfiYZ?RB)qXETuPhFEjYd_h^Pb4e>bDvoT z5i?+wBtP@k(X%zRoz3kE$-p{V7O(b-4R+iXJrMleqw<>f7il!Pw7N!e-_4S!O@LO@ zBBMtdfR#6iz@CBiVC1B^R2lR-&LM>Sc5%f>SB&j8<((^;O$5)NRBW-E&zm>ltdd5b zhBJNeiP)Xfn*qGYjv#UTybE$Y)k2xE0^f7VU*OfRGQ_Ap9Qn1Tv@rR*-XJ%?&DQA* zV^``0L`_~cVwZqWg90_}=P#s=Rjx1d&6wYG-8Tup*>c~2KE*fNd73zvC>>$ba*)9h zZUc~rku1vX_?1*WaybjyO1fI`SAPGcLyYYh&q&#Io&J{ZE!C^hquQ#2x!&C>QomaK zg%T-t6LbuW=+xK&uo`0SQNQB{bg~;iORv7(WJ_qT)CV{AjprGrWe~T;*(0bl0`!4rRNw$xClEv1dtY&Mjq-Gfk_P=l%+uz zrEmlluY>aH*aQ~JuOzS}s=c64MzhyCp$R{P3nloYxKE4}V_e1GMXH7+HN}0YgBN}s z-wuur-;qp>Prb?H0~EW;2pLpPLQFDcdc?a4#Qq3jprp5%!%3jUf70#sG&#F2Df)7>t&@ zJpv}@^kRIqOqQuShT2j|6XXV}+*=Xoq=>l2^VGl@z;a}HK{T;W(kAS3_{ccBVYzz5*gR!4h_#-5_0;vI#dXERkI;3VQMJE-Xu0Sfaemhd_yW~>F zDPpgY!{hJ4Y#v@sL%BHs)AFn#B1<}O?){Iy=D({Xxtc^s;O0ES^<}i#Y5mx0|G+P% z$?)S3`1Xe@{JJ?7c^5X9i}55S#l{(E2{NSA~JX2WD8qT+%&3dIb<$vTFTA2b^#i}5gOavWTWybCb&mc@jYp#?1t zCm|Tu^Hx40(4fW_i3m_TT8itJgbSbBlHGF~TtucGx@(^dmzk*{Qp9rR&?!2>#u%qZ zFl6eYE-{`?FK#RiD2t`F6 zUSjT`%?LPx6jDF{&J2RtW0K3o=TPJk!dycf;&?p7dtfMVbCjr;@Azk&rA`me&VrNEp#SFWQ6J#F$KZ~~=l#R8X3#(0KYDl2KYrB= z07h_pa*jZb`fvK@Q1bkwNlm*ogOiuRo5R!n*YLCVqJPvs|CyS6**`zV=3bth(x?sI z_D;|H`|pl=r@`BIr*BWr4g;j`pntZ1)a$=FJZJ$9&~9+})8X-XaQ3=)bYzl?a8BMI zAD$u&I=R7%L%_86;^+{YBWe%&r!XfYS=qOJU?L!S)TFIsn6vxv9r$txMDl!KSSLGMlP70_5O=MHqz{=3t|H;6m1yYs`~)yc^LvHk4u^r!y* z;n~yR=;VwT_wMYFkU8j`_o#V*0*r$a@cqTRvp%t~e|&y;diw6|dH>|N0e$`+I0TsX zp!Nar`s5gCX4yGBIsF+yBR{A&V3Ga$@Eqgd0egvSJ!HojaBu%yF9uBlGl{T_-r)G~ z)lvV|;qm?<7C1pb@B3$m4d}f785ZbM;~){x>^q_zI}LE7?s{p8bCY^E=)Vkl2S4=@ ze^DOf;jAyjhuF9OT5w+ui{275?(E`S%m2m3Kntw)p#ERiu!2iKxx5eK2HE6dtiJ&R z0VAxzxP*a@HwP&`B@R5)Mf(pQ253VB6xIO`8j9hEqxW)*2cyJ!hA5C`Mu27pRHuWG ze;>!g$r99djck!0WFfC<(z>o?74T%>WPH)O-qW57VRi1jBNU`~I; zF7-VJIr?iL;m3NG%okQMHn+&M%6qYy&c^r>`PT>iKcpmXVvfYbWb-gi#qw$ykI7*_ z3+D?>Go!72KXqdZ<2rG{6Ved##$9kmH*Qw(cpOh!xY5GX3L!XZ2CU~v2jh}1a?;9C zk~qR|41$1P5{juf$GCKOxS8(KQlOV`I2_~B3|0X*q6w5DKOQkcp-A;Gt+(#|ozAgD zBBCzpP|_1U9MFTHqwzGI4}b811imjRW1kmStP?`@+L~t@G5$$yANjgt_y1)E~<*yYZWf1*Az=5 zsG2=fgX?#_ByxkPHq>SO~H7Oc_Em*eV*8}h&w4Ax79Y%C1MKZGdc6@?oP(>$7nQ|E%crDy(4P=EmK=4Nfu9S*R8ep^P=93Otr+sR7>qc`Uw1M8*J!-Fzp z^zftwTMQPulmddeW87(}gtm@YNw=PcpR0AM#Z%nm)N!dK4O)HuXjLUJc=A~XfWM8Z zlF(PtA|t9qhRX!ZIT8}g!_R{mUIK}u&)Vxc#&xoyj%XK%G~v@_eb%WnJZqHmLyS78 zky4-0j_{qx>L^)WOd^A(uAqru(b?L3dNk?e@<2Ydp(qq^|^Q(ExT@M=87KrClB z(~EH!>zkc;zl*ZwJb!MZ%5w9C^ zbpd?FJ{qirGdzE^y-vkqP-PQa6Q{|6&*sV8rG`^InKzu=r63{d8~XGaPJ zfO-$ZF8R#646_8vU0@zTbP@61!O0n49cH^zn*d@L# zVr_ACp5oT8k75{jf%phLSzLRx89j9%lMz&en7uIzY55-ahBMv+}ZwBx7iiyZ59@ldZ|LQs{s^b8!XjLr=0OBXv58RoJ%=W0RO_8 zF|@Z!1ln0UD|E2!r?5KQ___AzRcG$k1t83{W+1+-4Jemf4mn*#ds@BG)N(NE{jsjl zIgTT%N6Px6y8g+LycI$5=pdD33=+YoBdLTyZedua({M78zi%-#xw|YTcx{~O{J0a& z3U1`_b{!q>nSE&|m|mwcmG}jo<7J>=st*|&AFsI-05<6=L5eYwv%}YTBq?0TtNoL3 zL80kWYomBmtPNJ}Czjd#xxaevxO4w4$Cc3Tn#q29bIItcbuA6z)@>~ers!5ihDD6e zMqY)U0+qTRX^zHOU4;Y^*80QL;*x)`p6O~&H_ccJu3?x7rWTBf6`=UXz-pi*Cv#v~ zv*zwCXujP_LgJZ+;#ZomWV0UR#i^6yb37M!a@;!_;5oT-{ChBX`|j-ZppM~CFkvQQ zkz7hQ1$uzR6T|Tk{B91e;s#FMGJG+su$RZw{%KH;T34;$&Dl@;4aqt(L$!7#2+G{7 zu4o{BobYpnJ~D=;PcDrFrE3p*FJvp+P886MKp9G{k=;zXT*gBYJco3JUe4N#0v?ED zymY1SnM&lHKGmLaLTx9_gwejN*A%67WmSwoM@PWOUX@`(kuI1IT#nvzOC1bLBPLOP z(ye=vViaQQOY>7$pJ5* z#ct_sdVF#Jn{aKF3R|mI*sk6$I~DsS`$;BC_LJ;}rm4~JUls^b?3at@IlW6?@EQ_- z>mKoE?Rs4E_B@+TO|dYPjW}4C;?bmwPR*cu)C>r+Ph9L`91g@UK@Pybr06&i%6Lz| z&bYT)twxZF;9?^Dtl0GD;4tFVNqjz+akUHpgTc%G(cu7ZTjB->eXG&YQjv&70B>

    sVb0yR8-~s4x5l-Omc(R;F9`atooAhN!XIoF=mk7nMp$`sw z=dTC-mxHr+Z{MDro*y36d0sQyEoA~?AUN;`-D1>5W$i``cn)h0zs#axQ9pBm{C+k7 ztk};bbyx0Z0WYtgV^{_I`dTNE`uaGDFY~+m_~iIy?;LEfm%aYcyVJw^@3vAg@mRIr z?N_E8+`e_y5EtZQ=h#p*vPI-5x$37sjdAlZqKI{ThCqLe1+&8h+KuOPzCcZZY7xSs%-SfI^4dPWb$Zx)GdMluYgMpTv(_R23S?AUc{uR}xWq+- ztFTnhrz@`IU5!6QaqvkJ6ilK|(S+{q(`xQ2NZ|o2oo-t9#L!3=026b_oryPfc|43l zWoNLO*tjgD;1ryMr2F!$ss@z5O^>@G2Nt}$oP<~T!`a_;pY$%<4`+B(_iO(U-cHFA^nO z+DlOh{=-|e_Wyo}iFUj%c-%jJwfiBKWPJDlgq$tH;YYk3G>qU?E!fQkQ&cT~!Hv?& z*D(sXAT(}XH_7hx*cP8*xUwGs5gO1vvvjaX2I$4emnwXs1bQf zM*(8Ws9J_iBeE$Bz4e6F)$2Ku zO9dUV-84>@itfpJmkX8kl^?T=Ch93Dz8o&-5@5zDfQ&oB8h zQZ^k67Vas=^b`eN4U-mNdd5Mwlo%U!!@F4$A4TCODDeupT&I-NIPsgJ48oSo7I^m^1HI#c zD#~{6muwZNg)iJKC|KbLPl>iYatbwO(0nGL{rF_IcmpkoD1@FadO%k*2T3|$1ZYGI zuDJX7pslYONe38R@tCaL{&Y5}H#YauXyFG{&u@io(mdf7de4#XPMa08G1_p>dhV0z zrdk*x|6%!6OX49^i1o{(t>=%|zIG^Fq}Z0WF@nleb$Sj|<}HTg=XQ$DlR_e1f* zq(wJ2a6$qg&ER#Io-HqMOxxIGCxkV@e;$O3WQLSV)_idm#J)v$qH`zf@B6Oe*Gy0{YXGsVv1XuTFd zw5Scfq{(X{&Y=RsHwrP%XdL5YV}@>;gg4QgFTg(RXjwCH*L5CEF{lHlk);5keAktd zZeZ87cx^h3!dMFqMQ#oNI;bRTj{s47{z4Vg9Vy>J)ea-!aDATLx^c7_w!V z&nh-2?`9z8XmU9|ty)K^K2gn~KZ(JZmkA1P$pit$;ll~EArQ%DhOvC|(q=E76idjr zkk1oOy;8P-mbn9|plj<6JC2h=snC|aUUJMuZ&fBZwG<0v#jhzE;}}YgM{5a2pX=sx zq$Z%(D)K@v?-7KYt3~cgnl~$MW)avlppcm)gfqaKW$v+7^-69KYFi!_6e7R{!#;xS zWjUa6I#B7rJ)rd0&-613j$^_oDKFnSWrhGF^VcT_?K%#CH__rc0qdCf!g8RM>1btom?DUZ;nHA)@TsH0z@-H~?{Q#o$|FG# zF)>2~XHQMe_IpQ1wCrsLSt9}kiV>tgeJVW#ro3pN*rplt(agNL8f<7>ZWtzQhBqq& zG+=U#S!2PVrAyQ#%;rPWa#b}PZ)dgyt(EY`pP0~MgmmWtLnsPSHI`TguFVw@dlc=B z0^8R0b{6u*wqEr$^Vgx$uv%>z^NG~#))h%KZBvUt8aF3#g)wt-Trgg|LqpV9dsr}9 zcQYh(5?2}y1!U(A1xfgw3XYgXOuoL3qx}F8wX<166i?kY|u_YBWjBmv=&=K)DsJVjY^Hk zARN#RLCOr*J>l}EtdP;A(F7l5+=st(;*`DwpE{W{ot|t2pSlkBp3y64ZXXMt%GT04!A%@a?|4-4+1t#k(+oIhLNvJ33<^^igc^QU3g8EO zI6@W5|8~RF&NpGlhLr~|oEKul`>&dy;`_g^`ftVjAM&h!#mpc4uQ30|&i2-$ogF*> z$M)my&iDKu-{9X5-}8Tb&;Ri~|Ht?IAK&wTe9!;!m&pG?m(8K2DIH!ReW1?2O7p{$ z4aBrhe3>^yiDVub#hi>EW}1)%XixLWDEe&~=?~=Pi*TYp9Vc$KknsZVjv4tvo>A(` z)O?aI3Nn?X(V`?NiJQ5E^Qhdco4I6_lq7EWVbBpEiwA?FK0MUZWPo^p${r1fU{5GW zZz2nSCJSz{_qIQfJK6tFGLA*^UU5BzkLIQuAZ^iPls4Q18fuZGHNx8shT)4?aAH&P zs9tgM_^0|aj5lCD02+-4v{c0`)Yj9P`FlA53G_V#F)$tqaWkGd;O$DxD^E?94*5tO zitf2jCX?R$D)l`-xpbe#o<}#Hf-i1PBloFsUB-EPK(3p^-*R3YN1;p5VLVFlXqo%M z1#|di2F6rO_nuFq6gt5v@)9M>eTor2JOJsr7p+&3`^arg?Wj0!`sv|xhDR}+=f}&* z#CiOmkz4f0Md8Rr0bLp5+P(MP+hlSBDtC509_ANQ{5*m|g7<6vW%8fzhp7)WdZ%uc z

      %|BT1f++8AVV1uDTBeP=8<__to%{5@BZEl@2sHc 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 *edB{VT$bflb$L~ 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�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%0A_2i4Eu7WD#MH3+6@}d}dC@ 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

      C6D|> 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%0D4Gxs-~t^)iH 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 z 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 `vP+v$sQlq-?W>BkttMnhl z)1F7IBcZzr->~qjvhNsJ-(E!#w_({p#c@?}qh4+BZCJ3G{hIlnmF4{){Dv{q)ldr^=$EJ)v4cc~*$$nWQStzKHj3K;C>{ zd^>+6s~;x384gfT0sdKy`2_cT&i%o)S|3O`OR81M6$gV+;Y?8)&qgKHvNVZKP9&5; zN*N}Vb4v$(w=PYo%L$S(DJV#h@xVo$DE;^n5k~`~NjY%Z6J>876i#iyO~9dIM-ecf z+MFaUmSI58eS-8JB7#JWOW4)(H)1+Fi$tO_;RKm#Mv-bZiE38aXBNS0PPywg($qW% z{;S>l2UVOgANTLe)_!QW2-#D_0|y?y+QK`yOYmo!=fEV8Cy;z1Wp?-nOesbKv)C-& zVkXkW@vF7QgR>Oi9K#7e14!bUJY{=@o4N-dl7-wA$U3%5G#%*#+26#)YeQVGn6Z}~ z13(tTM5A^mCF6n}4c3ht=JryOVC&NhhLQm;g^R?L@BtezeUmANu>g)Da}kGcWDyL zX2fAyc8TnM)mo7jd6Jy0k-h!^@LJn+;#-2|J5Afgm;&sUr z#c}LaFBnqtvk<@zg6iQ(9?IwJj?MEG@=U()>@~d1z?7G&m&W~Q zJoG(KBr1@&kh=I6v`#MO2)XTf2vL=>l(>Fi`A1n=IPr`jU$QPb{FEGA&$|dG>syuN zGiC2MCzlLK`MzhY;~L8^EB>+k*bQ>Cv7WATJ+Fa%{Xv4YZsQyq>v>&mL=u@wchCvv zkSs&iOP-u|*wGt!$C#y6WJ`;vo5~mxj*|7GFqa!)REnj|Wle;-^oaXJV}^TQa)F%g zu;*Hb$OL`hCbW@mw;{H6nV$t`8mO?%Y_ z+sht3?~MC#f!5Ms%hKWr^|?UkVoK`?n~hS z+3hKbIC=x%rF6No1x~ujm2|mCQf49lE*omfQw8>Y>ai@jp2FVAQZ+1CNOwGJX#1w? zx>PQD#clmcUbAc(7N?#$Z;6(zji{vcZMVx^FLnfr#eb%SGtXSGbmdfYkrgsR2mq)&_x9;No1QY{iGA5s%hR;hpMMRQ@AoT3#C)Qqpnt8{Z#m7?xKg>MYI zR3pT+l$qBw&KM0ruEr(d?uAx-G2Xt9g<)=KGyr}E)TIHUD>~ZWH1SOu=Ty=_s8nIg z`(VUgrlO+@_mjfCMf#nK;Z@mZbTyRN9H6jr2tUF9j97-SYl`Hc2QCn*D-d+gvo9FP z4oDC+0_fsCMm`cV24guXq~y?g=fghnjVlO!X8-yZD^%GHdBalGk#mxQ$ZchCeoo!k zuVBE}WA=eM$j(@`_+(>KS?lybZPoE=&mRdgAt z`@gHW#B-5=IxMS1{rq^zHh&xw1F^r0*!@1mgQj_qgLzw-3uqDL~}4$#i*qEj4scR!obC=tZKN5zo4TFduce& z6Ci5eM&+iSwgrg~W)vNL=Hsv$7g3V%$*E%oQX-Xj;~$=D8{2t5o!m2?w4!afQq?ooN+N&B|*f zLF9)dDw2=^%JGz_76bm%s~Bd8oai;`M>(&siEc{(Ou(pA(tr4D})y}_A|v` zs3E7t5pzUl54&)+#on6kWMd}m$fT{1CxO%g%t5hYUJHhzR1r(AG7>u&lbBADvxXVM zd1%~nCi%JGlSyVs5BbGi)X}ljOtZO@nj9eqT4pA(2rPQi5zcRkrE7J>mS|uqK@M|j z#MS#AdrX#U%V*}v=JASbAHAtMY)!F;h5d!=_+aHm$9+7`-oeP7MNu4vnTWDc+YC$dDt;ESt{7Sv|k6%I*2c!f>toCpJ&^|oXoViBh zU-rmw^D{{9S;Uur#g~8T{&fY38T(+MbH&l_e`!>L>v!Sn?agmgtG2vvxlW-@OKx~Gtg7Da z%K1>bN{XEfNlPjk^Yc0Hz{zi{RL#%Ds#|J;52Wsp9Av$o?t^q}9qTk^ zwUmExraT*TiQx)2rYDnX&d|1;BWG$h$FCs|>&eJ?c8)+l^J5mI_lAd>Ttr2jigg#M z%to#>ySFb*W_>z>0@^MEv@{!oS0Co{b@?`&QF#vl1ni=$sSl@EEs8P2Fm68YQg)WM zmtT+TKomFq8fCmxN^mt~gBYxm8^xM?V`8p0s?1Z-S~6Y~B8nn?vgPQ!2q zybC)iQ~=JNjZG(tWm5)26kw4LFK&tvnqegLxQ$;Nx8HmO{2XOhS7{eh*Y|Fu(%U5= z4Yhp`@`=c-90?~viTcw>cnRZQCE3I=M^TYnrrmKbWqSwSvDCf07W9Yb*4x<_ltq5t;a*-cWS`TFs^dAe5^M3p%SCvpMmG4W0| zsFNAUMg#QV0C1P7Pda&V+O$@B-)Xilp-8n0=PzncXGJOj-N^|pFBz*k+g?$Dn+(Qi zZ>8MP*Qnko#tA0HJRkRn6}4D`*HO|JvjTBqPDU>QuZyRXGgc6l>|14L=w-i-Be_fa z4>gUd|5P!Cd8%xiWJsigCzW(oz_5lz5@}9jd&%FZr2gi>gU_(ke@3EG07@_1Ml0IH zs&X}-@?70-nL8+dT-p@Xs23&s$wQe6{G~mYYFf?Ok-z%N14k{0V1t@5)K8T7T;fT^ z*%au8__WrfU9Qh4X}oXr!o66YP1vk74 zuC08;HF;jTp4?o{!X^OOYSvUNlB60m7AC$N^c${Yn>=gHQc+im)lxB3jJm)Ml1pJ; zkd-M4kgv}hrcbB-?VpkrIB4nNp_ICPm|WTn4-Z~OPtZ`r6>MKc^^_E(QyBspw3{X&L*rWt@e3VoSn5sE&b~Gu@t0%SAA77o3ld^mMc&RBL z+{*_H@?~HQe!IJHm5we4U2_x0d1n3=kSbjZ z#0vfRDlI)mQG^~!oF4bffqF}BHIn42OGSAj{Ex6Eb{BNUv=2z8xS!i!IWF~d%a0Y8 z&UInEn`XBGGYsHl)@5s&@E01JX)pMHUikUP!~Z%w`th(MTlB_)2L*wNe%{B3-6fXHgBTdEf>Ni&$rczXDKy+df6_#Sb4(aUPNL zKOXRe9OupkFd#NX^%}MoK zSEhE#f_W7!DFHom9dw~&_0_54S@O$Yp8QIQAWv8MvSR}$ZAs}nJ%}|uRsDpHVfF2* z=2#)0QoiIEFN%|cw^Z%{4e${q12#FurHLe|UTv?oID#9V;Z}^eYzld)lB1+>R^jD2 z({uY_B>w9SIseID}Ia?}WN8&F0u;e=y5_S0Oc8$U1e4M--07mQK;my1*O^x|smiNrLTrwN2OJ79KI2^b|IlU=- z5O0&cc}28>wOCi^YOJ6sV@0x=Ook-cQfI+WdBLZYz|_JnK09%r$;KQ_*_fk~x}D(( zysMkQUSI+{feB0jG~9}XkLDXWn)l^n`9_b$7O|s)N&A$_qyX65Io*9nr*e9{v)jJq zp*-WYzH`?v`?MR_r_;bb?Myi+oae-oI<1>kd&XIXPVac~tZ2{XK@_u}>GQfXecs|T z^zg!S8;);V?zIovqclvh)PLPYRESd%t_jadwK^Wf7aJqkVcp?}~)Z()tv7-uPJ`W%) z*{Q?8P93d^!Dq?et^FDA)`!VZEK940W2*oTUA*18<(&qWw;NbqyJmTZf#n^}kK^U6 z?(~{|#f+PB?3B=nq$`k8nmm4xsWr?hD+NOWqg*dmW2jhAug2i!6SNrRmBOqK2V%>= zNk`k5a-i3v!kD(Q7Qd$Ya9qZ?vSGxh6sd%c(ZIBBPR>0ZqDnaJa=M+byk?QV<#<#K znk?44TADhk-ioy>^jJ9-tKSAiSa;J+b61X?Ad5FDWpABYxx54n!|9Ms)-+ZVidJhq z-tQb99Rgs!IXZs7b9h>wr;IIO7+UW`4gDBrb5;y`<59W}UA1g=4LlO%m`!m|?gf@- z`>0rHHVI2bvIR6xeV{6%a|}@ZY$sdwMA2dd+C{TjmyPYi@zGB|cTBzYiXO$)LoB=F zOIW0514uuAN^gLw{XJTfe9A2^o*CZy=4o!Ot#Nqq={P!W@9e&7@bgw=dLt)SC(lKA zPr3Q}E9kxz;h;v1ZI-7^VEA!b)*;z2P0ucm@s*k=x>392X)7cjeF;MKodvZ6VIri> z15?w|c^LkXcgFJ+Han+VY21WWndfX)@VVKc(wmY4#IcnA*lb0rW01LG;TCIj>)lAo z5Gp-qK3m^vl|Hkj9xw~$V63(3mK`mfWP%h}{Lg_x*F6rq&{M6|b!qu@jTXaQ)j+0h`P50p>3HJdb4fo*K})Fr@w8}iF_SL#V}5& zY~Uz9Bl0HMkYc~a-kR1qp}Hqh1!c7AVV+H6=kaW4&X!?N&s31EB#R(03-4={A%Vu| zXn;G6|DqM%Nh3yG@#lv7LBPJu8}w@RulZ`zO@`~g?5|c&geo>`GBa6&=A$f64%-e% zXX>@bX?YW!#6dln2!67*8g8v_eEMpp8R(PBfp#duw;%WHrSvyDc!xsY-wkBc;6UbZ z(bs8^U@AIs11q&|DsxmqUqL$#cQ(zA!`!cfk33!*@l%P1tZHT(cWx zxjqFBk*f|RZkRpT+5*|ayi_-;n(JTsD{|^p&?H!gw5{1R$WsN8 zs90A6WyvTN_Cx36nhIqVgPmb-oGP`7@kx(TmqXd6hc0Kp)*3661bca6u_!IhI zZ@R8d5ohSEeA8?E;2`Z=25E4LHzB`^nNt%)X1%MI00q#D?+JhY{QMGJ`P3zH;Uc&=xjvw^MNZc|fzdb8gFJCfKi)H)D95-F`lTn@xg##tT z&5mg(3cyC76&VNKaAQ%|^eQ7O3jCS)Y1STiQ+F*xh``Okt(_*R8+bnYlcF;bPFiR!|fW< zqq5k7G^c5l)Sjpy9xueQt`$ZA3}D(v6;wNwTva=ng(NJM&P9p9wsGn=l{}4I%DHfx zXg7$oFrnat^=NOPLg-Q*?OzIzqiP*i$2VUR9{a+nm3IA!g)jrJ*P#nxWNWZvnL3oV zBQX6?t;G-d0F^^z&_DMXRW^L-%@z1xDp)X3$Du+{&dQ4wlL=G5adIBHbF;l#1%T;> zJ&*#Zv9NgA+axQmo1I|@mJggADovuiL0^ru%^(rF%F|i1z-75NR?QW64dGtqCBCSq z@p7l?h&)b`3Z}?RXN~eNQ~x^5=1Rj-B*S93(o1p2rr2ArsWl+D8gT;xE4$o!{eW5% zP&tm`(?8Z^_C^O&9^Ra}>wxaj)M_0}6CqdInT8XDwVHM$oFs&M*8H}qVy-JjE(q@u5M#N#h4AB$gme^4r7ViU!!2v%Pa%M!+!Qq`nSX*w)NDh&XS zp{8qNMXh93-DR7FWbkOpjya`nN?Yv&Dfs1|tM#R;b(j6YY!T*7gW}ez^O0K2kza!u z9#o58SJhrlsR3udZ9LMFw`0!8O*eW|_e}y{Ys&b3T@Gm_*}Fuf{TCD{B-IXAqDIyi zCdw-lvC@M>M>$DcbkhHIhL_00Y_8S-{M4i72kAF4I!09>U?$? znTfxs$yJJpLGbiY`qrELd-CSKE+-k<(_=Y8c+fHCEypwbV%4LWh#bW2Na71otw0NCL7cnA+j% z%1j9Phd4p0cUaJHX@-L?=O@{+$wqe2g%@Zpvd}JgIplL)s06AF`UCL;9_b;ZatKs- z5I(|XZ`>|ZiFlHnaEfa3;K9lsm>n+K)fysBbkcX8)4eH53b4!8H`YUKxur+}0#El3 zKN8B)G3)M?LF&~V8ENp+ROWx(_j#Qa~=y4@ph2hy}?vFdo7z#rd$yA@aRS4`Vma2Up9OB zvS8)135AYrA-U;Qo<-*~g_71PxZol&*X6jxRSY#+ym;zqZYy~uLAzw90;bu0VMJb) za@yp+$jUHD(hek?;$-4cT4&lu?@Ld?F+CoBQbvM>2#_W6Zn@iuN(Xf8OjFMg=PGKv zEEN;^21zqjDian;wLbyy%Buf~P`41sEmgDf+RU)$-5QuQn&SV5A@V;06sc6Flb;on znR6*EHwzWi5?2^rtHUZunQLg4A(2?#sW_KL#q_K*%CReCMV0NPbcX5NSURevqfP< z#%8UisQ8qzgA{EyyTf&{B&8m`d-$PX_U)PE3P&mnO@a^aoLxiAOgN~al9;cRzUfMN9rhRCb9C+?08lzR}!j%bMWpJnLu0B?f>*ZzMH3h8eJ@F-k6g z;6RFkgE`|MQ4B@oqS!JpcE$co>bbPjL!HdUrKoGr+3q|x@*Yk@UFusB|A1}!lBjzW ze@dxO^fm>C0z{O=d{CHVj(xc7XT1UA(!IkI5-WRS$uCB;x+KFJ!T&W$shY{9j@1by zkL#z`jX*WAR=8kR$z{>$2lLfaXB<<&|23Ua2g;|-F+1wj#fLb8SB4f_L~EQa-@NGd z3wZ&5dGDOQutMbL+Hz_&8!$a*p61c^anTN^^YaT3BQ$WzD|8pFY?fPKZJMuTX*$hm z2{X7SNjO&aFZArQ4wr80u{i0rO#L(Sv}_tAzMeJeAm(p-?W{JS)W~qtl$(m8DjI=g zOo3Efl`0REoy)IQH(Q~)38_YA-8mc-z^v*p_kbV!6{uKnKp1DB#dwF!rcYw+Ov0bm z%&g*rK+~%x9XsP16keLKN`|pYatm?ddIT z(FZvoL=~k9t)>VEE&~2hds>+}!*{r8WZuLd9J=AOA{>UP)wHCC&&GWXmMg`%cN#O4 zB$d2w z_T1T}H)Gy6sVLn%Ez@%1R>Q19D7@MW9g1x-Q-K*7%RQPZtqKw-iXkM+@+}7P>hs=; zG~SjR&Pnymv}dBvJi4L0Ay&YI%|+qro(y3#C~Yvk8#i{VGPy9ye`xef-FOrtJL7QJ z)+C;bKO^hIth#*{3CEWCC`jg1b4sJoed%AHZ+p1S(X^!@ z66h0LT)X|lz3ApUZAN^~?9FLQ+}J#AP~!P{WUi;tbb6pv6HI(ev#=ZFvzH9)ntQL#Kw6m>1v4fvNfcd^SaqinWomH-rT)!8AGBHZ8BvD(jzu*6Z6i%2#G7 zORAd@kZiKQ8VkW}O3J4f8oEgbg=rbtDyJHf83wifCW)IIX?to23^JJG0~@E8@z%DB((bp0V)x#zP^)$s$Ch*WZRS%>N*j80OFRK=w{ZP>!Q*OeL? ztTh&do-~g3FkOx{41THWq9Tg;Yog{wsTZ_%uh5~3gusr1p@5gWNzGmf3diDP=t~K?wpR%G`uS3~a=Q{Pw zVqvh%anNoPf|?GS>v?g6hKO;TtfCzt_wntStU!I}r*gTuF?{Gx<#h0AYe5Kn+*~Gx&TO7O{*e>TDdB#= zf9Tz(Yf6;!V1d|k5=1~Z&c$tVuA9H^P%hq(l(~P4n`V*)V-@PLZI_0)Qo*Q-Ky=4D zOOED9A*y~1F}ujxtFio}9zj)Wa*n+B;*CD|Elhs@Kj+0EWi!pmvK zq(6PBEB3e)One11^Nc4w@SnT1u;ZEaO&?O{Gm|E8yk0!6xFDd4i2^e9ey?+phS)#7 zI!pOn=Q)>ZMUDNiwu}*(>YvWAGj(e&Pfe}Au(ooggBn_$u3k|>SxqCMb@$9cJ1`UE zvru*T#6Du|pDM@-YZNB&LtVR}k500DuX zTcUD<>rrO{0+rD(1gpLaRnK@&a~Ebiomr&iO72>eW-y18XGzGbI_UFjO+b2@=Y;g zwd=-lM`TdtYLJg0)4jO+kCi?B+tadeOefGB?1)o!o)TdLDmxmhA`IFYeu6OrOt-zD z^c^*wA#ixyF^4a)?~5*eCAgfOr6*+DRgj6n1nXlI{Sj_@ZA?NH!DEKOI%JrvG&;mV zhPRH0b`peyP2+2kIXLj!)RAtUeAzJuXN1>$IRXC=5Dik)VE0e+2QJa=@rr>U>Y-YB95{qSUQ31nO-{khqyoDr+v;&Rswe(KD| z&4@jUVHwW4R^K4`8YW|?uWtjPqQZEl0VE+Lk@=kG=f6_$yIHU}+;A_uM%43-y6UY1 zuIont{~|TqU7i9@h2EF)7)?Lg;$Fj^flR)4bmHLe4F7C<2IY4M`uJLck2&$X9g|SF zs2(;SgirhmjTm~U9RU~ph_pW=l@7on!p~tjGd|3;X=#GL71z4_JTi*90>*bL#8P}~|IlTQx@%7>PRBYnq2Mu27K}M>CZ#&3m&{1zX)6db zHi1g{T{nY&Jj5ASy4bv@VO#&PGVOr%$#e;6LhTYeRUlMMki=xHyTUdlq8@tnp~6V0 z>K~tGP;M6%leAU}E0dxelL%&sK-+*+mQ36Q`Wt7&>(k6a4?0b>8wdd8HCQ{ze55ePRu_cp?3@z}qSdd)ymCLpT~UiA2cYvd)covJVDX zt~~5H*eWCrdo`migtLU*r)|x^g~`EaW9TpD*J|S5h;wPF$tEkzD`EEFl;OhgX&I)l zF4Y;zsF^9z4C&G0YkCL|5p{kmyr~_Mu>N&8l-H-k@sqxn6^(K1`$PZs{p&Q&j@Ew$ zj!Bo8WvJ&S%!@Zo^yW$|B&e8lSWYGA>5X8Fo!qtB?WAZ`%9?T5;ZB$vcbI|m_d0hi z1ImLP+3QDOuVajE%b%LmD(HO`oOb+9JYGZ&He?$K20Cp{E|FYr#dJ{xQFm&qt;qG_ z1B44C(8sy_xkWq?BbuTYA5k+6#Ysa*LfHM`98jsUpoYHf3^bd`{*5bdM~LJ^HoN(6 zHg^2Y<0zSc@hZYZ>C%Xw^C{Bcq?uMpWd%BMLuHfsp6dJ))5dty*fI9aPva z^}>Ead6W2}uf(go-_N+^>umCQvkQ1i=$vtR^ZOzi&(j_*5kg$qJOS3)~|<`#~I9Cga>&gzRD}oa#wu-AhU@#B8|GhfMYEe{mq`1of$Doy9Hz2xj9%R&L&JFqpd5 zVE^L?Nnsmo9aM9md+t32FdA$IQjgiUUww=N%KKXDbFmHmkzhQ7xR+8ejoDn#X=8*^ zO}RQ$*i(`ms+6wh6!<)*9(qqpv8d~;XYdS|oR;){==}t;{qdEskG`AZwe+zRhrjiF zpZBQ-d^Wz)+%y10mFGN9T?U<>0B@v+6BwJ(fIUsFVW<~So+v_1t3p9M4}4!VUR!Q{ zL#2IJO=5vr&C>|C`$ZRL8|01^RgeJ=MYSs4CHlM!dUr1GY{8NRbLc4HvVyVoa}Kv2 z{OYbK1RZQ0&mG5yma8K=dFA}d%puGGe&nCsCMo;IM#RgK_~Zgpw;3jm$0lSiS}*f) zzO}03jLorHChROmN6J*{k?1l-So;CJG3;}a$$)MzEJahb>uw(d7g6S6E8ZiRvW)c+ za+;FY{^S)^3=#d?9~G1)(J)@dyAb1TD$C~NN*!>lbNU?JRT~f8dV`mzdkpf{W}P2m zW_Q+NAJnIrc2&Vi22uXjc;?TF-(852_-8XIT%V`$u$|M#wd;#gb-6GG_~8Deg8G$N z(dP@tH2YS4>D$NhjplkqlR|f3UI7ZDSJ%b$cE3Z-ng(i0jvK!SHVZf2zFs|*2~_+C z?#(JIxrHDt5`OH6<$9#>gRgT*aIve#l)VX?X%(g@zL`F}IJqooXEdet62Z{G9P8%Q z3fC5@R@+1YQ2Tgak2*?Xvs_l|F$TV(3NtyL-^bBE3H%yM1f;$>2iT4HRecPAkd% zbYA;T_ia-sysnFEGE{B(UMKqY4e1_W=+6NHuK-)k;SboVu6MiR_9npms|R#?h3|)m zcU=N&T52k=vwN}Lef~t_w2{4FyiV2?*(2>K)c-ddx&Kc~lkMLG?#iu=#LG)Rd^H75 zW7ZJ65bXsAiPb+Bq-E`(gMQ!Bu*Mjt=-v?|+h`tqWHrGB&cqM6cy5Z1ljRDt!qs30 zlQo3j4*pfm!Nk-{kEXH*d)S+~VsQCr zEe9HWLb6unsgHVD(VTsMSDc$2&Pi1iNr}u*86C<4-WHCM@^*^uE(gcGaw}2_JV<~3 z3YOJgF{w=N&T5&54w@{}bp)%!1`L(%(}iw(w7R&p9U{NF(qyj6{}CDTGMRwJJ-N`; z>22`<^kl)sWB-9Lw&&_z3092-Ts{A%7>!t*&&4RmWYIgItaF4-ACqbq$8EV}e=B^J z$Ynt-WNk+(_W={CfRb7e36qo*=4_5vaLa-s+b|AoW##nD{NYUYeO(dP7pkb*-Vj=Z z12514H?DZ|<+)K@)PWExr=Vk3=Pb6o7Y9-^#H=d%E!%=bliJ97Xz2ZSq(lA)K&4%5 zZYjLM(6Y}aVpjBEv2VOjPQ<@n{FLV}=X!K+RI6V6=YXJ_nboAR!tC}RUSv}T-;!>{ zToj!@iXENHTzzc8T>AA77#NWpi>Yit_Z#XK8|Bh#-q< zrSiHfaCJs@Al8~Jn)%cMK$_!wuF_Q?+5B)lFc(kRl5xGmgCYd$47OY z@Uts~Mh#BUV2S?c?wb86v2_ zfD_v`bx*&(Wa~1)2UMkOh#HY2&21O{AJ;u&vHV8=eEn|v*J5CJnOn5}szb83Z_-AyR6M|5G}fQT_)x8}m4O zFnqy}++HQfSMDF@X_?)N<0BR+SUw*AP)|X)8W-J0v;!2(h1UsYy{I)QFG)WU;&Tez z2Qj;7v!CIk4L>^&p{A*7p`u9n9D2oF6G57M*Hs1t*{v5$9#L^xt&*_O4zpIq>0E45 zHVgi!p9k9LN>@~KyTB3DWH8&=`Kr*zQ9n|zyimLGDABoEj-P5-n}C^WdH%sJBBLui z6}`f%>+#A|F^=VTJXTZx*|ICk7>rXQV+O*bHdo}w!v}vxI!H|OFslB{ zZQm(4aXv1?g*5>n$rmMvXBzGFoO`2rVR+4+jqt?t9&fJ!&dAMCet~^^1+Zs-aYhTj zc@~A*2%ex!xhSOiTR3gBUMxyg>cG+>{So+5a;KJ>0e@0gfw6=jl`7J9^gPIeWLURS z{K+F*WaNs0BgW|-gsU_NS}yw>E}!h-6}Lq$3Dxr#cCH|*bjsce)04^~g+Y2cH9tSS zVpxoBi^K-6-@hiP)6&nW!NK@Ph!iSM%nmLg+7I_{LBmjuny3@U%EM!8&kD$i2qQhfA>jG(k`1$h7iKxWr=5T&@q#PUdjO*|I3G^&HRtGU{;UhW1)JlX zPso_{h*dRj=)2hTsBR(SD53Z&QWt+eD&0G57*H7t-BwFJcjsk*&z)Mb6I8_kI{#q$^6;%M6r;kyI7-vr)?{-iV7olt*#2%hn zZckCGDO1Dm*zbX_`CA=q#-KWW@lc|acD0;}3hDjudlR!5H$9Dbq^6Vbj!`Dm>~Q)h z053G~NT!>esjKX}%T}N@jwhyge3|l#>RBxlFK(Kpk>#WEH08Ux7Y1a*TaGJ)k{fg} zr(S=@d~y~=*UU0DZr02<;qe_cFSa%)c^}i>-X^Km#4#Xe)=cRTbNqJbEhAk&AMy|v zFH>un9K1?aS8*^B=mpq3M-DpYErT{exT)9O=NWem*orq2cb&zVFf7digSW_xQK~ij zu!n&Yx3*@6D&3`bIUfZ3qxgYrfojlwo5u_euY>NUAO^YEiN-f9eqMK?enterRDA^> zue&t-Bdy*K^4Xt~_N-~$Hc19OcjO-{p<|tZr%s@}UL>g|+M053J}LpK z?5WyDoS;|es8GSYM~~E8zHVI7oe@*jAlIzs7p0z(KhznbMg)T+GqbxRxaqPVjYrMy zItWw$1Gfcod$`c*A=jzuklqg_J6eV&IW%ztkg(KEA{XZoDp4(5I*VMTsYAj7novzdudR2PSdA(GJRZT?D% zbSP>v`Z`he=`vAyAd@`p&k^+Sw6q&B=BFG#}7rjBkkeurbrN0BMo2MklJx~*}J&NTqUNXhp!Qm4z z%8Y0b`KdxHU?28sdk#VXR(t6b&%ONQa98UHBtt~vPAWm z5U^!Y&>~$Z(u-+5(%%^oWD_Fot*3w`8aqo^2T6Ar(Hq$f;rn>La(-qV{2jVL+YC~{ zhyy;5S^Xi2FX^+$c_zaNHGy=X^`6?X;nn2P@I>>d{(L4tSijx~E7MzBa{AU*VTVAu zAM>?)H(SDyd2^$3o6f;TcUdVhky8`nu{Q-4-h_56aEC`d_6%Wk+o5(L%~i;xgy3UA zh76Pc)nn?0DdH-1!~=dyMgCRmmVH;*h3$%#36!GAtWz?wAiM^LNl6%+bEJH(401~0N%l-A!}8CCz<82gyDeM;y5KsP?^K2FoF z%f8-8dv|&{TMRwvw-FK)$D4JXR4j;wU~7-ioQbg~K-90{+@BBMPV`Pc5JMv3qf7LF z28pq6O-l=;M;)EY-)(JW4Cs4_ktNkoZJSDj8lWLB4+_oZ{JT{pb1qk3i@ie&E`M{e zVEuV?vQMOALBSc+lHWw8cyrvL(-rv33#M2#ovAL693ldN(pEBa!=J7(dd#j}Bl~#G zygHVHxe$+Oi~e#Smx8>c3dKJP@6jch?Gw%y@x!Ricd}k<94gjxlP6sTeGMNtux5Hp zm^)!-D@HaEy=$Ss61o8()9uW1H5;@1)rbKXbKz90zAE25R@F){&;DqoL}1Qb zg#{1G<|K3>P~!^qm(BwcIjuN0b4e>}&6?1A*z|W?YI?c%{w@DAi~qmVoyIxUPx6;r zXA9r)cXqo9tP4|1mpx$*>#ao72Yvi3@&)L z1Jt4Mx;xCO;Rhvo$Xhb0nLYEXjr`Is1&wMImQ95Fo0$1Z=} zrP%|Y-&X`u8Op6|MzO$*^|E%J=I|;k%HvZycM#Ht4x!#rfrLd*vuniPIokcTHYA(Ztc%i&@WfSR5m`B1!I* zTKSHD(KF*C(Ods^r@9KWfZweY5TCm}X1iUc79MO}hZ?Io99G9)oJz?=jwItlAPc)H z^Wo$6Jv-tjwbegId^GT}dCom$>yXFcHvbK#>q;cea>^nhWo!}3i0Xz+h(i$xc0%=Q zH26A7Wi4}7$i^nGm2%F$zbod;DLL|iotz&*o|3BksBe_L>&3Vy{q5?sw(fbl7G`c1 zzwwjj#Gf<+t+un7A#&XFGeF z0;X5K=ECiyAx6MWChFQuJ?{P(VJ&1zj~gFyC4-AD8LhICgi9CRTC3cW$wd3Gx+<2k zNl9SbCZJ{nB`O5Rc$G@@gqCdvQb|g*DZfxI_rl(1<**hTMf?xC6|OUzdTZO-UC18P zGZNqD=$%r%{mSktzQd=E-m;rM&CDcNHQ8a5vt2Zv8E5A@O6Q~2QJ*txK*6qqwsoxF zxbr7H;X~)5DWn+9RzXYDP72QBaD zK)2q@XStPb^x2=-33Yh$$DRi&1?RbK%PTz@YfIjaOj&48fA8949ZIb)a-)qVyqi?k zTrg%J5r@}g_m>WFmB^eWWS5+J+V9n=p0}X8iMKaR39)u_)F==UwA2%Pl(3xgt|k@S zHc=AHY2|g1tNQ-Zg=b?WiZlOw7k9Q&!dDcpkF`*?G~c9X9i|I0CvZo2LfmeRYjFE{ zs-SwFuZjb#yKlG-C!I(MW#~zzp5Y8}opQeJOq(ezl!VR=Pg2hR2;fS-gNsoL8*(#L?T3G!2WZ`S{V=jf1{97NQZj2%sJ;AbmA`y^_$9~^!3Lwrb5uqx6KO37@L|N?u#?V;V2fKv^)#d@OWGk zS=s833mah9>>It5ZX{l#nT zZzL8PGF=>{7u8^1$s}5T;WSi?f9WW7cl7WoyNT5Ktu&)aQW`Hv6Kb3p?uvD~g$hP6 zHPH)nY}J(NUF}^R>q)*GtLYqtM4TU@=8fICY>p}yj3S((t#+(1adq_!Al)h7b;9*D zNn)3C%NHAtI0^cV=dVYCsn(GRXqVrQB2Pk9e5qT;DYh6A*+?o!f9_o` zTS~e>yARQqMZKI(L07h-Iz?9dZ&x9r>Mr`lvEri0ordChujMg0x%AE!`U7g^({h&J z$6;K5l+oqLlb-6*D4#imTdrG~yFI=4q2HR~iyeedl#cYg6CvRsRRQOQ=;kkqD~nVp zty--r2T~ud0v9CUWo%I2+K!GlCn<>&Q9M;k%#kV6<$#kRR!}^}q$u<6Nk(K9yeS^U zh4+UD3$7hccGAnZy1%!~N<;O`XqSLD87Wis>l=Ss?=3}kHWirVlENjWx`)nv=S>yj z!g$==lN!NUF3xA_ejna{=8(MEOk4lxvv6z%4#cbdJ+lJjnae1;vGqX`i zX8wvXjg}|Wlsc#xFBt~@!%lvbzQc9jGE-8ss_ZO9z_$)U+JkpaawijaoF%q$PHO1rj(lF(Xbg2t z7T0_yk2uxF4O7by70mRyXUqpNRIhvn6nU~;qRV6H1Y$@-uktIFrRGcygMSCWcyYMX z$2Lx0LzR+_93AB(%>ZZEDk2XQx)ibfPbVb_mh6&}v$6nb(KiZxlJ`?%C{lJ!B3IGD z0bDTxhB8Jju^J6o=#shc66v_c{%odQcH%KU4yJdknVe(Qv+FLpPwN9qie|$11yo95 zcyAFn=P%yQHQ5>>>QCh!=#gwy*hnbQp~IMBtVfQ)#N?oH$net&jdR7jPKBdfzfIv` zGVh1KA)CmZriZ2>OoMj>I~wlF{(!-53+nPK4lZ1LtCLkNEhjMdbU>>+V?AHe3nwV~cWL`a=a zZz8Hdt}t${vGk{g>@0P<6o0g?K@o=yqu6MJeS)}Ws@Z;P`1xzkwna4~l}Dr{&u44O zGC3U(_6Y;egPdCEr1OnsOB?D{+dzu$$;sQ5^<0yawWmoA(0e7uv8W$3@51pOMKl%=)Ly3c@>~fMTFyGA z2vFwz2|hi-Z~RvO@ofokqsqLJ%-%(BnT6FOQi^vBNzQZp)e!mW7?6pA;2kllq>LLG zVNR8rnYI;~j6tq;=t2gS2JsP`>_n3Ll;=N77liF{jAsh>)7Xd?<1vq6{DT8vc zaYsd1KJ`r)$4aj;|AskcX58aJh&G9|1MIxF=P`t(!t0#q5S4^X7A0hpaU~WRjBu`# zTeGv0ib9vHy6S%-qjt(Pi76TH`=VS^;&Cr;tI@xd2i2-)ozi1#p5C0*gl2RHD~qYv^`_-66%@%c#|~*U)g5xthDE^L_W+%>le20!NUH)Bu%#NP?`Conop|*uK zr)s-jJ0@-P88lY?E+>TX@EE~VD#G>pljXnF@2Ts{E#Hkn7w7)=g?x5N04Ps0wu5UU z&wEZ%p1j<~HJK{vj#e?|mXMYK71?zCvimw0HNUwKLk_xZmOJm1^Mj;@V=7LL^MJu9 z;fW5_qvcjy@1jqL=0E^jd-!-lc2azXChJ7`aok1M>D4>epXD6D+ELikzp26E6wfqF zTE5zd(Ctz6!NFB^ZU{QZ!N+ALWc>WNCVWAGc@vnAp?JJ#2hn73im*Q(vv~RIxy8zV zOHC_;q^-foWy}XPQ&1Xw7b{S zfR+scH-smEMO$I0#yCDPH^v|E=#7t5kZ>P4e={s7@XZUS?h&*=?&~}|R5ns9=#%CO zv4e-w`)C$@+!-=FMee z1%7^hZaar`FZkmE0zvC*lB>BE?i%}$B&1{zuZ&hjz&5#Ghm#1dtFmm7^hr&+oR3l1 zOTJ>jE73tcxk2HXOZ}{@vozo{K?37meTF2Jwq{#8YVK@BnCV zh*D*~z%a+q4@#pvD7}&4)uJrkL&8^+idC$sf=s<420fb6L@SRat}a#~p^h>8nVFGd;{QSt?nX~Qs7c*kidV-jDJKjoUTvqh~X>IJ#@yd7;*~UF(u4QPu zUpU{lfnM^nOXTJ#T56Uuk{7ymH6CQ8+08ae(S-aq5Ym{`6$Z1=@`#%IzZNR2C~idy zsTmR{9;iziquYo3kvU5DcM&CjDgC z2i@bXaE*L>$7&5$&h7663f!V93kJ@Rm>!>TtOT5&ik9$J{UKC$7N({{p7Lm7<)EKv zne(3b`U;QuHYEa^ZW_LBfl&~deM@vageTU!lrwxBCzP^}gR3_ei@^Z^4c!vgii7@! zY>PERs4^v#SF@wJNFRfIss+MGSqSm;65dqqI1LG<2SKHa)MUEid(hYzhn^Gv#;U63 zC@}Jo7-Rl+O1%6m9_(VHYUETyr4`=*F4QV0E?<~-;LFt2!q;co@dN@?WT%SVI+o9! zb?B=QE@LEQz4VIUDguA^M#M7q-PnHk2lUQ%iUiHew(HyVsMI29{0&WwP?(1Gl!qqSX4g(Y}t|Ife(BlxbIX6HnL+~!b+t|Kr+Gk zRb0%H8CCew5%vC!>eQw8-R+~^yTR9|Wb@q)fKSJkbp^krRloK}>>KY}$?9spCHI(_ zT@Qfw&0`ciF{k`Oq#S|1yL6AR&`z5EK2%eb=1#8;?d)v;LJ+njL5HZVo{h0+Zw>{2 z^UA5@%=8v+WvChuhsNYs4pybi?@DzST;$M7C(rOZiRrj@_oGkOXTS7n{%dp8fs1n3 ztH~x>3D(8j^Hi@z5<~Vg0=DiSgyAaLhNj4uPE;#{&ct)nL=vpZY*Q3mZvknYoLeJ=Q8EM7|z z!u%+eMnR6fp7fbMdi?Po>9>5(`$D}Lh^<^+?T4R|Bm<(v$7VKt9=Oo*+RI1U@r<9T zbO6lal{@95jwq^Yj|O0`*m&k`2FBYC%Jyg|p-C5-hyjl&u8gl!D6>5zM zrr>tHV;nvgFrnFOsKWzR1)y(})wPOq>~tgC)`FyI8C8!8Za)jhdx@rIZ*=PT@tRnF z$sSb!^3lzv+NY7oQ}pPn#!E*xF87vKQ&De?Ytk}RL}zMuYlT-_9$qlI-#h-$Ci@{! ze_|ycE4$R%Ql9tt0^S>e)-iI23ICiUa^{Imml;gS`6)}L5qBW|TefY0O(&Pgv64{b zsq1$XcH2 z&A*7?1-!lbq+U!{Vi8oW&YAtE`LV4mSC%3cM1(rq73f7c%~t5mtPTEB2{Oc77Ckbd zh4=Dn_+*s+OU6Er?Oa+=|B`q6_T|rMJknZ?wZqZdvJMGYsBNY^(mvqHr`Ltzi^(6- zTwn_>Ay5U%mI{M!P?7%vH_wg#BD>dmeEaLO!S|yH=;7RbkA8j?KRSqfGV2aricdjO zt>F>-HDdmoeQxtFS~Vl185>q@V~*Ncw5?6NI+e~f5gq<&-58BW*eTE*IE{)0FX326 zI4zgSvH5hfeXW*RFr%=%>0s&$IInoBCl-yHc&%aV-Tu(G!nl#Z{fqth3d@u0W2ICp0>mD@vW?F%p$g%IUd4UBG9$$;w&+R zcysvjyHN)#P1$H;EcOSeKPfBt43^Y>wVwgsrXAdWI<Q^C!MO{-wwEgq$@n-1GdhtEcJ6o?7q`lU(SJ=Hv+C??Q#4cx@ z+_+_3{d8aC17){q;oAP2{kOd+kcF4r#bqraYx5LQgW^cipJk^JLp7q9*^{8m7D91d zEyitqq39RO&O~{TW3B@7p5T(jJxo_!`1*p+?qWw^{A&jZkaiAd znR<)q+J~#RncK`{E?xDyCEBBT>mdRgUx>e3;Z3~E}nXKFPeFkRv9mT39(G1Tb2cc`z78gBigrDCs3;a zH(XZ=C54sbE4LD$Akhr_$|p@BO=~sq*2->z&Jf;uf&hJ2OlLLcn|65&S#HDn*WFH( zp;)T~)K-3#`OMwB`=Nrt&hop#RC^jU3imIC%z|gL7&g&E+F?ti#hb|xN{<>oxHEI1 zk-?|M(q@&a@DR?Z$#31S#@F+SH2)J$GZcdG$nyq=2cyeHxz?%d-$D?5o8Hp)zZWRk zwkN7f`?O7M!H7uio5V)z5^=(8V(j43^2^-u!PXj`-WTA_4D}TDA76e}y-OY6RAD}h z7OD6dt*zy1U7WzMp+AdhCete&?=ZXC)HYpI8>ne~a1~5OD=Op(7yT^4v zNH@dE5Ih`RhfNp6N&?(v+HL|6{f2L%>9?xH`r2OH7xarbVkDj0g(X1jVQHXC%`dLy z{H++=x1ueoa=6A(Hb4G0W82dH_KfB6O|9j@nWC6w#avZ!KGI4J)bKnz)~ucHD5lIG zVO6j?+h(;?Z3b~lI4x3_LG-=f{le9GBy?h;kpT*&!;nVr))iMD=95be97=g-v@q~# z=4#W*R5S>54#e^++c)FoXnPEcVsC-cCD4>%tY(BemtE?}e20r#Pje>!OgW0sMxVb6 z)q>2vg&cD#OxvlLR(}kOtk)1!ilC22A^Wy8mj|@`THk>z~9}VmSNki9e+O7&NE-vRh+e5T* zW}TxP$2_IU+_>UPbta%VE#uP(2<2nH{)$SU!uvOMW2^nDs>u4$4d8Ug-l$T7kv~Qw1D3t<{=G7YLzw|BSRrf^&1LgmpsDL;ZX|I>^=+Vmwsk&WWX6szd@b(VhgF{V ziZU}+nD@ZlKiY1>ls(8ECL+t_9Dim9p0EYZN2Bzc$Mu<5s5 zTyvJ__vqid+J2Dg0+@sO?i$Ro;|6rUilaIBYxL*ML5=L!VWkP-YYJx7QF6Q;hc;V7 zYphuLMkBMdHWFeVmVQ=_vhcvMfOc+|ZYAEsP|4%?|C`uRTjf!g{?HX8QRdnYFxK>_ z0w@LqeEE{PX!Y8t!KQhX8CR5ROA|7hJ7<|^w3K8q+Z&6FWps^teRi43yl?{+Bs?L2 zU^~{yeeNcz;Xa@96|}ZYUADa@$$xknOu;AIzr+)Umg^y&ap~oT<{Ik^ zmxZf-S+X7wdATG+*JVdy zDj@10y#wn|myqj&zia@reV$=*tK#q4CBQ2LoN7)%f+;$Wo|(F3;Y|4s6tmR&agLxVz=+&H4{S4genE ze7K*_Y}<5xoqYl8A6@R(7R=@I{O)nrzYX%chc$vid*BVhgMe;0@SWhUZ~R!kj-CG6 zz&cmJTg@G~&HKud{goszR5WEilPeH%4|ux3;rtT#@B=;r1*Ws=c`*MStc@H}T9Hnj zz)S-0fcM8IjNqX}Z}Euyh><57M4#`zi7}1;8)@Bn283R><-Tkejof`tkqY!zOuck} zzTHr%mz|hlt~j%o-q_o4h?5A2>lA6K6^$7aavleLR9ZCH`Nn6lGR{sc&tl&csk_xen862J?i(g4d7f2tIN;Y&ly_ye3GPD|Bm#%ghz~O&7H@U&F#)v zy3~L9eW7ON;J1`NpP8?&&1IeVzI#05@veFH0O|p6EHQ6pUk^wUKH&FjL}sS{FPi*N zg=lWPD<=rtU9oP1u^?v!%J%9PdQ02)l$LL#VnTm&jQ#?8@-QFG@aHo>a1K}j@4PMa zgxI?^5=qeyKlsZHp|B_Cna6&ELUCvtRBBsk{m1InR@|7aNxQ=u1%ZBE_EnxAudRfA zT;`Jq39f%V=ZBBCmx%?tE-@xxywXn4ykB!N=5FiZ z7p)CF!Nd1&AO$fRj$*~*#Bws(k z503zaIOJE{vOmzjxibT6(0cNt=#yh^`XAyuC%_VM%&(DwP=*U-Ii*#c<-dgXFtye1e+=${VM)5iXX0OAGVF|8L9FU*rbfSlM=aza zLuSY%3P}+YX*uwasJ!;Uz5raG!Yx+nZt9G1v7`pCMQ)d}0KEEpPdCsi=))(j*Vkg_ zxBIXs$>W@RUq@x$(gVl`G$f9#`F7cB+5vfITG@ zFnoc*hLLnV#rOfPWzqKiKUOjdc=bb-^S32?@vY2thY9@5hTKj$1`~zf-^#lQ<(6kU zMB>9;L1eux=BD*}!%HJ%M)m$B``}oi*j-I ztS>o#dx!`by`A##Rd@QOyT8lJl?%q z%96f3HZE_qw+t_XI}tX3L7k}s9CLjWrETHndRG8Hb33zzHgUUwQ;6!11b(cYeIRHw z^9Lg~VwVO6q*m4`1rwtHY>^7dMw`6qGle|p2?%bw;QIXlI1Thmdul9{ZZZW%9dd2* zRjhZTQyb+K3`MoNS;l>Yu3?~x^C{T#qMgzQ*K|8p1K1phg=Mr}9<;g%&1#Zf+BC_2141M4MVdy-+qZEAtd}_=R<1A)1Q~Is z63OqhwK;PqG%RZr!l3HJ42Ct)*RThpeB=5%}`5y)U zC5!Scuek5|6;lo8+QeI)|5#Mv=u8mPWmGxH3H$>of$J|;5wq-oa2H~mvSH=OsT6Yd z47|tAIp7?(-Yh*+CG^Kjsw<||{xDNHIXbO7>u*RttFE~R_R8N9`$Y743e2B_&vhNG zf8k|u6u{huCiB*)io6U_s+NgE=qa}-nG++=452uC=BXb%nULZoi29#GKX5@|^r#?F zje?LLe0LlTHVL@T!PDUW3sgX>zZdKu+JV8n>+1;grk2ndmJ?#9Wp0RZ$(^B$3b>BY zoA**2NIRwttm!0mTp;N=TB!-zVe<%?Aom_KFT5<}lBr^H!2mKGpw8%;@;2QFh$wz{ z)K6D{Xmi9)S8*Qz`O4dV=Dkfl@eVZZIA_DfbLjGR)3fmf3Q{;X=PQ2Qq1PRJ4Xg8j z1R;%!B~ncu1xS31?GDo~BmX39sVqxNBo_cxY0%v_bcXV{Kv#pj^wboOJ(*FtN;1G&zMOI*R#0Pe;h7jFo!ni)Yl(Of+r7dGf%6oVNzif#%rV{Q+4IdZuJHRSI9w(Ra8*DA-EDjHzTUVwH>Q>3GU{gFf1xU4aKEUGHm*bc*+)I9>u_NHO%l% zcZ0LP!GV>S4aa*v+JAf$y{6xV$H6=DilyPuHa;s5OKE*{Ea@j~r%D8R!HoQ{!F0s^ z61iA-jqvHt26#vJr)5cTdoeE%LW-ma;&xI>8#5pRPN5DFm>3WclE`~L@H+%@ zSsQGUuFYML?h8RBB0-ub1Nk*`#CYf3-mx1I$=t`-qZ02QFIhfS>ff!b_!+ z(|8rQujjgc&!Fwr}|~rCzAY4H|-%z0S{2IsbX~jI4~-7VTtk#bgs|0A+AQ%xUEp_jikp6NnGgDdaS`nuo*)B=353fE zD2sBT``|YWm9Zh)ddxC9^AXHuh#={GYPf8X1zd3vCd$I1V*yu4?4m`XS7!4tp9%AM z8byiaB~))yM@)#j6h%Z@^D(cH4;x_tn67S@-Ed+1b0ZFmWky)u{Bs5fmAb)NW@#a0 z?^Mr;h|Vx(D}7lKs|wJ#KG!3d2WOgu!<$Wnxk{VqcbEK(fy$jj2PqMB{D$0M9~ z9;b-9fR4#NpXDHO@-C{9s$`cD`0P2V(H2e=#hyM(?dPKJu_hl>4Dbwm-G(@C5A*B_ zl>w$xJ`Jb63cJXgdf<(K0T?8#>~T8Km`95bN}-IXf?x{aio96sL?Vj=gw*MugG}M~ z#}Pqi=@uGwS%1(!1J;}hh-=TNByqZ;i;Q0Hld+BmI|B|R%|2VXqb10|JRxBpfF|Gt|K#!KtWam2 zn)uKEtbpiJ)bn7r$YuxfUWw^sEjn=pRIDN9;xevcKSGjC2Vt?35#Lx%F7`@a^#SKk zA`zj76cyaA4tksG|9Bc<Zbg0%Y8x_BmGA# z47bGMJZTsyFC`htw4D!n`-h#qqo00$+dk|p|MT%$8*{`*XM^rdL`uLI)4_hZxk&kV zM0HR>^r#}-SbJ>ZsJ9J-eeaGh%l4oS{RV(7cSmPgxyx$GNM&_cVVb+>?1+ z7DT?WG;H_?XiMn>_M&xd<7qD*76foVtDHCcqQ+l(URk32p~N z??RMrgG;WqMH0_=UR?w%+|i6(%HsSJ8Skzlu9+cMg1gYIRJEyph`>3n>tzOx7mpJE zbWfAzX14m64Y(qy!J5IbAAdZBPnOMBP_icY98sl_6&~0;L&OpJ&kQAy<1f6)#^^DH ztcNPF&56E%X^k1*kZKpP5AYZ4d{?mQ6}_lL5mW}+ov1to(ViCy@p`uyY_gG=A8!C* z?N#VnrATKRv9*DejNoaIqlh??+m(4oqIW2+&Pl8;0XA|_;EsAZ6(HS5zz4aZe6S!2fH9?c(E zGb~rDs>Kbq6{(lK?_e+9mc1_D_AYG!N9>-HW=^~xgSl`-INTPIpNsx5yo(Tz6oHP2 zs2llJLR*3lGF(o-aqvWwArjFH8E}XSW2uObm zT$MYZjOSf{IK)%_6NZY=w~D#^_WHCF=amu3rx6YfO}zpB^Iyw)?h+e3&bb}SlAa;c z$SpY&{3`;{Au}hAR?4WI;+|HJJxkF!hQ(9t#9SyNW%y%}!X(CeGLBb`dS_gbRKwl` zYobf}LbF+iJ*KsC0%6=qG?QMZ#(M{;u9#X_i-Xc1UpiyA7pDgn3u5t(vtr&EdsBEs zqAJx)m0h=;oB$m^ zqhdT{HuOfQtw$U0`8hzNBQA_cZ7yALhTr+BWJ&!y`8%Vx=EZmtDFtA>K*@)8vmsEVsR!7P?7=T*nFp zT(@T0%F_P3C^=elc63+0gt}sl#95`+u98Av$e8r=l%q~63|w6Y=!G~=5-s_O)ll%6 zVzU}e-YgWaek&?EyJ)SXCGfXSky-3Njn5t^oKFeRl+$*t9f^(W1u(b*<9;9=FDQOQ+OZXFxu14?j>HJ)?_>d%u86Y(DsXpVzW)egP7M(_8`37O{c`U9hJ zOufyrs*}p;v!1E`M%wfD-P!_RU_jt)%BssxDQr=1vJX2+7_fN zjCw=X9s>um^BXCC>(9(iropicEe=_Le@4m1guQWVn>drWAa7q{-AmQB0(*rVDZ0S* zCht?BKGW6RihQzFsDFxcwVb$$z9?vhIU2Qd>TcPIs;_dX6s}13RgG%o_Jrk-`dwu< z91A}3Xc8;XUB_rrarQnRh;Kf#Is?RZ2=Z~BA%BW&IQB#8h@%tr@4dcE2^WZ}kSQ6- zKV35QVpM1$q5FF3@PBz8ivopwxydJpJyAKW07jI`y!fcd6;m-j*Y+iI8FhsAF}O>K zy5hu44W(;l2+8dcFFoB^Vs8@kEg}YmnrDRp+l}Q}U~0|k9?ab7h7f zy=(`gL0{Bc>_Qe>2PCm;GGO|`#l|eS0H%cfbj&byWT9nTqoDccxEHOBh7Rm=+6ZC# zKz^q%4LZy>SmVd)3If}sSf3LJtJiXG!k0A9FDN6ZbdyX(|&>+!`!o?amPMCU`q z9*+ZaEc}!I-k~-`1Iq>fvn?6{W^>(%-=O;qxET<*zKkfPk95M>f3Pgsb>s1G)h^=cTGa6i^Y{Fy2=iUy+@Mm(t zaP`+&l5Rxr2G=OjOBnnWWiAi~mF-33VaWSJRNlBcsRmjMPqGVuPsXWuE(m^hJRKy! z5+FM6vNQ8Y-J)5d#GtG^C1-gFC`4T%cS@uNCmG*pj3m#D;DBZ)L}yW6#dJZ?h3?wf zh}BJlE6g?EE~$jrJZz>_XdR^H(8M6fhXH(fMpm$dg#!ej1$?>afHJP9&9_kb!>jm9 zb~U~V-o;ReLUqRI$Z0O+;zx0}Cs8^J={)JBK-*c_?jZ4^v?uiG#`5h>Fq-2CVZfP> zu;rg)v?ESIg{wUfb-S7$I5a~U)pSCeveChbO*U2sa+~x+-73tVtHIW;Lq?4P!;t)$ zw2bV=9GfGB`5YZ_ivdZxq}rck4G!`Tgy$G%m#&nel%)DE_1lF0C+{4LU!Z11zzg%akj+9ik zYuSmpvX&S#L^C9L0ytuTs8czt5B&~FI_KO8s(Lg7XtaTb`#585MCHhT|!bo0M~QptvO4DA5}|QDKfT!8sMf{9C`a*OO86&0uWNEgnTR^y`*6#i-nPe zMM}1L6X-qmGaM8W8p~r_ryT3XPZAMc*yXZuuWAA$@iv7kZt5UxD8LEm(k{z&8^ndp*S8~ ztk~$XB>QZ=-#{F`VDhoXHg(vmU*K-%10d=#rn2}Idp&AwH8oiSU?;{*=@(M26j9?` zY0w(7q_78m@a=hrF>ErJxKMGzP4My<8@(~6M9qFpHLq}V@ zLr+?B9YzTSp@jydaLidy=*-wjH8|*-y%Qew*?glSxQgWidfPoXIw4sFV|xUpMJyWk zCB`G^4GNp1iZC2$rO*M#4GfeRI~AVM<3KbkJV&x^o{L5MS#c3+h7o30&YmmzNMw_Ly=Tm-RTpU=rUWQ&bJ)_r@A^ zR7xx_MI-fc?nj(&}{C3PF6t4vciOt@ zFmo7Q^(f{XYI;l98_D27(yAaB6lJT51n>&!*a%{;7I$)~n$K$%>j3Q*xG7nZv9$)x zwZLMdwn-vjfL4#Ml+)BpB&zNhjh<3Xjvo3bSd4(_&S}z`PjF+(*qvDIqA6fqe_Vz7w{mS)cs1rd+2=^o_ z*lGHX_WtFh;aTSs34(0!2QO(ZO%Vc72zVU*NPdm0oC>8R?-~A-TugmNa^j>nb?iB( z`jz(QF>TOoRVxZ5bd@MPpnQ>nf-zsK4XbK~yG{AY3cYc}M8ecQqpPYo#E=l^_zG;y ztgM-IN2fS@&8+9C98SHi2fvkOj#u0X8u#3-J69vJ9zx1h$zbb8g{Q?bCRP*Aq&Uv; z!D5ZbC8tBV!H^iVG1Ym(If6+s)gNx=O)`Sil+A%A&dwaC32;h?=`ORrjZL$9fZY!t z3$-C=>PU?X)?|_7nL6$>gFsO(!@;0ekef`4`b4SdD#keFoV@J&36Vv=tQX|aLB4E@y=mr7k_b3W!?n@$M6Yi&TTiR(hG*RK;(`=eP7oEToC=3; z6xw*1T_B5OpKC~rI<%|ILoV^3p7FfXzfcT<|K@A0(P|A2|1I%g%t(y8YwJw zzTr{PI4@wt(H_J;7CrP3=-ucNWM}EHFZ03p;&M11Nx>J5j80-o{qdlRD@s`!!bVE_ zi3c1z?sar-oXv~O7md8}#mQfyB;32&cdw$Q?T&vnXS0MChO^Ud`lwGt&mWmbd9HSt zovDbTG;JNio&C(yW?xmBwCTrir8;RclXx@E`X*!!BUCM_p!8xiOYa155|yjr3?^FD z6e9@|3UO9pOtnY@ympi-6fu}K)Nal-+Cz={l#ZBZwT&yxP+1`zZE;7dQ~NRN+T!SR ztPR2Vs6gY)#vJr#E&_x*rD`^_hxLR=iaR+nlkwIoAzlg$cTRynrN_>RS_x}EuF95wW-sHmKpu{kW-$vDmZa)_Lo? z{wOnv1CING8&u%Na|ApX^7JC3Xf&H3h$R9CpY&bdI_*HB#@y%-k}Xr;N?#i;FdvUCyzgDtS7>k}I?=SfDPZKaTow6ffH{`slIo$A@Sii(dTT?)7+J)e9S+i zS3ieSV8knpGmKHtbC%pGuetO))DXA8`xRcZtEw$f3hDHbVd!lFE2RC;vUenE8C%$EF*#s0lU(UyQ7*2qugXQ|}L}tqePIzeM6dN(#f|ScLM!yT|8;&l88)elu z>2|Q;3=k#l1g4-rGrJ==;T*TrfgYn8b#sPrcIdj9x!M7wwmN3saWL7 z1eHrZ9n9yGT^Sz}R>XmXJVxd#ClGhsU`pY)zDEb@$uUQD+-In;`K2T!txK#kF>5%{ z>6DsNK=KgXMueP+*omu}20?T52Rv^37XOk)*eVCuER6<_*SQCcy zRsmpKF70O{?qMRICam}xEvI;M0G@qpCU@T`0XP}(vQPWB(Ng?LMd@B#j9k27{jqNR zXsvF>2?S=lB0hvRd~lR&;uEXA*Ka#m=4|uJx%_V&XmNOS*aq6jKzxeK@W74ZhJ_Sj z&AXCt>913Uhp*~`hxAlh`| z$o-NU>tZSU+3SFED(TnDr97eS1) zD_QTX_6mfJQpniB(b0#_(cx};30~#azq*cvtM`_Q_RSOO~ zGqNg9Otk7OAv71b0k6@C3+MC1oe!kq(x!n}|A3;_5>| z@1>lrZlpX@aki77c2Ei!mZuN!wtos++G)T4aQZX3Je33QevGq`s~n^I<0L_322*y{ zJwU%elbZEl=EzWpR=Naiw)6^p?3+0jOF)2W(aTZwt~T_p@(@^O@PTr3G<9>mjN)dM z?%*n>LlB1lE@Gi(PGR5$Od)0TJsq6e7X4O+_kX7p2)ysDFc`Jmb+lAuDz9Zm^h>BP zh=0Au7!??Op1cOfK_7Kj>N&EGP z>1?SANZF`Ln=gh2EPR3ho-!P$qLuU2j^tCty0~2xX24c{nx4?5asg_|l5 zbIMVxBy82JLRPG3j2J8i#u5ExM5G!1C26-DamJb zh;SUmWm>4cvE;C=>h3<}m1Z&0F2VDS4c(Ia1#MNu%nRKP|MYJS*0;flx+jxCdsnhg zR!;mH?K)UYLdk*8T9pz_omR~@8ta{p(`w#U)a!_4n(C7hd>W{67YXJqx>R&Q*H4X;W@aL0FZS7X$cX&SS@K>PX?7N6ysD!C!&% zm+9RD0EE!SzZV$j#O?|X%uxpcVNSAUVP_H`ta&MmG}{6`uSr(%M&0?jZTG^L`RidYiy-EOzI;qmkYT;$$y3s|jvz5j( zm=y_`Y&0KN3&~!%B@jxw4vI=R`gm&9E=DP!^-A#A-|RWc0aLTY@9DU`v$tf`CDZ${ z^-lbbemvekB|Xryaz`JIPWFG&YABMBkxHTX9h~gHJ={51qJT>QkPoHQ_AjFAfqJax z=@qaZUB6x@JG&akNp<9#EmOXqCZEl_PNsbFwJkKi$ROG*t8h9W+Q%pRCwMAbo3sfh z9BN$ST;F24?Bt?jhY5<{DW7=z6i?~Nrf!Y;WEm~An*X}0B6CU$7#|CgCMnp<6tyJ> zZOTjRR?Kp|Y?MLcA~Gz`Vpf^H#u!nhG+PS9L~6;@FoH`<%23p<)IP9jd5w!e)636H z4g}6SH%5&+1rajNqwe6^CMz*1&}%EIn<{+hZW5?n=vCsARo$ga#ah6n!awUb`*0EV z|3A)cw)y3mIrKdWy)LRj*G6kuO?;pM+j2FQ{g`dd0?qvZ>}dG5%`i{y>7k%)@;>Hl zc(%t4o1NNEZdeK7=6v=txk0XhLu51(=Ls4?!ZZkThQqY0JIEuzh55^7C2yHh9WMR3 zCdEEk7r)cXC?^ONkQ?NmOd%tIB*o@S7Pr9fN;@URrSA1H4`GQ|-EfZc9uI3dB^!I0j56bYBBHGJpYuIyjJa zWk9Hb10KJ2^U82A8yJMVlUyl4GWU%%8%sfiEOmT++&HxJE;_ECV=)?m6*plWBZDI+ zS_)RRrYx;#2VKLoFl*jAxnQ8q*|RiMD!|nHte65S=lv$EA8RsdFh8JAVrN_Y#hRPq zTVhr@e8ME}GWkAZS5FSC4<_0tYpgoTinFDy0_{%Ub4YSlA$4Tq>Ss0ur|a8krr;=I zY@8hujmnH&?@y`#Z1Zz?^L5==>`JK{cfu0D*^-XbNbluJG#X0WrA~52m27G^XxZ^+ z=Rs)8uw;=WrojkNCqT4hLQX%MP)fSqoDX(@F*#~8vr#&Ks!ojJENy({n}PUo7aYV= zE$qipWv;)GR+{m)K?_KG-bOWh;Ou}AbRPD*adEk=3cWbF%+k-IjVxjkTgd+>E=+A1 z2SWR{{L`}Q`7KApvW9>{?W}zH(lsUOEK8QIpd32IuVSroB!0TN9ph$=&VdEjr*Pf$ zjnbfHvsR$n1gD~(bo(?K+3l_30Z-Z3Bvq&haCH)$mdl!p-~V~nz9<~SX+eA)ns?Ox z@04sLX++aLnA6;rB$W1mFj&T^6XkU7XXm0gR8Cl-)%uKj*{^)24&f%Re}6>P+bGcW zT*cv*5obwNDo=m24^h6t?dq~2y__KqX#~s8ZfZT0S+52_wFbGyfJ#cFl$9Jgc^i0- zNY-vKbF7c)60uF)IQ(JddblXVG~q%&Qdp(DOo!Hzh^PxN6iuR?aAXnR!yWZy!$gMS zu-s93?*+cB;L8O-ZXAglE4JN8**g`xS%F8H+WbmoFEIR7in1g6JMS9ew7zBTfMsK< z89D?NxSpGZ0jn3Bk>nG)o_nD0s101-52@Ox`Zsq1?NgJuqFe?}ph^6K6{2FB*p8^6 z?vzHzs1(KJj1l|`FFPH{(w>$<*HF0g5{^5RPlN;gm#Kf0-9N=Qoc-W)T1uP9=`cAt z5GU2J*!sL%Y*U7ph~vZPe6)Tj2Z8(3wC&EmA~nejX2#e82%S=2c83%H^mY-S8!a{@)#hN*qq&38h;{44E@ARq%B)pk} zNL{IkGb1_y1xm`Q{3p*;4UpG9jMFI;)qa=?_DkIEG+x)|jDQC~^R7ua=dqat9du_g zP$f6fOeS+?xm>c#7M03W))$_f$}yE$U*%I=gUt*~mtk!skBlp5*pAREb)ekWGRA$*$$fq7_p(oEnP-QdupSrc$W7p$M9;A} z_k!!2lcr6ufz6@C%SSfOY(VS*NDFWFS$t*_yC+K z1H)0h9JmgnONJcw97I~k?%_5$uT$Dp_AXpqRlSYlBEz%_*G$xW)aBw_CP=pCr|c`&{JQsm4K( zdB{gm$ho?Z@N$+TXF(4XLacznCJ<+Hc-CdN>@s<$3rH+vOOtzqq<-s}ZVU5?hnNts zE_o!*NIjvS+mOu?v7DVqZYyW+@UoAYb0I4E?@Rz)Ul?_Sp;ETM(q&zT5nP@m^ViZg zGJm6My{2ECc)4ftbPd)oY(;lR3oH5VOGuvzdzSqaEHL}tT3Jzb6mAJW9jIb1c(qg` zetLjPC1~0&>1a%rlw8}~K(!@0p79g@7WaKfV1slbK7)|*GHxR>=c9Kf;i2}^Ni8IrNX>;%ho zw1sF~W=W1c{vheQgke??fx<{X6C&_}Pq+!NZwLHo|I^}lJRA(v+ zSstR|;hk>?)NmY&95Ea6{$L1F1CZo)gv=WKfMEA$^m!UFOWhHiMS<;kaQz zz~7`-L%JI)Xd6hdXhgc=X^1$Jja>x0tK1+?`In@~s7VDG3^Ps77#hcqhsbd`5h zpFFG)n?z7oqI`+2uu9hWTT>mVoC%UjZs1_$&gf$_J+L0fccN86_S}n*tx5*t4iBZD(37!F$!qREg*%j^q>NX!wrMfrUW(uUSm#UTCDD4HQ@htg;mrC{`%O&D9&--@dC?&YA{i9a?( zOH{;eakNsrmSg&{^Vp!kEW2I~7@@ohv=@(c12pF|qI`_e2LRdTpf3Gn+1WGIXv-Bt z9GRA4R&E)@Fr%L`A)C7qq-Kcp>UJIV3ZE5vl45Q?l`S2Hm|M8*Vm%%-SIBJyA2EXgIyRaMSi-Ig*TtMxd}N+p?}! zdtfu6DxH*#b@LYZLbKj^J7b+GZfa}}-K5rU*{mfVbmW@38vCPA3OND8x1$dLrNKYP zh)tSbe;p5Jie}2)vd>vOb(DAjt!0Z{6f?-y4HBmqN*%J;-0Eq|2 zcL*>wnK{f+R?ZRw{idG{D-b%gx0OS3UE_Q`gMCL?J_8ci@~cdvTQ%^goa zn^;FdJXN^i z3`I|FY;Wl3srIF!qPQb(7hkTk={ACiQABZ%{>oJIl&1=Z>4(gie3opiyvA8c!f-U+ zSvaVMqcaUF1qg+)k*?RtDZ-7YzNMny^KwLB2s)jQ`%aB z+6*QK(N9+CJc3P*+8queH@!5+hmzG8LwC_}Ra+=R_OW?V?)GYK!=6f&JY}t!2Gp+*E0>hf32Iiz~+E?ck?bNIeXo9t+dvDCXBUGCz6Bbm( z+Qxm<3sohhSme!W=B;saFx2Fc-(KO!^Oz)r8#o>jS`S{-=}2M9#p6**8nQ|iK3!u4^;rA? zI8wuFaNgzDTmpql9vUr>!{V%9vlVB0Mj4w~r*4N8p3Vv5Mln2Khc#QJz6l{mC1-JE zoMM*6w~0F{I)-Jeg8G{ILEkaxt-*3TWi^|DD)pSK`aa`ZV^-^BXF2BZU2In4!(i9sPmb+266mfcA=MQSg=gIq>gM(?4#yp(j%!)mQ=14V#Q@j=+mvp<5 zJ%I3RzgymJy2L-~48@~{IRCUagbxa&@H?;f*L`PSNwsg23_Fu4dHvRNmuR^jP4vw3 zWAhB@GE0>a%e!j)pXs)9y7f!%Kq+gQfR&!|3REh8k!!gxMyl; zDjM()L(E%P9*)zWQ14g|f^v>;cu~YH{TTatvaz|bwI26|m$8W7^}CN5fHpTbw>CE? zuo*T1c;&!5JX!bLt*X&!#|p=bOsxw6OacHPd+#N|QT1Nu2aLBl(%L2Zvvx$8S>3=@ zh+pM2*fUI_bNKQ7>$cWM!C&p;{arI7n$iJ~B9uYxIKpIP8h~NY3JPcv1z1Y|gWbR1 z`Kj~ac>f3()cy8J^yHi8>S!bA$&OIY!EQ(Nvp75D>#Q41IVZTa9TIu64u6g-4v`1a z)v(c%e8*!A9LLm#MZt~SK4Z@DjVemR=n)kn3RVbYOTp&2K;W?x=6xy%pCx9AD9ch- zUHp2dx{Mg_5f$r^@yN}G)!#Bt%FuMq8LC6G^<5rMYc}3FWYHF&YDGr$^EcPpB8?1H0 zpYgrB%DPxj+v}ibQ?CG4ql)gFyWEz|MAia1pA0d0k&a4^SYxQ2;%_Xx5NT=YiD>WD8NhxWR30uz)~8Afbd>Y( z+bo1Osk)5qPl&D)RrsK7BHt|JfBY|Y^;IK7&*v4lsKXWSU1n$8)9wkAFE%6^2ffum5aRrT3-4(4a?6t^=j z3__ZRJB62ts)A?+IPxH`>?P{~j}0;{*9t_d8_*-<4;;`E`$mcEQnZAWx@5l7;g*z| z3lV2bc7gM|q@YHsB~I#CsvFFi-DG6a{nZZ+h)0JN)B-&ag3f`79bENDd5lWnJUc^Y z1tbCEk@|9STxtCpIUHS_7d$CgM~xciE_XYzUvZ9?OmwB*q50P4x`a=t7mj4DxDk_W zc7>7aX=!_%66}oT`{!&7qPfyqmZ-#@SMB}`e`H_uH3 zPMKTP{HYU&L)cHt!HS41I(%Fm>95Z2G^zfto-`Hp0yuskcC>~_4}1G3=%CPf|GsnF z{&29f+eW{KX7t-{k>7Ivu(Nmc)6Z|)hn;4rPMzyVS(Yxwn)yzQMF7z8g-KQZu^1y? z+A6hYlM8Gy7P11#I&r$cqR1&qS;K!&FdzGN56bc90GuBrfs;5Xx{O%es{!qn*&D?tpaBrTT8n7C4pitoJ*PL*W>544gsq zNHv%(yJb%9C<9tdpiJBZ&QZ@rw4sFFIhh3kW;T*`TAh#aj>7$}#x{`B;vvynEiYoV=ZOJJJjx&PL6 zX3f4x0y}MU3gqVV)5DvIMa^d;k;o9(zK`C;gOA3zGQS*Z?T%4{oKt$XG7%-ZqDL zvVKtfCoZQz2vC}z)B>raLY`{42L)Yo9{AhRjnfJQN|Y_wNk(#kcnfFK)P&1x1b2K( zW5v}$sKs87ESyxo3n95 z**WVcvQCp_`saIW5ckzRzeD?coxoDEz+Lo1*CXqOTe*GgaNv|=ynTTK#IJehPQ5or z_4eI=H^jZ8c1I|)b$VF^XuvV!g!<=~EH&}^)Q)$z=P*B@q_}t0l>k43JAgf{uGbZ% zl*nc4Zgp;}GBAO2PNVTAk|+qTZ`!?L(!Z+NaLhSHtLC0qUh!s;# zk#b!6W4zLL4X*+)+9k$CN^8Idm=vw-s(zbg#@w7v2j4>)D59&GF(}D9P_~ z*6pu2|L<2(KFDs3R+6=lxB@q6j<;>mdKVgstuY|Gpj#4SK-C?XJlpge3g))?$|*|0 zrUs^t^L%=pcsoA1(@75;e@d&Osl)?7J4`Lg!Yq6ImocN3Js_#GUDGblbGEvt)-^ji8})H=+(;L_<@wyo)>crC;1AWukl;1pU4(N= zFhiKX2#kkTQX-9YNf!uB$35o?W_G$nX8q|{v+TM=%*;w>?SY^r1tSb`W#t4rA2;WP zfh;>6GJ9VS?t7GRF5GhBpb5SwM>R8EEEG?OmH1`&ee0y%-P> z3nctrm^7xepG*{_3Y_DA4&({fH>N@!k>qnZ$jNCHd=NB?;=yv5e>nG`@#j-gDa&6B>YI#nbt{ZiF-_-w%(J2UxX^=4 zE#e3=y@Qp{@crj75lPQMjdUz7AMubdcUFZ0U35!$8@%EhCK!(MZ)0?uTQ!r**io>$ z!*OJqM4SL<;*^91L=fcJsSZq=-GJI3{Ied$mcf&!Puh00FBwxeNmt6C&GvEdLKMNq6RuHX{ol0rFtdylgfkI0Hs46PvKjM}oTMy<1fK(B*CI=2z1R zqEI>ao-fi1d_Z)&z0qKry3PZEaE9J!@;zla9*`%PsgL4xcN1&9?-`o{Jebe0{`9m>dQ_0FMajw#q-~6 zJ^Kni+I;ci<@4WcZoT~K*;l`be)DVkk;%A!eCrg5$#P7uf&c!Y2dAMqy#{Hzne?aMRo4Fs>Tf*@>myG*NI^b*i?)E<9KGzQ z_v6G_KuNg)m6_D!zXpm$~gVS`1RuYPp4Xc11f4n%wgydx4?7Q6#N+3cETkf`*XjH0)>NobhzW*)_h7 zdCn{c5h&s~y$P}s=h?;N7WY*H(On!Vxgn797Vd2(mpm^ft~)v0JAKzWZevXK(edFA z9pJ#x_wOlYx^;H?=I}WB-~Vl4$o0xf)H>LO|Gme^>*MyxNpyHj*#_Sp?RTISG;`cK zK>x!=#LT>N@VXIwe|AdX!uy@Kol_`wdf1@W%hj;4!@cNj`xxW5Pg~!2_B*HVsn@;E z=>hh*2jgi)N3G-2&d%9>>o__(J3cx*fw96Ab~`6K`z;Xfc4_H52k3UsQQs$TTKoHU zQr}}pIGR+sNto1b=eWIdibI#*xQ!iH5sWZzL?=h>oesge|G5ogZympHzzRe=hX*I^ zKb=7#_%hmUy=}d2pG2$S3Q*R&!Xm(O@0=Zzl>(=Ia`yenY3KCpv>m-ZJlw_A#X$8R zIy>!??P&iH*LyEIJ89Fvc3Y<{>K^J6Hu6 zX$xxa(s~{q;GCHX+K0#Qv1wcnTJc8o?oAs$KgK15>75?8aA8hPk2^c3witAI3eo{K z$Qq#`skT&=NRxa-G_~l- z&XedTYh#N3Kz5S~;ewKWd*o{gu#BKc^9oVhHG`4$1tLWY^Jdt=Z&2hSJ)p)^Lr)MW! zpg4GC9kiF0HtP#$a@wu>BHy=mk6Q2d4_muS&+1E^9l#&QaF&*y*B5$oc=*TG_lH#M z#qtup*w6(Ggw!RFK=GAq6fNr1?>N0(Em(^sw-{HG$*3#q6s_xD+si-G)24DfLL1#nd}9Ik=G}|h!(KefrvtXEM6S%!;quzr72I!#Za5$Zc$}$^-&l{}@h^=q%D!fc(%OEe zSkqgQ>05MKR1-104diR{C5HX!b~wz@8BP0^vAAiPnwSo+<8gk4mosS==mpC`agwP8 z?!lVo+2EnAyOy*I19&OTx?YRxGD0`xnpJ`C>efWQs#%emMzzhV)qn@E+Al;f6i{X#=NJO>RA{ZckICHZ}^zs?~z-5uYAUr?&Hsc z-~at#{-B5dLht{VFP=YpS$O|{`TY6Td{r~v>e|-NxzW*QJ|BvtgU*i40{8a3Z zc%ITrgr$#m4^CW;tv)9KZuR5qXg?la4iX8xglFK*U6JSJ_)-t~I|h+rWptUulZcJG z)99JWXnH>$Fveao%!P*rc3MAtxYu~xyE5+6EV@bIbraJtm6rvR1Mbw< zD+-&uNpnP6g4gk@r%&mP1iXu5CGuuAzI-YJ$)9pF+{#mOj7cbM3A{x(z=f`1X#wtI zYN8Q+`Q`7UgP6STTj%H5WD>nYOtzCrj1TvI1AXIC_-&ZR(eGb8-~6%xRMyfN!(%w- zOv1@W%#O=J;Qh>^|2KTZ0I^;k0D2g?jJFixx{kRg+#T=J6TA|>9UV~^znWudYXZvq zCcYf}A-x{a&2p0>EFmt@cgE(A7sf3@X_31QxrZw%Yd?BI9Xt_N>I^PpN;#-7U`6*_B0l_7IS)Pe9-V51W8tsA#I^vf8N#7eJlo2>&gIBpvG) zfe^6fG+3cVjl^{s=DTEo-kpsIBU%RuWkN<@D*Cd8Y8E<`sN5ew;qG7MB9k|cx@QJ##^gWdZxO7f?5j!IT!d0aNib7Y3#qGQHD$9?$kIm(RU zA5W_*F>65TFxPr4yrQ{d^`g3pJsjR=V<;B-RWHuwFK{P;9S__rPxUiZXp8T{iTboNqwN7O_ zM>j9Jtp@Kz;IiqXNjpc8*$vnz0`GL$3f7G_lrmEarh#}v;n`Znml{Qe=4%b#m}Hg0 z5KJQ2jFWGSW4ap^3uT3g8~rDBe267VjDaGo)Q^(=oXox|{hlQ8n4Fwm>9vKN75SCR zL+LuPJyrRLN<$V7#TZsG)JLV}HuZtJMS^40*KQdWl1rAL@=Grg)K=b5GeDPj zzCVuhiR8j1pJ__x##&aWHRT*F>yBYME}N;to8LHLZ1Ao>Ao?Oqkx4WiH8l$#Ur0TM z)Tm@bgbD3=47ZI@z8oxvK#*<{?DL6kggPoj71F-?+3b#}J@%2pL%`KN6YQR}Tks5w zR)KU&tdR);F0DaIi3!&H0N}m-PN8Sn&D3l`Lm;AsL&2l%_&quXN?(jJ9+_uDpGlSH zjJ7zEq;hqOuO?>V!w$QDT}z>0PIdw>X+%S+rzdQpyqV8Xs_FkGW6Jls?py@zJxFSD z9-xZhDY^A>z!{EdIv(0-g`E=cDO}aKHIB9Mk30S@|oc)gvaDAnbKLk440cWBq5`eNQD!b~m(c>C$m^NR%B_XZu;J^DrNQoO|x$|5kT z!H44HuoWJqIK9%yG-W6)he)}^6FC-o2=7{iYaSy1xSC$lSXSvG2~Y`i7He=d#eK)z z5u?)#9loS!`z+(T$jzPMw9r%wVlAd0k@Tz}O!Jd#%o;|46G4Yo&cPXrZ~kqf4{gL; zNZ98b7Ss1l1CQO!iE>1i!7Yb!CY{@c;3=cHk)nuoo465?Y{w}>=tjLHMS|p^G4n%D z>)Z|EmI+T2BjK1}9#om644Md;6v9 zknQle6O%DK)?[b4s&yRF~{6)l|}pB?P9Pz(K%8*3qC*oPr9j}RcKs`lBz9}f=S z9Yik)VUToj)1d>Mb@(d04*1CGV_13RI3&g2%dgCo*fE1pbty#>0q*r;#j7A4>-0Ro zLv0KdL+^7@4pfoSo3qnh8t&J#JHfEn*r4K}bi-eEjn7T7`JL9mPJ2Ik`Fm{~?Jx;L zuEFhltI7=wd6Dz2$@WB8#0kOG_km?6etMxuc104LPeqNYO39EQPf*FvKw$}zsR!L9 zKxif2kMCuNpaBUlVp!K%RY~ZBOsT6qIIoW~3SMkl8!;{k!f*1I@;%jr{Hs7yA0UPoiCw-{Us8DcL9<2s^pF}8*Us~f< zhyV~7k!5?ctujsA&ukoSBv)m9N-$n8gn0!Brrsge20cliUcKTgi0-8DsMS}rSG36N zef!p9t{0=msfX09*wN6d!NodHtp0`Hf-g1*4L8U0JM0O-Q98PL!O5bHx@PNTP0^PP zZi*8!O$QsSnIK*(V98h#*0LD{&x@Oq@(}?c$8Xo7dngrW>l3{TAojwpNu`)G2{zk< zw=KI>xx(mc_R8Je=DF95LWmV45elU19CXmg+4+C%;DBz;?qQcLDxw17T1A9uyFuKg^v3+^iX=qGi2%(>{Pfw{}iDKY(oX@$1daO@$ulxYQkN z4^f{?5YO3Wz)Cg2aSfs@UCrEr)=<7KN(@F%0OTl!+$oVtl~Tg$fY(s5aCXr7Goxkc zHAIeS-CGbzvfI3C6z5#w9e)vGDtauz08~J5S~;@@Ydv8-dxKOHNt%Solvc}Sfto`E zoD^!_9vGZPPbE=y{x^vRE#Nj%cHk=H#-@jEbhO5RSPLW$a{aCsNOiR~gNVo8@SATp z!r<7Ps60|lR!;p&t|-b(EU>a8Zj%aj1)oSNh~z7Tm&dC4goJQ-hE=p+5d)VwN9Oft za;F!J6V`ZbalchTQxu;<+mDr%y{b2d7bOMnqDu{0)C#%E+_E!8BHbxP;?^0$vvbAm z$K*hb>dBpx6&pb@wy`80K`Onxv@~Ne%JZwBCqY}C1K|>qUj>bM(h25Ok>eGyC^H-> zEaTXD?GpQ=^kS$Z&HBmEVi)Gl z7AC&nnqdg)m`2%kP1LQSNt%}p;Q*nyiw7!k?`FxMM7MH4dgHMZwSDR3*?AA}uzVa1 z;$a+Q(Dv0A%Y1-yfJ)s-*5y7{B?iH83`+hT=<@_RTm^lP=MAGmASXG*<_!iEokQak6FHu5F9|Qhe=}NfPMd(r1a7^4Se>n zKNZ8*A6&PR-E_2AlG&=dLE`4Zd6uMTlJm{94f} z%2gT@kEz=jF2&bVba8uCH9ahy%_o;l;U3u_@N$k%2lbHe4d z=xHJ>FnJuyA0FDw?mVFwY@p5uu6SslL2}K=@zN*I7jMu1eB1D82Udr+_%6`BVV1B9 zE7+A4oV6ovO9%~Wh+49NQN|I1jv_UoogKRscUu(=k_$3%4ASfKjFSk^ zBE(}5vd7*!y!d?9{%tmD&Nvs|KiTlPN2ho*q7726YGJh%&odHeC>D$FN|+MrH{9i; z)_Q3Nj~rr-r3BA`Vw5!+p?<-+NQ9o_tYbxkV6+ka1-oc*4}X1y#mgVlC*}kF`-S}N ztCY^5zMpNp7ffhntq2wv$d z=hP$WqGM0>z_j+F!;>OfEn3fG1lgf>;LX&X0Mi&YygWfK?~;B;IFFmyKHKDCMhiyG z7%PYc0+GBBJ_9*O@(vX4Sm0Jyv!bRz6pfpWs78-Esqk6xPE2HJF&4!>cPGahT#T$y1GK{iZ1FGInjju6xC#;466B}P%Si4 zEUW-=Mvagy>$qOjKV|KaLpqShEz*D=lTmmYPehLtT}8!cNO&aVUnwEK_%|iwm%ltA zO9%3T-u8dLln)A|j@E)ILiZ2k&qwYIm}_+gkJSFD)c#K+Up+u`C^)1)kb{N~rR0SP z)r-@=0I9xwB-LLlsV>BE3;gj@2v!urG#~OH6UB+Mw6O8bA==ELRnCH!yLenen>JhT ztHTGTwyun8z{2~g(Jyv71WN*CRY=8+TDsIKzmPpxUO@X^pn%#9tKNV3#V@`l7-h^@ zR5us2fo!XCN^KAF8sEg}fDUU_1@f$Y#ekUPJlxQHO$|&PxS?sn_%C(WY(%1vfzLS! zS^D>6qvsxE=jpJ&G07Tg$J-zW!VTB5iIgH7*4vHzLvqWexS>xbEjXht=n|9ZKIde* zoReJ)bR=z}AA^hURwFB}(mo>MAOD-6B~1KOQsP6{gmdcRB~bW z_+%)x4JRRy#FnUpx=bX)k0~ZF=aTV-b_m^_!?9Uxf-wU)djS2yIH=~UD9^?d^p^*k z&oI6YX?>WnGJk^<7fA5Q1o#G_)OyphRh&8W``m42L*ir@VqC4K;(>(cGun#2#R*9eQUnJz(4uoIex*pWin3F*N9%gXXqzLiTXHcQzQBkKIC*G=&sJQ z<|bakH^VG2h7dk+U;XN^*k?Oifh$C{m)bu{j&1)ac&o98M3tl3KML+?ren0JQ>r@L zhIn$N;zW`9<{VKq*}zVwoL0kl8=J#RLv-Gs6eUVQ;%j ztij>vafRECY3RQY>D6P z!}E!{iHpM5^75&IEUMcS2K>=(06*~!=RpGU_b9k`Vd5xX!9=9aS9Yvzqi0l`zBC=sYq7sBJSC7G5L|WX(Gf0qXzwh&@NNsHF-lLyo zlL!tEcW*t{M3P@2aoY+WDM}}CExfq5cWolb=uNEOGe8BKJuGTCq48n*bxOj1aeAJs! z#|5L*K?KpCon2hV?>VzJ+kPqLZiFZog@XQ~vYBKk2@t)dC6Jm@PhsJ{9CRp&L2t`p z>L@*QUKOJXDY?r`NUsPuho|jVvlGA!!#DH`enXSYM2T5RE`ck%XCB+b?A8DpOKvb4 zbrKyPylyVMXJ)y&X`i>Ri^vUIFT03|s>w~)>i14HMQ*QH=|FC6yivg}5eSn>WbRWQ z<|d`qj1k(tDAybILvhE5Qp99sX1z42bq0o4qMqv3Q~8;Qgjy)QGgLM*h1*ztDhE(@!|>KZ1PoK(pS*FaYYEY zP)%=jIpqWjH|NsJls|^mn(U>*PNIY%z#0<9Ib!bzAHE||Y3?04;?!JTF0Ps&N)_Gp zE=L@i6xE^!b8!u+rn0MS1jNk|hL@u@AQ2=+Zc_P4ZPorb8_{zm=?ze9oM?QVRnG<- z3pKPYWLT7&NKu5H9#@OO){nb{{L*4PkYw!DxCWgiirmm}Eo6A;lheg(Npd632m;cX zIK8&Jb!QM(0A(DC%&miycWsQ7rHseXX7Ou+IqaOicO|xpC3bf^_(f~q6?wK?D0BM$ zsNHQXA*x8#HwP#9)w8Ovc2InWFTbq%^5l@(d|CC~(djXKw^iBb+dt!1l}(=h`4qpa zY!W>S;LB%U7pM0p{`${*$I-JdpH+XkzrO@uep#%#v)?*_cgaEfloki030X_Tv3`sq zLW*offg-)>N&$#~&0 zRe6#G9=1brdo6FGy3&2xPb=)tE`yo8* z5}$YcJIs_Qb8%7*eXcb|s|zei?~fh#&~l;c#s<@@mFF#{DrO_GLH%xcbSpc14vg$R z5&Xqo++!1m{gyND1~KQ>cBHG}-*ry2iFtkXj}?PCg~(0j=CK}6*VjoOZ*{m-S4j)! z4GSo}O@6!9;Fl)@Pl=$`I}d8&krIIl)kg4a^(c0?iHlQS_u^K??5P#sJ}DNOMQl^6 zToi>GE6GsOi&@c705L5@cWQ!TyQG{hR%U>>getspMGUNKaoYl;ri~MZgm%wQ?2s@_ zwy)bn6z8j|UCV~P{dbHgj_s^K>nk`J0yDiz$G$&Zk9`DVWAt)`t=k}}zt!pf@ZxRj z=%~F*>j{4&DvFr7#nr$&>NrIOV{Jks2yhjrByX||aGS6ZQ(h1!hdY1dm)_}dyY;r= zKY+IaGuO?qDUfd_SuY!un(7=K9Uq<^c29SpqW%%KvWT2rMM~w9ylQiHTVsI!R*pIu z0=bm0ALL2&X*mp}#1*c9b>!W2*jV;DhLF1er5E_d({=HBD~g8|9E`PgZ_iFR55svP z@qZGWCYW5N%1Z7}5bF3Sd{fSmsHet3Fd{X{KuV0AD#{(#N>RIAfF5Z7aCX|+@3w&s z8BuAW7elZ{)cxxGEf0Lx(1JZq;W-uDUGgSaN&6pHV3?Ibn}Mpyyr!*l2?AikgS}}= zLX%W59rlxt+L5tTlNxqX7>#WpM?DpxLdu(1R9ohuj;dYt&Gi-G#w+0Ovg+77;Q_bH zW0_ZFbS+oVd?Mr`0mJdOe`M&+=HJjrW`2;fIU1*534=N(f|v1nxFz;Y3z}Gg$*mAV zI^IAr8qVILHfHNw!f@oX;?m{G&>jM*_>izdg$#9_a!#wmPE8TO0h z|K>!RzeN7;7caj2s+j-#M&g-p01Io<1z?~At;B`?Va^9W2961an`+ns)2R(H!$nuRZCCuubhiSc=%MRXp z;S}WMrcl5qDLosDc8=hesC(jGm%W~>n&fQhuXeky56*VF-L>ds* zgpo~Up-)?{yDiw2*9YNeuiK}ELc6=xpz7}dH zTif^!h3}2;xX2e@bmJUR6V|xm7hh1FwL;s_|NR?=x4`UHVG<7*Zogk@l{YSIe7_y6 z#agr~?YWlVJ#jg?TDxy1V*00o#{W+~EEbagDSi9H9{_XY|Cd`^&wsP^9DjNKeDnF2 zApd{0`TVO#`Tt)i|8G9Z|Bv$jqx}CU|3AwA|1t9ao72;y1s(u(#mX;$Ky1J#z)?1F zL0)K=om^qmY93!Cv!4XmkbM&@NA6Ydx!we&)H5sMKk44sy|BS84n}eE_FpypFfvn#e>iG zBgWRF%75tlw_0c7!zL--pN-GfDe~MjsV#)ywt?eAW-?0J(RmPG${=N$ap`C17qx{9 zXSYMq&SWh&PKwS{fg~j;B191Xorbs2$ z=~XYY3%cXTF@eVKLHjk2Xhl038<~)(PRWiryh#gEybdS6VlW!czD)B9;ZvHQWxES& z*EK^~FMULq;mb?+UQuPl>6 zWZ0$sx=Sk8>(B5Ly}P>mZ(0ely%r~pu8*O6YQ;+RvSA}Mu7^IX8e1ko#d+X=a(3LY z?$OeLItWe2Y4Ibp2+nx8m%cB**!iMgrW7*Q*T5Efm`P@s zV#YV~B*%wKZ=B`%hQoJ3fj#D@x1{D8Cj*Xh;<&f#c$ki+19rBR*ZJp4DEr{Y`vULp zs;Z|z1*c)fNgtjrTy0E)sbm1hK zqTj>Y<23IFWlb~jxNe0H+NZnUQ?D1sHv0PDtb1~JcD&Q})7QGLNQk}T z3&L%OwDzoKIIr8Mt=-+@&cWUx#iF8DZL8B==e^?Vv!GkK&7VzrqjY5Fj_6cX%>y?& zI1JV}8IOlq^|HafN#JELFa2Ig5XX6ffqRGhTYTeKCmR;I0XM^tBHeq#dIjq8(w~0RIWY z!^Ob}LN^flqkgTPhGWVZ-ckIpT@4I1&jyrtULY4#_#I^IfR6*M8c)tB9_0bFBI#MP zo;i#atbuVdu4b{#?BZg6i}0VcN2+}l_VGQFktdX45UCX%)uox$kueF-N~{s& zpbml<$4?e=&GOtcxKe>OPL1Bn(R8H0*e~@v_f>FN^Nq4r-I|hmmm8^SwOE204_V{> z;lXSAPxS4#Ci`+_Pn0wb|5MeM`Ld>)1$(G#yi$KWfimf~;UiHO22Odz`bL0z={!$nNedoSfWY4)Z!``Y|wBOFygcq|L zuh<0JdhH&=IxNuoqC;PNpQ(O%pZ&)R?K2jiyU)PiOZ!ab0sW;g2Kp{?-z~Dy+?=i! zLFraD8WyPEj%TwwC~rs5d>tvBz=M8~=I=HB#kZWAC~vv{c%d!F;&ZqB>++6&EgSxI zX}`bbWBqma{!{w8az2Z0kBs@g!w?Ys6t^cxuQbZvC zrh+kWZFBxATlc4VPWxZaY`@~>we45jzVr8t8z}FZ`FtTlr1Eu?DDso-LOv>$C=!X5 z^97s*-y<2{CT27wSQS7Bv+EHEKm@qYk{O6IpQSN8Ml}TxUh+0l{IKrACkr5CvA;eO8CgD4Zp(QcH1kr1&fPuhJg8z5nnt`oTPv zV0V5>7areec78`tK;n)-aEW<7y_Q512#WYh;#3)YkEwLb&H`l4j}fycBOoEv>5q~z zA@KM*?oCW}gj2?2pa*!wragMO-%@CGrs4Di)S;ostU#!ng}{BodxO;=oY? zXej|Qyhe8bM2}&Feh1tyP+knL*Zs@%uh95{k7?$b*fvcY^Za94Q<$#*Ic z#xVw48kDd_Oo^%&fa~MMtUk(HRqR7cEPCbGPORt^G`)cArDcuWRcZ+~j8BMbS&oRi z#%gbJk0Ma_ru9YEsw)5!nST5AgTlaqD%v3!8e<-D|z= z?7t6Nx zE2f{Y>0)*53Erqr7|jy?B6JH(lsyHEb0q3 z>b^yEH~89gR6pIujERO$qE%gmr^oQ2<)5Cew?PWMi_Wt?W~JswR6qN8cZpCYh??VI zxkHZ@B(diDQ|HXM9dMkthX;qJ-J|37PUoZ@g7?aId#(Nb?^`>6M9g2jJN7syRZNB% zO^(jsVaIzr(bm?p=bE=_m7ZrQJ72Fg1wHJ4C)fY$^WwNi8NHc6>ZJ#t!T@0dO(u>2 z{N*Yh$303wrCu*uLlf#ztwTKfY&4=2SDG=wrl+Dz=_C#dNX-A@#DJ;&FC}=9YK-%h z2yh$LfqfjZ?<*sl)nms*oFJSw9NX@WFM7C4s}9%FXFTMWvy7mS2XS&8txv8Mj;^IA zfl+*C(iPq2Q{yMR5G~WiKa-rjFN9d=$bZWx#UaEo8UQD=TclG#3TKK+7lOyFobpVr zKw$l{kOG=GyETXOtqiEYIQN+iP*u-z=FE@&G2pflWn!IKXBoE*lec*3iTo#^JQ4dLbaJXi)_YO#wBPQY9Jh`2?{ z>AxSZ*&#@gd21XoHZQ{1XGbh zq86jMGIRP2#HLIaiek3Q^~uNqfiikJDu;;klAvWgG9;csJU!#y6>pLNs~--dvtjyC zq{18_6FK#3E-j7XbWG#~C7lSFPF#{VYGsgRBLd7Da#Ao-0*x=w69ZNkUf#`3_`faI z9%2j#V_NSK5PbusX+d1{J|ts8ZKQImr|dp+M<8v4+=hBhO@zkD;YfHzbj;)y)4@5- zCdQ2P21we{Yd`6wlC$bVl8pT5#JM#du(B;fNX%q#(OlzE94X>`ZV^F!PD!-YQyv<# zY|9Ifiz!dY(?y7Ck1$z6OTYQcv%d?DHOdig+Ucpba(GjQc?vVtz; z19p>=*8~!Nul(WoX^z=edC#R!MjiA@x-J>;vliy@i5m#ZiXi;&qW(f zLN>S-Vd(hx+XG#&(}f7_wR;zYj&;&_ZMS))I5w4hBj}NCdPc@SBkQs)-I6C z@Q#dy*Gcq7gjFh9qkqvlP?IvAnz?(006EU@>>r-AQGRHjuI6i1?c{3vo89F-Ab)?nefn_A#cI>6d97b-!0#4o2#&nQr=N2(*9JZapUyyGBmUb9Oj`61i=Z-)7kh^U#K z(Rcmu7|!Lplh*5GvLEM@HnzFCCcU$#^Q`XWtvDW2SY1U&?bEO`DY~|_^gqi>KzKi4 z=O?yvEwLT_jF%l;Jgb{)i!KMbEMP`omf?FJn$f}nGCr#k9zyjF(OU=uV-R7X)NL%f z!TKI;^n2I^HPW4AU2bAk5?$~*%(vMD_N)^-E_d%3Gr5oFAwP8H;|7z!i5dnWPoBx- zFd&a2e4^mPZi8IiJ-Ja&8G>1#2dkEQe-H%q;J`mpIZC#B`V(Gz0|ZxZ zd;39Q@hKt_S*cSG@aL2efnc`tNj7H9EC**q(f3nK6~bfl3xZMd@V+DMJMkkAf=(U+ zp5$YWMudm5*5;=tb5?bPK}`T`sq6)3@eA`QAV+RNJz5`J{r0=Vv;E!g_u}##S0^{n>Jfmm*D4!p@sQ=x!(G~+EtkKx8SU9f#`mgP!@)uNj!&Tmv z5=l35GHpC)nKp{cv{bV|-$b%96-%?RQM)w%weZq7B$wY-QM|>Pk!D5|>u*TTI$oa%A*3!x*iY7yQD8ns`rY)G?~x;S+c@ zW#hhRSy`xHCKL|{5{RUKyn?SsO-y#u%PxoM-w~piwXGNY9Z5*ve%pw?!T&XYoSC_N zXYYn^lGh_ccJP-YyVcdgtiKH@Yc2Y3DH*L6)&oZp($iY>s-keYEEZj>-{H>5N&B>N zhlz8V9rl0E*kNC2sW7U4{G+hPYXK_rv1j+R^c*)vsuc5(6&C>GshkGxBU-CCA^m)n zRo)kAGU%^Gm7iAg-RcHbSIOmeZS{An^hLD3wh0sDZ|(e|^Yn6qv!F4NdVx~}xubYY zDwLNmHqKLVQZ+_A5=NqyB(Vx@0h9408`Qr!OfZ&S?o?wCpqu3l`DGmjJ(`T!E}-aB zRXZdmsO+L2-&O3=fO3olyHkkCM*2J4+ikrsF1BqMXa?@}zpn+|A!*@737_kJ8FAw8 z*)Z8&)PlzCl`LO3ji}HfeE4^IiPh6=J{-YDO)fN55w0&O01yb}D!xI;l3=0aJz&u6 z0yhnWtkEVNG#i>@(Ultd*!lhM7qb>>E8>1}KE2SC?-BfN+%EWg_GM|HD7)s77#Qz- zd8yltCyWD=bi1poTzHi`XhhE&(Tg=t``eWZb@Ok#Qa2A=s+*W}JyAS*$ck+SD^|H= za6Bg6;UpW;Uw&bDLF{2$RPo?iBwa&%5oTA-$35i;ea!hOYru(`Y6m!)pr-6012lW! zS}F`o7!?kT#|Q(f%DZX#=`iXX-Mm1h9{l?LCHQDvyPoz*eJg@EK`sJ933HBrIcOPACw)!GHNpRa|Exfj6>{i7cMGw&!w(J+F&;!KT+xO)=Wz=rJ6m93 z;CyTrxKzA5Zj-@a1IYl_UW(|h2z0|39YdU(1s;nF`bt``5&zX|>eGG(IpU%~k=M z)ueyuVG<_oRd^kzL-m>@v#PolX_TG= zZ&_F;OX42a#xJ=sbo-rj-GCs3*&Yv>JNnWTa^aUIw8f~l_?cWcT zhy3u|n~M?|3*?Zv$T4oNO_hosUDd+BL^wE5rY~wnq`!!aPdjM9fk^CQs&`dL4wqom z;2mP!yx{-;Hl=*Yu={BoC?s7=!r*0kJi^?<^tvpvsc9NW^$(O&oC$B)G_ntphj z%8>V4MJc61F15*W5~mTy(ibc@y&$eg0u1p>O}Hesc_f^52X{rjqT)o5QM3-9 z!JVBAQ7gQS#py3}fMEzL&KJ!IgSnpqL!%~0#Ea-fO&FSbMVku6EuebCcg@0BXFbY*Re!sb8u;jwQy>4|59zHIt9l76T zjD`xrK%UhNzn3w*z^NVJJ)@Sm7Lroloq^A`B zfEOylVUlO?+mq;I_m8=_`U)@`$bbmldvJ&lriD9GT$;R3WDez+-77HG1v$wVy)QAw z=-HQFJ|`}We>{Kj`{!kJKfE)j--VVB%dGx3tc-(MLq)A`EBfuXk@>P}C8ePMwSLj1 zC@lI{brhhZcpwFEbu;8ygQ21@n6K*wBM`L@9*xwG%I6Q133jdrpJgTz!@$35G{qW*#>*%Px`_Qpz{mA@YJ1SS0>8x%{t^NIn z4hQkY`JdWBU=b#$+Ww(~ox_8@&g%yc!?h3vf7K7lS72%?8r+GeQcwPbV zv6MzyGTw9!uVg&iiAE!aIyRjYE=6o3d*H1!PGdx`;z;%WFt=}_g+t-oBg(2k^etIX zj3nb5`jnnjf#$6EZd|{DUh-}_Y}A%mhqtG| zCgR_HP1!D{7fJy;60B--zB%RSlnpkm=jLf-w`OzPwt{YHqGy%UOKv>jK~ror2)L|z|gU0JvpV|$l33HJng6S z_4p1O?5D&uHaNu!9QesNrbD#>G?^kOR}Vp?caa@oV?HDmIaV^ppx>y6Q$}Ck(N)@u z;t{`eSm&@1Df0BY-CQ zekd6D=Z7)5*#}0Vp?H-^z{{_hL@8fbFWJTi8ih;c6Z|jth7GA{BRW2KO-z>(gZaQ8 z*cl;393|V1QcC!?G9hD_lB$mE5WSK(+WF1}VkowF#X!j{Nl1Fx?T~ax+k8XFvEfnc zqT(nyrj(Pxq~m-df!PxYv$)JMJzCfhFTBQu5UB;DL8z9CXfG>epAg~Cw zdBhVN_Jjk%lZhzhSs(qp`@Cop)V+Gn?ZK%XQhRV<)ppX0N19LqzM-kD0uSw7jk62^ z0jUA3Frq9#S~^YghFo#CFdB?wS!3F<122Tv={T=|_>-ZFO~Lh+BS;aL6zn6(dEChQ z*=)21Ys>NH1eMnoje*Yux*;R{HK`jVf;=S;h#swJz{2WbJW)8UYOqlnK%qnJ`!-Z3(MCb2%T zs8_~GJm7_FHk*2BB{wN%IKe(Sv;gLX^uk?GU>kLenMu|xZcpo|gDhq`-W3B9<{}FBsEkcZ2^vovj zKs+G-dq#1n=TXEx-OVSFkrx+fj|0Epm<(^S4@uo&SQA_E#51)?{DIr)QDTJ)M~-z( zAZ=r88Su!a^O|4?r4ofBrb*N_4(442fdmq{oDO34H43E&0<{9pk8SEooLf#pEIJ*I zrV|w{F}WB8(#GjnLGGjYI-3&uDV`66a+hxCuI9it30c8Yk&OkM19rLpilZS$Nrv&j zw^vy-0a*b3r|{Tt&X4FFf}f(#!EXcCk3Iny!JUi|g?Md|nMTJTf)YD0c#_ErEezxd zQu58<7(~9RxZJ(P2asGve6ZqaKlZ*y+^~(4TO@PkR#)DGk2xzJkpGcWk@6ek0eK*2 z=YQPVdii4WH(SrXf{!*|yml`F`;qry8rTdEgzgIa>1mS=q0ho2>gPOUzyI6(}{lPiYGT8lDnID@MC3Z`OcBc zch;=C-#Iy@p}~1rB2Va#n_I>2JHTg-fq7_wXT<_1o!1Agef|1H@oPB5ogdoz_1ER* zfoJ&oXbZ2Z-`#IPIkJNl3+#2EdguS)5s%0iRqmpr)BAd}G=JpK?gxSI0Fpp$zjH-}czb_1qr6;p%_t<@kZ3XYrnn6Mw-lKSB#f*rH|w4ykbM|?^uua15oC@5xSsg3_}&p--y zH3QYdXXgB--P*04GJaW{F@Cnn7A2jwn={EUKh@0os!M9v?dmyRbqBG2`Ezj0K7DtI zc4loZ7AS15uXDfM9o%no2cNdLew4x1(#JD)7QYYo*3~F%ZO!ghOd(r%yEg7L#ylDyiTu(#?#zwq2-*){ox#+G_PuuGiK}Zh#_C!JUM4 zXH@B(S68X&?q^xJ^Da#pKH=|p|HhZw=zScL09rz~gO6~bs{4Wsf|lejXlO~Y9bd=8 z_>u%HjCh^$;xGACFOe2f6cJJv`AfG)DZ#r^8`l7@|Lb(vy-MOyH|>9vxoMFuh(1Jc zA&L?dxai}!N;AYIkg3{%JzZz zQ~Thdn#11(wz^Fn3W_@#NaQ_Dq!jczW08<7{VgaHrjXYLw`A0^b>hRcEO1n1&?sHP z)6%6a)jS`S@$`cMMKulEJ8xRLCT9)F+#b{7byG-DzKCkN{z3K6P*5+V{~eEd4^aCq zsQ>+PYxBicLI3;Z^R2HQ^}qi@{qM_1{qLjx_fh}*sQ-P`|Nh75e~*uLW~qIPUoWi1 z^jcw(BdqrfJRC4!AHU4Kqa(Zk;BYEj@dY7xM$o4+#g-@HKyQc8K&cryLAjYRpD8cw= z9uLiq5QalOuFBzyu*?_e!zDKzP1FxdhmRjVbnrNC>Di5*Zi8Wd>k&b4kbc*7laxXj zla&*1IRdcGI;@!KaV8V4q?}mtxs;eRBa|noZjP74oqGVJ?K8tlrYD+jjABNrTvN>-jE+YM@$tsMiA)R5$$fZ^M zWNqU+{^*M@(5DbV2)EXjt8Rpy!?#DRvYihH*2+-}fxc~wza=MBCKj$#bIwu;q!*=~ zhDNo`>ZP+hw6Kh(f(+^^@x$ZB%j<+8dan=cQZ={|uh_aQ86HrxaNOD&FDN3mQjN7= z{qp!S>gwk)9bEakMeM%ooWAMqx2smOLC9fC_g+%?1uMFhWzXi^44w|QbT)G>=~>`b z^HQ>=eDY$Bco=aJzsjC&2lM26tIcLH<4nJ9pN302nop@PPrs(40-gS!Sxu>oL|dv_ zMZur212t4W5;7mnqw}f_!QYt7RYhoYgw?Fr-e0YLKj1ZZ@sG#xUBv|OJ^3EvBD+7d z_Rre)=6n5qJ=2qTw_MV5qF?i!GCLZNiQ~yBa-x2C<-2Rvi0~U7#%oMW7kh%yG)Ib> zC#bJJ*}&|jDxEp5?#|xATg~<6okH(fjmwv^X<+^+3*?B%w1umlPXQ2^Hzlz%`1VY5 z6N3LlMU)b7c0R;VlVe~iUQE}n zf?Wn9SxV)#s5F7@7hlMiW(81&*GUwnmQUizG%tL3m1Q5g@SKW+w1~WO9+rw#X#}mr zHc$VKm8rfr&l1#k+UF%jSnwmoI6`5IE`Gr`P4QbCeRh6l9|8WMT!<^=XP#|Zy$Qm1 zFutRQQ4?m({!-K+CrsdRTV?1?8W-Pm3va3|mHenCsEW;(eey#OYQh6yX5HYG;*w+Y z!oO}Gw2xb-ZOK<1QkFdWWd;pDNch!tiY%&{5Pvf60tF(9);&E%zLe`=U8fv;>-t>h zS=leC1A0+~pISO!kMysw408jjj47LGNI!3@&x0WRb7&Hs54fk?`FCe)HJIrr%LZuw z{vV5)<~MoW#Z~)B`Ql<_Ut6s>mRxFS;THLI**nMgWn;;-k4E|B(wOCR`;(~zg3r1M z2D(_hw+cpxc3b?I@<8c#y~)Sb0x9qU;eU0EV}14OpZM@yUa}!EN{P$rh=A?5FcSFy%*>y)22xYpeb{+*$r=I&_Wk*Cza3;)iT&fulvZMOr=l*VUB`De%&m zR6rp}8`*B0W(awbyGPO?Yc-7Sp7-o+>yPd3&gq{iMo(-Aql_|-NqiLRfTC?oQOWM5hhI<|r>O;&&wzP7CK+0m2ipiV^kc zMw^aCoZr%RQE??GY0bG5l#}uKb|+hvS?3KNhf5Dp!!s(YOXdgoQP$h=-f0AMS>~U5 zc-=u3}hD12pe#0hFE#ckQd@7Yq*rs2Cry{TOp9H zD5zXysvqUh=052d`S*f^={bq#{+^SFgytIVWn)QQC>nNYmki7F>T#W-PJWX1FwC@~ z%U^}SBr;Kzxa4H1IRXaok-y; zQ9o47Ufx(vkW9d5zvk=>b$4001@^c~HMtbZ(^eS=!HPK-0Rhi6MrCwn1jljOcI!ak}n03X^2-N@6+~0l)t3> z(o|?}`{jDj;9{e)8U-E)&)o3yf(6mr!R-AcmebfjA$^NbEcwVgOo%HPs{qK*g{D1v z{fnNUye=ZOp<%3tIH>9H2E<`%iBr#$=MBkXD1M<*B){^O^v_7#bp)q2K_)oLl!$`Z z%=PbL3bOhVYp%U*YO8|iu>9J#@JyS3t?*hkKzaBP)=TsWi=rR~d_Xz*4Yl6yzPwnK792{G8ap z-yp(^2n`h`c4J!)R);a$lCgoy*@K31|9+vl8;rSOcFU%Jbo~+*LNMGW#jVHf7-qPB z9QBY5FEdL15-bpn&%c)FPvx5g0)i9k7bc4nSuSuXT7Vkw0_6bCuYufIobw!Q!ijDI zquFplB?9LJ;fgyqm{{n+S@7||(}~5<3!o8}|LArT@=5)5fC&#sb-uu|1i(G=8Y56{?m0|ocJj|s4|6ptbtwy#!@b9(U@A^6AH zltBN02~-OLftQPW6@<@W>DE1p-Gf*O#mU9o%ok2doh=aueB6k^VSj~3=z1Wi@=!s@ zgk#o-4$k)X8&%zw%j0uUQK^3trq!SdZ>Xk3~G7FCbRmr{{z)(gGr6~MJs z9(QKS{p>axBsa;xVB3-C#rtbs;hJBY_!pa@&+-yEt*JUz4AuU9>WiSk%s(<6DZw9A ze7F$^3Gnv}O|+paquMlTWx1=)hK5mNz7a%9y0dO!{;@Itz6s6l(_z62ZXPGaSq1g% zh0XwRoT`HSi-@6lq{C)G3t(2ceCW>(Dvte{%*gjoJ3%GZMNbK&{%FX!F&f8HL$t%a`D1_pjvo? zL<}<$?u(V_nRZZKgZpcd$-NX;oMbx{+32CeeTvhcj`0@p;pqL8^aG&J8G2}saTh3{ zwMpklsO`?VsI6MMd_xnl*poX0=&??Ht)$4e@mv+PyNwHaI#SY+rV2e9li5d-cdpPCgp*6|w4q!C=jJ9_2G#kHQNr?7vZN zHn`@j31M}%of3wu509QcDOt~A_yTUPaG#jD$`wH|@F-R9I8z!}bd!Yg)?Zz$|0!31AeiaNLIC-(=YbHg6Chwc4EsqnL&#`Jyq$ z7*Nc%s_tiy8IZJu)ifwp7gd8Ac%2L>odEsbY)Xht0!ye?;Am$BVD@hItS06(N(*fU`k@5 zeV-51jIfDta!3e0)zJ5VTakvo zfV5$J@$eT5WlI2ScINaW6tU6nHj` za#<98RN&IM2L}n1j(0QPx3UQeQQp=iQa9yF)-3Oq1F?n>L;_vkqLbZC`H3LQU)C07 zOFOf9QTjtBKo&pj>g${j59V$?vYYDl@(;lwKj!3j)SZ zyonFRr+$QPj^l!8FQOGzveLagOHgj5ulPe+*MJyRgNP(hF7Ciy7ae9fMYfSxkOmsDtD;bhq z5GAh3$3|3hL79|Z#No+RU)7S~8W@Lu+!`#2d7K&Bi~CC( zlb88S6Wpmk3cQ$>8Z0An(Ug6CBD z3EtWCh7@(ah$KpXvQgz7EvW7*Hn&p4UCQ}YV1|WdpGO7!eMkW7MGD}J@Ns%&1xpnv zS8~kz?UcLt3yW1&c(@1c)8$!85w}9-NWoDxszNX_X+ch7oo$>da# zaz}OW4HH#UG>O$1bBnt7V6Q73XJ;ymX2sbo0H+ESD+7?wFoth3`~1Ume2Z zrLcvgc5|NME_|7b9yf21f;SQZMH>I=|mwSR4Po^zf| zMEDyjfL!8Vg7H95hD(QcydN!|FpBWTr zyuPZRP4`10Ens{-X2^QX|AqLkBtSek{ny<5U(dIS_^)4WZ9RL$e|^mV^@#uai2wSC z|N4mk`iTGfPr!f0Xpsfdf7KN$Xa5Ss27KG?qQc04&QLlnC{&;N3t7O`lu=+Y-Pdvy zCj4T)LS_!lsZ2~-QwZCHV3-Q`KQ#N+deKB!K-Gwgu%W~rfVd8T8ed7Epm0-PGm{k8 zXh3AuA7XtW!Ul7F$+is_J!5d`Td-N7p3;H+gbSniL#rlD#9A@;jjgs8ajK0kK-@@{ zeSVG_>yt}CRa?Smom&1`($i=Uyakv|qgn+hA_m3%h|V?{WW!6c0+<9Fb)fdS0>>VUX{@=_1K(ddzQ^r9br0Vipxyic7&-93rOl5hi&KBc#s%6s zW{$IucNL8RfBo}&)y*w&L(i%PF21!ed~c6H=-F)#LQ8T?{kVYx9^=55*rtY&%}_7rgw~ae$8689SfSna9(1>N+-^&6Uzd9GehC!)r(M-F zc+hU|o|p!=HfZym4E{~~D-~l;#P|Ri=O#=pldierY zcsR-MyKT(bgz&9sKf0O@KP3HETjbV-mQDV^2JTZZ8J>EKoPM<>3*cA*I*(BB2da~` z+lq0@Sug{27SRz>9Ht+0wc*$>oycQAMB3Ri$QnDKkzIWV5jfhq0Vl7Q6RTNy$V|L=E`T}!JKr-H!a4DD__Sao( zj($=)5B9IXX~6$rnj8H%9`!jVVRA>-%pN=zk-2wv-c#LGWQ&ttj2AOn-)QvC>zD2< zKC4ZfG8?z3B9eKES^qBMNm}wScDx-^&Y?RI&yrQw+~9p@*`_$R!k%dqF9*TljnzZ7 zHFv0<7y+l^lC;(Io8W*!@!Be=Bc{TrDP9XVOg~>+tzwJxZPjEDQQi9+*G#J5C>Db( z7h_Zt(IOo;(@4KSN!ieu2fFt6)hp9qmU|?k}tV{e%QyGxfh)&z`^7 zeEyrQ=TK(r`SZ=^Ut<2R7hk=6)c-!}e;@U~kNV$7{qLjx_fh}*&(ij5IF zb>1$=+4rSHW)6|b;7he~r>>Tu_Vj!#oE_L1!weJu?>BO<;Lc#kl51*J#EC?HaJ+X;M81zHhb8y5TCXn;8Z zl@3NxU9O?%bv)oPU&Ortmdom51ofUhq$yOD{n0q78wI6VoGX{pDO8K(RwGA*eE7$u zr6rJ5IPOQEF8-08eJE8qIK-n4X8|j|2rIgHPg+#+>Ksl=ExbMap?%aoe!H~vd~=H% zAbrO;jW}Qf@1S@HRR?#Kl}~}MV&!L5l_$wH5L!G=D=GtPeS5gu*@OE8s=v@^r^|$N zT{v)-pY-M&#Cdu6-?w(1n)ih+ok0KbvwmDu9aoHF@9^wk7aMq?ky?t?fbP0(?T{Ww z)m9$FTj0Hi)Wnw&w*eyCRmP2wD&21n;8L_os)4a7n#xFTL1$&h3;7{u%DH z(-vM6d#%nstlo>Quej_jzOj+@Xf)21!&GEaFSbQ@&H-G3{^!fhP5M_>61g4b+$JSL z#nPcfK-VEKd9J?YtK;NdkY=dV=7%#}m1hU7A7C0wUv5746ePBvl9tPQiUUE64aofO1aL^CE~{2XN0vDo5D3ll{pTZ)1-d8i-+q6%zg&Pf zlv=Y9A#^>yPbmsH$aAQWDL%)I8U!d23EV)sT00zoAX=g8>0pu~7ey;0=fX_o5s;%y zZYC>0p{@on47??W6KcK~lSdWHfD{HY*A#YRjX3Z?qX;x?vvcH%Aha$K&FZtYD8L<{ zYu4F0M1SszYuWj5InCl;qUmxp5dxmIsqB-^G@m+>FG5-3e?!+~nHwf6_4XE=h1vA| z^g~kB_*w(Rm5B>XaG_`H!%Z91(`Do;HW1SVsOdfl8(^l+wvqpdc{9DN;@{4pR?b zgCaL4D$0A~bTmPIKrB(x2=gDfmhK)*-t*&97QBEv9nQ~ zst0z7c`D{~%o~2#am94V^P_qeg=y1YIAqi)pdv^DYsyVtpu0ius(Ue<*`TpPDjpf? zAp}*##iseIPL%kZBHV&6N*HEEFJ+*+Cs^hQ>$JT~6L1pJg-q~`K5@=j3TuHklm%#l zv#afAW4B{DD|tf9i6=UdCso{NL0;s-{w!{e=0QqG)nX~bigUV5+7m;=c&y3*<(He% zV>01f@bzS7DL^;fu6`Z+m_;(tx{k;MPtg?SNlS=%Qq7g?q^5eIsYcEr1H8&N6~c{% z_0!!Hp;sY{D@^^^n~wQK#$YW?k28Z<_=5Gux(d6cs$iTYiAn~Oc}%@g2>v8*4LNju z8ihmGeAvi57Y{ljbTF3_z;UHwhgj@?gwu6B$0md+zU-Bhia zPdL*Cukp_ni#$UR3oclHsn=h^Ym1%0vQ#kpQmW(e@|QVouO)HxIKC}WzDjNm@1p9S zE~tS%>mrZ+)ma>y1#d3#$6tPPigHrj^?T7@eZZz*dJRFKau64KNGnuu@8GGITL8ZR z=2f`T0C^zcM`7Jc`Puk2t6pnXk`0M5h{uyf$vDI=#g8}{s)j88`OkljcEz^cT&P8K z<+_ePcCG(uRS)z)&&4gZSV8b!AKtt3b6u!wSK3GapV;*6nv_^y7dxz#-#A6TTOK!G zV#936HUtlu+__keJh+7z2UXnz%#;!o)VGR4HkDd^7T?con-fm@)a~MYl#e?%FOY8E2T^)fNx7h;O%Bd@j-{PRpzwsjgx2`J^qnl*Ed_VV|HO=55IY z^TfFrQ(NEPxm}<;RV=o}94IoOSJCVCX#;K8@Lx!hEJvR16q7^X#}|vB!&R zQMVKxRnAo%#p0ktzg%P{3#?$;*Ho-e#)>q0i4?23aWY4hWIl$Df_5tK@Dv_r1}XHrW<{8qq-KFK&n$q@0@|x0vO}Fp7Ux!v?oi_`+o%M+Q_SaZk;`q&^aag|%?-7P?ir5pL!a;9^&z{z#y~ZTi7mlN zsycu3lS$CJz{C+5hEdXW^tQenp7|$cQSJo{zJ}BvO4y#ND_C10sV-W2jTep}7+Xzf z#2Wg`^d>1hxOjiwpkNrlP(YDUa*crFBz(C>2gNyRV4BD3C-MVn`l3(7!-|IMW+l^q z82v3oehxOUumks{y@e&(^W!TCvzo^K%|LM1X+3AqFIY4Qt)nwBGHccoGsVr4ILQvQXiHX%JcM^gQq~2$*?&2 zN|tk`Mm3{dr66gJdskR1y1~IBU*Gdb^c8N*RmN-UT#ZMlZUwnuy(z_-K*StUPM&Xc zLb*9X$L0z|*%vS-TaA3s<8k;|&Fa=1O#hG#5>SMs7m8#wer)1$ke#~^D6AE|tXyhE z7kf#XM!F;@dkh;e`0k{Q${9a&n5PtA#lCe6RqFE2xOlSsDnZRR{!kO_wCKin!$+k^ zM<%a^HWZwrSrVItbBqdcQv_}+Jy9?zXS|tfaP0TPT9s0GL3qPuu1GDh&T}@*!)N3O z)*uXavm9hLZPe!3s3DR1Ehy&N_>5aoTG55}p=tvww_?tUx9G^I2Lqwwv(D8D07Uk7 zVFh&6Z4HMY;n@%F-fiYt{_;fM4rXILqCJvUO1K;9GO@6)dzA86}eAbXWGMF7?aUrLa*~89l zc2GOG)G^% zJt0bZ>U`--K%IV7IAi6T)3^Jw7uTGhI80br%mAPKXcFj@Xi}o7owF`SYiIp1qcbAR zpzp#sO)k&@dk_!V0b9b!sG4TEU|j&Kpl_2Ew(P^t-|*=*m6WUKr`C_heM-lK^0aM< zgCQ0@7sEaWY}Y-K;TK+a4(l$11=I9`lW$g9(pgun@F^Lk`ga}=WW<_{JVk-mKx`xL z!hhj41*_D$n1~u!49<2c)Cjywq_`97(W~K({jbOv#@Gx57nJf62dFRfU>JvJHH63F zAHHG9^nwFZ@Sw!wyZccQg=#t?8V7J0l5Dk}o(vUJR#pS+ZQ3ayo8!_&&$3hZDRpPcZ0=SAh_<3e&8jQBl)rtt0m)MI$C8;v{usM*8UFBtGu*<~>#j-E6jxH&+Ur$G>&HL^=FUyRb4`1Gu zoa=Gd|K+Z;=V(cPqJ54L^)#*fXZ67@nP0YPPY$!tc$|6YnUGjzdan zI9xf4t%JFdN275z8sjB1e=qL29C!iLA0QqzdDrP>p4$LhZ$FYdoDPDIL(sN3xYt|% zo$C~PMq|z=jIPMN^-Ww+)7OqY!%9X`PJ9ISGmr+ z3N-lPmuC(gB2NOJ2j|^T_GQqFqoioxCgFaDaemDMTFM}u!@#DdN~+Uuqpj$hZ=%gc@GUwvm~XejZ_(kweEY0W_bh1ndH5}RNVsobgx?+#GZgCq@=lIzR^e z$v`V&Omf5jeR7156VcD*2vW|8#c`fB*qw#^Oog~~lZ+{s_<)Lb#%Us2u{;~xBta-< zLLf_Ne&tjZ2H^}P&y=hnY}ZsRUATf(aj!1ewX4Cd>c2&vgvy^P6E^pUxobnCZ*2=a z4Nks@CZ`xA!fp2RQ(zf$o?RKPH#OL8aB&3*tIm@flrpUW*7vGI#gS(wQki<@7kun` zCxh1p=YhBFIm|f8axE_oEK(@pTnq8X1$S7qOmbu<>zm1>9T;aN&3z%(adMT|phl

      >o9Y~MxZPAhE%){B&^!|AXpC0ayu4^q|GaZ?o}2~8pCO(#{* zg$AetMP$-bk#df(8prntzH)L?;f`Tq{zNaA^{CC@*8<#0+91&k_(YP~xEW@Zbxey5 z>#X+X;2A<;g+@q9cMD39`YKy1596O$bJfv;G3u|tghubk*OuG_eQz1_7ksRQEje$_ z=xq!F+E`J~I5W3^>R4kx74bY(#uIn|kV_y^|AGqDAjJ|(;j`WY_w`f?4khOpEBL2* z-$Vom7TvH*rYTvq7uZckq980A5?seFL-oZJiVHp}iSQHEkHygK-QTsG_)9ao19?o` z(G^vF)1TkTLJNEjIXHt<`hazJP^+_--6sRS$Et_#5QC;#^$M|8mf7&Cb%G>!@Y6Cu zsNkq!1Y%L6fHB74&9k5n!#=GQkCb`PPlVa)P=-fY6!H8I&k!oj_s~Av)7Go1z}I1M z8Y2h|6vPsfQj)iTZUBeB!+z-%4R#KGXzh1)=~2->u4p?M_OdB~NA(N+2t1ysI*JW{ zf3}AR>Fwj=!?4*?lbaGF{s%rUc;GDLLGqhb?TcXF-Dw@{wD*G^zDLbEO38E;jTvsB zdVj*;h{|0;thny!;bC|G@ZdGRTa2x*;QvY#lP}*72$<>gP^^@V=sXj?orL(qioRF` zbS|)vhQIFYZ7C~zo?x_N4KQ@He&5sXPSGMfb`iwlf)zUsd=7(asBqbfNzW=n)}2Mt zn!U=t=mi#>4U2c8(`tk~80Q<;g=#8lB>9E;6)&ugw?z?nH!NXxhmVj` z4k{d)kWliK9K)ztP-mFYvIk#~4R|&A_zF$w5;rkUd->WuZDZ$kp8Mq`D{sfVboQUg zA=Hv%h$KB%iTug#_j@j)v>@lQDnY!z{3fv{Z}VRBDu<+1X!9P`82`R%jQ@m({=*;l zVPxAPk9fQnF5+thGQ3KKZR{SLc#2(&ZxjRpZgJi_w;}m=sIXYc$H_Dg4v5ROLeH0R zRa%^#!vhdt&Q98@Hf`^ATf4i*K9x*#%IT8mNhfzCNbfy|$cL`V600P37&H~57Aib% zY*PX{jy3%dx@!wKD(lYa@=|jS2}`%!NX(XQ4AhF+N1dZK`vk}7pdqp#;~erRCob+# zoNDUk-P-NKzweGar)`!GHQ~+EO0TGb%T-OYRgPKDsL3O|bb#)WP)1W=OFi~uY6P8O z8)Tlqo!?Nn#pYE_cSmR6?{{{(d;6`|C*AhJF7&rW;O?_r!Kz%psNa97-&gS@lwH8; z4}$jx1BxYJ3^Y@Y^Q&}J6q}rQVGy#2HKju%gjjj+Ly|x%L(%VQ33!a87IG!HDA!ms zgpjf+MwF}A>k~@d^GyrWnSc9=k}i*2SfRMte%=rF32kCj!1 zi8ZT;L#N8gG*YLk6Fba>#{FwOv()n7sPqa`pOlB+I5t_7|N8#RG9AK0cyPy_Gwz;p zc(8%!FmJ5>nyXRx!gn(ck__^`H`Q!3fvTe#ktc!+@yD$16$k?l8b}SWfGN5j%^pP& zY(Ru+6$u5L4DRG`g43-X01=~Wllz_meSyCKuQ_bnKuSP;pc8b9` z4^`H9!Om1t&zP}!1C`H5?fi4a4gj{T;)@A4DeMFr*A>F~zGQ>`DTA)`vKaAJh=`?; zQ?o2F|FR>;E*3s>RYI&sYETD#A0MDdSQI9j3>ft&EApm?48Ag+pl;;#@df3Zy&SYEU#ggdZMA2%=YCxqJ7%mzl$S|^D(u~@eFOJ_88u6g8bQs2boA$`* z2Jyetyn`q#JRwpxO&+x162nTvzx({l&NCXM*Xg9{HjXwh>Q>-b!Em~RQ?v70UorK=@6WgNON(*`RN$5|sO}yJ&jfD>XJhgpoy5Gqml<{uiL7{>VN+pvqODxCS`KiPq4H*h%5_QN6UU@)p5CwQV0q;cXbJDzQ ziYi?O+>qDDSVAB}KlC!0qY^$7Cpy&fq1)v|;VisPW+s%Sita0?uxgbYv2jpKw;>tTXES^nd_o#(&*`XxX6N?D}~ ziY7}Yv+$klfvC`=K*OuSO;J6=Sv{}v1lJb3iENteit+fbKV?{$5daTcEjDHq1F6(A zQ9FwaWnqQhC5fLV`Sv2M&)wR&y-dQjS7m4MNY{RL;(^@XB@qOHeb0+;w-G^9_N=~XmvQs zov9MFCjN7&g)V&{k1d0lRGhhDEKZQxkAx6I`YO}xQKlykNqU~394yyK?A!z`c!xB? zx2PTxl?4nKnEW^B?OSnl;Krec3nc9^iF&E;=5Ie z1{B|SzYH>q?$~Cy3xwY*h+p(R@GsTUM%aZj_|;~6?t$AiTlCg)J|4-_1iRu$H5>TCh**k5N90$Pt-$>S+q|0O)?nau{X&x(4)4W_#|h7 zp*Wc4q#QzPINV1VPRsynxRR)-;>(VL-{PJ#DW_wY>Bo&E@5LkdaP|Lt_G~SJ`z3{u zqf(wYl!>%7tr_F(bU0=`mquLTQv|UtZ54y^6yDh3HU86$|RYpoGo-Hoo2 zVI%5ilLp&ab9jg*4ABFN)K6?&wOquq1`2M;*>i%><$x5Rc%-PAS>M&SU}Xxr=p&(F zH8;ZY?!vLkj@lc--VNN2d7<#P(5z)Y3Il42J3pKiGs0x+Xf zA{7=6SL&SKVPp+*i)ILpfq5)EWpM)xk*hCn$)p!;ZqSkJb6dachDZs-Qz8ppGQ0$7 zM%beC<3>&X>K>QbH^Z6~*sYBTCSn`L0+p)GkKizLCs`MhLR0PW6kX2nV@vEX_Z4V# zh0c%+cG*S2{8xiSjQ{W1W^)!TRghAnf|i;K5)+UGH&&#j0Fod7VZ4iAuAbg1cubzL zG~G{x*OUhiBy=_$q#yA1m+@Q@COs8ml1(Sl0&{FyVzZ_kI5!#r^Mppaq-p6IgA~Jg z!-%fq@dsa#j{?Zw*dC{Ufp#c33z}g|mBD5vsFvt5%ix(2lT)0`3g(ov)S6KO8vGrf z5k#Q(Bx(YU?_=CC^9=6YEh%|u>zCV_H|9LXxSHG8g{Cq=Rj($cID~t|rYOLV(T!6! z1`*q5F*1M3#+z@vuN)T0v7GEy;c3`6<0pT*RJc2w0KMaI1;wZ8g-zP#ZMd zAohusTuaanv8;xw({GaT#FOLd%73k_1w@(gIiX-&gaa=PVH454(55PqLXoUt&J^n3 ze+VI!w$~iJ;zo;SvL7D&&P*<$?3Cnlb(^?J!&Ke$n#%!)?Ph$t_}}^9a47V;{g{BB zC1x6Vb9Uj3E5(WaGpKQjnA;^L$n0l0v8yBI0p^NsO6K0JAX?H+qRzy{8RRTt0dG*?nB2@BMC95#L^hE^a=}p`{c(b4KDrd6YTJb7G^JzV(HwMCVyTU z*Au>_4NIHB(eU5_8SJYo)3fGg^Y?f`6j&PUN|#rZy!`n?`k+he*+p@{^0}gA%4m*j z1pF(BVYR|Oui3(gvJ z`UsGBn5lzTsB$^PZ29j(6iCPqA&m8?O&230FuFSh7c8B~Zs@~LJqnKbL6=A0G@|bs z5v=739k1W9_V0It$#x_9-6j3^$7u%tVy)kOvHAS>+gvcd9&Lw4zrkH){#qfZAOgSY z3M+uaUJpdZmrI`}r#D0xkWwyTZw3ksSnyuJZn?Q&BkQE`W~hrDC*oou<*#D$Nt29}E}gd>fIKx( z0cXvf_fnwaBnf_kdR?uxA+pR`hRQ(i^>lcVS*W*~Nv4|Jz*V9kikYM`W5n9X{l^@b zK^7S=Rgi%)s5yRsuYGaXKWEHM0e9Cl0IQ+h8M{8-+lf%)gAF}_3Rvz5zHs_ey580r z45bluj&5E=&Mixn_Z!LlSDIQ zFd70c0#7rEhw^e%mls)*z>H!Ofb?-So5pSvnh;iAN z+fIX32ZE;Xx!jbG%!hfTnWxr@%=VjN#`?&f<<;tQCBI6Rgo;o5xQJhcA2 zsW=badG{Qt{cS0HK+|vEeyiX~&g@;4K~AgjTl+Q{3^tIn&axI44nXcNxw@-7&<#>i z*)E-;yX@vn(v^de>+cIr)K~qqsk+;7k;!V|!gQ4p&YCJ`V7j1x7o4IdZTghyRoMEg zrzUwz?6gMNcq-?y6a2b+oW~8rG_ZSRH(ZobE3>3$gYHSg z@Li`mXT}>oQHEk5kv!J0`%HF7r0_=%b406lBrr>AOejA_2yz6?OKMeeI ziq9!k5E*UQfgD;#V8PNmNuEhhpWfcy+8laMdzb0Pc{+RwD><1CljdmP?SYK)&xskd ziD)_=G*oF{XzbPR@#kq(0}k}&?0BCCd;u-sA;5RAeYsWE-Xj$*bF%})ON7lD5Kr<6 zCUQKm`?%lgX&hQ*j*vkPyIi{k3b|C3~mf{ zQuIA~HeFmWfDAe&;e(m!EBFyjED@W)Q;G`E=zrMpioD>(2Oe=os`X2%7YzKEkQZwz z$%pCe_%skMJZsAWQQ9pV+m)&{W~bSJGno^|v`L4{TdDhUHe`aO1R@Q_SRqBf=ACls z(Oshr-0*DN4`Tru3NLQ@L$-j`m}?=YKy9uj7!l;4oSSaY_dV8O^wBE-uNVYE=Z728 z9D;|S6Gr{2>9lq<5Tzkq^hEy&BYcGgzL^fbV_NxUkbVbTW>^@rg-RD(BXUadv2W;y zWY4wygnk_C^+aj3SrC##t9L)fzh^^&+M;1S<#Cm8T#)h)4i9z?5B3g^-?k1;qs@<- zTfFZrPKM`mtX9&Kp`mDV?Ng|xfw&074z3e8zSa=S9?x>f_(D5GV0@R{7z^O~ zV>3#71}f8!qQF_g(=2IF-BGSOuRNEv#h?q^0iXGj$8P?A8E$)anMmT~gocKy2{Eym zVF{qwby3u+yt3&=c0jG-0cWW#hjTMbT>9Ds86mw(cPFh*lKSrdIsa)fd70I9i$j5do<2&vOM}`MF0Mw2d{7=u86iAD=y?F|vWv7AvndE!>ImJeCdi~Uz{lHuIO(-ywCDGaOZ0M`Oi0$* zY8Hk@d|Spu?=tcc19quM=yZOYtef@}(f8@{zD7vq6ds>`;a%{Uod!+rIVWqj z;S_9&BP*xesEVQj{5&HMoG~^{co3o%$#q!J^Nj*N&@A)pVseZ7D#W4>{~lCL1>hQy ze2HB0++qp8>6}C-hkK{*TF31Oem^=s{GkK)M)duA__7_f&Q9MP9!LNCzpWGadSxYQ z9qhvY-bZlR9k)+TqQhfCaDRKW-+@}t%rS_do%Ts1;wz|g@VXIwe|8!j9G*t|owuD+ zD0X_-pw`RP2t|4?dfPtUc>|xczVGaJPTy0nd!5q*>=DG=s1+Txj!!!~XZx+==;-YD z2q6`53cH!+=`f@3*;0nAC3PxV>|VLzmyU zjU8AK7z;eBPmbC<9sH&J=QfPJb^N}8C>uMNjOR~hPzb(^c3W>-uiGa8r$AW0(Q3E? zB(@b60hW8`?700F#|P6sIs5+Pv~zlP+Kyfy9`54mMu;ET*=e6_NBf7k-h0v6Nt*_S znBLSqv;vC*C2&$_CmmX*&cSK>`1p*HA+1Gk4&T8lz(`wAdzaSp@Brt`RM0*=eveJ# zdeDkDqIYlF@cA(=Axsa`Cc(m-oE~>}PHi#h@)V>VY{t(wI%vP%@4Rjw?6k4KAvW}` zbJAXeJ?flbfev*J8xP%{(cE!kU~KSfi7*?qgHdNMYVH2e!SPFZ*!Gi-kO(c`&Kp^M zwl0I{gdjUA8=baZThYk8q$pR$VY%#BoD29at9X&a2&Q}lH7-@8ClE*$ zMJZ+hBW%7<4e>Y9#Z8*0=M;<6y!x(E_)9(_s%P|M=SlRFmjjFKu*}1_9oUjIL{sf{ z-?V;cgP?lSJ$--FKIy(O_4B*@DTBIWEpEQ9GMuw=U0|f9Dux>EkypDUTVq7k;&3tk zh$dVJ`E_aD-h#Y+#o?rOO*f)A_k)<@t>E+Pjr4Reg zxPb3^o)^>S%-1E1gYc?Chb@eExaPIUi%BxZCbl_@QyIl~gDmb_XGU6Ko2D_0L7QqX z^89l3MldcD5bNV@5ls!gN-HEKO;CMs5%cm5?hzH7itvBtBHkSt4MWdLG`E@>{J~(Lb>Bo zoco;q>+_6yifT(J-;fd`UkWkN-VrW~fOIS2LXCGC1fVr?)WZz#&f#g5Z=2YeVTvDl zXF9*x%cOusWhKe9LoJJ^X=^)T!A1hZrn!j=n~w00moGNXQ;ZAK0W>RuU67bI_?RQu z8e-;9V$S8lA#e*r5LN!*a$JBLuhbD@jicw!a11(vx!NM!MTw+Ktxaym4suruP={~# z<%@YOzkFd^UYPI}9kZi4`=PASJ?MO)sZ@4I^Ya}p+#@T0%3aoXScrFn+V|;CfCL|O zlnWq)i?YOWU-`IK!3pcw2Dy98>1>oFAMV9-7ih1`x7mWta^VG9=1b+5X&h-|YW<;t zR`0WEi*t)4>31uS-}-3I0j%kE!4p{7F&#tO@!~ySq#rF5B`Gp8tF5;)V3Tyyk>C9Z&AB37)6_-Fp6_ zp#S~q`HPp2`rm({{`XOT`>4Nt)ZaepZy)uy|Hk^;q5@aaaqb+xJ!+lKQsvecoU3sy zDSZpF!SeFbAtLT2lBLeXpWh_oT$wQExmERWsy+zKt5=TYEH5F}KB#f6VwSzJfEK96A68Iq@Ch))`IYRRnm~dir3gs z+Ad_KHj3Kd^~IQS>=O19(L)2zy?9tislB{B&zr-J55Y*Qv;`N**g4)ID67EylUp-6 zIr;QZ0uz}IZ?X@P1e|hJlWrRoVEsO2QxVW`!mktby@EU`=A20j*==|a zsC{ZiPu@iHo-)0ok1fzvp5mNgms$G5S>Az^=KGZ`4##WUBja4MbEA@$vqnUNEE}QHO<>4~nC4h~872Tq%J%Ty>Hb9Oy2T6W~6PXK;3MKMkd-4lgo7z~Mv_5?%lENnVkU2e#w#3Gba|C! zhlZ#&MdeQ>E@7xiI!7GNXRrh8ldoaMIeKHP~Q&m16#mC3iQ57?hqJ+1@l4vL-&}f%$iA zRy~}#W|H7E)E;Sb@L?=Iv9TOtImL)A>>(;~*(;1$a~E4dnSI&Ys{rM&P>!K7oHweh zc>y?(%2okX6_AF{lgo5C6zASj&0-*eemgh$nu`-C2sQ}2TEFUS@F>*1CC~p*ynx(KQJfqU(#(qZy5Bx{efnng-u~m-XYLN)WkF}7 z>0mG&t-@y*p|`f|w5h*&{Q1A3|HYKf4^{ro)&D;G>dUW+`rnsdZEim5fB%L0-g$8^`9Km57VtUa5p6cPo$P*H1nv}CdpcXK~nnuV0zLb`Hke$Z^Mz`s7Gobu{_lh>x+$g+O|yxQB2n zE=#q7uVXVSsL;@iQ~8QutI)71%D&&IYC!>oaaWcjhnT1k!%kvjnjjDX!A8M50B+Cj z$(ys&-NSbWHhtG}WDzQ)6IB1C1I}=X@+9zVv5-9AR67U~@_%;r5yrJ;>~xgx?nIqx z_mMIg3=pGtk~J0f9a8|J?=zod+rK$Sp7^a+ELe9uLVr)jS)+QP&q*X7Q*HrDO*Y)1 z(#uOrGd8BY*5RS#V?q=u8p7bH;vo$N=_#>A>5XjiV*$d~1j_={beXc~_LproD8cebrv1BEbB%L^vqjX4#iJLk9^J}6AzjCZ3w{+oCZNtLN zUbfG{naxnr5s#+8q6>p{I!a0*kHut+o;)<`whulrS&q#`?WG7CUo)>(w2Ip`OmM34 z7;jzPG+%E#WxcMcv}O{9z|O-GaUQ*F3OsIukcU`ZtZ5b0hM4=rbYrs2`9|IN_!;Z2 z5@>}i#0-M$_T*PZp}lMh7il0=1(Lub8&ykaRa92)FueSZjn$;GHx|Wmkku1%jTpF0 z&T=s_xgE6C=nG)Hy=2)Lo^0c0a-O%gep~3dIJ!t3S_n&f(4Fere9?RGj(%oBXw%ALJph05>l}fsJ$;F+IT)L*GdGgqtUL`%o?jugoXWb1D z0&a$%!DqQAbTwbHkBI$rjGlU^_^J6qs+GBn-yut&xFd{2OuM0t>clv|yZ0|*hli2P z*l36uerD72BT;+?qImHO5XH;SMiipIkq79u|NEtUP#~M===8XXX#D%`SIG+9j#$EH zHz51uf28{b>3$(X)T44PGpyn|9POJVePh4SN0ULHi~cJbPx-oMyY~e*b;#a``HA>hSoL$u)dBzZpa@w z|CJ6e2Iw{+K^puB&3{!I>txd9nTKaYj043K_Ek&f+-cbdcG;%4H+!W1os;5W>k!UQ zzxhx)4QSBJ$I1ZwQ7I$6p+QetM*`2!ixVJ6TO^Qd1RM}Y)rg)&-6EESLVHRkbaRD606&3sS-Fbl}JupDgIYUhvPz_#Zhvd=HJ!rjc zqian2_~akvW4`0;CvQ6^JO7{o_zzFIt^Iw|2U_mp>%=E?k^87f>T`~{D&K)@QnGjP zap%MZjxd2}6|XAtWn0sW%k;bY+&v{``4UuKXLeD|g=HBD|E>$*8Oe^ze4;LN z;#uC$5R>cIC06m!SsjSfRkS7AudCF5JZB|}>IL}~u1CqJr}IQ7MmOd2M4}Ki+cr-d zSD|Jhi>fznt1SPlkdR{UBD^Ogih?N&iWbdnScg}m!BXc1@a{gRq~+%_Ep9Gmdd4B+ zOhY^yb&@3QyxqfJBTds1qU2D}_R%WQ!X>xzm&rw6xoy5F-aOiJS=U^Tfx$Fy#qVH(gbJQe7d zir0a>iu^0#Vp#o9z+lI&!t<$j-@DGi^Jjq-vi2en_T^m~*_-iTuk#w4**$!BVz16F zdf<}#X?xc=3*HAnh`s*G4wL^bNJ96(|6#wZJRjUQ2xK1q&-0g?Mf{(yo_+Ng|M4%3 z|M>l5{KjMa#$)`(WBkTr{Kl^)euLw4S>QN1*`E&pR9&TS7tVBH=B}1qj1PYj< zxejtBpwI%L7li_*i^}g^FvOzKA5YhvS0SnRP*nxfT*)JxU3UJrq&Hzr8-lxxhY4JN zP2&O%WxM&rzXDDv@*Ul_8Q9#nB2O%0hV(ciuXpx*fwuxy#=>@nw1x@1@1nvkbh(S4 zmY0f~d3XfW^lh}+D1QZ{egFp_N%Y%jtD-<_XQzE6-#=UanWgMVAZ=D{2n+TCHP)hk z{G;%F=b*cL_~-XR^Q;TxwVxbghr zVK@{r;lN9-H>t`wKyWw$s6@A}05CC}0Jfs)SlaEu9l>t|JK~05O0?v4qhoLuBbcnI z0UHNJ;j?um3A*QmL zbl0T&5?uP_IXUobOY6&F=QPhQaF+?ck3E`#+r@PX%CQ)(L4$tLgED+1qILLJfOhK- zO|Hst0v^#NGY|O(kt-EkCukKRhR;E-riF|Ce-xQDKb_7*^)Q#tikgax{x3sY@X#7g z#@QgcLQM|B$k5H%PsfuxT5Ap5$UXcPY26c`uvJY5!7&63|20J0WDLU|uSLBF9(IEid0XDTGdLgRvo(Y_&kp=qs;Z?2%LEsiTUq*4&Md4jbKKhA z>+>?ZDic_)TQ&H%dJfYIS|)}(OfVcJE?y{vV?;v&9-LglBcGn-v-8;(8IZ4<%-F5s zauF^i5;YW2k)ADc?hrAs+rkSLMi<#pUM7CYsE=9We3-&@#?$6MKH29(^}l37A0j;K zFOmQA<%?%u7V&?czkJmHKIZ>?)E__Uk015NkNV?B{qa9Tf4tv0Ic*=bk7p^4E6e=C zX*zAOv++i#-vMp0+dhzeVTW$=|E<5w4swTJAHbwMTM47hXQf1p z3_+ATIDS#?ToW6qS zP7>83x!K8}S%ne4#Bq$G6RjG?4lwU__wb;*cie6-arawmi>y#C-g4CG22ciq@soE^ z1GPHNMR``Ia9iz2r_UDZR0BjPsVj#KM62Y%dbb8!F}X$12&7@0w#Xo)wZ*Ux9B7|4 zyh!De7nc_?iZ4-=6!-ibMIwBHSFYJ{8}0+VpJnLJXAHe+o6Zp;zlV7h5WET#PY`q! z>yL2YBtba*#4mJB22M>ph(o4lM2s-|OlY<<(zNCoJi*{x<${BcjebDODKJ+!aZ!NW$$skX}LdVtcJn^2^!G3zKAE zN&s>rb?4dv^1$|@B__!!Im5af_?(UvE{OARR<0ykb6CL`5!ZzgOLSI*P2m4d4w+M- zg3y`RN#{69G917yovP&H2z9esy0yD|%*)n5TM6!XsWImmn_iD#xop*7^L5vKco;1C zemb0fBrYt3^}PA}|5~2OXS>*|EcI7wUWyS2KM^7eH@-Lg3x~fTI7hk7Pj`+C$&#sp z%!eGPS&$>k)O<)|8f{hKFpt{3I!mk)g$GD9M3Pdvu<#Z0*HLPF@w(7O>2T z-iA5=s7?Heh;WF0`{QghMoN@+h+_zd3r8N$v9}aO=L(5@j!n1lmNA(yfS?*aQG@uR zlSzelr_L(8w*AYWdK;PjFF);%hy9;>*o%4sRS<-fWQZpsNoS6-VB%Yvk@RHYbI0=0 zFMRld=yI=9$m2k(;1A@kyvaD}VC;_PurQY9+!Q;($nl|D_n04$ozkJ(Zph=K)Fn$` zsAnQHK|K^RM#8}?Rj-^yhH^5=M*c>qpqP8DO2t@Y2D1la?aZbA;I-+PSKrW3b3S!? zax07qjms3SwD7RZT}oRN40Ff{p!_<{GRGIMii)9K^cNV|4yBe0(H=w_;HfD?jvk8# znhS}d3t@bDPx?l044X-+G_v{U*=L3$E?2eJ66tF-QTG}l)qlV^MI9HZT5hrY@5_(& z|Iq&bA-TJW2S0Xs_3!NkFx&pW`Q_%9&x`S2FSovYwEsWa{~zuDkM{pZ`~Rc;|Iz;c zPq6?0vHkvs*8ZQmFpIODnK^)Fl)O*W)n5A1 z#pF0Rbg2Dj_+bSvv0}ten2rW1<0puso;+hkXt6UsZFOMyFqh-^;oMNO4g|8>J^d4X z>!)t2tfCEgZHa#VM;|6XEiLIMOY#vx7_3iz#4IcyC)-OfX#6Eg2Ar*B{b@yUDvw!% zsl0IzaA~EBZTycDV9^csw`QQ41j)?#O}n*QJ7xT`IAi>5m61bq+HTIovwy0Y^;MU^ zMYgNwc-0-m`sL4tD3H4UnA~mrK*(aF7@BBC(M~*cw*Wq8-<+NvMOT-1_(1RPx%pq8KYvlg|9H8%`TX(y z_b+_^ef{`;dwjn=zTY0-Z;$V{U(NfCo$qG7+bT+w(LVIDNBi@hOT_9jT5hlIAsmGEWZ$62x781~G5a?~&lhl`QL2sho~ z3FeYWG$`RNO-!D)R@GNJh;x~M;CQS%WEuRN zl7O=FH&nS4?@8uW-c7eblfn}(CpI#hQ2i-pwnn~#6HqF5L_S8G zgdDwocyV&cgiH>^q!yCR?wbpQoQK6zT~Y^=6FI|J(*+kr2bsvb;`&PMInNQd9nN=2 z(=TJ+*qZa`xXK2^oKp7km=49Uo>P?}K7)>k(wDh!t2YSO3p0xY9fI_9()pncEB2I^ zBB1(UEy%4mH-5b-{u&PxR2hz0Rn|aV896hPn>fLSLw#y-93>x#Rporq(ZcXI{Hl;P z=8n0wOJ_cM=BbN-4@i`Ed9B%_@Lb?Z$h+$z#;2m;^>Qz8{%%q335_=q8U$k&^kG5n z;InT4!CaB(20bj~U4cmc;*wv`6H0?&W2iRdIeFL|$ziV&f;JCyuijtS3ta9?(fW+D z0evr_#|?EDkJ7HRyUjhmBS8sT?)wA7j?mP6{UE4Y@q7Po481x}Cl~O#?_=3nq=y;K zOG6H~x`_p-kbzY3E$|@m0q0Y7z?lGPjKKW015Y`=0=^!7CEV-g8WzS?avo&Po1brHAC(6ing-Sed3oIf7s*0V?Sv-fYp2*k^A2GTtcjF(1<=AAe#&e4j{rA!O?&K~Ac zpVEcyGl^tAI}lxDPOyNJ+lX>bAcD0+rH#rHzz))zv=8DiK4Z?2W5eKTn3pO?0`#Lm zM%TxLw0@+IiV|lgi5=U53-mlb$H*F*I7&3^I%^@$w^fE|C=Yfctb1gHB`|TsNAtZr zpWxP>>%LfjF9d$3b^M;yQBBZp3?DhZXHDa3>ly<(zA=dS&&@`rgYIS8y=-?uT@MNZvjr4Rh(b(uCPsWpZGyl zo7gRIm+DsWk-u_2&f)Dk?yZL{PehKOWA zGuIs|%}`=Sdf9a%lmLx+$;~%PBj6b3igEBx<-8pjSt6m+skbvUBnXoDAsXl@lMD_d zx2q#0p}IdBUN|~>UUOSMRK?}ZGoz*^(;@Np6rbE)nmsjDw75_k(-*lFZ~M3`w_v=e zAikN^f<@ipI3Jm}6+&S8X=cVv@WfFy0lVt!~BaRmx_DlS1i7Ks^n6o zv0PrN7GSDwXp6n!QU^H#$1Tw~C*^<2b^GOLv`H9^Mv6dswGccmYqNlEO{z+lq_f|> z7|QohA5+)3K@@3H@IXi>PR2nShsD(=cbp_r)H=&^VhhZA!a#I!R;m3ExNvoyM#_hA zO=1TK$&_?ooOfm|`rYpq)toJWmCgGC$JH$aE-ao*5*U=U&!_1CShbVd*y>Ar)!7Zw z`=D@mHuRy-Fay_g%Hh-081*B~3qI-}7Pwg#Bi^d>A*pyYdW%;j7#{LZ9vjWw!pzS; zdCOHAsfn=VFWg7_qAFkH5d434Vz-*_RyQ$%Ak z&!?A{xJ9?)cr+qi=$PZ2%{zw#GJivnK&%5N*OvH0lB;noM=%4p?=T%#=8rJR5||O| zV=7Zb)l8lzW9H5(%JS{!&1#n!G3%`2#$xPZaxLj+5ux0RJ@U@$*vM%{H9y$=V*HcC z5&50$7RjUsj1GY)SJ5A1l%V{xrf-~A4wS*CJKHYZsIK`--@4wvbHm5#hG<7vz>Tfr z*<=hXg&s1MzC~cBd`iF_20e#f-)i!8q1v}t7#ISZt^*?|=erz}L7QG#SHKPiiQqk; z-PXt@&Nk|H`}~e7Y&&zQUf$HTyfa-tdTzYTK1}ccqnZJ^P(Ho5NPFr1PWyr~3?2hc z&xc-27ikzn8io-s7^-K0f6LAdk9fboMEwHekC_euLF(&+IJiE|Ua{_foLo!?zb$5GMxaS3TQzD@s6$8Sk~+8x z-Z3;rlRAjTiM)qQ4avt*rXg(jRK!774Ox9XsUc-g@_2I(;%CiGzRs98lC!7={CytZ z#2}W8bs#72PrB&*angNb>SJ^!`CU*gZoaNEFrRW=xLr(DiVY>eEDjhHpQE}&e^S~$ zBr3~?oA_PfU3ZIQavhI9pdm9)|DJU5U4Ogn{ou> zI(qSv;|3<%79tSilgsms3J(1aE?O7vsg#QVC-g!?I|ql$u1H8B9)xki2D9sUn2x3c zPAiBmX3?Rys*%3in=;6K7H?RsOin{FltMUXm^N80fFLI1c1^dlHDZI5BsLa!367zO zn+!Wf=u;f&yUsr6m%1cj?qW)YZ+jBiXwt`2U*5`WbHRvFxm~Gfrq{12Z2V=|wo-{1 zBrkYs_sHXl#Sx=-89Rx>j^(P;hW9&}%%Nkp#Ms`?6AW8sS`C%*VZxvs6Wrjx7+$I_ zj&Wa2StOu>#CD1O3Obt_%Fwy+3e`}k9Ak|E0S@tCQugz^V<#hM5&hk9|A*o`g{lIg zo_u;f5ueM_JjyEv|LtOX>N&(-fuDE0+~j8*Fg55_7=sK(Q{9Os_dq%lvwjQ&z%9R}eH<`CM-hX1`{?8v3K1iQc z|M%s~&656a>)E6J?_a3@tI*#y%F4S>)*H44gNW**C_qT${pO=m@KGuFs1$ru3O*_Y z|J{^=JBM$NS_>-$D@wcK`q}`AyW$OCiYb6=m9Vagm>^lZeKbj;-;2Ii!dRbJueT!= zW0=3(XAUPf*C_lFo$;Joow_A(IJs!&gvaIN#c>YYE$%sg$!w%NZJbq${q30#?aDLiJQF)4B-eH^H`w7X$OK6A;Ku(uKT9hMd!GLFS}o*qj0p-bp33IK9BM#k(1Dj~(l+`}=` zA|G-R8TIGyH%iZCA7;@r$YF35l5$9fRoGOQMu-FpOO=9lz2;F3SYg8tu2SdZjy)NB zJ&X&`EhmPj~kkU#U!@t~P zU1QBCOZ)lVa^&IYm&uRG1(c%NjCI*5!a5|4V3EkJ1I`7kpJtN~YGu7O#^>XDIp>tZ zIpyUU=lqCn7Pav+4zJarQlO0S%o0p!j}Ji!D01{;xl+<#Y-%_!!^ERpIG_qu#fvLm zEtf#2Uc(1`29An-XM*5$m&8%L_e%OGcuX>MMCW-Is*B^FQRqTZI}i02LnM*Z{Le(Y-V*+H3ioFu`|D%ciZvY zZuM%IJG)pM^;N-*V}U+{bLcW*&4CK$&)0&!sVktp%arHsS4W#RV_uUyyy*G z7N$7`AYb+lRk6)#L6;ZiC~`5FWp);~UmF;rcTN4!%ilN(_cc zo8N+#gsc|N_bQ*3i^)(NBXtE~4QVz789}~Ztyy2itS2*<8A&7fgt`jD4_V4$n2M$E z+dp(!;KIK_PAnH>3=UHgKd3C(KHRhA;LnOO$H#}qK`H#8Tn;ULAg7vw@(J69ujAgB zAUjb4q02rd-$Kp7VwK`0t6J#VD;;(Yj?PY3KduFuUCg{dO~Drn^&4KJ3v~>0s_B^< z!><2bK{OZA|MiFYL$UuC!vBZw3iyv-J$uCefAs%*RP{Zo`W{t%kE*^$Ro_2D)wg?a zvVh-TO{ucKpA{PF{QUaEf1-Qef1+=kAnKp^RaH*v{MJCgg*}x#z~Vya96M+e>6tJ9=k4X0g{3E)=62Q2(YIJpYjokF%Aw&e zKg#Z*7i|BkZd<57G8 z63S0a&{tJP0sfk}489KWqhT^ZF&o|^L-GtDu+&ulLL-`(;!)Wnde%ZW)U^Wk55(lv@TgLIe90 zw+spd$kjQcvAA~zG*YxuXG44_Px8PR)tKe9p(9ZTmPJS6<6m5-72|Q{^w3C!umN2Ipk+$>Y9>_S?gz)R|?DQ;o? zGDTUZjVAQp|8Cih^C%`1yV)betb~QwP&u^7v;-_2SytjaD-g!g4^i=7R3MpT)83VO z#>kACQ7{8j+s*}tQazKsbTDDoS~r=x^`4C5VNP)s@(CxY+VQDqB&n zkIj!Sv>A|1Hsr~bIPaR-V*!!+03H}^OvCcEv?HeukMLMPL_yfduOtf2CY!*mY7L=e z{Nps?z-yG~2v^H+rGC^oWL!)1nyQpotKFkQA~)cF%Re~{>vk1vSRvTbeSjPSQ~i2; zP6-MYIn;Q71|CozmG87Dir{@Nak=6vO8(Kr(&F)$S@_Vq+AKRp>~sL}HSRUubl5WE z;bHaUV=ocE*T9z)n+Uu~17Fe_cUC_}0nz0mMzp~cD_B4Icok3c35OD2B&1)*{!u^+ z#u0**R{4XOpkKfkV443O6x4?!{Al}R$%~tGk1wE6C7%p0T4=oX9C>gUIDU$Wv)IN zTr4JVE@~(A$;A94h)IACV0^eBVm%=sE>oy=EJ?t9^!Tv+nn;JD>cUjgX0q@wV>RGh zLa<;0Izzu2I9Fj)rkz`Q0AjJfsXsFESG-eaZr@lwY~R9%0$C zgHb%WA~a}yv5Mx*tL;hyf}L&@**!H;V&07^P8_V|LypGmlc7N!GmZv_Ipgw|k4bbm zGRW5Qy7U7h_D9eVoQ<&H(U%OT*9DP`TNC(+4x)BWC>K|6kO}y)k#fbOc-_3!>^<@n z$4s939u&P0+>h?K63vZke|Q8dzkhhr?j9a=_m11`=-X&@>zi*j*BZ;=kUVm1@ww^l z$=oG%u-maD%I?uPo4~coU<;CL#STNTQd@gEhON>VymAB^98ZV-=*tbm^BiQ^D4gSN z8~rDDTKoIow|4$`B0W5t(}RzIkoOaVnVu)O1O!3PXJ&b6z3>1bcY5Aj6KpTwBZox_Wg1Bmhen8~SRU1&DeBu95I-zlNjfhOTkL%2H|LHFN)|I~! zgms>Ozj>e5ps}I@f64!!-f6NTMq1gA;aa@n83%8%!?p%~a07{<5w8s%CBzNc_9pCr4WN;goot`O@ zOnQ9+c}5}|X2Wv@br#GnsDGYZrb9P~Az`qL(d|4)esN1FN2b?_H&jYD1mMC0RQ1E~ zlHvzQ*=I7P7KEfsG}e_1V-%6+q@cP(w-~)J8QQ6j;)U-sl&L7(!tx#4x2JTg@TpbB znRan;_z5Db1Pdc>JW3Uu5^D3n3@PAN>K6@83A~ugY zmVvHVKLX5HlYT##-E?)~s`-uqptJ{%`HpfWav1ci$nhQ8cKaOeCq8j8KD2S~VXJY% zAklxAj@8F;_5XoQNLQP91;5q?@1E%oQsKvCPhOq7);TOqOX+->`7Kn&5g76 z{vAv^QZ1UDu%+~towNv`1UqZO zHIu9MQkx@%t@7-u;JGzJ;979!x;qmVq{c69`N4{N6hD2Vi>$yq?`K+kS||WHW95Yx zDxKNYHIKk${dYt6RpDGD5=3VE#Zy`BLuA+QOTPM&FKTEw6838e(fUB6<};m0254y6 zCCfBk+>2ra`A&U#cA2rJoXJ&UB|NF*YhdaG)|UjjX!fSW$ep`Ml7GI3Gp&A?Kba}_ z6gdTN>l{wc&l={wJOfFHf&UnZ+>n+eIrLukb+op`zADZG86o+|itC)+@nDUUT%Cv> zxP?$kp7?%1;l_Q&ow$z@BiOnbEW3o#5C59AKh|^)vh<6dYrL@Su}*z__&98`2+6eQ zZa5eF!g&e|qq-^XWq?oO#GRRngGIlXW95AFD^6GF%0{IXW{b=;S3SD^C;#@#N zy=E~0&UAvG8Fec6^sv>EVgAdPOT*k2UoBnW`z}|>s_tNK*l&3-w9xL&cfn3dD{sx^K!(`;1zlW2WATD2(9oEzjz)GZ`1zd ziayWLMWG>s&<#j)v|Au1`b{ElO8rVR>hUv>O0eSk7G1Db$O!}YPZkPF(A85|G4dMN zi3fwiJ6%YQ2ByfN^+beSU6HG>8@F@dQiBbqJi*}7i6bv#+i?|{V8r{amyOxUfH%)A z{;HlR(kkhpT63$R8yf*RrUP<77$+MtBXl0Rg!h(%d7l*sWpL%3)X5)Be`5(xrwMC)TMlFg;gh2J74kfB7G++`Ag zgpvIgs=jP*#B_>5xVnv?l^L?w)$o%j2O&8pQUj^)qr~J1bO9A|gQg$G97WNdNVoiq zWkSlFlni970pH66!{YU3PGr6hDu!;#e>8C{3S9@@Sv&cGEeOh?MrO4e2OI#+u^0Vo%*D3{rl zNy;R5#SiQ&-J0L3PL#U?^+5S|)i4`w{2hJ7)zp+zYz**NK2~&7d6pdrl-fq2e)1z+ zR#kNteHO3dbHi5vA)&MpXH>n`FDI6unRh+C0@+{bYo zx9q*o*8*oz))ot=2%ExGv|IxgIFDAR!w3;WT9Yf{3>0s!}T# z3(&-zMeQd&j!Rl}Rk6i)@py<>9~}6Qqt_3LmAE9%%N1m9kR=GYM;&6XfeC7Q-;|OF z+DOWhqq$6RO&Z|m*BBnp=ynRfvvJ1R?6AEGvt4>oIkPJiy*HZ+?pbM-!cB9p-7W2| z_(mgls0Kg9DE4(Tg1y5TxqigtMhXZ5>6uk6hjh$u5ZO}4Np*|oZyHJ7U*C`kXufuk+c}=oDJROO@S@Bb)IvrbPhTv zZ`!-i&@&T+7oBRJ>k8^n=sgnVSl+#eMj6Zxc<2I}6IME!VrfRe1rn-VaZ9T_WR z!KI2>O9?{e)zLp>l2%a@IQKVLr=?GJq+ppOJVuGgi=X!wCtjkDc`qcs!g(Pi-OLO+ z!~c|M{-WTzEIQ^@_B2`JGeI)&on$W`_J!_MAFT#|4+T<1@KU%KIxHWD%JXq@8ISw; zc2XObkuQ}9PmepVyPemtgYE9S)@d6y^4JB3ZoPCdvJ`7ea*pzyFj^J`tf0+u&}~h; zD|Ha99#GK41p~7r<6%sisvIWS5YTR;&+n)C-{^pnnTb+xm*c7%!HWgjxQnh6dFkX7 z`$8`m9Cp>|3tp;7f+lgEnlCQ=jRKtFDjQ~FyU6@*1yIUUx0%rd#(3e>(<5IB~hVnJk zlHAcTMWHVH0J5`-Y5$|WyS?3y*hKDB)c&FrzjLv(IWeH!-tE4HBWSO4)0(~6fd!xv z8}^1xEe-NNn~v$2kosncT_{=hVZp-!E)W`qz3$Ow;oLiwmlR<0Wgs;$EY4?P++ze6 zZ(t|y7ViSkw8i`Rq*z?d@DxLDiVo826bi$312GXW&J-QcfB{Sq739L}l$ts>IES7$s<{Ts!SEB zAg0h_q>EK2AgwjDg;E_?yrH7qoku-nkhuOvcCmpGXz{f+gX;hjSoKoZS};vSQ)vm7 ziu%Kge~gln$Y*lA&~+Mh)d+u#k5Zb;b`+i(E(Bv;aVw%SDjGMh&5>iH0F*`(dCu^T z@cA|gL+*IERT(;yW-|ahn!`Clz!&)r5nsY^MYW#8xvB8@0P;Zx)^0Ak8~D3Rl(U$8 zSOc&W1oz9KC_0Av%)K@7?!ld7d_C)(P3Ik0zdfpa}}cVtG3$WR>-8FBb#s z?IlH9UFe{ueWSbpV?dn0UbuO=vs(!4#K|>6giI|F#Am~UxT~N+t$@!?IZ&LQ`iALi zVH6yBIQ3{c%f%C>m5uKi-SFOJmDsr=6yMV^cew_}vZ}0K)5h}BQauc2?>wN3xrKvG zHl>Z&U_KQXCc6u3t9(AzipAu_lu-8k$x&3)K{_lVbT&(#hiFG(ppBf386+#;W~DGw z!X+jsWsO|tr$z=6PEN{q!X<@6=`lHQB$)419vLL<3^V_F@uk=*D<}t{%!tal(?!s7 zd~40h^MLve7@vMn4IAg9FmY6^z&#RUr^YcI(5q~~mN8taV!Cq{Xp7*m*$p*vwy^{naqu*W_Y?dKg=KHs~rN(|$3moP^BFaW);% zd@l;Iz6PigZpTUXAsKehryO^GacOZSsf`kRF?*Ka6UvQ9+D3MQ6vcm9<6(geJWdKwn{;%jvv`CYfND4$aRGkhIYTP!)KIMyyPp||R7@+#8 zFEB!GboLPO?`|2eCl1OlMY{|inhSz9uu=qPl;=YWn!msUrHNVM=o+1SxDZ41)00LR zJF2n7(+xH5Zs+sp3d<7dJ4m>5cu#F47r?A1uL?MCxsZoqz47D8Jqt;DPQvvB0pJFA z^SMmLfyMZ@(uc(RmX}2GbyVo=n4XFnu9PPRSIq1sl&kYF;SExF#XXe6V)4w!V0D7o zgH2w6ajnQJg%ySLi2}M=kUcSRZ1A(azb*JuSWGe9NZb=(aekBxv!ZY}C5u5inP+~i zT0k3KUb*V3TOO?r5kzM|ytQ+lDrD)Y_bP#F0%+^xi3FSTf);hS>qP6zmkX1n>aEEo|`qG**$Evrk{nA|)jGq_~V z9>y+B0LP+CvPnkcJ|~bsERNi%_8KDjs}k=A^mIlwCkO4KL71c);)yR zl0X(pv&C=qqN$Pg3zx=>J46rMCiwIjy+yu_!3A|-s4C-GR zWRKCKjZIKz2f~#{Z0g;5dZ1R>@R;_{pL>XlI)>)5>orC!!2uHXEHy~)&fApJiNFvR znGQYnSmtJ(JEPN~pF37(#RhuoATLKb0dt^CjImQ-_F+Ya8^nysN!zifmoGHV(Z+sN zAEW8uUbk`OF@j-qX&4J1CJ{}o^_~RIN?yQo=BkwUkQ7Nnv{2wRn>*!TfS~66)|-n% zVU(sYM3pDjVXkpJjrNH*(MaTmZl^b84kntTkg;VJH)arEICuHhO-<|Oe!Zw zc4N#~8OZI6X^;a6i}Jduhw4@FpeDNP>c>^r4lC%g$Kj90TMmpJ=|aJCSe{^N7+6>*yQ zW0yxZBP^Tj=v9H(bLLtIaQb(e>e)uGHGo$LZK3U*fyUwtaK*s91-ImW<0@{& zCk|}p@|FB5j*%PlkR-Md5n&6FlRhs}YU`4@l8%-y<`C3w~qmqz<12J+-!pNM1byxLLNvO=D#-EE^s~)nvC6!csFB-P0j{+GlPQ#Q*q=t-V zXoW+HCQZeHMEy(CUWt>1#JIR>!V}D*6gi`7zM>!2x6-MGbajkCH_0ZjR7`z1y{C$T zmN_M%hB@h@=O%`oz=sR_ny>@^9k;~il~WU&_6u~5tx>cz)9?`b88uw?$eHcS@JtsJ zt5?+vcVXrOy)>hTt8iF?fsXRkdpzG^X6#^i)1AU}UcSJ%(QvIARbQHknrOV^L;;oV zv2ngqafK`o@r#5|~?6F_}|Vdu!3N&CRbio^5VDiw@FckVi-3>?ULV)d89>-p0U$ZgUs- zdYtrA)JUICN#lU!(4K^$*4cF2V}C4!e;N}y{WaY2q~1V|#Tgv26$YZ<#H|fZO__|Z zk)icnhBS||{)*~44SU2q{ zLX?poN0p%F$p8fd56{Lq37OFJHNMSx z&Xje7hLvD$YUkcgX2grhZ9Gm~x=)u}hf;62TaU;k&t+WL-07RnNpy0!clxe%+>YS) zqvOLLI&euu-@k`1+fnQ6^v&UM^uPbxI)SfOR-)FyF8uF(1ee}%`{X3Ts0Wa=-X86D zpcXW9+&Vbzv`-ol-#49u*Ny1=GX_Z{2Sq4$df1@W%hj;4!@cNj`*`OKeA4>9v)?&= zPrdGSP7kohJs3|bI%*xCc6QG8TgTDS+40fg35*q{u-iG=*>82;Vme+N*8%j)*I{(> zrnSFsC-r?B2Gsg~zs*g;q;@;U?VVE`y8Om%?7)h^SoRwcCM)aUFYQ0KVeGBr_YKU? zymNSP(*DyK6oN0K-PYUI>-I^s8m<7gRa^vE?wzya_FEhuO#9^Q`;*ho>Dg&JdVP4f zi>n)*w2y!2?6gm|qy0l%@4e{kq)h|cZJoBLduRm~2TI_i&Q3bCOr3+%_VMxA(P`)K zU@dxc_zqS9M%sefyR@E%2RLV@g7)F@du$rlgI2r|y?fJ!&yR5lVS1;>EnJwB)8o$0 zsVxRwo`Up)&G`972kqDUo!9Myoi-LY#D?B=PTFg*N1YQa(4o#@3VI?0__;Q|%Z2P?Iwp!L;P9n}n@3(mKc^rP z4ksH^=$$euMVLcit07tlG#p6%DwuhXT$m8!DG>Z1I-(UYi zU<&0pQ!LEvZ3Y(y2At*24$E$pevUV3yj%fvulOOTqCf~ewrrIUk2&Ri@+YB0+8Q>HWYXkyO zDAPu!aGDH09#`?OFSE2`a`5jskzDiVPDo>e(I+m%!nvv9O-~IgwR#doPm}4;dk~hv zrZ2Q%|7O&JE~n!S2%)qy4=^%9Wp#W=o1K_zjg z7UUQxI$mBf=))V)9*_e?pN>q%#~ua!k-HE`BdR829-t>r(CNt8svnU!Y9j#9-Sa&( zfJZC;kd9<=M|V*^Nk*vCAR-KR8(+cWo1~kM;IOQ&J#}C7vTJ|M!i_EY0{NsLkL9xqC(m@dZ(2XJyC?5Yx~K1t+9%yNw#r@plvDCxE$*_W@>%Dw zRCStWLB+yQG1Cl9R{ghzHb(^#a5jp6oN5jb4ClhD$nDYKt|%(eVv}}ULb=rOTQjIx z$V$y;>X)r~MI8_&q(e@vn{q~=LV$F*3Y~-Q?%|)`gQVJB{>f?5yg4>HvRN1?pi)7& z(qWK(fCD_va!m~mj07F#`-JBdk9$`v!Hnq!Q*of_adh!UvB`7|?hc*|T9J(r!FYI) z!?O)?-5%b=gS1a>`fQ*xgg+Up)hnL(-go8dVR#=F9wpF)>}h0H;f&J?NE66Q&}`S` zj<;k$sk+#hEDV(cICKS_Aev9&ae$x}aiBn9#nbESq>pwH%w}^j5xk&;Q5@m`WM8Qx z9HIb+7pQ@T`P1@}v3Wt4+l=cYixX4OGi?BLF677ygPl_-cm9e&dhiOdI6#E&gZvL+ zG^B6nZb>4B@fO&IKYiCA_;vN;pItNEZHKzCOF4edQ6yL2A7n2>doiWM+~sR_TYV;v z3R)t*3pPYLH38if3m9C~=E|`5bR%T3`uLi`ZsgtNs-+c}FZEQqb zywA?i4BUWg%~v$>2liBuHRjfW5J`F3bq;@M?{qsS-GkO?2ZjV^egJnwkuJCafpR&u zbV_trSaF6);Z22_lBnL*4U-&IR~8b$+EASKTW<Nh+a0pIN}+om;$k$zVht#n-r8$SR+(YlOJfo4{ZnXMjnrU-3PmoncVW zP@v@ebdG{1?F!K?off1vRA)K9Cq!Z~|il`-ECYgP86c zUkTMZwt^+MYJ7ym0_bX0rwfW9qgzjh^iD&9FUdAr*U)uZWeE*W9 zmF&veR&KlEoM4%GsI~zgoreo+(u))>%Wzb4oa|jK3kzGH*QWx{_Fp>c5YDzTD;I;A zp(o}bzLd0{MEjhM07)MQh8I9Ves8c{-Q7><&P{L@;YaR;&5uM%mf*b7oPFM_(Yg35 zj5fmHLcD1vNb3B`q5KIK0r)sujrDCx@p8hcR2{d9=pDgwvI|Z;xz6$l42+wg@wzrt z-H@H*#p^yUw?!yfyc(!{ytA6JYmSga9UF$vz!R=q-)kY()F5ys7iy}|e~h6nDWfzt zFt#8xsE$PSs7B$fdpBejIfMSN~a4U zcLx$9TmQ4yya!jy_};7Ta|F0FYSq3=Ub7Ws9$QEbETk}8u<1FO4Bf<0)y|UpYQY11 zesVoO6t6!rc~^OS>Ck8j^+E3xgANZ|aM>#np;<{lehH{0M12|SNUbbNZRRA3nes7< zmcbyncUDT|0&HDU5h{0`5?D|{pQksF=8+^Od^OEQyF+T_GWh6>4Gz==;SR`hcZOMZR9t&m_@VdO~y7Hn?yr8WU1&DBX9}vLEgmD+coR4 zACf9=u?GR0ma6%eIy=)qg9A;9k33v)QRkyWOeU05)Y>z7zh!e5)%Cl#cq>kd;dpYm zuFliRn1Lls>SvS>$Wkdj(cGa6YU2D>eD-YGXEh5mh)n9ElOopZs0}q>0ikKehgZu2 z_j2BHa(b~8h{on94~J|odwMA zj6`QsSlmQ3?R*>%o06aqCZcF20G#abE zIK2`dF&{_osE$Nxvita$pW93qz3HwuR9pK9jRHJL>6Qri4U~6@OGQPgV~oOd$j+|K zWU3krbAiyMNPNj?H?>=#m5$y9>A~w83K2BE1DG)!nq!3DZa0s8XI(81@>#gI4cXi7OPJEtXTydQ7sNV7AR@ z_ED}m{*@SpotfF%4eKor6{0Q6&_vCFbQ>36FXzc+IvmO?$oVt)Cu>jZo@O3lsDX>ih0_Z(9Edb_|zCpmxbMR`8ULQ=Ew^Y)#U?jS?l z*i>;K>ax7|tJ{8##QVQN0!AP*+;;@G)?_Xza3J4eUr62`iG!b<;WU(~ zNq?D>mJ?~q+qqP*U@O_EHfgb_?NI+o%5;VEM1a2YZZ6i*P3`87or%N;xOWeC)sgb6S?C%S+A@1|N1?2k#rY>O75{yJ(1ojLf_ve7p7ejf5lBqs|K|bH0`+ z5VXILTb~-hi3Z@X3tBDf(~^n91@Fg~edbX+B|3kVKiDyr1>? zk18`+K?VvVcW7r?bmh76MeN0yWy|aSDehn;$k;X9V5~}dVCJHoU@j&bM+R(<55Ygi z`e?XI^;k=GMsg9=mbj2{sL+gq0U71iPVIRgyZ7F)@K@lT(_D<(axnzHiiVIX{Su@3 zZizTHMY#zYl;&8uFZZ$wSMqYp8#QYTv-(ISUPvoLz|2+h4SZadO&TsOKrw1n8i~b? zcgtnPQQ*0?xCWzEDBu}Y$OSYJzke9v|0#Qir}ZBDN4}b<;Gxh*8*=vWJ@m4H3u%)0 zJ~_5NyPD57k&DECp0KiZnOyJfNb-Lnf!ufhyKY{!lu(^auRsl$3=N*ALxc{u4r*}( zYtAy9?1Iy9hb}~{{*|!=Q7dN5ez0pnoD@#2#98HJt1i5|wmikeS=(iGHleJT z-!mIxGVLXw>z>7*G`C_@sgo{_1>cxv2GouQ+k=?Vx;pSJSLYL6#@y4pW_?~d3_y^qE(nLCv@3^k-UvZ zBZ+r-2XEc%Hg}=re&X4!xVG`DlGIu$fjVP6(rA*gqMt)P2RI}O-6TrCfSV`3LM|y9 z0T=h@`jNLPp5HKF-MM#1)|1%zqEWD%58-8ZO3u=WuUXHMN(rH?TlW{g^gl_2S$lT2n3cS7_v$^PNHch*HriF_O#W9m#iF%DWP*h&NirDkR z2!1K5=UQu4K{?QATZKa6k0lcS%0+)gb7e;t=%w0Rd$^m{f((Q_#B0SkEPg?e%UxKU z?nIWzVbAf0ydK5|Xd)Bs#*sHgUc7lQs{*>D&}Bl~w6Ot=xP->IGeBtr-oxKwd>SJy zkoHa)Nl70mq3gn1$g;~99@u@=61JhEoGRV?4Z(?irke%Ve^^g?> zhu+qBH7ig=v)l$sf?ztD?Ush_Zdu$Y+%M8Q+y$3SqnM8v&MQjm$kh53zW&|4lkU#` z;YquDc+lNDZnv?q&5xT~E>p*%^W2qGXDk(LAg6Yjjl$TAyk;D`of8B!>b`y3I*Mc* z&mKGujuM6WZ%nd{i>hG&ExP31?qZ{08zNV65q$4*(WplUBU<<%6LB5!!X@ha;tz=r z6t-S6vTKqWou4X1j1DGZQV7I(#mWd7AvsiHikKno>_vt%>>uv@5#gY4UA~_G_NqSN zRWC5|;mpSN2{!A2W!np0T9qCrA-hCD7Io{FayelH1k0tQp{&TES4_TI-EcK{6S-IU zW9Fft@X2W$7BXWJ3=ty+$VSapabrgL#eAl8?o0~ivhJ*C#6@^7-Ewop*Dydqr6NJhk z`LvN*P`Hx zl#!>GF0lyRyjTJQ_9B80w6U_`@H8&iBQQ3iKL#1Zb zx*8~bs#l>P--J_e>+^sG!uOQF&gL&w1EEl6--%K0y!v+Q4B^h0h~x8E6SUTmsv;wl zT`>zePR%ozeTInV5FGFF**$lNTdJ+!az!lUg+Cf(x; z+#H;S9bcN;zq$pM+HL4%I`JO(QbqpiX2Ge18n<}e#+z7SNJl=Yd!a)@7=Pq>!Z$z}U8U6p+`|`##j->DRU-2nA zhz+0sI(#INqr?~?n+-Z1A;-=l1&?4P%^GG11D3S5_p`rs^febC*-3Vv$J&j7neOVl zy1KgRS3i5t1fOHEY^y8hEG@oqmxx2MMOz#8B-q^8*f3@SO5x5C4)b8FhRoaAA-=^Cjb?(-N|^vJUfBB9ZRwX7EOk*t|x`Va{{+ORPD_)txEFjT#V zP`&T%%FQ(h$8ly$X0D?$`f)EK5%dvKO zoR}URQa(4DM|=?OU>lxfa0~a|gyA^hxQ?8uu^w1pM$T|S6N&1=nb~e-3=gLl^UVyA z=jrK^W^#Tpn(8{qa?HzGt)};~FiH$3yM$wy1bJV%Pf`!me%prtm|Avi0jF6 zY-A1`%XjMe9mZc~nP*DKSN_mD73_tw0pfdp@UqeCLEU;i7)65Sc6+^2iMz1Gq$^^p zA|8~>t;IcOZ9V?Cc{XLassZ)xp`Vh=?6 zZA>gDugW<_tTN&JJJf`&i!)f72}VK}CJmS*$K|^P#Nim2eT;|7c1ZlcGi03MD!3-) z1AE?2E-|(|;Tn;eJ7oz{Z_B~Vt*8fS{sVYjQu~jX91>LOE^`Eqd-Nx47g^a^F%x_H z0zG!;n_?|KhdZVXc(%Vo_E4vowcEp-?o%iA(|7QQSUgg^GRsSwusef04G}4o6JsJe z1S%`_;!+ODf~8%!+8CkMwT}(g>g;V~94ny$5{+$U(eooGHiC;jvd~F`6>gI_P9>WY zrMQLEqT0MP#}U5$FOGw-$gr%W*0N4MTrpNVvZcBlRcV%QwKrz!PAslSH7`mH7?q=F zVPTShS_Gk-K^9R3ws(P$47H^}HK}nH2o`p0_8hWhCmcn41E1@5L#kXf7KSC0*4WOrZXFK-e^8mhI9}wJ6(LtdkBm0{sC6+n1q`^gZg%N< zC!~83QjD;5V+ZF?yzQRJJlTpW=h7ouNc`j9siBFVi2jj>H31rT0 zMx>{g5IoQ=gDCHfx_}&=9QQg+?T3Q!ihVa)v_UOYc8D_kyQ)kI$@=cD@hTCfIdXBw zKr0Ma(Ik~FUIs)#FQIGaHjEe?C@t|eYat!B(Udn)iB6~U&)4LScu*1X4xl?JvW9u5 z7FiUvym(MlvZ9ueBS6w>Zc140yVU^tE2Rd&F0Y*lnU3n>HL6Br25N5>J?NE~CcRG= z`;2nTlSbpi#`}Vc_#_1Q$f%MP!IJpzwwvl5HX$o1)-}edQx>|NK|A}}p1;XUQ@#tn znI?Ff#q%aAI39KmXEQ6+bbD_W59lxH9Cg)w2Dy%s`^)lysz1 z$7c4}QV>%~c=$w*#EWDXB;0V7YbyGtSuUxJt{ZoLDr@wAkqnga2TKyxSI=^4kbrhn(MwrZX%60?U5Q_@eNdZPV;adsK26Mkm=X^53Dd~_vG@az# zu!=Yq#Tp7F+Lbmum4l+u@A%#`w2We$(3H;L(#ke+0b8SqfY!SeJMkRlv5et|`S`LE z)8bC=UQ&b%35y|kK+!gYGvMIsIs-vD{+5y}jhdo_Y9N(EiWTa59Sanx`j%L)Dq4JL zp>{vC2<1M*DG@VjjsjG~*nZDR3f=N(rDi!zX0vOXo{60CkgbyK0E{|0EePIG$o#Y- z^7Uy#j!|@E-ST$jbkABCfYGk7Q!{2?beoVActkd+gGoy3(+w?|V=1F%3f#kM%j!~P z`A5RDXPkx1n$owuiVAyc2$6MRq)OrOs#*As=PoZXT7%RaMUw$X2HpVu4+(c&jc;sf z5HdC{aEjJm5gI98&lpKrlDw9{?%IGo&<2w*B*r07{S?8Gd?}L9?+klkWVsu^5?LYq)D_p4{VAt&%7U@i<%ttI*!8O*_b} zN*inQ_8d$GGVrAVAymPw+#9z)BS6D2=08Pd+p0Mc5K6QRi56Soa9VU~^`@aayolKO zo3P!H3`oc1i(SnspXt_AMb)-?O8ah`3aX4lGOnYvtqXfZC`zaaIOy!ct+ zCm1KqT$@tJ!GY!Els+8lWrb~aF_FZZ`AjO4s3Snks zyp?UEd>NS#uMm~>^i;RVp}3!_t#)BF`hLVq`8;ZhnOd7jTr&*tJ9HCiZ5xPmgYG5I zhN@33TW&d$bGG`}R;!F;#TvC)o$<8ENt6*q3^+-~G0lv???%0%xmJ>UsX&rZ4W5Y! z$%l0&s*WDEAE#9(2IQqJ#<~eb(`6aaB$8B~rski&(_p+*KW87h>1sMfB(g@xpWeN1 zr?z9WZT(G6QGsvSpz%MYt3G}1#l0x;kY-%NoJi=JsXH16GSV)m4yb+rS_l+!~fHJDuUI(~Y5pYsJ_mCQ=aUWPd3WEh|aTd^=epEPEXKurGygC-ZtA3kJ@ zqB4EbpsfN6+n}L43c~3aPY!(*rdYC2-Er*PGxNh)IF|mj@_LaF{J7WrKVv^^gVNfy@#<5J6M~4bqlUqT=%Sj~YxT;V_ykTWzDv?MP zR2Hf`BZz*cdI)=@l#fP-PntcCf^N_aa!lo$2`Zx9Cu2B(()o9(Fd^p7@(6>uV<0X& zhCsqBJ0o^oe30}7@tCQ`kX(35#QV~~P03u#jjfe z;NwWArH55O*v?clQ-yDQhkj23PnId4C>Jvda5frGJ%yEPtX1#Oy-W9QCZr)E8pm1A z8n(c?W3H_V@ig(+yKU( zZu4ZStgd0r;e|5{W#A(b%cDiqr6km)CNNXa;0}D{#_iCt;oJnF6{Nd!kD}zM+b*N;kHxf?R`D~x!lqzxE2~@# zT8VBVhVTOAIYP_aLOjTpLzL0|y;??hK1mIxpz-=`Dft;g-njEfNi=%v-oa zLH%Snz;l*0~-3J<2nO=NOnXD=QMdfPmfArLReXG7u5ZC;`ZBgTs$=1BJZ0t zCnU8q#Nv1_8vqs+uT+iXY!X>V0(p%qk^$zlKVyG9go6hBm;0!X4E!n9*MzK@R6D%r zwGJBXm%Gi~9}@%a}SqQ?dl$7 zY{1{+hY#^{^V>%o_9y;5eE8_$|J&U979PR(#}EGB#^&R1A8hOZ~Fg+SvHEy0x*nB@R3nSn<&$co&4k{0}^kLiZhDRo5Zjg2@;P121HM zXLW%gp(iC1#V6;$aN)#=oH?vW42_8aQeKl6czg?8A#Lm!ZIQ{Z-Q341y$gq^p!2w>vZ`NW}BWpleCyEqHxL?4kRcs;W9B*v;syAfZ0gyxp>XL3Nv?+it zRv#`*ouJVE(D6nLKqq%;WnGYy=G`PR{?kZ$=A9|A?8 z&~!Wv810=_GpKP7YHX z!po+pzdU(ycr4z$sdwOYu_)>XyYSzy0=C=ZW~U<#kC9Gm|ES%9TtMcyesI!ib}E8* zyVk+;ig@<&1Va#uc5AMULH61v3}6(&dX<=lh(=0lcsonc({wbD>}{NUs{c3=ZR<^ zVt?<6mz^e6Y`1<=r{aMMbPlAzM!oE`sGC{`C(YyImq#b9!-KMTarg>)0cu)@+`H7D zhX>eZo(0Xr<6n_9_6PNNMZ9{^gy+ZDh0wf{<2rT>hqJMhL6IjQcOeZ16BDySBPd#XqQ3h}3+pe_!?1T+ za*9y*HD1WxmnfFr1zJ2QK@9TB)V45YU1H8l1;ki_5I;x}f`trVEf?Np?dnIqg^>nU zB|em}P}(Vr4vdipz@YaUW%2db_HXgyj@Y<)^k@UK zh-kYa0y4<1m&4%P8A3XDXc5;K9SieY2p*zTGV)X@5BZ$gaGEC!j|llvZ@<&%!9-kG zKeSGT<3SHjgZ&}$v(jKVbZ-z}kcq-cW&sJ117`kPKe+ZO{F;Z6gK$y^7SvZI4XbuU zrq?@Y!hr9#VWA>9>f=QH@!?m|e9vCC+Bo}r$Ia)+8+#|s&dL26>W%KuP^(25Cy?|h z{lE1TvXuOu)p%oIB^8cSB|EEgq8&wqBqZ0cMWBPpB z2jQ?b8+rY!nmd^N_(kIXBJqEb_`gW}UnKtja*3Y>v&P~6QT=3|%%7Q#Omv$303E433UY-W#eDlgaL(`CNvN2tZNo~;jwscxwlzml!LRXd0k1v~6(AH`lu}kw zd}8Lz!4TE-kuus+^r_gFBFf{|VK3h*u)YwlCbUAnMo_?0f>C0(%xgQaEZ+CQxR#P2E_6b#v*T3LHW9IESDkPhSBW;4qFw+ZHfWD!kHT~`fYF?0u{Peyn-RY z*ct=Rx%ANh@qBhEt$YTEn!piE>v+{;4>g;aCK~er4KK~R zbC(^GJd%foj)HE{b6YwYs3pR)7LCHuZ5tTM%qMPiL4h2GQ;(-Q1=>rwuWjtd$TEEtn}4vD5_?N8d{hH)dq zsf?yz4~khGxYg16w?`y88p^+9;fQcMQ%6H}L1ZKr4+LfN*la`&Li5I(#*8&=oFWa1 z%W-_}G)C?XPgnN_IpV;)gWY7! z8r1rEAYq3bjzeq>f7v$hx#NhQLtni8KRTw=_BqQ@zP~$nG?}C9v4b#1GnDVpd$)?? zEPDfu@J-C_d7TSlW`I8E+$}o3i)^XhaIB^T6o|McS}cjo6B~vUc-q$v+tHC1EER%~ zJ7AbQ(<`Zc7?=pi3p$Ka#z9gm=#e&&=n2wsxExQV5=pb=oj)5fy z0@XxHnI=Xq`kZ*-NXWfhAD#Y)aRO1XH*%*}!Qd|$ExY*aF|*MYIkS~d&2}~2Wd|F} zE#oJ|y-j*35WU^-e~HK?8+1Fbqho32u8$SY7tP}N)2Ow*Gcm_s%gm6^HgtwgbT89o z07}_(coo1t;w!^N@@x+VFoPqrjstqJ@hqJFqmJ^Xn~mJBVBD~0Dg35DJZsVSCjHq6 ztr7cd><51@L)BAo9P%!G72{2X+A1r<)Wv>2s(JQF0@=b`{&5EeLl%BgKjgkc{=%4h z?z;+k>Y|74im3)XFQf5r1%Z7^{d4$H!X#yj2)5W6YAQDtq0?M~R_UgU3b0M<7xV}&Y^!w(>-bhtf3~sD`>^ zB_Bx1nwY_wIHa3$9qUa@Ls5E?qQ?Cs|VZ zTZMcb*9CsrXu=LbrD}Y4gWeA;L)Nj!%U}RU@*Pnq$*1tMEG?B|;2x0b6cLpo#>~)yU|hQH5CG9=Ya#_&(Z{jBHns)euT6ghP+v!2hR%KG-yS8VK)^1?QLg56DY~C8dY>e+X|h9=e80EY<}viO-}AQpEl{bV0JV=`SpGPx^bKElN`d#m6n74_YMu@mb@K zmH!?*ew>j19)9~p{`(8>|Gvm^U*xzia@-d=?u#7v-z3MqJZZJ(%W;Vm5jl=Gdz8vv zPDzbO>?Gn-Yq@G>iE`2x@$-msikLQ-OOdK9_s0|wDBk2Rc#@0dKlQX1fY^)|6ytu) z^Zy|EZ{yM91pXs@`6B=QDffSBsKxm0rPMzw5ed0MF30x;J5TxZX$~QZd+MR}<7o~^ z4ZO+DQ~rFKGdld8r{??9T4a^WVv06v^PfXl6)&87V-~-r9=zfb_b4@<1zV! z1?I-`7xwbs7EgacyVk>lr@3Qkux|+G8qnCG2a?Bj4p5b(jdpdwDou+ zasJ=a;ra zLx_6gb?@lp#c{K~Tk3*14Q#jC+N|V1Dow|~<(kAf?a(T(b*vU6BTk5tZH9DJwhc3a~Z0he&-Blq%VL{ zbo`hyk6KB^Q!}C517Fl}a4DXyao|U+k$!Jts^ttl$FvD%T60_cieZH(1T8Wfu^Ixk z5;CSdW#k~mvbI{+!C;bV)De_{#sen<$IOxVBp5B{+8qvS!mVA_NPjGYNMcf=L1_zC z&lcpQDa0mGp}osrYPFhqiF20d6!;rYZW%Ed71G!iS{6LyJd0KD8Z)8d9Q1*_kR3#y!k+_YG9cwuMZ$)L*;E7BX)yIk z-BqITjwJ`i);y^BQ4_^s|742W zA$1M}b0qsl^}rDw@x@SjM6;eS6o@;^Lu%N*;|*mzms>F&I#X1WVjLu*>y0Q zYRhnTd5N(&NYP77VMG8d_I83`U37RLI#^{1ht+xhcPdV9fr5`BtmW9-J9#Baa+AEi zzOG$dOs{Lf!_;dA>IVZcRVfaF3 z;Ps*VPe=!K-U}u!d^Be6dr2W8GsCm7KVH=vLQtzGY&i2cLe)?TYox3*}yB*1%u@99C~@aWfebMHjH zOV z4pgMTD>$BNs1g;!4F->bvq4It^Qv|70=1B=kt9|0uTQix-Blr@@yZtQaIP_qp+CJ< zlOnFH#`Um3S6w5sUfIP&B%_-zRD_`c-oXq*)%0J@7D{V;0)hbD3OIBjvUmWAiZcvg zH2nNYa?qh{X(^C!g)hKZq(m(IWNf)HuyYGLl< z!Yqc?6%MhSYp5@UnZ-D1Ll34s3QGF!g2M7bj*2zj#4qG@R&z?jT4+wCWl1aa4|J5S z4}lCybTAMTlmNi>tWlq%G$;20ygpiH$=DN|i(qLSM%G*vVT9vZ|4LQ0qGnw%yS(Cs z7EGo#_T$vO(ILyIeiVhyQCCvWR5jI-%h;vDbBZCKIo) zlhI&-w~eY%X>ow{JhX=6Bw0kcOJ11~BglFyg!Sh}RL<#+) zk+V*tz2NPRALO74ugoQ5|H_3u4S9<`voe||3-OFEN%958XjMsohC=l)hl}WGjpaRP z+{t9-K7NREyu+v;baH7)oI@&KqK8OEO=ku?oFTivb`YLwRqSD%C|cwY*frN$3bu3t zL^%~>h?9hKkvPOw5X*krcVYHA_5shx^Aa=a!aCRbZ*eiA&?Aq{IkM{>ZKF9gRq!S% z%*Q2l@zsvFd4hTToRZi>;L*L9h@a0bE&E5v$nylBAeJ~}s3b5w_B${;UNjp&w+^0{ zy4Lvj{u#hH;MEh-iISo1K~^zVv$L{I{p9#p$Z_y<52kXXWK)K2j?TziH!R01cHHc| zY@d`0(WEAs)&0>Vc>x{n2eB?!e|B4T^7+j7Y7k6{3oqWiy8lzg&Klx;4zlu!BeMmw z+|pDiEPFX==tn>Uk5SXVLix@4COOkj=Rl9nWY4Z z(pnwbLbm=D638wcm0iPwxsu4Dq0sY5@D@0031NvzmsF-z+JNlDRMlBZl9vh`;EO14 z!{UcZ2{=(sXuG3n<%oPWk6SX5i7^w2mP?zFM|pAUR=r03qQU5}Z}U(s7thHY*3k0@ zXe;A}I`BEh<5of)aty8?iUi1Au&})B3wh0B5ktvFNtzsMP(`h0Dr#_#5EFJppuvH! zDhs`2&sfT_qsqdQBlLLnXW47jxAMzSJs8KngrYjq8VvQWY5@-8dl7F6wB^K}L~CBS zCQ3MA5KAU3o7seTwK$JJ%rUrOtJI}-NYlz87A|ynZH^s!t*4qJfs-T90wVrk^3`y z%K|wbM-dl_BDt-$D^XH4lC|NTQ5S8+?bQ1twn~lOHXVeXb#@hMoFZ4kyFhm`;f+|2 zEo?M>I5+JdRdHWJN<&4c4b{FmQR9s_c`zi3dWp`jsWhoN;|P`Y%YI*!qBVjeI1u7D zxTy|VdCTuC5-_%%UMxGgokqhXc^h~Bin}IPEE+;_h zb=OS-Jm(DO+?Sobr`mF zi=O5;wX)!Q1FSzY89Gb?8&piW4}IXz#=Y?@ydpKk1Z_Ac7B$D94EEU>kB%WqaYoI$ zb|nnFz2!SBR$HX5uL4r(g}CJsB8w4(o;=C9q0`UhmXy=5rnH)%kx9Bw zV8NT3(rhot)Cma=can1AX+qppU9Fo)ip_*TaF!$mO-nqhu6+FZut!gAr|uJ!l2=yZwSE)h zX4Pt+I`>W9O3XraGU;%@X+_E_@0@9*4aqViqU5x3Tneua7mWy4SEfrH5%rbV!Qw;P z{8Ql)N4kXvM~hQ5G)KbIFY2(hp(1crbyQJygIcJunGNr@v_lvpN8HZO6^I=2=tDlx zOF;@w6|O~sxVKRf(vsFf6>xRZ)(}&b#*tE5tCcMxuiT^tgHNzgoK|>XxF4|X)^Y1~ zgbU-vrk>?|it)6>$Gws)2=B}YX3ruun9*%EoU}xL;`|G@xlnFS`g|3mXXQ@YgJMlF zhca>DUaK4y4KpBt+1okxiISY?E=WZ8Yu?{+*QrH27!OOat^vZAQnNXRBSarTbHiGi z2B6e62B>-_{diVMEE@dls$x*_^dvH#AcR-MM)^rxp*^uIJp z!I(dGqR?#%9S#U%}Y|KW;8ryPO~z-b%4F_KQ9kYn!BZp%oSk@ z$!?o!;;sbV4J@OZ@OE?_4E4plvY%K)i$feRD~?!LAd97|Pgdd8ENR4Emx*}=6`)H( zdt2pWj#Su3G!?dpiz#;~xR51jFLSOWfvf6xH*4Ype8J1-^KigFpgq@~zgA}Ic{pXu z0qE5Cn)xSDKCBO@lr;!1_{-IJc4Je}=k$DB(8`!x?=kDgRQ^Z;9I5G3wZ^F;c(zjB z9+`VH`Bkxx0~ld6tVNUdS0qf_4AGVgEjQpZXUpr)8x3wz8l#UK3OZ&vG%AuJl7rRo zzR|Ecj1XK>dZn>bXf%K=dAUdm>pig62J66~Wb$b$+3dQUe9Zlk_M%bdiy$9EPocio z?IXvH8Q`p^*!OHNIEf~E%Dcc8mAZw^vr0wtk&A6Fi}3#* zCh(shJ^uDf{O3RA57*b~XZgz^sY947olaYMWy`!ID-#A$&_j;@=mQUS&>DlSBj;`e1@Lc-HSz#+te<*2H$Nbo}D*V9;uO0PDf(v z$Mu2xZrz^^hi`H#vIsjj6|#aQpuS`UsEY{kXlhYt{(@h6&v#q;`>W1_Enz3C@9ySV z#ErBQTF+0hAQBW-Y%imDJ6J!J(GuAiTHKH=v&%Exhutph?n|C!R@8|q+O_yV0!z}x z*yMJM9^uaIgDsZhS5^fcM$z;g4p#7c=9BqDzt?})3te@3Y!T3J=g-Feua9eo9sM#9vdDSmg=y8Ra|;>G79kn^Wu&q@no@*6t-4Y@qj1{gKKHL4Vk^s zY@|&LCPu!?25z~`vUiFbwarJhjUtwRR6lvqJ2^aTm%7pNO%u@; zvD15b&}p8Oy1XADRB1$BNl!sW|Iu{04B=#bO*7+!{=;(4_Cnpmx+k)GS)Rp!L{uPf zrbMBtGgTMUlIO{ls4Ak%nqYmVj=zR|5VkW@xKg!B`!mh$VJApV#@v?!-(PqBn+Cz~ zQ+zLIE8=eOc{Fab#x z;l}>uUA}cO1};*i;y5lQst)76K~Ls7>agbp5SZtCq0q1*u0=`EvegJ?SxC-aE2nCB3-PeTK9*MP|(_Qn&#UR<}&`q{oIi6LucZ z#&mqPCVLO%o{c`iI8oUr#~KOa6Rhsa3~|%XB6LQsT?eW>bv~7VG-lF|%Z`CaFO|C$ zbwq3u+|QTolRVk(<;SKR*<=gubt@iG2 z>v&-gN_B{X@hEX&Gor-+iteNPF5i}Fv(%YC3(2(m%9%KQSbm|^m&wwxQ|XBDW_&$( z!@8QaQ$ZJxrz_Dz2CSk3(=FsGhdjTJYmxkxY3jlGZt8|(r%%@FM3(h7B)Q9Okdvy^ zJtQO#^qxuW21_N(Ik3KX4C7hY-Kss_;(H%<=@ROQM%R12y=ML7<#ChSobVu{Lqo6r z@^ue70?Vnx8H9Do@cLO3Ryw3CY~XGS#p7jD_FG^zM=!H;@3y)6^d1I8PM*{uVQn^D zW~o!PGF$@b0S?bI-@O?-6m%MLD{pWRg5-qW#uDH}38U}#fZv>ZgHrdm-cOLYTd)43 zclJ#|S41Uq(18I`m9Rq1!@UpivD<#$K73Yh^Y?cBAHVhvk9!A)ukgV>bXKdkf4KXy z-7HIbSZAj{4EoMcS9v^xnK7L5-WP)8Sb<;R?9!Rgcie}jY8xCqBoZKQk31mq2Fq9(H*K1>rgtf zAXFzVa|^|E$>)|GHgfIOGgM?iuO4-F3d89L5o1sc8D2ZLA*)PLXu0;a*st>J6bmJ) zaaj~fFtj}?h2pQsq(yUoE%R92&^&p0ge4uK>jO_^5%_&~+ZK1#f=9LLs@a7g*N`nl zLYM(Bd-Zm!-YGFpz&_`~ld`pkqB&;$}UoD3Ql0A!pD3x>XSt-NT7jVcMBddSf`S5ftpQq~? z+g9BqF{U-rk^?rGZuj(b{p`#<>C=Ud{fZxyZL?w&3HyC3k$y0qP0;h*ypazg*-xu$ zk>Bu(ZU59GeZQb>w&L9Y>pcWkyYr^dY`i!WdDYB36kR}E)_nN4+S>Zx{ssrDzx`Gq z!yy73s{ZY7`8TZ$bcgmg`$Tr zdpv_2#`q`7?MLr6o)1*n@D+t|#Z}l-U#fOd5Jge?(q&gb>I|G#+))fYg;#aBUn%cS zF>)Q)9O9yiJ*P?di!s^c)K741Ot{-@w1MmFroW|yiFE@ijh{R1dglcvOw9bkX3qM# zQ^=STIcsU}wc1StmF+0`qLaC@c^uKe`K@znp;v_ru4!O-urnE-ihO0HKdTFz9lDid zcR%#bfwejpc*ZQo`z=|gvvM)s_bG{B2)5BO>S!n5AB*Zm{$mb*@BgxsAH6fbkN0=- zlM(+`lRTvxR1fiPV0B8YBJ^I0ee(bS;zJurLb6rX@bfH!`OzaI$=)yZ%TR%BG#wVNj54v69D;Oa-v^Z0A`;muX-lkb)re&!ZRl`H@*M_2KDcd+_ zG8d=Mc-ad=>wPi}RV}65WR+9$WtPlT6Gg{HkUG54NE5_Z&QBXv_3mJQKHc^~PmVL) z>sJ2-TpXX#RWE+o$q#)|4fC<8Q$97OucTkowRFcrWfh$h(U27#^TPB>AbZ>2?d{iJ z_u9>acn<~V|8#F?*qnaP{Gh%+grEH>^Mr7A0h=^>9!^GR6)5sSzMR(G?u~2HXp-$9 z*`RNYOby zJUq#!baD)xQ9o%~oJJlRlmyQw3K<}k4Is$idFJ~vip{^!lauTrB$}E$j!7IK!tY^p z76blvH9^E3tudRpqu?E!>w*h$3i46k8N&vTCD*iZY1J3`)580IbY7^_(Kk@u$GovE zg`ZHeI5?#K;R6ENa>9;j6S)_SoEg!>XMab{N}@YY>UdYUe+2XQ*fts~NIr-%s^i@} zAic*bnIIcqYBWR{PXbsoqtJx7c-}y;hT#yFAkz&YFO*y?*AP}5_}q?@%i#$1F8x_= zIKa~_U9!XQ$Va(c0F{#l-1JqVy6|U?78CTObpX|V-`-PB zl1xDUUs2qMDt%a3tms9NSK;6w_y*tob{c9(XtHC-ybPMXV$Laz)e8ZWKLdxJg zGwyvjlo~dZAHyQJ3I+!B$eUWVU`7kPifW;M?GPqBFR+0-M)SxXQR_)+u-Y(5Z{%Eh zeOhzI=f%9}^+yA=vMQQ#iq<67+XuZ(nX50M{Du~^6bPk)MB|G-jl5(ZXmTihzC6O% ztRNc#?o+0rO<3G0G}76!JI>m zkf`#(*l7etMt3jB+X-kA=IbC3z(>&P=J#2Es57+;MM6vt2Elt(JahVQ!=V#i;Yk_> z&oSC%gCqw9BX%VN+u`aX0OCO~gH=++LS2p;>|eq`4=UTEXFaO&PBC0REp@y3H-*#F zv$NCk`swNE=K5uk79yU#5EB!F95EQifMI!wf&oz`=nvQLqbnwtn_fmr5sAJ-WQ?IB z)l&)<4Go8A=Nm`}R$VkQWZhc3)S_-R)Cno}R358V=C81>KJQ&IC<-b>RZvCpvv_9| zPm4wTM;1*#vrBc}1sd!o0}&K@U?{tz5&l ztzi+&fnti%5{MHiHHsSIu*iard{DzpWEK_)W#?MsAIYnN z*xD49c0=nt1=az^>lXK%7*&!9{6GR!lXqgj=ge+;7|jkFjeV+<#G zb;-vUc*^xVM9T_KArQ+$y#m8l$Z+vBY}C%`whUgEtg|!Scc1`|$AFZ_r7mlNYvI+I zb&^PxI89@BiUsqd2*b-ncC4rCny#h#GJ{Vc$g9iziPcq1TkrR0BdOoSSwY%J^jpS$ z)`Q1sm!^wzKhU#;O%3`A)9Zq6G9p`qyb#AC72Y(#OHK*23y0p+k~h;CoCq0Yc|abN zA>k+nDYKDqrqtz*gpv0phND{Lq~ViM?pz9`r?9w+S`oi0hR(T*;EGDCm^PO9Z&ekY zaUGYr4;{OgUWmG;2oow2{pqYDqJfL=E+PeusCn=$2+VZjUSfv(QrKXeFZql$S9Uh@CF*6aP|wrHXipO3s4L|Z%* zE!ZAtN00-`sx%&ZdC4Y;;FtExCi<_K*d#P(J5@L|Ja6v)bpHvPGz-x+5FP^#)71o8 zD*DlQ8L4L)wEt6$m-$P0eNkpIbZ;y(#zCVwE3{PM+-y_?nZ#_d(2Y!pu4y0<1DzA$-Y*AXfLTKOa#i z%>STim_8AsMW#+g&7w9V(@?kS53Y4;wFh^p_f~4XRo)&iwLhocu|nn2LGgZq^3kgJ zVMlDq<91;K%~`3TrHGX(i$SoHot4X#_?|(t6F=mF;+`s{F&^jgKYHU} zOB|`VpOP~Q$&F+NL&qbOWTl#nAPg<#APAkZ=ID`w>Trn#Xsb<8!z%rKjAoDYk5D)C z7R@?!M>`2esj#_I)FxtQ@YC3b6|!`*`8UM{{a#;!>cL5y-7mrUhR2af}~z{HIXr zDnLEJj9HmH*Sdn5w@I4k zd_;{irC8r&j8|k@lJx45(j`p@&XK=A&Qtrusdp}PCzyp-bmP#A9iByeQ(RC~?DTDy zK?jbz(PEKM?bv)siPUhXTR79|Q9hJJ-(zogtt4BElSJR%rJiS|u@UjEhpL7ys>a5_ zIHjATrwe-yNNzI!QW@SHO@hI!?^?6h+HGk?BT}PW(OEkRUT)1iX89uLf78H&IicC*LEfAvrNc(QzqEFnz1Ci{-C+}4>9q$N8~W?CE+QIpX$nA5F0hh#5l?3Jlb1$gQIny@1wmbhZB5<;jJ#otJ6=2(oBIm{n|d$L{d>SUQ;aJ0+PJ$ zO_=~#M@1`86T+eZm&8c<{$JTz_V8<=kLaw?Njsb_G6s5cN*4`MPyd z+AQOG(yw-kCRtJ6`7F`V=<|)Sd3_1i8|x-TMM+y%k@*w#lRzwVChB8+raLru{*~z5 z*Ya|hUDwih%Ka`(^*y)>VD;jt`tr4S8(vXU8F-bKDuU8arSLtubf=cPFxnhU2MkH! zU5Lgmc_ergJ+PK5F^nEREeiwvC$@h4dK1n2>;$=_9akatq?l@nRY)Aq&+U? z795Sq)UrsXm&Kg6t1N1J%VJJhL&8J#RhjRR4OHF4xKRKJbS-r)nc_rVp31%^@B~=b zh<1e!E~Mw&1+05?B<#8Ut3dhAp}7>WNTB+|56}?uC}|$<GKrwmzc+GJebF`N3%cveEba=^N$B zM=o~s_XeLsva>TCd4#Ctp=ipw!|C#zRu_=hwBb7(#PKJd#pRpWTr&BoW?~gjTntD- zTSnMN6W=TE+?)1%7h_{{?l2dLOR~6%s!Ci=G&h-*l3O4eU|QCV%GB|bhiUNNGfq`k zy-Y4>OljUHhtkfRvc&(>20OzB$g*X8-aKdm|7q@$Asrir;5XV6mo)z{^5t`7i0Fv^ z6?s~*#TinR5hI5~+TUmw;qBAl@lOMaQ7e52Bkl$0AnF@M58`LQQ{}`-;iEb941$V~ zdyuQ$g&0gkHiveN8O1FgRCJ&jJnJEF2{|7!k>cuCMc7|33Qpf816~=wFjjqv-5DI!46SC)U9z&dB?T$sP?acfwWD&NoAO)I;6SQ!Eoa$d@@8(Pj67&r zGHl9hI;$izmgs_O$?Q=dTA(G3zJUPh4Z5}h2j1>CI~@d4X&*lC?d_^Wu!Kk<+{3WQ zI~zIN#(pep;#OAgz@CK?VKmKVZuKj{lA|@TX#y6Uur~q;sIZk|M1<2ABm!sqn3Ikv zOoR*KlDX*9?6RRD?1I**LnpNU(ZuYk{MTW9W zLy|VO)8z`k+DyW61v6! zn>dN=GH5!130{q{!utUE(p2n9k2Xz?Z7*gQpTI>&IGNjgf+fg<&Gb4#y() zEtc?83W_84NSu}R%CNM&@!Set25;U|9+z`^1euSLPW#ektw2`g>YN<64xYo%CEx-# z7r_Od$Y?%XVQuz)Cmh8b;V33h6fF?Nij7=H5(q*00dKdHq1>S zfT{zXo8Ihfo1{FEG3oD=w91TzztWT6b>;{s+SYM65y(Vx*XHr@;c=-u^MM%#m%jHe z)Jf6}%{FyW?gVCfkyb4?v1qX9JRhYc#S}I5`NWld)_urph!wItkRmn$58Lh3UVbT? zv{p=@>#yY2>AYONT%=f;Peg49nL8Qzzsg-KqnMo1lWmk$VOoZ;iz6_5&7WbZq2S@M zXOP)t*b&aGOu}RHP_cZ?0GSiM@<3N37LQX%un#SYG!!gx_pn32q$UY#4N(>O)*YkD z2x0G$yXXpn4E=&^F!-3jj9?cF(nC}c?!|>mj)5Sz^oK#nChB%gNP(%ud1V?PN)xw? zCAtGPaJR&KT?c4NW|9yttmwpnt!g&slKjb{@IZ8=^@j8+ZbUx`FiW!R)JuXiV4*C0i)>ew9NqcFE}r<7j7-BemD@r?-8d0J zWjiJ_sP{Q(7VxQP4ov1whz_-!9UyKY7DE;sgB=X6e{o6J0EPF&BR}%n>BJcW@#B4Q znlH#Cr)oRh%!^I2B{m;XQcR@N$Ut#gcZyn4VApnn^uwk@u9s7A}pz{fC=S>Me=voEVbJW*hxj4^NugqH)Ez zSR;pT(##n~c|HJdg#DD_mm_e$a+xG-jTr(-P*$=2r^1Z3mZga@}&G;U0oH=n$KGY@mu{Y`-ZfOY)Pkiup6h6lat7v zS4H`(7@Jv<+Gva#!2mLZI4r5YJZ>^!bmi`up>vBUr9e<{_+Nxga9Y5)4HGtiZd0r;X$F_8zhH_FgqWWDfM|!|k%e zfyPOeCr&1Zca`;@AU?XJdetHmlmsW6X~-0i%Mfu=bt1?&)=l;{*90+G*b;AuC*d2^ z<(`uX+AW=~@xmE(Ov8aXn zye%a=PH=`wUMHa=XYjNw`GopfZiqWYwKW#$vD_WuvHZr5kN4rp@jm}x7@#6|Vo~Cp z%3`y`CyfW7I5I0kqtGk!ESXSAIzhl`%W@cTGQ6-)78hg#F;#JZ6PB(Dv z*qMHtEiWA%->5pJqKfevZWlI-QPpVVwFUXw(3`XZ-ACaYH&Z{jPFQ3y&9Yq4HdM%m7>E9npx%5-3h*=@~3!MPgcD!p3GRo4Lr? z#$Al9BvIa7Sy|C7Ej6SoRpXm)@QwB2^=tX+c@WF<{7}C6yYtS8=6c@vyL<;b6%3p& zzWp|uV(;5;qbXvqRfS#ww?^IjvCHu>Ael*ZtWud99zAwvh0U%xYiP?7%2(J_RxvRb zxS4NesTzrG;7yx(zDQszPd(Je08ouP?rj;E>M`3!IdWMwwl3t zyaYyRrAW-~L^(38PEgoXCtB<<-T0nqJ=NYo6c$x#3&OFlep-i_xn&On@dX;mqnDi*rRRZy?5rQt zR#xghKg5GCErjQRfu)v5*Rz!LWW|FcY^SHdrShz9lK0xXl)9wIFi0T5IzYh{aoO)* z1{MM#Vw%AVBS}Wi!%n|P7S{}rZ6Ags!Nr+$x9~oi{v#E3mi?y85N7cI?E0h>M49ym zDVNHOthlNMMSkan5@8u}+_GiC$5ZlV*jj2V*VnH#8;S9Ci#0@23l8jIKPyMGllktP zLidpA+l3mYpHe8Ljunc}%F*l#3vI;8Y|JULku0%c7ub;Hp&W%43xxXve5PAJ>q=;O z*y_%Zmq?_wq4!n+XQ3TKFjmm^L<55|uwo5ul#uJ7)hOasA>P8AR$(cTW|#KvU(>5tXXCSSlz7<$rnkt)+7m4x`cf4UdAdv?(S}Eg zh`bUe;7vC9v&9pYIJDijhuIUAHq}_)9ooenW|yZbdK_CA$0-ZLP8)0IvAr;k8w!vj zo0*~W8^+FYr_$1g14o$X4O)jp+{Un$Z@wvW@Q7qm<`HInYT+_FM2YjA+L0EXZ>JP;NX?jeBkrzZ z6Ok!nF3tEs@7W=K9JT8wbHcC?7L!KI)eSrk@MBDXf6^fcgFreHpEg>oowP#?G4h-} z1}N&`by)JADp{|zTdQc43&aARO-UPr#|5NbGjPE6;v0 z|EMQxmaZsew2U9z!Ou$$WMmi_l=|+2i21SyFj(sJLm!y=`r^``-6?W(WTRL(9i)pJqoZp5En5O{+(2#L-xJ`@6 z>%O<>4+n#F)QY;p3whpBL6CveRrOGud%iRAmZi?4v=sfvAjEmodBup$joQOAzFeW{ zQHKe_lcdx|5><(FF$xAV$-?9Y4NHab@|`j54E>%-YE>>P$&Rn$e?=4+v5ewyHrookjjxP@P9xfN#IXs&t@ z1SN#jF2A3+)7iuqn@>Ih-!@#duTqm2o6xRn@Qw9Zq8cR25U087;1)z7uaCc~uZERa zCz=BCsV2xPcP(!P?QEAU61JVlexme_xUa~FYK5P$L)k@??cW@0fFKk38DFvmOg>Uj z9&@4w+L@421I-&uq%0aAL07Z`G8Cs7FSm7F6Fq6e$cBd3iiPLL%_EV~G)SYSG~c*K za;J9msxgMr;TEL4L3Sr(i6t>^9I?R{rVMsH2}YRTmg4Ce7}1IFc4oyL>V~AuL~M=a z++cb?Z`zQ(z%iHy6cD=0H}%4syDa#^RzF^oqjBNQXw~4PWV%chmxjSPA#!eYj~AP?9NB#=KctxM)(#tl0ULdm5dG4}P|FIjmoY z4EfpScy?V7vKLrMcq-|MWpb4V*#hHUov46e&YtUYhqM-7%(D?IXL>1q2J(CKI~@8I-`Y z$jCa?kAVryA}hwRh|R6Yg1k$Veq29jx1L2Q%q=o4!@P194I-`}d+aur96Ni%Qq=8Y zXt9}DRjI8n-^R~dRQh%p-3*u9maIjVwkIvcre&wvTZe8`=8h4o!XR3QID~+zPul9f z)y})Tx!j@76!eGxVtWbZOJ4-GsAXrKSh)vqI#LYIgtT3FfZVKgyBnKZXIj5cKtRrf z!)*6vJ}bHhJH^8Fu&RHG!u#vtN4)w+N2a3k6j3zSmZAo{bxLqh9E5%O0@li6RelwZ zYBvbhEiZ*}_F4AFaI|xM_z!ErW+AwNO0eA;?dQ~Q>K`!{p)gv}Frz5DusLQ;PG>#iCivDcSSCJEdvqyVpG{^$xs@J)-qz ziA6H=6NQ8rgYG|7-T~pqL z3QickYL@QZqKZ{$t5^CoNR+srQ2P6a{n4FUd$ zLUL~_*nBh}Zv^jmi8d^%cl8|J4Be&bKfeO17kLM=D?;}D;fLQo^ga~D4?x!JZlsg{ z5gtXiwbP7!?ce{o;}YGpml~_|o~pW^wX;6|1X$S8h&uqA>UCq{*H?Fu@|IYs6H$HZ zy5rt>;=P081YT9T6CXy_2eEuW?UW6!jvS1URtrpv?>Vb%N}pkBrF7(9wZ8t>^yb2; zil(io<1|~Zy^Ri7XbLS6jH8T8Q5D@0`TB=_^6IVEr8}U^N@2C_A*!n*MxO7DoS`;E zA(52@S-OSN=vfjal`IEtq0>hC;!6p8+M`oo2h|W6e}v~#+`PjISsftARw&kI;RJO_ z+xU-i*phIq`$sJ;GKVtyC;_XIw@c8EfCizB_00F=L##Sxr%`kWx`8m)(B(d;u}ROh zD{)lNgAL(a$%>TCc_M=kO6ARog7VOaV{!9XvxLAo1T=f~Q!5|g}^i`{B3SNDw5*D|er{rKVMY4C-o_~oC|fCz(9M;$6ZGU1n_COsLl zc(+zTFwh&phSiU=90ud=b0(95(eu!QwucV3rSAU2&WkF))FDsfh2?UQc-Dm8`mEmg zxznz9Ud+YY-^1B;g*eTO+kHXdeSN;zknS&R#!vVz=!r)$AI1}4FXt*OJ27S-ksPO9 ze>Oxd0bLqvXQ8dy;|;B`B}9qAfE>3qsJD(QiWo1vGZ-|fcqm92AsH<-czHd9@mi+j_19_;TUCOZZ)p)`PXksk_1YFRb&eh zT#7e&*p^^ zR?g(IR^z4lE`VjteW0OR5f-Q-NSR*^-LWI#^`bN+V6+e_X3<(6A)#59Lyt&_!#!r; zx{jNjm+g~Mm!B)hE&7#_2*yt(OQwJx;+G7JVEKyH5hLdW(G)r_pFeMQB$R2|b3)0P z11nQ_|EwNInjz!>YX6_S?sbvb>w0k#la3%y*4ct-&-(F1VNwtXJH26aob&}0Su_e< z0sAO(4M%fG=bWhRA#G#Y!=OWqTp}FMiNeF#OVBd(ig$oeLY)~hSc36Wkj!13h-huX zk0}{m>V1oJr)oP*+d9>@iqI#x@gE-^o}~GB7*COSYU$$hhE(}S)#lIV%0ZncVQw<=RS{bBp*&Ti}Y>GqFLSa4W`ib#{LE*+ zK=eCSVMSn1K?^$tP(eI}fV)DF5oA8ciX4C^bwXNGj9IG@xlo0GdqRENIc=wJyo9~44#uj=b#T7!ducw^Guc_IclPi_oh+XRX_NcSZ?OM z_Ugfcc?yu>B>H`t8OhkqDf5!A-Z@J!n^+T8x|g53LMm@y`Y;3GMcF*4KWn2MM&suc zl)0!hXQh=Z5|%2vo z7;8Qxp=l5@2ej`^8F)a)(Ly4$?W8=XiK!d zC@zBll`%2=jatswmf)uDIdCXlt6q&~H#86BSwRPft3PWIeu#@rwj){@?;HaXhcH1z zLm|a!bqxCZN;|3|?j7EfqHU9FAc|JrM!3c{39wg7oRhQHP`HQ@~%{mwmq zUE-xD{8w~j0uVNu?Y-)QEwog4arE+auT_8i5RZ4wod;XF6>WY%$sRvUN%r`mP9`s& zh)2W>dC;O1QmsLcdK2&F@uznw59s1f?XI375|bzv+O31;!C_J4^>HfyDSe%O>x(;X z@6w<3hB0OQU4~|5?ZFl*MA&|$y}JYAT6?!T9DEejkvqJ2uyr1eym21iqN&N+0gqrt zT1e_Y*fObE+me;x@xybbowPl%OcOp=bL@I$v|`D+KYplE#cECSan7X7L32Zx+toFg zD4%1s|K(HD9nFS2FqHS@31+y65_B?texz|QEWr##Bo&QAlq1}$68oKJ3EJn=Fg7>W z+9}C~v1Ff84LKzI)umjpi-ld7p=awJI==59%pT$PeS- z+MSI1dWL?0vq$*g`wjCz{+f<2;5+QO{XcCs3vm!k71V`{u7@fsyf6_2rN+c+0697L=ZdD^01 z5z#@EPO^w}cm)ykl_Ln<~a>AVM9etv6Ut3Codt^AitC*R#FOmu+`%Npv)C6P=*ppO-^;R zlhTT`YAct|uI_k!47vQouEOvp9DT(?v7lf?lrR9;LN%b6=z} z?N6Q>oPNp4kxd}2mzNnR7*6QswA{<&jc3hdr}Kzp4At5)6_`I#i$!UYrNe&kptkky zk>v7+zUVX##UUIrJMILz?jwpwN~fgiIr^~z14J`!jEGc~)|>3_8p&_N8QA2qc zHI&1Y@~c5&`CQWB2pA^0ffD$vIe~FdOv=TP)<9J5_oY1_J~co@2B@qd?d=zOTXoOQ zD)>)X`!q#pv#DX~8$UR+3L&D0N0D2)n9)rnyDi}x(*Q(wg|q7|f`N&x+IO{$if}Lc zq1dd^C6MpJEPaBT3XKc7Xq_u*P4&Dr3~CQ-kmZLxfoS+o2C@@^lxC6*!k=vaXL!$b)eT?ZFIf(YA z(lbh%wn;)Ssc7ibd!#2rd^_Z~-enT_EraUNXGWS{|ZAgU!iuB|pl zT9I4Htlf%LG2czAm|4V$A$poz#`;U#89Y`aq22Lt0;x(wykJa0mYJ387xMBUJNzAW zx191SK}g}mo0*=>W#BuyFZhc8!lgSD>Um5iL-0(aD=2aUR<{tT_IG=S?Ok}(c+vW$ zIoFy+qeVsY&}FPmI*Js7>h+@v*&vK7Vq0p)$uNjskvj){+u4p^8{$(7m`nn}5UH`; z|MBimt#VT+y9rms#PP{?F;XnQq;mOdqF{b(L#1>ZD#QsvJ3t4^3kzg6!EjIwr?*4b zW;?55*PUVzGT*i0qi7yw^5BH_`WhytmV;M4+n71d0}7A;T7@5IQ(L4A;{b=A4PZGF zqtQQp_)ujq31@yJshQ$*Z7%yqPwNziRFGjN-X%JtV(271NHHr(tx3L+_W0kY%9*=5 z6{iK-oVcEOO*GNVOwWFlNefLeQhFtV?1UR_&!z~BZ{mzs9AgnP zRy!{n4ajRf*{iqOFOQo`2VP#rJyFmFeVj0c5 z=lMM+482QVd4r=p6~>shB3~)&r_yHG#GMvH2bks>vt<))hSaV=q_kC50Z$zqFS2r+ zIvzQ>=XDeE1OQcfP!>|Z?D~TmQ!sjG3lR}R@S&bVn`=s{w$Te6fjP`IQ<8R*gJ1}! zIDw57CDP}LtJ^W~`7*`FqtbBzmzb`+OBaYe>{D^QQ18GD7L>Y#D`mK!;V$7 zGl?!5h@Y*go<6N@i$u1s6WIzWskVz`#!(`3KCba;{*>c;ZOgl@NH&ZopCXW#4VAo= zIv+#npk!Lul@J}vVpXUPjn?h7@DqrymIR%Z9b|zL!9ba`W$g)G4SA^Ks*Q-@JTnZk zKJE#4IfC$4G#_EoDent4f7lMmMEq2gIxqzt3=Skgt0o+wP6K2Hk~=!Sv?rQjlsWQa zk~#rp&6tG)nvcR!Mo=hk#*#)VTxE0&tY2HX$Z6`U7?R2s+I*mwiLgtGrZCEa=m7^< ztcEV(Qw;wbM=mv@oV>H|7S0M=_An_P{fKzYXUIb9`SCsoT|OfssxYW#I=%r~M^`fE35=KTHakv-3yp^Rc;=%Qgn^4iaJHM zL02FKAqIa7htwz1wdvVy2QMy*ys|V-y$hq-Gvym9O{w2t$80b(sC6VQj23k)# zx!ff;8(~}ijjVmcc%VQ6&$&GyLAc8l8Oqz)kiG=$J+o7P*4Q<1FzM8*5B{TY5QKw& zUXI7|Ku`CS6q~WacV-L*hM}j?d2}{LubS!f76uGMA`WIQd+W%Un4V7xNlB`N{D2+c zb$jqgFy9=v!pNvB(zO0v#Qj7-r3yR`tG|YOm1`QXM$io zr-;F5SgVvZ@OkOabf3QT2T%@P8NHZI26oTNfQWK08)%;}Dp9}-{ojaM+@apCht9AX`OVk(v{~f{5T;rF%d)e>X)997w ze}A)%a*1g#&LUL2qZ0;pIR@@_(dQqXw5QHnSGAZs^%0Vv;S6!uU);=VaXCR!=p*7o zlRXSwteX7_b|4*llIp-lK><2ixP+F=@zx2kc_#J)U%yp%N(;3B8R*e-UNf)}8$IT4q)}zO7%c>bIj!Ra7 z_tRo1{)qf_ zDjb}wZ~eUf`lvi_0bpu-CXC2$%8dHHcW}Z3j$C6(KAU0~pmN_Exg?}e)YKU*&XGF` zCbxGf&l!1_P7vBf*74C{M-If`ErtL$Q;uepfT5beG=ohA<3pRN0#eYmYr0m4g>xc( zYmE@r=Pva%8fU3x#cvbm61Mjtp&}}a9{B3JQ~52bonGZAdpf?JGYMvBDM0i4!FP|J zb#^Nh6Wet_FadGFdyBLCVm3iO5{p}YBi2K_>W7N=r%|~jy+v>A^r&eEDa@|{uYp8w zaxqlQ8%AHaYYDMD8Kr39DV@yYM~@ynURj0lBQ=h~T2KH7&`Y5W)COWJ%B%zO(RD6d z*wy|8ykySUz5#ACQDzUZm*R9?JbZKS%xmJo8*A1Oul8>A_`h<+TOaSuU=hPX0=C_) z$6K2ZAJTkP02%BFORU9ek0=p7KD53(Z(sZV@#Br}tQrL2mNolado9`P8Q8{QXMN#{ zh!DQegm))3@dEa9(R};X#b$^j)NjIO$!shXp-Toc4owGl2z=J}`WkRkn`CQA!NiWI z3X_)}f{gT}k4z6{RFAhkNVAFcKbg!PKdgzC+Kttoi^ivT??oH3U3`cd$03HUW;G#0 zhXi9-oUpwq&a#JI%4E&s$N=E>teh)jJbv)qL#C3wbgAWOUJTI`qWU|EXZ?&$cw^h+ ztZlB9Gk5b zyBPG00)btuyVL$Uws5_FQ5&q|6_J~8h>OOil!Wrj@FP0ss~pltt{AS@*1Fvladx)8 zUR;tTJ=ps8@pp;Nn%hZlN|(?$L?)1pMHh83uVtxp^4f`AJIxwAQ_E;Bo^7e_S&9vQ zA|tf=c2(@79AOE67@}Z0h2?baU7`#xZz~9XMyv;U zR1OMXi>I1Ru_YdehaiwX7T=2Rp0H)P>05c$DwyxqSDA94HWwktuXv~Mo<6IE_bT)^ z{Uk%Y@ap47UG3II-mv12D)(Rk7s;K~_ZC`r-j zqtqHpPGY(y#h4XE*cG5Ms>iOc@S^8E*Z1`s*MFy!W~p71k1Sdam?8hjH#);9E8e zIw%Pp@#sW_<3+Jeq$EcYPwkU<($v}#m9?geYbhs z+imYP4i-nSv{OfnJoyDQZ!o;*`?V{M+0Oq#qSis9{c^XdZyBP2)FXA!p*4?xg(rtc z&4XU2+1?W+d7skStDYRcY*s|{clA~EWv6j?+)TZmVN*wyey`r{L+Hi!wnW>BK+cBaU?BqwP|u z40N3-h(#d1y1ibhWZGBC%ky}?TrNM+T@lHwW9&TK0>M*9-%JvM9jG7<>OsOfB1XJu8l5uK=B|ot&*pa4ylSYVyI0#({dvisdU|?nqh9D$BGH%in z9C$*xwBg}XNT9z6cRp9;N$%sB73V1F;)H@_)aoaBpB_1MSm)hRZCxdPLILHTh;o{- zk)2%~%M3LwvYb?jzWs9#YEE-;5Mj($o-Z3&k z%@ zlF@4yzIGd5KiG<2zeNgcLxF9E8=hBSgf+NVuZC%w&<)J8gRw9nJxcXOu)1 zk&I!bT-{iu%nXS{NsRP_tnlZYV6ysAlHogUrA0KoLaAgqw{Ayj|G@`sc9M3II={~B zz_KE*zVRpitKI9&beFq}<$E1*DvNXFIA5kIrT6*hJ6>DpnG$s?mi@yHD)gOeLncs- zqa)=8FTWXVNOc@V!|ZpxD-04n>CvgJcSTxpojI>_i|Vd@+{@>3^COvF59t(2uFu*? z_j<^vsVWB=T5AJB3E8iLi0Ozor;)N+&#)l)mr-l*XS9!L2n8j{r-v0)c9@Pvm_%Kk z>P@o1=ed)FGDWW|?mjAs)GP;_ zTES#9I+qiYVFxKQ2Y2pnS=POJUCAryoo~NgKmdm#`>i!3nj7#+6=oF`A}cZ{GVK-h zlrHGWp5!k{7C<#(J^&5+;0NV2=`JOULhQ|!1(zyXcE+L_s6NXkkX@gc_-R!u;##Y6 z7_aXLDWx1@ zDvLGVkzDhVY=rbbOw-JH;^EvSMpyx4Ci|oesK;=ItSX5X|97{JmFvDB$ze% zDH_CI;W2n$r@&Z;&i4#Vc7E(hnulOKiS`nVmz+$QH`k(uMiHsQ zA9XwA{(s(z*gmkayhOV&2=CYi&m+8(a2@qIoO|kyXaHEbg?8vT+B$Yfbr8u&@!+8f z5n^ljbTX10T|ZaV#b?nZazm)qQnr#*-^vJ5g58@2I4IH43Pfb3yNk@!?3}4Wge7T6 z+2bc0+`tk6lClnN@dV}6xksG2xa1=P=?nsvScVja4%Li^#6WkEJP^1X=@KeSS~0as z6IyJ{_B+WfNhyzFIOVXmq_7D=M3~~pLDgcqmL*q5B>Xk$&JC=VIWHqhD{&n zQ`a&s4!CzX4~p6EyaCIJDhPrxZ!vC7ru(V4X&KcvU}!vqG`ZXcUbQ zqt;lFgw-O6BgGL~L{|Sju3mQx@!eanKyy6&rR8Z-S2J1HrLw4((SoKi($pdr_64vx4O zIF+Ml(*>U#8g=Rdh6hqv@8!Y&yga1XMkYx`>+odE);t}acG;Feg<6}PS54(4PP7UL zfnhL1p#gz(P*6ljwP&9_!(vYKFY3p;jlVMhwZE3~PO92AMPSD$A4Z0WWu44? z3PAV{W9h{c>xkxQ6`M_i5vx2gn_O8r>ED9;hHkYV_*D?oVHfnLdZtPgT#KK6l~ojH z(c59pGNeY49A)(poFp9I3r7a;#Trc1C|#*gi`3F1c!e=NuDy`#&pE&f zUA^#9_eFfJ-YP=GMInzdOvZfLa@~R6oK~kn_1vu*8rsBob#-w+#M%()j)j@g_cH9Y zBcrAKO1YXcmXgY$d^9ZvLZ5my*Wyt!QztF=t9@gnCy4G>G&eKDrSC=KlZfUJ))cA` zE?2rY8o2`y=!Xs zj(!_ht7!CRV(E@=g~GP>v5cJ~0)t6tlkj2*Nyysv$d#%^|O;N?UhKf=;bWU7n$fh6_q0NLs zv>CxSh({g-1LKym2%|BjBO{8GWE*bOjb?h^bgT={WW!>HgRwLkr#;2REh}lp1(!l` zR29@mkcI_BN-xbEOQ1DIGe;p7^;$8g(aod!akIDo^5D4)n%r)6P8Qy{kV6^)3sX?i z(agVed&H*@%eGX;nXjx`EiG{zjykn)T$JOgOBJ4^H4 zqmZjTp<}KRGB2dgMK&%O)s5<=wE{@Sm2N>;xeEG%!I>N-DfW>f$%(!9&=}mAZo{KI zNa)>dJREH2wdu0-m7;eT74j^vL;Q{>9H)jn z*0;~_-&CSUMD=J<^%&P*bprok_Bv&+FITI0+ca^N7fK#FGN^#n;#}%H(!q1tRP|}+ z!_zHgrFv72qsOmpn@6PP$Ml;!r};OmnC9$C1s$$$uZ#7|;u~>_FDUJ4K2Gyydo6>g z$tC8~PZC|*UV`drDp|TFS+4t)96+FFv#-2Pa*R~IMg5Lf+}J2S}H z%w!C2(-GnEZu?g_`L-HT(4eF6;$twpKRP@=yS{Mj8RUy1BNQfZx z_QM#i4H0XUhW?)gDn?-%bEs`cfZ%HpS*;2b5m&5bCVB2yTtf`I$4-y$%;PI3J=y}53$SJvCdFp>2n%}!a2 zz*MIe7Y7R>%XwGs_dWObonrW5=d{%A)~o+;s{cAW+deISINkhk8LL1d&-#aTok&)I zk|E|Yb3KBt=Qz4Dj4r)IO;ZRJf+o>Lr)-+Fn)6|#mFszYScp~Pjcq;@FP2-scKXD& zipDLIkKG_{n?Fl$UvnIX+?Ln1;A;KbkNJ3bbN7xQ6Q| zhsRh#{!Id%eN`O3tq7kjvsqCj2fAWORj@;oq!m__#vq)!V@Nt7|7S9TUnQvl;b{n^ z3Z@`-8(&<>18c1&b;#4vxR=&8eoOgb6{1#bXPwr7F?>}~qqI$=TppCE8ibZAHioaU zDxiFv15hRQ^5f||VniO>fu^~TGsP*c%i3T zr0)~61+OkRT6ItA0#a+J;U=uh37)SqW4sCp6pyS4LR2zdin%4kfuHj z{1bVhgXjqGVB?7#VZ5#N;K9Kjxi)*^N5O8-UbR}5o_%PSQlOWpj%Bro{#nbHBMyN4 zW(VKcuT1IRe4{+ZKC)i&y&Z3=WGV@@wDa4|fsKyK;YY^dFG13jTdi8ja`q?w`!T1B z$1&T%AmCbxXi`R7-Mg-(fsl@Ej4X500;2HkpUqy`df)CPr_}8Agt9%){ld4i`L6=qu0Zu8ixnD>Kz?;})oEgWvc|aRur1vQrCwZ!p zl8l02`m=R@ERkPPZtxM(;oQ5#xD5ncgUmKL1&aka2MZGy;Sk*d>)g@gwSWcBE?`WA zN>y_((pYo`X&pN;lh$kTfV|v6E|wK1^eDc}AX|)UrMDqW&wm2{u*PpHuicT4*vnvU zMTtsL1`~yT>vkVjzdt+syuBBnr)0|#nH=;aW!kdoj@tS?=kY_fY{9Yak7v=lLhQju z#^AbDf6Ul+cO5+L*}Dy|^_C;b#YTEJGRI>#jwrFBbU7Piw{F$Ge^k4vKu-^c(9>HI zM%YB|LtjofHc>z{rhq%ifYpHr)M*SA1euRo86+{n9-|d&!N_tL`qi&Qtw#!9CdH_LS3k9VlCdBvOmW$;0#AHYzVn1M=a_PvwSx7ih3cymViC0%P1+}E&+hkCA)RW zFf(LmL#1}as?CacRR}+VtbFS`sA;%v=m!u$U`1gGaT;iF2WuDDs2IBwy2*g$t#*Pz zpfS6lhY)U!(MYu#M=5IzGIUMUhhadf0J)+i3E6(AEVi7?!El7kO|b;-(}v>`46J%S znW~YI`a|+1fa9e)<-@eQc85c>{R5*0g#0nT`I!e_|TDeIYLI<)` z4Of8Taxz4hV1*zJ<=$yXoO{!2ZveBZ^k577?eW7h7egvAqJz!?Xm^D3jLl{fROF4C zV25DHqd;*oNSS$JXbfD~@QLATy-M-gb>0@mTlW^-X-wZ)jbw@@%U-X2Sl>N7X#dL7 z10=}`+cnXZG}%O%GQFt`UL7LbkG%AgIDTrYCqBWzz%T>OU9=R`VCAF?q}>jxuA?A1 zK8HktULb2K1%xnT;AX~9kObvsE0KiQyixWgiY?j{Or#SEj#^Eg4(#sHVeZgYFWOGEEDh@dNh9k9ZDLggl15$Ms;|J7mP~ zBFhcNLyd;bZegLT@clIrkdDz;l**0lD$?%iJ`!k(e7RUojZ2_fEWlwvPvYn(V11GC z&KU;mc&A%B;{mAs(k-8vQFujH&~Q)#W(J++gw}?M>nYwBTIURuVSEfyE~32QKxrdI z6+wZmzT<;@mp+AhMbBR(ncw+rWc4NPSCuvF%L}y8*V|WmFXmM*Qty?{6m=EdlQ#jX zN-coi&EIprESw26T+$5#$$1yI2-_ev!M2!4%Um8zfrn1aB%Y`4FcFB&LA zreL%c?5@w#QP^NSw)EK0dMpzy z42Al!lP};7M$i9EHWhUFN9;VG7kN|@*?Iq6P~>IJQ6~ur@P?oe&EMl_H8pH2;gdls z7r`VKru?@tVk6++v8;5OZ5uq+zm_kdX!Tc2Cs#y<;`612J+>6LxhEgt-32F zxB0Ru`Sj}KNx|S#BPfAXxJ*XukCKNn@6edPVBs;VkE}b`0TwK~*h;GWQC#aYa^yve zk|lqCkS4*=k>O6O6=(QhsMl)hlH(P}sf3yK{NUaTD1%To`_SAYbrm>K-cjlg%o63> zp!PwpgRV@vCFxT=49fGCY-+d7T~PzY^7LZ2R(EXWFI?=7T!r3g`Hc=DFr4u!OwcKAOsZuYG9)I_?ys!>6 z@5Y`GHXm6P4L-FM-pe;1dpb4n9XL0!rMNFJY6)JU$X>KBd5U}%JjY~j;H+F=x25$p zt7O|efhM9XZ|4n7DAfF+(;BU_b7L)XS}cZt`>nP{cW=L~pPj9pmQM}Y!rx9e|AvWx zCOWI?O0K6j2vUXU!tkaqWTp-?&nlt}I+&K@fUV<~&A&n*I1Nu=TUV0 z7hQ;@tU6nfPQ``;uiJh2=nuKLh}=>91?%JPyQ6)BS;TJI$)A!@(Kf~G$wSY|m_2fK zr(8`XE-dC;;ZoMvCGP9ZP4feFZ4>XDAEe#$8uF>vo@oU{a<4`do-}c46xqfZqSi#& zk|inwdq3q?RX%=9k4x$|Lu0aPD6mqMIgTKz31%THEOS!pNZzB;8KG-5`^Cr z$TF54d#Zinwl$W>@at(olfs|g6TY80l|l!xT|<#PpOx742L6!+b6Gl}GBm;$Xr=`$ zlAXP)WA#iW)$(FeP?RaPc&CDF5y*)1%}rJU%ODD?Uywp2em6KX_B$8_{1FQvOeWxw zMDYTNqGJE2g`b}2>!)HaOZo!>!(rB-;3&)=02)&2C92DC_-`G|7MV^y5+X zU10=+m;?xVfRmVRc|;LX6a}xHh%Ol|PEt=VGN6}S8#165+vcNf?>Z1%FTRnfBoB`o z^mn_pv$ORoT9umJBeEq}_ShI#q^s(Y$)F2auQW?t2d?9cy}Slwm4a_-%vHi6@ciem zOh?&@Md};bY4Z+vpVkSHY7)~lmBXLbAdasWj$s;uTQrp8>rWoZ^g~8m75mEbp*^sv zfnZ;>5tA$Zp=Q+w4n~?4`<-7Jie=k<&elLt)^Oe(PTE3rUdQj zU4%P@)?P{`LU#VMYW zoa(>o)qk9wot~DrKZx~H_R!!IzrmhVd=p(mNseyn4qMa>xdT?%`2mB_1fl%|vHKz^ zH5qn5z)NquiNI_;*d;%Z_Vr(t8M{xy2Wk=+bM0+tg(G|G3fu(-6Iib6{dL5%Jg)zH zbDJNsq5b@hg@iPvt5x|yh2?R2>)COK+}N6Vqm&4Cd7rw?n*^5sOSbDn(t9nl64p9L zD9$COVVBKuich-z>c1K=;n2s(g2Rc4Osg`4>nOlr&gwqZ!8qh7oJ*fm@=dKRUad>Ntj-&(nHiu<0ypXLTCbr{|^wbD3tdCqUc+IB?VYsKjuZfad zyR3=)ku<6%#dsd?+w*FjjkH;5-FYYVSe!~!)0H*9qTRLoYl=3^(!Lbm&|0h& z;J`kEPTvu=TSnld*@J3(JU!EQ=s)lLP3jr${^vKX38UlN98Fp=nqEZw36vH1;Bt2J zm)L**SLjw3sY$U1FD9;g9u9C-4JOWI;9m@RSz#P{{JjU_f(3Yv#)83YiZOdY%vfh5 zOEUc&x?~KE_64k9v@EqWtQg+%{1bf_Q9`wG%P@>P4lagy4$l9{Vu>Zo=w~}`lIh;q zM(U~R6WPpeck2OJRa^A1IhG@}d7+~v7|%p6KGh`MYC&hyI!ilUtQu7yt!2Z%$l&UJ z7um^`V30Lqi^dXsRI@*4o73K=)-q;xpd7{)tc{deBwMkijPjS+`>9Bo@qskz$F(LO z!937UmnWL(e3C40i#%i!1?tDACOP>WR3DKGf=Qk7^kHqYwi!zVPZrl-PK!m=XOp!_ zFcJ@Ij|IZ7q3oc!(P!%>>n`xh@!rn&*J~aJtr=SESMZ~<$?1c zn66(1BX^x|1X&`Wr+g-}9sr@KJ5r)T=1icmAJ1;S$F+c8HaGOQO}Py|Cj)t9qZ|q1 zs!S82{%uOPGQhjNA~a`%t-rTWd4OSKM0qfOKCBwMo9*WHU5>B6;2z9k4HD8BIn*MA3O2p)?p&^+aU@|WzA_t_(rKm&&*w9b2R z^zwBN-TQj`hr7)fAYJw~wYuxTnFy4kvT*v-e2i+!8j6vPL)a}@pT`f=>ht*FT`M46 z9&LcUtMS-b%bKvmPn@vBB_=FPMg*u-;Y?gMxpPJ51*H1FI;EGG7h`8@qo*cDzaQEU z^SK4HBJ<3cfT~HK5%(DOJB+6vz;J#;xGEC4ij;Ni9v7b&|21P8Ro=Wfs=j=UB1b6J z*wJZCgu~z(&VDnV$O#t-^n4hh$;hKek1B%i0+M=3whVwIRQn6l869k4P zb7Ix;!kGpmj%c<`@xYm!dfme^cYvVWy@3h16Z8dt@R#|5|5wOmadlpc`%OHk-AEgx zO;I{(R`}MZ+1@KJWoWfXpqndsc~F5zC~x7H$N0quDQFsurBWyLByS}Val{IKVcov0 zq{qsn5Fs!PdP5C{yt49{rp*d_LPyDA19K}EUS!!VIlb;a)_=-`Os2@1tSQ5&M?N~> zRCTP%4$mz5n%D%GUV9gBowXTTZS;^aKhcUf@Rh48qztdUY5$7xS=+ljGpY}^KCI>8 zUy=W?RvqD~cM6(Y5@OA5{C?iIQ-DGA3wC)P@dml--S6-9XZgk zaf^^;lq`k!n&`(npAEC6kbu_;0=-+A_Dv14HLg7)h;4# zs~Q@o@re2UAF~zSWh;vt3xDG7B(3daTu)SAd!*wQHp;yXq~JUKzB^{e@PSBo~M11Ev$u%d6lw-t0CmyEL-gcIGE`4G!RvSlZ-%A zhvdUyeAE-e53fd95g1Z~qU;o_ZOby7CqKtZMKwRP?GoPh*FmCC(;KGp+cms%sKS~&%M@Ov)y5o=XU+zd5;Z9_7S{>Pv%{IIKDP!S zr(>nhBVSlpga0<3y((G*I!`mEEoqeq<3X)ZLKY#`y9UYDG`FU3avq@sF%B$?CAMpO1x$=%UDpa-N#4O3 zogMS~9A|>E6%B7W5Y^YB`c6%--`0x=rv!qhHx+yCAecDj;#js(NmY*@R)`wHxCq2j zB79$}zG|j3)o6MM!$t62XkLm8{v3~VmowB$oZm7kFnLW8}u>Eo?sfCK_ZtciLY!ge;{kOwb{53LllF?JlO<(5c|t$D;TlUdyP( z&niOgKUx2+yCTlkuCDve7{9F#o`mb&?aIm-n#sZUo$hZtXKMvW%HJWekgxLV@F4@| zeh|}%D4zO70snimNS_x2$}Cu&mgie^6*~&ysc1N`<8fk>-cacyaMT7~NP4z}{wd%9 zM$$>O0&{|)-}c{10o#v6b5G<~fIoc4bMR6`vE^aTb)>K)0pQLj!CO~`D(p{SZRzl@ zAx~yDvE=$xStvOVZcyry!j)ZulvNO?oU!M4c}XA_0=r>Ux@uK+L6w_Ok>SM9%F02N z6leHE0e=S9_G`VOflwjw(Qxx0EpLk6L)0+&8dOZ*d zd%ZNUIrSJa7luYGlh+$xb|Qr_VaOz<2^>89KW5B!e^qpRdJhNC zdluWnu5UFN2n%RlSZf_MM4b6B76vNU{kiuhP*Hk&m@U=) zHDVG@ad+CkCj!pGZjM_<5E^jQCL+_cpM=L0p^`fDHhhPe_Vii%kBe>bAFu>0dx&=~ z$et5r+7kL+c?lfF#cmfer7HjU<$$X4hLO9JC+&#rxZT#m=@QFP^hJ zV)79F9vys##E{**rn0EAC#D=9vBi~UB;?mit~NKcNFqdf*m zBlUfC>P#-(DMxe=;z+}@@>^^a42D*P*Zz-4e1E9L=WLoLXZ@d-2uPnh=h#70Uj{=y zZgyU_PfFcFH0@bAM=ZprFom&~q%}&5&687bK_Nlu40;#Aq&K0+4?B7ChbTnqE((@t zk)I!0c^>IP_Dc+))N8(OHZU~wUhB1J9PS^r+RbD3&#-$AWA5d2CD8H&EAd_$5oBnVnFhZl=}joim)FqjofK7)Aex^@>arV{s71hm^8^ws0qSrF8Ac-fDV?a~@{(eNnxow% zBlavwLiSFf3AK~4u;_g}v&F4cUeWDD<7uf#RTI(P!%w)0$?Mo0j(L{HTai2Jx4ACH!ubcuYBx1X4WX8gHaQG$_F^bZG zP_;*BFpSt5ns`Tn?^fima7t<$iqOMuaTo<~=)|(2(Xs|CQ_;IT9Yec1M6~>~WSWT^qXf~zmj_H#HrMf9aiac^BBQK;GPi|A%-|2!B z0F>RCQV6$;gtbbdytrlypKYn48f>pc@NgIf=mI0w#EWoZQNB`(h^o;S7oyWIUyP*z zOQRoZ8zD|e5Xa2*)WnSx30%=J7(-d5;RQo%8?SAH{+q#_tN)%6yW4R zqqeRItL^fvyh;Y~m~Ho0;503^+if1_P{hDjgh6+5c-WRwYYD%X;bk@R591Ph6dspg zI8|_N;&OPA3{yC`^u2$@Y~OD2Ah6rqdwEdmrj?8_iAN86(p8nyV5jw(XgP3J9{59b zlxVzYHhyj$JTG;zrwg0V)QGjVbe6*b-mgE0MmP3%fjS@h^%Feyce|&j>uZP+B7WM& z?`Lad?3+em$I8mMr36A5!ra$9(U`dL?YXkigtO3^q)W!dX+(2L#MLJZ7#al%%t22G zG@2gFMx$GtY>4z1!Yr9iDNHBEszBD_PpNiQG~*k3Fc7p3Yn1=!u+w^7!??GTft43_ ztpPcqp)ml4JjN|-HXYAsm!!lRpEaxyCFC4v$a_n#RpivN)3THMITGa$d;jDC^ zLR~-|Pifv#F)gVs;7%9UdpO$=i^3E+${ zf+`>2qK9hY>k0M?44!j|v9tWaIt8948t1dis;t`6 zOMg}iCYO97g_*!h0r}~Q_T04KQqQ5w-WqfciM*V`8ltNp%9D-m3ig6U%O$er^<%?7 zqS`N$qMVZ&>}Uc%D5HWTDlzCxO7L0{-Ir3jbZ?vy#uT^44`G&LEBD;J#G7XtdSVQD z-cXf<5Z{bZJUATkA!9pNf7z?ITlEe(`Xu*lk-ndoX?t+`q~5P?)*ce}^EJ#Uwm^ru zeeS`=bGuCmjdYMv2oQ`&Ez~OsNo9HI#EHu%u>TC)iXb5bCo;F9McErvYTcHpigk-(rujDCRlxrvlY@I32S7b( z??yUbb-Y3(rt_%)VnCh0^jJYR1q?VA_*MMM=U_`7G$gUF;rVg%e_pnZ*|Q9t%6g54 zmH_Q{jrzgiL90=3_g)-!P8KA2_Ob;9P?}Uhv(udS))GVG@2Q4ph1GjjZ~WY8*E=sb zA=agS{Ji(7b@HOr1zuJi4wPJ9@AO_Y+ef|5$uWttGH$m{w9>WQAsX6egZDV<#esPG z!}e3D8r<=Nr`tb1)n0d9TdR(gVMC|zaMm3ixy8xk_G3Sg)rUEU3utFJn6ENl6%CX= zaKc{p`=UzTKUK_HC4*0>>LrD(HxhBGD9=u21H_Lm;D|?z4)~gGt-4mV!x&Hi9Witr zCO@4x9Hg!9fJ6?P3oQ8QY~m~Ly4e_xOd$tC;K04IiEm0|temVlIwgMnNZX(mPd7Fn z72iaF9hRi=CUV!$4U<`|Sk-+#y`P7{a5i<7%+7~>JfIN#AsklZ4|P)s$4S&4z(gpn zbL2A_|7`uVc3N9E0Ua9-EJMVpK^_=ctSDv-WIEj>1!^uI%)3b0^UYkQZ3{WeSLNX9m} z$miAcX!BSz2DD@He>+?7Z!eJe6O2oyY91dS z9+$e%iN+@!$L=DSk#DeIvrDOElu}d=h65LF=jF4`35Zv_C_76pe{-y8@9JBX6LUME z)Yf$69#LbWJZK4j))66$oDud}AY$^CXjhIMBr+1+_tX$6R?>+cDk85VX9?M5tJU~v zBIQiLX{DgbtdTfqsq0TFeZHr={AT|aQ;u!)= z$cEd{rU=n$APTGmQ;#u{aWR)-F1J)z&8UUoSBY~23$CU@7mhlQ+Tf}(enyhuLVD1^ z6OhR9UxqrV`p^c7U|zT$RwtPajseWxtJ9**pw3UQV2h6C#fakyGpx^nmN^A+{m5ja z16me6b150o@>nY^!u@t*E6?aqPz{Kp?_iL|33oFWi=7iI0-}=IGhu#nK8BhQ8=G4X z9zJ^f?RVch=Y1$4{#*R0fMRN14z4LU}f&gsoU<)}^2td7BNN9KSqh)K8iz_kU_m^v(78 zbTae%I7b}>R-%huZ|tTpRz)`Licd`>>k3bf%N4H!U5Zr(O>SnC>U9rZ|G~2=S>R4i z&6dd6{V5YBr8dc$U_~BoeE(Qgg)9%3o-Mh!qS7ucpIHeB=JN3OeB|yM(nbd>eF&9t zgKemhKGUqp9GSd&M&mq^de!~r$&16?%zJHkA*UN%qggljxAK0)_4{~jvuaBm7kE?R z`5KbN!Ybjc+FRNSr(QpdFO5X~7TtlTYbGV8R`wDyI&amMsU_G~=&QkP=TAv39?GlNd!*|Rtm zn3brEoiOad3nGKHj+BaT)jgaqXB^j(I!c>v>VQ*p6;^GhrZkI{J(1A`rC$q`f9uFr?fwE{wi5VBJD}YwnQgH+fShIWLXIO z!9hg;En37$piBB94B=ol8W$OSOF9EzyDVOD$rW0yc(se5S_&bI_0iJJhq(kaPeQDQZ>x?7CxVMc_<>Ic{Z*^E(;cpVQCL~32N~{*5-qb6INdLWK;-f zR*7_;aOyArG;oO-jh)LlEZ}W1Qg&>NBfCIWLbD4nhLZ-dkh?)`?M+HdU>g)}sp+BD ziV0k{{Ji2gSGBEpsH>$~y&%TavZEG8cWL?Y0VZuV`lu`-J2tP`s=$a!8N9{Xh@;_- ztQ|Qu+)#J<%45~cKUnRqs9I0TB@{c#Kb1tcy$^Cn`KM?zc$X>v)U80aHE~q09=AFT zL3vMW^ie!px_L6rj%?pBahdvwgCc7uf1cLjBNJIX%hWefPs?pTC7#QwIBGS>TLU?T zgy97CZ-p?akmy}Rqpe%<;k4$EDDt5<_WJk(In;t}fnpi-)P{;xwz8D#G+&mcZ0fcx^LTIiymyusan zr1kXv#(Y!rh-bhuta{OOiV)Py+;^{o@bTw8?-)Fse!t{;_J^T4>m;Blm!Aab zSc{*Gjrf`8Lvjp1!=zX|^Ylc?1Q}btqczgi@>y)`t2^ZS9H1h1D=rQ{lmWOCMYQ=7 zGz?-tmQ(y9uc+mNg6rLg^-|^HKG-L6+_`B;)=)GFgI@f<0M!>1fQg4)&LDQ%KlEEG$Ws z{88DMiQy&g!M<%|izbE#`?lHrd;`W>)a>zKe+RN#_K^OlHx0PIcM`rV{%C;*iiX9V z!x|IC&`q-SK=`A)k`U?Ab=sSb#*l){fum`)VeqoX#i{1S23HLCUUzsAdB8treT>KM z`MSgmW8`Jbks%E=$k+|*HpbmX(UySU#O##$VbVN#CEe&4dXF`ip`746-=yIiWU3Da z3Y)5kI_b^di>M)eM^~FwHIt*1-~F~q%q;4npY0FEwXRU#Ca z$G2n}Ew=D0*BrkkDmRXKT_kEI#F|dQG_ngG=lQ)=G#AdM+{vs8W-3l9{}DLZTfQ7p zjuCX^q)T_{4jjM+;?FPwWEkk%cXa5Ra)c#f?;34IUh0Q9`)S&TcJ+AZM1~is_9jVL z^75UuFSFX>2OrrKOD$$)^&UxP7$bH^!M54R1&1!7vonE7uvIh3@>BNDcvw!@WK2;3O&SfVuLdui~ zL4Y%2ut6sTk#4)tZXGla4!6m*OB%YI=7Gf5^$v(}olgCEv)2YeYHzo!iR7)sd6+G_ zG?=!mCb7)-;8_~AC2DlAFHTQS^O3e78@`$1<0Wc|1X8o-!5?gkB-$EYE? z2W&e??nK0jLI5>FBE=sF6_V>NN@7_xChgFc@|jo_)9b);T8Ua0g{kIMPbl92Mt0yz zDV;TRyj8Sw5K9YiMUM6$%fIwjB>v(jfNpUh%W2zbf064%3IaJ3j-$3bha**PIWa-JnN zGUO>UH>i_$fn7s5HK_m{7E$GmqQ%ux2jTF82BZHVk$cav2HM@an;@;moDs}f-?dDk~ zd|r<9A*iOg5SWr@&MS`NMnTt#HJIQ<(gNU~Ocs+7BT3?a$oC*!kKRfAPYV?}2DGQE zhsy(-B(+xX3^jIdSlRCjekCXl?`g3ZuK(7>(7R`A>lEq>--`~0wL-KF(jQ%;onbfz zxz5hG{@ZEk3F3{dVF+H8lMiC<5M&ot&LB&13G$chY*F_9e2o%G=k$XFJv=R+ zmbg-qKD1$dtjbW?e>VlD{T-syEF$E=er97arLf`TJ`&rs(o9nIWN??G`g;c-sqZ?TGS`Q zilDYshokFcYK+w#$`ttmeh5fN7#(W!&dvZS%Tc^}<@XM6&1r&1D;wBKQ&$HC9;Z)% zv5JzkoX#~i{J~-G_~fKj>Ymh}6BKZH@lhZyZpUb)iP%70r<2M9`S_RmF`{~qv$nz* z>iGd7?oU0R9hhM)ly`FTF@SiE_WL~@PmttB|DE;)zH^C1QGKm(kE$1bP?c$l5ux!u zbd$tr?&L&tcn*(FT89U`>Fb(k%iW)p-uybvl+nBTtDloEZG}YEyFUiCEQKei>m=O2 zEJxqViF3|C;?A{Tr7No)E`s4OxMskvhI&J=3Zs@&n;BijJHD$TCn%3SgtbIZ!YK+dh~X|S+-ngG2Xgx( zKRkp(K@kC4h}C*I1hMC)Cd4a35mey}AQuS`jxSUE^wn45N%@TXQEEs;e+UOEs0PYr z=O{Hno4N9;!_Yz)%7tI}ZKv4nK5Oj4z`;B_DfQDIu9#z9dbW!bxvMs3RlWJS#3XPwy*D+(V9ORYbruYccZaFMC0eA?Q=%& zOADim)HMHNC$g;!?S#9>RvJ6Ll$FTpFP5mblmTIOqGjw66MY*mC|<3{7Gl9P>mll`-a6 zN#!ybAXxfk%TD4sg8mIH~y$ienTIp|m ztRzUFB8kZ$CP9=Eyjw&pnaRol`7>%@U6h7&3x!n(aSM{Xez}oMbZ)YD(i|hCMqA0 z2djjfw<$TKaRi_t;zdmYr+-z;&FKefx|+~1f`v$ToaXf0I7yjoco%rO zSt`@KveFjh5>}sUDS0DP@(w*|OCH!O^0zY>OknGq+f*JxnKIsHGvZc5wq>oM{&N?^ zvTaWzar*V?rkvFG>;__=sK1t>jWB@HYOG^w%lC{O+Ap<})FSvpI%+P`yo8{$6H2J>3%U zU!DtmHSwhG9*H59hL9IW9<;(XP`T3{jx%T*w)X#B>+>9MyBW} zt$gw&fnA+Q?#J4a0m-!V+r(a6Q|P?IP?{PwzWIhS^?Da@j_4!Ehhoqqc<*<9fh4M6 zX*oA_CK6ThDXP_evi;iA4>fRxhhwAY^0ddl_ZVZU7rNB29r^i0s0XJ7@!;bVoqGK@ zG@=oFuoWluXYJ)xX!3 zS%g?S{jmNX1AN-Wh>dT=%L7!ft9S5>AHXT>w-0Bh<+V~dk?*~CQKHUN{a6<96c;G< zr!&3g(mH9a&zy|~%=&0;NQ`J{_l z);fs_=Cw7xCpax7_K4Fmzmm5bR&fPpjRj`th4q4Dc~bDD1LT6mI`6fzaa#wbLAaRH zV0}=Od^2Llt0TryHdI=KD#+~c7MTV<@6mILhMKrFlh=7k%PbR9CAaEbAP`y)PSC?y zi2voJfR=CM#rxc<>w~D7BWVq-u<@1+_~DZr?WF1nvRK+%%b73Ue@rXuqbdMr30~us z%I~dWc8X5%NrYDU2}8M;Hp)*v>Ubc$pVS+@ljC1|O;i#YW3h5%_c%aX5H=Ro3N6X9 znGgGTK(uXvmD`R@9Zs?-CSKz7gP1?~d2#xqC{Ph)Z8={JAs0Q1Vpy^u5W*gW=WX0( z;CTQ0%)7W%X4|Yas~HP&Ost8qKHzs4fA!=j1_OZHt z`?wVo%7(JV4SnYlktuK|w7OOW&a|p3uaE6XRVbReClK*gQu5%8n4c*gLMX*baed9g zq+vgOdDnXGPOn{82P&OXj@kOtPEg&C!eVHgx*7^Z5GPGnO@yD*BC*zgTj=WU4p*t@HQ&Ze!SvF?} z7-C+b!s%MGSzgSe2|1g5E;?T4i{b}+Rq`~hz9WVweoW5EVlHLorc7P#Xf%)+kC7*+ z32Pk=L+g+%$1|m~U{{{?r_c{Vjso%fH6(zyV#LxVKD#_5J^|JZ?WQ}8bV-yW3@uhx;F-^LOlQ)77W*`Wi~yh@5A0 zAD`s(Oy}L%nGhbkqa$5Gi4x&Q;ej)Iz`3}0+-$;&-mAmopXFOQNeZ z-K((mjZ0-3C*B6d;xTw)Hrcs5aANA?Hi@-XyA4_-lItGLeb_?Mwm^CoPDj==>9>Mw z1FFQ16z$ft&JJGjchcT6PV-KIKQRTR&!8<+=VkIcUw7tZw7Z!2fK88V(yF<}1IvzF zX9;6y$3zjzbj=HC?YHV)NbiB%iVB6twqP<09UVRGJ&@em)E<~(ueG8>qcOc~YOo70 zA{KFzv3!psL}4Qm3nZZ|+C*8?l}2zlie#-pFqoYk z*~F5V)%0CsaeS9S0Tql}iZCyM`#io>j3_pgeT119ws@yv)Gc?e;rf!_(OGKnu#8T& zBeBfa0HZ#8X}XJdyo>-CJa`!~FoL&bsZ~EF5Yo_PM>uI|QM=!@43662 zw8#N;=t4@_I9tIh*)PA??LIv_Lkqp4NWo`Lr;GJBHil`}(_+E(wPlWbg5q^F_^Qv4 zsWMn4g_90B-s^>>w+p4pjRb&*mr?p~&8wB2#?(wJ6cg2>5Y}mz9rNqK!tR2Km_*Cf zgw&bp!q2+v8#(@r5PPKr>MrP`h~@LjGr25Ow4MzB^GCdPKQhyZi%}PJ@hLD>5yU{`(%eg z2n7`I)mYk+FUyMWhyzY8w$_;^>|76}&EC93W3RtNDwa%@380G6 zOy<&!*A$qO^;h3~V|1fa#7og)mOtxaba@1{zZ8) zP|U^QL=|w05XzuMDg1|`-g>Q3{9tryF}M9pa};#6hpdl4lDIZTgNOi$ToTQ7f=O;= z`MN(-m5&9zU22Sr)eES5(RjdeV@KYlBLTIt0aii84X)jZLiSOAtE5bj#@oU<$4jd^ z5&-fwOzJ(Dr*di>qS)&>up4ri4bAvs3R zvA_|kBcf8&MvBiH4TF?GG+9G;JH3*}aP-TLQ5<@26|ILG#oB%PgX;kzs~gg7+Jh}o z9Wf?4KAQ#;x9U7h=`qW{T@AXj9iImW$>411U~Swe#J2P}temvFP_YeR3LSRbuom^U z*5+TvA`Fq6GU5iYSvt_aaxkuFsJ;G4857JVeJLUm1OVxkBrp#LUp#lAI4ho>C#&cA zeK`7}#)~$v0c0$Zn&gVC`rI1|S*>sK3<`I-X7L2PpuJ?*NNx=UA!XPLGz*5lL9T~x zlr$$v!HC3y;Q(0Bt;XS96{Tu*z;-NEXEqJ0%5KL*3YRnAX1vcEf0u^AE8Qh0&@Or} zus=odEM>VH1}Fq0YAw&1FqV?yO)D8QkB}A8k)<=|6NcI%xNsTs!9-dFo)h?bnDC_L zNJ~^0i~Se9-CyCD&3pMBnWP_}&pl8t#=ryy|GXTJt@`f%{rS<6QE*CLm*6nSj}+9| zlC_8yY><-YuDchQtY)npSLEfOzl!Fe zh{tOB^M4Lro9NeQT){mjL&wPbfT{vuQ=$5TiU@FHxb{NBbx~`B+!>8(P;XGXyC|hf zDrSI=+)pY?gI3Sr(vhepD;c8d%3>*%wzS1^>RqI4EvafP=JI*Zec0-&=dEo5ri68j zwl!f5cIF~!GtI>5Uj>sH%C0M^zDFzloBq|~?-+|{RXm^I{m2U#^^guL%KwDlE?d8R zwdw~w+^ONDiZ;(vk1x=wGtnb&RQ?7sqW%GrF>DM~I8inZ58J)n*0I9eJe-`@98uW+ zWxuH(HyZfSNIWM$0`G>PI&W%W&B;d~j7+yIFKDfN4jF6ZbBR|gSt8B?*QabD$MnhI zk~nk5L_uBiH{U4GswK<%nc0{@mAbs@-zXaMr`ytHjA;!eakWxLJtOD_jE=g7vRS8< z5jU;xbwq_|Y=zAJYBZMVt=LI@KHe=n(A!mtV50lCq!$&DS6I z*MzPXI_BY7f@ccu7dPKM?md2}u_)<`twZ>6$JRdo=%(}iyQ>|omU_{a>Q+`v1a=%L z3jmHRXP!4y`yda@sm%>KgQ8K83ItA*3(c5EAl?44opJG*I%9kZlMyA9%RU{lWdo03 zREH=(Jf8%!G0lPgJtpYgn`JiM`v|?JUHuzNB*3-h{Lb5N(u&TdBOS-~miVP`>T6N( zch{LnZ%?$Ys}ILljv~=UcEFc@Or8)|#Y-Pf-x7qHjKG##7e)v1sSJYDjN2#4o_&xKdOCyw+-CpQTLz0%l7gA z$fGu}>IHH`d?&m0Z|Ls9I=g)L-P`Dccj3G}%vxVdcFil%ukbMhgNrV?=jsqYmck=V zNAX#;6!Y{HpQNdU0yN_-0p4qc9LAQa@pqpmX(Okb`SwsNuJ*9DRRPu}JHzGZ&9F3<8lO*<$D*9> zzI;xe`#<}!KQ0u{85Zc=AbhyoamVian|rRWPZNiRtag%1Vb=Esf0Q~zBP7_k2BNtdE zx(3e%u$2sNp^ixdDNT)58G|7a|7FlwWmg6LKU!wyX3B`N*L`Gw@|}6Cnwf|I{9j^u z^4HireO7}POH@vP$SN3FR> zLi#)=NExf(zf#`FTy3!4oJ*)yM6rEPe=hc5U?z@lZsC?$0FgO?|5b{2RbxjEY4@H7 z^G_@PTaFF?E9CciR!R5dLYcCvkvK_Gl%lJVTXlXVziNSXNf}bx>wFeTlFW0``VOQ# zYTN|9Ls>x}GKRyTA%`Z))AZv88F zx&^z>ZHT%5P-f11&iTZH9r+n-#0XODqEuB3#fj%5a((0OjrkKMl6Cni1H6ncFTVX& ze))bweR(9m@W@1DwwM8xDlinKHQ3D7_#PX@?;>Lqb>P6%6u->ktM3 z-cyB^vK8KLkx1_au>@NCR1~2f_E@nP$U$H8BGgRhL{CT16qj>sCtEdLrMXjq9 zxVcf=tccCc+Ge_y)E_W5zu$FiqLxt+VP}z1lr)F}X(l{XT!&OM@O(}EJ{8^WX7yW) z2bFyFU9H>Qs6J5UWqkc@nD7HS9HZ6?#(3sW+Nv3t@Ixo2E)K!=+xhCVLmY-{nEPs}^#0>n(xfGrBD$4iz zQbk`RM-V#5WTv_+mBDyN?fI98<+z=T!F()_*0F3jN^=*u)CC}-^;+uuF8rTs4qxo& z1jJ=tot4kz-JuRG5|3g{0B0uJo{~T`yda~HB|NVa;Ve~6@056Fsm4oaw}o9(dr|U2aJ&d8w`mG_ zUsTt_`Ak6Wg^aTfZ>OWN+-#`Rc24InMQdL=%~LnDTL(X92K2S6T1XaVt-1wEPG&Nz z4)df?Bxae$GP8GA!wq>fad2#ssbkCU=fvEV7RF+53kMMB0txz^7H}7qxCXqGo!NPT zVAjjWuEv;mu1n&mR;(Fw4?U6N7Gkv+RA!{~c&y%d%-nggcH2*}&~VB1j;s(k-g)JlxysG%@kBcC+_EJ?-svTf1ky z+FJ1}mum130bG)ImUAMbUc1tS5m79t>+{t{Udmc3pjfp*5-0`;9yut6lI_1FgE}Mm zmI&Et&|bo?O``S;{r6>6iz7eukyOCS7;VPUJqDcQM`3;fnyF(8fU|HGIhcP zO}2K~gA5hrcahU-F`1|}(utH~fGEOPRl@+aDn)StO`Kuyyf8o_SI#?SHV6GUapAPk zcjFzzy_T;Y<%y=<+X_Bh-&)AnG|=uM%*-TScuZ)RzgDWx#+R83#<_k=E8{&@qEy1r zURz>kN90fPWeh1}9_+>+Jc~bgl`m6_gHo4cbDiO<2bIkV?7E1mQ^WUMkevq}$(U)7 z8YDFw!o2uMHg?f>AMtLFK@8lB;UaBU&K0|VYutx zo>6S;!urwaCh?IsqI%RAUk?AQ9*#cvCH~+aX=AXNItF(pYmLR`oN?N`%Q#8(4GGX> z8<#loW{w$1L4)Ct9vB)a!NF}CyG#vff0(9INagy)-oeXuyVu%Bdp6i{JB{Pk(aGWQ zhvXw<{foi;KKoWDr|kM~6jl8BaR)=wiL%X;_?%)ZQRc~QvZBx=6cG_k7y<6<|&b~?AaIF`;?jG;C^zh1c2EDG1 zOAk+aFlRm_p7cCo>}RREp-g4We}ar6D@Rq8Qq*MTkDcii#k`A3F=Y4K!|1QH-Cfz>Y@BB`KK(rpWo9xHR0lTXu*WCP^b#Wu7d_ln)u}~#nq<^ewniRI zsO<#jpH`j!FzFMTI=~Asf{7fNBV4?RI^DpVWcFVyQO`LKgW+uIE=Ub+h79w&EuJ`Z z#~839n9NNKoO%}a+6&4LuYjnU*PM3dYh%V}CeH`?(VO-rm_D5@opxb8z%g))AaRP~ zTR*t=qe(}>U^dL2;qvu@2_6gwJ+&4v2p>%J>*W(mMwppldNn~#7djX2{1Ljo3ZSl< zb|UF2n~NLXtIWjDT|4~A7zEs^99>JYXPd4yW*=)dIW2(e;N#&mK4vLApGd@Z1G0a| z>QGE`*GJ+U`8pPvMdr)dcixcidV+u|(4t#W6s02BI2FrjN2}B*Ye}2{=)ZvHUii5I&suKh)L+u<3JQvI3Fdl|@IEc-}8oh@2C0 z7(*u{qg2^Jbk87Ti9oIa`CfnC1F7W=oSF@fPmXx!3_Tq)p2M?L#0XBY!l?yh%D!q{ zkCdGAGCJ+?VG4E893osgS$axG5R&H}-T{(1uXjOotOs-Kr5V-6B zdc5NyyCuLSwEHE?01g#KL?$j|P~I?B^uh{Msu)r@J;;Xb6A6-J$tM|2yvkky-d&|&`~^r3YqLjN$4VF&(D90XIC!5I778T=FHTYQq^ z8IdA_p9k;ANEzn(!~u3~vx1#mx?Ukg3Qh}&paBT5-#NTEbt@cbLyigR`gBvl%hy56 z%^*O40T~yR&fbuQ1DoLz0pfJ7?$0JLUO0447|uo}sH>w?8#4dC*PjGoa51$2JoTwq zBW-+@0<|INM9p!Jwd19Io-nwfN*N)jtFMBwyRNInaH43cip!EBi+=aLDDB7&;mmeP zx2|>GKwEtYl6&q=C*I{+GJ~v|k<(&3(SY|hxrUKEO|e6mG67c6nZR0sx2Oggl2XI6 zdUt(Vz*;5a!}E9A#*h~k^*rj7qzgxIaUqAx%Ao@w@f|=gy{d7nH&~#uB_@;-w<(T= zVl~D>JXZGz*uEFuaF_qP6Bgi>`mCxNj2RYded97DNb!Uu!$GJHLmOm zGFE(l?M!4;Ci=;x5ZLrE=)V;q6jTwAAtdMLa~Hb76lcunFP@+^`tI(T_7oxw;YdSB z|5d0B^GW--*WT?NzdWF8hxlQ2fgn!~S0pbB_*URV#f%eg#u@krE5I zgu}&JIlB~Gjb>dVo7mV?*6_?+Hjr(Y2b&u;;vq1|eG-^85B&k(ZW>bftM>ha+D2{b zR4lFoqBy?zw)Q~OYPC3#Eg-VFER}uO*(Z3F{9SD;g_x>6UrFF2-2~0vmg+BqI-sv5 z<#f-y3!CpCpTz9|p#ZkZ^`oOk#q45y>jrWGRO?ovb)-4Ur$gIkiz0}F77ZM}`Qz7H zx!l^?ns~*#>2|CZ6$4^58}n@l{^E_af_0p@^2Cl*n7z$Nqa#y$B%I6rHNi#$YJZI~ zpCGryUAlq^rU9QC7?CLL*4Hp^+(mAK8BtLiIx=Wv{>gnDQo>R2R^GY=g2Hs*SyFDM zL}shDwSjkIB(Kvg*(exbU`WV~{=FwJv_H3lj;ht@$X#HtZ*JDFP#hf}>CR7Ccq3Al z!>A>6Z1OH=912z88PrU``3%d*zZ5YosV6Lwr;hAyqf(Rl7;~%KW6KnB^rrha+Mwju zYCu_wi;7KXXNpTfv@K}B@xCZ<3{%ut!iKr-YS^B7zHj`@FS9(P)Y2cj@?{uxZ}L*cmjON&WN+;<*w z!R4sbj|KeKqgdqB1A5H=T{x~EAOrp>?^wECSgjp`8P}P>MnWLbDIWT^W|RkKj&U` z35IAvNM;}7KCeuH>?68w6%3Doh2Y!Rmd>SHMY92+!M>_h$c$CS-Aq4ahO|Pe3Y6C5 za?$`hXjSA4@xJDkHS9H5L-d#ewV(#t2{FGHJ~7^V71T$M@#=wrbUJvBSy@Wbflepe zz;+w03wuYUZfvHUm1BJj{BRtfP8mIgl{ZeT*3p+iMXmx>-=wUQN&&^vX`<{Om&<(N z{ab&J%!JImf9)js)LknI>-nck+Y7H#4O=!2qFZV8{gf?jk-T=#O)I>bxHnV2W~mL* z;_aq&GRw+RN*9Iq+;M*^$Q=wQeiW^P)=BH2b5cKOG{s5tcwhZUIS;6#0?yTc=T;5gEzB!#>uU8 zJx~0o<$Kc;cQVSa50)qyXYfA|zpVO?{$xsDve)L~DZZ%Qux8bapO?6pyThsT%LIuh zhi&b`yWw?~$GMUJw}~;UsO*UR8=5zpzsL86H&%?sC@t$3if)^O{1c4#nkX}t?lcbq z+i9srW}dy%&Gk#@w|}!HEWR(nY_@a%FPg%(3Cdp5UZrRekI{WE34cTZ5QEO%soc9u z{0p#-moksaN|<7FG&lXCyOqi(oy?jB7~zG}f4fcK)&|I#FW$)zLU~k?1%|>?hLgRc zu$4omTovVI0XZ7F>x+Y{fNJn)>DX+KsfILkCE!B55`{qEl{06 zo?v87+gpzwi=Vw`aIp0*(c8dk%egzfMq`JKn@6fiSm4IZXF5t-OJ$1`_D| zyVn-3mtZGQXh)^{6k=E#28yB(VL zqRqe3u8*f})%<8*wn7z9$W zGxYl#c<$8jA+=W$y(+%LfZhfbISBO*nH94KGtpg|rVi}&$&;1UI8nY5XXi%g*(XY0 z;cL9_ElazA*l8vG(BHh18dRJ@J-_~%Tj~eYI#pQ(YRzrLr_NwNKAlA~bBg?iCltRl zc!r67sia(sNYK3U3j8GliAKVRE_?0E`nJdw@*7nAp+*YrRBYAMY5o+(aS(79pzk;c zcKH4@j~zqXvq_Eatg%NGnHq`s?vww|-j_GDaU^}e|DsPZk)0qBNgT$`#)NDz$hLMd z@BmJn$M!0NG=h07X|yvE$0p8af9qG(-P3dFz}U&|+Pgv0On3ENSJ&YrJzlcq-;{rm zbCA8|UXp#7Kh0twGG}1HrQF%1s)F#pU5g_O{&!ETQ-3iG2870z#r}qNVvU0UBWS7l zQC%{5e`C*XM1H21S>SbFvl|L%&j!koP}5-3!8+#w4mCdkYsbC!dv>r@-U0dGbHJuy zNx)OtMwzIni|iTQRsuz69AQUl(*aDKf`1&=^y%TT^RV&2(raa4BY>#|e#uT{J0-EL zlZ@V|Lp4^qp4%4$eckU7M?;)PHFr$^9K4GzLLz*b{l?vp#0X1M5+nR~9K`v&QdKa=K8;^S^n*}KldzWw(_&(M9j)~POYGv(<;i6&1S-v zh1-Zhl;wdsIOXLJSE(9Ikv5AgvOFqhl=gG+IZnswm0;mQF!d>_2u^ww(7{i`Dq>=t2<2OWenCCrh`&7@4pos2JKV3P9$IaXHoJ-(e;g4rz7Tqv zW;{6?4cyL9b!nz74H2aH{zL9%^p%fZ`1B!NTKsq}eUg*;5zpp_pH9d5pvg}ky?M^v z5+6C6Fy~xQ-sZ~9ByKmznrEloZtg#Aw;|Yq@;9Bjx!BgPzMpE-Q?Oy5@T9SMKynzTD1A*5~jWr8wTdQnpGnTV7j~~Zy@AJvaJ$bh`fH1*c^8>uvAz(AXUh{pg zOgQ#=JRk7nA)Zt}_@EzK_Lr&SJqmpUAqvpqqsF)EjkU%D?eHoV?6ZyLPj(Og;PW1L z{ZDu5mso~WOftf~MqXzU`eXPVyR^Hbno6;D;h$fyH?r8lcR4*WHI0c7%SM5L+cq6m zfz3I^uM8}E&df^REN5{6vUdt!E*|`tjwRnOdDql4@k8cHu^)-!JeeRcEjJJd1QpaR ziaV*V1>qQ}@_vu6{EnBnjT_MsZYWmwuCU;pIHN6nVk@WlS@*kW_BQx)Nh8mh?5tvl zZx?I5h&x5LlW^>eCZSg!d)MOxziR9brt__u2qc)+S(o;?)?IVm+Gj#YeM=IW#JOAg(88*9j1r zN7yA^F1V&IQO`JDfwBN@K#{*oQ}CG9(k8?XY^%$LC$cFCR}X`>HynpI@+N^3KPdF; z(jCNoUHb5#uS*{u@pWlhxYwl*kM+9r!GT_vZV}~mX~7V$OP}Mr7RL=;(k$=i$gY3V z$gWEeHHz^g2mN6T-qRtW2q&^I8nEn~LDCSOgK*&XQ5AjqF~{VW{!C2jh^ zyArQTqQrYl<#GNEMpqp&z{TWPsR)z@mZU*9!ZxFxr@7Gqt~>=`RdgpA_^8@t*DW52 zU>Vk8DO`a}BJpb#5!V3^!{ldJR6bttpe3X7Rx?Z6XHLgST&gv%WW0 zeq(0pp<Wnu1yZF`)mL>LOD^I2p_|k{re!*$5n-|u`iAno5Lu7+_QJM;$C<~=eq?%$VQ2RGE z4as5>1)s~oI#?T7~B3crQsLptXx1=TLWKoi@!WUv~8}rSeTD$GCUPZ^OOF8E{ zG{dBx6)>svW*G2q>!QpEG#vh~57kIQHyL9}l{2 z&~L(M8XjIhwl(l^*`S{+wul}?EVXE(x#|k72Uc-1R8glAS8~i9V)m`q0)X#M1Q&6v z3G+5;_&}U8CY^=hRUx-PX~2X`#^KSqitLdie(`!jg z8QvLbi3Ctqfgx8D_^B>T3vUR0ss}=npr5ct15G3BelbdcPsn0k-Cslz) zTT}}rr~199P_e=S(MI$5gm)73H5<_rL~EDgnW$M>8)k7jznvCc0{oLfx=#Hs)< zF5UhFnhfAriS|9TfN&69i^FduY$#8DK54%=+-_Z}-^ z@OW9ypn6;`EoAY|?8G9sN>}~m`w1avIdd=iOCpDB-h!wdlyZ+KW9LD6 zP8R3Yr1~9TyTk^e^~*(ej*za92oiAKygSj{Asp9rx5Fm~|JYvZstDEK87#6{J-)yic|6YtcSiJ+xSx0zC$M zdbRtVB57d?PCtI()WZxWKrmkkF7o^R7k}St9ZxB-tT!t(mu|1eV;|6g^+)|Um#oN0 z)U4Xnh69593yC-m&CbE!MVhtIOS|Xy>4n$L+(nhsh^TB`O_ifBxodB5IaNb!!8g?} zr4w)7tbci4{$)9>A(a5nDGn#Kg-=z&i^w1NeV19V3zFBtV_TvK?Qu??%kDopL96Gs zj7!+(6qPD3bF_y9J;Mlck$t>?(@D5dTRO}43l>B$V#a7BmlmY0M)I9d?kjuOoUk|9 zep~0m;#6lZ;>VqLY^2!}FBLT4fj2mVRSDsNM(~N2Ilf_Yj@uuMX6$8ss&2jh zx9(VmdU0|n*hO{wqtHW46p=*)$95=ExdyW4kW7O6`q06qtO{~YxF zbI|us8}vQu`mbMaKFkk0H(mc`e7SEQk^IAQuuadxCbzQ%(_0wf+>UH+z|4qnUYMI% zWoL$dUEF(+nJxdytYH0}<=X_%pI_a$H0u`ghh?#Of>5_TBPC4(hXQpXNnu5t zBmW{Eo8EZW<8AsVtc(DXcI7BAwKMT+mrS}peenYs2NNARItV>U;x00;b>21Ra%Y%B z7n8>58r8F&p4PusZ@oAoMDVzLAC7441iUy{WWSG@D*tZ!yuJJp!(Vd%>~dPuLr)3= zNtd^B0$Sva$f`n=pj;e>E&(wWSldZiF#cn;&We`01WbJ_0ph>Q#@us?+q0Xq18J*J z+O*V#qnTs5%Rfw+42<@+8=_=eN?ChDuIQB*&#EYv+I0fuSjI*CNp0VLrc4s`3+fJ= z{>`7rcX=F6yyVtgB&6xmU1y(P`ZFa&sBwM+Wj~sRkWOJAxc zrdDl4Os~2ox5wVO7zACC#5U<{^t&0KD%4^l7OP5stac@k?RNQx!EYpiJFm15zXV*{8<{=U=$LrFtu&ginpHa-S;CvmYTar$2^es)#nYX=pM927 zG0_ijM)shzjQm)18ZUMZT2GrNG_y1dmWN7DJXEZ92EQexNDKKV2=_czXbvBkMSN=OybmB;)8wPB8!A~Qyl_WR(7j2>NqalT zKeZ0p`>lh&H%VA*?wr0nZk|*KbQ;e2A zOUuQaJ2Z*cO*0Cfx%*&iZQ~OsjuUX7#{UI)+bsL>9Ls*UUhDUqmqP?ioebTvhZUocM1L7MxB#q3nn z`pw?5`PRUX7ue)kEvG^@kKy&N(*rBxX{En}6;7O2f~jVdH2Fc+3l*qA@oJ$-*nV3S zw@8K%`w*_L<()$9PDKZ?mTU5It7s;)bQh^eA;o8LA!Ik#aZzU?X8H<_#{z`QPGexl z9hos@i*NF!MfUg7JX?EdA$Ompg}2($Ee_4nV&`RPfuoX5kB7~_eyh!&y(V3{7>(Q& z1jC;r)~tOv(nn%}ov+*(BnJP2%}zg)Y>A1fmnd6{_vw!N^PxDRAkynytmD}yU&6DG zxMqXRw%;Ssy5_uoOaF-t++jwFz#&{;Z>+`nH?%k*HvMC;&D7BwZ!91x&yT*{*nIe) zzP9e{G*ETDv9YFozG{y3`UzgYYCL$j{>{TW{yu6vJK~aNf|M%YkTcj-UL$%2O-$T0 zg8jU$Wy7A)Dqp5T-L%hmYH6%-mDjglgb&=P^Y-8_3EA7KwE72*x|(x9|D1$%D$4jR z_ZSyCbuJ=16`|E);=Z6a@6s)JNjch!)A&WX;styOi#CzT0vP(&90e9%I0)QfE=JC2;bEb1}3UL+jV-e&XB!+ zRg^Kp;2el)AbQ6BjrJ$QaMhh&LsalERTf3~nRGA0%)xd9W&7^%eBz!%5gma%IU_Hu zBU)<5?XaUo=qpExo!$2C&hGPOoBrGVd*$`jg~we1NaGo;wEb?UgrT(+^Ok{{h!NL+>gIqDOz=E&crC`P4{au?XeEallcC{yB^hfqn^B z7g5p1I_PNAYUE+lYc`^7LHV;{xGzF-g>P@n25)mpKpkFZr(P9|c2w z5GOWwLq$>4YgyyQ4^1|I8`(cE%Ie3T?b{5lm^GX`k4zBd8l2pT;m_=gy+z`#XYB0e zLbKw{qx^_St`ubZrFO?7i0_@&LF=@2aB{kHu-kM_o5wHok72qt$;%636?i z?KkVI=QMA>OJ=ET-p54k|DY{w+qOQgHX#Gi z=R?j}??!Uq;&c^mSAv@0(y2Zm4Cz?mvi|hvaX|$ykMB=>*>p!6=HKLy^J@HiX_s-a z=HpWLmmI$07X*fvbPzqK{AJ{P8NGQkEN5>F%Wv-c!jd62I($nxqWhLrmn)X*7aTgN zY!%Hoo=#l^+9dvv#;!L>gSq4^v&bwU<4(XwLyUgh@o&>bfJ8X>JxxS8# zZcHdKISQgv>EA4LlJqf3o}rI{^k-n}bVB8MLcG=g1@i%;@0*6OC4(Rk$MUVMSE)I^ zb>(b^_q+$QALER? zODko4cM&-c8*62;kx{F?Jco*kmCX4FfBa;`)636X@g&QeWo6?DYjF0eW5h%b|W_-r6CQHWc%UUx9stseAHO6+}`EN z^OSuHwS8(x%dA{=>ERjdLO@SLF9>1Ys*HQYlqoWn=(bVmGGRSylP@8)svt6BA57@)26$LwnELBeCh+f+0i|B1dun_*-_ynJA*Fgfi1prSfk8rZ-2B3Yrlzo&;Z%kN6h1<*C%g zCODt>&j})znGnd-pKcIZ!M$H%H_{U8j6IT;Le;A|XI{ru8NtREA^dRtAtxA9zN-z+ z^~65#V*Dn4^8V150HF;!&py(L3;zcjxcNNYpJ@uaIQm=gUOF#_vxGyrt)t9cU!eS9 zZlcjmbh()mI8SyF^Cr>Iug=SX+yS#uG$+nIpdfbgRd%_ECh*t4{#A0@N4_`khGJfS z@18@wK_c5Owly{^0x=xz@4VP=Jy9iS3;y3Eir+p9gD83tbSDy&dd}hAZj7Oan9`XO zVf!`SS7iWoc}{C=D`LsgARrlqu(@<@?9K*#)CgH@WQli&VREVC*sW+;L3}mtPMq1Y$%3a zX926CTke(x%q{GdwiddyWGdPv(#9M)MqdTj;xaLlD~>vd9}f>l-tgr?>y>%%a_C?G zM6Ay@oI#4XwAZiK*WSKekyuUFS9ryRJHdm-#wE#bD7dkiA1bj(4ZvJV4diKg5v@hu z9+_)T6(6O$bs+$auYEM_Lb@rn{WD3@Z{3XrEpnfIk^w*am}AX7A`k5iuD(CKd}KxF zl>G5OdCu<6!NK7v`&uZ?7OpI=JZIpaUm!1c zYPrK36YifQD04)A8df5|p~SR=TScrHM;>m!bD?sDGYcS5e}{p|Ps=UE2@WrnXr)st z^=~9WqogvAqmoL71dK=x9;exWflzgRp_^x?5fZ`aD>K`O5@k{ivABg$Z!Q8!xtBNf z3z`Kl?h-v$bKAHp3{!l)AoV1%$)~|hizaTV-TJoeLlZjAVQ7}3$e;1Oi4osh7?=~A77WW4sK=XZ2z%6*xIZZH? zpe>Q>2Ec1ff8JJ0JG<={C(qi)&6Ah=rARn62tm$~M2JFULiB*VZuT!GCbykwprNyaCcfKutO zY069YN{F`#Vm{Oe&M8z%hW@ZfN9}&XuFF0fax$hN7JXt?mVaNiSUnZJ5iA`^>^jYN*CWZE**4BF zR9DNOG>sk4uqx_UFiN$-o}&A<)2h*XTVAx7`N(jGO3fUI#?nBd<2&{cPPpDjsIv=~ z_d&w8Ucu01-zu!jX-DJ`i;+yo@TOnEvoL>uqhz{j}w(G?o^-43i> zORR#Yj-MX?+;0B3vtOa-s%F*M_}-NF!qCbT8>m#p@)D2e9Hf7P;%p}xMCPq)ey!-x zwp^oa-%kd&NJh4}>hqY{!c^hh=@qDysgWeJ+x1K7Tul7bBV+5pT}s$CY&X<^vV*3{ zhF@$R-<;@TA!9vvGB=ey$zG|chj!!5_iw&hciw3Ck~d}EhV=0!b|F)xs&*!59u@7w z*Kg-#?-RLf7OJdb9b|LK6i&naX;U8G}ZCJrJkvu=# zZs_&;-Zfa6ZXcdzQCaaoP*l1DVcmQuUUh*u;5W!03;gyDUV8aXdH?( zf|Oy|iDyhVpVwev+~x#twaXzy5j~g6*Q4=G-!uGR5gRqTsX|sxH%Dv@l6-?x%(km9 zH4(Rmh`2=Ho!txjSgA&NC53Nfg%UwFxfAAwXUUBMHmB@>@0fDNThu)6f!KjpYJwJY z{a(*Q<{O!Keas~tR;s^^DV><7zm|ZIy9ZUa9fN9k11eRR9QfQB%R%A^@K5IX%F_t6 z7bz}5)gDQ z+~K*0q=G89D-ujw`WTiKFFX~5LE7MJbvEPmx>Ki086eCtMI32qAA{x%Q#3W07E$Tk zYUvUqo1<4J&-YtTIL9<`aNFqJN9vdfJU_Kl25q`Y1b36l#W1B;rUGpsjxIGh(^f$- zvc$_c?Y4>oB^L_rxeM~?__;?n5%nW)C{Q-gKy+ZKE>SSe!=VbtTGTt(>Jh_$`IuFf zRWf;geOERy=Ylddd%K#Bth8{rYu?y#?Qa0pX)LpzZ5KA^sIrtvz{ z@c05sE)t-7If4voOqXS(x`XOkqM(kvt=_X^nKEiUDV0jf8hq=iM;4qD||v zGZ=xo0#?8aOmH`VSk!2gj2#;s+w=^^w;YMtI5=z{pPsf<)}_R&qtnHg*R0tbnX4aqvk>TL;_`T zPhRY`IXgV;S@|C6*kdO;o+Ql>j&DREgv4Gtg{>BiOMGX68%VyfXdOJ`7}T1FQcihM zp5oBdGE=T zEx8SKxahp=^~6Y3x&Z>&mfND*eSD`W*VP}nn$%u?D;LQx;FiJclZrr`01mX97#wi>joisj+p|a(nV1u?f+`w_R@EDX z$*doc8O?^_Y7UP|V02=pCuSsV#wo=}zIrt`D|s7clGDrmnb}D*{yc^f6zSz@YyU(u z4=2J{&SE^%?^!XDNIxp&5;%&w!q}{0a5W%}yGKVQl{C7I%Q<&)elg~G^1?6>qj1`GDQ^1fudAhb zuQ%tro}Dj=dJ0^Tp;;-1QB2$e86UjgdOsQ-qC1Yu{Q%^0m1hma3TVV5XDBi0k=42@*vJk zk}6l*7InR`7Y_Ie2?R;e0>V|6krP{d<7x+@jYGp9*rbNG4H5Xn41xrL0(B-~DC9?y z6!7h#I~w(G)P1*UB!a0F`_MsvqzM_+0E0MWmJ-f9HgTVf#zMvP^#Mz0h|AnXeHZyA z>Z+p#bS#R2m0;YRhm~XQaen=QSlcYFL73i#r9-eADAXeO@RlXXHgr~Azkd5RP6Gh7 zg7bb^+Ee+Y!CFeLO<1{M=Z)R-b80_9^&_No7#PM4MUf1`8#iL(zgSDb@E21Cq~umx z?oY^{355WgC9;u(cn!lK(J0bcGbwj}>b{S8$dm%hdZ3aB$fxyUe-C*htOw6f_Ze4~ zudiNNZ>?MCq|ItvgoyyasvJr3vy>9Bezh_v35d@1_184#?`^>*Q^-I~)GI0bCk}Mr zMuaH|P`0u*{>kl#bdwH9Q73YTwac?p+_)J$H*8`N-~ZKW3f#RcgFwTq|4Lu$<<8e% zm*3-wUcFbZ^!n-ZuGTqMuf^!nyx!eyKiN5H;;Iz70#!<+gc<4^Y{j2EWq*0)4iWQt z7}ULMWG`WD6jX3h56DQk_^!vfQX)w!uD}o-V`1JOO6&=JajitajMoM6oe4pAn$=+n zwh8QmzN!}@bDQ|@z`t~DMm+E;JT?!ZjMJwbA<;(+mu~X_OxPGK`r$E+?0*{!S^jTB# zi=>=5tO(9JUi~nL#$9%n7}0NU)YdjrInEQ%tR#xe6+AK(jc|eJ+kZ%R3&M6!O<$5X zv=0e@x2T(yiqKY9WvmX}gQ2&*8^E(gg!yW$tlr(NNjM+dPM-&g=%5u?@u;{?w{ zF57X3T(IvGSLdn=)Bd>As}orezxI~)9Iyb%#r-AiX8#;S8$mQw#&|@zcLqV|HJr+e z7jY^cJJgT`$sKllT&Syq)AhT+ktUd0otg5w)=?2lL5yI-)W=2jrQ1hvUpO{#(7HO1 zP@OHE``up%1oGXpcutf8rnO>Dyi7EWJ)PoC+Sc|TJsJ-2vJf;ZIBZFvBo1^uf##`bV*v#IQSe|kTx?7S zE!zv`)s4hP=cPNLeMysa7SOtg>wwTR-0?>S24BmRRV2t*bz9RqWeKmti{96Fh&(k{ zHbvKJ^R%guo;~Hdpt{r6W(+BB&0Uq1?b7lH5z&^=>obXq%)HfzeZj3N!gcI`wZ6b-`jT9-O z3B_$Cdd}`>N{fSggpk=>l|?c$7i{Sa|HTB1oz^Qy4A!+JFR*X@EFAY)(hmlnLgquA zZ;zM}FFS*=SA;YtdLU(6pu%^7Mp!0(jRcgZ^fJA-(UgL;3Wp4+PErjeV2IHik5&u- zs6hE6awBNLkxMp3!ji3@1>*}DhVFkQx(FLVHQoBu#%?`$ zZk|U!qxr=KU)Y~y>vB`8m+;P7pJ(dR7#fIRv+?@%#)G$Sf3vVptYc5IiP}WjlRo4<69> z1onzMu}>7SJ`OrbDOjr$R~0Xc z!*%}k*Q;=-rfv+4s1qq!hgoVrvcd#$U>=D>ihbcKmg zjpeB-jr@>}3uY{zLuXPLux6oS*-B(d5o`F~M419w z%2ZLia2VRGnv4xclAh}^nFu}fov+#iq7-S)0eUFHpc*v~OKsybpUm z8?q|$7)hb1=BRQ?sz&q_cyTJzT;4Zn8BO4<0uQeyuwXrooM%wMK*->L znILO;z~ITbvtI%mo40x*3S{SdR=7K&*4CSuItCudkA6gh-676q_v^1~&W|eJ$iv1% zofT)n>~w>!Yy`G3Ua)SY`8gv&R#q|Ic_c|`OM6cWlCn(Ewx^Wvt+ZCi`}Mxi=|Du zY+s@v*f{t|X2x_0+wGV)rwL-{o%>=LgS~6Pk!bWCgwUz9tE@TF8sYI+3|)=ekt^PA zFl{j2-3Ui6ZRKl?i%swnnR%5C;5MRCf*Ok{29Bc&n;$#BvY$hYI0Bb-C!*o4u$)n? zC4kYS5;+!I91{f-Fqy|z(UJ*iXvMRu$#+T-9P>@(`m?f8%|k3z&h#0N_5$XqD3&C8 zN{b%6TTV2&r_G!azBGz{i5Wd!T)O=UG*6%kOy%5R>dKATdn5a#I|rwT7l(T<_nUHU zO=zR?`u_Uc>I|lC$~EMf>f~cZ#vU)r@mG(_rF_sc0tPOUVe+cKd_N&6E@y5jeo2^1 z0=zhr3Fx~lf}6;4dBDk?9#lsy@Zx(R5|}fH8oAOIgDVI(juaG zIWZ^H^~`;8zpMSe^Nj_J3T>erEK~07`E~ZnKEov4bDC-Ad1YoXny?_nArDeIutYSa z#d~h`GsTQ862@#^nsEFASsv1e1Nkf@G4Jp9U;G^*DT+%h$D0_JNN%skv%n!2wN)#p zcVR&hArNJ=8#WEP0Y9>D_F+953fLq@YWMs;z4E%-%fF-vN(y(C6RD%VBgHk>tCLie_76It;J$E#fW7#Hiy8$#hE|w`!4f}7r_;a4VLT$H%GWi zMI7ou_Dc-Ih*k{|@t}^yRAL%xiJ+G1o^BXx4wvR<0Lu60C{1@AKC(UBX=h+4y zclNOvXHUOW(169Cknu_*_(Y4s?!P#0x9#Wel{A-l?+YD1x-zw9l@`RD-HWiTc)a2& z1zhPp=h3F-Kr^o%Y?Q&2ZaH~*>Z;E7w;i`X7|qzx`fS~L{cqi|T$-p|3hUkeDD)7k zP()<$YE(1wQO?GTADy|7P@>3eDth}4%_5)0Y7k3lufCso0n)TWAHdPmV{1pFd|rO+ z#Jbcm?&HSMGq-c$eD{Ch*@GX>V4FqA z;(JM$#CakVn&qfUP{4_r(J*qRy@rYx*YzSV#LX<%j!jRAP*M>#Mw&B$CCu$yYGl4N z-BWC!^OEjmEt_=iJnd(G5rmV-x(bmCluoA&za(zJw>2|z-M)ai)y)26Z+x7(c{z!x=u12M0Baq{D?JSY^U zIFyKv^MLdw9JVi_A&9j;2lNmaLwHAEq2<;AlEL2oe$*&R=v5%KIm@@*^b08LW?xlG^&rrR1C}<{Y`{R2%`3&)oA?v{r2{*|<&Qq50O-;)8-NNy5Gf_Q32(oRl8H^H zZ)?DlbBqZ`M^$k--^+#DdDocp^v$7eNS{KJ2^>mtTHac{^#TDy9+&TPl-~qA&BtL7 zn6vWlrq|o^=bI&D%3kLC`|v|=A0aeAGIUxsqeJC$GeYQrq(Xz9m z=Zwp$L^!($CbgY{nbK&nla&&1mftKdN2~u>t+Vo=-h2h?)yJ!N?0lEuRlawM+e|ju z^K(+?(!v*xYL3M(|1f1zFzVZGk5bYGE3sEZ_pC%wRt;mgybm#06Zr+D19mPHjsfQEK{d1Z}e!%k92rjoP;yx&$D z%~#E8(#k23pe4}@s{={!fR$Gv-R=9?XSr2V{Q=2M4v}SsaUj5WfaPS5Qd6R3md7Gx zCc<2Bbc)zqAvv%C(b68hE9WAwBp|1*OADCvNDVAH+WZtI4sbz#oL5{Tuw46NXFa_- z;D(DknnEn8^yT+pZk0J))5(1ydm(Tv9^0i@5T9h z^lD0U2OVF5c`6Wjeq7Tg@ouDH_|aAzcdmx8rm$sqgm#}GlHB}i+z;S#GC9KvS)7^N z2(vt@|HVv329lGjQ2Bm-0J&UBc4HMn`}6O)SpPChA`~qL@Typ48uX0i{Q-p480b|h*_a$2I^_4QU(x+}J?t|4d`}UlNxnNqE*Th_~zA@|GaCoVHVC z-;_xZep6|zys6$_ZNFJxJ*QdxUFTs+Q<>kKME(DqJ#CAnPjkdl3vLSJuL|b-HY96z z{w5caYGaDhJ)d09uSNAbUw^F~mlo5d&ZeCy0q^{xa~(JJEcCpg^W5+E#o1R!CjTT| z`6MGQ&>;6{;Ac^HqmghLMw6MqwxOr5COAe@&-Fv-Rm4<9k`%&LGNQfFVJ{hpAH0}X zak5)=uir~CGV^DF&VdI8sT;cI!LZlANxDf>fhQ+>&I55~fQbS#^*SH|p6Yzta9E?g zKP0BBn;0ZwDZspgV{OebblYDh?(2o?znjb+bzWxV54|e6m8Xx@^U>t`+x(u-VUYFp z*{rZEGc5Zb-_rQFd3T;yX?9l<)oaHJrKEuETCKE1{}OW2JvIbWk&cw*TwW>8nxn!L zSov5iKeHKFc6T?WX}d*~fVt0f2HUxr=4Wj1;}-=4n5`-5yld3n(JE4vqG}51{$QE# zcjko3*ZB>U!5dw3h-_%o2A9)#h~?B`e0T(qyNm-eZ!{29E>%kc`)e;RcQo?EjEaN& zUAY`FlGXx9Q=1OzoFK&4q=2RJ*>Y?L4$+YuPn1Zb441DFyQ!q08Dms6i&0>LH{U29 zVpu(>WHYvRRKii!j#c0xNK%xXk-{h`oEL@`ZTpvs-pDgzrBuPuHsf$8zijcUZ#!G8 z^ZXZkifgcN6<3&mU!);cr7pw~+Q|3+Ro>ciR?JKM$SDCXVv8NYw=y>0C{vm%kqAk&@21a%6!4?3;~S%?|Dp4D8e4kUaL$9qwZuMihn(0@ z<)y%RKJz**G}6R28V6AXumYTxgx$@{Mi+`#DuSlL8P8$+1WvBuRMtoolYh?H4dAFF zRb^^v@^h>F-8YPniEh#KUS0T|3$cQU5ZZ?$4-dRS5HcJp7)=IDPeFD=_Z*oURI*xR zvxU1r;JBB8-(@n%gQjzV9Lgcp2?jO5*?9QK`Mdw5?)Lq21P`z}f98#^aA&i2{ZNkq zZLM8Ddir!%eo9tmz`^|#HTfdou<(|6326(Gb`b+ z*cLU#8r36@`9BVqV-=+tn~b`I722V9PTUh6`_wW;L0gNscDQ~uF*`bPqm^wM1SG-t za@y`Q&jfX4e|rs~jQMiIa!tkRqu&VK%A9TMxb-TLT2H$r`9@lZvuTg*TsTZ`2}N;x zCSy0FPt86X(>~#%liuqy(`d;$ldw?#>9|&(h>o$ZY}fi-EbAv@L~n!4K0z9YdG{vQ zwznsNuy-ilXErI7nP;Car9)c$7tB|B@R}#f@u@7n4W7!yeT*C(x48_?Nw$}NlTG8C zT!RL@TY=d?oemOyz#BFS`ovmA`WgM5pG5rKrV)RifZZXUWhaV)4loZ*XKUDLIF-Ne zw5mxv6jO;d8+*8Lzzr25H?6c#44YO9aD+>(d4R5kEf~s;C@4D>62j?Qzs%zJ^P~F9 zR}v#Dllmk!t)rQ|rKH(kAfbp6 zszM{(IH`z-MtqPIAKh*Sg92z8XVwsKhz@+{eA8G*33JHZuNyQT|coz_wBblyzj(ZyMzVuaykv`>}J`EiKI-2=QZg>NXkcmX_?RJC06k z?IT>zM28#HB9~_8d z;RU>#4t&^R#d9~W`SG6wdoO*en0g6?#ps-59K<0x?~FznJJTbCK4V+zFqn)I7(a`q zVhptcsBfItuh;7j5uqNT{J8<^S)O6dNJ5b(80b--W_bHlsdyUnV?I(mYZqBAY%_bN5twuyhIpE$p8^llBGqv1Pm zRvH1#OoY%p!~q@bZ=4+cQeMuPmjYTk&)m$KoLkL~kZR5}Uo<67I*1mN`Mj$0&rMDv z$2$l6ttW|a3Uf%Wf6%us}rQ&#Us0SLIf8HF@p4 zQnlEiM;2R+o6alGeK$wIx!Lz{AD=Z{G*I`a>*F0Pl2{<#hO5cZLA=QXU*f%XN~56 zfJSrSoXARl8AC}c4D}lm4;w1`%0C(_{Vsgu-&7oYr9bzf`d?rDbJ<_Mx^MdaD)PDs zRoyj*rlh?fU(U|2`!VusJ$d20+84da&^bEVt;wC1cocVAPcphj*ae zy0tnrx&;3-d|T|Apiw%L{Pd&+>DM)Gt1w8S?zB#wYCE zLfppE!gdn%<0PW`FornI*$Q=-%_7(TWpT*A{q|`&M0ybhvdG?2ON+^1W($BhjB@|SnF zYho^+T)U;q1;UmmM9PogFu3%QquXQ_bLfp>u$AyDW}cwkZtg#Ax4~;->olFZ;j;Cs z?`K5V&)J2DpZSCjJmxZ?MJ(`hyyQ&$-n3P6ol{G zFqj~NC<6T}e*_wJeZBF}K~&k!1tBJaUWnapB@t!b+SW>s>;3ai$Eo-6AANiLxV&s{ zj+Nm!;Jc%L4zKgW)Z_%{vBM*h;HRPpo%tkPo~wioI*zZ-6Nltwt0aL%!F1R44_k=^ zy`Go;Fy*Pu)_(A{sG076Iptr9Pxg7}jr5ye$}_^&eqtr<97b)$y0kfcixy!B?=zxV zo_77aY|7-aVIry&o%947bGvjLLDYMIV@IEx>hs}ev)ezp*=Qjk$HX zA8uAR#d0n-6|(HS_!w31!m2J2hG1TR)8Hg{^!Vr=+ei1>&XyN`TLiW5B<%`@-2+D@--WGe5vxGo+lsfNVarmJ|#(eyoHx9 zXYKxE3s)b&Px8;=0l2hKI%|+cAL@Z$a@57YumWmC-5K|s@|ThGW%TCFuzboJJO}a3=lrwnSQ=ARd=T52bHGZk7S)wj9}5$Zp*f9+qP|VSzWemTV1wo z+qP}n)?X(lIrrfvE7{ra8*|My=J;;*k)Gr|Lepam8vb1{Yb)#aWrEeNvcAG`rfADi zPEc<#1&x>NI)DF-8IvBV{-7G zI6CVsDMn3uCC}ya!q3+f0EbdL`reyr#5Ac_8lC=7Yd;n0ydvC5!DWnx?Kh1WKgmH! zy3a~u1$1A+0?^j9l#qN2mHE>6Hi za8)(k{vASW5@-yp-ROe1U=S-fi$zsa3=cP%rXAwB(JMAEgHYn7>-etN|&B|M&p;qjCC z%F_PZ5jQ^Bz5Ul+Dgk7N;#a>22H-FU-7jdA*YJAzu$STen(fVJjsMfg`yl~db+V%d z?vh#ZGtTrS4SoBODdb}=_~0U11pRtWf-8T&qT#$NWRZJH*1oBo_G|8@kmtw4i|O2( z2wbLq*gcx<`3_(Hz>adt0(*addSBmYapTWZ{~z{!G%$<>Wn<+qd(oDLif051to6Gg z@!Zen)UlEuGoDa&(5MhDrs8iLHllmXfWfy?7@=X$Itl=b&=zgYA`f82H$^J*6~M3U zImW9lF3tHnsb++4zMEEHbT(nfaT#6ni-e0H9Fw}N-{Nue$EVgi0<6bi01^?2OSC&4 zaRUE*8p^;E?E_kn8NMf#&m=_M+>4IkCP>Yo7u-7#ECd$V z{7(9X=k5Mp_c$p$`k%lNpZpN;w3!C=AjYX*V6-6u?1t%XCdnc6>$ms{3)w>F^(BXE z6Xc^u&XApymWW3pPZ3Vh2aLT1+n}Tj*;N+Q7{*?uw;EOM-yTtMI?(aF+!y-@4m`IK zKT60NFpa+Pm>GAgT$e+gScWA-6PKA5PccgYzb6J3R zLm}y;YqkB%*`MYBM^0CDamtF@&W(q#JhW?f^F#mTTwtmvY2D()QUx_-&kXr9-Ldh* z^6x-igqy}Shh@+2co}=rcg8_~rv?XPAkm)T_ar0u1P(E~>E|`0Y~rGV!0W}Fo|<3Q zXe`M6|6|JYI+Lc??jE2g>ivaAaGPhy_oltet_T(wh$t+#G)poNlQ)B5RDSElOe)#0XWlOg@xT3@V5o^J_xAmy&Y56!uwFUHwg}x0m zWy>^$8HJOv)YX75gW$c=ZcYnVm_?SKCpBb912V9y?sciIfld8Y&5eEP4kZTLq3GS7 z38|)FtlDRAtv&ZM^d8RnZ|!ipE%R~lP<2&pCl2)iqa=V*BuU+Wo=pU9J&&E)UxY0; zt!?wVNztFT{hWg8S=Bicp9*#`U-kvnpXec%pX~w1mStiH;Nh}Eiq_fL-QQDogLUBv zedU*dp-!OfZXk`V4XXdG4CPJ?JPz7!6Q@PoIO*^%mn%U!2csA9(qnJ;dk$032S>|_ z_vI_h*Og*imVD`fiV4muhqKi;1nc$N<7BPdw#4aI2bUsUKMT0xkP|l+u?MVD{^p=DAIgyDqIc6m-G2B z5PpR)D^@C!gvfj}sG~Ywrugh-BLBL_cdP$CO3{*gB-Jj)SkL&-^U?SYE<@V~^aU7Y z;UM$B$?CMWomQQGn-ix7ckCf+4|ZTt6fL1~-_5=U682A9PTD4^^cQVbgObC6tx8no z`a>aGVkUJ)(QZJ}l5keektJ0(ax+EBw8XU6RHb4*u$mbAHvPCgAvdw1dB&Qg*aBw} zie&HMzP?T#vEbD%95phwVX+N1wKk@Go!ww64{z1=VFNBm>>(jDOo+5LM-TTRd&9u( z1-S05Ed|yq3xW(j5$~20!+{rk}Eo-7xPug&uV;(Smb^22wC(1_GlHU11&_V>@d_k_t8km^ZHgN9soe7XKx-(3#&RVu==D<}^i- z2n=94tT|$bn9u3UddfZe$BzD?tEkPD`_k)e%QbcScy9qIdcwX%DwDhh9YhXvr+m6* zG0)o6dcs|Ao)l0H0J$m?+NI0%9zh%+$LFIQzlehPq(3$7uu)s+6v4XWab# zjD2Tvsj*p)hnUSV>aD2m?9vk0UMrUr+e7Vq#F1Wm%}M)da7%Z=!_<}svdKx@lb}Yu z1HVqWuG_f?V zT#XG~yUReKq{UdmUHkEz2qRb->fxi619!0fPuQaP*H{~WrV^`ia$lHsII$0QLZHV3 zB5n_O-_zskiOa)C))!P&kVR2Bj5tT!J8iq4$AhzfWVYS7T#YS^-?sbqDB!N^E|l{j z2?-s+Wke=gUa=DCRc0moKX3N+UD`^7P9EC_AAjFSq(c8;@yqWMo%UM*idG2P25Nmu zwfA27b3TiRUA3JNQlYQZpJyXnkZ3py2VU3s{JPAmg+esi72mBI+#dQ0X`mTERLenv z7+zY23zj@NCe$5g?;K}H;=$p1C;s!JIuG+p|Jk>z58`*Q^J92&td-m7O7j+X-g({# zn|y}cwUVVf2A`(eU9elt0Dq9qNrq@>W*rd>*zCsoHEl@Jb&5Q$g0srwaHWZ-FJn`8 zjp&e2#hnuRjTgtX^&qk+v=V@0d$8lXPKFOrh7ZitFHVE?b{5T;evNfHGmi}$4G?3E z&NS-{+LC%6wCn;m<)IUyOKWraeUY$tMTecB+cI`HkprO1X9;F8TpaW%SFmxo6Fe2y z6uwuwOSXPw!}c@IbZ)0jABp>O+4}D4XsF8bi;w;V@qJwk>dr>Jd@1b7aZ1Km39DWA zwwc1IolTyKek$!LCZY5WpSSOthh*;>#ZR5v!gWaiGS{y(p!jl`!hEmV+@T}n~L(X#;U-f9guXSSp`)T*V z&hsjAtG-;k>ha8&LruUKxfE5_5l*IY%*t?F$L0&!AVUfuE_f_>5x{_x4~#-c-@IH61hzUQbFN9G_-=Ds zH9g6Iq{oJ!!$$mBvHVizXfVMXJ9L1S`Go$u+w$2$|I#| zyx66m`W*ToiT9qDeRrkL_rTkJeG`P#QKbq+TAn4XhZ?z6yeJ92!q$J1?xxKF#E3R$KcF8_1cKx<&B5%n@$fPHH%m5B9{rdRx4-wP56_D8=t zLHhSMF-`((f_ZSxUAP+w?EDOIcrOssKE6~DDf-R@{t1qjlR`tDFwO=JU=OPWnVNRy zu@YKKBVZ1V@X=r};9s*TAUc}~40vt)bVJ1>yw3hrKj6s$s0D4f$9-8e`;Zt~vLeG@ zdl6v_Bk6UP8#9*YPrx+baF<^K9YbYMNKK=am;`V*#b-x}g^Hczz%z*2Zr1QwGvvhz zAtW)rog%igZutmSM&CnQ40NFVycG3iPVU{Hl7Sn{|BBhW3||Tv_D>o(z5jb##=}) zV=vJ+C*evHgumwcdLHA}isPeKw{A1pHtld&7c;|`=AOOTFzP2mn{W7~d8D=`!q(<% z8l}&TxzdkblDFoSbwq4gL3u+v)X10qhmVJ3{AJaNn7S&I-|gE7F1tyjQ)JoDvTD52ZZq17w6Ob>rycd1hzlbg;sf!=yG#KDE8F(5bA= z%Av77u`qG&-(b2Udj3x_(wA(mOW_3CXDPC|78ZV5$>40#3J0KNtz2?1ndo5Xo_y+(EPl`$r97BAR*?!`%1PI3pAdXzF#dG&)*~I*T<`y)0R_O`iB+`ddintMsFNN ze5+Y{o_3Z;eK}f=wcNt?0vDMo*q0_vU>%@Rfm<_Nf&X3dMa-v%6)@Moa{(S%E+X98_g>7l04*phR-aOD?o#J5`J#8t~kg*o8 zAVau6Z74{0UKG(mcjpV$MRwP7biUe0L2$=Tb73Pn)Hq-GU1`dA+aj}c$MU|+3@+3KeUOar`L}Vx>d+eYd zbqkm4NYt5*YKDLL*sb#M@mf=I{Sg?29({Ep(iQ1H$(^NqhY7A7-Wu$k^Oz-^j5|V6 zq$3!EM8aN(L5b%5d?k6-xFs*C2yGZW-^*7?3dxjKo(bfnv;gZZDK1&RKr571@`cO_ zbbQ`IST%?BD$Z!h%?Rzt&B%J_EzS(hiLe99IXgCOf6EbPhj$!1z8mSl9r?)lG(f-h z47(jCIhL2@k99SjojKSNJv+Ix;roK&cATGq@spR~Pa#gR>@-6Hex&wol*^#cyjN#A zRct%1tf^YUSte(DLFxKn2=MTga^+KAa4##1n>WfY49e?p`Zm;TCxE3TNq(O4`BhAp zYI9%pN~N;^EAmf^2V+jA3`e*028}?HW);~>?enoTt$4lP6O<(-*s1!&+KGd55c%wp z_|E%XCfMrrNF>YhA-GZl^^%u)d$_gg<)O2lbUyg9dLxsB^e*UxnGS+4%$-Hh<7IU-_uRzV;yLyW{w?m!hklmAAwwgw#f3u+XePg~ zLr)ZyF{;v(66D#=0*y!T1lwl>R52Cz&*YRJ>3C-G*WB!*fmC26K~AX&FGR+)kcH;} zYL8H`19T$uZ|Niq$l~Tsv_n}7PiiJGAE#|Y--Khz#1 zQyFqN^h=RMUT6(87b+hip=TD{db}vPyI7@yoq6p>)@yESXlJ}L`v86SfLPu{Em zFw!57g)l;j0599UDb;UA<`0u~Y_BXD2*VtlQ>8XQ+q0@!NCC|B<$p|kmn&#KT=D0uD@Nbeb**{&!#^m#MZ0A|GyY)cUf3hdB5BC~+ zY2wmdnckv(EPcW8BVN6!*^jEfL%@4y8CQlb+MHBZ(s_jHIS}src71T6{Ni-LroFSJ zCl>Gcc9>DRavWoLsTPw{Id|NoM4*d6uzUwRBb^zv975jzy}L@Pq`0>+zu3=*y2osv zaj8urN>6<>>ZhPIMs^)9-Dw}eUvg#C_v<$efAT7`lABo7v66 z(aTuXD>5P|c1(xn-Ff|6a|^xTK=duDdlwWDtf_&LoAZ*QWqw<6e!>>|dAKw>b_(-& zhKpnN8DddS*h=I0#XxH@NW~Z@(y_j>OsrgmKso#x-tw?a|AETN4;u!o+dCq(^M;Q| z7$>J>eVoUOa9CsSaWg%UkQZUE4T%*KSG*jU+-U7CJgX{E1sul~C)ml~`!hppQyPdZ zC9S4?_W3d?lj(z9KRu_vZxb$Z7VD9Cx^zsRlR&B0h@WIsn10(Oq4O(&+jubx;aCcB zMp+vimEQ*d88goe-j|i74PKA|DR+|n?xJEj7r=kNBddA@FfpvM3Dg8JeL)l%WU!^U zwu#Xv3Bqay?i`ryD-4DnUgGz!>cZ!NCD01H{%})KJDd&X zgjYOxXP!7SOG)qL46z3~mh2%wro&Kf$rS$|gu zN2Qg}AfGBoG4_=09DHDX{{^=#F{gLjtCv_KHGWw3s{c(~8=|?)ylmD)`jiR~?0UDB zK|ZGWWfHaYzJslkT+3_Y#08Hq2>XT?`@ER{K^NA6Kw$-Mr#3ZEX<)0oa@{=Y1(C^c znN}Pqgm^eK+Sm4U$yj%5Y-ktoUtmw%AM5)b97=R)_=cftgZ$7+U($)Vb(D-GoNFMl z5W=6EqS;AgjYxmCSb>5>nr8Z!nzQd{nE1^Ei!?+BJ&;OjQDQSJF+$kL`!nnqA+)Ch zAo>9bIexT(3+G@Rx4Xc@`&i-SG{V7i{Q0Kz=1fcS_8T~%7RPOKKKOuCQ*eY*Ahgk3 zXTFm?xJ2dB809c)pk-gFnXRtSXenm3@)KdyuPJW>?C*lFmVvz4N~A`lKm5dPwTL=@ z2O}=J0Mbs1#>xA^t7m?FEjgqwNqbJr^Al|9s|XOP+@TiSveG*sB%6OpmE%j_fuqxAp$@;LZPP80< zn$W;}Ux{QFOM=p5B706SBVjI<=a`tk&60nNI~3JiTkY!}&!Hno{j&w^n2xAOW z#@i2joOu8DP$|ANe-&a0>M^O(kpoXRAbo@`T^h(l4|;Z@S}`QYCNzZJizPE=8|!q3e^kMEDK_s?XPkR=dk_*@P?n$x0xey&czOob_4&Nt@l9&_>b*Z-+G{UEZfQo8~gXp`ulMp zc*f7nTT8kGE5^f{?LB-m%bif7ihkqy0HiiXK~WK@P;p&AmX948&&V3A7&~DJRL!MY zR&-O-6xNrHUd=*I==8$ugGB2^bWQINe{gZs+e7*SmJ1flZV3WAsBkh6cc0tkXSDfT z9Xm$*fPJ)}CgzJ*o8kqaT_J$2mnC$ly}!Fo z~1#dVjq2CV*1Ce?uNGSsg`h133!*okV>ymA_u+8AN7n=bBcCcpn;XdocNcKp`Y`JJEMc2-^{L9Hl|nK zhdI;FAM@KE$C}vAxjH)V2s91P#1)bkA19l70T6>L!h#3e+oug7roJcB_y|)3MjtB< zexkc7?oW9_JoV-mhgfn-LSn3nzMp6iAATM~ zuRJD4^)~+o9>chA$JX2zA}dOFaB#10YSuL&Tp{>O}L(KaCPf#gGVCK2-c0 zwq>_#qqq&SDo5WQ9p1iy@9*#UHeY(&Pd_>pz8gM~(=EtdeCFBPIw=OLSJ6-QwfeV| zh>k!VsHNm~*oEHY+Ex&&etj;&Dwug}PBjMf(YHvJ7qMq?xb^kh7G(2thnv!ECC;2} z+QhuEcezQ<Vq_yZs*`=J? z-92@gEWD~0%N|@tYY@0RRSN=TtnUtXZV~vl=o`Loc(4g78vY~ik`?1VksGR0L+Q1X zNU7iCmw_d80DO42u~UO+KJK+UJe-QCa`(qZJVF@!o=z@Dwnu%Tp4JB+L zVO-KupoY%p-)YqJzXBAc;fl{6IqRX%BUzjJr<`83 zz^6!{l*7j%$!#>?bTg5|6036{{r_r_1f!!U#aU(e46DqiPq$btq7WaHI!)*db`XkE zFkypBTl_}lzAkc^WzDl|cQqsd+tkS0r3~He9k!>oUlU#I7H#AZsAcW=1uawnm1NHC z6GZ;g&7qEi*at(Qkh9!*h<9Hf69%$J&s^E^VYp|QU!lT_;fZUNx2k3PTpyn;Id@+Y0E;#t@Lp%gpre&Sf z$dwtERhwN6cv7O~DfbZ#s0nd+9?Yg}GERfj?KtXOYtA{{sTqJILpSMr~61S@Pt?DWBX zhFOwXMX2?&X>&_gJTu}RWmEDp0|opcJ0FWIzR;cn9s&;=mg))yy<)BBfflH-bzZM_ zM<9sBxvwvGEc>sEc9Gll;+mKzWJt8D9f*M>v-pwv1&<{@PLvlCs>#8BEwz#iD8va! zA05*oU2rfuh<8wxtjs%|{J2Y&T}{~Ko7%StUQM_1u6=6gc1xQA>1D^El*{QpQGsJ& zL3p{`wQG|Zo!{boDOtrpLonE#I<|f3g(&Lb!%%Md+m^9q^pB@oAoSBmFDyr$)(ve;^XnalS2S#1h7X?cG3ma zndS^GIw25i*g>@Nsb_Xh3ZSTB36Oz(TiTd>NE3=i@97$i)&Gi|FH=)H|2E#t`8L!b z9gUox_l10K-%WGl#>}TW?XPnBGuUXe&(}bE^UQ-ne;MpUi%%>WoCIB=yUI0hQ5a)1 z3x6gW1`U<@hwbme94@>0-%j0)I5J84_jF;$I;5hVWRZB`+`FkCm`Wc$rgxR@?M@0;to$Y}Y>&mep;Jn@ypI&79(Pqznd{WPFfTn*&B2tR?Ghm2hQx zy`!2|uGCpEBmWh3R)xcRP4UmHicUPR{;}cZtGNRupgZGfH%3GW z5(TnRHS(}07Jt`7^-38Uxnmn*-b#z~6|eZ~xB4Em_NUp|B6wfo5W+%sY#g3 z&&@)Q$>dkKN}9-wp7Jmm4Xw+?r3HkY{e-KK!IgQ7tB3)h(c1tfK?co}P(;nyPUSMJ zg&mqh4e+Ll8bmCaM=JehHXoNT9J}qL_n%6f4xyODu+0yo3mKrWkTXY=p$u0idAYfw z3^y_+^{*DqqYSHQP0O2_C}sqKHTfN{8Yin#r62KFUyv8`LyFoEqSi}qC7>0tj4x0o z=y1rUw2~d0?EXw721(kG#C)r0{zDQap|Ztsl_;H!Z$6g*Y?DHvOpaC>`gSx|_ZYtp z3n1;CUI$!CD2lJQ)O4cxN-axE6rL`=nJhf>mdi1jZ8@Z*>P*mxTb_bt&AINHobO`M zY@>aWe!M)O+{>K%t3AGdHuPv0?ml~H_8mT|7cI|t?8WpL?iAOCZNe2kLs@a=bzFZN zXwCyee17-!7ts5M)V;5a@{_(Sa{6deS=-e_vYYJnG?wtKv{~EH2T>qM$7gSRA)H@* z9N}k?|0YZ|aUq!@{U@aD6;_yiTcakDTfu&(O-_TXRhu;{<|Fu)CbO7kU+3B?^F1>S_!A>D;BP12YlZVpPulo?U9RN0{=f(;XK>|rM>94B z&TAb}n3y(w*kWYOcrcivF6PKxYrX3vR3_x|H_p@Q4yaHti@4A`P=_lwi4?|t*n}p^ zlq46}HtX*+Bk17YvO@}=@7M9082Z(g{NpI$mJ8{B&EK%qs{LXF{XpK<{Og5!tXZva z4iHcX+tMg~H&}*T3xL6{`qu7)Ad8ZAX^ZmzqU;m*u}Pw_I!Bn)mPlHq){2cc?53e76D$Jhe>xzV z85*bnMC++7;D8E^^bBuP9uh}zgeulyX>Qm+D%aAWX-^pXB&q@2%JpPD&Rh!df!i(4 z6WSY%v!@p`EDMjHM~o1j>;}J%J)41epsqQ_BAAEJKPE;Pp@_^R^s^i6Vcxq&B+v1D zf}N$mFXGwh+v^a>&dNZ7KFSj-8BI!+t9j=L7bi96eECrQ=(Q{iD}wXSZ@ax(b4Psox*uq90?&l~)HciQ ztgv_IiCbo5#NvJSG(CyK<5&4U|9qkRxWKJfbshJaUzk@&Ch*iacvjk++ktG5lUMy% zH_M|&Gp+L8Rhyht<)Wj4mVglr{5kz))>QKZ%zu8wcdWel zesZY3BfDn9019{~iTAJbw_zu~%Y$C&KBQo21p%C3{5XXHZg=3L02MIkitq4|A$AQc z3`kG_I=@Is39~f#AKz)zUUpx~)T23n8VE3yUpD7PPk6|Y41&o^SXHi_=T_mmfPR(d z>euCdK+{DxSjpRE1Vohy&gEf=)a_1kqydkA@<;&U27Ps$CTg9SOm4vF`om;%3)W|u z0}gZo$8xE-e_wNSaD&ia2n@+Az1tC~hI%Xn$j%hcM5TsvUmqNKtV5A`p^vY@lrM;& z=K*d!?#`iSW)G3W6>`kpBTQi)h7^X@vQG^)O4Tx*z$G|asnB4HP;Daf1IGyv(5g0Y z^=D3%5XjB3b{s8&ZMm7ydo5_t^P1$=dNU*z4=HL+qzrXd^5bi^?Dc@dIO>G4^t2y; z+fELh`R+VhGUd=K;xYtVzDm;qsW;r)R>hr89>|R2k#^uuPI0=1!?W-+r(EYUo*0CI z9|+(V^$Xd4+2teos*DYMMqsIo8?(ucp_vrtaD{ENHp(wGt_q=6vm9KYsXd2TV$7Qu zHZ6=reD2Z-akf*7upH$Se;|lO%Ft@+eY( zy|L8CFFIii1q_}vXIOiWVyUce#jJaaznsH8M^OsXl}vB3Ih}Wap)F;c)a;x%C1~BM zo(2xu{=5{WDjM%~l$1JdOR`4o<#d%f`AY%(`>bPRcVsfg&P)d>fIp)*{!xII7jy4Y zPuDYB-ZQzXWQTC>Flqu91GIMm5@x@feh|ywN=!>0O;Exy=Nvx$MYS-&qhnFl568y# zd>$G#a5hNNP(&{%REqgkT&|yrwxJvo9~d zzyA839J<#ND~}%u|0|s(a-csFsNY5hczqK&p$bOhY2iL&;*4t@`6!`x(FEtjt=l+b-*zP4lN?+5=Hic{6ZpHYw6~8&gahdn6TYm#(xmkBQ6<;&aX@9pr4^=Id&+#$K z);^~AI;K?x?s(wNx9$OkT?}&)y@y&LZSlYqoF3Y)*h546skP0wwP8g}Z9?YfVf-)Q z6>DrD*8SJVwpfkngoQ2#E?X6rTw3OwO zZHo0AOXHOpf!kLt?n#bF@TQ6mHf1jcj<0i`z*W_cVzC6b9Y_q$0sKh$& zxpHL2Ft;{*+dbptS+0N<kb_i(@$S!qY6p2NM10i?^HT0toWGhL=YBj6dq+)*s8UiX<7dFo+sP30C%Qg zA;#3U>45WDlMZUEd*)_TS!jFGU#V@=h6L)cSAmiFdHuh!H6R(;e+5zhWf1+$n{4xP zjf+FO_-j)lA2Z7$tUv#B@&v)@pKz2YgC0d3E^8pYW$w2gHcpGC9IF~MZS`w*1Sj3! zwYwMD&X;Wdh$K3)f8L(XFyHttv$3xzz3{_#yFYS%|B!e5%t1$Y;1`*Mc%VM#%I$RB z_3uBna<1?*AMpPeuW!juPtEwsUY>|AYkJ{4osLbIa*uGf&oznRytVP${OIk%Qts8f^j~qACO%LYz*LwF3_ezMcKgl*|y*d1ZS~Qi{b<{oVFT>j#LfJ*nBcK-P3R8 z@u%-jgPa13)hZ5bYMy(d%bkTT?5O`d#Ua7C%CNyJwvds)mDh>4wJ*BO+4Rfqn z1w2i1IklCHQOecOm|h<`fb4&_r+NR5tA}if1c}zQ9Me3F>$>$3tg5`ODzi5*>WeYA znm>+Y0_*PvXF6d%PZxZXI3&w@PE5>)8uKMDnzltLE~!UAdRkJY&IQK_iCtr6)a@mev-)#y&6mJP&uh=k1IjK~t#pl(Nh&Vqx~=DX}THK>C?)K`jhw6Pv3YMhl#S0P4_tu+n6zOvM`C zx|DQz8lDv|XsE;`ruK+l{Uo3{{W1*<=hU7($Wb8alsD*apAlx(*+1T^#?LxYT}w(# z2ABHIg<9mjSsXZzT!V{%8a{meS4uPyFNKPhwo7)mn+1)AfOqNKk|U~=uKeqD`ElVK z!ggU0ddWrgNB%~;r$i2T@6S&T`*|A{;*7pIH{*G2X3n(piK{ zv{#ZHx6G4F$IbNYy5R6fd>P##9Kcn!&DB5EBP5Bpk}c&z<-n#K7y{8%bU3`(k7Ux* z3PgeaeVBL8#NP`Y)g;Aw1+Z}Kp1ud&Ruk{-_17_!8aTP?LnmD|`;5debpnndtzq6oK^AFYM**S5_U3N7LKx>@E-F^f@%M z(Qh6_>0=k02Osd|WhhAPhBMd;WsU96n(u5iEuM0E7=>$i0l|3sbC*|!Pvh(O@8+uH zP?D-+lrzDJCvNY(im|<{yD~X(@S&0Put2@=Aj_CbEr*3=XZANsCzX+ z^89pN_tlFUDQK7P^yP5+h>nb{`0=cL+a-MTwTxZH=lN4`V|nqPLf2>c$2-Eef|}HH zXnxIlHb6k~CE9Tpc?974BVq9QM(p!Vcm)3=ddzR|CS)bcE2j(^bmv{Hp6*W^aL>cE z`yLXtBPytHc}O}9myVmw3NpRZ)VoM?66b`6&dincqO0LXPEIx+BKOx!IC?a3ufZO2 zf8ll=0_oE*nT=0qqErYY@l5p**2Ip2=LjBm8<* z-~ySw*~it%qqFPJk*;HnPJ7AV`92be2#iq{(~GT9694)fN2b$obY#7%zR-Q3Gt8B` z&Z;8WHtEJTFAs-+NZ`V9mATuBaiOK+iBK?>SD*c<-4~0ShPuq+xOJ|TQnO7-f`j69{oD83b`qH zs%w4ze0S5W~4;xrm$IMt|0s3!~TaIi_!^J8i~ zK_$#{)E_KW;dKs_6+2~wsM+pngNu)IOWcQ|I)YWaB*r-Z{3A6T%K8W(92LW12~vn? zTclfYFX$zdN<8$ICv3u4%Tq3A>HwLQVJlTLNi~RqkY%4z1o;TS&7t+>p>o|+@P(}8 z{Ok^n#=vChT6@+6&;n9tkhczC4+n{Wb*z>Euqt-qifF?gX+cWwrG-958GDlVi9zWe)o_x(%U_V_ysoa#eDCssKO|Zb#j2 z9`*R|_|$iODsbT-hdNEHBFL%6zB9Q~dbh&`#cA99;Cc1TxkXC4yvE^=d+9XP*Damm zKsI1H^ZJLihkx7Q^(}IjBS$en+^f<_f00jCJOcDwL@`GK)p=-)a^IO)Y1}fOm_exc zflf1dkn0M*B0467(;|>ywdwv}(zW&Wr`A1{iFbtg6(^%jII*efr0L!+n+of>;R0Ia z_qk$^=&k(iq~uf3P^|Fg`P1;&_rB{rXsf{{%iF&Z{3YFY>)IOG0-uYfJ?hGJ(S9aa;B zXT{oQl1|F(=HBr>*<};VL4D03_=ewEDA}?z;;rrH*wkK9~3{tpay6uoNE^<_>LdkzlN*@?fE7vLqO0wj!8m5)6qJ86`@!P55k z`092@a_Uzc3Acf$f{juTf|aqV92%kQGTyH;jQ?Yfrio(V86co6W5n5W#SzC55p^Ic zgoKlhgTJEO*rvaHNp$y#$#5#4gUGrp_eA2rny#RB6t1cc&#O@ASP(|+ zz77L|o|I7A98a691xXxA<;#pj5!EG0hi!=jo{mXY zElZjoM}Cu!UoPp$J;pOdoBaFMi5_0}`X(byZGwc1#bdrLrM~pDgBNHVK2&RHk?uJA zpF=%wU}Sxy#^%2%8QQr;1=B*}_Re+=TjJ6rtXX7V9=ih9_wj@_AVf^!IemnJeHSh~ zd$`$D0^2e}QDKwPDJC|iOu{b6YKRglyYjvgEOe~G(-)aSrs)~%fhcyv&RMU46IW1cz zm5=U$^BiV*q zwLR^Yb%l^!!wKWQ@|p&K4Vjp8s|<~K+D6EZM!XAP25m(M44<5rVt%#H^W^L_k{4|T zv&FP!);1W5%S^ke;vY_~LdqJJ!FX&j-3)i(edsQixolE7o-(Zd!6|TU;<#V|^5dx7 z5F>N_cPSIj9KOlW$O)8d0yd05ZguQC)XB$+l|LJiN?ko(dO!gu04b zw2~;W>;)U-F$l;z{PHALZfONy{2ml|14D*rNv9qBy4m2TVaSRI&|jvZU#Ek-ETNS- zG?h+~X`fR%C$~fD!#r3N-w=NV!D==Yc0DSQ*5;krP4QSw;2a32RnzV1E z@6}=p3e41Jd1-LFi^sxo83TeBKf&rMQ~|}n9#fxbEEkTUAyg|E_S%!#=n7Dwh}odM zpQp9RMD$aO*mC=|uCKSTMbyvQ45j)6JXhGqO2D>ed)hH{QiXhSczbpx&pjd=+KrEk z|Gm0ydCe*BQ=B4edUAC3Fkp0&qUR!a`gC94;8-jE^L5Fhhl|TDFPAxB)N9_wv2LqK z3*^}8Xt!>W-MfjH;%*iAad<>&Ri62^9Eo;aCa|`3zx%1pFYwtb2c`exa@QB zXlnChe(?xE%UAS$$sx`?Qc|^*^1(eaJvVVsFo1kc4GZ`p@WEY$KE<2;z6{uO!Qx9| zzQF0;EnJ_#T1qZ^j?gIpN&;(9E3;L+N23Nf$A7ct>c&EoZm>Ag5 z?w;DksL9jAV;)>QUgx0sY`^uad9d3=fkOcLsddt<(i*i+P@u())524;FL~@(80s5+ z&1}pXub|U<>g??O*h2qRd0O_9mf9jbeY?-q?8{ZOzKQ-jt!9wRG3~pSp?*i8M4iAKU+LW8>j^ivQc(SpV$*_XqNS zi`nsfW&%GmfuEVc&rINFCh*fTfzay3e$QZ`I1DJ#3V1YY)DIvzX2qOQ-yJjV6%@)* zTivj;2@)R+Dpj8HE6@2qAR;mUalyeH0wG-ak;kd0wE1CNv(a%l8t56ZjTekwS&t5A zM#(P8ZLUIh1U+&e*sOme$y4Nd0TEy$h4l>N6=Dl_j#`WtbO_I#Y9fxTilNGZCPyyN zA{u&9l}MyOJwy0g6W(F$bVG#!4N#TI0Q(%rsd-!-*qFM;;VkL>0L{4C71`s-29zj} zsT7ns@&Z`4u&0;L<778cO$x`#Wsv|}3Q<@svIMQe6U;wPntSps96hZQ%DW^WV(_V7 zf5#3%QRCwK(tOsV-leeVDFae=#}ItdZa?4ov59Dan}oae4qsTUMdL29jcCn&780?+ zGsFeerd+%g+u`uMjmwXTENr_=e0~Qi`My^Xt!xkLQ!V{kTB<-@Ty^-tR%s~|2D-k! zReE0l83rU$t0Y&ooDs#|+YYRGIZQGLzt5IAk=O6lmF)@AvEph=wQX08yRe2HXt7I8 zk&d-=`kYO6PF^0t=(V7q=l$T!#gp-5)b0nJcTrpEt(pCow1)hg2a;%3xO|la9lg}> zVa$|mBoa7gR^FFVb=&b6+h>zrMct`QdPZ|TL_Hd=_Is`5?~3-5mrtwCS6?|_=yL7$ z&e0LgNxNEFO0~l9hw+?l(ZG;2ZD}%${Bt0#%I~N{t&sQoZFmq`NMM^kbx#6Y_Qez-M9zE=3zPk-H zA|~uqL8I(6$PAK*tx+(5ZTs+@x-X^!*`e<@jVgZ9_NGmxZ*Rw=aadKWUXvBCI@`*7 zrlJZ-0rS3^oK0FqWSpu16p|X^zP<`$iKXIYUos27wDi8TWHvUI?*;S;(IoWDWjJ4N zF&bs&^NeFuJDc^hn=!&U(2fDh-XhXQA2&Q^T94hMml4f&=o$NcUv9S_Y}643++|gQ z+-0NxL+AT#XA@hvQc-v6G$I=B8SQK5fecB#c(6eyV?w(#g(BD-VAw{-A_vgw1S}UC z3J<(NXLM6Jt2tjyYPuS~Idi_=)(`NT5TE^_cP_~{UB0ZoydtcgHk`|M(dSTnyUfRtUfQ9NYQNZdMN_Z8J%%ICxSG?iqGM<_1)KiNb7UFz z=TuFf(Eh^@I-kz}_Zt{{r1bxr4?o*~{E_;FIN|3B;h|HS%#EyJ`9 zcW1;SC@!HThIYFHTUh*8@~%Poo$_v(gq&E?vaAr0|EiA=P2H{J3vdqN5u5e2hcg74 zQu-w>syz@=X8$pKm;~FJ6#iwW7uD7w%FLNBM6ND^zGuS0x*hnVz#7FLl57o+)&?~E zd?UeLK-@GjpONVLxg6F>rbcV}l^PF8*6T=^B_S)iN@F#N#DG3haVUB&^~zx)=^)j; zG;Z!;8p@1^=l-YG0W}Dt6mZ2Y9mWDwRC??DM1AF`1BbNF_jittXq%``EhD8Ds{q+k zQZaM@q}7WqvU&l?g*Rl!U2V-1FBg=ZQEcVI?sFU)cL+dnqbrv1%aoi<#6a8MdAP|_AnLQ+n8jTNE{6LT1rRhl=D)w z!$=~sX4T%>OUb^%XHof-yrB8MT8>Oq0lCOhr)~e}=|OvEcei zBQm0z6u6T?7Bp7;$<}AJCr4Vh_skpXk)0^G5jQ=3Na)zk-rh0#uzy6@D)*tb-pV;8 z&x3w9(i@V!r(#DRxvPUs8Y{{z6+R21Kl#L&Tp5NZv0?b+wt*Bm`e?g1l-MQl;yL;| zZ5eyA9rJ@;6wHc~_gwEY#s_&rJ%QgQE?#xVTZhyb?lIMULP%@qvdc6M7J~`BK8I?6 zzemoAh;aemqpdJo$G`nCuFF_uPHf8_u@r*g*_+T|l@^CCU>`l**BGgavV9kkE_RWD z2!Tk5Jc}-rTRJf3SneeyrJ)myaOI-%l~Rk!G4TR@8n#tY1>!WE5R&Ni6he$HCK6`4 zix4f^>rF$~-i|!F7$z#AyaM?=xS}qBwJfYFS32w&uIe&+5^G5I+KX9pw8INBkUmSw zQU%q-FoJix#^vIR->@fsB{}Ns#KrMk;@MNZO->(NKvQ$L<3!%T9bLes4R@se`A{d6 zg>z!a_w}i{P4-UD!ik0>8##e$@{ZGrY(eP7a$YN)k-jgasoR?j1~*oiDA4FU^32|O zoCuT`ZZh<*8#72jF3Q(TkRTp&Ys``s$;e${9J1uEQR0*L18fHd7HQ$NFX{wMeS9-* z*YBKhJ<~bfG%AACnWw`as~n&g;QFu$LXq$;+^DpK`9jbhIsVEuE7?42Zrjt?vGfdS zjJ(rF0F<$(lH{@m*5!n>#+gfcEOEUfdp^+Bq0MqA2WQR`>uHB|7L(6BJ4C!>S{(vF zCyD=rDN<_21cGau`t3%^-VNI2On7J6QoyySfyc=+|qI8u! z*x2_y+x1U(ggz}-!ED87O2wK}+}jhrTh;N3*a0vY!qyx77Z6wvb84-RhO9R9&Mb%OyOUM-Ky~gy2p=g>a@LB`5nA zdn+~=&}r60%G<^<|C!K)V9nzs- zFvoVWp{P#MTx@_aUb<2vfkFDtVZ128+5dSRbvV`fj0Ch|yMpesbsOKv%rTO4Va-{Ck2)7uawTQD^#&lQMoJyKd%|3q46g zZaPO_;$Yw(Z{sO<-p@Nv@4U2sa|*+0UBH~%4_I1jJ}nZMcla|c+Rep|&AH1rt1kCt zmv@N}uiYaNY-P}#g8{xXOfs28YvhRmCA9$=i7K4~FzRF|7dguE5=k{W7w+)fo67dD zq{*aOfr^;7bVifNkb1r5bkbPO()FTF=#R!qr_atY1gD0@zEHwfn%XNNp2(7P@q%N1 z<4qikhM_EHCZm+_n#m*Vm7+n4Xp|+5Di(pIYJ$2!5BQXwpjeC$J{uuP7}>}`nO`0U zBcL2tnR`w~I$YI@$m@tsrQhdfY=Ht|DzjzAK9r4Imzmv$Q6;T>F9t))TVJn96fA(U za;U(I9*Gd7Mq236{Ch19fyOfub88H5tzjGe8Usv$3EMfC#kn}U@g@7jW3>>J^=^-4 zhfX|F*k5TSk9+R=!@Skgg2SwJ6Ny&Mg;M!FZN1_k`f{pMK4A>OrPg6KYh&T*4G9Zc zh)?o2OU<_1u`IjtLN(_1d-};_uQu?C{ARj)+w@ssND@C{DlE~knzL^S3<^Rpx@~6) zB0K6Ibd+y~9pSo*I%k^@*e97g9gJA)F75yiCfg!dY7@E5w4LmxcS&H;NVYmLCz+ru z^H-ixF&}R&6=?DzS1HKpN#ElzU^&YE*p}*poe4kx`wy}I82G~r&%G-XkQw$L4>uod z#PQ!Zzd`(u^#|*p?LYoq{690bA5oEOf8hM=od@A0x_C#z%Xb_Vv~d$Z`r&-w`uzqm z&fkAFB>8Me^4XB&vmwc6Ly|uG%8S8U@i1>qiRW9+UO`*;> z2-}so&WZ!EWoEVR?W!TKVa_GbisNN!)0AW?lf)RcA@@}hVuun^=7NFrnX@{sr!-ZU zHE1)cCP!th1v)*wYPPc~QFE$d&54(M4j{Yw*Jwm<$bH=b)x$BBV^p!!ndLM z=E}GCDInc^AaLsepsF(%uzQF6%GRHPjR=fq4}x}n)G!tO?lq?X0!U~%rlS{vrLQ0+ z&h|DB4K>ZuOvNy9ZCx+f*J&swS=ae1ojXkMW0}lk*XP0$>`z70n?+G5j5fY@)~j%$ zvb^V)a?YJ9{`J>2-hN51u7UyPARpZyz^aOyajMI-PCRIKCCxi8)RVOd_h$6EUI(DJ z>^3*g^2g)!#IH5&oVEz@vOMo+wY{C&!d%!<&scpO-h|T|%9&ATrSDSTw-fV)c`%z9 zVafX;#D$!fR_sJc z-s%Dw$n8L%v)mw^HZHiNmo><6*anHB0!X1gslt~+p=3`$_0EOg?-GQDbK+}@7yXRI zcTUeGfJkB_;W2KWFF#cC)LzGh^`^-?&)w&CCL;*60wcC|;>DXWv)?;wa4OG7<-Bmx z{@WVQFQ3G)AV)~G(J2WTcP;G%@1gyQ@EBmg%Y_Vc}V8qMf6!zr(}EPDPeD1 z)n*EvMhd;XmlVjq-o-%?)5u6{&yZ=H!|%u)Yj=yI7sO{kZ*Xj*72MNFmUuZn$*tE7 zc;9`LZRXwG9`o*Gg9((xwn=Z5Ik<0&{J73{PA&-&DJ@=hSCFSm)R;e3oDCw#f6*~5 zG@PX+6ddZuUsS*sCE1jfD)Bco-7tOQ`6dAn!GVa0plz`-s>-C>lz2%oSR?fvZMZq4 zE6FF_B{!>_Z*xvTT+7<=qU7TbMCjpN6&HM~36a`p)mhjgu1bTp8r)X>pr>~ zCt`;nsQ7Vx+Xg6QoZo(%wuq+uTg5b6(46(RCayvyABLB%^_I~TI(c}3tbK#~-v^H#J$Sgexxw*& zAFO@8|NR{Q_w%*w=WE-~*S4RpZ9iYz7Wn^vXaHH;{X7olN_Yb{gBu*;RozK&nf88j z=b%l~+kQb`k~QFk$`vMjmz-N(8yd!8V{f8WT(wHgZ2Z}i)4l!HllJrc=(8#`pn2tm z;V?+XrHv!wrUJe(_-D=2Q#wtDPxp3yPWOs1X0nxD9OTr7aj{ls?|CD5mdK62lj(=o zF9^394{=JNm%4=M$7D#fqH7K11Mlej!TFrG_cPZT2}T20va{sS>$*2vLTt3xjo#48 zY+8Hq*)=MuB%>?iOCvhs*}tH$UK#((3d`4iakAScL}gCZ%SW4SI^WIXoqfdO9NxP( z@gHp}KiA?y{r<$vDb$g>!B9E0J2Xi|8OQEBqKHgGPlK=qSrlF+ME{{*8VA8U2T8OM zr5k0Ays+PJ;E8_1Ifs#YdnbBI@+-cn`>Tkx?riPvz?YOm)RIulp;(DxSH7q^k2X2T zsuV&JRN}0_gp6%xBd)r>wpJgyLnMzT?nT^JF2Qm{tju3`{^kxR;E&cHt*tvRPj?%M z9Oy@fyU*KCT12<)*;!vFIb-vi2aneDzc|Y0%L5`J?W5)~9MF@svSq2rw4!-XUuMfz zVHtu&fkN_WYrlyN==8?z-gqmHy2^=W>ER=e%j)zvO)ZDky@Wb|gH0wc^Ej43-bz)z z>Wv!=zp8;We|&k`+DCB2*58}^KUbu{qfO^KYZ9xXKUYcDb&_-}8a$>QZxrbCuL(`& z`_hsDSKqea(Yx_w{rmAHg8D({1GkN;6F0t^T#jm7VUnzoUj=hrb-qljQ&EIaW4E;P z3dIf&_D)F9r;|uk_Ya9!<3_zw!B<2ytU7h)+i$;xT56qFx`dwS^G_Wd2kim%F?EAz zApxV2wny~6qqYt-JJ#HMU)ZnAnyVibtM-cY(fOJt%5LrJ#1L5V0YQ(X5Wd_S=nyYL z6X0=`$`2snOtgO`p@swEOg#lIQ;4yG|#?IKu;lmIAe~` zOss|3k|AD4pXvMWJV_bN ztEyrj&{}-U{~X>L90G!yjr)ssCy9p>d8*>G3r|v6lU^qO^8Ci3pe#VPD zJWye3@yG<8QHi+eQQsS;!qJQev=;_dF}GvG8#|&YQSg)3Z#iK3uTJ@7GA!4e@{52! zPA48de)78f>tceBr=gFJ6L(y8-f!i?d_hvca|p7;$Id8}UpM&pn>75l zNuS?M&bbY5gpb3{7#|10B|i4N4mV6#j`k0Y8j5gyt*B);9E;+`m*RP#HQq`P`&Q5S zWjy$Wv!PG={Td?1tDUfH;(sXrXC397;B3cni<5l+lEhCr+&g?syKW4>-uC$b^&f3k zs;lOEI}+ZJ_BKItNYtC2HCq8>z{40ALw98{V3+2%?B*|nr?p3IQ zY!kCH%3sp?_;PKd>wFnGUv75!`(yLRdG_M8T%&5dEye@dz=QS`F=%gTcgn8;{i-=? ziS@H!_!hO+za^ynwJv$%xuL0c5lrGA1Al0~%jwWqRV86DK8{f|86cDxl8`9x?a&*s zM>q!|gL`aAbUAe$o2(uMb?Q+t4u)XgK!uf}>gocyQG&^MG#QH%C$VwMIy|f<ZI62)6{_hP7^8YOYoIC@ z!_-0ye+68klj?@>W~qm;!Wv&%+cu8Z!a-W5u4dA2Jb%4Q`7hwZX$5_r0c2#Nqf=S@ z7|_vE*Xw+#Ucse0ZrGSf7*%QWvf;$g<0=E9hu*j{syS;lCsCusg&vn2ZI3sy=He+_ zqTM;>z~*Jr0~I^R>Eq)MnF&VB{L_&OMr|r74>88~aSu;Cwk4U-M`r6(^dJ!YQc8do zEfC^tFLsvsLk{z_e=y$Y_1*JGMwmqLMQyibz%^CVT9yBqcnC)U!!AYEk~p%IFP_Kn zKXh0b#5KwrSf*JsA}Y_rNwBZX%N-q_v|hD|Bpsd}9<+9=P)Tg#UrB`&;Q|gHblm{a z-#E;JQq2SD_vrLqxi=h2fW7m_LSW*_Vlc$U?{bKI(<*p~K@cI3N7qAWJc-Q2wn_W` zaB@vJF=E-aXtoK4~ht)}e)RJ2xD}h4Zhh*Ef|Uz=0$s7F#TBw3Y{s%i8^* zSIcyd4Qpijys361rClfg)$OEHhT8hRkmN{2ef*=WyC z=o0&%H8ZIZdDlJyXHsu~ah{wY@F6BzB6XYueK+(G>*MEO65CWFj+_ZJ=kxl8lcCTX zof?g!8cKSicV0O3`f-TEE6fo?VSx?=FbLmqWQjNiY5uBe-*Sv=6nY&$;`9(0q4Sl~ z{81{jkB*zWt&?WV-^I0hI!;(lwWmA#`%iXu|Grg9i&sk!uV!@(__JU$e&?*kDh=X) zXt8)F5o{MDN6;S*3&&~RBGrV_hMjqc8^*?ZB-9cUM3Yu=iNhl~fj(MnSXyle+b0X7 zuic>XJM;R%l~f-jlNvEc$PqF`_!eQ!Lo5xKgRhn+BruN4Qkgk4#gK@zlNW~9mGxS= z<#he7N}LCFyf@b&eyx5Id3 zX&;S}CVnxo->{NKbY+&FEvZCIlkXQhyU+8eHlLLu?C3XTFJWY5Qf7tOyIxJS#L%=vNl|+qqk6t3b(1j2E$3%qeQHZ!f zoln6j+?HNuSI`;wFsc(NNKTn02ysZB>Xu2E2&?tnHPMPA8xM3@Q)M0 zix&Pb?(_C1Ck3jTPy^(wKdY_fx=0sXab}D{*}1Mx8!m5$YMP8pVlpASBuPv7{y{P9hkX*mikannMcTU-QyAWA}6 zBccjX6*{cva1&uX4fg!8vI}G>M)lrfBkeAPi3+ffk+qX?Q( zq=r?54PR;4&%E)e-+9MV2~{~7{*lBxS4DChdtq{RT`S<`dL2?Rz|kzd)7Rb{l5H|l zQICx@jRuvY9Y;T=P0k4p*4OGAYb;*ZoEBhR5UFj%J>>g&ZRiK1I<2Fw9E?xUdpZ!u zW__zHrN~nCy>r%9Q?Ez}SE(&bhZ@c^qRvi#(s}nqVoG?8?Rkkem>)^d)(0ET86!}j zYK!y(jL|>vm1OAEWjgJAyYU$yF3Xir=bW)uQtSrqH4k7YmW=D0+!$w(4d7Z>!%~1< zK#h%!2kQqp>rIBdT=ylIpZYN&eM+4pI>PJ=-oHxDNV`=UWXiuW-xk)PAJ37cqf zPIS`D^a1T)4tu>Crk$qOO6!geN4(1RIynd(NyGx|kbCL+eb|Ak$dlgkB`U$IGD3Xu z9$RmkRv}K8B&H=JE1-}5&FhV~>Lx^F-$Y}!LPuo?2||LXyOl*$oL*!^C;HllbtkPQ5yW!R#bdDeZgA57Vq@ zY#EIwy`FFu`Shx)*NGPG3inDpxjsVPN~(7sw+rYVu@|DpbdFq(ci!WC^I8IsmqCE=-(56d>XJSbQ$))XD?5W@DaM<4WE0OX@&y3*@*<{ zRbq#+2xd5aLUbheJT9rhq%FYL*Q}-pxeS#84`VTQwrB<2J-czv*)pK3VvE8ineg#B z=z73L0wda+aFsmM7D29p1_Niow6>`)wuBW|IBBblfU}WP(cxq1)Sak$?`P(u4FH_|AmSvx?% zDzcn6+u$^7c&<#&m5K|gB;xf~uc8Z1Q|_th^tvT|8^98v9%hIR5k4RC2uiEDg$e_l7-#v-&+TJHEqMKpdB7-du+>gJI8dJn~g2D z*O4Q(-)qvtCrt$` zW!23F;WcBHtqqb3jGcGr|D1kBPs>xw{u!pu35({Mv1opJd`OKbW9CC`H+|5wVPQFv zs|NFFZTPJFwb$I)Cx|fNP88;-!1~hJ5>>Q7WD}6NWFccoB#eHNTWj}*MikxmfJ_aE zOcn%*mCPbZ1Goa96-y4xZ`*G9S?HZR&)t7{eWsPj=%eW+A2sOdqnbR3(XpiRfP~BG zSX8uW=3{E{F=aJBI1kCg!Az|VX0QUT2woXPGoI7=<+~&3mU>*uXO#%E>F03k;86MQ z0Q|+WRHp_f11Z5Gg8~oFp$3;&P1!fbm(;1bsMunkvd_A7ese07OXvIVo%O#|ov)m= z>!<3UvFl8V+ccNYg#%?2r*#&_G=fn%Cw)_V7~hTZP?FrLNEBchITMNGz=1-jrc%r> z4@*L?R94I^77Bt(kC^m6Q30)u5YCr_n}f4N2z1VDbR)GlzjeBpdSFIyhCFLL1xhH` zPW4WEqRZRwlGpy7ckK>}B{cGig^AxfUz4<4v6iN~PSW~!G!mtUU&;l__Da;KwOG=L zubqO1EPwt_pf;Q5a%yocn@VeRF^5L2v~&?0Aoc^d+g2vzZ4o}(ic4!(PMfbzD`mN) zd$7^y_WR|k_Sn79>E-!$CV4qifN?l@#bpvbLe8s#k0uFtr`tuEi^@gKDJLuQ)x=Wn zsk|-F)NM!457nMX+o)LkDi^=2*x@`W_Jvh)N{HG%YqAILGomcSdj3`-O2jGB_VXVIh0O8mg_?SMx2g z_;d2>0svwjYtT~KvryC?X*Od;?p<&fE%kA^;SQB3P#}it8Ypa;M`-F>xV5eI zS5Mns-yKDe-t+_BrsgTHjs6J`a~+NpaD`Gd)lmj+mGoJ0>Q2s~5<6168=4@c%Hx@i z(Zd$4d`S;a)X4~TvOn%VYUo53aus$V8WONtk}8oGfXb0b*N5thwNga%-Jxh8Mji)~U+hx3;$!BOy@yzvIA(>Wu-IFP zy*{)zySA#}iybgj*{v^YQM4Gz-Lqn@dJ1rOfdnR*4IRiWq~((9@vS zV_r9P*^pZyaruyBjz#CFL>$Qe$rV#mSI|2-XU3T%-52%#OXZ7VW|qb~^TKD&OA^hJ z72T8I5}oP{t-L{^|5Zsq_;lBtep1j&TwPTe*Ybsjm`*FXilfqL!)e%Fb;gl+TDU1= zL{|3eyJ-Nz{UhTRxs?8B*T{-LVv;)Z;`bBYH_m-aXkQY}z9WoB5O0~!i9GH!{)?TN z1{k{U4?Z9c%=Gv#-#l1D{FjYy=+WBd=A#G5|MAU(N1x-r{5!;d$yVK{a|Vz^)$d09 z`9sGa`;E!KC&tO^PLTEkP6%4Pu7dq_8=vFKe2y#gIj+p-xH6yP%KSm;KxRaZDTv;Z z7jq>WlO!*a%SX=pplVCc%b7zJABywMJrc33V#mbjhED60hi@lKt5)ZX> zN_4_{t|+y>Yw7g;k%TX zyG&=G>+#tW>L*pZ@8LqI%xdY$2tLQ%G87VQ$FU`WOT25i-r=379^5VyL)E;c6LJTv z)kQw#xY0mmjOKLq@YvL$o#j#edrmjZhsOCnp)+!5w$*FSo;De; ztJ^(;&NOFMwCrW&Cm)9OX!N+uiRm{&wSO%xxbAWx#IwJ9Js`=!MKlxe8rA@k$Yor2;MVaZyR7MYMb%KN$q~U@3}{z~R}T5AxW6ohQiqxmj% zXsV?JPQHrAkW)TqzT#t<=xySRTivxzY)*gU!&@yaghEnXwrgbjY@-O=HqL`142D?G zxg}$_Zkqv6$U-1TISF~&iYJnczUr*MfV_1P&|YQVDI#q2QjS4NNk%lvP8_DtSTfJE zQJJ+nZs)@5RtQ-Adq5vi}*Y<7=L)_MPvV*eb3Md+~hP$d_P!{ zTLIXtj>SgPNrWTAZAeU#lnt|XsL_azTTzzNFy=DIE5u{5 z!dYqGJYy!Lk4?2QkoSVM^_@$+gQl%}Dd#E2s!)-M3|_1`_LH*-rbhJM@;F9Dwd5nK zXu&4M21aV`L|(z1zJ^;F1ahu}ygLR8^Izw2L@Krr;NR-1W=&tCqBw%`oX3vAX1GKp z&+a%Y%|26P1NXJf(Z^&yu-FNV7qSo-WsVG zFR?ot739@7S>g0vNDoYHGPyBIoh*IjhkDsabTZM&0=)aaa&`}2yf{2)a}>^(G~un? z<3ka+1V;-7R4!K7)8Es_>V%K3+gwSzt5ogcqxwzj}VUT*PR=jTGZnW9|GP zE?LZ!V@L95$A>SED(6+&qx>6xD)gIZD0@C9B2ebmkjJSyG1CL>>1F$z1dCBSnndt~ zncpo{W?sKnCr{S?9x3}zF z1j?t6pHc%{X=*H|k#n0xvXemCOWGp8uo`besTH!ns&lMNFPWN4H3Mo5MPYcPVIX4mcbsfv2_+F=UVBF#|PEtHNfTkN{y1l{lyut%J&S&3ah15z6lV&Woed zLp2_1o;a&t^~famV+`$kjHW8DmJ$<6&$sZ{q)J*dvD3cDa^DuUilJ zzCfB$dZ%5YDm+4&F&N0}^=g1C^f)YB&=x^P2Qhb54` z*70SxZEXA{Ip#Q~1G|=qK+$vkzFeL0`Gmeg8CM}Nh2NR<-OwI{+Cpk;>yXaCFP^H$ zz1B8Z=v0gjmX?ysVPjt-D*}yhNp^E1-b@Xr{p2SZuUOpbq;t6d`S>jck0(~M#+Dir zQ}>Gg;U4jfcKVHlmqoS#zE<-9-P@&}2x7KKmWw#VkjQ<(nD}+|SkI7d7u)XK-U866 z(1T%HRoK$=DK);sOXN7>pE9=^mixArN(pF44Bbhm9rggl}ZpNO8 z8TN|zU95(M4;``4VPyOyjUTr}pYqvwf`=fH*IDg~D;TwEiWuX#rrg2VQp(J zoLi_jvNVwOZ5gh)pqQu9cUGvWISzj6z*o&7l4=}?Gq2r{2ynlzr3fx8NaU-6aVG_; zIPL{YjuQ34_6B1h2_AvOj8tD`l#;)VE2MdiObuyK@5cVzLsLEsHlZ9YGNbQf)G>o9 zS~#e<%N|2|4nVu-iyUT)bw#?Hbs8>Np>>bW{zYuqt!G) zm|EO&ED2{|KCN!}H$i=$2Itu_$NWgot~CSeW%#E*GuoSp#WHwr7NYzZXm745{loBH z(T^ydY2rCYsYnN_VN=}+D<_P2iwGqCkj1u%+gCaXQ@_T(@-Xb_Q6bjm zaquQFxWJWu5WoaNLLTy(FbEDN<$00z4bf}Du~*a_H>zv}u(aPgIc+~ZJZ|pnJ{M`? zD@bcvR7`C`SRA!UlCv<0Qvut1v1-}4qT$(8pCsoL%5fQu;`b(PIn6sgd;)kD& zMK!Y@d^XbbY0BXcO`z}>f8fIAs!u+~%AQJeA`?|%cp1Et7+tO-+SsJ3h>h@vY>my% zgGT?%dTPZb%IV^$6F9MA!$${J2zDc#fdV^3(Q@69w)QSUvO<^xIK6HSI+_sbDwobR z>-|^UP_{?f*do^=W5!;gRVQ#;!ehGUFz}aspwV2s9Ofc0OJ;CK`o&bP65!M-B>0MBb|VeMOnB9CI=m(PJmA$`K7l zUg#=I}8HQxFSe+|XsogWrzR17oaswT}2Xu>yS#?IKbZtJk#!C8F6{ zLEIM=!XypMTw<6^cLC~npS-#}58X3D-y!up7!W_MlET3|#!X;z(d!$RESk(vvpiRx z$kbRrtx`0+TjH*98dkN4zx1Z9dNVKWXIjbz=5kNbx!9V6<}>yP^>~sTgF@U&5HYIw zj6p|fNu^iZIXP(_pH{wbm>p=oI6D2g@|CKtD>KHDh(IRH#g*s2!=N$pbDS?N`{?Jy zUlL8rbOfM;8VUc=IzBngG`Pjh;o^^5t=Fp}D(YGX2t>nYc`BD;Sx)lAsg2YcdweYi zV=!KIPiLV*?vK=cp-k`c`LaqAqV}Eg9>$Fm6&eLTm~l4(nZ^T;$dtC9*QOWFGIe5E z?h?IguQM5|%P8S3cmh~w&F zNBXRtS$4z&LQzz;oWQ+|U!pF@(ka=fs<6tK~C63@T3|wV}Lh)Mc;Y z9oxq{2YZJv+K0z`&EpCWpqje;h}=zcJ87brFZpnB!n#hic>EvflYCK;^&}rnGE^8sIPRUWa zl$ecApkA=<;O0{1OR4SffwJMeW*bWSn@5zKDSpKl%_t(6(2Wq*MGZ!@)kZ2SrHw!4 zHv9i7VPVjoC7mTo=hd#oA{h2|@iEqhx0Ng+BQ&2hd`JjTNn?g;)!eldW8`zoNN36x zw!4%OqB4C-NJyDZ74^wrr1NSlsk5YT?6Oe9;gqgiVUE<9U^hd3a^kbV@ugTQIS(wT|-H!1Y#|A4d^sOm22#(GWH@l_kNLQpN<@~D>&1R4Kvk1 zcLwqu!CDHibT0Fw-JKIf{)?-!vrBa=z76DSsj27OS%Jkzk!HyD^Haw@c5?*{s5xme zEvpU@mKqy&yt+jFN+_n@U09=(6yG=>l8&HOq=7ujUN; zUwDr=l|IdJ`xra^k^n5-%DbG)-0Bq<)t5T@u6M~w13MHkK=N?|LBjiR=~6o-ZUeP1<(gkJyzuYleDQf|wRIxH4HF?BDp zW?7w;cvpU5(!D0OD*er&P~yq1c7&o%h8)$@Q8cTfesa%}a{6K$a;r4|etfStok+1$ zN-JkPz5N8k)z=ZVfkdN&o&DDTHn~iOwc)3uc$o2Qq;-&4L)iHad%~T&=timN$QvZM zZR!8)PNubvQ+hcayUgh34Ahjq>d{yFmicxwF{emV;(mE9 z7PK_&wRo>-f~!%V9jR@8Z^-!=;`wRiY-Ic)Ncj9VXiqB%^gYda)?rIKPUUdG{6{sD zWv{FHYOrV|t#;Kx~6aq4H+x$rw37@o-WO9Xs6>3f-5r-hEF7F#(8n|CF4FOkYZ z)(a5pPBIv)_`c@IIbEOkE;4h;J?mn}6+E&IjM|M~@tSA788T5{7HDjN(`LKjm|#XS zTy`WrIU&rN@*$SvR4^P`bLFQYdBR;d*ds!`4Fn@0duFrpEzzg zn_AsS2w)L^KI=QNoFACKp^XYx=OoA5GOqStK zB}9E6BP3vAyrc{Tj&jfORo+4gX~t-OPoG5 z(>luWF~0sfVlavb0Gb2?I$gs~pr&2t&9RkMP&5^8PSxhGzyRLr?VOo_;{IOY?>zw7et}3(=ugh%|T-H_TqDrT@ z>id~zMDi1Gi0h-4aa&@J*}EPE#J9&@?UA;x+T%D&Dp4!_WqT~Ke0TO$sCEuYd9%y` zsZ~HGSgr*j*E_ob9B_;(Ya2)OrJnGO145K>dR9(=l8ovkt=cYDcI!G&{1(6!JNZ^k z#t_88gS{LK#n2dwPD^wG=kyiPsh=*u6U8zw3)n5 zF`Y@SYUX^-h~hKdvdxZPfr>^Es?B$-_d&m_FLa0AmFeJJG7L$z^rCDn0Wf`>UqmS_ znb9EB++4K~vw){dF*$Lw-xH%leT+fIVFngAK*Uc;a~6sV?VsLJmd2nMAbE zM6R`|F-LQvf*9#KFV^)`jc9Jj?5Uc-q(<*^BIM8cpRN4QU1DQ`e*Xh3dHtIQ z8|$h3&kr8Z>(BY0|A73@8`O6saQ=4g1kQ=N-_Dyi`g4Bg&-tA{=Xd^`-}!TX=RY>T zbDUDSE>`O448yqzpnF}fC;O+}e!lY~*vcP|4)^!xNDht1#G^AZl{Xn+CqJKXlBo9c zG&sUWTn9ezz0^w%xsz>6vogsS{y8U1PGzI^gQ5i0(-T=whJ@U@$!ERJaGYwv3&UY> z=jpD;7n~btMq+6Dos7QVbw4;StT=E-h3}*r$z;?@3{p!FjI1kBJm__u74B)IT0%VR}@z6E{}s>#TdrDWA*?Q(3Df)9c35 z%ouvwEXU^opK=7MIY@&MgUmu+f4<*N49kMUONhDO<)TVK})|}^5s?%-;i#*T|bVm2ohKjcjRA}m2!k$mo71C&siZi=zuX6_X_1AB=xJvzd zuEr>mf66e~M^hnDejJ+TYnIX{wMv3zO0!TV{u%|b>^5Q!`n(0?kj3~q6wPVak00eN zx$)eICu_R@O+2U7s=Yszf>QZudShw7axBR`4~P}qCywc>uwNAbW538k8%(GH^Ba69_R&Yon5bsL z{BA3s-2%!2d{Btub-nSWxi8^l%NlZClIx0{<@#&q+i$#tSc zbqHb|$4MTzV?&r<`)?beULQ4DF7TCukvxBS#C!rj`fZz^wGN!$_{-tTQypj9N!4o} zAJ3?lZL4*ls-VBWvF`!ymA0}a2|%VOUnm){U+^m~L^1=>hza{`E1RCm5E|j?W7g|& zW+z|eb0YfjPVz6SRnSojNZ4%qL0eKQw$=8Drw|)YnoQ2{$>4XG0m$I~}8qZpd$nY>^iDhmq9KnPBO z7!qSgM4L=)J>lr0cmwB@<9(MZs5ZFGgNw9b$re~#oMOX^r$n3C z0!)Dz|A*|Kk2;TPbDnbC2@ZO%Qggts7Q$@LDBA6fGYE)fAepGkfh>HrEkqgybaDT5 z&Tfz_$Lsfq2joyD0ylD?iB>&~cMbzF_X$y;;`?`a51(=B?W;gn1Cxmt+-n9a$!O%D zT$!7jIszGSSPj0oPzi~8Nct0ZG?8m~>b8pO6z(n-1~AiKITcxw-!x+7I@yP|y!w*| ze^1~E+JhdSJmg){TZ?8T9$PdygXG0=KbZyR!Rdhgm>oL0$f%G&6v!PuR0lh1D5+NA zcGYi1GB`>q!v0&kC{8!Lr~4-XNu?=ku>^}r4&0e@iit=i472)zx5>`%*3apS%DJBD z4BJ)A*%unQmHVw&jxNoiSu=w4B6vXaMZdfU%n`)rr&1ku@w2e+Ve`b zNWSImKkx>G6YP0in9_;?kLpTgr`ar?oy~EGOnf&~Leyy#2+aM`gZX|m{xdq%kJb2oA);>CJ z{kU`5Y(HE^9|}*>y`7M=CnZc{A=o-)huEVwoeXU z9`80w_nb-gncO$Vpr0MQOo5MXh>#8xUoN)*7v3P%3{}fCV?RqbBX?@dW+xg`Hx4Q2 zM~5e^SM4JeE9#{A0=5IYCvj7S1=8&%TYG-w90WsT_e(W+x^uACe32PZ>Tw$Qxi|De zw?EgA+Ray|&4ZKH;lW9}9k-BrEG?jkg9+k|KpT1Hk5#%C=-JfeOAReu1d$}43q9j# zLhl&yvC8qDY6TkO_Tkf~C(YCLlh)};i8%`1g5XZ6zvrH#w0N??2z}o4J!v5UYJcbW zS(5>tlq@jB8m|lE<-BMev|cq5gXc#Eg!&baHHNXFl4Ge&D0)=zii&G?c;OrCPS10R zYoV9kb;lb?qP`O6)1*0&)75R{?5TCLn3Md+dA;J1!Fy0=;^KTcKpdF8U%)XfGru0F zi1@V6IXVh70(rg2?L(>u>hm*Q|1kOw%}+#fKR+E`k3XXQ=la_E`ojnRZ~ejA=KA{P zH=CREe0_6sWBoJz{}lh6qJKZp7JzEXyTZZMv4V(vGq;A-5OmNW-Jv;NpSDu&X-5O8|fw4PW(`oIH zNuI{UdB#8_E`9F`aWpYdm+=n9%5jstDB|>CPYG91Gf)hq3?I4s`uNnCPvSgy{*ZG8 zQ{9X4c=UL6RhMZ5;rVJQ)i;$ROqn~5f++GqB(=#R=gI-W3?`9t;q^zY0Aajre|W{sp>taCq8$?6e$r;BZ18 zR@pLd({f-e$(opfCsc=jzKQaOC^>q+7u;3dF+EJbaHbt&AjD?q*fFr#! zYc$4|N+vnm;~*fwJ0!g;Q_&0IL7Dt=OP5}%iZadZ2G=(up;|`GWiKP`<+I2idkxvK7?-cNP~9Ka^%io@XlSA}H90^O zgPhnRS65e!E1G||H)#yL@#^o?pLYYZbLs%I>Tqj66Gg@SsvEt-RdY1f92EL^PuFl- z$GZ-McHBr~{liWp=#4voPE?rSs2T&;XZD+1I?hV;14MAl?GP1NU6-svfH>Rr znHU=xA18G=SZrF`&#jQ?1hBBRiM3c^i)gx>fZ71z= zZgigyHqE6<(_?z3T0#wiqjd3pTo#7})5Zx85g%eKw+Y=q+l(h?(c%JObI+t7LkC_! zM@dlfM7hY-F(c|+a1tyq_+$+9TJ(|<&Kx&NV+q%{Ss&xyI4ekQi+Ju0g=6(qn0R? zHQS6g>fM!l!yD{u;`h7e(5T5D23LmlrjuH)do20X&pVy^1#J&+sQeFfw%L)wag352 z_(wR;c6VcTov5H>8w2O;4?7`Ns4JT&@;VcwoJ^sjKCPPFc0{vHr#hU#m?f|2f&0$m zqk@GI3>r>U(n?OCi)#Shq?2)g!VXQwy2FCd82$A=R`?Dv*0S4VR9aDiOURs z-r(IB&to1;SzczdY&gpbCGkNO9i@Z^aOkb%1*ICQ2`r1C1#ZbeWdh)ZVGzb7zqQw7 zZh^MH*#9sfSLxuR$p`@)^>)T4&@Zp}gcGpI(6~QXd8Zv^?o8*%A%m?O_4h}jPVt8?LX)WxxNLD@q>U%m$g-YPlD@y8#4f()a{fZ3HW zW}y1PRo!H5RX_xJ^2+#Qy`Q)})YdItP)E~M8!>&xLaCi!a+LC4&Yg)gr|o1UB<-c! zM+hEGl*H>L9=O24Bo_?b^Yv90A-)5e$4*Fl6fQndO+9^qaj2-!P+AacOU#zgj0@tC zG+tn4Y^WAUZZ~hNVRbG7gfG3i@VG@CAqcY#ccDlf3rYOg>-im@Ib@xGn`m6ek35>I z3N!nBcyVb=Woai0Z?f+XC)YB>;Hpuj6Cj{n8zycN=`^{tqaHK4ryWgf0Gnkxx*gT2 zn!!VIali&DPxp7AMr`i3=m%U5j-6iLJ;%_7C6z4)cM~ebaAFyGK)C0OVJ0A9)rXgU z7z|mGG5L$xba)sH>)v2Q8%OyQB(e9=9)5~g`M-R=}@?EuYwc=jAZZu z``$6oMim1(LJ9)KA0(M9=9bPNyAg{T+^8&wSRuv{kS(bGz@w$SsS`u;u5QjBaXEdC z)h)>{V!lm`6SZV=-Y4Dw42XC{kI{p($vD1ArhX%SZX`^;XB4(cR7(If?yDI(-xlEQ z=wdSN23NyMwI*w#PYG`|1=eLYNNQlCdwuYi!XZYQ7r~@bKbhImkU}ROxQv=vP~av| z={~VCShRy+>^)9}|AGb(<+uabYtp<@vH_3y?>uvRY`LjNl31I15e&EZD=l^c8nJu~ zMdMbMU-6d3wksSs$afv;J2)0(dA$*_Zp5i4X$6&8 zILXOwg_>+?5kx?o2jH*4AqiIjd^cs`WTRRloWZCjQ&oEy({Z{%|oMn zj?0T7#Lyy>fZ9lD0oGuQ17=v^T+ZW_Y{{S^)kXQCPpOvXNGgVs{^by9%_l>|B)Cyd zvld`AWrVabV}L;n9+4jaqKc18v4+RKyLOQL-MmSrEkLjuAr!bSS2yuBLu_i!R}vtQ z)^(@^d=g_one47Ov}$5(Vz>-76^z`+*iG)x3|gO+cyh(8B+k2zO90&mWbS3@t&vv2 z^q~!qsCsgaXvdB)GTLHg9UQjbYj@5FM5S5=){`aAz%HD-6%HO{&E7~G1o8-{&0TuV z?Y_vI^7dWUTz}pcR;-u=AF{WW!dPl7!hkA)(6yK?Jx-;)aYcs)wY}u7Rpw`UX|!RF z;y7WB3N;!NyUv(}L1pb$W2Edu0|&GXS{(`HB{)8>mJHAyQ84Uy_8_#EFtCGQf1w=u zUPOd5$5^PzY2!V|J##zb2_t9f-Z_abxCLP2igPEctb>nFzgc@md`R0HYiYrXht&|k=e)OjERg3 z63#QNkT`gCm~OELKZ|UxHuvg!bxl+mOS8#Vno)^ENorm=A4lq<%Mr6?Qk0=RxuKVC zKRCZhbsAg;i}NwcG7?ahKhajFz!ouoWTqAv1iovE(#YV&xYS8*azz6}5}HBFQ*5?` zI&f)<8i}K4u?bekK-^v8@YT6fYy!YaCT1dwvm%ENRAa1Ps%tp>cnd$Q(tF+ik z@Cuto)F+yU=WGl>b5SQ`uS0EztY`+xXzd=Rp{Hp8tcOA8*tEZ_R>JM$ivFf9D8&+U zT|KIX^JJot4{sF7_KS;#BKBAo^~y_zc_kR4+)8M*gn{|lW;|_cUyF;G3}hRonV6n0 za(se?(JZ~%bz!^};|<8LX-6eM@U=L0RT`8g)uCr`|8x#j*orEk)(C^ z6N+%g2k0hF6KGhxi%o|09^Z_d`w)bByr*UJSbCxafl)^1XE*I$mu3sAk^5Glu+Rl< zA@}QW=-_P8bg413wkTx6Q;Cl@J3Zy%HR1qv_YdLE9}9abmq%nv7hP`*X_v{3tIr0> z(IB6FR!`|$qzgGheCXV+nWVFuu@@;XQ<9ZE|56G5&BLdx27SS+1a1#ehRdopwOzLN3gkb=wP&#=i4KiXABk~{Le@&E zi(=vx^-;Nh!>Sur46=oUH=x7hcOtVf*{GWt%#n&u+9j}XPk}xRoj`-qm_(G}g%IRV zB4nU;o(N!~v8^$??spYRwPVh7*-~6+HW4iEdMr4`MLTgbu~Z90F2QXq-cqraR%X8y zd^ap54vb0v1xAs%?<5%5h6huX4(O@SG;cdheA z632u?zm(BZ8SR_n(O`OFWXl)>!fA3c_VffMI$RYVRyMQ($_Gnpq)>#-hCl zt7#}0dG$n}PP_82S@~=jft08~Li*kffn89b} zj>!gxcL1jWY1_T2iS_%C`DvpbwD+<&U=U*Md)>64Qc>-j2Ny2SFyG9>$6oc}#v4~z z!v$bKqaJS6wN<_?576=TBT*s}p^HzuyfURz_6=T*U5wUSK8Vh%UeK{7l})E zDWR^%L6oU?Sav_;i+$p$d=3-Js8%aitgTlw(F)j=PHh)^|HT_dwhL5n%;?pU8;gOQ zc{T;-!ytXq`i^+w;7-iE1h`yH8?e!A7C`zULk+}AOMlVGL9d z`XPc0#~Ln8mJIr~!(AKFO{KKy1)Vj&Ga*)qqwIqzA^e42+NwAx_nvB{xh4Fut%;h9 z@}BCNfWh>oz%Xi5yJMJG=CZ*qn9k(Izu*JK?>%yMCg+e8IJO(hMhZ(%^}=qP3r3GP)D&SgVnAS-L8@LB9S1hm4{ z)U+xpuUP}eWqQU<^fY6o)Ro|CHA6e7Htw?@sQYXZ610jDP1c;U)r+!qc?98J0#F!6 zSoB~qC#p1W^a#XFWDcV{(tbHLeMe`uy<*s?^(emgF(MZeL8WN4gSVw8tCk{jV&?%H zrucMfqEt)XKjcw9f>6jeG+03(Ttgz$snQM$1KrbCKEc4}qUelu_gqf$Jbd0N#k^8= ztIWp~c3(qLQH8E_N?-zes2ggV`L*sz&%8eCZ+d7MZgCI_x zB+u+14KT5!(P|_x8~gq2Z{515d!|Pc*vammpV^Hi&Gfapy1J^mE_9_vS~1%AMC%xu ztEv8m+@Nr0qW>J?BwbNq6ItFkd$qyDnCKE(`_^C(XgW+B?Ia#NUA50be-sm5AY`+z z%onF7`=l!w!m5}Pkus4v212cjmTx{wrAQub45e<7$5pQ=sV{-m9b(g>VN)kje&C+t^2l<0_?GMdQma$Nhm9E1iWVnq)g4;cZJQZKOnv32k}_ zlbJ!)Zi}`gYm#+GdfX;5AO{OP6$E$okg5m! zeSKS~buH=vwl+nNAvv!~=z`jdFcW>rR1^|}la7uy0NwV~#cTwB=2ytNS62FNTeVJ2 zBLXAT2%NW?fmFar4_DN=HWwFe6dTBg8)S=3WGJA-CCyRW zi`iN#F>vCNfF+k`CyYpfnnHcWX?C7o!?WoWN3HOoDt07_u#`SYAtXV*9*#+?M9q|p z!@+>)HQ7yqxNVG-uL#t^iLSM!g4Ri6gYjDtesN=Ps>S z8HhJGWQE-q?pzEQHN8q@t#C#O?~>h z5~_TCwEtoS5$*z{EU;e0ZQz@=g!MS2wThYWaAnPV!NfxTHk3ui-_k6fq{9HsD*(3* zQ!#aihUzj9(iuAaNpK@~6mo+kH%e$?NzxY@2TqB0plV}0mg|FyzPeMzt1MvgP(Pqp zm?Rjg`N-WEP32b4g>0{rxT*r5iC2|9VE_ayGERq=D^LOOLCl?zn96&s+dasb96)2} zl}CFxZ;XHgN$q8)lZeMhr?}Rm3EQHqtz_6aU8KQ*>qW+?_(^z4v>l<1+QWEoEjgIQ zhIJ4Q6Ll+S@m^{QhjzXM-)kkc80#C-;IK9f$&mJdSY3d&4327>;n4V_+EJ z<&U~#?kKulh1M0`vtv2B2BBj9#iK-D{Yu1dvNcY3gt8-HV@#~BXM#XyO|_vaFj8wP zBTXUtTIf*7oq_~eSH6(d6jWAVJe?R;c>0hfcSVUn!TpS^I&^L_oxjD{Y3h#L`wb6K z4lTigX-!X^8K^;1VxLuaI^|!|{M65BfGVF2&{Q(L!g$ApUBb6FTgZ zpeXT6IuIgZ5;LVEkZwbn`$FnIsLuEI7pem7mv;81! zShV`4Es^>~C{qGsJ5yz)Y7Zi28khu;N)e5@XM=ZgRX7A5Y^bS}l4Qa#zSRTGLNj$M8Akm+IjB-VQBAdUmq_LY zDCcLdQQAMeID7fBed4!|4*bKj1MBMlBAoV6Ed$SMQ;csuV#_!(HcYs8?jV^rU$j&u zT|v3Bkpcn4*@=4W!YkU(({zAjWx0Q{+d1s|r$_$FeLA2YXDy3OQ~RgZIgn+f6mybE zX4yM;-E86oSYRJ4hV}u;-my4c;0bD(BMG?4Rzy50CLI7$bXzJ@C~rD)QjS0^y=O;1$u3EzEme(U$OZla;`Z z>;ZI+fDO+c-!weKN*gvR$-;yK7#u9cxV+LY8d^lHL>1c}^!8|`gp8^1vp z4mjf9aic_**=i@dZTN!D(-m|t7I4_bEj6ghx1)u->nO81eW@ctzvGRvreT41Aiic+ zzvLu?#Bf9BMl((t1c}Wya!nsr%Z83_hFoI zHq|1gUbJ@u;dp?c9~*~w# zx`xI5ES`cDb+zE=pKuV(!ESu&->{)|5EWG^DXhechwMFH4k#ZtHA^*Zbh*Og;>rBu zBE0UiXm?6mQoQKsslf!1N)+&fqUfTD4wCM({bSkxCB#>x#v`(S>N7_qb{3uE>&I$% zif6-fA^>`gsz^3viNqqBBw?{<^v>Z3za5XF0(VN@nCVOiFHRGDLE-jFQlWc$u-C162!F2aEhd`g343OWR#&t z)`w)wl-c|%Nli4gJ2PGNGa-t|xQrcByfSeSmDDuX^Ueq{o3y+Qt(lEjp@6rANNkkC zL6E%3s!P>B9JaT^b952a*=5>4>;v;bJ|7s_xkD;X|8VzB8xx7NPr7x|oyoAMHKi-j zJis)LpNiI0H@4sDVyYDX?d$d-w7k1_+WA4LQYAj67$QzB&}matWg$z^I(Q3cfmN<= z#Wz5hTnVrU+yV^3BX_5SL!DTD>p6>dy=ct7VT=-Ff3bqYtQ}8Eam1q#f52RAaNrbO z2TENcV=&QfZX=D2tX@dzvo>-v#z8h|uslE{ubCAm3qi6sOpi3xAN#%IgSDvterB|X23x^|a~iQl3$_$dgzl->WhCkdp=L+$UbVX&S_MA%h}M=Dw0NQSIfiY2F1ZjmdaG`E<#!I?4;2UDEih^StLfoAvK2 z86;q8u#e;0BR!mmn-==0zyxf%0YnfsKQ+T80Fo8FexHVU^_2<&ZrZ3SZGsvE*$$G! z*pKbK^cKq$a?~M3)@8Q}9D0C)h7mCsDM1)lQK^}PgKP1`Wee8<=Ixey zx*H`Pq6ru4D#@cqW+j8W~L8G-UF&Gtvz`};-P8;uAMbnBnxPe;Sx!w(zBoO3gh z!<6|8bDig?p+>jEK!R#s1lPPkZvyh!Zx06l3UAjE=69~3CHOMoX!!eV>kGohE#i+D zCG+(p+W#;WAm1&itBoF6t1BQ-SMM}XBsW#B{D#KIF&(tg8DD09$~8b&Eqd_Ad$Si0mx+pU|$229b=pI&QzRo)s_gt>yOz~y6x z>`}E(E#7&L(1HggKQ%(Rk$vEbjolb7kuGmghUa}B2(XH1rH}`a|kAsNtOK*m! z=A;2nNGDP>Upj|Pwq3i2xpX>d)BxsdEFoE4x3SRyhbf4MEX0!z<}zmeJ}qfF24o{J zFP~O2vhG^X2Tf^*=VV==E)Q~-1j0kH=8cZ8u4dF-$}Iwe^2|6#Pko>1ONI?{x@c$` zrLLK2LafUdiyElM$uLxWBKGzN^yR2EiQ+AR!|1CBG+IMMRnZLaCT&RBma^_RP|b*si6G?B`m?>4~6nk-hC?M#Z2jG zq)9v@0}MuDyA{CUdWoyAOy_dj$5ZwLXeA(ckhw(8Z#m?8nI*}poE_KG+7g3#vOU&} z*G_N8p%vIYg)PEV>iD8a_b~~d(OKb+$c$1La=8#oJzYu3fbiFhxf41X8;u_DmIsy} zcn+WRr9MuAR-YvmrB5ebzn~7ep_6}2#)QLh=fg_bh#6%=fX$&H?_2q((j&pVY z6*0X>AzRCgv|S^0cWX945sF~?sGi2(J_d~T%B*Rj`*2lSj9h3a+(Dvk9`P=*l3ka~ zfqW4Rqrt7HRL^h8{*s@0SCR6j1kp8f2-6q{KwfYSG=vVI3)Y&e15T*{#AKg@VHMLxOz|@lu0ubMAZ^8<(!+T&8vqxkt!8BwHwh`k!X_Hnn}phg$H;$D_r^Gac#H zMgCyR6=wQ|2r4(|h$3(#Ww2>o+L=uvAIVC{^wGL$V~Hq9_wdNFKw? zXKr6vG%cdMXcWaN^d}>Zjxz)1x*reWD7%h&p_t&5lv`Nl7TbAXvVBS}UX&<1aU0;N zT~2^&sKpl*4x<%%Cx@>L6s4i{0gnFUqStJ;HUS=d5GJT?p_@H`BEGR#a>U`oR5V)& zd=$e1#G|Ok5ovJO+K<>0`f?V)?59ZgScJyYcSi9Hk>j19&oBAR+j(Om_9^ULaU`g^ zcSaO2N`ok2P&*<}!!W?BIxR+pgJ4V>49B2&RuxsqwB1Hwi(_|CQ8DWjuUjTn0yI4_ zcKv0+Vx!nWp=A%`*x6vTF$Ffd}QXsuhgmf@Nhlmn%uC;$!k7 zx;!Sf<cG}XWZcp@mL%uynGh1ccW4mG{;<=3sR?wrw zE!PyCo4r6{9ambVSN2M$yPbpoTgtSP#v=^9(m|(tnk_)qMI5n*L%z}kk&zXRC@~WM zoJBDImz|eK1ezovRgpYL_sScXfeJk#VX#=Zg=t6Q*&xtY8Y+BO#NwBT=7U^>MMqqs zcNi6sr9EYKS|+o&iVi(O#;al&Nsw{Ox2s%eqKvg6O2KTrCkoKiGY+E~4a3w#>uF{j z%2Qrli&JIFxFcFcRRANwcqE3Kz6zMM4vtt=h(?|$Vao2wbdyevlhe+K=O0qI8Qa^% zxMx@Etmmg~A}1laPGT`5*dLyiI<8Q-)@REr@fb~)bT;mj=BDP=^-$|s}i)mhj&Q;O6B+^zCol;fuZ*!wp?Ji zGhZwBzNrZWj3~x@4dr9Hn54kLc!()aUG&xzh>50!u56Wyv-Y9S^lhkyD>;8!RzKfR zbiy&2${FM5D0g`1NQjh>?;DIETOpOWI9~kq(bz8R*J>&@9o?289`%q@7nd^*Zoy$I zb=(RPQ{WtlE^c#8vxmK?=ZJ`@>-F&cIFd!9Bas9*>dVI!hrIN*v#8Fxr#2P;w(x-77JjV4J)uTiXBe2ia2M5I7DZW z!2pFxlt*!Hzs-hYArkakJW)B^K<}M8j!9GuB~V~U-e7}UsrN{fwMiyGP{Ix_fp;|n z2&bVVq{;ZAAKZ$2cS75Kv+lh?WvoCZFf6+{|GZj13~M|LA~HCnlQA{3QdVRb5I`aL zjo1mQRNhEC4No64eC0Hrim6FIM54()4tys=k=jB#WJVeyiv4?4I+LU0rq|3pYk95Q zvrTVv)$o4Cag`~O`B(@?H5YTrbbC%<{2+&xF&(w(3|+6+4X5MuQ!t~-X3!>o&yh~O zWIUh)mN+QDLeiF*fkJVE;EkFd;M45*{dn9gI|hw|(t|Nex9(JWb53dH$~#s*M-t|p zHXgeaupmwGb$~jtUuZ8%bH4D+tHd&%$VCg;@utSpz-vds#4EQm+7^VyTNq$NELDry zH%}Z^4SUbMlY^JU*VGhafUJ~|3yOeuL8l_=@-ZMiTV;|Jx3yssFv6ASO z645htcUPBH%r*4ja1VO72>HQ4;yC~jK zJ>>}x{UARi^o1s^G);&GAU+O&e@4oyGH^f5Hs$Xf?VfboG(T}Yc^?faXrKfLPU68# zjEN?qw-a8BAS1!25)kD^a;L zt}Y7NOU83mmWs%5kcW~LzX}eN7aX-`#35W5ip#fWqDosEbO7QE+?-Z#buI zj~&XzG8E1Lk-N=sry*yQo(`0v=!OnMibr0fY^)wQOC(VcdT?nHQ-sUF_S~kPi(UV za(p9_81ymPbZ{B6#05~qAQWO8LbpewE2J%bilu}xyu$iry$X^!pbsDs+B3+n!=u9& zh*edQptq_p{c+e*N-{D5nJKCl;h7zbLf*IRAf+QFRe8D*j&wxcyX2y(;Sfz#Jf#}O z?0p~h9J~uk$P7P;h(OWIW_+0FFm1S~bUIA}%4i_r0}@nzqd4`R{19TK8Hp$_bzG+? zNx$KM#LEj6LFYQXiq<-yADB60jF^M&e^bJA%*6p*OMH_Qqp@(sh@!8;X_vG<7=n2> zL64kM;dQk`ip8l(N)-bAp7`jT?J*o(VEJz0_M@;4)BXqOI*n|n`KFK2r0c-}L(_5b7 zs#|NoNDh6H9IcWgHM*h2h$W zUnVUba5_ibAN3-*s3yLb2;QogvX)b^L+Bi)0TRl9OcqX%vljrdtHDK|eGg_MJON2h z17DE~ApI70P%>@K*!MJ?)|Cnux09A(_zIim0Bq75t+4HJh%j*w)`u0T;u4Dj8axBr z9~)|47O%uEmN^oNX_%hwM~N`QLrHG*LA3Z8{x2s_#nz9ho=x9a_%C-dz{k+Lj(gmNBM&>KrJJuKw#$3I7WdIcdWxELyWhO$rWTm z{|HvAAPj+75PM^-?8-Xm&qjFRL>B4DFUp8$GFH$JfOSaGueA18ds7Ta6@w3xkm5k0 zWiiFlp}}wvy4i>$yi;Z&3V@^pFQ!qz@hIvzQ)oXfu@X%P%uLUT!6s_!U3ycgHfv9AX*@n))X67oOo4S&>;${$-61yKVE{u+)D&H zAOO+DZHdE>*m;!dO_h}~y&*{?`&_H}ouN>(0Nj+2Q@z<#Y2q0QIAp5)B&|!ne!Nu1 z0wT2``|)ZTru7!hsg#t=xjyhpT_wm;)K-!H)XfO?@f4#3@nR#ir-X~BzmG86*{#tl z={zqkYUj5#5$qL@a0<9iJ?e4NNdbci>7vzglI1fVk5g>9n#~NT)VMaDS&2ry<*=qb&kusl~9z1D2?eZ4n}* zvR)t*qam{gQIgD9#6uL9Bui|N!}G>5);I9S#w6stbSe8;`Wuuik*`M-B(x@|Tm`vh zG9s0;bcbo5I0=O$X44O>)I)N*xtMG&AgDnZepCvmk+87TCf@yS=p<9>md+9?@iIsC zPPB(}G)Z0)QSVOhMj!Paie{2jnCSQvX>hP%@E%0OVd}1=cX%?C{Aui|4N@}_0@6E3 z5Cb{#Dd8gJt@XMgFk~U_r8g1kd|1X55!BTor`H>8U7 za5$?+{dzFl81s`2%mbKgOoqLy4KoOrDOlj?RL@9ow9b^oix;6}WZlBuLMYLX5)@eo z)rUB_OL84!Vj(6>@eo9WKAW=!X@(~wxXvXzPYgY|1|t(ECUQUQG)shEZ~`5}1`X0g zf0nj@_9gLCH4fUK;wKAtoMndjK#n+^1)d!$4UD*ZJHZ(THz*XV=_mhE*XabFo-H%mGV~|=_D)^PLASR0-EU1 zRg6h=>!;9ZS9YqmyN4W%-~Fk3+J0js<^~+X(}1@S!Xk`wS(B?NHaEd!UKrS_ zekJQ_oO^J5k&~I>x0TE$*SMo+BiIv{1Bs-C5;rdQOkkLLkK-!XQlhqECZ!M>%qv%W zbc|u0B^ekJb(3o#BVoK8XvDlr)-s3gjq*08Zmi0M|2hi1@w>|!&z<%q$hX}ow24BO zG899Foaw5OHm>a_u1L^G0|iVadxsVX7098P>x8&r5^^KFG6V5Mt9?m2HlC(INK@Mq zzr<_?QYsFer_^og#)X5@D`zAa*kv5|jivO^DJqe9Vki?ifz6K3LlCbo!HK! zdTVXyvDa2WLKz^Ta@nI`MX1~7%|+R)7~ie=>Z~W{Y=KVED&8wx%2q2Dj@9#?0TR%)pQ% ziu5MYc$!G$FScJw>FzmaE*Sz|prFpv=A7`TxWY6iY?#A-a+HshH2h@PP8&`FL>wHw z^7q>>&R$i`CvUp1eC*nI^mg~;kkQF_*giR7d)+B#FyrivN`S0ikzX$*2o>%#b>reO zPjxU5!(_yaG^bCPX~6BETZy_zM?-NEd2S@eI7@FV1lqGB(b1S*)pJeFo|zJ0aSuOM zA^S-RQd*h`5YpZ>rVv{KZjLLIY6r+v+qfCT$r$`rNg224MoT0_;Tc&rLZ?xX;|5V% zjyjbNfmk3Cf=vQNNp*m}YeOJZgmGtlJ)~{oZ^xm@xRUoK4C1t3DT^TvvrZh3kvWZU`XszW|1dLIW)6mYUrR2K z7(+OenBDeC2d z=uDP1J%38TCuewK8nNksOtivCq_0K$hhxvLI0mRd_VGr7H%fB0o6wB;*>|8=Qc?pY z`yY>N6f3NuxAcz4krRi49DW*nG~*$X^sYkm+oY^XB|#H111deGp=e7OBS`C93oTQj z6>+E+YDgS&-ctY^02iFBrz}Ng#F#0&bfC@UCFZ)h24uqfRHXZ8qeQZr%4;KM7#|By z*-C{e8r!NMN&T+zE!_~LjYfR6!m?(1Rs3=ihA+DNRiH{!{G<@2r0K1q+N+-TbHI$Y zlNz>zE*azjt5qjYNnI{9kPot0ESoUK2QH2>soCqWr7+4m2?#qNbX-SCtryvGz6Ys( zFf9v(g7Nq|yp1PyV2C$>V?|5<4Pe0l;x~X*8)hzM?3#9}0*2i)KSh(GDBie)lX`aU z=pUJ%!7NE_bFTyR{e;6Uejg^1qniDk$wMI_mp8@i9d*}O%P`{XVLVmARKpxn^2bk5 z6FotS>Wx7T!Mp{jwww$jByK2iek!mnd%xL}ZW)W;y4k+lVE(g==0!QYppf;N`4XB6-*XOVc`k(~==xUFM?h`)UK`_KE+D1k~t zrD@za=G~n;?))sy?pFC=qpZK-$_;KSe&DIlm)Y#g3y!n?#v-N0e^Do|i z6(D&s4gL9F@~2s`DC@$8Y!Q+COfZx|1bj+DIgZep8U$Np<43DgZTqJqbw(MwCogVw?%y3$n~aEEc9nrVORS zM4TcedNisvdBQz0$K=S>lVLQShW#}4u+F+-rngbnAgfqu7y>zO);)VfWWZ*KZyca| z64DhoX+bdk1Vx^lNE&sz0_3D7sG5jaV`A8zs8Ac}P%vf2Ai(?8I(nI8hk!9RQxK>j zh!y1@F^cr=*6YW;S$f$lc>tM-MR9Zjta*}xS!)f<3DnWl>r})`Lwj@;vj?NZN>?6- zz>>#!>c*rV8)E8Co+@2M0oTqEdL*1DS?O>rFMS81O>Bt6rc2IgIAXNm#3ZY$r>{F* zuY2_J6hyqX2j7oRj(+IuxA(mlKY6FG+urWk>Fc8t?;roz?ZWG|HE;KDAO8EvYyWtB z((ZP>qm$Lno8yBHRDm{5b`MWG?QYfU9PS;QVYtPr_u}jn1DSXSoj09RD0X^OrKa=M zR*znKZ`vn&ui@wJi_Ssk^e5`?W#{w|`+5l@+4YWhPfj~~X9v3{-tpPVF**+8;P*S- zy@TD(oA!QvwQ~qPvasrPU+*3qm~(m2hM{1%9BvQhvfnvr@15eH9vOV$D?8E`SduJ!@H#jnw zZTIX&_q20*cG~t{9Ubi>I6ZWZhGVe1?HwE;fM0rN-F9_#fA@5kI))|yAn+RJa@Oq- zXgY_dAd#OPpLUK8E8gp)w=j7acE&`)_deYfDHH$%ir$;BJtLYrQ!}hC#&a3v}UK`&YVJmMt-F5|5q|?O$9qJa= z82UV;DdS4OsNk!OeXMZsIxoH5{U16wY$*&Y-0cW95Xkmk3%KixsQD_Y`*XflxJmfx z2!+9T@{TNdS({m9Z8IsN(qrlTc9o;3>thLT$U}AF7$*$VAQdZ5p9f5a=z@FE8Wapkg!@T|3rPsxa=V$%dB^)`I ze}fbBU3iP4&+~kp=J(%k(hN?*OC!R$cQ%ShMxTl^|! z_Z`UX{l2$Xm&+;d8UC*GkH7U`&cOKxBNQ8+udV_i-fXeORMDI^(GTM)0I_wq?(L&^ z<2@Tj@4~;K0Xo5) zzr!lSC>-ha@BcRZ8%D!CPx@R9>mBREN$yFjw27)7u{YvQrcc!{bMlcAZbU%<#U-bF~z5l29hIZ@S`=a6Wdt$JQ=6AQ}_CB{jrUx5%E5Z^$V^5St6@&z&xGUqv4 zqJym>B>Bs2~}>-^e1q#^C$ zIfxa~^UQHn(Q(!}I_pY>sy?>(tiq;_)Uk+hFR)R9zCOfY6zvlZfPf9Zv{$3P+|JdO zj>L5;2Rwa5(F0=i28i|J)ZJn=-3ooZ&xz3$QOUKDWLN4TD_y@cz82@_4`&NhmG`N($@)i2G?(SzhU_OV^P}689py-Ld&? zzK1N+*t=4rRH^diVlY^hbF`b~fbpJo5=nCO^d?;!326r%)(#^Cl2td|frY_ojc4a@ z++I};8U#SbhXQbwB0L-nR(b!cv$LyX?FJ*|Pl?g88ANQycqOs<^-N%iFJ===Tgg&E zAFtl2M+!6|*Z3}J?x`FKwn(%D4NI;9mB0uAMprAVDLEtO?AbZqV`8v43S()yIH{qN za510eRcSBbRul3>{2kJSzXSQGIz$XZu5gGIv@0!2mnC!6)y1L&5W>Tw!_MJL3`|6f zdI3RPWrEmc3U~a|N$1t;Q((Oh_S^6d#sqP{y^BGaP@b@s@AE5B-TJ@0NyHzg|7)}!wOXS8Yc^U>T7PLY zA2s3i7yaL#@VBwex<%XV{OD~~+1)&P&y!c( z`aqe)L}&GDZMTy?^qQ+*qucI<(fX^yvrG@l`j>ShtN4raF6Fqql+*uCDD4Umtsi@u)kc*cN7=r$GGMZ}Ri9 zp1ax?hohw?W|*q^zR`*GJnaN~In;3p&e>Z>M+rwCoDx~B z3u1pg;~}68qHh`?^6Pyb$pyuzK(7+wyQ+e9K%#GKOS&FVgqP@>+{c6(ykqs&3Y9-Z3j z*B$8ARBLYx$$nEfwx+s}RhQA)dj#S64~(n5#LfazpI00KHGI&7BTO2V`qy=5?P3Va=3d? zAScZ$g^e*^-5U>P3I4armi{2_mAv0mE=lxR5 zHtSEVevz_KkQ;P5*I_WOqY(Wby^-G!2OA@w!#Oa~Mfb{e9Yc&c|J=&#z3>l@C{U=^ zN>}7<=Ww%?&hZ&gb@Z-o)vunbRY_kOp+29}+~1(r+iXY{i@nszpTgmR08V}gG7h1( zI({SG@6IOdBOdb+ts*x(`j-5lFgTdea6HoSBPfQ5#LNTwKZ-a(EQOTDmBr@BI+hY7 zC^J;Wz>9&r-|hTQ`{ozB9o0{5jST4*#2v(*94RCd;L9}ooi zg5OtHaFksg>eUX|62JjIJ0INE2GIyZ%(DkO#Sc^*F}X)oVU3j zx@ga)WHv%UNetmAv67zhbx3`61&{8|g@wvTFSa5+l2nd@K>^|#abid8I&BVyxScu9a;nT>FS0HzglW>io0VvfSu^+7@uQZg}m_fEaDId?~lR`f+M} zKDHr~AY6PjR;ROT4Pm#Yiulw@L4gEtY=zM2y=>|It@>4rn5#YW4%muYCZZ_NY1%X%O8Xz)r_J4qXv}uyC&Ag zVzH~njbIBpVUpV@O^FGjk%8Lilumt2PULIiQq*nkTyS+wJ*w^(bq#EX?%LoE=_pm1 zE|s45>=+}Z3;FXXLXHyBh9Ij_h&2k~&4AIn-z17yYg?VEyiyZPR&;Set}W~(rxQGI zs3aowbeP

      K#%3b^BZd@{ZBR@aq0%;*C}jBdvRH5d8i$OgHb`Y@i4&X)+=Y6OZkGqN$$gVMKOve zLv%X^81~*#Bgi3Mke`>r0*(qc)2X0TtOY$mzU#+;3D`hFx{2str2Nq^Fq5?N6-j0> z)x2PLBn)1g!FB*!Hl*+`voXyM$3MXJ>wBG}OdnC=8?U(&V|V;dI3bRZ_-M^4QP9hE zzLO|m8o2tI?9Y@5%zNBr4q>%S$iVo-BC5uAjjYx^CafbH#p){@Wr|(?tg^HYlz$B{ zy-_u(7u^g%|M4yGg)47VSbvo-$K2oM!I@`_wUDKx5)s9aL&SPKl>8{K1(Rx!VV=eoKZ(uK&?9=&_f71Erz z+59?p$?R=jfIE8m(mw_H&3=j>{^=@uzv4awyiepPgRjFVflYon@}beZp!|9lq`Nn} zKYHadSE;mr@VnF?JgtZ*Xtd0sIkN2*4D`8spmTF1#?grkw5c`*mC zAmuW}Q6YX_qW zb3_6bH1+zW>;oSbIn1LA<@PI7!>%;mQioH%Wg!{0}cV>(__cgOy|v;vr}YhxtZ^{89e$q zFiZ*}gl=HUe0bj?0WP3COlCQJpOBiq^V{DA^)X8BvIkO2pq^naS~enVA2sZKK9nR zS3c1ZNVam+EK2vE0W%jq(a(vQwO7J4@~;3%N8r z=emQIsH~RL!gJA2$Nc+hsu)Cevo{EX(QHggLjHOIM}~;Gs~0kCckV zJ*icbleOpNq}X~|Z2#n*820b0{(sLO>DK#o`Qj9SIv27)lDvT8l;e!wfJ{R!FUl$k z2b^-%_zUkp_-uQ0%E)Xr9&yyqzh-u3F!J@u$|?d=_8jsW@f$-?+*emRoWq2!@loA}qD?ADUG%q| zIA9PbS@ubA;|*EHWy)wOg=7$)0lU<642+UTS)?i&HXh@hBfC{O%@uV

      NcCAkR}_ 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 GXM2 zIWe38bSsPzo{tn#Y(>~(Q7X|zixz)WLv9(BJ?@?<3vP-tH<_f47cx?i-xJ&}Q`F4_bQe1DT^mntG5UGLq?}y;H)kks9mW6b`1P1|zKToYB~{ZSHV%7*l&Z zEj6C$b$xmbJW@|6B>$fAgJz?#4*xaCIf8uDJhhBoaDiUifj5YzQ{?**;W@4&ZYc62 z;J9sSi-afEiDzJ=ft$-xwZvj93p9W-4az>B+}d)C75Y$ZH{nl z72YspY{kG#=qPE}+Hic2G@u+2qI(gXeYtxEc>M4o&X_C-BBaPPMABgI(0z$)lT?At z50;Vdb5}>7AmK|tEtepdy@a4{TF!o2cNF0W=?Dr84O_?u`1gimf&Yzppvx`Jj=*Xe zt&D&dy_G&2Dv_P1TDL4-9n16o7_@3GgH|8l%Q1S>bWi^*40Ct+UyW?)iXn$;bXzb1 zc54Eozk$!27P-zEc(W&U3lZl5);I8`S+QQWtd}k8<&9PI#;$o|)x2pjlYY~zvkHI5 zLz5?Dvs(Jecg^ox8LXN#>siENGLpTxf|Z?Q@#7|6S%_Wk(gv#EWUEhFb+sem^Ew`w-9bju3@>+3+zEzr13f3Z)GRt}@Z+f)mr@Y>Lc@I^`r(`#Ro z9p*xs$UP8$eD_T+w3TJ0P4F{B1px5o;=&LAsj8*-#4shErwRY1zz?)Oiu+N|zyB3B zo_*_NO{Fe1S69mXphAHn5Q9{K9q%!V(r{2xvQov$b9%)X6CKt_VK<=E4VZ{JOv-<) zR5}0QDmg?4<8dI#PsVYQMCXH0qQgfNavwz-xd@ovL_N{B+2C1m3KWKEXSyyQ7qAEZ z{Vxx4TY#0n5?Ca=q#K>k1-$%S)IbI>NQV`+5#|*mBrp>D)u^&gTN>#;bWGR>oA=+?_41*BduQM6h%KbAOGsoLd%P+ z@e8#bd|o>_Sqd68nF?vHq3NWs&Pm>PIP-zF-b)R(P{^)5N0Zs+BQbN8hzrTj_~KWk z`r1xqefxNVQV3WooRUKf8v{?4A&mAQ-FrP%MN${_)soI=5wjiYhtlcef==@qKB{S)HdKsxS~$~vr4n)@GGUU&U^i7u8<^9) zN$vpJ^%0Z1O`8zn8`)?mlN9O~jdIPjoQm30RJ7$T>f{t<;)oe_+{!o{IW?B6faBV{ zO9dR=BdV~7{DY7*j7J)SDH+=Db9TET6uiCtK!@JKR8A%n;530WySg{=bq#ra8flvQ z@ZmJ7J(ocgu>2AGAJ7bJ+Xh`1HLzQ$-jjfbFAJF~dtCS6sg|XHO4BtDAo$PEfMmZK z&8oG_kaSJ^hhraV_!OZ@@o4KsY!{YpS*2SGNqkwlr~I5d z)Z8$^p;zfki@snOwnubY&@1~wpVCrg)=LpN4FyuNP;+;x+|re42zRPWAhJ~jJpA0V zR`wZnCXWD{kX+q)%yPORU9-BlOM6nW`f05^Fi=6-GAAhXm|=tb5yCCK>#>Wp78Id| z?GnZP%yb!&02?0~?;lAxjlz!8I<2%$(@`fKNm_+Vw^V7({on>SxgY$^><=rVcTf%e ztcf?34>P+suLdxP+Ijq*wDeECHyDOZU6jJ-H6;PPqKj0D$TkT^35A3}b;Bqg)p#UI zC6v^?&U7tN#r3`HbQ1O6-KsEdCZlFfK1JQ)G8tlF#pqKr+%#smcNO;Dc~@aDu1#Y- z+BjY`mJD5)JLskwv|}ufjIrzvlGy9ffOsJ3kUj@!93%OC>GG>~oyEhj9Na#EDV@iY zE@VpWeP?XDbc3tm8$$Y)bC1kt^K>&Q3$vvlVZiOqjeKW=6YtT?J%~Z@@#dFI35YMD zo3tbzN@zq3`NGIEhX!S4x)>ksg9;|wo8DNPIuo?t!1SO8^5lB<%+^VmdJXuk1PR%-_{XqL-x*D&aJ67Oya z);h`iKpDQF6&2SJ2t+jK`{JNaJQ-UxA}{9f3{+YvIl85uQy$*j-d3DR z8W5Wz$J6M7(i3D${}C<>%lhkB`~E)G2H2GlFX~O@C zY8q-LvteT+Q0r&ila`}(qgcKRs|}Yr%is>OOKMpqzTl$%XALRHl&`biKaVOd(r zJz*8?iaHti^3i#-m*Zn{J0Ed^QWB95BZi0ZfLG%{6_!Vx%95DKd%nsA7AOgI=$*QU zZBe@N>u?fX+@=u;Rb&s$P0m$$_#!dT@~X4#E0~h^;e)yZhMz6(uU@U?J@uYERs;rZ z$?*&koAKTt3P)^vB{4FFm|f|Txh=MJ1RlVk!$^%D^z;c|7?ngw+8;n8T{{}51lu^> z)barLHqtISx2wjvYwai9k7{Lm)%JXMVZ7NT_xZN{W9PJcx_f%oEpv}#*Yf0XF06yS zX-UWb)cck_z8$UP#zUgQRQuu(rZ9>MOM*8EDp))0r$jI3U6$^n8JXT zH@zE`!eO3^w8eB9fYZFDi_gTy)Hoyu?F0VF1*%!JGwOZ*bAkdf%w4y1*@_pZpr!nl zSXp*U>`7d|>S!oV+2~ zKb2!#;*0GegoE(TXO|SOnQsO#^hF@CmPvZ3(GbJFKDVurOHu;!*m5$+X2%~5JB|pg zPK=w3={56B)9X5HO_=m7v`rYYZ%muKhMZf_G6SvL!K;fCq#XyS_MGO$P|8-5yo<)x zI=K(%e7UDe(#-&%AiUUJtZ|d6k-CgABxh%vP*en2bul?Fz_~_cF?P=DYN<||1)V4t zfm}B>&ifR=06rrE9DBX*>mIn-u?`s7-k3Y%>j-u>Ie< z4VK>r1lgicd(H|7wolqT(Qp{{BRKCD;F@i&-PkT5t1JiHg{l77d*G=@iKkEfwU8a8#?d(RB+5iKGJ7 z95tU0iY~AeI3cEa!Y*UZ5vC*QvnmMKUd$S{hU&IxB*y5rE&3fGj<5nqCG$Y8F3Fk< zSpc~Jw-wc=VK`YA>;PYUha?173W+dw3I-G2!Q0x&_lu}*qc--_XjzJ zapbaL-QycXa-bj;2R4JZpuB&EVecv!MaeK>^o`Dba&-z^{4j()-Y-|GB`#EQQJ-cZ`Dwa}w+f4A{26H^GA(H(Q%2}sQ=P}ox5{gBjvA~Nj9B|S70Vr{n!oq5^>$gaECedy0ZoQAOnR5k zE8H>)w<`IAm0XQRg47D_<#vL!gGe96e14nJeR|=)9UD zCTGZnyQ^klSE~Ah2i{kiZZn+A3dNJ2%Ao)Quz-<>3VrF$9oGwYsJuKpKNc8MXtXFi zE(*yjAIU0klOO|Ann^f}jnp_|C*d&(m>{Ebi&h!Xh$>lQE0j?zZfMaUn%*K^j;3pg z$3AKT>Iq;RMFELGmYq)$K#VTK;dpw>CIwVr7$iD7t{ziaANWwp zEf!NQV_9UWi;`uYQ-IM>U3i1hrm_vF)SG{lfaEwjVIwqgL`KUk>$i`S#@!TPgiRB* z6tvY2G46I-xqZPYkMD!)1zO&lu~PHSw;R*eQ!9q4)idu=MIVx=DNZ+TDvT2|qyv1r zqlwcv?hytxHThEax;dRas{YXz;$zMdV8!xbFWbuK3K^e?SF+2>APwi7Q*XFuUPvY= zhLsN_r57d`>e5Xw<{p2JXf5nq?Q$SRh%^*LOda1z*bAd;JiIl-zyambu}NY-TM4Lv zT5D$Y^ec<^Ag+D7-HNxN6_bExXGSLAX7npZhyqo|ilXK6@4nNUMu{0jJpK3<$93K+@WZoFdujD^lbIt@arJ6Zxewj=*y9!+s{S(TEL1 zF>o0*T5!(lu$KxXf7X^-pBGY;kvzLp)m3kqzqA_E!5LMI^Q$Oe!!n*XM6L?mZ%yLx zX9F|5c840dKTw@O%|MP01&XwLNX951e;$#jMnlKCqAe%LQ; zYFDlf07Lt?AyOERTUC7DSoyf`NeaOic*_@fYu`9;BRp1^}rI@HVTD}_|&A|oN zsPC{j3b#NZG(L6ci)l=8*Pk}C1%#$}l|HTCh16!jd_NPw=PdV!C6R17erRst9Pydo zbh_~y%MIhM9puQ-vNO2P*c_y(;U-N`Qg@_;@Gtb~3w`=RpZ-kx)cm9AQ}fTEPtE(& zr!)+(G_aI1a2UM*cPIlhPg-B}gP%`7m}{~1hpQY@>($H)xgavN1oO{B10NR)XCf3W zbs8?&uuv*T%LSBs*#RSUbhWzRB)k(mybpJp(A<;olRGY&@q&}^ZtHZHj+Z+L?>O&y z%k6zw2Fd=@l$Tp~P+o5Rfy&FfX&bigt!?-$%F8cg>kHZXLbm=`)#lb8sM>t=#}k`J zS@XV(QuB|XGtEDY&NTlJI@A0@XTH!G8_E9T>CBy&n#P^zOyfRurtwAAGBErz^VUl# zmu#y;hkp3W>U?1-zmWPrR1$73y<7h%mhx_-zIh)~zog3dJm@QJpi{@2G18o{4uK56 zyPa2ufLl>QP7)Y@ZYDPXgb3Qb*5IUR$ zBl5PH%tqpKZO#}cn-+sI#Ana9K)<;Pv;n#cHnwV;Ro@Cyjv+M}fTtKKLcit|oa88L zNdU?Tbo?a`>=-^`~0{Pv)m)W0KLpCk0E& zg^QIqrdPyWVb{#&1hbbpE#$`3k)$II{PSB%+P2f!w%^k}fR*<9lOP(oO6Zht|JfA}yrx2#uXZff@(Q?vD*N)a%klwS_8 zVa{uE5iFPIXAh`&&pA0jZZ8x7ddX39C8yVlUP2fc7n4~O^q8^z_t6z=;+KtvOdlfG zjy5ZPa=urXK~pkbRPjekr@zSV=uNy&+S*>~%4>yNO?^_#bf|{^U!x!ieGUUmuejDS zEt?6%t)?@0opZO-WNI^?U$$Z7XtYEVTVu~&dQmT-&u5O(R9%F#T1+b| zxvR*{+>@;g>*?qeX?<}Y+Y4$xPxC+;#T?Uc7c4{vUA%COx2$BC*)wv>zUlB3&mwFG zN5@hZM3ndhPh^o-b?`kE;4JlR1@zm(Kx7=H;Q>aQf!(Eym?&br?F>7&f)AL~K9S4_ z;y8)HJ_cbxiNYuxSLg*3V3zxGsTC-egz^|AVVGb_bBv|M;banyhBD2&R2FTJ0!KnC zJ+rU^96G9*=9CnNwq_bvs+D`$ayoz8*`M8Mh|Dtp7>C}(U+8h^I&&$tJp2R4fcCZI zFaS_-+mo+Yla4ScnmPFeyzJ(l+9Zb=7Y{|{u1NbWhhqtB?tUjx%gte9DusJ< zP}$P!_-%=it6#)vaiywP+AXQn)&dNo6Ci!*%zNWt5)56?vb^k)T$WaQoidHycd6W? z^VTPT9vTEXn-NAQM3&5Fey$KS79+=bA8ev%@aWi+%C(Kzi8PAx3zZ-?x+qgP6ys?n zjgDDXtuW@ylbLczb-ygI_x0xe`O&X>nVUX^xY}vt8Lwf|dZaV9K9Z2*c%%-Kt%iEB z)v#VX(KVjfHJWK#P2Je`A{-DD_?@DGG$a@7!t{Ey1P+(w#f%}#iw?}jjL9$-rU;nc z09)s{9BKOo<>VND3|pzxa#zZdJLH0;#-_W5O=+Mfi!GJ9TlcMN$Ct?Rgp@D(0b&Lp z_B?uzM{k~lTzZR3Z#B3yGjY?HGl0N3M)fdixMENoZ8W%zC%VU=pD)z33vs)-Qkz_= z*)od3`kF`h9Hg4#b#7|iWYwJ-Jj9{8N~@QR<}h~vX2=9N@2wL`J!?9iwH(hj9nZFY zUF`jhsPtJWRl^yAj@t@D%wHyya)IK-F*faZ82YJ_$+eIs1%v{8JZ5&kI!L&Muv$0b{U47*0rMYtUKyuo^I>sx_-N2jI+9_bx&VfJbLz83dU40>v2I zmq~@>7GRX2(R6@%ggR4Aj+|NfY8KDHQ!R1)BP#@kUTej0enog_wmB!F4e8XlRa~-q zcrFo!x77oTDDi+-njWCQ#^z&Y_$f#H7Fz_DyuwZypHU~xG>83YAUb3H%mtaQQOY!u z*9GRmG#e$e9tNMfm<=$);*_ISrYVm~Ht(;1T@cC1wMVtYosGMdhRmwEl7Bd&Q<%}T z4p6_0?W!+t{9RzB2~8RRM-4=Xhao?hpBQF&@IojJmksp@}p zjvqB{Gn!s{aGIB3z(vr=Bz>z2@M4tyDpUL%Q1)H6{5{eNSrN?KS)bCWfbrf0|^)U#z^SG#H{OjB!~b%HqR^vhgVXp=;lb;t`B2iIOReyT5SzWdnoOppuuiqO(pW zlBdYZC)bpOat$+~oQ()+tbeO!%aw}GQL|Z;Kd$r|goC(*2EPk(#;H0L9X2x4T=O2y zfea~mct6f#mpNeV{3HZsP}^Mi{7jtShLz{pkqGDLaIc*Wrmx})r}aRt-<`5jpCXG> zz~beX=bD_u)!$X%9f?{3WXV1Qmk99zpw7s;i@AHrOWTod9d)&jtzp0FZq%R zO`=jIdY-UB^%%Ba6yE>7BQuP3_?nG(X)_@RU??PdY+UV4Gq7$p^0O5ydUYkOiP5w* zBTMHp!fH~s;u8~9pgO6L_i;WTbn3%V`f$#KDfya}2+p3ab)S41QdV~FShwtb+lMot zYIT-nmF3kf$Ko|O6}y_5sEtOICThd{W(XAZnzFm4uQ8h$^Hd@#t2XK+Kj$z7ASt=% zjNPIJY1M65gxHxACe`F%5(m}Hf}AksIAQd~g|gH?^qZBxIdeGp{Y zZRrGDr#G>Ya3>!1LO9HN0VXD~2?Yg37WjKjPEoVOxSGY|T5@I$R|^ZMOUgMq$xbuF zW#|M3*@CTQ3vQ~UHX25JhsHfW{g&6a;{(u<@4L3>|G?U2L z8T%IlCKj*H$rXyaABFGHb2`GkgdCyn3d-`ji(cCtAn>rNfj*6vIL}3+YW-?QI~N)_ zXLH=<)={o|Q1R|BbKye;m%p5j#IBjwmvD>I!a0oD9mg=Azu#3%*O?qXs{=Rf$2@k^ zr+oTiB>r-=)7XxlZEin&7`gHd7%+~0by?sETUxX;&?F(9bo6V*Vn*%5(dY|>L&FNN zuv~M=a)=)dhw*c!OWO{5zDmNj&`oa#n6a#CJ9QsQ1duHI!FO=BE}(gOK0?8i#{2M-*ACL8KZgG*?!7x$5n zp!U?C!RKZRt;NQp+3*~Rn#PIq*~JA~K+rd6#?{8-E!E27t-H1oj;Iy*T6UMFlJ^rpw)8XTWyN9uDI6OPEY_ehU%Wue0*z^gWH(7>L(IHN;-lIXl=1RB z#C(5!+M|eX$i`_lI-?<6gu(^-JyzysMr!ig89o}dbRSpE#91zah1o59OuI)5u|%Rc zTQmo#{18rVJxo-O~(d91v-zS%j?3+YD0JIRvo7}u5-QR)Uvs3bXirZEqFQz&DZ@9GhP$q{5QKl z`klkmmB-nnEVy~`^reag4sUA9PKRT1PfEGZt4Hi#Di%9w+L zCl4Qr;EkH6L7xnDU~)t}R#y0lvP^3K@Z#*{%l3(X&^~;1`nn7-kt-F0kRnNk7u6IT z%oDC~tBcyQv|HR{AHec$#3dDh;R&wiwn+^U!cs)N+!}*txlW@%N~;nkb?}PU9D-qLh{M@NWaZ<{z8d_ zLTzyxv(Ye^Bv-*e*-3EahUopiQq*@Pg#)Q6lz-rsD~!a$q(XF|st5KmsnJaG)$_i=eXLNaGWYtuGK3 z^B}RkdN&Z4%Y>NgDUI9TJ>4ZFudu=O+Ar@fF4pwXxAbBtvSHZc71UO%aD{F`40FW~ z+;IbHil;JR{#P85|1rlQN(KLs$Kj_RR5-OyKdA0>c-$FzNgo)7?>+qLaFVh zxt-014lQE7hmLUHP?4>MGGM?Ih66Fb%>tK3OXVLxj}@o?J-iS-R4%TDYQkq)nQN(0 z&{Fdu{Lj@`FCL+smtBZY8~4`d9k+AfgSc_m2Ad1<%%SKCr&n=58#Nk1H)Sqm zeO-!JsTq^mcnp+0?CS=y$%7I67ZFI$y^Bk?zqzfDmI7waXrjUPtb9X~4y0jQy~zu) zT%}4-NS=Zqn#LB;llf{#M77_uw5rQflj={sZ-GL2s$NCRq~zze1X4(UlB7;EHld)m zr3@HLs1djW=1{EwS4A4fI%rT&vokTlssR!#x!-bWBTmoDgWXqt=hflSN!xE9{!nb> z>mzZN=CGBDzTQ!wd+r(Mx$UNek6?*?GQ_8mGGWbzB;pxqgG4)5uhAy5?8^Az;~k9i zSuX^G*F^+ARETHg(xTYcEm}uq;N*2Oon*-Cbt=aaS6TIj(Fi|C(yw}?%))xs4pLp= zXs=ng%f0kj50^Fa#I|fZ&TE$8Rt@-LA;yw}&I?9_AJ8r1=+Gt~*Cb52%K3+9Z(g)d z_&NuMmn6MlbRi9wzU|lP|0Q(i;%PsSc|V|u+auh>r5xE^Q{N97z)|8KNN7Bca+%tD z_N=v4`B0`dpFL|nhVRtwvuEE`DhmVRAVP$}bT$c-a2YgP(P z!hg=9i7_-F&& zz0P=|Ps7o5*`yrrs-8tih@bRg-%x`qCAiX|kHp;OJeAfeWOTEGhtj($NqFNKb#+ct zcFl{k$~$0jc9?;NdawW~|^|CD?E0_|zu7_%EPn&x+__8%XKg#eTv%#E(0-Hz=L3%H!(FplMWNP39D9FF z?bBhy_J-rKwJ}QJI35hVGS!2PGr9ztpG+&T$N+zDC5QCwPZxI; zg5Ml*ZfQ2Hh)G$oq+?soN{#3Y|1O0Wg(6c%46~rTgeX>sh&CoF=w^^{5XbMx@{wIL z;%WQUjXaM1RVN8q35S(gqs$i{FvE z_?s;BSbe0;A7r##CKF4Q#c-5y6u%{4g9L_af|bOfR?`LT?8`^Nq`Ee`!bkjw|towy!OjYuTA?TpjxB!-1np~)al35zgQHVLh+cm9f-WF zqm{vWMW_iGRfO}1RBsR`K$@W=6t&%&JBvxo#JbpCNYTng?mFVECUCIMK&Gxy|4T1o$H=Ww%yUX(w@GqjmsLl%G|Cy>Q>JOWvN1YAL)9PIkDam!LFVj12V z6l)S2I|(l*VS<;Q+zP4(F3}nDhO(Ys z^f7=u^jp5@V@PaVJ9q})cq#ZhjtdJ^`KKyG%|wHN2RQ8A!X$%{*KYsV>7E)so9U*6 zR+LvzZW|VDFe@g&T|>tg_&JnC)t>0i>baL&Jd#kwU-cWS*(L1a>;p!MRB_Ipea3Uh4jDeYcp?4R3 z+mT+!>6r)a#Q-E%m-|6c+wGo&HNeh6)We}uM3=q|EZqAPT?SRlx+v%KfrE7x3dllU z2C6fj#MiM3woj^cyzPI7p=Ab1jF6=2steY*r=j^1d`P>p>H(=E{Vu+Y2YnA{9f*nW zkHn%0`a%zgQ0Wl=L^{WCFyUH?nmbe-!K!gOqBIO9bTf*l^^CQ%&_&uTVv}L5r4j3X z!S>6i=5X)7f(`X=!xQZ+`svvK=q2vV=MpBt+#DYZuIKkV-Q5=lZU4<180qoB?q2&1 zJa<^{4JpJ1+M8$1T;}suA4OlCMj%-2U4^}OJ}37YhC@GArl(!kZ6ACtmn>0Wg=MFXnsh1v&FYU#I zwvnIC{E353@7oq%IOR<*ONa3&1loB;ipul5-Z0re9k4!6joOyD2jcrA=Vg*bS1e_wXl}-RkF+1|kl$=8=Ssjk^(rZm_#%xAiy!|AWB_DQxn@5+4O5Pz+6v}+RD7-mAYuO9?()= z!r4_qTM_IcNN%}eG=jZ_;xwUjAY9uDEhzck@fw$RU;3RxwE679a`^kNPIljjtY*+3 zRqMGVagtjDZm7ZQz(2CAozyhgJ6SPhU}{kriLpX08@dI_1%b`z*mikbLBF86%$`EJ z4;kj~<7yF?s4;Ju#dePYoh z9P$V4Nd8Pci`y%O4f#tKaa`J7bvN#!yV!w_x|MPp5{cBm7Mfew)66r zw5;;;SyRXs!4YvWo|D#v=zwgjh*ZkP-Xut_%+xZj*=KM5GgtCU2!LrMQZye8dRP8c zI2eQU{ks)+RM04kXI4N`l*CjcoHrU+wR}ATjg?t>w%LLprI`_~Us<-A8XuunnS)$p zZWPw1*Lq{6@h{A}SdS91=sP|`FltyUnu}gtDZ;Pmb?rH;>xFdEv2}&POlboALq|h3 zy5r@O-?e5Y!>fM zBjboxJx9OR%|trpb3#`+RSJ15F-fvgpQUXWzQ?jTuzbcsQNe^Bm6@Pr>56@~yKGxL zM1w?{vFnU+-IWbZ0j65Kh9Jh=Ld|6gwU#NgX&2H&SI7D@#uZ-YN;QAY4a`xh^=ocq zj#8Vy=7uIAb+a?_kT%(~YBcY(E<(y_S=0`$WJko0RlA&@&0@rNaDzWHx3`Pu{#cOT zLTFhJ#)F1+u#|%0Gln53_{AMn#mqdMYzPh!iXpeRMN27$N|z^HX8D5+-Gw~ z1+3hFxw!@MNN(Dndhp%PS3YO!(IhJ}{AZJl%9go2rmvgkJ+cWBW!S%i$PNE5XH`vA zuOwwsC#Lxxvbm*_`sQLSW%Yk}8PfAZXy&Z})cx&?-vDl6!D4CsCiYFl6e>NeLPvZ)Lm zcXlcnb!~z9B++>({qghMR09g-UT#`}20m}pjo|#^o;f_S(Dv(?y zAo%(1pKQD($2XtA=8sMD$Clv~$f2dfRyEwLhFjZNOT1hcNpzX1ouodyc{z9(jfmTN z+(?sq!@1WUkveS@vl0z2)JE|rd@nh>Uhd~JHk%M-63EfeGPX;Ome1qMS+ZoCwdOJ{ z8e`qy)=}vf4CeH}1&onrthx$H)|!=N@}bj7L`Msq6Pn?M<$|b-&tMSp(W;_CYKAU^Dvw+sJMNh5Fecbvv(KpB>X!;OpV; zfi;>W+cY$i)h56r)+WGaF+4l77J_Ms`9^~Lc+>rO%WP*cViAkVPDIcTw7Ip!9xA|) zLWFl!G*;KS7K`=`uSy=8%Vd8qwEMEIqngfmX<^H@@$x>XgCbLI)4Hv&iviT%1j##; z0@8-iJ~B-zf?EFprkw-vVKj?I7*K+&`;Z;Tn%tFvAUyE?KfMseU1tGp3^>ha&uDJf z%XuUJK}-Vf&Fo9pZsoGL*|Md11ImEyEN?wreT=gejePYx`B|cHVptCj!irfwreVJp zV@^RVM|S2bzk4Ndt}m&~2mG_@ou2wHk52w>DmJ~3RjMMvxKtJSnQ$BJ0}%AI0UiYk+gy4 z)>74m!6+Kf&>~n>R(X4~)loiAyVIl?Wck4b-QF!zfv@Q9R!6&?jAp|-jV|?93EnTN zn67bO2I(%ES?#nE#uS)N0<^DMx}HE>?6C{06)ic>auN<^$tJ1%SdSxd(47_#nItdbdJC zhrunHi<500n?S)AHn4-DWL8r*(SY4U@hYE&(CHo>?4GvwD^*7cor7k6Q8ACt6ahf+ zYcg_CP%s`Dq|}-+!XUe3iw2S+Nl^&^|2amunm-kDbsU9sisyL+&`)~N`-PCrrgSbU zHzy}jQ58EYiEG_bFMG9Y=@YB`yp5f8)z3G@&+piv`1IMW$-{X~Sy-i8v)wlBM(uaY zww+_CpfC1DQ?2u_rKYVE1jr*9w$++ZGM>%lmJEAeT{nHS^a>bt{A3W{pm228_Qd?D z$utd#MAj@#lZxz%V(!kiAiCQ*YM#e(Svi-wI~4h9#Ew@*L{7n>R8qioRA$xbr?k!u z%^eY1rtu_P&@!u`78Ih;^8R=dqgQ2?HAs=&z0804f9`J(ozn?dYt@_e z?`p{u3EBo??Z!FmoGbroIvv-0pVSBHv>tD5;b-&7qlWp3Uz?9xPyW)}gfh*|&Bo@V zzciX#PaZ$|i}zmzNXc8JKmSYqHr6qK!d^VSokW*cQ?J!%d{=8Vnl0}z3I~aIj9$_S zxyBquy?5RljK_JC#3QJNHBW$yVDgdk8KqIeax)GrmBh12k3HT&z6vI{Xz?`!>Oiq2 zF=JzdnVP5A$`B~@1^R501dV!&F{TcjVyFo8(~dA54Y}r!_cw6e@eOJ;FaTFXTrReP z^@ic}DSmI(Geb+*7mUV4K4-&Og1Hf=LBs*Eg7f$qUkN0z5%>cMIzrio4An8-DmIgL zD?UT!n4r_%Ai%rdI=0cu4+J_iAfg5W^X$)h;U6>>k7p?@_2b?Q8R9@K+6D&jAQ$u@ z>aC(+kfea81;d8TY0%`h>Xe>~BD#w2UND1IooMZYO3^uuJs_;{1aJf1Les-|8hSkE zX`+S&Jzrx!Pt40svrOWP=?$){Ad8ob!ycjv=Kv=aJqY)VE)ot=;;JWjiN z_M&^*IXydVd#{d;_7S>Xw|(+MXRqDe_708^-Y>l~)O0~(n8=K}hgJYMPy#1)*6k3O zI)|t2lasUKQ%sNHy*_#iP=Jx{LhXHm=g}d~nX#aKbn+86jqo6dSG~8d+ZgE?K?u`3 zJ=sOTbWcw@d#7eG=<@XFgeI5H*E?*#I_SJ=AMUlWz!5g|wgWOCtWl?n1v=C@EIf33 zMsvr7fw95Y9AdJaoY#5j?e723!SPFZSoUs5P=vs@_gbJY2)=<5!>Biy0V#Wy+$I~- z+i{rGubyWfqbUVHy)gLBv<%P*wBu+|8S;V4)F&g4e7nGs5i!lbK{3jHIvWAu=yMMu zxu{ncz0q`#X@jr+?Pt?Ia4NZHQJj5*Q8(;o;bbzRV(By1@w7JRqkdJ&zu|mL&R1yq z;(S4zlIz9v3N>~3$_itE<$abbd*`W>9X-a>Bb3k=zL@qjsq2xXDTqg?+tk*@68=CQ z`<(f$k;wpkpN^f`%;1|Nn^`7}A^fPS0aeYBsS9zGEpEJoHFe5DlLCOlp*Xme3vwDA z7V_z7na20}^z_(2`a33LxDF?`82RQBU2)N)o5Z>?WLq7z(ryidp}+e;Ia9rnuOV|e0PBY{J z11|Fo&c|EFe=`p7J^2Ji#E;_MSR3e5dnOtixp3P%X`oVM^|A zySsQydH5MjgKc`!od%QXY+S~hd^9nUmubXta{6V%if-rCap$;AwiOr@ol@T7cR1V( zcQ8sw0Bt~$zpYg;+M%h*4owK%jN35*8C{jW+VR$EYvfjp2osHFluu)&$7XR@Mk0Vw zy>br+ur^-vK78=_`(TZ7fRK|kZVBv7vZY^0P86WRKw$x2YTx!e$(WR2L1HlLzu;wg zkCUjU>9xrtYK1icURjz%H3@eA6wBg(qKCRu9MV@j=7-H+WeE8(yopGrr{#p6xm&Ye zv^rl|k=5orxzous9+Y+4Xk!jm6tT&mvYgYm?zN#?WUbVq zDaTXsZY0{fqYgr4%*TEOvgkS(l+6OL8L}#4=6TGGZ!Z|hg?3Dl;G~usQVJO(-G&kT zv>;KoF&rkO#x`MxPpI<1Ydw0D2CI;xlia=WI}C0E5C~Su;;mAX!Q5Q1xL0GVWxX#j zPE$O&CBeVK(<I0Mxi^CI*5f)e?@G;g7M%2n)!lWW8WmHZb?b%}O<+ZU6PZxh5# zjwGFhW|hjyOSN173P=unqvSnZkfB3Q{2cuQB@~9tzEP+DmAHpW{%l5^Qaw7|)~44x zzke@(>`?3sYHo%zU(x){To;Wzm#{YogVD@NGD3k6j!uCr?Y#z>5BV{5+Bb-k`cKgR zPB_S`57OTss{h@5y!q%a&DIlm)Y#g3y!n?#^HF27@kRgp@6i7uGX@gR_g{3tUv$9B z>3}!C=zzcIfWPQ~|8yPjhM{Pz*GVl|qZrSmJS`PyJ8LWwkTP;Pm2gI3yS%E|O3M3F zSIk}f*To9vWt78rR|H!I7oVW2zLz3dX^V|F!dIF4V3bmB0%Wxu>RO4eb=MG}oTqno zp`t*Bl-Zo+{z=%orkK$W%sh^m#8E}v=Gb=>oJof;;ylppQQ%r#a;#YGUsY z#leg%NAbINyb^sf#+4kwyk&uy8@U5o@BecgpO-O zu;4rzMAKV2!8y_@735e29-h3HR~%Iy^}(aqLx`(z#0 z*P^Bu0~ms<;2MtZy662g>%IHR)6;I&zXuMZkBwYm)-7ZJs1@K6Krk8B@yCWnD4()Q z_`X6?0(>}0g6Y2m{s??O6J@iDg4Y`|?!wokcdZ%8JI`TNbhfj!nUWF$wIbJAX)IE9 zVCrY;R0KzzFU%qrW@tYsS=PRSY+$DpotPT}pHv=VumdA6gihjSI2q>Bw*i87M$t4F z0JTWt-~$tSK0!Vfh1kOUymnsOIg-E1b6cu-A3m_^;10E1*>UgK&bxok!dY0VASp9; zC{sEWB-DOED_~_1-ot>=xCc?=ltF$8pG*V&7Db_}sCT6TDSw-kNF!QOMw@13W!YFf ze5z{s)Lx`&#O4xCX@I zl86&#R6vIm5h*yog|b=qD77I4kOoO6ngDr?M%OXRhMdy^y_zVoLVzxumxGWrR4g^f zs8QSrBNAv(aSY9ME`Ubi7!az|j$Rhb_ppWzGNZw*mxLyQqelX2%JJhSG)hc@Q6iEj z#g)dsfi6f-t}Ls3X^9DL!X|g_t=5o0%va zOd#{wmtFZKGgZGb>aMPOrW0;12h(*f3DdO^m8T;)QXRrJ>NBeCC7CAUOQZfsBDVj2oHQ8)@1WG15n2TFqC)U$UmRa#S|LbqyLEYAQSL@ zUR4IEvo0%_(*5J36yY<_sG7Gfa)tcNbj!KaMYEaUt%#arquxlp?R$fWB7hLmqgIQZ zUr2%9PYwJZZ~4eu^+Mz;p!P@IkCjA32h<-X06~e$q!d^in9=PbX0C+OLCVZY1CaQ= zb0gh2F6K0z1_RhMAYS=YA+Zn}o~og7$%)zC&YXfb%NE1{Y15dZ1T9gFVl}zTVF|0# z_76Uszwqu&=g?Up8WmO8{gI(*0MbIFMc|aeO9GWkTcBO0!cD${IhK(h_O46-`f ztj|c3`axOKI!_ZV^``GlwX;3N9rM<7>#K)oV9_a1;$^n=gW5Ww~y zf)Lc+S6NOCe5UrW_BLk`{Sp2|7^Qn!v`;wa%%Z5@rPQ7#(D)SRW(+mI4%?esU?M2@ zTHU*@-u<>%#xIe-Y6RCS&Kln0t@7N%9f~1tGXRrFN*2WOcU%Oe`_Y^`)09P1dFDN8 zwj48YEPcU5sQf1*bUDT7_R-4^#;=o;qmv3FcdeE?v$iwiW+l72ymXCMi72MuE3?h~ z+*?=Qs$TYB8KJ(g_YMSm_>qw?&SXHGXMmQWD z!!AEK>bCu(L;vMTyZu2u6_2ppm+f>*WZ_TOg=7_Bf=OnS-n^-qc`8w@1ywj%6ge@r zxcm@ImS2JnsUMFxMwwi<<;x;N<)fW{>_}E$S8@~6Xv578z)2<7*_kOAyoQj*%&^FZ zRHfs|Y^$u~KuD(YzGSit8*{08CLeBGsaujmcK0E1LY_Cn8}X>^n$Y6IhpugL2SWal zn7%!>$pSGYiu(~77Tl733r@xZjtuz0tN6ydn2Eg$!y+MFb;{*(Vz5u=)6Dz*3`(nX z7$h1ca*$6Pq>!$S^?J+2v#N08sK6(6QH{yaQN<8XT%F9RLY=8P>U3sk)BV6G_CS!E zk)0xI(Glvs_#(QTk@?|ll1$08g%u8TADb7#kSm#Nt5-MKS2y~VF%zmY%)X%kQyqAv zj9Oom-&ed}7^m^;^PHSjSy_SiE7`~BkqDd#y;PN-|pJm>r%seD>U#d&PalP~YQr}DH%hF-XnvQ#L$wQ}@m-Y#=CW^TKDYsE6KVD?I}&?^Z35s74x z?44t43@zJzAUt=v{jfI)ha4LnD26rLYF5XWJ%;DB#>8Y{b9NeHvIUSjpE67$v z{l?Fee^Q`z%;d}u_*Yu&I+#SL-b|l_@5dyp`DO*ue%2e+^lfl`X}=Q|E`BG*w$2zK zL>XXxa@J?+_+*-Z?CV;OX7dbJaxt=EHHzK^uqSL70tHGxu5R-d1(#LJt&AMB^2iDKAf1 z!#6I+^!OduFN-FSHdD>sxtUW~qL@7irFYKW>C8QW)xdZkWM?A*J>2I=W>7T)NOHxu zk-Iyx8?=s|OmiD~CUsjPB;`;EgCn^beQqy)g#)(~b*{^q{iGL~7>bNqmin&Jij3<}hJgZC2q`2uht!(V%7H&J!kcA7`rmUCF#z?0_DsTx#lU?hS zSUO~AW(DX@<_=Am3V1d#&IY2%V_X{23&+cGXy)pn=n$Y&U|H3dNr0pim-2`8SNOK- z+4m4t&s3VL?p;dzs`r4Q=ISHWv2Z6Yh53qO?$Ul*vH1KTt)pB#Al6T>>r-HwHQs8G zwMIt=zn<~?@4tUU1_!GPBgEM4HnI&hI-zkAt>iq?dd0+?olvV*i8rSq@vOe7qde6`s=;xH}Ni%Mw5OFTf{ zXkQkXH7tpjYDSGoPuZJ|M$8vqZc7fyN~Leis0p0hCYooH{x%?76$ULxw#Jmk?Qs8bi6JE95fNY6@uS)0Z+9AUN@d*X(+x3Vm3rEwbZQms?TqUJx^xRX`OxiN^h=fVZB zN8`{Pri04$yIt7r;-zx+d$WAMAGPXQ+Z4zNY>N(LKem$5Z0YArad(!Wx1#CN^)+`> zH}q&LDI;n!8L8scw1057U=1HiY2{mP4*KPKT1G9#w}jI8UN~YRoDoI=;KG7csyr+R zHSegk>RK)};>w0O&&op9-2`Pny0}1&z*)HFMibR>AQl@$$*}19|#l?L^JK#JR^>3m+dcDlZXX8Acfn=g%ppw$FVMO)R zGYEJm%~^}37GooS^|C!*Mw_=fM$y{+M{w7bavAB)Unob7qIKHSAG0>k@tB74yB)U&)rH$+XtF+@PWT(} z2>c~V&f|ChZAoR*i?nuK66r!r=;@}QsT@XYSL!ud(P!R`)VqwT03)&JLVZ<8ZJNyc zo_cSn85?GSOI5&B;#nnLStVHLK*5VRVzc11WJpqUfs4VQ%@Q>LT8*?xs;E{kWjd|V zNnO*U&P^jlEO*UxI{67Ms>`UW>SYl*t&_PNp%(B;MAbBINz%1V6LF>v#4N{Bn;$L9 z;ngc3EYJjFmODB=TR^QxRogmUFnJw5>6&p6gDi9%42q)F(^iMVwdah`ykFPp372ac z`tnA~RjzZe_Z>6Xdv2Sb#<6z+BBF{@ouFK}_HD9;bcdpduZyBbI;gQmeg$tJk=IGX zjjuc7ji+(!={*Ibmx$wE$xPv^GbnrUMaDQl*TWHvc!D?9WFn#lEeA;2rEBy!DxASH zkKhQ{j-$XQKtJC)`L%S3pinaKnHo-te%MZX@KMLx^81V4nI_5e^7c+A& zKTCjtNUx|fLt8DGp5ETiwd-HupAov);g`Pp(o;<0OgB2e+ggs?pXB`<_J%13I}@F|p=&5Zoq;`BCkSXP8ldig+Fm z@u_#HdoWK~Ku9vcFROs-AoN#M%|6%MS86};Tctp5crDLrW25dPd?tai^YDWfd)#7r z{t-OIz$h34r4k3&pm$}All*`QV%FKcT3R9bRds(DkHWeh{U!HBjAcPL$!th@KPdM* z0`NZlyyAXXsRv)B1@X*PvK{wLnjH_1in`HW3h}8Lb1<3>f{6+>2X!$8BeXw^27@RM zcyeYMrojKWRCW==f&$?`?cpZdEBbkV^J( zlLVaXV|9i1lV>FT$Tb9HO)8ktY;sO}VVL(!kT{IlbfI@oAJR;3-xuT#q1V5$zESZ$ zzx`TgZt3B}--K~C1Gz~Sk!q%RMP-4&vi6xr>qY0>gQ)r-tyg)*cU;yLF8p1_fX%^W zK!!4$9pa;lx}J^RjpCb;IwuubS9wl|m@*m6-V;;fn2sT(@rs4xY2>RZzEyEY_GLoq ztGFS)idI2UL6+^J-%`pclg z&AiCv2h%j9TQ)gIg2-D=)vRgG8-5iJvo9GdKc-loi4P^_C*8B-WAwpJtxSXy8^izv zGJ&~76D)I&$wKArwEo=a`v2AWUse2nWO)C;_%E&I)>bnY{{@PFiU0B?{>zv6FJI!n ze2M?^CH~8o_%Dw5FLw{;vN%9V8fxS&0Z+tDvKJ4>!MtcGy5Bnmi*d)!Pagtfhl1(U z{nQ@@y-CdB_Lc7q@vQzqd-u=>T=Cz)7kfl#z?>P7IZXDKakXL$0QsiEj0_Bq!q>bE zc08Yrbs!QyzG=fbF%+k!grYbnRxlunr9+_K5p@U0`y0oOtUs8m&@ZP20fqdgyE1eenuC3<=PL6i>_jbFdc6X|=vqNWdwyz7nMe`dUSd}uXR`|{&F+E-^>2aSlE8!p* zCv=fb0U54U1f2Pk5qqFvqAY9~VZPe&L{Tx{wg>91E4h0`MgWgrh0{}DUiYvq7UpeG zz1{7c`loob8nCK*=IFFVP(hI9iEYClxziO$As(9ctIuT zCaz==5Zb9dH}DTviJqmv@t&n5Q0~RC0D&n}6mJXR`L-&<&~g+SF-~OO$R;+CAu~SN z?MxnWyOr`?L?E<}%7uWN5ByYts`hP|%mz~%PibH_*lgn&Yf_m6#R_r}-RrU+h{zg@m`M~U(>Hu|@apD~}93K_C-K87h8MGSsU!(GgLuukrnx8n7CJv?fsY7Yu zP+Ffjlok%9^{GSI#G!0{;!rkmD4W@c?-^$2J6c7|l!MXG8>;Y4FtR&T`Eyh+R4LOm zj6S7^+~AfSbRCA~Dv@?+5O<;}8B}$bv2n;<#$H@^nH1^;g<2Nc7ne!#vA9f%D8*%r z6=ZhZ!HM6QMjBO@BathHOi*!{AfiQ6L+!-_O5k+}wHj<~{>YSpn7RJa)jC z$|N3Cy&E(ZTa-`*&CKq|R-||XpF8e%e(wr3*X#75EP;NTjow*-@FE94QFH*)lq>|C zSNetkV6D5;bA|JdF@uA{tLQ}QG+0iuj)Sk1BbIh}bLe>*U84ha*-CdpGUM_Un!j2I zWZWg<{UD=$>JH^Dbz_#gCyQb{nMm9}BY6=&DLUY&d3YZ8B0T2g)X5})na{*5Y@(Sq zVKDd6vu0yk7S9TH$RNS>)VwS$HOD2eS4YAT7$d_1Mo1{DtZ@@pUdf*(-XDO z_EXt)oQDR!diHC6YsuT*WjqycScgV4NNz{HCBr(ZAUFV(eF}z%cX#BjBMx*rJ)1|_ z+@`Vj&zS_TS|XC-N;*(fF%%wwRxmXjzWXfvj0ar?AVE`Q5QFb6b?~JTUR&S&ng$^q zW!!QTw8Y{bh2*m@A8i$jO6veq*}?_lBn~X&g3YUI951d^T&tE#_I?{TGpdnZ?C$-& zOJRy&mUnKrxkSSTafPwxp0pHU&iQ%=EzCEYVs6zkZB``O>A@Ya|E_l1b{A@yh-nv6 zq1~{d((7FTaCwA`>)4OHow?^{TuDSHf!+D6Wjjl*_b~6){CZ5eKw4GSM{(zd+x0Nn{YEu$>gn#H-u@Hy%~GEa31vGmz&1VpZ%%VgF+ zcaO?xyXVN*me0->P9~$cC}G=O%>F*fwofHBGu{AT=UBJRHGUh!mj!w3OzS_ihWjBH zME!u>4FgWFtd!LorKHTveIZlmbfBhiDH$Vz)|RpDImj z&#?tvU_1Yw!wXP&&K=f+kmpifN4dJ{YT6i_p&84)!^R(^jaA5<%soLe023Q89>!PZ z^st8qhJF-Vc8-REI28A>vV!n_sCBLJ#f1(fVYi<4T?AXIP!Y2e(`JwxQtDKI@pIiD zuo8ecmm}|?F#^u~lUD*8p`>gerhTm!EQ$C^JKu7kQ|ZoGBmha8%}djXU@Q=+kytsl*mI*wW94c2hZ7tE3M;1$jn6!(Se-| zd<}~wKwgh^MTHLCmVW&PdJCPziPcs>de$jYB@nUxIDJO-%m>J1kMBUx0+7S1-b@IZ zWIYkPsw{8O*x&W@nq!-wP!8W{UK z-GuY@81~CFbrg@dZz}RsZX8591n_(DXmE??2!n}Z-RZ5ex>^wn7?-F^Z(?Uz;ivxPb06BsArCBglDqH~*Kv4O^-A9+8{gvXLg@;%^(DCtC~C+gXgCgD1^Qi5D)0kuX2W znKJO4Rq;7x@3+=ZfQG8Od)Ro&X2)Bv=vw31U@#l=IMU)q`%o_f7(mJqLI&RCVc>uu z_WaO$QaH~gx5ao8j^UISDu6Zz(<>0Kq2uqDLp8erWFJdn&^ZUw7DH_dCigu~a4wjz zJ3ZzUW@+WS6Ng%Jxq0gTr2$c;1HB znvXHa$H-pK?hxet$W)Z^wFpK;Wi*IFrlqMrsU0~FH zZvHAvEz5qyPqVMyZ&is z6_;6?SREVCA+Q*Bc?+9dv~vt_S*;l)`!}E+k2FM!VZ}j8MW6yR zFo)??Fv7Pt(O}>a(I4O~s;X)oZWGk5hoc@1DsP}v_0omX23w!45n~cSu+-56vq10$ zBYw(4v%E8uDvsG8@SHi)=ZrY5(r}LRlb28&>|r-Z&^t6J&yC(bS_zCavdvE#0_{_) z1c$!O*QDoM>t5TdRpjU}e{-!YxwD+E432UcDTdaybP*#*yO|U3QY5g-Wy})`E72kq zRGM3dOE%_KF%dx-@c(&JBhM_Z zZ1-nocP|R?_%1u+@gGJ39{p!gfaae=0aEf^$XWk~?*9LhQ~ba0ME+Cu0{>P%6D8{l#hRNLsUa|51^m-ePM2i=(7T$A-m$h}6!yX-2_~4>{G1}n@!Pt0 zmV|hRqhw&Tm8;{>N5#5A!a8(6C!JW!UiHz^$7Jebn^C40sSAzvOtoXxd%nZtF=Fmm zZB)IrAJ?kts;W13XcaX`&39~P0M#(Amicf;9=fmYt&ui(if+9kLGoHIOP2Vy?oR)&6OXWx?#KefNhiO-lk(DQv27r*qfpFuw5uwO(p@*x;2m zFKpOkJitXbqiB$@he<65%fqX~o}%daaCx=dO6dVUd^~R#w_I!1YJA$7nH#;CYa{zg z?iC(y@z!n8{%l%%w*U$LXHAeUg9Ob#9toN`BxrtKBp?rZait++H`=gcw68<`tofSL z415Y&EJ5Yw;!E=n!56aH9k-T2n*s!R3kb5scPkkb+2Rz=s#?>k_8zJ|mRe1-*5k(A zF{^ba%=-SjW@Q;f8i(OK^raf=guiV2co|ROSwHlypwJB_m3ha}7xY}KjjE{VuPe%F zI@J?EvpjOle#KnmLfYXxv1u}`X0}K(Q{=HkLv)?kMlix>cp9sCGe$g%G35-$hT!}+ z0vJ+psMTsLsP&UotHph_nhR?Ek6jB>u{`^JVXe1o=3JYFbA7yM(C^n$SM>Wbzy2^7 z-8vXxbhd;42j1lXc3kZ|e$Pe>fNPut2J=V47o>WDx*Q_MK)ekjB1LQldm&CjF`3lt z2Ru*c;z<%mFUvp|an0YU2uY@s#=qnl$~$RL3p7PlNpC1kSqa{k6nB0BG}sqc4R>iQ zLB$nE-n3Zqw^!jvWCWZoNfC;8^W3YrBY#6LPi08ziA}&lUcB|)eW-P_fbCXS`7L6h zl7D4bVmgPLjva|+9SWwBj82Ts{hwP7e;i4=Vmy{P zfO$LK3VA+dMnh=A)4TUdaS34(P=1%drT_zaHKb-C9m;0uI5X z`&Px|Uo6|1%kHpC}1G3B9wA&V=BW#N}{?WSU2wm z*3B%>Rmg7X5+ZbEnD0ePLqA)_N@;cjjwf{CH|RNL*u6!57HJ)xUSteG^F^_fWSABU znQTAtnUT+l9S(F{0&q6MICkpCdmpxZR%VV_IzDjRKW{a@fBb8KI?{B}xv9={;BPKs zm=?3;4v{%w>G|IA^j&AElBr(fb zOATk+rCw$PQtGt@YfQzQO1*q<0!y^KoQDjqT{Ra@J+!g{SRn-(#>8zY7a`y(aXJJg zf?hNw83_Otjxh9E?Db=ip6m0_ya+@hO8zcZnIo0JwP@XIUKV9)DO({>8)ZUks=d2X zIEqouVe!7$TR7~d!&;n1P%xjg7oxC5B5v`3w1?O8c~~XGHX>~mA-Tgg(?sH}MrH2q zy&D*tciRUGAfU!|_w53BQk6|o_0TxFHXA=>iB5%H=}m&<%2V;8=52!FU64i8&s=Vq zndb=7Qt%RcaZzu~RkM83aZiD3F9z|=qDxFVgEA6Vad{>5V9M|0}&0m}O#^n^( z6bQwpXh!BZBpKLlc&|?}t|cX8Z?5HENv`&m<5i1aZLaAMt@lBJ)^aFd`lVX@GM>Kp zK-3Cv0NVxi5qE2ujX=+u4I8JZ4H0r|M*29l1Jj>en_I(~j5NuUo}9im#h@#8b|ZBgPbd@7%{E4w&-E4(gv4D0ZH3IZha{ zMY${m7oCc-^@i?%LOj5c`=_jNBtQdV#*^E6$>z(o@?3m@HI}OQ%G52+U$$AL@xBjj z1~7dr_VA%|rt>1}8zQ?hIQdfzbZiGH20bH{sCSo#CEeTQrmx~$IOwj!v`5z40Dl!2 zb_;>3F5sgUuhz`kIhslkGRv_V*1AZ?(AY+j$COcfHXF{~mN%C~2MSyM0;u-m(b|-= z1+e3bxP_dDm(hrBLXo4)`PZ_kUx0rlw%}Z1L@aht)kj5Vq6q-ymu>6%DizcVHmdA& zr@@Mniv^*KrrIoP0npMF(`sE8lHWU+q&iSCRY191sI#;*hd6|iE1m;aD|a`)a#~vP z^p+zRUrzkbapLE^OX%!(dQW}f20nosuwviSjlntq>mnM2zTmfdVI@Vi$^fYhDHJ+c z@fDTg*ijO_bWt%p%(B@D%u+;`fi(%QF`A#x@ehF`xd2*{Tw&yVJRP&i3i4YKgWF6l zRpvl9N*GB#od{83rM%^kEP>&xFrbPG6*M804}0|%Lk5HLOvpp_^wfWGu#3?)%jMGB z2?me-w!iUhpKaM-J4~u`Ak3OIL*Y+T3~7)i%wQ(rWD-xxGEy3F2Js;4hZ}kvOn_mHJTnpJlL#QgOIZ=>%UbgGty% zMZ08svIizgbIGH4rbe+CwJ7A1HwU+LSUd}(a2TJ6P#^UzS^@Grc))=diXi!XXWmwm z@E~^|+sDNY16Y5_q$c>)N^D|E57BTufETJv?K!!9Q_bxqg_WbWjA|6%brLF*mcArwre7!;`cX0r#$%=oXyQc= zd%-9H(tx8>6=tJ^Z&NsnQ5y1eh8bGIOAH#0#HC6P&ZA4I+^B-oF!nKUw;x|z066I( z-g*6ir2idly+W9C8@T{}4BG-^ zt_cqUXkb03fekd`?%`&-RY-jv!1h-b+AE5plFaJA?E3qiE}r%Nn>V}16m&CB zlbiavNx&PnJzNGSq1+v(fK@j3;Ao$QFQMEU?uh3=(^+;V-S*-B%g#aDIqGJ?9Ouqv z5RJlMV$X-470!lKe}D=#!tfel_?^~6&EmuSmCCNjo#)mMFM`>?+&f5&NeMLZ`f-Sn z&fzB}zqpEeS8Dh;VVJ4R!nR|w+n~fEy{kATxY)DTF-7;IKK3&Sd-3H64iDNzIKogT z2;pdxD#*1#8+qWGXHbdfSA=1~MF%c@on5L{gzFiSDOp*)$=F4R<}DxZO4`&W($t)p zel&ZImLK35nlbc}F~BPHXJd?}ISJY9c@hp_uGb+PrF169p~yOT*Z9&o+B!pm6LDZF z2NSAOec=YnsoID*x(5cAm_|^uDKSGi&-q9r8yGo|HkZu@sR3?yE!29FX-UdmN&%>v zY1k;o?HH}vu*|oXtE(1GliVyp&Kh_c2Y+Q7gZbZ3Q=UOc zXh+MF8M^d54f{^iC%mjZj}RaE^;fWS)ZVSwRavotmsjtiaan63bRQ;_bM*r6eO(~m zk5S#-lNdF3gIm6WhyVp96vP?Ge1HN@66?zeGz&x0ubQmeml4Q{5a9T_K&y;j9_+sI z_fK{^hh6{l$bU%*4ZnsdaP;PW*~(WUXF>(t15^RuPi79t4vpA+brF0Lg4j*)P@f$`uZ11x=hCc79BQn+pL9 zCrL2Uy`dq`?sy`<&QmNlvhQt;ZD9dY9m#bo zNYy%mQI%a3l{-d$ zQc9DJX?fFo7WH_Ne{5$n)p<q^7l#gO64C`tYHiB7DFCpiM$y~ScXsCp220mV?B+<3r zAja^~NY_lNr)xA9*J$b*fY24KtmQ1)@I+~|b1x_9OOtICAppd(cV(NM6)0vNe$3e4 zSb&uK%=9|kr(EDnII`DtF2y0KMb{TKN{pmZFD^e8id18$Mh$KCQeFDNa9tT#H(Wo1jhYy#5FS?>G1+o91y*K|$BY7If-@oc#F=1axKoOZiiN~7f zLlhHsjk z_L$RR1EW7~b)6L~NzDAcj3FE#TJLrc>-FxPMyxhwA|ZrnxIO2sDk)0Lfn#RMvJ*kA z;M7M@#g1bEzqt?pZ$2DldP^aJ2I@y(V2=+fyOdQ`Cy&O`BFaoC2MG0=xH`P>uA9Aa z`+{g8Wt>Ef=i$-o>gynB8PmA0D*fjqyDq!a?N77mnk!8Zrp?ltKmOUJ;-vW-u~hTm^9mD`)#c(qIJy zmKaY6;llZUCV0Mz>Coc+(TDvf0Wo!Tz9XdcWy*Ztex&{Cl*W^CB&5N6_WUKq$>~b; zZMJ)Iupex*10*MSaQrb8>EU~Br_*)*=&LuBq}FH;yJx)dfCAawS$5sM0U3uJUCp$C z&$`O@ID!B`Kd$p1*Ap#wMs4kz%&bYy6hcf++N4e5jzgVo=LNd}t2RX%bhQ!4;s7rX z1*-S?J1wmzP9FI88VT$02jjjNY;9B&G4;?J@{MoTZeQY6j5q69d`|$FJj8z%t|TMN zkkG~Y5qmjtwY~@TNFt~+0Tm!^Ogj2qJmDM8&FI@m+|2BU2(=n`McyXi%k?jek=rAK!|oqN#GIbfac%mJm`ri4&>#=vkd8;f zI1wom&Iz{LjW8FAFUF1Xow~`b1TnQ{hd%TW+wC~}%r|g932okUb2Bc-J@=Zjr1#Uy zfE|=kKt}A0Ig&*ajV5!9D=`d@g*5=#iNY-L<7|c{bfM$*M%)-(y zc_L{OkTzxCwww|{@3Ne8rgLSyMC~?oVFYw!;uX2?*u(Zk6GX}xT<~WJ#euiP@XyTS zZ!6)BM%>6ik1~oV?P)foeq=~h(M^Jmlw*KKcQH34FX*vveVp0^wVZ2DM6GnSm|)Sd zxx&Ennd#Yxgg}&y$atbjqp>E9<_Uvpp5a(?4M$rR#QjjOrq9__flN@K?a3%;U$8$A!mZ3^)LT{S?UqAC1u>o1r04QhDHzjxfGe z`@(5+a+#qsFs@v$OFmmZ+Cc+{?R$oIHgfs}jtXSFwYwC$n_LJ2KhUlVE9afz;-QxX zx>Nx2i#mg$GaB8}wK#zI%E3EwcZ3CeqwDq0xoy%D5towf8;^}r>6zFab%$bxCDv&zj# z-|N#%C}RQ2)dr$~TE-x>rI*O#9FM|`a!D`JRX{>9D_RT+Nh2La>1v0yMy&$Wu6p>g z@yf8)%fikFTPS@2G7G2fx~!~t2MCauX$4#F0q{gie?S41*8p)UC$)F~1H zO-zTRO<-4s|b9obad9{ZfG2BvX7#08}wDuu;` z@PZ{ncM2$?M@R~~1}S|AsmWjUsf|feCSo~yY*Nvir!%ai!An`nr;Xy<7Ztk5+}uuE zQ#j_(=8J<W;p^d&+AqUo2Yt5i{e z?I(gEX8Sn1GR|3eVB|B4lXzVX_@0k^X~LUHjVH+p!YeSX z^%e8(&C9V*Yn~9eO<@o?&z@k0LbM_wcgZ?1k3l%dXgbkiIOAM6SZ6##(G1CnW{B*a zFv_(_qgPR zM-?|BQ0fhbU5#h07VwJbXTEiJ%rF#e8Gb7=R^o%n$MvBR2W;h2qeM#gwxc;jIr z6QF5l=>9Qt;Q(Ko$!#0xV6{&CYC;up;Yb6EUN**>JoC6gYO-`MO#SFkBLbV>c53Q_6DRsT4({0x9^A^`I=Gq6pPBe;>0BIt&qr*8|L%I{O*rFW zY~%@z_A=Qdh8zCo7m+JqEq;`TZnt3EXP&XtZsA`p8j9+zOh3GCN67G8cICM@bkCdk zHn0x?UR@ND#g|p_ev=Xw8!OtAj?;BUn5ZT$1$g6;3Ll=tqriK-Y3q(xp2M$gBcm%7 z@#ZQgh7iA<;n!lU1X~@nzSBKpwJ};sr9)SKQb~fe{=(ph21>`JmXLZbtA!R`ndOQe z^s!Em!{lK7`x3?AZxaA*&QsW$MR)_mbNU$C6EKfbuD7fyGMpSr;#0QnfTr}mDL6%o z_in;|q0E=6Nf^Lg>RR$BI&el$ePcMrGiQiNT`^P<-B94A2co%*>kFF@`rvRz!TH3o zo1rXv?aN&AYCSopFKXG(=q~_hK$pMe$PuM_BGR)g%q?{~K851#^=yE$cV@8G%ixJn ztUWpXRkd)GU6ms%C?*L}dCMrSJU2?^LaM051QLhwxMTF}bHLAQZ`h%@(}q9r@Q!&f zCWvIFrGeIw1S38SMTkG@1J+5;iuj^gJwyx0y|gPe$Vh(b8~5R)>$y!5()7$e%JbsVYG~K3gj2$*flSyhG?A2SckkE=8YNf2Gc&@eJ({Z@wJ)cthDGkS ztZvzoGZHe`&?ce7oKAIe#mT@xOXY2Y@oL*(#DMR#OmG?rGBsBxR$3>bQCf;^f|2MU zzM5jNDND-aF1@BTu_gmm5jzsCDEfQL_wXDyf~cJBmLZLGfz*i9%-=$vH8W#qMY|UK z2ErX`)Y2Q(1B}YnlKFxJpPB@+i1DlgTW4wn*bv~KE=GoZZ3pQ9$1~sd%}|uH-zzGi-hlo-Zh+`g!6Ei;<4)E34yoQ z0u8<$!M_EMLx&NMjcP)hsV5sBY&i@|?i7|KlV4-?_AOL)|GGVfFoMRI+(M|IqM9dU%D61i2xL8^Tsl7#d+MPBH4z?F-ru z4aTjm+vY3;+bpER?ps+ge(jG(7eH(=W|Kp*4|ZR@afWTzcl->?PL0aZ?lF^HGA!&3 zKA4nOGFUG&h~UrDgUtnBtR4L!i*QNOtQiD;gm0F@G|D7tP7c9{C1ODq!W=))4jvT^ z%FOF%r~)OLW+GjM(i!^Snk-ewJ}jPiavzpuMXb(~>7zW2akR_W+_DmXUn?t15wx9+ z|7@e{jz(QaW_eL#E2KHqi|nsFbh?Ksi(bp&F^bS%d{xB=n+XaRQzjH|em$pY!Bd*2 zosbF27UR>Vfc4^hMZp}+ODXh6&%qE)95l)8^~NK+)fI_$Q$V1d(zwhu-iIg^CQnWV zK@+%?0*u5H-AtJXDFR3XfsJC64zwxHhm;cd)a_q+mr_{}KWR<68pB zKWRsD0cOi-*V?ded{*evCIKOC^t9V8;63Mh+!t7)n8tO?v2dk%7f#F}d^MFU8R$|$ zvP57_yO!vUyYR;LM-SZR-^qO@@SO9pmI(~yH}Q=#)A__c0x})m(UM?mBoiYJIOw_+ zFra)hL9yAoUGExRrEp`DyOFxGnBV5K>Snw;jT30lg*ZTcGFXy6G(N_+w|gX1!+AW3 zflP*e>g&09_`pmiVps9N$p6C_`6-L&JAhrC*;mo}zN={c8&=W!&Z}r8O+<_i*RtiX zUtIDc22vYuP>|2?i0*{hrgV1WJ`q4JQ90_LbU*DI#27@||H0ghV8H)3@-z=j%s-Eb znL0u%afC_rbYVQ5E%?rTPn23`IqxRW(C z!cK26x{Vr$hj~7}`ll#aK>U5f+6>}~Vt5d1b2>{$<1n`{rw}%6oFgxz1_3Jq(_nfw zc`Wq{Z#XJs#K}5CpVpRSq2hfqi;>i8NYl3*xxR=D$sJ9!28-xG9|;}+->f{R5v)At zYRjQ#J=cd;&dC%L`asBYRuFx5rC@frMgw4wIdTde@aXAIv-2kdwKn1y-(*vYXZdjK z(1C8>(($t~d2)RtW=EyVG$OJLngB;7%zls&YytN`|KrZnKZ;L7_srM^Z1RbNWbi}~ zbKa9p!gMWwsV%uuQVjE62}v6`_07%AbPE!btnWC9x7b3DI|YPle|b3xtCF?0lR0e~ z_Ik>&0c8F7!2hP<&W}ab{bEsMa_DkeFd`3OK?_DE3f$P{$q8E?lum4-U((W<1hc^I z72z$M#bt@7m8Ze^mUw8-aeMC}UK#*}6?owHmoF^YR&)usgWaGc8~ z9S_ZOsfSi(94Yqkg6RPKZw3$2qi0SC?_qru1T_&WRr|45DbATqwy)de^kcrd1;srn zf~-&S*lZ>Q5t^y>+1s8JQ83x>mr2GFaa$e*KSSa{ENIUj;i;6SpMjN?=7O>VUb$jU zyVt_De;ND4!cx<7G&N)(g*8t*>zyNz;kH7mJ4bM}f_chhT??mE3v+8WH| zRn<%^6QJu<((#QHBPEtuKp%=9C(#u>2_gnZaXx1O9Da}hF#uuqD!1}n1W;jUX>oT| z;Rr*mDsdbZD63b?=^ie0U27W@fA9>%JWP`5gw@FNlet*P#>UwMYFyla?W|5h;m7_02sVI~DfNI@6rcK3g1o~}NX@P-U5q+<#cS8SQGa$@DM zTG+rA$=E?Zh1vSSt&!dfssLdcW1nu*fv}q8kYp3!)RQYRb4h|}@uQ&qq0*(4(xt@G zrj=40UL=-ZPbzI&=ghd_`6fvw+o1hH7l6vw%(P zIgItCVje|9tkuVZf#=iR4aPdd;A&k*2Ek*Id#y;8PyQXJw^r1rS5BOtb*K4h3zxQT zNzky;p)qAY0<*)Q_@BFh!YmeN*{SQ%5f{@(e8_R_ZT~XRhtUv`k?G^B!O**MJ5skm zrS3HNa&an}mcARBPMM|_^6|pHE25Uy*GuL9^As+;BIWcYd5etlg+0J9z6NkT01xt2 z32R>F-zn;(o#nVG&bC$VHh}fwy$ygMc64dq<|z{eDCZZI1>02O+CVELyR@$+*HXX9FAA8nZ5S|rgI9fdM)58#_gKC!O_je0^{|x}0 zbvNF(D2JLyikyCZ;SjbdF%8RpK|LjKh;aIn117o8qb<8HT;Gk+wcB>+YR*F(CTc*} z^~3Wq$~&0%1n`-2U!@hnurvj1<1JccT#LB5qGlc+&|sYC{s;yevW~@;SQ+AV+_PI5 zAwX5sFhxeT#yJ+k{bMUMvgiP02;a2sBYpE|lF&5N`Qqd&K<21XLB zfF>geSpWBqJp^gBib~WI7YlTZw{EvJ=8Z(T6l+g`++V^0z#Pjp29a*v0^^OLgjzPT zXLv_~*2J)Z7lV|IU5p|NeEF4wJn1#a*_#rL~o)O$Ic!tt6;Bf7ysk2{a@rd~RQLLsmgK{W$o#E$U@ z0D`hT?NNbtIeBTi)E>x>_zNIPcc?;BF$~OD>FSv&#nkA&pgFEqzA0`lTT z%*)+P6B-KU7*{d|iG~Ob0`&!b&Bd+?zBsZt4wpE{{n&OKN*pgBiIzH;{gZ0-_iD5H zThL7Gc=b;tPjbFl7q}?IDFxWgSv-yy2(sp31C2(Ky9s zk&~W=hLRqGc!qf-1pJV=x*m0@pRu`+vpu_WKgNsh3_Eql!K2`V>v^)xmFu-~LD`&G*=cr$R?Bc~J4h+^<^=wMu|=u2^}lEzOYB~*xB zHLSs(ICDh&$oQv1F3d?5tuCZxN4M_Q+e9OsFG(kK{}etgR|7 ziz%V?>*BQ3wK!K_?Pam zM=8KPlD$Bh$Q!UbjovN%@%^5ynQr^2w~~T_l<+R#3~@L}9Lb{Nq1V3fDWV*a7yPgt zu0?LWD7#>)tJcsvclv1g*~dF5TA!}^4;>Gv8i-Fu<=n|c9O@X6X1BK>VG%Kp)*weq zFiG5)kZvU`KL`a;QC-?q`y>_n&cGfbLy{IrJcZ-iD5B<(qTBVygOpfGiFKE;>MYem zl}x-Y2v2DRo<-&i^P7Q>Ls1EDqVh5%60#P9E_xYxAlr&vP%xxgYZo3Q_#d^LbGP4D zmz=>Ukh>2JLhdVhYfC(Pn3{-oYh`2&b$NkJ8i6)$!sv9p8?{>u+0%uGK{rZM z$3Da0C7y`F0USr3XY|JHi)|3LST8dK9+}Sb!dyd*uXTK=R%wo*;^qjrcQhQgeZ%Mb z%no^cqq}9lu%n{$njdzhPgAT7KD^|(X28)In^Ks6pT2f#0g_`cbYgAY<4RJ(zwvLrtf z^T#Z@dcX3V8{*hrU$qcwi{dn&uMZiKObWTo_z3Pu^lj?XNp6t`H8T2`-WETzY#W<2 zh=~cqTm&g@F+NBISNY7BGV`BCM!v)tCps5RxEN@|jIVhr9#UO!T^ORaVjFi!()KUI7v1;ng1WJ;Q2%)zrEhzW; zSZ(!YT1{5pr`PBAX;5YrcpS>oCkGH?|LEk`#JY}i8LtQr)B4h#QW7hww`n*;mzGUw zRgiSQo=TU55kt78q^VD7hZ68;>rYzC#I>h4k(o%8V}>%0aQr;E5?)lnXh?_6?pcC4 zX}1zKR%+P<*s9y!%HH07?V#FhRO^jw-|pchi9LkBXd0H27ps37{3Zifj;^j91z|S%FjkdubVeg zs`h&J0IT8ONR`y?x-eoJIlK&i3fEfqY%9ek_*OivKaKXYi=FwpK3vr)aLNLviC@ z1xTJuQT_dw{9x)rwa$2Rg6dyR7-1EQn=4k)w2VWyeQCV5M;Feu@AVgrCHUVsaXKz4 zS6XArzJXUsW1q6&`QCWg<`|hRw~u*&&b(pI7f#pSkp9A9i>;8UpNJ)tr&xIdXV`N` z=eeNP0yNgXnSG%YMftn+jAmn!p~+QGBmQ06=Q099Vj^_BLx-mjv|YY zPM0Q*jlfUe<2&*Z8f|u=Ju&D|=IY8Z^05fv(l)1oq@TAgn4jb4wTY zE#WCK@=!DE4FNYWbkxx6c_Z>qfjN(SIV|WI!?22r5p?wT&PLa`t^!%mYO#%|0##ka zp&=qkpV7tl#kjD!#;aQ0s2}Y&-d0Yk27Ep~IeJsutL_;u-owkPQ8{hAIyy1_``=0( zUO#XS>bnP(+Ux2bfxdPK{TkIb)x(BSe^miSQk&F^DhvqIKyi~W zslD1sb+>^-7oWI|U4RIT1$fc=ado$bAFA)FF!svH`#eCv*gZO|SARQ&Lh#bqtGuqf ztk#We7y{T<6bJzB-P4omYaAa;yMFqj-l#QB8&%`w(a|14*Qi%d-qd!h^=;$e2;seN zoC2eYjqOz$73v;Z0pLIhoYZN(MqsKPHmWBlr^k)j(P7Sbb@UdX03)qH?LC6$(IL*6 zv7mZ%@*bN;co4+%#@km_cz%K)gy}U-DhQZ*fK0O7@7H-N+0X zwf1ZzJZ`}rZ96_Yrl@vV!Z3`i`SZ`k9JP2d?$hnqS)}D_2Q8mFux&d`2mDKS5N)mg zYweg@Gr6@I+8?9U&~Vmfpv$O($W5Y^Tqq-UUk26 zdeGqZN@AoOY!8D@-;$Zab)NH-fuyTr}mR8lV=WH^Ogl%Q8p zI}jc-o)xm0f*g>ECeR*gLePfA8471{G~voFNm+bixALw7uV(}-D+XH0b=kRLC5RY- z%Z~vwB?iV@3)|%^;dzNx;7dOn71(GU40UzpqQ?kXfs=2Dgp{`4##vv~!b4Zfc*dC^ zJ%fC^N!*Dv63Ru&*eP0i;f|o^F5TGz5-#yekzi`#?G3M;Xy#}jjQr@~s(>&I*bi1) zyNlvV)tk}K=6IuHpCY3IzVL;RnjBOI@XKuymD-Fy!!EU9#fn_D^PvY#B7XvN5P{|> zQ>4>%+8mN~VG~4TalPgF$)79yQ@@Gn5)D-XC>HkU_I6 znkO(UPif%((*QmrDV{vV-<_x8c3-S-=nM`(0xz@NQl2Vza;T_G09mLIS;q@rCbuYg zB0Q{uQ-cl-S9?e;1gj$H0}%A4*LUK_Q?N3V4$K6!CL-YY@fJfQVo4N}5Ec_~MiQMk zRwwVWewYlcj8F*c+bFc#NYSv4fDlCgC_8wpb1O2mIh;uK4~J+#j(1F|!^6Gmi_@2+O2n_tx3$BP1>gGZ?ik48&pSczw2y2y@2_Q&k?s?%Nqm}sCzx7v9rNs>hC1$K^EQNhL zqj2Z={MvRSPse>AN1gDqzBB5yv_WcZfFNOaBkhhlt`~cREKlSani1nO?I8m>T+kT~ z`(C)5gbmQlF2W=kXz6dzA$(vb7Z3pv(_g8!wE}{(3)kxPR$QTarQ(2G$oau3Y8BS# zT)|K47#)q0HD=mf^xn!C6hhGF6QXCghn`B!hJin$ECrgh!RAgDRKTPbGp(i08-fefj_lk~lo*SY2J&TTv#+%qXu49E^( zJQ|?8E5_Dd!K^1Mnz9W}6Y>aJ#OCVWaCpn!rq>P+VdX8XBA$lmorZe~gbmNA8Ruhw znu-kv1C{b4dXZBQmYQ+l4TR1?L9eW$m9&PAeaXeqth}&@TT<=>ptmopXz@^9Yu1lW zPj;(HKuvgO6a)O04eZz9wJNIB4!=mKN`@9k`}_53qxk}eZBRG*CSKV)JA>9os*3n- zI9F&d&#$87;^!}7hv~_^T_76Wk+A;rxAj-BoT=~7lCs@Gi$>SKa5|xPJEBG?dL#85URpDv8Vc#u3^ zxi%^=fmKJxMm?xed@Xo002K#FNE8{2<%@XA7=PH#8?mPyf5ZwJ*sH!w#^m<$#?-}^ zmn0GkQ^Fd+s3>Yr>U)?e7og-RxBz*hPrFtI2||Zp%Bqrx=okQpLjbV%ojjd74xR*f z%89##g>d!)iZDh%(E<)O(OQ?HbdcXppMA6!1}o3)E8FeDYiNSzRMb7}sYKto8F7KE z(pZW>_IeHU<;N;A&Q84jV!TCqgudnrDdB2x9gQ`N%g-Q{vyiQz)RZ_d1b<{?YBXFa zREFlu;MPt-!VNy|I3nb^$9ijgOrVF+LQ{eoWe0gfQ5mKiIoT>NBJhrQ!G{C5z}T#q zvC&s9R+2}>#&2|XJ9G!)bgnHt*4AB;L0(@Oa4&g(q zqpgcTFPO>B&hO0^r~6G1WsXh+wqcM>x~;(JqrL*$$RkM+4-mCG4qaZ+o-c3)Hsc8C z88j>>3wVQKz_`cygf2z5=fVU%#_^yq`lu-yfDUlFYMTAQ7m;(ssjOQYE-|}*l4NwkdSsWCdU%`;NR^zK~RrfQ(Qf zoQummEMiI0skgY)a<1}`%z_BK6whcyG|$OMe}HiyoU0tkCL5S6o}d^b#`GyEw90}W zddGOAMP5c^IUm}iu{-j{B6$qgV!ew9$V14%j zL{0(&Hx!;RtZht;jZ!ue*yJeUL4t&+d*6%1hi9-#MIP|-a$K~Ik4Z?_>0|OSS0HQv zdlVgCL^#J-iG*3AEPY{2&EqEq zhl~l9rx>Qr6>9dHthEF-VPLz%4;J~LuTUsNj6TM89xylxKo??hpkQQU!;=U)z>_Gz z+4E(`h(oFPwrS41pJj9S!!)d7wGJIH2& zRx&d7m1rNW9p&`g<)uO_vkfU8R30IC?sAVh*8Uk8svSBhU_8q;6 z&};owgmCMxq7+jpu^P z6?D4Y^?ZkEs7}RI4Rd-8qUK*846y#a{-0>;j@syNGX9!s|5aRnR+jc(X0f!sM*g4W z2mjB%)Bej^fnU$U_Fq2_=~%6YD>FupfJ{AA7JLd$1pSupj&9 z+K){&-U8FG#6h$iyTWgiSEk z`UaaUAvlu$iC~4gBH^XP${A@Yb4Yt{!9tEfd2b0_m2>rhUw_=zUJAk-T^fz93Zp9! z<=g5SiJy%5k*c$f3&B+=M?_HQv0Ns64BrX70X^Kk~^>_(6r&$xc$4Dl>GaXycMkthA^+j<45qH*op zdlVRSaUoU=!122BYZcqbS~3s02=@u~>*&rr9%N(nV9ughs3GmW7GenNIB`sqI=NMJ z{&q*KxuS@|v=e|h43W{{(8;*9P{EZ=RDbZYXgC3&CVfXQq-oQ4T5!h}bdFjFu?<%j zgSEprw$xzW5c>eH1!TsC7?MrHu?XI{0p5H~R!l4|h*Uh8#{log9ZEmVD490`e3w^3 zQDmjfJiq_XaM1oX32?IfxAx4mN|E?K>sIl>|L5ST(IEB3w2GP}9ea736eH8-*&dXKJmo}%_pPE_Yke-`&D$xY)%Lz&1I zl^DGakDABtf$SbOtM6*{MqLTrN>V{cz^TLl!ALnEGBn39HnWU@4+aAdGbifird*?U zi+{-iBPfoAwHGv^xE0=lK_^Vs;l8HW&b4D5~^9j67ryoOyT%l$)t zAVL(1@SmB{QdK^}8fk+=mn?5UNzGc+FAoeqkp&K~7+OJze(_B<0bEq(tdphAs105a zXhncp%47msB#KqvoE+~qUsWr6)syUN=*m6^&aCI3=Z#CZ+s%aw9O7N~i8JWlhRTRS zaGF$4Dvj!dc2tqHmNeHWJOhL|#)U^0(8cZ8dto6G6bNaG#6WgiS?(SV$J5=09A9q9 zfW4TaCc^P7(eLIEhlz_ZXsbW#v;u5E|n#%yz zrW~D6yd@LzOe42|XG~Y4d0~UrMBYy>u(%+~YbU@HBKl}?!zH;gX~zVW2^Quh94kOY zI3snONT_GKnjKVP-9+l4Ki<{tp%{Q-*xPZs$Ph#8FtV~=Tu7um3(52*VHIU`!)yvX zX>G)ISMQTZiBrhj&SxfApD( zIX8etrpj`vTOx_WwClm)iKWD92Y#27?HhHjsGLCki+$Vm><$JM6&e{ERSifz5{%7x z!Q3|SO00VR9y=;>Silj`cSPtx=L){171S3++nxapdBQZ~36qH@0s(LW+-j^tVyZ&? zi`>|Ha#<)Zs4%4!tmq*{k>IQI!pC@T<1SHe#03-t8-^G*)nzu!7*pH&oSR9kR`|HV^4m&g-ROM_EVo2 z^k1C6gz%CMsKfV_M`>I#ctBp@=U9$Yf%#YOZ=#SD27 z&<^x7CbF)+p`8YYUK1fqxvf_VD0&DIl1VhE&c^ptG0hS&jw-?nKq5nk<|#}I0I&Mk zVgDL7B9xpBwiWQBljsu~V$MOF(iu6qU8az)qhG~^-?tF0P{;H|W$ec8nFkv8d-l-3 zu)86aNMrJZfofA10sX=gvq}kegO(AB}dBdXQR_C;VZ0 z4_q#}2RVO&QcRhXIAc+G7G+MXepp|!h>y2sZu{ZHYJ zQk1}Y6UfW63E-?8R$?RC8K$6ycMjT#h2cg*hnqaIcr)NFb?xx9I(ZdQI?BxS97vz!J!FK6#M|GI88^f>RZLaKguC*Bk+QpNh7*OrnX$Gk}T}LYJU^^cA#gDGtHU*_6C6ABc zmq>*&bkIf>4WlqF-Eat)(PbNTnhWMZ8WP8MPcxc%3RZjy!`KwqPSYR3DaLca_3=`N zACe{!<)qT;dT0*@cn$*TG<2oqyiRx0816VSXJM1&F?nuDzYvPr`3F9R8sM7y%L?!V3~G-$I<5q|!EY4MEhn zV77KfSn;leeh!LY%|#J#dU2{iPxVqT_=HmU^q%NPTp?3MMacKjM$V>hL5o}9b7Bev z+yEDB7l>vP95k6}3`JlkyC*2$zHr)?oVZbfQI=!Ut3>l}QDbSgRs(zNv)=?-385DR z>}a5?V~o@+93Kn}8A<+DEt^Lt{W29728UArn*z0e7~^8AX~ZTd{|T1-Y-ARNU( zq{`vc;f(Tkn(R$@Jj;Yfy+O<>tuR#<@Igk!6yjDvSW&2!DWR-@ zBjcv|Z{KUW)5x*%F30OoNzoEOR=a8o6#*Ya9$30 zrLqZ7v6)AVr9kqE(%O3Y*~Vu0QznT1oxEluCcQ!3^gZkVFaeDb;r|}FybFV} z89{;-G+3nf9O`i}@aOI&qoUR)K&%V0kkjNe*dO+*8xtWFQc47*J%R>Ipa7&WR|*Op?Qo9(t&>KFRFMQV8uXd8IFuHK zSd=nr2w~2irS}0Pi?h!Q0ab%Y?ZXX*eRIo7Cvrp$8-89f@H*G_tJ?9CI`Xo|-8&T|H=Jl?qTF zLNH0%{6&}~jb(--9ebnZ{c|yjAa@501_t4t-LkF^$s~t=VnYsmzzS{tIJ)-uhKkMv z%6O<#Kro?-Ix~0yZGf1X(MQEJs0$;yc^@)fzX_&$~B>-{4d8me_7p98=KFSh@P*W69@7{3w=rz(whL)Oc_&|H2 ze~rOQf2k;R^!Q63Aq`P)W70w@ObH!(b6`xU-ZYd6u`AJo7Qmt-_Uzce+Um$$smfTW zSoC&TwG!e7$i6aA$VA~2V~lg$Mkz6DoX%|Pn--|-b_!UMIBz6GxOH_Pr~`V}?#szP z?f@UEDl#!b#y!NsQ6zs%92Ah)pfO%iNhAe2L%Ue`aVJA#!J+6(eM&I-3F0pu_mOv& ze2JR#Sb7?KNP?}5aEVg;LG@*2_kETQzyA-zuBnP8@sSX^*r8hJp|SN-x2@61!U#o zTVwxEkN;?z<@$ZQL_${#?AL2ef#C@DS?&I1++{cHwj}LJle|X$S zf#a`X^A=01W^olszOe!ikdDF*YTX)pHtt^I0GNaR7Z8v-^u7E4ZhE%cW%u`jH#~nX z+QOeor^ESk-M$E&4I6Y|p9`;Z&v1K46vRcJ)Axb!T)CrL*!!{xeA9DmGEm0w4y4HR z^hn^IH!z$t*uub?+y;|b{bvP|48_D0vITtu{<(741T1U5h7W0xF;P^xTbxNO3xK18 z>N|#(jDhC#5M-&n5MZ>Bmy?n%B!>?L8QB|*661vaETT|`LR^x@m|E0K>)PI!B0FHt zH6QPDhG?Q8V$}F5nqAbCZfW2SwAU2uZrp3q(>#5|+q)}=KXdEbF^77Q!2$kYlHOP@ z-Dx&_z+c6E=up)$7!9GQ+d)gStoA5}hG@th(Hs1|O#V6H#MbQ#zO9w{%*lbaPoWOm zS6LiD7RxQ=o?!pNX03gZ)8Z-iRo*v(FIrmm10P2TT}A!#2;5BC;4HB}d%{T}yY_5nrMvQ^_D1Mk;V8XR8?V^~K506rVDgx~Aa6ji zWu?&L+ZmbrfRlT6vQHSpFaZJ0Ti91PUH#3r^2Q~DMD+rDpcJYiouu&>embt6)L}Do zu1hjM6y}+^FuJ)~yO_T~Z&%*r1TGp#xUyOY9IW064!|Nb!EskT00^fOXj8bBBk_IgN zNz~#-FPMDeAE2C z!5@`+L}r(1$1PZvD0NE0hTdL`Wl|9dQ}8b(Oj*!UpcHS+B3^}vmqFT-g#c%F@P2Wd zpD-dy$4P}aMwsr2^~_?ZN-mfw2zO^Bob)quUeUX+mloDpME zmYacXw_iJ`qFTQj((0>}*s?-AvX7Pm2MHruhO_0l#!aMTqgjy46|I5eRkb1roC_}T zxj#1Sz@$Z@Io;AjPJpf9lj0I3X4;wm=n~5VB24qRb_|j%pJiAYTGN2~lVBm{Oj{ml zgZE!BKkO%yf;q9%!dll72aT=}ZzLa}xD0$O02ygC7WL_Im#8FXn_77;asw%gg9E@k z@f>Xp6x^}J;txxmJ461TPT&8I`G3r3R`J<7=6_u?&9!H1YemfeV?HZC=zkyb|2*h{ zAM*b^=z$;fzz=%h@0TX_5759abBFyNzb;upF9M&{a9!fULRqB3kFiW*>?#JF=BYIe6gtq>MoLdO`-D zdraFKE5KUjgco>@I{lQiNo*dKFs^8Bp}Qpz688&im{za-Ud`G$L%KJ^$5kmW+8>Ij zCe#(%2+M@zF8KJ|16bK0`g9Xt!@3Hmu8?k?hgBI;S3fiZ*lHtb53y#^t#~tV(FWSr{G#WBqN3gJ(P1CpmSn$IZw!?4} zFoPFtlP+~X9I+6i&!Jid2Ut74DmN?ev&DkA!MM`NhKMC4R3V~L+1oqG8Bd-hmLt-0 z*f=^4mB6Q55!yMZ9_E5TK|qdBGdwhwYHb0WU&2D65nr$N( zz3x~Av3}|kb9iNU0X;gN!(T6)E;|gev_9&BTu;{(I_P7PKfzS90S!g)YmrwRX(W)& zHv1!QfC>p3bl!NPrbo(e3`rn%9DK|L$)sDHEIPF0k9}O%RxXk&I-v~42`7~XQPi9? z>{J>LsbKpWUjMZwExxuWYE6=tB0 zqKE?o65a-bR7!6%GS0=skt}6}Iy$Fd6&{AB)r{`^n(EU!mqUSS5DI%T&-m@*VosDp4Y#0Zt>nf zL#nqVVz0aLO!BSg4%s9-KvnW~R#wVfMw%*5pH6w!`ILD+t}{COmf4Uqkmw0XqC7)V zP9K=Of9Vc_>>rbW!E`$e4|6t9Ad1FZh~>U_`{bQl@cApIW%BynZ1LvV8EfOl-Q2bT zTS$dbr%f{fp2*pNM4kmQc<)#NdvnZ7hrwu=3XX(rr1EL0T^I3&W*Bf`_(Wyp z6DrFAL`;Ars?b@x!G<&FR1|9|C8to}D=j?QwI@(5_sxqLR!)v9w>k-YA%xR>AGB;JOx2 zWXvSg1C|Y|u|Hwvtl$*zU&hE33;bXBBQ#9^WkdzL!2hLIC_;PqpF1eaF~sjoDCTdU zCXV_;jfdjl;=DhLklR#N6@|lmvVuI-Fj;Pyse_U-=;7ky%C~`{j{q8}f zUMKc3DDy~gn6}?`T@*r*twA@p&mzFVmoEk9#zs%%0?4q+-EF8gZv;s(6p+pNg|dW@ z+>rFUs&X5Q=#UhO5?Qe+@LY8(=jATMOQ=k{|^w5{>ZSSJ_@) zx_EpbcX-*<;f~M`=~`40XNqo1D_zhuI;y*`NsOZC@;j@mlGReXmBZcYL15a4vLHyK zB51cT!rUyvf4S79VC@{;zGYHCyb#mmnK32Q%!)0oYf=1hrw~zZg+~zYN0YnL+J-~v z+8HvaWe>`}Y+?r!6=Cx$LSVQ`?@;_Gd4op)q(EE0iOd07*`VSBXGRBUc-3Cm9RtT; zsHBBr`@Af};(`6lIF@nb$ww-;IDa>^nbty!0HqD~K$T+Chz1IaYp4U?3zc0$MmKyp^G zqhG{YAovO3F)zSvgl3HA`vk1UCW4OC{G$K}L4dGXKZnu=op55O4Bbi^I%Pc^9DuFFeA_%E-xp^t{BliVoe;~=}5rEVhJsUkD_>vFQP z27m8FBj80fFe(_lS^-LGqO?LGO%F!`D9T`lhu*cpciHI1WRvDcBn-ugahynm2AZxD zkR`bh#*KR~Psp}Way?i`GCnGzhB82<7BUgrYs!}(Rj*q}lC@%&y*e=sVprOr?%SQvkdYR0_|#yS^`C}CJgw#rV_=nw!M|WEQk}QNuiR!idOQ-zxaN z*gPVN4Hdb!@q}kO!^i+s_?BzqOSNWqfRuTskzvqtIV?+y1y)Bfj^Z-{)(>6BkKtqJ zR*HuZRS~iJ__x#Q$$OAun)PbsWcQWevC%#-UG&qhDUy0Df5#s6qw6ku$O#I39`qBv z2Sh1W1J5)#WWWcgMA42{#efTS@*g*6XYjB1$4xQv&$jVjMwK&7{ueFhoZ&y_-nS>s zNMDQ4w8}HiOEJY0FF*nu6GM;bUD6hQ)&YbBeZDIp>nD=dRk{V9X!trMEe}*!;7`6h z)9zF_kF&f~X?H!CzJ4UhaM+R$QO=)&(V!ZFixJF4hkJvK+2lMrJxkGcC8>WH56gkET#(h+7(E0i={aBA_u_EbwQL z1cF?QBp@`Itqs&czHEYDql{~BHkEHvf1Q(YZq4tTOCZdN4HK}&_5BS1N8Mm-xtO@%EBcX!0 zAdl5C%W0MHLQxe57{G^YV9v2@%6b&J7{{!Z70RnjoBF#TmbOrD5l5I-Ukc{<;JE>) zK$=*74d1qzixG5I)~4j5nsQN|%ZuZ5WhJ_)*h@O}khACn9>#LR2yr=$ECl70 zXO$EH1VDuR9yle3O;^+|)}4i8{@9uWlI)(`lMLUnhwTggB4eukX=ISd7VHRx&Hy`( ze@blTQ8d2hgTk$O3b&($EBFhJV9P3$N`1@}#c0vXusi?^~safOdxSIPIkl!HiUz6hc$~3=BbJJ~7u-M9Tkyt9#8bxfwXx@(g zxF^V%(z}+|K9Uvb^h06zVdGyn;Vel8HGkz(TC zz*I^Zl_tADafq`OkWghZ;jJ0rgJY#zbCqsKOD`@&j{|)Lht!^=)bNgxE?pku zUc`=u&6b2r$g$(S#`Y}DSX0_DXKY6>>H&+M-lR3h&}MD3G-I2kDbrn>v7I=9pLL|` zGxyNCV-Mw-duZRWhi4z>F*`$KEHH1KV2c_qCK&I8bWqu>7BzS&N2Q4&%hA07){vrn zv1OJm(`x6U9hkF?!<=gzX6iWF8|5{0%Z`o1`dE;Hha3rC2sbEXZnSu5zT#{16<<#) zj^2FtnWQVGJJ57l!@w6ee?$u~bP*RI;)XYEM)2g%yk}9ck+r zp!s(4m9f5{e=nJta*sTVC^U=cV3@F>fxZKW>Qt@ z+`welEJo?vOt#0lMYY_#t>(a#MEA7O@HSo1c-FPg{qK8*PBZJe+ru*v z7*BSXaOvd11DckPNqT61uYC(H&54WlXoPwTu3O@|(yVJ}>Q-HV0Y4P8EU^p?g!wfl z1jZDC03o+aFeHx!Hp0`-REDbLNu(*$1Z0FR-a1dAd0IYwO>JMSp>g31#X?Qx2c`G9 zXu3v8*Dwd$wKu#B5GdMO(nk1Rpq>DZ>GLBOmF<7R9-Y%kc}AxE>jdT@8xM*T zjkqX49Pi4S*B4G7=Fb6t=W3mO*f2R8u(@@N71w2=6Po+SKe#0UrWyl zDlyKO0YuU$*nnUS&g1n0|CxV08sdnK|4IC-DHzl|f3;@kXJ^&?B(S*HDF8}*vvzcT z*F=Vw7&%MV6`3=#v}TB>O+W%uT4PT{T1 zltwJQ5o<~#)_3F3&AYJZTg(`jzL7`&7QSj-Fy)gNt0{+l0+E^RuorF%#CX_eBXm*l zJ*BC^0IlSxAhI;u63rBUGS>nLyZ`%;68_b37FjkusP0-^A`JuAWaz_-a8gLrc{}w|V zgHQp23Qol98@0VWXBonLTRi#W(z*6D7$o}f8$-0Z42{r2C^%4+mJM6;l8Tb6U%C02giT4 z!VV8~iQ&4kW7hh(iM$@nc?EU)%v6YDUE6_HQEtII9OvoQRqn?W9ZB&n>bLlKr7xv2 zo^jL7qN3%Zhv_84DEH$m=PBacoX1|ohJH2^`UDGlEvC#PW71|x=|JCaiH_ePBAalk zB@kil;EXjl*NK_d_FM{uDP8xyX5as=)(LrxYax2OXM^mSs5#yB=>td(Ss2ijP+`F? zE*ZO|EJjKz)s2*_K^;RpRaB@D9O=RhZ!zHsXNmVC9D3YHJJhj$o`kI9zyFQQ4EXg! zE^D^txgwd5Lg%*c|86AQUdsK*6diP^XjHu%nCcCgEZ^1SZj!mA2VpB%roWNu0FGyM({I2V9@Vkh65VAyksaYaoexUKlcX%*Q>1Ui%mCWEHw{Mh8VV0D;|KW<+P zx^~-1oDghEjCT78^EUaM=jaTGVn^83%-LJZ8(pME1Wa5#84xKEu6A_`OJoyqUc&XV4(@yk{#>E(L(<*e~TQy>sTN|*wJ ziAdZg!k&uAgaIHA_PxFf+(3j~FlE1UqSe(J#)km63D{B5gNzRRjj*`dW&`VLKg zCwAyral#HQc7E&*HReTz@*K!uL=d5T4~QVdjeFdH9BfgZx&N%A0nXF|hwWx445P3F zKqDyx0v)U=LsnLsJd7Y7?w#Pib|<(`+d}q)Eo4vHLT8h;ApMkSi=J`Cj z83vaem>MYO%ahu1RglhW#~pS;#1oyYIQDdq@0p{bN{r;ug`^|4<8%Axg5=H^nOYlI zs5#*3QA;Kkc;+@sN?{w7+hvwHnqi{EUWf|heOx?JB!r}JtgKpF>gJ7T(9g3@-iU>D z6On}|@E%9=j0L+!X?>t{sM)1KZh4vH^QcyXZ!J3>2Jh~msn+f20->eS#PU$KjV|E0 z3j#Fiw+&SA;-xmZ8RV2-M@(h%e8(tZh~jju3zS&TrT8zTX;kupgVM7ru_l=-1f|0P zrC`OK;ZP_p(65z4K*9W91d1fq=@?RzH(4{Y1;`Gve+#Wnu|d?(aD8-n@#1)pG$oM_ zQK5yV)k3Y(RUWP4hCE`q(CyJpNQIs<@g;O**)gEB(7HW>2P@C9rG$OQ+)pb83(`nX z9ho|hn}C)Xib6Y)rH4<97u7dS4p+Tjpo7a5g1+wl}`sBxo;l*x}gK!-tmK(YDGZ6dMU!7wM;KKLiM zPXZ!u$8x8=Bp)J)H=MM3$i4doj4qtkl+gEl>yDa#Pla|B6YCI36-;vD+GE6k3H8Z^ zO3$o`$r7dOl)@BoIiPSTb`M6kKl*A%2l-7`M-ehBKSj+6A{)=#5yp%y#|l1{f{$y# z$Mr}k_ORB@A$nJMmAR5ILp zW0kmJNPDquqf{s!!PWzr2#0|7CgIaeGrE}JN?wPYbU23-A)`6~auzyC=){>cCze)i zL#l?5feX`zxktF3G(v12ZxaiB@0$Go!nZr@gtj33_ZulA1(1)$MEqMAYcG^5fQ*4r zzFjhUXqW|JCRI?9IjmpyJw~9V@a&^&JYsM%#$f1-95NIDIg}dEMrXJ_WgRHwP+9d9 z4U8P-heVnuSX1T~g$7J9gsgWGho}J~7(w4lwyTAhl?;@48L&|FfaNFpSOCc?fsG1Y z;(7=(07}78Z=6&suR}!!LvQ4@J&a;pJ3c-+Y8*8iyT@$1r}*6 z8DAbLArUs6gDNFLEXj5uVSvdNSHXc8v8mDyt^&)mXcZOJ zV{E5YVVwk5s=hgG)DD`}N)5eLDzB^2YSzS_0*y*)HNCfDv{>nGt(RtNeeG_oucf!n zmb_|XN6nJ8lW+3Eq}0*-)4PeK23L|56)lBlK;i_yvBG9@N}!30JY?jiOHcP5CWsRN zIOO`HZz)ay;Fv)XE2W4P6e*IH0t)h-|vp@R#Y!&7Ydlxb$u>!aPWs3x094y%X#h;)^NOKF1~21zL+ScTM`lmTN1{O+P55ZfbKwygG z1?qZshd3Eu)zgxS&1AtYDurVX&Evi#8_*Vd#qM^!>lOdfxz=MCEiR;yQnY5{Jac@1 zi1Nv$FlR*qf~9Un+&6-XSuh&ITb5k#2HV$|!9E6=1=Qx7blNf(L$B|RqZ%}9$1WIk zbXMVJr1&Q z=zNZsQ$yV%@kxVBUYF9u%{x&uJo(j}qYYBQ=);&xR_p?^G8otx4-%H|TEt`OlM_24 z1ZRB`_x~c#nb|5xh8+3v)7RCL+U~2PdIRNUj5Kn;$irTwJIP&sCmg!IzAk97kc5Og z2O>#-ko-=73<2vK!znD5CgY@`SVQnc7xE}{sT9JV%}#&cIzLF>A{^` z;k#jbV0B^tD5Bg!didYH38qTBf8#EgI<_CW4KT+1kC)mAVBcXAY{JhsXk+e&ZI3=r zLj)e|L{tbQK|2ur^vDnQge+FUIJ&fN^S~us%Lv$Zdo)J7GY(`hUHK>M?~Km4*SlpP zXdzSNrvJ{igMq4gek($qD3Emr&RNrOvjWvsfvV><1)RqUP++$-1^fYe(h0)HZsqXk z5Y(ThZby^fbXankQmSnTVA(kl8>I{(56o8b{ z0J5e4Qcm<}o)sc%_YRTrY#5RXlC>!ySxW=SdNPirSXwDY6P1jIl%4V(mO9<63#Ya| zWoqkbQ!8%;l=!Zb6LHkPQMoyJg5@a_ET>KIS=s~>-Rncs12zK{!fatKS#Tsj_c7gM z?|z=_vni8(mNwaqsgq4~gw|&*Eb@72?{%WdKGP2dM1ro$MYR z?$=(*si=U-NSfM1+rKC*?2=_N)0`36jfk+hZ0~pp>?Jv|;_dP!N+uw0acpI0B(DY& z53j#;ek2&n_MLc%03Ms^@Yqb{C5k!<@JTiso+~kvfHEtd-|-k%i5lidrI?>=kZQup^|tgGWQmSD%kWDh$Evbx-h>gjIKa* zXbV`12V;H$BVRJ5{e+xGESDPw36J?{RNu&Oet9Eg03{uxhcM*Pm3Ghlj`C|X(B7Hi zyW@_b?cLd;ZEs!e18brTwYp(Npm44+gaR5n?oqg9(j*R)YA!2cx+ z{@-HBWS$$f30=>kN7^W!oo#Kk;OFBkou@;Q;$cx32rlLeWkXsqUb9KDv^0q;LCQ+P z26GxVm~m`)WN5F#_@IF*D1yTHMq%A5Y?KS8Ror5^Y%ZXgacE%h5osSGMYaSnEosu$ zv`Jg(leVT$+7grg&?>gJw$6&h4k5}E1-z8j5+$>wS(K*DqLe<1()3xBQkJeX!!*{m zlEtZ{X{=3~##;I`)}~KmEqO84W|#$tMQKt(7B#oI#QCgi^GP%LiA-Z%%uq@!slDpg zCeeP&^Y>fU`+c^RA~Ga(_H5dsJxgD-XVVw$nZ&(kX2B}17p&4I-7BEvFm>5Bwx)># zNi*7*AAB1+_%`|YHL?MJoV-q((?GZRG1&?wbZl+LPE3j)lna|ACY+Vil-_7V$mWl7 zP&18y0=mvI;_{>+M~~R=H0GQxR3wWLiAUyC4$3S}I5dkhoSH>RwCth{MC+_bH&!-ed(*yv(Mdj zdg%UXhW)d6BJhVuA5s{iFT$~aA7OkR^bh)}-h7(xiYzY% zz){=v4BJVbL9$ZFYvF4Gh~^JEE`g(E2$Al|7$H%{QwfXUk?ia<=O|A}+m0#Ag%W_f z&dYq|Ge)6{LU39o8KD29x_??H*GP7Ri$F89eC%u{!~D$hb7RV#>%E75)us?FW+GxJ6zHaWH9_}`3N0>$F_3=UV zHN30tVI;!++Pl})Ewrc+dflE!KJ%C(+EeBXJxul1#``uEu#r4sFd-a99m1%i*ji)g zUb%LcQpJFX#Q`jl1?dsatRnueVq6ILLTO|!91-#mc91u`Ma}!AU%;@2haMVdK-rFO zpE-J9LrMdIEnueeX8U5?zx3nhrm?ix2Iz6eS&>7}|3YXUtG&!8m$-43b-u)QnP^nZ zK)6_X-HuAqCpsYaCwPt7O|0izNzR$_z?dgJ(0~tk3p9>Lnof5abz($LjzJx14jg-^bt=bRCi%spRpTM(NCk zowG9Ve3z0e^__E@Ka4r9C+>#m*mB~cwClEbInKL4XMp>=7>_#Mbw8_xm_WZv*iFqd zI0|Td*6Fh+7g-!~U7i+Kj;`C+n_0e86B-chTGLX@KVjaOG)SR&$$_cta zQ!=+T<_JftB-GGC<$`F^fdm;@N{&gcs%q83`JaNfSYAF7OrW$yx=cuHuNI4FQ&U?6 z+=4zQX%7>yyb)dhSk`s+(QlnMxfDxK5e!&e67psq1JyyRbiPtR4*JBTd384IpzzKB zbPPzMRxc#dg;}O3oaH`?>^VtO{|jILi%uFivJUJ4BiJ$MmHiYW8sCz&7tVzPNPQl= zLm99q!Vv5Gy!z(g=;#M`3A=#?z(9;RPe!_Qq9R7Bpy0%cw_QgV*+?0_{_3=`cl7o! zkL_WzK+a)aFsop1iCk`&6x{Z=sQL=+GUsMAv?Z^b<7k+M@&7PT8>uatK5*xqF)#zN zv20FMmq9aoE(l$)kq~Rb^;xJobNj9jjbw8MD^4z;X4hGHF7M^rEhI49ED(Wy02i5R zn)nE$7O?{}hi1ehY1K_naiTqH46yQA#2Xxr`%F>Lwt=%&bIm0(=~!Z}fFwkwP0}ju zJM8rt2v+mUz;b@`swRxmeovh$H#}wv7i57fmgEJclh~3 z=-U;6`spX^`lp|o`nffwg+GmN`hgY}q6CsjWBUBJL)E`7CIXS$BK1Krms~{9JV5cL zEN!Nj<|0iw9BSE|wPmfEN!2E>4vG&&$ zA3fcDx-gk8M+VZveS~b+;!n*Q#hrPpECGhWl$Eh3L$1}uT+a9zek*l$3;JpfIG;p@ zYi5)(o1osaFC7(`+3U-&vCx-_orm$?@lGikp*<-;`_E~eV=J<2g#Zj^ydcpKq=_4! zfG+@#eM?_spU*}T+A>0}To4yrFJ zyYGc2hWwp!G6|g0d;G+20W2{7bGv=Z^x&*7YW&q`h;}gM1D6n&39R?PmT(NLb}_5xpNG}z9$_`=2(_YsHyC<@!(1lUP+y=Lem>gY zZ@zfn+^g2lQF}`w}zGDyD z7fq)(7~P5n^+&Wu$wP+4=hH&0eZ19hd*9Mhv+G?u!*F}_=-XOl{X@7}p_8C?Q8t>l z>7g?k-m0a6&l847UyhmwM=$GBn?#C3H{zIr6ljIr#>@IpM~NjS&t&Ei(7C316Q|s_ zPmCLyJhcgB?qzat;B+zLjOb8)y(4N(%H^2h>(+_+9`A&7lK^-Jz|Gwix;Xazi5*gj zyLC(b#1!^nB3W zlkjbSc-6GK`&e7@LSlMLK~t>#k2NJO1@15^?M@+OfcmXN7|_%Eh+I~rja%v9=WRdz zUSx*J%-gF}uw(B@qMq1>srslpZTo35C3}$1EPdXA22>CCfS+kLs`bV$6s(h>%6}ey z{_Q`~UTeiFn1ziMpJeA%M3Pl0WwZHhp?&8*@FJtUwuXPrXX{1%FZ`6&Evx(=vs7F& z&9!H1Yw+A$FR!ov$M{zPk|$GCfBz*vt4nBQz3UBbhm`j(+s=VtTzs}-6-~=Hbe*nm z91p!KkJB0-y6sEjwLQ9Uu6?f$Rk8Mo155`<>#Z?a$znOQLct3=Z#+b63wY83USxQS zX01J-rgZu14dp#Aw$k%}uDWbYo2PIQ183NCN0@$m03&ca4rdvp%iuE)vxcD639xV- zmn>Yd6$&%qjJEKzS%?gc0$_?UwY`qRRzSeM+issj0JhNVy)B`!NVY6!DCV}EJe$K~ z>MU#~=vLa+Xk&s-+g;o3IYTmHx8ehV4mF6#fxtXF0a&dW!`vk+At1}8pc8GbqyFuqj8j{ z*5lQ%v7>$Cb@gQT6+EfDs2$WA@2S`QTH_FVgfrQw7{`^9Ms4@>pmJgypPn2a)nTkK zg}qvR_n=aHUEL$l*AAgy=4p-ks|uXe+N54oVL+&UWy0Cv{5x)9v$r=bd7rTL(|s$H>0tj8{i*0SYkE3Och9JdX}>&Wr`sqm%d8G{S=*o;TjUs$%vQ1R+eX zaZ*9R)Eg(Y-G*Kax@;Vs(By*o8i&=F2ep^g!`&(tIKqbB*6P(9tWm9w1!~keEIf33 zN^{4Bfw95I7-HsW1&!LiQQ3P_!|{vquVv$X((=vV`NaDy~2^E z>~7&A!(KROGt=#efIDRSN9J^_C?;wFJM!8aUXo?)PvbsHNQY$jy{I)#{DHN~Yyyy) zGxwajP$ho$Z~aw_y6G1#p6icC9oLIJ0*)j4Y=~|W^h~!ze^q%?ZJr+1>W#hTE3N#v z4!@RKvc2oo*Asv?PQy8 zYlkH(rx#@#)6nqbI}xzsTV^U>p=%w!(AEj32Mqt%39n9Q{qR-tnkD{>rwmSDxc=#EnMv4WlZi zI0XUjGkZNeeccp$cfl+c zL(kz%I;oJZ$3WYeMY)<|zV%(&GI*1P>pfJyv(A_2sx)K^a!GI&kq{Bmm>X&xoXyIn~%vCav}1DTq9X)A%^zaJfkpBcr3xNyeyD7)=adhh}DPJxinW{B;UOy zKVOOyPVTqH85ywB6UGLgKrnF}kGMczGw1o6x?RLToURuNuqpGMXVoB16*litWMlW#L^L4IDvGx<&ZRKdt5EBp9a} zHWOwxi7H3Pu~^B5#NH1Y@_kGsyh#v^B&od*`^wpI*qvUqT%M;xZC{zM|i^9#h!eh?vYBoE- zbL_r4*h4EIxgqn0asnk;%Jrf3^YdG>Pm$-s=%T5x9gYrn*y-M~uNCZ+OP`Mvx9_{a zbV^ODAz4ztU{H7i8)$^rF`$f%8k)Y>UqKXu$#H$uR6XL;CJ|W};nZY=2?%~(d9Dxe zL-8X8aYbDD3;rHgPwF6YLC##8F4< zr^Q!^w?f?rymZKO-R%n^q}jYvR#vpp$!0TLf|IUd<4Chi{_-{GO)xx3!Avmv?9|0XNJ?- zzU4QDcWK}L(HBXXHF}|)CenjbnqVc+@W2pjQOwRkNeZV%)7(;?-$}fspxnw}OHjOe zqjJ*7N)qpW%o{p~o)0_((plW#o>FhW7K!?U$q4p*A(G zZ3;rpQQz(Y7CU$m-1deYBUykYaX-o%zyjE}@yD`3TSkGy z7aa_f7t$C6;w1Lb1e9nh`65}UjErEWkuN6(`A)p!JC3c5?Gm8y0RhVObz?#%e!TH3U)sM2#F=pN-Cz7PO0`kqbC4JBmw~1M_M2*9c8WlX z1oZf`0@)5}3lwYv3Ld~X^h{L@3qYX;lqzD$l;V=!mK3Je_4lE6MTvD8h(DEs?{|dc zs$S!Z#{1(cVBhZPNnIF|C#rz3wp0S?yuWBP;jt_|^@yUqD_!m+^5NNAj0W`yBPugv zK?Uj&`gtM{PbeZ9Lfx=Vd~}(;_gfAHL%L?I4#L~OJt^|~wFkGsNY+0Vh}h7H9Bd^q zvfz=-_!p{No}+S{tB@NZq(0O1sd=6&Ga3n1VTzM9Z-Krpfv9QwQ)9XTo(J?oh${qI znXGQMl}=@~;-?p;tWe9V>6SQm9*qDetp*Sgi5z2S zP%atPQ(^?1ip)xb&gI@2Y!c|OEQ0otr#$AEVa5Y@2#-pmmPl-ajS@UwHnc6E@hu_8 z3iX_`3Yxj}_dmmXYc`gbuq+(+N}M@MfH&k3B>1h^smZVLYhEOD49Zd*l)^W!BVR?IC=j<~dsv1IWDM7j zP|-rbmk7yf=pM*AAI;!Eq0ux{r#l=F1IH)-Tt&uRNj~dm82(MB4B3a}e zL41TKR-!aJH}|C72x#n(cD=a!0$!gUHVo6+P!E4Qt)5n!N`}GL8)1Qvl#R}VSQ?IuxnulU%oo3IPb}&X0~jti?&C6R-hfTMK+-Qylx))l zoNCHLG`LxkiRui?VfM+a^A<788KL(T(J+j`G3M?kn`!q4k zjI1?IRl{KWI*Sla*cG^M&t=At$X+XaO$)qDST9lWu3anF=;-3a(K3xg5A6tCodoQm zQ+VM?81p5^o~+LZE!?GZJyo4S0K?6V!LPnflylZU+f& z;v3OQ-OHR?&|6hee>4gB>^z9IBuY^PUHe7}1WmfQfsV1XR2-XSDPAN77vgv}+@S0v zcH=hta${Jt$f6Z!MMFN=spv~Msw=z03ICE){e|~Z;Do;*IpE>!Z6$9KYAvdVpCFIL zcwcREhG+UjAO$uV;^u;5kG1BH$C-TOz~LCg8d4cMB3h3;p>kRAS{&RFu10%7 z>eOie;=REf)#EW5NTW}k-k-{zgGm%yB6}j@V7Kd@qkaudItzyJ32ny%Ll@kgGI%Ls zpW8PIYamM^L*t9gyw^(pmi8<9JfDNm!V`J&Bs3z-N?@+htAP8O19x@FH$tc8i4cVQ zNEH#Al?w3&i$&&TZ6t!4FARJTeJAlHN$+*CrAIzs$`mnwV1>{8=~oTXhU9KsSOr}S$vGId;8K9$l*qTKsf(aY*MVSnQzUCsCr`ES4oTXHL>JUPf zMaw)Z*hrDGL*H9@xdj4MW8%@L%}Z{h1eGS;CO z)z`<3_uAERcyI#J!O-+TE~*>6Y3CiSjYOM>rb-Nf+(4KId}8z#6U2LDuRGot%^8_( zN-~^M1jvQhr@l-*7XnnuVfMj#(ElQGQH`wjUSP&g2P&nhlJ{+0IEF zLQExr8VP+UJVGQck_OCJ1qq5ZUlpVmYx7k>Lb0|!R}~}^>$CQva7a`U=W8IonEx^Sa8$mv1 zU-oBUFLqBo$>;^LSp%r#CoryN<}^$kSu5HF5urUnsW&MbTbb!qUk9ka^m+ zQlLcDw-fWSqyj`lF32v0!wKgI?m6{-De$f%6Av--8`)@=H=wlP1)}9IH)OoFG>zV^Rh0_6A*IDk*X@GygQ?RecbYILsdpFlaMJ zLXk={p>x43E7itvrFKH5S+$dTqX}p6Npt_8@-kK$6-EmS*?7sHe>QWm(tC&Xl)_f1 zFb6YEDO!rRE8`#}S6B;I;3%yrW!FPxtA`ZPymqvEOz)HHl+)^PAJIml+N~Tfps=*n z7S9&gLs-RWr=u%Ys~;Uyh=Gh~&Vp48>Gre`-SD-x%h9>D;M`$VDWd03KN(sG?|h0D zRJN)I{Z4E44$;0@0jrNkQ@utK9c(YAB|xxU%+A+owr)k%qHKCe&LxRT{~1~Xschu6 zz3$ZZ2GE`&*3f|SxfxD^n^==eF!@xOb#Ma%>kmKV01S^YD3Rz!j3+OsNS{mzLZ=>e zp2gOoXZV$ev4NCp{3(}xiJnoV?(rh0+DqipJ{aeVdo*_+4j+VN7$>QeYoR*0OQ?TWkPF22JF0#tOBPV*~A= zsY!!~jUgu{kvv|#KlmfMTgQo#C3Ad)$+q9Zgd_Q-!>$k!%{DuM%d?oAjKv{0A>7l^ zarLlXKhR<;c>|{pyxuDO!w^f=H^3gIix2wS2mS4X{`NtC`=G!5H^l!e6jtLQKqV)^yivg3098QV z*a}DC6u1A8hrTsx58OdGV&=C828G9{H%f_wiNQP3LM|4(QwF_^MZ?rWUp|jAg^_Ma zKN1-ZJ9mek^_>xL!=qKVAAW8R2lgty2|u1CCh1|dfmvIDVJnAb7IamPHy~^7y@=N7 zv=Tva*6xqGvjkmDh|L!>Jv5$TTuUFa4vDB~eB zDAbBjg>Y5OF5U9RaO@-71SdSEvVrpz&QVg0zzi4l?0TX@N>vuOPS%ZmXGyTkpS~%* zE;o@g9*Lx{Vz!h6n&QCt1r+8)PGyx;Su5Hfc^7`x$Y$dyqp6qN%5#}}nQi)oBW_B| z<=L7pYi*Z9jfW?pYh_~iu$Y|qFh$MF$_+g!@6&@&@@-ndq}`(i9UXB1 zr-b~;V(wFtbc<=smZF;*ja*z zlBKJ7#JKpCZ=%%3!YE#SZEKObg?#Nqx@+3G0$fuwIxZ~4lcatP+M=;O0H;7$zu%bv ze_2YkrP2JD^Bo=}Bac$;WrePjhAwo6@Qu1z@+puK<*95O9RM$U(!`e>2i6x2hoBP5 zoSIGA=7LgSu&K{^?Gj6;3kj`_I5aN&5uO4vSL_ls2g2F*qKriKdF6RuKJ}6QQ`n_O zqq$eBX0w?ij6r(=f@v4USPXa}3mbI)k&6Pk#A7%zRI^5!WCto$2{G?8xta3o55VA~==JL1Fd_6R|2YOBwYpM=Jnd1X_#c zcNljl~e~C4!rYtEVYElim z@3V$HgSoOqj0KT28Qnxio~sHfq9O9uCSnUF)f#v}wFqgT6^>EB8#D<1HF+SuXU{Sg z!YU{$q6?u(IpRR(kDKCJ#>l|nO!x!e*5Qxaw)=hlT7o~`@EpGsGqQ#aUy*U@+2{f? zbG>KJ{C{lk+sC%0gJ4|Lc zW;FxIrp9_nOU zF>k7?M>_!{7nNO=ofNKXFn>(qDqk5(UFRw^U&%7V{A_|vAige1;Zt+I4P+Q%fc3U% z3}>BemtwE7T!JpqF|k#A)L zXrz8JWbua#TX+@=`g>Lxgc&+&r8)ANe9e^=`ZBf(Z303aon$#+1(25h2xAxnJp$<= z^Vr`4VTHmx`Ycdx3rH-8vH5}hRwQzV)U%t@65;rfSTJ7`o3Z9^hB85NIuSnjFgk=D zUI`dH8CE1$SVYeG5NNY7xTV-aEvIecsebKnbXjT!Df*2wY`eb0v>NlI(*eFnCye7$ z78u9wb4yFGD**QoUoPSCHs+%o{tn0vYj5inq}ax_Z|{-DcX1(B4CeQ`@@o~_$XYTqFjS<_(BnZi zRsjS`(O!aaq@Y~V!un{pa-i9FH!J({dPb70$t6z@YwuJa3tEg`x+gnRQeBWj9BZy$;u<0+2BeiY%P-kt#05kzk@^(b;5 z%=GGJN;;(EhOD%Ptk5_TTe3nemC{?%hLlvBqQUJ0{pRRAB69hMHExh2-vv!3&trX_ z!sU4iKTDdIhyXYRBpY|Hx_P&%oNB-`C`cE&#R*uN#kBT{sVHX7P$klHofsaqf~LT( zq{L*v?j|=A#3iF`5)GaxUYH-FyEF6};~7OaeXLN43x)S|d<<)|w6#7gmHpU5UTbi*5Z;S&WVxnk4I9Oe*TD0Nl;#nU<3!V@`436r&TzKH6 z{A^|if8=E%QF(DDWDdRS9piDgQ+Qk~caWjYqDMv!gZ6Oft~@eR^1BRN$*tD@7MFrjC2)sww#+_AUK zgnB^wjK=_Tri`*WNnLUy5OOj_r2W8%S)tvOhL%W%Nmt~KZg+}eNqGaRwu>LO!q&gR+DG8X-* zoEF)LQjD1#KZ64s$t+2+oCciw@6U3Pv$2G3mpEZ_y)*~bXPpDXeuf=-piD16Sz z6fAnvB5|6yxRY%Q+cXNkgpK}>k;xcaM#fm7t19299_?q8u{8N5{V6RU8N#`68h1+1 z@I+<>4O?2uB@u@0`l3$@Wg4@hhbFBDLQA@XTKno+#} z$i}Onhl99|R7J@>3A4*n$C|p(_$!o0LTq7-27eV%BZ}no3PV*Ed6`#77wNMKNplav z{X_h3vb-EKRBk?zeM@rx3l@DEldj-Tx42gu^%d{0qqjl#Vtn?l%(SsH0K};M55Clca zLxH>sxD+X8rI#b@MU+g7$Yk=?uqG6-Lfv5;rYK5A zKiWa;lkJFrFjN6fsT8E4FgZG|VTUr2=!F?1CbxSHfc-4;ldD^BvL-3-vD@UwnmxFQr#F0Blk@D=1f*RIVh; z1qc-9g~&21M2Gbn*0dT{oOdGUgo%8l9uKG)FoJ@0qNgwp`CX+^PUGRy**8_19VY%Z z4ldx<6jLVnuq0M!Rxap=@h=pXrjNII9&6CVHHLBRcDt0r(|C$E2)H0mMPhhK1o7sC zyH{5bnG2`e^?;3E#~lJkp}c=X!*;ys!8{ETa-=x2jh1&l_C>5WPCl=}HqI@iFbZKl zp(ws;!(&sjCPB7 zxPZKL}3;I74FWAwyR4^ zqLplp6~(lG054RA(%`DE_iG1L8j}{kXV`UnF8(1$uWkXqH``+zuKd=sZ`860;K)cn zfUDdY?1}M~AyrHE)_7 z;;BLDea_wfd7kq1oY`*I@cQ&_!MbYRaqh0wZAq#%iDs&O0%nRn7BtnU70@2TD1 zPk-7pL(sj~z9L|c<+{!W#e+ zU?%uBC^P@y(YZ772BU-sS*e!)d{#G*E)s9nvxk=?Hu%PccWrzg!vWpB#V}1MAp>n4 z*ykA9!X`2akGGik?0K3zDUW1f%jaI=Q((Q z8Y;X28s$i_rYz=_qr(&INZfd~FLKd@7(u21W#rDu7%~`AIb_bhpi*TxL7E4Go$x;h zLr8^@TEx_}Ucc>-UqXM}qxeL=Qu@0IGhS*BNd1@8AVw$~IUK%&P12P@)z@wV#R}!n zMZ#-mRlmXguU3w9OY}Mc&IyemSEd?@E{n20kz-;trSaEahUh{B?`LNg0o5LLkx6h} zA@}?C07fPzpt<6!5y98x<-7sKmUj#*SkgJ1AlielQZAet1?%$YwBbp097cq9Y=1m- zdNgH0dwj79oFtol5)uNC;EL*@Z3Np0ga$~aJ?@T_|B;G3=j*Lea3RdnG0Z**utJ8B z;%_262|%t~-2N7z#&$>Mmk}Lh~zS{ zeQ2YfaS;2EdxmN-GJirJ+@jK92%vk3LKsvT-U5G&X)(^uq<-3m?_EdGdIWIb`GON; zy?2Z-MCn4Zdr0!iJ9^BaU@?LC^Gm`F_>}v`HKXx3T@6+Oh%xIiT9OGb&5sJOsQG1D zwk^JK>mhd-9{f!1S$e`YO`96m#mlQ|BA?JqJpA6$=!&S2PI37nbvx#@C7iSHFK1iP z+^vc?W)ba4#7o`9O5{7q;+|qoB+IkH=>VSexA1!LQ9w|9z_RuQ`3K-vR7e_6`%kx! zr09dBL>a5ot!G;kP;#6NjIqL5fjm2WE6T*wER#!M$dE5p^t-O%I_d((q z9UK}ofplQV(k_K}!eXPVmFI$bF40vy{2ai<#d8_t>FZ(wX6<6`B)}sbaj4tkKPQ0w z!_Rm2|0)az?Qd6&PKf_fd}f&u{qI`&*+cyQAEf^k5+vR54{XYi$7XSR$gUlGKw(Ge2(*O7G)=87k|bHGX*_2^ zfNpwcBl0sZ=?!CFLAxktv*C{#cnhuaLCWhnP5wwtFD~$xGxx^n@QV)?1?mh<3ES*@ zTx$($sb*nNzKiyOOr}W@XrG(f{%)i|sy3>7! za1!m2G4Eb_a~)^INpQt25sjZu4}aWlgFG7VC`j!Yi2*h4Q({9nH@MkQqp^0>c;}DC zl$cC|-|&7hmfC0M30X(JHHMRnAmj#7hh)4VJjvS^4)9wppQ;!?9*~)A=Kb*i4F!Ev zUhh{c4WP2kYUSkMJulGW0t##}WEI$+r@^TvRPbT(5VKagL#KJ>*qENh&qBp~O3PR| zF@puC73UVQfmko3q7^U5JD4o)34s6zFL-h)@r;;Y$|yMLZ4ky-UW4oo9lkK7%Sm-V z>MM2nJw>G=Gjkj+ij6FKdwq$WMOr$y*8`RhM$^3&o4_4KwEEvap4FbX1Q7Q%DS0bo zTq?1*!;z^J0m>Wl7NvUzUtu3*bJ1}8;ZSN5eYr3b1~9;c_VEx~v7prtF{|$!|LIJC z`8&mbvP{b=#o|Ai5AmP>M*06ibbk=tA4K;D(fvVm|A&h1)1`C006$%UJ%g#P?ig$+ zN!-0l^rOg&6rBUe>dr74(rRMVB+0IfF3=7q79NRnn8`d^6V3bVQDU4UbSH%e$_-XM zSmqlcHr_kysE^pvb|jOh@Ad{=Cm2UqRuoTBGDL=X`XCJPlROq|B{~3+>qYQ%s>`OC zjmoBX?w{QKq5^Udy=`DmP=aqULjr;!D$O+64#hf!J=r44l~T4$ zz$s0S5W_q%$Rdpk=Q#;Er+NN|T>m9#IE)CzF$sqkN_bE4xYYVZ*H`PA{hXWLWiuoW zA9~lu2)IfYX_!O&-tAN1ojA=@!N|ggF*JFb7Z8?{+@j>5iwkf%p%JLeiHN)*8j@ew zgMrh3r0W3YTjp;?u2|l@ypfVwPpy_r>nN9)x|%0;Lu3IbFW)^Z-b>UxnDEcfZ@O80jr#*^Vx4*iL<1 zstyRcAffQqqCD9yrOrkT9|J!hS-B+?X_sj2aM9Ir-Fb@zN;D?%->_!0f_gSk&OyDH z-V>xcPS+t96#ER=Kn=gY2~hkVM&X|Kkpx*BR_ljDcp>~U%e%muZCQlnxRo>#w3MbS z0O6g_#iM)wj_Yixb)K}Y9D+ketLba^Zy?Q5G=SHynB5QBX|gFXUI|a&m&1WkHF;!- zdE*3DS3I*K1f1D^;asJhIGR1DNB4fDH_K{hCJ;b?OMF9c5VEIaUJpg?Q6%k-)XAE) zmZen_h(%S^S8mC=R{}LNeVWQ4C!QOj_g2cmGJ)V|^+S6tk%6GlBHmk5#ru>& zq42F_T=*=5Eh*7D1g*yZC}X`XtkYZM_p#G*)dtjPuP&SujpY~W&#qKrbE-fN_oJ0 zLfcP+_E^5cYYAw$AJIoB$%@w% z^;*3ld^Y8j?|?I5lK~9x9JGEH47y8uR+1v&-@IaB=GrJuBDIexa|`(M2gcd^i65)Y^pkjy<%0QyNO{KBq_BZ%H1PnH z)O~QjksLS@L&j6Vkf@-_s@IBvNo{6zl}jQBQwt>o`=fY>4@O!44ErxK9$o2-djr7$ z3~ujk8ue^_J&Gq?7{x)NBsQsXm#ulS6gm>b#Obn@cP!`Pm4bp$DTi0 z84Nu%xF)vP8;=HKvN$5QzyK?BJ7W&<(e{A+w?}=vp@+s6f#f5b(X&Sv^7GJ8QeLU6zgJoI|R$_2OIac;7i zns~MKM?aI(>o6;qP=llkCn$gJ&D4Q7ufz4GbP}rL++aXwxQz*8jab>sPS z0SbfwB_K1%5Xv_Xhm4H!!n$aMOHQmia#g7>1TDF z9)roxk?H0p48HEPh5a3)k2mbFIod2^?t9ny2E!6g{DME|VkCvd24=nJdiE&WfI`=H zKNugPku%Ctjf9yln_ID&e#~(b{3M})peR(20%OI5`uan?foNe-Kh$^dAX+ojFO*ya z0fW+DgRIaSxLqeZd@9^8cCsIeE1Q25J}&2;<`z*!J9GwJyX{a!mTXU~&`1HUS2!Pf z;{iaK@fWb8un7xmxBTpArGaMSX2IN2I3N_s8QEWB+2r+dx=__BtcB}Zh4Q4jR$*P% z_MKQkIkqB983P0L0eBJU8UTs{#+lKl3G8K#C=l6L>abTmM1NrHu&3F`C`0=LO;>rh z#JYa8V}x*R0@jD=1X*kP#b#b zoB$r203MtG9-IIkoB;lT{`=pM0y=o;Tch^C9VDhmo;T|BH>ZwH$qYSLM(D$81CvxX zYlr2K(|^!ad3w-*x0PBvWWcrUj%E%@ofsV;DTqLN66$$8EdW2! z=v3Su+@=@k_0r#=U^asv$D-38_uzOK4R4!x#WePfKY^Z{yhd`gTRA*BtnK2*7nMB& zmBgze5H{t5Y`NzKF|K$3L5t%qNjyT(;iKdnGuPN7X zVyAev7VnnL?1C1wAQS;q%kw~$?$V|KwwwUitt}YqpEwrv|JMXK6}LkFCDmc%lNGkM z%y1zyxnU@$mR4_4t#WcTT+c024xW}6Wux(wX;3v3H=;F*<4KdDYFnmNT1%~UgKtw{ z2QvvxQ%o*gUtx6;EH}5>MSBA#90KYMw6KXU#^Q@fFi3$jgDehgtSGieWE8PR_Tgs& z_}~@e&g{?pJCDS&X6s z0$+!uID$={d>q`-Q#^LhJ+FiI`Ut;A9Bp`ELG{iVA2C$(0up>UdB={3-5l$FNAEt= zJN4S(Zq*MZCymxr0cg$1IsywD$ zuYaD4c9~d6jUj#L5jZI#CWft_rPmR>fFTS5yZ~g#ORN-&#Xm9?f_Nv!LU!%fag=BP zni6C<&^!v{kNs^_x6{@uB&tb5o zX<{xCh=Gs?1W3y&hWn>jaBrPEnVUeA;{>9dMj*AF5#=b2D9=SC?wv&Zt<-^5 z?GvxsC*x;h4VUSY=nO+bQBGUbXZj54l4V>tLuXsWZqnVo*hF$6#LSKeS+8+IBGjXFGBR$j#y5h|JZ6}#KE{*O2zpF9*vPQLVAsTO+tE|Bej!_@LyVHK z$*7sL_qUiZ4W!)yvqZ1a)yEq`7HtCPBa^Cu-zA!sq=#*sobEO#ersiK?*zJO*5Thl z^^kf(z8j>c@IsR`B-8H%h2(JMXt(v3WTm!aT#V3FkbwYC7zDG+VX`%%^y;WF@lYMc z34dh4Q9d*L1E+sJx{#g3JBYU*;BX4!lo4~vQPe3%aHl*o@{|#K${PBValOhh1S&@{NR*4> zP69U@eLc$R=<&04WIU43|6f?pZVajn6co_}zJ3D!Dv!yI-q9>ki1O{0E zSxUP&nII=6e94JkFuxtf-WXsv^n#!J`t#@v;oq+xeuv-M1P`rEiHnlq4LEYG$t`5H z7d^6sRxCOjd19p^&S*IDy4?t}=zGnV=MOAw2MUM)3}{1~jWm*3m$}$bbYw}-EMoL> zBrGC#Yk*%W&S2tWSi(ekpVITKmKTZc9u!+2hoS8C!06)wyBNK zFsUpS^Owt$#((B{k#SRa2xHQc^hNT4$eQ395DQS&H~^_6#98$$Sr7%=GUzGG|@Wo=)+5N}pC=~d{sRg=)q4Llt%tz^e| z+#wx;9%ilvG4UnwwFO}J9tY{ z5WIo`cgBOPPw(W*AOe@DBwy&mYj&^wW~9}S#6ycEMkvaBH7Hd!IioE|$vy~D#?dhh z!CnP3%^)C&plQ!++IX?2u=|}e#k7 zWAw);vD4(o$xm%jIzE~|Mn>9;8HNwFlg1we>uOU_J{_4f1SWaLJNGH1Oc3agR~TMk zrdzqnA*6?QXPg%b>N-PrbelJHwi_zak)s-y#WZFU%ZLDg_>sg1Qh-svr2nTei|;58 zs38gT7tg;&rgUbH>@IcEl>LV1r;SuA+jD#$g-SVNeZo{sOd0(I(Q`&cJ`}SAxhbjV zzy9J)_DGCgeiyf({4{UG2a?Ol1Y$(G_}-Eqs3C;nN=ln@L2`C0ht1tr)!kp4)svHO z{Bd+uZ<2KYh-K&JZvULAR(9#EpX2SECs5*eWM_GHk`+&r7arfp#UHpG%+uv|Kv#o6Bjo93Tm|fsBzS75Vg&2n>rF zWNHIIQ$lCD4 zCj?j`x!RfnMyH%Mux2++7&0vp0+|E1;Nz?XbYLIh#C9Ls#>n#w3b1oI?tLEHBj3nA z?&MH*$t5)$ZWnX%!9=QuN7ci|w$@R0Js;>Iyn)l_i}=hcEY|I6%kHe6!C8@scY&IK zW~`rBC_LQW^ewnW3a1qdt}_I}FUZ7Q)rQPv2pE5Kl6_mRRNo$*9_+n1fX6}DO*Og7 z%S!DqxXcjIF~vBu79c8yh{~MyF_`qN7*}R;^iVM)*jEw$J8`Nj=C&>!lY(3i(+SN4 zi4utH22qCaJ#P$ELeMFks-OZVRRBviXGlil52mA%=F@kL>>44OD@$t!L5L$TkR^~k z9UQ%^{+5M?^VE>&@Q)DMbI+(%^)XPQd@I-%(bFUDDtIlJ6G1AWvKpK|4v7_Ex`*5T ztz+~ZHY4e{KHuzKIIxX5?K>(B``&fIFph`LmFtatj1NzF1erKe=)0cR8F$h5j}YJK zLoMN@D02UyBOyCy+Dy&Eq4Q+qdD`gE*P(Y!vCi=;-r=CfA%=M7P-MP`oZz*CL=MJH zEesvEkLVT}eI5!u?RM1!k?zrqkZxfJKc-trBwrAdykX_V%^)lx0!_%YQ>n>%j<^$n zVrm~r{Jge@{hKVbG7Ks|RzxUs?e$vF472Fa4C7BQkhhhSLn3Kfby3I2LX~jevQt2f z8&sC|`xtbC;)C?)BERjyK{ck`8|&(I{U!7?rBbY`j?)^SXF;4adTzJtil~VLMCQ&T zL^^Sf0K5q=9%Zzv*wcEoxmSI0`Z7KmdW>TD?CmPjmbBH1;oFX28}TkvLsajV)>v=m8;RmIskb#U62^6HF|bMBH&u zp#v{{WGP#ZcHVk)=NZudt*(u6sH=`a^yAHYcF~N z8C$obIQ@5LZ@a#wIpQF7$b}-KQl`FG$yv6p35&ZI8FWw zq^XE7g)aeRp6_sKRH-?{Or-*e&N{j6DYq}^5*dkksd$+UnVYxHIg8K6cp&=XJPPR4 zIWfb#-<39;%n5|Fk+*D$&|2X zqrE-xmUcXV)f**8IF0n^_-3RNwgiFa1q^(edFu_kos4+W!Y90l;z^tCWi}I4vfkMl z@V$8Vn$$IH7NKsGxBbxlQjS)LR8~)@$Iy8w2-4~CZUqBG4)Vs7rm>AkYKJtSq0{fV zGxQ^13*TbJFT&JC7n#qyB`e|`I+jo1fmy~PW;rNAPsZ{IJlKHmhPx4zpaJwsCf=5@iL`W8f&$*uGCW+A>XhDcdFa`Xesh6 zkjL=ts`e6b0yTM94KBk)(#u6Ctg?HslM<6P~p2% z*Lo8V;r;UR_TuUiHUys}Ro1GD`)w!^Zed677Ptti8!Ls@%=8BODp|n4 zZ3OT-K7rsNyq6Q8Ptgfr>q!&f=Rvp06M$0s1k7?U0iY*h0`jT;P#Xcfj!z(X2=Cn8*m}|g_<7K6FaaY{OrOChd@`OfDcsMPG1Wu>wCwry?5GTgDMB60pb|1kGECm@l~eJw%Q8 zI2Z?S#*tUzjUZIw_z3zJ7AM?CE>?a#t-Kl)Y0NYT;?tkwH*_LKIbZU1Iv_iodB)PB z?P5^pPP26@tP8VgMQt}PZWGua0gi2(UC)x z?mIUl((=k8eBm(TxCcXT?ra%d_OWh-BILtEHUQ>UJP+QxS%c=MlRorz|grxeFao-^2&e$e1|nv!_Wo$Dp| z2}^fm`hE$6xcs?fZ7(lhs#|YV8{5X2a}6Z(?93TDd>Ie>0i%F9c(>reRQzqqe1x|i zh`V@#EYbbel|95uF~n-S%Yi#6vj#>Qvxn_9oT1li!f=IExon@B4eTowG~h%9NaT#i z#+o#%N1J3(8YGbwwH1=;u$}xApz+lAJfn;WWnipV4zF(B@P;cg(-qq}AtT|@Qq!%O zm^nq$9(h`_+G_`MNkgx6M?@EFty{W|vnlpM&$0WWvWLY)ECl70;QqX^t-KGk37C-y zn1V`3a^SR~_vWyF-aH2qh+XIgXtb4^w9F8M# zUz7}mSiunWq+$uYS~SJsFk$b(uX9JWC|v`zu>mIjj23{A$3rrrl;yv&##_T|0GYsT zLtNBk9+%)iusVPAfjkqVKV}bf5O=>K;AYUD0=`RWAw}~X7b%3LLY`IKDdjGR;Ay^y zf=-SpBBD#)DYk)LsJzBf6rg(gcBKcjU+Ggp69$dr{pRT*29(v`Dw$zNznu&F`{~ox z;t^yviskUqOc|h zvn56nx?ijvADYAC0B$CDsiESg)bVry&b ztXM=_;mlgeGXGuxe+Uoi*%S@aStf7xop#j`lDqO2@(A z)s!9joA6!44w$qifF7aRnBj{wUUUspsWp!)^?L11mEZ;25Dp)tGc6Yw6&za1YVw}X zY?3GJq!rXGBIaAa_+k|~(CC)v^qY4>94f^K6xwW~G8-T^5&;pNbR00zJuh8Pw?vzh z<~aitXT;aJV3CT9qv?Q-~ z-vCy0;I#RgKCrC9*bugXv7mtFz=yR75L4&S_W~KE3XQ3)5j1kWA}vLMI0p=;_BFjL zjV9jTiphfu(E9N7b@imS`|7CP*aEREVq0QVy1s{t%Ql-J+_~}yx^G4o^&BV_! zYRtrJL>5Nf0pQZaDe#2l33{Ic4-&f*+{awq-3J3hsXc7BONmb~Q!X$tVc`Em7W(@7 zx^V7!=Uqxx#{ByX%%$k2iv1iNR$f=5bTdRQ64YR;w*Xm&9(`J7sTsTzUB z^!tkK#k3orguBC77$jZOfDA~-_B zy*PAyuZ!xpaNE<7HhNzwFZYl>Y7EP?i`6JfPr1g`0F_)^+#iLlz7p=+D2VaQ_l3IM zm$>TF=UYjfZ|GK#3v&FmjbbjXD0V0!b_)%q%D2IqRXrBdU9T@gw@2ZHm-xW3$3`;;J4QO}#TfghJA_vy1 z*GGG&2UX)@M@jSnSg=-8B&BLX^^wzqL$5Wohqujaqx!Cq&0IRezSAvPg-*Ad$%Xmx zi?A#B1x{rb4g6n$Sle~@ec;Ksx&)jOUa$6g&7R%udhKkkpd|;=CqX^CO2u`bCc#B zM>#h(iT*YMv-rCs)WRSvJtr-vbRuJyzSq^)r1Od`Z(oVp18)SYi}Ub=zst0_$k<4) zEALjVAeIt+HJ0P^oCa4OXUc{lyE;AQ#el;+P2EQ#ro{K!N1}O}SR(Lihi@teQQ)V7 zR&Q=z@KH|_aFd0QN!?~Lcf!rUlSzb`;da6+HKA9GM|V#h%cjD810deLd&jE7Ajr;W zm@}?1-v!#Sa<)BoZ^Z4;{DZpzOtS$@}X2FW5Yny*~Jf{w0$bd9bo z{8h@61(3;qEG4Bzs(c>X!;v#YyA!ll0%~fl7b)1`*R(1~5-zj~P*_zU=dv-pgMRUk zwH??woTDvG4_LX5eVctkV~yMr@f@4kC)%jA*U<*7^aj)zCsZ$KdNol5-w*w9OSH~| zd_r*48q!OZsFWp2k#`YIA7De(3Zp9m)sl3B0V1egU`bKI5*4hp3RX}-$9@6p=jcpY z3_?_f-~OC8N-1wGs!K5wli&V~0sN%5&J0!@J+BYqcHeC`hbpvd#~#^DLRi>zFKi$6 zS2mn0quZ4c+4y1dWLeK(@D>c?Et^_B#XUsP6uR!EvnWiiK(>P28Q5#dOxd?U)=>63 z_Y4fjaBUAezJXL9w>9U3raem>w$X+&>k`U3eo(q#yx{aYm>__g8p+f?*Y>T9(9pwl z)u^8iH5Igig;v!TZQ-n&1So_C!vxnHK@(F{1wbTVFi6yXWW#u;?fMSKM}q&e*bqoi zKu8AE1Ny9TnM_U+&QJ?yB4EYDCS;*d8!@W$!7P3RI^%ThTcP|Kc^Ik$@s=qZKUJ5z zd5Y%)2$DDKcH0?@uq1``6}Iv;aPnlPDu0nH%j=`Vqek=iq`F(HSEXCC7+`YQ{mQ|? zi^}e=;dYI`{!+6?@jc=vzaYj&{&PgxNV}lMDg5e`(|V|ULg5mZWykYSOd(lqEu|Yv zJx6^;NbWsW>rWQ35@HlUOfR<|tTGi;^Ok4ez6)!g4;elREBo<)ZRD7!3O<1rS<)yz zywsyHKNIsx^yuZR$!OsiMsXzBh~s(2k(_Sa7dL_nS-|PEU29b}2;`aU(1OD1l%SDI z6SrtLoAKz;660}swnLg4{bZmd0@SJKeA$FgKZo>J`Vk@us4CccM4N+;1kg23XF=O# z%Y1xjr%D(P_JlQXTcHd(jOO$@(jZ$?BDMT%(8ubgu_70j!z>2KI``o)7`9`F!~Ydh znL;C_iFwbyfdd8EVQZcCf1dWlPBBg$gQDxj;&&vT_p*=Ch7|3(@NORiABlx=y*|<$ z6*9?p94V8`w6}{NLzc2;0+GP*RGN+TY{Wu^n@ZfznX@&=Li0vr&ibkq#2t z!$(#Tc$PLi7-L4!aN8i}K-+Z;x+X@6qD{gm$?gO>qiEwMUi8Kq-!O~Muq8S0qGjwm zEo|J3G|n~5qPcFGr7{m^j48lM#%lmO)UZ-&tZlBDYin8`Yer>2HA*QpHcHRTb&G1e zC6|JA=;Ib^tR>el&5fd2=6SsKa8zaEmoWipJ*CFFWtEEhsGdQMF4icg)YvGmmrQ+B z8%AY(jy0Yo*RZVOrn$j=G{z3p*fi=uF`&jqN{#h(vt((DZ5E9qzu|RMz)_Q5J2xw7^Z{^M8txReo`gJxQp%Bvd z&`c9WdBg45=jiz-cbkd14iM!OID9#G`fwbg zV0 zpV7yAFubFMBilD@)Rx+34lr*l5jeu?m{LEdp1MzH0FvoQ8aWRtZvfVFVadM;1+RQh zT3&JXWHgs0F=)b1fKC9r5LX6#+46FTA&Z}oZI(Zx$DsRBrSZWKUrs;UE?_YcikKW< zVg8qV2|g7P?ZRj(EW~ZN2--daV8n>@+ipGlgaizRd?FT70!qtAg$Wrs@<1kUXgR~h zLoHn@`ILw(Q9)AiaINyhS_wH-wdx6PXKIJDh^02fucx-8QdS{%IytEowna_pEk(i` zMq3e&Q-%>v*b}YGPbXIuSq~yr#nZ`EDV;#1B0Wok83(+Jj}o7z)aiQXk@D~)Z=gT; z(aEn#H8@ONq!K?&!$}dNEmB85PN{{?l+nq&CqMr)?e`V zXn()?;(c?kx?edxXhd6&$T9?bX|obr0{J3!tih3*Q5F(GD}nV$3UJlkakx%81&OR(x(0@3D>HJdjR|< zX8zc%)T?#QIR2l9pZovmio{1NR>3T6VAzCK*IC8IT2-up-z~Jir4PIWgWI8delaq# z?Hs8ERzP60j6>Jy`o{6lyYhT8-Z*sIm&R)w#I|eS>qAwneF97#8illAb9;R%H%1w* zZ}{FA69wRtmfJ_U9XU&k+m9D%9w(Od#-l~fG2osdv*@A>i!#)}8TQ-}N`M0xf!jeV zR&lEh?Z9z(O>R&i0Bt~$zkj+|$;Vc(Ue6hA;b*fD85%`x5o4lcCB3na7WgCErJHcW zZs8?%TS5aHfgd1%ZX4sFpp4pu_OO|tTbf>YOweh&YoqeHfNfaufk1~EMC3qVo}IDC ztZ@HhF?g1urH~Vd)j%X~D2zeHt{mQo(3ku;Y!?3ff~> zRcz*#f|Ow{8J|s%fi?0loEp4^rhDGVF?h}+Uk(d;MtfzH33-;jcQ(4lbrr~Bpw}v* z3I^Li92z2$^ch`zUyKWzYrLw}jr!4k<89@nYQX2?lcP7az3QIv;yt{q8kN(=tD_U+ zzyGb&;q}v}M&)o1{=GM=$B3KjQXnzoSxdGUQ}T~Xq3lI z!ld?UC)M2s4qbfWHg*9bFcvs~(WR?~AFA)FF!svH`#eCv*gZO|SARQ&Lh#bqtGuqf ztk#We7y{T<6bJzB-P02?1;lCBPhZp_qYP>u;+C%6X=muBYt=6}VgCm6ZJ|>5t zf$dcq73v;Z0pLIhoYZN(MqsKPHmWBlr^k)j(P7Sbb@UdX03)qH?LC6$(IL*6v7mZ% z@*bN;co4+%#@km_ymdhk!t@#^6$DJZaZ=lD=*6JR#?c8)E|{-zSbcd=ds#i)tzv;A zZ0K#RUd_Q8)#_NFMxDdLL${|icU%}48+?o*Cda%tYWqfI?@bNIFUrHR*J}br2zN&}>nFG0?v8-~{|qDwwFOq;;(7Qf+Wpf*)qr@JK^AfaCDdWx?iMaG@g!iX z9gx&k(RaxYH;<1w(0}-O-x;Ad#;V&-?wL3xYZV88{l;F8J#)b`Nx!wvn6sXt)!t1Z_H15UnhhQs6+1E&{y zkr6Le+Foy9k0SlBg(+7^MjJ5zk$nkpy<;@-w|YdLEk=|6h+Dy+_P7s#>ga2{x&%ZQ zPjgxu>OG!;NZZW)a#SPvW4`rA&=!~_Be!-}b zXTV_Gf|a^}KIlM(CzwQq@*drKW8<2vXX(OW6IMY3>$GLg>KAg+LAZ8OZ z1(o3hzwQ%nqkFGt{+Pd3-=iXv!pmk>@aIMKC6Fte%kfF=O$CTEl%Y3&^fO%Ub*)zQ z&TB6!m0x!&zf~)vUyILbUANe|{H675v$yK+_g;B#erdeDJpi8NopWQ|zFU1UI{osc zef4|wXsjCg?ZE4=E-$aYKdP*4Tz>hzxBly9uXg?W*HUG8>?>)N?(5ee5o3Gv;5MpU%jl=F27tfUbj9U z|8l$e>&D>o?WgObQ)_U3bW(q|xpw=m?KWQCynX+vvG?Vd+fH~0cF2b4SgD} zy?W)DUv5rU4?YzK{Z9S#*Y)AA2k&p*|5iF}Z@ef~-n`%IZtfnhzHA+NzpWj-_);%# z{PL+?IlUc}UDZ(e@a$c;ZS8H=H{YFqe)IXdw*1TI^I!a;^LBOl%kg{bw7U29y0%yO zt@5Jc!J_P0ufDt~m-mleZ@%BF?5T#VlhI56vij#f$o<@LqdZK?ZeT;F~9Yvb_E@3+5gesb!buNt~}bJJM<&3d)}+uP;y_qW&9 z`KL{@@!Rd*`;Fe0UoWmUDsSx1XJ^)6eOR)eo$PMxc0M~dziytsIemGs`QltP^vc>_ zzd9QcXmyf@zEZ`Sg~=)8XZ`{A$MU&nj5&&=ZQ zgBPFsd+x?<|2KETdT)K+9o(L;4pwj4)sywL7iHDZMg0tQ|Ou zzx!0&Zx?@ib=B&0jz85dZ@n5EFrPPH9=}=s<$Z1ZYW<7d8g^@?U#@QLjnA9E4Jz&G z-jQnP*UN*|qvGc0cW2&srzZTckH>hSFP$z zw=<}BzPS7EZ(hCFTRm|GMd$cTHRQahzpR(u)UTbZ(dO!>`b*C`vNuYN_wW1urhWdR zS1frat1rFPz42wW-l;v?v=061>*eE<{oBEt!&}u*#k+WW0=w+=w7mCb`OCqtgW{VP z_SNX7SZO#1`|pa*q4}(Vi}9jn9j%sLe0es$_^tR$y|-NdwErboHE-Ff*ZPC?W9#Mm zGyCm$?agm*-@Y%6ezOM4)!)7x+HdWiSv-ArGJNOVjC$?m%hB<>O~r(fRt_J&t1 zy3p-i`+3i~x&HOVdF9p3XLGsu+wO0pjW2Ji z-S^J*(W-y-+r{fIFAjhC&wIam%nZFfVqBm_KUy&|Fie~e{I}I!}lxv6^eTyHZfqEd}%{T&jFM8DZ!j= zlIBVC*=MmA*o#@aUK_%-ynp*UU!+}WS8K0j1NN>o8jVJy(P%WY`{a1ATmLlL z*zDK-=a+c+U!S!H56{NCFPo2o)5rhrg};4z)p-4>T|3|S_vNAg&+k3I6KtNo?ZXf> zLVxG-{L{NirPKTQ)80Qf5C7*?ENU+woz;gg>;3=T?|=XE$-n;f^2y-z>DkHX&2R2S zIQi|3|HFRk^y4dU=cNCy;OYMyK79J*P19`X9%K5uk&O7q8AHdvEss)$%va zyZ=1-=i_%L|JywOc)n5f4qse7eYE*>xBLBz-H)wL;mCbl`S|mrSBIykuY#i|kIt&` z>>r%<8?ApmJ+Gg>x_o(g`R0G$wobzz_J4bFaq{m;(3zh7_OCOy+IJhBcTYaE5p&>O zl4i3u3APpj26`C9VTP4RSw3&1G90 zHeQqB%v3q_G6|+8GdT|QE`~js7mR@MV@DfUqKV5V~ zCrx_UIJFAQP&5Y!-++<>lCRnhUE>( zTy#KWL>5N-1{>Pbon$+N1u>c!|^I>oR1rpcb z4w}0T=YInfp=eeosY$orcVMeDzQV{(P*dd!z=q3MyDVP6Kr_I>OQ+u1DGM`R?`o+a z6Jv2O1X+8nTBd*UdVfUIaC-bNuQzcJx+JXXVN}Ks!>Kp66p>|!1>F9>Vqyow$qVlU zcHWZGbS8sTM#2H7Jlq!OxwSP5K>cJAjg($LLJRgN$c~H=bC{iVfH-j}G-Vt*AqdT4 zsieyTETIGf)gvjQcru*{B+6$lbJjYOLFiPg4o2~<){KniFxj1*?k{2$He0y2c6yUf z@zvkx?K1Hxzm5eCda7vkN^!(@?J0KMfGvR%1Hear9HHTeOe{M3<#eUk?==H#^(J7eTISR^WW7N$7)El# z@?ranPa~S6?WuLxI6#Xyu@={bWYJKlmh$rxT3Lj`q0dVL=x+Bs=YBq>2fJx^yd#J)L1e z-M0Lo2J^}rdk^S7FGe-sjLOf@)sd_zu37}89UfQC(R6}&XL>T-vk%{ZYZ2Di8)5vF zX)y5z2m)hB!a9rLeAg+9$BLkaKvH2Sh1I<0SL$gOYa zlIwJmdN=k058nHD80}7Eb|vk7I2n!{yd*gTrx8**I8`Os?;1pb9r-&v?Ct(Kw`QiM2=BxH)gzO(IRL^62|= z%CA&6)2e~u%(f?eb#p>10~)<|A+u@u16Xxw-7&)9N8n)E01PN!;@DGbiR_Dpg;SJNFSbJ7ad|4ecvNW}H!R4cAPfwkw}1#MeU;n;6> zx=vj=kd(~O2eUztd3Yv_tjjYnPe(&ovS9^cL76@D>~BnZfF7lf3ql#OEfOSlNY)aW zl|S+-=6F$i1G=G~B`^g3!p?JKyJBX+60OtAOO!`uJHm+QItYr#$}Oky=Ec$89;p0{ z*1og97il;${n%0ztzikHxw(^}U!*s(Tp)gwzQ1uMn-{RcFxh0T>L`N^XKI$!joVRl z$jocfr5o~dOo|1M4K_Ei6(O-N`!~t^$;W(^CM>OAIXKd=`#o zcA4rT>ZiSP4^k-Ra@OfZ{I5p+apYP7Q9b z5UhBLhg6pE`<#vSY&4Ejb$0dV((=^E@L$ZrjIwWXiCj%9o)&1}c z(|6$w(IhGEP6ilVe>s%uigtMsn~x?N-Bw)@FQ88x|7WLlaM0N4Hg+TC7OT(%&O0`Y zj69$`+H1CGa%w6S1=0N}@)d-iPDo*mU$a-C)*K|N)+4r)bqOcCU49R^FhDIPG6RjH6 z_+yPhY1fKC%0N>mAc9p?w)m9Q1 z&6>n;G+YwGdkksBqr)^(AuYBf;Mz?AR~c|k0iUwStL|ssmM!>F}izE%&@WiA@~G_7(A()#?9C6x_N2DNjAT1m0)Od z#;Z-2j>+dbWz09pp5%g5%Yc;H*0X@Hz_;HU&I-;WgZ^eH^}u+96x*zo)FX+vrOpzi zPOG1jmhzn)s<2|X7Pb!2T8+E+9T~o+vz3XKGZ?(D(KT1&Mot{*FC~Gs7^`=%8A(PF zGS4}Y1olJc=!_xC4xS+*HPdID3O=&?Ki{VFhYFoQfL<(5_oDYdis=2L6S*jF;5CEF zdKIICp~V|N_rw`xP&}TV%GjCR{Z19i;L&k)y++AOS7ls2%?J=V*`J5r-~z8^@A58F z+8>s(4#QL?<)xHK`$-fn4OvWXkx+!`r(q-;koRW1=fjmL>^&0uDiCpMU{ndsjerY8 z*{a+*{= zB$f$niQ}rgK*V5h@sS*5?HIK$p;s4&UY!pe*&wOst*|u0KQ#r9VOPpZF_SAMsbkba zq<%5Ftml>%9+_G8Wo6Pf=$AH8%e+9zjcB|q>#(AsQ^c4dDTo`XmCPfa8ksJvheTBs zr%0Xh#DwK|2GLF)rt}EU3$l&SW%(frV)&uDprNhMqma%-u>VOLS!G;i=2WCEk;DLl4xJFw5DC zR-;X_SwwFBHFz4hWZXj1kudiXXvzREH&jCtrq*#RHS7e z-2UaY;-NEh(cf zE$@CHiE?wQgs_4}RAIPDnn-T_97N$R&ZG+3APutgCgVXw6{JG%98jldiy$A>q6a%m z;ud<&T}7r2FMagxEJ7W^hoa#jPCMQ9zVosn<@Gb33K|Ku89>sC!{84lbQP*fSyk30b&au^`CO}!+r_*BViJHDWB%PNJ)gCVOSROn4V^QEW}WF#hAqINk= z*;1+|$)1@Nu|&Ea4eiW&SR!4Irs&LiSi(||q8`ky3FJ;!?1MHt9$w9^iL0I|X;M6M ztuc+{7QC0G_=Thm?qMh|v|5@$*iw8-L(k&eK?7MJ;xeq5Fg zlnBu5O>N4n?M9nR>RQIeGImb5$<9*0JW6gPpKGhB{LM_-1G%u%bVF_q#p%{zVsvqE zF;OwHUMVs>X(T6>+@6!GI<_Pgtqqi5=D8U;sm+^n+uKY8%khp9ltjyneo!|MBiM%? z4nY^E9Vc!`X`ih^m6Ku0$LtZup5h$}AC6~`m;Qh=SaNt2Iymr$?C^YvsbP-kej)8& z^KJRZm+L3}v>)zC?3H9*R8~t_(g-N;6(=@={t(7*%*!@5jBnr}8)oROtarV93qQpL z3<1kl+h=6;jF|=K!q*gj+@{2UCM&^Pc>^JSJu@OT$@)Yh?09C9F$a$JX`I3t8(su${Cm!;uRIdrW__}Wj9d5WPK3y<=E#@r%S^eGuOG7p=A{3ng%Mssn9VG7CE$yr z#kUo5VD>d=Mpwsk(^4|(XT&y>E9YQ3i@4Io;Y-stx@$9g=p}YvjRjPEfZLNimwv8F zsg9^*BnQxz^P=8qBzFyZvJFdXj>_0^mu*@|$lH4C_IDgusk@w!li^$bg#YCH52M~G zEYO!@cQo?G>*3jLQX@Ql{5T{3L#6h#R{2}C_7omf9zA-p`8UkD__XpZ|HGH~`R?Av zu^()NXUpFS#S0=e^6;`dc7u?zH^{>nF0?+n5+|-dz+iY3TQ8jUdLWx9{t-s+E3eM zjxRCL;PG5q$y^TK#oZSUbrA130Zv0qpm%xZ_s+y6UO{0GC2ztGmOz1lcQQd6Fn~Z5 zLJ5(n1Xy~WAX^kSF!0=#;u6iep> z3jkaW#{~88YI26TC;-lHQ(uOeQjDZ^ba;Z-!!fKjV7b1$OrG}B5vCRD7b%1q-BatG z4MpLIAB(^L&I5G4k*2Ku-5Ce^MBt)=_E>6W>`gdAZ1m+a$#wLgM%B`g=dL|s@RZ!BHoL&Phw*lj!7PjXe4Ul zgV-X@f%1p%y02OXwe4h?Wp6;$3!nav*-bwGzXFCq_+$eS*9^VXl?{|SX%==@+OvnfHLCOWnup4X^-SIOFil>FOv&Q;qN~c zfUTD?I)fsn;z4?_wY4l(`5oQDSQ}^Z;F_EL_6!}ReqCOQnJ;dRSwpqvg>G;84%dGf zE+1sm9W0I6`JbxQN4WlD*5pTcx$X(9|BoKkzU6=VGV4EcxV{jfz*TGkk~Gc@g&Doq zC@;017b;ogX};7^-$A_&tTFq|9oTj>s8x*B%NLb60V$>OiCjx|4iESC>n}SPsc*O2 zJa~tD5of=(Q{P`+Zv4`1*PY#Fr~7algQYCNl%bx{im}$8o{!i=AH+iZ(wK%z_UC6y zmKPvCjK@iZNqa|0Hb8}1MsyF`t(WckYwUx1f9wUlGXrIMf_X@LZr@A4IGapH_NTpp z4_!>Oz1BN(gHsRB$d{6@VzQ)OdBc;`Gja&(ryig5K|A=EdW^m&sfV~!4gB-eb2JU4 z9$o?xB0+jutX>>7_jet+aa|6Eeh^Nah_(;6#ovoMwM&vc)ORRgfRsr2$r);r>&B=@=~b32Po2TAhq-HPuTop*KK9 zH1YJ~Z&PpTr2t%DlHcUhK0ZzZwmsw2=!u6og5#5Z@^Q?485Oh=%loaD&Q9y~VRN5? zKu*R}kExJ)x}2iOGhs|OWAcf$W6?Nl?e8zAX*RE3r?KDI=`N?qI4t#0cVleNG}Q&ozNnI@LSjEw2s<4ivW^xhdRU8v=ul!H=ts<9N>7Bu|nim22fc#58Q}9 z?69NPCj7Wojy5i{XmOb&#$`@wQ22HmM0{aDq>?!x$|cweRK7Fds`6Q&#oFLpE6&=0 z6*|8%fXmXEXv>){7up!8ZEfx?EoG~Axpg~fRk!Jby20K0z8~1JaJ-5A`H3I61OMNi z{VnQr_BTn+QAc-Ml2b;NWdE)pW+v22bcJ+F1} z^@eRSxCrR~Lfg^mVe4TM5Wb7RB(Snhk;Ee8_`}{P0$^5Alke}v==RCW9jAj1!>xl( zDWVU~^}iQ&>XqO-b%nl|P_^ya-;4Fv(f5)DV<&n-P}JA8CPGRg8AD4{CuWeRSNVuR zDXlZmrQL%%3u_+iB>TnG(%D8Hy)k)IO-Y{LweL{x+86-dxg|!N9xCj(!~z4PSCczP zYXj<~*^sJn!v;}a*;`{tmMVLTc6hIw-5S47w<+u8ZP{Fi=Bjj3^JII#nmd_z=OZ)- zE?XZz6G@{&>TJbsUO>4BQ|gWLvT=a-K0L8D70<=r{}H`#CncB^e=o90v6OM5mngu7 zTHL3h(Gs>;}=lYI{?l?bgGM1W1BLc8i|ByKs+>}Hz{Jf`_e`9i(cZvCy9DKF zucZ<31DzrY5$I=s+VegWF6zvfA@zs7DIT!8YS1qG!mH4PLhlB3 zZgX8wY6i^iMj7(}^(l-hg1Mq2%3}}tp^qorp#2QTm|kIwpwIE(nEN~l6!tcvd4Et=T&`wU+>h51|_oJZ!k#c)NZrgz%=*G1Nn(z z>;Odom;JKn95!~E_@VJj18}dm-<2`J{SIhEjej0NA$Tb>(04@9qyWN75&_7)bJT9U zM*Jv&{fkbw**)qu#LHG|7pW^Sx=a%kxGk~YLVE9sqfUbm+pTx&)I2}|;y?-P)KRBN zWWqFr?e@_js%s_js`a*kA!m2$Pk?RN+o=|L1Pi?^>D7!4dr2;J+p z>qr<({I}E9i$RlJw8a9LxWD3{@p8Wjs@F~f3$zf>+h(Uxf-!1#ut1Xscg9}!5ALy;s)POU}73I%h#`FOqoARA9&Cw+4}HEd85JLaXao9l<3)e1TH2_|OOcmuFi|1L z$jaS29~D;^*66+eLGKD)eO-#)#X!wM;`z2rC6nkP(Tu3TgXI6)>le*PD9NtluPyV2 zK1P6mYBY=*^YJR= zIR=0370r9R)Go*Pw{V~afQm$jjHcn4M5HVdrLHk0Q^XK4vhgj}2n9|7H4f=#!3|N)fgK>h_wi|fkfISehNE~`mM+iy zfhUSG)zXZD9L|DrL`6|yviX{uP4l$*Nc^ZcI8T@28@1W2gi+Zro|Q>njVt>GS6VOT zO6i-roQs~^@q{Xrg>9ZuoCH1Kb~){C{kgoY=kNb`kNp|_e}L_tp#M+p@zcuF$5ki? zk1F5%f4<=UuRfg&(ch*ABJ?V9DU?e1`bN@9McM}@a;4h=GG5W)4yZbgLoBOI+xXOp zZm7>KsOc+GH=*-`v*(zm4JR@AeCaF49+9;2aJQi+5Rm#_dJDIq!V$Etn8$?S@OEY=}qcIrz zjFx;1_hd8&Ws_AcO;J6qhHOrMqT22E&C2krv?UXaMo)i_E9)b_DkB{UNy2y_Io6MQ zu4u2G8kCR(OT1&O5kvKY(&NH+&XcDvi;(=;%Jqe0%PW!!vhK zOywXY;&VjHAA+#ZS$}Eq*?8iIZ4ZRx!pT{UQdOT+5hT)amqUX1>f? z&*;6rpm8k|ehvu|TjiX%!@<7)hcLFGaZoiCmrh5 zR=a4C!j+E%4{XqI@!>5Ue(AJcH=GxEwS<=^e74v81uxIj!%g+@poL!_sjvI>_REHI zaP;~`qrLrDJ*A@o`LwhBL_N;Gv`M7nrQ5QwAq5kQ0aeRfaj=3e`&H@mY7-7YSvp2z z|I8LNX=hF(J19%rI)nrabNlLl^7;#6lu>;S7J9W{nBAT>O;UvBdX|Q`l1^{+C2mby zSE-gZ8)RWM5ma-)Ij5csyqSkOPaYW~WK_?l4%RYyNoU5gUJfeR*~0{qMY8#dNdlP} zM4Y3WVDaCLJ#waIg7Yb%fe;I6EN@d#wAZmJqVJ|PX2tsN=|ClB73LFNx8WzIUc=84 zI*l*}(-?TGDrHhtZ_<2YHf_F}sa7Eg)2fq3q4Z0gJn6UG?eue_uj$t&%1MQdSct43 zDRoVMm8GoVYh72PI{HgPQ%k+gtEZ`o%4Cz$(&UWFQql;MgpOt)W2$KIYH+r#M*tTU@380RP`8CP0AUS3cYMZ{^X`N7aP?@8jCz+PCxHFBAXa zZN0nm3f2l5XMl-%41FuTIsw3QuU6w1(tNNRU3PndXTQB~nv#np;86N*@S>3SNUSIz;eGkV! z7Kvuy5tVbVHfve$p=$j8wC~GLN1-?7kIVNO`<;f~ofyFwBPeyS+uU1Tj=H?QF7Vd| z-PT&$LC537_YIn2{4}BnenCCVod9)+EIX}(z2-~j6?`}2UqE+atV&VSe=n*VRU55O zV&msh20$0elcSF(zu!HA%gOy6B)kqib`?zVW3#y;yXQ z6Cd(mAVpy)*aSr6jc;-jTIz~)^hMroj=orfMGk=D4{A1;qtP&F%xl#_bG}j!M(xmh+R&n$l>6E;pMaC?<8@svPqoy2@%KqDv3j2my?o(sjgLOcL)=emJN#Y9kPh6vO$`~ z^l^G-@ZuZ@s#IcZpCws%4j8SVW!M!ogFWX#Gz%NN_RO46b0A$BeN-I!%$$aEU_`~1 zv)K2U$ee4LptEOZ#PrWZBpkBg#6?n5TY(+6n60$ zl<#|kwD6Em;}s@;77L)8>;EY?|Ig(A39p_e@BdZ5#ee%!{+}W>&amq@L%Kz`0l!`T z`*!*7+vUG+m;b(9{`=~e|04JM$P)0nzSC}XoL3Ix+SrXf?`M@ko9`=c027FVcC*_A z$PT<7Mj@Ej2L4A7m$W*N-@Ss`bvoVGUFSvPCG@#J)RWQ4R}C19YauTTRZ7$tNJB0} z6Wl)$S0I!*M()Wp=&>lnD?%tUKoE{6EP(LT1gZdL$6g3>iG)VsbjXrrtH4(RBvHDk zdv)15y?1m#4u?8+>9>jQL~!-KNIQ6DHzKt0@Ir+`--zR*Qy)Nzk|hI5UbM_Y1P8$>xG#uojW@L|l3g;KPMCK877-68?+*I!@4HM6xWR;bTg5sgxni z6UjjR$(2(qJ+GP=3eoymVYro~lQDYD#{A~d`k`9Jdx{(zjlw%a+gou(jbO$QrTKZw zHh?-}NaNysUb-D#amz4>dr*;-6rR_3Je@KT zG#hEKbTL&dO`3+(W_3c8iG6&KLg+?<*=|wXgdhFUhyq7Xk~G0r#l@!{K}_=aqH|2% zbajfyM1?X5%IwMZt4jZVTq=p*)uTD{4@*STk4Z@c-;%YlY=q^tpjb{ZY)wL@>t1Kh z<2v2C70@k>bHmASMB_ya3q3ie{^Ehr{_vD$GCDP?wZa@Gq7!luld2@gB}u^2meD>j z!>!uo`@=a}whn&+ot)%I_Z&tX18!+#5by}*1idVLcU*u;VYW28=eAB_BW91e4f$5J zVxbN*-T8#l%opAAF$x8GTE-`3`ot2Mim1;}r7VwrI4k|}VA%UuCZksLt?zrzFmPs1 z4IUHBLVe*5styK9aJ6+ty{XZgW9<$4R-hCBRdyQETST_BWlT7&z#o5zSsK97?>uj` z&a!snL=e;Os4^#TQ(+19 zpJ!50lSMIrTTwC8{jdZoXUqx(aS`g@%TW~(v6CWLSrMnCWE^9q(9;QHuv4-}QH@%T z8VP35h44Hrh{|ZJEaKL#V-8jyXRR3eoSQY@kb=hC`Be*ukZ;P;Cp8i{4!<+awwZUf zuFJn)8*R)))ESN@UkF*<1Hr`kC;s!S@FPZ2cwVseA=>Xg6N~^G7F_|-^cZs{d4cG; zA?@R^Rai*&C>;gKT55pvN8$cc?rk_gaF;eN`P((l3h#zHE>0_h5Lhkp_~JOX$pfykcdL) z5H?GSi&JO;I@4U}jDYQKj14>0p@Zyd*-R^xjn^m}t&P=H@yjp2JQHW`g~xUSKMWP? zG2fxeOV$V65(C47A}~Jp0}9=MhT7mXOt4@OauYRC>oFYr|vM3_Z(w4Z6K>m)pZjo!31bNiUFIXySz&bRH zKz4^wrBCilZY8Abl9DAP-yx`!(oKFz!I+JOT^sh~TncrRb2-;ctsf+*{ zdR`zug2eL1#*JI=LTiq)7OqC=a?m~tZ~3JW@72Kz+I&r$uZqg6Zq+AvOAf&V({uHP zqL89LEgJUVEq+w*uyM>qO^LwV!QdF&#-NDsPC#ybKc{PcG1&daA%d&s?Gk zK7cJW2PB}6w8!NOo#@9hODvF>`F2b4zw-WPI+xPt@&Dd@{FLMWR$fl`S*U0zU}?K?ft&({l56#Z&}5;L%+br8&umIAPHU&KY+n?+70Lp zjX!y9o5^Bu^N^V)<|^F4%}vOeVoq>(DYJ~mh2;Ii8kIqhvIGF$m>9Wcehj<`>_I0R zen8KK1pN!%!k0-LoyITS#sSPwcrBue?s(*GU{$Wi=6Gq9pPAm~M?L{HpONz-#fZ13 z!7+2$$T#}U^X&K5R~)|{NUZOD)eb^zQ@)3-<%~^D^qzJGli|c2IDvBp;u>!}VX<@^v7LZ& z*pT&r`l)uNaeS^Q$qjnX_F+dW;c3GP^e!9wc)b>NH@jMRMmH2dIWa*P>2>n9tmWA; zsIof7)Fn_t�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

      Jgx0*YA2hQJwN` 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

      KoXWwH;71*!tyA9ZvX;-`|AZG}eZs~ElxQ8^Ke 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

      2KEZ8nF>3Fw(YSn-3!pwtC5`}YF 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

      1quDZhdZuw2c%T>A*8bI5|B+`SNe> zv(^d1^3lH3;GQz|Y#9L)dw=?9;fwctPd#+Vqli5yuB)Ss^#mQiwkEI^qnZRM5&t|+ z?P+$M<(MQQkbq1o4MTD4Vzq*-^R|CH3TF3-Ygk#tgfaT!jV1b{_2#Viu807s>eEWk zY2y9M7-5V#AbAWcVIOa2^d2kjPWnw8a2BKDhRB-2wp3ZsAnbH)_!ffO%eaB5xOE{@ z{!wucbyYMf-O_~J`@DG;m4XJtS*D!rL=(xl&kGlGd*6GPThWgqKBU7B&uHIXwmaQ2 z!ja=3UWja%xB2Ag{=%;G6kz|AD4y5x>AI1PP2yV=$5EU`36vv-7sGH64a1a0+$4OH zL{1#GC$SNWG2v`!1~C1?e_4pMi&f7!-RN=w{L}H%luP*-llt zDi<7FG#o>$jf}#{hq9UhvYIm0+1>=W9=e}1?V??mZc{zP*77w!7EygS@%zwTDE+b< zh3<}j&%yRjb{?8;+|* z3y3|OZ^`AZw{v>|Iq;cwOAaOA5if=`5!prwG+>IVUxt7K4coh=nMS`p6=`0S4F| zEr8RRhPpjn0r=A1F(m4xYhH1jsoUl-(Xu?WEEMvkss3L~v>c z`8`*KMz2&DUc$f3l27{ZmGB4s@+Mtu3tF@WG+)=2kccS3XKawICh8gY245dN%2;DQ zI=~_QF!`wgBNRSI6JA-X;Y$<-vpPf9uc3M8GmUMpVl+gIC!vc~7mR{Q289MIY8{qz zo%3~)PL2YF2C$eDc!{<#uqRW}%dZRRA79*%X$%_b6%Mt=L6XstNJrHqz5cD(-Y}U$ z`L1Z(obDYhX(&D?r)Ix3K{hFdF`0V}X2N`+@;*pRyccq7=OKz>oj4FfsaoLSRdiPV zg2I6MTj8v%x3sjjwDBdohvhgmL@|VOa&-;kdEuf2jh3TaDico~`{rW3tw6mG^yxB0 z0)Lr`v}nSP3T24ENGS2YoplfEDd~VyM8DJBWyg2n9 zbRe86@9wkhY7Sz(B}9k8KAmT(;I%=Z!VM8eyz-C%fq5Sb-1jI^P@LoH{brS5c!Q)- z-`8lBU)dV$w)gL`HV_ebp}m14E#G#j_u|4#JCZ5Nq5`arcck2T9o@qExF3%mO*}i2 zNr74{9*?8hA{_9gk33!Bdb=|iz+CI35fH?qe{?}D>Z zWCwL%pkNZ?Si=z9(A?oKKmDd&wd$IwkTW9RP%sJ&c*+r6e%^ycN?;Be?IHC%FVwbcss z8@~_ktO~eB_;?MZlC@F|WJ>V}6eh{c`5aeymuE z*Db-eaMK`7)y|%iW5Go05s4~?r(x!Ttc?+7fB1=vpP~r~UM}MKWSBZZA1GvctQZww z%ymbsO2l1s0Hj^?j1R!Rdh{r=cjs4PHIW4le21GJIp^W4`))%F_s#NA7f>S?P>b)x zeE$Vzv5X7#GVbmvAo1puqc|86*+<5r*K*X@P<6%Zn7 zL?iyX&@f8|MWRO+#0sDb57Azcxt0!ZNN+qzuJh7ElnbQFf{>TG#a#w0YZhF2-RxQ~ z+R|&>F;21AIOBrrV6rl6q5p1mPT5N!-_;N*F0e@)vH{=_k)by26PYSK6N9A%Apu<|J?J^H|fkh>O#xev9&ttz_H45Xf6r&Ho$w03A zO${WQK4kbN`jr(~v;$nt(km(h=`un>il+WU^VnbmpNS}IWIuZ$;TOFID|+~5c%md| z6R(_v>tbmu(ckh=<;5lQ3tWl-|s*jh7Z(j=l zRWx>#8I9>?FmLUnOmA6}UAODJX@T3`W(jPrY#Qh@ChZw(rvfAlr@VLC`Mguk{Vh1< z=8!LQbmauleBG;o%4Advv;_KinA72|5+9D0l5Kiu8_b8lP+G3D=5f1PtWzUJ9k>*VP3 zmUp4y{_k4-$|qR;OM7DU@9xx>*edo2_*ZVxqeXk9zzi3^^@rN*qfXc`04FWvN=U*Ye=Y}>oRm9B)%DYy} zFYx;jFgxBAqkGr!ZsGkx<8*GA<){H;3-@W4jU&V@8@AIAkG^a?nT6Gx?g`aVcEVrt zTMqcENOg=c3+_>y3vtUttQC&~B$~~sA$sil)~t?HeLE*P-`${Ysh(D|Iqg9mdhhSQ z*9R2gx?Y)z#FKE#iL))2#-B3dj0z1a>K3gSA8X1`f*p`%{U;mL`CA8P9f~oOSsYFf#j6k72Vy#`V8C0{e`cN7LpD!rU?pn5>juC|W1lr-?`k9plbN2Oc;wtP~0q{bCDciDqyM${6r1 z5jhsXd0zTha)xc>na?}T%N*1DoL2v5PO%aE=#%HN4!Ohq2`4#=1C}{*pFrwnok=%} z;`3My^xnvDH{vX95Ft8FnDvKzVJ=p)= zGdoSfDL~kN?A`lCFW;}cw)FLhFed#iaa2N1ONN(-Y<2Ghe>I~Qa2px z@(omg;^>+HXjjI#9*7S=@N3MVCKzl3`J+51nyf<7HN8%eAaq&Bds;VJ)*NGH1~x zmdDBx3Zw!R5)Ls5gZDf?rTO_~;K~b|V`NSR!9nqe*a1ItM^!CRe3{}Iy;t3T^|4~? zBYe!ufQZ*mI2w^LG8$q97bvZS<|bER$|_Kd6KJFAet8RuEzA`b3`Ofo>00m#ByTSr z<_KtTLa}T;aB(*aQ_|4mkTMp+Xhg6u>;QJthglXy;&F_JC;KIM)sMmxPw((*$6>R% zD59sDvYnVH)ojOSU4T5(RlY!|fr&O$)yBnms1~m#rBG!>gPlPoJIK#o73t-3CcSt> z+(PlN?g=|iHlFtneQOg9`7eWL1W+6d$&6m! zE!|(M?2W0IyAc zCXa;PF%L_v84LHW=t2Yzj@vyr&<6I-CKW|9EORyB8jrk=vo~yJwLWv5EUN$L`nCyn z_>6lo$=r*?2qpt3x;hybrTU_*aVXPN@nlp$`4eHNX>>7SOb4y9JG3|t8Qg9#SMilv zDxoMcZecZ1L9PailHVHlB?{{aH-0>&@U1W@AW{YrT!9S(DF6uqSA)EkxCInuA!7e* zybj!!PFbBn<&NooiL2l42F-gY+^xZsIt6x-<${A>2)sGQB5IZHv*_0ikiy3kOL8xt zijz=9ejO*X`e3dT^PsUc89t8D#F{`(e9LWIb&IEb1)Hd!G=|M--&Ts$Osq&WhDq8v z5-Ax$m5TPc98yW7|NLSAdOI>r(b%rPl327vq?1egYO%JBu&pcI!*V7uAQ?Ia^-f zQzoX$_0BG#Qe>~hw3cf&_*$I&1pTmJhLMu-X>-ac_p|eO8He*qNd;4j3n>T zzCt@^FgmcfK#XDC%LjNw&f^i97*E({4b4g5**KW6rvkAynN9RuP6-p-XISc7t_94n zCayA!uz75bgr&k@((mHAh+WZrG56-9VU`VO zY)on;yp+o%sm?W7K;w7`TioEJ)A?vLpDyR(yR2BXMrLufY|w2OSY{ZSnA$X}VdCgI z{GFAtFr7f&3z_rj5fViOri(|F$ML7PWy_^B@6$ z4?|5*l1Cq5f>a{k04}(SDHKjD^cp3LQQ;(>UtJq9%_Xpiw?Q&Y_XP>?j#Cp9?7+** zqzNI{&$p0y^Efe>)Jbg2?-5Qgn!I)a+jngCsXdkz!NFq#eL0SJaEnawb8g2zHFXb? zDj~Jr_^xjgyz#YTK9eYpKLNQ65N!c#&RP^6s4GOKnbrM!yiEG}T%?~QaR&H5a4%po ztjB*2$dJs}NqaHo(Oj(9WzLwiIcsOS=jhy8eCo-fb-iVB7RjMQX?v0JT#-|wu+7i% zi)B^g2>k-WNsMyGnGQxziMT|qmY1IxgS&DMdA2My*SBN$C$T8`)YcF5q!!Rf))p+E zuB)EoO$$MI%Yl77zcOp%WSVtBWlC%Dsu!Cb7IMouTgNZFHpYx%p+T<`2H|rob<4rP zvBE5wkf#Y?<7~kWz0;%9jY$O4sP3s@7)XW=ZY^b$L7uYO$&3So7+zO6Vs(g!0|n(s z@p5W8Nhim#MKBiU1#bK-NV$4vdi z^)m4^3J7TpuRa~EvlnK=7zY_}HkXJ!-V#K&aO#U=MR+n_2M3lcqrJCmMH{#x`|RG- z5f8I9TwC7dhU~?+at*Z~DbG^;^OR;N*<-yK&|>IR0<_mSnwY>toE~WX$K=P!dJR4& zKPKxKonhU4PS!CY3c1d52jNgta!8G6;Tz}iy0|mxn|11)EX|JB3yx%Ah_tLOi7HJD z@UkMwEJN$`m{JuN_|O!om7wFnbxuafN~37zrK*K;_wo&B&NM4hkZ4<~T!D-T-W4_Z zXVzsjBqkXAt}a1fa>)V08y0mldVhj%^X9REo%p1l# z#VB0SfY}X{kpRU&jMHr_`<0R-FrB8`>v$9z**zA7!_1{np3MpKIP+1WSq5Dij_@qG z6P_#_bLv&8dx2EmWN5-c;M7rK3@q&c`Pva)ee?uLlt;`h3b0}vDthIsoQRS@$`YW` ztd=SHt$nr!WvJ!4O8J&aEU2b6!ap@`k6w>1Gp{G!YXaUx123B5Tp~V)f1fFMPL>z~ z52H&L<_3u)qT`B2J?a!kcqB;F6Yyb-8UF`!N{Oe7I51a)g?z{>K}P@a$j6_hi-Z2B z(N9&QlK&C(<7b$eCFyjsk>6>yW0)m=`gFt&;mm~jq6D1UgkUkKKvVa?N~T2C7QqjU zQxF?$=l8;n@C*?iT!$?%A!t_Im0$)DSA#ZE#;|G3(QFXdAEKYgcy0RV5n}`9(~SKa zS)>&$j|X=PRtL|SEu#Skx5h&^`T=&lhc6yIGS5C*z|!ubc{hN6=O8~;7C<-}L@a>m zt8lh}$ok!Qjrrz9n62V7ZJ7j9buYKKC)xF(^oP8d0{Z@`C~X!_&P}=!0GWxnuQa(y zVFWr_AyU#BGGr4GC|ti}zC@M6$$abtb%fXH><(bxd@EdFY#IsNXtrxtlAK=Ivdob~ z$L}>DVni~spps-gBnL{OnN zBZ=p&wNiI6c>tai2-6Jog z;eeAL0}l|W!;aIThVuhETt_^wOb8?^2o{(Ge&6Q+wD7U6eX>&E^V&yr)Q z)}O^>NPVzfbEj~yZ7O8+*Y{kX=90^qljV%j3UDydL%taAp);zQGga9XA1k|kn5jAF zRPx{wJxaMq$DE7Qlzp_5)$e?gdM7)_tV@BO8V;al7a!~5qaVx@U`OaUcz$ZezMtA~ z)}`u(sN@Y^4&*I-5k%Xc>OdQxe`|+{nFWe72xt*lCgRMS=J);PdGEB3cIN8I_Ftds zY~Es!N?{s(Hw{!pWj)dtTK7Bl`_bf6Gb7h@lp}5{W5eOv>iel1##GlPFvy2-{*+kF z1?OXhqh0Eiam{=12D}^rd6zY*RA|y~E&4My5XFaZxn$y=35oau7g*SrY5G3;!4Wel z$#wL@A<;OFuTagr!uZY{#5XebB4|YtkA^0CEq0bM$0(jedG_o5dxHBelLA|>YH4O? z6MCoWd+;_#x4~Ts%+oxih0w8yv=X<>j?>rLZ&QqJjwS45_N``%K07EltW|4YQ52pC zU`p#|v(42DG@{bbbKfvlI2sC(=@}3d?Wb53Q1&?BV&(~jULuvDV`8AGqE9g)Fd6CC zR^I^tS8eH91+EkX56-^K8b~_tIh6N&mJuj_RbZ}Sw=e^6Y(0la8t1bi7|f(@*UKxG zub0uxT}ZLZ(yKuhiM)K7UYy3+EcBlB#nt?uSw;^DnTaF4f15-zbO^XJ_l&W=b^ynK z`nG4pYQnOj1*Sw1wzZsWG(`ct$eKwPDLiHNO5ED5y6I}3J!8_=!|D31SJGLMQezcU zQ4eZ7btPRn&m>+9PxA4p2g;r&X)I#}U_4IuD@9t@pXJgiM0iKtLXA8l!0`R%FgqN%5t?{YK`=SUSOVUZ7O(cCbkyFYB{9gK{+_v?9 zlmPH>(JY=1uAN|m?uGszOeyeKh^C8D8`P1!BeZ2Oj4=#mn7kv9yjJTRmP7)QT!dE< zWyW4tNkDj(wB3Fo0PJ-ufO1{y#mO>fgH(u_GpRrdRwPTNz#Q^+j_6tz&Db`Mtc5>~ z2B}LgpF@A-+WMDMCz&2|BnD+{!R4SlWMW)k3Gw1pF;geK-)5CjxprW!7ls3Ob7N!& zRj_C!MN8J{-qP8HTU5c`LyJn~A$Hpdk+lpNve;79(1gV|evv7u!P!ObT2ADj1=e=P zbZ@`Rj<4vpE%LNQtdj|tYA$PM(XugB>yB?u{_@Y-%;kxJ1!w4g{>I}F7>~N9FU}+?xuaU#2r@MU%u9x)*Bt5 z1ugd|vuZdd5t@%mKGm?d@Z329EF{l?IH$-~6f*g&d2+;(t4xtjt9jghb>fuT-G1_y z>@Kl?6JFF20KHAODEp`5>hYa|(1>8i?k4eNMc)rj1}7&m$YSPjAwgH-RjoDr8W zM}khe7GG}k(Sm6ZM~zEggBE6#;U??<5zSH((%HjDq@fK;hhFw78iv6h5fF3|CeEVA| zGR-@v<7l;f#PLrsu>;}wz)AT(lq(F05hmp^O$|GqlbY3vW`+18dV^Ucq)9wEup^>! z<$VY-fG=)C(GwH-&FO2kbDjZ$5?`$h9q+r{IXU&RVrk344C3*06wc7UMVJ}Nl4iG$ z)Z)V-4u+ET5CAyg77LvMEeE$~U2+n->1fWV&$_)a^j*$JmjG~V1%hi=;XMh5Y0aK4 z8aao;faSK$k_+Z^8p2pr)7XC0C;)+0h`YyIoRf*(AI5yHBizPy%wHAU@LG&w(v49K zc9onAN&U`ww@3>=MrN2<1a*pMU^}TO2e7X{3YfsRHU zN{$d6MoAY1g=*|ZpGqRBk^{ojg?87AlQFbwN7RtED;$P`^VVucSi6=wU`?&b!qXzW zCAi~zk@lRW12_k~0xqG)At6zOjoUbxU6WnrxA&dvV!Gll1|_-#N(mW9Sr%>lk&V1q z!*}sCh_bECNNBvgEY95M$R7q1yJv_NFC>-+W-|RYC%@1>MTN7~7M%q$iFaXYAd3!n z238PvQE60Nk5~^6<|X>4?*kGht-B^`lDN~HD7^`LFvOX-N~E!y2AvLtB@1`9{(^W4 z=oO<=5=~Iw`=L_;ghoc%3cy zaJ>5#2K4l<3=8^uj$oir#7z4}e1snf@++=pq&u{2@%z2JCqES{Nq%UtkCbx|&wd5k z+$#w!mI+EAsMSPEaM(2zQzQATErj(gNIaP_-8(_4Dgs=D{BNQ-1e1{`dQ7jEr+o>Y zOA>Z3V_I&u+ywjZ11i(BL>+?IeL*@a5$5=-PPfl)wT#49%Lr5axZlF5nOmHwgj-GC zvjW1WJQ|FyEKP682*Fd!YfExg^uBk?l6n(U$%N{o9N;LSL9^1ye0&im99BW%UErlK zPc2ETDR0^zQ!#^KVHr4l0hfgWufWVogO!z?2~w5GTm@HQPVj320pXAi8yI#4G-yx=J=kG3%} zM`Gc|GX z7O-#eR3)fJy1dLD73oj1wZn0{j_|fvSuyv;z9xem{Yaxc+MPyE`wLU{86^~Ld?}5T z#cu}S4Ot+`X7eEqaPk`_NEk8H$kt{=FOlZ&!eQ3fUHFX`ChDR_OGu3wtGb#WB9N=< zZ0}-j=fXl5B%=u39>p-mMa3RPelmwUpYlTRmbsL@a5-otFuuVu1_}2Z5xB%&$V@qN z>y()iW^+2qi7eUiOu~v4JFFcCA86&9k7xMq)W()bO<+nv+Aytf7a)}dCc(-4$_jAw zf|zcW!Ko!7Zz;fVNiv}O5a1LX$4RoiNhtd26FOPrAZilP|}!*q~D(^;Ib*`tm^%MnK^4`3fz zmp9yKeb+ka_4}`z-?jSPcisMZ`?UYMN|AM?ME`C3dCO3UoBP6yDTeX2BK8Y)Lrb1<^CEfVdWh%)RA% z6gXtfaM7e?_(!dm&GX}4|81w;lc7?)3U5_#cyF5D!&_9_Df<(y@PY zSf`QG0X!iqB5Ym0e`3>83)@Y@(o%&j>K&6h*i!G^SxYPXXd}G0=n?d?-8w$Pcm0dN z=@4H70(V{mMCaae^Bmz}@ql-p=EwE6+l13mG9rNNlEIV?#5g&iW=}7N{&2?CX*G{z zSWgOEJW$ewMOL(5ht_*5bciuwxUHy5q>|c-O2avl&j_W)OqrC^fer72B584xrAl}O zH!4)>Z_^+N#<&PXP+AQzg=#g8NijGgbV6P`N5zdg+i(j55TvRJ)Mb(ccSM!m#w?RS zdNiij@RK(u^{P(#__oitJ`uVs!GlKdg5W8HHePTmXyaw2h*}y)#WsJ4a-dLYXq!>oPUo)bBISd9x0rAcn z#uebnKQpwptdtWY#FgSLN0d8~0K4>c>5DEgfeeS%&lbaWaHu~-KQ;661*1&Lf`eemv=?@!)+p+X!#w zvuGs0U^y>`6bs9_O$^M=9SY`$87z2L(;b1ri;|-Tq0l z*9LYBmzapT1659b_(P`E5%r|sUriEQOfklT0Zp;B3X+hGt=Mz`s3O3%H=)OO0If?x zUzB=E7ZR`~#%p@=c(+lUz=BB}INHUl@adD3rZ5bOOx2s37Dhz}`Xa{Ce9PiB$aHc4 zW#{xw-(CBShjO2xXTOX#`l-5~Wu*C@fR;!oa`g7JBU<#1B&3jMq$4}nHp&I)w-XL- z2>tT-1!+7qwc$I}(h&wo{G_E#TRN60@DG?62qUMrXRZz7U=*jcHze>w8N*VnBQb&@e(p`~{2Hqy* zz8?&8%V5_TaTOI;Tbp0`NI}$MY+~ft;n~~lR%aS!y9#ptVA7Ek7SaITtWdI#2&7+9 z)Xf`Y3D8k^IkPG?fP6!FHZopQ%ZQoum6QqWaDRHEx1wKQn-`Ro6OS6WW?nR&=_ki8 zM=+nbaIUwEc5G?~ZIB2T5Xhc72X)(SDu1B7-QQ6*&f*JaN&M;*-(DiMRLSk)<{Ow8 z>b(GEXzju$3*F0P?#pU3wN0>SW{4c5XhaB*>iuYrG0fOF9QDEs#F{Cdh6#)`m2sre zY)(SD)QOkGWuF(h(2>$r#+QGs`Hl@su2s48GfVwcwanOXP~re(wW(gZ1fp)uJ74Ua zZNke9TPDahq?{AW=;LCmYm29RpDl!sk_1IelWEMAchV{K&(TSGzHoY4CoSKnyYUns zl?Aa9Nf68ze0jv60(zW70p>&`M4B6-37Y*OBZT~Ee;ErIFO(e-=QU-*Q{E?{D3@?> zbQ*nqjFDfF9DY+0A_n4XI1WBU<6y)XndNKWD!EQLQixWHrf>*@yQKG3Dof7+WAm~#Pr_WIEH6ac7Rouv>f^*XtAco6|cj2+#1@)^7 z3EkGo(aZL6t2mAU%WFmm7niZRi2_j$AlYcl~m%2w$>D4|*R2rvu+{Vm!2N0VWEo2qm^oyG|)_jnvknTVosK6=C> zwE}J!sVmp6W|D9l0Zi5yF{9`G7mrHIpNdgrfuu%4yGEH1x*56{NAFO@-H>Cl3c1MpdP`?-D>GUMa zW4&Pr_r^V_?-Nm5Vevi=3&wZFQB>$y9vXebYQV?SAj+G2PcMJFV7>u9juN-Nb3h;C!&TamIev zmxQ?u9k)-;%e(2G9ydGfZZ(_J+U-reIu7!|o{fCwzRTjiRiNt{W7HdP(u-O%0F(C{ zeMmN=d{DNvyoMUWqk@?HD=~;@bvpgdTi~~Qoi-Y0ZU6^3iL1`})pkPqCu_aSm(}ji z=ZxG9%Of%LXfFTmSuk+q^AknrUPT87@8Llx;#Y5?W_HeuA2O_DU3zmfx@SU~)rcf= z1^m})zJjxgynL&D((5RLc2%rBlxo;`fo+ss4j9A2<*=uLVv*1hch5jSP9o%!_?H;0 zf99He-l9+~IgoXCR9=RJq5}JJmo8XSb_Ej~+uJbF7E?l1)y$%onoIf%z4FnD#5JlY zxI=;&3jMzr-K=H*CBbh#GZJQAl$)cd%)R6#HMAn$-0LhE{+#*vVw&?4@5Fo(DazY* zFA-{Jjk1eg?+Svpm4Gl+f`b<^N3pP>sAcAwiktP1s!>b{O$g{}@P1rXMZ zJUJW1LyRE|aAQ*5>cq=Psf!4bi*W|m+c0Em!30oSQ6s&o~%~FEBX{?0TTF>(_ffh%0neC zFzM_ar737J7J7O2g+WJeuY*}O#ZXp##nE#2i-Y~b{|k{5mMM>ZzTsxjsPbS8DWvaP zXu^cuWt}=TVy!409?QHcgFW5YBjq}ka5WZ^aSM+QbWy%|?}Z4xN~|;O&Mz<&w|aK* z902w*NSJhjklM4Hq15{tl3dXGXVjvN6Gp$B}}kf0GM;A*Il&If}qO^HH) zpQtsMCujt-$(hmUJ|qkN56~*?;T>Ms7vUfvYo<#Z_#8<5@bWSmMB!v`2bIz}`qrXX zVQ_arR`8N?7q#^6z=&w+$#)MZ}W7yt_$|^Ag>1MsNqqU{&t4qD}{R`#hv_iD7)#ldc_96 zy8iEg1bs4UnY<#{G+Ld)|IAoxlyy1dRij$>3ljxpc)58 zL%NvV^oF=%j=$(Pilf+L>&>I1y^4gfC95~MT+ty69l^-)1veaphSMaxiQ;*xH=St& zQs|N+hBiGEp|_8PjAYL}cz6~2F%nJrXZeGtJtGR`(*B|J1X4w((_6VmrAxQqRQfqF zvM!PStO$gj+g_^KOk{v7Os|hj@vO{|p4T%8y4;bM_*!IO;iKcGS%`dcNtPBNr-SUs z{luhvdfaG_J!7ngypy)Y+`tUrAEFd*j;fB-LNOwW0^ODjSi3wd9&ZLo`uPzM(Drk> zL@&#Z2Y4lc%@E%l#^Y&_@HsF+D$ukyus8_6m}tJn*BHu;(a%lpWo(QRe2_`&Hc32z z552-zlsd%ZHX1&mTl#p)_NQfcDVGtdXiGKqu?+jl8#Gwk|mR^aclpgX)G*(#)DCmI|n#4~8Skb9i!ye%de@~37yBjVCecZNv5y6=++jr^&0E(t8)cF!Clp|_2JT*W>*>KYu1?EDcYp*_pgdetla*|j&Sg3FdI58Gn zS_ggzlXCnZ<;tf`i{hlXl^$xm%lS|#jLAwGGq^@4!ql6EbRF8OOY8gkUCCAy6{kfm zx<5?-6-N#}!w<3`{%HEH+s^0Z z)kK`5Q)|Na^6Z+KRAx-RTEW`Fjz(3q#9D{3LQXM& zl#3i`?xV(ZH1S9G4ujcbrzh5o+u7Y?$&t^Gl)dPT9Gqr%z%luS6t@gu`w|sr;(SN8 z;NrJ8WSFg)vInOmv7`?*@g9(QPheGhI4T_6mcyn+gWB%ul zYty%l_I(hS4hm)L+5t!~aG-V@UyYs$ieko2mitpMdJ(7?-FS5~g zGN@<^?O%#Z7B}wHdZyg4SiWU+`b$aT3in0U^cmlgKk6crYB%mnsj;&o+>;KyiRegH z%O5wG?jyD1AGw0`hd>#2TFt}Ptt0YZ_+1H-aBV&fQ8pS4WAVX;I6m^DNRaT0uDgw3 zN?<0o;qD^1IGTE5Xe5sV4U1FHu8Qqjie`|6@GXSh%ugbo&#-kz)>xYFNgKErKd{UG z07C@KrwBUo^>R{^7AVi?XFI*yF|(OuaTcisu?7Vn+|zi~M8q_#kRQRvvrYNUIij5w z{M$M?Y^mQ00xjB_7F%Z6eac^xEhm(O3DW9@Tyk=hu;J*Z*o>MPJCPIFFw|@uVt@VJ zyyZmNlBPIM^fUPAMdV-k%NY(O`-35pP&QE1z7tczXtjv49AR1##4FZ3M#g4cl{vTe zxG+|#MF_lxZAR z3eGLi?(`nb%xjXef>e;%Ou|*vXk;xas>B^!gvc-AWv?|GJ|OwF%ay|CboBVBqMb{| zT-SNPt`{{c1EUjGh%Wqo;fpqzhP@wf9_Et6?$)fb|0y4Kc;*~+k&D8^`g1rZgUL)- zNP0px)Mzv-yLeqVrjBC!gzynejD@3?Y52&^n7VsT^WJ$J zqv|pO{@@q5`~m8pZ7)4$Mqe%nESLadw)V*@8Gq}$-fQwBZyv)7zAAWc0&soODncMmnr#s2nNia_Jr5MwE^AJ&!dr~1vx1@!Z?PW!uNucgO;HGv+~;0aQPz$ zxCS+TGlkfskFXr4m)F5$I0_}^&C2WM$r0?{m{TQ~+gY(#LrwuN*CXo)L*fOlS|!S* zeezxNxP8>;XMOl_-pWxYV`%D-Y<^zCj=kaO+jg{b6k&UW)zg#XcN%y$oB=(5t{(3K z+37rbsJ1^`%HMosW5KY6G{YFWMih=y{ff|j6vGv9jiSu=k{!kahd!?xLPgp3+V%PL zJzn9AM}pj0WY79~qD40Zl)J6g-}{H>ooY?Y6l@(1ALE9aTQSy6`w|6OawZ!!mr(^W zOrd29q7@i6QUCgwt%SF0W}TdQ8ZDY}FPga8 zCZ@05k(Dh9^@_dcm&j^KK536Cd0fW;^wCKCtg6yWMIw=a=^8Jlt55=9nX~&ztC}Mm z@EUT(V;3wJ1Cl1WD#(QDGM~?xK+bcIgNst$5&kvPDj^q{uwIHzWKkOqhJq|3{a#GO z8+N%~cV=KKiO3^cjol2*WDV7~pHD!;?Q^(shhnry%kfS#!JiH>*3xUfK?<;Ambh0% zB&1Inx_4%tX37Zx{#-1&CC`lwG6lSn`a|LPT$& z46VdzY*z6AD!EDRU}aJLbHX~QGNH^usf_4bg{{R|7as_pfh`ioyK^X3Dij)z&qeZeMoe%H_<>>B!2SyO?Ex6wX0E zbxR(K8vT&-8X37fiJ-4Bi;-5CbB#xaBFJ>=4)}8wHl8Fmud{Kcr4<&R8&AWi1QzIi z3XMnwZ%1VE)Ij$CpTs{yKTn74Wr&boK$EF8BdmoZkWdeRUl zPMtU5KSRrn;ce4ohkTX5tuhLdXm(dDPVuVObJN!B1jVg7P{5Ub7lpT{m&l@SlrVuL zYM?L@D6U|!O1^7iQ;S~Ynbnmnjba1J>0RLQdAV8gD!Lq#v{+ZVSv4D71il{I@2^^~TN$bjo06N@Uy9yiAVH zxB%)6(+_XbX%cS5TUD5&o)XI!c?xtvV%V<1MFU!iFVYxu%xhr)zsnO2hcEi4FS@74 ztzPS%pa%s$P=2jP2I4^r_hP}aXaEF4on?EX+265ubV=oEwVK!Em+bmVs27sP zD2qrBnc1UHe&iiHS<}`DQhgXkod5?o6m+3{4L556_`ssnILF%l5^f1$9^(ka>4}yu zK4}ydg508$z*Fh8-kg5d+8_$}{xRz-9h=_IxC9nY;a>(hg9{Ecn6nOBJl~h6WFxpi z)oZF~_cD1;FUW1@!a0mIT68aE;BnsKu$lPD=V#9Ds&ON{kku>_zc1_DQf9{py&>5{ zFue$lBzw<-)usy#>Gj9E82H9m?QF4?7H~X?R$9UVz75G@5c82PsC6XT94tqAIL@i7`*%^=6^W~n_H*XqAJD=cbmW=b9D(-z zBC}k2l9r|7G_R!<51YrwNP3^2NE0km7XO!Dh=eFyFMmbwP;L|s=r?U2;KhV3>$rS# zjJ}j+L}B(yrX)m-R^DMThZsdao&_6SQ(Rutsvmhv3nMFHZHL{ve``sHCKWLM&xHiV zz~ed&KER%*R$Y}nTm^?$pU5E^Lnq;o8ZbA!w5Xn`9esJ*1R6Ql1t|H$_D_!pFY{yhVR=uk9T$+|4IEvEhJB7+kF0q{5|+eZCyl@t@OI`K)p@S z@+cv{Q2_x=;z$`i#qb}6jR`;rV6FA~K-J^*2C$@*h!>M&MDgTccY9~IzO!B5dD7U~ z*;fzLdG8SJM|Bua?-EKVvvF8eJAeJ_U+YlxiFye)uIk2@vs<)le~I$UfWxS?CxZqJ zi$n5X+^JqXR=p%1hj;4Pj6VN1xVxIn(*}(9ITVKC6pL?~#8;Re6SJjZ`>C|QukPYG zW%+=!9|7))F6J`|x(8F*qRgLw3h$tqNG409Ag16=b=LYo?cVFt^PXy+yi;$Rolf(l_imp^T+GEl zX+SCb-FP~Rpy69gmO7bXx>RW3O{;VG8fr9Ow2#}pcR2o+?cPbN+f~4|sirz>c6#l@ z^W$bmot<~iPP?s!Qr(auKtcTli+QONu@1vo5RFov^E=o-36Mx8m`OMYqZ>+ekB)=) zZxSvi*<=b4Z&+uPd)z*r+ruC_+pM!E&S1`Rbae+*pW z1M=AaFbJnQCGO%e)KEzSdkjrDP{_&sQ2T^%gd{3VCNLY!32NfWi~`LCP#2AvG4(EI zjpk!0HmfrNK-HYjVk}i7xJT!dXfhbhhoOOQfzdP=hjuJ934(d*6zl3tzAS~Mu-5!i zFJ46hBqy;*6$?CcvX0|<8>&eN{fmz%+-@AAI=oewkDx~ReE@=@G#uUW zbmC-4*@*vZ9#f>hDCHGOC{Ztl`wPjtCmy97R}?YjNEAz)bp|lzEM#xmc^X`WjY|7v z_h416uCA<2Myr(yNmkJj=l};vRv_jPEJrkAxh)*|U+xHVvdd7Q*61a#FpOsHI);sa zT^ZA~(ix>KMtg9zhGnqs9H^WLCd8!tN+!j{TgiEWEu;;Ed)!!)Ye%460FZ+;0QG2Pxi2Qjz!E;hif5w3U<^QIA^6Kqol^s;< zwnAH1xBPH_A3qP@y?Wa|$rps%>y}&6CG%x&G5NbG5vIXFrgs_17rS0mW2?5dOMYc5 zn>G8i#w}wTG`ubTO{@O%U_4Y?TZbwfT*tCjY8BQTo!{%BT2HrDf81zn{#b>ln`>J? z?rg39tXtzb_|4s2!MVIv^|3UziUx^J`5hA=d2#bS}8pZK@LTW$;CqWW%l)>Zn$={FKor+&u1E~+Xt7|)}l?e4r9$SHsvoysoHcu|_oPB@(j%D} zVv!?EIxasYYI2>{8CL;aHIeEYRs8BQYpBL2lY;sjOfchm3b$_`5!)L41HbX>`u;i< zO5iF<2o32usWliYyc=?|cB-dasK{AeORs@IqVQ0>nwPMe(9jmP(io0L4fu3dRgdQ` zOyxHXG+Ra9k!&{S%UirgOM*9LUkN1$K~1O6OzBsu@fv zcn6Tja3?shkKjamf3TMUcmXFEh6Nt8t`nGI7|i_Dga-%g{H~9fMvyy%6YDV{8%sUu zJePoA;*{>yWIizy1yXF?Od2^J7!Up57y$3H!u{>w7w%+NX?(ufhyjCcHhzdtfBNC# z#ZN!{%dt=x;WBF#o`+DoDEC zu6k1~=th}4&+Vw~^ke$q76s>LTl#h9LB0L)lbahA4A5XPy$nuMgl&u3afap8$5D+w zF5Ad)`CyLCV7O$yyJP9@_@gbx-i1}}iO$JoKyqt&|8^v|JDigPstr#*QgOr!(Iws- zfF0nZ5Sp&7Q?GEaP{v4z8da%yz*aPRUR~351xm{Ap*3uUN)bw0DQtiS`aM_k*JnY) z&QkFNz182zul;5N4k@0x!$bNQeE7gWzyF>O&y% z&(7!*0D?Z@w&PFvefr}6&}V${4}%oSMo|d+r2|=JSu%u@+)rG>+#?=Zb#}q0W1Ow3 z<1eqICRxG{;ebcuzNQy&SM1jw!)cBVK1t5?ig&<)b^&dPbY4 zwF2jKjuts7^F6@aAxDB`fc2bW^2`)-P=tdShK8uLNzOnaBWB5+qqM%+x8j~=-dTfoaYqhCI@LLG4eRZbZm)TKjDo=qvH15e_>BrK zzuB&}Z!31UZfLh|WVaYB^bW0gV#n3u7J!0*)AqyGk3arIUk9TGz^3zzesc3!`i0<^ z{vMDcA1Z=b{*M%qbU|mT5)gfU1Vj6TjV5cLl#m@f`?cL7HrBuR;b=vNU$H_Cw@bCuj27;vEeuEGa827wFeTb5f*S=M6{SP z8byXAD4p2M=_H`M2q~Q`+D{JooCnkj5WX0Y5_S-_>y`veCKWpgtzdMB^w_an0jFB8 zn={HyOc3jhWdB(RNHQ!6oF8LIE`ydx=FOJITFgmJtOIQD!OhJ2%n$$m$OAKG&U z1Ox~-5x;M^D8B+L4E(|gqNVs!+71OL+3}#1h5U9Kl>r0L&w};`vIiu5SWkcZ|28&% z`0>ZBpMLvoU%{^*g8DDb`hWklN58jzYz)@68ZpWvP~1gL$^s1DBO6K~HSdsxIf-Y0 z;Zcyej;DXGQU7UOX~|wVvC#+3K44iR9YsV-vOq3@%QL4n)?!gO7&vrTqb96PO;M;y zd_gEWW-+?P&Cn8`GhQJqqBEgOECC9jjKLIUbgST15TIB%7>&Xa+ z`6!LTa0*vC9i|8BW&8U#tv!{X@Ds4skmJd&;dj~e@mRjFs@?5vQqAwG6O3!8&XV{BBMqEHaG|~l0NLH9 z@kBD;bwW>Rh)*FYjJ^a4Y$PA6t_cA6*+BrsXW`e3^zD78S=Rhw7HiG$E z;#owh!)sB0VKcT{9h}=46LdNl1%T5M%Ide99|&eVvMZto0`nZsB}3SkAB)%nNK3^)~){%Pg4qmoY^St-^w4;9hx!Hx+>+7m{azr)|t?$n|XuojU!FDk1Y#VBc zWkkCLEPDIo@c8_wee$ZNUYz$ZhOIhoziIcNSnsq(t>>#@W2Y~31{2upeHIf6r*PEn z9v(N_Z(2vR^z9SqmxHUR?rUJU-ATP@!GO?Ekeh@_9kn~H!yXP@zHu9eup%&)%Y#S5WG}J%{R?gtu97Pc2@w~$}R#d_u+Y`g+8`8 z?e6)DZm-=t@3qvc)6*kdUDa)MzH1-0y8G(*6xaJDCX=Os9W{GR>K-!M z3trKW``-82*0iu#K?7vsS=VVF{C7^PB_+n=k{38h@0E7R%2G|ry25y`cozUO-s~3_ zz`C1g|1+TwCR>~8C7?RAS>@6jRc3An*CD43K^KJ5hUOCz!4CVT#g7=XA6k7Cp>0>- z)}c#wJw>q|g%7|{I;Ke3*6FZ{O)Oo{ZUJB~V3ES1&7@07#Oa#3jnc5;hD{uCOw*D% zROZt`U^BeC1KxxYx?V^5%21#`)kekPP5t>r*pH_vYDFKqrQsRX$UCS}3*=o!;cm{) z4x8N`wpA+|GN%5$Y2eUuQF5p;90a{@$Y2i224jtmWge)hl^C$Y_;y0;La(s2+IVPx zm`-T`89=hIP5jq-1+efmy=VRB zmxL(A;go(Zb~??rQRs7OJq$FkMKjE@IF2WMat~!hal=x)TJhmTH#0p6KSUEXP~FdU zD`{rGD)1(j4hbo+DyNp;(3;|wxi=5nVz(B`xKz;qvd0zXO(vt!ppTLm=n5SxyhRX1 zW-$@(iMVd%0ASJPyBqJtPV&wqHuJ;oPfI|?js$(G$?si1*Ys>W?MrVse))<%PA^*D z^-s@w{i7Cn)&K$hqIvjt^wM+cU8?rF^#q~GH1QlPQp!G=laO96t+g!A*&83MjXR7B*5zWpfxi`!{9K~Yj)GMn`? z{bQ(29tZ;%7OPtDr00Soc`cxdS)JUg9WPde_zz|$j2Xb_P;L8hC(26eGq`hq@!d~q zd^gj0Wre_<{FAc7*q4_(`IozyFdHAeyP%>`$1DjZDU7A??n{$Ft?&S11|Nf`qpJzJ ztKE*>4Ddr63tk8Q^mf7eaVCSZ#WZE0F>eJK66xvfxQ{yK#&vWhF*tS4B~FdDEgR=X z*LbE%+N8Lixp%7WPBR}~f`9olbf+@O1p}sY>a1rzgXN@TT23dKoIZGk$VlAIvlTvi zacY+B<`a7{$?kYr5rcGE-Bzy;9CHg8Yzl1D@3r5wfH$V3P$ofB>0V0fv{?BD-*(!) zR;ERp9~8?UwT>5;&fbZ$B)YnSflOkd-7uXMb=*9X6TYZ89V#eJeQ|m5E6llRmmiIi zgOMY2=>nFcj(JDY{w(g#g3NMTReWdipFtq9P|1mm4b4oT*Sil9)BwPpsOQ!8fg zr~LG4_Qundbwo!=H<{<~3Kz*eHTJkLXcqH?c)`}t&nyudHeF)V9X3&u|I6C_<8ZapxgPUVw}5T1Mll>psTwc0=ATMo(88O5g3f|cI3pTn@sxBfD4etn!dbHX z%T0x5kUdYismQp?PSD4q!(*VNh^lmt&M->L&radVSq!=E745^V2ek#OR@6cU8ch@T z(#k9<{T)(92Lm`K)<5BTzvx+3I9q@ZOj&v2az8p4vR}fDgUpg6@<85X)A3Cf9*fo! zy^2#((`~Tv5gG_$ImGbVMrU>#i+XQdZ8+I(yu~xp=`Xo_m|;yIS^*@7NqQYkwW?9( zfo_@lbQ|F^&V$^Y=VT^tlhYt!wLTQW)B;o zhAxOXg~1SV#?TS^@virH+j%UHxGMgzt!4RiEQ3CdPB3*JtHGc ze$9CaTBk2fBJ=DVknp7nzqvJVXzi0%MYVX;#nrGyspbMeGN1J68?Y~SX|VdjtH1E# z&x1=|+RM2UsGHxXpIZQ(_C_lPY*r31X_pmwmqBCE)r_fDmH^Rv*Uze2D;1Bo%xDo* zkyZh^hUHq-Lf=)&SVGCKIUH=cro(C-Yn2tB&2b(G@#Z{XT;>*$yS(O0I<%f382&@+ z3evt)jZhT)W`R6L=$<7bMB5+t|1jeG53>JE!x1`w48ELcDKPoYUk^{uebMhzEe-Y&|2BwbQDY9RTsOku{CTeKH+jQTGHd+9_Vf?i(?4ua z|FAv%!}j!lh3#oBF?6?e41i(HPy5ZYv*T93kHV|wbUI=|Y6|BWPqUc6u`}eQ^|uT$ z!P_)QQ&wvL(#ESoy*$DMiJ0pdaNmqt;Hz$frCHjXu7A{o^~9*H0!(^XIfGZs`qR*jN;rQj0Tf=hQcxb z*?a<6c<4W)bdh2^?7>Be{cL!{gDQPZAT_&YExiAVpO(}d#aE?mj)SRhvkMD9$*w%W z$(v^P?+9}g$WBK+!|($EI+4~WUSe}HOi&d#6rXT`o@hqEgq5&i6Qr184PFlW;~;&% z?|>5bfAaF^1t1v%gYsMH3|msMy7`x?myA5Z>k;#{!u<=^^#}CDhw)K5AiRC&QxCL{ z+TZm%r{^a}=Vu!qYU-|vs@jc>57kE-8+X9pi99u0k^izF~DY;YKkzHoz4 zN?{m_Ta|~1`EG)dJ4sp-GblFaEMApLMnexT0Y)^iq#`om-zYF~*4h4og|t6l5u6_~ z0rxcx2OeybBtsu|^2|>{Y?yW5C>Crrdq8dg{^(M9ciWv+VrbmR0{UhePjyD3^q1nr zL5X=^*C=eEnuWB=J)nmFx^g+MH6sn)fFFykZFN20%63E2Wa|{7-U8r!^El)2u6m>Z z5s7fMaN;!2Tqm3a3$GP6XC)I!$zMfsv)eFupP;ZVh22BTR(M~3?mg9ZXS!+b>Z74Z z4qvwp|K7(`-<>v4&|OajMwXEG?2jat0KP;kw=XElK*-MVC?u0KW*V(#TZKk2s?4uy z13RrM+$Z%>NzUqRdp|hphb0au+mmJw>FmbIEu3O*zo@4EQBxB{#l=8_3NBjM@CH9Q zDPwL5IyFN)#pIeEe&(Im_|(C&2V&vtBG&_x2-XSbPpx{_fPk^n7=v@7(T%O)l)*^) zlA>G#M16;o2Naf0S9|<)25Bnhs}|g$l}vlxr}v3k5G0H(6Q1qmhHbM>~=v zui0(&JAm}?leMF4$9>HzSuub{1VoK6e}YXGP7enufpp5Iz-MN5Q*{Q=Jp8Y7V8Is- zpzzGEhgI9dEx2dV{}aYq2x&3r9)a&^BDMjT|mZ814}!d%R+HaK%Ow;>Uu zQ}t&zdv*=+Q?_!tIhO)45!A0gje9PHf}XYcCdM+-QfUko zgqV30qWxTM7~zL$fOfTw3L)(tdw9n0gS&mQlEGN|c*ST_HM(k|nHPsWzvj zJWG!JToF2X$`_#PgX>umcH6H`n#WbfkY%d@XO66u{*KYE0O$tqwbJ3*h$Ij@oA6*5 zZw)A_!F;3xk|88f8&Z)mTS`I|x$k$Yj+v9cU2p+i4&~+%+*w5M3dX0`&(JV@R?W#; zR*=Z1>P7FV4ZtvMQrg7H9h(GF#*N!Jf#00v0L{NINAWFDqG&xnF=u=f&F+x0i04;A zLE1&aIB0>IPofV%qEfPM&JZ93Wv*RvHKTJZjE+0C0yYwQAU4v>a`Qm#`s?ylZr!TZ zJEwqG6%lQ#B3Iem;S}a{EM9Odk$X7-sdRT1^aq<+*!DKU*t=^Y8+#ofp3o>ta>c>`V%=jtcKuw5<;bMo#QQBuLG zFOYf~0Ub-Wq@*L|Yxb|P|9bLd`{~n+ z{nyj&Cx7Js`=5;e_m@A+u>LT^`oj$C4>PPk%&`7nHp5~Q63$i3#GOew|GLlPZ5{QE zLh;^$*8FNP9nDkxzY>0+DD|s{tH1)4M*dr50cH!71n|q7h%FIWa8Y!>dklpZm>6Lm z!%;L|T(LMLp;IoJ-aO4TQ4&=#-JK1l(R8sz*h#AgP>*}&S%gi(8SLt8E1E1@{b@=4 zr*2e7vVICN+b5+TN6ZWBl;Z88Wm{}*hr)nxFyhRYXeBh5%_(Xidz_#bo6Zg*Xqvue zA`Xfe0eU^fH>iVj-U6*~NrGW&XOAzETS-tL`CkK|H>Q$v6+6Af>uVe&@6}B(nuiTc ziN=j{L_!>e(*^e+!*hGUtBlgOj4*EsHsaJ;Pgz_n&tNPmXL^7>Fx~}^2(1mxaIgg# zkz+iC{#=qIzW?@(+WxS;V-|xLL8sF_f9m0QI*Tat?FHQ5x6u&p=!^N_Jqi^|dU){` zd)WQd9&jnHl6XFaX=nRtl=szt)j2&s!yccQ9x;k&IP?1)1Y}1SQ=a2^8gfG0R7@Lg z$>07qVEBQ}LKI5$hGZ^8odrN)dR;n{^FaPmI`vXW({Mw3Jh-Mj9!QzctzZG9 z>UpkRgoA*n;2Bj*fj6I$whVkBTD-{`}Y^r0SBJt#jW<@)Pb2${g9=E%_{%aV|MgmQ61AQ*t zM>4cl6ymh1+uP@!Bp0osL8K;a1~t}jgP6iBXRyqZK0}zYL*Fke(;r-3Ipy#t`;Vgo z`5co^T-vlAZcqkE$pV1KgVjVVk7_=Fi-&~vlm;9-RC-V$9`&@LXynG+GZV{Zk35PO z4}%fO7aj*SdhbAP(e`Lg_?lBWQgKW@qx*M}vF0Ff91I)Ik&$o$DVvpG1J|ummmBn(Y_8kfv!Z|Mn4YT^;b(JZ*)BF-q-(QU$Ca5I+e8;E?x5Q-Yf?x%2KhEWIb$ z?1@&qjz@wGq^%lfm1N~!z^P!dFe*r?uVBJr2bUK+0OjL`Eea0mY z8v%$Cu!}V0BGkLW`)rN{wLoiQ?p`40JMT6MFIhC@>jRKe)qQ&+{q?a(FFO~qqoB~- zu#K2KK4mR6=7qCuP(m^yXye;Sqb%fjj>y=QQE@1jOwT|~4m_G*Ar+tr0BGneChkgz zerJ^C;Imk(Xu7mV>M+27+LBEbKp(Zt39^(SU;tob=M&z!Zx@V+XpT)oX=D(KB_Lz% ztK?5zlj<-64$uO`_FVxs5i}xw3O3Q_;VeLlxcr4D2E8Vw86HhZuN{ohBPGLVAu&r1 zP3+@>XEpr5kQz-?5yxA0xb(^R)k2~rl8c8}22LC!pWA8az%#63bu{wq z{YmLc$tet5(i$pa4zhu>bQ4Y-cvl)>ZhghKej&|Z=FBnHJmR{zg6i^ZD|B5nfwx9I z$FXM_J^{|zR9`}+;}%MYo?)I2=6+9N$qNeP_AP+%6||UWHU;opS`!fiUUizAGCt8P zy~4i7^T9Qdu$p*gwo6Ok^4wPNq0c3S%ly3I@D;Pnc(~+J1EQjOL>-Uzb@GE3?$-U( zEYJ()yE#Ov8{EkCfVQnkjYyIYbc?9=nZjpbni^rBVGdr1a4?O>XhfZ0R!vfu5?{Z? z$vy0?V>F*y209o;Bpav3B1yeNS(@4KbbVF;ctD50Gz^>*mZs)`-eK_LoY3Ufh*A{9 zIB5I*57bBpm$;|5W-OXDC&ev~8<_{jMN}3#ibpp%#tqa65aiNO5Lv+6f6jrUOm*PJ zB;=gr+SL5~=!~ZXsD2dRR^=MTB_N+bF|vY#fO7(#=PAtR>3-oWMMm5o?e4%5kkyn% zJ&3&kHt`k0M_&e~Ht~i0aOmt9Kn_Jsj(D2Vd}9Z*Bpw+IM=+X0LKq3F&u-0lmmKyw z$7rV6e|c1Mp1dl2a(;5u>KwmARjc#nuz7OWI!4pi{2(!)Gn4ZrgTyiN!sZ4^b$``Z zXF5yvjUT042s5%^l}=Hs(bo80a!`{@jyv|`{3shpDbG5Un=%*2geS=WDwJ`+9@ZHm zmiJ6$-vmh%&;4`DQ@o9n_oP!P39{yJBCeT&&y8VIj9%E)m<{mpsStWiiS@@p*f{Pe zVfM`AF=zm}V<3wVAxSO4e2X}rZ!7$=B~eBxTRcj5CG>!49Qn3XJihX?{D5;5*EG8E z@yO9m?pv3&684JTf8-BJ{XGuH5@}BJKNq1|6ngFh#ht5GFd)qt&osx6_TgxLj|j8pWWD65`)BMNb#PMQu?C+Jb%pf=M-w(m^;H1(OhwHGyyH zc8qsSS-)ksW=$=+t7y`A8;PmPCk5Q(D{cR?>atq+^Xg)}%>9a|`)zmo-P6OrwM573GMJya_yWo+n>@3XHU#nyL`^-1nJ#mu%8`Gv-|Gk z@DqkZtyD8n6$;wgc5GkJ?+J)(I_T`R#cbSE%UOdQUx;vBno4egfYgRY@#Cc|T&bc{ zl3{SGT2&IG$tN2jAqw16vv52G?3qL(!lP3X0+Wk`iYGeL0gF~hGU1ul0_t2x0%+aJ zS8(>6c(6eJK~kMX*)^dGYJ9Gsk!fkM;Z3-^uNSp1GNC>H5 zB7jlje2ajTqz#IK-whFv#w1H5{qyx~Htl-?d34U&sL}|~)_pD};86WrRYYHw|%&Z79$@=Q=l3I~%Z(t@)`=tiewM z+9)hscm-yYKQ0)u6>bVnu>(dy#Vt%31-;{GfYQD}5*xd*NqnoO^NUe5Fd_xAXvb*p zV>aywb1aC)L7wGZLDpf(g;VfK-ekr~l3<23N{@v_16sZu8$|2LVdDwq&773jh4?L( z2)T4Qzt9pMh086W;YxSJbbvE^h?SZPTP2GvarBE8n_ub0&P?klfeUic*lH%J3$UVq zE8tWH7{3uUCks};ctV9r-rO0@XKr4!O_>S7$#c{@iKF!q6EseZ<*S3?yaPKuobweL zhyoa9VGb*cag+H(hjF6!ZOT9CSSF{%aEF;BM5(;!1iPu6_dj!9zS226F;O#@&&(9~ zl&NXu^}l#-6Ro-RXBDvp>YSzfT93DiRLE-iM5QT0A>GU!qVrIS%m!srVL-I$YpDL;$G4>%INzEqMjR%d2>2>gAi@$xeErt4L`~7f1v*=O8X^I=t2$IjwshkR5OMQsWE|LHxu&a*|do!DJimGVYWC& z1PYV=bLpA8b=M%bQ4>{uIgkv(&wr(WmYf6 z$$K`*gzEyuuyW*+c&uA8_7Siix^@|f8QJtc(qn&ck@ibdI_(!s8Q}}rFv>d1=B(VL zfiT$*Aj*R26o|MaLXSW8ue>yOC4!z#9Lz>(y1wR2ZW#a#FuONqg~M6OC}4T2+4XU9 zjFRS@1nsFSm1k3-w8kq5W%O_~7YNg|DV~X%hC)NF6DlZGcrpqTDlJ&@MfJlEQHqTE zQVmr~g@}Ih=J~?LyfdtI@P4W=Q5|22J(1SPFKjjsU~h$}BAO^0;8avoq?ipRY;l93 zaw^(k!Vtk`mp6z%zpLi_uok7#g~4IGrynaT7>##D{(dxR%t=*_JtR?zp<*6VmHKmi ztZ)R?D%V&s7}69IWKmOv_4ZLZ{FwTu=G94LS7_Niv;J8Y4g zm6Dv}lp=^r`!3LB86&uskbe5~nb`IE!gG;^3ulu(L82(rq#0=dJVz6Py<+Le*aXxP zXNGjKehgD`axPSB@JBvn1vjDXfQ00~yM6aj=0>Cr(D3lS#uqok3$bK7x%o<<0ttA( zL<0q(9X{Iav_Zn|3li~1$guzY@xQ{GWIFf)k-wIS|F!dYXXl$t{I4fZpKSjT|LcD+ z{@2sbP2ni@|48HbNBpoq;)neaKkSeAVgCW~!&={U&JGtx4qH$pA07)$H2k<(_{2}Y zXXL;@XzY8xwCe@X$H8_=Qp5nXEc7?$s{Y?4WG z&nO!(7K&u58*KXESOJo8i}6FLdFKAQDXhR1Q7a)%8r)((NUqo~gJ(|hdhEm{P>-_` z`#Qw8_Lvo8$BS@w8){2v686irFpc9;F3Nop&ROV6f!=XVf*}Vv(gJJBGZBm;jFAq|JjfqGce_}@!4y-}LVXclor+9z$i6H$JHzDiQ z(7l>6tWxp|nT|~<>SbuU(FOg^GwVj6@oT~CU@^JAoH7KA*S+4E_>6Hp08u90qNwpI z!hk8{H3;WWl$hSq;?aQ3!2`mLNYjC#Vo<^ll~dE4COhWbR1QKM*r+;{`naz;b)%1$ zw7h+v6)5I8gZOxnsl59)O664oPC>$Fa81FQYY4eb9nAu`;xHY z-Ye+rpN_L3!D3{!Y4|g@bOI3ntQF(zDyAG_kf|1|q&|q{IGT>B!PAW7=$LDti@}9O zpQOrQ1pfN;^zSH>K0odibqth!P~0iL(H*X^>(~46&UP-YR3gg3Uw!;uf^D%i5A{&< zh0CCalp7}>e)^_6_pS*CMmA{^wMQP`MW|y-<3VK17pWr>{L`Tbl(}cNyu^{t*mMga z4``!g^qZSg*c+Cl-7`jke6)>2yJof`v?D{`p3oUkS%;YieQ2f6Ss=K5Jc+49I?`>M z$qbiY05nd);5r2-+Zl~qDT3z&#if{@Hzt)P(hw5j@~yrGu_R(T!;5g^)^Y=f5^^-N z?9q3S3g1~wj@+~BH&GyWTb(@4Qnr9)pRK#e;5vyX=-i|g;RVN9sF<>KFkc<4Kc9?) z1gMG;#V6tQW|Zc5wi{<#Q;kC5AVWL4)5VG6a0adeZ30v3wgfe}9TP0igC&fIV?4l- z_SC-96Nk;@^_SjkP=JH%sddJ! zK}Q;LCQ-n<3I92cZ$jc9`HT(~$MTD`$u6QmuM2q4CodaK0qM59;d4c{h0t@cEGV~P zW?aCE3L+3H%FQ8DCJFdMG4#Ji|AY3uDG*igbh|P8F#A{Pf1W;m4Bs>QpC^ClfBrpx zZ#fz036SCKi8|Ky!LaWr<+%)!y-H=Lq29o4S&z~bup9n{Cr!!$NH?I?1fa`R&wZeV zVLC{lO-4z;P$|G7;;@k#DU<1Sr}2axG`xY-#8Qde!eFcvH3YAfn<%_RrzMUBHI7LI zGN1r+(8PQ?Bw`==T?$=!83r5;08r~yq=U4gDI&DhoL`{|Wp{gLn_S0EPJ69A)mFh+ zQOMKO1X66HhdVY&!F$+>FrHY23K?VGglNvGu7eLBVj$jN$#xs+MMxo%JjDsGnFJ(5 zZyZ3@K%Ug2NgXbnD~j90_J<#)qad236k!RFI%>$wDv?wQRUjDUle9KdG}yp-owYGC zbkoLq6;I2WqF|X6d5EIAiYe@eK{%aBBz+=N1D14=!VBky>E#sfJq9G6;bk~Xf=d|1 zOzP}yZQb79Hg1E-Rd6|PV2*+RJBbGG$6E&7;3T&ctPHFR0w4C$9;3PlZ7gY0ICNZ| zH|UFpKS((jNg=d}x(o(%W!Bi}bPBsqTORq4OdEQ5`sS?J6LI(+Z82P-a7E(Ht4$|a zt0xI>llPj!^Z-<(!BBoQf>y{1mu#{I7}(G+kDV*^I=&4lQj!xTSNppn|BIa>_l#5* zm(YR1r;;O)i%>wy8PL90Wbepsk*F)x5v;K>S~bO1vv{eK3ePSLuVc!AwgNm%95IO2 z=mlyNqY&X3!{KtAYuH|I{$zWsxs!{K2QrN$2n5!|?z1&{C3+%eo=8SX81TMvl$qcn zaSny6I36-MP0=7Rp@34N?_@u==pw=-qXvg0Y*mG@{x)1kTVE)O?vjq$Qd~}TV$wYd z@CWxEGy?nx!Qu`><8>Hd#ZhpFfG*@P!zTPdf4aIij7kP&QOJK5Zum{~l5?UMWy1hDvH! ze1ipn4!oL=fFPIJKmd-S_hM2lIa@H$s~FzvK8(+fIPz+0Pv zitvhL9!kQCdBpyHFcWL=aUJrdLJjD{g;x|HVCR-%OkJ>(d{EhT#C8^?@0~S+b}nGV z?L?E{6wc5AD!3 zim%XfkBjRDGH4vN^vv5k4n>F>07t?tSRX-Y9T*($s!24(1m?IOskboucjC1TQ*56~n-!(-dPMP(#p$)T(i4NB+X52%?3-FU(%B z>p|nX%9j&jooF%-&FQ|l6EM}3m1lI1(1Hj@aG_GCLZO+g32d}$>lKzAH=1o_B`BtfIU zm*!~F&AcjiatQOtaXw{BY#QS*J-04-h3Nx`I|2qIh(>g2YzV1cZMdW#pCkUeEF4vk zVhDB_*bFIWbP<%LDIO2|GBXZNCE`1roWRXCpw2Z(;E_#)46eh`)HF90PYhZ~A{Xw^ zM!^9rA?BDDl8DCoWa&lUt*WjejD`k=kuP@|ayH*YHC*RGoAGe4QUZiD9Ni$)GR?v? z816otM#t;h0yQ){jQQS^73UZrV;IH@+%nw`Qy(}fQh!bu!+6qupdU;#jMfYzX803L zPK&K6t9*x9G{@|dZfk;c>o}mOl7#1-`%}v=-bZpJ(b2&!F{WXNF_av~8g^)x zSvuy|F!GJ6bEY@2;b|BnPP@IPofaxeQ$03NroWZ(#KUPov1)yx|O1bNw%Zo-sqrt3y zxjK-w-9V_e;cGcWQgvUd>D)8}3c5x#LBL^-gc3qQ8OGoc0gdnjIX1wofO|{Qwi4Aj zyqg4LVNne6sV~aSt%|dH2mu=u$7Wd5?!+~PK}0ZEygTqV4+)O*RVWf!?4ib}idPk9 zL{uuSJ(3kjR1BlwY7#r!2EcM>c_Ng&&`o=pxi9J7Ns9(dxR^$bUr;Zl_&&6wpsgi5 zncLsY_8P)fcG+xlc8_H(XtV9{;Cr@g^?(R_+)$^us{q~1*zgIV81aTMt|+~}`XI$p zhn1`ab=ZmksJ@YLSfUQ3`rmSu%PDGk{F~7nn%5j32ghlW4CWRqPs`m7u zDlcHnJ;q*f?^$kOw*{jyyJ)D*muadi+k97YSgObkqt(ksRR`;n7Y(~4n3eM?7OrTX zN{*w;U_eNnN2mpbbg>jhOF z>5QU+g+zfG63qnuz{#OZSLe?YR`((VJ|YsA8@ADz+(bZHjv2x+I=ha2fUbilr`^^u zxeMsuXQ!Ct0=Fck0A#c4hC{RllSwRTb~#y{l^?==hKG*bcyw>@9CK{z03c=4SLonQjJA%LM z7Zvi1V$Gd;NYttbhWwOrS_EfqKYnfQ9_f`RH0PFnn@##U7a#CdAmpLJRf(0EyH=$= zQs(rz%mzQJnYx*dsEa@c-!ukp7IGFqSxNV3*%ATX)^Kfx0GI2_R|L6a7R=BwB*a%lHmF}MMZ(F*HQ1Qr=uVBUk6ZCaz^OY+h|~BG%{F#S zHy?{;M^}Ow56V{zjGKeZ@<-MMIPy6|r6Ah=x&fzOrwSD)*J;H_0i)$tq=uu>qx)V+ zddLB4Ua937#mCVJp(x@MHAW>+)RsxdLGj`y>UTdsDpIS0iNNNm$Oe zFjspE3{`v!=kD6*DbXartIBc7YbO5FgxUaL8j^ICqKFVL@$^ak0xny)<7VWlNw?Y4 zhE9#h4u(^_u+kaZjj^BvL30)Z>OfK$SII?L5o!4G@W7$DoR3IF63(2kKomM5+w7j) z!Mf0`B=IFIOcGbVj#x%4Nqt=%B|#Nlk}j8yh>iq>0f$UwCazXq$XprHvjpU`akxl; zUDt6}Odu`flwjM9+87FuS%Zy|ur!O7C1$l&r9OO&H*xC$meQ>cZ3=1-!HjF4x-5vo zbakFE-jO=HX*@g~wyU=Qa6{~Kp=H8!gXp*-LJa8Pi9%#d%mo}<>VzXZ*F+g9Iu#fY zg{P2}COwlgU$OatwzS32Oa=~JZFtDRvS*^7t5(PFbR!{-+~G&*;oafDf~H8 zHn+^ZGrr}LeLHcdyTCL^)UN?UqI{8xhZ`x?o$+O3*7_ZZ)3EPwVmUi~b=1W$3HM$U zRd>cr$FXt16K6vXj_0%R19Ilphh9q=2~yfe@>|$KEyE}FTqcbiItA18GqLJ?J5HoS zLvzScU=`UZrG}T4@HS9Kt*Z$)GtsIE260C$%Q_oECKxEyFu_^?ZW8i2)#-?`eY%4g z0&0Q|E{9gfb+k50%niP1c7a|zZoUG(5MvK?t!Jod@d~cpW+wQ$BkIsx82e%d(@4`fHZgBT zdC`kSr)T8~%u{F2yWZ>?0Xo#Qf)9P)NJ*XbR0|jsvmSJ9{k5T5MVvC_yu$Ntcv>9X zTf+of-jPUGifXP?;YnTrhP{5PXVMsGkRqD|Smhz-6F0sNI#h^G5SNByz;)384OcS^ zJq8ZvARA1vh0}P%oufDcficiFfk!{%=pTNbJ8aT342)8; zSQA@<1ZE$PM|U>hM`*$cN{;b#eu2Ry$3TzDB~GepcbpaFj#R?9(&?H;iE)xhQA`kw zIRHEtmvodQyF#QdLNmu;&f!emggw$1oEo;K7-1R=BEO@nNifpZG=aLJIDIBADF!z{ z%34#dgm1Y`5qhz001JLuCrsBhlB530I(nfXvlYC*I}K|qOM>Dn=P1%;N$KTL9S8V( z29?7gy_3`(R~*t;qNCzslAb^g8Z(BXc>=B^@{%EqNdj$TvZNz2Fc3{Rnj}YgAmMX_ItbG6J+-#>EHlLO2?CrVk95mJW%5Dl!T@n_y93c{nMpzLI@dx#OCv;Q*} za-WSZ?eu_`Co|bQ8!?;vGb75F>j7pVwGfVREa^eUv9Vnd7EZ!sASS$qPbn-X;BwXL~DL`ICnE%NYVHW-^vOl}H+LlOyVV$prgDP3dnq(~;= z$U$bh6UJE=lE!g9r9(WNPlhBB91c@Sn}}y$6Q;ZwBwphjmNvmHNp{Q-@Vv~N{+Uc} z7`G2&erB>Phx-1L@d@u|%|b57w($~3L|nk|G61fvYAW+JDs>w~jYt?&w+pWnS#gRa zB};0yPy^9Fho2Zd=~e5v-R&8|b7sjqz7z&A$v08s=CxPYO0h14tcOkXes)%+!Ah!U zm@IaE3wIQn&0M7#TJdfX>~x8#TQFfW(b2>Cl+PNHs??1>HoMN9faXd%6dJD7aWt8K zpaX;2E62I`R_E5WWGDisoPEZJOumux0ju~CDc~$FhhkHLx)kruVi5)=19aqRbUmfo zZ2+kR^1q?M1ELU?Z4b{`mU6LZiM$lt!0xe;Um6Pu9aI1fQ=)XNHUPlt7k705FD9YL zXwcLzj)LA?oe&8RsmU;s@ozC0ds&(#8Tq?q=ILxrT$YzC+z9R~?4+a77_(1>6@6)sJS$zvr(%Z5!e#%Zx009_&1L3+(O zs#6SId#yL)bYpa-CU^}D>ldSdnAjOclAzI@Bb7ayPcZH(8@^ROFF46Bk+Ri|%pUKcPM}X7{(t@M#F-Vy!0KmV5 z10EUEAY3-_Cj=rbVwJyEJXvFZj43c?YkZe#DsXpu!c^28nT)y&*`#U2Fp(rFHf98_ zI2AKATiF9?=9wcKU~?R&0o!ZX+XPrW#ZC%%`A*RoC7QS*41IYxW+bF2PRIkHtZBp& z6s{(qq{6_2ToK05Z9!p_CzDSVeO^o6dr~6^r38nLu4FIeJ9~J-9XOJ$PJ=tEI0Gae zk^ybVYj%kfLXe&S1<1Cs?Ne@oczq3c+C9<9*KRmH6QoKugJztvZww+;)EA)oPADs~ zA#(e~9+ld_j8Al#qd4L{^lL|$iU;B5i|!G;9mC5MaWNrPoYip1x(T+2FqVt%_?RNr zK0`)uMQi9qePgbK6f#6g$hJCwlJaQG9$k}N;>d(m(59tY$`o+uoevan?Z!!CWb&p+ zq<`LhlcC^di=N*I+Tf*tD?d?hyUi}la|=E@;o!!((yBtYz=aMEjcpr`n`Qg4!B>V0 z5D_!+l{v=*_7@gGia9;Pqp|8*v^3(GL?=WHR2y0xg!ee(cOpz;b%WNe5eu=nA|9)l zutzY;c0@***20yHfwfMItgC{F6Ok1eZn1K3gpK0=i=>RnQiS9bDSp}MVOrP5SHtX? z5+Oaoghiye&DRG5GsR}keoYAR)^{9-ypLf#U284ATZynhJV6W>ARp`0897mcF#4@X z3%Kj`)EYI@4tS$*qyxszcSh(GsOvWrKxY(wAk2WU$H};?)TJkez-HleA$R;6tU@>1 zeoASNB1bm0M8N9MCLX^;(`vLFAlxGUq}ZHxA0$;gl9ntYpaezuK4pRr?|-BtPR@^= zmZ~*vn_x}$jgyAtXR9d3ggnj6XM%=x+_^D|3Wyg8XLmdU97J6l$kN%}C``Q}lhGnE zawNtfNgwH9?R1TEDXlS=MwchYJTDlfvDO~R_)^%)!F4~3M|{CtMiRDC@EvbA%X?j* z*Op_1(83R7uAxaZtU(|EJWAK$NziUaq@{pIBHLQ(jgss(fRGa8LW3Za8;Q(fuSnW+ zD`iJdgn+m}5+t2=2^`17is&o-()A;&5g&tXGt-LJ2!uFbI+OI0(15ujy&2;vkyMy$ zmz2;Y&ekEP-BfI}XVx$R?|E$@;}~X=$;l{2rK9dCZxAg|49VTHrU14U)JIyz=olpGj{3T4{Ixd9T zSWV$j02FRr5pS?s)mgYpH<>BrX%vdJH1Cd9F=T+ut~OHL#(cz@5s;LIrJFjhS?mRq zT~9Mq1)g_?FS)WPLoZkJq5yd_4a4^v z)hg}f*N)|eRn4&hg~Z>@P`Me+KXK2x7@JY!(wI_k6gwRZN?doOnh9!#fzWd&K#WjKa`aRnU&Q>4vY zqhVp^(+H{0U=p&kp+q#K9Ksk=1tla#_e)rvZ+Ws}NJEX7MW844(ZEVfT~J2fYM_}c zo$Cw&mw<=`6g+` za}b7cT++dENvR&s;9yu9g3|YxwKL2E?__adiT~f=Wb+yKX1?p^FwG&Rc^I+u0ZqlC zbRa4y0T9iwlLhQMhlX^p88Smmn-E*1wTRgvaa;-_RW$fnw@-Ha%A6J?eB9$=)t2;% zRkEVqAYpAlA(-gyK)g&h-o!e4`FNptI%qZfi%e%G;U*)z+vh1t;&>PIWD>gAur1n3 zp10}5iiyR-lVn&X7!UJ4sgH}PF^ymGHjzZ;0E4VwM$@E}=^3VjLd45rTstMx1J30^ zC=~g;_hxOAaNX;!kJmQqg=s`13QsBQG{={n>1d-oB6g9?UH=rq0Q#rJ@fX*oiR*S~ta2S!ql5dkN89}*cb^gnm3A9il7f5b{whu=i zIT@(?WU-RlHRBz_Q>iG8TRspDi7!3N88J&22T~%oc|1^#F9<_!QE*|gDYGt(Br`y_ z6m3@pSHnEf+G8MXFGp}?(A`IVjj-H6DtP(>SCB@Vkry3`R~lksH^xD_>coI_?6oSM zGqVjL;sCY|-s?s}AcbS^@XUz`+NdbI!na1F?pF~%b5C$M zGr=`bsX>?you!Q6hr+av?pQ@3gp^WQ$tfk8aihSHh!;_#8*$B*P?EaTqou#rk(W+S zGtH+4+xY<|?AjNY+LMtO+0C=eS+2hP;M0tbh9WnRpQINOOf$UfPDQY2L?B+CVd~D! z!sa;Y9Raq4;E@o+dAnbrkw$S6`6al+)a!N3{2!`V34q+) zT)1dh!!DW07j+w3lO(S(2geiZt!;0$f|qYvB=wQk5HBIRO-Wo@Cpj*S8X4~Hv8UI~ zADvSm9H5lFg`Kd7?ylm|W(r!1prF=P@3?C%O|c1SPMbixf>sj*97A%Di6hAabpR!- zEwyUa`WZ;)Nt!wtQ0Q(k5sz3bF3NRo!LiTQgKBbtI%Ft|fl)aS>dM=wn+ zH9&}T!1=brEXI%(^bfC1O`aXaFvi}o5jMzSId$D zKC9~WA&{E4trkmAq z_$i{tb(~66FjBQg+IJfZx}K|&-dvnlu@?HWTGq|8zY__Z_>|`^O+7uifXYksoqoPX zCbi=x=FKe&4aQa3kXOh!nq}nj%#$K7y`^*I;S5DFmKjn_rW~MpcRm&LG`3^s~wgM`#kVfLI6$2G)wZR?jN=MrE8krFZ4(dk-ol%fgiB3v7PBhM;;d8o&dOC@w zL~~%^CuWwIoeYvulyN}gaA!=6a7@^l3F2X{x{L?|!*axE1ac?g(rD%em62ca_J>^z zWIA}i>V_>fqZVQs1`<#BEaCWhsW5tv@E#l@(z7ulGANKxwoD9)fU|S*iap3NWFWMO zEfP@{uvCM*Y2fa)ma!UcNv=&NREs)gQy$Bvyn?yI#-XjetFtq_zGfkGehD<_xN_F zb%^o?fe4FfF^=#A2aJ61*>KOm$u!K7R7o$2@0`+1Dd> zF=!TbTJ0vBr3=xf+H4kVd8VUd5n8tLQ~|js0&*u}P|E;tHG(^Bq=gLH$4C1+>SO2# zXSMa3YdASir5-||4t%D=h-g}!y)Q{1B0+{VJ$GqRv~JMIPEV^q*-ftI!BuEwEVdHe zYSLSJ&+W_bo@oX3=nslgpw=re=dIO1ukNtX*Vf&@RzheCF2OPWxOgvLVxZmoQUxcHOLr&ypxEKVRG|S5y%Rv%oefr7dDzmqa69!P+5yoKP zvc%={AW{?>j|~w-`vu1vC2kJ+KymWnuE!voT2z3)0fq8!3im+BPG=?17dRuAV8-!v zB!Zv`C(n41Wy56Nfv!}ODmvq)0b(+C zUcq+cjzWp$2-#*deu;0yl23=}!t0Wg47n}q1;%DJB-0SAMIYY-c4bkGiI-1Lu|8ky z0n@`#D$z>m=HRe)wEuvNM#A4mtk4XG_3L<$>pjgf&^mxd#`{G(5oqZwJJQ&Ahd6wV z7cX&#hv`1qP2WhBzzy8v0+p-_khdV@aaL1;*>krV`L~Z5PQ!6+>or7xi3c8 zHcss+B{S~U)LFB4_}WBTGEQ$||1K_Ps1}rv(?Soz9g^VXD)2*G7f}irJ<#p&&37 z?a5^lIO122;Qj{5Z6Sc?6J#aOml7(BLquiN)7#MKmV=@~d>|-Q{B43MzQuWG6>t@v z!r5v=!#Y`DUjSmejAjfWdSSDPLWtWWc{imu)%I-SmV+^)_)zgRElHTz&S-=_yKETC z_W^?*(`y%!CDz8Wx~myo3u}>ZDJ3>O-OMPpG1Dfjm7qmBnMfrwSP5?~nVovJ)$#9FD;{hApK{N1(^G%bzNQhjcaOSU0&ebbUPoU1& zc;Gl1gcH1&#GD|#CdWHm9H>w>=zT5u(=pO_Nes53H3TShjVD!T1u-|OiA~Yssk%<{ zBFedrwaz1&8834tTWZh(vi@(|z1OGbJ=HvUr`|R@o#sjJ-M(w({4*^z<@(~uxK%L ztO6^5!Z{<4Cu&zBeOa+adUi6zymymuIY&;G6}yD2NC3v9M$UfEoTOA&lX)XfuC_+p zM!NO9fneH9Z8%mjf*0eq#beM8#?XWVg&Z<88ZjJcgAlX9Z2G_!+GytVAQNJcPnHpb zk>_UiX+(qy=XZ-G$?hG51*lL(F21?y_p5)oBNDi50>gw~^HW5aX(<#AyC=_LsPjyhtIK0kp2qP8 zg=+JOiLOJtGYuv>69LYgJPDluq=7^W5Rwd9!I_!||J zM%U++$~*;9qE9WUjcNsh5{858Sgo#Y@2R!TRrUPgE@h~K#pzRFd4drK)o$furQ*Jm zCI+z3&z`kTjwy@9x67yr=SSwYdb9ctk)5Y zt1iIpGpwzByT4Bb&|y8eHV*b#ytCLVC9-HVUs%wus(8 zXhtt%wul3SRpqWwwxAEmRh3!aT=5*#R#m}@XRB4^7u)^t!%ehJwWohIn%o4VXecnb zr`FeY)>o;hf}*x!m<9v%jlc#g=yhDFV6sR6$Uam}4+w14ht)N+#;fW;eNYb{DzDt? zn)}n;o>kL?-hx%NToZcpYzumamTf`r?P>+?Jl%*}W>tL!4Ur-j0oGeW^1_HQL?Y+M zmILh{b8c(TZ?tk5RZNd~K*E3G0V(Q4>KTc6rmh2QFk?7+rj-Zk?_oFGLgr- z^!OFfk7U+2x}q05`o%F($XELH#b_?CpU~?Uqd7%B9$)G9zNY7IVD1xivO$46jQ}1~ zD1B5u&;S7~jYv&^L!<#w=hOwYM>T1khH)Q}!ohknR`p9|AWRuZ*;gBkHqu#DV~}*V z4k$C2s?~IMu(SKueYGYHt*Ra8&EswN&93w2$&Od&vHR+=_v&jRO)RpeSfKNXSOu)E z{S7W~fl8k7%h)0xgl z>U{sQ**;#-&!#gSy#!RHv>(E{6+CnjV@)noxZ?+uCyV05qtKQ&RTwIO6UUC4T_z^b zjKn+-#jaW!lR&a4JPs%mV2W(i9p!n5W#>s1jyBVyXku%x6gi^;W(Jn4a5n7WaMnvN zlUSC;sFsq3e}!H6xb`cw5B~z5__*ivv&wB;MH0?LlR~8Zt~n9Bj7y#-opk$qbggj( zXc@l17%jHZrC1tTFDhJ6TA+lA(6{1Z2tSx*SsI6Rff@u=nes5n;}{k1-)RP84<2EZ zu|2rxDLE_QB6yfyLyJSL+}Z;q_dsE||ttv|1##59K z*k5%rx!MCv=t){u{X!i34@&)c@2>vm?cFi{Gi<;=uQMg->n{N4Q24xen0X7F89W!s z4Zdr^gFob^|9>g}mHdc=DF5Bv{rV62 z@4w@3YqO#@T_NoNg|yq>ppbS~okSRmrR6v_qf4P2m_Of z8m)A$DVNlpPK7!b`z5$!;)H{%L(^ka?(&>xsUB9CL{9V>^uI9ae1(!Su_P%rs`lSx za7j}c7dF>>-R`RH>C4{RW~Zg#`&sAoyY^A*NWFLmFI%d4-g^xM?9V?pyYPB_T{TaR zNP6D-{;Y$N@6!&p(|&Vy+=f~rQ*XDrHPt>jJU%~apS-H67w0{U|DulDZ`wU5);q0H z>-lQf*y+ohs2zK~Pu8w*3PJ5rgcP1-#&qUIV_>-zHS~LyOVm+f&n#O9Jjbh znAB0bLkXGMC-RNkID{2}u^iV__pEi;#xJe!TQK%!=N;u%I6OV+w*KoJ3c*Wt)O^!? z)#|DZe+96u>>|K&AD(wwC;`N2ch6sRd+pwNuccm{o*v=qs&1?EUHh=r-B-t_xZW?- zdACIa!@w`pJ+uOg10`@$=iN3fQ~RU`%*Q#IJXF=|)3>k+Fw!Q}KBDzJJ;6CM6tqq| z@33iH4_fh>di%Ns&pWt;Fuh)(z1lRqN!ig#}Kr zp||aBs|tJ6?qY%ViRfUU+jE*bZVZeKzUBavGi0guOVvF3u8rfD^04h)9bbr+@9?#( zKJNY&P^MZ1us7A+Kdr-=!MqFj7G7Tt!%NkF+dg@`YYRUEyn)7ayO?^< zd7AFd2GeLtPg&}&sAm7T)ja9LqW9mx7r!0ygun_UsK2Lt6#G5SFd~fqNLyRjCVBMu z?@6z+wMi*9**e8!R0SUGRXA%7gDD1=X&U=&SVKJ#w-vShVf*Xt9d}^U>(MlrM$|3( zXI(mr|17;rx6mVrN5yN(u|oT=o8Pti-FMwSC(!A?&QxQYMW@+<>gOlzZtuveI-dX* z9xkr-^6;d0?A5v)OlG6Sm7t^J_6vWQvmrXQxz$XX#w3|!wv6ocQ~w#X@c(1)PuJVV zvTRW_|JqN1Q0=ryo1_7-x5BPNOSG*_SyG9T9Z``{+-N1FDUwByl9iQl9_zlqeX%>c z)c^!#J2I=jyU%xW*A7!8u&}V2xn?uwnB|#e9NUiZIvHQUCcl^-ofJAUPu4I~>lfMl z;dd~%_jcUh`?dxy4$dkYfL-u#1Ece^(Uh97Zx2?>-~~2NIhMpJQXC^(AM0SfW0a2G z0AE0$zm5(M&nJaPWGUjX^U7tqS3q#vvH`zoDllR3Cv+ND|8jG);|EpNqVTizJ52p7 zBHO#_?reG6E8kfVQnFv)V@1K~!RX-q7=~l=e)@5Ad7UQS)k0{Vn7&&aseVPE?81GDaOA(U0-I9!way<5M`~ z4<0{CW9JnOO3k!I?fhL|)IhX2_OVV4?n8U2Q-d2{zj9pX?|*kl4mht~Ipd=fn1}k~ zM~{Ty3m^K3Yt-H)1SAaRauqy=VQEBWEBUvkilcryNogLJ-JRXp#UCBl>Q2++F;Mig zwYP`rF?G2GWn>M@U%j19#usl7;e)w`nsZ=4AJL4!b@(W|^+&(yNwmk{x5scaJ;Qj> zIW9ISfT4?PKSg&CMMV`a7*f66TUq8Om&Z+v<7aclF(4uoAsAfYa83D-8$!S%MT%(8 zbQ!zjp20&3S8&A;MY~XAvL1yeB~5<0@WbG@eyo0?iZYVVo4f)$1*aq?bU_D70M*`r|&eLOJZMTNA zg7qLcVv+#)8ouCmZ;~7Qk=x@cK#OS_tX{eMd_N8!EcVms`Qhow@z1bsAB{g=UK|}y zM-xz*FKSlDa1j=Nln&w#g{AR|s<+{{YAH~8HX|3_9G!sL&wIgosYj2fKYxFvFWEQi zoOb0-ab-sIhL{xG2X`m`f}=&7@JYU|qlC%Vt$aNt+NB>!<~)AHRqgcGudz@H=*#~; zo_-kp1dHo|ed^ObeFSrW<-u>JQZTs2(^0oteeQUwyFb9?UvJZzN*>zkvimuh&%hWp1-1nO@m^852wNQ2;%fU;s7~(DlSs{<{zu>97p5R}shx{sw-Cq3G&)a*2H>ou0k`%Wjh#^6!(S{FhGO9->`~>_7>=ndq zQSGTh%}x*yzxcnRxKJ8{ED`lQt9jKlH*1=tG2vyQ?vkf~&V7g_P=D5Nwg75L%oMBEM zp(!yP)R`&eK(x#VfY)`=72<#E zp_IRlnmxKa6S|vI9_d)aEcY2vyDt_k{PD#OX)!)OuO)S4H2#-=NlJ1+eoOTJFAu#= zOMArvw*0%K#w~VUz*M#7cXgt{?`UmIsXQP)1Bu;M)fcENOSvMsrRH%PuIW&fLk~e# z6p=@DQqBXt;t03_-@t)m{)Wr=FNB_q-jda&g)aOJ#`90rH}GFio;bBa19*ek5F~Ka z(#C_xx|c zTC4be{Bln5?Oipi7ph z<&WRBmY*o43ExaN_3+B67|5-?@bECgIyyl{6@*%#kxy(z!Hl3SSX2$Ozh{^~i(#dR z&RAU`_L}P?Q&b8SdSp40k|5TmwinZPP1HYcHNm|g{C9{vxXHfQ`l|D#J3CbmYxEcDc9#E+8kTzXmg`P>M4hSb$gV!HwkFSd;+#%TU>vY~ zaa~%j@*p0Ii_-bKeS^p(zHMiZCgmO#yF`8Z&GI=GZB-10F_V}|OCz?RhZYWViYi`# z4Kl|lj0Z9MNg5GsKgPmB!sJIu2E$dU7_%F_G8^8ri6U9CKrHqkg!^?04*t}>fe)7 zbsXSlGfp5`kSQ3|1LPWF*I~`JLF=OVz|Zw9m&)&%OFD_aWkQ`PG%??NnND#s%d<>| zguni=#3&w>>Cu2TwaNQF`s#uq{w2D|6)nfX8!!Q_06 z@1F?l?SJP)tfOUVGGeJ_^G*9|XZ*Kr&kKHYIL5L>ql1I-+1A{!cdB#|F$Ly!-BhVf zulT)L)2}nnE^j(SNsGG(Q)3tsCH|)PUf0EX_QKgc3rA;X=cgB^_!^C^PBqjNJbGaK zo$7OChyG!C{dbG-EqP@RZvlyb!8aLSb<{t2(jRW0^bZ~Mhr4BX@szj1f86ShFrhl+ z?Qo%e$Uk(T96qFV{DY^vH7(zJx*z_tPWS(&rSbK6?Kd9iyBEXPHh`__R}X+jRcq7|^*ht;VD#& z#SY*k!-1L`gK@QEC@W{f;l)GU{>qGOPcr?7W@E>1vI@wyr2nkMqd(soTx>=E)hi9P zzVsE%1MTNIdeL&wUQ+D&-XCYP7&h?}vde#Sa638M1}=AELs9mM7QRpmo4O8fZaA)d zbaDZsg~3@%KvNqu2fFDxv~A9iIlW8iRb-OI2XHi*oQ)2~({EZIRijXD?(pc{(S>eK zZnTD@eEm<=H~fwThcPKh!#xsuPs*gb#v-o^A$sd|nqkKE4X%*AYR{5uMFVdu(2De= z)c#I6%evTdeH$S2B>f9Y%`2tS&=+-CfY1`W%%{odU9vuglWI&YE1wSiNpSW(2G^UV!s%c8i0t9+@nqv$cQ>KlUf8;)oHf?v22`CK#CY?Ch#ri~)FrbJ7< zHDk}xcuInXPpmCRZXWP)C3>lzTr7b+CAbO2@oArMQ%30{B~g8=BP@B)e4PhV6}!gy z!4q#h`hek$J)*&yTRW$TxSO!^hn?rjr z1#C-WvionQtmI3B;21->q&b!eC&u18O%GL3~~Uv-Ne)v9(QT~F%uHG%4&lksLH1o?soEYb<@*i>*B6D!r!yv}ro zQq9Y!9B)tH9}|H}>S`xhf(-TPhs7AY_LD@f)e^#zw~E=0-@7b#ImnaB=(kyXe2D1h zjgF?62Y>W&{CD%s!RQ3z4%kDU*rv$OG` z_0{P3xZ-y7K*3wTJpxS$^a1{TyNmx((Z&C$?Bahs*v0?Y?&5zGy7(Utc2S?<%n+Os zL8Q6znOKB*lH5>q57g{guw2|L781b<5Pspg9Na>i~HB^Xrhx&U0S1Gp7BFqM|o&B&5T zKvs;CQ)lCHUt3aALABBQ_BN~+A#T$=QI*(GzJ&Mc44{{@UaeI$znvW;fCSOS*V5nU zPVUo0eF&n};-z!3+9XbvGDP?2%$kp<_~9v@&=SDKiU3qr8ou%Te#^!G_hRtaPOyV8Q;2&!2?5vjc($PqZ@yo}mTZHI)lWxfCV`22J{`2{1c zdw==jx)1&TJ$9ph{W>L>3#t(IUeG53ZmsGgLb#sg86F$8s-Nn4uumuabOS4{?N6zU zF`nh~_2L?g{cH};EQYqV(!y815?JpeOEm3XEW59?XG~NuLMW_Ft))P!FJP%}c7^Gk zhduyXu@SFPoP?XJT5a!;c(TbA%PUatuRTU)Jt}W9r9A$o^`(cVp!e_`^k@=#)w9sk z)4;cD!>YjQ@okaXOau3K-4;D?TWT!^ReT6bTvLDqv>lu?q8MKD=bK>JKw_6A z5*d@VMj^2I=O%$X8(dQm^gk|m1LLVFx_{?l>g`-iy{g5uZ80Nu4F9|&&r1!y9Gx9G z&#E#Xrz!gSYb6>#y0M}DIs15ebO`?(oq>KZI=jHo0qn8yWP+1_MpqfXWQ7A*4k}Jb zBfasVpv$}Qg=DnV$(Q$GL6qQ0LJ`aRtr7*GtxD6XUI&(x#UfeA^JvPWlY7tbxvLC0 z#<3N?bDqHmlOa*qgys?ha8qyg1U~EtI$RRZl#cgUH`Vtlby+kvY8i9_uG@Dq_&@yI zd<}n2=OC_(PW^*?tKdnGRDF$oV`>!+ANzXsG#FmhA$*DbVyLashlrY-RI>Q#%n6gL zU~U(KsakCL>pruA(Iq2(QjJKWvYw+C$-DjTb zcMx1@4X{c2u`!cB=u1kEe6*sw(s_*#;>eTG;E`|0TIrIF#>xE zWBB&?^b>Dpc$qt-)u3V$R~uoqUt3k(Iro6yai5YTsiY*IFDeDbbR7l2!|z)0vW2(( zeXskQd1J71PsC-gHF+fB%z>s`+E*X-2lH$5^@$dK*6z7Hp|z`a5o{RjJU_s``E9n! z*KmyBaXr!xf&asc?6z?-e#V!g%#Xr3qD!L}zN9I5RH4yx%kr?+Y&ntN_E`_u7SB0} zU*#gydmRKZ4%|zHYorZ_G~~xDmFO#lM6@Tga$P8gJ+)pAIug)Od*e}0!UTz3#<^9Z zcy3Hs{cTI7eS%sK4HDo)@$4qa4f5x4B51mqwW2 zuc}(5GE;O07u>e8kVr4XWuw;-rvX#tWK`wmR*o9c-LJX64v`=R&gJ15HSyHME}l~P z9a!DOD`a8I1@n-ssa~oCr<6HJtq@<;TG$|UiAP;_(gXyz@MaIz`wh4Y}8MZB!fvcd9B;7OMqI| z1=3DTm++fOHQDn9Ex*%gxh-!n*dsYU*YNZ0jADi^Tm9^nI@(h`?X_rym;2f){Q8~U zg@^5d^60(n40`U%&~^QnFMF!j(&RVxn=`o!U8mhx-!Hyi#dSS(p+XyQeOhw#=LEiU zp2A*GF28;LS$)6O2RUarJZ^K z6oq(*Bx}xxy-PHMg%+!P6NpFD2}Gw-B$Ut&)%Ly1a-z6Ps4_e9xRgqas`_n)AcI;H z)>#wvhLIo@hDihO;eg5rueR;-9UV=NkKV9DVswn|MkFyqR}}w`-u`_uTPCZQRsnXd zUu=rRa!n7#o*{uib($bO1{_#<@Km`hi1sf`B$TO?l*Ov}MGwbUipydP_!ByN=w)?s zsvcP9I^)vdM}pr)_#U2OIYu;@$@-a@7%UVI&%-L2q{-pQs^3U~`{-q5ndrBDrZhDe z1O4r^RvFDN>P7sCQ^gB@maRw7yO5r@>k781i$b68QX+x=YQ7G#sUA7mw2t{nk7HpQ z9?jz<%JS@%C=6FWIPWqp1977UiiQjZPj=+aUV329uPB7RIzBP zhk62IM?LX>PfvUesb%p8c8(SfE3bf}RsH;pUYlkb{b89s`yt@nq-*xK0$Lo zB!;cWSnF(iS6kOvD{gy>TL&8n4?fyPM0Hd=r=BwZ(Nm4$n8!lbw93~{6$1pdL@Qy< zrJj_zi!K6?!(*-umT=))PPjsOYG+425v1NQVG-|@y6D-h-JN*_${Wj zT{qC{ur%Iv2{-YeAP&%1O-*TcT4t?eZowcRgG}#6yo&C&zC(vyX75*Zzv0#5NBvfa zJrK-rI>%b3Sv1Ayj!GLg$Y}XeBV^{9m5EV~uVmAa4-<0|9fetzI}!ULNLf$k>d#-l zq9bMQ{P@c0b-V2@0S4t33XMGxfGwHy{1Lvl#t3`DKAA1>(=+Fc5R?HmiPknT?!x+c zs-B_M3Rz(R)|1U{ux326BrwoluP!UepF&to53OZJI_-e;^WZ)>s0z|2^mGMMm~TDl zX-;75cg&@pKWpHNWB5Rf2|d_venxN&@k(tc&yoAu$PASQQi-*Zn4%KK7)pe$Kg0jL zB2xgq3GWM?Hq1NvJWJ-v`>5Vvy|~WtYmlUz(!DDa#6aU@VguoOE7g)9zlfHJirGQD z%(z;xx&_u_gC!#UrfxIegDeDlV%3V+%z2WiZF*771;n!AE?dKbWC|5}OOkW$%dHcR zzPI!g>x#W~wA?FS0t$qE$tK22Bp|A;nH*f4m2ShY?ECU)O*hK8N{!@~RS6QXdZ-Op zK9?WfjL)H!|FXQl^oqs#r>|fE(0I!j?5jLsoOU~H6jyuuDM*~a0=L_S*_@P3VE@;^5P7}kdR?Lk8 zN#j$cqL&A!s2SP<3w=vyCySAXksWQi*@gQMe37(zNze^`kHusn%Uev^Ury&!?d zF6%q;Mpxf&;}Bt;-z-_Nk|i$XIaL*(&5|6pIYRE{%nL^0=xA|s!%5O;F)I~MC(ffP zXeZKx^j*wulhsS+wQoA3n8MdjX;es~WY-R6a^?#L3RGJ5E!Dy?){ogN&FPKFAT$cL z3P5Gw*H~?p5-s2mhD$*NHB>Y2;ffhMWaf*QxEWuO%0oJ6=_>MIs`7WLtXfW2=B


      I?vgi#wAa;QxysNGv>x}26($;Wa?KzY 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
      48>oe360xp8gTAc&yLVWwhTMQ_2 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­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
      -WMTZK{z*b~1cW%O_;ndnbjV(2#KT1hC> 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 literal 0 HcmV?d00001 diff --git a/vendor/libuuid-1.0.3.tar.gz b/vendor/libuuid-1.0.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..de098adc125db40e7eb0b026add86fb1df386dba GIT binary patch literal 318256 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 z
      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�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%0D$}6s69L0J38(?J3M&v8c&xQOru2I!f-LwM6t$I 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

* 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⩔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