From 61648dd57f4ace9e0e5f60f5c6553f9c30490409 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 15:31:45 +0800 Subject: [PATCH 01/30] add demo --- Makefile | 4 ++-- demo/Makefile | 17 +++++++++++++++++ demo/demo | Bin 0 -> 90557 bytes demo/demo.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 demo/Makefile create mode 100755 demo/demo create mode 100644 demo/demo.c diff --git a/Makefile b/Makefile index 7a3cec6..5f9ce8b 100644 --- a/Makefile +++ b/Makefile @@ -5,9 +5,9 @@ LDFLAGS=-lpthread SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) -TARGET=libdplubs.a +TARGET=libdplus.a -all: $(TARGET) $(OBJECTS) +all: $(TARGET) $(TARGET): CFLAGS += -fPIC $(TARGET): $(OBJECTS) diff --git a/demo/Makefile b/demo/Makefile new file mode 100644 index 0000000..484046c --- /dev/null +++ b/demo/Makefile @@ -0,0 +1,17 @@ +CC=gcc +CFLAGS=-static -Wall -g -O2 +LDFLAGS=-L.. -ldplus -lpthread + +TARGET=demo + +all: $(TARGET) + +$(TARGET): demo.o + $(CC) demo.o -o $@ $(LDFLAGS) + +demo.o: demo.c + $(CC) $(LDFLAGS) -c $< $(CFLAGS) + +.PHONY: clean +clean: + rm -rf *.o $(TARGET) diff --git a/demo/demo b/demo/demo new file mode 100755 index 0000000000000000000000000000000000000000..7ecaa1ba65f24f3558325b383218a40d50ca1952 GIT binary patch literal 90557 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 L2-uqRsq+5-s52eQ literal 0 HcmV?d00001 diff --git a/demo/demo.c b/demo/demo.c new file mode 100644 index 0000000..b392dcd --- /dev/null +++ b/demo/demo.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../dplus.h" + +int main(int argc, char **argv) +{ + struct addrinfo *answer, hint, *curr; + char ipstr[16]; + int ret; + + if (argc != 2) { + fprintf(stderr, "Usage: %s hostname\n", argv[1]); + exit(1); + } + + //init dplus environment + dp_set_cache_mem(4*1024*1024); + dp_set_ttl(90); + dp_env_init(); + + bzero(&hint, sizeof(hint)); + hint.ai_family = AF_INET; + hint.ai_socktype = SOCK_STREAM; + + ret = dp_getaddrinfo(argv[1], NULL, &hint, &answer); + if (ret != 0) { + fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); + dp_env_destroy(); + return 1; + } + + for (curr = answer; curr != NULL; curr = curr->ai_next) { + inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), + ipstr, 16); + printf("%s\n", ipstr); + } + + dp_freeaddrinfo(answer); + dp_env_destroy(); + return 0; +} From 2ed1415f0d29f86713b6abcc996b009ec15e6648 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 16:53:55 +0800 Subject: [PATCH 02/30] add doc --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index e69de29..c80fcb3 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,17 @@ +# dplus-c + +## 关于 + dplus-c 是d+的c语言sdk。 + +## dplus-c 结构 + 缓存模块: 使用的是LRU算法,当缓存超过预设值后,剔除最未使用的信息。 + http模块: 发送和接收http请求。 + dplus模块: 包括初始化缓存、一些全局信息,实现类似getaddrinfo的功能。 + +## dplus-c 的流程 + 首先查找缓存中是否存在域名的信息: + 如果存在且ttl未过期,直接返回结果, 如果预取ttl过期,则进行预取; + 如果不存在或ttl过期, 则向d+服务器请求,返回结果后进行缓存; + 如果d+服务器未正确返回(返回空,超时等),则调用getaddrinfo; + + From 844305e565955171d5f9ed6b975ac79ca62b456a Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:16:19 +0800 Subject: [PATCH 03/30] update doc --- README.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c80fcb3..2a73689 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,39 @@ ## 关于 dplus-c 是d+的c语言sdk。 -## dplus-c 结构 +## dplus-c模块 缓存模块: 使用的是LRU算法,当缓存超过预设值后,剔除最未使用的信息。 http模块: 发送和接收http请求。 - dplus模块: 包括初始化缓存、一些全局信息,实现类似getaddrinfo的功能。 + dplus模块: 包括初始化缓存、配置等,实现类似getaddrinfo的功能。 -## dplus-c 的流程 +## dplus-c的DNS查询流程 首先查找缓存中是否存在域名的信息: 如果存在且ttl未过期,直接返回结果, 如果预取ttl过期,则进行预取; 如果不存在或ttl过期, 则向d+服务器请求,返回结果后进行缓存; 如果d+服务器未正确返回(返回空,超时等),则调用getaddrinfo; +## API说明 + 在初始化之前,可以修改配置,初始化之后将不能修改。 + dp_set_cache_mem + 设置缓存的大小,单位是字节,默认是4M。 + dp_set_ttl + 设置最短ttl时间,默认90s。 + 缓存中存储了域名的ttl和预取ttl,当预取ttl到期时,会开一个线程去d+重新请求, + 请求完成后再进行缓存,而d+服务器也会进行预取和缓存,所以此次请求有可能会得到 + 一个很小的ttl值,需要对比设置的最短ttl时间,大于则进行缓存。 + dp_env_init + 初始化dplus-c环境 + dp_env_destroy + 销毁dplus-c环境 + + dp_flush_cache(const char *node) + 必要时可调用此函数清除域名的缓存信息。 + + dp_getaddrinfo与dp_freeaddrinfo + 调用dp_getaddrinfo进行域名的解析 + 调用dp_freeaddrinfo释放内存 + 与系统函数getaddrinfo,freeaddrinfo类似 + 使用手册: man getaddrinfo + + 具体实例,参考demo。 From b3a544252def07b7544a9459f6331a4b73642f04 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:25:09 +0800 Subject: [PATCH 04/30] update doc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a73689..720100f 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ 设置最短ttl时间,默认90s。 缓存中存储了域名的ttl和预取ttl,当预取ttl到期时,会开一个线程去d+重新请求, 请求完成后再进行缓存,而d+服务器也会进行预取和缓存,所以此次请求有可能会得到 - 一个很小的ttl值,需要对比设置的最短ttl时间,大于则进行缓存。 + 一个很小的ttl值,需要对比设置的最短ttl时间,按ttl大的进行存储。 dp_env_init 初始化dplus-c环境 From 4d5f246e8ab9d4c86590d749405b4d69fd878ee1 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:29:29 +0800 Subject: [PATCH 05/30] update doc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 720100f..3aa524a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ dplus-c 是d+的c语言sdk。 ## dplus-c模块 - 缓存模块: 使用的是LRU算法,当缓存超过预设值后,剔除最未使用的信息。 + 缓存模块: 使用的是LRU算法,当缓存超过预设值后,剔除最久未使用的信息。 http模块: 发送和接收http请求。 dplus模块: 包括初始化缓存、配置等,实现类似getaddrinfo的功能。 From 1e196dfebf962f28f01b95baf590e958271ec663 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:31:17 +0800 Subject: [PATCH 06/30] fix --- dplus.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dplus.h b/dplus.h index 0b65b19..c09dfde 100644 --- a/dplus.h +++ b/dplus.h @@ -70,6 +70,8 @@ struct dp_env { int port; }; +/** API */ + //set cache and ttl before init env void dp_set_cache_mem(size_t maxmem); void dp_set_ttl(int ttl); @@ -88,8 +90,9 @@ int dp_getaddrinfo(const char *node, const char *service, //similar with freeaddrinfo void dp_freeaddrinfo(struct addrinfo *res); +/** */ + /** internal functions */ -struct host_info *dp_query(const char *node); struct host_info *http_query(const char *node, time_t *ttl); //http request api From 756f1a76d6cf81c0c34f6e85805aff41a05f2128 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:31:57 +0800 Subject: [PATCH 07/30] update doc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3aa524a..ce2ba6f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ dplus-c 是d+的c语言sdk。 ## dplus-c模块 - 缓存模块: 使用的是LRU算法,当缓存超过预设值后,剔除最久未使用的信息。 + 缓存模块: 使用的是LRU算法,当缓存大小超过预设值后,剔除最久未使用的信息。 http模块: 发送和接收http请求。 dplus模块: 包括初始化缓存、配置等,实现类似getaddrinfo的功能。 From 6b063cc40aa2ec72a315ac1dd07bb181982685ca Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:41:32 +0800 Subject: [PATCH 08/30] fix --- lruhash.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lruhash.c b/lruhash.c index 7b81078..2ea5b61 100644 --- a/lruhash.c +++ b/lruhash.c @@ -302,12 +302,12 @@ void lruhash_status(struct lruhash *table) fprintf(stdout, "lruhash: %u entries, memory %u / %u", (unsigned)table->num, (unsigned)table->space_used, (unsigned)table->space_max); - fprintf(stdout, " itemsize %u, array %u, mask %d", + fprintf(stdout, " itemsize %u, array %u, mask %d\n", (unsigned)(table->num? table->space_used/table->num : 0), (unsigned)table->size, table->size_mask); min = (int)table->size*2; - max = -2; + max = 0; for(i=0; isize; i++) { int here = 0; struct lruhash_entry *en; @@ -316,11 +316,11 @@ void lruhash_status(struct lruhash *table) here++; en = en->overflow_next; } - fprintf(stdout, "bucket[%d] %d", (int)i, here); + fprintf(stdout, "bucket[%d] %d\n", (int)i, here); if(here > max) max = here; if(here < min) min = here; } - fprintf(stdout, " bin min %d, avg %.2lf, max %d", min, + fprintf(stdout, "bucket min %d, avg %.2lf, max %d\n", min, (double)table->num/(double)table->size, max); lock_basic_unlock(&table->lock); From 6b183a044d36d99a3264f7f592dcb3427b8ebe64 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 22 May 2015 17:42:02 +0800 Subject: [PATCH 09/30] fix --- demo/demo | Bin 90557 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 demo/demo diff --git a/demo/demo b/demo/demo deleted file mode 100755 index 7ecaa1ba65f24f3558325b383218a40d50ca1952..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90557 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 L2-uqRsq+5-s52eQ From 92c9ab7f308dd0e2eb18dbd5faf3a15fa003f70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fengbojiang=28=E5=A7=9C=E5=87=A4=E6=B3=A2=29?= Date: Thu, 28 May 2015 15:48:17 +0800 Subject: [PATCH 10/30] modified README --- README.md | 66 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index ce2ba6f..6e8c4f0 100644 --- a/README.md +++ b/README.md @@ -4,38 +4,64 @@ dplus-c 是d+的c语言sdk。 ## dplus-c模块 - 缓存模块: 使用的是LRU算法,当缓存大小超过预设值后,剔除最久未使用的信息。 - http模块: 发送和接收http请求。 - dplus模块: 包括初始化缓存、配置等,实现类似getaddrinfo的功能。 + lruhash.c: 缓存模块, 使用的是LRU算法,当缓存大小超过预设值后,剔除最久未使用的信息。 + http.c: http模块,发送和接收http请求。 + dplus.c: D+模块, 包括初始化缓存、配置等,实现类似getaddrinfo的功能。 ## dplus-c的DNS查询流程 - 首先查找缓存中是否存在域名的信息: - 如果存在且ttl未过期,直接返回结果, 如果预取ttl过期,则进行预取; - 如果不存在或ttl过期, 则向d+服务器请求,返回结果后进行缓存; - 如果d+服务器未正确返回(返回空,超时等),则调用getaddrinfo; - -## API说明 - 在初始化之前,可以修改配置,初始化之后将不能修改。 - dp_set_cache_mem + 1. 修改必要的参数配置。 + 1.1 缓存大小、最小TTL等,如果时企业版还需要设置DES加密ID、KEY等。 + 2. SDK初始化。 + 3. (企业版)对域名进行DES加密得到加密后的字符串。(TODO:批量解析说明) + 4. 调用dp_getaddrinfo接口进行查询,使用方法与getaddrinfo完全相同,具体可以查看DEMO或man getaddrinfo。 + 4.1 首先查找缓存中是否存在域名的信息: + 4.2 如果存在且TTL未过期,直接返回结果, 如果预取TTL过期,则在返回结果的同时会异步进行预取; + 4.3 如果不存在或ttl过期, 则向d+服务器请求 + 4.3.1 如果D+服务器未正确返回(返回空,超时等),则使用DNS协议向Public DNS 119.29.29.29进行请求 + 4.3.2 如果Public DNS服务器未正确返回(返回空,超时等),则调用系统接口getaddrinfo,注意,此处的返回结果直接返回到上层接口,不会进行缓存。 + (TODO:IP测速,筛选最优ip进行排序返回) + 4.4 将返回结果中的IP构造填充到struct addrinfo格式的输出参数res中。 + 4.5 将返回结果进行缓存,如果得到的TTL小于设置的最小TTL,则按照最小TTL进行缓存和计算预取TTL。 + 5. 遍历返回的res结构,获取所有解析结果。 + 6. (企业版)对解析结果进行解密得到最终的IP。 + 7. 选择合适的IP进行实际的业务请求。 + +## API使用说明 + 1. 在初始化之前,可以修改配置,初始化之后将不能修改。 + + dp_set_cache_mem() 设置缓存的大小,单位是字节,默认是4M。 - dp_set_ttl + + dp_set_ttl() 设置最短ttl时间,默认90s。 - 缓存中存储了域名的ttl和预取ttl,当预取ttl到期时,会开一个线程去d+重新请求, - 请求完成后再进行缓存,而d+服务器也会进行预取和缓存,所以此次请求有可能会得到 - 一个很小的ttl值,需要对比设置的最短ttl时间,按ttl大的进行存储。 + 缓存中存储了域名的ttl和预取ttl;当预取ttl到期时,会异步去d+重新请求。 + 请求完成后再进行缓存,而d+服务器也会进行预取和缓存,所以此次请求有可能会得到一个很小的ttl值,需要对比设置的最短ttl时间,按ttl大的进行存储。 + + dp_set_des_id() + 设置DES加密id。 + 企业版才需要设置。 + + dp_set_des_key() + 设置DES加密KEY。 + 企业版才需要设置。 - dp_env_init + 2. SDK初始化 + dp_env_init() 初始化dplus-c环境 + dp_env_destroy 销毁dplus-c环境 - dp_flush_cache(const char *node) - 必要时可调用此函数清除域名的缓存信息。 - + 5. 获取域名IP dp_getaddrinfo与dp_freeaddrinfo 调用dp_getaddrinfo进行域名的解析 调用dp_freeaddrinfo释放内存 与系统函数getaddrinfo,freeaddrinfo类似 使用手册: man getaddrinfo + + 4. 缓存操作 + dp_flush_cache(const char *node) + 必要时可调用此函数清除域名的缓存信息。 + - 具体实例,参考demo。 + 具体实例,参考DEMO。 From 30cce469943a5b8522177512537695c656f50a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fengbojiang=28=E5=A7=9C=E5=87=A4=E6=B3=A2=29?= Date: Fri, 29 May 2015 10:47:20 +0800 Subject: [PATCH 11/30] add des encrypt/decrypt --- Makefile | 2 +- README.md | 2 +- demo/Makefile | 2 +- demo/demo.c | 17 +++-- dplus.c | 170 ++++++++++++++++++++++++++++++++++++++++++++------ dplus.h | 26 ++++++++ lruhash.c | 3 - lruhash.h | 2 + 8 files changed, 190 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index 5f9ce8b..a3adcc1 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ CC=gcc CFLAGS=-static -Wall -g -O2 -LDFLAGS=-lpthread +LDFLAGS=-lpthread -lcrypto SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) diff --git a/README.md b/README.md index 6e8c4f0..6e6a8d8 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ## dplus-c的DNS查询流程 1. 修改必要的参数配置。 - 1.1 缓存大小、最小TTL等,如果时企业版还需要设置DES加密ID、KEY等。 + 1.1 缓存大小、最小TTL等,如果是企业版还需要设置DES加密ID、KEY等。 2. SDK初始化。 3. (企业版)对域名进行DES加密得到加密后的字符串。(TODO:批量解析说明) 4. 调用dp_getaddrinfo接口进行查询,使用方法与getaddrinfo完全相同,具体可以查看DEMO或man getaddrinfo。 diff --git a/demo/Makefile b/demo/Makefile index 484046c..6b8b5be 100644 --- a/demo/Makefile +++ b/demo/Makefile @@ -1,6 +1,6 @@ CC=gcc CFLAGS=-static -Wall -g -O2 -LDFLAGS=-L.. -ldplus -lpthread +LDFLAGS=-L.. -ldplus -lpthread -lcrypto TARGET=demo diff --git a/demo/demo.c b/demo/demo.c index b392dcd..4d1f72b 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -1,12 +1,3 @@ -#include -#include -#include -#include -#include -#include -#include -#include - #include "../dplus.h" int main(int argc, char **argv) @@ -23,12 +14,17 @@ int main(int argc, char **argv) //init dplus environment dp_set_cache_mem(4*1024*1024); dp_set_ttl(90); +#ifdef ENTERPRISE_EDITION + dp_set_des_id(DP_DES_ID); + dp_set_des_key(DP_DES_KEY); +#endif + dp_env_init(); bzero(&hint, sizeof(hint)); hint.ai_family = AF_INET; hint.ai_socktype = SOCK_STREAM; - + ret = dp_getaddrinfo(argv[1], NULL, &hint, &answer); if (ret != 0) { fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); @@ -42,6 +38,7 @@ int main(int argc, char **argv) printf("%s\n", ipstr); } + dp_freeaddrinfo(answer); dp_env_destroy(); return 0; diff --git a/dplus.c b/dplus.c index 37603e2..e3e2cff 100644 --- a/dplus.c +++ b/dplus.c @@ -1,25 +1,18 @@ -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - #include "dplus.h" #include "lruhash.h" + #define HTTPDNS_DEFAULT_SERVER "119.29.29.29" #define HTTPDNS_DEFAULT_PORT 80 #define CACHE_DEFAULT_MIN_TTL 90 #define PREFETCH_EXPIRY_ADD 60 +#define INVALID_DES_ID -1 +#define DES_KEY_SIZE 16 + #define HTTP_DEFAULT_DATA_SIZE 256 +#define DOMAIN_MAX_SIZE 256 //calculate the prefetch TTL as 75% of original #define PREFETCH_TTL_CALC(ttl) ((ttl) - (ttl)/4) @@ -33,6 +26,10 @@ static size_t cache_maxmem = HASH_DEFAULT_MAXMEM; //min cache ttl static int min_ttl = CACHE_DEFAULT_MIN_TTL; +// des id and key +static uint32_t des_id = INVALID_DES_ID; +static char des_key[DES_KEY_SIZE] = {0} ; + //http dns server and port static char *serv_ip = HTTPDNS_DEFAULT_SERVER; static int port = HTTPDNS_DEFAULT_PORT; @@ -47,6 +44,106 @@ void dp_set_ttl(int ttl) min_ttl = ttl; } +void dp_set_des_id(u_int32_t id) +{ + des_id = id; +} + +void dp_set_des_key(const char *key) +{ + snprintf(des_key, DES_KEY_SIZE - 1, "%s", key); +} + +/* + * 对域名进行DES加密 + * 如果不是UTF8格式,则需要转化为UTF8 + * 返回值如果非NULL,需要释放 + */ +char *dp_des_encrypt(const char *domain) +{ + EVP_CIPHER_CTX ctx; + unsigned char buf[DOMAIN_MAX_SIZE] = {0}; + char *des_domain; + int blen1, blen2, dlen = strlen(domain), des_len; + int i; + + if (INVALID_DES_ID == des_id || dlen > DOMAIN_MAX_SIZE) + return NULL; + + // 初始化ctx结构,使用des/ecb方式,padding方式默认即可 + EVP_CIPHER_CTX_init(&ctx); + EVP_EncryptInit_ex(&ctx, EVP_des_ecb(), NULL, (const unsigned char*)des_key, NULL); + //EVP_CIPHER_CTX_set_padding(&ctx, 0x0001); + + // 对称加密数据并padding + EVP_EncryptUpdate(&ctx, buf, &blen1, (const unsigned char*)domain, dlen); + EVP_EncryptFinal_ex(&ctx, buf + blen1, &blen2); + EVP_CIPHER_CTX_cleanup(&ctx); + + des_len = (blen1 + blen2) * 2; + des_domain = malloc(des_len + 1); + if (NULL == des_domain) + return NULL; + + for (i = 0; i < blen1; i++) + snprintf(des_domain + i * 2, blen1 - i * 2 , "%02x", ((u_char *)buf)[i]); + des_domain[des_len] = '\0'; + + return des_domain; +} + +/* + * 对域名进行DES解密 + * 如果不是UTF8格式,则需要转化为UTF8 + * 返回值如果非NULL,需要释放 + */ +char *dp_des_decrypt(const char *des_ip) +{ + EVP_CIPHER_CTX ctx; + char *buf, *sip; + int blen1, blen2, des_len = strlen(des_ip), iplen; + int i; + + if (INVALID_DES_ID == des_id) + return NULL; + + iplen = des_len / 2; + buf = malloc(iplen + 1); + if (NULL == buf) + return NULL; + sip = malloc(iplen + 1); + if (NULL == sip) + { + free(buf); + return NULL; + } + + // 将16禁制的字符串转换为字节字符串 + for (i = 0; i < iplen; i++) + { + char tmp[3] = {0}; + strncpy(tmp, des_ip + i * 2, 2); + buf[i] = strtoul(tmp, NULL, 16); + } + buf[iplen] = '\0'; + + // 初始化ctx结构,使用des/ecb方式,padding方式默认即可 + EVP_CIPHER_CTX_init(&ctx); + EVP_DecryptInit_ex(&ctx, EVP_des_ecb(), NULL, (const unsigned char*)des_key, NULL); + //EVP_CIPHER_CTX_set_padding(&ctx, 0x0001); + + // 解密数据并移除padding + EVP_DecryptUpdate(&ctx, (unsigned char*)sip, &blen1, (const unsigned char*)buf, iplen); + EVP_DecryptFinal_ex(&ctx, (unsigned char*)(sip + blen1), &blen2); + EVP_CIPHER_CTX_cleanup(&ctx); + + iplen = blen1 + blen2; + sip[iplen] = '\0'; + + free(buf); + return sip; +} + //djb2 hash function static hashvalue_t hashfunc(const char *key, size_t klen) { hashvalue_t hash = 5381; @@ -449,7 +546,7 @@ struct host_info *http_query(const char *node, time_t *ttl) int i, ret, sockfd; struct host_info *hi; char http_data[HTTP_DEFAULT_DATA_SIZE]; - char *http_data_ptr = http_data; + char *http_data_ptr; char *comma_ptr; sockfd = make_connection(dpe->serv_ip, dpe->port); @@ -471,7 +568,15 @@ struct host_info *http_query(const char *node, time_t *ttl) } close(sockfd); - comma_ptr = strchr(http_data, ','); +#ifdef ENTERPRISE_EDITION + http_data_ptr = dp_des_decrypt(http_data); + if (NULL == http_data_ptr) + return NULL; +#else + http_data_ptr = http_data; +#endif + + comma_ptr = strchr(http_data_ptr, ','); if (comma_ptr != NULL) { sscanf(comma_ptr + 1, "%ld", ttl); *comma_ptr = '\0'; @@ -493,7 +598,7 @@ struct host_info *http_query(const char *node, time_t *ttl) if(hi->h_addr_list == NULL) { fprintf(stderr, "calloc addr_list failed\n"); free(hi); - return NULL; + goto error; } for (i = 0; i < hi->addr_list_len; ++i) { @@ -509,19 +614,28 @@ struct host_info *http_query(const char *node, time_t *ttl) if (addr == NULL) { fprintf(stderr, "malloc struct in_addr failed\n"); host_info_clear(hi); - return NULL; + goto error; } ret = inet_pton(AF_INET, ipstr, addr); if (ret <= 0) { fprintf(stderr, "invalid ipstr:%s\n", ipstr); host_info_clear(hi); - return NULL; + goto error; } hi->h_addr_list[i] = addr; } +#ifdef ENTERPRISE_EDITION + free(http_data_ptr); +#endif return hi; + +error: +#ifdef ENTERPRISE_EDITION + free(http_data_ptr); +#endif + return NULL; } void dp_freeaddrinfo(struct addrinfo *res) @@ -534,6 +648,7 @@ int dp_getaddrinfo(const char *node, const char *service, { struct host_info *hi = NULL; int port = 0, socktype, proto, ret = 0; + char *dnode; hashvalue_t h; struct lruhash_entry *e; @@ -626,12 +741,31 @@ int dp_getaddrinfo(const char *node, const char *service, lock_basic_unlock(&e->lock); } - hi = http_query(node, &ttl); +#ifdef ENTERPRISE_EDITION + // 企业版需要先对域名进行对称加密 + dnode = dp_des_encrypt(node); + if (NULL == dnode) + { + fprintf(stderr, "dp_des_encrypt: %s\n", node); + dp_env_destroy(); + return 1; + } +#else + dnode = node; +#endif + + hi = http_query(dnode, &ttl); if (hi == NULL) { return getaddrinfo(node, service, hints, res); } ret = fillin_addrinfo_res(res, hi, port, socktype, proto); dns_cache_store_msg(&qinfo, h, hi, ttl); + +#ifdef ENTERPRISE_EDITION + free(dnode); +#endif + host_info_clear(hi); + return ret; } diff --git a/dplus.h b/dplus.h index c09dfde..30d3e86 100644 --- a/dplus.h +++ b/dplus.h @@ -1,11 +1,31 @@ #ifndef DPLUS_H #define DPLUS_H +#include +#include +#include +#include + +#include +#include #include +#include +#include +#include +#include +#include #include +#include "openssl/evp.h" #include "lruhash.h" +#define ENTERPRISE_EDITION + +#ifdef ENTERPRISE_EDITION +#define DP_DES_ID 12 +#define DP_DES_KEY "@o]T -#include - #include "lruhash.h" static void bucket_delete(struct lruhash *table, struct lruhash_bucket *bucket) diff --git a/lruhash.h b/lruhash.h index 57fedb2..aa22875 100644 --- a/lruhash.h +++ b/lruhash.h @@ -3,6 +3,8 @@ #include #include +#include +#include typedef pthread_mutex_t lock_basic_t; #define lock_basic_init(lock) pthread_mutex_init(lock, NULL) From 08dd55bb78f5899a73799ce9e559e4b6c5c75664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fengbojiang=28=E5=A7=9C=E5=87=A4=E6=B3=A2=29?= Date: Fri, 29 May 2015 14:04:12 +0800 Subject: [PATCH 12/30] fixed bug of des encrypt --- Makefile | 2 +- demo/Makefile | 2 +- demo/demo.c | 21 +++++++++++++++++++++ dplus.c | 20 ++++++++++++++------ dplus.h | 2 +- 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index a3adcc1..553b5fa 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ CC=gcc -CFLAGS=-static -Wall -g -O2 +CFLAGS=-static -Wall -g LDFLAGS=-lpthread -lcrypto SOURCES=$(wildcard *.c) diff --git a/demo/Makefile b/demo/Makefile index 6b8b5be..1992fd2 100644 --- a/demo/Makefile +++ b/demo/Makefile @@ -1,5 +1,5 @@ CC=gcc -CFLAGS=-static -Wall -g -O2 +CFLAGS=-static -Wall -g LDFLAGS=-L.. -ldplus -lpthread -lcrypto TARGET=demo diff --git a/demo/demo.c b/demo/demo.c index 4d1f72b..d677b47 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -5,6 +5,7 @@ int main(int argc, char **argv) struct addrinfo *answer, hint, *curr; char ipstr[16]; int ret; + struct timeval time, time2; if (argc != 2) { fprintf(stderr, "Usage: %s hostname\n", argv[1]); @@ -25,6 +26,7 @@ int main(int argc, char **argv) hint.ai_family = AF_INET; hint.ai_socktype = SOCK_STREAM; + gettimeofday(&time, NULL); ret = dp_getaddrinfo(argv[1], NULL, &hint, &answer); if (ret != 0) { fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); @@ -37,9 +39,28 @@ int main(int argc, char **argv) ipstr, 16); printf("%s\n", ipstr); } + + dp_freeaddrinfo(answer); + gettimeofday(&time2, NULL); + printf("first time:%lu ms\n", (time2.tv_usec - time.tv_usec)/1000); + gettimeofday(&time, NULL); + ret = dp_getaddrinfo(argv[1], NULL, &hint, &answer); + if (ret != 0) { + fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); + dp_env_destroy(); + return 1; + } + for (curr = answer; curr != NULL; curr = curr->ai_next) { + inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), + ipstr, 16); + printf("%s\n", ipstr); + } dp_freeaddrinfo(answer); + gettimeofday(&time2, NULL); + printf("second time:%lu ms\n", (time2.tv_usec - time.tv_usec)/1000); + dp_env_destroy(); return 0; } diff --git a/dplus.c b/dplus.c index e3e2cff..5eb100c 100644 --- a/dplus.c +++ b/dplus.c @@ -85,8 +85,10 @@ char *dp_des_encrypt(const char *domain) if (NULL == des_domain) return NULL; - for (i = 0; i < blen1; i++) - snprintf(des_domain + i * 2, blen1 - i * 2 , "%02x", ((u_char *)buf)[i]); + for (i = 0; i < (blen1 + blen2); i++) + { + snprintf(des_domain + i * 2, des_len - i * 2 + 1 , "%02x", ((u_char *)buf)[i]); + } des_domain[des_len] = '\0'; return des_domain; @@ -554,7 +556,11 @@ struct host_info *http_query(const char *node, time_t *ttl) return NULL; } +#ifdef ENTERPRISE_EDITION + snprintf(http_data, HTTP_DEFAULT_DATA_SIZE, "/d?dn=%s&ttl=1&id=%d", node, des_id); +#else snprintf(http_data, HTTP_DEFAULT_DATA_SIZE, "/d?dn=%s&ttl=1", node); +#endif ret = make_request(sockfd, dpe->serv_ip, http_data); if(ret < 0){ close(sockfd); @@ -572,6 +578,7 @@ struct host_info *http_query(const char *node, time_t *ttl) http_data_ptr = dp_des_decrypt(http_data); if (NULL == http_data_ptr) return NULL; + char *http_data_ptr_head = http_data_ptr; #else http_data_ptr = http_data; #endif @@ -593,7 +600,7 @@ struct host_info *http_query(const char *node, time_t *ttl) //Only support IPV4 hi->h_addrtype = AF_INET; hi->h_length = sizeof(struct in_addr); - hi->addr_list_len = strchr_num(http_data, ';') + 1; + hi->addr_list_len = strchr_num(http_data_ptr, ';') + 1; hi->h_addr_list = (char **)calloc(hi->addr_list_len, sizeof(char *)); if(hi->h_addr_list == NULL) { fprintf(stderr, "calloc addr_list failed\n"); @@ -617,6 +624,7 @@ struct host_info *http_query(const char *node, time_t *ttl) goto error; } ret = inet_pton(AF_INET, ipstr, addr); + if (ret <= 0) { fprintf(stderr, "invalid ipstr:%s\n", ipstr); host_info_clear(hi); @@ -627,13 +635,13 @@ struct host_info *http_query(const char *node, time_t *ttl) } #ifdef ENTERPRISE_EDITION - free(http_data_ptr); + free(http_data_ptr_head); #endif return hi; error: #ifdef ENTERPRISE_EDITION - free(http_data_ptr); + free(http_data_ptr_head); #endif return NULL; } @@ -648,7 +656,7 @@ int dp_getaddrinfo(const char *node, const char *service, { struct host_info *hi = NULL; int port = 0, socktype, proto, ret = 0; - char *dnode; + const char *dnode; hashvalue_t h; struct lruhash_entry *e; diff --git a/dplus.h b/dplus.h index 30d3e86..b0f1c6c 100644 --- a/dplus.h +++ b/dplus.h @@ -19,7 +19,7 @@ #include "lruhash.h" -#define ENTERPRISE_EDITION +// #define ENTERPRISE_EDITION #ifdef ENTERPRISE_EDITION #define DP_DES_ID 12 From 47dc8888d1ce57aa3bec990c738196e0c5c4aafc Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 29 May 2015 15:12:14 +0800 Subject: [PATCH 13/30] fix lruhash bugs and add lrucache status --- demo/demo.c | 6 +++-- dplus.c | 68 ++++++++++++++++++++++++++++++++++------------------- dplus.h | 3 +++ lruhash.c | 13 ++++++++-- lruhash.h | 6 ++++- 5 files changed, 67 insertions(+), 29 deletions(-) diff --git a/demo/demo.c b/demo/demo.c index d677b47..69c205b 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -39,7 +39,7 @@ int main(int argc, char **argv) ipstr, 16); printf("%s\n", ipstr); } - + dp_freeaddrinfo(answer); gettimeofday(&time2, NULL); printf("first time:%lu ms\n", (time2.tv_usec - time.tv_usec)/1000); @@ -60,7 +60,9 @@ int main(int argc, char **argv) dp_freeaddrinfo(answer); gettimeofday(&time2, NULL); printf("second time:%lu ms\n", (time2.tv_usec - time.tv_usec)/1000); - + + dp_cache_status(); + dp_env_destroy(); return 0; } diff --git a/dplus.c b/dplus.c index 5eb100c..273596d 100644 --- a/dplus.c +++ b/dplus.c @@ -66,27 +66,26 @@ char *dp_des_encrypt(const char *domain) char *des_domain; int blen1, blen2, dlen = strlen(domain), des_len; int i; - + if (INVALID_DES_ID == des_id || dlen > DOMAIN_MAX_SIZE) return NULL; - + // 初始化ctx结构,使用des/ecb方式,padding方式默认即可 EVP_CIPHER_CTX_init(&ctx); EVP_EncryptInit_ex(&ctx, EVP_des_ecb(), NULL, (const unsigned char*)des_key, NULL); //EVP_CIPHER_CTX_set_padding(&ctx, 0x0001); - + // 对称加密数据并padding EVP_EncryptUpdate(&ctx, buf, &blen1, (const unsigned char*)domain, dlen); EVP_EncryptFinal_ex(&ctx, buf + blen1, &blen2); EVP_CIPHER_CTX_cleanup(&ctx); - + des_len = (blen1 + blen2) * 2; des_domain = malloc(des_len + 1); if (NULL == des_domain) return NULL; - - for (i = 0; i < (blen1 + blen2); i++) - { + + for (i = 0; i < (blen1 + blen2); i++) { snprintf(des_domain + i * 2, des_len - i * 2 + 1 , "%02x", ((u_char *)buf)[i]); } des_domain[des_len] = '\0'; @@ -108,7 +107,7 @@ char *dp_des_decrypt(const char *des_ip) if (INVALID_DES_ID == des_id) return NULL; - + iplen = des_len / 2; buf = malloc(iplen + 1); if (NULL == buf) @@ -119,7 +118,7 @@ char *dp_des_decrypt(const char *des_ip) free(buf); return NULL; } - + // 将16禁制的字符串转换为字节字符串 for (i = 0; i < iplen; i++) { @@ -128,20 +127,20 @@ char *dp_des_decrypt(const char *des_ip) buf[i] = strtoul(tmp, NULL, 16); } buf[iplen] = '\0'; - + // 初始化ctx结构,使用des/ecb方式,padding方式默认即可 EVP_CIPHER_CTX_init(&ctx); EVP_DecryptInit_ex(&ctx, EVP_des_ecb(), NULL, (const unsigned char*)des_key, NULL); //EVP_CIPHER_CTX_set_padding(&ctx, 0x0001); - + // 解密数据并移除padding EVP_DecryptUpdate(&ctx, (unsigned char*)sip, &blen1, (const unsigned char*)buf, iplen); EVP_DecryptFinal_ex(&ctx, (unsigned char*)(sip + blen1), &blen2); EVP_CIPHER_CTX_cleanup(&ctx); - + iplen = blen1 + blen2; sip[iplen] = '\0'; - + free(buf); return sip; } @@ -246,7 +245,7 @@ static void dns_cache_store_msg(struct query_info *qinfo, hashvalue_t hash, rep->host = hi; ttl = ttl < CACHE_DEFAULT_MIN_TTL ? CACHE_DEFAULT_MIN_TTL : ttl; rep->ttl = ttl + now; - rep->prefetch_ttl = PREFETCH_TTL_CALC(ttl); + rep->prefetch_ttl = PREFETCH_TTL_CALC(ttl) + now; if(!(e = query_info_entrysetup(qinfo, rep, hash))) { fprintf(stderr, "store_msg: malloc failed"); @@ -407,7 +406,7 @@ static void prefetch_new_query(struct query_info *qinfo, hashvalue_t hash) tinfo.hash = hash; pthread_attr_init(&attr); - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_create(&thread, &attr, &prefetch_job, &tinfo); pthread_attr_destroy(&attr); } @@ -532,6 +531,31 @@ void dp_flush_cache(const char *node) lruhash_remove(dpe->cache, h, &qinfo); } +static void print_key(void *key) +{ + struct msgreply_entry *q = (struct msgreply_entry *)key; + fprintf(stdout, "entry key:%s;", q->key.node); +} + +static void print_value(void *data) +{ + struct reply_info *rep = (struct reply_info *)data; + int i; + char ipstr[16] = {0}; + fprintf(stdout, "ip count[%d]:", rep->host->addr_list_len); + for (i = 0; i < rep->host->addr_list_len; ++i) { + inet_ntop(AF_INET, rep->host->h_addr_list[i], ipstr, 16); + fprintf(stdout, "%s,", ipstr); + } + fprintf(stdout, "ttl:%lu, prefetch_ttl:%lu\n", rep->ttl, + rep->prefetch_ttl); +} + +void dp_cache_status() +{ + lruhash_status(dpe->cache, print_key, print_value); +} + static int strchr_num(const char *str, char c) { int count = 0; @@ -582,7 +606,7 @@ struct host_info *http_query(const char *node, time_t *ttl) #else http_data_ptr = http_data; #endif - + comma_ptr = strchr(http_data_ptr, ','); if (comma_ptr != NULL) { sscanf(comma_ptr + 1, "%ld", ttl); @@ -624,7 +648,6 @@ struct host_info *http_query(const char *node, time_t *ttl) goto error; } ret = inet_pton(AF_INET, ipstr, addr); - if (ret <= 0) { fprintf(stderr, "invalid ipstr:%s\n", ipstr); host_info_clear(hi); @@ -752,16 +775,14 @@ int dp_getaddrinfo(const char *node, const char *service, #ifdef ENTERPRISE_EDITION // 企业版需要先对域名进行对称加密 dnode = dp_des_encrypt(node); - if (NULL == dnode) - { + if (NULL == dnode) { fprintf(stderr, "dp_des_encrypt: %s\n", node); - dp_env_destroy(); - return 1; + return -1; } #else dnode = node; #endif - + hi = http_query(dnode, &ttl); if (hi == NULL) { return getaddrinfo(node, service, hints, res); @@ -773,7 +794,6 @@ int dp_getaddrinfo(const char *node, const char *service, #ifdef ENTERPRISE_EDITION free(dnode); #endif - host_info_clear(hi); - + return ret; } diff --git a/dplus.h b/dplus.h index b0f1c6c..63e00f6 100644 --- a/dplus.h +++ b/dplus.h @@ -109,6 +109,9 @@ void dp_env_destroy(); //flush host name from cache void dp_flush_cache(const char *node); +//dplus cache status +void dp_cache_status(); + //similar with getaddrinfo int dp_getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res); diff --git a/lruhash.c b/lruhash.c index 376165f..2685e23 100644 --- a/lruhash.c +++ b/lruhash.c @@ -291,7 +291,8 @@ void lruhash_remove(struct lruhash *table, hashvalue_t hash, void *key) (*table->deldatafunc)(d); } -void lruhash_status(struct lruhash *table) +void lruhash_status(struct lruhash *table, lruhash_printkey_t print_key, + lruhash_printvalue_t print_value) { size_t i; int min, max; @@ -311,9 +312,17 @@ void lruhash_status(struct lruhash *table) en = table->array[i].overflow_list; while(en) { here++; + if (print_key) { + print_key(en->key); + } + if (print_value) { + print_value(en->data); + } en = en->overflow_next; } - fprintf(stdout, "bucket[%d] %d\n", (int)i, here); + if (here > 0) { + fprintf(stdout, "bucket[%d] %d\n", (int)i, here); + } if(here > max) max = here; if(here < min) min = here; } diff --git a/lruhash.h b/lruhash.h index aa22875..8ce1b71 100644 --- a/lruhash.h +++ b/lruhash.h @@ -25,6 +25,9 @@ typedef int (*lruhash_compfunc_t)(void *, void *); typedef void (*lruhash_delkeyfunc_t)(void *); typedef void (*lruhash_deldatafunc_t)(void *); +typedef void (*lruhash_printkey_t)(void *); +typedef void (*lruhash_printvalue_t)(void *); + //LRU Hash table. struct lruhash { lock_basic_t lock; @@ -95,6 +98,7 @@ void lruhash_remove(struct lruhash *table, hashvalue_t hash, void *key); struct lruhash_entry *lruhash_lookup(struct lruhash *table, hashvalue_t hash, void *key); -void lruhash_status(struct lruhash *table); +void lruhash_status(struct lruhash *table, lruhash_printkey_t print_key, + lruhash_printvalue_t print_value); #endif From adb82710e3312ba19acdcc3c9fc3506b4faa4722 Mon Sep 17 00:00:00 2001 From: logwang Date: Fri, 29 May 2015 15:34:56 +0800 Subject: [PATCH 14/30] update doc --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6e6a8d8..92ec19d 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ dp_env_destroy 销毁dplus-c环境 - 5. 获取域名IP + 3. 获取域名IP dp_getaddrinfo与dp_freeaddrinfo 调用dp_getaddrinfo进行域名的解析 调用dp_freeaddrinfo释放内存 @@ -62,6 +62,8 @@ 4. 缓存操作 dp_flush_cache(const char *node) 必要时可调用此函数清除域名的缓存信息。 - + + dp_cache_status() + 打印缓存信息。 具体实例,参考DEMO。 From 7d8ad66f399d60948b1f650058725077cc86fafd Mon Sep 17 00:00:00 2001 From: logwang Date: Mon, 1 Jun 2015 16:42:47 +0800 Subject: [PATCH 15/30] update demo --- demo/demo.c | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- http.c | 3 ++- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/demo/demo.c b/demo/demo.c index 69c205b..32b1703 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -1,11 +1,14 @@ #include "../dplus.h" +#define BUF_SIZE 102400 + int main(int argc, char **argv) { struct addrinfo *answer, hint, *curr; char ipstr[16]; - int ret; + int ret, sfd; struct timeval time, time2; + char http_data[BUF_SIZE]; if (argc != 2) { fprintf(stderr, "Usage: %s hostname\n", argv[1]); @@ -25,9 +28,10 @@ int main(int argc, char **argv) bzero(&hint, sizeof(hint)); hint.ai_family = AF_INET; hint.ai_socktype = SOCK_STREAM; - + + //first gettimeofday(&time, NULL); - ret = dp_getaddrinfo(argv[1], NULL, &hint, &answer); + ret = dp_getaddrinfo(argv[1], "http", &hint, &answer); if (ret != 0) { fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); dp_env_destroy(); @@ -39,13 +43,13 @@ int main(int argc, char **argv) ipstr, 16); printf("%s\n", ipstr); } - dp_freeaddrinfo(answer); gettimeofday(&time2, NULL); - printf("first time:%lu ms\n", (time2.tv_usec - time.tv_usec)/1000); + printf("first time:%lu ms\n\n", (time2.tv_usec - time.tv_usec)/1000); + //second gettimeofday(&time, NULL); - ret = dp_getaddrinfo(argv[1], NULL, &hint, &answer); + ret = dp_getaddrinfo(argv[1], "http", &hint, &answer); if (ret != 0) { fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); dp_env_destroy(); @@ -57,11 +61,44 @@ int main(int argc, char **argv) ipstr, 16); printf("%s\n", ipstr); } - dp_freeaddrinfo(answer); gettimeofday(&time2, NULL); - printf("second time:%lu ms\n", (time2.tv_usec - time.tv_usec)/1000); + printf("second time:%lu ms\n\n", (time2.tv_usec - time.tv_usec)/1000); + printf("cache status:\n"); dp_cache_status(); + printf("\n"); + + printf("start http query:%s\n", argv[1]); + for (curr = answer; curr != NULL; curr = curr->ai_next) { + sfd = socket(curr->ai_family, curr->ai_socktype, + curr->ai_protocol); + if (sfd == -1) + continue; + + if (connect(sfd, curr->ai_addr, curr->ai_addrlen) != -1) + break; + + close(sfd); + } + //no longer needed + dp_freeaddrinfo(answer); + + ret = make_request(sfd, argv[1], "/"); + if (ret < 0) { + printf("make request failed\n"); + close(sfd); + return -1; + } + + ret = fetch_response(sfd, http_data, BUF_SIZE); + if (ret < 0) { + printf("fetch response failed\n"); + close(sfd); + return -1; + } + close(sfd); + + printf("%s\n", http_data); dp_env_destroy(); return 0; diff --git a/http.c b/http.c index 6b12689..e5e9d1e 100644 --- a/http.c +++ b/http.c @@ -177,7 +177,7 @@ int fetch_response(int sockfd, char *http_data, size_t http_data_len) return -1; } if (http_response_code != HTTP_OK) { - fprintf(stderr, "response code %d", http_response_code); + fprintf(stderr, "response code %d\n", http_response_code); return -1; } @@ -230,6 +230,7 @@ int fetch_response(int sockfd, char *http_data, size_t http_data_len) } if (content_length <= 0) { + fprintf(stderr, "Content-Length not found\n"); return -1; } From 97b1f720a927c2633cbb3d2bb90367221decec38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fengbojiang=28=E5=A7=9C=E5=87=A4=E6=B3=A2=29?= Date: Mon, 1 Jun 2015 17:44:59 +0800 Subject: [PATCH 16/30] add dns query from public dns 119.29.29.29 --- demo/demo.c | 11 +-- dns.c | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++ dplus.c | 136 +++++++++++++++++++++++---------- dplus.h | 18 +++-- 4 files changed, 328 insertions(+), 52 deletions(-) create mode 100644 dns.c diff --git a/demo/demo.c b/demo/demo.c index 69c205b..2ee3e2e 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -1,5 +1,8 @@ #include "../dplus.h" +#define DP_DES_ID 12 +#define DP_DES_KEY "@o]Tai_next) { inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), - ipstr, 16); + ipstr, sizeof(ipstr)); printf("%s\n", ipstr); } diff --git a/dns.c b/dns.c new file mode 100644 index 0000000..00b73d3 --- /dev/null +++ b/dns.c @@ -0,0 +1,215 @@ +#include "dplus.h" + +#define TYPE_A 1 /* a host address */ +#define TYPE_CNAME 5 /* the canonical name for an alias */ + +#define PUBLIC_DNS_DEFAULT_SERVER "119.29.29.29" +#define PUBLIC_DNS_DEFAULT_PORT 53 +#define RETRANS_INTERVAL 2000 // ms +#define RETRANS_TRY_NUM 2 + +#define DNS_GET16(num) ((((uint16_t)(num))>>8) | ((uint16_t)((num)<<8))) +#define DNS_GET32(num) ((num >> 24)|((num >>8)&0x0000ff00)|((num << 8)&0x00ff0000)|(num << 24)); + + +//用于dns解析的结构体 +typedef struct _dns_head_info{ //dns 头部 + unsigned short ID; + unsigned short tag; // dns 标志(参数) + unsigned short numQ; // 问题数 + unsigned short numA; // 答案数 + unsigned short numA1; // 权威答案数 + unsigned short numA2; // 附加答案数 +}dns_head_type; + +typedef struct _dns_query_info //dns 查询结构 +{ +// char name[64]; +// //查询的域名,这是一个大小在0到63之间的字符串; + unsigned short type; + //查询类型,大约有20个不同的类型//////////////// + unsigned short classes; + //查询类,通常是A类既查询IP地址。 +}dns_query_type; + +typedef struct dns_response //DNS响应数据报: +{ + unsigned short type __attribute__((packed)); //查询类型 + unsigned short classes __attribute__((packed)); //类型码 + unsigned int ttl __attribute__((packed)); //生存时间 + unsigned short length __attribute__((packed)); //资源数据长度 +}response; + +//域名转化 +static int ch_name(const char *fname,char *tname) +{ + int j =0; + int i = strlen(fname)-1; + tname[i + 2] = 0; + int k = i + 1; + for (; i >= 0; i--,k--) + { + if (fname[i] == '.') + { + tname[k] = j; + j = 0; + } + else + { + tname[k] = fname[i]; + j++; + } + } + tname[k] = j; + return strlen(tname) + 1; +} + +//设置dns包头 +static int set_dns_head(const char *name,char *buf) +{ + + memset(buf,0,sizeof(dns_head_type)); + + //设置头部 + dns_head_type *dns_head = (dns_head_type *)buf; + dns_head->ID = (unsigned short)1; + dns_head->tag = htons(0x0100); + dns_head->numQ = htons(1); + dns_head->numA = 0; + + dns_query_type *dns_query =(dns_query_type *) ( buf+ sizeof(dns_head_type) ); + int name_len = ch_name(name,(char *)dns_query); + + //设置查询信息 + dns_query = (dns_query_type *)( (char *)dns_query + name_len ); + dns_query->classes = htons(1); + dns_query->type = htons(1); + return 1; +} + +int make_dns_query_format(const char *node, char *buf, int *query_len) +{ + if (NULL == node || strlen(node) > DOMAIN_MAX_SIZE) { + fprintf(stderr, "invalid argument node, %s\n", node); + return -1; + } + + set_dns_head(node, buf); + *query_len = sizeof(dns_head_type) + sizeof(dns_query_type) + strlen(node) + 2; + + return 0; +} + +int make_dns_query(char *buf, int query_len, time_t *ttl, int *Anum) +{ + struct sockaddr_in addr; + int sockfd = -1, epollfd = -1; + int epoll_num = 0; + int ul = 1; + struct epoll_event event; + struct epoll_event *events; + int timeout = RETRANS_INTERVAL; + int i, n, ret = -1; + int addrlen, send_len, result_len; + int try_num = 0; + dns_head_type *dns_head; + + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = inet_addr(PUBLIC_DNS_DEFAULT_SERVER); + addr.sin_port = htons((uint16_t)PUBLIC_DNS_DEFAULT_PORT); + sockfd = socket(AF_INET, SOCK_DGRAM, 0); + if ( -1 == sockfd) { + fprintf(stderr, "socket error\n"); + return -1; + } + + epollfd = epoll_create1(0); + if ( -1 == epollfd) { + fprintf(stderr, "create epoll failed\n"); + goto clear; + } + + ioctl(sockfd, FIONBIO, &ul); + send_len = sendto(sockfd, buf, query_len, 0, (struct sockaddr*)&addr, sizeof(struct sockaddr)); + if (send_len != query_len) { + fprintf(stderr, "sendto dns query failed\n"); + goto clear; + } + + event.data.fd = sockfd; + event.events = EPOLLIN; + + if (epoll_ctl(epollfd, EPOLL_CTL_ADD, sockfd, &event) == -1) { + fprintf(stderr, "add epoll ctl failed\n"); + goto clear; + } + epoll_num = 1; + events = calloc(epoll_num, sizeof(event)); + + n = epoll_wait(epollfd, events, epoll_num, timeout); + if(n < 1 || events[0].data.fd != sockfd || !(events[0].events & EPOLLIN)) + { + while(try_num++ <= RETRANS_TRY_NUM) + { + send_len = sendto(sockfd, buf, query_len, 0,(struct sockaddr*)&addr, sizeof(struct sockaddr)); + if (send_len != query_len) { + fprintf(stderr, "sendto dns query failed\n"); + goto clear; + } + + n = epoll_wait(epollfd, events, epoll_num, timeout); + if(n == 1 && events[0].data.fd == sockfd && (events[0].events & EPOLLIN)) + break; + } + if (try_num > RETRANS_TRY_NUM) { + fprintf(stderr, "dns query failed over try num\n"); + goto clear; + } + } + + addrlen = sizeof(struct sockaddr); + result_len = recvfrom(sockfd, buf, DNS_DEFAULT_DATA_SIZE, MSG_WAITALL, (struct sockaddr *)&addr, (socklen_t*)&addrlen); + if(result_len <= 0) { + fprintf(stderr, "receve dns response failed\n"); + goto clear; + } + + // 只支持A记录 + dns_head = (dns_head_type *)buf; + int off = 0; + int num = DNS_GET16(dns_head->numA); + for (i = 0; i < num; i++) + { + char *result_set = buf + query_len + off; + response *rp = (response *)(result_set + 2); // 2 bytes' offsets + uint16_t type = DNS_GET16(rp->type); + *ttl = DNS_GET32(rp->ttl); + // 解析A记录 + if (TYPE_A == type) + { + memcpy(buf + (*Anum) * 4, (char *)(rp + 1), 4); + (*Anum)++; + off += (2 + sizeof(response) + 4); + } + // 如果是CNAME记录则直接查找下一条记录 + else if (TYPE_CNAME == type) + { + off += (2 + sizeof(response) + DNS_GET16(rp->length)); + } + // 其他类型不支持 + else + { + goto clear; + } + } + + ret = 0; + +clear: + if (sockfd != -1) + close(sockfd); + if (epollfd != -1) + close(epollfd); + + return ret; +} diff --git a/dplus.c b/dplus.c index 273596d..13fe731 100644 --- a/dplus.c +++ b/dplus.c @@ -12,7 +12,6 @@ #define DES_KEY_SIZE 16 #define HTTP_DEFAULT_DATA_SIZE 256 -#define DOMAIN_MAX_SIZE 256 //calculate the prefetch TTL as 75% of original #define PREFETCH_TTL_CALC(ttl) ((ttl) - (ttl)/4) @@ -29,6 +28,8 @@ static int min_ttl = CACHE_DEFAULT_MIN_TTL; // des id and key static uint32_t des_id = INVALID_DES_ID; static char des_key[DES_KEY_SIZE] = {0} ; +// 是否使用des加密 +static uint32_t des_used = 0; //http dns server and port static char *serv_ip = HTTPDNS_DEFAULT_SERVER; @@ -44,14 +45,14 @@ void dp_set_ttl(int ttl) min_ttl = ttl; } -void dp_set_des_id(u_int32_t id) +void dp_set_des_id_key(uint32_t id, const char *key) { - des_id = id; -} + if ( 0 == id || NULL == key ) + return; -void dp_set_des_key(const char *key) -{ + des_id = id; snprintf(des_key, DES_KEY_SIZE - 1, "%s", key); + des_used = 1; } /* @@ -572,7 +573,7 @@ struct host_info *http_query(const char *node, time_t *ttl) int i, ret, sockfd; struct host_info *hi; char http_data[HTTP_DEFAULT_DATA_SIZE]; - char *http_data_ptr; + char *http_data_ptr, *http_data_ptr_head; char *comma_ptr; sockfd = make_connection(dpe->serv_ip, dpe->port); @@ -580,11 +581,11 @@ struct host_info *http_query(const char *node, time_t *ttl) return NULL; } -#ifdef ENTERPRISE_EDITION - snprintf(http_data, HTTP_DEFAULT_DATA_SIZE, "/d?dn=%s&ttl=1&id=%d", node, des_id); -#else - snprintf(http_data, HTTP_DEFAULT_DATA_SIZE, "/d?dn=%s&ttl=1", node); -#endif + if (des_used) + snprintf(http_data, HTTP_DEFAULT_DATA_SIZE, "/d?dn=%s&ttl=1&id=%d", node, des_id); + else + snprintf(http_data, HTTP_DEFAULT_DATA_SIZE, "/d?dn=%s&ttl=1", node); + ret = make_request(sockfd, dpe->serv_ip, http_data); if(ret < 0){ close(sockfd); @@ -598,15 +599,15 @@ struct host_info *http_query(const char *node, time_t *ttl) } close(sockfd); -#ifdef ENTERPRISE_EDITION - http_data_ptr = dp_des_decrypt(http_data); - if (NULL == http_data_ptr) - return NULL; - char *http_data_ptr_head = http_data_ptr; -#else - http_data_ptr = http_data; -#endif - + if (des_used) { + http_data_ptr = dp_des_decrypt(http_data); + if (NULL == http_data_ptr) + return NULL; + http_data_ptr_head = http_data_ptr; + } else { + http_data_ptr = http_data; + } + comma_ptr = strchr(http_data_ptr, ','); if (comma_ptr != NULL) { sscanf(comma_ptr + 1, "%ld", ttl); @@ -657,18 +658,68 @@ struct host_info *http_query(const char *node, time_t *ttl) hi->h_addr_list[i] = addr; } -#ifdef ENTERPRISE_EDITION + if (des_used) free(http_data_ptr_head); -#endif + return hi; error: -#ifdef ENTERPRISE_EDITION + if (des_used) free(http_data_ptr_head); -#endif + return NULL; } +struct host_info *dns_query(const char *node, time_t *ttl) +{ + char buf[DNS_DEFAULT_DATA_SIZE] = {0}; + int query_len; + struct host_info *hi = NULL; + int Anum = 0, i, ret; + + ret = make_dns_query_format(node, buf, &query_len); + if (ret < 0) { + fprintf(stderr, "make dns query format failed\n"); + return NULL; + } + + ret = make_dns_query(buf, query_len, ttl, &Anum); + if (ret < 0) { + fprintf(stderr, "make dns query failed\n"); + return NULL; + } + + hi = (struct host_info *)malloc(sizeof(struct host_info)); + if (hi == NULL) { + fprintf(stderr, "malloc struct host_info failed\n"); + return NULL; + } + + hi->h_addrtype = AF_INET; + hi->h_length = sizeof(struct in_addr); + hi->addr_list_len = Anum; + hi->h_addr_list = (char **)calloc(hi->addr_list_len, sizeof(char *)); + if(hi->h_addr_list == NULL) { + fprintf(stderr, "calloc addr_list failed\n"); + free(hi); + return NULL; + } + + for (i = 0; i < Anum; i++) + { + struct in_addr *addr = (struct in_addr *)malloc(sizeof(struct in_addr)); + if (addr == NULL) { + fprintf(stderr, "malloc struct in_addr failed\n"); + host_info_clear(hi); + return NULL; + } + addr->s_addr = *(in_addr_t *)(buf + i * 4); + hi->h_addr_list[i] = (char *)addr; + } + + return hi; +} + void dp_freeaddrinfo(struct addrinfo *res) { freeaddrinfo(res); @@ -679,7 +730,7 @@ int dp_getaddrinfo(const char *node, const char *service, { struct host_info *hi = NULL; int port = 0, socktype, proto, ret = 0; - const char *dnode; + char *dnode; hashvalue_t h; struct lruhash_entry *e; @@ -772,28 +823,35 @@ int dp_getaddrinfo(const char *node, const char *service, lock_basic_unlock(&e->lock); } -#ifdef ENTERPRISE_EDITION // 企业版需要先对域名进行对称加密 - dnode = dp_des_encrypt(node); - if (NULL == dnode) { - fprintf(stderr, "dp_des_encrypt: %s\n", node); - return -1; + if (des_used) { + dnode = dp_des_encrypt(node); + if (NULL == dnode) { + fprintf(stderr, "dp_des_encrypt: %s\n", node); + return -1; + } + } else { + dnode = (char *)node; } -#else - dnode = node; -#endif + /* + * 首先使用HttpDNS向D+服务器进行请求, + * 如果失败则向Public DNS进行请求, + * 如果再失败则调用系统接口进行解析,该结果不会缓存 + */ hi = http_query(dnode, &ttl); - if (hi == NULL) { - return getaddrinfo(node, service, hints, res); + if (NULL == hi) { + hi = dns_query(node, &ttl); + if (NULL == hi) { + return getaddrinfo(node, service, hints, res); + } } ret = fillin_addrinfo_res(res, hi, port, socktype, proto); dns_cache_store_msg(&qinfo, h, hi, ttl); -#ifdef ENTERPRISE_EDITION - free(dnode); -#endif + if (des_used) + free(dnode); return ret; } diff --git a/dplus.h b/dplus.h index 63e00f6..ced6a02 100644 --- a/dplus.h +++ b/dplus.h @@ -15,16 +15,14 @@ #include #include #include +#include #include "openssl/evp.h" +#include #include "lruhash.h" -// #define ENTERPRISE_EDITION - -#ifdef ENTERPRISE_EDITION -#define DP_DES_ID 12 -#define DP_DES_KEY "@o]T Date: Tue, 2 Jun 2015 12:15:05 +0800 Subject: [PATCH 17/30] add license --- LICENSE | 26 ++++++++++++++++++++++++++ Makefile | 2 ++ demo/demo.c | 30 +++++++++++++++++++++++++++++- dplus.c | 28 ++++++++++++++++++++++++++++ dplus.h | 28 ++++++++++++++++++++++++++++ http.c | 28 ++++++++++++++++++++++++++++ lruhash.c | 30 +++++++++++++++++++++++++++++- lruhash.h | 28 ++++++++++++++++++++++++++++ 8 files changed, 198 insertions(+), 2 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..edd3f01 --- /dev/null +++ b/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2006-2015, DNSPod 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: + +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. + +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. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of the FreeBSD Project. \ No newline at end of file diff --git a/Makefile b/Makefile index 553b5fa..a772ffd 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +#See the file LICENSE for the license + CC=gcc CFLAGS=-static -Wall -g LDFLAGS=-lpthread -lcrypto diff --git a/demo/demo.c b/demo/demo.c index 32b1703..19b1e0a 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #include "../dplus.h" #define BUF_SIZE 102400 @@ -22,7 +50,7 @@ int main(int argc, char **argv) dp_set_des_id(DP_DES_ID); dp_set_des_key(DP_DES_KEY); #endif - + dp_env_init(); bzero(&hint, sizeof(hint)); diff --git a/dplus.c b/dplus.c index 273596d..6806a81 100644 --- a/dplus.c +++ b/dplus.c @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #include "dplus.h" #include "lruhash.h" diff --git a/dplus.h b/dplus.h index 63e00f6..667fe8c 100644 --- a/dplus.h +++ b/dplus.h @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #ifndef DPLUS_H #define DPLUS_H diff --git a/http.c b/http.c index e5e9d1e..e7fa095 100644 --- a/http.c +++ b/http.c @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #include #include #include diff --git a/lruhash.c b/lruhash.c index 2685e23..70abb19 100644 --- a/lruhash.c +++ b/lruhash.c @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #include "lruhash.h" static void bucket_delete(struct lruhash *table, struct lruhash_bucket *bucket) @@ -301,7 +329,7 @@ void lruhash_status(struct lruhash *table, lruhash_printkey_t print_key, (unsigned)table->num, (unsigned)table->space_used, (unsigned)table->space_max); fprintf(stdout, " itemsize %u, array %u, mask %d\n", - (unsigned)(table->num? table->space_used/table->num : 0), + (unsigned)(table->num ? table->space_used/table->num : 0), (unsigned)table->size, table->size_mask); min = (int)table->size*2; diff --git a/lruhash.h b/lruhash.h index 8ce1b71..e5ad820 100644 --- a/lruhash.h +++ b/lruhash.h @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #ifndef LRUHASH_H #define LRUHASH_H From a8ddd1e19d2400a4079295d26a671b9af3cbdfae Mon Sep 17 00:00:00 2001 From: logwang Date: Tue, 2 Jun 2015 12:28:57 +0800 Subject: [PATCH 18/30] add license --- dns.c | 28 ++++++++++++++++++++++++++++ dplus.c | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/dns.c b/dns.c index 00b73d3..5e3d938 100644 --- a/dns.c +++ b/dns.c @@ -1,3 +1,31 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + #include "dplus.h" #define TYPE_A 1 /* a host address */ diff --git a/dplus.c b/dplus.c index 1f61404..66f5bae 100644 --- a/dplus.c +++ b/dplus.c @@ -872,7 +872,7 @@ int dp_getaddrinfo(const char *node, const char *service, hi = dns_query(node, &ttl); if (NULL == hi) { return getaddrinfo(node, service, hints, res); - } + } } ret = fillin_addrinfo_res(res, hi, port, socktype, proto); From 38d6e4efef73a8a051bc41c77120f9d246a149c9 Mon Sep 17 00:00:00 2001 From: logwang Date: Wed, 3 Jun 2015 18:05:58 +0800 Subject: [PATCH 19/30] add unit tesst --- dns.c | 94 +++++------ dplus.c | 65 +++---- dplus.h | 22 +++ http.c | 1 + lruhash.c | 8 +- lruhash.h | 14 +- test/Makefile | 20 +++ test/test | Bin 0 -> 88802 bytes test/testdplus.c | 115 +++++++++++++ test/testlruhash.c | 409 +++++++++++++++++++++++++++++++++++++++++++++ test/testmain.c | 42 +++++ test/testmain.h | 49 ++++++ 12 files changed, 753 insertions(+), 86 deletions(-) create mode 100644 test/Makefile create mode 100755 test/test create mode 100644 test/testdplus.c create mode 100644 test/testlruhash.c create mode 100644 test/testmain.c create mode 100644 test/testmain.h diff --git a/dns.c b/dns.c index 5e3d938..b47da19 100644 --- a/dns.c +++ b/dns.c @@ -41,49 +41,43 @@ //用于dns解析的结构体 -typedef struct _dns_head_info{ //dns 头部 +typedef struct _dns_head_info { //dns 头部 unsigned short ID; unsigned short tag; // dns 标志(参数) unsigned short numQ; // 问题数 unsigned short numA; // 答案数 unsigned short numA1; // 权威答案数 unsigned short numA2; // 附加答案数 -}dns_head_type; - -typedef struct _dns_query_info //dns 查询结构 -{ -// char name[64]; -// //查询的域名,这是一个大小在0到63之间的字符串; - unsigned short type; - //查询类型,大约有20个不同的类型//////////////// - unsigned short classes; - //查询类,通常是A类既查询IP地址。 -}dns_query_type; - -typedef struct dns_response //DNS响应数据报: -{ +} dns_head_type; + +typedef struct _dns_query_info { //dns 查询结构 + //char name[64]; + //查询的域名,这是一个大小在0到63之间的字符串; + unsigned short type; + //查询类型,大约有20个不同的类型//////////////// + unsigned short classes; + //查询类,通常是A类既查询IP地址。 +} dns_query_type; + +typedef struct dns_response { //DNS响应数据报: unsigned short type __attribute__((packed)); //查询类型 unsigned short classes __attribute__((packed)); //类型码 unsigned int ttl __attribute__((packed)); //生存时间 unsigned short length __attribute__((packed)); //资源数据长度 -}response; +} response; //域名转化 -static int ch_name(const char *fname,char *tname) +static int ch_name(const char *fname,char *tname) { - int j =0; + int j = 0; int i = strlen(fname)-1; tname[i + 2] = 0; int k = i + 1; - for (; i >= 0; i--,k--) - { - if (fname[i] == '.') - { + for (; i >= 0; i--,k--) { + if (fname[i] == '.') { tname[k] = j; j = 0; - } - else - { + } else { tname[k] = fname[i]; j++; } @@ -104,10 +98,10 @@ static int set_dns_head(const char *name,char *buf) dns_head->tag = htons(0x0100); dns_head->numQ = htons(1); dns_head->numA = 0; - + dns_query_type *dns_query =(dns_query_type *) ( buf+ sizeof(dns_head_type) ); int name_len = ch_name(name,(char *)dns_query); - + //设置查询信息 dns_query = (dns_query_type *)( (char *)dns_query + name_len ); dns_query->classes = htons(1); @@ -124,7 +118,7 @@ int make_dns_query_format(const char *node, char *buf, int *query_len) set_dns_head(node, buf); *query_len = sizeof(dns_head_type) + sizeof(dns_query_type) + strlen(node) + 2; - + return 0; } @@ -141,7 +135,7 @@ int make_dns_query(char *buf, int query_len, time_t *ttl, int *Anum) int addrlen, send_len, result_len; int try_num = 0; dns_head_type *dns_head; - + addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr(PUBLIC_DNS_DEFAULT_SERVER); addr.sin_port = htons((uint16_t)PUBLIC_DNS_DEFAULT_PORT); @@ -150,7 +144,7 @@ int make_dns_query(char *buf, int query_len, time_t *ttl, int *Anum) fprintf(stderr, "socket error\n"); return -1; } - + epollfd = epoll_create1(0); if ( -1 == epollfd) { fprintf(stderr, "create epoll failed\n"); @@ -163,28 +157,28 @@ int make_dns_query(char *buf, int query_len, time_t *ttl, int *Anum) fprintf(stderr, "sendto dns query failed\n"); goto clear; } - + event.data.fd = sockfd; event.events = EPOLLIN; - + if (epoll_ctl(epollfd, EPOLL_CTL_ADD, sockfd, &event) == -1) { fprintf(stderr, "add epoll ctl failed\n"); goto clear; } epoll_num = 1; events = calloc(epoll_num, sizeof(event)); - + n = epoll_wait(epollfd, events, epoll_num, timeout); if(n < 1 || events[0].data.fd != sockfd || !(events[0].events & EPOLLIN)) { while(try_num++ <= RETRANS_TRY_NUM) { - send_len = sendto(sockfd, buf, query_len, 0,(struct sockaddr*)&addr, sizeof(struct sockaddr)); + send_len = sendto(sockfd, buf, query_len, 0, (struct sockaddr*)&addr, sizeof(struct sockaddr)); if (send_len != query_len) { fprintf(stderr, "sendto dns query failed\n"); goto clear; } - + n = epoll_wait(epollfd, events, epoll_num, timeout); if(n == 1 && events[0].data.fd == sockfd && (events[0].events & EPOLLIN)) break; @@ -194,50 +188,44 @@ int make_dns_query(char *buf, int query_len, time_t *ttl, int *Anum) goto clear; } } - + addrlen = sizeof(struct sockaddr); result_len = recvfrom(sockfd, buf, DNS_DEFAULT_DATA_SIZE, MSG_WAITALL, (struct sockaddr *)&addr, (socklen_t*)&addrlen); if(result_len <= 0) { fprintf(stderr, "receve dns response failed\n"); goto clear; } - + // 只支持A记录 dns_head = (dns_head_type *)buf; int off = 0; int num = DNS_GET16(dns_head->numA); - for (i = 0; i < num; i++) - { + for (i = 0; i < num; i++) { char *result_set = buf + query_len + off; response *rp = (response *)(result_set + 2); // 2 bytes' offsets uint16_t type = DNS_GET16(rp->type); *ttl = DNS_GET32(rp->ttl); // 解析A记录 - if (TYPE_A == type) - { + if (TYPE_A == type) { memcpy(buf + (*Anum) * 4, (char *)(rp + 1), 4); (*Anum)++; off += (2 + sizeof(response) + 4); - } - // 如果是CNAME记录则直接查找下一条记录 - else if (TYPE_CNAME == type) - { + } else if (TYPE_CNAME == type) { + // 如果是CNAME记录则直接查找下一条记录 off += (2 + sizeof(response) + DNS_GET16(rp->length)); - } - // 其他类型不支持 - else - { + } else { + // 其他类型不支持 goto clear; } } - - ret = 0; - + + ret = 0; + clear: if (sockfd != -1) close(sockfd); if (epollfd != -1) close(epollfd); - + return ret; } diff --git a/dplus.c b/dplus.c index 66f5bae..030032a 100644 --- a/dplus.c +++ b/dplus.c @@ -34,7 +34,6 @@ #define HTTPDNS_DEFAULT_PORT 80 #define CACHE_DEFAULT_MIN_TTL 90 -#define PREFETCH_EXPIRY_ADD 60 #define INVALID_DES_ID -1 #define DES_KEY_SIZE 16 @@ -45,7 +44,7 @@ #define PREFETCH_TTL_CALC(ttl) ((ttl) - (ttl)/4) //dplus environment -static struct dp_env *dpe = NULL; +struct dp_env *dpe = NULL; //max memory of dns cache static size_t cache_maxmem = HASH_DEFAULT_MAXMEM; @@ -73,6 +72,12 @@ void dp_set_ttl(int ttl) min_ttl = ttl; } +void dp_set_httpdns_server(const char *serv, int p) +{ + serv_ip = strdup(serv); + port = p ? p : HTTPDNS_DEFAULT_PORT; +} + void dp_set_des_id_key(uint32_t id, const char *key) { if ( 0 == id || NULL == key ) @@ -142,15 +147,13 @@ char *dp_des_decrypt(const char *des_ip) if (NULL == buf) return NULL; sip = malloc(iplen + 1); - if (NULL == sip) - { + if (NULL == sip) { free(buf); return NULL; } // 将16禁制的字符串转换为字节字符串 - for (i = 0; i < iplen; i++) - { + for (i = 0; i < iplen; i++) { char tmp[3] = {0}; strncpy(tmp, des_ip + i * 2, 2); buf[i] = strtoul(tmp, NULL, 16); @@ -183,7 +186,7 @@ static hashvalue_t hashfunc(const char *key, size_t klen) { return hash; } -static hashvalue_t query_info_hash(struct query_info *q) +hashvalue_t query_info_hash(struct query_info *q) { return hashfunc(q->node, strlen(q->node)); } @@ -296,6 +299,7 @@ static struct prefetch_stat_list *new_prefetch_list() lock_basic_init(&prefetch_list->lock); prefetch_list->head = NULL; + prefetch_list->used = 0; return prefetch_list; } @@ -365,12 +369,13 @@ static struct prefetch_stat *prefetch_stat_insert(struct query_info *qinfo, } s = list->head; if (s == NULL) { - s = new_prefetch; + list->head = new_prefetch; } else { while(s->next) s = s->next; s->next = new_prefetch; } + list->used++; lock_basic_unlock(&list->lock); return new_prefetch; } @@ -390,6 +395,7 @@ static int prefetch_stat_delete(struct query_info *qinfo, } lock_basic_unlock(&list->lock); free_prefetch_stat(s); + list->used--; return 1; } prev = s; @@ -399,11 +405,6 @@ static int prefetch_stat_delete(struct query_info *qinfo, return 0; } -struct prefetch_job_info { - struct query_info qinfo; - hashvalue_t hash; -}; - static void *prefetch_job(void *arg) { struct prefetch_job_info *tinfo = (struct prefetch_job_info *)arg; @@ -412,32 +413,36 @@ static void *prefetch_job(void *arg) hi = http_query(tinfo->qinfo.node, &ttl); if (hi == NULL) { prefetch_stat_delete(&tinfo->qinfo, dpe->prefetch_list); + free(tinfo); return NULL; } dns_cache_store_msg(&tinfo->qinfo, tinfo->hash, hi, ttl); prefetch_stat_delete(&tinfo->qinfo, dpe->prefetch_list); + free(tinfo); return NULL; } -static void prefetch_new_query(struct query_info *qinfo, hashvalue_t hash) +int prefetch_new_query(struct query_info *qinfo, hashvalue_t hash) { - struct prefetch_job_info tinfo; + struct prefetch_job_info *tinfo; pthread_t thread; pthread_attr_t attr; struct prefetch_stat *prefetch; prefetch = prefetch_stat_insert(qinfo, dpe->prefetch_list); if (prefetch == NULL) { - return; + return -1; } - tinfo.qinfo = prefetch->qinfo; - tinfo.hash = hash; + tinfo = (struct prefetch_job_info *)malloc(sizeof(struct prefetch_job_info)); + tinfo->qinfo = prefetch->qinfo; + tinfo->hash = hash; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - pthread_create(&thread, &attr, &prefetch_job, &tinfo); + pthread_create(&thread, &attr, &prefetch_job, tinfo); pthread_attr_destroy(&attr); + return 0; } static int is_integer(const char *s) @@ -538,6 +543,10 @@ void dp_env_init() exit(1); } dpe->prefetch_list = new_prefetch_list(); + + dpe->des_used = des_used; + dpe->des_id = des_id; + dpe->des_key = des_key; } void dp_env_destroy() @@ -635,7 +644,7 @@ struct host_info *http_query(const char *node, time_t *ttl) } else { http_data_ptr = http_data; } - + comma_ptr = strchr(http_data_ptr, ','); if (comma_ptr != NULL) { sscanf(comma_ptr + 1, "%ld", ttl); @@ -690,7 +699,7 @@ struct host_info *http_query(const char *node, time_t *ttl) free(http_data_ptr_head); return hi; - + error: if (des_used) free(http_data_ptr_head); @@ -704,25 +713,25 @@ struct host_info *dns_query(const char *node, time_t *ttl) int query_len; struct host_info *hi = NULL; int Anum = 0, i, ret; - + ret = make_dns_query_format(node, buf, &query_len); if (ret < 0) { fprintf(stderr, "make dns query format failed\n"); return NULL; } - + ret = make_dns_query(buf, query_len, ttl, &Anum); if (ret < 0) { fprintf(stderr, "make dns query failed\n"); return NULL; } - + hi = (struct host_info *)malloc(sizeof(struct host_info)); if (hi == NULL) { fprintf(stderr, "malloc struct host_info failed\n"); return NULL; } - + hi->h_addrtype = AF_INET; hi->h_length = sizeof(struct in_addr); hi->addr_list_len = Anum; @@ -732,7 +741,7 @@ struct host_info *dns_query(const char *node, time_t *ttl) free(hi); return NULL; } - + for (i = 0; i < Anum; i++) { struct in_addr *addr = (struct in_addr *)malloc(sizeof(struct in_addr)); @@ -843,11 +852,11 @@ int dp_getaddrinfo(const char *node, const char *service, port, socktype, proto); lock_basic_unlock(&e->lock); - //prefetch it if the prefetch TTL expired + //prefetch it if the prefetch ttl expired if(prefetch_ttl <= now) prefetch_new_query(&qinfo, h); - } return ret; + } lock_basic_unlock(&e->lock); } diff --git a/dplus.h b/dplus.h index 316b6de..a758cc8 100644 --- a/dplus.h +++ b/dplus.h @@ -95,6 +95,7 @@ struct prefetch_stat { struct prefetch_stat_list { lock_basic_t lock; + int used; struct prefetch_stat *head; }; @@ -114,6 +115,11 @@ struct dp_env { //http dns server and port char *serv_ip; int port; + + //des_used + int des_used; + int des_id; + char *des_key; }; /** API */ @@ -147,6 +153,7 @@ void dp_freeaddrinfo(struct addrinfo *res); /** */ /** internal functions */ + struct host_info *http_query(const char *node, time_t *ttl); struct host_info *dns_query(const char *node, time_t *ttl); @@ -159,6 +166,21 @@ int fetch_response(int sockfd, char *http_data, size_t http_data_len); int make_dns_query_format(const char *node, char *buf, int *query_len); int make_dns_query(char *buf, int query_len, time_t *ttl, int *Anum); +/** for tests **/ + +extern struct dp_env *dpe; + +//hash function +hashvalue_t query_info_hash(struct query_info *q); + +//prefetch job struct and function +struct prefetch_job_info { + struct query_info qinfo; + hashvalue_t hash; +}; +int prefetch_new_query(struct query_info *qinfo, hashvalue_t hash); + + /** */ #endif diff --git a/http.c b/http.c index e7fa095..1049e3d 100644 --- a/http.c +++ b/http.c @@ -147,6 +147,7 @@ int make_request(int sockfd, char *hostname, char *request_path) "GET %s HTTP/1.0\r\nHost: %s\r\nConnection: close\r\n\r\n", request_path, hostname); + //printf("%s\n", buf); return send_all(sockfd, buf, strlen(buf)); } diff --git a/lruhash.c b/lruhash.c index 70abb19..9802d33 100644 --- a/lruhash.c +++ b/lruhash.c @@ -67,7 +67,7 @@ static void bucket_split(struct lruhash *table, } } -static void bucket_overflow_remove(struct lruhash_bucket *bucket, +void bucket_overflow_remove(struct lruhash_bucket *bucket, struct lruhash_entry *entry) { struct lruhash_entry *p = bucket->overflow_list; @@ -126,7 +126,7 @@ static void table_grow(struct lruhash *table) return; } -static struct lruhash_entry *bucket_find_entry(struct lruhash *table, +struct lruhash_entry *bucket_find_entry(struct lruhash *table, struct lruhash_bucket *bucket, hashvalue_t hash, void *key) { struct lruhash_entry *p = bucket->overflow_list; @@ -138,7 +138,7 @@ static struct lruhash_entry *bucket_find_entry(struct lruhash *table, return NULL; } -static void lru_front(struct lruhash *table, struct lruhash_entry *entry) +void lru_front(struct lruhash *table, struct lruhash_entry *entry) { entry->prev = NULL; entry->next = table->lru_head; @@ -149,7 +149,7 @@ static void lru_front(struct lruhash *table, struct lruhash_entry *entry) table->lru_head = entry; } -static void lru_remove(struct lruhash *table, struct lruhash_entry *entry) +void lru_remove(struct lruhash *table, struct lruhash_entry *entry) { if(entry->prev) entry->prev->next = entry->next; diff --git a/lruhash.h b/lruhash.h index e5ad820..fa68b76 100644 --- a/lruhash.h +++ b/lruhash.h @@ -122,11 +122,23 @@ void lruhash_insert(struct lruhash *table, hashvalue_t hash, void lruhash_remove(struct lruhash *table, hashvalue_t hash, void *key); -//the function will lock the entry, unlock it when done. +//this function will lock the entry, unlock it when done. struct lruhash_entry *lruhash_lookup(struct lruhash *table, hashvalue_t hash, void *key); void lruhash_status(struct lruhash *table, lruhash_printkey_t print_key, lruhash_printvalue_t print_value); + +/* for unit test */ +struct lruhash_entry *bucket_find_entry(struct lruhash *table, + struct lruhash_bucket *bucket, hashvalue_t hash, void *key); + +void bucket_overflow_remove(struct lruhash_bucket *bucket, + struct lruhash_entry *entry); + +void lru_front(struct lruhash *table, struct lruhash_entry *entry); +void lru_remove(struct lruhash *table, struct lruhash_entry *entry); +/**/ + #endif diff --git a/test/Makefile b/test/Makefile new file mode 100644 index 0000000..ce90652 --- /dev/null +++ b/test/Makefile @@ -0,0 +1,20 @@ +CC=gcc +CFLAGS=-static -Wall -g +LDFLAGS=-L.. -ldplus -lpthread -lcrypto + +SOURCES=$(wildcard *.c) +OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) + +TARGET=test + +all: $(TARGET) + +$(TARGET): $(OBJECTS) + $(CC) $(OBJECTS) -o $@ $(LDFLAGS) + +%.o: %.c + $(CC) $(LDFLAGS) -c $< $(CFLAGS) + +.PHONY: clean +clean: + rm -rf *.o $(TARGET) diff --git a/test/test b/test/test new file mode 100755 index 0000000000000000000000000000000000000000..3d1fd78352ca35b3e6eec9e0b0ea523ee21f6a47 GIT binary patch literal 88802 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 = "127.0.0.1"; + hi = http_query("www.qq.com", &ttl); + unit_assert(hi == NULL); + + dpe->serv_ip = HTTPDNS_DEFAULT_SERVER; +} + +static void test_enterprise_http_query() +{ + time_t ttl = 0; + struct host_info *hi; + + dpe->des_used = 1; + dpe->des_id = DP_DES_ID; + dpe->des_key = DP_DES_KEY; + hi = http_query("www.qq.com", &ttl); + unit_assert(ttl && hi); + + dpe->serv_ip = "127.0.0.1"; + hi = http_query("www.qq.com", &ttl); + unit_assert(hi == NULL); + + dpe->serv_ip = HTTPDNS_DEFAULT_SERVER; + dpe->des_used = 0; +} + +static void test_dns_query() +{ + time_t ttl = 0; + struct host_info *hi; + + hi = dns_query("www.qq.com", &ttl); + unit_assert(ttl && hi); +} + +static void test_prefetch() +{ + int ret; + hashvalue_t h; + struct lruhash_entry *e; + struct reply_info *repinfo; + struct query_info qinfo; + qinfo.node = "www.qq.com"; + + h = query_info_hash(&qinfo); + ret = prefetch_new_query(&qinfo, h); + unit_assert(ret == 0); + unit_assert(dpe->prefetch_list->used == 1); + sleep(5); + unit_assert(dpe->prefetch_list->used == 0); + + e = lruhash_lookup(dpe->cache, h, &qinfo); + unit_assert(e); + repinfo = (struct reply_info*)e->data; + unit_assert(repinfo && repinfo->host); + lock_basic_unlock(&e->lock); +} + +void dplus_test() +{ + printf("test dplus functions\n"); + dp_env_init(); + + test_http_query(); + test_enterprise_http_query(); + test_dns_query(); + test_prefetch(); + + dp_env_destroy(); +} diff --git a/test/testlruhash.c b/test/testlruhash.c new file mode 100644 index 0000000..2f2a199 --- /dev/null +++ b/test/testlruhash.c @@ -0,0 +1,409 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + +#include "testmain.h" +#include "../lruhash.h" + +struct testkey_t { + int id; + struct lruhash_entry entry; +}; + +struct testdata_t { + int data; +}; + +typedef struct testkey_t testkey; +typedef struct testdata_t testdata; + +static void delkey(void *k1) +{ + testkey *k = (testkey *)k1; + lock_basic_destroy(&k->entry.lock); + free(k); +} + +static void deldata(void *d) +{ + free(d); +} + +static size_t sizefunc(void *k1, void *k2) +{ + return sizeof(testkey) + sizeof(testdata); +} + +static int compfunc(void *key1, void *key2) +{ + testkey *k1 = (testkey *)key1; + testkey *k2 = (testkey *)key2; + if(k1->id == k2->id) + return 0; + if(k1->id > k2->id) + return 1; + return -1; +} + +static hashvalue_t simplehash(int id) +{ + return (hashvalue_t)id & 0x0f; +} + +static testkey *newkey(int id) +{ + testkey *k = (testkey *)calloc(1, sizeof(testkey)); + if(!k) { + printf("calloc testkey: out of memory\n"); + exit(1); + } + k->id = id; + k->entry.hash = simplehash(id); + k->entry.key = k; + lock_basic_init(&k->entry.lock); + return k; +} + +static testdata *newdata(int val) +{ + testdata *d = (testdata *)calloc(1, sizeof(testdata)); + if(!d) { + printf("calloc testdata: out of memory\n"); + exit(1); + } + d->data = val; + return d; +} + +//test bucket_find_entry and bucket_overflow_remove +static void test_bucket_find_entry(struct lruhash *table) +{ + testkey *k1 = newkey(12); + testkey *k2 = newkey(12 + 1024); + testkey *k3 = newkey(14); + testkey *k4 = newkey(12 + 1024*2); + hashvalue_t h = simplehash(12); + struct lruhash_bucket bucket; + memset(&bucket, 0, sizeof(bucket)); + + //remove from empty list + bucket_overflow_remove(&bucket, &k1->entry); + + //find in empty list + unit_assert(bucket_find_entry(table, &bucket, h, k1) == NULL); + + //insert + bucket.overflow_list = &k1->entry; + unit_assert(bucket_find_entry(table, &bucket, simplehash(13), k1) == NULL); + unit_assert(k1->entry.hash == k2->entry.hash); + unit_assert(bucket_find_entry(table, &bucket, h, k2) == NULL); + unit_assert(bucket_find_entry(table, &bucket, h, k1) == &k1->entry); + + //remove + bucket_overflow_remove(&bucket, &k1->entry); + unit_assert(bucket_find_entry(table, &bucket, h, k1) == NULL); + + //insert multi + unit_assert(k1->entry.hash == k4->entry.hash); + k4->entry.overflow_next = &k1->entry; + k3->entry.overflow_next = &k4->entry; + bucket.overflow_list = &k3->entry; + unit_assert(bucket_find_entry(table, &bucket, simplehash(13), k1) == NULL); + unit_assert(k1->entry.hash == k2->entry.hash); + unit_assert(bucket_find_entry(table, &bucket, h, k2) == NULL); + unit_assert(bucket_find_entry(table, &bucket, h, k1) == &k1->entry); + + //remove mid + unit_assert(bucket_find_entry(table, &bucket, k4->entry.hash, k4) == &k4->entry); + bucket_overflow_remove(&bucket, &k4->entry); + unit_assert(bucket_find_entry(table, &bucket, k4->entry.hash, k4) == NULL); + + //remove last + bucket_overflow_remove(&bucket, &k1->entry); + unit_assert(bucket_find_entry(table, &bucket, h, k1) == NULL); + + delkey(k1); + delkey(k2); + delkey(k3); + delkey(k4); +} + +//test lru_front and lru_remove +static void test_lru(struct lruhash *table) +{ + testkey *k1 = newkey(12); + testkey *k2 = newkey(14); + lock_basic_lock(&table->lock); + + unit_assert(table->lru_head == NULL && table->lru_tail == NULL); + lru_remove(table, &k1->entry); + unit_assert(table->lru_head == NULL && table->lru_tail == NULL); + + //add one + lru_front(table, &k1->entry); + unit_assert( table->lru_head == &k1->entry && table->lru_tail == &k1->entry); + + //remove + lru_remove(table, &k1->entry); + unit_assert(table->lru_head == NULL && table->lru_tail == NULL); + + //add two + lru_front(table, &k1->entry); + unit_assert(table->lru_head == &k1->entry && + table->lru_tail == &k1->entry); + lru_front(table, &k2->entry); + unit_assert(table->lru_head == &k2->entry && + table->lru_tail == &k1->entry); + + //remove first + lru_remove(table, &k2->entry); + unit_assert(table->lru_head == &k1->entry && + table->lru_tail == &k1->entry); + lru_front(table, &k2->entry); + unit_assert(table->lru_head == &k2->entry && + table->lru_tail == &k1->entry); + + //remove last + lru_remove(table, &k1->entry); + unit_assert(table->lru_head == &k2->entry && + table->lru_tail == &k2->entry); + + //empty + lru_remove(table, &k2->entry); + unit_assert(table->lru_head == NULL && table->lru_tail == NULL); + + lock_basic_unlock(&table->lock); + + delkey(k1); + delkey(k2); +} + +//test lruhash_insert, lruhash_lookup and lruhash_remove +static void test_short_table(struct lruhash *table) +{ + testkey *k1 = newkey(12); + testkey *k2 = newkey(14); + testdata *d1 = newdata(128); + testdata *d2 = newdata(129); + + k1->entry.data = d1; + k2->entry.data = d2; + + lruhash_insert(table, simplehash(12), &k1->entry, d1); + lruhash_insert(table, simplehash(14), &k2->entry, d2); + + unit_assert(lruhash_lookup(table, simplehash(12), k1) == &k1->entry); + lock_basic_unlock(&k1->entry.lock); + + unit_assert(lruhash_lookup(table, simplehash(14), k2) == &k2->entry); + lock_basic_unlock(&k2->entry.lock ); + + lruhash_remove(table, simplehash(12), k1); + lruhash_remove(table, simplehash(14), k2); +} + +//number of hash test +#define MAXHASH 25 + +//test add a random element +static void testadd(struct lruhash *table, testdata *ref[]) +{ + int num = random() % MAXHASH; + testdata *data = newdata(num); + testkey *key = newkey(num); + key->entry.data = data; + lruhash_insert(table, simplehash(num), &key->entry, data); + if(ref) + ref[num] = data; +} + +//test remove a random element +static void testremove(struct lruhash *table, testdata *ref[]) +{ + int num = random() % MAXHASH; + testkey *key = newkey(num); + lruhash_remove(table, simplehash(num), key); + if (ref) + ref[num] = NULL; + delkey(key); +} + +//test lookup a random element +static void testlookup(struct lruhash *table, testdata *ref[]) +{ + int num = random() % MAXHASH; + testkey *key = newkey(num); + struct lruhash_entry *e = lruhash_lookup(table, simplehash(num), key); + testdata *data = e ? (testdata *)e->data : NULL; + + if(e) { + unit_assert(e->key); + unit_assert(e->data); + lock_basic_unlock(&e->lock); + } + if (ref) + unit_assert(data == ref[num]); + + delkey(key); +} + +//check table +static void check_table(struct lruhash *table) +{ + struct lruhash_entry *p; + size_t c = 0; + lock_basic_lock(&table->lock); + + unit_assert(table->num <= table->size); + unit_assert(table->size_mask == (int)table->size - 1); + unit_assert((table->lru_head && table->lru_tail) || + (!table->lru_head && !table->lru_tail)); + unit_assert(table->space_used <= table->space_max); + + if(table->lru_head) + unit_assert(table->lru_head->prev == NULL); + if(table->lru_tail) + unit_assert(table->lru_tail->next == NULL); + + p = table->lru_head; + while(p) { + if(p->prev) { + unit_assert(p->prev->next == p); + } + if(p->next) { + unit_assert(p->next->prev == p); + } + c++; + p = p->next; + } + unit_assert(c == table->num); + unit_assert(table->space_used == table->num * sizefunc(NULL, NULL)); + + lock_basic_unlock(&table->lock); +} + +static void test_long_table(struct lruhash* table) +{ + testdata *ref[MAXHASH * 100]; + size_t i; + memset(ref, 0, sizeof(ref)); + + unit_assert(sizefunc(NULL, NULL)*MAXHASH < table->space_max); + + srandom(48); + for(i = 0; i < 1000; i++) { + if(i == 500) { + lruhash_clear(table); + memset(ref, 0, sizeof(ref)); + continue; + } + switch(random() % 4) { + case 0: + case 3: + testadd(table, ref); + break; + case 1: + testremove(table, ref); + break; + case 2: + testlookup(table, ref); + break; + default: + unit_assert(0); + } + check_table(table); + unit_assert(table->num <= MAXHASH); + } +} + +//threaded test +struct test_thr { + int num; + pthread_t id; + struct lruhash *table; +}; + +static void *test_thr_main(void *arg) +{ + struct test_thr *t = (struct test_thr *)arg; + int i; + for(i = 0; i < 1000; i++) { + switch(random() % 4) { + case 0: + case 3: + testadd(t->table, NULL); + break; + case 1: + testremove(t->table, NULL); + break; + case 2: + testlookup(t->table, NULL); + break; + default: + unit_assert(0); + } + if(i % 100 == 0) + check_table(t->table); + } + check_table(t->table); + return NULL; +} + +//test hash table access by multiple threads +static void test_threaded_table(struct lruhash* table) +{ + int numth = 10; + struct test_thr t[100]; + int i; + + for(i = 1; i < numth; i++) { + t[i].num = i; + t[i].table = table; + pthread_create(&t[i].id, NULL, test_thr_main, &t[i]); + } + + for(i = 1; i < numth; i++) { + pthread_join(t[i].id, NULL); + } +} + +void lruhash_test(void) +{ + struct lruhash *table; + printf("test lruhash functions\n"); + + table = lruhash_create(2, 8192, sizefunc, compfunc, delkey, deldata); + test_bucket_find_entry(table); + test_lru(table); + test_short_table(table); + test_long_table(table); + lruhash_delete(table); + + table = lruhash_create(2, 8192, sizefunc, compfunc, delkey, deldata); + test_threaded_table(table); + lruhash_delete(table); +} diff --git a/test/testmain.c b/test/testmain.c new file mode 100644 index 0000000..6ae2e31 --- /dev/null +++ b/test/testmain.c @@ -0,0 +1,42 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + +#include "testmain.h" + +int testcount = 0; + +int main(int argc, char* argv[]) +{ + printf("start unit test.\n"); + + lruhash_test(); + dplus_test(); + + printf("%d checks ok.\n", testcount); + return 0; +} diff --git a/test/testmain.h b/test/testmain.h new file mode 100644 index 0000000..dae48ba --- /dev/null +++ b/test/testmain.h @@ -0,0 +1,49 @@ +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + + +#ifndef TEST_MAIN_H +#define TEST_MAIN_H + +#include +#include +#include + +extern int testcount; +#define unit_assert(x) do {\ + testcount++;\ + if(!(x)) {\ + fprintf(stderr, "assert failure %s:%d\n", __FILE__, __LINE__);\ + exit(1);\ + }\ +} while(0) + +void lruhash_test(void); +void dplus_test(void); + +#endif From 7ca7d8ced92e93534a02002821b120f5ee208e26 Mon Sep 17 00:00:00 2001 From: logwang Date: Wed, 3 Jun 2015 18:08:42 +0800 Subject: [PATCH 20/30] add unit test --- test/test | Bin 88802 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 test/test diff --git a/test/test b/test/test deleted file mode 100755 index 3d1fd78352ca35b3e6eec9e0b0ea523ee21f6a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88802 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 Date: Mon, 8 Jun 2015 18:22:56 +0800 Subject: [PATCH 21/30] support windows --- demo/Makefile | 2 +- demo/demo.c | 325 +- deps/win32/include/openssl/aes.h | 149 + deps/win32/include/openssl/applink.c | 129 + deps/win32/include/openssl/asn1.h | 1417 ++++++++ deps/win32/include/openssl/asn1_mac.h | 579 ++++ deps/win32/include/openssl/asn1t.h | 973 ++++++ deps/win32/include/openssl/bio.h | 875 +++++ deps/win32/include/openssl/blowfish.h | 130 + deps/win32/include/openssl/bn.h | 952 +++++ deps/win32/include/openssl/buffer.h | 118 + deps/win32/include/openssl/camellia.h | 132 + deps/win32/include/openssl/cast.h | 107 + deps/win32/include/openssl/cmac.h | 82 + deps/win32/include/openssl/cms.h | 505 +++ deps/win32/include/openssl/comp.h | 79 + deps/win32/include/openssl/conf.h | 267 ++ deps/win32/include/openssl/conf_api.h | 89 + deps/win32/include/openssl/crypto.h | 661 ++++ deps/win32/include/openssl/des.h | 257 ++ deps/win32/include/openssl/des_old.h | 497 +++ deps/win32/include/openssl/dh.h | 287 ++ deps/win32/include/openssl/dsa.h | 329 ++ deps/win32/include/openssl/dso.h | 451 +++ deps/win32/include/openssl/dtls1.h | 268 ++ deps/win32/include/openssl/e_os2.h | 322 ++ deps/win32/include/openssl/ebcdic.h | 26 + deps/win32/include/openssl/ec.h | 1193 +++++++ deps/win32/include/openssl/ecdh.h | 127 + deps/win32/include/openssl/ecdsa.h | 260 ++ deps/win32/include/openssl/engine.h | 961 ++++++ deps/win32/include/openssl/err.h | 389 +++ deps/win32/include/openssl/evp.h | 1478 ++++++++ deps/win32/include/openssl/hmac.h | 109 + deps/win32/include/openssl/idea.h | 105 + deps/win32/include/openssl/krb5_asn.h | 240 ++ deps/win32/include/openssl/kssl.h | 197 ++ deps/win32/include/openssl/lhash.h | 240 ++ deps/win32/include/openssl/md4.h | 119 + deps/win32/include/openssl/md5.h | 119 + deps/win32/include/openssl/mdc2.h | 94 + deps/win32/include/openssl/modes.h | 153 + deps/win32/include/openssl/obj_mac.h | 4031 ++++++++++++++++++++++ deps/win32/include/openssl/objects.h | 1143 ++++++ deps/win32/include/openssl/ocsp.h | 626 ++++ deps/win32/include/openssl/opensslconf.h | 247 ++ deps/win32/include/openssl/opensslv.h | 97 + deps/win32/include/openssl/ossl_typ.h | 209 ++ deps/win32/include/openssl/pem.h | 611 ++++ deps/win32/include/openssl/pem2.h | 70 + deps/win32/include/openssl/pkcs12.h | 342 ++ deps/win32/include/openssl/pkcs7.h | 481 +++ deps/win32/include/openssl/pqueue.h | 99 + deps/win32/include/openssl/rand.h | 150 + deps/win32/include/openssl/rc2.h | 103 + deps/win32/include/openssl/rc4.h | 88 + deps/win32/include/openssl/ripemd.h | 105 + deps/win32/include/openssl/rsa.h | 610 ++++ deps/win32/include/openssl/safestack.h | 2536 ++++++++++++++ deps/win32/include/openssl/seed.h | 149 + deps/win32/include/openssl/sha.h | 214 ++ deps/win32/include/openssl/srp.h | 169 + deps/win32/include/openssl/srtp.h | 148 + deps/win32/include/openssl/ssl.h | 2762 +++++++++++++++ deps/win32/include/openssl/ssl2.h | 265 ++ deps/win32/include/openssl/ssl23.h | 84 + deps/win32/include/openssl/ssl3.h | 730 ++++ deps/win32/include/openssl/stack.h | 106 + deps/win32/include/openssl/symhacks.h | 486 +++ deps/win32/include/openssl/tls1.h | 788 +++++ deps/win32/include/openssl/ts.h | 862 +++++ deps/win32/include/openssl/txt_db.h | 112 + deps/win32/include/openssl/ui.h | 415 +++ deps/win32/include/openssl/ui_compat.h | 88 + deps/win32/include/openssl/whrlpool.h | 41 + deps/win32/include/openssl/x509.h | 1301 +++++++ deps/win32/include/openssl/x509_vfy.h | 589 ++++ deps/win32/include/openssl/x509v3.h | 1015 ++++++ deps/win32/lib/libeay32MT.lib | Bin 0 -> 13630838 bytes deps/win32/lib/ssleay32MT.lib | Bin 0 -> 2140498 bytes dns.c | 231 -- Makefile => src/Makefile | 0 src/dns.c | 243 ++ dplus.c => src/dplus.c | 1853 +++++----- dplus.h => src/dplus.h | 28 +- http.c => src/http.c | 58 +- src/locks.c | 147 + src/locks.h | 71 + lruhash.c => src/lruhash.c | 0 lruhash.h => src/lruhash.h | 7 +- test/Makefile | 2 +- test/testdplus.c | 8 +- test/testlruhash.c | 13 +- test/testmain.c | 1 - 94 files changed, 39000 insertions(+), 1326 deletions(-) create mode 100644 deps/win32/include/openssl/aes.h create mode 100644 deps/win32/include/openssl/applink.c create mode 100644 deps/win32/include/openssl/asn1.h create mode 100644 deps/win32/include/openssl/asn1_mac.h create mode 100644 deps/win32/include/openssl/asn1t.h create mode 100644 deps/win32/include/openssl/bio.h create mode 100644 deps/win32/include/openssl/blowfish.h create mode 100644 deps/win32/include/openssl/bn.h create mode 100644 deps/win32/include/openssl/buffer.h create mode 100644 deps/win32/include/openssl/camellia.h create mode 100644 deps/win32/include/openssl/cast.h create mode 100644 deps/win32/include/openssl/cmac.h create mode 100644 deps/win32/include/openssl/cms.h create mode 100644 deps/win32/include/openssl/comp.h create mode 100644 deps/win32/include/openssl/conf.h create mode 100644 deps/win32/include/openssl/conf_api.h create mode 100644 deps/win32/include/openssl/crypto.h create mode 100644 deps/win32/include/openssl/des.h create mode 100644 deps/win32/include/openssl/des_old.h create mode 100644 deps/win32/include/openssl/dh.h create mode 100644 deps/win32/include/openssl/dsa.h create mode 100644 deps/win32/include/openssl/dso.h create mode 100644 deps/win32/include/openssl/dtls1.h create mode 100644 deps/win32/include/openssl/e_os2.h create mode 100644 deps/win32/include/openssl/ebcdic.h create mode 100644 deps/win32/include/openssl/ec.h create mode 100644 deps/win32/include/openssl/ecdh.h create mode 100644 deps/win32/include/openssl/ecdsa.h create mode 100644 deps/win32/include/openssl/engine.h create mode 100644 deps/win32/include/openssl/err.h create mode 100644 deps/win32/include/openssl/evp.h create mode 100644 deps/win32/include/openssl/hmac.h create mode 100644 deps/win32/include/openssl/idea.h create mode 100644 deps/win32/include/openssl/krb5_asn.h create mode 100644 deps/win32/include/openssl/kssl.h create mode 100644 deps/win32/include/openssl/lhash.h create mode 100644 deps/win32/include/openssl/md4.h create mode 100644 deps/win32/include/openssl/md5.h create mode 100644 deps/win32/include/openssl/mdc2.h create mode 100644 deps/win32/include/openssl/modes.h create mode 100644 deps/win32/include/openssl/obj_mac.h create mode 100644 deps/win32/include/openssl/objects.h create mode 100644 deps/win32/include/openssl/ocsp.h create mode 100644 deps/win32/include/openssl/opensslconf.h create mode 100644 deps/win32/include/openssl/opensslv.h create mode 100644 deps/win32/include/openssl/ossl_typ.h create mode 100644 deps/win32/include/openssl/pem.h create mode 100644 deps/win32/include/openssl/pem2.h create mode 100644 deps/win32/include/openssl/pkcs12.h create mode 100644 deps/win32/include/openssl/pkcs7.h create mode 100644 deps/win32/include/openssl/pqueue.h create mode 100644 deps/win32/include/openssl/rand.h create mode 100644 deps/win32/include/openssl/rc2.h create mode 100644 deps/win32/include/openssl/rc4.h create mode 100644 deps/win32/include/openssl/ripemd.h create mode 100644 deps/win32/include/openssl/rsa.h create mode 100644 deps/win32/include/openssl/safestack.h create mode 100644 deps/win32/include/openssl/seed.h create mode 100644 deps/win32/include/openssl/sha.h create mode 100644 deps/win32/include/openssl/srp.h create mode 100644 deps/win32/include/openssl/srtp.h create mode 100644 deps/win32/include/openssl/ssl.h create mode 100644 deps/win32/include/openssl/ssl2.h create mode 100644 deps/win32/include/openssl/ssl23.h create mode 100644 deps/win32/include/openssl/ssl3.h create mode 100644 deps/win32/include/openssl/stack.h create mode 100644 deps/win32/include/openssl/symhacks.h create mode 100644 deps/win32/include/openssl/tls1.h create mode 100644 deps/win32/include/openssl/ts.h create mode 100644 deps/win32/include/openssl/txt_db.h create mode 100644 deps/win32/include/openssl/ui.h create mode 100644 deps/win32/include/openssl/ui_compat.h create mode 100644 deps/win32/include/openssl/whrlpool.h create mode 100644 deps/win32/include/openssl/x509.h create mode 100644 deps/win32/include/openssl/x509_vfy.h create mode 100644 deps/win32/include/openssl/x509v3.h create mode 100644 deps/win32/lib/libeay32MT.lib create mode 100644 deps/win32/lib/ssleay32MT.lib delete mode 100644 dns.c rename Makefile => src/Makefile (100%) create mode 100644 src/dns.c rename dplus.c => src/dplus.c (72%) rename dplus.h => src/dplus.h (89%) rename http.c => src/http.c (85%) create mode 100644 src/locks.c create mode 100644 src/locks.h rename lruhash.c => src/lruhash.c (100%) rename lruhash.h => src/lruhash.h (93%) diff --git a/demo/Makefile b/demo/Makefile index 1992fd2..a461847 100644 --- a/demo/Makefile +++ b/demo/Makefile @@ -1,6 +1,6 @@ CC=gcc CFLAGS=-static -Wall -g -LDFLAGS=-L.. -ldplus -lpthread -lcrypto +LDFLAGS=-L../src -ldplus -lpthread -lcrypto TARGET=demo diff --git a/demo/demo.c b/demo/demo.c index aa9e62e..a2b4a05 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -1,136 +1,189 @@ -/* Copyright (c) 2006-2015, DNSPod 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: - * - * 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. - * - * 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. - * - * The views and conclusions contained in the software and documentation are those - * of the authors and should not be interpreted as representing official policies, - * either expressed or implied, of the FreeBSD Project. -*/ - -#include "../dplus.h" - -#define DP_DES_ID 12 -#define DP_DES_KEY "@o]Tai_next) { - inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), - ipstr, sizeof(ipstr)); - printf("%s\n", ipstr); - } - dp_freeaddrinfo(answer); - gettimeofday(&time2, NULL); - printf("first time:%lu ms\n\n", (time2.tv_usec - time.tv_usec)/1000); - - //second - gettimeofday(&time, NULL); - ret = dp_getaddrinfo(argv[1], "http", &hint, &answer); - if (ret != 0) { - fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); - dp_env_destroy(); - return 1; - } - - for (curr = answer; curr != NULL; curr = curr->ai_next) { - inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), - ipstr, 16); - printf("%s\n", ipstr); - } - gettimeofday(&time2, NULL); - printf("second time:%lu ms\n\n", (time2.tv_usec - time.tv_usec)/1000); - - printf("cache status:\n"); - dp_cache_status(); - printf("\n"); - - printf("start http query:%s\n", argv[1]); - for (curr = answer; curr != NULL; curr = curr->ai_next) { - sfd = socket(curr->ai_family, curr->ai_socktype, - curr->ai_protocol); - if (sfd == -1) - continue; - - if (connect(sfd, curr->ai_addr, curr->ai_addrlen) != -1) - break; - - close(sfd); - } - //no longer needed - dp_freeaddrinfo(answer); - - ret = make_request(sfd, argv[1], "/"); - if (ret < 0) { - printf("make request failed\n"); - close(sfd); - return -1; - } - - ret = fetch_response(sfd, http_data, BUF_SIZE); - if (ret < 0) { - printf("fetch response failed\n"); - close(sfd); - return -1; - } - close(sfd); - - printf("%s\n", http_data); - - dp_env_destroy(); - return 0; -} +/* Copyright (c) 2006-2015, DNSPod 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: + * + * 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. + * + * 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. + * + * The views and conclusions contained in the software and documentation are those + * of the authors and should not be interpreted as representing official policies, + * either expressed or implied, of the FreeBSD Project. +*/ + +#include "../src/dplus.h" + +#define DP_DES_ID 12 +#define DP_DES_KEY "@o]Ttv_sec = (long)clock; + tp->tv_usec = wtm.wMilliseconds * 1000; + return 0; +} +#else +#include +#endif + +int main(int argc, char **argv) +{ + struct addrinfo *answer, hint, *curr; + char ipstr[16]; + int ret, sfd; + struct timeval time, time2; + char http_data[BUF_SIZE]; + char *domain; + + if (argc != 2) { + //fprintf(stderr, "Usage: %s hostname\n", argv[0]); + //exit(1); + domain = "www.dnspod.com"; + } + else { + domain = argv[1]; + } + + //init dplus environment + dp_set_cache_mem(4*1024*1024); + dp_set_ttl(90); + +#ifdef ENTERPRISE_EDITION + // 设置企业版加密ID和KEY + dp_set_des_id_key(DP_DES_ID, DP_DES_KEY); +#endif + + dp_env_init(); + + memset(&hint, 0, sizeof(hint)); + hint.ai_family = AF_INET; + hint.ai_socktype = SOCK_STREAM; + + //first + gettimeofday(&time, NULL); + ret = dp_getaddrinfo(domain, "http", &hint, &answer); + if (ret != 0) { + fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); + dp_env_destroy(); + return 1; + } + + for (curr = answer; curr != NULL; curr = curr->ai_next) { + inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), + ipstr, sizeof(ipstr)); + printf("%s\n", ipstr); + } + dp_freeaddrinfo(answer); + gettimeofday(&time2, NULL); + printf("first time:%lu ms\n\n", (time2.tv_usec - time.tv_usec)/1000); + + //second + gettimeofday(&time, NULL); + ret = dp_getaddrinfo(domain, "http", &hint, &answer); + if (ret != 0) { + fprintf(stderr, "dp_getaddrinfo: %s\n", gai_strerror(ret)); + dp_env_destroy(); + return 1; + } + + for (curr = answer; curr != NULL; curr = curr->ai_next) { + inet_ntop(AF_INET, &(((struct sockaddr_in *)(curr->ai_addr))->sin_addr), + ipstr, 16); + printf("%s\n", ipstr); + } + gettimeofday(&time2, NULL); + printf("second time:%lu ms\n\n", (time2.tv_usec - time.tv_usec)/1000); + + printf("cache status:\n"); + dp_cache_status(); + printf("\n"); + +#ifdef WIN32 + WSADATA wsa; + WSAStartup(MAKEWORD(2, 2), &wsa); +#endif + + printf("start http query:%s\n", domain); + for (curr = answer; curr != NULL; curr = curr->ai_next) { + sfd = socket(curr->ai_family, curr->ai_socktype, + curr->ai_protocol); + if (sfd == -1) + continue; + + if (connect(sfd, curr->ai_addr, curr->ai_addrlen) != -1) + break; + +#ifdef WIN32 + closesocket(sfd); + WSACleanup(); +#else + close(sfd); +#endif + } + //no longer needed + dp_freeaddrinfo(answer); + + ret = make_request(sfd, domain, "/"); + if (ret < 0) { + printf("make request failed\n"); +#ifdef WIN32 + closesocket(sfd); + WSACleanup(); +#else + close(sfd); +#endif + return -1; + } + + ret = fetch_response(sfd, http_data, BUF_SIZE); + if (ret < 0) { + printf("fetch response failed\n"); +#ifdef WIN32 + closesocket(sfd); + WSACleanup(); +#else + close(sfd); +#endif + return -1; + } +#ifdef WIN32 + closesocket(sfd); + WSACleanup(); +#else + close(sfd); +#endif + + printf("%s\n", http_data); + + dp_env_destroy(); + return 0; +} diff --git a/deps/win32/include/openssl/aes.h b/deps/win32/include/openssl/aes.h new file mode 100644 index 0000000..87bf60f --- /dev/null +++ b/deps/win32/include/openssl/aes.h @@ -0,0 +1,149 @@ +/* crypto/aes/aes.h -*- mode:C; c-file-style: "eay" -*- */ +/* ==================================================================== + * 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/deps/win32/include/openssl/applink.c b/deps/win32/include/openssl/applink.c new file mode 100644 index 0000000..2831b39 --- /dev/null +++ b/deps/win32/include/openssl/applink.c @@ -0,0 +1,129 @@ +#define APPLINK_STDIN 1 +#define APPLINK_STDOUT 2 +#define APPLINK_STDERR 3 +#define APPLINK_FPRINTF 4 +#define APPLINK_FGETS 5 +#define APPLINK_FREAD 6 +#define APPLINK_FWRITE 7 +#define APPLINK_FSETMOD 8 +#define APPLINK_FEOF 9 +#define APPLINK_FCLOSE 10 /* should not be used */ + +#define APPLINK_FOPEN 11 /* solely for completeness */ +#define APPLINK_FSEEK 12 +#define APPLINK_FTELL 13 +#define APPLINK_FFLUSH 14 +#define APPLINK_FERROR 15 +#define APPLINK_CLEARERR 16 +#define APPLINK_FILENO 17 /* to be used with below */ + +#define APPLINK_OPEN 18 /* formally can't be used, as flags can vary */ +#define APPLINK_READ 19 +#define APPLINK_WRITE 20 +#define APPLINK_LSEEK 21 +#define APPLINK_CLOSE 22 +#define APPLINK_MAX 22 /* always same as last macro */ + +#ifndef APPMACROS_ONLY +# include +# include +# include + +static void *app_stdin(void) +{ + return stdin; +} + +static void *app_stdout(void) +{ + return stdout; +} + +static void *app_stderr(void) +{ + return stderr; +} + +static int app_feof(FILE *fp) +{ + return feof(fp); +} + +static int app_ferror(FILE *fp) +{ + return ferror(fp); +} + +static void app_clearerr(FILE *fp) +{ + clearerr(fp); +} + +static int app_fileno(FILE *fp) +{ + return _fileno(fp); +} + +static int app_fsetmod(FILE *fp, char mod) +{ + return _setmode(_fileno(fp), mod == 'b' ? _O_BINARY : _O_TEXT); +} + +#ifdef __cplusplus +extern "C" { +#endif + +__declspec(dllexport) +void ** +# if defined(__BORLANDC__) +/* + * __stdcall appears to be the only way to get the name + * decoration right with Borland C. Otherwise it works + * purely incidentally, as we pass no parameters. + */ + __stdcall +# else + __cdecl +# endif +OPENSSL_Applink(void) +{ + static int once = 1; + static void *OPENSSL_ApplinkTable[APPLINK_MAX + 1] = + { (void *)APPLINK_MAX }; + + if (once) { + OPENSSL_ApplinkTable[APPLINK_STDIN] = app_stdin; + OPENSSL_ApplinkTable[APPLINK_STDOUT] = app_stdout; + OPENSSL_ApplinkTable[APPLINK_STDERR] = app_stderr; + OPENSSL_ApplinkTable[APPLINK_FPRINTF] = fprintf; + OPENSSL_ApplinkTable[APPLINK_FGETS] = fgets; + OPENSSL_ApplinkTable[APPLINK_FREAD] = fread; + OPENSSL_ApplinkTable[APPLINK_FWRITE] = fwrite; + OPENSSL_ApplinkTable[APPLINK_FSETMOD] = app_fsetmod; + OPENSSL_ApplinkTable[APPLINK_FEOF] = app_feof; + OPENSSL_ApplinkTable[APPLINK_FCLOSE] = fclose; + + OPENSSL_ApplinkTable[APPLINK_FOPEN] = fopen; + OPENSSL_ApplinkTable[APPLINK_FSEEK] = fseek; + OPENSSL_ApplinkTable[APPLINK_FTELL] = ftell; + OPENSSL_ApplinkTable[APPLINK_FFLUSH] = fflush; + OPENSSL_ApplinkTable[APPLINK_FERROR] = app_ferror; + OPENSSL_ApplinkTable[APPLINK_CLEARERR] = app_clearerr; + OPENSSL_ApplinkTable[APPLINK_FILENO] = app_fileno; + + OPENSSL_ApplinkTable[APPLINK_OPEN] = _open; + OPENSSL_ApplinkTable[APPLINK_READ] = _read; + OPENSSL_ApplinkTable[APPLINK_WRITE] = _write; + OPENSSL_ApplinkTable[APPLINK_LSEEK] = _lseek; + OPENSSL_ApplinkTable[APPLINK_CLOSE] = _close; + + once = 0; + } + + return OPENSSL_ApplinkTable; +} + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/include/openssl/asn1.h b/deps/win32/include/openssl/asn1.h new file mode 100644 index 0000000..39b7833 --- /dev/null +++ b/deps/win32/include/openssl/asn1.h @@ -0,0 +1,1417 @@ +/* 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 */ +typedef 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 */ +} ASN1_OBJECT; + +# 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(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(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); + +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/deps/win32/include/openssl/asn1_mac.h b/deps/win32/include/openssl/asn1_mac.h new file mode 100644 index 0000000..abc6dc3 --- /dev/null +++ b/deps/win32/include/openssl/asn1_mac.h @@ -0,0 +1,579 @@ +/* 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/deps/win32/include/openssl/asn1t.h b/deps/win32/include/openssl/asn1t.h new file mode 100644 index 0000000..99bc0ee --- /dev/null +++ b/deps/win32/include/openssl/asn1t.h @@ -0,0 +1,973 @@ +/* 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/deps/win32/include/openssl/bio.h b/deps/win32/include/openssl/bio.h new file mode 100644 index 0000000..be9cd0e --- /dev/null +++ b/deps/win32/include/openssl/bio.h @@ -0,0 +1,875 @@ +/* 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_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_int_ctrl(b,BIO_C_GET_CONNECT,3,0) + +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +/* BIO_s_accept_socket() */ +# define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) +# define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?(void *)"a":NULL) +# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio) + +# define BIO_BIND_NORMAL 0 +# define BIO_BIND_REUSEADDR_IF_UNUSED 1 +# define BIO_BIND_REUSEADDR 2 +# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +# define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) + +# define BIO_do_connect(b) BIO_do_handshake(b) +# define BIO_do_accept(b) BIO_do_handshake(b) +# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_proxy_client() */ +# define BIO_set_url(b,url) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url)) +# define BIO_set_proxies(b,p) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p)) +/* BIO_set_nbio(b,n) */ +# define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s)) +/* BIO *BIO_get_filter_bio(BIO *bio); */ +# define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)())) +# define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk) +# define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool) + +# define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp) +# define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p)) +# define BIO_get_url(b,url) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url)) +# define BIO_get_no_connect_return(b) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,NULL) + +# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) + +# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp) +# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp) + +# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* + * name is cast to lose const, but might be better to route through a + * function so we can do it safely + */ +# 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(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 +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(char *host_port); +BIO *BIO_new_accept(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/deps/win32/include/openssl/blowfish.h b/deps/win32/include/openssl/blowfish.h new file mode 100644 index 0000000..8329302 --- /dev/null +++ b/deps/win32/include/openssl/blowfish.h @@ -0,0 +1,130 @@ +/* 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/deps/win32/include/openssl/bn.h b/deps/win32/include/openssl/bn.h new file mode 100644 index 0000000..7d57e98 --- /dev/null +++ b/deps/win32/include/openssl/bn.h @@ -0,0 +1,952 @@ +/* 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 +# 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 + +/* + * 2011-02-22 SMS. In various places, a size_t variable or a type cast to + * size_t was used to perform integer-only operations on pointers. This + * failed on VMS with 64-bit pointers (CC /POINTER_SIZE = 64) because size_t + * is still only 32 bits. What's needed in these cases is an integer type + * with the same size as a pointer, which size_t is not certain to be. The + * only fix here is VMS-specific. + */ +# if defined(OPENSSL_SYS_VMS) +# if __INITIAL_POINTER_SIZE == 64 +# define PTR_SIZE_INT long long +# else /* __INITIAL_POINTER_SIZE == 64 */ +# define PTR_SIZE_INT int +# endif /* __INITIAL_POINTER_SIZE == 64 [else] */ +# else /* defined(OPENSSL_SYS_VMS) */ +# define PTR_SIZE_INT size_t +# endif /* defined(OPENSSL_SYS_VMS) [else] */ + +# 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+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*)); \ + 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; \ + } \ + 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_MOD_EXP2_MONT 118 +# define BN_F_BN_MOD_EXP_MONT 109 +# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +# define BN_F_BN_MOD_EXP_MONT_WORD 117 +# define BN_F_BN_MOD_EXP_RECP 125 +# define BN_F_BN_MOD_EXP_SIMPLE 126 +# define BN_F_BN_MOD_INVERSE 110 +# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +# define BN_F_BN_MOD_LSHIFT_QUICK 119 +# define BN_F_BN_MOD_MUL_RECIPROCAL 111 +# define BN_F_BN_MOD_SQRT 121 +# define BN_F_BN_MPI2BN 112 +# define BN_F_BN_NEW 113 +# define BN_F_BN_RAND 114 +# define BN_F_BN_RAND_RANGE 122 +# define BN_F_BN_USUB 115 + +/* Reason codes. */ +# define BN_R_ARG2_LT_ARG3 100 +# define BN_R_BAD_RECIPROCAL 101 +# define BN_R_BIGNUM_TOO_LONG 114 +# define BN_R_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_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/deps/win32/include/openssl/buffer.h b/deps/win32/include/openssl/buffer.h new file mode 100644 index 0000000..632df93 --- /dev/null +++ b/deps/win32/include/openssl/buffer.h @@ -0,0 +1,118 @@ +/* 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); +char *BUF_strdup(const char *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/deps/win32/include/openssl/camellia.h b/deps/win32/include/openssl/camellia.h new file mode 100644 index 0000000..9be7c0f --- /dev/null +++ b/deps/win32/include/openssl/camellia.h @@ -0,0 +1,132 @@ +/* crypto/camellia/camellia.h -*- mode:C; c-file-style: "eay" -*- */ +/* ==================================================================== + * 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/deps/win32/include/openssl/cast.h b/deps/win32/include/openssl/cast.h new file mode 100644 index 0000000..0003ec9 --- /dev/null +++ b/deps/win32/include/openssl/cast.h @@ -0,0 +1,107 @@ +/* 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/deps/win32/include/openssl/cmac.h b/deps/win32/include/openssl/cmac.h new file mode 100644 index 0000000..175be83 --- /dev/null +++ b/deps/win32/include/openssl/cmac.h @@ -0,0 +1,82 @@ +/* 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/deps/win32/include/openssl/cms.h b/deps/win32/include/openssl/cms.h new file mode 100644 index 0000000..a2281ed --- /dev/null +++ b/deps/win32/include/openssl/cms.h @@ -0,0 +1,505 @@ +/* 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; + +DECLARE_STACK_OF(CMS_SignerInfo) +DECLARE_STACK_OF(GENERAL_NAMES) +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_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 + +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); +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_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); +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); +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 + +/* 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_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_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_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_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/deps/win32/include/openssl/comp.h b/deps/win32/include/openssl/comp.h new file mode 100644 index 0000000..406c428 --- /dev/null +++ b/deps/win32/include/openssl/comp.h @@ -0,0 +1,79 @@ + +#ifndef HEADER_COMP_H +# define HEADER_COMP_H + +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct comp_ctx_st COMP_CTX; + +typedef 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); +} COMP_METHOD; + +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/deps/win32/include/openssl/conf.h b/deps/win32/include/openssl/conf.h new file mode 100644 index 0000000..8d926d5 --- /dev/null +++ b/deps/win32/include/openssl/conf.h @@ -0,0 +1,267 @@ +/* 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/deps/win32/include/openssl/conf_api.h b/deps/win32/include/openssl/conf_api.h new file mode 100644 index 0000000..e478f7d --- /dev/null +++ b/deps/win32/include/openssl/conf_api.h @@ -0,0 +1,89 @@ +/* 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/deps/win32/include/openssl/crypto.h b/deps/win32/include/openssl/crypto.h new file mode 100644 index 0000000..c450d7a --- /dev/null +++ b/deps/win32/include/openssl/crypto.h @@ -0,0 +1,661 @@ +/* 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 void *a, const 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/deps/win32/include/openssl/des.h b/deps/win32/include/openssl/des.h new file mode 100644 index 0000000..1b40144 --- /dev/null +++ b/deps/win32/include/openssl/des.h @@ -0,0 +1,257 @@ +/* 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/deps/win32/include/openssl/des_old.h b/deps/win32/include/openssl/des_old.h new file mode 100644 index 0000000..f1e1e2c --- /dev/null +++ b/deps/win32/include/openssl/des_old.h @@ -0,0 +1,497 @@ +/* crypto/des/des_old.h -*- mode:C; c-file-style: "eay" -*- */ + +/*- + * 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/deps/win32/include/openssl/dh.h b/deps/win32/include/openssl/dh.h new file mode 100644 index 0000000..4cbaa97 --- /dev/null +++ b/deps/win32/include/openssl/dh.h @@ -0,0 +1,287 @@ +/* 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 */ + 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 + +/* DH_check_pub_key error codes */ +# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 + +/* + * 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); +DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); +int i2d_DHparams(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 + +# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + +# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + +# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) + +/* 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_COMPUTE_KEY 114 +# define DH_F_DH_GENERATE_KEY 115 +# define DH_F_DH_GENERATE_PARAMETERS_EX 116 +# define DH_F_DH_NEW_METHOD 105 +# define DH_F_DH_PARAM_DECODE 107 +# define DH_F_DH_PRIV_DECODE 110 +# define DH_F_DH_PRIV_ENCODE 111 +# define DH_F_DH_PUB_DECODE 108 +# define DH_F_DH_PUB_ENCODE 109 +# define DH_F_DO_DH_PRINT 100 +# define DH_F_GENERATE_KEY 103 +# define DH_F_GENERATE_PARAMETERS 104 +# define DH_F_PKEY_DH_DERIVE 112 +# define DH_F_PKEY_DH_KEYGEN 113 + +/* Reason codes. */ +# define DH_R_BAD_GENERATOR 101 +# define DH_R_BN_DECODE_ERROR 109 +# define DH_R_BN_ERROR 106 +# define DH_R_DECODE_ERROR 104 +# define DH_R_INVALID_PUBKEY 102 +# define DH_R_KEYS_NOT_SET 108 +# define DH_R_KEY_SIZE_TOO_SMALL 110 +# define DH_R_MODULUS_TOO_LARGE 103 +# define DH_R_NON_FIPS_METHOD 111 +# define DH_R_NO_PARAMETERS_SET 107 +# define DH_R_NO_PRIVATE_VALUE 100 +# define DH_R_PARAMETER_ENCODING_ERROR 105 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/include/openssl/dsa.h b/deps/win32/include/openssl/dsa.h new file mode 100644 index 0000000..a2f0ee7 --- /dev/null +++ b/deps/win32/include/openssl/dsa.h @@ -0,0 +1,329 @@ +/* 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_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_MISSING_PARAMETERS 101 +# define DSA_R_MODULUS_TOO_LARGE 103 +# define DSA_R_NEED_NEW_SETUP_VALUES 110 +# define DSA_R_NON_FIPS_DSA_METHOD 111 +# define DSA_R_NO_PARAMETERS_SET 107 +# define DSA_R_PARAMETER_ENCODING_ERROR 105 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/include/openssl/dso.h b/deps/win32/include/openssl/dso.h new file mode 100644 index 0000000..7c4a1dc --- /dev/null +++ b/deps/win32/include/openssl/dso.h @@ -0,0 +1,451 @@ +/* dso.h -*- mode:C; c-file-style: "eay" -*- */ +/* + * 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/deps/win32/include/openssl/dtls1.h b/deps/win32/include/openssl/dtls1.h new file mode 100644 index 0000000..8deb299 --- /dev/null +++ b/deps/win32/include/openssl/dtls1.h @@ -0,0 +1,268 @@ +/* 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 DTLS_MAX_VERSION DTLS1_VERSION +# define DTLS1_VERSION_MAJOR 0xFE + +# define DTLS1_BAD_VER 0x0100 + +# 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/deps/win32/include/openssl/e_os2.h b/deps/win32/include/openssl/e_os2.h new file mode 100644 index 0000000..d400ac7 --- /dev/null +++ b/deps/win32/include/openssl/e_os2.h @@ -0,0 +1,322 @@ +/* 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(__CYGWIN32__) || defined(OPENSSL_SYSNAME_CYGWIN32) +# 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(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_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/deps/win32/include/openssl/ebcdic.h b/deps/win32/include/openssl/ebcdic.h new file mode 100644 index 0000000..4cbdfeb --- /dev/null +++ b/deps/win32/include/openssl/ebcdic.h @@ -0,0 +1,26 @@ +/* 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/deps/win32/include/openssl/ec.h b/deps/win32/include/openssl/ec.h new file mode 100644 index 0000000..c4e7aea --- /dev/null +++ b/deps/win32/include/openssl/ec.h @@ -0,0 +1,1193 @@ +/* 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 0x02 */ + 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); + +/** 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); + +/********************************************************************/ +/* 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_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + +# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) + +/* 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_ECKEY_PARAM2TYPE 223 +# define EC_F_ECKEY_PARAM_DECODE 212 +# define EC_F_ECKEY_PRIV_DECODE 213 +# define EC_F_ECKEY_PRIV_ENCODE 214 +# define EC_F_ECKEY_PUB_DECODE 215 +# define EC_F_ECKEY_PUB_ENCODE 216 +# define EC_F_ECKEY_TYPE2PARAM 220 +# define EC_F_ECPARAMETERS_PRINT 147 +# define EC_F_ECPARAMETERS_PRINT_FP 148 +# define EC_F_ECPKPARAMETERS_PRINT 149 +# define EC_F_ECPKPARAMETERS_PRINT_FP 150 +# define EC_F_ECP_NIST_MOD_192 203 +# define EC_F_ECP_NIST_MOD_224 204 +# define EC_F_ECP_NIST_MOD_256 205 +# define EC_F_ECP_NIST_MOD_521 206 +# define EC_F_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_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_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_PKPARAMETERS2GROUP_FAILURE 127 +# define EC_R_POINT_AT_INFINITY 106 +# define EC_R_POINT_IS_NOT_ON_CURVE 107 +# 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/deps/win32/include/openssl/ecdh.h b/deps/win32/include/openssl/ecdh.h new file mode 100644 index 0000000..a9b811a --- /dev/null +++ b/deps/win32/include/openssl/ecdh.h @@ -0,0 +1,127 @@ +/* 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 + +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); + +/* 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/deps/win32/include/openssl/ecdsa.h b/deps/win32/include/openssl/ecdsa.h new file mode 100644 index 0000000..faf76b1 --- /dev/null +++ b/deps/win32/include/openssl/ecdsa.h @@ -0,0 +1,260 @@ +/* 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); + +/* 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_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/deps/win32/include/openssl/engine.h b/deps/win32/include/openssl/engine.h new file mode 100644 index 0000000..e81096a --- /dev/null +++ b/deps/win32/include/openssl/engine.h @@ -0,0 +1,961 @@ +/* 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_rsax(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/deps/win32/include/openssl/err.h b/deps/win32/include/openssl/err.h new file mode 100644 index 0000000..585aa8b --- /dev/null +++ b/deps/win32/include/openssl/err.h @@ -0,0 +1,389 @@ +/* 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/deps/win32/include/openssl/evp.h b/deps/win32/include/openssl/evp.h new file mode 100644 index 0000000..b00997b --- /dev/null +++ b/deps/win32/include/openssl/evp.h @@ -0,0 +1,1478 @@ +/* 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_PKT_EXP 0x1000 /* <= 512 bit key */ + +# 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_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_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 + +/* 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 + +/* 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, 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); +/* + * 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_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_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); +# 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 +# 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 + +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)); + +# 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_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_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_XTS 172 +# define EVP_F_AES_XTS_CIPHER 175 +# define EVP_F_ALG_MODULE_INIT 177 +# define EVP_F_CAMELLIA_INIT_KEY 159 +# define EVP_F_CMAC_INIT 173 +# define EVP_F_D2I_PKEY 100 +# define EVP_F_DO_SIGVER_INIT 161 +# define EVP_F_DSAPKEY2PKCS8 134 +# define EVP_F_DSA_PKEY2PKCS8 135 +# define EVP_F_ECDSA_PKEY2PKCS8 129 +# define EVP_F_ECKEY_PKEY2PKCS8 132 +# define EVP_F_EVP_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_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_WRONG_FINAL_BLOCK_LENGTH 109 +# define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/include/openssl/hmac.h b/deps/win32/include/openssl/hmac.h new file mode 100644 index 0000000..b8b55cd --- /dev/null +++ b/deps/win32/include/openssl/hmac.h @@ -0,0 +1,109 @@ +/* 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/deps/win32/include/openssl/idea.h b/deps/win32/include/openssl/idea.h new file mode 100644 index 0000000..6075984 --- /dev/null +++ b/deps/win32/include/openssl/idea.h @@ -0,0 +1,105 @@ +/* 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/deps/win32/include/openssl/krb5_asn.h b/deps/win32/include/openssl/krb5_asn.h new file mode 100644 index 0000000..9cf5a26 --- /dev/null +++ b/deps/win32/include/openssl/krb5_asn.h @@ -0,0 +1,240 @@ +/* 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/deps/win32/include/openssl/kssl.h b/deps/win32/include/openssl/kssl.h new file mode 100644 index 0000000..9a57672 --- /dev/null +++ b/deps/win32/include/openssl/kssl.h @@ -0,0 +1,197 @@ +/* ssl/kssl.h -*- mode: C; c-file-style: "eay" -*- */ +/* + * 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/deps/win32/include/openssl/lhash.h b/deps/win32/include/openssl/lhash.h new file mode 100644 index 0000000..b6c328b --- /dev/null +++ b/deps/win32/include/openssl/lhash.h @@ -0,0 +1,240 @@ +/* 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/deps/win32/include/openssl/md4.h b/deps/win32/include/openssl/md4.h new file mode 100644 index 0000000..11fd712 --- /dev/null +++ b/deps/win32/include/openssl/md4.h @@ -0,0 +1,119 @@ +/* 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/deps/win32/include/openssl/md5.h b/deps/win32/include/openssl/md5.h new file mode 100644 index 0000000..2659038 --- /dev/null +++ b/deps/win32/include/openssl/md5.h @@ -0,0 +1,119 @@ +/* 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/deps/win32/include/openssl/mdc2.h b/deps/win32/include/openssl/mdc2.h new file mode 100644 index 0000000..7efe53b --- /dev/null +++ b/deps/win32/include/openssl/mdc2.h @@ -0,0 +1,94 @@ +/* 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/deps/win32/include/openssl/modes.h b/deps/win32/include/openssl/modes.h new file mode 100644 index 0000000..880f020 --- /dev/null +++ b/deps/win32/include/openssl/modes.h @@ -0,0 +1,153 @@ +/* ==================================================================== + * 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); + +#ifdef __cplusplus +} +#endif diff --git a/deps/win32/include/openssl/obj_mac.h b/deps/win32/include/openssl/obj_mac.h new file mode 100644 index 0000000..f752aef --- /dev/null +++ b/deps/win32/include/openssl/obj_mac.h @@ -0,0 +1,4031 @@ +/* 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_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 diff --git a/deps/win32/include/openssl/objects.h b/deps/win32/include/openssl/objects.h new file mode 100644 index 0000000..b8dafa8 --- /dev/null +++ b/deps/win32/include/openssl/objects.h @@ -0,0 +1,1143 @@ +/* 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/deps/win32/include/openssl/ocsp.h b/deps/win32/include/openssl/ocsp.h new file mode 100644 index 0000000..25ef019 --- /dev/null +++ b/deps/win32/include/openssl/ocsp.h @@ -0,0 +1,626 @@ +/* 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, char *path, OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, + int maxline); +int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, + const char *name, const char *value); + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, 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(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/deps/win32/include/openssl/opensslconf.h b/deps/win32/include/openssl/opensslconf.h new file mode 100644 index 0000000..a2cf41d --- /dev/null +++ b/deps/win32/include/openssl/opensslconf.h @@ -0,0 +1,247 @@ +/* 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_SYSNAME_WIN64A +# define OPENSSL_SYSNAME_WIN64A +#endif +#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_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_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#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_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_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# 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 "D:\\dist\\openssl-dist-1.0.1m-vs2013\\openssl-x64-shared-release-vs2013/lib/engines" +#define OPENSSLDIR "D:\\dist\\openssl-dist-1.0.1m-vs2013\\openssl-x64-shared-release-vs2013/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION +#define 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 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 */ +#undef SIXTY_FOUR_BIT_LONG +#define 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) +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 +#undef DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/deps/win32/include/openssl/opensslv.h b/deps/win32/include/openssl/opensslv.h new file mode 100644 index 0000000..daf3905 --- /dev/null +++ b/deps/win32/include/openssl/opensslv.h @@ -0,0 +1,97 @@ +#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 0x100010dfL +# ifdef OPENSSL_FIPS +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1m-fips 19 Mar 2015" +# else +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1m 19 Mar 2015" +# 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/deps/win32/include/openssl/ossl_typ.h b/deps/win32/include/openssl/ossl_typ.h new file mode 100644 index 0000000..0fcb0ce --- /dev/null +++ b/deps/win32/include/openssl/ossl_typ.h @@ -0,0 +1,209 @@ +/* ==================================================================== + * 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_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 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/deps/win32/include/openssl/pem.h b/deps/win32/include/openssl/pem.h new file mode 100644 index 0000000..2cdad8a --- /dev/null +++ b/deps/win32/include/openssl/pem.h @@ -0,0 +1,611 @@ +/* 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_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, char *hdr, 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, char *name, char *hdr, 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) +# 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_PARAMETERS 140 +# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +# define PEM_F_PEM_READ_PRIVATEKEY 124 +# define PEM_F_PEM_SEALFINAL 110 +# define PEM_F_PEM_SEALINIT 111 +# define PEM_F_PEM_SIGNFINAL 112 +# define PEM_F_PEM_WRITE 113 +# define PEM_F_PEM_WRITE_BIO 114 +# define PEM_F_PEM_WRITE_PRIVATEKEY 139 +# define PEM_F_PEM_X509_INFO_READ 115 +# define PEM_F_PEM_X509_INFO_READ_BIO 116 +# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 + +/* Reason codes. */ +# define PEM_R_BAD_BASE64_DECODE 100 +# define PEM_R_BAD_DECRYPT 101 +# define PEM_R_BAD_END_LINE 102 +# define PEM_R_BAD_IV_CHARS 103 +# define PEM_R_BAD_MAGIC_NUMBER 116 +# define PEM_R_BAD_PASSWORD_READ 104 +# define PEM_R_BAD_VERSION_NUMBER 117 +# define PEM_R_BIO_WRITE_FAILURE 118 +# define PEM_R_CIPHER_IS_NULL 127 +# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 +# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 +# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 +# define PEM_R_INCONSISTENT_HEADER 121 +# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 +# define PEM_R_KEYBLOB_TOO_SHORT 123 +# define PEM_R_NOT_DEK_INFO 105 +# define PEM_R_NOT_ENCRYPTED 106 +# define PEM_R_NOT_PROC_TYPE 107 +# define PEM_R_NO_START_LINE 108 +# define PEM_R_PROBLEMS_GETTING_PASSWORD 109 +# define PEM_R_PUBLIC_KEY_NO_RSA 110 +# define PEM_R_PVK_DATA_TOO_SHORT 124 +# define PEM_R_PVK_TOO_SHORT 125 +# define PEM_R_READ_KEY 111 +# define PEM_R_SHORT_HEADER 112 +# define PEM_R_UNSUPPORTED_CIPHER 113 +# define PEM_R_UNSUPPORTED_ENCRYPTION 114 +# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/include/openssl/pem2.h b/deps/win32/include/openssl/pem2.h new file mode 100644 index 0000000..84897d5 --- /dev/null +++ b/deps/win32/include/openssl/pem2.h @@ -0,0 +1,70 @@ +/* ==================================================================== + * 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/deps/win32/include/openssl/pkcs12.h b/deps/win32/include/openssl/pkcs12.h new file mode 100644 index 0000000..a39adf5 --- /dev/null +++ b/deps/win32/include/openssl/pkcs12.h @@ -0,0 +1,342 @@ +/* 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, char *oldpass, 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/deps/win32/include/openssl/pkcs7.h b/deps/win32/include/openssl/pkcs7.h new file mode 100644 index 0000000..b51b386 --- /dev/null +++ b/deps/win32/include/openssl/pkcs7.h @@ -0,0 +1,481 @@ +/* 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/deps/win32/include/openssl/pqueue.h b/deps/win32/include/openssl/pqueue.h new file mode 100644 index 0000000..d40d9c7 --- /dev/null +++ b/deps/win32/include/openssl/pqueue.h @@ -0,0 +1,99 @@ +/* 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/deps/win32/include/openssl/rand.h b/deps/win32/include/openssl/rand.h new file mode 100644 index 0000000..2553afd --- /dev/null +++ b/deps/win32/include/openssl/rand.h @@ -0,0 +1,150 @@ +/* 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/deps/win32/include/openssl/rc2.h b/deps/win32/include/openssl/rc2.h new file mode 100644 index 0000000..29d02d7 --- /dev/null +++ b/deps/win32/include/openssl/rc2.h @@ -0,0 +1,103 @@ +/* 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/deps/win32/include/openssl/rc4.h b/deps/win32/include/openssl/rc4.h new file mode 100644 index 0000000..39162b1 --- /dev/null +++ b/deps/win32/include/openssl/rc4.h @@ -0,0 +1,88 @@ +/* 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/deps/win32/include/openssl/ripemd.h b/deps/win32/include/openssl/ripemd.h new file mode 100644 index 0000000..b88ef25 --- /dev/null +++ b/deps/win32/include/openssl/ripemd.h @@ -0,0 +1,105 @@ +/* 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/deps/win32/include/openssl/rsa.h b/deps/win32/include/openssl/rsa.h new file mode 100644 index 0000000..a8b59a9 --- /dev/null +++ b/deps/win32/include/openssl/rsa.h @@ -0,0 +1,610 @@ +/* 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_CTRL_RSA_MGF1_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_CTRL_GET_RSA_MGF1_MD, 0, (void *)pmd) + +# 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 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) + +# 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_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_BUILTIN_KEYGEN 129 +# define RSA_F_RSA_CHECK_KEY 123 +# define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 +# define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102 +# define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103 +# define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 +# define RSA_F_RSA_GENERATE_KEY 105 +# define RSA_F_RSA_GENERATE_KEY_EX 155 +# define RSA_F_RSA_ITEM_VERIFY 156 +# define RSA_F_RSA_MEMORY_LOCK 130 +# define RSA_F_RSA_NEW_METHOD 106 +# define RSA_F_RSA_NULL 124 +# define RSA_F_RSA_NULL_MOD_EXP 131 +# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +# define RSA_F_RSA_PADDING_ADD_NONE 107 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +# define RSA_F_RSA_PADDING_ADD_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_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_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_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_LENGTH 143 +# define RSA_R_INVALID_HEADER 137 +# define RSA_R_INVALID_KEYBITS 145 +# define RSA_R_INVALID_MESSAGE_LENGTH 131 +# define RSA_R_INVALID_MGF1_MD 156 +# 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_MASK_DIGEST 151 +# define RSA_R_UNKNOWN_PADDING_TYPE 118 +# define RSA_R_UNKNOWN_PSS_DIGEST 152 +# 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/deps/win32/include/openssl/safestack.h b/deps/win32/include/openssl/safestack.h new file mode 100644 index 0000000..519649b --- /dev/null +++ b/deps/win32/include/openssl/safestack.h @@ -0,0 +1,2536 @@ +/* ==================================================================== + * 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_FREE_FUNC(type, p) \ + ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) + +# define CHECKED_SK_FREE_FUNC2(type, p) \ + ((void (*)(void *)) ((1 ? p : (void (*)(type))0))) + +# define CHECKED_SK_CMP_FUNC(type, p) \ + ((int (*)(const void *, const void *)) \ + ((1 ? p : (int (*)(const type * const *, const type * const *))0))) + +# define STACK_OF(type) struct stack_st_##type +# define PREDECLARE_STACK_OF(type) STACK_OF(type); + +# define DECLARE_STACK_OF(type) \ +STACK_OF(type) \ + { \ + _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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_shift(st) SKM_sk_shift(void, (st)) +# define sk_void_pop(st) SKM_sk_pop(void, (st)) +# define sk_void_sort(st) SKM_sk_sort(void, (st)) +# define sk_void_is_sorted(st) SKM_sk_is_sorted(void, (st)) +# define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)sk_new(CHECKED_SK_CMP_FUNC(char, cmp))) +# define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null()) +# define sk_OPENSSL_STRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_value(st, i) ((OPENSSL_STRING)sk_value(CHECKED_STACK_OF(OPENSSL_STRING, st), i)) +# define sk_OPENSSL_STRING_num(st) SKM_sk_num(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_FREE_FUNC2(OPENSSL_STRING, free_func)) +# define sk_OPENSSL_STRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val), i) +# define sk_OPENSSL_STRING_free(st) SKM_sk_free(OPENSSL_STRING, st) +# define sk_OPENSSL_STRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_STRING, st), i, CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_zero(st) SKM_sk_zero(OPENSSL_STRING, (st)) +# define sk_OPENSSL_STRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) +# define sk_OPENSSL_STRING_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_FUNC2(OPENSSL_BLOCK, 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_FUNC2(OPENSSL_PSTRING, free_func)) +# define sk_OPENSSL_PSTRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val), i) +# define sk_OPENSSL_PSTRING_free(st) SKM_sk_free(OPENSSL_PSTRING, st) +# define sk_OPENSSL_PSTRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i, CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_zero(st) SKM_sk_zero(OPENSSL_PSTRING, (st)) +# define sk_OPENSSL_PSTRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) +# define sk_OPENSSL_PSTRING_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/deps/win32/include/openssl/seed.h b/deps/win32/include/openssl/seed.h new file mode 100644 index 0000000..8cbf0d9 --- /dev/null +++ b/deps/win32/include/openssl/seed.h @@ -0,0 +1,149 @@ +/* + * 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/deps/win32/include/openssl/sha.h b/deps/win32/include/openssl/sha.h new file mode 100644 index 0000000..e5169e4 --- /dev/null +++ b/deps/win32/include/openssl/sha.h @@ -0,0 +1,214 @@ +/* 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/deps/win32/include/openssl/srp.h b/deps/win32/include/openssl/srp.h new file mode 100644 index 0000000..d072536 --- /dev/null +++ b/deps/win32/include/openssl/srp.h @@ -0,0 +1,169 @@ +/* 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 { + char *id; + BIGNUM *s; + BIGNUM *v; + const BIGNUM *g; + const BIGNUM *N; + char *info; +} SRP_user_pwd; + +DECLARE_STACK_OF(SRP_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); +SRP_user_pwd *SRP_VBASE_get_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/deps/win32/include/openssl/srtp.h b/deps/win32/include/openssl/srtp.h new file mode 100644 index 0000000..10082c9 --- /dev/null +++ b/deps/win32/include/openssl/srtp.h @@ -0,0 +1,148 @@ +/* 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); +SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); + +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/deps/win32/include/openssl/ssl.h b/deps/win32/include/openssl/ssl.h new file mode 100644 index 0000000..b93b67b --- /dev/null +++ b/deps/win32/include/openssl/ssl.h @@ -0,0 +1,2762 @@ +/* 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"/* no such ciphersuites supported! */ +# define SSL_TXT_kDHd "kDHd"/* no such ciphersuites supported! */ +# define SSL_TXT_kDH "kDH"/* no such ciphersuites supported! */ +# define SSL_TXT_kEDH "kEDH" +# define SSL_TXT_kKRB5 "kKRB5" +# define SSL_TXT_kECDHr "kECDHr" +# define SSL_TXT_kECDHe "kECDHe" +# define SSL_TXT_kECDH "kECDH" +# define SSL_TXT_kEECDH "kEECDH" +# define SSL_TXT_kPSK "kPSK" +# define SSL_TXT_kGOST "kGOST" +# define SSL_TXT_kSRP "kSRP" + +# define SSL_TXT_aRSA "aRSA" +# define SSL_TXT_aDSS "aDSS" +# define SSL_TXT_aDH "aDH"/* no such ciphersuites supported! */ +# define SSL_TXT_aECDH "aECDH" +# define SSL_TXT_aKRB5 "aKRB5" +# define SSL_TXT_aECDSA "aECDSA" +# define SSL_TXT_aPSK "aPSK" +# define SSL_TXT_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_ADH "ADH" +# define SSL_TXT_RSA "RSA" +# define SSL_TXT_ECDH "ECDH" +# define SSL_TXT_EECDH "EECDH"/* same as "kEECDH:-AECDH" */ +# 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:!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; + +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_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 +/* If set, always create a new key when using tmp_dh parameters */ +# 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 + +/* + * 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 + +/* + * 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 + +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; +# 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); + +int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, + unsigned int client_len); +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned *len); + +# define OPENSSL_NPN_UNSUPPORTED 0 +# define OPENSSL_NPN_NEGOTIATED 1 +# define OPENSSL_NPN_NO_OVERLAP 2 +# endif + +# 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 + +# 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 +}; + +# 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_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 +# 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_CHECK_PROTO_VERSION 119 +# define DTLS_CTRL_SET_LINK_MTU 120 +# define DTLS_CTRL_GET_LINK_MIN_MTU 121 +# 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_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) +# 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); +# 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_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); +# 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); + +# 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_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 +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 */ + +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_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(SSL *ssl); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); +int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl, int mode); +int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl, int mode); +int SSL_get_shutdown(const SSL *ssl); +int SSL_version(const SSL *ssl); +int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); +# 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 + +# ifndef OPENSSL_NO_COMP +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); +int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); +# else +const void *SSL_get_current_compression(SSL *s); +const void *SSL_get_current_expansion(SSL *s); +const char *SSL_COMP_get_name(const void *comp); +void *SSL_COMP_get_compression_methods(void); +int SSL_COMP_add_compression_method(int id, void *cm); +# endif + +/* 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); + +# 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_CLIENT_CERTIFICATE 100 +# define SSL_F_CLIENT_FINISHED 167 +# define SSL_F_CLIENT_HELLO 101 +# define SSL_F_CLIENT_MASTER_KEY 102 +# define SSL_F_D2I_SSL_SESSION 103 +# define SSL_F_DO_DTLS1_WRITE 245 +# define SSL_F_DO_SSL3_WRITE 104 +# define SSL_F_DTLS1_ACCEPT 246 +# define SSL_F_DTLS1_ADD_CERT_TO_BUF 295 +# define SSL_F_DTLS1_BUFFER_RECORD 247 +# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 316 +# define SSL_F_DTLS1_CLIENT_HELLO 248 +# define SSL_F_DTLS1_CONNECT 249 +# define SSL_F_DTLS1_ENC 250 +# define SSL_F_DTLS1_GET_HELLO_VERIFY 251 +# define SSL_F_DTLS1_GET_MESSAGE 252 +# define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253 +# define SSL_F_DTLS1_GET_RECORD 254 +# define SSL_F_DTLS1_HANDLE_TIMEOUT 297 +# define SSL_F_DTLS1_HEARTBEAT 305 +# define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255 +# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +# define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256 +# define SSL_F_DTLS1_PROCESS_RECORD 257 +# define SSL_F_DTLS1_READ_BYTES 258 +# define SSL_F_DTLS1_READ_FAILED 259 +# define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260 +# define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261 +# define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262 +# define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263 +# define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264 +# define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265 +# define SSL_F_DTLS1_SEND_SERVER_HELLO 266 +# define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267 +# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +# define SSL_F_GET_CLIENT_FINISHED 105 +# define SSL_F_GET_CLIENT_HELLO 106 +# define SSL_F_GET_CLIENT_MASTER_KEY 107 +# define SSL_F_GET_SERVER_FINISHED 108 +# define SSL_F_GET_SERVER_HELLO 109 +# define SSL_F_GET_SERVER_VERIFY 110 +# define SSL_F_I2D_SSL_SESSION 111 +# define SSL_F_READ_N 112 +# define SSL_F_REQUEST_CERTIFICATE 113 +# define SSL_F_SERVER_FINISH 239 +# define SSL_F_SERVER_HELLO 114 +# define SSL_F_SERVER_VERIFY 240 +# define SSL_F_SSL23_ACCEPT 115 +# define SSL_F_SSL23_CLIENT_HELLO 116 +# define SSL_F_SSL23_CONNECT 117 +# define SSL_F_SSL23_GET_CLIENT_HELLO 118 +# define SSL_F_SSL23_GET_SERVER_HELLO 119 +# define SSL_F_SSL23_PEEK 237 +# define SSL_F_SSL23_READ 120 +# define SSL_F_SSL23_WRITE 121 +# define SSL_F_SSL2_ACCEPT 122 +# define SSL_F_SSL2_CONNECT 123 +# define SSL_F_SSL2_ENC_INIT 124 +# define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241 +# define SSL_F_SSL2_PEEK 234 +# define SSL_F_SSL2_READ 125 +# define SSL_F_SSL2_READ_INTERNAL 236 +# define SSL_F_SSL2_SET_CERTIFICATE 126 +# define SSL_F_SSL2_WRITE 127 +# define SSL_F_SSL3_ACCEPT 128 +# define SSL_F_SSL3_ADD_CERT_TO_BUF 296 +# define SSL_F_SSL3_CALLBACK_CTRL 233 +# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +# define SSL_F_SSL3_CHECK_CLIENT_HELLO 304 +# define SSL_F_SSL3_CLIENT_HELLO 131 +# define SSL_F_SSL3_CONNECT 132 +# define SSL_F_SSL3_CTRL 213 +# define SSL_F_SSL3_CTX_CTRL 133 +# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +# define SSL_F_SSL3_ENC 134 +# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +# define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135 +# define SSL_F_SSL3_GET_CERT_STATUS 289 +# define SSL_F_SSL3_GET_CERT_VERIFY 136 +# define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137 +# define SSL_F_SSL3_GET_CLIENT_HELLO 138 +# define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139 +# define SSL_F_SSL3_GET_FINISHED 140 +# define SSL_F_SSL3_GET_KEY_EXCHANGE 141 +# define SSL_F_SSL3_GET_MESSAGE 142 +# define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283 +# define SSL_F_SSL3_GET_NEXT_PROTO 306 +# define SSL_F_SSL3_GET_RECORD 143 +# define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144 +# define SSL_F_SSL3_GET_SERVER_DONE 145 +# define SSL_F_SSL3_GET_SERVER_HELLO 146 +# define SSL_F_SSL3_HANDSHAKE_MAC 285 +# define SSL_F_SSL3_NEW_SESSION_TICKET 287 +# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +# define SSL_F_SSL3_PEEK 235 +# define SSL_F_SSL3_READ_BYTES 148 +# define SSL_F_SSL3_READ_N 149 +# define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150 +# define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151 +# define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152 +# define SSL_F_SSL3_SEND_CLIENT_VERIFY 153 +# define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154 +# define SSL_F_SSL3_SEND_SERVER_HELLO 242 +# define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155 +# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +# define SSL_F_SSL3_SETUP_READ_BUFFER 156 +# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +# define SSL_F_SSL3_WRITE_BYTES 158 +# define SSL_F_SSL3_WRITE_PENDING 159 +# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +# define SSL_F_SSL_BAD_METHOD 160 +# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +# define SSL_F_SSL_CERT_DUP 221 +# define SSL_F_SSL_CERT_INST 222 +# define SSL_F_SSL_CERT_INSTANTIATE 214 +# define SSL_F_SSL_CERT_NEW 162 +# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +# define SSL_F_SSL_CLEAR 164 +# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +# define SSL_F_SSL_CREATE_CIPHER_LIST 166 +# define SSL_F_SSL_CTRL 232 +# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +# define SSL_F_SSL_CTX_MAKE_PROFILES 309 +# define SSL_F_SSL_CTX_NEW 169 +# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +# define SSL_F_SSL_CTX_SET_PURPOSE 226 +# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +# define SSL_F_SSL_CTX_SET_TRUST 229 +# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +# define SSL_F_SSL_DO_HANDSHAKE 180 +# define SSL_F_SSL_GET_NEW_SESSION 181 +# define SSL_F_SSL_GET_PREV_SESSION 217 +# define SSL_F_SSL_GET_SERVER_SEND_CERT 182 +# define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 +# define SSL_F_SSL_GET_SIGN_PKEY 183 +# define SSL_F_SSL_INIT_WBIO_BUFFER 184 +# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_NEW 186 +# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +# define SSL_F_SSL_PEEK 270 +# define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT 281 +# define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282 +# define SSL_F_SSL_READ 223 +# define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187 +# define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188 +# define SSL_F_SSL_SESSION_NEW 189 +# define SSL_F_SSL_SESSION_PRINT_FP 190 +# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +# define SSL_F_SSL_SESS_CERT_NEW 225 +# define SSL_F_SSL_SET_CERT 191 +# define SSL_F_SSL_SET_CIPHER_LIST 271 +# define SSL_F_SSL_SET_FD 192 +# define SSL_F_SSL_SET_PKEY 193 +# define SSL_F_SSL_SET_PURPOSE 227 +# define SSL_F_SSL_SET_RFD 194 +# define SSL_F_SSL_SET_SESSION 195 +# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +# define SSL_F_SSL_SET_TRUST 228 +# define SSL_F_SSL_SET_WFD 196 +# define SSL_F_SSL_SHUTDOWN 224 +# define SSL_F_SSL_SRP_CTX_INIT 313 +# define SSL_F_SSL_UNDEFINED_CONST_FUNCTION 243 +# define SSL_F_SSL_UNDEFINED_FUNCTION 197 +# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +# define SSL_F_SSL_USE_CERTIFICATE 198 +# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +# define SSL_F_SSL_USE_PRIVATEKEY 201 +# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +# define SSL_F_SSL_WRITE 208 +# define SSL_F_TLS1_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_HEARTBEAT 315 +# define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275 +# define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276 +# define SSL_F_TLS1_PRF 284 +# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +# define SSL_F_WRITE_PENDING 212 + +/* Reason codes. */ +# define SSL_R_APP_DATA_IN_HANDSHAKE 100 +# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 +# define SSL_R_BAD_ALERT_RECORD 101 +# define SSL_R_BAD_AUTHENTICATION_TYPE 102 +# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 +# define SSL_R_BAD_CHECKSUM 104 +# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 +# define SSL_R_BAD_DECOMPRESSION 107 +# define SSL_R_BAD_DH_G_LENGTH 108 +# define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 +# define SSL_R_BAD_DH_P_LENGTH 110 +# define SSL_R_BAD_DIGEST_LENGTH 111 +# define SSL_R_BAD_DSA_SIGNATURE 112 +# define SSL_R_BAD_ECC_CERT 304 +# define SSL_R_BAD_ECDSA_SIGNATURE 305 +# define SSL_R_BAD_ECPOINT 306 +# define SSL_R_BAD_HANDSHAKE_LENGTH 332 +# define SSL_R_BAD_HELLO_REQUEST 105 +# define SSL_R_BAD_LENGTH 271 +# define SSL_R_BAD_MAC_DECODE 113 +# define SSL_R_BAD_MAC_LENGTH 333 +# define SSL_R_BAD_MESSAGE_TYPE 114 +# define SSL_R_BAD_PACKET_LENGTH 115 +# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 +# define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316 +# define SSL_R_BAD_RESPONSE_ARGUMENT 117 +# define SSL_R_BAD_RSA_DECRYPT 118 +# define SSL_R_BAD_RSA_ENCRYPT 119 +# define SSL_R_BAD_RSA_E_LENGTH 120 +# define SSL_R_BAD_RSA_MODULUS_LENGTH 121 +# define SSL_R_BAD_RSA_SIGNATURE 122 +# define SSL_R_BAD_SIGNATURE 123 +# define SSL_R_BAD_SRP_A_LENGTH 347 +# define SSL_R_BAD_SRP_B_LENGTH 348 +# define SSL_R_BAD_SRP_G_LENGTH 349 +# define SSL_R_BAD_SRP_N_LENGTH 350 +# define SSL_R_BAD_SRP_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_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_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_PUBLIC_VALUE_LENGTH_IS_WRONG 148 +# define SSL_R_DIGEST_CHECK_FAILED 149 +# define SSL_R_DTLS_MESSAGE_TOO_BIG 334 +# define SSL_R_DUPLICATE_COMPRESSION_ID 309 +# define SSL_R_ECC_CERT_NOT_FOR_KEY_AGREEMENT 317 +# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 +# define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322 +# define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323 +# define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 +# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 +# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 +# define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282 +# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 +# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 +# define SSL_R_EXTRA_DATA_IN_MESSAGE 153 +# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 +# define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355 +# define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356 +# define SSL_R_HTTPS_PROXY_REQUEST 155 +# define SSL_R_HTTP_REQUEST 156 +# define SSL_R_ILLEGAL_PADDING 283 +# define SSL_R_INAPPROPRIATE_FALLBACK 373 +# define SSL_R_INCONSISTENT_COMPRESSION 340 +# define SSL_R_INVALID_CHALLENGE_LENGTH 158 +# define SSL_R_INVALID_COMMAND 280 +# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 +# define SSL_R_INVALID_PURPOSE 278 +# define SSL_R_INVALID_SRP_USERNAME 357 +# define SSL_R_INVALID_STATUS_RESPONSE 328 +# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 +# define SSL_R_INVALID_TRUST 279 +# define SSL_R_KEY_ARG_TOO_LONG 284 +# define SSL_R_KRB5 285 +# define SSL_R_KRB5_C_CC_PRINC 286 +# define SSL_R_KRB5_C_GET_CRED 287 +# define SSL_R_KRB5_C_INIT 288 +# define SSL_R_KRB5_C_MK_REQ 289 +# define SSL_R_KRB5_S_BAD_TICKET 290 +# define SSL_R_KRB5_S_INIT 291 +# define SSL_R_KRB5_S_RD_REQ 292 +# define SSL_R_KRB5_S_TKT_EXPIRED 293 +# define SSL_R_KRB5_S_TKT_NYV 294 +# define SSL_R_KRB5_S_TKT_SKEW 295 +# define SSL_R_LENGTH_MISMATCH 159 +# define SSL_R_LENGTH_TOO_SHORT 160 +# define SSL_R_LIBRARY_BUG 274 +# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 +# define SSL_R_MESSAGE_TOO_LONG 296 +# define SSL_R_MISSING_DH_DSA_CERT 162 +# define SSL_R_MISSING_DH_KEY 163 +# define SSL_R_MISSING_DH_RSA_CERT 164 +# define SSL_R_MISSING_DSA_SIGNING_CERT 165 +# define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166 +# define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167 +# define SSL_R_MISSING_RSA_CERTIFICATE 168 +# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 +# define SSL_R_MISSING_RSA_SIGNING_CERT 170 +# define SSL_R_MISSING_SRP_PARAM 358 +# define SSL_R_MISSING_TMP_DH_KEY 171 +# define SSL_R_MISSING_TMP_ECDH_KEY 311 +# define SSL_R_MISSING_TMP_RSA_KEY 172 +# define SSL_R_MISSING_TMP_RSA_PKEY 173 +# define SSL_R_MISSING_VERIFY_MESSAGE 174 +# define SSL_R_MULTIPLE_SGC_RESTARTS 346 +# define SSL_R_NON_SSLV2_INITIAL_PACKET 175 +# define SSL_R_NO_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_PRIVATEKEY 189 +# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 +# define SSL_R_NO_PROTOCOLS_AVAILABLE 191 +# define SSL_R_NO_PUBLICKEY 192 +# define SSL_R_NO_RENEGOTIATION 339 +# define SSL_R_NO_REQUIRED_DIGEST 324 +# define SSL_R_NO_SHARED_CIPHER 193 +# define SSL_R_NO_SRTP_PROFILES 359 +# define SSL_R_NO_VERIFY_CALLBACK 194 +# define SSL_R_NULL_SSL_CTX 195 +# define SSL_R_NULL_SSL_METHOD_PASSED 196 +# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 +# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 +# define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 +# define SSL_R_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_PRE_MAC_LENGTH_TOO_LONG 205 +# define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206 +# define SSL_R_PROTOCOL_IS_SHUTDOWN 207 +# define SSL_R_PSK_IDENTITY_NOT_FOUND 223 +# define SSL_R_PSK_NO_CLIENT_CB 224 +# define SSL_R_PSK_NO_SERVER_CB 225 +# define SSL_R_PUBLIC_KEY_ENCRYPT_ERROR 208 +# define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209 +# define SSL_R_PUBLIC_KEY_NOT_RSA 210 +# define SSL_R_READ_BIO_NOT_SET 211 +# define SSL_R_READ_TIMEOUT_EXPIRED 312 +# define SSL_R_READ_WRONG_PACKET_TYPE 212 +# define SSL_R_RECORD_LENGTH_MISMATCH 213 +# define SSL_R_RECORD_TOO_LARGE 214 +# define SSL_R_RECORD_TOO_SMALL 298 +# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 +# define SSL_R_RENEGOTIATION_ENCODING_ERR 336 +# define SSL_R_RENEGOTIATION_MISMATCH 337 +# define SSL_R_REQUIRED_CIPHER_MISSING 215 +# define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342 +# define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216 +# define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217 +# define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218 +# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 +# define SSL_R_SERVERHELLO_TLSEXT 275 +# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 +# define SSL_R_SHORT_READ 219 +# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 +# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 +# define SSL_R_SRP_A_CALC 361 +# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 +# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 +# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 +# define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 +# define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299 +# define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 +# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 +# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 +# define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 +# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 +# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 +# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 +# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 +# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 +# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 +# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 +# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 +# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 +# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 +# define SSL_R_SSL_HANDSHAKE_FAILURE 229 +# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 +# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 +# define SSL_R_SSL_SESSION_ID_CONFLICT 302 +# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 +# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 +# define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231 +# define SSL_R_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_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_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_CIPHER_RETURNED 261 +# 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/deps/win32/include/openssl/ssl2.h b/deps/win32/include/openssl/ssl2.h new file mode 100644 index 0000000..03c7dd8 --- /dev/null +++ b/deps/win32/include/openssl/ssl2.h @@ -0,0 +1,265 @@ +/* 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/deps/win32/include/openssl/ssl23.h b/deps/win32/include/openssl/ssl23.h new file mode 100644 index 0000000..9de4685 --- /dev/null +++ b/deps/win32/include/openssl/ssl23.h @@ -0,0 +1,84 @@ +/* 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/deps/win32/include/openssl/ssl3.h b/deps/win32/include/openssl/ssl3.h new file mode 100644 index 0000000..2dd5462 --- /dev/null +++ b/deps/win32/include/openssl/ssl3.h @@ -0,0 +1,730 @@ +/* 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_EDH_DSS_DES_64_CBC_SHA 0x03000012 +# define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 +# define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 +# define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 +# define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 + +# define SSL3_CK_ADH_RC4_40_MD5 0x03000017 +# define SSL3_CK_ADH_RC4_128_MD5 0x03000018 +# define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 +# define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A +# define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B + +# 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_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 + +# 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 + +# 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 set when we restart a handshake because of + * MS SGC and so prevents us from restarting the handshake in a loop. It's + * reset on a renegotiation, so effectively limits the client to one restart + * per negotiation. This limits the possibility of a DDoS attack where the + * client handshakes in a loop using SGC to restart. Servers which permit + * renegotiation can still be effected, but we can't prevent that. + */ +# 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 */ +# 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) +/* 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/deps/win32/include/openssl/stack.h b/deps/win32/include/openssl/stack.h new file mode 100644 index 0000000..8d6e939 --- /dev/null +++ b/deps/win32/include/openssl/stack.h @@ -0,0 +1,106 @@ +/* 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 *)); +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/deps/win32/include/openssl/symhacks.h b/deps/win32/include/openssl/symhacks.h new file mode 100644 index 0000000..2eadf7f --- /dev/null +++ b/deps/win32/include/openssl/symhacks.h @@ -0,0 +1,486 @@ +/* ==================================================================== + * 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 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_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 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 long ENGINE 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 + +/* 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/deps/win32/include/openssl/tls1.h b/deps/win32/include/openssl/tls1.h new file mode 100644 index 0000000..69d8186 --- /dev/null +++ b/deps/win32/include/openssl/tls1.h @@ -0,0 +1,788 @@ +/* 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 for TLS padding extension. + * http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml + * http://tools.ietf.org/html/draft-agl-tls-padding-03 + */ +# 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 RFC 3546 */ +# define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC 3546 */ +# define TLSEXT_STATUSTYPE_ocsp 1 + +/* ECPointFormat values from draft-ietf-tls-ecc-12 */ +# 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 RFC 5246 */ + +# define TLSEXT_signature_anonymous 0 +# define TLSEXT_signature_rsa 1 +# define TLSEXT_signature_dsa 2 +# define TLSEXT_signature_ecdsa 3 + +# 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 + +# 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); + +# 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 Inconsistency alert: The OpenSSL names of ciphers with ephemeral DH + * here include the string "DHE", while elsewhere it has always been "EDH". + * (The alias for the list of all such ciphers also is "EDH".) The + * specifications speak of "EDH"; maybe we should allow both forms for + * everything. + */ +# 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 draft-ietf-tls-ecc-01.txt (Mar 15, 2001) */ +# define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" +# define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" + +# define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" +# define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" + +# define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" +# define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" + +# define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" +# define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" +# define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" +# define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" + +/* PSK ciphersuites from RFC 4279 */ +# define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" +# define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" +# define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" + +/* SRP ciphersuite from RFC 5054 */ +# define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" +# define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" +# define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" + +/* Camellia ciphersuites from 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/deps/win32/include/openssl/ts.h b/deps/win32/include/openssl/ts.h new file mode 100644 index 0000000..16eccbb --- /dev/null +++ b/deps/win32/include/openssl/ts.h @@ -0,0 +1,862 @@ +/* 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 + +/* 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/deps/win32/include/openssl/txt_db.h b/deps/win32/include/openssl/txt_db.h new file mode 100644 index 0000000..98e23a2 --- /dev/null +++ b/deps/win32/include/openssl/txt_db.h @@ -0,0 +1,112 @@ +/* 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/deps/win32/include/openssl/ui.h b/deps/win32/include/openssl/ui.h new file mode 100644 index 0000000..b917eda --- /dev/null +++ b/deps/win32/include/openssl/ui.h @@ -0,0 +1,415 @@ +/* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */ +/* + * 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/deps/win32/include/openssl/ui_compat.h b/deps/win32/include/openssl/ui_compat.h new file mode 100644 index 0000000..42fb9ff --- /dev/null +++ b/deps/win32/include/openssl/ui_compat.h @@ -0,0 +1,88 @@ +/* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */ +/* + * 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/deps/win32/include/openssl/whrlpool.h b/deps/win32/include/openssl/whrlpool.h new file mode 100644 index 0000000..73c749d --- /dev/null +++ b/deps/win32/include/openssl/whrlpool.h @@ -0,0 +1,41 @@ +#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/deps/win32/include/openssl/x509.h b/deps/win32/include/openssl/x509.h new file mode 100644 index 0000000..a491174 --- /dev/null +++ b/deps/win32/include/openssl/x509.h @@ -0,0 +1,1301 @@ +/* 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) + +/* 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_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +# endif + +# 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_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 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); + +int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); + +int X509_check_private_key(X509 *x509, EVP_PKEY *pkey); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +# ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +# endif + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +unsigned long X509_NAME_hash(X509_NAME *x); +unsigned long X509_NAME_hash_old(X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +# 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_POLICY 145 +# define X509_F_DIR_CTRL 102 +# define X509_F_GET_CERT_BY_SUBJECT 103 +# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +# define X509_F_X509AT_ADD1_ATTR 135 +# define X509_F_X509V3_ADD_EXT 104 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +# define X509_F_X509_CHECK_PRIVATE_KEY 128 +# define X509_F_X509_CRL_PRINT_FP 147 +# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +# define X509_F_X509_LOAD_CERT_CRL_FILE 132 +# define X509_F_X509_LOAD_CERT_FILE 111 +# define X509_F_X509_LOAD_CRL_FILE 112 +# define X509_F_X509_NAME_ADD_ENTRY 113 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +# define X509_F_X509_NAME_ONELINE 116 +# define X509_F_X509_NAME_PRINT 117 +# define X509_F_X509_PRINT_EX_FP 118 +# define X509_F_X509_PUBKEY_GET 119 +# define X509_F_X509_PUBKEY_SET 120 +# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +# define X509_F_X509_REQ_PRINT_EX 121 +# define X509_F_X509_REQ_PRINT_FP 122 +# define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_STORE_ADD_CERT 124 +# define X509_F_X509_STORE_ADD_CRL 125 +# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +# define X509_F_X509_STORE_CTX_INIT 143 +# define X509_F_X509_STORE_CTX_NEW 142 +# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +# define X509_F_X509_TO_X509_REQ 126 +# define X509_F_X509_TRUST_ADD 133 +# define X509_F_X509_TRUST_SET 141 +# define X509_F_X509_VERIFY_CERT 127 + +/* Reason codes. */ +# define X509_R_BAD_X509_FILETYPE 100 +# define X509_R_BASE64_DECODE_ERROR 118 +# define X509_R_CANT_CHECK_DH_KEY 114 +# define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 +# define X509_R_ERR_ASN1_LIB 102 +# define X509_R_INVALID_DIRECTORY 113 +# define X509_R_INVALID_FIELD_NAME 119 +# define X509_R_INVALID_TRUST 123 +# define X509_R_KEY_TYPE_MISMATCH 115 +# define X509_R_KEY_VALUES_MISMATCH 116 +# define X509_R_LOADING_CERT_DIR 103 +# define X509_R_LOADING_DEFAULTS 104 +# define X509_R_METHOD_NOT_SUPPORTED 124 +# define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 +# define X509_R_PUBLIC_KEY_DECODE_ERROR 125 +# define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 +# define X509_R_SHOULD_RETRY 106 +# define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 +# define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 +# define X509_R_UNKNOWN_KEY_TYPE 117 +# define X509_R_UNKNOWN_NID 109 +# define X509_R_UNKNOWN_PURPOSE_ID 121 +# define X509_R_UNKNOWN_TRUST_ID 120 +# define X509_R_UNSUPPORTED_ALGORITHM 111 +# define X509_R_WRONG_LOOKUP_TYPE 112 +# define X509_R_WRONG_TYPE 122 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/include/openssl/x509_vfy.h b/deps/win32/include/openssl/x509_vfy.h new file mode 100644 index 0000000..1f8c0ec --- /dev/null +++ b/deps/win32/include/openssl/x509_vfy.h @@ -0,0 +1,589 @@ +/* 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; + +/* + * 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; + +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 +/* illegal error (for uninitialized values, to avoid X509_V_OK): 1 */ + +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +# define X509_V_ERR_UNABLE_TO_GET_CRL 3 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +# define X509_V_ERR_CERT_NOT_YET_VALID 9 +# define X509_V_ERR_CERT_HAS_EXPIRED 10 +# define X509_V_ERR_CRL_NOT_YET_VALID 11 +# define X509_V_ERR_CRL_HAS_EXPIRED 12 +# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +# define X509_V_ERR_OUT_OF_MEM 17 +# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +# define X509_V_ERR_CERT_REVOKED 23 +# define X509_V_ERR_INVALID_CA 24 +# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +# define X509_V_ERR_INVALID_PURPOSE 26 +# define X509_V_ERR_CERT_UNTRUSTED 27 +# define X509_V_ERR_CERT_REJECTED 28 +/* These are 'informational' when looking for issuer cert */ +# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +# define X509_V_ERR_AKID_SKID_MISMATCH 30 +# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 + +# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +# define X509_V_ERR_INVALID_NON_CA 37 +# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 + +# define X509_V_ERR_INVALID_EXTENSION 41 +# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +# define X509_V_ERR_NO_EXPLICIT_POLICY 43 +# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 + +# define X509_V_ERR_UNNESTED_RESOURCE 46 + +# define X509_V_ERR_PERMITTED_VIOLATION 47 +# define X509_V_ERR_EXCLUDED_VIOLATION 48 +# define X509_V_ERR_SUBTREE_MINMAX 49 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 + +/* The application is not happy */ +# define X509_V_ERR_APPLICATION_VERIFICATION 50 + +/* 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 + +# 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 *)); + +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_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_get_depth(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +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/deps/win32/include/openssl/x509v3.h b/deps/win32/include/openssl/x509v3.h new file mode 100644 index 0000000..db9c3e8 --- /dev/null +++ b/deps/win32/include/openssl/x509v3.h @@ -0,0 +1,1015 @@ +/* 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 + +/* 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_SS 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 + +# 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 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); + +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); + +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_I2D 136 +# define X509V3_F_X509V3_EXT_NCONF 152 +# define X509V3_F_X509V3_GET_SECTION 142 +# define X509V3_F_X509V3_GET_STRING 143 +# define X509V3_F_X509V3_GET_VALUE_BOOL 110 +# define X509V3_F_X509V3_PARSE_LIST 109 +# define X509V3_F_X509_PURPOSE_ADD 137 +# define X509V3_F_X509_PURPOSE_SET 141 + +/* Reason codes. */ +# define X509V3_R_BAD_IP_ADDRESS 118 +# define X509V3_R_BAD_OBJECT 119 +# define X509V3_R_BN_DEC2BN_ERROR 100 +# define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 +# define X509V3_R_DIRNAME_ERROR 149 +# define X509V3_R_DISTPOINT_ALREADY_SET 160 +# define X509V3_R_DUPLICATE_ZONE_ID 133 +# define X509V3_R_ERROR_CONVERTING_ZONE 131 +# define X509V3_R_ERROR_CREATING_EXTENSION 144 +# define X509V3_R_ERROR_IN_EXTENSION 128 +# define X509V3_R_EXPECTED_A_SECTION_NAME 137 +# define X509V3_R_EXTENSION_EXISTS 145 +# define X509V3_R_EXTENSION_NAME_ERROR 115 +# define X509V3_R_EXTENSION_NOT_FOUND 102 +# define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 +# define X509V3_R_EXTENSION_VALUE_ERROR 116 +# define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 +# define X509V3_R_ILLEGAL_HEX_DIGIT 113 +# define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 +# define X509V3_R_INVALID_MULTIPLE_RDNS 161 +# define X509V3_R_INVALID_ASNUMBER 162 +# define X509V3_R_INVALID_ASRANGE 163 +# define X509V3_R_INVALID_BOOLEAN_STRING 104 +# define X509V3_R_INVALID_EXTENSION_STRING 105 +# define X509V3_R_INVALID_INHERITANCE 165 +# define X509V3_R_INVALID_IPADDRESS 166 +# define X509V3_R_INVALID_NAME 106 +# define X509V3_R_INVALID_NULL_ARGUMENT 107 +# define X509V3_R_INVALID_NULL_NAME 108 +# define X509V3_R_INVALID_NULL_VALUE 109 +# define X509V3_R_INVALID_NUMBER 140 +# define X509V3_R_INVALID_NUMBERS 141 +# define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 +# define X509V3_R_INVALID_OPTION 138 +# define X509V3_R_INVALID_POLICY_IDENTIFIER 134 +# define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 +# define X509V3_R_INVALID_PURPOSE 146 +# define X509V3_R_INVALID_SAFI 164 +# define X509V3_R_INVALID_SECTION 135 +# define X509V3_R_INVALID_SYNTAX 143 +# define X509V3_R_ISSUER_DECODE_ERROR 126 +# define X509V3_R_MISSING_VALUE 124 +# define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 +# define X509V3_R_NO_CONFIG_DATABASE 136 +# define X509V3_R_NO_ISSUER_CERTIFICATE 121 +# define X509V3_R_NO_ISSUER_DETAILS 127 +# define X509V3_R_NO_POLICY_IDENTIFIER 139 +# define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 +# define X509V3_R_NO_PUBLIC_KEY 114 +# define X509V3_R_NO_SUBJECT_DETAILS 125 +# define X509V3_R_ODD_NUMBER_OF_DIGITS 112 +# define X509V3_R_OPERATION_NOT_DEFINED 148 +# define X509V3_R_OTHERNAME_ERROR 147 +# define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 +# define X509V3_R_POLICY_PATH_LENGTH 156 +# define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 +# define X509V3_R_POLICY_SYNTAX_NOT_CURRENTLY_SUPPORTED 158 +# define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 +# define X509V3_R_SECTION_NOT_FOUND 150 +# define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 +# define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 +# define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 +# define X509V3_R_UNKNOWN_EXTENSION 129 +# define X509V3_R_UNKNOWN_EXTENSION_NAME 130 +# define X509V3_R_UNKNOWN_OPTION 120 +# define X509V3_R_UNSUPPORTED_OPTION 117 +# define X509V3_R_UNSUPPORTED_TYPE 167 +# define X509V3_R_USER_TOO_LONG 132 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/win32/lib/libeay32MT.lib b/deps/win32/lib/libeay32MT.lib new file mode 100644 index 0000000000000000000000000000000000000000..b382664b912261d1a2b32af015c7430c60d1cf14 GIT binary patch literal 13630838 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 H-+$_5E(&_d7l7 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

}AD;gE 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�WzPwXQHSZQV-~pdO%;Q_Ld6mtG%my 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[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 z zp9G$x?jx5nn;Wd1vi;5kPle`dOWs%DYXHxz`zft$d86UC0X!dQKIS7>JEh*}`4{B# z0U&Tzego!zVelKRd4v%^!R94>K|iA%eCQrVVLSNP4yFX*!-FD4e2>eGYg9+h&6YMU zs4RE$*zh48on_qT^x&gKkEn%b;6_|((bVjWNwlb-Y;c_bU#3twA75DrRK~WB3&x}T z<=p&SMN+MV(mGT zOXoFJHn@^YOH;9t0bjGidE=f@%YrbvvAwYZwt)(Yu{#-OX?sRpV&^In`*wxON}I%a zo}H;seXi6e&SU(trEAwTTEJrT7K!%E7$L=Lr^mNJPiTXl_`mzWHrwp;yM!1OPpMvolsS>Kg5<*FTshqwiVlOga`W?G zv~tok%!IjRKAWeElCBRuLFEi)&%Ff%=Ga&AhxI%Cd+J8_IWb)uXxUkWxDuvuVl$!#2JCz-Ml zyRT>-hCWxzviC$Lc^Zl%4YqoUU?u=%b~H#as6U#hQSYF|<_*1=8-6woDv7s@k>*Xc zDW&vjVh&CU=3mHj3Eo*W)sT^A{->xyN0w7lM9>k6zzSfL7n*7GR|3*@RIZRlsRXLE z|NO~)wxeH=YR1y8Q~YeTRIy@JG&g-xR(_haE-G*q5DgNUg+{?p*JfF;Nm?zERY2X& zD$rsA4FvGsrk$W~v_AcC`F-@9W^uNr!0Mkol!7fQ{!Ncm; zKsm7Ung5`|G9)vSsCf@=0D%hRAr!i)cbxO40_ z2D*rt2`goyh5$x}*w59XHG*zGKf6Te_Vcq(3VrvrGhW%AzWRli2bI74Ue}@vvE(9j`?*@$ z%!fS$o4tz~q1)|RTp@J(dD}OIZnsDAv(WA5YKI@jcxFJVSNo{Y?dNKL7P|dh zZ5-AUB17!wXU`J4{rs%5UtvE#`?~Pk?OJrj!)auQ{akIP(Cz1HR|(yIuJ%=-+t0}! zf#>vK_Ab(dZnt-_Sm^e1vQG-#ejb+V(m4NXI}e*Ibo+VOr9!u#hka7$_VciR2;F`j zb{y8VB17!wVV4NqZvWvHq1(^NzAtq9IobZJW3^QF-3_G)@SX9crYlOyybo4uN=g}!L=1^WlT|KKlOW`JW3gTWng{&o1^@}YUd_CJ4j-GbPS7q;MQa6*qi z1?Id)ym#@ZH{ajq^;;*P&Rs&c+p)P#=nub<)hnm!hm+3wWY(SAKL65zSHeQK+e7Gq z_btKf-V_PlZujO&q1)})vxFK& zhx2!#+wI|W$9NwZVz-AgRp@qmIM)l^ZV%^0q1)|0d?R$bogCT*3T6){Pv~}gI2Q}u zZuh1|=ytm|e7_SJVz+OTEOfj5hZ3RN?b~b+y4^0scA?wt-W(9R-R?~yX0pNTMHC6$ zZZBe~(Cv01ZWX%Se$HN@+wJF^jC};Ke`T|uqwHhY?dLow{C4{}zYE=NKPT%b%D3Ck zxlHJG`#G-&-EKc8x*z4(?dKE--EKeUa-rMp=e#0xyZxL9u}5LIpL4pDX9! z$_5ss{%@EkYr7qo(^?$$R-1@Q4}M(7f6)4`r7}I{<7`)l4R&FlhdQm*{@UTkaXM}O zK-)Dts6Gj74icfX^|lk~-y{y+Z;{D)>y ztrL%Ocx?R-m`CeG#5OBuZ4|sVX3)_Xw4U>~X%;*RuQ`McC}7C%+>;dw95eNUDbHJTPXDK2JsLvazl=UQ43b4E<8tFk_Z#94CFsBRKt zPQ|U!5$2fK_yiG@7&AyhKN#A|+lcu8NNViztn7{$bx1Lch�M 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

I8Qycq@NbK%yj_ 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

?LoF?Kj+-w~& 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�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

3--F-1) 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

<48+|OQ53sGSqMjUbMRLoaMg-fpi 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%0De{ENrL+I7dZKfFyuq?i^z@MAP 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

5H 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

m5~st3c70gYXUZ|UqUUCe3f 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

(W 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 T^DUg*JIb`;^*+x0TwR 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

GWOvE8qmM+Q;|-dPPFHWO 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 z zwx(}sJPmnh#A!61jm!37jpvz&OI39)P%XQq*dYlnn9xOPgY9M?;6CW*WDcEOS63c($ZtHND_ z5Y|M34y$f8zb6pF+HP=u1J{6rKESn0LOVm*CT*-|ASe8R6@m;6WU7lpMt9&&TvVR;9{;FB#<6q@fiMM;=zb zyl0E!VHUwmgD?kYk~o#dw;!wvTz8XDA+DJcD#7(23C+h9Ynef}5ZB2PYQ`1oae<>w zDBOt%u{%jJ*wQG^B-v15tc0$@^-u}jjw{!lCdsA~3bz^e?0}MtmvEgZA?F}6*O@Tl|eO1?zKt}`IAKjI5-y_+9NA0$w6ze`Dr|y;V zHS!*66TW+qqNTu;Vp8DW;>^Zr9((A3SsDMp+FKsH{|YC?HZx)u3^NWz_ZsD*j);OP zm#90~nE-q9m^%~v2lb)$EczO}vNS^irgh(7r7)~!9xL#v)iA)dIF$!@hLi_*hSc6E z3dgEbxI}~^OV4IyJt9lbZf1H!>CHIEl<{)^rH4P&9hZGa`w~S;foVocVX>A1)lo@- zAteQdQj9;~N*zcQrDiB4sKBYBQ;JTsXB!>|cO_Dq!&Fu08%=ij*eC3Wl-)6SIwL}M zW}Myd?A88dx05YYpg8^Pu|WQjax%3AA695NF{I?gP>OLCt_pXJ4q*=gDwxQG<3D=u zEIpimS&Ok>_1nD*vk&Rnit#h;ti|ZSF#cvfg_FXn@_|YX%!*>&8c;0nTb@%3k}QN3 z^WJSeTZi@h(wDY&f8c6rB}H?z9L9mZXLaJ9Y3r8bXs$CtlX`t0QggR^mGo^S(2mAoa>xVD!CC{xFq1+nh@NI)sjlNH1+I zWsT&zn!upQw&drVKM2GBS-UTu+iv5w05~REO)y z5~689Yb{gmyCrl9t{oD(5m#ltypK??;C{tbJspV(Qz7m@py-Z7NYPOZ)YFp@QmI`M z#NC9Dig5=*Dp!vMpPFr$I&L0xILjkh0fTLrZHTm~IRA&(YzXG_x@>yY<5PvFqfP7c ztMPo0re+)eI^y|%@!TOXR61WqJg=2LAzk=$^r4k`ctjtBor!OWp~DBf~s*)wk)EQ8fBDAWc+7vrwA4)#cD#t*Q6=|5pvE8Y=Quk$q`|6sBM zWPaG^j6(Q78vj1}X6ErjKrk~t2Fz2>yUPGS$9)ap_khiS;Md&+_!A&C?0mEQLRIvJ%7TjlLJ7dc6K`+ zq3HYl?13jdl*Yl60QA$mr+&2HoE4!TW}FN>JAoFOI&Au}v)$b+<_Q(T+)~lDHxko} z9CJ{oBB#^wOpVP9sWFEkwU3#?-Hm&NV<}^`Py&b(Im#vh#{)`fydo`1Zfz3S6%&Q6 zAWPV)3)760LZg-fJ6RgN+H<7eS_}di= zWf5XW+O}-9JlK1^z603})I^Dt6ZuEV$<&s0c&6mUkdhNa%0f}NYjCe{_fcK8;glH) z82_W>24m<12#Mn*25G)(P7vwU%GI2u$b{`OD(^G%EnFro($HWx6%B&Xk-n)u8-Brr zpF|_~-Y+d2dXsv#j_jE}ByHWz$Uv_%Q9bLOpWK@x(O~uT{F>Y~E$v?S5Fai{ybR_g zk(UHs2Jzy+CBbK5-LrMV_PU;5v$~4&zDv6|l_Zb7pPc&ikzq8$HXS{v=hq=!Lj=1$ zrRUc)J+ojIF}bMc*Ypz~-oBS5-u5BB;A0CK#mm-H9}6kHVVwH-8CD1F1xUp>dV#!w zpMzi~eCn8k@WBY(gfmIrCvTO|G+bBV%ruH{?T`>n12r%+Q5A#tx8qC_6I;dLaK|aG zB;yiXSK`bxUcmK!!O=KVbX2N`1c!k@<1hpmj|wgmp~oe(4?>E|K?pq|xEzEOml+71 z3S6e)Lg+4eT8xm2L8C+E-t3mBdgeio>^w3Ruo(`V`CvTr`D0_l4Tqy6p7-Io)o@r4 z@w@^9z147-7xDZKF$B^jHyju!#UqR&jsd}gd1mu#0eo|O5M2)sxw##7f5m)zV-d_l zF_$}74jFp4-Klu<*PeuFFC^pnfv^|Ui#-hr4wuz?;G_C>B%Yc0fawO>JeY5G8SIi6l?Pg#7#Oz!vMc;E;O_vTQQgM^-T}A_@J_&!08zW$ zy?}QEP65Ar0P_JMr*0?UUjUZ@Lesh_p9cV$^D}X(fu12X&@+@`tOk|Bov1^h?MVwk zVIEE$FvZ6q91#qPmXNvTVLl(9%{x9-6A)Jb&Wxx@Cvc2A8|U9bHOXp>9OP^-;fgaN z!kt*uYUG?mGM>`koZ5792UV!vL)jjkIL*U}0Ba2Y#uSab5)x&euLh(Qa}D4Oz-s|n zj_UxK5Nmme%q}vNYS0{HC`F2_aEV}~aJA^}lY351Gy;1rH`IHRyl<`WYq=EGbI5TBHS0UB}&7FFj=5d1#umX5QY73+!hxt5pG;hgC zZ4`c*ghDSYUU{yl*)O!=JUBv|m?mrHdYtcsw5heuU*Bp|A2VUlLVei4nfRkH5L;WM zL6d;DG8ZW7LG4(L(>$0SwS%?YtdVsvteJ-fKtwi{0%ifW0-|d)&^Ehg0b-|#?gEW> z12*Bl6c8_l-IW?&1-JtDEDz%|osBq$$b=9>YC?#i6yr<%G}ZV)sP^B_OrnbijQ9PXOcqhn}_@gNtzzU@jmg0i+Kh-Avq{3dl0? zp0&OSr>b>^RIM|VB6Y2Bv>+4?zt|*Wva7c}nVm-Fa%XMtDe9GNxpQ9cn^Liylu2Lr zSy!@u(I(H-V~*ak?(MGp?%z%7szU5c=*`Gpqj%`6$DkmOCHyeY(j#>Z<|IsL24>5w ze+2gJeZF_g!7m>CND}aZg%mo=Iyyr{<}R?v?hSCzr!~K7N13Q+Gq~ z#UD#+1Y zS#`IerMVy7Wqz#$!t$jk04HQg#eODF&?}g`2KJDe^*vCNL87t#9{D+XgzLw;5Bh{Bif> zw%)!f6IsTdt~Y&FN>?7IKD)e}_QWhKW?aWs>M7S6Ot}gR8JN{<>tIfQp3*nXtsf-L zdh^7aFw@$#hksMiB(t4NM!H9D!4HCAvz|r0eVF%DGq1g&4D2r%cv>>>cx6o}#lR>g zhDp(|xz>l&q^PvV97%`O*MT$B$i|gI&XnDoX*Oo^Hy8c%ykO{BgcRLYgcRLd!KaA` zMK(F!^GH@ehIi8Og!IM33m=)!+2qXm#zDaUhYxX>&)MY6*MBA?#{fCQ3jt3D90Ryf-*bS-!~Io&XfV>WrUKrB`)PoW0pdsT?q>mK0lo-$ z1mJ6cjQ0Ux0U+y#{67ag9FQ{QJ)7tToT`a3q?#y0s);Hbo2bHJs7da1l=S>CcvV$j z_BzlR7=aS|j!W!o5B@5#C2rJxd0@C@lb3v>9&9aa2}$y^G3AsglK_-drtDhGP9;-z z>^@sUjksQjGf9lT3nav0>JJhM;CjAfMWCx%dlXuN3eODU0OaB8gIRy z5^WKea3Ceon7^aasI3E*(RIe;wYQGf>kmH|%J_k8)nY<2fs zeP0S#jr&FV-Vcar1{sbRpE}AuPR-CUq-N+CN-Wn4*s4P*vZ#P{pDLRXGL&KrgZ8U*({%`@I+VUjUh}yZ%^#>=} z@w4Pwww3PH4*as$Eule&bsb;3sXbx&Ol4Q~KFvYtnXc^RhlL}C_r9>{NC)(PgTu9U zbJvdt|8@JIgI@sUkVXDYuBk_F>7F&IE3J3Ptfx=T@*Vti!V6VLZXYrut!wy^Ri?#8 zD=u-7|L84?)SD%2zx$>l7e{Yl&9vgo#EZQdni~vJPV9$6uM2B&XC8O!fK}^h$|vF+ zjPtgL=aH`q*GD|RF^dSrEe|24%){jWLl*B?_o`L#dF1N^^Ta&dh4Y_bt*Wb|$<~+@ zFOb?yGE$q`AMJJGJ&B|)Oq1HbH{fd;e^I$d|{* z0gC~*09FG&0XQGN9Zct7qbJ3gm$*k2Bj^$856iqXkXijfJuSGbWnBrPDh z3e(xiwY@p>dRMDuapuIfOhO-?c5g8!p^G^QUCc@7VopLAa}v6klhDPSgdUy}sq--Tmt^rS)VP@2DG@^! z^TfDM<9sXBxZ1HHO~8+VtEnBI+3l#2!3Z;_Y4kj-`8zM$Sd;!$S7u!|BMtLlx@=%0 z0NL1hpnTngn*s5Na_&YE4ah~_&mm)JKraJw7^?*+SE(Jtcx=#f}8r_ut zUjf$xJ_~pb;B$Z+8lDII6CmT=2uQwn0Fv*WfG+`V)_BT?cuJGJR0Cp2H6Vsk3^p5u zgZU?+(5&q>pfHb4YAOy@H_Eu!9ruYiQ*qYgdAjBKf-xaOopFwhc>V`GHw|^x=Aww_ zpWwM^s56~~5zkA<0;%VSzd~p$&d6C|=9zKZ0N)5{%F5iP=(EDizj;`~uyE2tCJdZy z;0tPKP|&F1ZIs!68v4}hnG@lk5?j`=Bc~*s<1oZwUoAm=gXIL=MIk^0ZU3)9!NJ@- zSO#hx-dl`Bjc-S-vRr5#V$^g2QY(26UTn|Z2LrAFEC4(nko^XX`tId`=$hr-`DDNg zaeoTn#em)TzY1_2Ahqmtz#H`aE&854#~HxC1PHz9ejN~fP4_#1y?|c;ZUUrfat>ey zAm%l?M*yA%cmUvefc%9C8r|&$L>{{N`^`mw{2d6!Zg(@_C4j6u#;4@iqo@}GhSUoI zLn+3dp!&Vw_R*mfzUCO`3hodcN-@?Vq~e~bLn%gZ`DJj~r7>w?zg}#7=3-65qZesn zCFnt&<2z@j5Q4kcH`5qjKgs+*%nSfyjGu2D1~v8ivRrVa)zH~F^YA9>LR04^*EO{EDlV{$@x8oL4~pIpN;|;362C@!;eXpJ!l8vQG$cJrzeFG zX&R34NQX3~Vb6Ip$+Gt`TX}+my0|AodoL}`Qm^N@G5Cx}qLBq&)>u$m#B$0rEJe8@ z@IfdR%@7`gRV>SXxXfvS<276}a6WX-b8i9YBS%BhuxxM@kCO(x#4@b=?)NuK4%HBh5INYEVegU&Ut->H}>o3Lo~!364EFtV5*i`KD^OK^}sN%k1@%{L+afoUnn?zUKI!1ovH-#S*B#3F+qG{&AfYeC77 z`E2~^fzMRx*7ikNB{-hL)zmYL6u7g}uojd)Q`>mpg&0?BNr&S;!NKw}t(&)unQTuh zQ)o8hYNj>Z#)qRof`bdtNWJxn8DPu;TJyseoZ#S&@g|=UHa>d^4RhXq*+&Y^OSqbR z_ELN-{mOEU%ezx!#XX7(oXuidjeVk+6dFR{nbAZrr$9FS7 z<86En6q;^a*~>inx5UHkd?pADM`X5G9tYa^z;uF~@5Ys*%te9sVG2ab=OCf^#!{|{ zHa-Un%`><%KhvLj1Iio8=MbTJ)57Oq#mAx>hYAgMb!TtRBT;DRfU2&sL!k`zV?2f` zfDkdHX|2PeQ8`SS;Sn?|{Mcetkp%gS4x{1231Jw2=L&y&S7)P&W^$eyM#E>bZJ4<> z%uzN>lMS=RhB?!QxzdKY*M@n;hWXfr2^lzMx#;Mg$B3YO4%L|9K}>tkri#9deN0O0^caiKVQ)K;?#*~&%#$aMlIiyt@ zGAD~Wjyc32R%!VZ1Z25o5R*sD44gqsE-|H63>h2#AjWD(O#&7p5eaat>v*Zz&^gAB zI=ZB!3AaEF117;?wyn%lURfH7#a;Y(kS07<4loH0juAX|?<%&$%GI$*6CR7159P4t zxJ~0iX)V{WNE055LI~yXFTafYAQWqZjzyaASQKW01Jz_XOjW;8$0AL5ELKX$s`OOW zd=pA*vyMfY@K{qNmVRuc-J5+~DAp$$O`7mn`4Y>_(}rzd{1l2cRCn~G36C``EUlA2 z9{T4{tg$*4X~JVomsqqPcwBhYM;JZLl#kG{NE055x)^%jnOF4zRMCvJQO6=pc&wQc z%cN_WK5CCptQ&MJ(uBvF6&7pFKW-c!iuIU|MVjzf803({5xDYr@VvaSp;&*{u}Cw> zNJ~Pyi8>Dp*8JG|R<`P+2T1rT#8g+O;g9^jt`pl?1_H+H*?zavpEISP#Ow7H zdE8F^Xfiw7<#L*jrn%h}o|2NHLZ|*VG5l$n$LlHgmb#t#i$(oZb`bVA1)Q@d&z>Eb zHqg!)&KYJ31umz@UFIz+DfBoaNEJ8R42(ZK_XTcek;`2)r?jZR8GJ)GKadQ|Zb5;w zq_oIWHfOHK8TsL4w46r@mn90zdV#a7v~-TEsI1%>Nvrd2mPj6B(Y&oDh>MJibPTms zJ@&l!6l1?iB9!Y&SOpSlZK8p|@f?!^T@4b#!gAOI&CP}%yPaa3XU$896P`;Azo)X2 zSU)N_n zk=bBGKcmo#=xYCxHU4sMVdOK3W<|=zz!D8R3M>vuOcIf~+b9xKU+mbVD+M#_KyPfS zJ}$KjU1)7pp=7}ZXtGg-U2XXLTm9>gm|*6xu72+ihRk0}iBPL=vej&1_LMxcVazCT z%`K`Za+QU&I!v3Vm-yVCIUY|@P?y6V7nC}^g=Ow?FPio2DYJ9cJk{)6weidBT=o;} zBW6#j3yU|S(C7136qlDdgA-U`&!_v!%Zmz%D~g@wv{u;T9Cx{|yuek0M8o=#;tH>~ z#9dwpw7UrB+)f5MXXnk%4$sV*{SCMzF(-yIy)Lm9Gr`+lF zfvYv~0s zIv2<9COdnB0S>ZnYi_DrYK3SG(mU^#p?wD;! zMOg56+{!AKuwZgaT49~E)-AEJz;-~wwyj<=@gq_#@D`WXl;H=#}B7z)fk zn5`1Y0docR=DzXVB0fQ-(gIJze*7TFgiJPtB_<&^hyR7?l=}-xz2$}8@?yy%BLi1f zQC{t*6!r$)-3KB$Z&kJ5R{@h!**;)O7O$e##9D(L$%H6FmY9Ol>9RCS;Pbqzg_wOn zFbw>H8^?zj%QJ3W7m%-W!+z=m7Eb9;2!BmO#UxkV&vG?<}USE=OiLZ~jb zL4y^!w9Q|)M1=MtVqy~jh*a{#9n7PYQFdoP*DRo^l`eOQ2Q%x*8DvsWQv`vQNy_t( zJ5R08@0;scfS*y5GoA-Qcu~ao6AKmd=E)g%A!|W`m2FM+Qmp696y-$>#iE=GOr)=- zfc%F6M=gL}=z@2l?bNV(eASgw-wW~BRaHLOU+skjPQ?ge@+VhSSF*~f7{LUYJ;_3l zu%;SY-2=%i+=OZseia3CJnm{Z_^@!)=B@WAPoYF${oH^E+>g&sZ>-EFg;H#-d($Y^ zwsknmnsP5&xT{oWbtGcn4v8sK)Q?vJTKMEk9Svq#^R$$YdLo+S_Ldi6$hHuB(8fHK zu4+%ADBnb6&St|S0XFq(_SRgKKC%MFQsku-5aVdvEkS4JulD)fuF}#1mwT??Q(o(> zME_JfS@eTrJBcO2C`335sd=laP-(^fP%AL&lRYj;r9Q(-SnI9w7L-G!;+^c^OjWJD={)_5!mD4$$T9 zz+1oOXY7XuEN?%>r8qc0Ve(clbgpXXTtQ8>QbzYg#kV%k@0nkX?%Nw){XXbtwJTIk zYE-b2^_#7t5sveXB`OFuV?36&Rn%TW)byDt`hu<-hGcMN+NW}XtZi4k{?GIS#?^qv7n?v1t$~jC+ zwxcyLNrJV&3Xp8DmAfk!_^K*Agvi z%7cOuTDPaN+V85FFRVVq3xnCASCpd$T+pa0N{c-^%e$Hbi*EYMLN#j+i2)0$qMU<3 zbxB2`#2$m9tim=~9neQMPJXoIt179etd@K}F+NPj-rPcw%u*Ci@>$o>9BgLnWTnN%3DDT4Bqo%sThNal4pi}ykg-~Nv+wN*lP-!XQmmw{A0wbzI>M_>G5h3Mf*IbFNnPyuz z_?6X^R(stp*n(vhg&0N__&n01-Hc~cU)^&QReF@s5UdDY3lqWT0??NF=2f{WAkIcw*DP2xniisSk^$z~8J=fvZf&%pRG}!OrY$2a zL2cGc;Zr`hp$;Lij)tXbB9iSdixnsBj}$$~dsDl=r4!!GvB9j!#f3p7*dyYtrN|H4 zv&JJeLhVugD>a&JdF5h%a}&}t$L$hVd10w)9YGUgar3ga4rYqIFEvMcXvXNmO;v?^ zuBTd_W#P790U8%;@=vBvRPszPRYdI;%Yb@RhI{r8K6bSv;CLwc%by}`EPBT%ML7GuDJz3+gpqDtSMYaoPxaDzcX5ragj7U3G`z~QNSQqKZ(EfSM8XM=Y5ILL@GJ(5d|m9^NM z46tCFRST?+nSUZmb`g?^x*ITOQKpi(9@DG3u)fc=8Ynv`b4+1}0*#q8SZ~#VvO81Obnofdm z?5Su`gAh-F86<^ssN#G_2AVPF!Wet9JrQt@u!&_?T!{ZAlJIabk$ri7L0Tb3k2INJ zOt50|n@7vNMMH;_gr1((`*aw&Jenmw!k`>iJYK|lRMpj zw9H8pIt7_Dv5YPU?ALuEps^SG?cLRK54$aQ)WRpLr|&2-=Erx-8sG4WqMNYW4u10B z-Jd-&f90+DPoEs->i&x&C$QUgKk4}GnEJ#%lUMioNBDp%E>|DC+HH|#cfKB-cf(Wn zTvK?{`j67z#)4?1W4Fa`K5oj|!=pD=KY3(&{O3jg!kZZz@o}{mKlk3e-Ns|tZdf_bq8}3ch*NGa9owbvkSog0s2NvxE#9kLEqK49 z*UlTV_qd0i?eAEB*1vAO4X*|Tzh%*j(|VnK>s{ThzW0rNjf!bpI|^S19>n})KDuFA@Ar3i`)EMMo=19&sYf3m_(iiy?wL3JpJz>d=(X=o zyR&XPJ_isyYj;^?VP3(Ein%j}Px_$$xp*}x_|8*)IkD!sS=$=of15k#<%A2c@GOk+ z=N)oEj)UBNq>P{EEUk7xgX8 zjW-Pb(Qmi?u71NbidQb5j!z>5@3}5>)SBL7 zc2#c7m~u_-rZl|6L)qAEZ@iLm;-P2#>zO{cZ&@(5|EW)+(-HiNH!>TyUw_~2Dc>(0 zmAoVcde|WNxV1lzD|ssJwI}ut-gsS~$g{znEcnucKDqvUQl%SXYrP_?1^RAKd)lb;&>Pn)px0SMQ_WSt+#PdUYWD>vh#mK zeGvSlnHvW#nzsI5%eVgd+RdxJ#N)$ng1=r_8lEulg$4hZ@bg=l&8ze9mjK?m+HHf1 zXY8Kz&*7D$hF>`T!Z{axfe!%$pS{`Mbn5G?_AK4fzc6`R`54Y>=XN^4=WEE zesazIRa@hc&z*ut?_aQf=mP_K8#naX7&ra-I;1Q3HFw31{HpG>Pu?BfYxgBrB|m}o z-j(TgIc#$H?MK<3+xg;7F_M=!JBY2^LL);<|xv|9Im=XzwT+yY0npPY$@`oYg*lhlEWUFl)=WMH3HRfxmeKZ+Pdp{LhXl zUOV-t{`t4Qv?v|@rQqkE*Z6t&jI+|VepJ7^{JAs6p`LeVx^MsV?I-WQd|R)@Up=;R z;jno0G0lP(%)IgI!GkB+_a!de8a?JA)I;*6+HK$7nOr^Y-i1$B#daQA{O4Y`8O9HS z_y6elS<4%uD|o2XW!Ik!jI^O1;6IJw3RDoZhhnZUw3Xl zx%8>+pn67MW4C=%`{p@MtlWOy?y_g!YP5gyJ*G~AZ$0tI%{%_|&AzKs?ADXhKGyTaZx#&(VYJ{Yud6-p-BBmcUwv=V3stYIe-*P;!G9Q<^if20=fYp^ z3VV32@%6Qau}<)dzr3=zYuS$9qF=o5y@U7Upg-9u__V^gFNJTJlzf(B+h12)@h;jg zSBu+iIX4V@_ql&`*|Fx5+ougW{iJ6w9}@iB*wVv>CKq-eR)6RA^2l`;;3EvdZ(3AS z9u-m5^NkU2N7r7tZ5=*c68x)Or89nTKL7EZnFD)Ynegr|{H23wf!+4kv%_bF-+1k3 zQ&!)*^p1O9nhcs1!IRH;q<`WYb5DM9ThzwuDvPnYWrg60g*9tBUvQsmz#9wRJmiqR z=%3#deCPJb@BQk0YHr$3+1odsACGafFNSx!?Y77rS4`jVR_7@X4EpV`W4fdMmkT~? z*0|<#HV?abz%$=GxGJR9EY zzuw>b`@?svotc7qc!%K5nO%D?n~`<+vv(9fGk@12l==IDPyGCs`h};gscjlF>a-tL zm!f?g)SL0|zoqQWu)W3I_Fuj@?T%;9LOU8HcTPsapb*`>>;<38CN zyJn^9p|#Qd_hUT5f2(%e^e#`WnR8;7hR^OQOL%l->RpC0L-6%`_ic`Rt6#x2tN(Q0 z$5EY^fS5z@xR~?KUh)@b+BIutTsJ* z&u;r{#~G{k-}mgw8QUWEtUjvz5qu>n`0CwnKe%nd!jV5Oy>;C?@9)dP$3}uDEgSG& z!h=H&Ue|ldiJeb4BL$z}2|n&DaSzmMM) z7B;Z@qxBzGgQY<5?^9|jdvqHcHhkP~1*`wj zvj4hK!!kDgeY|1ZEcg=x`z>4d#Fx8OPM2)@I%SGaXs(HhkSys8(lH^vzP4S6JEUS zzO~PCN$=T$=RH|bap~2&XLs7*IQjA!cMgP}1%K=76(0|&+xFyN<&Bg=jc! zPJJjgm1%Jh)&`Yrybx1vsBfT^dRT00(XgC)!Kox#{>R(bOgZ29HYWrZhVPJq3&B)c z%Q@ef1Q#RzTxc`Gs=Aui4bk|jLcJAZ`L=4kMhk?6YC#$=#$OdkCD@99TBKgJHq_VG z)KttWDWi?%kZoY%-y<=DiFe{|qmAvYHTa`Dv>U*p%8Ew3SD0N<9(1A&v&)<#LQ58w zt@$P+=p>!M>z~yhgh-9Y;ftl%URx5nW;5ivVsD3YC|hA zHlhmG+&0GF^3dWpZwI!smF4UZOJ#0dojDK%wzph^sB=1NutIKTTS@p1!Ay#lY=hMr##5B46N6ERq1Ai~4JouS*eZ3XwV`TeNo`fl z{Lt>gIlm77yoc1Dl@7}5=N>?{aF)+5FQ46Pb@GAh9=;uEpylfzDg-Buj^>%6Dy5W`K-4x&ZmUD756Up0mD@j{`O=wv#Z(&wbRrvu$AoE69j1@{rn7QzZ1WOCB zZi}N!ur%Uj>?-I2Nn_gL}x>lyIX0Y zNx96b5X7KRQC1$}V-p_Z@#&?j9v@TG&kCW(YvklL*gB#H2WNAT?|5n|OPnFzW|OO` z#=AFb_hWO(%nDhOr3Qk)B_@l8TN7~3m2WX;4mMw(1&*e+qz12XLQ|*pleX-*MK8aU~2;k)lphabFds4-uY9MH3XtGT}E0Q#}nuG#|_-*6MoP^Un6 zbaj>Cd0thl_Ey;7pY+opUh|kgHJ0+zSGtyiV;{75oReakVT4#XJ@@787nI08UHZL>{Vs2O$N(Y2AtLsZ~ z$E}rX89S#C^Ho20_|OAUC|=Cf)T1~X+sNb0vN{)QUl4tRdV~!wj5SOL+ZRC3D5A!S z5Fg7h@_Jq!w^;4x%HMH8{(Hth1w*MhzP%g&R}5AszA^A!UTo2jn8A%Dg%u@@WtB0f z#>7@sHN+4+Q%;=fWN6HZI1NfTCN@4nA{rWVvP2ea=phn%2Z5+PT#n&?}oF#eq}ef(pzuh>OTYY8nv#$4dtcAKfn8y7P`8_y0$%k z|L{u0uFRVN=$F60xswNhjQ|+6>~rQ;td%pyVh_h+cr01M9xY76;{=O!V;<9@o=9N) zW_hPraQgSFZVxfRuZvC!(e)$x1sW$7vBttNs95D7NjCJ zGsudZPAgvhJd8#L4jz%EQ(WZ|q$BrQc@2HOw<{Nrp=k5|Ba}s*DO;--%BAXR?*RLo z6fyn&CRH%|n^erz;b!n5pWlroyFzXojT&QMojnVRH7Oo@v@rn3WWi3safo18zzKUb zygC_2;?YK_92s^!d{`C*-*o zHezm;M*JaL{qO?u>*xw<-7%Nt|%p(cSdB4;*w=)by z@I4HEWle=XWle=XWhF&n58zy3fi%Dt^E*gRLPQc3# zy8^vIn86QT)P~m&U|&EWk5SMV>l$39>#qs4+QnEPE%j7sf;CoYg1$(Sp-YSGW?-?H z_#&kSDY?giDLJV{dvJ=LxRX~6VydeD2&BIr4B)l->u(0GjrFTRRv5OUzqYDBl5w@J zK#KxD260&%B7DTRRHdfOCaecbp2u+So5~qt?0cj#)P;OP75p zH|x5$fzfY)Uxj_FpNR^_$*}B`U+`$8D!v(C`1zBlXc}S4<_6OP0W1sn8l>&zWmfRxLKN{rWph8cMNtLuG4Q_SEgE(HWGpV3%mFA3s}+3-aQGv zpZu=BDc4nO9M^vIyFQAYyg6F1ByYj)Uy{r-^GNr_W8hI+GnnIAC`pxHCFa#rh?%Tl zO-8Wnng2wrgB3zRr`eT=ags;O%+O)}ShCUZZ!+=OC^_aGz5ZgVq5&?){5fz(!d(HE zdUwJthU=DTqm7gJfBI+x?_FJ0^>w5FjYb(rwdP${+$8Nq zxLqM^YoAdDwrR$*;hQh7R=p0xTQRp}l!5i7H{{;ibSb)5oXFPCbXzjYfRYsA>+4QT z`NR~3!@iXpM;0~b;;fG~j0j9Zc#(YJV=z#pvY+8Lp;N{HD~$9sf>OqpSTzEOhgfyd zrXi@xDkWtjkHILTu&3agfn86%E6_08AvkjDdtc`cG0WCXd?o>3AtBcNFxy)=Qd8U_m5f)OIcBy+ zs^3#&w%}-`Wf~^%BB5gs7G@*OnTnX}n2TOTvd z-L}3146`1=K8RS%_u-CRF>(X zjBhBmau130ZG{eW(^jZ+O%G*!L$QU1*{t#`ye@OBC)AB*D9ZST;vI##>ATN3FYj|t zs4ZqF${b|u!Wp<|1I~wp7&*Y`N)qG%By|A>VvCo~WI|5PNX*O_pPV)!JuNZdqnZz= zXL5RCPF_y-_>83N#6XX5rm!`+7dB))w;HQ(YGO`KK6qQR#wY61D$YQ6f~N_`5~Q~ZacxPXO+%bNjMxNwD@!;27D&x|4t4uC7xT$93p48SsIf)&T41_sFp6ZfE& z{<9J@b5lSCotl+s4%y>|S!4FNVQSF!ErZO&%$y0Cc{ypRiRNJLmK$ac=e_~56Z0nI zr{-s;XSc+QD?`0MFYbus)GXvIH92wI5XrY6kL&RCyxi>U>|7Av4&l_m@AAm}6jYS) zs43=*!MaXHR}!_lH#ei}5H}qhHX#L{VWui6KI{f!IK2({U1|92 zIbF$dSPjJJ%E{{8kU1km$#HN?48Z8h?r^6mqa-00fYFs5;MeVtlff_3ib=VF;^P3= zE0CO@UZ~fjAvegBW#1o2FO-Xi%t(JZuR#|gV!|^SGKXgIObxAp7+pEIOoL3FDR&Ug zC0)PxUI2a`WOB#DgN;L3AV$~MfiH$k5$AB&x?m5KE+-gkAalDZ*HXHVL+)|N%*%!c zTTAIa4u#zTnVGq*%Vi^>Ya#PdzMq`eB$HQ;zOX1?Q0GQp~#46()7ndhWtQk zGY1P(rVxW47(87h;OZcT?I4CFu@X6rI*4KaFk;va64;~BGj))_`f+uU^R|Now#bnc z-$4S4PnUuvfhEn_yKx|^p+% ztg}B0uCvIVg4b|%o6b6Wy5Ksy?D>N0?6MCFuCvRA;gz-BrnAdt2(Gis&J$c`msKpX zI=k%GBCoT{o`RQjcAL&FTOqj4E_;>WI=k#kg6r(EUkI+V%MQYOQM*lNm#q?9XP3QI zaGhQDO~G|`+5UL%Y`5v`vU!5*?6Qjl*V$#C6kKPQ{Y7w{U3LuKn+9T+T`aiHF8j3L zI=gHb-qWI%Fc8=gWyX z>+G_MMOJ5*?Se%IU{TiCWzz)L*<~*fTxXYkQE;7Iwp%yGud~Z$3a+!ut`J;jm)#_| z&My0b;5xhPaow4&&MsRexXv!SQE;7I_H)5?cG=_c|B>CMv&+^CzUieCE}ByAxcS4s z|CCfdeEPJ>{7vX zcG-sn*V$!%6~_I*cG=EYJYu)$?6P@+>+G^u2(Gisz9zWNE*p(yCa4b@yKKJTI=k$} zg6r(ETLjnHWq%M{XO|s`r9gq$W$Ogj*=6q$TxXa4R&bqNwpU-qud~bM39hrtHVUq@ z%RVf)&Mx~m!F6`oLoxZb+jMr>M8S1-SuzycZ92Q`dck#eS(+EL+jMr>KKLKkZqwOi z3kBENWiJt2XP3QKaGhQDTfud9*#sUk#Fw@n8rk+T3j_e@7Z3nk7^yN$V3&4-E*P~La z+<^EK;C_px23SG~cAV^}XO9WYe)}g}$MP*K-G0#YMH+9whoum}-Zp(LGvdCAwaBgh z6(4{R*F#)ulFh!g?C(uSR-aXg)C>^TUPi}@uy*Q{t;H*9V*5;-RP0Mw3-U4p#I%zX zY3zz`z*)QGoCu@m(oMLqBE8eHEj^ds$jFTRJ#gUeZ;n`=8XF^LOSaiTbGtCsZn$cf zed(%_N;UXHb{F5mq#qG>?APqFet+!sO>&x-@@}9XHH+S71@)Z>SijhL_%`z ze<%Gc>RE5;RgnJN?u{&Uhp+S21adA?7H6yj(5hQ203JwzC1B*5a;Tt7b6OPH^TjKUz3m+CfA?!LF6R}4d58yafd{5#yQhYmb zOvN59wPuW9AL6LeWnEP1+E8PZ9C_-L+#znPuNxZ(p9&iXp9(t)z8py-3BG*sWx~fh z2sg-l%e#s;9=RRP9_+@AJS1#ezBG0NJS&#QGV6sa)`~l+5S5|3cbz)t^ogs=W8Eys z-+-pMa{ut^d{uv-djNy1Q}|EH$6;vxs->|PB3>m`m?0@I*){}KL`5 zn40i{TswE$?GWGUDJrbYHHxr@3q7S$XbR3%vGDfBVOO-l$~Pb9X@V`rQH59wU%FtQ zV+sH7y>;@65Snh0($`zgD~JK==KbF1mOla>R!cWEVTIF;$RWzp7*TR;I$yVrW zDy;_JpbzHv3779_p+*_}2;x^1!ZGlK3;o~s@G&3O#v0(g`BS?(adD&{wW}2dUlkZn zp<6dMzwD6WwiQ}eP+zvji~AiSjj>{e%QXGzUZ;YT1}na$>=fNAOHt9i(idq^*D->z zX40qV)|DLfqvTk2t&uAy;c|39{b6OWY*wA~*WYYh9p$G#D-3JP)|T|=Xp2}G3MAz# z6Mies2!>dBx~aER1XX&YPw9=mNFfVV*u6McSSR>`tv!thGs5rgy=%{w7Vp0G%JX}W zDo-@E5Q{u2Ezqa5KwqSB4UT;TyUz5f+N0!Hdz75io;^4XK&qSwG;qzqT7RF-zvi%K z@o#xn81_+5x2U_{k5JjFDI5uuj_6Z5qA${5yHePC)90c2T?)k7ZZkb>uiSXIgWz_; z9)q2u$?e#!>m*c;kgH0r!SDJ6T(@X`$HK><*gO37a$Uv7q5nDTqx=Y&nJ4C9CH8F| zZF&(9y15M4kuiE}v$BcvlqjfSbkr{xTzVU}wwaj^@uKeqGqXdenF($}3?l}DnHMW0 zF=>qhJ5IN#X}(~*;YH%id$u;-3;V||a8pgN6g8apR|z)}ZWY`txYckc!A0M+cqZH$ zxYR*CT;3RKR~H#g=<8-YZeo#clHG1bgUzDbWeKuh*nr*I$Op&GQWHy?GYrboJssES zx2|{MFer#3jy=xrda_)PppeW+2KZgST&}CwIN?0X@A_W3ZkO<^4VOtg=}`ih2j-c1 zn+A8gr#5(zI{VZHX5ZRW#BzpSIRH0z50oTxKl*sAy>`trdV1A?Ixq}+m+C$%R=CU) zOSK>TUzj*XRalu*s$`(g?)f zY%ZYqs!ryvD61 z_GWegU9mSWcmS;&QOMTUbX#I?W)ZWQ&$_4jSyL1aD-<{0jhe|P!#C1I09-(?TRT46ANo64k&if1g4OWpCnW0YD7 zH)0^;U8ZcTEipwmnxPaIv3Dpog_c4sGedP(X?c-4vLwT7uj9ypfLnJVSM-jVlZdt$ zr>V~{+Y30N_mQn77HIFZOjc?y5={26Z81*w5}C(ww9<-FdG@+5)~+xc=^!l`#U|~| zIL*3*_JsnnWE3lPV8-dyrVcs%P-S|vhTQ9eFrJ1cXC;!sW`%mfM}}8k(2!jk@~wuL zned9)uCnEY9BCp^hLw7piFnwp)3s2OeGr|?+M9{JH&XMkNxxlj#iNEhV@@+3%J{Zr z4nr-mN#ALPqKt2-!z7edPkq^>pEpBM#y1ov1q)j3aU8%_Hp| z(7j2gJ)nnK+D(FKkujS>7Vo7+X`GrkJ}WyfKNEbz`XjwBHE~*EdV1D`oV*F?i2)w< zP1!(n(pJ({uEfMqiK7fN?fk^tY_KDzAU@v*aTS$c#yw=5R@RdeQ#13EQ_|B@{K6Nu zofpQYGNV|j^ODD>r4;c6fM2o!Aci&Aw1j9`e0Y8VMSM+-oHW!os7GN(J6Nr&;$7Z3 zXp`m|8Fjekx#BV9*0L(R*uJVXGh%XGyIHM`LVKJVqEpF<#;UnWmh&Z{adkHu7 z$z#!YXpXrJjRB(JuUIUiT zRxJSaa!g8nZ38|RY?QR$K)DSB&2q{S2rgSvaZzSoK~~We$Aq*gS*g~T6gtatPp~L8 zA?o6++#*MQQ2}0HMMNEp@^BL^fg>^>Gs}pmqbZi1mzyC3qNS+Ij-q@=N&tdUM#@ew%E17_pyKTOiFsM6c=Hw!bvq)IF|eYlZe~4L^ctJWTzFhj2^VIak>)7E z!*oQ{(-5?n&cH7n5yh;ukQ0&)Ps3zU-A!&$T1Hxd(4nzd#mv0JCEQX2t(%kl@^%{} zdxcO5^T0$Mg+)mz6NJ?AR-87t)iZ86lamBm+9pTnH4WmeOyxwSyEiCM0#1dj-=Go0=yuIh?`NykmYYHFQgVihs1zjw~PKhOmtg69L z>%=$1F7yIcyHiz)HG$QnxkSB5WJO`tGm~;tv(u!;v64yk<25$y!n~9TX+?64NhMD~ zxkcgH&ArXioS2kdtctRm+)0YGNH(+_oU@YUTQ!)CL~=5GsN`%8&J~9sV`PCb=+rDRI)3Ncr$1n2dN4vZODR z)--^!sv1&}Ymj$`r$h`A*9NGX64dIda97kCV`71tEuTtsRxPkv;vrU^Al)0%W|@|t z&$fz{ozB_RT~@v$r!YM$y9k{QtI-rwp@mtj9`3FaFQy}+3e0OM*=b2`+B=A#O=o)~ z$@I91dMGYTD{v&G6lG21V31#sR+z@tPuA}VR!n|9v-Glg)z4!eYaa+`?8W|{=hM^qUQ#hP3dE<^EV#~_cbnikKi*EkbsoGZ z%th=rod+*jaGeM5V!?GDyw?QRdGHi(p3Z}(c=L1~yajkpw%c?byhjDsdGNjwT<5{# zgvoBxdGMwPe#1@Ael&kT?8w_o>hjWm{q$wLnG;;+GrUJ|oj31A!FAreu9&k0;>{Z` zxXzn*f#5oC9$&qK?`7@J<4T^2d+mw6gEwB+C-Q9kQ!Kd7n>Pe=GrLXa&6^>(&YQPh zaGf{rUBSoIUi{p9^L87LWxrAW@=aZU^~BuUZqxbnas{6}^NPzGKfWbq_`IyM*6;j2 z7q93A*ZCXo7hLDr`(ALJXKy&3nF8_bl?$%(J)SSP&cC-!aGihe6Tx-)^5}J z_sRv=`S;EjT<70=MsS^f?;F8&{=MVzqStQI`S+#?uJiA$5nSir+bOutzjriV3EOQt z|K1G2b^g6|g6sTyy9C$y_iT81Y`5wBdm{wb`S%tIuJiA07F_4w`%Q42e=iZQpY1lC zfA1W@b^g6=g4ZuUa>c_pA30+4GaFVNomIQqFn$(X=h+*MXUsr6dyRtYJbU*DuJi1D zE4a?HHw3S}?KYifuT1a@FDhPq$_In*KK;(edcOG0qQUqJOK_cM?pXij!fChZJbU8>*Ln6X5M1Zk+bFosv-fww zb)LPW@oZ$b={$Rdg6lkcmk6%&>^&{G&a-zA=GAta&a*d4aGhuG48e7ty~Tp-JbO0@ zuJi1DCb-VCcLLsp1mf9q2|m5cQ)}j&*rnmKyUG$C9hrI;{(=@<=h^#FaGhsw)M1QY z=he{VPONSKU)8BHU8QbT<6() zO>muOFS;+|*Ln7a39j?(DLy@&XYVSJ*Ln8d5nSil`$=$}XKxgqvIFt#l?kr%>@5>q z=h@pTxX!b85Z)yP;@KM`xX!cJEV$0Icc0)o&)yEfb)LQGeoR;A*_$Z%xFau!I_~0~ zdBft5e;}*hNC)1O2(I(&-6^=vv-h6hI?vwWSdL=1={$R(@ac)=_Ygn(=-|@>pI%vg z-As^IwYrAi_j~Bz>Ga&>cy?gko#6eHLc&_Qk22Jc_%)OK_EN^NjeT}?3U#*4W! zFo8*^RS^V+bv0}(A=HBM5?2LpM%B9zB0%Cz&Wgt1Ds2a0UK^AO4OI;xR#o#;&(acSh09sqR&`ZhtqD0)O;xFqZsms96NI34 zHrxu=+}W+g4^|_UgJ9z~Z+NaVzPy4Xe5m2;>dYZE@cq}|Z&DelLyW(wgQU-g)uMx> zuY;toEmq?H?@9X9dXBQ7`!q$2+CjS4LAuxC1jRYuIn6b{p(4cjH0L)9>gx_{l7e|b zXk#|&H=gI6_15Gu#4)+HsxIU#nA469(!CDSJ&Q*lQ&?4qAiEakL-+hmEnoMt%r5r*VFQj*;&(k0FS)R_^O7W zd#n!1y$;H~AX+2ez;{sYbx`iLNa6Y4K)Dy<^FxEPvZ17G_J4p+PrlK>ayEQnoE`PV zG3qN}EYreb>nr8RPuQ_+5j07?d!O?`<`)nP3Fm)UZ} z<-e^0fT$!L>l)>-JQSoFo{chCG9(+8aLR_IU2Yf4q;MaUz(NxEVsOL~AoyZ {*Y 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 z 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%0D2l;6Byk*Gw)WD?fe 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

;)$dPUb9wF~r+?FP2BseZU%j{P zu9H_qt-a)s;TwOr?1iEDlcd0}Jf`8yA$5P=^*o7UU-h$RKp%mBc>UN<#vK0lKY4PFICExdBV@w~m=Yy8?%sOa<-fo9Uk?ua=J3~U zobLv|EflzKe(!;+=j9y!%-!WrFWY%8+VB>ESM2_wX~jwF8(ODLIrZD?tI)r;3ViQv z)qjlox;%dGm2DY!KXVrP#V&z2?5!RC?9ie=y*POF@_!svo{dlD1DWsNel>Jh)(@*5 zTYkp*L;mDzxE@P>fnTxv=a27>-*owNi^~3VZ{y$+C>jy?+Frdrp8nz2DeKqzAHFeZ z=w7Hh6Zjdue!Kq66MHp(a$ohhM<=J>hfm{&GX0HT?|C9_$B>e1um9x(A0+l%iE&@x zW0TK6d*!pfjBD4=yCHYnK=98k0)K1jwli+p?yp@pV#2i_@44lEn1T@a>btj&Da-!y z=?jJ=tgqhq&KpP@|2#=>eDd1tOZGnS%-VU|V|QJDRLy4W(hA(Qde}STel@1=O#^40 z*z<(hZv00;;KyuuZ}&%!9(wuLS!+M`{4lH(kxcS%p zk62_p`S@v=Ob%xH8^%q!_uS`(_8Yg(Kk@LGdenD}zzdEazhUR8Z|9wn`(X6cU%ZKO zwhH_&k8OQ#@btrb?Y&{jgsgl2oQq>G0)PCNA**kC{L`IdoO|BvnSab$9Ip}hy?HOc zzoYM?; zf9~}YZ<+8A%pVAR)BMVh`aLDyZpmT2j%`X|F!Gy zfi3`nKibE6!}Evsdtupof( zy~#7`%6a!315+Ua-|_eM5609!@$>D6+<5s%84H%;zeH%W1jqCvFHAiC(zl8xq>gwf zXUJp^7R>_Bcs)9^;n8E~uDhUqLsrEr&Di-9c-n-b+s9mzcI^otpVGVJsO7t%(MaIU zzlu+qxb2Ah4=*`s`sRLn8=xUV;Gdr7NO^Sr?IDAtiU$Y%{*I&TmpQ+_ac=yI4TkX*SmLFlaI2m=r@5tRK}%&r zGBzZF=NNgSzH|~qZ~3+7){Oi6LwQ; zOSN~71by|R#*Q8{dTax+$EBLUIXsouy%^Zqj-VDGf!gD1ZfdHp_b#ZcUIudDv}0sx z;cG)}Wn)b}KBPxRRg|Z$5&KYB$S(5MM4X0inUCvW6@Q;*#zV>OTh>sE){Kyu>KYnU zn{~_wkv0&Rzp*~TBH>t{mwQ|hQxciC;%vdb>a~O!jIL{}kE8>lw`1$wr zpt_-{#v37>C~UgTE%@-S=+f0*%?~S!$3@n)=GRquk>P>Jszu(GMsK~Z*;`F2b)#Fb z+>w=<-}P&n>zX5EKrLjeDj|`4HTx^HIshae$m{E>_JiH-x>pCa_a8|Q&~#qnORe#8+=*})UeefDt%}^S1gys)D}Oh650%0nSeR^t zg{o`h2ea-`lAlucRS}VR`{_c88@(QxnslSHdG|@efUNCCih8Ee{W%2-pBe$>F^Z#G z_%Mb?7+Za$g|LfkCStNPn!dSieq}>l{j$hv;ak>-uh|jFTtx%US|i9>SHM@ZsHSGo z;(ZUl-lf&e5l+|e$Bb6!lUqjl8gVTt;^i;UDur(FC2AP~Z9rH(Y4A2Kjv&6KZL_bI z6ZgqTp&LcUk-P}9M3LqEZnr5^QyW=s!8tv$RDEclm9(iAQb%a3yDf7S*DH?guDn)p zA*CX#Gcs-QwH&}e0g)yDevB-8oUd$Z;o=F=LFx53Ihom6OLNkK)QqtbHSkHF5nwi*`i!8fVe_g#*qIES(U*&wS9EU=-ol15P zp^+PKog(;_G`C=DYrbrhbc&_^svlYX%&nA=c8rj119a+ce6o|CRaQ1PLs0rFIjlxj zBm7ssoJ~o;*Uf#Assk7#Re!2R?_`5_DvW%U^%1lSB!HUR?6=xYjaYuR;16QUR8E~1WO1dY zPj{ObWvSy=fXKEH5L>=xL^wSqA*z=u0(Z3^qT@%n@{A4n5m=d`{F4A8QlGS07V^pjt^A!gOGw|jBSnLq@rh$d?BM!5RJ;2!)& z(cQd5B^`G*4=e@l>ZO#8Ngmx&S?aB9sjf{vB{{`g*PKk?TzT-Rhw;fL;;~!E$tkJh zB%$%iqa?8di;d*QOLCJVOm2+C9-I2pL`QK_Re}@$T?qyVm^$V^mqmcgptf!{e9r#@ z7mg%Cmsx(|f)r(_8OK6!)E|c&a15UsUvZqsNE6uWIus}80nQTGcepbYXT;;&-3oz0 z>9>TGxs^;~;J|bKQoHK-uYZ<#*NVZL&i?x=A3X+)eaZo~IS z|H3F7T@))2Yob$N2;zu^{#pVSx)yq^M*CpnXj^Hy7&1v2_o=BKKYI0+ewRK6^l}Ah z-vK6(D6R9mXJnYQpSG*t+DXvS zj>0EE&A%x5UwBS9Da@n>(E_PLs>P8zZT_GsK(f8QSc$sVr%ZV49j8)?k?dfoz$t;1 z+s6kJ!Vy@ls2>LzwGBKROEWIP6(cs`aM%ieH6j0;C!sRj&zI2Oac4P_gmcu}5#S3I z7mC?M-)53A6`|FFcUs`>oWNTuTDTl+~kj?gNJyAmOlN(D^1#n&yCz{MbJFor4wgb$xE{@hU?t}Irdg~uNr1jiwIF=>0GLno@2(6JEa0@tO z7H~ZRA*FuEe8iFNfa@6uu_i&+D;R_pcxrv`*!?^5i?w8B&70*;!WAQugOrHD-zuQ4 zMnZgpLqve#=#h~uA>MHa3b5h0A19%axQ~#~c-;9E1LM|E*e@X`?x_+=$9;l?@^L3d zj8TmHGzrbb{Zt9f!QCYxKkhg(20R?FGO{JqhI^ib$PI-O!Z9?1N8MtCf663u9quzE zbR+JwCA10mGbD5;?(-ycKkn5MdITSUWmx1FQ^h!@E;6LTD>swcE6v^Mnl1s4{hizvA zA7On68s$6;Qe(7uB~Fb>*JWT4=XU7?k`apkuzS7^?;x%d% zg!w5zVN+u={+QWXQ&;J)Yicwan;NZ;dERBo8I9F-&9&Z^238AyYz=u%hl>AD3~IOv zL17xM1ub5$nLzNtjsFhU&4=v-zgG&$@CRIwj)CfueDTdxlZzVbmls$`a8x2-V;+UAhkR(f&Q?s+1kkxacz`o%wzTyRy7h`m5PH>CE?sQrJt$)m-8V zJWVmOSkQoDo=n?~t2!kBu1j64{^M@>CwaJydXhvtSUxfBFpq-V(Er<|Z4)BRPU3&Z z{XP&zSqyhV-n4lAPzqDT!r(}#NDZBss9D<#p-cH{(xeK1Utu|G;17WBg?}`B^zJrN zpK!{WTKKFB`g$Abz!p%}vlvp=vlxmqsO??BsE1y`qVa~UvI&>zs2q;Yq$*p5tx4QT zxMtx!YiYjs3f1{mNyHgp?>AXmWeRZ0!`^=*?^SA3@xCZ}T}8 zKI79s%q8%ThR<}5gMSYE$?(sG?}FckUzUEK2Ol$_wt4U`f`1PDHSlQz^kVp=Ez@C3 zu@1^W4MWO64MTB88L$+LTDujj17kGi7vqtla&f9LlIH@ZVsNRZ{GR%6G&nv({W%NGZqCX9dSZq zapD^lP~ctmkCComtQH-MIH9pPBn9)@@y?y624h{JV-Y7b7I{BN!$Wso47p^M@E1B3 zaYAEpC<`j^e&(?${$Q*ZbS&b8#!8Y{CJjABKYuwG>r)+zIH9oyN-UOvZrhw=o(;x| z*F_~xXskm43D#@Sw$?X-u_ozQ#8JUgc+GgS_qf9(9W(cnpLE_~#=&5%(;-f1?t>&2 zsZICu3x54oFxJ&N7I8vjQGP_x=9;)$Z>xe#(8$K)IzXJzSX?3n`FU{<+U7B1eW(M( z35~^JD@y6tL#W?n{ci}y>O=7fN1V`DLjVbu@Z`94e-6f)sACZ)G#2N3Q4W)aeWwih zCKzk3jzyf%Se#D;OE~iOM=uP*>ZFHs|JGtQ|U5GTwy78U{$Pgx|dM^x45!Kj>J*35|8M#8ML_7`J?5d|fcsaeCk( zPH3!SBo^f@-JGm>{|v^;(XogV8Y=~mpwxOf>Sd7G5P!?EN2V66LeEaHU5IzA+?bNpo%N%E?WMV!!B!$a~aUGY|SFt6`) zEaHU58X>XR&tq{-P2YJYJnfF)zz#oX}V& zNi4Ic%s#(pcQ97EjzydvMh%`k9W5?A9jzn7mmr=xDEjX}^`};+p6|>qEO6($-8oKd zyG);;c49)bnNLj5O3yD&a}_$({!GZrd}q2l$CZ_vm#^ZheVY)JiP^c?x$eB2BB$ET z34NKKnU$T9SD4`}oj#VEJRxrS(^Zh2Rgj%#t9y7#6LRx2a&ikZGFX2z7Z3J~?5bW(z5H%xI+SPT6r;uTZkQsi z?0$t7B+XfnnU|fDQ&iv#-zE!1bUD*=-B}=JjuYEw(0oms{1!s4Q=B4_Bf zS_oEJnlrD^<<3dVD0E`0Z2AOqn~U3Jp_ndbK~AANzbH4$iAr~l=XPcl7U#Hf^TAix zjoVj}Y0mt#yu7>|lrencE+p?FXGT$OQJOnDUllU2hZllX=*%iA%+4zUH=uwW9p=ShTs%AGxO41#qNwOr@0l` zVM_TqFvXDR2C*$$lqw}!p3wS;8AOd0SHsX*!0JpFjLC?0Go|s&YMn(xc)q}5!zH+9 zC-!Hsx1g=JSYFWlhP==krf6P7_8v?t7HRp;w1T{RSAK3WEK_X=jRu?@t&I;VXr3_yYq9ia$Wfl#j^KdzK89JiDQ$4E?|3NQV_;a z!1hGyr19hB6>U!(ZY+cCi7iFYsD%-Wt|QwMDSF1EFmUg{_QZ};@CR++?R62luzcpt3j-p57P3zy)9<;&Un377>>#zogz zzFY7vA2@w-h-Jw)EIqCmPX*3Qjn`Rve*<1U@p743=jm~+eKBx0YP`{<*AS6pAkmY6a`&8c_)N}vetmpoqGW)Sm zxOz~T{qY?cLiit6X5VrWPHWf)Xk|#?pr-r8VVJ@!`9H7eegYVJV1;aB3o&_t_7{hS9%8c|H>V8rPkD z)G@Drzy5r?p7#FO>ViH`o1XA=f!p=5FBZ66fA~6q+x4qIBXGN(@Q(#<*OxvNTWZiJ zY}0ejLo^-f`Clb)yPp471a8;!pM<^J1czOZeTKm8`u}+tB*9_V_x>A!+wB7IXhwp= zZWkaG8)?u}ZPTM(C2+gFfExsEw-@k;!0q+|z7e?HUcf}`aV9wI_5%1Zza#zRn*?sR z7qDC4c0J@nuveepuRZ?F&37aJ#*LSnOeTWG|pV;C8zJmkHc%7vL3v z+wB7UC~&*}|C6!Dn&7bO|DP*xyFUM$1#Z{p|CYe*`uu+sxLt4mso0B6aM<z4`OyG9C`s)R5*Q>Ae=iBw_4~%E}cD?#D1#Z`?zf9nE zJ?g&@xLx1A(w}eFw?7dwG{IrltFQFu+x6;i7JR$@{BH$r*OPxT&K`B7U%Fo4PaOKm z+}RZiUj4(2NuIXnj>F-|TLo^{pZ|`)?fUZ%$2XRa^ykkIxLtq#^#Zr+&)*?%yWa2k zeoWu4SAUei?Rxd=1a8->f0MxNdiCEDxLvP4PaHx|zD=)wn!xRP_0Jc$U4Q;of!p=x z_ry6!*lV!q&(9RNU4MSN!0r0;|0r;~{`|q%1@1_HevQEG`t$D+xLtq#mjbuz&p!z# zSv%67f11GUdcRi++^$#ud4b#Y>i<)vW7DfY3Ew~y9Cp3>N`Jmxum0VFZ`Z5;p1|#T z^?Tr3LW0AtSAV#`?Rxcd1#Z`?uk`2J_3Hm#@a=l_hu~Xag2S#?f1beYdi6I5+^$#u zJ%QWx>K}>oxE<-wKV9H<`$U%r+^$!jf5=R5*!Al7#L3+Rhh4A!G=bao>aP&EU9bKV z0=Mhce^=mkz4}9N_80RUn_m6t0=MhWUnOw6{`{W_+^#?WuL8I0&!?HM1czOJ{z(G2 z>(6fxxLtq#y#lxE&;LN+c0KvY_|}@>u&b#&x+pctEe~1&# zvjyL-SN}$VcdS?cKAv%oP~XFUonC$F{Syt``_v8)sw*(447jUWT$qc}D$=n!p{}S8 z4lRRHPu;14oQSjn%U^uEsdWhF8?`p(ZV>Q)r)h$2R6r?u?`|KW@}Y2B2HnWiQ~(}9 zwm*USgKiX56jn!2%Kv(E30)NzP|p*AN*=J6sqwECI_97-&eY-5)qItXxo)&{q`Iko zI_nG(u-Q*;I3a>E{Lh*}h@imKCe~%E2Hj0xtE2jlSsRG3d|fjf5UHAf>7>4ToQvzG zp`U|F`Tsvs%HIv)%1LA7DydDSt3RbG|L*pi;E427Y37fh1Qtd65ybAU;{4EAy6EKG zXOr6%?aR5_gNpXMXzvXy7N%&wtCJm5r7oJM<3-s)-TW52dZ6=9tD8T9zQ~?&P|Loa zEFILczc2fb|8Xt*`xNq_gF@sgeGls8*OTOqZDbzQ%ij${sSxPq6!D;5e(xNRBcPW* zf}trgCHvi9>uLT!sFuIeDcgTUEq`}8M331@>-j-7`}?usjK27jsM+ssDKcsKMF=-Zb6F%ZFJQBXQ8jgouN464%~692C#c{sB?YzkK+99 zKAF2CefUV#*oKIrX*NHrIWsW7c}obfoG$=AiDk4iw~bVR4dp|b4<;o!u+j0RzBTh z)s_&2`K^7Ri$0-T(%gOWW=6lbYpV8JCs2F)$}Q2wDmHS5y7w}aGdauDk{>;7PrtQu zEK2ofZCiMjs^P*w4fnQcRr#%ou6tXxHhrZlf93Wu5(DK-(p8UDI`e03!@*o53m3HB zY=tIJJ>j+u^kicSnEIx!SyY{Xr`HtCS238lJuY5F8s z=tKTI1y{%PF&h`>&BcY&XDy)N^fBY$ETu6sNS_+0Ft_!xebEO>%*_tgEFG+`)=KY1 zKdNgC=%i;2C|O9%a9Xk~ozc>TcZ!w_DOxfVXS|5Jg1w?cL0WQ@?4#+}$3jQ8+NroY zrX$Yjii_2LI33RhJe-bZoPl^ZD@ez>)S8Its05X%2Ywq)UBf_RXZ@A=cSgH3yi>Ge zNYRd=IAaU$3btK`)bxx!FCCZZ#_E8TvmAg$DnfIjG$ zCgYC5H76wirz*?+bDm0CB6X}jKS8q}iKz7Y^tV_=@GkY&*Wpi}CKoyb*&7DSMM_fQ zj@R%?NIsUe3O*@a4SzWN8u%=~7e4DwzUn3BOc;t615gab8GH2Gc;g2h3Q~F#Af}^U zF*=iytm(v%E+!`@#g?-eJL<7uGE8vl>-UZqBf)I03`l%oLD zlaMbEVp+pml4WKYsmlM16a3VA*-JSpMQ>A0e?LF^WkT}UkRVI zBOa?l3MexN3@I}Q48<9T0V`WzN9a(TLA|~TuU3cR47bbZ$ohf)jQ^jven4%0(I|J& zY2CwRghcV`!1@8-1!EAGO7 zk&FsQdk9e>d2wD61GCs8|*~ZM^`Ea-g-v?!dCaU;dnU%FWh3 zae7F&26u9s#0s&Zz}_3>AeHDgoU~-38AnWO2$VRXdWG?CJ;YKyA8X`WzeGV)PKGR) z7>zgz_A7+u;j-t>9um}se#N1A*P3ylPZ{s%h@;YpVPpJ1_O1l5s^V(jM?wgjykJmN z)S#hS6=VsU8+l1y7RY8cK!InL2MJ^|d0|o1r+^hAYPEH%3+__)rPf*(G`Ll*)~#6g zU#%!=wJO?H<^R4jbKf>EA@9Zd+x`sPd*+@wcV_OHnKN@I_nl8d8tW6{rH^Ysl@BHB zKfCW^rNdA!)a?BUj^}Wu^<@|=u}~SVvkwbsr1Ohhs0n@li-VP9vY;BEw$E`V=qx1x!<9 zeQ22y9B<)l*JrrOM?Mx(o*3Et5*+j;Xv>(Myhn%({RrCn!B0}ai|)yr7DWZN7sF_S zGv46vr`#&ocM(1(oKtIXY%B=NvhO-w%j_25T&y{R1DxA6#~I-82jC3D1DrQBCz$h> z2FJ!;2+ACw9vC^XKBgb>bWB0%851qqYFdD#uu;j@435gziyp*OU}rc@M^uZ4`Xk>{ z?%D@u2G`Yy_Z-^De3cmBvX>bocteiwUt5X~dp zANdpdE;S;y;!1fL&xNPqLbt0}e2g1&zHp%^V8aRa=ZPx7c$o4JC3vt4n(sGU?# z%*iX7>6)3JompEQ=2duVNnUnoL3VC#rryoasrH+1=8Oq5W*9}Iu9=zBGp7gq^JZt3 z&MM8$%g)I(WVP#I@ht=gVeUM4nLKLjE{7X@-lh=G!g48F8cMx#jaM?QZMnpog%w3P ze2tC5R+&YAtAqFWXfG)q?L>zzjAdcvscC6xv`jXBKN8>u{2PZ02iX+1TW)5d%avD{ z%d?L4K84_ewOm znszMNgMs>r41R0;rqGoG(?{WWm-+F92!Tc~nonfT`Kgr2#DTzBHkz;F@!(I)#M>hd zhVJq^3iHg;Ov}2{C1Ty?*NWtKAybj1@%*a(>qj_oX*;% z^5goGfA$Cs-97J~klTHplI$)&*3S)@5-rzV{l0+QT*ws7?>WB%kbD|suF`UexQddlw@Eu$p6&#xVFwbeV%@0VJp zr~KYR;vXRQ>zbbPYNpc<>pNRz! zo8~hdJ{(glh2NHQ#Jui*5260XuYP9K+Vs8ndY^}N$=>+mSJUBkTCGb8d zi)v4myR0C0uBX&h<|?xGgGh}NFIW|&o@`fPm}@#u)davWCZ}-XE-Wd|;~@<0Gw?!+ z914j9G(cf#RY^gPxU;(v8Or;Qx1o7q3kq)QsP$pfRn@J$;5fIZLNcOn9J_MjQ#Qf#)of}n!t;`6vzBMh)CdR(@upEWhr)Us~a zN=K#S9_6%hA6$3q(wFY{SOva@%AKQe(T(R@X7uO7@YgQ>lr2={^a5$uv{W4VQ8Cmp ze`SIPW0lTEO$&-WuAH1QtP_({s&HKzs+a;G1-Oc{-PVCfy%U>5061!_uJyKOx3uNg zwH0?XdD|LlbG!>1n!SW-PEJW;7TJ}vsT;e9hGq}mnYaP2ng%7Hs^tYG#W8w#V}+;1pFBRup8r$}2oYB{}E?b4%U8mP=0gCDIB@XP3K5P=2AS zwA7sgGz9q3byuJ=p0bk4ih^RdG~%zZ^TaRCJn+8&P#LOoIC8iZIzVx4-i5U-9eDd= zjnbghN>MQ-R-ufBR!>v=!iGj4K;9|AvC=DVrEGe(_Uw|f9O+sdcI746v)mQfJXA$x z&4trns&=qEO}2~&4xl1jv-L{te#3q%#ZJkPYMjWNrJ`&J_63iJy{I{OZ5gS=TcPB6I8xDqCM_WNp?}*!8X!kiwbCOILYp@yE8uyLr9N+ zv~G{;MsJ`=SPolHb}~w`X1cR0@Q0G*lvAjlf>KXWd2T^rg}Y38%UrFq@&fjPfNjFZ zC&?*gIxU-uekHZ>@QbO&svp@32CeFO~0L^vCeclOh1`r!Z-b7o*{hG z&*ui=n|?lD6Ta!^b6>2RqWSqePWYxj&#Q!Q`saLG_@;l({RS|9(?92Y;m=uk!TD|P zU6(dxdBMpWUi%WSuU8A-^w0UO@J;`mWANVWbeR4*%Y|?H=lr?wP5+#C3E%Y3`MK~- z|C|%>zUg$B{yEEqZ~CQND}2*$=aa%W{dRsXeA92|VR+ASI!wQv9^spQJ1-Z$>9_Mu z;hTOt$6(*i=`j6v)(YSB+qpsbrr*wYgm3!oOoR<}I!ynZ1;RJ|b9M^f^w0T}@J;`m zL-ChGr^EEmIZODaf6ku^-}HOAS@_>wa(~kAZ~W#b&tJQTZ{zVJE(bKS@J;`m8Tf0Y z(_#AOY!&{MlcwK%+LQYYn{=UX%HBzhFIm{^0azk99j4#TJmH&uJJ$){^xOHA@J+v+PR#jEhv~O-p72e-omU9|hCwe}F#p;u z{pa3&@OOKT8PbLAE#aGfJI7&}=5&~TJC_OH^xJv2@bk-BM;u=J?zFY%&HUZ*U-rj# z(#yg({d4Y{%KT0LoW;Vw&+yN=PWYyO&Ig2V`se&s_@;l(46GEL4%0tprSMJvoF@z4 z^v`*@@J;`m?+M@Z&p8HvO?5g<|C}wtpFiN?OHVv>K|D1mp zzUiMc1N&Z1hv}cQRrnviaNPPGcRqgh37eC*Ub27Py_R*W@J&CQ?+V}a!}*hu%-{6G zIZybeAI{5#Z~Ea>{x(fNoEG+BoDS0u=h4D9{cxTjeA5r-b;39OaBdd9>4!5Be+_mz zOh26Cgm3!cEET@#hw~ian|?T-5x(h%GYNl1cREZzoG#&;emIrCP16tO6(Vo?;e1p0 zrXNn_Z*#`JKTA32oYzVwPyFfK1*4{6TQF-B>tp)iTq=Ci59dbVn|?Uo6Taz(bIiWX z-}I}wNchqHYTlWKmxf;as4Ui>CF);@{YYGIcE6n%?&UzaNbFV}*bW0|xblhF+bp?L z8QUEJFPXh9!uGM)<8PzFA5`tY{19$4gMLS&|N2>+e%AN=yRPuMfB%j+V^Ey9iR`w6 z$ip-=H^%I#7Qf=f?x_5L7(Gn+K#XQo<3#MV`{FMv2|`olW+gf)uKH)X)P zXK%-1eBLO#?NEJi4A9)j;T=cQ0IA-~jvRL{#P88N+P!V@l^)F-XdDl*%ULHd-RoK# zTH|a+J%7^?pRc`cXI4S|QBFR?YHX;9ui^izoOQ-9qo_Y+E?g0Z)^sE7a`74N^Gz+& zl;4v0wTk|TEEZNbH8jT4Hkggu|ASn7#$jS@PfWXsR@3cmwS5}>$f70AMNEWu&**PH|G}<0yYFh@uWH(B zV7JR#yamkjt!VYexl-jS^`w^OzAbTJ=kd8u96bdVewTC4jymr=y$spq-1A4}+%pcV zxyx0j7`FDtU9LLqK^^xhn(JS0ZAV*!Z^bTGo&QI!I(2W}<#@B(1y~>U*ZA6lRYSLH zo7y%X))n!rZ1jAphTbm6o4XuuVo!7tJ~~gs=da%Ow4Li?Sobjmyc(?0V z_r67chi{d8+?R^tTNIi080vaVRX@+hC%qQ@Xzu7qlrp`M!z0K~BX^b`KARSoI-zp- zG!gDA4#pWD+aXqpGd?RrY&p*OAPTV!IO7u^#IUg8@1rdF^1y0u;$Pd^8x}QN?d^@8 z+QtSie#XHl{tAelIPLcHVE9@~wU4dH2i_r5#pfEnjYOvSn#?*AM|7WSY)A%tyD4EK zK5Aj0Vm`xhHjb$g9>nZ>@SToTl8%!K_yL2brd@24{vB7(juGimipAV^m}M>TuE6h~ z2B+ZDUhAH*_{la_f%xUf;1t%&hoiZp35{U-u47%c;zMdS5}%ae6o>NX#1HzF|24*x z|24*x?>fbM4%doD7q-c(PEEHub`veG%}rmksiWV5F8Z?Du{2$)Hu^ma?Sda4^{EFG~wBHP`~#5#AM6!nVR#W#MaZ4-07l1c_@e zYyo@?9(ZneGxM{4gFx}sF}m!{y*!on*23c1jW}%JttY<{GPvSM2dvsS7S}wU%_?@4^W$LQ$cKAkD?U)>pR%xLe z3?0dJ0d7rH$+%H9d59lF8p11aB%#xae=+m|e0?ZpG08dzvD0v*ieD-A&?NC5d6Mw5 zaXw38GjUd_C5W9Wyx9R>4Pt)bu~{N}RV#Q5b|Z$4+tJ`3DXGEq$X-SBlNHgc>^xhL zc5J%NAleW1q*tjQaYhbtyFSc5TBovm5X-j%%ViH@4`|fPGtna$T?>lu?yYs8v^Slg z`-8$?k)O|b4(NE$b3xg#=YhIFe-4@ldOqkpQ2fZo&*$QOEayTTs;4ogdKzPctSvfK z`F~Tq&cgIWxNlDW>bcRb)O#I}=;DL2QG$9>mL06XP!4Sr8q-c3kwclof&m{hTLr<) z%%NP{2-E6W*jT-&-5AP}gE~dky6u(m0LZ8u*bd@`cUs83tP2~0&vuyRWBB+P{Q#7+ z*@vL4>o!m-ay<@ZWEoRNmN8{y74JDMH%R=1C$HJ=b9d&ZKaSt0Sk~jYBNgFDz?D-G zvE`5Frg1WbpX?F!WCsT1NnXg2{%P;MQJmm(O70=qb)?^ zupWy*i$S41KkL*0%0@d2hwA-|sou}nAnQe)I#|Ym;-Tj!c4nqU?efWxXRzxY+2xlZ z%@tv1?0Yz46s7ZS38t3l0;$f6p9A)?!*k`J=B_~ZrfskT%cZ6gK<#3uz#cGtDk$qS z4U`)CB@WfC8B^VwG38fT@$T1hgDjkqN<)fA4Jlq{MSAj@=Q|SDXF0lPP0Krva}J*C+}`E%4S3uogMNEg zvTuMG*WDztH_KyD3SB&f!)R{GMt!w0( z9Ua3~oixhQ2`7$X!l<>bQAlvEIw@_3FBNwrty+<`gDGiiU1>;3+U`p2*Wv8UN?z+q z?#vppsyg-CwXPxCyAoL)F+QDHsRLc9klk(iN$I|QrPveGJ5qPFr60Q$6`~V%EItxF z3y$ydEYS6S7W`k}2rjl)Q&fldHMIvo=wQK*WvrJX(mOcQ>7m7re0xOtU6QVHn~Jm> zBhve&k-_e)mXfT?jEKQ#*XgfFo7t1eYG|&WXt_P)#ZUQ|D^kz^O=q;exptpj$L7`(mP3j$>H1T(Wo(*~rC>I02 z1-%mVUQpy|p^N*Gr}Y3RWUYrlk!C#%`UlWQKwk%CJ>CL+43xUIpJOfJ1H@T7V}qHW z#n>P#9o=5>4%RUYEk4>-95gwHtxZh7ig8SkW7ZEzKQ=HwuKIe1Z}-xWl`dDmn-A`) zr}W~37xxD;#}K)&Z%Jix5>hwdNR`zHwVGt5;e49#4#!#XG7wXX*-XUHGLS36nakoN zs~qPuaRkReIvn$uP|A#URQ#0{B8i< z8}usBgFvqaMV{6*pj?pO2s#7w22ef=uZMtMghQE9#*`^#Y>>5Crw$gUaf(;9c)o7O ztw^=_YBL1Z32&;yW^ej@*l9^sIORGQ4tqH_O(d{D>U?a0OimabXd#ZH({ZF)7?jqp zBu4#zi6aMx9j4h4O(T~`QzFtMmq;F@M>=e0p6Jek3^J{!wu}Z0z)I?Xh73$$b8IFk z^JhCHgBEK3@fdR~b3SM)DB4n9KWjnJ{j3u}M}t;_vTxUbP6cH;+vjIE)N+Y2wOnFM zIdWG#wv^&k&F)-@9RnZ=%l;#-o-01zZ4+i!aTxv_ zD69B9DBEWpjse!iIyTt4Ovf-bp)RHlw&+BUG5rqGnFOOb(6)Yw+~biJn)Kw_Bn1}q z%ZEE3Ryajx;I>rRqFW^~K3e2Z;Xq=r6%jd94pqs4^vI!d7Sbcv$;^|@4J}&v)Q<|$ zo5UlgEY{a?d(SOk3pu9#j&kzt(m+`cHVvELD9y)G#m~CE3`%qIXHX8UEub7yuYj`N zuYt0OI&r8W#F!dFj17|6Oz}R_a)T_6pkyq)5`kRQ)tQHlINxsdNDaOL65z?X=GBgY zYdz`fvmM8Ky0$WXEoD0ra9LSZK54t~q&ZK`s8T3Ps>zA|G-S=kzG;;^mIZe9P|E)0 zx%NFre!BAM(@RqQ$W<113+6LdI~7-~+X$qt#*rlGN2eeL#3GzmN~{3q6%w0`vzjsI zBeq6(Ejarn#`}~UZ87r;+J$RzWrvMAlB{WDC%YjcJ#{}a5{1k0!j8;f-(M!_>M95P z6PSo#r(Y%MY(53i1-mK1PVcurFENcG(5{?^!yPeqv(D@&H{vKv$4P~5IalN;mmnVS^ z#WkG%OXr4THva**24a=}P|*EBxyDQbodimG&L0PYa-d)Z=g-o7H|RmQt^mb)&W}0C z`YGr_&_h5MgB}LTUP8IEKqr8n3kr`iep)x?e+lSV(5pemfl{yJvz2~h{ls1@6IyF^gdg)N-`YInSE)sVBk17#g|fKu+~IMfP^F|`6?OzmPR z-g8`a;Q?E=`!WUmg{ z7*xv42h$F$OXM8zrdH-#TA6Qya-6;c$_38Oz6<4{UwOevW$rDVmUk`-?i zcAZ9kfJ>QoE(Hx5MY}nfib-BVcbZ*~)W}U&`ySFKcc$6aj<(ho{5dMpB&lNM9MvQd z_=c5YN44_^>8b~Z+|PPYyZt~%Y5wQX8lzum?a>e@?J=gb$Jii?I#awCbu8FLR~4l8 z;}!?r_prYawQI7e7=|b!t4&4|aeRhjHIB>(t8U-32hwKkOo9BKJZ9|?)r#8Vo^%i} zh^u=$untrj>v@=F_Jbv4Gy#-%W7Q|XLH$AbeCOj(N@PqakumkArFc(hxj`1Y;HW?s zq~(pT3r4e)pKsI}e#C%`v7l$Cw(t ziuW9@74Is zOdF6Gxel@K8I82EU}ombB!Ab!U)#Oa&3Y>#w5X7{{RXOxWoAeU%VN*u(`IP?P3VD) z-V8br^cGO|;9Egir`tf;LpjeYJu{~C%$WM_Lh)|bax#Y}%WPzI4(!AsV5EDke%?2H z-LZ}%N*x_TS3TTs)uw){pC^oI*FKx@G8)wgaM8-ZLBkNK(iZRzkN6J2zK4%k8dRzB zwYNCv*|gdtJ02W5ysYtv zp4ofTR2g!%d#?jmshV$psd724l^PjSYGh1pFe%<<0^3riqVL88K!8c9~3s-oQJvqtS z)?&1YT@r3W&o|!+)qKa6$k!Q@uuR&K(ESXg`&o|yP@3lo(CMI+pn0HGpseE@P$rxxQ&zl%@74IOlDW`Z?Hf0KJU?Ji zoKV;jRxt>EgbN))fwB65m*601Nr-yD(=vE6mP46BM#DlV1PSj>a6ExC=dlaVd|(rZ z4tCBW69&&j*&t-nRaf11m0H&FMy}-;C=(8T#HLW7a!fDszJuivpMzn7BGO#pcj46w zckw-r;q|%uoFBZaNHNh!k!5k52Jf1YpEojiSF^s0GT~*hQv~n2{{ni5vuk*szKb%r zD+K<8tGontOccnrQAlSA)2_S{HDt?&wlX_mIQ*H0Yzu)=Y0^LMx=iDf}h|R z8IsSwMn3zCOghfI`>Ay&OfvIH6Pe7AeD*i;87(qc*GPX(pL)V!W5yf+2m@NZ4FHVdyyh39b_y-{5Sw*BB$8 zgG7c}Vz}eC+ZkA#90LQC2dj&Xt&DlS|xma^X z2ROgcoPz?K=QSrK!1+vb_6%@#Q>p|Agk7Jpnlm=QnW;Hr0-Qyfb7+9GN^^z=I9F@V zfdNjJ=8On%-qM_50nT@tvrm9Cl9K_#;Q`Kc%?Y+wfx$UmbEe`h6>Zm?NdeBOnlm}T zxma@s2RJur&II9@;Gv-_ST5ib9Gq1dd<{R{V(FfW?|F1Sl<8-Ege&|#A{3rRqa{ww zDa_9<$jZsj)X8CxiId&#;*y-gtgKA=%|=*SVP;-lPF8+VNoMeu91#KqMLDIeyzHXP z;14_^B#LtKi;IhAm5PM=-G`FUuSM!BYz{2JinNESr@5mMn2}(&wzPT_3MDS;yp3L; z*YaeS%`L4c@ibL80%Rd@sl>7>a|uwxp`%bR6)=U)B=kof3Vkvh%SCW7%}q6xwaK?X zDl>t2@FN#|XV48_{jocGqW&H-N@D02)KQXy-%>_NL~T6wCVn@`YKyg-MD>@dZW3jK zJW5*VuQ#G3Q$y;<9sG-F6oKIPvr!U5KH`s(s=uU)k`lf@sst*^DuG~w`siAeR+g2P zl)DwDn|FEj8zB$(34_tdO&GD_;Xf+U9iR8rO1W6>XCmUj{UQ+1&@P)ufBq(79p1p{>zZrFPlFkLFR%y$xdF_6^>iAuUfI>%q8q81(3zTz=cRAaX=$*&BlQL zXDvfH2Ejdzcn)qFd;__DGeyL5fJDQOdk*{|kaC?TNIPwTuYj6b(<8didCoa~k-( z=myp&hTM2Vj@u`nMv;R_p_TXyM;nfe-sAMutnkz|wDlRKPnEq0_1nuDAka_=R%y#J zZ(Ai+8b#I18=CN|%Td&UP#1<>m#pxOllPaVJ zk_CXNtTLSit5VbKS>$c5tqIKn4vOt3Bs>|P5YMdZ-vQMH5DE80@)qb*7DJ^ag$3Dj zJr!kcw>;QCa9>tIUU6j+J}660nTJaO2dgYDAP$|Y5MW~k03Bq_`7~hJx+BI|f~s9p zOS8{Y>s!w9_X^Dh8g!QhG9j>5paeI{L|TPA2b+8f2Toxo_8kzBFlPj{Koe#a78K|3 z0m7L43K=lhU9~?3GkprB>u%)o85|y zG#t5jS{5$!`0z{ikcws%Q~+aA`YFYzL5(@dR&U2{S3!9>#zP+35zEHX5uvLSsyn0uv*BJs3rRu{;*jj?k@HUAD^nr%jD2^zucZyYsQ2OTHOVQLqcAqM zJl+fXf^Sh2kZuubRYD>9sE@Plu2fi3GOMywn)$WR8>An(=Tx|h1wE3FcQMk7T}9}4 zB><}|bK$Yer7CO=fzYJ7Xl-buPzyfe?a;D*U31UzP zjK`Af3U{ERQ@wwJ+N7Ugo+=S5$M)m|#Mwc&XW;e%*JM3NsPZIqWgCo?BlI!535bDc zw+lf~ZG=)bb0Dv*qEej~M;M=7^sD-&JwdRF0o7-h6?zJab4#Rs4?tsvAf2-FzlJ=* z`s1vIDC76are2gI{zotln?=v6Xi!mM9qMea16 zE6vPUJUkSs;CXMv*p?n5IIpb!`N&DyO0NX6UD^2xGnHjrecc~I1p5hZZ?RNrlBLF`VhYwXZ@#NMKd?xM4i?M4b{8yHAj_pK4Rz8N*v9#; z;+#S^HdvEWp0=N#KVM)!U|9k4Ra%*a2@Ri1B&S@9Z9Gv_b>pIzHcC>v>{-zeXgTo4 z1!^p!X%H1aS~lP{c0-_xRw{k}mtfRVBQUB2gl4xq5BhagVsTwYs8=Wxh}2vY1O`Aw zL6KT|?v5Kn;A(>cQzq!{%=-fE#qOa7w=C6qgM!Qc{x$x#6zCMvp0GsH6EXwMrI&WB z{xW;S(_ZN%P1vHSvH~!+s0qzs6og%xGWJ|O3-HCIzPi2M+irKYNcdge5O{RGTn0RM zjugU@IfP~Epo3-RLQ})KhZF%nJ#Df|;uCWMSDwN>-sK*kfXGz9E z?8_Z&Rk&M3tFpX*KNc|c$u*9cR{dyrSgI!uh+y^{&SD2FNK_KxpK8phiP!QzLdJ@g+Ff_hmnN#t@cgHXqYrn zY!EF4XVomymZ(>dI?{rRwi8cAQ@J&p~5e~|m7?j5f z-^7kwDtr@zl7HKBI!sK-?ZP)PC8uDoBpRmVQsJAJlD`wai7EL{;hUI}Gq4324O6mH z_$H?0Gr~79B}c-TIUOdZm1 zDtr@D@@?Up7?cWA*u<2qz#gj8VPa7JLii?j1{1J?6pk#+hF|y?pnicZS~c2(}=FZ(>c}E_@Sf@+0A!n34w! zWd0@wVqu>sd=n$`HsPBXk)H_P#K_)%2+K7w$7cxN#LjLJ zzKJz?qwq~^@jnRP#Gvdyl;xTjlrG_$7?d@_H!&!$5x$8vsW6C5Y|12jMi&i(@(AIZ z7?e%IH!&zT3g5(_{6P372IZl{Sgwgd*(CfmJC5Hn_O#1~{^rA>=N&s~z}@&0jqr=7 zuY73n{1+;$6%z*+%xrxQf2I(=iIL6MQm13+Lqp&H@ZJ??Utjvj*aY7Ye9V+B{P!R7 zd^e^gbL5;$M!uOe`hxSZ4KMsbwKu((T5{#Xw_Q|z^@ewIUxD`x;n(zkBmIm|6D}G* z`-a?a{(9*g%ld=xpV<4>H!k`0>A$}y`%d=qQ_ z0pXii^A4;4fKmR^FNdezH*Z+V7nO@I%-?Vmen}~O6MK50@J&ql%Y<)Y(7z`9Q3qVM zeEb&&-ShZ-rn;Z6#LOPRHpx9y`%m(tqH~4`-yLwOxi!5VC}yf8Vw9M!fz0 z;CDyoZM}E5BU`Y=BK#Rm=REnw^7pOZ7rs>Y?9~HcYc~qt#ISxv_$HS9aJ&OL9VRyY zc;TDa^o_zdvFUFS{!7p09lFQK|9WiXjhjw7YQLkg2>DR>CI+z+tL11|)mg$fvFz6h z-^8+iQurp8ebOGx-^8+a3*W@DUnhJML-{7*n;7>W3*W@JABVpsIUOdJeWUPA%=(*! zZ(`PeD0~xBcrgC<2<-A((x-jWe9T{8KVta%=l(M50epKad=pc+S@A^3`1{XRMxj^R}(<2!xjgjF*xBJU92=cb-_9Ke}+Y(q;SNg-ZAbSDx_x z?9ZpvPoHwu%(G5h_Yr<_Cj4iwJ-2JhZNp9<+49V39S7HR;WxR$-@f*fkIO&Y^Ny8I zeqJ^8onzm_A{n2`IvuGyPTG)h_vjJUl_NJ!nEzBWJZuR6@w;6!k2>LkXaDEalP)bj z>nr5%75*PKuHV-B>gtS{(;k_6^-Rad@OLBp*1sH7`r(+$%Z~rYex=v{@w8lg>ni*+ z&uH5=B=2N**Sjt6*FAaM4A_BDEccaveD>G3pS@wY|C8UJy>c>su^gb`3hhx@gpU`O6ol{ql;NK0oE^k+Z(S=LW*R=nVJSXD{q}>FsY{dvt8g!;f0l z=TOCSX*k8|j~jRt|52b&Jvt)}M_IxK-@H>h{)WgPLBLc|gy@qaUixc~1vi6A$t$i}_4b4;VC2>4PEgZ@vBaVkq z#z`Ya#o3vZnX%!ZV$B3KXliJNg$%-0^>!w}TPZD z1w&8WS9)(uL#i&$*{G>@`A#dsVHAgI(2ULTth~?(7Pr&{R2qGN*V1Ig*Wlr}Q{7I7 zHfmHHPi_KJ^|oKAzig@&>FqszSQwy*+PsV6QzPbYB7LcLid9MB#%e+wH3-jPqEcD( zzQT7y{^e2TgE(t?Vhb_yVwgT#L=5zbMXDA7;|hj#HV@W(a`Mkw&5eLCEhxf zM~odNwl3ByRQ2#pnD!M-_2?Gy;638;Fp&6dTFj4zFI{7MGWA_*j3W*=;U{=8zFG0x zli2DOFW7rSQ#XQSp5arE zl-=HlEVw`1ZC#fF&{gn=A<=zx!?R|!xdM!1l%fN*W4_kw$LChr50Qm z)bXuR><)`A(b}-Ex~ZX&i_2~miH;Y4O;8XKA#eDN4o zt%UZvC3SU6uo>Qy2E5B_TjN{|+M9wjPI2pj_OTtS@c47kQ<=B958&t;+jm-geO7)O z8n*_5>vLogU$0mFNwsu*;~N$S&mIfdZ%o1goLUz%J)^JC|QD~8f4;Onbf5od3VuSdMtX~JgdP*-|w0Pm-!TOd|0{D~yr6g6!1HEEF*Q8Ag zy71kMKrf|Q`y)05hXVB}lvoDNB@)ZSc@B;ws|;serCN13tJJFcix5}ECWltYmnv6l zftJ!S)GivR91FVW%k}YG>dso*I)u8i7IY23S(SqC6#)*wQt*We{I4^1FwR*Lvo+M2 zn`k=v*oTyPfJ#(Z)UDt<&~W`r_+PM z+Q#(ptG;z~j9kAu{buB__U`meAjpuHqo)wlhItvLiAnnU0`a3FAThyY5@0Ss3T zYas=6ZULSNe%Oh;>zTvi0Uvzb50%avQUw_W<<$AKMwuFdRI!RLPJsat**v>sBTBis?(A! z-@N)G0(BU?xIfCumqJk6{L&rER0mnLdE}Z+%Tq$GlRH}zx1n!L+FqX>a(@ykf3U8k zb6fJH?UOcvGm_xEhv68t`0yQ5<#~6sC+}!ij{}Xdy-MwCfRmxH45~Y2$FfAQapy?M zbXzJbzDER?=q{Ul3Ax)Yu3s5amx17AKQTT6Hxf~M_7ergy$8MRH{mW*~y zXRFl1)3k1%!HWmk&n0br1(SaklB|kDjt8&W?8FGFVdltg8Z~xeRg#OJVd*9!xK zkI~^foJQ_goXdsh$N6|1Nkj-F@)u%v;;c;4BZw)3^)h0`I8w#?+;oWzM49-Q4!oZr z=9XA4V(N}^#4?3<0%H8-PO8<4n7ZT4fE?RV$=!)qHRO`42N1*OfwL5*yynE^QygGKF_IVyd(}#8hcDh^bmFK}^Y=9^kDD@P3V$y7xZB)V)sy& zC1t#i7(P=({RYB-sho!+rgEN$n9@*TAhj}(N>6WDa&IGI$~LbL#4bZj<#z*OY9hKl zkor&{^$&s6cMwx;iA;MPI58^p0DQ`iSTfF>Ka%iFob?$Si8DT!My#-Cmr-t>%z}c@Kl`D(l4U z+Y)epRd7N`?sRrOvOb?Tj$D_Vx%x>=Y?xM#e7s}W?8-82mpKVIaZf0y*YA;AYA~O~ zBR?H>_PKbBRVOD}9SWvzZ8nxA!&YAkZv6*5;jk7ffH=KU8@Boe@L-S*mc+HW%Fxw+ z0`A(}TfEJRO{D))CU5w7Z5v2Qu)}*B>W9A zm+%1CB1SyP8j9GF!rK=yC3hfVF5$Tlnn_{V#+){ zf>5D_M?B37Wz%pxh`X6)r*9XF zz*Nf`gM%#^nm&0yrX=$uE9Sc+($AE1mD^az06-+{{tqObrcPO$pMg${@ValI&aC4% zxHl`Ek`l0U>k-#0wxzM_%v6=5$idPO)|bz4$l>^A+_zk=S!V(X@@@hP@^07{i(fvV zL=8AU2W18V>OsqNFc^iJ|2PZ?>-H2V-)a5?Ivy1LMZi;E0(If~&!DBCTR^Ko{{q?y z`YPy3(APn))BN9ozJ=?jLH`HzdC+%2agU%=fhPd>UxR)KzJcmvIj9@-3(!1J^b5ZS^q-(Dp#K704*Cr!*Ps}#{$GIND}4W@ntui8c3j_} z`L}5P9iX3r|B_DMqSN2d>Hh)2OK>OliewF(1q_?8hyqcHe9i@|O4`dXEK zRku6~d^@n7)bMVgD>ZY4*03LR7x2B$ym0(O+3C7^u5Tjr5hUl2u%#3V7uE7{=EwTmKcX&-Y z0SAMf9@&D`NQ-Pi=E-}f;BckmqyqbP)b|uSZ-}7IiKxvaPrA@{Z0HESMq2+?w zycQfg(AzBoWf`c=3{XB{8jej!=eog8Uw}o7f(=x1bYLEuegzjf+DNlMoF0+>nWVGs z>h1Bgi1gWMOi`tMhS+yFrbmo7)|qwu6KHliA}Y{7w5<1Fp4vNV7UMlvh90YD2m3K_ zot*+T9g*_QjvYHjV8V4;{Zq6QoccGwN`*G-ay81>MjV&22DBH255as3Ts5a$7H|og z3gb}5<#=RY1iMF1Il>qP1|77tW4~P(>0r>QPdynd^Jy^Xt_2QRf{0J&(Jbn~=VwnU z!S!mJ?@%DV7(24A+#NI<>DVFm=Ye9~?Oy=82WSK6o}kU3BSATJ5-gZDf#ASrf{p?` z7Zh(P{tH3(1HBwH4fHxtf(73JimfF7{h-+A^|PlP42m_Jbtvd_pkqN_10}dGv@GDi z!$BwEn(sXspxjBD2ATC^LKz=2YRx;z7P~`D&;`d4*5Egs41-yZV;>^|M8jlzvKQBbS5OspQCahXayMvzmN_At%GvyddT z8q+?ecFg!`jmyU&R%iYD@Y?7M9=$Ro^a`&n#3eeLKEZJ!&d@2a#b1P8*?bIkw@9?o z(C0%PpK}riTAY?SrtKg+Ht+J-&5U?|F==3p_!>fb(Jw|ic@o-m& z4!N9CICQMn@P1!>p=ub4=)_mN1P4vEU7tY`3(bdJFu}nF<#WAy?4x&^`LGivI5t4W z&S!{`4|SQ~$iSI;emn1=?Pfm1L}nB!Z0EC^kq;-?1P5$_gg>6UQfof+xj31l&LR0= zh6gY7xwwK(aF9#=+E89It*-(nbG$m|Jjf+H=Yto|YcC*D4Ms3dn;RvH?MKfZ3}`>li^rxj~{2E|zd zaFr&-5DueSAXLV{OIoGxQTg!Vyf990(UG{QP=WPf__eyk+2;Jt;5=qsf7<_r&T zxO`!71~|`a&TawDdzzzL*;8A;q}|6id<45bR5zz~_O+xi)Ju-?1P6N>L)){n{$c61 z!Q`VFNi0FQjoJ&c364O)a<3M)X6OiI!tdhVM}ota^X)Sb!`i;8(hr6oHzvv5{U zQE_fzNhbf?He<55#^K;)n3 z6t@wNsC2_8)3`W_39r{7JO$FDkf#Eh?<$XIN!ZU^s&f+$y|O*z3ER2%7`shj96{XC zA|acjnRqfUK9+9qtw87Z)-LhX0^*^;o0(yytM|L~DO2pm%*xNqcW2>W(ab22J1X-4 z;Esmr8J}HTTAby|&&~|PxSB94C%d#XFW;Tn7RE2lEOwXX&dM#E1^MjUcAjc^;%aP0 zMu1nR@vuUxFBP{ApELnq83w~naegLEm^@y@iSv^pI6p(m)%ur%CK}Gq{UHN|GFB9v zpXZLoJ_Y2?%@he4Vwv6G{9L1Dl%!>eT*v~2e5{SFzh&YL$;B(RchDW)&dZSbPRp^X z(eQRS(GJgIPQlO}-p)ag8>?j<5RZmG^ECKVA(N1;^5di}xGfRSu><_ckjcnVa$KZD z%kQXumh~cJoOw#FyZk(;P!?pa;%XLw3z2B~orU~71(x;xED;lP9<6@NZ)_pnJd2cE zPx;L(wyft%Bk~Jb@G#{@=2bHxxjNo;M8z3`MZ`;lGLAxD}%?d2BCk32Fjre zbG7&xj&>ZAW5Si8W$HVy49k8PlT8n}GW(jiGA!GkHFg2ZB&V#y$fW1??1IvKcUb_g zhG+sBP3L>UnlU|s)3NcQu;K%7DFOG`|4E=U#6>vjP;L?8*QA)j)dVXD2=pk;_Zm7s z_mozYi3|Gp@oMPI`iDcLp{Hs(q2!W9`$s22Lk(={e>q4E^~@ehRGQj`)_O0Or-B$m zhv}p6hS>vrO&DUs4}w=ihwmKEA=SlpHMwj){GdDnqJ$n(cVXM;ak>lJ27p1X;%qnm zJo6*Pw&4^q0Go93)goc2#5aCmuGock15^uz3WV9m`oBfHA>_e@+Uf}YQf&?Jrjt{C z37b<`I=kFe0#%tH2|eTOt3sX+QY!fVZ{^e?kvj$Ds2@M)X?f_YR5_yjx+F^o1Gx% za2dr>fxU#K@Lk~1U|g)%0jSrH6Fi5&I@H>KI$DlLcX6~Ymjt8nQdC+gKs9X3OVO5| zU`NL{-O_@(zO1DUyM{H`sSbhQ zl$R0%_a;tgn^+NR?Lii^3&A)_iV&7!pkIzm=8~ziOEtcd=vZT3gMgBH-8bniGA}g;hWeuN8zIbr^Cd) znJ;`3`{qjFyI)MqZMtvFf(y@VyfUxqxmNsOL-;24O%nEnoemTGCQJAx_RSf>H?eOv z3*W@PQJ6I*#!WUBe9^FM{K7Y}Y#tWAiDmPS@J;NP5%_?@=`gWl@`Z0=!6?j{jJw`% zIQ+}ZC$G3{&%^iH{gY|zFTX;@~ ziDk1u_$HRkO5vMWHunnO#IhmovD0B<*-XJMozr1r*~}BZiCIG|QK!Sita(THCT2|< zK3a)}S>qADiCJ^4@J-B`M}==<)(pUB2u_EIS(7h(6SL+_;hUH>j|tzztVzV*r<@KG zvu2F&P0Sjv@J-B`vxIMA*4!X`6SL+|!Z$H%{v~`9vnB(dPDI13sS>`4S+iF7CT7j! z!Z$H%z7)QRSu+(MUqr*KIYsy;X3dqtH!*8o7ru#Evo}7|h=y5nl<-Z=n$v`DV%BUB zzKL1$p72e~nuA8MTobcqk?>8-nvKFYF>BrzzKK~g7T>W%!>nl#ess*5=hN`g5Qmqg z9~Wj#_g>t>-NpsbCZhW&g9A1E+y$^7F?Vd8m}+F z5aK%&_&Lpsi0`}$N2j^Av7^pAFW`dk$BUzb{jb>U7Cy$q4RKihKH})0qC0iH8E#>B zA@6vbfm6a>7+;Io?vekCad%>{j|zw*){d`DfNyC_2OW&YQeHeb9lE$(Ks~Lh@3-s% z>Vc2l9}`edtOE#MUB6e{o#-og4WkoB<$4Q?6T`^w8z2bUdl#6FMgZ;Y``s=uood_l z+QG}GP5G(qm^*C=d~eU2Hf{p&O2U@3+Ep}HWU-DJJw+*)oLFy$HTa&!$eixbzUYA=s+G@QDNvFMW?1XV4`q_nM)1J1Ih4C&l z8})(!J?uiW`G10Dqu@s3MM(+2I{+dQFG9*rvP1p~-DE<%;3zQ{fFczTO#pHyR=^*1 zd%Ow`zdN9Scon>p?2y0GP}~ZRxd0T|M+76)B?1aozum@XobWPIm@+Y4;nv`DJvg$u z4QIx>$F2D-zGv?7B`XSU&5pwKM|5@H#`E5JD$N0RsvJ4|@ZIIGk%5t}GHoO&Jbl^^oM zH)2q=Gz1|6xQzi=0AEX5Z8e-^gg^qYO?n3ja2>v9VZdkA@*Dl*K&SKo3GkZ(C@n#L zT&MkwuquY5R9g@fZZ?C?5XXlk;In6|6yG4@vvCVuOTui+@-s3A6rWvNb3yUBs&zOH z~YCrIo~oR!>1h#iR|$@)9aKf$4Vkba5SwK(iR9~=y9YzB5tc7Q}2r2oLdV5d*o zpI1zUM@$@ll~^$SL`hE;ZVAq}M5J$$bd}q$kX9OzK01vICr>gsE&x3`VsNm|tlM`u z#`AGikiijjyHjhs*@^V}tumK;qBs+#k5X2j&Vyx$*-lG+V1|3L->S-$GwZ}bg>Uw( z*EIhN3?fFMLqE;KKS8Ope}S^CzX2TwigDnl1;g|Bi$Lj#l)A$&Zv4lSfGz~>2f7#( zec!(ZG!b+iDCIjrlR!6s4gkFw6#jwzcYy*^!`}ru2y`ZFe+y^7I3V8ME~ zWB&17vqfoYRv|J~;+h@9R^vges>KP58&#@+B@H|06J(9iISS@v*qSqOq3nT@p%rni z+3q`%XdW6HM5A|TOsn&7M^&~I7kOhUD)ii>k0ou)j$xR`zHaOoy5`kWHDJ@WZFA}` z#O?Jsti=Ntw*)QIwqsU(-LE5mu@$TajoEJX*9GK#L(3M@)e=hkigCVh-5 zPf!*O&%W&^^&B6nn7VC4>emLY`h^y{W`}Q}t(rv7g3d>wNSc^~aHLxM;rvsHO~Lt4 ziE&OjT4EhIkC)ibaGowPHK=TJGFEu^;LOgLN>|C+06mM?VZwVG=gAWL0%v8O`lHoU z&h*iza)uLIojN@b%Rx-#ax7xX$R#3|NK-_2I}Ge<3^YXvpp<3O{D}1Dk={>ImDjT4 zBhsBvj6*wCWGg$Pp= zb*fewi@bQm4meZBr%eGY0^7xTFRhXodpHyh1lEsciAxB!62qx5GpzG!Q1pFqSUv(2 zJwVJ8hMJ!}>nu<==z7pH&~rg+LC*ti1-%q>B`D0eA9;x@)~i9!$MtVO(aZezfnEjr zASgzZ|7FmNK(~NG*8e)_HJ~4YUJJ@GkCEhuskE*Kg^9Fo1f`F`ji64@n?T`|*}4OC zZ_qnI$ADre`6qzh3OWfCgULS&6eiGL0(v(n%@gY8XM6E^*%v0_P-cxWW!4xQWQ~B- z4B^4qv&05jCm^Qe>U8Ws-qigGk7%2^)?S#pw*vApnYyik+i2=G2d?@p4k|x+8=~Q>RkV&EVmfa%lLSn7Sz<7jEiQ&KyK4=l^C?cR8MaS`Vh~@N@{M z5Mt_jx8NEYbQ|9nOV=w?_d5)6n!1NTY3eqC($swhN|XOEC{0}#C{5iHpk<(c0IdbZ zDoIS;OQ1A$FkfQoUIC@4dj=Hd#QGyBO&wNIV(KuW#MC_xN>c|jC#LQVP@1|oL22sV z0;Q>Y8OKIasl#9rQ-?go)cp;VrtVWv znmRr&P2D6M%G5EYOdVr`==I*p6ds+oGNw$OlB20pa*0U!5=RaWJHVhzNYym-1(&>; zns2B7B8?2@q$buIK_d~W>^v_-+SqhTN`PlcPNqK$N(j*jSZ9qABCpeb$MpuOiaN2L zoM2Nxf1&yFp>0O1K?i}NC;4{=tphy(bP?#mppBqepv|DUpe>+W@1F#^0Q6)~4`>@G z?iH*)@PyCaxD@;g^fk-oebg84V{5bQ-Xn*Mn-~3)jkbTI({p;p?1x$gLwrup*$T-x z1}q_H2s*2T!~jjhB5hoVOY#0lQ7*;9OXm&4^<9(+ccGgEPJ&~EPEX(C{bz%G7JvfwV&n;4R9uE z&cFbNOJEi3eC8UQB?jkb2ImHYbEm<1*x>xh;Cx_kvJ9S4zNDImhytY-Am9gk6wX>~gthmAbN`JHnP8kO9ZlE?1^~ zli~6jo~kEhz-_M`cIv5m`ou|-MVOwd$BU=xN-sPWqsKBt^Hlu{+mtI2EDxMvc9`t6 zBk_6;x!-0fAE}A@jvfGLO0yk0U7P)n|o zvCq*wGE?rPUdpZMg&eKjdA*S1JbQUBcw4m&&&4g3@!jA%kK1dKIGaeRjJ+Ohc_zgTFC5O6_ksXAN5xV znU%AHa?$#q6Unzi=0Ppjo&G+8-1C&1({p|=A^B6tJUUm&b=RN2LH!1!^ADJ(OjJbeK!`hgD!@6?^jFNHVvt$ji{|4Hujzh|HMbb~$s9ZL6pbUrG)*PirQn@3=4ZRh^z^xwM+e0CsK zQC=J>$|}n%!dtJjtf08Ul~w45gV%!MJZ!FnG&Yjlc|dSrm!m^JioI2^Uy)) zx0pV&J+AWN3HB&pcR3Kkm2?ZsL-OS9B9&EAQs{OS;}4k0DXp+Jg{8J@*-^}~IFGKH z>FjkjF6r{PRXZQ1&(T0P?B4hNo)CL=Z`~#WOjO+=?)B+Gv=`p#=|%W*+)sr`Jzmfk zeDh`V^5N;@$Zj?D@FiI@-PslRqjqx2YoUpvclVqMcX2s=L*~ zFLOc5<=8S%DyDkGNN`Bg5}-uZoK9;sVw8K1C&yLc5_Xndxz>&vttWO$DnLrkc9&In z_&Uf|;h3&zSOge2=E_FpgD$7(*4LxaO3P~DO9hQgE0BT)DlN}1DXYL2BFQO3Q1ifJ z=M6juB|+;S(T`Z8~8V|A^!J-ekXzpkygqsa?bDmh+&KzZ9` zPzHKWNp^+1!lQdU_4Ox|D818mb}mm(!%VA*GS~!x+k;NwSz9MYS3oJEbT!QQ-1O;J znys8S(~b8)D9}||0fiP+%=KX86yz{>4!Xzerl^IRVKQyKH8gX7qbMR? z8QCu?RX<=4Hq^!XQje@iX!+&RH4@m1s!9rSq!(TZod7L|#iDmmgMM&|Dhn$LvR&v> zMI||IPsQ9)Wd#CC*N^)j?e9I@uRF~@jht;o#oDZbE@E=kzRM>&`liQ2V>2ZK9g6xu z@3vHLrCEjL6ffui?8OMgm9I&phO=AB1jR9QJ8trXnk3AOGEBu3jHYbQPS~T2ZMk)K zUHp`c@F83=WrFV0w9QXr_>1w7VM`OrB75g}J#5adtjLx%8ZFkXcqTQ{+Pn*ETRNJ3 z(#QJlMx6ixdC`ncd1Y2bncFSqHoBkn|3l~LoVjPwB8N7!ySS>L3^OxVZ6$UhS16UG zo;*NDl#0=!bygE9HeY43Zbh@objQ}CiIw$^_&ldgi#EyAO7_D2Ia}^p)I`JRpaE%~ z#nJ!yU`HTbpyV%b1U;Rb9%PR}y3=8LGOiZ>(1(V;|KYtW&c43%k+BKBA>XJk#+(k* zv+SE9Z+ez>;I-4~Fg>I5k2+4r#0L+Wd)eNp8y7#cZ|=lx75~Ebslqos(OxWk)8p)u z!Z$sgbGrZ@D|bA0qP3*|z?UD+NJ(qEY&t%s=|{fladx5bO^>q|3*YoC`=szq&$1)1 zKjn0oo{}dE-}E@ULinZ!^o_zdJt#jVeA7eiFjxeqgzB6%iCXL z@6089(-ZCK!Z$tF{#N*==kKk;H$B&m#(s#?VS4N?6Ta!0`wZcmo^Ce?-}H3*n($3e zxBDisT+`F-al$t}+Fm7m)1&R%!Z$tI?l*w>=Ra`dC(Ac=j=S^x%s+2m^B}%?nJ;|P zqwUqgH$B(BD}2*)?HKGEIvu75)^g#S9&LXveACnFUBWj#-F_~7)6?w){LMX@r`2-d zo1Shj5WeZL`$^%O9&JAtzUjI4F#H|g=`cOidW3I!sJ&eHrYG7rg@5|Uf1aCr?>kQ{ z%^zL3Tj{cW@dE+wm|r%XW35So1SH# z629qKb}06>oDS2o>@4A%o@IY7eA6@cX5k-y)s}5fZ`gm!U!HjDw65l%S6J59!rwmX zz5L~i(|&oyO`o4~^~hOY;S+cKoyF-eJ<+xb-$cf^Mfj!%?$?Fib?CkizHrB`_h-M4KLmP(%Zl7f8G>q=?mXP#^5(?(GW217ru#@@u~1l z1dPKm8%9ISs1UyC$@@&<7hO5|^(WsP@WQ3%-Z<~zV-I@_e+m-5iHtD-%O|J9M8?Py zzKM*nPWUD=##6#KkujWDi#i=90>(Vyn+O(HjJ)I5{0b`l)O$3a) zg>NEYyexbZ(PCe`yf_^u0!Fd$P2`Go!Z(pF9uWSoAGz+l=huCE*N89oe&Mo(*ZdQv|@_$H#ob;372tZx>+iFA>O#ktdA zdRQMP{GWS{e6-m)=T}4L-*@RT!(VY@{V#kI8RHz`o5&c?2;W4&NZNbs5i9gTO<4>K9*cV4JF*b0mlJB8TagH>6Md)qACdLwPUCgzrZE0Q@pWfjwo4Y14 zml)!^ErzZOgB4#j1J2rdJKU8YUaUAme}O0Ff?opG#?$8Ll&V9;(O+;cj7WTaEeNa? zgKlc#DJ(ep<)<$3Rkz98)Y8UxiJpdD09PwMT`sDN@fD&km|Qj9rqJFQ-IicYKaZ|# zXtQEyChfpE4lQt%dQwYsoYp7U()d0#zIH}`Zg0WQpyIOey8NbwW}5oAs-Ux2)X`Aa zrwl?6uHsOHu0=>D_)GdOn5=M2f%du|7$z%@@zh5UD;Uf;dXHZ2E!7(wyCj^lm}%w+UznyMSICljAK?N{jk zVq~jWJGVAbHc(ZZw|`H-Q?ZuL5z;=ZZIXHyjqM(L(v9Ou&_r!sf)~eeFXmDH%)U>ndu@j% z{4aao0UuS-wSSj{5EGOHK@kxb2?`1bfgsqj>Ags3DzbzmkU$zKNYyByB48IAD)!!c zLo{G-ugYgv^i{#~+6(%k`9IH@xx0JsmTVT@@87=p{dVWvbI+Wad*;lUa_7#8pafP+ z#-lK$&ntu zZ9S+O{M2FDdyJhry8A!G&Qsioj|Nx8i&%QLAHYAMI3Bl#54(taT|;p^ z3QeE4xI;t1Pd5EIZkoy>2r!} z&l&AFNVY?r-g<8KP@G`?+Z(+e-n4w1bNLGi&+Lev(T?YmQe0+OZ&7Q0BqzJ&$Q`Au`7#JZ9(8_gBXR zNG+%APVE@ymwZsiIN#JCx=)sen$ZpbJHHJ9P&EJ!!G8mOedILRMuCpO|0013@UQO9 z^gu0u6y0J#if)zXE&vJS9w;z--*BeBpwNB88TtYnw=H3XzQV?8OIWV2up!zK9@JOZ z$ZQGs>#JA`R#l>jV*SV9BMIyc5(u02TIfN zZfw9Zn&)zUD<-c8)b);EUo0PC}Q)~C-uXlWN@Y=$pgcD5Fj$OX9qcu8y=Qpuy7sf8{=xEKY zehdk!nQCr7$$-a5_e9$nQvJB+PFgjamiHXgF`L{oPC0q`=6>zZXGc@fz8SHyV^Q>& z-@X~Lyd!p5&$ZE~uN}Juc;lNsYjbv%cBBv%_B?0)hu^ZJyS2o3EHM2ZM8gh@*SDir zW%oqkP9_+O1* z3{NhUQ&#)%tU--qx`p`l;la9MzGHZdoSM#uBJVv$TuC2p#d>nW(&wdHe~(VpWIS2eNlMz3P_$0(=kZsH!&9Ciz#E@0nrHJu~RNEDZpF+F= z@kYegBYqn3>xiF4ycKaf;%$i0{@Q*<41H_ciTHWMe<6MeF?~h6h8XAHb70Yyi1-b} zJn8fwhz~~mHsU12;Mtae811Jm7x6oYix5M5+jzh@+E3d|#2+B8M*J~i)*;JFQMciz zPFN+RPFN)rXDkJk!nJ8A&X_WFBP4A+OX=&{EeGBzRwH%??y&>M zJ+moCFMqCIN$Z={ykoUCtBxbiJ)=De5eF49;w?h8yV1B-P%5Cab#^GAM*O^X(JLHv#x-sltQiK@6a%j* z=^Fe}Y<6iRa10~xJJ`$2N76W+ZyC5`&aPsA7ZzJ_U`vLYfaW2O%!^P=SO6_ohx z;Vlg9+8CdUn01GKr;S4p*aopLYY?+W)*|k&@dqM457#U+>DUfW!%sP`A*3AF5Q?Lv zlDqN7y&6(AvD($Mosyxxdmr4ZLA=Lcmtq}oN86-mY8`cIh?kj7if%E&cK0OALkAxl z-|a~BvW>oy9A#1=W`2|;TfLdxzaa@+ikA_V<1a0l<$#rB2r0=BiW7M#9IUmWaNe=l z>cXS}Ytv-()q^p{L)U@KSk*HLBa0r(Ul7#Vo=KMRSIhS0n_@{D1JZNwQ~oNH`i{f3 z8e&kmcERTX*AGA5W1!%v3cRNJF2m0*c%~su7JkPJ#-9pS!Sggv^q2O|)g(p?9cJIj zoY*;mm@2&k!zLa9gIT0+MX&*yf%&r{*cDc4M2PsdMHBq3FigyM`%_*b~i8j7PA1{oU0JW6G0 z_jVLg4df>u7`~p zL{Z|@uVXd-Oh||zRJd&~#48Z*gZM1Oy%4WN%<}M>lB6anNfJ_$Bot?Cz`w%Xs3Fr> zME^&OMN&`+sS#ah37I#%9i7K-KKczB+lwb%c z!6+OBqi|j;%H^G;wb^E$6K&+10 z=xN@f@nbv(KbmRtexHH3(Dh6+P0se&4|y_e6MoJl{Hfq$6tE-I&pQ1pFlp%OoN#DvW8jKLXC&~+gO(C5oaR48F4=1TM(Bbz7_E##1MBIP2-J- zS#IK~2}|%(r|c7oH=Od26kbwn<`(A#F}BnK#c0^vYL_>BjqzGfzsG zw8J$XBcwKhkX{>Zal|TS7-bd-E(T7uB|@q#5sKriQC1q_WhqMGY;9@z-yN;7YqPtF z#``v`!+aW6uN5o6$-i;U*Nv+N!|;AsmKi!`6aJG*SG!_6-oVO`Fy+|X$(tCT^R6DF z+lc%I>`dX$%*0OV=!+83fu^mg9u90WelbQG{#8?D;nmQ8z2`2U4uV9ZeG&gw#mNN5 z3|looRb{X@-{*kqho5=h-h9d3?wyi6*<}8K-vrwz3ul~H%)<$mJV4Su!iomH4n7Td zWq%q8_FZh2E%@oh3>Jx(s_Wawn2<E@FWv!;Hya=we_F@n9KqC%*eE&vKwM~lor!WlH9Ad-cjo&;LX4?Q0w@NrqVj~ zPy@?QZRCi>QK{8K5!0-WL(B&`3^5-Qe%{(fAs&W!0^-9FXKVZv#8^^on~wNM#IzKs zsWxb|F&gnoji+{{;Cek`^1l`_99y;Bq_3%UIDM#%vf_O{+rIeq5Q9u8UL27UiZi%? zrf?{mKzg*y!AtDw*wx*Ra0DD3n)Rb9*1vbF1^eN)YBbYOGy}ZV*wW;#!2B%qc+ea> zIABN0QNP;dC$476%NVXh|b$=}S^;3&}o>v7^c7T$re>2)?fM`7W$hxb7qH)b8mx-Sl*nu$c z9s`>kYD2CW43ZDlRro?oi-)T zsfn6BQ^uv55hLb78TUY(Nd&@YkSX*1C*r*je}R~?{t___^LE4sBZib@3jH-=s_5DH zDMLs|8A3vFV&WC<1x=@3CsT^v2U9+FfkL@eu#dM`d!uX`IYiTv&rmNj=?mSX8}yQc zCbCC9V=T%@b)cqZc5Ym9efY5)lw=IzV>KQpWVaE7F>i}Q+#4~C2-fdKg8L$7k$KH$ z=IB&uF(IYJgyQHUP431UuV~0C!AxMxP^1B03Hs_`f$hFs4_D#-7@LI2lROIXJ1mfd z%j*~UHT`H1>#!R_mVtw>lvx(Ll+kI5zQ!QtfT9QD;fU#JcLZYi1!!a0c}=;nCIWlt z`c~hK=i0N-1(vd@bL7TgZ|&yj%)D=x@;OLjZ|&qsDO141>{3?me?tiwt=*h0bWM|K z5ys3SgOVsA)$$3&$qQM9`&QG%8CIWX z3;BVj`r^vP#~fKxxopukqoad{-!;3cyk+F5Q5Pa3h4FQ=!XiaE*gaT-ucNDOxE1A~ zixoCZZ_qT8h#`k4N1^wohI}1mP#jSXsvkM79sjSNRdtb+_ZXrLCwTd$f;~Vgvuaz0 zJec84#Xg&%yI(4n)SK#n(=UI;n~H{)A;vFN4`8Dl_uxMkza{z4J?2ftX28%xrSfsg zM%pOH3;1Vud-pRuUC#`rS_q9GbMVhAh4FRR!j2-!!SOr8n0KxLf|6n=Q<1!KusVcd zQ}m`fX4m6ic~iCORHU({VlLiPj~=%3W^by?bt=+WQ&CZ)9DD2gXC1s5eVJLpCp4Bc z)>NdAa&R4!;j+Ak=6X|os*qxst*J;K<>;mF|B%w{X>Tf+CkdpnrXsz!gx@{V`wed@ zzN%*+jWrdUmsc7;d^`F+Z>ln#iZn>&;~<8$9p&(;Y+N&-DJsVTfQ81Q&%J?-a`06& z@13yZSyU~v@NIF_>nI1E#ZdbhdJE*+E;x*ca-4*JYVFRsN8jMjhokf;2j@H{pFVzk z_7j?s{KxO0do#ZD=ff@`%0cHaCZGNM_;8pP<)BtG{F!(E7=Jzo;7*id8~#l`{rvd! z7n(f&hn1hU+K?Pir-8 z$DxXkk2{p1Li4##o%*|y940huHw*_=U0vdz*WtJm<@gZ)W|@cimH7yvAtiNV+@OgN zn7z!yg@)TiOg=~Wm3f5FV2J9W>F!4(Ez2?1hbG#O=1Ae=^r6AoVZgcJZV!j`17dJW zX)&1soeIPVjp+f>L(}F*gH!M;t*IJYo2$JTLTfFlh*|H4xy=vrkRN8VALbt#lVq4r z@s-9L;=%l(F^76E@vI(%0UpdCjoHtGN!FPD9!##r^!8w;X-ppvrdDGHdN5~dOg|5X zrvfuLJ(#;SM%4xEyiD0iGYmAeSJ>dAX^s$#+g(vTueoKO+!8*%J^m=5qa3t~3=cf9 z-K{i|S8r%Or0HhFfVo=bkqH^63qF@7tjD-+?~;(YO0I}Whff`pGn~{^cZSP7s?e2R zT#}QYpOGeGN3})L;`Oi4m0MhtQJ9gD=fZZ$)D*RK(ngY*k(ZW}Ur?w>)RsyMNwKRW zE3331rxYZqqq)^GHAVJXTBu4~AcAj$f>M{-f|;74_F!75N?rN686`#eC3!Ax%}h=4 z?9H^06}vLh^7GS5@-sbTvS-smROrgc&dM*yD9LnTD`#qo+RLd(*tP<>yVQO-)F+gN zTVHB7my@&kadIX0^w=F;!bJ$HCb=FnYUQUJcjRig^s*xJeCheF zto-8Ktb(G<0A47~c}=S6hB6NRCR4^Zy`fWoljA3h9wp@TH+h`+n=HVD3R#@zrV< zb_?Yyh8*CFe>9(ADeq`YuZZ-2TLAx%eBMDt7BcYz=4+&QcMyI_VbF1~lobXYyWWa0 z=neth+A!z_gYKR%=vclt!=U4!_=hm)IDn+TMBfm|za|IbgTtWXAbNZlbR4#ohCw$H zbTh-C8v(lW!l2_o?ujtzJ`00xAMo1?gE-$1NPd*d{$bGZIgSj2j?XbYOuFS^&~ZX? zdl+<_v~3B4juWo;!l2{x{tyP86Lbfa;?E}pk~0VM$Av-X0$qh4oy%pn8&1&O;72#g zkB;@*9tIuT(FbAB(O&%!1|9QFJOO_`A&^`~;{LEO=s0PZ8V22wpj#dW-4M{-9|j%m z&^uw!QSW~VgN}N2;6(iSgg|nkoO8pVqx@>Zpi2SWWns{9f#j7i=-A#q34@OP!p~vQ zVNJtGEW@8q2qYISJ7k7IN4qgI3_9k!Bn&#%$K7Gju|8f8gO2^`Ut!R3(Z-2!m2U_n zmqZX89e@r)v}oM=5x*Avy6ks!Vap!zJ6efJcL;Bwowy{WJ1-8%Cc`71xB)UfbBSXh z@eDXC0n@ku&WGGn_zg>J;=V}k@tR0PZ;cRsbP5#(ITb2jYGJ#X?8K`i{mfD7a zX!-kZaHGx4IxfjGh8 z?|V?PMq-~S9Y5rE#`&rG)9*IZS1=0_7oEV|;}v{!20 z*zgbR#uEJWvQuA+*)%nMiF@-)t1tfOBW$%5yuV+XF9q-Kuj~L!^AjBY{%1}SyubgM zD+TZGf98F``}?0c2=jUPo7#G5?>>)D@0Iw=7G=`TP5yDGhZ`>{D)@c#a4HVZz0UmDoB1c$$$ znRLPX`Un=ADeo?`}?c8Uhw|@YPJgA-(O8)FXrp-ujT~7`}?c8Sn&S-YPJgA z-+yLr3}X@;{(ds)E;Nvz%nJnX?aYbiw=ky?jvc{(djN6uiHmxBbw!!_Uv0@_QDZ^7E3DAAa+vTpRqp$@9&o~tuOQS_e*((;QjqlZWO$~U&_A(@9&o~ z9qZMB{Gn9{-rry4O@jCLSNWyj{ryrVVLdXz;qQO4Qtm{Z+mxcz^$3 zzX;ynkL6)_Rf}=vKju96m+{s~h3C}|e((3|9>&aB@cw>2FBZJNf6J|c_xEpkAl6Y5 z9RB`4j}yGV-^(R}_xF4GsNnl_EZ#8o!9jhEYx~_c`jnUJaR`Lq{rzDcgmtI{hrd6} z;|1^U4|BQT{rzEX5xl=Y%i){zIhkN*;$9q`dLw`Ld!iPL<%<7(FcTRQ3 z;fS775E~o-u$VYz8~!3Voz*T)e&)ZQj4Ts=ZJ^tR`8#dq==ycYJYcH+o$Vn~yK;2+C^l;2lAF zk8AC~U2mjS%6{(u0MFN`hQQBdasL&8*v#2ibyHP2EK5Y52cfO-oQSWZ8Y;zEV+6&B z+%XC=pItMn3QM68m0kA}R{z*RrEPj+i{J_Ov;*x3ia=e~F0s3sT8jzO6y?1u()9K9 z+S&)v<_KMA>EikNyAGUz*NaxrI`+7w3O=l}`@Rm6R{&R6!FgJj;f2oEOLpKaJU+6z zV5awsAMKDCD*4FxATs~zXw?4^uiL>ZJyK8bEa@Kd%N?|EyXyx2e>``0b;dD1f*A)i zK|XMgtRF&Z@90sjg+x{c7|+S zao8_6WZ$;*fE$;6|HgKHIUa`DfW@e58QEAl%lP@HA9+^q@}1*)on3&$9Z4&ZjhyLb zv_DGlfBqwsKxs9_H@8xv9fX%}PEaDffLH&o25h~;Hg4)FHrE&h0%042Q7q6P{GTAu zVfddU&bJZ>1!i}+{y81Z;^t3X@vPfjs(G9sr`#u%RhBF`8e zc_$}E#u)zsMD8(kKS2j7fd0Tg^NBG!@V`kQp5)0Kal|m7=LEtraFTb7fdjSVAh#GE zp(Uk=F$M#AQ|NHEq@0i%!&4-UcLj&@BBf+81|9T#EVwj4p9+)%=yQSSHie~)F?jaR z*8-gch~BG4KnC0efT)cz#wCETDGSi$fc6)NXL1}M&;~&L1iBFrHur$;RzTF>7~@Vr z*f0a=UO)#4^dKO9>;@lMfDRVuNkC44HUSzW&}Kk~2=oG=!2-Pk2*w;~-vBg3ptk`X zD$u)th6?l{pd$p@257iIp92~p&<;RH3iK_YQ3Cw{XtY4T07@2UC!jF`?E*AbARL4N z#~&;~G@zpdiUq{B8DsPWG)$lbK;s1J1L$yp`T-g*&;URa1abm8TA(CA#|ShO(6Isy z2Xvf3qX6-ngcxHipj3gz19Ay;ETEABxd5dJlnE$ZAf85&Ay6TpOo5{D|0{l!rWs0c zmx1>fGFV{& z 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 LYHuj>>$pJDd>@_Y5m%P%x?V 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 z

n3O+bwoSGMAnVJ*n9VImH8Xo(Ry~r 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∾5v{H&DBq_oro?ro%tsTjv(rKG0h zBqph#)Wlq$(724ur1Z4>j0En5Nl6LV z1PS@cHuiM#;Tw~hnw*h{t(eGVjz2poCnF~%H7NlbAoAJ0~wGISFl=XqG%hbEB_}64E6c;>6HjbLPI`WFdS-e8_R{hR8JCuml#!H} zo6nGTV$P$o`8v zFe@!189g{Bb!w)shUX=uq$Q^0PsrGO*rL>|bZDx+;h0bGn8}%`Xzt7ub~SD{<{O%wn3|N5ou0=sm_zdtGjk?S z&dp^x%%NEsDY^McNjdC=rqH;I{Pg7X{PYBFZ03_@d`fsj@Dx8s@%8Y1AMlMxSWijO*nwLCTbZ(_i zUgA1|Uv8PH*s5QbLsi;zRuFA?y~Ri#<{Q&!d+9=*fCq^&p5Xalt`@h@dN8ZPhoCNO zb>+)Yky60Qxwv1&<3?L)HKyW<)@H-DHbm?fWWz9Hb1relAU?D}UT&IAJ*KZH$7eFO z>DX1hI2In&oT@c#bE~V-iaMD^QaiaB6fznguNgG`T5ogs%22s5HX{_jNyxRc+UBq? z(O5?)2VViQd2KzS=gN3_K-~bT@9q>1nHc$w&g&8n?GtRwPkn8uC5a&m5VW=2|Gf;=gQt0!;^VqZd*z*jbl(Ecs0$Sz^`O1_ z#n-ok`0hb`kFCJs#3e_M?-~R@0iKKo#TVK^d>fJOli(?CQhXiN->nE<37*p~ReZcT zZLhqC5Z_|(RIfaGd}|SW8+b;p^6<46-?fNu4tRc9?cr;${?;S-)Mia!`dOhHAmHL+3;E?dH#kfL-88zyIj*(LOB&&*eHFve9mQ zJ3+r4JhcxTJ-*Qh-lX#=&i3P*gZ%9U-?)d49$x~27lP-0ov)+vjzz!|;Q98SZQ`qy z+XO|#xj%jf9G@KIkXJHdA%_?C5o zkM(?AC-|bkcW)>727~YQPVfx?-*=th3kP5Dqd0jT?X_DN!uxlUZ&)YzdLq6to#11; zC3k|)3clP<@KOI}cY=@gA|KZS8b^EeasmREb|OCJ?}|?FQU7l31mCIPd!Q41v>R`C zf{*F$?gSs}<&#eE9S6RjJHa;yd`CLLHxPUS9>dA&Xs@L{QfL++3GIq{3vENl@iW&Es;Jq;>vK3FNTRl;BUNG`68 z*CvK*k-V+x4e1M);zmM;Ipw9b)pgbLoRPz(o*tQ319y$(%dn6anT)Rn$}6zX6VuK? zKRQY45&kGr@1`Z^O|=!LPA$mH%eCbsX7MTpGn^jb4JO6C;wD}y z_6qXyEYcJ7Axt(q4}L*<<0{rjGqGqoR^Q;aCpdgAx~i=(-1JJlU3-Tbwx+ zB`fBBj=|x55CbESNJwDK@j^=ClP#YIDR`qjI6MH2mz`fsA1D2Ac@NUUYI8}2y}W8( zHP`>@OS!$c%4Y!{jM)k$(Jf#U*P6^_IKpp2s!5r7ww%<$jJy=Ih01sb`Sz*FHjid- z%ivXA#zN@vAX34^QMZj>tp|q>HR?`^PBC&w>lof$SjGI@D4S21q#y&)fT_9ZnYpRH z?c!OC7B&_Ti_@rYQ3e)oZh5t>((ZIrb752pU33OCk89QWiBl7E@M>Cc_+5~zaXR3s zxvX+-DQgkmSE2eO4=K~~rl#O?8kJFTLqnN|5xKtFpE})^l3181b?mJSQYk~2_2PV6 z{^Zmdw&cR;QVG35v{x;%RZ6ay7Kh};rC9AmHL>ZqD^z|#M&8syeEOiOBOi}4RdrB% z=m8bHlwE`DXXe@xQ&Ohl8?@l?VqE8YH)19pJ|*TRr^0nqaQH`1S3?VALEDyy$178% zB4#09#-nPkyQ9j6LWCW3s=cP7q|{!QTwR+{R-0R2X|F9WO|j2|Pw+ZXL&{1s$`e!l z8G*FJXrqImPv&Ri(Xo_}b-;?rNpUBwdam)%Qpy&@vLqKxqb3+-EwAE(lUiRf_wz{U z)FaWz5*y@F6LV~dQ`3$1XXi!b=%z;6=r|*TVl_}`_JsRTXr&XL&ZYM)_Jm}l;I2l| zCp>gdNmUKR)-3Y09y_e+uj~Q0qDVFsCmN7V;sPb7D7!E-IkBM7mXnu)9?K^+v@Y&y z)$I~#*XxQc{k?Q9UVjb_zYcL^=T9q0%tOht6Z7*^Q}FNu^_^Nsi#j#0sL<4X#AT5@ z+7_+62lpFNX_7dV{60`bAB<-+PRY|ls2UWY);_Pay1vRO8XCzWi-t0X4aiM-jjgf{ zo^PEn_lDI}orw*}4!)?wCJ$w3xgSHB-1WJry1Y!3gf*9un46NFDw?zjBQBrR*h(tq zSJ$#d*)Lh!(n;BII3yJ0B~OOKBZe_sNi(2ww0CzH1uRa?E=m=B3YBV07Gp{~oP%rj zoqW8FAq=!vlI!?5DaHA?o+jmFjO>Xv8~b8>92%3wMBQkr>6t!CC3YSAwFifrIs!{@ z90HC5o3m2HdsA1$HnJ-}jM#j}5!l_lshNc{q;_n&9v~JLeK18;S795hM^S7ZZIG7B zHH@E^vKnI%3dlBhE1di3IM&^Q!CzYv9!&a&xm3;@nQyb?ZbHIRzS*ASC#!q%1TWx^d0#1vE6t{M0!2dU6flM zd7=(En9{7P$71jgAWvltyK#!!UWplJ_AaEdWWt0Mq-ACoqVKaa&(JlffKR(q-7^5V zl?x7^s)r?K<8_{*d|NuYB_|26&DkDKP9Qkxu@x1hPPHZC#h7BWxGjHbYC$TkIFnBE zHa~0^+N8-w^lfGxQnEZF&^vAE_de!NdQAYhZQ5SOeOTjZeQGT zc)csAdh?%i=4|+>NI9vqS}xl;V^{i?H>>wnlP5p*PEBFxhsFm znE}q8N7P5SR?Gh9ZGWCpozQRkx_%!84Zh}T*%li4xj1U>KjM-KdXBEX|HZP9n=gaE zFJ#ne`EK9bIS1=r{rvunp?$B7{a~MLRtkF3xtj+i>|T84^V`Dj-QXy~dVLS9%~&n{ z-~GD#`xmbI&)i3kPigAkigl-PLQg2DSl|7!N1cOrFMGF7pZ+nj#SZxI4%v0hd7Jih zpYiyxKmTz`&#l;iO8Do`pS0+r=SJT#_@y77SeslKAX}k;f8v`f*RCIT^4h|PB^xi8 zI=TY4y9l#dR?jc_=aTb&zF_8)Z~t`8{Z%jGc2ww@`%4`Kc~j@u7te{G_Q{}&;SWjZ z@1J#Kc*TzS+iGI|Ts-W}Sd{l<7y_$h$8pO(N$BzKp5w=r&V47yemwe|&~s+Y4ga`L zz_h{hTPCe2?$wOPcS8T>uH#?K4hqOWH9Tv{1FogJvD_;3htGI>+E~}He_vB@{_6g7 zb5Y(ftT|dO7ye#7=+(f|s*$hGoH1?U1*@P@LO*=sbK`=q{yqPcXXmExtm^+d_EQpi z&+8w4=G>=Zo}PA5&d#DWtIosnu+YP9&KS48?}UAhd(&s!ko!O?Hgy&H?w#qwPq^TZ zm-^k)vTWj@v!BPZa1hg-bkpyXN?sWC_Ori?ymv#t5Ij1YFZ8DSwnP_Z{PfbL1Fh>z zH-3oxuNV5Y*DdO`=!p$Uzwayl+4kMXu%rJK`pD>IkN$pr`X`??ta@xlj|vyI`o}$~ z)zWv!wh7&?I(^wCg<&lhpT92-(=wrFJUijLB`wV(AH6!^-GfcfeE_```t*6%TwVM5 zosscNGB4Qp{;#=s+#~cs6Q67TY}WUYb6<0iHL&5C{f?niIhj_q=^WkSC-cH9Fib_@!Oz1|r=AgBW6x=-lu zIOYb$4t;IeN0Wcwld))B9v*)Pec^M~`m^6z`(*ZUr|47?pDkq zgkJOC)AGMQrRb)ahX>`~^~Q=cYz83okkb3#iO9S4g@4{qaQnv3()QvD4xwLqN$r82 z=@+DK{j7R_*^YDZVG2K6wp#Wc{_%^C-@LoG>$_*xEFT?%KAkA^sq=38e&on$)fQVIRGgUMInQ8?Cetd@+>U1__2eZP19!QCJKtNWGl*uGupYc^C~^1-+>m#%v_@wM`u z8{fj0J3>Dgm-t!mg6;)J9t`-`V(oi8^7>flmw$V0(Q&1_{)~8i<%hk#%wc~)pSN0O z6)b)usAXEx1-5OkG+*-p^fp!KIk%4fV8=&2cCEkSo>{}DjCcu;6@`BLii)!E;PSBD zWA;W=Uc2pPY!5ENdLIAX8zh8&!_GYdQ)rp zy%QS))~r2#*v2DQyo&Xv?}dK#(8}`%mcRGqW1)4gY}K}4e2K)cWVJlqY+rfdfGdJO zc>k7%XExrk9q+db{fl*@zK$O7{eNwlC!Rk&rV2WHh0yQYa_5zAum0a-eSaOW>!x|h zXqPvIUN`T!zD;v72W-Eu=%uCmRv^tF%nPiR;sZyjm!Gx1vVOw2a}KVX3%xo`=&g5_ zz8mmMQE2PcuGIUsUjY5d5qf2-W7x}s^8Wi;|E6WXpInrIN8v*M=7~Xr(~mShv+TS} z2L89MavioF6Z%yL9(wjb=%y=oEG+!*16BQ}Vsm_|_Z`NMnEeEnc)?9*dY9>lmK^o_q9dM;$oz^ON^d*sp2!@DK$NR5GU-MM*-lwsN zrO-#ryLae{SsVXYwe_hRpIiH_6FUT84q~+=HVytT_KE0TH}{<}y!#pFCS&#^^r5$Y zd|?06CtUeU`kJq7M+O(5Tte^n^&4-D*xc=;8y7g2HT~)c*nT- zm02s#U;Pcfh7kI#w{QP!>ENib_mouSrTy=#H?g4Am+9Vn*S+Ud{~EI|AYkZ%&o+L( z0OPpOe@(7%93MI{Ab!%HQ`dde1CMZ*3H`lMm!1CnQ`>Uh-_m_+<`w+z{@+5c|K@`Q z&Zz63es<5zyGn1K{vq^J=n<{UHpV?ZxUY6=zk5fW_i7csN5ERM)spwt{Kx;N?K(I6 z@~WYGf4l8Td}$)|lWtk{zy6oLn!4cesxi)iKdr~iOXw30y?N%V^Y?%LT=bbe;;y{_ zy6~XTFYfpI6=|D4eR)yF;Oyh`7oUXXTA?2|CGMkFo{Zo8uihsv)SiEK3SMo%8mQHh zb6VW3`_B1b@_AX01&;scUX*vH&=0Qq?%RT||MAH39X}V3`E<(Xczr?WpFFeWZ(nC=6U-~4Q0snvPzsjvSy^vB?Oyv8H+ygrvXUhA{;K%Xt)XWG|XKLX38LVxAn zwFhe6YmCbpyJgJnS(b0{I*QP*vQ2og$~t{Ruk)T>e@^ecsd&sS^bxzS>mBj*tg!H3 ziWXd-vGIQFje$E=t7YJjo0dfXa@v#I2iZ1W@W)-S^Am)=%d+d%*}+Yjecs;j&hXnt zKaS;pp>LX3vOnzk8Fg!?7xc}~n)4H0nG*VO1v}SW7eA;qWx#}Om3sz3mk$X2;?|eW z*A{j^?msWYg-6!jG!FI$wg7hf=}oixe!M^Qv%%?KZa#iOHEzv?KB@BZ9Um^)uRW8! zyX?)|dtk0{nb0rpb7}Q=zg_vo<^8fg&EB;R`EL>WiD%t2cVdtJ(btroTQRBX#_rH( zp&vYS%5w!3S--uuq)*VNy`J2HH1RCUYPoa8>$7@ac-MoW*FSb=-;Y*&fpJ9WL0b2z zC*D%?%7t;W_9jjWdkk(ugr4`j-G1fu`xgdovYmPLoco7jt3;vi`M&w{XvcF8Z9D#^ zEBB|)UxKx2p-(#LvhdR`e?M<@%;}G34jgO4iZl9v)sp&7U|QwVr_8?o(u!Nti+9%G z3nZauy!FZV*L@dq@eTjkdbK6v3)tg?mDp1kY;9)k$I=84dV z_^l^CJYecslQxI7R$^Wu^lvY=L_Iz4?J;LuU;go^Cs*B$c?)#iYPn{2M(vBYJbF*^ zuZ`o98j_(uGlaf+W$hzmr9O85@84ti|P3Wz~!8A{XKv(ph6ij+#|oRa#MB zW}j7uwL*K@tn;huMmn^z@w3Y8i)JmVi-{f;J8My?hs#+8$90OM?uW2mc)WLAQ&PIn{|H#S_IduxSC&^DYZP@g_EPmq zs@{;DZKm3isxtp`?v*TVys?z){Cnc6Keh@jt1Vw-ua(RlLw?E@*?c2H|LAPB;(>u5 zDMOppT5%2DCa6m{CJr=j1=isG>mbNac@-93v0}2&UZ&#cLM1HW z8tbBYOa04z-O@TP({wr2x}}v4bZ7PhKdec4WhDeVw1oaPEBbd;g`Zi%+gf(64g1}O zNW318JpHQ>3@3PAQ>XN@uFI`qFI5A9Urk}Rl~z`l+5N0H4uHo}XH|Z7yLshvVSM~c zSs#)X+H0%q75*A9bla+uN_$yNd5xbHpl4%l32aXt$A=C(L@AfO6+@?OW0ilJ$UbCu zEJrxwx*TTq(s-44t1Dq&;0)=d@Qkt81z&s^{z4*98rNzWc4Nb&J^7 zx{z3fqomHyL8snXUg52-ot;$FmCUotiytbd?Q1zIp^Eoq9XHV88hk12oHw$(s-j~q z^TDxbf_vgg*LH2|nhv6w2vOzkrQJPPyuSv`p5O_+z~g zw^}nkwwkOfTUb`MP)*@GuEy#rY!gvyuPR-tGTVjjja87N72dw2v_`l1?f2?MC3*{X zAx$niszf_$2JDOcu>fd;axPB#H|9ZFmS#P-#+}V=&BD^UFX{*F5)7GZ^_nG)HtNh7*wiEixwO>~GqPU0UG<7Wa&+~3mrO1mrX*h=enSyWZ~TNYpG zV=l{IMCWO_ct2ZCC2)+DyVSbt5TDFS!BjEau^ z+j7-jq@L=Cj`O#VbSn4lB?OvY^U>I=&A-0lj=psAidDmvcZ zy6;r(+e-*EeH@RD_t!M2#0_b8Du!wBByo&wbBwxSh$BC$VUKk*=r}@m9r$hg^#<)q z67G7AF>1c6Hd7^fjC$Y}ch__L-;^J7gzkDCb8M=0lsuc007Z3~F-Gh7SI?uOzU9u3IYLm>(0q)uuP!Cwu4&J-L-ts~ zXLsb@w1$p_cUw^Ypg#*s$h9 zJR84h!n#1iU+A>vALL5Wltja}xaOB^vuAF_m#f`oG%azUk7Oa!Y@c%!L1b9 zM4a)(5%>ymzFe@mIA0=|1LsD;@KuaBCXW!8SikCY067>x4}8ZX#|L;S3DRe zbtGXAg2mVu+AiBsi#uu~h)~5T6u6^49=@NM%R+p3g~zvY&0KB5heO!r93SzAhEsy! z(!7e2`E|m;O1Tv$Yy#e%>v`t$Wh8=c0Nt+V(Q+>4eH|daBhuCbB1vrn zU^L)OfU$u1R>l<%cpG2>;O&6Z0q+2u2e=8a0ubNsx#|J$0%Uzqj`?Q2DKE^#low`V zA>s^2(Xx>dMHAH=2$%9!2Y584chJlchISIVsS}%j@M3G&HiC+|H57tR;|GuEIA4Ze zgmxOvOd&#x!TDMIg2Z`{3T6HOieDLi#*v~U_^wC}>RUHpOx=Gcd2UiC+dZ8||JYK4%{e z08RpY6p&@c_ei2MR{-y!-H0=>Q0k&!A>y%K(dbHvSctYc5XpTBlsbwHskg0ajM6|V zDsFx}Dgwx~=6?$m9^F)aNmKc4eLvgm^P1NPd+cixe(^R&x3#!Pu9|;n*cRN}7&Q>I z#+IeY4o18-CCZwwl(1o2&!(2J%eNrid?6Q$n87yC&DO7}WyJ?yp_9Rlx$}4jGpbk- zzrpPj=|$%ktlbnvzS#GgS}rN*@!-{TqT;eqb1!@cUeXCVGB znp&J;%tl1M5qHnV_ng)R-F(vPX`~n7&K(M|;>MZE<||Qk)+=F6R1}Kcu&v)_rid!@ ztt&S51NcRtsbHwU6QrF1>{6l8n9u-4X!vYU!zWn4rsLco*b9ogz z2Td6dnt>sJ;q_nnTp7P@`Q0r}F z)W)GAm8;}%^sDjVM_OB3`@*WR-;+@vgJ>350%OSHn8fls@l#_`Z%~f>(b`&zK?@(x z*zxwI3{0AsisW|Z0WOAyYBf3rbJY)oFY(iwQ=%fb2TFsY z=LT&jO)F}yh>D!1cf3QiQmyr;Iv#U|AJao>j#pwF|w&O=eci#?% zfm-=WfSV#Ft?6J`s`Pi$#;*@8Hm)^rn77=aWyNND-3i-M(GFlkJaTcNa}HKJ;@=7c~5 zH=^~lwb@bDDfz0fQaoeAiJ5BC!Dh@-!x}$C(G7DJ*l?&@Skr5uEU+kA{;HIyfvPr9 zSv^r%5stUqm9-Pu`l_38sZ4e=On-3Gw_%M_L2u3pY}yglm=2T{Mr(fIN|b+qr~K#Y z<=@h_{LTwEi$Lq@@bOmgzm58uVi})L{ujET${OGHsV`@aW1o=`$8LyvH)3mjpcH>W zHz|s$3J+=&KN_?5*{ZF*STH4;*gPw0pqidHqZ+KJhFHf}?&Mx;lbi?}kq-1k3e}5l z`qmk>K(FwERjEo-4PI;WcApFw^x!shRnw0Dx^qB<^)7J3Hm_tI^m8G3lAD#UroilY zmCv!o9lYyk(dY`?N&R)!8toS{J{aw{1MQb(8K1%S+am3^!?*pC9Dlg;!7<3YIIW91 zYQKhU!#wrtRVX%^(t9=+def3WQRqPQ2~`oVwn;(Vx|ti_@h^9#-ZF`xj&%vo5PcfB zZow}C+lCtVYLkJj6j~|HqY+~eZvSxqAv6w?=L@zDXYPp}q)~w<2=*Z`#rG31#TS8) zJ8%`D^#^u0upo_wwO(lPz&Na7LI6xjaMGZ1H6NI|gXF-h^0FKl?k^y*4%j*P1!=F~ zoG4f;&Pu|H>Qm+D2aLP@2hsRzt3(#&UC#>)xSp4@fL(~tAZ@gpmhR@uanoi3yH{eV z0;W=10ZgUV2u#JY8kj2O-N01Y9tNhS8czb_AQ_>(3`|M90Zd8k1E%Wg3pectU@A2W zOtfA$V2XAcFePy&Fcr%fcW4GMC2=k=nz$fsH89qCkoLTrZ>O7Y4=`109|2Rf_8Bmh z#@E198b{o;ZWy{1ttT*5L)`vOaq}Ee}q? zLI6pQ#BT}^4tYlSff2aSr(mZ5o7^V+j58S?%#$_~Ki(pE%U>YjDz=RXzX_%F4*yWX zJyWooz|(dL#ym5R=L60f3`8Aj3da3SJxc?O+Bm$XU~TT-aOWrY{>=6?%&O+{opYI( zF{Ano87E?2!g!{hfgV;;>#UPW7yBiqGVX(UeYzIsOd;>5S za3>(AQW&yboFeT4tOwi!cq8CPfQJDwbh?<=j{z}V(>?(l3HT}CM8H1*lK`2oG{7%# zJq7SfKzhNzSm0E;WVZB_Z0=@t^3J^n_D-V$TMS$d= z0r)$vp8~|t<9Y}12;irH{{#FHko>;^lK&4t3t$l1HURKMKny6ZNq`Jb27D6yxquio zTor(u0jZ-5ry^a2pPI@NQ&U-DA=)gof}+jQF-&ExP}naK>~-he6QrW%2ciZ77W2-V zJ2B}qFWgKAHXW=V>llM7a!^i9XLkehna;{hIb(9)Xfma(1-!+^bQ3tHmhQ<1Cz~I6 zC|m{&Zh9}Qkz;7{WSQW#0F?>eYRmX;80}jy+9z7ZC+V{_%XmtfP~G$$~XS`#pp+G=1b<|~1znC}Lr$^msZjWP5n z#v@n((`|k;!dZbvcr_}`xXm97nM>M)Ka6mT*KNM5O?Y=1qtqC~`ePZro>qez#zm6 z`|gSWOa|-^msIj<{PifAM%5E-<$|%4csWtXJkY@e%0;eHG zAoP2d5}=h8+pVU5fH@6_4FU^Su^ zM5={Mn7Y^!qvPaI&x6?N9ExUs;5ks&6u4pc_JxO&; z00{QI_ZiKCwB=j&kL(=uByOyI1zYwX(K+RU^U~^H#I4~@p?~tk=)^>D+pZr`KDp%e zeZ%ImbMN#EU$VN7NG@Jzi!pqhX}jIBJAK<59m)2`#)?La3+DsIBs9DW>W9TUIxewX zfjOl;BJd8WUV=_vR&kful0RO@z{>g>E}u0Izkd{}8ozG{wGzK?3$+@*?+De6-yOJ8 zxx{b1D?E0)7YUE0`ftK}Hp1g_)(67lAVA6e9@K}zdkeo8;7S#D_X+hmem}wGv%bQw za>3?-e4oWZr{awS#i6Lr;@Y0#%>;EVc&XA=eOIXE;L#_awK5{d=A&15Z4urEQ0%;X z)}{z=E2x3OW0#}C_%^6S;awHs-2y5}cy~p34}-c#Vt_%Qb(q*V2H)VuN=oan0f@sK_hKQy?ShbGoK zURcs z`m2F@LdkHpIP5pEKjXj-hTZdEJk1P8_slrc?N5PcjG?3$)jd024>Rt@C|~8y(Mj81 z6>~ml*5S>o;$*!J&vkh@pw9iW7_VsLjUHDaWaF7o3wHP?cN93}HgIAo++pC32Iuvo za2ifMcKTQEngd|j=9{l!zR6AaR^SAJdW&zLVb3Y2v@$>%rUi!uoJ!u0w4ym2Q;#Eo zqkv0*sHNdH;27W*AiDN2hnM4kR{~KM!`B1H136rs0K655@)*7ycoOhV;6xyY5mSIa z0iqm+p9f-y6@DE!4fqZaB{2MVU>4BJ`~#){(MHHyfNWq9?q>l@foB0v17g`Lyb72D z=+Sy=(D9AJHA#Yp^U>nToN784+WQIyT^SZfQ#&$op}nTHEl;GM#EYjNh$7u~$4#C?=Dd%KQV=cHyyQQ7#g2 z{~4}3aTzn3p}?dnkZH>Z(3DNW#fcR&#@HV}p7}>x)p`wb*sp;7K;16VACJTShp;yb zZ9!1q)_2DLBPM`hYZu?d-3*7)4C73{M*)|Np}ZJ50RjpzJdR!(FTS2++>J>w1ge-@ zZH8@MA|xVh9~(zHH;tpaE#zBGMqD>$^x;!9W;{5d9h-HcdCeZyr~|zP55{|zRT|#g z+PYoBR6l$^wsm~Qhc$l<>J;;1J&>!1=K*to7XS-@7Xdj1+74U~ya9MF5Yx_Z7ZB}A z_y*t=z=wcW0v`urgb{uYcs1~sKul}GzX8%cM{X#*VUCM1VhR6C^Es~BfP1!e8-dIR z$}_PzHd1w-l&bTj{8lHV6c28M@>|;?ysilE)(G#;2=8%b%wAkp%|a{*p{8f<;tXh1 z<_DQ?2%qahP@_nI6V%qxcn6iT%F{>}X5uiUX7P_YVN% zR3SR1%bP_E{|BtHbd#}(ZA416*6V^pbM{;!j_u|2w=mxGke=^f*@^d@v1y`?wU zk$ge#t>AS|lGyAkQjnuSjo$Z7yP)@W$aJJ#(0d}L0UZ@v&chqgj)cq)_8ljJD$uUx zw9)&LYz#CwOpJW>6i9>FuO(k>p$MY+k@f>kOJYx~1Jmp!_C#BiV-fYWxKc%>X%{G; zoUaiUUIl(xwv_taRYEPr@0CKW!0$CeU4q{WgyQ{1p;)%qcls=@f%OQ*@6&XDinKC<;!89IJ)=A=vDE?f~R7N-qT`N;Ij%rDO<8!;ZYX5XYsc8Zq&eUO;a7lQ?fo|Jf=hnf0RKJH`E%)u@nuq-GPr$ zB@8MGa(G6^w&59B`%!*)rW1mIl9)7Fo5c_8X^xi7s0YqO+>Bv-*Xh3_zaNgkLEtS6Sy15 z=cGS;1Xf$6(Mw8c^pf(+kWTS92vWQnE_jYw{Ka!@-8$MiPR0Zw6*#J9FI-tvSfSp| zv8&E+viFcj^ew&p8ZMZd!c2j5A8uv431aq@SNVF zELnWWRBJMRRbibCiiw_TRpFP9o@y<@uPV0npqM1e&tUxSKTJ*i&`gC$?;_MI~D#jQxN>bd*kit`gg*|4!BQ2VkG=Se;;;==Nq@ z3&-F`nWhZ&W;#So<35y(`!2@+E&X-G3Q2uead`LL@&)O=Pcs8(F5*0Kn7cElD*u5DR( zS)U9?k#>!U_Mq|v$A7jap6BSlb&QxpM0VWyE4eHwq<}-!Vau=QP zVJNkNB5F>^!n+oiF^nS%F9)pknt8w13X^;Q$in+QARD9a15W@x2+RgP1PlTn0X6}l zwHanQJ_YOoJ_+Qr^PZ7o8Y$g*Qc8E8l%ES~Vw=RJGok!^^^sV!2ot8+deDI(13n?@ zC=AcGxwg`19ew8gp7OL59 z1GPbHIr?BpjsGRl^{}B~2sF-8dZl7V?AaWfFFRP$E_c|oIX0z~1#m2HVT}K$2BLQ? z#b{1kQwGL~eqV>H!BL9wwg1IvLUfE7T>L4PI8s8<8ifTsed0p|l} z0c(JBfRtl~0E05V9+E;W83rJ89{et8S8c$^9-9*SoIo9b?>J7wFiIwp5} zy0M1XF>VLdMvt_qjSjV|jrNF^bWgV@^ZD$=B634HSui7>7=^iAiw3|#JW2!Y_ z+9Z}p8p^W7uw-XAMxe$GQ*33N5>vNkt*gz0s4*xkLv)+hhQd-ScMP9*D{Sr9X~qSR zVX{RTzf7VO z?{O_>UuH(Wq;@5w?Mz6k=HPBGMDT@5;m_68aU4???Tqq}6{y7R z?pkctDtT6KBfbjlBfl6IXMUZBbZ7iF1BU^_Kt}Td;5gv7fa8H%ffIpSfP5C-Gs<`2 zQu#$ngv(;j z3gzs27-#zZ8m{^{#lEFsy{ptKAK@TooDwrE;UhYRC2AhHU!18QhRv!l8u-5E2T+tr zrU6+M#sS$>6abF}LQP(V)DwUw;vS3i(nXyF%)$LcV6K)c22R0!DR3%q9xxrqY6nGK z8GvL0*Wx}4$ob-QU>G<9$RYX3z-}PrE(6X2UICm9yb6fo8vZVDF7P4XDZod7jPIks zTp-hy_pG8f;!Ffa8k*c)r0FDB#19HH!9>@U;@8{_Ixxh}`GtRVU zZrqAXb%3N)2S`c{SQPJZ+$&!6-51)s6n2Lxc=MHjx6}!--^Ohmgn2mM_t@FOh>lwV z@K%jm7}2wFMH`g@+!@36oyIg8Y*dnQpMZ;)uI-Hdw&TFijS4IM#ki(B#+&q$ZdqZP z;$~lDWMjOAr1q4Qg^`VUhhciVxYHB9!B~haRTCcb!or@djEgf{FGBYC!N(UaVaBr? zI39R0a3XLga0>9-zzpCeKt2oanXPx@QvDz))en;LOEaT*A8NV&jcX1vggF78v2~4~ zg;QZe!z`n54p$~CcEsK}Tv-i!XBN^=G!qt+VRig0Jotcx6G%p?CMJhuz0TBd*jfyW zS;T&#fDD+MkkkzSW?&NV79fW#w*on2xeb^GydB6m-T`FR+=feK4Jnm1q|}g8@m|q# zm?H3dp1rsgcWOI;6tHT#Zk&T5`E;RbZx84p z#t`@w62H}Iz(5IbPC6KXL~Wl3SU z-JfiQdZrIn-Mw>$CU5-;ygB~lt)BvSR`qWAa$xdBe*oQ^wiCbBoLR}+*pX8`$6EB9 zS3RByD-khI+1c)S?>>so?wsY2;6zA&BDZQPY>|wbi)$!)G&pTf4{sop(_j$Q)YSvVDZtC@ZIs5CjAMY510FH75 zaPM=2tg6{xxBq$HO*@NwXFu0*H5mJ@fFeL=j>PJCy&VJGwm97SZIP1#z_b`;(jo<= zCNTT8j-&D3W3&{bYI_m-_D}!KH~uJeqmVM_C5D`76mu`wEk$oRAkMB+uk9w#agQSWE>3X4BB657UspK|;x=Czb1f@cI7nE}Q2`J@uG77n} zrH-kh!l0Bd-Jp~&cY{)~-vdfL(OaOthcJBBJD|QV)Lu|O5bAwU9B=uo4?+D^~NJsaUcA!FIzr&SIPyHgP!#Wn@7dU21zni1SQpS25ktgNGq?*$Z#^!9gJx+oQy0dBLm}th^hlToe>!)P@9YIM*G@N;$uYULr*kz zd}j7Kv%z{t^Dn|@9!v(592pRN8#o8|mjd&Ee+MoGUJm5A^-AD{z^j1Y23`Za5_kh} z7Z7^*c4CE^v zbQ-dI#WTRuao+=kPAES?4lf7(99R#;hsg5z%!@$kx4r~~-kR_)1VTeQdGLq~FF>klp$3LO0R9i~D}5hC{-8d}r<$~{#Qk4^HNba)$OEyz9?1N_ zvq}E^O53x3Grw3v_~uQ`ib$zh5h=guzOxNWl2;z2{L~7TmLW;>(%D9+*%RA{B@@VQt{iR zDU49q&`UpY8)Vc7g>|ues|-+T_`%Q++)N;EFLyCY2Sts!z|IN}de+h6tanGDRfsNe zf5scn6{HRKOneWY`5Z3(LUdG@5B*M>>TjYW0JSobe94FKVxLbfvT#t42H{DIOplu~ z$J3eobz zzIku>ytLs~$H|PGwXL^fC^b{mKm_v~)lbSV-{*JlZ~PWKHLsUa_l<-S-DoSad6BUg zg0b6ZbnwaC?8JOiiLuxYMAHn>CfG(i`gy-S3X_V=UFc-fkd#=figvNgjGmaN$t$RR zzmC_TE<+sIaHmRVrMe$>U`(J?DjVrej1_vD@SrfHw?AU#<};?sdxp0``KWYmg@soU zq0R!Oe1 ze}tYrPKA5Ew6?qd1MCyEZw!acj@`cS1TbxjNZ-NTG{=0Bai&{hXbk1Wtm(v2XrcDC z&DhG0eH6Vlrtdz=%qvZQ!AVLYoN+lxy{R?oz^9`JZENW0vqzDMjD<%Bs&&N2%&m*7nS(UTDX#X=-YePLdi+X48>G%}9W!-y1J?RKg zjRIK|I6|w(Wz1qt(2mAAPhP0ly0BwZbSxQ4`Y2G@4*MC$k-@T~Uhy!jsg9z{F!9vZ zB3yN2@S_aWWt!H88uaTO!zC*3gkyWX!@?==WX%!>i-<7{gT*cxxK%U#m=81DA;7`F zp?ZFN3~(s!lYyw2Rtj)Da2RkRa3qi;qEWyC;AmhmknT!=!+}-6RA3Eo1dz{0dlmzZ zyp>7;DWy_C$}eC2DISZf;-Qg`F0*5q>pj@WQns2na4bo|=(0x|1+*EV5l=3L*-69u zk8m~MN_S+3aYL+)lO64@#b^i`(^r1Lo`cH?Mh-~-nI!{&(gOoOLQMf!AL|-(9cZ;U zNJ=dZlJbi(lj7Zvd&T416j1?6Dari2JK6g*_60a{M@smg=uCgYoZdGu{Li7CzS0tG z1n_QGvTSe3r1%V1JuYLWYr+&XCL6mi$_~WEMx4gjI~8vxE9;2;QDdXhO!f`9oV9>q zGK?%-Yh20R+U!bo6FB6N>KxKDdaMOzi#W3!*a6;JqfWzYXvAdU?1vF(!C0`mQs~tF;j)mK6leyh;Mr zYyKCgDh&Idz!c!WfT_R%Nc%L+p9CC;dzM=tka^??W zGXyhdW(iK8mSLUMiVh(YdzDYl&aygNR=2dSZ?W1r4WF|1xZco)wUB6Q=haQ`>R= zazp)WD}eL5I$G;mo9B)l*G^__M`v5ZSXij953rZR*x3OY9o4pNoI92eIj$YD@OwdH zQ+ojawJm{~sSG@zd=22J`1abf8bnA^1x_HZQ%c>$M$8sAf@Xg=cdSVTh8BH}w%V3< zoY6hG5a*iL#+2#Sk*OP3#G}eEzKLPy4E#o+wklWS2`chv4P*s4Mn zwWG(g0x=@S13qz#g>ozG*evJXBU9Hl<3!}4eiYy6Eh>@~WKvFPsy~0@Tlmz8AL|5H zHq>@ZNl(AbV}%uGNek0=UsK3&^Jr zUQap67&C>@OIy=ICfhi#=Un`9cs2LrBJ^);s_bF0JN0^g1~w_01flHyuv_$c3h+yr zYtO4eALR6BkjPwY^T+4%hdrj(a{*-7KrTG$A7{D!VNAWAEDTCad=g#$u&eZXxbGL^ zbZ>FRPPad7qP-qy2SxnxyZm7@>-9W@_#6dl;jbEpyZzxn)aw~yi_Z|3KZl9T?;w*4 z>f-m;UgP$M17ELat1UiQBm~c%&g?$Cp3#U8Q*-9I@BYy3567Ec4`yPLr?|nq)aef% z12X&!ii3x@N334%_UCYs!D3#-pW!Zlm`h&I75HUp_Wph=#!m1wru;Ajujf{g9n{^ItB!yB(>zs;W`T>gv_8DzHDe6am)1n!Iv2OnO~l{SAyx%^>n zdp+zzna*RnzK;Us^yg@iNwMYoQ7(Tt6!Utj@k_HhwCGc}KOFF*{Mh0%+T{=Da9+wz8B&xs<#I%xcv;PU4rk>TQe0My>8Z!CBF!-=Zbb3X!NO`|!<<Siy+IXOhbw4*k6zPO;&YHRYr4qG$_c>r>>ZJ$!v-o@VOHn*;ik--?Zg?c+; z#8vz1P)p|;#Sni;qU+HnA_FBcWyqmnub_;PSxI#SF-C^1j4}}!>eGrboVA_pjZqFM zmSbg%KPMYTB!+ASlo5aON~=QDV-sUsnVPB6hgN4O0sI;n9bp@%)g`mh#o6lOpb62& z_ci}Qqw!?B$*Cagbd zPKp(fmN5F#F+IZJD=wO>2xqV=)=;-Gu2MB;Y=kpbbB>B|rfbeg5l*4zjE->lx{M|* z!oiBNmL1>)(W4&x8dn zH!+lnb%ib;u8iFGR!;-N++q1k3}s?n%@S9pr&{!vdtQ#ZdQ-ciOsuQf;>xt~S6*^Q zTGZ8k?TRw7u4Me?;Ru)JmT_-i7IigTdq$a9S98JfMqEw&;SVufFwe!;q%@R?b#)3j zQCDBDtwEz~TvcgTl!go#ZiZZdT za>bP&zcd*ajl{sp#PA2&6=h;w<$>ds5eQwK`V>FbGOm85T~Q|1Rlc|~40OY_yd^~gFC^3~cEWnx{GfD^6DOPBuUzNo8LwJXZRx+)b{ zCcnl^8#XTL>Ife!VJH*pstlZHSbrTd=&h)$x!M(FVqMJ>R|r7N%fFp~0jznhZtaRP zv98L&@p_V!Bdcnp=SNXjc)2EqGO?~I!0~!anSbD^t;kXn)~DJPWnx`biYqfZ>mBu@ z`lze%gJ20mnOIj<;6!uz>CDgGkGiVUt|$}hilZ>ECk?+eANSVSYRXO86=h;wVMq;E zW9S6th3dJZqGA13yP{02tNGw~Jx9?A%>55t^hnf|ykQ2HGO?~|!0~#9;g{y2nN`E1 zt`_J9k20~Y7J%dRB-07ZNPpvwsH@AgE6T*WS_n?mRYSp#pNhH?<#X6mCf3y=aWw?L zG|xRU2G!l<@}G2Al!odQxZ!Gyd0)pAdC* zf_6ojSXZZm1~*N;n?SXax$ z6%tO&pZ1NO7IjsmT~Q|1RS2Bu+UY6ZyK+|4)n@IAGO@0fiz^euNh51BqONYxt|$}h zs#aW?lwbVs+tHnx=h~%RQ6|>a3UQ?q%lh(>>K{a1y{BDKCe~G*xH=ZUG@~9Jiv%-a zCF%x`GO@1EBq23M(+SMci^3mAUFB+5l!MU9H!yC==^yrMNm0 zzcklBl83I_#PDkEiZZdT&H~5l8A&HF+rO@OAnNJ`?TRw7t{TDddXAwJn8VIm07(

Px%ZBFQCD+x!$6r>SF6O883Qc+_D@l*O;{oAiZY6Kj%i?ovlDkA ztPZHp&Pic{jkSX2W?^G48dI@%Dp%%r(!AXIy3O~V>Rt_)$TbG(w$B5h4A z9V@L+;r#g_?ox;eLMyCzi_i1bt=hUUG(WepAhfo!d8*wJ+noxa4 z6Sr5fv$*Ywu=KJ+sIs822n#TAc4G>xxww+#gn@bV$99!xJy64k2Mf^-X6rw0Er7C`v3L*9MNvC#4XB$5*s^wH&pu zWv~ct=M~Q@4@O?d=VWI){Kzkb4|x^ELH(XS#*6HNqT>9#-173E zyu;1O!t47OfxMz%@x1Et(&GH0pzXDO&a@3V+47PU2_KVV1;NUK+=ARvhj={MjOzT- zvLZAGL3mN=$iHcYg%xGFMWyqC4vW0PU`1Y4K{e8pZ|`%mweCPpX3q3!Ia$av77Kfv z@^gb#<)!&mdB{`!Ha91mss(fsdDEOTO}!t_Nh>IiagL%}UQtyzuQI#YhnP41cB@C5DI-Qw`K( z>Ig_IVq%T_sz$~a6&Do-sq&CBomXv3&h(m`X_9c$_47{GiVu-mS02o-EGa80E5h@d z(1bBii-8S9uD*_RVk$Sf|vn}E@Z(gvfsI0KMpg0e)HHsVujIp!y=H&(R3ya`Gb)N~`cji`yxd?xQFTReNol2MOep1(IMK>3$VInZn2%VouVd?UPOMLP zOx~)pN|ps@>YDPZs%Wgc;$U%ANm=#0f+AZ{&@FU88c=C0@>-=8Omn4zua?})&7g*gfxpG`NW)X!97?HE-FA2|skA@)kb3GL&1X8M(+jW>ISB)?` zu`czjUS#DQJeY!T9sae0f7}Rsj)jXR0arZ#o7yuwzRi) zw$(K#vb}jSG(M+HTeB29J!NJr<<^`n^$jbhV0wl_T;~k40#wXFURvjGR4=QD6-{+* zt?jKVI|38tpBSiG+tIY9=^Ut42J)eR2W`nV37bk8saE2!p-38;qLwZwtOymJRt^6W zhh-XW?!wbBSHdxviNo$e;ljMUwz;9HWusC9R|jYh!bbD z6@?2*stWLeKXDkJ6%*%{)(}sxRBl2w3v%=4Ni^t!&$p(bqp`J~{)~Xo-SBvAMGdegmX4qikK++1#W5B!*6-`AknmCyBGHsZWC&D{s zTBx>j1N}(>?-o2(NJ%3ql)73!zNBp33gK~)6+&$dE9-E?N{2iVmFCyghMJq;6CdG+ zaA#6Jw5}CXcE*!oav>p9v#`3lYW@PrlRHpH<+&E+mM<(67SkgXVv1n<;tqTn7AH*@ z=fSWTjF39kNY;gPWMSin4R4Xz66didh4{314(4NW8u?T3nEDQd}h4kQ}l|v9>+5va_X5KIeKIRunOE?-SNMOuZrb0{kNU^& zL#0QbeOg8f+RqDx-+Ncx@4TNbOzOQnTzKD}b7!fq@>4vw+`i|XjbqYg-c#FBRrK%o zURJx~r+7+!`R9LJ^>_aT*Zj8Ua!<)$(NqjTgutJ_cEr@WcV>27TK1zQpAB4$*Zso3 zYx7G>ho67<14&o^@U9Vm+Wc3gK#}5UUpaWhw&kTq?YVE^a~t2jBTk<<@T4>H@nx#;@4frpQ(8aEc+2ZOe$_j-{?95oBo*N{O~~JS!=4d0l%ACx zxGC|y$M78x(kR7~H@)ia^qqOvob=w@!SjzhXP@dqQaqjSzqzU-?dm6f{Mt>wuDj{9 zKVnZQkstN9U;JXy;{%Slc2&nY+a7!1e)%#P{_Hrb_WK*o{N&svkN)c8Q@-1R_WJ{o zfAFMVEuI;k@YEGGXYV+2MP&v~q(UE>;yLE#u74kS;m-?KJ=}6~$LNo*N4F~coHds` z|HlpQT2Ge0TL1FxgM6qF!r#7QVR-7Fr+n|!?>?FQ(ubR;$ku1@=jf^Tte7+C$n-1f z&S=hQxfbp9<05}cX7>G?pFcJ^^XiTnNBNpxg@T&!2cMetrxzZb@%UrIk6vy4^v9<{ zsS~v>#q;MUpLzSpoTCQy-jF@L`2IJ_@WMd&_s@Izoz-Gs3!M)Vl>CzOFN~J0)6)?5Js;e_U+Ada%c{k8*AGem6Q09XkWipR!*lhwKVq~ z)%9$Dj7WbY%j(>5z_2^&*;7gi#E;!K3AVj(H&Y!=_Fovh_2e(n?o40AIz2g zdzQ!$q3%$!{u?|}L#VYq<6tq1EnqqoFu~IK(%;O+LmgU3?HkuLB9q#ctN7X9-cf(3 z-m=gg#7i6>bRY>SbB9zbSF{|+zq+;#l=1^VXKnKVeQ0gL(sWxxOWnqHBiY}4Q3dZn zzOSo2X!JVjo10b~$d6_WUpx4SX$#T=Q`%~48fx3>8Uu3!Y4~m@K;|;JX;(K{fr+?1 zB;i0>My7a_6__lZ{b#P>U6yz^^FQ)#+Km5>^GI}Nq<=#X)8%QtaeN%k5uXh4Fyp@z zAGe3#s0>9$e6t)qXq??afTOZKBa-i&<58!=XO$1D9HXYtMb?NBoBrImb^NDy6y1B? zk$0Z|k5}H^j&a!mdulcRLq%EBF=cK23hR@PKeC;>$20c=-Djro=yMJsx17t<_4Xs+ zMT=Lh;TvFU)u_D$eN=|p?E~Lyr<;?saOw-T4w=C7`EG>Vw%+8ew-K>f*~LKdLw?kD z9L{@u&m5$C*_wj~`4wQZk}Np1c$nWD65aVJtNc8XYr?i&n`Xm7T9KAq(v;9%8QA4^L^m6{|<667PtCHgrDZ*KOU^Z z01tG|A0tZRIM?qr#g$*iI}z6?+`Xvzb(Z?}cqNdt=q4b`%NpRxK$MVh9lH0k{+Qn}JsWQBq_hkPCskaep!JZ@^1{p8>B1ehIt`_;29lKp*0C1<((? z5_mWee#sH(l;^fHtAPCEV>OWJPCk=_d8{`0Af-0=Amx|yh$jngIOIwBd7`MeNU~}* z<>yI)ns;7=hq{}Btq(mti@MW$*CpTtz8QPrfz@~?e@K~qhS=JqLUh2g9-a%B(p8iy z4Z$F^9i!m1TD!zao~ZNPiQAs<94P0NKq_@&a%fqXIxnIp6`rQyN|nl|st)f}HLi@< zCV*l>*5fj!T@xu9S&3)}eq6P@fid<+W9q1Em5#SGa5nqX#hxWlE$`h4bbf$u!bHKa zO2<%AjI0phL*tcA8xZy3CPcAQ9tvsOykB;_!LpYs@;xYoYoW6u3}$d-Ck0B-J1?FJ z+7xG@3Mxi`49jdma;^BUei%m=Qq;oSjb1;I1R$NP5y znLd=80lXKO54;aJA9z1-8Snw%3LxcBskj-JRFoe8+ccm4Pr#)%W+0_DW+0_bH&MI^ zh_m9^3u1Q>3YvY_dF-*Zr-ERgn30hwDr0is08Nn@;u&)|Lvum?C3xEsi4r8~;AGgVtS zkWyPXkn+m`?TUx~OXTclL2z5;0QY;BEtH4!bkD#U1KlMl-9_9RHL<&B2mt2}aO>qE zXj-`Sazb}*%A!?C=5WwwV;ZWzAy9dEdqWjK`MH_R)M(XArFF5HO0zdpmC{VT(mfar zRU#WIj#RL33&t~*si9>PIldX?eL=TcwDcjQNw`vFH=#74mg6@a7fz(duWG{31Ly{h zneA-Ckbq)LVPj!r|4&)scW^O*jr~0XaU-@^H3Kypm)-tdv1gX5CXD_&n=ta|_tUt_ z9fh?WYIC{?qqoK=59RK^(S)&0i#f43woT)Cy@fhxN5B3v6C)s>g9ZBtAPTOSU!y?s z*?tdX0e%BW`~5&H3|nsknJ<3=js^Z1$m01IAam{=Ap8Hn0@?Yz2Rs9aauq%sxDVI~ z#P}+_1^6NGa^T0nTY;Yd?*uZudw`z;?*k&=!;Iq>K&CtGnZPIEQq3YM)hv?2)+Kl{ z#p75|@k%1R@(7PrC>6u#qQ%{(bQimt%9K6D(o{xT%2Y+^{ux8?JuJ!U(03dvhN5q4 zKWD)vwk55nur@UsP2ptWMZ7G4;HeIKdrRtvUB1KK+5g6CX&ENNn2&4T80~?6L!%0B z{Fe5=T!JGl?P-xHsMiZDkPNF_^PfjXGrm6uvS7Ug%mw}eSPXm_$b$9?unPDhkk7_@ z7LbX!Q~@ES3J58`H5%S3UO-dM&2emtiK2?~zp{A;UxUY*De7bF1>|~p^=tEvARb~E zq+73l^p7fwwLenI28us?^*tCAO<$XLw2K{fS-t;`I=4TAVC(ffg|O%&O<$XLu-k-~ z_2ccczT@_XvG98Ms@wR}*XAA1LXt8Auecqtr;qmMN)mtgikmT`>1*>2CIiH*KfL|h zyWRdU6TC4Wy{pYTz(z_L6A&MwAL?6{;RK9Ggfl&cBZ|bX&#KE}WOyT)E?ndDGM7xF zi*uffvt4r%BJsJ}C3BbN_#ne_CWBDH#0Y1%+%r{;%r7;E9~*n|_SE(9D&C`{P0O@6 zTVu+_em;5_IML6*mVWy2Z&j|))4%WshB5=JBRzOGdq9PFykD2Mn(ffY)>8*b<_J@F z#!87>=`O>KQ}sQnpDx2qsGb|OZ+fI?>gy}bbcYVSI5C0SZnS#7a7;98H_AGy{ale- zk)K;c6;hY>vuT7P+RxD6$Cl0w0 z;FpfXTHnBk~eV6^~Z3?n6 zeNfBro`!lkPW`7j;6DPnkF;zgezv_r=$1Y9K#U28a-ai4|KsTw(Z3wXoU7#y@A+e~ogOZl1NnCt)*g=th*+QTqkkok*{J0XhTAbD?kMvl!npWcqPYT9WOtw1%Da} z&GRfcFnvBREZ&67|8NWq!;V(`bHr~s;x`cks_sc57JUv!{hbZ#A46upmg_6rAp9FL z86&|d4*wkCvO;Wv%%-UhIY+o_VErIuj!9Q?eT6##{!N3-=`0X1edPz26T2a^C*#0! z%(pKgcZ5#kt7sLc%;Hb|<6R-A(_9d-Mlc{W;Gd5lgSt*Yl2hVrYb zPseU@%HaUJZAoEnLE(J7E>U(~x1Dl)j21|+3s4y_)_S1by1J@nfwCT@UHk0T1yz+) z0vsX=j7U@%rI6SzL#_W%4U+nGLy$~-;~@#fZyNI#oc7K1BdMzx&o`}R*MHSXYG;nY zllGx0c@Q1Pqv85!`$It^vuI&uevMJzi&b`{s$X33|FRk+wNP2}Z0e2u(_&;Mu`J6d znuAX$$8=D4(V@!Nr`#dyIMP9XH5b)Z^rxZCV>6ZFaqAqi*MrWXOSf&Y@ZGwCmk8gj zE68p+#pBi${HO5UI)PkoO7ZNQ`?H+d-SeAQ4LD8TL*Hh@ZCCrj|ktb zTew&FZe77+krpW)x6a{W;k$JRHwfRYE69^aQao8HyLJ5Ph40q!yHNQ4y6^rbwd$6qzkf~5?YF*D^g2}Nh40o;#E#Yo*R7-YH{rW= z6nXAQipQ;s_zCiN62~}w>J~cH`ueLbWK@~@EB}8|*)CS4tzU|BPW?RTdPP4kzGm7t zQiwcc9l39yz!$4l*WYXux%TF$+F$&qw&~;bDG<@F>u=bS)Cbc6J(#`LUhQv~2iJRPwZO`sB8GYqZ=4MZz6hr|3A~wGwNj#-7lm11%_53%lL*GXt5fJ{RjXe zO0VueRn+^YF?Kxge?2~K55duTe*d8=p?T!~1OXYX=Vx+X=3t5FGO6cRFa}F=7^{rM zy*f9HlwX#?;_3cf1ldE@{bOKzaar99(o$*`Zu?d8)}8PNdVr(1eUQBU0@66@bj!JE zPz2-_nv1&I1DU({&IScU_ux(!C%0dE0t7|J+C_dA#!;jaS`JBCOhv1AVl^-gToF zu2Qj|_$;iU^EbOFanr~~Mx~KYC6qiKtnor0QBK7R_tf5XPz|DE^Kw45t0i?0j)A~? z)(RZ+)w>Qa{u8`KL#lh*)5JX^HU!Fym(;=b#7!xDsE$O>rXlZ*0b@_m5Qe$O$9eR7 z$>7XxN$q|qxvDbt)cGzi_Tjivx}W$D4-}TXzdLbL>XuEZRu@>EzCAt+2Q8%i)-NIU zUJriG%-jWi#l#+*L>kXs3`Z{c^lQ2&G9<+xJi%c5qX#-TJYfm7uuCq+F7-a7Dn*2AFI3q@6! zjY9El*EvG%0(GuX$l8SNV45goi632062=CjfE3a?+QNXNk3(mNTS#J+(cQCRhzi_|E*#=6)Lj$rpXj-$%pv z#o@V9th>w8MlT6 z6O{ZUn>>p5lCGjTB8FGrEbiTvb0DX5)0XvY*_>u|oU!GU0i7dO`Bn|=T{mHo(OhL6 z3vM}OVCUhhe7)-?MflL4+f=;e6kq2kB-ChLHNERqVMZNWf?!r98$S}4D3!Qk zA>1ky*M>tvQ9mPbardSG4p`GFki`ke@4+UU6HIYPFzs1U04`NHTG0)~hHo*Hk7*IA z&sw|+BB|C9Y}5K-5+E}UmrpboSe<>MRD>5~pi=P5%LgCTYN$_CX^#*dS2vFoDu7?! zVJBbw9w!vX@0M(4D2cu^A+36q)p#}RP}-GBJA0m8n+`{dlhQpTt;-K06*WAe%g@F) z+RE}RlPVmH?q|3dj4^XSB;t||0XPFfd=ScVg_SQ0vK{)&bVC`g2M5RCM;Wf}$>I@r z%Cf0+()&2Zr4PmPu_&8*63V)EKN37f&Bjx&P>uR#y3J?C>r!0o7tJ&N#-kMUUIj9~ zzXj66I$Y}5GE(Z;GE#o)HEpYOgB8z}6HJ!>V>yx6M^4x@)4owoX!kKWp?HUu6L0C9 zcw6VhpLI?&ASqQ&kWx88O67#&{Q>ui7tIOO;gqg~G(ajlVqHbpT-h>al&vD12&=v; z!Zg?(s3NfLIV%F)up;1Pm6a1G`E3dcRAB9I@(@CFB|j;Z{EElqSG2*Us(9 z?=1WMOa9;M}@Pf8`f;xYLZ?{QF8j|V?varvZ`cDCqj`R#@+ zIt_s>`T|_(juzdx83?;+u_=lD8`u{)6|f;_3>xxytug&{7DBAKhv^I>*D%9^y|l(H zpj9f6QmH`7&+j|2vYd=eCnLkjnC4`pqjahxK-Gr|&Qe0{ zZaxGGiG>wkx{rRs0!Bupo^3$77{fGTsbPs}*8E144yGUO!-IiqfE<*z0Qub54@0!P zai+VRFo~6t@G0PT01JQ*0n4-;XXzVpzX*5^aH+Omq3tA3y)!v z^2_&%Vc}(hN6K#nL0up`PUuMaty4jLOLz-4qSuN zIWQ;?3MahE*J<6wSv%KfZQHduF{Ed2*jT5#IDKbpy0>^{HO5|}d)KN-diQHwae8CZ zVzuyb;<4R6Oi#vnLJ%vo`jFoI+L@f$b75lJ^Bu`Mi|14?T8QyOp!b)U-oX1n*PuPc z(ng-y-9u3hT^ezvT1z4n8x*!`cj7XJy#-BQt=iSfI%4l^)vk2d-^M_6tHx>Dc@BGf ztHv4E28aEr?Cx}EZ1q^GPj<9=j5BL32T?P|;76HAtGBWlTQ*~pAXm$09uo4dS(RyI z24XN-*RcVOi)v&zlB{cPsBOW%(x#o^>;D#PN{5+w_Ar(|8VZWmzVufnU1>v_Ef0fd zt)>}|8p3Bd5lH??z>&b&K&Hzi;0z#^EW$w`zQ>goCmmRVdwjDIZU$0*4G^VXz8gX9 z3$xr#2kro(R|;PSoCRchQJyt(EiUzaCn+_DBZU%;vaNV$Xv%M`jquR&iEXrxtcNRO z7&96v1VE0dIKJUM99l)VXpB8e(?ESkxgafJjQwpwsQCa(1Lro*K9FJ3Z85H_G5Ap? zS{kU>?Cb-Tmm=vZ2`UpM7ftD;Aj7#77gLWZPlGlVO*sx!1G4{k9LWCTM?m%;PXpOY zJpp8GKwB(d1w93vi2EM{Gk`w@;Je;O)|_fNUB)|85M6CgwgDK_BR{03?&5@jdK~~QShcasw>_2ah;6olsFm0 zWe{Ci>2)0A`gGA$R`#JBH=4@I;?va&jQnc&jH!w?g8>SUjQ-#xlFHyout&Tlax9xT=Blr za?vV9AB`EI3HnCkoTgj|p0i5W-OP%g;_a>~A-=00SCug7&E4g&b)7VXj1beGJGa?V zaHh>4#)B!yT0BYf(Wrz;E&+0&j#pulQuu^i@Nn={ijh(&MoJylt#~iuUh%m2IVAe^ zxLRCAu}(!Ni-mag0eRQiYQ23=t|a1~Tq(VKa#P`rwI_F!g3*lSp4@bGCy%iwH%sn3 z{9V?==x)d5lNTAwK&8r~eFmxkmoaRQX-sKmmeC6aKwOQB#@MqJG;JPRxed6SSxP_Y zwwZQg@S{wmm1}BgI^fCd$Wmq^Loz)adoxBMCKEaOt5$x?FT-UPay7a@IO4NupD>`kk4={km0Z) zSE)@(r8X%)Kdu(rBHe{0iT{|63f^-Q@ax~&T>pY>6Yaq+jwA8 zrj!#n4kfuw)8t7}O_QznPDdEVFkI$<7gw5QVg?WO&WjISWE*Q7G^jmFt%Zw1epGIlpJA63L+O%m^Ey)n_8s$ zGd`^D)L1g*R9ZUag~a<((0ryznpde)sS3yzaK26@%%mi>hJvRWY*MPhCZ)=m;{6Qw ziWeQD$bz)2OLMOey)Nw-ve=iUSz`Jgn54s&56e8EVT!Y(=992ZjW;l%8_MuW=f+8K zE=&KH1}2;wI0q(%*RO#|5OFky@xBz-KwQ#60Utwd@L7HY90q&>$lCrSkk5yA^paa` zpjB>>Qn^J+4M-G^0}{nUPdY@pSj;*n?kt*9y|X9_S9&$_DOKj4=wXMiO2)0)iV3gO z_+E3%rYvrnF)F!=ZykJkPCOa@*5ZoaYgWRBCRKstAfJ#qNG#EOWAAKjSjL<)Mfyp% z6|{?=!<}nQ9z!N#7^pU`dSzN1(~ojI$%@7NM3KQf@o;ch5IIjou8V>=)(et`G45ox zb~HA$X+GzW$LO%k9P(q_pQd>PJ_mE0CA=ILO)hejmj&6Z3$q+eN@) zU>T61abNp5#>*0Y^4r}V$;i*8>9S`I~0*aTsO@^a~xSnt#55SD5q!kP-F?4`=qq@cA#r%|u-Fn!npp?Fwp_%v4_hay0TH za1QVnz##Bfz$)PHfQ|Z|Bf29{+Rg!v1crgf1DS_^g4|WWw}ICIv8ETk4R{>zJHRo( z9|0+kS+eymp1-=h_5BLf2Z$Pe4?gI`1!Y(`<_;(<}WZNH}0z{1p&j6yQ4rc@R z19O0108xYFz8Lr=?$P5}{{$`o{u_8Y(1Unzop2!VY#_=}cq0(2qT%y_NxPn@PFjiYxm%?`gpNBv90{J{Ft$ti;{e_fTe<9_UI@c+@QIIF)XR3()RTA9`<+sv7 ztrxj0P5Id-$m}7>D%6x(@!TkKT=68ORy>(2YQ>Y3TJbzrc|2d_Z3!#b~VW5ij9@mvljue;Z6T+#Sf!ltO(Vu61vuoTZ*imoX-j zq%KZ%Mj{#C(NcqN_Xmx#&7T>I2BLn!LCjVi!$ijJPm0T*;UY5)zl_gM@0feL+n>W- z{tS2d!xHNC7=Jcode*u98R7CL)#c9-BEwS6rx`xr(@)+0j1-yO_%-Qsg!0Gso$@G= zu|Io~OXf(C;n&;rk;c6x%2D8YJ=fxw>C?1h2S{f+A1yM85MaHcIm#8*XmGur<+eO^ zZ=1qFo7XcNzYOb|<1d)(4(nKv3EKQQ#uXNqP`n;S)1=QJC1Wdx0g+*yU|1u|2K>t% z))FY#b=z$pYbBYAuwGhoKpLe+aIl7C)rE z#~(2PiLETnJ2)@sd&@F1zjblm)tuoG8Kx17%g030MK4A#8G92McbsX5~# zoDVf;T!iCc;ea_tIB~YiDX+|88F~;d*&}%^rHEiz9Bz^WeNYUTvp{W)ayX_=%bIpw zlp}*`m9J4(Yymk;jBri{!{UH1!pUF{dm1>>pE9fr3bD*aI8cn>f{x;-_)N#$yciB+ zSQo>g3v>kHk8;JZu883Q4RIWhz|TE{1LJE4;x7u`a^X+tvX#da;r|@johkj zha$IJc8&V1j%lQf~1rA{I9#cwro5nu zN4RnuB)s%(3$1LfJxd=6ETP*}6{CA8*%W!BOiF6CxG0m7cBV=p2B%Vkl9KJd`Yf+{tm;GuK{ z6>?JGbh{NFOJ%NqY8K8o2}I37_kBvwoUY`#@6%}6_vxRg9}7{kY2xks#9eb^Oq_k6 zMq{|W9&%UcZiY^ReeC=6q?R#$ikz+AC!eFMK^U+N#YKaPuJ#{s>;tkL{E?91Zq_s$ z17m-qpmTpC_K+hvxU-pf`-*UMeQZDE7{BrTkmD?5azEramzdKJIgY7|;>pEHzeSK+ zs%0bTXB*GJD^dSj37J_O)WR^G;_VB>F?bjDfQ*w zosfA{%N@wS7a(&r2g@)K{~Y1|26jJ#%#9o{!}RqWoZI{vG9PNWzQTP9atRn%@8aMZ zCK9eAooW3seui*>4bzu@@53$tnIRlx!yL%JQy_DimOGGt&6LxtsD1gz?AigDTeVzY z{`~=R4@2fs4&Gr7e5$iMd?^D_?gZT_L9V$<*uu6A70t$v^Lw*d`pM?=eh ze9WJO{cFT~ER;a=b+#cPr>AG*puYu$l{KYRl{lOH>`+ICl?E9eh^I`fOif76uZI-R zoO7QTcnGHhI*$V6`D`5sQ|*USRfXe{D=|@zIUlf(lK_u})E^LI*@OYB?V;F6%Vs@Y z7}^M1QnbCPwFQD0tRHa48-}+Ot*jam$cOfH#it}&qFR-|pl|{9IGSHtSuCmIK1}eN zoEYdn9gvZ^56zZD#&q`T(7=No5Xe1n?toK?@PB;jUng>j-Lc+ZD9$l{jA|soBLxiF zJL(Bky79>31$bMc@-8;ZYOqf4IAyV~bN#GO5uFb)GhuU|;<@70lD21We(0Y3&$edg zZONZRJpl6E`_wcDf9rt1-u&hDVPEUxUoT&N!^aEd{XFC^dgb(A7eDiI>+8);ZzWy( z4*II+M84wm6~o>>+`D+pS-WyJFB;ly$;RX<9`{**(By+ZqsQL3A^p?wkM21(bnChQ zy8AnpwOsh_{cbK3zI&gVhlIcFzGu=GlzjZ$g`-ohuevX0`C$`_b$azI#8K?+bs@t5*$AePU_yuum7Ry1L}n?_z~t`0o9BQjs_D_T{M% zzIz{^EyDjiEBBqmRRe3jdcgbGdg~up-g!*;?tO?p5dITGf;YTyMDou^jCty$zt38F z4&E@J(M|DOGwJSxyHkcjz7QTDGqz%G%?~C+(;k(ab{H5^S`|o@z z{G~PPf8pD;IPcuh?iaeRc=JtYVxWJCw=d63;Sa8P<+`h89NSxP)a>1BUON`U#nr-h z@7Hsc@ZI|;JuZCrK0dz}zI$J%6pZImJXMEZ)cE4z8}}Xl%&^G~7hjF~k}LcRdY?NR zQ5gK&r?Z9y+HTCoqNwoQXI0*-_)pxqbi~{5CcQJJc<QzI%VAPf#Df54!_zn&8-`r?FO@FxKBaT>7=I zPiz?V?S~jfy*@j!zj4~YZhPIzjfeImwnG~G8&Jc#gC02;`{vIk+JW})Zf^BvrV8d%U{`Wi06y8_VfJ9 z*uvOQckqg3f5T}8+XvW?>zi(P=Gefj&yswQgG&3ek<-TZr8p_Hp?@bq_BX57uC8l8 zS(U{2amSusuEQhaOUCSJ7GET?htvUg!->soU5XF!VAZxmZK~C|;psL+^T`*@ zTubp;_4o}4)repE?i0OGrl?O|qofI?$~BH%Z|Z2m3N%iZZ|-bxtPfa)T#Mk$*hO%a9Waa@r!%m~u$~fkVSd(xmZW~b`J}Mc3B@G@P zuMAFvuWhCyQ6c^q%z(BbFrGX{!vn+|UrZ?$0-1OVa4DrqQc9_klwUsmVg%KvJET-0 zR&tnih+9AR0!Uz1sLyw}F$qTJqNMGE3#I%RRhzV@ABzPI(~HKLeyhN9rk`;$40b0m zQp&`pU#K3MjQ!I$zGytvj+ExLGu;@LGu&|A|x^zih=zqj@@wst~R! zTclJPky2@-cuXV3V<|Y)8rB9kCm*1OZPn|R5OX~Je^kNb1G@k`H6~sSE7YmLTBcHg zlu89se)$NLWgtn;%_F61n37`+Q*!p&m0&A53>EdbkCMYRa=UTXuBEVa)-K~_DD1}f zS-awWR$>bYDy2q2KVW0iZ)a^XC8ZK}Dvd~~G$Q5aCnKUloMhdqsc3CVL5-42*Qyj- z+OS;0_de3bG@MLd8fV&cf#*ycSq(dtmZVf#lEO#e_*J}DGxdVPUTPS;4PB>6n z*7UO(--c$qpNaV~;uFASOuV!#*L8P3gj8CRQfWy_rKRFAEfr7dDZeM+rOV_HTbX1H zfX{uDN&QMrG%6tEDwF4c=PZ-P%?Q|?5KTv%bM(#1BzwbJ`P?QEKJwtz)=oXBaFs!Z z-B%er6?Q7!NU3xq<(F*~6mJ*q6|e7fQ|0eJOE+q%ILn_s-A+7Ey7jmG^`I2>k#HX) z`~WUv;-#A@Z#587=|)PW8!44;inj~*iub>#nM^$ZGb%%HF#XX?rd-rj0F4(7%ce5q z*fmQj>-De~^WchVU{abB0Gb4(U95%=N0(mDcKi;(wfny7n*iF()F?7BI(K*r zD=G7wzpA&qbinZk4P|1(qP*8Ln3gnm{S5)Ar;2_INtswztUKzt=&0wVro5=DZn9t~ zqkOs>)Er#yI5S+Y2U#KJ`s2^sZQRJ2iNd9f^5-K^r{Qw@!x5&}!(W=N-%WhbxIxKc z(!lLW4pA8CmB`-$5xFmBMVXn!c9{Mn#6Ed8{(jzGMg z-{9BenL4!3UVhjvcs;}M%Mg!$`vf$@4AkxqQ_t&p5x;yMn!YrgjX#YaJ@J9tpJ8wr z>yOrOwrMcXhuAo~4`MuAWEgYC`MW)1rn$qyPyqfsgUjf43!%H_{Ump>d8c|8n~@u^&SCCZpHFBn^|=MVTb@j24v z58vb;%%9ONe~ym$cu7pDgP`Ts2)*AWgHH^#2}t}=zg(Q(Yfe-f_V1c=xMf@o;KRd2 zwP8nU&WMQ2M9n!e!pYH`krB=U%{e;4Y0{h_!Z{yz`j{Q1R=~NxVpPdXXt{S!c^snx zqaUFa-)58+R+Z%yl+FvP#S^8RrY&dY=jBxtRu$z1&5}xt_4JCO!m@(0>Y%K%Xe+ZU z5zLvEljDj_Fqj?8HcEHZ!K#Xqyvpj*{9vr0^2!nMsM3axUG}_+qN>8&+}vPfN$22k zpf53z$jc3ustv7ZZEgO~m9b>GvmWv0xn&QbuN+|ISIrMCDx5EBSQWWt zyvx9f*Pvnd!`f?Ax2|t!TiD*vR#Cg5X-(%Etn(%g>qP7qmR2qZRWF#2(Ou%Ov1F82 zK@EutQ7bU?2rZ}%<>!`{=jG+6q<<9fQkXzs)!ZK+R$D5Vh2G%*MefhimnAk zT-~*RjsJPxbMItk&IFQ)`~BbUmkW2^bDw+8xu@TAZqEC>^eh1g3_x&RNPOIQ6@)6y za!k+7OpzT=cOpU=qg)j=b7>8$zNthR!{USUGfz)-79dON$?ZJYcheVl`3$#`Eh%9} zNMw-Zz?Lf6^W(>U8KXH`Jf+OY%}c@DU+o=B!ualYPZ#-69Qhf!utR4(z>%Dhm?s;| zILqMQGO(YC5wAo(Gjp7YDJgkaPlxuOj%$Z!ell}l(Jm)B)fkSutiL>0T~%?3t0B3z zKBKfgr>WXiUs00cnp;uhYLF;H7)5g73}(rCL`99WxU{q$6f>&k@C363NFm;hcpJ;P zZM?0_J&HVvh1QlKR+XwLec#v+JfIl~$S%w($V^Uz*}LrA6x7vBN2+l=?p=j@S&kX` ziMe=wR-(g^ngYXk*^aE#0`3aT%PlO(gfTpB-tygN#dl&dQx%?5wK5MmnpNWhCaLWTi?qGGkJwmX)>q+~jGg1#*v%N}5@aDrMM5 zlASEglg&39*Q_Ro)dtwEM zH(eGwoav}^jvQ#@S#3T!s&G7V7UrksITMo$GN&V>wBeYa%I-h|fYYp)d`2A^L2|8| zo{y25twYgE)v)=x$1xd+m~Yla1|EYJEcw0-5!JbS2ZtlsM|cHbpO!4U0~4^$!dnBo zj&de0dAjn$ZWYOz=aVKIHQ+*DqRmyW^QrL5+QXQR+H&+viU^e>;`0*5pbA*LOQD7hK;p_=w<{pO=*9 z=jP3JEtoxS#>d0X!#kx1pZne)ei>QyeA(u@*xwe6cqQ&aY@`?b`QD2^PU!VS-$@fo z=DZ%_!V2qR!N0n_-?LdEL5^elPhEIV^P)GP>?OFqOONkoyX~BxYKQ$TxTI$E-_Dph zWAfQ6@bO6SeMdYsG4zU`9LGF4Cw*JZ;V+@*3EubW`yN02(b&gkEY03lxN^mrP@WJx z{DzE)*A6;qXZc;}Ggs%_lZs9Hg1@mXedM8M|NPwGJ2xzzJnZDBF+D&RKzUyO)0EhzC4X<6~$ z%wAQ^Fdi&;#*-&~y>LV8=m)MycyZnOR4C6h)Pn>(# z@N<}J9s3$s%2c~9A! zPJVsWu4NngJu~>Jn)!xtx8QG#92|ZB-^+W98&&mS#im%KbC=-yuFWvayRaMb-slNm z*PQa%`;!KIe(6<7PvVbhg7-S?w2(WGvOWLaOEG_ZGVvHkR{OKOJi`0?gPpjd)$H+I`geV&fGbm^KOA6znJ+4y^Q?=p2>!#0ulMACdD#6+p8wbM z@qa({Q}9RNn~vSK<)Or>lV|_&m5-M$zBcEgAF+xr75s&}R_(5PcUk<@3D1nbWvUII zDwYdg_s(&SFOMm_{)~OY9JjxGZW`LT;1`@qTgD#qju#xlkg!AW0Tz$^5cs7>J>%3ACG_Vlc|MA z&BmKcaNT-mqu@Ub{WN1?W#m;iuKU+Hw+x>4Bh)4ZUwwY+%9V3Bz46hn?>#$e&cIqWtT z{JiKnhs7u5_Z?fi?%C3?8!kk9z*uIt-EwYKY5&lQ@HfWqh^W4D^9@+02>$iXIkSIg z_}i!JGKLSjGVcAI;Iyp6LTfr~gl+%hnYX>&bLK-Memm@#zG%-ucvsnNWo1+5FMVq4tx?Z?^YE(VYK(aqf=_XM5fBC-AZeuJ2C%M)2kPEAE=S zENJDbek0cYa_QfO;Sa!gf!l3Y46iZhuSgyPx^fWv^ZQ>w|;7AF}=Wxyfi(hv8jqx9Pj6a|EBh`7NWR2@M-^^Ef@#z zozZR^6M6nQEn6E>S6@5(x~Xx4(0+0Re{a&JGjG`3Sbp{KV^@E%_vZWXJ{A1S?WeEW z|G<`&vp0wCT60wCdMF18uJ6YFP4MA2eYE@Y#}2*hyY!V`IDd)C$C7mrpR4bBpD+0L z$yMe3`b-WQH|4jyH6Ql64&@{GyJIdq{^>_IXTSGM&rO+^4jBrn4#9Qpf+2@8{*(5; zGU{(-pMUyP%&1=RSDuZ!oguisyM3|X*~i7-wDXkrr=2YtO$v^5(G* z!3wV6x6Lj7JpAdI4XaMeALN)i`=8(u68yY@7u0_J<7J;+GI;9Wv$n5UhffOlK5MrP zI(qX-JuW|f@%aVe8_qjxXFO<11qT5_-Vry}y>L!^(T>C^;Sb_7gWxwza-H_&%l4^p zFWvFL^;-s^pRN}?_i2~wva3Iz7kry@)D^SW4M#Z({`NmwKaDAW>d%||U4Ploz5>sl+D1h0FzPsF%QN8C3g?+;Vf zhwraO`xkuAdA8`s=Ds%mgsUq)8uQ4CThRW|$Dj>z%a%_TMMY1zv$!TV?bk0}f&B!* zFTSY${()2fx@Uald&8zjUyJg&P4GWYe{k??cN|@{DB-*7XZ2ZflOa6rJNXT&WKvOG zeQjBNadjltc&>)X5ep}bJHBW^MNMh#f`-U>6^#u=6Go3I!v4&vrczf?LwRw%tF-8> zTJDMsy&9!qnmv!#ZS z8MWGgaXB`CGC^qd?nOrm?CoOJI*PTfVs3GDMHThp0?0+fqMDNO!1}W)15SSec(j>; zhSGVZrSs-ns!{$Y0Ir24bpgJD8(dJ(sc2lp-X3r+Ip8#4G8K3X=Fsn|p{7n}YsoCC zx`uL2=q3aZ18PdPpafh3ZL=aop<3(#=MkO?X6D}yMZc{5an`#(i>hL0%Sp9I)s_Ma z3w^G@N*52UZ>Z-0+Sv!Ub!0?Q8{o{M+Era!XBfO_%Yi=c+8R7N|SL{+Y3rDp6M zu0u=ZF@WdIaaDUZw01J&q4XEPGdK}k3>vk-Iz?N(1@_uSp`x`l)CM{iGoN2wQG@qT zU`a5eC~K-H?NS6Xm6N4pS6&3152{G`H};B>Kn8p>M+jeBRZ$j5U$$cKNKI4Minp}B z0;5Bq(_Je)rSqL#i-?`Lp|0ZKV?M&3?7GqaQfDHt@Nvh0Mf0riPjq{=C5I`F> z3u9hmwWXpSKye@w4S~*1ur_Qg!Gc*etd2HV@z+q*g&8ZJTT!RRlLO8cz2|-&vW}Xr`quc?1_z~UHF8>^~ix@Z{s`&Fbk^dm7wdGlXwm4N zYT|LwY;>3)!Oecq+593c75uarSl32q`9vGwERY3JvM{g`W_5;dqouS0c}muWa-e> z5ZDA8x+*2w?!Zr9{zUL+gku-{Lis;p*@i{E*3X4|_mGw)(ZROHUhA89)fZQxw#Ml7 z_~WxtSzV4_!%=<-FAlN7wrt%$3kD)-PkC@_L3Bj;BeulluQm2q(PKqFxq;16*f~fg z)6w|FpZ?)G6TkQ)C`y1aV;hBs3Tg_jtm6vP!A$Y^41uuOMwI#}v1tGsM%4*n+$=lz zvF!{8OZgp~<9yWd87IRs8&N2I^PmQTC_-?9GkGzoG;KYXepIaDTWl1$O$=ckjYKH> zLF6>{R{O21!}jAg8|%=aE^90oh$e&@5#Pd+s^SK2VpgV92LPg`HLt%jy)+h=$s^cm z_M^Bwtqx%$g!^FLxEqh9e4B|n3}tI>1|&AhP$jQcvYADfvYAC!7;RjNS&BYlX%3qVfYHo?@|R$`V51i~HQV}(N*n&E3$*)4w8+-I z%YSGb-5OG9@E*EA1RH*(p;|qf>rk}(i_t4CvcbGsXu^t+)-BFiGdH!hSC--+oDooS z=C5ZfMJc$C>86Xd!-K7qIb`zK(lSlAb$=jQsb!~&{#e@dYu!IpTCuufD_)M%w-xi5 z3|oLRvaJ%uhBX^VT1yve-% z1s4xphm%b<$i}MRQ-3(K7y7nuJPaLVqh=3dPT^m**s9KjN&dSL$P4eL=L$yb-w~+rG)pq&m+5dH*d^{)~jQ)QrT`jLe*bDe+Tc z)ogJ}EH|LwSM->sSe*RSP>Y`+8fWU~pc-lu#!rk9uhdZMD;jDiq_ml+^rxZr9qQKW z@S~x28Y=BaAAbq$XsG2*^okAL+MeX8@yol|b!A)!e*-5eziegxG|H%rJrjQJI!XCs z8}z54whH*W@KcU$pgh>J{l!O%A-BQLdnb!G=^OsyqaBr_@pk)ait^X5o%klBkuOXD zS9#Kb<75B&$@HUq`cK~{xcMvmeUz+xx%2B|XMk;cAnMig=$Z!ILTBAP*P`D^gKl?N zS2XCTUGofPD`4)1avTQi(Eg|4eVUS==*-VdC(AdLifB$CDaV-({gxzA$myqmR!%f=*8?I=hkvl?F`ov_hC*m^)ph7|=hs*Xm}`Mop} zsX+BBbClzRxtE+2(ybp3%uU2TJu^QuDJ#`vVrKyaqQJ;nXS=Y9{9qc5Ocu)n$;!@! zGA3IF6{T#ztT>cjaAE;C;*$!YzD7kUce0@{mQ#?}mT)R?xo_fDYC06Ss07uB!j#YA z&PItL9fgrP9SU#LQfI1HgIRg3i{Vzui>8`iZhcD;QfXSU#>a0>Hi}{=54Ml$Mkudfib~-a! zw%O#onT~>7*fnsbBo-t}%VbZOgTI3{RnsF2GYaLi0Q)`aQJBo&zehooorUGX_b#5y zO{PphhxA6u zGaVVwj?BzS%f%waQ$3c06@7X1FjJ9QhHv&Mt2@j4#8;J;^}x>5_7q7Ys~&#}n~xox zPP02&L$80OTQ;oim@!MEEt|HBaAJbV? zUT?6%oJ?x2CuW&>@_H+q(V4dx*?*OGvey8Uim4XLt{^o<22FS0Nz6*mRqt@To&r^5 z7ER`b`1F8P12j7R-I~n0-I8!T*lyG9LZk?uq1k_+)og#7&+7!&HJ?c$WVfCEwo$#k z@6%4J~b&crZg6kU5qyw_sbdBh>g6kU5p9rqo!Jw9p-KJ|w&lFs@ z*RfJ?U4!~X!F3Jl9{8qUx9N6N;sw|3V3Z23Yh2$TxUO;ixZt|R^^bz<8rRAWiLPwm4fS< z+qVj?Yi_?OxURV!f%UaN&F$%e>zdow3$AN!zazM=xqTQuKl{_%K3#BKbNg(;b^A;A z3$AN){~)-o(LDiUs6UNvj;(f^uF?IN;JQZlUcq&Z?o$q7JYN+(c}+yw)Q?Jr$FE3^ zt-lhJG{JR^Zl&R@YjnRS{&kJ+!T3&Ox9J+)g@WrE-Kz!HHM-vvT(>LL8-Iwg+jLFu zk%H@*-erR8n%>t5u4{U~Be<^VynpHalCglP48yGbxrRLg6o>zLHHo-YW#xHND>uT-Wqgn$NnX_Z+qsi-Tu{i zg6kUKTLsrO!1t+mG!5{vn4tT!Z&oh2t^t0h;JOC*hl1-G;F!Q7eq96nSiyA-@C?Cq z4e-kZ*EPVm39f5^E6rzJ1ANw@OpmSseuLn;2Ka}9>l)xk;QOiFrfY!D6kOK;zf^Et z1N>FNbq(-dgBicB0iGeat^t0r;JOC*I>B`f@LhuI8sL4fB(&Rf4RD9xx(0Zy;JOC* zUj)}Rz;_6)Yk>bOxUK;{aR}3+Yk)5lT-N}KYDYk+48u4{l_ zEV!-#{-WTz2KXMqbq(++Xzly6TUa2tt^t0T;JOC*Hohn&uB+ERbV>#RoK{|-|?vix_OB=Wz9l6#A-{n#Ddl=i<8sG*iHBMSxdM3X@1O(UiG(ifya~Gix9k6RYuR_A$gv+XfIX0C zke0%Ouuht)?VWfo{v6S{;ZV%;1<-=K_5Qo{{&j+xZoPk4$;5a5xt;5T-FpB3L3;n4 z7>)VjHH`!ZFvMCqXWeW8t~pJCa~5@lEx_C>)y)=gAXYKxrO1ZLz$QFCYyllzvcRyg zHP!LI4(cWt@OV9AV%beFpg8cl2?jjcg{ijX!I|LvKS?mqiFdkb(L9j%c{e3N9c&jj zRE-)lI%f13etap3i!CxWyNkLh2|7XOi2>c39(Gd_xQb95-IN3!=Yj2}Bq%LXI_2Gz z1P5UbM$hV|B=DFqp*$9JQxXWNG>hW*q9o|-bn4&1H-Jf?|D|LbEkZO%14h>u=evsQ zOUgkU5bdg{6V-pR2tH6Wtat#h?GLJiS^bZSQfj9D*cO&yZ|ngV3VzrY z$gvO#HS_B77CfOGr%~B+Ra#8temA$m@(t(awx$Iy-_Y3G!h&1VLVd3L`dmlgI=p4+ zV8bKS^j(a*1vCwqz9uL}!LBWV}F6DfJIIR1(;l6eCEnIv~ybt37<7C(cIN#;&26c!f zN71YjTams->a8chvxla-Z3LB0dl~HnNSl z4YM|F!QNbx_F#pyt1l~qB{W*b3Taq7wxlsBM)-^kThg#o&oEk_+meQ@VTQ3KZLkt- zAI87J&rOTmk`}`Pnze}qt{N3~bwcltjRpH=Oze2Lcokusgx_Pum5E>0e}uuXzD;Qr zFweucDYbgugxj|%l>v+MX-bTfsa=Wlh$#H1qpc~?6zPFm63i{5?Z|=enz5=au_@J= zC_O9|nvwGNA~5A|{fTf&8^~`hik?t7eMak&=!Djw z6-CkUAijv%k`g_bDO`TMx16|*E6f7sk?wC{e*M+W1i*(1c zI~09JdIi#Dw_pt3O^!!h2ytpTehg$a5@}8;C+mROIa~W6p(!IbI!-mSJ`}Ho{wVO^ ziQ^l4yN7P)tTW>_oYAuR#7*#SUl9ZkJywi&wmvuOOhMVVN8yZ+UdP&v5Q>~=abZw` zEkR<><9C?2zQ!**LWC%9n)9O2BFwG469ORHF`j^9Pa#-{^Ic6~7)*-{D zx@e#6rza|-jW)%F5!OH351CY62bB+X#Y$wr`6r@&+jgd{=AbVxfSUR%urAy0!G1bI4SB;*;8$3PZA zo&b3!B+ahPf*cQtXEjfRoCBE&Spt~@SqhmC>4LluaxUaU<~7Th*Q|dQXD`VmU44xA zOf1Zxnp2EmOcz~YMk!p%A2~|s3Nzw1$V-VYmS~*T5o9`4vr&zZ5F6pQI2&>LHUcXQ z6p@U>qwu2+w=HUSBe3rHNS`T4TdkX9Ih>KOQkfa+;4@jNlvesvP&mAg3T2y z8VPqVR*^whA6AOE!idK>xR4`-bY|uHwzI-FPuNWd-!JcCO6~B zXY42|Bgp1J{nN#xJ+2$R88}vcH1Z*I3k2}u%;6J)Y~%=`i-+R6@nkPy;|a2{-}QrQ z{YTHguE*0`{E!>OiYHW3<{3|z__3PTs-qtJhaL}maggm3{95@6bGw3ps>5Q@8Ds&5 zg+yz}7!66#kUR}3*N}5HrXe3|2s?~Ateo~heRv}rA-s{{Cep@D z#8Hb!uwli+_a2WhH*%_pgbJcF5rMR$x}*+sIyo3mG^d9kCmI2SZ7oC)ES-&|h>PvV zo2{rXkT$lWj|T6)$v`aXm~B3tetH;J;>u}qD1bcHNs~)%K=CQNFJ*1yOKl{Y#Y*4T zsXTZhqCw1wa2w%KZgN4Yn=-=bp_ZOjQB%=S4wK1AQ=K&xrLk2t%8h;0vA71Q5)|%9 zkfaDJ<}9Lp3Wc^U-Bg6>uEu=VSxq2Tfd_d6^Co)-43nONO1e%-natQlY1hnv`*o}| zc~t;;M4Nw)CwdRul2P{}z-XgrN`krN?3A==ekhvMsOhF?0z=cdv7KRP8aHn2L?4Ex z?UU7@%{mX1p=lc?{2gUz+R`=*NHa?iCMU4S$d&rx_%bjSgnBr6upuTGF&jqvFcER~ z6=nLNKOSTv@*L}kosA}qE@0dn&nq>0`eSIi21DY+v4-*L1m%xosXvCMSAmb5Xc)iX zkL1ITzehXZ?=Xaa!jC^xJ&X2Rob@>4 z4I4|)NSUPm;#u2NU*fX<_-Xw`RDD63>vVx7<#%Fe%0qb_Y4qy<0G{5%NJjTEE!;b^ z6Q}Yj7AyH)VpBZGaMUhv)fd91Sa$Kkit46nVJf(K0Et^_okEmRGDqh*vZyY8FP0&T z0wc>IhULkXai<-em$fCuRW6gRqrRy`k;WX2GR+53g0nyp=0zJs_KWM0`lQTUixKHa zKywfojMOLlm`8U`AER;n=rlgeY#l0AG4?R2e5A=>MYaw;ki}K)YAmlUB~b%eAUeyn z!!Uk`bpA7Fa}Gvw!+K%8p%To-C=5?`qlv2BdTmt=!XB%pqY$DnKO;A<0P8(PETtL< zE9oXyf(iyUp&>x1nwkw`^_j_u`32yGN>H&|>dj=~w3phyW`%gW0|Q^-nmI6&M%F9T7=CT$Bz-WUP8u{$(t525L^ z2|gPt7Q0aIERKQboDL7d7eBNt98vr;tNowhMqx>zNCPH9k&j6uux{aW;or}MGNt;G z=Ra8Zx$$_`8>O$@(hKi2ez>sPbOw_c!F8sRJi&FQk`}>rrjl0#*O^KNVw&NPkz|J8 zI`hbC!FA@5mju_DL_#n>vDr5gy3$8PXd?2{a7;+4{joqd*fVc$L z89;6kTxS6JNN}A2dLub0mWi5vdn;t!|&^mfMlHTcps zNZN$X05V>1odINl;5q}y!-DG!Aa4o2`rhaXU)P-S+53|Qe17RwNl#+hjFrFLrZa#f z3a&GNEEZg60J&FiodIOG;4k%gI_lD;Ykqui$&_W|@7cWzAAzyH1S7-XpDs;X|M#u) zGorHkIry=)L2#V`-||r6)XB5|_{zsi7hjum(T`sl#u&_>!PIcqs@-+( zE{mT!;hFKbOttL+L8ah2)5mJTb*7IUg74V(?Pnjoa>sz?uODBzWGt8ChvU15Kc#mp2{o}(wt-fQ#mnh3b!F8sOa|G9!J{}cZ zXZldgCOXrHVm8s4J{DkQ?~l=Ajo>*=8nG!t}}NW zg0H0*2X4RXl-loOcLoIwul!`~rJz>=xp&@Ci+5u` zhu}JM$BTmN%pHA)@VPn@#~%dO89mMtTxaz77v{-#;r-mr+@X{JiueIosmc1^btgm? z2QWVP-$QiK+0BpGc&YJL1Q5sXKtd6~Q~$duA_6E7e~b?SMAJ>k&`rqTu}|IHAl*&K z&`rqD=@|#!FAe`egbV=;mX_{ZH?_k5D7AvO!si^CL_gq$dS&@UW{O4TA4N+7Y0Xem zfz|WC_z4gegf4-F#Y5{G>I31@vWD;9lUl+5G`pK8!Q-uok*}L4p_?aRUPWU=(FBin z(an>f45tV3s_kYy=w>~rDG`lPvm15AoVPV|>t;RZW<4mbj-*lZhRB2Hu$#@UoAscZ z^`L_-2J^sf)&r0E56YvP^+3JDSQNh(>p=$?2Rb|BGRL~QhVr`Nl6m|COV?tEMGT$M z%kPwDsNmg9b>EbD339|1%WL&SR!L&)BJY>$Gj5x(+rMArJj@;!}*H=jcN@<^o1XzJU% z)E3hevT9b3mM?mY+}gU4`lZc_dSeLWZSY}qwqclfG|r*RQ};VQQB7-MSrt;do_(_1$6IO*3Ve?bk!x1chpksghN4sLX@ zs-%)6IjyXbmVLG*3!!~)Z>@@s{KECy{{7{*;1QCS%EU@n84Z~^=37l09S}H5-w~#0XE5vCBnt_8ewdMONIE>efJl*loEMwv_xzlfxk$& zRD9Fit|GUq5-t@2n@NQ>;xk zQ5;*LtVVlSt)!wkqqhz#8@Ps!vE7TD!r4%TE%2Un6}ap}JIY1@_H)gtlS^jpbZn2B z(|`@~efl#e)L@y@G#BO7r#~Oih?9Hhp&~@$6k$#ojI>$@(|--ZBmn4Z;w9+09BnEg z8Kw#{9kK?}0eKeW49I%OBFF~FQphIAd64rV>mV0EE`(eJc|PRXke5L&g@6XZ3J zHnh<-kP(pALvn}e4UqAWYaufrZ-%7m@g0!UA@77Ng1j4Y4kXgrOeOVuAgQ8$FJv9$ zpCKC|{{p!L5_xGp5AuGh)86XZ#d^q&Yx|EZ7|G@5C@ z6C*_PbV!UD&1XTztKTVv=hIyjc@?Ge5l)o8TtopomG z7Uvn8;(l1ZVd=jxv_^nkBX0ffwf(+qefh_)gWlZuQ_t3CHtsqq=$UyNhL7CZbeI{P zn}`H)HDv|uZOspDJ%rI$_Q2~QcH^#Kh|r7hX5(ec&T#YcNbr9Qb$EsDmlm}5q_`y) zm`Ry+rn6=1{xddV^bqC#5aG|jScTzl9)6F*8NyCt(k?B7D@-sn6cY=E>wBE2TKDm) z=?XO^hd&P4^ovq7UNLd&{!ZNQDR-5>=X~xDX&xX%nM;Z+#i-TRUjCH)4 zgq^1x>-rge``g^nm3t0#98Ro*Y2{GIvOrgsBN><{t zNR042{Gfm&k02X^i*Fd_*d$LFA8X8aBc8RxW*THe5z0}rebmowwey;Z(hq9KLy@}= zkhV~>rexmK7HYQ{ihjI9u}ifPHC*xC%&4|dA*>V}^wUG;z*EW-ri_^~#m``tkT5Y} zqMK|WDPd}QdTx4FYI=h2a&Jm>Vq$`u(ZMglgUJQ~n&T>{xf)LDG=p}bLAe&xS2U7! zAurEa*VJfnD)>nfh!_0KIaxiJOGb|$W2H9Mku^2Nk(Qa85EG+PXL2UQPIWjklBQ;* zBut5&GS2H(QbxkG?8NkBNAgrZbP8(ZaMLM-flpyVY-HOpCO&q2%*2VYW5={%bd8CL z88>cRWMo{-`0>jB?654`D5K%!@WRG2nVw07_~TO;%AV(WgxS416mP{$!ng>3xrxdn z8)Jg-Byev`G=^q%WI?o=ek@G}z~5l_8`%MW?0(4|@W*nP)&YO)2&Z?{rPKjEo_XguEA|N2H z^YJ|Vyk+`pFMWJp?}ncT)8N3-6Q{rUnBPy~=SS0Dd-1&pe|^&NT%0`Gi;wy3oq?q= zP9E*$m*saj{OmFP9VowXnNXa=$)mmWJ%M|L@Y8>)cxyL(n2s9B@N=f=uf6!bgTJ%j z$A!rikM{D*_*TQu{ieV6;@bs(&%)2W?8rFUi;vUU58>x0(_ee#*B3W}@z%BHNObMS zcPRWN!Ov;A${!~f{@PzW65az7#Bq7bUwiez4<<|CXG?+d$MpJ(?-%%cqY(Tmm`w8M zjniNII~4fHnW$f!JlZS2PjIggekNj4%A>vVV|?@A=RDJ2d-1WqT?Id9ox#}JkB=XW zZiS!6On>dw$6ol`3_nkp^Pcw7_i>P6d<{R_W+MQOaX9^z-zV_*)g1VnE8g15&u6@6 z`c5cQeym@A<9J`(OzeQaq41a80e^kqufmT%yfTAv>sy@lI6J{RQ{$|g=UVhT@y<*` z`VPW7GXe{;xFJZR966~4`N@fnRA*|A%ym*zoI>YR+_VrxcYXU$IH=DC*ICZSMk5NI zlaJ7%mB>sl2VlG*g9Z~Nd|8Qwr|EPz1K{Im%Lh{DESZDZpkg#p6gc$Z83##Vh5;k- zjI$l)89o;aRpGoKdxbog?*?8t9VS!8uMr$foJm=kIVqX&bT~p40h82D&&5xK=gw5AqJ9y;+3gVBd%H7PeYD>X4k%Ds(^hrAwTNQ!HIok>ULENNWG(q~}| zMLDJBq?6d?P+Yo`kd)~rKBG4eIv>^vEu;%^Sbk=@kd?TBhKe#qO+uH8y&noR5Y8Vy zou61>&Df$1@%&8~?OB6janbTDbq@(jBNpAZofVIJrJDQmXQ=9Yxf{bPW zKv&ItXSL82u?nJ4zza&S0~A%j@bo7h@zv&M?zsbyz!5;+PaFX_4kcx# z=M-j3kG~I*d%fQ<^ylVf7R;0$7sa6MlRmNDIe52Ki@Zv#frigS9_h>73=77MF`E&6 zG5(IxLV3M`3Ja18GP6^q1lZl(J%*DZmH;2=heV1mboMa!@Zddfkp|0lEHw)D%+%xp zc~>0b)y-2+b9lckF@mS&C1!!qE=7{Xw6cRpcM#%EB+2XjT9}hb7PZ7IkKu*mARvqN zu6@EQW{z)fbfN0n8nAe(_odgo!c3A!^vAddPpKoO@f^0yOpK@bX_;9C=u_lin`t)J z{7iDIxf%Dsm>SwY&%6f$&cvKThcg|lYb52v3nHt{CrkMrHmkz?)I4V*s%kpglhcux znve2Mm6Did#pFZiC+~_}>!#;pWbE@AZ>2ZZp>Igv;iz;pE@V0}Bq5 zub4?W60m^GH>+8qT_xQ54#~L;YX~lX{{4JgxdSgOe{tZV-2J#xf0S^ZM zg2uy@D7enURV=v9!=?DP{`f{l{j)bdaA)%O%O)nZBqRQZ#J|qZ^{L=GKi3$nE5RG` zhhIikJzuuDF7~$tBVLKS5Pw}3d|8jrZrpcmb4cy_-)7Ig?w^H*al7CbZkxG1{h3#4 zcT`pE>~qa0VTSRh;LrD7{Bc6BC;CpBSTg7J5Es7j48igb{7U-(KlYZ%J}Kk<#L21Gno6yE>4!pf^N)~>@}T?N;9 z!F~|@hrP!?*;tXU^&W(ZHY?QDqyZ zoICxHR{WJ#aGgi&3&C|Bv171aw%c?bvAKflJYu&BuJed}DY(ufb^^Xj*=;(HSef8D zkJ#;k>pWt+1s^u~sn$=5{t-Fn#n{!;FKL_wKCE7hU*{345nSgHyIydeN9-NJbsn)_ z1lM`QCWrF5I*-_5!F3+7>jl?&#NHEJ=Mf9(&G>a5u_=O|{WhChC>8o_mbv3ms9`Nh5vT;~@%5#I;=@rz{(uJems zA-K*j_PXFhkG_6k%y-8=LlsHmnW$>v<<;Bwq67^rfd|KY6!doGiG`N2YkVbl$PM z#J|ov_Nm}H@7U28o9s57cdS%!opKcBl`sQucKwI95JaZmYw_2YkB z^>x^JtKZyog)QT=VfajlzgPIXm96)l!e@U&6hLR+_&uR`(DPU z(GpW#|2(I fmow-KO)DDIPAJr|b^#uk)0BBe>2}HVSijyX~>Q3D>=F zX!zd-MLluC*OQ7CV`3z@&R=$(;5vWVR>5`tvVAIkjlXOxW-@l0&R-=Sx39j>(Z4+GQFB^jI)OMTBUp7l{oxkh`!FB$! z4+Yox%Z|WzVSoH(GX>ZA%PtjM=P!FzaGk%b7yjO7x9R+48G`HlWfu#s^Ovm?T<0&_ zCAiLC)(2}`yG`dWa|o{Um(>cc^Ox~6n%$=Jm+cT-=P&zNaGk$wBF1jJP3JFLD7emF zcE8{{f7w@p>-=RS@Fm%9)A`FX1=sn@E*4zpFMCmNoxg04;5vU<6#foix9R+41%m7R zWtR!A^OtQCym$V#HCK%rwm)UaNt>(R9)`XibR^@~dCiU$T<0|_7rY%_vnVV|0@O1( ztF|EkB^4@Yxr*zcNg6<4OGl=*jyf`kpj|y2^=(r55Ig05S^K?dE%5cWa{>N;5TT(6 zI+sW=+9N<`>loFf2;J*yYpbeUWyK|nx}yAxKMsgm9=;c=nm?e@g?F`-cD7nd%LB`> zM$OiVM5@o7>=2y`s_Tq^IY{cuBwJQ zS4n`iNTW!lbrp31R-^gGB3)HuL+QbKy3#h2KlfBs%n7XG*<@Xf3l8#jEDbDvGdtbn zbODjm$zK9GJ>a{XwGC9}4d4}yw$K0rWC4a&bEtq{`&L`2s6iBSi>oWDI7A1Ki*8E0 zgV1E)UBO|h0h3~LnCirQ0$VNus}}POgFlu85Z-JYrndWp0AfI)dN=0 zf;wz)Y@9o~qNb|-YE(L3flXknMS5*rZB=a!jBakeF)+;Frip^8 zUPGYF!B`qMmf(AVYFHf|E5u(zRTpN`cy2|V8c#aWQEIV{bz*N?;LWa^o3ERjubZ2% z&J{op;wRqP1>@qoGIHZHUR7;zsjFVSJKCLW%q^*Dtm@pDq}IEg3uC=>19%5v9#HQp z3#=IN9wncsy9_!y?AFaIX&A3^=zrz6fJ+^D|93V=-XA#rW9a-Q#CMI*&mG>)-4;Kg zYYcYr2a3|o2NyrFYqWNqeM%ec+{CVt-F30N+Xx92+h7;Vy1nS!*$tRLQSmRv2V7dd z;oUVqHpWf-*BQD?gzrF%vH zwGu*RF=M#6Y8#+_Pyz*(cGXkxF}R_kw#E=uB?C*;`S?S#(<_ANyD?=X-3r}BN6Y5W zO)L#;QpEF^i+MOBq!oM*7gK2+^ur@q3FB_;AmYJmw!lW5Nj^MzRv0P0D0omuJ32Pb zx%Dm=%4mR9>6U*>PVEn+CB=t#-|^6)fpU9p|9|3cq~!yW&%6k`)|oGCQj`N5%9~lk z%W?LSdZMe3aO%(%CNv)kTW|UcBZC`g)!NF3IrS|SY+v^}d`snQ+)eN)6)Q|n-0N}h zQmJS>NSO?RhBUQb)B!q~;wmQs3HP6G>G0XUrE|JjIxV=TN{230I&_5@Yw^o+?IYA> zbcGpD;8*$EV7kH-?WNhWf;~!(Pp!o1zh$w%c^@d#b$XQsqTg7`X%uh23Mi%(BsXUL@{!wdb*9C-{^P>xc(? zULQZ@BZ|YF=x={@_cz5R8Og}agU|9UBaAcB<1WTMRYr8FGNLO?$k-IdaZX`vJuVVh zh>R_r?Qv%zuRf)zcyYgy3ISdfFKXJ>IA6JbPMLdu7+b{`F79ABodC{Piy6Oj^zg zcv59VmntK=!pP`pC~U3iYU^Eg^e{Ph;T9Q#Jw_q6Q@)S=k3!Y}%J&2h-%;oaV7{Y} z6^8HnptiCp1t(WK@3@1ELe}f;{^R+2BOhWYqITguR#Ag_iDG+|e7I`V0B`t~DbwWJ z8?6!R0^Cz&N|!2Ay26at@vE@6P1nK7G!p(oMzD;rs?)naORu~pzKcC{W$OA}jaDdVSF{jlIk3=-y?Xa#6?-Z|gSk_oBEtRQ! z5~W=-$84F>G-D(O>W67#(+q-)Hu2r)?sR?y$u#dVyMF`Rs)*@QMNC(i@g9B^w$pTl z8Tr#^fHONH?p@T7B9(3JMZR;PbnKUDTQu+-mHPF`?j=y*(Qv%X`_(Sj%r`{976N5YtP< z?lELje-s$oLL_L+Q#Lvf&HlPzTq_3L*0-6!cN;^%03NX-yqun=n-PSzZeq&Hd$=FM z;mGqLUfzeQjD*1t2a6C{WT&lTY{ogp z=Viz=F)S&O!=vC(2M2uW=VQ>J)@9ar-4;VL3ytS{A(* zqMU8hvHwks?(hhM1&#g7j|C)tD$BmO3hq@aqrYN^Q*EvLFSaEv+t9Rc7dns;6qmtx zC7SyHIx20aBB8vGxFz)}QY&f>P0N@C_+lDWcElq-767~lU}ali6hw>_HiBWHew@?S>6(}vfR+RQrZ9_XnmFj9O7P-D9_u>MkJON_|k|#Lo|$=aE2ID@O!Rc zsrbE4unPRP4XDg*1X<-}$c->I!o_Ta$P7Zce#N!&$HDV_TtyfhJQs?K&1Xv0C> zO@(WTU~}O*M_d=dwNzZU!W9Wui17$qRf0VamrB(hxY&s?vY;_4tUp|8_#OsVv)mmH zS0r2^2KngKK%M~CC32U;G>7!ta9Rh+4tZc~l7mC~NpR6`B+esopG9fie+&1Ikh_L_ zkBjiRf7mdCbXW*!7?^n&1AOjR;{E`0Nau6*BW}<5x8c6^G!7F(aX-#T>rd1=m}Z6@ z1!<46P{U)$cgD(~&xozV$^fpD`(rek)c=?L`}YqrY?vu|*>~{&0wCi#zWH(f-xpDs zvnr1EjM!(iKM_Vp2vy1g;TK%JhO!_Sffn(uXj;QrR;kxiBjUnMLS>vcQ?LvswSQI^f)AdiMjhKz=ELLLKI z0*O}JTnhKWLwCEB*`bQ$3x~oo^0Z*H0DK-xYMOb-02E4jzFwe2zHd|3NtptrTlF*U6|;) zF*Yp~Rt6)y3;Obu!3Tp8vtdrD`oUF=)Bl3vP~736dW^otZNWX?HLeu~jm8L$VrV%k zVoSTY#(fx#s*Tp4OQG7PcD`CN4ehOIFT_2yP@qdK6zD>k;#Xl?O;_8RRxiIu_z6L) z?@IYCLTKOhtY`W4Zm0Y@v7UXR{ZiAvLHR2;v>=%}twdT?xzVM{jV|?NS794)tuR@` z>K|9a;h_$v|K`RSCXc>KXrELr0PeefwZbszeSM0n^Xu2+&}!S(uWVyjzxoWT>dP-@ z$sD$Ht7693%=`6_Okaapl(;sFk}g%0bg9n)3VRXP3R}Z$tRFFAUk_2!H6})_Z__8p-l_6X3YXz7Vj9V*g%G=h~i>C~3?cMgA z^x#&*d=d=@zyMdIfe2a+_tTn=mTXlTYD$*h`i(r_oS;4TMG1nHufr3>8-~efGkq8+ zITv33d{bokJ=XooM6uV^Ht+j_a|FyfS7d}@3TStz6*!E6oml>m706nZn=|~TUSh;+ z_n#~Gt7ndvCvuv(0rwt5u-#W66LPaPBe)e4(-nz~KEh#sn@A2tLPy|RgM_TKtw$JR z`5p-op0W$`?g%8yTwA=+vN@WQTdXZ2%ePpGsx0%($yfxzQiH1!EH&HSq|AKQ#)52)76s0>n0ZfBOLHC*jjJITVYW{js20~ zNY#AsRI|ICsC-BTsC(ixt1Bh?MD#e8V$0@;GiYngS_nwT3qh`Y7Xm53)IwkuTxyEU zDRU&w5E(-&;fj#y`vAfC>QdOvaB+&HmI+Kqgz*}FIem(d?_rT}g&1GrSH1juq1aUj zuJ%<3Omxgi!c@4FzdX1umRL@MYq_{8;JQlUtB1=a*a|nssa2U^_rax7@Ra*5r!gwT z`*2+&v3vqog@oXADpIg;6rD-|mlJC7atvGxz2Ny+yy%t4W;_|Q-MQYj= zYNEWuvf`yaTcXavfv~B;K52)(&ZEz7^N^LEZ)V0OUiEcu6*IhkO|FZOBI; z-+_D-@*j|R8#Z&A^El)WkXYh1?}K~_@;CFEWy$M-kQ*Vn?0Ob56Y@F8Y{)H;)sQbh zHbY{5)qDx$OOOvkz5@9q;m9u0}IYaR)?1F{ejW!PK~`99?3kUJr7 zf&3Wq9>~8#{uS~Q$Y&rwg=E`jy}e}OubbC>QOXS&q#PhmUVn78#Vx5BBp-)9t8@u@Y9uKGxa+5r?f&9x}9uDGFLL2Z5MBqKi^ zRK+vFEn8qDl+;$&jjkv?XVFe$|9*bePMGT|ZX6vGb2%2W3h}hTgCyW9EHdbGn8v*F z38R?dhZcB3ynJ=Y;FpIT2J}qCgO&s?bj-?!wUo9+$9p`)kGP`nJJ^kQ+U4m9v@Oje zZeNqG(#T+m{J}v#-sYm1_8?m?-o(-Jcr;#K%o&fS6Y< z!^_%2aZ<*Ee!N440SU6P{qlJH&8slHSkH;+ z#)@a284vv^>@pMK+fE_;aH9?jxyK7}iWvp$*pP#MJnaNA{XsUqml<36w~y^ne=+iG ztA~gmmO5JikG|sajECu0WypsQ=<(fmdOU2QLALksYqgkuT0C~~!`PUfb(^Bb=<)EI zV~}ktey#MtHY~0@)59DcEMEh~4@N_GJOi|NBE%2dM*I01Bz{;vR=y&%cn%dm2hJDQ z(Lpv&-mQEcs>Q=T5@Z{KUzX1f*9t%7e7N|*4R<_)wRjlA!QweW{Ot0GXNVThQ1L^b zET7@$_rG7SFHF(!tiJGI~gFKm3qrmGdwyo=EY-kF8A8 zyO;lbp&n0^_@R{`_G%uHT0BPs4YIM;;LXUHd*yw4Jj2D$C-}AUb+i^wwD>u2JjaM1 z_6sYXXf2*&#SdEuipaQZ$X`sCXFoko{OrZA70ifvBP1SB!q?Z7RP#lPBT`BRMs=AWIV|K=4f$9@zSR&jI>cnf!#|{`!$Kl8Bt}D~ zXh@ERaE0U@bEAoja6kP#6B*`4IA`KEc@MGbjdL%z}wwpVpn zrNKFxH!@s9CTK{OhB!5(QA1XEAx@eqs4gAb_H;q&OXAxQx^6Z@^>dfclO|$!Bk!0< zUpKPXLBoBp zGEzcWGmr?^g?JHJjpQF@DEjdZb)tmgxXokPQ9aArLJc$r4*Ky9H3~?Ojq?y5+lQZs z*RS=gX=W(;QCPJ#0148JtM>i?;-rzQc5j+St1JVYsTs)`nTgqH3AGJg<~PS>Wo1mw zN=!~rJO9ml*6wbxQQFQPLu~%`HdUILkdc;>mOE`~Rzf>LRP1d@mhHjb2^|kZppL1I zX;}%Tu7Ou-$0korPEAcr$xaXr1h0G92}#LWj$B7_R)U9O!T~cR&-ckjZbDX4dU8%q zmPan=&rG{mbrO>e-2Cpej6BJOGTM<`kZPHR64bQ8YT0Mab)@Fx=Vv)fpfgz0pqpQH z+q7|Vx2v*rt&C_m!Q*BEu-jVgabGTFo3-*U*Z9-1r*C{RF`VX~lg(utR&9pU{FLGc zVm-Nos0;aXoaf(1B*q*s1XfF&H5H|?prtgNynrJX01VAyJ`?+Jj0rh zcUWcPhlWa=6?nFKiU%mw*HqVj|6`bTx`C>>_HL?rWKFf>L)BTkH{CbP*6ooDL8MuE zd-C&0di8mbg1mPmBskG3OPXLvc#*TD+*LBqSyEd&ufmlOZ`lM+%1Fr0NzZj;PD}D* z-&cKGaNGAaN2~0FsY%mv(y}vCt*$&}B0f5Jb@wFn_sq;`Q!}O}C&AW_LI*`IyUS8;pPM8o(ECl9V7{l&*Q>?C{%sze#{;H+EX^Z3p~obT4n zrXODO@Mmw6_3>N>{BfQ5ydQt4dKT@sI2&<}Gn8rglt~955mP#ibIoC}%a%0x>>QNW zLF{NAz?vm3q+LCL#sX_G_|2`QtxDPvYeLM0u)Qd@jV$YD%6Mhh4OP+@R}jjs%a$i; zT`jQwuV3Q^Y17&1ibs6->>Uo|%`MwPF~NHnMKVGwT$Wb@iMQ7NtDvXvwBB8%KL;Y$>!&DMrKm7;pT~u(8NgdfGVT zHLW{Zb`4oCM=;%+2YNt-}9NLxle92(nE?vPX#VFZyUvU`?bttQLY|*iSpy-SY7{M#VUuIY$x1qtB;}ceVGCt8{-4%dY ztckhks9A{)M`{WJeur}eRxNdXpF2Qx1Yi|jz+guxjIgZ_?+guwjxNdW8f#AB$wTA`QZLYl~xNdXp zFnmF`+jN_2iGu4k*A@$|+g7_*aNV}rZozfiYNJB=-17$ibZOf9zi*wN5tY@?u>gM` zXb@btt#-fQx^1jlta6pKY}~!FAhes|D9>tL+e6x1n}8{-S5M={D5P5L~yR zwnlK>hT4aM>$cLuF*ez4k2*pt7wuX7?Ci@|o|cmT+xU*y4Qlv=4r5*tj5dU)HmCT@bqiTT%qqZKAy@&f2+h<4O zZEd&dw$DxxT(^BzD!6X@>;l1c+h;EeuG>EAhY6S6rrSO{O>o`z+4X|!w$I)bT(^C8 zWCY{aZJ*5){LAg9uiF2>mX)(NhwfT)ROx!dSS`42`|Ksbb=zm*_>^zA>9)^O1=nq# zT_Ct_`)sS=y6v+s1lMh!9gDwI+HJb+vrNHt+h>;uuG>DlS8(0-*&e}l+h>R2FPnCo zZu@Ma;JWRz1%m6g&mIw6w|({x!FAhbC*betc5MCVnRmpEbuXL~U$i4}O8A4=?kKo! z`|Lu&b=zlK1=nq#h2a|uYzH5CVgKVUc`tWt?C}p}4xQk{r!>KJ+hNO}r)D55 zfH(p*!u2~D)$&hs*=-&x5aMmNh-#O!q`J1$6`*ygHrCPrn$p~gIiP}5q^F$?Zqk!> zo5z}8G`}G>W=ves{1P_>IP86No5w0re-fefsm^f#n_T84wKa1)7qHvV)uNh`^1%8t zxulgL1(bP!gF!>-ywcKn%GOZ3MAEK>C3Q5G)7fVrfz}_XX$&vmT>2Qg3LqK(*X&k# z+eZ>BR0pJY^|W*4{)1>qAQj$ixvG7$A>B5mx@}4oP4FlKb4FIyR8bn3Ss*h4v2`k& zxdNG!>XFEnh>}2td@HWT`r@jJvYG&18deN6->S0YY^v!}>6AiQ3X|pl?ZH~!c-t4+9M0Hz;>b4NoZ6V5417mYV|4S@H`JZt8pELIq zIVy5iq9<48c z+$w_cx9sZ?zLFHfBe%A01k(yUZ1&_oNB2U_~ zbQ(D1h6;1os-g4BSq%Bemf}nUgW2vQgwA|bu)61%j$k8p(HqHkLDu^hI9s=^D2TT2 z4sOM7-2UZzmY&&K6dkiWWYu-_823Z?Bf)X2GPbqs>%Abjb>r@#t1@nC+1GPH&z4;? zc89OZcp4Ys7hc6UcZ~<}@6fcMSAt%>IBdg5!C_l33S+D-zx7!1XnM=09w+^}XM#F_o5}=~`3cn}d3^9JdFE*k8BfW>hK&LI# zC=td3aH$Y)x$m;kkx(GQATbX%lfV^%2CKqGz@_evbYm0Un8S_Da%0$TYJ89LHk{T$ z^&=kG!X?MU*ptEjM8DX!XDr5jUR(E*hf-CDcNIa^LZAER<9?_~ZG~-2MupG)?YM6< z2`3qEsn7j!-1p%@ZS^Rw#`=)FGtCUU9P*b)IMh)L#Xr#jRZ5@2`AcusVPyf=AbJOT z2eyyNfzKw+hAIp%o(L|LC94AL_L`$eDMR6%)W35YppBxaf2rF-D&KHi^8t-G8!8sN zpf{Dv`2UGhbf_qCFzweM%*k+D>TAUq2C#*Z&9iwtWF=$*WCLV6B;phj_a?{!TrYq; z19BncY{*5BY}#i-A}raYo0}oegS^hXUJH2#u5W>Cg}f8;QpkHC{|NaoyS4=eh9f1^6!v{qxo0JTOs#D-VR9$GRA*2LEz(IY%0rISM`k>4ZdDnn^~p9eg((dy|(b> zR|0I^JL}BWEzUDG#r?2+!_t3YXpX?>8n=G;+J0ZQzWn3YL2qvSsb}jm8+RQQ^vt{s z!$)pyI;^sXL|3?rkxE=WnzDlSw&sVn^2Kaa_P}c-cH^#Kh|r5bAkWK|o#E!?ksx^- z>hKEPFD+>ANpVXqFq1OtOlQm1{by`q2BUF?h$%meN9gSH@OzwKXW>_2%iszVjPE#w z1;gb##GyLnU={G-5XYgKeo=~KB9p_q|1s|Ol)K8`b3XSYk01~#Xas)QWq4TOYvsPW z8U&nOi-&c8o80GMq0}AG+_fQ&X=WPHB#oaV@uQB4*kWynv+hx;G-zEKF}TlNk~`{ z3>sDkiHZss5{PU{b`lIp$Ob4lWP=2z5|Y9DecyYJ`c2QNK2?3H>eQ)I)z#hS0G0q|0z%bkS%C8a za{zAu%maJ@a2()fK+<^?kaXSvoCvsEKWBY<;84SoF*Ph1Q^T^C;5aN93(^V@qtpd! zll54THWM**EeEK&Hd31qq`8}eb9pZN-?Q$<@15O4v#h(pAV9u;8OMd6#TXs#w1{Pp zJeun_&-m5^SFt}CS{Kh--7xQ2i9%o=cS~TDaX$+uMM}iy$I5^J3-PsgaY5~rh-^f~ z?vkH{-#_E~2nl#~7SPr5Rv^y(EXJsLea;IV&2)G*tlyz5gHE8(AxX%f9;}=Z5FkBz zFfhdiLNhS6CJg0J1tZUm2Eut2rdbL8PRwIECQvYDTQ5weM04^X$8^gsmkiK2-MC<) zqB!}8Zt{2Q9ZIa9MYRmZf@6|D()4zU#YUtmsdl%&!UbT1eZH$kq^@eX>O;AP*=58M)K6cc|kr^Y?l19dQ-u>zJ z2RuxL=%>m$gMPwC82DCCv+?uhDKNaDVl!ZY!E8&!b1eyDAMTnrLM<92E{QbEH4GRT zKQb;oEi*AT(#>o_)TqqNl=x9;iLoQ1M#Q)!#gB?jNF9{`3lB+NEIb(M!fE3n$oSqJ zue9=G_lr+%Q(-Xn1sG^kp}p8t7<4H{j@}F2Y$|j&x=PQZd9kVRDs;@*9{FM$v8ixq zfI&z>m9IhD5KCbMuJA4Rc>7gngwT(A=gHi5cR+Qe@A06?Nt{~ zF08DruuK12DG{fQFF@yI%9uE9d_l{kg_pFXxb)mi+epX{&f?M&lF|Uu(&FP1F2~Mh zVCdrzCR=WHQkE?)AtyC2HD|mn6IKzDkP~~6fuWZ}E`^eQkxjQ1gH6uB&w!JWPNMXS{{>4}aowmJjZ1IK;LWxd zUK708_CmYPq;Iyp5HEPM?S+McH``v=CU~>$g@b}O+g|96JppgF7m@{Uw!Kgr&9)c9&SJS{+Y2#*H``vY3*Kyd;c3B}Z7+N!c(d(=^TS!L+4e%A;LWxd z775;Ldtsa4&9)Z;x{$uv_Cg=Qn{6*l5WLy;!cBrV+g^BG@MhZ!!ChJIs{6NpHmg^} z;5GRb8OeWqu?t&$f;ZbI zI8NJM06)rVi;5?xZ(?X)&-vAje5qVnTU}VJEW_56^&8MXvi|^DdMJ#JGLZO|ro1G- zaGEdQQ=!z-@^XBp(C7!Xr)@8sw!PrPXDkpbehOVwRa)ia$JDx-<=5Eunj$5ljgJWR zz(~Fg_RThe`Zlbh*gj)gQ^Vo3?FH(e)3z6y`NfDX#Q4%2T77bUd1=`!-v(37Y1<1k z2gh7sSdp+!E4A0SeV?o=oSG^;>rgXjOV@RvaN71l(~CEE+Y5XkdfM?}=+F;fSZomvx|CetBsH&EFK$ z;!sP~l1}2Z;RP4D(0SrwOX9TQ1-xH!(l6~Xo=zKH&<%h!axa}f8NR1*H{H}tfV^|k zREC-va4%M2pKNT0cvtnx-Iot4p<$)sZa~9F)dJP#o2dhelkVB+wBZHW!Z~etp&438 z*WRZMFPt{K(EP=7Nq$99UK zF#}IUb7PyVtTMl-xcVe@oLpF8FGC%h{Fd2$Lt5P?w(J^X(rxJ+20o*Us*9)i#zx%n zHyF8XbQAov;f4I_!V*|wh$t?tk`Ll(mLa0JMx6|_UW8M8EPoP12EJJtFl-b!KgKs~ z3;+=&mHB_6;RT}&zOlq@GO)O+}Ns$_Kj(cm(cZccE|eCb7FPn1&0YPr%{i*{`fg8*h~TFk+hbevu)`4jwpe1= zG4Fz#o3O(WKkThJW;+baKnb=A!nOJj?BUUG<72`|*hvVlZReP4iLCWsIn@-YP6%ZVILuUOUcVdb}`3rWGEydlEms}2HNT(#a@C~Za~%t zoLO%{>`2Fwcbtgjh`E+#SZN5~!tdRB;t12?@Q?Q)5bK3L>4%uV#*d}(&IxcaPTXaP zQCPz?eip8-IOzAg1W0IAi0Tu_=hDEBM*WPdFaLVFZ4C#DF)m zBs_&zE%4TleC33<@x&woYh$Fx;)7>blM4K_+%$e=W)b%m{ee$Sw}nIaVsJ!I6s3kzAx#nbqZnKj9|0@=l^3i6~0GdA*iPjSa*JN zJOT(&EPzv>H}GbnRs}c;uo^HMuomzN!0CWCz!`wZD<%{w0B7U82Jjj{9AZjgG2nch z-wcR1GaYO7^L2nv;QT4TrGV=JA;yju0q+3Z2Dk$7O~93ay8-V8JOFqP;HQB10v-gs z50K;Ue!$-W9|rsr@Dac;$S3rPm{LI54!Z4wDsdzMvi#A2PXlHEJ_9%r@L9k@z<&W2 z1EOw@Qo!c`uLgt+IBEf30GtbmIyevGK z8sJBOaie=vr#X>(Od;% z%ESVxC=&~ec`>o@b3$tjIgRFqLh|h0bV~~^#tmR*f#OhqyxtF{7|!uxJE7y^JCVW9 z-44Uj2P1&g{?C|V=#9#-M*i9b`0t7%OiRT7`GVuXQn=d?yHIctcpb;tE=X|boF>dO z{DM@5Km|0aORD(RIKX4=XB}^(e}r^b^9)Bl(tC6xLgns)*n1x7Ws*)|QPT)SNrFLt zr=*7nj_MLa(WEX}XV&pJj^FTRr5>Cg3A?IGBau*16-*25Gtk})Yj|>V3{*2lU_GfC z&jQ@4BjYes$k$|j$czMJy@~)s0aF33faqN@!;l6z4CfhuxK_+ATmhJc^Q!>!0Sf?m zeIZ~DU=?64;LU(}fDZwV1B5!$aIIq<-~>RbK+te}2}nBM0+P;;fS~0de|gT{>W;&^ z^%M^6vyrNXHe*2=?a5I3g0(z77NnIRMk>KtnH~$mBp>P3QiFPm``%pM2T0d7t8F<2po(h zO#s}Xx!A&E?yWdDWl>)kh8vKw z4TXF9{nl{RVRaE?-t#JssfMfEjXPM_DG1EtURHZx{48fO5uwXdZ@%16R(Jg>=7ISu zoOv2|(DmYf&$@%H5WArj&9m`f($+T9a@T3)VSv-h!>Ek7(P=3enXw~=xY=@u%1j%T zn3~wz+h`bIGOE-=*XBM(UP6EANq^! zhmBJ;ZJBf&hg@}Wp?!L>eyU;IYKa`fuEC4#hZM{OBa!c>c$F~(Ahr?P4;Lr65;O9- z+kWVaEY~34BYIv6s@Q%gsNq7~8CpAI4H1VHxyjS^!$>4|PQ>(rgMm%*W~(6_;(0&v zJf9@l#1f1*+YeaDYhNMHf@GDC_47tA4fMW2o?$6X)4LwY<$4~K(>uK-p!Xy4$?Xd= zQYm|@-%jA4f?k||xuQn(;H`cSg5IadbNy(QuQ7UDZas%Q>(W&|Dq(N*tk6qASQA`0 zrfGUZkvsu;mh1T_XWr;>1^x{3?8mx-p|Sd1gtQLXnl=OnLu2%K*EAM+reQt8&=@^d z>s~#NWW=Ah`n?ExN0IL_tY;V+qsIlte&ji>=L4I(()$Ydc4Ltb2Sa1@Qc>=OSUc6| zGhHC^daEC|#kL^N-B$`Zk$Z3QLY4lpo=4^MPLE5kuaWQb2`X1(^&`ErupDp=-s(qs zy^*gQ*Ng~_(c`*kw4O&Y;?Ensd(hrF$QM3IXc?^P$(X%1nh?1u1Vdp`+8hJj|^O2w4 z=*6NxqDwK3Fb6U?>*rychw}1}o<}m`kG6R*m9|FoI~=t*E@{4v9K7&vFR}6cd)RFH zE9~UFfH8LxJ2~C7_MwkmfO<-RzeyW?$l6$w8f;yZyFc&tNR)uU`%@k|@-2C@~Mk>aOXRt{G) zwnF<%qK!HwrWho;xE6_iNXl{+c&2Mo5}JgxoTNnDg#?D4!-k8o7TO^xz^c;%~froUHXId%uc-`$(AD(*^G=v$4Z~xgPPC)ozBo6 zAjZZt(iYZ~Tt!VsXQ0<9rfk0jID@Qh+@Q!Iwz!;}tkn429A$^aX%{Lp3&IlD(3WNy zjiOX=Bq!x%+A=Rs8m~-_>NPf7lp;+#nk`ZmpOHcHF4AYTjhvPVE(&M5lVbWv!!FTS zoEA^7vQ<%wKvLW~KRz|b=E8k)5$Ci*Ly;yAIjWSD8`AeMGF912@UB@=c|jrjMTX}& zQi;T|8Ci+A305^_C8bUrs~qCG08_MeYk^7QY>9C>aU$387(&A2s@ej*w&VhbUIARB z)t2*ma^V~{(O??;irG4`p%v3@_tQqhbS`7nT6s}NIF*7?QBP++rwoI|k z#6*fR-}XjcUb_UXOij1NB_?J;A48$x+|A-nYC0H2dpsPGlmk)x$`KnY&>QHdFsV0b z0E;rtYo$vw5^|EO?fAxB|z^<3uSjo*v9_-TeH4tfGv=l@kcnla}EtVg+x{zClrj}xAuEC2#cG&bYl(rgq z>^rK1>G@a)p#p|ZO^HiSOjG=Dj#veO?hc##*EmYXC36pU)7WhRIwXB9aSV!{MvwrVs|Ihr!5AXw+# zASW$|87M8f8s}q$38c@lX|r*3#tcM{lODuJQ}RJ&V@x~PfcG*^SSlyuw#a5Lm&-d* zp#CRpk{Q}TiAu}>U4pm7kM3iBQw$f4Y zqmmMG+}AVu;sTR#qEv=8YUT zacLtnvSbXBJNo>kXJpq?vQuFC4a!Xv@q=i;KKnug%Ir%mbt}*wh6=H*g=^o%Jq+&1 zV6)=3y(!h({`St|SJR>dpFU*H#;Ftc^f>TFT?bftP!MESo{?M1} zXDxX+b8|mGd%NG2q45yQp^dgb&#jCNAGad>BmZ8v-HPoC$-k)8!N2{o(&1mZ{?AF1 z?*2X(PyJAEh~@g-;3?LP1`H@ZWpg97#`3i z^0vY&%0^V&h5OB)1pm@ z+b|^X)?YKveW_sN?usthmpohW?Ut{5;fm*?o*z4J^zPgxb=U&BQt%z`O&PMX^RNRY zkB%IFXZqtwcqu~gdv}k#=*(+=dnJ6$rrE=LUb<1!_6dH(J-?2~e|f;$Fa6m6(YwQg z=HfOVJPonje#i9o)BkyQ{I3V{ey|<=7;0sb;QL3;e(KldBR~0UVcpZ?1IirO<`ewl z$2LdiqxjM#v5cF1+pX1~KV*%W znR?CY{Xbz_G)M3~hi|C=Y{ECzf;Xb>%v)y1R@8FAA007c&CrM5iFzgW_R))Ox$aNA zoFMqVlOOFpf5PhD>b5+0*M_BE+pz@^K>F{L6!=H?eq;7Wm;d^1%Jdc3QcVzipWI1@ z#{LjfG9>1PQ8!$D<5w7kf}ge_r1sKxmL6WTsl(>*4HeU|T_O0r7llXsG5yM( zF5MD^dVVVSuoJUa4}7LqXKhvZqXQXK z`9s@tMcT58-ur&O?^!%8YRhtW25;av1U;_yys=-juxl(^sdb z^h)cHIim+&iV^&-2XERE^JK>b;gvh**Y+vcqG=xq{#f17ud}~A>mPG={E&Car(-_H z))U5Xh-LdTaifM$x^34d^JcG1zu{-_%_jKg+r{4f+L;|+@7(Lf3y%(+FdJKQf`9GN zrAMmXUo>#k;LVrZKgt57@s!}J-a9|@%X4$@x$>8unGe4?KN)W#2>!ZjtB!m z&ngcU?YLqDwxWYs?!I5XJNWUgM>;uS%S}+eBU?y`;QGd9y@1C*sy0I zpDzghyS4FCN35H(xiq59z})9LJ%X(`!T0>^f+>ri8FOyLf7b4+T=L#fY=J>nhFF$g z_T2C;_jb+BZu7^&3zN1%E87LXDtgG{^LO;@7`@yc)78HW^8BFS&9>tX2;OWvu6ujZ zH`|UIFL<-Jg? z<2qw<3$d7O$6X&_BbHZk>z9wr>nWh~RyxFE)G$wJ_ z0L-fDd~xAtgX?Y{_1u*|wZY?vT)~@d%JIJ2n@zc$f;ZcgYm4=9h{bGEZn)shHs$6B z-fUCuX~E|m`Mq+^#VgBehYh*x*op#-qjv;vwkh|k;LSGWx?{|QSj;x%iUe=ADfgh@ zmjncSG2-Bl5i6J2pS>rn=LtLp61>@_95>5CEM}W>R}0>3Q|@WO4=<^@aPq&;y=P6# zygS?X&;B>`w&3><-7@jst@e`T7Yw@di{tmL!+d%s>6>lMO%#0Jy?1m9dwxR4&>wTB zE>Bs#7LRBJZ?-|VP4H$LbOC3Pe)n_knHl-x`Oj|eX>D z6uj9s-FJdtaN?D#wP|hI{`=*Dq1NhqhG^P(;Vjo|vu>o|Q=WftLg$YU1%K9SR+c5(_dhOYm_5bSBZJM_6r7?IMCwQ|hyI#1v46&GP*~JRpY|G9e zc(X0L#{_S-W%q{QGtRiaqj8Ui$r>C;Mz7s)oA}EiU!6 z`9M!YQuv^>7Ef3)27LG$RktCfw$^J@Z}>ol4?+sdD~pPKH0$X0Rcmtvu((iZEFbDS zxwN1d513BHO3t+6>WbnrG3w$Q>rY!89Bej{GovQzlnf8esHiAxYBnf?lOww?Lh3XF z!Dn2mgvRCcw8g<@no7{Q3KfR2`2QV?gN;ju`-%%1tjQ%*@yx<1AI&)!rfz7F)Hgi` zTLn~6r)?DG7gbeOmVt@N?og9!Q&*dV4KJ7#wq!wDP~qErfiEFA#h1GWS z=_zb$sGFNY+yhXy8gF{OFN+McL79|3X)`J-3TvyY@dd`L8Y!vKicE(oKxuCaIsyBA zzI8w;cd320IqPZ)vIVu}JD8XFR^L;$9@&Cw7W*jFr>#x4fXVX0t#7gblH20cnd|alk@UC?K|6|iqnJ+ZVNcv`R@vphsXYG`-UIBY2 zX`w&k{At8_9!&FO5)0CHBZk*HfqO@f1{p-X|rC z&j0a&J0wLA%A?Up!niXlXI{%wyCyD2_uL3w{UCg2MB@n zi{7*a)*)MG>Is31H`%{BF^H)~R4`M{iT|VC5HDUwJA8l#PF0#?Su1D!I6l< z4Ml9K;Mm}waIm6A7^z2?#t@I!Z5Vh?fvCVS*u##YaSh(q)ec(mr-JhX68Yc(Pu3#w z@mwd$g10a#6f6$rS9w}0I4s-i8VuUtHA=iar0ja?*Ri}lczv8*G(pE5)HDa9hXC0n z;Fkk$MrmIF(m2(ZfV}{}1w04vE5K;LqkwUM-vF}yOlPOn;0U1kEQtk6Im89gx}J`E zMvnz)c~imCsTTBIxO7zgw+pw1z@XernBfepOKxp+` zmSf3*t?U=nC%1!0v^BD~u1^keJ2woU!ZPSpTiA>lIAEv~|ElvZL`;dx#fVLj)JvSH z@rWsL$#CLw5L4oEHDYBr!n6g>*p1E@JC4GXh{FhX=#fAjQkX1=GcVz7I^IaH6k%hk z5;m4|sfVzUCa=96#~~~JR4@sf4SSyXH71Eu#N`?>2B##>4uriDU!y5|Z#ak#LjvforK6BzIYs?p<)#pS6!Z>d0`uMQAxUl;8@VdD0`uOg3aoy|Vt#xtM z`uK>txQP1rK6P<@>f`&?#r3U^pHvq&sXl%}UEGBF_{h4r$olw!b#Vjh;|JHp4X%$L zUKcmKK0dZCF19{Cu`VvLK0c)`E~P#`tu8LDK0c=|E~h?zTwUC_`uLK%xRUz#qPn=E zE#xj3;HFWo$2o)1$(|a84fE6}#x>U=?T8hBD!6xYVP(}UQ~w%S0nxuS;Kw>$a{)h| z<@a-{gQ;QgR7?7o+GV%PWh|SWi}z-o=KCgCGzYU>1&H_FH5(vEaB_3ty-zJ4&8<0Xo@ljfgF{Q;A3!?2&Ne$LE>9HVfJx4cXO3Th0 zTmNE&1F<7Px_Qi{soK)Sh;}e5-L7ttB;AK(%v$zym!?Iu8)N7s%vm$f$aK?Tf%V@W z>BH)4Q(I3BUb-k^38HdtTm*~E_RjT@(3l-@w1={@*aPb4wLY>W`dIyhh&hYjx1Z;< zdW^hhjLod`lbSBv8fd%f%7t6Ywrt0TQs|lbSJbILPHw;vrbXgkX+L~6BISl@qn)@c z#3thiqfJC@5e|Qupjx%L%O zfd2rz74Rv*+x7J2fKTK6Z-7|2iZx5{Knwyu4~T;z>>yuX0^A0;5s+;qo-N?a6(F2r zELen}u^_FxMWqI7Ry_t?ia9$w7b5@`)EAyOQQN8h_|go^jR7MUZL0kRiQyOh0+|eh zOeT!Y#F&UsQe1y{;nsGGzqa?mDxmveP}dN#{`_vYW4(WpQ|RXih->{Tb-}Q!eWfn2 z5O8*lww}VVc!#~+7|D!P;lfS9!@ixHzxdd!*3s`DIcMRY!E@WzcmF3d9|>EU{FCP( zd-qsEpr!Ww`s{Y~uPrUL+-Qkog)iDUY*%fkv8+^6zvLs=qZajBuH2%Gd~b;c z-32(pv?TmrE3q8>&zD#={?#C2o?^kR!oM0OYn`ba9BMedk600oFpa{^Ve%jjBmAsK z3<2XX2?UOL+u-=lBmD`a`$;MXsQS#5S&ZwCAib47Oag#E!bAikedyU7M(T{^d?Bd~ z>31VtwMLbFFV2R0EIn9fUW=(+%WrBJ;Tz{_)67Ip>A_{?p${cvVzM9?FXlNbOZ`(; zT!D(K^Bx#^YMdeAdmNi^7=iWUQ0ol%jE>xjA;9Q%z)-+f0eb^tcsMQsd;@SeAcmSq;3Wr%$$K}=ABLXo~T-?HC@l{*GLAMM?nB0`9 z*Z?Pv(nm>6#9@S?dW2~VlvGqi<2m7A91KRf=OUI|@?77LCa)cW<0~uvRPa#9)y2go zDKbjI1ul0?T;F)!F|qfI!15>=l-@KQ2@B*7)?prCM?lFs0aj zvYS?8iD}36rA0HHb07za5m*-49|Sl-M_vz3Gg=48Zn+VV=@?9oV8D7na$yPJSvsD= zyA?#$2bsKTL^dW@;19%Df?TQ8}>a_g#an2W*}?~n}#+&Z*g{IF!B`+BpKd-$@za>@zU?)4uF>db_7fY3<10xFcgqH zCVh%eEe<6`k%W#W=hV+U}&`5>YpLhU@tG7-Wnt0Bj40 z)sfufF9M{_TnNZI@toYO#G$y!nBpd5L9zx?xHWn{>>ic$0B1{Zu1zgFOu+r4c8ia7 zTy%rrrs^JTu=or^LY+Uhln`&X@YPmz$$`Y8FFHB&dL0Sao=g$rf|lDv2`(A1 z1gss}!pW0+O52m!JZ*b2rC+OmWqYy=?(NCaGuxA`L~l=~L<00tfO3hmNeWC*phy8} z_4edQbv96e!3qfXwpLzw4JF1c zFjk#7QFR<8TxhN1l!7})_K4#swR!{RVZ z7lC`i(BU-xBvgzZj&!-4^QfH^4bYcLK70Z|a##HAs79@`-6^_bE z;Tk$W0v(Lb?*o9&@9VXnyMhh_*~H-4&o2Tu!eat5u3_DeTJfiXmwtxXxO}_$w$!)+ z(CZlD(wYpcBg1KWPVZ=A$-TtD>;25$WCNswnBTpBVv%G7)}8%>pEgiOJ`6rH`UoIZ z)fzzd&!d2B<70sAhih=Ceqc=X17ktj?|Le(Mn5QALqCM6eh63n&>aAS&S(=ZxM*O{$bdrbLJTJkGUQUd1)SW;qj(^*BrC%yh&RXBbnQVN5;nR=8(yu5cxY;b{(bmBWnVFi{J)hRF@! zBEH;0!((LgdM=N|3wQgI&fo9Iywh_)|fB zyU3B-^a~l>b!N|zE%_SHShz4riQM-*RW#+F<#`Gm7RwGMVzKUEJ!a`FT8y}25o3x) zj46RrI0~G?$xu917CAufvL;ycu@xCqaI(l2pPdw!m5^df7@cWLPH&21ato$7MvJ%k zHn{~O%XnH~^D0FK%e+a^B3!Ci#F%0cV?o*`{43m6J%-1(Rfx(c#6zjpb*;Hru){}g z>-&J`ZVeyQwr=u4?ZT~9TS}N)9@Jv3At%PZ0e2bv>p`iuRrDri^+(PdaD<7cL2gee zpM|_C3}e^Wy&aC&WWlB2pY`^qr#e}p_-j`pR)NF&Hc>TF*s#_(7%28ZfIR;W$MrY{ zdh{u;VIETb+=@RHZI2@?q%5?0l5P#O~c0l(19e|vyN-=il0 z6zWmQqxE-jo`p`wRj&1IxT;oMCl@`a7pJgQe18_XD@A6o+FQoHFD#;W-OSnZX zcyWTUL`tr70woV5OX~c3)xA%c>9mzRX)bh>$3Is(lv6(oWrks9VERR7I^+sG5W3I_ zGS!E2>1WxAe^N}Jyx<%&o%WLFK^HphOmsR(o}cm0+Mj>jZ?~A~bd)?+bSt^S(7{B9 z(&uLx%6}YT8)rd8P_UavM2<~A3wEWPbV5vYI!PWdMd*C~@Bs{3Pde0!eirT;8TIL8 zq5~a*JY(?BFgLjM_hvesk>Y2;ji!@Mn2FArl80*~O10m4k09zX+-E>ip~ z2k>vyC&EMr-Hbej{QS256R0W_>^3gWmprcWbDoJ#AIZZJ#L%Po-V8IH3y|VopFSo! z7fPO{>B#7FYuAM)I(>ysHU7z?{=L^@*n76CpX7;k;d5W11GKyhL#Sz1j4WHtG#l>; zR3L_7sXE2KGY>ZGRWLBJ>=2ZJsj96hanDmzS#58?Fm|Up#lKP3!zRqrCd@_?W~Yuh z(@E!`j_KsY{HkNxIWc&ED4~NB!#DpK{GFJgIwsJG$<{GpPE47OiEv^ZIwstS!QH)t zASVVJI1)mf7;L#oILC?Et7EKA%(ptGrxVjwbrM$Z1`m7bn66ID5FOLN=VTKm--MZC z!qk~CYjw!*+3AtzYYhnv zyFU#$VK|@sd7xx(+XJWg;NDt3D#D%~w*@_NONzdm>n%w(^t~iBR*F1IvMFCvHa(L# zp5m^SayaFb9@Ir8x!;lLTvbV>6{U7(J~IiM`VLW3+dbTc^t@4TNO2bkwLj!iBkAN3 zBWww=w#fL)V@HopPfr;=GR2E?V6`a#r-Dug!9nm49NiKR!2=_sA_rI*=pi^sJOrP8 zoxBGp1KFF0;Qd@Ry9O^Fg4-qGojc?^f~l5)<2kkw55Xt&Jd)9wui=)5cuvokXEN3h zV!e3&4m#21n8o}81@dsEMIGJ5|;zGrh! zPVcau=VbK0MZVp6P19pjTVZ*di-Uo;wBGm^f{veyJWIz(Hd#7(>kr-xY}E6poZjjE zh{V^CZ{zr;>GAgSJ3UWR^u9&n@5uMn6;0D){d#go$|ZPfFX>%~d|fA~jE%_)>80s; z43ggHvAyGvFKyz<>CMygoQ&R$$T#n*rs-XV=c@19knbR~q zvg23eshF$swFU4-4-e?HSCMDJ{HE#MgnY}8r^f=7uX7{x=w|5~R;){&{#3 zX1@8eK$Kl7# z$j5R&Yeqhn`)xDwwL!jP&B#Z-{ML+oVaVr)^`>j^Ha=Ltvzn2Qa^J&CJ}hu4BH!Vl z%7|&c=WaW06YvH>#VI@PX4%;oZ%sI?rr&M49T(@*&2};E&A+oZPs;RyI3Jsc z;@dYXDKF!4IGd&;=x2aTOohkR%nbV4PLCU%M6Qy?p00X+>;n+THt{Pb-HR|?E&Aja znEoZ(p;)KS%ZBpB_vA+?*O?|2RvsEzzKcIzp1OG6J(-JLa^MwE78eWj+Q=r+t#B{b zs_2e1g%2WHPA0&wDxQ0(?5?@8g;&cvDL>8JT%h-J_USH^R!}>c8%8XPJ|ewv8yooW z9ci#SGb1fEVLbe8CZs4Qt|Y=umeEP0g*lD6tu;BSWpV6rX>WD$^vY?);%fM8;CF(k zJBOv;lhSjt#^dviz|c30`p{anArH;-T5I++TZ?h-bmUHs+i{!Ae$9)vC1j+tZS*j2 z@Te^+9hVDCR%*_8`sIZqa?08SXbk1TmF`xFan_Qxmu|TGJY8g~i?255-3@voMG0AH zuD-~d@XAUajr1lK*}3sKSxL&{E}eyP+ede$$_i1wR8epxEaG#GOX1Rg7XTs5M$6%9 zHV%U>n>D4tG|MBY;cQrWi03$sMybM>xZH6h)nc#l?2~1vS88@P`e~%CVLXx?B@5Es z;8Xs;;6I)u*-s*@h1F#){?1uEouV7^DxC6gEzdk}qwAG;q$S`@*1*s^TxCJVB^q-Q zC-f(CI8VKt&>+1@<8o|yQK{~}c>mY@(6e&M?v+c8%ED_9${)2?_w>AGu;(>OrP1v* zj8wMNYdyQtyD&+wybobjyK)q=mH=U^3-mZ|)4Gh4{nPL0DpOHUe$XY_%g_v+(SI`9LW7(%AJFJnWS zo|ajU{jP~J#6c%1T^y`a*t`vEDZ-AC6Hgc0&d9R)Pp117=ea3 zW{SUN664Joji-Y)tF;7OnwoBlOH9lX7Ubcaj>;3_($eDN5-x|E_UxRv^aSN{o3n!K zaN{WiUPz}j^#+lrLb0AIt}4qfEUrnYtWGJaPOmL5t}ZQ1EXKxjagEHn&KV^mAtx!v zruzk_Funy2iZV$`Psm7wP81OxWMFfW;1xR#p4XW-1;b~0w5@oi-B|pQB~IF@af5Wi zY@9zElaMQ3#>sOplO3C2@S(KAM&BqRAx?_%qcdHq>SQvfH}PQ4nTX44X+UN|&Nxw- z=YY%LVqQ{~2rXxMH$U1emfG<#a89`{!qXmjGH1Vmx3z_;=P3!fs^=;9CPtAA8@Apo z>ZMVI!Z4>|&Pp1iYE1p@oVtM(o#jUv6X*48&?+#F7THlFn_8Yar&dZAO63eXrJ*l) zH^Gj$)Lpw}L0xkJ>Hxjb@aUbI5QoL@=#0c9Th92*Bw3}cMH=N6>l12=WX|}UXq`Qv zv;P9%?m%7-uiseI&}n*3YDT&(DT)UY?tiJXj~erqNNmnz>j37UVjYv1x2a ztb03Bqw>5pFB{EcZhDKCVWEugk_ZXw4(grW={Xp!>`@tv%&`#dDXp@V*T8+0y|`L< z71!HE3CW5Li{acP=_QJl(zBG=D)ia(d|O#5%Ik*nHqZcS96?)Vr8nqqipZaah!oFM z@2=Y>*H$PIc^cZ#srIH<;yXGj3Q9yuTzX9-GkE3?w>rG%`~+Wm3cQYH&)i zBW9qm=W3jf73Q)yYC4;Zx-MoQq?p{tXw%ei;)G66dBNL1-4io{AZ(v|_mkrtPkiQ7h& zbP=Rc>6a|tHpXR*G%jWvSs^gMO%LY84A5mBmJLH$Vti_bh}TibfwQxPsOk-)DjZ%p zSt7sZ7#f%h2i#^c3wyo>-#CDw?13{3j-UcmaxSATA%}Mktd%|vpiG=Yfi2~zkqYQD zKh=ACqsUZfedvQs_tl<$E0}skQle02ksQ!6`1l4Z`9e8rs7E?hF}T-H)7e3Ga`soR zgkm1C@jXah#wxw4L*kY9-Dj!>PzcajE+%QOC~G_4?{%vtlnB)EX8g z>Pr$b%G}Sw)VY-VRNVVyC#R-iWJ^De*9Sv(D%GEJz7~c@yVoocYN`*&XX%$Dq$S0r z=VsbQLSJ&G$LyZgK!6Ld$0@+M*-2TpICNtkZw)iElCm*BCkcBmHz*magrxMm)U1qj zk=6_&(X|-4g>;(&MRQa^oSfQlm%$tM3RY@V*VK4&^JU9~RIek;%(^NObZh-)`tuan#3A(q?r zrc`hH+f!>2ep)mneqlmiO^Xt|*=sDG&>+9rYwX_zzo^y0zx}e(;a|D_&q}-V=05yH@baf0>ip6CgV3~sZ@;nqp)c3ZTJmt_=6-(mcE7`5fZz{pwEcN* zWo-Dk72zNG_qy#?P1`K^8>i$yIdkF<*IfDR+uvWdwql!l4=2PDRJit?u#8nNKY3^N z{i{Dq#xthQ*nbYOn7wWf6MX8S!jkNatVzW)CdG{Xq~`*>1uppg7yo`y*^Vh&tD^p# z(Pvlm^?0Nz_|fAFLO(vkZ)~qAn?}sfYhRCkgsuv)th?~-v4b6bUc4>)>KnThq@xor z5&Vv}vpr9}E7g zhdXRb^Y_afzj9so zkd=k2KSa6V==%^$$9q$Ttn57OK*^&c$KRR$coH7r2!8MGkr$nL&2O)Suh}$vc+X2W z;*p5pN8I!4i2Roay#3OT{U5zMJP41sJ`nuvcT8_T{hxQo|9T+r2iwt)p{IKUkbeKj z*-!nteB>veEv$Qbd_b8))2K}U z6dv)9PfJ?G^ecP1bW0S`%Zqe_xuT~f2-T_++7=%er?AqA%eg2iHN~RD=s_u z!O%{JZn`7>C0K$Ge4pG&hsOR8Q!*sxhEX?MedAZ~mM!?O6SG$je5O}tZB_WA117#+ zfk!if4>)U_|C+NcJNEC4yzRM!eb2*6rr@7%7kl?>XLfwObFUXKJUVp3Y*+)pm=Cdp zfBEK{eb=|@ao1G)?8X0j;&E(r3%>TN52o59mOuZ}yZ7!Xym#D(cxO`Z8E;K_<_~Sp z6=};Vdhh%BzGq>^O7J^_H}<+|-in`}o-<<6C66CDj7J@Ko)}_T5dP~;$?HFTb$Uv# zv<{gwdT822!S8zTrY$i~c3co%xpRJPpMov$S}pivbw|I>{_?DU%-Qin-X))o`5ceE z1;727xKYC=-L~tKd9zoh-|#c|(5)TmzxL?TBUSG&8aQh3=1cA$W%(N4{|mnAz4J4_ zJU92AD}U*k`S6?blc6^Rzbbmj=?b=9@Evo408Jq!C!Z6^^tZXuSweSS>>Uk z9aoHi-VprP+IK$(w{5fH+b4s2CsxM3iFf4Nv)p~Ze0T8UU5|8f9DQNQoIz30c~b}OWZS4M$ju$KTB+kpI$A^Xr|Ml&;Z43AO8MgC=58EFe4gIi8 z@S|4^`e4UL0ee>7v}Qt|F@0ZwoC|(IM8R1Dh7iQAAUNx=Cv)_=H2)TN$~r(jr;JAnwMuJ{gSrr(d(ix@BBybj|A)e!=MLxz4Glp zmnM{B&RHq=n#pZDFP@azb^Bwvugp3yAH07{@Oejmubgx7%JSM_LoPeEq5yLEz2JxM zx?$)E*}7^i|SzG1{(ZGFfZ zzvI?@+X7ZSgmMMn<8O6;bh+;Jq^ZwTTw?G3{Yp)HLGX)Dls-Cqk>8S~9r~>P{ifIP z%)M1-(tp0b_=dS%ZwmZi|KHYKx#)rI_-at_k8OVF=C^PB37f`+GIzD>QAunJo8~BY%JCNbrL<@0gbJ-s2TrvS6E1@F~wfIHB{$hk`%rHS+NK z4#O((YKq_=efZJKDu0SP;OEzS>SwDzp9=GPf?pC4@WqIOKSr!vVt@9Yu%0J0?L53+ z6JnVd@bb#5FAAvo@`=Le=LaV~f$#hTpORJ8`QpOQ2G`v@>bWa_YBLtE6bOFxkHhsVx3$cC>eA_VtKYH!inDzha)NPu!@ue|%eMs;Ftk=$6_-akkohv8Z zJu130hC&Rtk;?^PckIrRLQH~%I*^+uw*Y5acMerGCTwn6W8MBU@u{pF~@sj0z@m&>U zG{iFO_^y7hPdW7YhRA*a18=_uV=+bWqt73>>cC|mTt0Es)2)X-xexuaRPZnL?!Nfm zm%cs_8GC$Ro3!3bU`s{tZL@c;xFe?LiNvnMwwAx!6S9vx3DDnT*|X}Zz{RO&yuIU{ zi|!lr4CGMo4^GZM)N$kZnx*5iJ7 zxmPW}u58uFyxmn8cY==}l<{!n()c?s{NmEKS!d5af>%@o-}#)a!&=>P!R%{uI&NBU z^?`wyM+Cp>{_UU5>J>3~O@2j2@*iL9g1Je-Y?nV6F|Z z+&i>*+?Q{LjEdg*$W!-h=bHBd!LK;9@1I*|&l&vdqKEH&@8jdCc!fsrDQ|u9%^gRB z7To#oEw@@y4r2T+6MV+T;^Lc^ADY(sL0i9DC#~%bJuLWlzp4K`vSh>Gw|2Pa=0izS zWdXlIHR)o&-3M7siI1*^{x{sUC@1PIXr1^h_R-U1RZU4%e&MtMK6tYMQ>%-M zCg>ERTIOGdx4gcWd39xz9>KUt)|B%aNiVG^Yq5Jyc+M(;_h#SxHyiw_tRlx-#x88I zHPs;X{G!PmGh|<8a(^G2t#Cr8#E!&7IS~{Xp)0$Z@tTdVK(OOm_9@VM~ zygPdm;q#$7rRC+mwF7FmqD&v+&GlFX-|fCSl*68BF?E9Cn-2{|eQRrc_4Qpl~(ZivMSBH;;69~sS;2h?>Wl&F2hMjx~g%p&6xIEpc6_?#trwCqEN0WgX2wh zLX&KCzmS#V8mOiHuB4_0vx|>ctGORT4|3~6`G(w~GpkA`=a-k3ac=dY6*aRe@REm5 z8bI-&sB(rcBVTVoP0_TXqG{7b2{$Tj#WM@5d|?u&)?&CqEw#_0eo(D!fp8S~;>jI_ zQl-^kwb+~zU9G}6U&t=>r6=_XsaSl^wp0@I?$GZF2Ky#UMa2cR`r5Fi<%4StYgL~| zg_1}mO+M5B^8hr6Z*51R)o^r#i(4XKwUZ||E&5m*PT(WuQy5}s73x+=jqd|b@FsI* zHSZf#%e+qqm@x9Ir}$O?syC(RqzhlyVIt36v9R~iiE=@4`KbsPSDdpeD^6{>f=2tc zUVwx{L~AO2UG(YWTse~VtqMAcDYd0Vr$j*3jPeHGDG0X<5j=&*%YK|ES}+1JGJFtQ zWAd_B!}r}3Uo?h6f$L_)16!>w5-q5GSxJ5kS4u4%*Lvwiuu6dSzrJ>FLAf>glZ)l` z9mQ<#N&&2`;P!`)m8&U&?OM+YdM`JzTQehecOx6?UhxPWtCHO zE!t9ks7bA6x{ofxYwe|FPJP#cK2~oLo^*}xzMR(A;nRKV3*(mhl-Q-qwvSD=!FY-i z>gL|8RMym#*)T=>)?{OS3X?3*>-K!k)xJ@xF3vC0cSF=I1^U|iaKUVSN{ZV)y|PwU zv)&6RthS?oQ_$+u?B&Lyr}0+g`#ArDQ8lv4Ym_v40(TA7u){p7#@AA?BVaGYwuTZW z?|hn`e`;((8KqUH)Rm^=^^^1_)d z6Bf1fZ`n1*;-sZgt>)T_Cbip)Q+Wc8l6XX}PU{WbM56LhwCNQ{p~xbxph&tL%%iYef%Z(XD= z|7)&BZKD2y4mK)dBIj)WfK%(S78HOYRTm8KwFec0PqD_%%bh&=tLkGW=xj1X>r`Z_ zi8`B$07mJCQxxRC>T)MrqKu)|Qr+hIu z7C6&FKd{174&r$A7~gd~smFrE^i;Cex%0eFN*0~};{(Z$>^t+;4UtfI(_4>m4PM;W zc3APJLIWpg%d(K4oGT}ME#(Pb_H%Q&!Scuvyey|hsIus3&B5q=K-L2%!Wq0s3BzOK z@Xwgy3}edWhQi?`L*2=zxZKdZGKNGM8e_~fqz&;95#t(vq;0d}PX%|z_{I|vlSqRi zAj|S(3f{tWFbnGDU>)!_u`uOo#1&H*Q%qq@InGtMbvRczVM=UkuUs*@zA>&;fQqNX zKjRwKc)JyUD!6l{qTEMeQ9i<5Ipa-S>^f&403t5ab!NMo+<@zG@E?SxpL-pD>A6y&KZ1=>nm%TGmvi3Ia8-|=0=?}Gf)@B8O9W67*m{4 zIC4he6lX$wl9`inW~UX!sNl{S?BD-4IdiMdncH;E+^%zG7V4rn!V~R5hN6skR z)UhRqYg5Ax6D-_Hx3t}+j#tRIlATOzucw8)3(RT2-_YTsLrVLfeazoLOr+& zhd+wMx5PNY@a3g}I}b5Z_dfGwBgHj%is@J+Mti6=R zEpVQ*r*Ta%(q6OTPlX0z!fWgZ{}x3!2cuYRm>?y{^%@Wk+0bi!sG5#uT>{j@(kX25xzu zfsK|o#;paQ)F!6~`D;9Aiuk zMup>GRJaC?d7qh$*89q_H?1g21$U15HZz|R$L`cQc9+hv6*|Wtb2`TuQygPVaZKUJ zF@*!i!k)vKR-Z$M@*R_2{ndn9f8UdwO_ znbQe#T`kScDSw9#Vu~%DTvi0TKFT91M;zajsi2V(1Ry!C1XL_xA<4MAN3fV1+tpbH`( zdOwy&=2%?@;6JeAqV=uR3QRMwfxs@iA6VN}6W4QR;z~LZ?YN=C!e9J5UOyWNCn7N7 zQA~OuD%K@?3@pMlP^^6w*U2Rf1?D+3bjO175hH_C3{HH9*LKeyW3E|G6vfo~WC*uC zx;{1>pl@~w%SP_Oxnoc4M%CDeA5hPQ$6Iw=oB|hslHrSfh%MgHaZwE57(p48#Gbwz@-Ck(9^Q>+-iu1bX@%2pF%`PWV)9T zy#pCmy^JF2UzT)dV=-6<*Y?OBljYtIk!XUn7Rig>u5At0UUJN@mA$(gUDR*BwV~dg zX&sk+!H$6(fK_M1y=3^9yxggQvm&Jm668}pCw+a7PVj|zi_+KQkKy;A0_9Da{0uGyrh^>*B4Y9QnD@JUJT(JN# ztR6t+Uc}}|44$ra%Jj?oce!E*V(N-xh^aEVLHPe6sdS8_>URlZsFF6y&1F@aQzWexLCwEy8X38#BPyT3Swk1+Kbq& z63avk^E_}lh%J-YIK@LZz$*dY0^}GpUU z-+=c3US`o8s{!}n{As}V0iOr_01z}J9oJ}|;{03v{71mUIPZoA9|7zM_!Zy;7zme0oze*%94AXaydTL9Ytt_1W4ybmw{@FhUz ze;LpM_(P@`vS7OC_r8x0|@t+jx@k7fH{C&0Sf@p zCdX939)LA~=K$US7y)<};JJXS0nZ0~1Q2a@(6kcsy${$I@Bm;xz~2A|00y96VFJa$ z&$y8x2^=K!)k9M?kt2LZC4G_gc{JFw$g90A(9dMsGmug8K|bJ69&tgFO=SWD4u z!CD_Z7Nk)usl9?(hQxxjWW=c3g0)e4EJz!R*v*2wQjY~`C5YW3I6Bi~EJ!;8tzxZ$ zwX^hCkk;FYJKu?mcH*ejua#@bamIqROebzVM=-<*wg7Xvt`m2ATpU`tIP9LwDHRJO z0!+GALSvnSxw|&Vm?8tWV44NSZmo~yblnA0b)VcZT-5Yc>nP;JLIwG9u&hjsh^Whn z2&<2B3~o~!RG-}X+!I(a;HDzBHHryYc>MR;^NzvR_R{p$_5Sq(h{JpzR@+DUrmlZ= z;nvn55^|&qas}E$J<+YAcPu>KruOU-w#=w-pvR&qa0?beeaASHv4UCF7kb70B4W=3 zmc=dHovJ zDvnjj>zKYzSdUfa7wi~44O}{6cZrvfc)#fowY{2L+anf{n#jTttWw{%sW*Z zb0X%%^gyFz6o*Eo@55DLCu&2SCAF)6SC&GH-|x660@tD&&oomFLW;|xDR2wLw&@TM z5MXKL=NHf#kybbY0x+x?+W0rDod$shSsA81h5vGiLEq}J1BiWy!(Tgy|6&|)hl^36 zVx1BDSW>AK74A~RZWCN0Vz*1|D#WgnYo{T$Kw{K~>WT%36$(m5k?_$bnP_PN)prlI;d)tceC9JrL(c zx}z6YENV?e{nyVUeIwFgG8ZXo-ExjcddN8qYa*7@-6OpQ>8@*{>EP8+k2MkN%xek% zV`Y8`vL^C06v;)As*TDNqGtv$FN)f0O{|dyc&>m34DeV14T!`#!gUoj#N&Lh$N425 z=P@{MdIiPZ1+rb=UEux$Tg0W1zW>mi6%?08>`>==iOV0#9K)y!_%NMjr?~!+;VyW^ zZ?1m^;{0*+3&UZ39{dI{0q5TWCIhCn(j21zzr*=>!0!PobbK`+?w1|Y0e=Ks4EPfu zSN*vEaB$|sK9a11jstQG`~kQQ5LI)$0AK-pnWunQdue`vZv(alfgo z?$z-tAnS#-jMf3L7241d5Ni!B6tF)a)+UY=K&<;5>404TvjMSIaa;k2yCO#cU=P44 zfEc&3E`pppmg4+ez&ioY16%=k0pJ6G7Xm&6i1Ffh3a~%mGk{q0I9>t7Z0vXy5aZ49 z8X#QHIt~C11Nmy`_Wxn;UBIiT&bHy%1Op@} z0fXXsqe1b6AshrmvvY(%PC_`S$R;Gg1Va*&9RyTN1*{Uap6gj^k>c66wMwnEQK+YS zs?~Jt@Ulof8Xm_v-a$nJ(Ep>@AqHV_pN=+tY<%SuV<}w&pOSTH8W@_ zy7J*OpDZZrvB~&^l8jF%WpG5LTE9%|a4ltUw4~a>OpcF~lwnPT#I`5Xnxdr)s{|5T zp-ihxOBvRDNNjsDE%HPu!y-d$g)%L+rj#PRK|;*se%ErWoCHqeGuIc-=pD$A)isej7|!k8?My`02mwqyBOla_|S# zVGytbGa8sD>3(WE`T7;Mbj<5n7E4pQYG*jkPPfKj&pMKPj&d@N(9s5+`_>j2obGDJ z>@bsX?3ZEe#M$jwODwt+FGOjmZ84X3HpJzlC380%BT&WJ?y+T{6?`X0T_!PorrJB^ zB4;{GGF`0a?0Kha{btlZid*21g8u;ggW+$5e+2v=!e>5y1fOxR50$w`N;3CIDMO8w zMfbMGq3mEpG?c^1q3iyWz4p+nmuENPm>HH0UH4^n=j`KmowDoVKh94)a>_HEc^Ld0 z`Xl0DC7Y9%hjv@{;6lY3R`Q#zk?yC4mF(K^R%h0RFFLc%ie6a|TD(0vp=a^-4PV6e zGb0-mg0m;&f3hACL&z_I++Wpkx?fWBD zygW?Dn~t%D3tP5zqR~w-x(gvm;o=~kgPL?zh0cMLZQW~*J_+eXb#w>zVs9X%&#|q? zX1m{LAzS+_j_Htz1u@pIwcb8{8jkOyyLIAN*0@qe<}Rq;a>*- zH253g&wzgg{95=|!RIg%A3f}9g}({@dGI&DXNLH{6F!EUU8~_=1OJ=wuZQ0a|3>(C z!AE1+^*#8+Z-tMpr|U8Jx4>uPM?JgE+u@Uc{wG5lunppk10`izPiQH_szP>Hax*P< zf0X2MlOZxKUT#uC)m?zbH0!7Mk5TXk*ju=QfohbJ^+n7-)gN3{bUzziynR1_zJV

$tNxv$$S^&D}aP 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 ~$1J0zfctYl2Go0N5BkAW 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

?sn;=%bRfQi!8Rtl6g3wT# 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

;f=qrxP=ep>9fpsvKm$uQ>rFqgP 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ΞG&H9<&wL#5V5e~bM?)L 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΂%Be==-SmBF`89r)+ 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

EVI8R5k^`8^9ey99mH=UK$Ha#P~VLP;J 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

HhBFb%&{+Z3 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�nf`syF-K`!2!5Ma?uGt+&`-`9psmEr<+KtT?L!~L7*uL1w$Ar$ zC5Wp#Rz(iumlJ*v>ay4qKMDF|I*ZAEp{d@tJI1y6a^JUWk!iiTzQl)%wc+@W+z8#P zxmr>Ed>@J^W+Y*odcsz8TT)xg%6x4LXM0w!Qw)}=b1V&YzOHNhMz4OO*Z*;&S07hH z=F)}6()tPvGhJX}IW?13-*`?iMxZ-dOx2d!y4tGR`NY+Pp{5hV1x8Sx$0o<-;-~tg zT2)?TF83`vtEHmq)Fw68;m}-EW-?n&@@ho0r}aMOEvl=psIim{tEj2+Zh=-^R0U#U z-|nxjzP7|STfuU4;dTREKHVQbZG^Z+BF0DypKv-sjS&bF^h) zt<@LyG4=8Vmg+9dR=5eXud9knNxcOX*M;Y2q3kEMRsA;`s7j`=UI(^?MLymyhKdS$ zRp~P`U^zB%=>o@Eb;)8MG*zsr|NW+{J`B8zY8NHMccnt*oya{ukd&3wSjZZ?6JvvT zPVC$@+NA4CRaDf}n|yp^!aVBxn^Scls}qm#e+(&VXDnnpYhD`1mZI^Rp=f8aa#)^f zS33+(HGA037Dnv%t|iyCt5KL(zPCT7Fj8`kyYHgyuy(hnkO86y!`=>KV%~uWpX#t> z?-Te<8=qNuwCr6D{Dj@r!%pu7*zq^4alB%gOnXpUk{XxyZ@2c?KAC>rR1Qaw!K=32 zE-X(iqY1#a%VF&c!`c%%Ha9-DuODn)b@STF58=9Uy0~&dWogHL+HtM(+Rg=w+YHUT3F;Hy~WIzB&S5 zGmbuRbMD=m&x%$6l!rpA#Dq+P`h8o?S84;?#{cETXJX{akPK$_Jw+Ff9+su^mDL@ zdQ23BdeDe-wi~@`gppKY2uhKGBT~Wl9SSvgq;eVl3*}e{pHPk~;d51vQXraZQ9bxR zhaD*gzS&c#mFPb0jN-?9Rg!Xa=TH%^(Jh?ztQE%eV*9T(I2-4tJd`Kpu^Pv{CsZEn z_{Q7MBBH~QeyDD$H~k@Ps%LGYM()rix(m%dR%jC`(_%F_5>z%)Cc3VQ0JzVgEL0a? zLE<|RmdTMA z*s_6qufBR$_ z6ni*Q)3Vn$PY!Ne9t5J0Xr4S6-oe5f!~I1qE>a0!d9O$~ng|GTITW2u zyB}EnPh%CwC`#%`wHL_@hadGW62`;L|LAIZwkkI6~1ZgqcH=zudK(R zIkIIWhwqly(fAS!AH}7hU2frIb|1u{WbA}Jk=?>4Av{nu+s8M)3fah!)6%~g;hNb# z<+If-{6~aqqZv(Z=-c?XehSSi4o79CYj;CF;$?ioYYU6XSXWeER4t8A21iO_gY52F z>UayrgA(1m7?f!GqpZk;-{csuX!xp@w#)8=xKx@!h|A^_Vna*=V7mMLbP?HC;KIa+ zHR^p+WNlyVG!;W+h3=8Yx%1#ByG3%euQJtnG9(pwA|%Z%82oIcCs#sFRdHGrz|`JG z^TQ-a8iOW7-U0vL(YT5-q8w7`E6q$OCV7OGJdxqPu@ql2y!mY5ytyIFNd6ubKDE> z-+UcpJ$TuKyt&Mbo>Vd{>T7U_2eewx&ee#7U zXCfB$(NJZ8>I+d;!zbbq{epT>QnfZA!;b_#cl zGxOT0F~u-2(BT{5@FhEZ)VMT(bue&D!kOmqxhOl*UUKg1$Qc4wJ1@QwMpxICdq?0a z$C2RH)hJEeIWbHqYdv?hvU-zA>S9_MaGBF0lKND=L){l6P;-=z`?QW>lC*)@8hSuJ zi*rm6%+5d^>N%XB4f$ut!H}CFFNS;`ax~-%kTe+n1u_ltMM%02m^ZL`(4Z*RmgEy_ zOY()##_v32hSJvW>a&%5LTa9C^Tg__M&>;Dc z=bD|5?RLwmisqZ8>cushbE@7})QZX?B39wUwMdYZAJuRGq*nGJ=qNbljo_&q;OyX< z$%8+LSVM?O1T`~9^@Z@%C9r25n5Y?pPc?HnQkigqnt31+5rlJocA=UPKlK|cO8;H8 z17;H&WsOCijcNxBCtN$!k3{W|Pt*?iLP$dufk7A9$9fZNPa{^Re&w|4Dn|%CK$<$% zEOD)Ec+v=KuM0y}hRx`B^yGm-%$R|3pz^F3|%$^YwOm&S`8FWgGWAM;8eUY4KoEZ2-t(V*lL4NATc`4f^pWS2(eXW4Gm7NyuyjB>EkmYXS?ynVYMfga! zVTSUg`5g1La<^wqt}!i=Msu3DR0kdIsd!wilM*K*uw%8JT;X8c;^lg6DK9*b5)C^W zwIm^_T%^UMo$FN`!z8aguxz%`6UlXuagf(TCO|#`N%e3eBt3-P1UVh@X2>~^w?R^U z-wtVkyc?2+-p3$u4Kq|x9Z@=n%gk1YqpZXEy^s$>Zi0LSlIn}%QCrXoP`rvDpLi8P zz7SVRNVDSt5q5$AM{*PzSWY`n`&o0qWs+T z=sdM%z?^8Katu~$CKrBDGvpIBLq4%a7TB{m7Z^V@7RI&nGov+ex!zL8ucZT;@uS4# z{_saz2PG~Kww!fza&$NA8I^eJPj8<|YI91|;SmVbSuds^D)3e;yJMk<=}G*2Fa@b5s^mCVFIDse-K-#_8VMAWwtb0ZGfq z*CG2uz6nVRxf7CVdl%$%NDS__63D%fOCjHbY=qnjc^BkGZICa7=|X2Qwh#Zw7eY%mz9N(sY3vJ8hRyN#sr0{(yO2obT-_;g7dlbD zk)j3Ys_>tDJI4<~>rmyZ=}^byM~wj8MS#20DV&~t!<^C~g$mHM;6KGV{jQ~}xyxa=}tMAwUCkRD8H5eef0m-^|+aSq_Wc3)vqI<#^P&}r#B9J%dXIUVW* z0lLqf(&;6oW8gTn1`fdSS=-3pzU}K?)B4$(F_w}5LggB5LD$?J9U^r)|cOXYp z#Na@>>jV_&K=9s*U2g{xuOhu12wwfOi*g{9DsrX+xl%>K9LOCia=HU~N=1ShF;<(Z zvG5m3GZKTJSYk%RDXV}{{|ZzDGKzm5BaKp#_|Xcz>ZegfLlTuO4rG`UMc@F$3D8jw zBB%RhJt|k|6DC$%L5|{dQ+~sl(TxGiD7MV7I0D2s%#KrTabs#ujaF{1dj^@=z( znHCtUip(xx2|nnn*J44->hX;q{hM!M6@xXbvD#YY@S7IbIsE*J%`D<+M18EKq?-;v z6vr7+7c?%hv~N3HK=mD-3#LY-cSkO`h%3Ra?_FK4pa;B;#kfn57r5i~woB}eCq);y z#Q7J!2@{MdNygz5(~?rsvolgAW=u<(5I-SSEKw%J7T3@rDC{Q0mrRIBPEJxT9vwGa zu-`_rI~iN(|u^u)ILIg~#KaS|~7kfVX!6IAkM|3L_BZll_0nXaki@Q=+-@@w-o8^L!3Nyg!h(S6|TP;alTjM zdAncyYN!~-VC_Bj#N~Sl!OtO%d7OynEj_Bg8xh9}9U!Nb4=O@48I8nd93wl$Lb|B7 zzUw5UoOc?^^IyzD+LL$&QBQv`s5v#G5P0utYPnwj2C(Yo90-R^(WgAnHGcqP7r%W@Z zXXfT5XQreo=OC1bV{=S(RYkCWNvW+*E3MD8R-5W8N+y}gV0~idBm*gll>EZnypAj? zYK&y8{-5Ox^^=4CuO|ofvwiy6KK*Q;ezs3P+b8`l{hwm{{B6(Ux7KFd^V{I=rE86! zKRQWKe#MI?gHC4q9F5m|p4dJujLU4FPctsFeg43>%=Q_JmrS16KJyrt**+ z%DBw-8GzS{p4dJIGcL1zRxmEJeQsb}X8Zh#ahdJ&BD|{f#P(UuxXkwX4C6A}=kJWm zY@bPZ&FP8l)6Tfe_PL93neDSL)_R`UK4}?g(8+9{iy4>MK3`#6X8Zh(ahdJ&A}mBb zv3(jDm)SnoF)p)x{*7^&?eiGpGTY}_cxCH}?Q;U-GTY}hjLU4F+ZmVHK52&pPi&w0 zjLU4Fw=gcVeg2JcneDSTUS)Y=`^;usX8XLFahdIN2jeo^C;jeZ(8+9{6Z#M?vwdF4 zxXku>KjSjn=f{l8Y@glm>e>_A=M=_ew$C!gWwy_U7?;^TcQG!reSXil%=S6_3@VSz z_F2og%=Y;R<1*XlXN=<)nw)<3)cti?{G9#C6T&y)wG3Xddt&=cVq9kXypnO5?X!*X z31?jsasG85W{r%!;Mw&4qmB5OopG7%GpaA;E3VRW%d!vwiy6K1*S-?VBCCpY79HYMKLseEJ|k3rimEHB8hl8F%F$4RckMoPB*Ab} zTDzzVBsPAw&;R>upZwFCpX{?bn%H8@(SsL{PPkwWMi1&a(Gou)dKEtAsIBkd*YnJ+ zW44s~$v&NiV?WuapX^iWOzJerl$t!@nvK>P!B^+wlX%xSI<@ln$v(XfezdGws4hkQ zWS>k9?`Hkc~Z{O+8Xf@Z%Koo74`bM zz)$vBbn5H<%GzS_1n#vuONdw4w+DPb*{5TN6)Y|MWS=GF(U(NWm@4X+^l~1bn8ita z^bnkaJyP&%c9F2sad`&=W`d9Op>E}o6Lc_MqUb}T>85-m1??IKsCG3pQO1+m@&H;!Zf%UnL|EoA;1w*RFs@mBGa=qG7HClcC!O08GJ(UokgI?L!<2+EDHrgm%hmMJ=8o8WgP62qQ_nvHbuJY!qq z@-W46ZehXp$@u(8Q4Z3-#;qVN1PSc?xYrXi!@_Ub(wrHFsJU?;jGd=n*54jz54$7a z?Xhn+huzVyJ>}TP)`PR>k^PZkY-?(_3<0;-*nQTRq_LBOSLp4p9S+HMWC+#|{cI#< z4{V>TZyt9CUqt{JGtsB%ks#F)3C<$V(uvgG_ zX2{DRZ-K0WTnlM|q5+aPU_w?p2g;#BWzaK0Xr;ykSH(oeeE?R`)l$fOSk<3aH!@gSlKc9VcXQc2{Nt(kaH|&Ip3WcXiqqz7qQF%!9YvBv}kup-K zV6M5}EqnvQHT9>@TF~emTf6>e4yPPowuIvf9F&?CKAVcKvNO>*=BYzanJI;*aa`rn zAxbM2c610)NW_7|*LIpa^$xLFy9AQ*qz*yZJ+9)HD#EnC2oj%5DJ76}drKhc-b*2= z=1q_nsW{zpInKvHRzl`NE`UT@eBB(#YMhrr)!cPO6NYe+_ zVA6h!-)+Rh1mZ4zfxS+jxp=T$DQp?Hv1NS>T~(>%#BF*=e@jE>|BQDUGP0t4X+`vkpraG^aDWO|lDj9Z4LJ=Weij+t1@*YhwF z=V%;y_Tw}Pwp%X1Mag3`)yaE?;}Q&z0U$gu zYq`$erNA{;rFyhRAiW`-BfY^bP={lug};pob7tzMdLgHU_dKiPjPwE>QPK;_lkz|( zR))Chg|(_fFA(Z*TJiv#^nxg|-1Wjq4{VOh1?x8HK~G>7702w&v-7)#%`9g@> zn?pmDO$*ID~v(P$XE+kD!PzcvR8-BTlw3dZe83^w;8!k>v3gpGcluCoWWjJp+5Nem0B z|I!|KLD&uUz{YVmDArJvD{bs9D`>PG3P|1Q92}86sE{s1G8yzh_K{Nkgo7$cb1$hL zt%XSe$x&Qtl&9zfP75am)CMkmIPI93weV9>KrPP~as6#B3TU<#|A7kl9Tin|lqV@5 zjhmmV*nLnC@;(Ad<=+5F1JhfObnlNr;^SDFJ$ZTf1SG9mFmu`BAyGHX=SJ}pasCYC z1juJ0vmyTkNs39~mqI=dIUn)`NK()@Asf{2C6KK+UkSMt@@mL!kk>-K2Duh;3nZ;x zUWY_p%3mR$gQRq*E-4>U_(3>?!jn%ZJo$ve3yc(AVE;Zg9x_^Yb-uCjpx)U~e(C$o z4~bz>X5%44>+Wi1-q?6HAzY8++t;7Ot>Xe0)|w!kgGI+F9dB$rC5YJ#$ACSP{~@Q- zgVQ0ybgewz*m$ZaCXRP2)?w^(FAr&AfQ}5(wRF6(@sMs)Iz8_D^`CM&Jvklc`VnkA zfVnnE(lAJO1g0YXPyaN8hF)@lor8R&`{X*Ys60kvN%;b^g}NLZA=G<_D5Az%Z7jyl-(t`qgoq?+O!JE@*uK)i zvcYR53U#d3=>(h{9oIP?Y&j8a7}HX8Bv558uP6g;2#6*?;{l$JSoUj4nfXl11!u-0 zYgJXfsagpE6GdzSXah8NawdvVaU(b~F;Rpv6UEcx#nU5IgC{16H+2-^L*%Q+P>E|)TIi_kKbqY^R6f{s?FcO0% z4sxW{p3*yreBVc$S7}KB=PkVy#QPC(M$rflM+1nb^wN-#5pf=-r3sw3^d3dne#B`U z$I(t$zS|LJ1=@_9mL8gvia?7y3yy?NF-NfW4XZ7#RK_UdB9v&FCwe25WtfIEIlZE! zzSdk@W{Do0b3t@g9X>{?Sc306qf=_D>+nluy`MS4&m0jk2wDSfih|Uf-1MwWkcb3F zJQ@L&WP<=~=UP-{s;DWe#izm662W~j5Le`Pa9G$OHzI%BmNpEO#a-4uiFZc<@Z&Ln2h zAexSaMaHTMv$zu~dRlVkq>NN7t^~;k$0fQFn!$3jQl_N}eh12G;;g(>PA8O$ox(RA zj=0ltP6Qv>Sy>qz;T$bn(Ctt$F2{Kx7nII$CyJ;)%9XmSgS(_RRVJTN8GepLrs-2M z^QSY9$VOafbmkGs&PmV8Nza>w1wKkomkNdus*N=$lQ9d;nvtBHojQr5oTg@lQfXIE z?SoT9yJK_35);~uSWHgSih|gEaIQ80^uf^ve&z@l)#b;~10iDNX3%9OE`6nP?%q75 zAvQF9YTYiedxt^S^Oc@o9@^Zn`l0MshXz=}eid&b4Z1I1G5&sTZBo?CJEJ}h9C-6h zyk`Y0_d-e@dnYn$-Ik|r&%OWN&nNF!l)s}LVbQv(;fl?B7Vg{i!?Lg$*Z*9tC}3F! zzAi5D@fEKR2#>qXl5l2V)w{@-@oVQ7J+*l54_C~7ZqN7QAFJ7>D7B2Ie_2wVo0W5! zY0+f~g`W<%5_@Ja{^7;H4yk&5{?@wK-xm#jJMJ1qX=nWP9!ow=3VJbYOkzp#JAr=Y z2tRX#pE-j1-G7QXVodoZ_Cb&3td3VMSbop8$L-j<4r7of=7>Z*ih5#>ure+)M?Ay0 z%pCC}<1%wZ99~*@VvfjXTxO2Ak#U(hVjJT!bA%p`z@C^RE?`_{j;Lf@W{!B2ahW;d z5aTj)#L!-p?_ZY%&JVorjzhEV+_>`5jXUwivW9V)IbsvzGIK;b<1%wZayX^`aLC@9 z=dRz^eb%#se?Q~gur_SL$hgcLv72$3IpR#r`JR{~3K^G~BN`Z&nIl>mmzg7uFfKDk z48_946LZ96jLXas_cAUsN4&?l%p7r?ahW+{0M<^Pm?M%Hmzg70F)lMl>|k7Gj_8dA zlPBhg0>)+Lh+7$#nIqm~TxO0q4eL8k%n>sfmzg83VO(a8c%5;XIij6$nK>e<59KQ} zM_k3Y%pCCm<1%x^0mfzKhyc8N^28jG#<sv%n|=!TxO2w+n4f{nIke7mzg70F)lMl>|k7GjtDuE(tomGQ`DY^2URsB{do7h z(534Xte6&~bGe`KDBmB$}%>IDSe`~6Iu~mjirk^g>T66@Y|Q7|x9~N7<_ISa1GQEcnPaw!vZq(J*Rv`(&b#lUw(Oot_5 z<{CeBggJJ&Ycu+(BODqH#q?80m}4z|>Igq|#GHlFNFfLvd{{kISJYtO^;1X8sV-UU z^So8#<5Q}iI^u*+li-Joi=D#@4|5ebH;YOZ_}oN(>WEXJj`**#@pmnZgVI2=()VCi z-$@pQPG^8DRcZ)dxiGrOEa7%J$|LT<%jQ&Y{vIW!hRW6%8_ilUtmuPg8_YXb849VwL2R>JsalA-C(sE zy`{Z-Gc5V-6ZJ^}+sCGoQR=qCy|RTdKbhl`Rbnfw{O8SuMSffEm0!Sw($>&DvvKEv z$@Wy``Do;2KXb^=W-^GLs0UGiAz(Xf{|7f`#6)hN)P!I}sEUbhI%Q9<;yJ zV~T$7ribg7__)nh}M8al@Y<$Q^ZS@n5 z^*A&~<|gE*>d9r`TZMBWDK0*bQZ7a~g=ygv&mx;B3Z)dW6SrIVl?abets^O&-frQ0 z5U!;*2fi28GcEm*RA|-MpLA^*j*H#sG^os!Hhqs9L4^LgCWg7}pB3-6?ul;2!ShHJ)W(u6;n>s$0aLSMD-Zch1i%b~N!F48ak9GyS1X^*AHc2Z*nw&inYYu4p40ECKX zIDDj-?kc_(7&#iY$dQUuN1?csDEDPZExZBY&Nk&}GIm3gk0hl9@vins%%A> zi(?e~I?|ud;X)@##p`ekcT;gHGnEm|t1OJfKj9oIK0+dl5$SQXljt~U_4kOlSxuA# zSqchzPMz50t!#Z`Ebaoka3XnAmbsYL5_h$YcM&+bV#b78IYGk z=0F-Db0Nzh^B}7s^C7K}1&~)k;u<#dodtOV&T%c1W}q%@R3DTd)h<<|P-XH7RVH7E zG91Mg7|~=1tb-gQzko(Ha(h}Bf%g^00>W8_`5mhn$H%BA6A+KRph~{Y` zRX=t|c*_R>n_9zH?uE=%C!9Gk(a+PsJLK)gt@?m1G*bn0!;& z!p5f1JkHQ^8I9ZZ)2)BE@7#O1=>to*=ChFu+un0RJQMXlh?^n8Ct;IMlV~ur)QH&y zO`}BNh*YS7L?@(5@5`8{PDo~hK{KBTbucabeY9FP4i#7|u6GXa z+n+kG=#rEUBI;T--Jhl@_*ZJwbrQ`!?Cdy(b~hfY{8%vNch5k(Lo zB02V-qz}@pL$_+d;WEzzBQMQS{?sX{et%WL4N!h6)6WMuX1t zkjo)ofLsar7sz#xe}lx_pu7zEFyyO{PeN{m#I6{Bm>0AK$C&*Ed&p}ds z6HXOG%_KTG`9votpO~)%M)Q@xxMv&ei>SMtR)7_i;UMCY9=A-^fpUU)aSU;-n0o9x z8<+m+S6%omtwVO8??;XOmu1k{X=?YJ;oLpDW5%IbEvz{u%s%N)zh>G)?Z>x#dG_vu zmVjpc(@jU04{C{gddOGY=`t?-70WaGmdxD;L$}+1MzrQ`O-EOJi3M%c+~yQLcPC2k zG!#qp77U|m52C*C6OQ#bH20|L(bSA4uWrC7E^eE+8rW&!G+~lF({Lzya<>x+m6+wTf4CRp2U$Ew~p=y}1iN>%i zaZdMN3ppOL4w6PS!Y_rahrA5Z3OOGV^}tkSiy#qKSqy20Y=E>uE`huT@(M_-`IM!Q zcS52M+U|q2;g9Nr(kHz>3y08a@(H~rpP0M^Mw6Go{(YPjWWMg|eB-2`HE{qE8XA2! zss<-6ToT=Jjs+YVgnZ<@aZ;>B7`5B=W8S+(PA3Q<0Xi~O*V6IENkL;L^^wndRHK`@ zm!}7(Lni84I^H-bG+n;tCnvOS{}hk0hn_qsVLEWNAz5zISm=00(wWB3sj_o zOJbyobns0isYnOAM23opykvd{BfcHM2Rdpj%6%sM#Kxd8KJW>VJxJ6HPHRrOK%M$J zydzxL8;F-7exydq0C`eghQtvGqd7kDGDI>j!=XtqH&zSliI*XsG|kz0;AKdIVvll* zm*j<)VMVNSVv54?+;|zV9#P&vyf4(aq*9)E4~X69JH+`lPNYc+=82bq(i;|!)ie%r zCrU3Dag3@ScuS8alp7Iey&BJ3dNfHti8%KpP_Ci_cq`v7#5t_S^OhbhSbjpB-_*yP z6P54c(Rg^qLC#xx2N9NmIPr-bjXS8P@>L;$GQ`<4M#M8fcxn#|I(hwAwA&>j9(8?B z={=0}k}wl|IYGn=_mW;PbZS`=o&ZurJQ|WbrAPJf2IA~e<9WN^9fbu~VR#a{jvlA9hNbyvWT*Hq>cP0uW%>)wy9wp)s{}=(+EiarGRag{QDZW5aRMoc6hWIn#iJ}L zYKY#po?Zv~=`sFi=`pCvsnLx_YW9S9H2et|GkPF)4|EqxHOKOkXNYcqr?Oxk&y4xG zsX4~vl)Ur;u!I=1b5e6tsdw~4_%!#vqmB-EJrW#|r3GfBCTHen8>fJYB^!%<3<+o) z?w-`UX}sYPgNG{WJ~VcvAsg_$@R+e438`ZShAbX4PDiwx0K4(N;6molNW#*TrW}J# zwmYX8$)J<%&aYy8)wTJyi$5LqAK`R)70^nRDmjIF^s=_$r#yYp`u zm+j8a3#5EyyYnfGSGSiB-Z3ES{WtqIE&1i_{4`7ujLY`rPctstmmgtVwl5!xHJB&+ z@)eBB_T?`#F58#W3qpfVwl5#Y_@TX*wzNO9ef4EqgAd+$cIjq3^D{2nmv3ZTwlDvl z@pboa|GZ&f%;-moYO*H(_SM_?9SL=9(8+e^(-@cS&Q~)o+nw)ZT(&O{4Waa>pC7;O z!1#}*&7HbQKjx|Zm6)&@m+i%GV7%{phq`~btod)n&-9wq)VCdFf0c3BE*v8o(wFVR zConGCg)e5j-^Gs z+mZjoxNJv00xwuR*^%ckF58jc%(!ev{x0LP9r;nlWjpc<@uJC-9r;|wWjpda8JF$I z_cJcrk@xFG>C1NHa~YR;lGZRT^CZ2;xXhCjg=Zd5JV|31mwA#Z8JBsI)-c{Pa`(dn z>SA79I^nd9D}uY>rP~{f%lt{dGA{EcrD1wQf0X!>XmM%K$^1#X82{%(y|!fp24tTX zF?I3dwuW~R7Y`l=-Np;|6ppqHe(~nq%dhQQoQX&D$&4@irFOs@`jVPqZ_J)mIPQvO zPz*BubHA4pgKzpJ``nj`r|hcf`xbsAV?6A(jeoiH`PdfF8Fa&jFL~yd+opW_ zd1LdYSwU4c@Fg&w_R`pI7Ps1mb?_?L7@t{o^G)^tcrZF)arzbae)v-+-uW{=VBE|0 z&*yv_UHoS3?FH9a=HdM$o;om}PFVEFmyt(A#X}|1CTX<&{ew$!?aQo|v#|>Z;4H z{U_e>Grr(ugY}YkS`Myk?e%KZ%QXw}sN09@ZAeti)1Q@hOBh{$uw&2kPrHs620lzB2Io<#!(2v~Hqmi_QX1GUIQrzrHQusqibKYTsI69bDXoU(*>s z+WgJexrfepdg<#w6pZ?8#y=EgTok3h{n_NH<1V}T?N664S(CZy7}{$E)U;(KVSJd@aZ&O4AlB)@!~i4^WlSazqy~^+|O_B=V~YBH}_jSI^lvj z7>&JdOl`GPoT3f8o7F*4nMt!e@J>`fFNa~8;5CBZkk4<(2fgC`z+uS<(w6@ML%vee zLJyW?i)ex!R#8)R;*Yysdr7U?TxG;Aw?3HXsDvODH3{@ng6|19Z4>Ros-nXNuCo`b z?BFj)yt zFrYe=)Q6Izt^EdjRbsk2RV@?5E}gqZn>KxGqW?Pvd!4<1bwu%VKc1BP(S>e^2f~uh z%v!}2v}o&W^I+`jphc>}#yKTKk|D^Ed`JuL4|piWej`Z6xAIifU>gVgY`DPWCyV?) zNEYdJmNYM_t4G_H@p8=v-J=giO0YGi$wyvIKc!?*y{U8#u_su}r6-#mg*_yXSul$9 zt*6u4#bjATcJSV{!cyv6`s&2;W5I|XBe+g|yA~sX4~m9-k!iiTz62L{ zh8m+&k-;G#$QHWDjo`SvgOs3aOb91Pu!9M~!F$k|`jKy0F0-5k5JA=v7aKh^dS3J; z(VeYl!PVevt+-z8D4(x2aFXPZz8mpJ*X~v-ubcr8cQ%wG_-PlPH8GdPjrbM;pVN8d zvVcw3sjLKCxGc!_(D|tBh9Bt35;2lZ|Hi@JLC6q8L8>FW5OVmIh25w4ahe3jRlY)*Tu_h2#je7E5h4zU~*6<--AMj>@(eAMW8>NJYEPJ&IzZ@V$^!=64_| z>CrfX*ffcJp~@T;3sF8)eWA($2j*P8XVRH|XjHc_6W=raC&Y*QUSSX@eQgz@!ibQ_>E0xOj?1J`p8@C#WS7SXc zDJ)ROawM{NcwvEd8b%Qs-6Mp%M6i@ivqZWi5C`-7{)g`<*WpGEkEGlw%lv}&yqFly z)Dkz%66JhJ!{2c`!dSnpoc04PN1jUM<&{e+1Jsg5B1T;6?6&d)2ob?%=is5(I{po6QTKJ;= zWNJd80-NU+{wIWsg_c@6w{SguVyC7?cTRK>w5cBaT1bWr+V#nJNAP z$kiRa6x+(v;OC{6iX{1ZEP!Y|LpNc;A?9?XC}t2|6Y+dPc@R^Sm`{2si4nK+^{7F7 z>`3P!YU$~`W4>{w^`NrSd@}%7{;FQR9|ItHKTrq4k0D7jK8K`sL>t?tKz;?84|zIz z{%puIAm>0H0)8XpcaZBLk3&8K`7!AFJ8jSKM>J@YmTN-3IWTuK|K^{Ol^C3Thq_&~> zREL+~5cCJ+6Z8k<3t@6CflWqyf#s;aP^G|uQ7wvibq;JZwJ3E51++K)^W(m5dfnP* z2BwK<28jkFmDq9&Z7s<`;OGg;Eo|xEttGjA%fAB74MGtcx~DbnIG#jb%tM3U)k{;Ji8sEN3KmKsG5iiAz%B7QT+d zse>@%n-b&}-mO1{P>SMVa3ADFZbKoJnacJ6$l!lfTdoc#~RJup7 zpG}%!dgwkRavJogNcZ6Us7Pg|k<;<0NSP3zJt|U3ID&Xoq%@AVx3|+W2cK*3P)lh< z<0x@FNK*Z2j_!+wO=_)D6<>rt3!@}vTj>M24CjL&mqVThxfPOh=}JhNBCmqXfW!*I zmIa9pZmWg78qy4j&TO+o;^TOx9;54T!TD;)`ypE(TOqH9+zxpIBQ!F{?ZQNyF+> zkTi{Nge-)78uC)eO^|aSpM@-j{4-=FCK)wP=y4wo57Lx9l^o8!1 zT45XxF+7t`4A0~XQD`EYz*v~-3sLTXPsF=h^@Y$xB@9qSXVv43I#&$As_U*w3M1$K ztaur)3*D4kyN2XnNyUVt4}MPYY#2Q?f@g2a=`{Q^=23j@Z3UH3bCm8z#OMauUjvNK%=p z$TDpB@Eb8h3dEWD1oaA{nE?EEbt+j;E}>NB03Gq3xH{hmeP|@2Tz5XT4BAUR=e($% z0(7JTt;nhAaypoF-O}+!=yMukQYjAaf9Op)ogSPHbv>;--UxlP^8B!3 z6?&cfeT8y5q~uyUg3xD}6B`V5kN}-lo_C)qJx5NbC&xMHRGu(S(K(%79Ea91q{zwE zFEA6jmnWR#5QhofA-P^sI&^h_P8;^0x;)@vIUO3+19Ze)LN!j#Af?kAXn>CHn@aKI zgImuPI_2E%bk_m89r&-+PjB{VL<0zbi-s;T^ME*2dIJ%{?QibIZ46i!2;HGtEh zlMyZmQxDM#O}GvUq$D*?2XRuiiiA1RF{((g1F@=zC^Ma0<$_RNW^1vEX(hxo;Dk_| zlIl7qguH9i^Ny4^sEFQ?JBDS|X(?~h07o2};)SC)c%jQvFd+uS5w-fM8lx8@GW}Bw ze&~sb8>!IHPudcw40B?ap_w^Acer1*DQeq@MFs^>9MN7eNJDeo6k1#vQ*vfy z=VckiXY7vCvU-zAF=l0_X6EK*7)$UqXpI>_YEF)^&T28TWfZecIln;F+E#sHqf@6~ zC)9~FRavZNQ>g-O ztc1Ae4tFwctk}4b3Bx%$abxvkZmf@Tu>4UQz#0woQ zqEO2wdEv%7Ta6=Ps_~q(hj1EQ7D(}iCk-n$o3-mmk`}o;n=-uBc~qou6ON@w?-Qr; zdE$1WrOi)>W1=-b9F0kyxR|yg-tCApn^q}sR9;W%%|u0X$3x{@TH(OaSm`Ofmw`Wk zI7LbDzy;#)l-_s9cWn}ujT0%B_w+1?w-<4ypy!dJvEEa9m!W+3A&zbeNAp^~>yX|Q z#CbQZBc7-9Za{kd(y`2())CLs{nGe*1aSsshwwy;z!l}P)KZSUd&tFd=9-2dW`xN8tK81MnXtdWuJPau`N*uvq!I97@&M^L{ zu*;-jl=n!qyFm$ySQCX4c4?-?C!-2G0m;~ZEsGcx>{U#>{LMQtco9F--M#U4BR$JF zJvA>aYtqS>#!kj8Ml@fPg%QkMDbq00iVW}(Gq@iu<+Y`htuORrbj?N-Rh{HhXBsCZ z=Ov@vy2MJRafJQk(!qdZaeTr z<)vq)GQ*oO0 z#TVds#UiMt1jih;0I|d^EHYMAKsQKZHlc)?jv5!%R+Mta#G9A)Kg(Zs0H*`qfN+3Jt29i6o3#d~$k5DxQ&o zBbK3P+3DHF>A8UNQgg6ZLvX|_0>Rvun@%d@An?N*(%^_3H7v!Md<;>*T$a%h^M5nP z*#XRNn9;%YAamc0XI$noyNq#}6K5^sGA9nb-SfmjMsM#tag7x*E^~@K#JJ3%^Ebw2 zuCYN_3m9}Vw@wb@GS}Ez#$~RtPZ^iF#)e?+V$jK4JaZVAxp*F7T;}5WC*v{~&u}Qe zK__$Z(2(Pai$`#r$y_`ib9|YL=QqY>E}lfJwG29$i)RVrG8fOE8JD?uerH_f+!;@6 z77v^|S1>MfR6WPI%*FE)<1!b|7_4y(I+=@SDdRF1&r6K29b=k#Xs2On+*=PnbNBW> zXp_G)E_3np52o~G&Yd}ozbkR>tYKW{)_I?CnS-W3*8B#Y%r$c<<1$CgI>tjv9(yM; zYu%QoZqL2{-p?oR2WJiAGIvY>`n)IZm=wlk?wBUVW$u_Z#%1o99(V(2(A8WQ|KcUf zj^41L_y*(qE5|*J-)!>bvWISn6ST;??VmT{TWFdA=24LX_Aa1P@#r{VRC z%bbR9GcI!)60xl(PQ&vVm$|y8GcI!-)-o=09sZednd|Tv<1*J_GS&p1xDJ~bm$?qN zGA?r+24dCWiR*A8<1*JFeFbOG$=q0vGA?t0?PFZ#M(l;jiX@=eBN?#S+VS76Y|oR7(j%iNAvF)njEZe?8NcKiq9GPh&jzLf98ky#H7 zZ<%=egnmV_#0hqxE=m^~ zT@&g|Mfh#}J9vl84Q6^ZCAxGcD$(3fU5;+-qm_6?b+u4l&*rnfHV}q}nkpZQgm*9| z`l7_Q!A%(S;rBjY=!$T0U43nd$!r!Z5@w&v@E^6_r`q>%*ZZ=HVvGsC-L^VJEil#B zn5ujoSI`7CMb)O#x{5j+j<%@&{S+` zR5kuDv#&nk#N@KX5LBHPDag@Knptnp3ZoGFJpTL4jO^Gk`O=!9+L zN=1R6v&wv(DT__jjxoS{2W&9Up;6YywE(RHmekhx-UVTuZ?5%~3Qz5V^Q{%7U3*Hg z)E8A@|0v(oVv)J7;-tfzj|HUByuoZSRpUGH+N#?5#Fo`L4T8S=cv~PUSxD>$olw`R z@*;D&Z`u84Ic8nRpuBb#KNGE=iPi@uT6ZR-lW`{TG%Z-DI??x3Vx)yWbU$?*#frD0 zP7I`-&-Y}6On8;n`CIz0V#e)6ot%_Gs;Z(Iq!B(el~_k;3{qZ4DviX;w`B?~+;Whg&AVltLEu)nxYm3E-%7<$g)hQE84AbKK^?wR4Ig&yj`WzI^VS zB0;SxJFDuhS364MtKx`G;A>%AuXePDqcHgN;|LCXZV5A~jEHOSozV^OeRMnJ{W}V)De4NvV^S0uYmg*m zBEADM5=@3~3XTqnxl){I&ZK&%M#yF0%Ng=h4N!U|ILK+?Rrq=)h(iTdAc7s?k0M-) zO*LJI<6<`wFv^qCqjD@m3#bk@rA6ivGCl3D^u`B!9Zt&}2-9i^9*xoXhzpT5S|J@S zDN-~V0$az`Yyg>!8^XtyY@tO#@gN4E`x^;K$tOTk_$Wxq8+;MWeK7_y5$7q8uz6H2 zfy`9Tvmldjo(Gu>ITsTA5;nRoijR*+l{6ed#Aw03P$rxtEQH8~RP0C92ZAxWMLBU!NUt=-4+~e(7d^HQ>;e zgJ(l?0uF9YyzaBn$G&c^iizI+i~Uu=0k5{`o2Xd@!%gL)mgxcZ!V_{zNqX}m(O*nhGb%C@J14((;C(63%% zJWR0!y_TvBZL#Vol4Zc*fR=Pn`}}py*j&!3ISBkZjobAUYW=c((XSxGiE8{-KjgK> z)&MS5z_x6SsLWs+uULZZ?UNy`zl>cPW3Y^}&jB6aDO?t)Ui2^PZd^ir%fJOad`4vh z=L4#t@(!vYPy)4EdT2a5`lb&oJw$rF?kXEc3nIW3>>003CY=FOcA@}f55Jo`4` z!>8!VR2-2o5Yt$5i2NcKN1!qv|A*sp3xl74&Mm&5vxcN`!+Z*Qih*!tjD1_GVUcuVdQ8$z{kRT zj*qRCKOvlyR11F}3=je88R47U!u#UZyQ!lC^{@ZO-r2xMRh;|(ELk8X(FBc(8Zl~A z6x2W>fhL3Be;gV%#EfH#8M!7#WByb1geyd6A-wEqRn2Z`Ho-h2@(%pnu#US+;nhj0^TR_4>%fad3 zI&cO^-<5R^b%K|G_kq&;0jTSK3@Tlfi_%qFso=2vMLyeK??(|6T zt`kTNf8#4y@Wk2^!u=vsx+A%_y7r(?Wa=Jr)_44dC)T~&X*BaX+Z~%R z$V$1**jRr7w|Evut|8pEzAHH|F|ynEKgRgfF2@_+R{ob7pT>~$jqhZ9iYYc%zn3%5 zwW-!{=@!h`thS?y*Vue1;qrUoV~^L^Dv9mMvitGjA;LZF^YF>-!j*y<*PQpk z`0(L_6cV!mYX6C2v+}GMR)AOKO5Zr<`V7q8T;FEVhV0b_9O_c&rJVX3zGRJuo>Tg= z2`3`Rb>)9|Y@hoW9E|)Ea47f>P_w0Oa0J+gIeZfs1m}Z&!4)76TA?ezL%|K;VIbqP zGYpJ?1He1LBf(#Q(E5ZP1^d3k%2vK3q@n9OruVO>}K<>xT zhMoxO-cAC~0BJ3up8s_?9@N~}g%UQxgi$SHg4BW$gsUCE$I+5M8Hb*{dbL6u& z2Mg%h9QiWzq+_ngbShk5kLMN5t>Fm8rex{qU;#Qerpe~a#)r*0%-EcAh4TcFm;IBp z>9s}O#&lS_a}>`9*qjpr<9gT}JuT-)f@eb(IuIhy`qkN6LQTo;`M>r$r`qN3w39Ji>v< zcw>VmZg>kDbeXJGZfALxo|QTWdD)x=ak8F4V%A6_+u0n}8d=|3&aE~26237e^k@9H z*63+`rADUCNDt}pRB$tODCb!g%|6sor7O#`j&QXoFI-OreNCvpGJT?ima5g&Q_0K-` z&GKlZ^_h$zQV473V3k5xIp?<^ z)=fO|#`3%binsh_5bI-zl}`bG$N6dC??J4N^C~Edv>lWs`Xe|J{4+QS{0le*+yPz= zV*Ns^!MDI`LFMy$kWn(Edegb8sEWf{D*3FXlFwQy&C~4cNIq++te(o<>UEq?kmIzU zv?za3=>mBd=K-gu`jBqv=p;VU=_6Bf$6YYGVq^=QJ&mbWeBQ%K(o8b#01h6g|g zbi@EpATkUiYV#z{!let_cs!qs4n=JYfET8;)qGVv#jbEU1Bbi}s-Z(bsxCAHTnj3X zm;qB=qwrf!Px&mTr+gV^v2~7--OhjcGW3XP$}-dWw(H9K?T^t8LJtfT=-mH72WLcc87WCT3ll)QwslY(FN6O8f5>S{I%Xys%+)#m{Al+zFp~ z{=4J(9X#kkMyuZoy3abe(inKli$FFZ^4B zV&+$RUr7jmjc_lvN%(kpG0wZb=medr_`jCptc13!JS*+* zaI8~-SSJcX?W5^yxi&VVlwf_~ru3}uw8ME~T29Vldy&{B8ry#Fb`udOeYIbjwprMh ztbz6^gyc7L8h9Ca2FN5Sq(O2fsPbUSVjlV$!8x2WnF=ii=Yee?6KONyYXLRklb+15 zu2Wen-mim-_gn6{%0cHU)v+AboXKa+nS2>yh}R=3vcp`THD^{&=FIBZ^+|Uj1oreG z4Yp5XR|8A6S?tEJ$cAg-*7~N0cexEXk5!RIW8H?64m?HtFEYN9_&>t%#!@d}h&%PLtFT?qp8=9$o2aKMN_t^U}#wqR2 zDTSljVRJ9!Rmk8|nung!e7f_`qeB+eWgjvXb1t3jG)dBQ1iS)@(}^PlROP1y)G6hH zEo<*K9;Z=cb*?iyPCVVEj9gkER@hasuun$&yU^k@Kd(w#8dG0 zH#!V##*lJ?F;;5v@u=F<0*|7je6K0{JYyv%Jt&+t9Hs?Cd8ruXQc))VoG|6Ayx>VL zN{mOd!?eII#9ln9D3ck4&Fb2m^l#FS664X-B`q)~E^I=w7?$ztEA*oQ6|f9E1pPG*$@5k96?B0V7r@VPM~i~ ztS_~bv_L8U74mBKM+^P&9BFjuywQ5kHNM7$t<4KBWmaTdzT4Ud*;D>|lEFTS26*c{ zoeEE2u4)uL;nJ2>J#}h(=;-8PpF}O#IxpsBo*D=U==R|ex@KoIVOp0YE zs`JerIy(80Px1?&%{vVk7nP^OCER8%^tVS8{kXKh5pSU72^)F84emdez6S zBt|=}H4?eQqB;XyNmf*%H8#0^QHh>gtW#RaXr7lg7ZeS5?m_8rj((0IejZ-zuD9A& z%HT;nj}WfOj;m8N%GrQacEgpNQ*1UHIxHqB9;ST*7=EM^Plc+%BrR|>|K%>ZY73o) z?q?itpN*3abkT8kRr)bX`;CV@y*PH2p0wno)AK3~SeB$*;cGH?hhkSn+^eM1^QvQz zqy@Y@{q^EA@?%$h&%H`IJ+IPKICj;0BdY!oyGpiIPC7Q;-yxA@R}aRj$K9zOz0v|I zZMk=z+VF{YjpMxU#v`3R&dEeIMvpk9V}^|xL!)$`no3JYm5ze_v30fW>U*W!R!;&BtWrjA13H3S@B1EWSs`U-noQ2Fn#&>he>Q z8bBqNtDv12~i;tI`_tFQ<%V8A+>fG|OnwqgtW;a$& zY8XG2NE(Kj%QbD6vbjL<9qtNDe4_hJqnv7L8zzshU}+$Iz(mfS|6e2S-Vc)Qe+DbJ*UtXe@Nb`}mbA}=+q!*SaX=*72idcy*OkSQnw#ai z?L3Y!QouRr=OWa|n~aNagOU5Wwzn9$pHsWr$o-t!r6df8=?!bH-1ywe7oU0W>Z~cZ ze7J-!uZ`T#1^hW9_j6%yF>*hL^?OF{=Vm>IF*qmS=eBM!azD5AcZ}T6ZT*&!KXAr# z(?^B|Kl1sy%Wphp-X!KDCo?7|^||zroPeL( zy3NS_+}1xeazD4}?~UBgd3`)%aWc;9i;djRZGESa`?;-OHF7_e_-T(j@M%5_j9w}VdQ=e z?%x}^pKJRBY(z4y?M5T_b8X*aKeQ&?N_Snt4Zk+qw%(cI%W}45^FZ~*Y;CJ?&sRhV5ur6;OE+|G4krn=c``$ z`|l2~egB0&KG^qG9__+L?&sA0g^~OB68NK$`#H7yv6P(?@N;&LHF7^U_cccD=iuIA z19zaC*bGi9&6-pZ=W~k{nlUo`FqtTA9;Jx@3-?| zu#x*YySEy-f3Jc}me6wo{yhn%8@Zq3`%WYG?@92Qk^A=~IGvd?T<24lA9;4uYa=^v zo$$~lfA2e;*N8^$->cwuBlmNNKWpTE&gFNF+|Lz$G7k(n0Y4{rgOU3=$L}(7KPUKa zjJ#pzo@G~^{iP-CC8I8Q|IT^G^0Lv${aob3cy!1K_&LGrjNH#f{&^$!bA`WRJ&_aeb9v7(^531;HS4ZN+ZKG`^mD%W#_oF_;N`uM`?~qhS1 zTcXRz{oL8F8M&W>`xKVea{_)&?Td`u&&~a1BlmM{KW*fGu5HVm?dRHlkNIca@%-Cg z?hBWl#AQAl)(i5Bo-v4Yp_h5Md|59^bUs6N?!Eqgv^ADU7|w*psxw za8>V*zF`bborP8QZO2&)moDD#I)T!}((*1}wrug@mP_Y0iLS2KB&0CcE#Mu-VhBQe z&C$Y#Ni8c_cDk&kIZCpUdZDgo(Ho#t zaruGqZpX}N?`X5JG>kn5%-j7L>@RfS)ZaZeDB9ne@XUHFlGuhry^X8)T;xe|^Ob#BZN=RAA2DD=soz~dr|$~<6#e;{QZr`ZI1^sihEPAxyzShBirU`$BEvR z_llOei`{*edbft+-c8%eW$nG$ZOFa+vbH7O1`+$w4cteRUJ^5N>#fVQ9mD>l*n6^Y zV?BnqHL<5rFRIEdr+sBlw-0@B9Phnsqzjjh=;ancZie0U+hSYH$$NA>YkP8y-m`dH zlj3rXr!-i-Bj9##(RO5yAv|RoJ__yqtrBjf2j6$fl>YBAY%^-~cCWK2Id{t9^fm}f zso+s(_o703(tDG_zD^mU+}piK)K3Y%uc>+?e=icHidMArauY6wUHz1Tj)oceXEJB^ zBm&*9q@on29to+RMs$C2&efkWjkmqGD5vQGWhQ#FUUbo$?KQh{PeR!JE&85UM+?u( z-e(*g@mmhx&**M_`SmAzO8hqwnP?P}iZ^XVA86-OSq_D>7epZ2$JRDI{FWA45B zuh0Bt4f4I3mL&YM`b~I_C})Kp2UZrWH+^PziDEPlM$EkF4GoK;1Q>*gShizrmeZc@ z5z2O~%W@tfd1rdVMnOY%<>u~ZAVffuFH>9st0DMGIdaYKr1|=YAGg)~GNJ%P>?~RyL4=va+GBFVhf(S=rti7i}xoYj04z ztmV2CZOe#pu*~pc1C=M$y;^gP zEB^|0r+nT8s_wrI=7C=W&jjxVRhp8k*WCl^o^-A{m%qPZ9+59ogrr7hc?Ya)cT`pf zTUEMcBF0SQ7rk#RMwCh~7mk#cQLR~Rd81ZkS?f?|tV5k=9Z;wstnDbvLlK6wGYE}W z;kGJe2KvD4%7556J^rnn@NN_i@!Cl+ysdHeCGhJ)a@BPVmy~kk!gyf0b^95L3f(At z-u$mMp-cFGq4DYVCK{hA>hB!uIXriZ>+$Ma4T;ZB9qFo&BMIR_O5B<;A=ys|A4_<^ zRF{pXBO&}Y)fkOLP7U#Xj-rHys5~hTH*>Uk8H*aH#jOh#&iAvY*eJOI#eHjqZKzuE zZ1oaZtK{}cZAs3vPlhPyRx30Am0vZ|Y|txP8jxwEdqBxQ1P6dRuLSv=&aiA!ScYgN z0A7SV4V(k=i|)`$@DT6{5L%Rw$`bC_&<$V~7zRHf9+i{MRRj|_`in)&_%hA!vL(w9 zueU2JaeW!0=5S@xqB6svqS4Z8e>D$HBqfpD#BVUGy7+sm@qOB}dgNmPxd81=agV*X}qhqYa z3?hvh4of7g7L$B*EG0zFvk8gq;c0`mf z!%T>+>`hlM!x0Oa_;u4ucDLp9*o*=GB@LIk^$igS#usag_j2aBO|B>2X7xoT`zCxiA^cr4Kq?gaQ;x41Uu-5rK4xSP0O6NlP9-$9#!4RDTN;1lM8hk~M<)h&(&ReqwDEd)g= zTM6ca61TP0gUAqD-2G@h zTDMiu6LZ5g1p^yOHn+#NMakNkIVIXHbLbvCa4R{&&0;n?hEvP$`j-5NoXXlRcWjJs0f2xt~a(x-1 zeKS{NnpvdPQ$x#5vC^U-9r5cd_R-h2t<#CQlp|(FD>(CXa2p)2>o6Nhxo zkrUg2;#3y~_47kk((_2L7SAJuhVu-KKqMBONlFM}Ex zUIk^|eh(_&I#=Dvq}d@{K0AcVXLs4LvcI`{8IJ1dzhFh|JQB=xhVZ}C_-gns+5hwv zv1R_o&_2)C80;9#?dXII3mY;TQAE2?dKTL!aDMz-L5j^wsLw;|{C z^~CADY@VDKo@fg`M_A(Gm*Q0Msi>AGtNs-8ogn(I+YgJ7xGWm82Q$3bK;uB-ILB$y_Fo+PRM8NgnV}K%gT1Ude{kUdAcSJ z_Q7AC16d_Mnutp|a!oN?OCaN~s!qN(uKBl|SCy*jew?e=RSXk3nlX^6TrAt`}-J2blu(y?`B~JXxc(YjxSH9w(^}YOhYfbMG zK7+$^%3ETS2vM~vi|fDw@FwsS@CHz}w-Z!Tkh};CgSt1Jt4Wk`BS5+pa+}8c(P4A`F&#Xq~cfATv#QZ^=8$3{&)tMcpf2o@4iy;tEw}QoYRo?qcVRy zN0@jDiO0LIRQ#%YZ$C$xc;efSiFLY442w<6mapk4 zX=N(aQ_>z4c~`aT4Wx0NBq}iZQOtTy>#3s|drt|pl5rAwtK9Q}(fg`(CBdj zmb)^qeEe*)Z@U^!H0BR`NEA;`wpmHqo4lwMv*CLkHr%`>)=<@xrUmL|PF%Pbp~oj$RXVy&1j9%Q(tI#KDCAXk=2@OV0#wHop;%@Yg zIS*b&O%QP!M3Qk|ewD^{89Ik(GKo{$OBUZ%+`|#*+%ndv8S|GczQ3Wj8J!=y*5Z^D z@re=tv}%~{YHWNOf|A9jf&E0Lst<6;X<$i~zu%DYKcVvzS#q58lEwEF@*U{>*tK0M zmt^tnBEIY?ylk9`0xng2n&%CxW8rU_)zcuGEWUi|<8pLvYp{B$;u}f1bfNR{#a8ds z6!B@6vI=XvYL3;*29n*c>f_M4)N6~?I|WFVzuoAy&ZjLbvU;iNV6{G5p{Pu!wk%&fx2dJIeA$ZX<`t9Lm$a-{*i_LnpWj!s z8jj9>G{@R<%bn=aa4uY`kH1#1_@6%DB$^_GrY;$(p&I=z@!H>R#+XUth)GZ6iuxGK zrwC0gpQ$)QzeaM6_A*F8k3|wfGO@m9+W7Lax@nCQCs)8|dQokqbC4r*njX2M46&>m zaH7IAtB8SOlX!j?CQ|c50Fn@N-^XK-@V2Kj-C@M(*dle8kB8+?G736OW$@ z^DxG^oPeM6@&Y6Gb6#q<%w*h_+6p=+;ODmNHgZ3=WjRxZWE_?qM(*dle8|ZC+?MYe zxu4rIhaoyA;ODliF>*h*WyHw++?KyIazD4FzH-e8_&F@682MR+SN!OsFO2)sYaN~c zc2WPuA--8NazBUVQ%3IRusobOMNVM#p?T*H`~9xl|26Bo&+d8q#CgmCjNH#{xzfn} z+?Ed-xu4tY&qnU&ygZpXUQWQzVODA6elE-nM(*dr)Rvn$0YCTWpN-tlk$DP>4>^iKS$;_joiBDzk|KqQ}eR$~YpWbxUIm78&r(rvC0)CFng+}h@ z$o#gE`?)aRGV+=}cb)t9ty7w(yul`#CaC;F$<}``CtBl;wsd=Z7`?)Q*8@Zn&a{x1woPeLha-xy@ zxij^VY)-(>VY$i3{T$4%8@ZoT^LPg9oPeKG^8zFHb7#&maz97reMau*$lPJ%evZuH ztYt9%`ZzLI8o8e%^T$T+=g9oP$o*WHMNIs10)Ea*eZP>5Q}f$Ke)8A;xbrU$A9d^B z#@+Nr*f_=GTqf&zag~OVcV^#Xl&+s6bCi+$xiA+Sxt|O3J|p*YVeT+; zKiB&iEchnldVi03>6cFA-~RsG(*0rb{}A5FKgFNh+S;kZ0_PTGSEn><~)9h)>T!NW{9GEkqV7PR}+$H(qVQ9@Cyn5t_)5X;!rpo-w7Phs{ zOfXxm2RSf5wT%9kabWJRh3PSGin3wtb*9l{I>^Tey<^g(-5%t?oSAA`-aL0jFKJpR zS4&m7*E;NJVWSM2y=Xo0^p+_H7^bl^J!-LDq;Ze~lMM-5nr9y5z>Fh`cjq3hag3aw zDF^2Mwo@-Z|8)$Py{2?MK>A6(gJTA_zvW}+%B?G#_HXug04$q5h$d6prudC8_QPoI z7YS#|)DMJ6^B@tXZ_?{_!q1Kfvlp#AN@>}PYkAW1$SL=uDY{Qcy`kWA3v6F0Eql%z zmi3;9(@pokirUg615Q5QI>>C<+%gmUe302P`ExXL>VH17WpAv-vQ;CBqYrJph`>)m znY@E|qRIU44wYKFA_u9$$ydG`Uddj64Jht`p^;!oLnjyPFuEv0o*AB2P*Ad^EeqzO z!6lp9g5g~|k8_EUEVpL%`ZKs*!BP#6%_=I(st^CQvnp%I&i0Cq?)3IC9c$Bbt_p^? z?mS|V%Lt5mF|TXx0xkFy88?t+PE#A@Hh4#ODhn!Fhd7V|kH@>UtL3#7` zKFZ`?lii4Jie&Fn5$=1kJ4e9wHn3!=y@kW;-I|TBowkW}olAq=!=}g8OKx~laKjU8 zj|umSOzDo~-Wu)`nYst!%D&?_JhATG&Pk?~m27RxXsC5-GMy%vr#hHLg$(r?SRTbc zyYUhzvbq*I1mt_#rn+nZpEeuPlU%11-%yTRL(+Vv@#%hxjBgA7M;YI{{6E|H^iwXc_`JPw{|YzZfp#mi;zvez4F zG-uKnz^`I@FnGnE@}uK@r!W?swNmjYJjCOoy1tc~@|^M+qNr5s>s|SG)0_|=Vmm(v z#p3b{@FZ|Es9M?vR)CL#mw-=#`VsFF;1%FgpvvtT@CNXC@J8_W;4R>*;J<_0!JmSE z1fKx^1U?P^1>6qq0N(`P0(XILgP(xAz&_;l9T3J@=Y0?&Jm&)t;ydR#W? z4CiQkRYrE4>&tK!;Ir52zU{T*yv(V`Y~^Uo$`Lna{`9&YmMbUxjI8rzToVcYj5wXN zU1>YgUPRdW0B0MXYnvHPOWRVirL*60&wcQ6S$607=!VOKMphMcg@cVS-3rrPAry#c zW?5mDEBptsc68-*Y|Yv5T>HIc;k3?v*`047j9ivJ3A%staIG%)xT_RM7kP!YKgwvW7CG9I_3B34ErMvfaEuSpMjS1IZPk6lL`vzy{CRje@ zS=ZhL&h;XOYv25KvvE0m3XQ9lt!QrbF%{_|*Ts=lwPT!O9RAlIL8Qh6s>A4P9_G@T zxi%zCi_NK$)oJr$C(2tmke=o_ZKU`33x8p1)c}~8l>ljeg~F< zvaYm|kVb_sg71Oj!4JR*AbEF~KZev@Yd~4ui6CircNE04>o|% zm^#zJ)4&eW0~4BQ z?5mY+R1@35p-JfAy81hZY+=S`ns9grqJn2XX_#Ig$@_s+I>j}dmDV}4pkPXEXN@~; z3-3a2bbT!$QxFcev0YVA8p&GOu_@T`=)kni9lO)Bub1KKF4&-$>NP#*$a86n@fL7Y z@0^t+q=JyaJfqk-CD~JPJ3C9HI*_9{F_Pz#g!GK0=$FJ%_Ivrl+i2c+*#B=4*B4YhS`{Y~i3zMfJwN<1_b zr#;4)Fd~w5U4307_+3hSWUbAD?zlSKrT;`;ZHtO4YPi$zi*LM4ffYRw$-S;~T0tR~ z4dvnIX7wgYA^X}d;)zstOCAY!lsvO4gR@BR+LEr;b>YYKW5UpyzSSL%?=GF6z3fnw zo$x2`WiR7LCNTN#j+EzgUd3I0G~{D&X!s*NQts>*`LcphE8W$xIX$v2KT?`MKl=|` z=4bz7^LyFr#%)*7_BcsJzwITI)>Th3vJY0pC_g1nU423%>&783hhG>ntzhV_;b3ND zeDH&3N;}K;OlW_HJ1i`Eg+d-#KYeN>c(Z%oH3cfLv=>d8);B1iwk^vPCh{RK?#%G~ zX)mheid~{>yh9^H?+@>aF<Dgt)c41zPj=VpWza?KQ<-e2^=U49J{q}Bebjd)K09x?6Q8~I z?x^h1sO+Vvtf&u^HpJ4;IUnC_<9imLjpZ$THkJ>gvWzq@^th<61fSI#7nL#3H(THI zbAE$whKcz_eD%inyQqx$z8m^l)W;m(X)tWk7 zC`=F(jZ74bFtaKZQ_mTf&SEnzoyF)ub=GsjwRE_NMrE(SHaqJcP2k z1RMqGe2#m5w|oA8d)@`M68;$24!!`c0^bK$gQBil15)PBl^|v9Tm@1#&RVbnTnBPb zP6#BA&b8n)a6L#Ko$J9F;0@p`uoIjQ-Uu!L!{8$DCXjn^ZU$F?w}7PW+zJw>a~nvU z&g~#^IbQ$?bM6E`4}J-}1N<_mzV{XI+u*mr?}1+h9{}$L{|!VZ^f35!kSA>Q=MXCs zMql&1G7dY>lh4lcG4uM zRd*rI2xY#ID36U zc;e&iH3{K~kF!@MgeN}EexC5e$64iB`MsIr(wKpEP50tus~VRsTfql@y?UJ8n{jO; z!KK!I>hUbZ;W_0==2KHjsmZNm5sB90TmdrTIah_^%k26#3;P`(=U-K)X=9{#199rvDlhHt4b0i^sGaVU)PZKiHX{KTqv%qj}+hG?($Q| zR#NVCx75Tkm`m(DY!bdwj$AX3vNNa^QJI>Vm8qgsB)Mjd*!ng`LpMi#$vVqZgvxns zF21w$MXq_IoENUnlIbWW&GF3s3&!t-Cw7)!n9$huiJj%4gz&`9@=d}Mw;@uV)mfh8 zX!a5|Yd@OjsI#nSX=-25x^QL7XVzchmw(*phfpNj}?=4D`UZy4wP@kfs%h*ouk)K;cel6m_>yAo#~wC(-j8t zNSDilY+fYqA&mFoi=651gDxY6X~ewj@cu_;}z)VkaE zbZpuqe)R%(ROu|=V+Wq)ibVk&_8pWL*V_8-cD>CSXo6YBh+fKqhQ_ROy4&?S&Vdd)#-cA-^Cn!tInp=lE`&nbWE zSw|xHcUM@=(4q2}3@Ww;kfL&?gBq%4fP=wHz#?!acrG{#tOi>_J)zG5r-4nNdZ5l* z!4_~mI3JY7T>#zfyfbL=-IV>FV5vykdhrB$!ZYm+65(!g3;!j@VSlVVAI=V{xB zpr+@Yk5=1Qr?yd1Fmy`V=0%RyVy)@tvlBivxq1+vom_p4>Ta|iR@4IARcf03&MGb} z;Etc&UD9>cF?wPt*>=@{lCHMql5K5s+<>chD$_%D4|&myb9HKH)f@%hdNRYBx#K#8 z7rTqkj2UcO%Uew|U94*xrps!)wv#ht*Uq!|8tu++E1BBp1!=pK_xwok{&-p2KrKRN zT^|mlZS4${Y;8^NE(@}x+P0gG$xN@_?^Q(2E@Vq`os0QD+W2J0tWVZo^UQwQCB-S{ z;A@Mh@9n5h7T1Ojj{5ZEX=N=@-%a@JdZJbxtZy4Wn}av;Rhl#gF|^rP?#QU`%BWB8 zt@Rj@t9g=pMc*{fcPc&`-%@;5Zv#F%8`jgi?0T;A7(ScEbJ5V(qrP0mkICrua|Ytm zSl`ddi~92MO);{9sBdu8H#F)i#HaZhI}k^Gczh3~qJx&pvtVWcdN(Suun(Srpcg*x zcuq{HeJk`!@*N+3j|oqglG(a)OG5a&CS2o<-Q9LmLU_G~ME4Q+9ee|+nUaL{MCDm| z6E0kw`aAJlu# zOF_NoTnLT^mw;LqS_-ZJ*Mj;oXB~JC7y^F<@`Xug7x+bR57+^AgX_VQxW^6PXz)6) z3JinXixUAGz?(sReRV5H+|F&_m%!V>uY#Wg?{?3%Uibyh{~xIIv|e~8m_-}?GI$io zmn|XINS(XDv%#-{tcg1Jf?7BH4p`&LS<^J~dhpxGS&MY|)+@wXpz{c*^}U~g-vxgT zejofksP(!ZfWHDafvBaWkD0TwjKBDn8kwOy>;OXZNa>Rm#-1n#Mk5IMw)Ml`_rF zgYsqQO}D!*;Vjpe;k<~?P1p5hI2+Zd&AdQU!oqOZo%Ku&c0BtD?~Tp6NvVdr(n#R}c{taZwVg8yJBg1%cB=-jj4gXyeo+0m~J<~8{ zYHcTzTuo%m1)4xGd)>^$aHv#=Jf_JD*J?B$JSCEQU+q+s3yrdU-OU7VL2MGM4(3i` zxnCw`kJV05{yFla-(1#)9~-jS$cG}I@y6|3w2@ME%q%v=b!bX^ntM<(?mU*fR_NlL z7ZJqk`m>c_9!F`a1kF4)i6+-1Pl8F5KDQ0Fui$gy4Zk6=QCAgIWN*+zNo4d_nfv8L zs&Z-@yy;HX&aCX|n|SHlUoU=hh<7BFSuBh$hE+te?&5NX$L6%BG_kF~$9%6Q`rJS8 zjlU?IS#t|*X0DQKzr-eYD065pxt$q{N?9(j^|zR}wvT2hp%jVbM-$VGIxexDS4Xm5 zW@9RUHB#%8AE_??)NuB<-EC_R)9|C zT)LVwY$jY`Uie4HX|AVGyDiMdgz!-)!p?5O2k~FyS^V`ka^ihor*wFS)g$~ZlaQUD zY3_FlwUxLRr1Gq5h4VC#vCf_Q^_=#Z=v;;Unf4VYPU;fhFb_|B!#q6k4fC*(`!Nqp zSi_B<2sS571e=#8n+S4`nuF!g20f?p2~kyJ5CmQM5BSzg_4-3l^>aTs4BQNARNewM zfPA-ZzS-mX$b7TM``FML@g58`y2M(eRd9P=_ zOnw0z$N6u;8j#sQXbQ+z8X>-yb6x?LfWHH;19|@&;=48HRZw$7dT;1k;On49x*g!d z;9DSRJ8y#=&U;{A?)iQ2Snvbz1aLQ~`SM5LdEm!j3&^}O)CM}-H}gm*0Nw!h0hu4F z{6fs%9O4Wy-*WnazXo|99eNJT0DlW+f;&OJsSLdZ9tx&W4~Kz+z-&-+!+~HUNZvxt zAYa&rR)cxq72qI{_s7m@;MYL%Y~KBz4*rnyA>fa}q2Pnya8S=tShCPokSEvBlc4HR zb3R!kJLi+n&iUlaaE_w1WJ@z0&#Go?Ba`LHbVj(o45u8Q>{6zq zI+f491d|QQG#jSNm*MCcTsA1vk(HJ&Lp5h|mFeio+vY{HKYj|dm|du~jFQi!Z(x0$ zJ0hE(n6S{H54F$b62_!_R(#TSr@ffAW5W|`7W@>U6Rv0OHvEGZH$2Dp(v|P=q4put ztq*!qzMM8<^_FmbdQ_Zl#jhAK!?BHHT$U9-idbJjZ_C+v7hhd1b-%eff@Pg4$-enZil8oN0>%a7LqaAb-G-#cLe?${*JW90R-AO2UIJ|6jY0bzd_Z00 zeN=tEJ`n#yWO};3>8j+L>#_Rg`ZV)Fb|3T6btNBNk99w~J~q8$3m;wcE@7-bx_&ym z)x1d1L!}*pWXk`}aW9AGR7rB4ZPlQlMkHMYU78S{_~LDDLU{aZ0U4i562kRb!27^R z>FBXR&PzY>wZJzBOMFYMJnPy8;2iHl^ICvy=KdQ$y58>Ii|$8xltI?CLLWNF)gzMk zB2a_XCE%IhY*5pMMo?3tIiMyh^T2X&0ayht1l92tfm6Z7AaOa%z?tB3a4vW`h_1uy z0<)?7N>Hy3R)MQQj!+1^0+fNj8oUu)3*G{*1HTAf1AY};58eYZBMjXO@&YjQEieK; z0NxD#2;|z(M(|ef7vSf>$H9LAe+7O4d=4b;&`aQ*;Ge*+fPV(>0^bBl(|nwLH@KT~ z+Cb=IkhIN5+1~`!)4vTK27V9J=Pcg`2ZBEY^S~!T4M)qzOPcpb2K}5Hl@R!r=z4$lh-Hpy6Zepo6=lv>0pi-E6p|-@3FFv0BoTml& zFpEi}b*VPz)nw-sREkclX5N?>k8+U~(0+ge+;~!L&a1Yrv<~~(H)&dl@yL3m1=M%F z{G{5Pm-c1u{Z}*dbNulfYU0@y7f-6qd9}E$N2T32&7xZ*<|o_4lTSH&`AM}ouNDSR zMf>olAH~EZ#-mc=!@W-PTkrvoZU3lf3YI9!MLgiv(`RAy% z#QYp-;?ZK7cVBjMUc}0z>++ec$sO*VJB}wAFJj5|CU^E<92Cn`w~ zSW!k)a-1v4ic0jcpImxWB1Ze*>crCS0O3Fr^kwzMCMKp z7BNX7l3U{?JgBiK8!tKM93*-PL)Ud|TGIIjha@&F&7WTGA<=lP1@D-S;u#$;Iad-r z;-`Zq=3?cLQP@aK%*D!~T7z_qgpZY3F76>wT8v3C9ln7!KfQ7#@q1eyMMzpexsvPq z@GE7G+jGp1i;Pq{eVq8Kjz$u@YH}p~`Pfxq?nzEMeViY0rXIC_`vsdH!I|r55AF%i z@GYyC&t2L)+-Y>5=i%ITe=g@q?2qSk)-y~Ky;zvOw{pJ*@h)sywq)MikkE5S^>kiE+w8vYl;*Apapc zFS&Yj+@$g45Z?#r^dE%+E>(P*k&i;>UtB%eyJY#BMtna*XF!Q!OC8@(!phNE=IW)o zU(JBmpmUo$pry)Ri1@nDDcAEjE>-@rh)+8@ue!kMrHXF?!QVmWJy$PP`Q;Pe04i@- z>E7d;NN^K654d_7|C5#9a^iawo#L@5;8Nx9A;RXPb3(aM!y+e-?@i)6ADz=HtzN45 zP9yjdSI255kMDN`UW?xBs=ddj_I#_Wv$yz0lD}W0*S~u2@r@&R6guXsGW=YYwEXTM z;70ULQU&5t-R}{EO+)8WS1(n3+tIrmohcXM!KI4t7{WSS9izyW)i zice$S4_zIrnLNH13H&*FUr++$=wXOb)cCdb(d>`ZV zAMpJFn*7u*Th+3no=sFH&RxB5N&6DEFz#=*M(*R3PoC;+Y}`1pY=X|T-kv_7o!r-t zpES*E`l@|*Pm;jwyE}-pc~p3hjdm+1HE3hm#)e_$aC&M=Bc%fpHkR}?L5xxKz$>QEq72@3zs)8X=TrowibOdWLvhaITf!8d*$55#S7i4Qai0Kn^aL# zX)0D#WolXVq)t*dx%|RPyHB-}8hg>SN>itqq*PN|-Y|K5h3OF!-D;{;t58B}kS5s? z#U>ks;O(kQa6d-;Vdg{2R;T17d&wsB%z)%coel~c_o>KD1?TQ`1UZB1p=J~)H9V5%F| zW2b9W*e1RvrYXB7gV|VLS2?w@tbE$|26hf_tYxR`N^K~A9N`ywF?pTMH9x$oO&{>z zvZ1!~H(JWU9kov#Fk$ugLu+1OTGNMxfxy8XwGZy7{ZRQ!5A#hOYuh=2gF9;f*X*dh zao2#)Eq#6QsT=OQ`II|17x6fHa7XRIQ-*HkG4D{d!-G3&AKX#<<<=#4!sW;#QBL6C zj@k!z)UKT{=UtYcjyCq;i0hWU{lTrT-#l=_f7U#I=lA#$%*YS!sJ*uxwJ#pTB)FGb zEgalYd+Gjdt1-{)ezU)&-D79SgF9*;+)+DmcUgADX=ja+w%CiNSJBhVuUDkBj@ZR-v zUN5k(ZLhbw@@kEZ%9k&kKX=K(#cO(*kApjE?~}o4T|T#|rPo&79UNMg9>9)1so2z;A@$&n+S=SDxjk-eJGi6vOm7U- z%$|wU70Z_PvWv#dY3~M6GSIYaY3s7Z2bR9wuCjMoaBtz@j@k!z)b_dsHllZJiROH8 zN9~nOQTx(*a7XQy=9$rghUEPxghO5}f6%zZ=H-xM5 zOLn(rL8EKQ!Pw)rb8UX(wyMFT<;?CH!vBjnV%z#PE5LR7U5lJDEGLEu{dPp>LiguK z(eUr)A#~5=Mcp{>`b@oOH@|$eg`%_y6DT8cc0dWoBfF7R|fr4d3Y1Dxr~4~1Gr>1Koay$8P)3+XdzeqS5X&kqg0~n`tR8{@J(N^UA z1(DLGh(d>eAA)LXAA$Mc$Ds1H2UJz)*Fyb8o#C?ET;=*QoX4ZGC!;dcqdL|WIPDWV z)(&>s$9a3l?be>s-R%VnPABmN=sSy+ENWYnMrU$!qYBF{+SE9^D@GZY9^Tenm5-=s z)9fx4)C`VXM?XQE$I;KwjPRQ)WU9eB<5N+o7MnRd=QUKX7!zypVpq`%kFP~F;EIIs zed&x!Q}=cW$DzJjzLXz`_pUQ8ck?1p8X+>B2{ucBpXAvoQYtDH~bTzQwCTEb)w+bQLrPLV<IYF^TOlnE>#ayoT?l3kSV^pS-5ne zzjD0jxnl1krK9@M9agx)ZHSci)8Jv?ufZe1XTUu0Sx~=Fc@9+mo(EO_H5|4l z%9m;Ow2;sCL@RsJ)nk8&7xCJT=Iy+a1!LoJ3to=O%N8wKl%^W9J+Et9X}V6fm6}^6 zo8~0PLY4(nR@+LIPZVvXmgd{D0t=>6yJT~0ALZj)W0i6pjbK(Lt7-eK(o%0V7lU#k z^FQ`aH7+Mz)#x;i#Gx;QOl}>=R9}rQZCT~(ZARVxqe8uXvscH7L-<1^s(WAT%KyX7 z9>p6{GB1HD28uOQ2)+Ui2VVn=z*oU~@DJc3a65Q8_(xD_{Rvc_rLS}@EVl$Zbk)x^xw-?^4H_%8_dZL}e;wO4oDdISuA=+_`ayRi;KI z=Y@;)%sb1(SE^H-7cSN_Z%(Qr(7aR53m5B|?LM~Ss>+L+h^&E4=yd)g(lyXvQhKmM6A=@AD9JGSLcWS7^f z^v>^@#?evAb)(K|oYkJ&QI(U!hPPE&or5}O2Rmn{6M+=(kYcz?!3y+(*q=QZ?zi)> z_qSxXXN9YRZfnD{rDJ<`BrAk061*WYA<#J~%g)5Cg;2w*=CBQKit(xPWzp~D@Z3YL z$7>jg4e!B(@OWEs7-3f=gzqo|P`Z(x&HpnJ!p}Wk0^3Mrl?Nw;-(kX4nzms!fx{9S zrt(Z_nd+SBZ{0@tx|UAaT9L;DGfEsqrgX8`R8d&O80i~P>^;JIt_%d zz%)LnXv|3SW$;|&?DSx0@}LaMasH|{E}Wt zPh`96lMFfa1O|d5!jpmwlTbbDgF)KXFVXNyi8m8YGelPW?{$<%>jQcB%vtc&vtPF0eGzM#y9nWD|=$(Z)Rr*on-MBWPU!ZnH;;yYy0(OJoD4}U6&q}+BW;PVFeaoH#wFbV6iIvz2C7 zcnwvlw66u#L^?o4y#Z9yxE|Ck+yI^ec7hu1VE{7*HUet2zZq2iZvjbi+lg~B- z`7#`tJ1ZON`phnw!H(7GPFs4n-4fxVE?M{S9IFs|PONNbG^$ zHHQ;c-=mn#Z}=Ni%%&8r>#%qt>QYllXn5dqVO@GCRtb^ zv-nr$7MI2%Yx3l?CQrT$vu~!AeV=nHGvfqjddxIU(|s(B8nXfuX#XAK`js8I#G;yy zEU`s;*Km{0v?N8f4?{zeg0d|#zNnN=Vo{BBi)xfxROf-pM~Pch7vr}@C7&%S`D{^H znTpEFR8-y7!7zVLICw+S67srIsuEJ4O&mMDYt-jwBq^cg%a;4PEUKPM-jWEF`7ZRd zK&7J+N&~%Gol8k@>cB%AQuOMrGtSb_Q=_9AS5psvuFQgUsXTM+tk=<*E1@IdV-%Pb07% zx#zBPJ=Qwgmfas2#bs>0r|X5w*7q}^*4|#5aJ`<``nrR<;<-E_Jn@NbCEdYAz&1mWclT?SqZYO*{Nyb_!R>V6eZmd-islb(F` zNl(5Evz3>XiHq6F?4(z9<|OT%ic!vJfQk0&Qe=tG&E7Q{=^B#M!itt;Ln_LiOVK|Q zd#BP-smJ$DSffLVrV3R0K*wgin z7Fx4Sb?zTNe%9O87f4<$_Zb!6!c=lSDNHKzpz#>JD07CMBc^7E@J>VD^s zM{}OEKvrBlsc50qO;tXpjX4hcsGP-@vy4DmAU`giRJ70&(Ugf8@zQ`({qYPi@vsmS zEuU1h&<{zIn{n}^qJ=&UO}Vx|{`=GZc#b3_EkMCV^J8hD&x)e~ z)oMXnKV%J|~r(Uc=CFpmGIIR%GZgN2nZzMM6ENekQ& z7tcUnJd7#ms04KN-5)h2X@|!do$dVh+TpRjc({ysyouR^Q+IsBpP%D>@#Oj98Dw<4 z>C4OS-BRa|M}tIK;6?s>`5EMkC*SC3*in04^~e@tjOZ&-|PejZvvvmv36KrKRsF$#*pz$J6o5T~<_5;_75XCDpDZMsBSI2e}wU zcas%hH@ujaxssrfh!)vQmW|ZY(V%IaC%MrRMC19QPjZhd$wfzfjnyYtk`tBu!j%k+ zO6W$$9Uhgu;!2K+N-(j;-L!m-RYKB} zUb+BzT0lKouCb!|FvqPw)>qtkq|-;sL{4M*)Qf7TO>SH=cQJH~(Nps|Kx5_9sg29q z+ZtO|tXQ@p%0#W#S{^I4sRHlBUgUoFVPBhgL0Y%;{Q4q9{w5Y?Ry0O0ijh@&VMfcW z$48TiU!7MR=G;y?qNiS3ZkS#EQK)?yjmFjE;WQQ=i_I!5*Tgawtmlt0V;aj#8w7L&;b0riLx zBl7c$Mi!17Zi2)MUGCIBon2qE9`0RJsmXbvZ_023JxIa}T~W+R0(#G1V3iIBN>lJc zU+>v^H$J16z>8W<6M7!Kij21D;uomxY|dO=mUFZJQe>l-?Y2zNMCXV~tEc-&7GH>f zf>?ra+LvGs`&0E-70im zueExb2quf~apIdch3&njS-sY<|`Vo3Z&E0!^s|l`lb@mot8}V&IuefRN@zJE5`RF|2>ZPg=hxlGY z=e6d&$G42&qgt?Q9CE4R)BXMcohRm7y;S9=?)@=3RhL@5RPhxP-%@nGE`x;Y&ylRZ zbt2z^&gBcGWhb7=>UR_IU5QS~WmYd${!S!#iK}BZlh?1x?`HIFUcC4Ct{`|5I_E91 zdg(y2{H-Ux8__vT1&&LVKXtQGbiVBBrRu*m#CJbBA1^o2rHoILyEDCIGOL<2e=5Ik zp*P;v=C&t614o0pU{JZzW;3yE;aZf63~1HSxWK-jpk?R;u{ao;%RVy2|S5 z{*%Qg!(EL|_1eA1cLBjyptI4{OVwV~{+>jqHnjKn{z~w*=v;n{)l1c$D@bTFI(^qC z#FsFyJCfjYT^*~bdMhktN-ERv4#x_P{o}h|yl~!U#CLxY<-Zrc`=gyh2W-+U7{|+7iLnt02~i^rk?}m1eL@Vbh)9f2 zo)8lkC2n1Ku{FLk6lN6vb7H^c9C{o$9}}O5ljp@%5Zy7nCM2h5w^Xb_)fyVARd}K9 z%u6kBj{q+vU)oi_Z3TmkzCW*liYoZgZ-$`Y1inyUS>UEQ5K5&2Ww@>*Enjdq=x+53j@TxBOU5D*3pP2TeU;2B24^O<; zI2}s@f`2w_-m^oW`Xun}@Kxg~?z`&>ZfzI*PqNcpf_l8S@T;-EABvv4Iv%fj(0BB@ zzB4!WSTb$hf2(R=e`H7X86$q(A^5X*=u2<^r214vO{-l#I|`siR|x*6eSG|1{wBNG zpniEf zUuW=sr`Nf5nB?+oH{Jdt?+n};4hnDO|eFR}kk z@Z&$4we1h(;FQ>V3wj*>b^WX8V}k#_$6MW3l&$`C>!PrV!Oz#7!fP4ySDc;h^ZSZX z+rQa2H@bUltAu%76vZU?A8uGtJLn~^r9Or4FDdPnUW47Dyk-gh-fa`L0u8CXrE6O_@?;(2KI~%L(ioU1_9y4Uu;3voE&S0n& z{G!iqN%+2J@?%qf>zeTN2TMj_*Q(&(b!Ty%=jc14YEKlN%-lZ(%bwo}{^8$#`tJCL z&$Ka}{rB=k0|TM5-;5_7v zUvKjaUf~44>xtg8Dz}aA>HpcL!-dN~ABts8!Jjir-)h*p(Y*qqzn;J4=5n;7uLtA5 z==*K-{9L~WpV;)v;wOE^{)!C+g8%THQOlRlto`)(A4m4|OW(N%uR?-`dhaS82g~;5l}-}G;<_s=cqkFSb?zx>hsJCBC+Td;a_#Ctgh)_sJ2B={GD zBTl&GHcz_zg41jBlph~~yb1ojXI3S*$T)b#`~78KwmdcNE&OV%CDWajH17kKnv@ZD z7(jx9z4KS? zejIx>TQUB#$I@q9EP40aP0>BttqMAN4D+Ypzq8n7mdpA_zMs5$bH#I;KftnGwcwAK zvb}5gr}O%~wY&AkN3)ZM;a5_EAD)!Arup4ljNLz7_*vVw9Ru+zI4{P3WY458|0vlx zFY340Jsa-|Jgg`)1pgWLgAb%`IMjUdwq92{^z?+>ZW8=iv%=<E^ArXr^wHNgx_}{G#_KEB(S{ZQ|L51+oYels?=c{Bd+4^FAB-?Df4jNNXh zR(H$Xj-P-Cene&WFN0ng(DLzillwHkbxI`00m1LF_ITaNH`=c}KYICT!{zQtSV|N8 zjZbeJUU(t!n3GeF+!O1*&4s+-C0DPz5Sf?V%43+*ps*{6tG{x66yuoSe-UtZ@3&sx zJ?_Y^=Cv^^I{7NfdcmLH(syvc(Q~U__I&Q6%V)c%W9d}zTZ|9>>YY~yZGWvz=h@0z zZ;r?KCitP3KJ54ItdrmF7|_o(c-0+f!yfIK?$`g`b-ZI(C)fH%Lk5n1{);jA{ej?* zyCrz-vEfI@rjFU_JoKf*$miXH|NPhwPt4BH8>ig-{!cxAax2BIe!+jUhi~QMZ=N|e zApFwd=CM7NV|_vJ?=yt%DbP=Pv}NiWYlgQu9EEYI1JgaIJGgebTV+h!kN1DlXZ^r! zSiTYb4KveDdc8Hdqhtk4H{~q|KmXWtk40;7ttj;0Q8(e=^&UQ^9=`I=8TTozatGFO5ucRm|qr|ZuQIM9O^>-e^f4##x8VToZ6=WIb&6Y>r6&7XT z0N&E#jI3#bEXnH^(0@Sx02~dRUlbH5_tzrTv!Qe0e6c&#x{{))h{L0r4it+1#tuW*(+U0m;rimLqoh0)pil7Z_@ z#YzwR=ZO8RX{Zj|6HrpfH7^IM5^s9OjG~+(DOi7X{#M_RZs3Y1r2GHx5&LN+xLfg> z`bkEy5ii&dY9|NNZR%o+QQ4;jDSL*|41 z{3i_X(+-)xvCueeTxP~{+BoCxU!0bNA46tj``zy6pOsT25}Yn9CDIb?*9TUFZhS)j z^=77VXhiqV@%y$F+*nrZPlvzG_WG0PEG_!?9iT78Rg*9K1T3u{;OGqnc2e|riZrs< zI65$7ksPifyZknmdP|Cy1T0CSyY=&9N4(yS);NV53vHjjzdJspAnV9sk!W0A`yAV+ z0FG={hwHepm|Sn2G!Bj2$Rb!|;O~ylQeKDa_|I}|p8`0tT^+7tyRKuG37fvzP?46= zMgCq0TQPA+RBY?9*vo{iCpeymhxNRqQtslX?bx;l-ah;%<*ppVe{59)?}SRZ^R55| zTaduR1};Il^U4SOynwuJD&?-=cryjtvcSU`ae{JJrh-E9;2BiPoyX}a*yaS@5|wgS z9s`9fNZ_qgDR=P`%TY?Zc4c2@SKM;`U!yiI>bPO?j|Wc9g}-Zl*=ynskP$hv{NhUU z@nPAo2&YT?70&dF#~0P4q*y=s8PzW!#BW?$u^;Yz8i@Fj31NsDjbC!X(yW;ijI(N* z+ZdNWF|Idg-2N|{U{nFNenGA%UDnTb?9`UW8S^wY@4Yy!4h*I8VriRGB&xtLpTh~J zPSYpXCY$s8y;FkfE6suY6A%KgNoRYD+~_- z!=_*%?ZmHCT5~V-14Fpt00B_1t2WL31wSxEOYjIcMcImn>1ytO_`#yuMuJ+8$J*V{ zo$l=Oa@1G~yv^pk_8-7w-oD2Z&h9J?e&?5-Q-G5<#QA`XR5LO`b(lnEr$%DzJ13SZR0NxCo0qg@b z0a<66K=$e^UwqP|=Yd8b+oKftZ{S=YHu)>_fHlBk;BH_U@FZ{vkaf&>StU>4kw=e`l1Gn{ za#u#`q^pO*13@HDo=Q70S#-DZ8dn@xxVrpn*XrPAJFhsIzr@u!K`G`%{yuT$x6L2G z#mQ-xIa%3xsoB!w*a2-?&^)Gm|K$j?_nkYBJ01LfS%=Z+y9W)^Q_ZzgYq9lMc^FT_ z8KxUx)66uLV6)Otrd@$(E-`veArnS(&qQNcA7408I$PYIguC_eg$Xw9Ke4e@nf3=2 zXyg7!S27x8x(GH~nP#4u$EkQC8p||9I!DSh+$=^$C#+U7?S`2w4U?xlzt|5YHWn({ zS*lvT8Hnkb;LJ2fk^xhJcIK>71?&dA2iO~E22y^P1F&%L7Jt5rfD>H>zf6B0)Gac{x*XP<7C*rc!oD>2ytGK-PxmB-0*JI z4jetwEEOLPN6j#P69P2{2CK{vR3y_31#)1+sWm42+C>=-WIn=xte0o-$YY^N$z!2O zxhpmJFL}FF3TOYu`ny%`U*Hr}Q)}Ld4%SW7ywic5zc&w==)A<4*BfDO@m{&~csJxp zbhu*?+nJGr$9_G~z1g45Kf-I%2YqKF5*n?GS)VOQMJ-vlHn`iiOflSTuj$a@oCUX$ z_ASF-abH*K@XT-K&xof$w3Qs@m%*+XrpeaA?>)rTH{_o|YY=||GW^d#Dzle?Y`yb9 zmhmFc5BMvv2axXmz~6uYzze`ZsyzbuJM3w|{{mS?`e&eR2N1DCR#r({pMHkaLnA^qC`evo>^@C3#sJN`mJWrqNt=;b6R{ouCy0L|3 zbvD%cz}qT3-r_cc2Lv_P!W#uj@=!;1_g}?>M?*In+wM6|vMuiNVh`zi0NhxKG+Ov} zVw`1_OWhy~7-Z9ZnIOSy3c#ayS1b=l5teO zTlExO`TO;CF6HmmSI=%{PH>)Rp5q+)KV>d*u3hXh-Mk0K!;eXs-^o10tm|{B+H6&~8A+G(%;T zMr#4`MdE&Pd|}Eq;K`q zdhEahUU$d8s#t&T(4A$$ z)f@cD!|e%tv8?u9W_C5Zn}at8{nX=^pbx6t(dWF)t^vWzB1DK-f4@Zs;iXhDC-|G= z{DVH~aWLqesyKi60Yf_YndAI42R}OCp9tY=j`P(VeCdFH!odgEg=!8ybihC1fO|x} zH3#M+0sn-9-W;db9Q1U+KjGkMj`P$UJn4Xc!okfP=cYNh(EsAr z3F7)17iBr9e+%A9P;Uro6{yz*^$4i#g5t8yYl1?TvU?R?2Ui-c$8s#9oY60xa4(ZE znmflL58=w(K!>n#=U5~cCge21vz2JH@EnVDA_bYwOdEIGu?VMzD}!yuBIcQSB*ruz ziwX-$jNC+MD4Cb`XTwrUoKPe3CjWUU%{8lkY+O(X4nJ?i7;MW3vS9?;1_>N!>m$I1 z5nvl>KoGPp>tsW0>;s{c$U7rSk!@_1&&)CMkRNSSl{z?WtRdRcv0UiUn)PqQQ!uZv zII~15ew^MnnG$%Q|=K)1~1G~em5O_1N2*}r^1wf9gcL0-si-3!P zOMnjnmjYh`mILcLRS1Rsq{0eKU|FSv3%6pDQbXI0;_44>%9F3doW@k4KJ! zq~thA%3bLIU+hyJVu6&DJ1^K2eZWJxS*6^SAW-Zf9?D>qlCSjaKk}8HlsnI{7ro1a zC)NwfU7^&n?|CS=eMnI5ytz#DOb@ZR`X3RNy_NmeL-bZs?#gQL*sDEwos^*5mFGaQ z&wKDHC_%aN`W!JLc<{m;LE*%Eys66a`l^(>(y-{qf!sEa;=JYu1ayMn&(-*S6_K%$yZ3&2NQ!YLY5zMiZ-^1HnxZ^)te*Tsz$rv z3cV`KFiusja5muf9rGy9sZ~*)<~`F>C)XOLP7kU9QnCPkK`P@T|jQ9sa+< zT@G|qqw?|evl+UWXZqNK$J1u$!r{i$(PakV4kIHIq?I1k(8pOcH;Wzx3%m3I;a~n^ zdM3o!0k~V`pVY}$wzEJV@O}jP0^35x@B^NMovP18UYgRxZ)yt<%_WRUCMO;dB-Exy)PO&)#Dm+X=g9M`m<({3j=RYuVqTB z@yK;$#^o)pY1$wtHqHe+Bk^d4lQ<3CXsp$F%3)u@ZE&}J?WY=Pt8Qy?4u;#XMsku_ zYCo@ODZ?|an&9A14h2Il$4I%D51wWiKjng@%~P45puS0d26P1;0`iUS1d!$U0@wz4 z1lS(LZ}`q&9;JU)XY{bN-gMmXWP&!&QADX4rJr6)iI-ys^VoP48A)HN30KisMYbM< zNVFz#xQ)AQ>lxr~+snhjW7se}gB!J8lW*c$((rB9%f(7Odv!J*&4hzs>rq3WrZO*r z#Wa5fvekYELIA`q<6VK5Vebk219%(I8Lh%rLq^5Ad@~^POFmm`10LC0q-1N6lC33q zyH$T;*$tm~j{Ov^8^TS!ymC!k^UYQHkV zIxjmXBU@cQ6N9dG=VDqWWX`&CVPG_Y%@0#1H{c>5%U=m>1zZel3oHZrsQiw=C9t#k zO!(`e^8JBJVP{zwp6R@ZN8SfRO5O)U%3bISlDAp)C!5P0;aq-6SLV$1iqht0oms)M zMJ=)|1~{gn8T1HY=tg5(-<%`@Y$iG_49gH^SKm}Z|D?8?7{%BPX5i5b(=Z`Zl%)wO za|9*}l9B49F%swndkjzyi~@2H8wKPbMm~p%Xdv@SJL{8^zpPJEvOY=4TO%cpLzd+6 z)*-KynqRz@;0`q=)AZ#-Y+#zJRipuKwquDFhM6AHs3OIg{uun zr|`%|ASD}tl)F%$C2zaxugOM0159jO^-zjJCps?@IuJ(j=2a7&>%6N+=&JA{z;7iO zBGiu~yrQkl*W9W)0Uzh@tBz63?)*NFFwvDY_&z_%`5NCxv@x=&R%9QXfrmzOx1DN> z;b!}NM2mAC+@cz_a(-ILY1Ezvq8 zTLYQ@HbAzrACRr=4P+VH0sVpPf&G9Tfb5R+$9cmCI1tzoI0V=UI270!7!LFW#sRwm z=K#9_S$2k}bUckmPTQp9v`tEWH<7$Usy}xnTMv~X8&)OP`xJqfVAqs(&TehtN94|F zxWyh51jaYGVVD!OxHp`M!Y0~mFKI=*%GH8!5i|V#puBNdFB}Aqvi+doF$UYYeIj_) z#nUw6!q}-L2s;h^PG0DTW z8fWteXROqsm2|b{X1IiMBi^{`jr{;hy|L}iQ$9P7H}`tg1glbBISMQFj2nq=W+S*WHOvJkE`bfd9t$PDmol?E+L0o=SB zHzW>q=F!oA(wbLM8rWeq!!+2qto%Hc`8il5zW}n+ehF*^JPxGta10o%+6Suk(W;$| zdkpSrsy$t`vkVN+bRNbd8<~`BWKvR@ki2JAe;BecNy@>)_~Atl|eRIpB82e+y*w;fQCO){j6SK zOA$*RMp@6+``dvOMhJoBrO3KrnYPKMVKMfY7z_iG$pg3#*ao;C$hr12pdavEAV*`` z`vVUE+0Y*WN2vTr;3u%NZ1l&5eFTqeSW>cKNy&y~eS3)4UQ+I2bx``NfnECJ7aGsX zFBV|##SN&n+_8{6F{Qe1vz>o5U-}L5h%E|Z%ilc~$?q;912Gp@&b^`~}6}XL#ixtr@0gLWOX| zs8E@oLHT1IJ_oh{exbfzd=KR7-%+41@JnEC;8(yv;4xqVkp9L4zXr|#egovlastRY zI|(!aPXk#_`lnz%hexiJk&J*b{ef zjH#aZb>;r~-k~3ucX`EsaPSz9Zv;tz~MwsbfkuU&Rk28R*;|yR=U>1;b z%1q#Gz#L!%a5gXom-UTlM`DC{&o82FWxTb_$+0c0$yo?x7`*5LX>sIF`+`UhbO&hGv+i358-ru_`kb z<1ot@2OJ0-4~zmP0^@-bfXTpQUuJu`oAG^B*utHwBDvYa#~kif70G@4pggN0JxNtz zufqg?@2Y4|^ZQjp%8xgzDsnFWR%hN-{&h2~%y@k7v5(#iRb%zjtFrY_8nkBLfUIbS z{g+0oSB?#&wPuGr3!}MHRd5xqvgz2YG@3hAg=VVF6@2s?VKjH^9R=jgvT?Un74qS3 zyU4~oGwggkw>K7>Ki@~7y>v8QK%lMBe6$jAYli7jWUN(%_Go$?_+5eM$x3%%OW;jF zcDWuvRE6RX><+vc$PRc5kmE})U*mC%~gb}AWc<8HlQvLoDB6*O9S+x?PFH8<02 zj%OILQFE7OG_jjaiyFSIMu^6Xf_7hFS;d-RdTef1w6WV-gfYm zTC}p_gQsEA_a|R999ON4t-@CcN89B&EevbBXQP^)o0eCKa~li(OxtUZ*T3H^A+h15 z#3(|w1OF~om@vFiRj}p!Ehg{*nj?_;U<)__wK7$K1*>u|koj8yWX(NJ2a|i*JGP{JM$j%M}2ly zJKwdke27vSflf1G{ss0g=yzoutDSpSJKrr|F8mp(Nk-ur(&&EY(*6>c2jGs$6lcpS?zpppDSA5{808yb@wW2MNHirfSOsY z5*&AE*wh@8=$BQ+NuNe@=NPX2n8Y1?vv6&2=NPV2yC~y9)eEDAw|?F03m0t+*W7K# z@CV_?c2^kl%(x%H6KxR~g?AF?7x4?9QLH`KFCl4(Ae>eAz8kWYh8`=o%hQ$)wYouj z%*Yc~1~%f!%(GSx)`6oL=F5bNV<%swGDqRvg5(%rd*E20A21f!Q?;`m5?~Jojt7PV z6M<2xeH?Hi>{-ARU^Z|ZFi*7?0h3^#tJ*p5(m(5m{yl+P@W`>BlpOm>xhs<}7D(PS zmBKp>#(oN~o&xG=j@@$EJn}WlphxIFF~%FBr`J};sRCy;8GNk@9JNP^&;>l1cr?Qz z(J)Ii6gP?y{WixFhKELTx7HNtPn#n&cUw)-1V6ST6Vqhak$6ViiHqDNXS;N4H4#`X zQ#BqVsG9Ec6kdku(DbxcRS@N7!N@|s!V&AYn)ZkV&HaSWD zM8bTEuMuaAL8lN@5&LRrh302eG%%eT4`lnWn^2F~+r%$a_e+ai5t5vDA;~y8g z8bWqxw1nlQt!Ft)e+K;2b80PHXDc3WToK)|?bKYL@hi(l@!7rHyW!NS5NE(ZZkV(lEL)p2fno!F@14eyGCR8q`P| z_k-QZki*bVpx9Gw-;SAQ#=Q(rXd`jOh9E=M{30BfWVblp^vEVv74BwW0VttT+AXW9 z`@qr+)1{bF9RH&-@4&YU*3(@;CUG|qRiIP>S(JN#y?|z5Um$iWi$$$!;6T{#1r7nO z01gK}0i?#d7Rb7}AIQ;-{3Mm1qS~jZc51R~;J!rV->LE|R6Fa5@lotIlwBg`0VC1nmc9C`sbQ~(%Ir}ErXOXHoNVDDf2`b zyB&{9BN>zO6=)}5tXFj%C80WwX>7iaEFmA?t?#xi0rtdOslfWEMA z22v&d2k&>%*q};`?OeD_-av*tl z)pffaKNwQVI%oF+Hyb{c+~VB%jXsA`SlqZd&FGuWeaq5UPGeuwYg4jsgClsv*oqsf|JX3b-%0J(fi!TP4 zvVG*H+*I3LxnrHNi`VQ?dyY;eR9Qcn5*9Ld%c^+E4WiOl--n$C} zNFimeLTQE3+)IVKUhvo{7U3D9jAB(-jF#uK;0$e|Qy6jzjJW9_EzhoV$aqCWR(j>N zMqhRgu@I-G&a~M%x&kk&JU<9C$y0L9{3C}0r(tnJn&^;B5)fp z3HTat0&qWYD)2Bc75Ej<0Q?r120RU%4P;%j9BjF*c;w(sN)Fzn+!YSlk{7O0?n-}o z2}9wu^aA|hrehvj9-dK{U(`P*bMb;>_*Bl9!0?$_X~zBo2Hb~4B&UC7aaM*A-yUEP zo8qK%BH76F&&*0Mo#mfICdVfy-N<0Ma^B!g^)rDS#^9u5r8hSHt?r$s=sW46kt9>i zE*yJjgI~JQ5SuCe(@RQ(75|#!ane}{nC1Y~xWbRppKr#hD|MHKP<5ZjWi$lqX6;AN z{qUbD%Xr8N$3u>Y2Z%<-!_L&;XQs+&@Us9MHe`dJYL(OAXB{{L@Gy2+?=_%MxmKLx zuti%q{f$}kjsE!sV2C-(N%w>5_GvHudRd#+?ZsR=>4u@%m=79PL0QMs0$eBEH2h~< z-2Y15i}vyGmBC48f(I?07IyKlTRQ1je~hQ7y|ImbJggBX9X)9Ac-Y0$QuxWnf0`Eh zf#}bS(Yjo%U`L*<;%R9YkC*ThkN>RSS^Yk}Xde%y#!1JwJ}p1^`4f27^}}(|Nk?6q zrtj14o9yF3QQ-&6-^p zJe={IbkrxbdhTc!4@>N%b; zz6o|Gov&4Xy4%ImL-?7G|1>4-c7JRik3U?TbVjRqdf3I&Q}~&P|E%ZANgLj=kLPCL z$GV^Pw2Oz+t&^@$jVI`Ednlo{1`KJA8?&?Rrt?bycGL%6ZO+q_^Gj~pFVc+a0GMGb;p024?q4H`UqpR9)J47-gq4A zXBW?H!p}nd=O{ec=`4iTHXe@tPPz)K{M=?24|{}@j&FYKUt0sVU9pcRQ22?piYLG> zo*?0e^AgQh&7VxSkB4)Qlg_$+g6!f!GsDmAj07fZ$K^`61nR`G<|#lxDBa>%mf|Bu@i`*?;6Ki1>(?RN2m2|x77cAv9g)CczQ zgbP2`@)KqkPlWITAr^ADYSHcJ`Y1pnc^)DBj6_1(I2K`{bo4BYpU4SxEjvyZJ5GN) z&h08^u%g8?R^{Ac;czCV=`A=09P`D!tTa6>9PtAHaJpGS@zr_sFh4X^S=^{AHGry+Mw6<`>51_#5XbC0u zqJh)h!r8B57<}=xaPX5fVLSwfG4p3|G#xA)@#zknftFCm)lhvboHHt?rG@ifmDAS3 zX+gmq|S(y=@yRl8&D)%oOJEz0cJ#- z?YwI&>%m*pn!nE(rJc!tggM1{DD_;E(W<7>raoOby`0GGb0>%rEpFUxR zwN^+z-vM8MpWmn|z))We*CSn<_%gr`gR1bPsz@=bO~uD_YvAWH6#*E|&rQYW0cE~F zRECg9;Z6Liw5j+$K|+Niu{Aha`ny{G{)70c;3sOF^ha&KsrV)!zIWp=8z){nz8B#y z3x3-2#RH~0o~Gh^5B^e9paD?fg}GY(9%MP-$JrqL@y)QQ_*TN7?+lzDks&Ad^vaX*p&6UZ-yt{z!jF4_^mn!P9S!GU zsvqgI>G;+mzH<2MAr*xNd9hl3V|dOy$*LbMzHt43aCA++7XE~%7*DXGYfa~oL*?bK z*SH5(4n6$~({u5eW*BuJG+rBoT?|!B!*Mwo#f2q>GmU<|5_{tyWSm-)vk+JM`9)%} zGAA#KX)^5>P!Amy*VfM?btfgEa9&n%GH$sUmo`5qAJbeHIBkJbGbJ)U(J(P8F)1cK z&M+=w3~hnvoNld45leDR+yq0yghZ^wxwXEDjM(_N(O6h^Yn`sgtU4jV5E&60J0c=- ztRX6HVoV|;naI;>+*)%Er)Lp>43>Zv5noF%oKR1(2@~UEMxu0Xtvw+z7>pC6A`$6? zN!T&t*7{i_l2@3KmY2m#t_>x|;?fKwHc-gSB*jdLGE6{OWNxmK8OH5|)z5sSYAY?5N~nT%#6a)0;8xrKjuVK9-F+JB`Y%I zm*D0hd}*;ruxvS&os~T|4U@0hRLpvGMBK>ODAE3uM|4T7?-v;|jPu!`Y;TrVG(M$} zeIzM9a%|KD;l><{m^>j$RIP_7O{9=-%Ktdn*?I{S7N$=D6uB7`EOIvo_7stS3L^@r z$ZBP(TIUfS+pvy>)G`m0xe+m=YqBjGiIbC=eK}#3eZk*_dqwRxyUOhqwE|wh?p$6#FWV;Y)!Iv|e}5vf`K9j(P3O;M^l! zC;G41goFkE#fe*eK7Qt=yanOsADiy6XstNR0siAc7QL05dT@fWAkZUbOwj=xUMT#x ze5>Wj@3${l{&d2weojWu%lN&g;GcZUaHVHqxX+~3K3}!MyKG{Kb7&B)A?kN`uj~$&+WYfs$NH^e0p8X z$&Boz_{14m^JWZ6`MT>;appJpM{c{^CvX3(-9>>{=Jon8=x*#n75?|PSon3g>wi3l zhGe9F;*!-$95xI8n{WL%Wr(TQe;!Dhb5F|zH;$hCaNP4zSZYJ((Ca=uFuG6sJO2B& z&$BfPhjqREEsUmuANJVqVQD)9K7R9j|Ba9OxG%B|N5Nbyl?wi+eSG|1{wBNGpniE z_zyW-F#NltL))BO@!*Izp}q>fYllfL&vw)8Kl1*72VRdn{03e}1mEZT4?gI-y;+w> za*YcsUwh$ssP}?j`oqy&qyIy1ym{#HgBg!c`V#Uc`0*dj+V+QXa7ygG1w9V`y8cys zvvy;;?|Zz}eMQ;oU$-s_s~G%z-6?z$5d5V+zpogz{hNJrqr1npN|@ILMUDd!MT{9Xq!7uv!mW1znCObMzfiwI>QsX6~O7hF1lQ5qjO>-+ub;_=nH5F`fPQ@dF#fJ5de5rdHom9-XPXWeF8>_;G+FR3`hFWdKiBWUCpP`E_(`9!zv7TR z!GHM9sO8IN)_!{Yk0X2frSIH>Lrw+%T>fWeZ!X_+=gEw{hl=&zU4W|Y$@pvgblGw6 z<#U%FoOS52TVII04@08hM|&I`_34EpZ4xeidi=HKD+gginBZRwjyU0#+dS#=3r?@i zQ+|8|2i^((vU`$Ew|(9J#qpc|?e+e-CH=7!CHT{l=6&E&lQQBC!|r#?4;+R3yR>Aw z%OB0Z^JqxF1*WGTtsQuD|5vUD z*Q|JUTCeea-^TbR_)GoMI|PqN@*G&WX-}s6<99=uZpHYYT#}dB+AYWH)4_+m^H=SD z9PtbO*<B~P#cFv3X zEq2ewy8Cn>?a(hDXXUz(mTef51zq-GD?v?7ue2ihe zF)itJ(TPRvZp%0^q-y1u*QZ`+j#o*}m3rN<50_Q13F%fn!F&F?I}!)xVOz4`XDti+ zRN1b7*6EVp;XSTvpTfo|!SC`!)gK-2dN(R}TftzX@6T)SdMNn!_sE~)oAbq~tsW)s z)GE6UV0^}0t=E0GI^g>Ooqqh>5Yu_iq`(5m{zSpAtk2mvtiow|b*o;KQdct>27!P4G89y>WQqg}`G@PCar@tot@sQ9c&@?+;F? zuHUkE`HbCer&f2%+>W^0G5#KFkJp`iqy5VBqnDpHT<)HP?HhvMcjm?(OQx;+Z&mH< zkL;*EV^qY!VS3$#$h_=U9>bglgX@z0 zLti?K@}3s_=f{3{Vs?h!IOXQ|f9mm*TPc=SIxs(P_VBHI{LM4R283Ta+&s3&a>#?= z-)9KjQ=p&pXv@?$)(mfRI0|=z2>wCc!L`%fDr4Gyy#JFv>j!SbCq}{FFf;9>*IScI zswXA2OBgfbXUM)PG4JG9w-y%*j&!K-HJ zoMXY*3Ly9{O7q0dPZYhgIC$FOh%m3MSn?A5$A@N3`u+p`n4tHc+49(491x@M+y=ca ztjpc4Z@KqK{J_B8+hTl&7|`DZKmM((td$R)ob9~9(C_{kn|h$0JJNsDC(fht-{?90 zp}X?dj-Gg+2%lO7|Im--ZwF-WcyV{D$5x(ids2=g~t*38qk=Siv z9X`nme$gu)-h*m8Z|;l#2?BiY#}JU;PGXxx}n(Xv@fxH%2#o zS2Y6?q zk4$0&E6KwLX%_H00y3#U2TCOejuMQc4u+Of8+wIfvw_y8sMeyKnQ8esc?%pXMahB! zEc+MbI2IaGnOQi`kzS=1pd@p4X69_{fRN4B^w^a(KcmRODYGOiqqI23xPX1n;Zm~u zmq531JO*{B&MKJeKs~EfrC!uN#DN$ftzxggtbuEGk4EYlb{ydM2G=|4BDDss2T3|6 z;j)KG$#5VCkW7pQj@1$&OvL?}V6`(u?Tmf*Tf^!N= z=5m_2svO9jjgG}$YRt*Ikr7dQJ#18a*IP=p2i-_MG!-nZs0d@EF^zMhV>N;;FL~p*C=nh`@zk(`UJnQQsdClpWq!1emOqMBY#!65Y=(?Ka$HSAzy;i^3vI+V=hRefX> z8&POSCQpvpIR$)Gxn>U1xMu2L5oJftKu4q?UcC&31$b{N&ML@QP~uQ>D2h~O{;V`} z(;Tm?94;n0HWDCzVky-@eUZh>nD0O{$R;juWb{GM+`@E}_?ivJk?C3DZg z8}h#s9pWD#;tvSCp#=V};0^g1^!Mb)K09;Mpetjw(Bjwv`MX=x{^WhPUJ~(BW$S3sE8!*~J3`wc5Ylx^^rTB&-Ti zkfXg-CLA#M?+S0J@qocMCIk&xY9dNY!2^ak+GlMG{?}50FWJ-qL$scEy-lr-HGflZ zOHDW|dN%p7j}RPLSq=-C14&paI;fEt`DdjUSwzTI>^L`>I~{9BsL68R9V zzk(xsQpgQp<)&!?tB*l+vzU+1J?>x19gisEvy{Zdm-|fs@#3b?pUr`KAh$G~d|2C^KF8<>#Na zGvZTt6ds-CvlpkV(Sjq?oQ;0j_khf%J$FRz9SsMq;ZWP@ICK)npiT4l!>=AhcpT8? zSH9ah6kv1?eY>=UWP_Dtz9f8rG@q)h_o{diF;<@Os(2cRD`5S!V<~ZMidV&bU|PmvROYLMXhAa61joHvFe1Q>$SaRJW;JeuK;HEFO>RG2Z?L55Al!Y{EO z+}(hhdsb(9V@&c$z~6w@?i++VIr7&Nzu3565boG63^NkXPk5}uPr@!mEj7BW#$$Vp z81u}$4FUQ<>Q#fEo8hybINeRAFZo)|VZ-TeICQDC>L2T)_;HWCf|n;DN*jan=r?(! zFf&S95q^6kFQD*(4L?r8@A%>w5jGi$bGiY-FmKtY9v1V2%BxW132@7R*xat5@0bPx z&A<@g7T|E;y+CZD6z5w{1+IiW6Zimd4saE4Dez(7LqODx>0iJ{ft!Jk0p9>V0sIee zE%03+{Fwd+xB-aG^1OP^bPDR*%;-bBIkgnv@*$}~{Y-wc%!m#^r{7oZa-n04&LF+9r=M!c2i%M=c-{#?R*qGc95X z$EJ+cp@V-ehm=@~G^H|MNF|fAmP(4`3_O})-YAmT-)*^l^;I+>-BF7sig6vV5AX+I zKj0Z)BoKS2#YwN{fRj}_%ZNG?A`k{z9>GpZ9>Gq^T{(jPl6Op{aQ_aaR5aXr5K7SQ zstSJyn_^z>PkA+0_}36t`R@ZHnIH4t4#Y9++x&Nf2s(2yLhqbn{*V7BuvJa-?~6tb z<~&ff$lo8Qa}L0m+zU>)FfTDBVf;jGn(;YZ>V)w>+u7@0oXd@F2T}8?7!7i~$P5N< z-ok;Kx%9a@Es)#kaCne&f%+ew{6zrsp%f$^tp?VEKP)8A-^Z)s0DdP``Gr>nk3-{( zRRe@b55P>~W~Ij4!9Kx*@m!2#}2CWZY7IDPCIH8|r+5_LpDk;I(#VwdXh{f(G%$ozi7Y{q&nzNpgf-+WNgh-bD6SNi;!Fb3|oon?5e|S`w#UWZnq4{qOK@_F! zQj(LB8U^|dek(7cS%Gng+PiMgn@lOF#{37fAF{~bw`?d>p5VC3i}U+g1dkd;Tl0tJ zy?rnm9sIWZeI0$*@m?4G=(tdXTJ#}84Z*cuK1%g`UFoes7c1+_{IxsbkUf7sjk05$ zIV$wmMJI5wyFW$2|D!+Zjn9u%Gi=WD4=&%0k{YAY$lg%L`XDW*bF3R=SYhV9s+@6J zE(&QWJz8-$gh(`uSJXbVVy`+kCV=StkhuX$X-k|V-a->mXW39FMql)ux=z^-qBgP_ zf9}lO{040h^&@*WFT4wSPt^3%-5dnO)uR(Yc#E0b0Ln$&6BHqMnDJE22XmFG?`#7V zAY3`e1qzD8f}{>uD9&j3sQ_Z;92O&}p`b1peDL z?vKG8zn+GR)Gv42xc>z5`qj`~vtSkZR3F;2*%}fKHI|O~B^B z=Ybq6Uj%YQ+ydk=P#B_3)Xp#xm}UZB2l8k}9Q|cl1pGH}DG;Nd>2Y8U@LS+c;P*iM z4%yTUW!(+*0PX?$0rvtERQpum0oZ2(4+2*L{|AVBa}*pOW_kvA2>2i17r@=Xqrm;Z zFM;m@zXNivJqi36cnXM{83q3v;Az-T0_%VmfIk3#1)c?ZLgwfn7dR^yfHwgz0tWzp z1yV1dJr;Nwm=1JmrkMD9J+!rHArNIW-KFxE16^QeKX3=u08w_+exN6i{SQZ#nGOLl zPMXdE9|BVLy})Nr3dbWgX;M;?CgrYlL9M0;UU!wkm8GEQiYrT1%3Vn||FAs)JTbRuIPTl*{uCn=!- zcvZy0hdBzbQcxoUP??$|w2}o~Q<504zSOfiYP045wV`zQ>2@+0t3QE`xl*RoNYO(S z8J2EVA-yV&z^T6U9I^oowDf#^>7_=_7&D~vW{QcOGln$9y!cdkz0T`iywJj{4^l`< zKpq+wt5}O?Uv9G|;z@#Y`Qmd62k#`@A9nut2Y2*+Z<6?7t&=*1VA*rXz2CAy5%x`_^u>|W%HqN)CGnxq@ozTUn7JV#I*qmgY z0=k-}2&NuGO{TEy`x-^ozw+XOyX&0TDU;}?bzWO_aNKU;seG}oQmRLhaKS;t5+1}A z-PjkRFI(Fjbpkm9tKr&8t;_F5mv3rR&|XZvp;zEH^?0zJiT_d$;^-&!pgd4g51J1u z7>~EOz)EUyoG+y-)-hB~aVIG18Q#hv{Fl053R*Ks@MeROY0LrDSMV_7D#?Pn0&0Mu z+|VPW7S|KhNWmL!;c>_uB6tm2;lto@G{(xEg~E-&YAjbQJlq?k@^EpK8iK=|)F?NB z8ZTlwYVmi*;@T49oOHbvl+0f=D5+Z(gNhbmD?w2Y^j01O#g}_;IzXQW;t`26HF5o{4?CPxsRCG4Foq@ZGjokAlv^*xF z8BdK+bmeU%3T)`Hxa zD1Fm`Gst&>t_7R{`%+*Uuo9RKykB+acmci1gcUg@5BNGTAGiZp0IUHP0zU@gZN+pF zI2Xtf&IIfUECb+RVFvS430LKIIK4d~3m6w1>LurljJq>IN+ynFlegy0SJPY&#wuE#;A2Wd#*FA>= zdA;)tm7fRf3p;hOen1njKal6gKz}pwyqLkj8sHG%E?_9|01)qDrc*#1n`gQLi~{l{ zAqF@Q$Z*4f@xTlquVmwaRTF?%qEwQBCLph7s{-rTbuuiL%_zA-kx1rkN47Gq> zG#l>x5L4QqvEj|%kctUFe2E!=D`=pj+{@}TJK>I5tOh)bB`{Q(G7;-FrET~sAN29B zMt@)P&sa(G!Rx;f>uXp=v09Vy_l1Hmy8I3-&Gt4sl@HOC-V`$1v$Ts?aO%4Q`PEbf zH(m!O)5m0wm_+U|FPP71eCUflTz|1RRgcnXZd?UxTB__lE3a|k6qemfX>>&4pF6`e6xRO#&^W~n?B+2_JI4d3Rh%7+CjV+_`{ zIJPNuVOD{IWPPHm_@!9asj*Ytf6#Q>8;fM!Yw8l*FxyowDSW6ce<&`RY-ZnS>2Ncx zI~;DylLGI8>`cHTFTs=g1!rBU!z=+6EL@+*f2q0bwoqSLs9!+^;PF=Y{vIf(<|wJ8 zT3V>vK}iiK5tP($@OG)jjQ4s~Gk6D7sE7sc#Hzl+nTs=#x5DvT>KuGKm${l}aa{pQ zhTRNmhzN1o;_nZOKRs$jY9BX)k|DxC$q*PX)tKjiiWaeO@REAS1E6GGJpoGA6$Vke z)h-^&O5-CztafpfrC$#`YvIn}Qgg5LAiaKh2TnqgU};ZWu{*3!&SXS(@7s!?cF6J`7kAlF*Y0*3>a0#kv|a7`IN zte}WhuVuh{V6Ot+3p4}Q0jq(Vfh&Mpfh&R3co^TCD*q$Z{weT&@DBqaOQ!FD4+8Na zOZfi@_z3L(1+E6_&WcX5N#*w8EvLugfu+` zEC*8N*6zaOVFDpHt3D7A_)Fq`9QHfbnR ziyJ9ZsZ)^#ld^oqU{-3aKOo|zxAZ2f4~SO@GBHK!AM(HXTr#vQZ3~L0`4VQ!Oe!`d zXecT+vw_w4gs8qnx*|t2boFbYbaOO9%y--W^BC?b?RI6VS za^@$bN7atJ;IYnwAGxeP2x>WEbN0o3j~!)h8-0WGs-P&anRWyDNzkXRmM=%vp9H$FQ{Dpe}^tM}MGwpU<=YglX(W z#a8_q_!hFMIGsa{_%h>ORsV%5hECwm{4)|!MIsqNLGXWo3+jxjP@_+Iq7O7EJe+{# z@=X>fIh_}QlGFKJpc3(Ti`!O%1@$!kOLc<-yL8>TJ>kN69JPxqZA6~3gC1{Dol^-FbV$>1?nGA88 zg_;FQsxMS&#)>rV0VT`9zHkB020WU*5QM@(p`)R%G;oJ*to9|?hWe8QTVa_SjRjwkEOs)TE;LoTlThy z6Pv{{4wKf5j8xdJ{jrX!2}^jRdtYq7%XuN*Xe`A4aNL8d85OFKrfqbDsUo`aw-VE#myahM{2-=hi><7#M_6HUKp|+SxfanRP z8elMxs>eX!H^9NbGe8WDCVbpdpw^gfg)Gp18!!?$1UL#f12_ga2MBe?R0_m`kx((> zfc)g00K|fjxI`2SLds;=p9D?;ZU9aN@@0YiSAf%iuLGw8_W}(-swhyS#D_cj=V$Y5 z;CWyUP(i!kC0Kl@qa6!HN+ED45M?z*0ZV~cpi$-mrvMiK(}8yYX9E`jDYtA7_JTM( zQUxI;RgnL~-kHEhRh|9+4ig|Ikr^~%)KsEIixM$mB1S`PAPXQ{luZQ*2vJZrLn2bQ zV8jx}RJ$+sZMC(nZE0&;i%S<1f`Fm|uDDg)DvAs4SeN|2zjN-LOy*9|1nk@Y`{5*a ze&;@Cx#ymH_H&-+k9l9b?&Wz z#vVfTc98DCsv*c)aLW57;S^3U$!<3X8 z>SdpaO#6xIO*gQ5kfmjf3j*WxaTKq{4_-EzA(tlPoaULAo2!+qd^ZO*aL`GjoVtTJ z0Uh5Bhpv8@Xq2C=V5cXEhOr=#H_lCecMcTg^96Iv=;25+deE|v4iaT|NKNf1bC5`G zylnQCPZ*D_8XBM8+Ak{y;tvt!kZ$)7QBRsya%O;XMsb+8r+li&Geo5T446*o>sVA( z6ee=TANx6vdplOR2%8-%tiWb_(eGj_i_SbP@x!U+Y=85s{6L3#;moOC1I|=T;#N8VMY`|8X z;GU5qciUZSn*1QwNeN3BO0(iV9L(_&)?o~=c<%f~^Xz7h66YBkt-1T(83nX2W8A@4 z_Ke;~eZET8DwqBa(^S3Vzrh(G4RQS?;3wb};EWU&{6RiN{f$5m@MbUw{t1-3^0zmr zJWK^20rvx60Mo#KgKXT@YwQ{V4+g{FkswMY%yH|3z*_G6f%Id}!JwA(4gr4%9tz$H zW`pY6b^jW8G`JHS0QTb>=Yd*II3Cp6_aIP{#C-5Ha47>z>mNwU~j(1 znV?45Q^AA4b3m0h<*WMcQZCzf%Vzs-+0x8Gzq1YPDBfSTG_z=6{e1_T^{0cc8QMb0 zC|;6!WlD7Yj6uxfhiq^7*T5P=hUh!cGfg_7*`+dYMzv7l;|9S!rC#^(8N29yPwKs{Bmp6B;!ZRU+dn&#J08WBgdD0vSH3 z!b}okQDBK{9uiK$pKH#xr{bqp*FwvIp)}`^Er@jUSg1X>J0`YL9>mA}ctNy&+1V zTl)H}%t$R+krsToczw;=Q@x_4LZWHr)e7kvt-{M>S}?2RY1rkrC)Y5S?zzVoDEZU5 zP#MoXzCdZ3nq^$u-BS(|!4{~uu&w4Ao={+vCdFOBmF-2Gw7{S^v6JFrpFjje-ES8qqv zNVarG0~p!ToHHp7mc|sxr45>vL{?$REYyt+nmhaQrQ4jgHhLYW+#eTDhA*Bz#*fx3)PUcW|KMf*c=QE=f$QVq>EnwhZ2V{p zq>8+z=Oo(u#Pq0G2LmJH;tBiWIl%Z)i>lBo2Qcikctn|BH_sAcl*Jd-Bv5A0y*Q2{>oWJ=#-p34kMeyVq_>9lbD=sAyKU5q{Z(AJEpyyFE zBDcniM`QAK%IDH84eM%dq(G~Jrb|b=vnWM{h8aVxpGP^#nMLJLJLXbODs;4!rxwYh zL>!H_)h2k9lbv&+sI`G@IZg|wMzQT0pjVx{bgSdmH)i$jTgZ>KYKzh{JsiytJUz&J zM=dfM9udJgv&O0*)*WhvP2G~cdckaC@2EU^0qmHz`oWf|D(F_lcJ0SV-DLU;nQQz6p`;2`)mE}KO4h4qT}W0gyl`%HNg-O-XU>ym%PLZFZgo|`5T{+&^N10n zN-IW<8JCqc(JOGaY>Q!X2vl_Uvpf|my3GfVZ3L&*<<~?ba8u0|LzoC_cN62?nXVY^o7>( zX8$SuyL(I5?moS``}FGWPOt8NfdXAAvDGPhS7okL?Y8UFm6qlIIt9A>H05?s37x1X z*RN0Q6k5(?`qb2-hUp>`^{Hw45f1qEsXb)qe!XdIujAjZA8nGM`}MD}9gKg!{>tAN zx?fM_CPVk@Q`70ZWct)b8@gX#FuW7^_v;JZWaxf#O~yq5JjQ-e>53y^R_hg#&&)#fKZZ zUr+JbhVIu>e1oC;^%QS4bibbB{>{FtHp^%Q3^0}TiKdWt6+x?fN6w+!8{r}!a5_vZLCXVg8!O>RdAY+S3f(uc!D&hVIu>{IsF_^%Nh;JUSfk>nWaL=zcxL z|6}NWJ;mD$-LI!Oz^Wj6$$fgg2OGLyfAJDS_vn~nv z=zcxLcN@B2Pw_{F?$=X%604NqfL~8>t)ct%6t6aPznnJyaKNvZcA}yC^%q}n=zhJle=>Bx z{^GX{-LD_{Kvv0;=|Mix(Ea+3FE@0*zT>|ex?kUM?}HV;U*GX)L-*@DUTNrleaH73 zx?itxD*FcEfM0)cg`xZP7q2jMzn#OZ9m{A}b$EMPT)U7XZayMkql+42 z7q)9v>a>jS(?#7)C6Ieh({vY#!X7A!*{7VkdYaXjvrjoS?ZWW|gYpLzpbNBS>7v?& z)6QMMf0g#`X6;_Cd%8ropTmv7nxBpGNA=b>3R-(%s8ft2nyTA=Tm~i)!XBs6B7c+y(Qxv+fYDUb+j_ zHm16+^MrW{A-nO~dsk_7r%9YQcmCYkZYrdd0J?o@t=*}9oNny@%WAE=T9Uoo`Ohn@ zPQFrxj@Fpk+2lUjb+mR`X}YcVv=gP(og`#0C|adc`V2MHd!l5ugBt2ibBk3aqeZ(@ z4|}2sd!Huj3u(Wn6%8tw#yZKoy4ls!+$y*CG+B4G&NJ(a>7?#P*uAP0j=O>f7#Vl8b5S+r!{74Rd>_ z*)EnIe}qu1j=pvsc3sIIf?MTzU3vtetP0ALW110TTF0a}uOEBE9Aknn(XThJ7CH@o z=c~KP^yXC(Xge3OK&Iu+h&(g}fvTBC0_zp2(csAwSA2|8n9FkKM8_kP^@;(}-XhiI z%-KYcISO~dh5Q9g6b)-LtB@?&u(q=G{ZiCm^)gal_q&VpYL22s9%#;-mtq0Wj}I7W zt}+3aKU6o|)x>AyUM(#|Hp2|0XZD%kiN1jOx%T@|r-A7gxYF(MYtw{3Sg9A$?UNB>GSQ?N0U~R|L^d078AV7I830Fg7zq)z?i)!=$p8t#c$(8` zlE@(@JW2f*^P2>+vy|Prio{mr^GkPC0T$l5g2nyKu@OQsSA{usx+I`v=hx8I-{Rk>MF+S61VQ z3?+MnWs2`pX>%Vzttb;Rxd11$0%u2C2CiuwkrM5V4g#FR4b2}9BkoKdE17yF#UoR% z=ySR)R`^G7stNu!<&|Q1B0|N+OpYsbm!Q`vS7oKLZHOzHo>&PLULQ~q-_g5md(c*d-&xL6SimhRk6r) z)DCi>4cl8W+b1!bM8H_rk=QsmhQC?ZII4tAVqvUpEjEtTKnqdmt!-V*)|2MI(vHGr zQ&o(OgC>Od5jL^rW=a;Q(E*t$u^;GL672+R)*m7<4C`&Cb2~OVAg=eZaa;~tsHbOx zI0@c*Z z|2M%`xc@o$D)?J)2Y4s=2G|0=3EmIx1Rn+!PTz*}OGebpyC7jyc8r+0_rYG2>kq(w z;4bhO@FTDSYy%O=Ca&xH8ZZc62Ew*xM9-vxw{R~pcw&u(rMLcJFbr-3B?j+3@Br{r zkn{TW;sVVCk&z(zuJs7na1eJ>kB|+Ax>&C+B^xXRzXVExJ7RE*#9PF;7)iIe;0)*k zz`0-^cm*i&cVZ~b2Y(Dkz}vw>@Ck4T_#!B=cdvjFcc*Xp6)+n-6&wVXgOX599vI2D zBfxRo(?Zlw0>^_>!Aejpv8RKx!81S!f1C(j11Q845+z#rjJ~Geh5uf9< zf@gv2Kt`-{TSoLT;>sCe#Up8C}ux*{@ES;=;k~hrPfEe%161r1I6(3 z#>60aDg0@IpILJ*TwHshCCZQCbT23vtYWFW?8u?6!9_cV`pcCM5|a9F%&%RPpB~Or z{OWDH!A0JIMSR}kIdjjm?A0}{m924jj%O~I4Kp-$F;9!>d$GBjIeT{8-Qv1)y}R-= z&Zt^cS6jt`Bb^kPQ#Ws(K509X^SFw#iV>qvD@(@YjL#U8vpAZWBDb5*0ENu6eEWQki(BJU0VMx2bWbv)V`QP~Y zhgho`Sj%7$EU71{}cqz7h8Xwz3*+rcOQPP;G4r?rX zU&5zX)NgUsa1}a%zH%=6?3E9SHwAhxad3|$-TOGWM=+a7H7vbjDks3)d=PiP45NbH z9`>An?yR{B&RfVRHns1Oe6=x^WmCqVQAS6b+E;Dx@bTlvFh{a1x9841U-B;&*Bb9f z;JjqkoS8LMwTzon`%3C^<%E&r&zKl{WM%2dVP_c6*Ye0wj;W7+;MXW8z^qn*IOy^m#k@~DYtNkrX*a+UwXDF34qYe)IG$)nB~ zKaN>`YTxmmbNy+AU~<4X*jYZ&p7?M51Hah=uZ``rc>geokMt z$;mi<5t<6!&*}ROL-%v^K49p6j@|?4W5WSINAE;K_jB}q*UDY zPWw54M;N-F19-Wi`#FF&8v1>whd#aPunilpyXhw>C-(2peDotj_j3lHly1J`Rpr-S zdtU3K&wcXrJ;$Hhau0(24c*Tfe5;}RIfLIebU$Zs0m~ENfS)sXf}vk~!~CnBIr;dd zKfHC={c|_pxCI?khVGXb(Q4>^&fp#_C5HokNfKW+bUz3197FeW0N-Nheoo)*hVJL| z9mo=KGEU!lhVJL|{iC7#IekAdbU&x>S3`>5&*{6;(EXggn+)C0>6=BLl#J7NlA-%K zdY2fwpF{T_hVGYm@us2sIdlgy5KSiWV!EOGIdp$w=zfV8j~cq4bN78i_j8bE(^n_s z=snfY{T#j57`mUMcb%d8IeNnfDtcas)2XMWi`#HjIGIT#@@IMXR&k-Kzr}+IG!xe_^ z=M=9tbU!EYFAUw!DZa_j{T$(M8M>eI_=JO%9zW;t0z>yp*7=p8A9Uo};vU~T_G?#7 z3^gyiXj`GN# z4BanT=NdzQeOVy)uJax`>A3IBeXd}2lRmwfx8=@!8=Afhl8857k4`idyhx6 z8}IOck>PT;HNwY>-;GRDk*%&>a^dc(183$DMA40c<@OL9=(T6=yP7^P{DK9uc9*_x z^RT$_&t1R@{O6Q>Aa-(_md=kfcI+Oy%}wrcu6H%p?D^q+?4ENM{0G@RyYZ3sac_!S zfzmpAZ*y<%w${FS(CVGmbB6AEV~NC5v-9;~HE1pJUYQ-k8wN8EdQOqtI;OyoKj4?ef&o zO1bJrHKNUrF;jltw#k!u)s4p`a#w!dN5)IUq9;t=qeT0+Fud(7kx3&#rUQ<8vcc(*Z%-0g*nRqf*7lISH1?pEr0kPrZ^Uy2ra+* z-b#-@LMWCyouuzcF7GDI{zpKu`3&sIL%q$?>9O*g86&}O zUe~K?IxPFGRq&*9NYSw@u~S>8$Y++vypG4($K?edoq2%^w`%&-)+6zu9qvr$M1IAs zndwZA*_L5D%+Qnt?{Qtt-#NiU*k$-2349A_8VLQKAmge#bGpRm_a>~&`TNCIF--h{;a{x zGJlHObEdhIZ>tWvor$vvf>q!}uKOjf`%-W=^c7$= zs60}9dM_~+TP4!6StZi4rHPHwxTZTft}V?mg*a1%80Ps5r}nspEBO6Vbba*G=+5Z4 zl#^kspOzaAjUS&;un!diYy-G}Nog9-&A?KTov*I#QPi-BI)t2lFu^rBpX|>H8n{tT4 z3hh@hTe2Fk23Hxc93|F(X5-rKo>&9^l;ECN16C!tf1VnkG^wPuaHVvp0q}!;0X1N! zn?`}2ts0=5eNhBV3hbOcK(Xy|uE?rLf_^o40{CsP0Q@m1|33p2 z&(A@z{p$Oi2>#V|SDwmU-&^lsYm98R#>i%CjHRi@SQ>IBGA0-?Csdn?l;UA2m#5L< zzZKnpP>Jm5^pxmFh+4>uo}M!B-w5K!YATHh`Z&Oq8A22id4c4MEINXoRnyOz+ImLg zIVo)g(IL@u9Je~)YXDLmTAu3>d?NT3MgPdxK4 zeURii$O*y60mc8U?KAM7(Oyj#BR(SX@%XxTsWMiiiK#L??5p^;HHFs0Xg|+%yjpQH z6wj=6E%CKNcKPke^^XMicp(Cuz%~l(<;4sC7t?Q~noug)zc;pa_Y{gzPuI7?+>+p4 zjXMXt3|0NcrCi55Bl;SG`=c}~Y%5of4z;E(S;t``Ghw^lalB2q_*$c9C)S#Iw9AUV z7F2TTKu-NRlwh5zlPHUNeT${w5g_kmYR~1M`T;|+3E=^&EECO zhik!lkiMY40i+MB$FFleh@10G5WDgB9qur~Vfp_WECeaM;%W1-udb z8%T|+SDq?8%3pm7%hWBKW$KnK%^6Bzw6qe}mgd}{kG`GDk$jQ~lc*v{QAwGMfRk)V zws~jZPDGW2kp+~o^oTjP<8O{UUoiWE#qBbVBpn1PL#eImud<7)B!_0xj_?Fm4$TJD zDJ0k|zqj^mRk7$KC-QpqtI_?aJ9Fv9a;T(f)QV`u#|>*FS|xY+>$TzHmcw3e*w8kR z+w$Os9jV0|4txEBXAra#YFM8#y6yoD@(7%X-`wTz*QHTgji{y6)@a%|;%OSz*4P`b z$XH6j{ng@s*N#DM%E+b*QU^ZXG(NTI2E9nMENxfguw6|RZ6qcyTK;k4u#cN6KINvr zr1%7yDn4m=gZf+>j+Uo1+!JmbmeSA?Ccbr&r_*?L%KG8TbOaz>aY!_+q2=SIj2}h= zO{0v+meI?fLS)O?DJ0EyipnF^zZ|YiC&KShT)m7a6_vS6jVjz0AO+idTsL!hMjWLw z=8>R!Lxq#y5SN5N=!1IhTlw7k8CP37&rEPXm;p$tJ04U#2u$b@eh%(lY~!&Z0HTBY zM&oX)YG?IcX;$0|z+lIE?{$|-vS(~$=B|77{t}+!89iI|J`ch?mrfn3hpWN)GuR)z z4IBur1~nd}jGJ-b9pGu)2k4FT?tkTe5qLMK`c0jyr!8>Sf~wE=fQ{ff@O$8TQ1y5N z_!ID6@D}hs@HgN_@K*4CP`%(5@GkHPkT{$t!3V&n!Ofu3@d)@V_qaLRz-Pecz~@1( z`hS7Y>R$z40p9?3fDZ5eIw<|r(CWqBwG+$)`EK=$0F3Yv^``G~e;oKeh@cK5Yy<%u z&L`Xt13v{3uwjIb%mInJUf)*fQ@J~o%eFtV+4e^^+x}Qu3H~iDL4brk67dBJkQhWt zI+*SWkf0HFRO!Bb?4bjc0}Oi1L6Tf%7q$xy2E@j$&RE6@kQfxlz^-N>7+Axv{4Ckk z`#b)4dK*7tU-#nS#5lD0cvN?S0ScjmH)s1v$OQ4FXFuadZ0lY;slIs9j2~4Pz1Ntj z`d!>ExXM~xmfsv?=72mHqbJ)BT!e?ZwsZJ2*isv>qKz5;+f*ln+{!4yL3NIS(hOoWvR9FRob2Ng{YI#oxXATaPL% z$>b<}2Y(;oM`{#h)PqSb1MjHPqz1|W{=8)*RA`>U>s|z z&zrTdZh;jau!uapcxKhSxrh_+Ud!ee!e|!g6B?-kie~ZLuT>MPe7Q04ma)i0PQuEp zG#sTg3@Nl4r^8fMvJk$HOZLw`soiD2e%UYk?~e1Dp>Mu!zw4KuedLVsFOR+Pn}uIr#uSe{3J3iB zbi)kY&!9x}U%7TZZoE zBYTJMa*o=APIpLWE{2al#}{_H?Avh<-`o4@LJ;qKa~Fb`Md-!zs4T8#uH=VXydCo{ z#2m*@La5}?#?F~{>Lc;cOy`T{?kUvy3ujj^p60fhMiWr-M|X*j$wq2^tE|SLE@XrW z_8G?!x_r_iemAwV7j$_HI?dbmg9=@Eo6mI?>N5@ubmM427gFdJX&rv)N~m^Cb6wfr z>)w9pNqe@J7z@rOl-&$0+OwUy-9*^FkLK;H?cpo?)9il)6uTMNF87<}Rbwa33?w0& zRRuGqPbMK-OIi`;L*HLM-k+ICUOJE4U=5GkBjSs5Lc@lNPUqye{WCXz)BYqb%V`hIJu zHrTKuOq>I>Fjc4>jiFj&noX>st2Da6yM$DSqa#uxf)FLUrz=MYJoDza%5okbU4XedUL#EK#(DLv8!M2v|{g*wjMTFq%1P@0Z=eG#oIqBPprjXUQEaYi_+T7gWd*w|Ty;f$Pyt3Dd03Nbd^ef&` z^AfgfdF6xHUwsMX(RraaH=KStpN0%-+iaXAqB@7n;s#$;)8*wHe2m=5>RZA$je>JtTSnqIBl}frj^2{l$uw` zC3^-mA>Ml6n@vl?*RRYN)O2xRC32AiD=OMnoYpqF?lqeedS=@Y^QJ{6enp{YcsauR zmJmN_$mPw7D1ieSLlB2T$&;Y%vfL7g`Hhr9BzBLXsXUx6R4`i2^#`Rv(k1l_-Xr;zVwW< zDkqMwa;GMosguq^v#X{Ac*aI;?n?VI|2d`a$JB{~XcGFctE{K5XWBNa_7XD9?lQL# z1bK{dR=UmYf<@+Dk!i}guufB@bO}??c7QXldV#rDuGMmp7$cJSejfDz(J!7=GqZNq z95z1E`#$Z`YL`^cybw95Rw(gid>Kjs5uMz38j;A{2U+*`+S}Ou2V|3s=l*lDHU54- z^VzJs*&%-$*LpXQJStC{!Q;7VUHUM*D4$uxtdD?|;7Q>9U2Bg3R1rsJQrlq(rjpN0x#rVTi5eIwiccFAX|UVLa-3L7}Uby67V$e5>Rrw<=zA? z0)Gh74%FWSt^j`pt^{ufY0B!?y7%{kQSKiCuLC~>uLmVZ>RVtI8AaOa4+HgH$AK)m z8mYuT1<&UGPvFJiU%+30yi@&e!8^hGKrQfYcJCi^@Baz@4Z5Te%ikMdGnh_3uLD(f z^}G!7Lzi9nl+7-D%9iH*l~h{V-L5Uo*%+fC-PgFLNj|UZ@7Wk_M~wDnjP_BCruVnc z$RuU<8OjSw`{LG7wPe)MbZ;G1)-LWHGUN)`cvREWB`Tbx9$zUE`b#(P1U8pvW%GncvS^ z$tyVV#Da+Nsg=Bg%}U;>)X7ubFiBSOUZjWkLxR7OPFC{1%^Fd>G5!)( z@+k7ovkCr^t>mfj{onw{S*4Z}qtcN~!s^lZ>va$(5e_!q9JSNQ;?vUQ1pG|UCILoC zNEV+e)+hM6Bind0MJZW)sl@jxe%|hH{i!%5i!X@36*)9DN9{hoGx7I#{2cUU>#wu) zt>%62#!uaG)?Y6mS^5;;AMvxFyFJla`br7^(}XRIWbvu_eI9@P^6hg~k&?adT<9b5 z^GDYo!IGx$S{(k0pAmz1A73HPOY!qN*I#GxmEmwZem+uvgy}4OC*yX!B8@Z2-ggG^ zork}5Ct8o4#iwGj%k|?$nJm6tIA+pTWKbt%y!fcHDza~J)o^uTWqQ`E`Fn3=S{wNx zmRtW!6|oVsh}`*_v{}c+Yia4&_(kmhou%r}yFC5-_IKOs%hT`j?f&nqPCxhFD_{S1 z)vZGwot@S1-L_{K!tGm~KJ|bn${nXWtJ80&?_xE<@`bHVyY1$_)#=@> zitk&UjtsUu0*mKOi({<(;#a5lY@yc+-M*^ZO@0o`Z{bDPy;Wx~v@bES73OyKjjm)Y z!7W?Q?jGRs>FhODB_9Jy!UNjhY0tJ7PTaE;$AXg{o5B70$5zD&vZNQGZWxH63)*LU{ZrMe4XxRD2dXn8TZH9%lag`CR7{EqF zhE%2g4-wV(DVa2-?c%(q1>s4P+cvX}5N&O!$O$w|&UKc3q~n!~!!6rW^UIw(SVeI1 zr}y1)bp6GBKYf3a)3QA)zv6&sYs>ap)clIfJG8oxKm8!>GBxZ9FYe#a9KLHO z%hJJh10Q3{BeXI!IzM$pNmE9Th7ZFvuk-9lliDVl9TM-sk>=%3)vc*I2fj6B!h2jd zb9qMVK{8ril+iYWo+`hZ>)*~Lb2{*I4z}(gOmFn!;Os2d+DB~Xk&D*_4~KEyTzpml-6dh1Gs+7C8K3^ zHJ@Uzu|$_pN3&Mj+MUF$+$14n~w*VK;%wTwOy)Ux^6;I-hnU=w%&sAcqv!Eb~3 zalQlo2>dSid+>YUtsr?`ue|#Ks260}#$D!?%`S7xmgZtF$!(8QkwU9m@6r-l!?xa$dk1b_(Th#g0S*5SEzaK2+f}O?TAk7_eZ#txe$Mcg z=TdR2c|EkcBE$}4CFF`wp!k8>er(mbJJ)%!9lQKiD)h*PPuPDZhn%~2QNg134E(gk zD22`0(aZ7`pgc93EyH|LWc27}kh)Jx+L}t*>UuY2^oA+nE%e-$rf6STJA~RWR2X)Y z8`BCZG7H9qqoY%!r5QMCH?fG#Www|LDzb^FU|d#ZrHPll*f1~L&>C)dJ&a!2oVsgN z{o#qIj!S{^B+>@4SljIbw;rpl;fgSglD1BBnr7!ZZ2#s3H-%PbriWGsBHD$|S&`W% zKeK2=@h3IU<1?4n*0UA;1fH%qcZdfuTif#u{|+xc{7%)FrlEre-WO?(ZfSX?$2-4` z-q-M4@SWe7KyG$CuANc>7Z4XO&btDI1r^$CFXH`HmgOF(E!3(Ny$oMTT+XW+7jxOY z(yw6aCAJsm6hr$G&7`#@Yr3@bETc5asOdTal;1-|z+Gj~bAOMf#nZd0orO;+s`2iH zB&L_!bZJ@f;{^BRxO*&9dd}Mk?%VY;aV%5)aZlVKRhkvH5BPRxP1o$|_8n3s&@i$ndf+^2y9!E{h7<{6+$%mLtVP|T8Q zCdDLK35rQ_5qL1DW-$w-DK$)z4d7wi>%@YXBWWTXzL#NY91Z@K`y;^3-~jMN@L2F2 zFds}IZDMvD0&*EP3QiZ-kK>*l()u&NVsIwN+HSqtd+9p;8HmQ6dTnzI1J{DX!RJ95 z+j{K{N(X8h`9PCfuX3XF=;IY~+1*IlY%?uenzMvZmUgLYOEdbDEiD?OeLv>!h8Ruz zv)12lW3=02G^Nu%V||RaF-F@KqrDiT?WWnMDK62tNe6M%QdFv?r}ZDF)}NjrhaMor zVGs2Hnejcq78;jiJwUE{fCD>g_^0KLaU1@PwFf0__oqZZYI!pSPR@LqLE3eaFomC7 zjiHKKUQTIPn-zdvJNV|nXKQQm8IvlI%HV4jKC@yS0{o+Dke{kO$u!8@k4~Z6TaEFfYK&8LM}wT@HOPl{-XKqKlk%t<-M!Zs-%J6sP4KhWPUgyV z{>;bjyjfO}k;$}Rn&lkqUbFl?-1Fny)hv4w4%94bsXN|X&9W!qK=FJd!ClR=H=_I< zwvV~u!zVV&RA*;c!iZ97&LP~*;Cr9ZELSnW*JNP*G5AX@_Zt!2=8t_%H75oUK2{tOY z?*WT=KdEe<1WHx&bnrg#67YU-8TbHrBe)q%E76g7O56T0daEKOtEn#!_^ zgBy#tFUcU~LyI?r8kqGtO(WWZtq@a-H-#FmfDmnsZfu&CJG5b2|AEg&-yU{A#(NO=U(ihB59CYyOk;%mXs;*A zrpCy4_s1pN)2noF*N|1l^M4Po?cK*_8fwNpqx@;+CXZ{LOaHUu)DPf(HOSc=!#I9C z$YM$TQ1Bn%Fz{}0BG>{>0oQ1K5ME<2T>~ z+}{O02x52W#_At--Sz#qaPN@Dr$IF(48`hmz-=I+Se)lTW)sfKU@7<-conE{*MM(= z8aC|&)df*zOc(YxNH=U4#pxyuqxcr^J?L%jeT0nE{Zf$OL;Z61{s-VL?r#D=1pf-s zoz~wAehh90+d!2+y{Ed!2$$_5WwTwRY<31?X_xX`OZ&QOOLsJbu{6zKtiKy#G|gZv zO*0tlPsPE~G-R!j`+HWxCQ%XEc}P zdL8Me+Jma5yDM4o9b(gn&*(_2rYG%4Cq>_Ec|C>oq@l5y&?MU6+zE6|g)J|cnGm9O zg3k>6gm=uPUz-uS`b%UPp(c4E)KZtXg|1FjKHkfmimoo*c6FO--lbR2>}Hbb>+&YW zdR=BJS#)%SdxZSPS7t*So!!mcn9go!ad1<7XQyS&rqZ_HdWb2-8y8;@eUHBE9lANX zw(RI8SR#fF+%WK+Xe;;m+>KG+Ht-!fItT-JKsM(l7+VjW%3BPMoq zGbjkTN^J4tZb!E@uA@u09o^$}bP~Pt*`1xT!}fGqAN@Q%-8r_aYv(#h-qYPiZrNUq z7QwZ#YT-`feoxKpywB4?N103uW*RpJyZXFCxxR^e3Fx`2&l_x9t(c=|g8PqgKi*wk zQ#@xSxWA6O*XPmRXgbg#{!02xuLo40muwoRG%N0(g6|$E|HioIf!&P(x6g~4#+A7K z1Ycawx0`9)?FpTs`V<+jGuxlMknyH*nwH3T?sF6FFX8F9qq>oUef|x$Y_lmvR3ocsbaYv|a%o4Az5cfS8iie;K5| zGr~<8K=CNh@6`_n=|zlilNI1Z?i)eg%~=U5Pv~3fd8TtMsJ>A5FS+*v$tT^P1j>CJ zcpW$eydJy={1$i__-*h8kmZefl|Q{-2I)SL%l3J)**;G;J1w*{^~siYqiahyOA(fK zYm9bV%wKbirfH$|w>d_8Bu3M;&_3g}7>zkpYG_I`4U@Q;GCtkVH0smb-dkR&f37!N zP(7NT3#M&YKRkytipedrargirydrJ=@LbUvhv&t15)DB_OsR!fgP=jOj2aA8SPgWF z64qV3FvD?sy|W5CcfnlCErh3J2BAWUTX~)w$~ydyWgy+YkvGQpRV@#aunVh~QseFN ziYk+l;NY0?qQl_GFi3fiR9c(4dU0tmC{so`6jp$_;0REaY9u%q90ls#P6JgK^0|6T zPNlJ>JJVcSnucsHZD)+8FEnBDKl(sec_p3D}{;$EijZ{xng*qrs09g^}|gYy5h9ZibJ;(sl#A|4VkH}=U~?>wTq^k zEoaxvbHIiX3H>y6F|26EzI z|I$JnzGB9_qrFQ~GW50OLz}z{5b|E#VVie>Hbb=Us~A;y=8Is)!pwd4PJPe!!=75B+KLV@*j|R!-`ZBN@#O|CA>KXE<0#m@%TN|~;mTtC? zMN5+iN0+9a(9$RmDU(@XW+8>L(o|SZJLFJc!i!V*&aIP?b9TDQ!*31VqqNBA+v}UBa0#^!BjdSWB?sebE4{{RiQD&zQ(-j%f4{SDTRZc7-um&{|d+`=cpgTSXieZ!|gZPPys z_6MH<^TB_DdKc04z>~Ooi#N{L(w)m(o2}$>O*f(pWkW11V@Yb^WG!Wd|Dkk*R*yNg z_qbq7X!XOvH7z?*SCpN~(pV~z?$~yydk#M8XC#GKx$z#?)m)y@`n-&ykD3A+-5FSLltnDaeN}>!|C7w zAOiyPDW`y{2xo#y=UJdWrQ)#iN@cV1N@YvaW}$P3^UjzUZDv82M>gSSyLm zb??Q#RxY7ElkHkeCSp(QF=-5Zx#@*bf!vvxo63vC=FokH;IzJGqc<@(W6L9zaenoj zX0F~`Wn3~hIZnOs7oZx*UxE76zXnxNehVH9GQ2Yt=J%j-Q8{XRJ=tupCtI31DPw7? zTz_fK7sui#Ub>E^dn}H3x{;)Qr_Y~lz4D8S6aSn_y-a7K;VU|>dEJej_D7^>pOYYR56{18H7 zJgSMoz%G9EHZuKUHkCS=K28per%aal)w_EXudPpsQA%7tX)($am(nXnS>RGKViXMl zWKv_4TP%Ub$a~gbT}nSF6fn#>my#KyY;h@$303722v{}0dj70MOI=@H%&)~lIlL(g zl8(n7>@EkG*+l})4lEOhIue*b@|MpN$lm##1ailPhXhAAjJqn4;HcqDmF+Oq#Jg6> zRqPs5a~fRDkrQ*;&1Z2n500E1$JKm<;cC8el98-$@--P(^H8t2c{!hit2vK~@KyX> zc!>3+GFZ|HSM!ywA1^xNFHZQQ=p|emef~;H;_I;dZQ@F2_3BBjU}5y!WZa?>toa6h z4*inxX6j8cZrcs`8-t(BoOXZ7;>)5?SKw#*QP!W@(q!??BEI|abHXvZk559~X5#0f zV|O3l!^HP2e*ToV`}lU@??wDPeZubJn}fg881w#V@b2SN`d-A(yC?2GzHbJYa}Qx$ zc#`!;u%zE(7ykM(P}uL3_U9(czsGSd#?Jx8)*s1D8ecQ<9fO~L4YmH%*CvZE0zL05 zv>9A7ouw~__%6rK|D0<5sR|^EPt%4?_<6(i*ID|)#Mk4iyhq9I;~P%|W%&8_aOVg^jN#knDX=A%dPGsOzJwKlMAw z>c{=WcRqe1qjw+QJNT={&zWO)AKxSR)1i}z<98q5FUYWK@H23N^+&Lz>2r9G6Y+B* zZJ$i+eG}Rt^`hsyevC(cO2YXiw77cpx43G!y1-?A{@&y=XN?sRpc#E{(b&M4n(Fyg zh3B%q);X{FXET+j!??bHDC^)wXK?tL!cfJ%eii;lbmU&&>oQWsP(O+1&~vs+Wla>C zs)X1~?o4QEhu7N!392-Q=0`v2`OGbM4%o+~e%Ft>&!zrB zh{CatOFfS5_kUG}s@v}F<5J(prM{?o!QzE=HM6QchVcj7N3wo-y<8Cc+rMXJpUVd%N_A7)xnn&-hsPR`6Ip7w#FOcPu^r2xIwN zxMytLU3x?;p9}Y_{Onnhz0k2t**l5xMHkEBy(e|S>+>fTYNNcW0jr_t@Luh4}D#Ik4)Kg;eO>9!|c?b!R7mhgb~Z0v4dY#YgLXGubE z(qoHFw~OItM#v+qe4W^!rK`EzjYq`FPPfN$Znk)Zr>kjB2;QCvUL&#BBjgb_qhj63 zf8Y_Zd~WXo&AOn@Gf1}oOY9?Fk6ovV(j~&d*wV~KaWV-ei}2A^dH)2#R#UgTW;NirqUUeO{FE3+X>5orPS!UhHX1_=)U&Q%1Ip@gY%^5 zH9U|+5Zj?79~V% zH*@EiO|B)wMV;5sim{ed~oHO33S&A5jRO-svBuEfJuO0&}TAlFkAE!Vh5qTPkh&o3+GVzZp;mzC1# zVXJN46G5e=nM)gWk8sIc8MG&IqTv4AUkfUkcYw;XZ-7UE*MZ6-L`NIu{_lb+r{4po zfZqqt0e=9_0)GU~1#bYCf7r`X1Wgu*ZC5v&Vd8OLNAM{gzhg+R)LOiIXYR9NEi_JfzB#9ld4| z9w^DiR6{1D|Me6!%j2C<%3T6N3_vR2_LTL5$jFuNt)3+i+B@Dffxsj|CEUKY->05Og zEpPcl=vKXfzz%v|k69TSv9fG%cyP;#a;H3h%;1vYJfv_`!}DUmp>F* z{vc23kQ&uo{Lm(lRiUeHBE~y@`3LG zDR?f`$;H+c(?dG$T7gx^U3oh&bwx#=Xzxe`%$Sb&HY+k4;ny6I8mY)?EcduJE3#v( zn%Q-~FbR7_&zGwH`iGNcf1e88J zlz0hjc!jiOm=r7S?k6>e=hXd(53#UAW^m>#w>0*!wHX~Ugl3v2rVjjsY-vh4u4#cJ zFXTjbq9EfW?(8S46HgreKCbmS|n%)_+sjYmEE52RTF1n0u$?Q3}zTC^N@Xxrb!g%i2>3ERa zu3nC9NP_!=#ywS@92MV#6WsfUPbPn5Jcf`b67DNVrRUy$x_yP~ zOD=k!W^fP}EEmRHl4AAhUJDjLX#&~wb-oGetA87u1AYfoA9@4G0W{}EQ2Bl{cq{k| z@HX(5;O*eAz!vZpkgN-Gx!y-1sn#h1E+x-L2Ye5 z0K%@}YzBW0J_PH&Y_y~Bfdk@#Xvz2=e@j6d{9O8BU1)fYk1bgxvFa;FLM^8{Y z?P=fwun$-dhCsE+VQ>X_04TP|gTY(C2&l5#54_W*|IMX0gWuqJDnIh4FFcyd_93#_ zK18-OXELd?w6k4XnsZ)^21|}{O%rpC>rX5#Hth8=+IM2KJM=iy|ERssiQKCWC@a?O zWJK>#w=-^N!-sS`$C5<1+c_L-T(>iBXzig1jdq7FXB<*nD)vVjSNaCi&$yP*gy>Jy z6B!5C@uY?+Lp_f83iIHSA5EJxK>Y#?iAS#tja^w536B`uBG(l?hUbrol$18S5RwN% zXVpDHxARnJ`9(yTm>NW=NP`cp-m*_r<3m?1=gnys!%gF6*gohb+Xv;@KIrsV7b?z) z0dt!1j%DZ+TK0*{P>ZEl2)nFRE)8pQy|#DRdb!a2E_+>;4!sgROCC*d-H%DGG@NJY zO``YMv20fD%u1e+A4O%k>A?{+V+Xt@1rkUzlxvI6nH^Tkz3oG&uuzHDv}@W*pp< za(Mp85>zU!EIT}0N{=zTZEW4kRgLCTqA3aqJ8Lt{h}u}%y9PBCwrhAkX3ODQ*{3xl^EAeEhurnpbWkKd{O!hF z6q+?I@e#+nA8NXm_O9V&{3HsKQJVGaD)8CQ=o)mC4-K#CAnZd4huNzggvWTOqY$qA z81)%q1eFn4_qQe72T8t+`jpraaaCK-=slacIgU%su*{!m%Jg0C0SAEVK%KF=4^(q> zKR6Y90IUWd0qemhK;`$7;4R=&;41KG@b}=eU<M+y*a5R_)o(>)lP6h{oQ^EB-U*$&kDiCA2 zY?mOL?Gj{56Q8AVO?MW%wlwF;7!58+grz9D% zz9BWbCa!PzCTVs12K9s;`-X%m$wc3jr1Sm(VI=eplcK*@flJ>&Lzjz871K%N(U^TD z+Q#Ih|H`sK;nN299XQz*n|xb9gxh1WyNw-G+EQ&21F%|-r5W_Fm1 zWV_58e{aTxc2{B*&A2|-Hom)WFU{N|=uSP51!<=qrEyb_Qi*oteFluJyUBDpO%2Yw zZEZ~5I!@m-#aQOeOQh$JdC45jOL)2HmWJnds{0FF{WDU@OeA#Gl~`~qB)LpV@Sm;3 zcT71FC3n}@f6m0yn@Mbq-l6UWdg>hVyHLqGBicG}P0|-(+H!WXyd-pCr~S{skIb}X zAiej1=vIUa^>3OQfH`VVII^KBWzdSzZRK=Gr`5ew)o6-Ir1_kwpE)~uk!-S^5sbiY z7jyjCYTpoqQMf`~>&-*~u?) z@0Z~Id1fa{v(mN+e7dtP$UD9Mh0jh7C#Pk+*~!*~`wK{==iWX$iSKIkKFxTE?`rKYU9st&Y2Z2psKTyqW7ATIL!@#xRA>cz` zfADEA2YeAc9xUa(PXNyWM}jlKQJ`iar-5Gs$AjMjCxADC6TzFoNuXvMXMt zH2WAt65Sr=D6AcOm~PEJ%(TOug3yRbiKhg&Xcm$kKMN_Pqd7`bkFn}v0>kpl+?r{k(m)L?M5;E1BbzDbAYSz(l%Hei38k%RBna1gwW|Y~vg*UP2u%g50 z-gFv-C{pX_?=*6kwP?g@rz3VQ!i(i-3R3sI)0mf`avkMS5bqv81<_>m5uP6J z9zO;7G48h|xPP80h|;Vn$ZYVRpV9vRFHS+Sc{Let3UX7zeJ_$P)9DmM@7auplL<)Tm+(sD5GrsD5H0sA=vZ@EEWTJQZ9D!f)(+4V(>L3aSmg47>)s5)@y| zRp2kc2JpAwwcr-;I&eF9J@^jzBk%+81~8TU_%WzM<~M;SfWH6>!C!(!;IF_+@VB6* z9;-l2J$?ty0LOwVH@a839K&V%1=(!BAe)_nSem9FmZm9)rD+OcX_|sqnx-I@rYVS} zsZX>t*8AL5DJvqLox&^fqYDb7(~F`NLqj)j4Tf(1B-rvou;t}o!#~XUfU#k?Za=qE zsHJ&{A4IbTLKED0MSkR=#s!6q(~BZcH4@M21%<3eofuj@t{}AfilUa6Qq#A$yqpSc zh_Pci$+P6QY_p43gS}O(h-W!DeOLMu_&tS)h7vw~7cSfv8#|V-m{qS+J^x=Vm|oVf zu0+c}hEy;peM`ZFkxivD3NA$i<#yiPiI(P&;(}h$(%gcIlxXRIg3^)E(!7GwF^rV6 znexo0S4!BV6F)HZtX72MvyNj> zqQ%ZK(i1h5$}~%fw%PoYduvNJSXRN6$*|ySEU(60;XL>I_iJCT5lzJ>-aRc%yW*)P zw*C3NJi+~J+&!7>YVejMxc?1zZ)pA&wr_Bqk|1kDX;xSj(`}tKmgm7Ix_FLRs8RYn z;|=<`PqLEliKLLQkxoTY7`Y;9a6F^*G;^agsRNK1%zA*{|71{1MyG&z;8(%nU3uPX}KD&j7XUG6C#C{F6YnzGs5RgJ*$PfYU%#T-~cN(!G|{r-I5K-RnDz zZHk2=4hC7fiuCD^)h6UURX(i9#A=HQe$)xZjBAK z{I+cgtv)9;f;`#s{UQ&AR*z*Fxy~`Wl%|T6r&;^IsBY!y?(Svz{;F=}ecb9+9`Y=K z^quJ+;?jeNQd<6%n!eLU5;S%kdYXW}Jpa9orLj)Jk@C{FOlq9uG+uIM%s}xBkGkv}) z5#;4P=}StNx_B#nNo$cOK#_@c{HBu3Ff{w4^fhzQewZCdKw?(wm7m+egTPlooi#uN zrI{gq0P1_e?P?@Pe+d4K`&?#1de1L|O3Mf?TexMjg zljqFk!_6U#W6Jz?*`hmHAm>oZfeeH*ba`?UjU1ld_)yL5WhU;W*fN~~{3^osVpYbS zXCkgepGii=iWJ0(Re_;;tKDq7;%;3nC!)4a6OW51PQ@{p>-o+;`-18vJ~1OI%dUxQ z2;;x9lG*;1?L6On))FrusOL9x_2eq#k~xnyM`V^j4MPa;{7x;8)q6{3Gl|}W{0IwiPuyEpoOI`g48=Z*MuakY7UFp3(D~x#BZ@5t*tq zTm-6))qtAeEC!XXI#8Kj$z?NLHk;|Pr8%2j*K~8%$I>P!*Uc(!*7{z!JL@Y<#;va~ zg?N31qJ&stLD|mTNDE^uCjJm^V$upa(-g_r> zg>zo$v0l-V)W(WbsRVjO;}PcaS=t88YG@1B%!oeIG%kcp(SKS&;+ah;>BT#j98&y1 z%|X$1cZGS(%8X!BNg#h@+i7+0?&yoO&^}z{#Qf$4o3m!r!xRm+4Dbe7W zb+<~^={JZ)Qcr6yMcQf2)TZ*brg6wLMbzm|q?$gkcvN(KbQ3a7qt6W75M4L$pD`Ur zJjiLXqPep?;iMxauyo9E;f6I5*v*~JYelnOpIX$|D$$owXEB!_t*?vOQk)?qz1oNkdq8mf2TC(!T zWkfgPF}jAkaQ?Xc@f>Xpt=f!NlL;-arrP**;D})@L*o72&bs57qx7xkw5?Xh-&B#) zzCF3SV?I@^eQb1I-^zI5Z!;E^D%&P&yq72oPia=%T1a@Z zv*sYVEIb>rB2P9v?QqcKVm1Lg3QSW+e4P6}UPt^kF=e^$pjef*W-x~%lVcyI=*VA;?JZ&){j`7H|~!uzUX^IGX!+!7<>!!LeYFXO0Kc z!Ah_ncsh83dtc(-U*z7aO_Tez;2Gc#!HM9{L3B&k{{uV+Yz1e4uYlFy`{0G(A-vc{ zp!WD`KrP-c0rhPz1@$@AT-o7+YGnfNZHmOtMsL! zR`+kweuJ22U-v_4DQ>H6c~W;Rxn@tU{LujE8G+r^6frnCAC z+@f{lDeTO7yNIFHBSVqq(CP_+$d>i^?n7`w7Dk`s++@QGJA)5J^B#*{_E<`E%$AI3 z?PICY$3m+fOwplA^fI)}&MnGLUq_!=6k7F3iuUzb??`_unxcAxm~HK!MIKP!#oBFT zJz;Vq83#&|V5IE8l*nZVrbcQH%wYXDGx|^DUl(1^v$G@bqZAH3L}QJ-?Z}qseJw9# z6SqCdIe;W>3axrJrQx|y%Z`-v57Ku;+M?M_dLW@QY3x(z8Y3S@w(|Ogk=o6vk$Ial zq7O!ryClJQui?6H){w8w1vIqDJ_^H?hH5+)frddE>(*j|2bsPP!~MTx#Bx`8C+6J=4$ zD_ITma2RenNt!t*GoB zeLQ;KiZj#A0uIr);+)|I-`@o1i9;dwSy36%-au&ir=PU7X{Ok)Hal)DrIDP}vP3UO zt(dh9r-)jc%5Gw>rIQ0PVGE|$IvTtD9>jG7?kbp``|MQN<;u1bSN{a}pW}{j4C8(< zztXc8AO2mO`nautp3^76eTqheaT7@OY=sG8AC+c>)#1#o?d<|5&a2L!Gjs7AD|SSU zf}ZRd?+v)8QBVh^w>XNQGv_ifva(wjk>-)LGtZq@9qY5S!s02qQyg_%F`=Jkmazzm zXOy;PZq#nhc8PxsSZSWkpvIOQ6g11m4};CzKMt-1p9Wt5UjX~^)m{XD1Tu0k%d~6< z)a#wk2Gzby;Ih4eY_>O$EzK-gTbf#aON%>&!RjR~iy9E>|A6Q#)Gb<&T!K2mdmCQb zIVGC?VDz#F(Kq=Zr>h^#h`t?Kbze%uzf|@z_oG_TdSqsYR(+Hb&HRf(5ltS|d_O92 zf-9+CI8*{>4s zHW@i;GH65GR)bUy(DRbC9$BGPL`cKLxwThPB2Q40^CHu>q(tUz$%qWy5~R zL?5K_P%C0vq5a4K(}+Y~k7n2=?q&Z^_1z8Gnb+i=&c&2x|7@FlllP&Ls`e7t)N z?%A&IzPMBPJGi&vewf=Z=sAB%a6d*<$hd~#YuqI^3`(=Yz6m~lp!^$S8ix6G^J?20 z2Bpk1O08=?SHsYLj^GDgI8e`S1{K@2TryO?dgc0spc>PKpk}yCNX-7xrJ#ndmw_4p zu}oTjBe)E_8DyE%tR}I?U;hF3-vG7F$r44SOoU6#2VY;BVLawX zD^sF$X|F^}G8$eAQ1S^aozz_RD`Owv%qD1bgYeN*I~Ej!ZRA)?&qhomE~;boIV8=JcI51z$iVf59| zs<#4>r&?a>zwBkjvE>b(QIeCcR-{N{j{5@XZ>X+E)@*r&3SAiaP^lwrc_cqKdYb0P zBFOuO=N!;y{A;dzmJqOTJ1@G!o|mNb?Rjh1INjx9Pbw6G;Q zHhf-a@z#{{LRYNUJ-89V6B!Y1ueh(Vd?GQFXGhjFj;)N2h2>;gw4A3XOe!AMHI~ng zmghwtl!r4-sy8;4&(q5_j-A1MIPzfQ*g4UW`O*1>#B>iy&yK98xhjlS6*Z1u6y4Z3 zqBini^va=8^3 z#;-pjw+AER&y22#jF{GVof_BZ`2WY=x4>0dr2n78K}0|~Di#*j(Wp>JfrE-k2?~me zih^QAfr91*g}9Wp?sgC_2ac!gs=KwDmRr`=uH9|7-39TMSG1dLX=b+R+6B|fHp~C_ zJM+GC4(A+Dq}%>~&gZ=6dERH{op;`ud7hbh=9!uN>Lu@KVGFIrCDwXtUU~K12V~gW z=2^$hs9ti2cX+7Cnlr!pFO9gXe&huIUp~qIyASh!$tV0@ehUAxuV--+>14+*aWOx1 zhb3pi1!@G2!q`h=*ic;e;@$$N`(t7k0)oC$7-NZC6Mxvus_6g9%rve7e5WucT7huZo+V}6462LAOv_AUP8E2DZNd#sae8ivtWrPc9yiJ!C839Kim7`v3<3UX1h% z1RMdF2sjaN5Fqmjhe!$mKOXOv0-l%@@Wg_6!mmNnGBhm6&^K2c{#=|pr?_xhSuUDI z>|NKl;78mRo13xXbKKlnZHw);^&yMZWK7m#2>EXAF;`@=-pbl-YO<*^sx6+{g@3;N z)uH1al9~kfO_f47@Dq~z}z=>Z4au+xJ3)IF5CHpcRb`JlQA5n!ahG;d#`vn zs4*F7)y{YQb=W7_-tn-bU^1HB;_2WO58q%i(qxhGyl_JV>NASB$!5{yMr_WEFnW4| zz2fO8!qCKp@jP_#P2YRR!#;Y`^mO!!hcd-vya!1@vJI=^j;{8OhpdY9AdH^RpA2t!RK)6=*1{#@^P!bKQvqpE+`gkci$xfYQOP?mmR$0YcRZAHCgXOucrNyehf_}`BfGqe z=U*QWp5+}6JGv(08*cIR@QQ~yY%)^vA{e$xz2!OYcq}3eKU}Xrmnw{PR62{u84f{o zr&Idq1cOc)tWmlu%2A#Yq} z+SshDjJyKOI?lzkqwXu)r#wyxdytxJtgZ!Xy0N-Obl+HABk88;9#QJ+X+6klV|B5X z%EMD_tnSNGv+D79g!*O=l0Ms-hXm%idOYIxX4j}y-n-OWLx$uHOU{cOIx=}!Mrvk8 z#_;syAqhj`WeYzfUNrGT;^jvVNhlZ+nUa!h;4ba`<1H?Crd`^tiGyNg==`7zV>_`+ z`^Dfoo$-9_(*B;P25x^oc4?<^#rtkSh$c6)OZ)pmCFlw)!nvL3Kp%?XXtbb%wKk7+ z(bsO!JWeeQVd~fd!ZB*@E{$)bBxC2I6jv*DQ7)c7mA$Cqsk31Hl|%soInK7~*SAYM zE5b1|3rdU2il>)bq9*jVj4LUhIcMe_Gw0rH8CE=}WM&c0ossYUH(>MIC3Az|$I+aY zl+VCX?S*ru7R;PGy%^2l8Mj4l_5R0Q5a*xKDuY`~r%e}!UW)-KRe5ITe~& zK_A+G+~cv%q09Rmxu(N}OYb-;&7#c4icj{7QOroI`ZoUy~iJ_zw5quTiUD_<_;{6_yTI>4+VW~pFKH=wy0O{%etke z`_!@VSTunInT=tm?^v1eLeFl7N5Y?syK&oGR4qY2{l|j0O(!M>pT5_Y_SEKIU2Wj0 zh6w+g8DD-kZ{cV2il=l-S+)0(N6+tA+?E}SZ)8({e#c_BEnt7v9g8&?cYep>^E(#* zvUV)i_Off+*0pN4J+*1uId6{Vksj{|LD4p&JJ+q}&fyiVec{yBiV&~t>ri*Wo#8fP z;LQGyuU+7ZL2vCYaO=?E%c%rTBSg>yE`pXP31agn#{d{dc83C&TeNkq@$WP)KFu)P zZb}=5DaMMU(61-KUM_Tj9g#2;*8bK}hwj)YV3=dGG@y&AJK%5HYdQ?Yd^lcXrcRsM z-J>vhh)jSTOYHdZr}w}zw(5IxSx>5@<$36DnKsq^$8V@3B+8lWZ%sc{onbmPs-jW6 z_j6%Ux6y38IB9$jU@~HkJ{-N*84_UnTAIJbr<}H@c83XE zBg5rY$BG$xv(VbI$LX@2S&cj0vGYpDkvAQ+wj9l~MA)A-vWEev`_pzNRQO8zxA1fK zPr!pgnvR#6j4wU>7r|d&*}(UF>fwKwFBUP%TEd#*X-LX6^I2#}4U=73TWw$`8;m@C zti`E#CQx^7xZ8}IoM;#G?yQ&Wkn5WgQK!YOCgE>uazreMHG|lmwYk^bq^QuN0ZjejD z#skKHHUY37U=|?tP}zXj0Nwz&5HJ@I$}MhcB{ayq|0C}60AJL?y#knzd%j}|;6DM; zA-1t6TL8ERa2nuSfYSkw0NxD9^v(cedCvsoYK$U4meG7d(0NIXF)^tzCKklgtA%f{ z0n?2F3*tnhM#B`NMtecg)+ySLcd()up&@-PcUBr?x8Wgb0dy8DJNyjeli#TH)-kcW zX)KL^>eTchy+^&rXnVjQIeZrXXBuq}>Ytzm=V&`vjJB8c zl84?i5xz#-RMa(bK1SO~kUhIR!X-B|+71qF5}QGUbIVTpu0mWn2zOFrWXL0*qivcn zUVu^La7{o^!RhNPr-wmbiZD^+W4Pwxi$r|G5oQ)S5U#oS<{{i#go)}d!|~I7X#-#; zYKTXeTO(vRifCWydld1VM3~=EUkS%5Mpb1w6_n+mMLHHnE<^yB z_a@LF8KhWP_l97hTuJC+F4lKq3##b)iIdOZi14sWh83;J zQTKO_RI3iO|0_qL(T5#%P*9fC9X9brIaxLSfsP%oAMCXr3e5Dc_GVpF8)>trMqUb2 z;nc`X?wCa#=Btr*JZvb(zWQB5UrLSaYHhG%-`=AkHNb1S;(_e=2AD#JV<7{UXlNUN zIp;^FnZAR5^2*ScLN2J;P?Kl$d#(0xd%r_LTWacwyld|iv;pa{KtCH{_wQXZ&ab9U zgbCtmsaU&zbj=78LI%~@Q=^Sl8~v-kGtYmb25UXm8u6xZ+Xw9tF2;7yhP+GK^B=^O zyypP^Bfo0s<=;K1!5&6sZx{k4q#zH&24_Uh3te#V`_rdyx)C1vc{ff5r_@H!S;W6opY{aKYQv|vV;oD}f{X5|K&n6KD~(lPjo-w- z2>!Z>EYy02As+t!5dKt}NgMiWJp3;cIwYwY;gH_||7$!phGCj}!fP2|mZlxSt)@Pe zJ>tB$CJI!3g6=fE3vY*YhVJg_&Zl7A+6`~g*EKbxOr^4vDW@_OXET?zUYknwD|59R z7xcSAyJ`X6RJ-~dD0I3um8!`SL6Lv_{#u|^Zx>1uC*;MR8vg-g*iQiY7R>qE?$z$^ z*X|$F?pJH~Piyxh5$|UR&wOnJ z4P6C93XK@f0HF3}Qf%<>1Fj$R=S)X3XF4*m*Z2eqlho+Xmq7>wWKNnS_&M_QZgTVd z$Xr8t$IzELg}&6@y2T#S?`Vgb(3$}3eeK^5F^7$?a}g-)_VH|LWOqCoFuLO9JWvub zr=a*H)+fI(msm!=`Q>4L1Dr+tOMc-8k|W4(Ww>~6!9}+*fQBrRU!rjj)pHYne+V~y zp*o*~D!YmQL<&ElJmvy)X_o9B|2pAsW*{N@skZjy7p9rdP-~yv9KR$s;THzios3-E zwT@qCS+4U7CLeAtpYdaH%or`LI>*TAhkX4D0GS81xF}w-anXH+I?ggX1(*!@9bmC` zPu}7EJneqIcE4D=XI_2}e|{eorIJU8Ngg2FNiSVuDL

YP(!FjdQ?kVr2cN~%I(n5&MOMG~+v$!0UZ#`+c0$9Jnj3G_tQPEk5{*D=V#OdG3bX?>i&*4g{32=t=tqB{1gJj~@+l}@~I7Q|tlfx`@ zWgmo-F#7c^>o^lYXA%EW*3l@N(u_iZyAcvvaM985NM8_xi3`J24}a`{i2jJ^00<+$ zd=LLm;jd4v@;#G1{4<$c@kS}@dZJo+POUP{e3mBR6PlBCzl^EXv+E4}j^7MN(Z;D( z&NtKP_o7$qcHbW#PUjMZVk$Ntd8Iq%Q7vwI6) z12_q=5Ky0jy$ScLaF2G&_BbH#Uk024xD~Jfa0eisu{8jq{S%vqOb2`y_cH*|cM(&r z?C;IOJ*OLI1BL+>0b=2h0eu!57Wf!m1jIrf!verUz=eP}11<)f2ejmU=w0cl9N9FXS`tpL0d5ZP{v27Cx`Fd*6waWKFi0J*d5 zN8g`=hAzp(SD?R?X2=;oaiZvL zC7j;l9Nr${<+oJ_+dGr|>Q0-`Jk8*+E}}dIg8i9eXvIHV@tl!keL04iZvy z!tT(jJ3w%3z8rGdc6+<@sx6JlSakb#^iif8c@P=hz}Ou1%#Yq!Zy&u4_mOxtH=njJ zc@WYT$7$q`e^k{bvoo1p%M4Q^^Qk@li}CN;;OUF`*gFK~G*ZBa5B~bsNf_cLV$-ON zh%Z9q7R+LVL5?N*9Va%%FugUrCZtb|KhJRsvio;Mu383vJ^zqMS88Ogqp|Ye=;|T) zW2<(a94<;E#INof)1t2`F5&w_qVjG+YSIih-hlKbsZMTk{W?nA%`gG-2aMi?L2d6e zv=L#ZZ=VDO$@zZIVfcP1 zMzvw~v{NeT?hgj7M}uXyr+r_siaqXh_a1k$&mK1q=!iht z!VJGt7}NSCuGP47$C+e0hNYvaPZS`-UV`g(_$LGE{xtQG2Xsn<=rRv~n)>K{Z^pw# zgznGN)JN}o4+l2N!{5`?2mM8Cdo!F(pK?qy<6Z_>?`n@QNG;Vn+<9_;McVl!tLOA~ zP7p@7YM4rs9f~4$Vdu7ToQg;EaVc|=jfhMg$G&?pOrDO$wOASo4eE@>LO74MW{XB9 z;P=-8A|hq>^H0=c=E(-YWI%+sF@Mos*v12H1Dpc59T4)L`)G=dsdfUc!Tm14X8_Tj zh^;?%1NMO!;XT_q-g5~J?|-M=zXkX@?vDVz0m$W7ZvuV|_!c0yw0;k;8{j*DEHB$g2`5c_+?RU>fNnBA%zs?{uh`eaJ03o5GDf<^695i`ZH}9bOrQwEJ_?d#NK1Qc zp?5qS#hHw>K+!)x&?_GHW=uxbKeF-8T?LWe@dS%7v^>$jD@eoxvUrLx&_L5AI+i6} zfTAQw0>bKH#%PovP?!$}_JlO&+XRZ9^YtKre(bX-qbNf{N0a<+tY*%$Qa%JFlR)c=pU`$q6vga`O^IvF<5xfW_s`WQi5mKQS>u z1g9ldS7C`o<;4K)D}7mFg~-fu<%17Ptkqp$y6F)vxfx5W=exP0A|}GQ)iTmf;ey`J z@GXTC9BZ&I%cNWs|3JvS`#5ZeW3BOJ>GT(bGhPJisR$9Q+4wdf+$RXLmK|+4)@EPv zZ3aEa0(pjuuDSG)pE~x$!uZQ%xaQ&uHli1VFb{$g=$MthzBdu^y?`*ETp@x9-td*a z3lLxYmDnPH!W@n~%q7MQwxxNdDGFM!MB@HJSfTk57x~s z{r=N+4IkT{IkJCEVdTvZ{O!DDTU#vKPIN-0IB(hZi?M8zGVi=)+j+~jU!rB3wQUwE z32ie+QEyjfA#IFMJ?@IIZMG~eq)^$dB(&`nEu`7?3S}8{PWE1{`U<=>L0BLrwC$y> z`Y!cSWv6v+rfF?Uvi>wu6ECtLu5E^L&Bv!oHm+?9*qS$}JXUs+t<7VZDf&Cx_B2u> zjpWWbkDI2(JHEE(aqHjE_B@uE(ndB=k0U+uBhFiBmI#jau%vd+C~1ZG17?&*gsN`* zfTpZxe1)n2=WNO<>(4n`tb06;^vE=yvwiv*BUJf(&erJX@Cv+CaxQd+ZLzIZ7P_sK zuJY~baaHa=q{*<%7gvm`Fn>ss;j?&&Dq%O1Vd|r(YU5r8>oG+|9hEPO;W=`6T-

aJN#j|K-6fu6%#4PMF029Ef4dHl4 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

1I$c-@H;_P)3-y9-O& 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�l0w@&_ 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¬p6S7&STZrqkQ1!cN`OqCAGyMG3zF*843g@^ zusNX8nki%nRnj6EXCOFS=s>R~riJrLq#<63G}tRMvmIWkM6o=P+mz8fVm#op2%+s1 z7N%zgE1RM)NHZ`zXI+(FCM;se)HBO8HaE$z-xK1LFzq3+6?b6DihSvr)BKs4QWn!o z%cf^rGM`O0ue{QYwFvI!@|JQOmyVT0?&_wNhVnLpHe4qj#;T&cv9YNQ78R$sv0woU zommMWvM$=y)Z(A2V+ zoK2ljO3dUTkM97=+p36ab2n8ZSdGs7Z7#2E;a(y2wJKWejo85#hhva$^#NSEWFEV{3ae%Tbk;+ZAmnmrV@~2&Q4Twh}~=?q>8T20o~a`;^SByx;@H z1pCkY?j&gw`apS{aLL0*EN+wJn+85&xMb+WIkLdFBFS`4n~|Dwm`0P(Ls1ew=-h%| zTF?jYrp^f1y@jS0tS|f^~iBUecZvgdhjz1gH?lA_XJJT!Z!?~gY282`+}nL@8F>H-=K^OhHCOH z20y;)r3P}~;?))l;P9~#P_&Jgucpbx$p9!QtCnzhi69QEA@M!UK!}mt6yff%6v#ck zIoeAW_5<|4__<^Y8a`{P(X)~qUENnz=RPTOON#CtdkAzO=%b(<`#%Osou@$ifc6k~W@%1kC1r8OYD>08b8&{wxAu|2SrmMaEK`{Z zrwo4Urn84xqq2uZRAm4&Zy(^2WH%|5J#Nc(sAbEC7?q(tzy)U%A7bn#IHSs8IVGr` znmXfP_q;Qs+8d+FDix$o)_Hq*nvL>9HSkL zU<~^@zMhcA#xR9w8oz(eZLTRdu=9p8#5h-{GsOd1KYmxzH=vcHwTN+Qu~Nmxn6BRa z)jAY3mS38Mib%zCYB5z}dAhEc`#*|F323d+QevE1%=_4wgS35n(VGtkv|iLwVw_s6 zKd~|WwS8mO;ds_GL-@Ov664g07p+8Xzjjz_LqKaJ$`TDRPA!(cK)fzJX4ss7)(ovh zj8khr(P9m!$&0^cXF%&5twoGeYkx>$V-CfY=Fnd8o`4oV+od7KsfA3nY0b}de;v@` zLoy99PA!Hlkn&q@t$HV*wZBeGVw_q`z1SEtUMpW(GC!bYeyu}{Q|kcHVti?OF1=__ zK#LE@G{iWySe9aA7;>6@+uyq;ptW3U5#!WKf+V1I$v)>D9?<%`)*{BK#nK*#SJBO9 z{Tk4EMQah`)MB}fRd1QW9e(w%XtFfe_)Rm!IJFKIEykDT;EQWM3TPb>tEC`LEtdA! z7*p%*^cPkJvCl>2i$7ttRN@Cc;&}@HV zKv}?@0__elPTx}?3G|-rPfa^DpmmnkBF3pTTC_~RmY#FwmjSK&wH7f>tudmNh$~Is z%Vyi!pU<=wF;1;iNCF}JWJIB@b|-Og1VfBdD-DvsH->*nXt*s9!UC;Dj8ki@L+kAi zSN;&tTB5axacZFhgJ0}NX#O>*^Syx9BU+0Xr`C8#0=>*rXU_N~p!Jp3BF3pT!J$=| zKH-ai)?pm6VG1oWo`ba zV-BVY%Kq*{f?glT9dUFF-|RXV9?^ogeLWcK5GJ6)mn=frXS5bEPOS{lO2CySW74x<1+;$ATEsZDG9d|!{aO!Og`%q38oVBi zr%UP;o>MCe(%2a7sL|t`2i66&yjqJGr&hLTnQeId^*e3tYJ=7y#;KJfT77V(+4AX| zM+N-4R%;RC)XIe)*{BKl`mRm zIlS`kEw(oNC>?NOoLU8#;H{#TH4z9_^}iG@CKy9ZK8o$td>NUYz;uFN3Ehr>9$A#6lsXAU7*LJwMlDduz4_g&a?|Hz%(sugL4M-V@ti z9y?vn@?_-ra*MJuvjbrBJ!6Rzn(HYpO!uXy=T7s4ec9|p=X(k>Gc)osycr%&_=kB3 z?Zjtza=f`&nYqPq-Nfq`!cJh8C$FH$mr;Z?vIEu2Vkb1+#d8o8eQ0&iAvQIYZ_lUI~q=q;X>;|Y0fAB^;6 zPRq;4^#ubbra6JR9&bTjab8Y-w#Rxao-#V{>OB~pmxt1yQH-);zNiMBoJH!sYDz^!&WS0NB2` zAQ+vCy#R6wGxCGbUBxid=S4ZSrJijug41cVG}DTGIo_g7yVK#L=tH1$3#Szp=LWE{ z{2!Sx4iWq!f5?0oD55wcRl=_b02JT$O5 z*;$@2D>#C&nT2_1FtdFY*0!=kVFP`p`4x=WX-@Oxq!(aIiee8IdQ2UQB?nW-S}(&} zr;b&tK%72$Jq6h)ZQiT`rNreSd)J!g@fPNypUW=rsD&d`sW@foSZnEs^4`%!qhZa+ zE-3J27kRj*Wa?NhDnY1ZRY`ED&?e;PXH4^Y0~GVpGqN)?ruhPjvO;AqifAmnMc$lDZ*H!~zCdN_*ucsa zXT;Db73HUAWfc_!DR9k3Xp}P0Oc$c>^5uDfmsKrDidwAC0a&uO)#-i##uI33@_oK8 z@KeWPA&gTe+ml&<>fz0{`Jq;xsenFByLkRQ@PRB zE?AW=Bgd1Oot0lySeWlo%a3$ETMLk!ADLZhi;ttCcqpKH>b3V0&G zz|dDbtvH;5UbN&?@p*ExbMx}2+5AwenH+wFYp}97kjpI0E$~=tnvel{ol~$Uxy5-| zS$TQW>{#SP8;Yb}0fmZ(B~Vkxp6XC7^yKCHa`W@@ay?iYrOR({wq^J{g*oZPg&Zu} zRz(Gx4J@0I=9KHE9L{H;RnIN(W@P7QI5n+Og0|PJSE?5Z`q)wlB`?(Xm9otjmIn=wrsS`)bHb>m$=v~?6sPZo{#`k*KCfqJZUk)*!mo*Ku%hC6kDfkAs5AeKB z!}$zP7rPvNvQQw_MQ|;)#S*aLTy*Lp3nEOouemv6H7x=hCjsU~fa6?oQv^81Z%G6= z&W+s=0gh7%4@Q7vd^bmc>j&JwBfxPc^VVRmKXjOD1a?XCfrkm9kg`l2n%UurmEPMkAe}?fFCOx1F2luU!lg6c4BQ$4 zj^$-z1US0)LIgOv_f-TqH*h~kfMa|Qxf~ap2^U}1qvQy1`vNy10vz8Zr$>O}TY&`; z;Mfm#M1W)YxHtk_B5+qnfMa~`hyXVRxO*bN(Y^O0z#R$P7ZKpto+e&_i_L_~U-r|3 zBfxPyG%f;MEpVA3xX}8>d|MZS3vJiDSDFY#!{J!p zQX;?|4cz1ia7^dw2yv%JfJ=gVmqvhNJz5h1j`{od2yh&4JRAXz_2{JtaP;^62yiSf z-$Z~r0Jz^Hz#Rx&->Y!3nQ-NR={F<-9P@WX1UQB-Jpvr-Z%G6=x>pe)t~~-A)A{@e za7@3eBE+qY0LS|Fa5!AhxMV7DPXp(=8Vn5ILd*D|vT9!Y{Nxf5;xa4-<0fEctW*+? zqr&YbH39PFz--Vs7w*Hk$4@du??q$RJ zZD596uW&4n;ljsp&UwHrSfy}Xg>O8p*8=md##!U0p!E9^xMOd?>hc@+?4E&m6arIt zlfv;iBV72BfSa-!r{LVYXZH$Wy#$zT8iyq;Vcny@2i=0-t$TLQ2kSgwuF<%z;=2pD zPl4IFM!83S!<84FHGkx7I9usF#Z3ja9x!b4mApZ*`aY=rJo1x zjaZKl>Hf86_xMfWjlkUekisQ_go|$y(xvucY^(OD!gZB?XTtgmU}_#yxUS;MQ%wF2 z%*h)RuB-S?hV`YuY}L4~;=2R5fluH_So~-#_k!wC?^qn*xDjo_lM2UvQOZFOj_J1p zn1N3#Tvzd(4BQ34JhesP4gm?5esht28=isPR)w>|7u23EhxK$|-qN@}UAXrt{GI+h zHokaKxyN)4SDxPot^=5PFDcw%UAV{9MN41CQM<1woRuy?;adXh8(+m3^)-d-s(s!G ze@_Bt${PyD@pQQG9SiwNV4l)Arc1c=`x5e9z^`4;8Mf{CFG@JpLnm-TS%1vAquG-UQ$d_zG>ucYAh^UsQb$%;5hj+<-3JllJs` zw5LBPTvzG$EZm#_Bhqk}!m*tU7rrYI-%EbR*>Aro+9N5DX6z=dY+~amBWr;Dy@i>#3rmOTj9d_G+DdGSC zrmOMGdRX5JOdZa)rs=A_6(GK=fcdz;!VLvBTzo%8d}rZ2Y|kKt>jzx8__EtL0B788 z<2ko5EcfBuyAsx?xnqp|hbWxYzJzJVYk*mMgu+?nGzhl=@i+*Bz}Jr4vwIxJrr?aq zS!7_WbO~~AIpTW(Fb9lKxUTB&U*N_g!2F_dUA0$vaApW9XWghEe}mfRdbqa=nBK=K zTvzS${jkmgW>?Cd-9t2tqem+YSTW)9gVlB?_@hMn`gV)Ot|M-wqx}X;8<_YivV{haMwqGqrVSEfa?$3wg_-6zn?~cV|slV z0gmIJA0ogpd@;xEJ)PMP91;O;AaL#oa4f%*Bfv4fQzO7J-|`~B(cg*)aLkYD2ylIY ztBU}~@#EqMaHD{`IszQa^X3R}Y(L+O5chcmxFg}-uMyx_KL&GKIe2sfa84A6%pW=&bLK?WBdG21UUBdA4Y(qzx(o3dYcKCeh0yRP=vU&2yiT? z1rgxbzRZsh*BSv1-GXs;1US~;b0WYE0&ZypIJQ@}M1bS?_OS?Xqk(%N0-PJT-4Wo1 z19v#qsn|`pa=>`xg~4Hg44bm=@N2;@&FIE1@fGFGwWIzwJH%gr{@l6AduF;XAA6zi zVUu@3*cKrjiY?%+y%-FA#va4SqZ_%we0a-7Y@UW)HG3tlLt7YY_?i}0wUo71wG@^w zs%^j_cB!!Hk7~4!k(FP9Z&hYzV(DpquD>KRy~vwilbigNwf3od)QHyz8} z42I>PsYp;U5{Qb1N-I)RGbO zdl0J_qtxfmO!s;-xUn1-Q5R3oFP-f#DxO}5Edz&YRBU)ue$k9{Z+@2Sus?>)P9RDQ zBX*vvX{r=kuhW*n)V7Dgi+d4}eT>ZF>DKH09WaT2Ax!SIoncXz#>17=FqL zpr!eR*&;avVXv$)!@Dmq?*NmPhn%#*%Zjjv;q;PpuiBFz`-t>TEJe}9mqpnQr?T?= zh1sQf#aYNzn?Cj`%${y((`h#fNoMx+QoR+WpNsMHi*kzbfNj&uE-EX8Vkt@%qx(9Z zZe))}f%~Qx&rmuH4hP2G;-Xys@U+@Hu^j@Wh96l-dvZDCHYt}tfSipa8@F(FEcZ54~Hty+ad6$B>#kLf2nx85o%@*VPmJ>i7z1z zeu+8iQ)%|BQVGmL#*8(e$DX#f;W4#$;wl6=Bfr>8P#%?VE0wVxAE_m3vB*8dp%5-n z(-;H{x9l-})McWybb5XU_Wg8bs(gBo9*E_EP__yP>vV4RbnG+JTTY-rd(+s2LmZfQ zxkx$doK`7LI?ow@ole|jk|mC%#P293M<9X9tehg|t8tLzoAG2Y+L(7GMWg*0#l_z2 z^di)h-ifaw^1h(#m(PW;d$2l1!t0~A48=eOu?Q=Lvn8Eo;7n=;WaElzp+BIXwJmAS?0rfNQ=JdGmE5gSZV z(@_RD9``rERaRdK>~?+Q$9j0W!@v$gb@8jXGq@Sv;tWX>RwGrKP%5ycYoH$S=ns~~ zJkgT6;?2%Y&zvn;__n>_P-g;X6l7`*|{QY$n_&BVi64VPeIqyLt zOMHs`*|XHiAWY>9GsUpb8mr%lW|lCoB=}O@(#vK^iToL5L7me|9Giw2surP<%FK{F z-(Lw>qgXxz$;f)g{9}GeDS!*Cs@Z7c@iipVV`hGlKsYd8SW#2nf=a_2WZI}4#ODtA zDhCXR6>nYsUo>GP^JGDZLCmos1|@F5oPDBh*&HF|FG> z@hP*g@H84T{I%<|!z zf$vBqJT8nh?WH%nXh!~YjFo1jO6?gSwTI({K(S+2#8IAI%^c$ygJId`Qfp@wu$FEJ35oH(wqrelhtA^ zvRSgWbha;BiudJkOBy9#G1}|d7@lV4WlOoCFBxSyD0PLBntz3^)LA@gR8_RmXO?$; z?omrsbwyKqqmr=&o7aegwi_$v5jRA~UUwN`qtBL){i4~E8;3*iJi=f#KN3u7%8_Q% zXG^ZJC}qvW&|iYgy;jYmo0!x0p?$X07jR2r7QcR0=E(?;gOp`>KcV_(>?B^qCkTH| zSy848&RA!*nyJL66vl{&Z1xi>eO2?%6tS9r-TE*jYv6%|U%phM3oH@4P^`7LDBb={ zZ$4tC`%m2!v)z{XnGJz$IM2?^4f~AQ7)#OqRx^81HOiDI&{?q0l{Djs8e?pP!K{p` zQ_f2-$&(sZsM~HIJ4rSn93x38k4qC5PGz8^k!xHNy8^j91u zW|fra)ZoDRyFk3X#pzjU_>2g%(r$G0sdCaf$5ZgbP~8&qgQHeQy=EKO3yV#3YGxK@ zVaM;BB1V!ygqt$jHuyxbFYekJq}s6a&A?9cWrY&21K0-0h@D*+E3-drZI&7bS2)0e z54;^rRn;CdRbP~*hYf`F6cMJ07EPuY{Y2V2`he1Lqir?UDuL3hvQ6|O02q&3zI%Pr z8_@S_;5&yqdD-cBCKg0Hd}+nj*vJ#+=z(TT;VUZu+dD^GZ4KU$u;-KaUY@%p``PdM z1065(%4)&NN;Bo*jP+py0v{MTRkk-v+{2uq#*ElcDy(#v=tA(|j0Y_>(q?sIyQDg3 zHDq)=De86}4?tPsHv_~*P#Q9RZOQy&OOqR}3o9whD4m|IDiZs3M9l1jIiBV4PaT8g zuUcdsOvg;*gAf|PhNebL1GLGYoT=Wfi*1%SS4I%yhuPXEHV@LG+WSkh0JDAPV~Y&R zX6yP{l3(caV%V!^6tEFo@5JfmxQovzWj=rI^kQ5wN0OP12F64(%Q?^DFDt=W2kFR{ z8JvmmP0udDU`9QdeHo~vJmMhGAhPXa3DeKY$P$#(vP>C=j7A-_T3oBamN9-06d}im zP!}<2OT*M%>7I(iMMqi{4r9cFOw=%`L|L6RSTufv_CORO|V*gH3h=#hoX^(BrfxoN`TvOU&hfi zi%htK0_CK@xtPP{#9~6sj!BzNx?yu$&DF!luKaA*&G)FSw-RD*IlI0xv3G6XSI57Z z)NtkI8?cN?@Gq{pWYf62`<~Ok>G`wUht1oBC66NiUDx0%F2_OWQu)jYsHL}vy!gQLYqlP^_=^KKCXTGS z@ahqGB`@-+4HrN2&Z19@hrO>>zIaP7yu0nW58eMUE&apZbv;Xd`&;Zk7aHGOgRRg+ ze(14l=S}W)NXiuzC)7`Eyaw-FXNx>{_w0|c#8KqUZyn|Pd}!IK6Mr7$ zyZwc;bMOip^VSJ5b4nJz;My=V<8=S#XFIQW`)v#tMSjgQ)6U+sXimvfJ)V#6f299= zEFBd2m$&c#q}LVeJ2J6g(YlVsuVUGa$fvIQWor2oqhEgX`%!mZ-#-qS5{F_I?qtVw zk?%P6w`1y`nZLPt%pVJfy_kAFHqsaQtm-Q+Z~5pp_qav*r?1}eLlHKp7Wvmx7p|Rj z+bd(9@?2TC^s@8*z*2LhQ9{gRU;O>iFXGo+`phY%Z>?)QWIC1$i9Ga#$a6#t^(*>>$!;|A@{ z8gSg^hBpSGBYa2X1Ba|yl=A&i4?aD}zxwoFZ@&Xer+d-;b9O&oS;M`Bw?|)nq{1y3+E581!X1i~Q;P(+eigz2e39&pPe8qUAq*iC3C-XNyRrk zarerSTULLV^Cr3vkw1IqMPD@kdudw1gpK2GDTu-HqjN?6yC z4c8*SL_WEu`RMA`hOSyW?yQyjjVgJ~Fn$sF#a~@nwr|DuKa!qb{?2}%79yP|;(cnk zlQ`=|9(oezZ6eSAq@t#zc>3I`g>%Qve1Fh6hVh-qzd9!-`Jw8U#~*!l?R%piTyYDQ zD`8zsLQLpMnUx~H;?=yCCvUuWZRQV4CuS_kME$)=zu?{66X1~Yx`{eWWi!Z$0w{c`_TOTwsxgzg- zL*B&e`W?5k=FZ&ND~r};V@b5gm;H5PN@?DIo;q(}!gUp^-$6ZkSmb}7abN$J?-)|Q z*z^6WljG002}|xpzVh7c3ooqR^y+)R?|5?LyeFPSx}mKMcamtG$dBrI$ydGixgllk z;EK9i|B>e~k{%4|T}^OnfJyDOt^>OE&{ ztWEBjR`#z0?!fX}ya!K+nf&7Ni>{k^_(i2ji&mdLeQZ6-v&erO_)*@XI`>sK-u2%z zZ|OhnCwv+#@04{Jt$qnhdPROxuP3fM^_X7GpZ~2Q^`Qw_ zf5VwxA`d+o_XClyeBWKawLanPeI~XZv}NcOOR$+ey6%LSyKnsWcLPtI{^O{t&x!f; z@p#nV9FdPoIqlwGuFie`!zC;3o87Cv1O0-?>+8Pnb@6pW&iJY+w&aA@4n%rBAo7R$ zc&>l;puW%b8~n)8Ur(BInqhn*@@LO<&3D~=&F8bPy=UoP?|ESsJ}W?*i2iZc(8o&Z z3x3+V=s?#8`#rc310RvEUL61G$8U6O9JlMp{riQ`ne?I>4!IzwM?N9feF?H$qbzgjn^c4AM_qk^- z+0vT5^18X#7o_$>IsZoFp(pho(U0!CjGogEy|MY(Gt=h0nLf4eeHfpKJoH52b40%S z`(2O4y)kh5%4`2|??;I}kuMuW{^rl$ef-{wcO201^}`pQF;-SyVXT=D6M6#i5Rng> z{8;CQbG~uU+d5|DjEmb&#^bQaLr?s@K;*@bS5;kl^(UwFSmPgg`P{pXzo)^D8=hYu}9N_!$)%X6{^U`r}U*!FUY(8$E%Z8tJZfV~Q=bXAT z4WFT49Z*8d4U?*7ef~m1LF)5&+`H=OeyHz9i9GaV;yjU$dF-g!s|F<9S@-y1Ib*&k z{S{~Ki9Gbg;+sT%?I&+Ou=%tzCj7GW_8Z=MZ&yA(trGchyIvgm-26{IdMssRue2*q zM>*La(;5jef8BW7r7vIb`+fa>7_fa+b>k4$U{#`9)vQT5cB8}1DD^1~ zTjph`7b4&BukJn-~vZ{Zc|q=n33&MgGjbr@im#^+=yd6D#Ju z;^Ov;YeZgn)7ZD4dAHa0>n>S4XV~#0o-&M&ME+1`)$%h3T+;jP9XH-{;?i56#!?)V zm4uj^Zh88{#edCNZzEcoYF^KYI^!0gEf2|;aReYbr;*>0_>Xm6=)TRgA4HIV*YL}YR6 z98M^;MiCeI)M&<|yXnACF2*T#)lJdW1L&j1;|*AATMeo*rkABUb)%fw4~>r^^r%eO zdYL^-jxN^_hFTWcZl~5F%#(I6rJ7HvXdT}@ z6|Bzao`QNQ#*){Kngb<2wxWYl6!k{;$x$flq6!C){?+9Twe^dmccr!Rl*-Ce7VNnf zP_Ow_;)HKLs}@x>v)V+F5N7k`D30C8h4v^1AM>gjqA9;s{-)M3Dk-|zKwz{KO;3rM zrkeKVrl$J(s`=#=tg@=!MVH(h8p4V0MM7Q+bW^2qW)4eIEMZ>Lg zs?-`A5e0nf=0FOaWla^3_Go%tB&vRTs%q5J58(q?U)zAG-zWkIA2@?q*<9Nk7~6*Tqjh037K67{ zkBV}#Zei2HacNPP4g|EeA)3}pXMr9_r$v`Wfd{ld69Kgay(()_^xo|IS&C3C!sk#0 zE6$z(7y$2mbnl!?XLr0Hbx)2~w6tN6yVt(U>1_1R%18xH_ePhG?QOO7Rt|QVj;-bO z(K(Msg1fO-wM3W4x~QrERv?M?Sm$An+3yxC;$9qefYmdKPR}mWV*#Qh85~8St&H-S zTc-tb8)Md{Kk-VdLR=%h7149YZjURk1}-5=66DLiH!KQRPn*RyJ_R}oo~;QOH4jn?vdhHcePXghuR3t7;$dG|0FOW z&RLNiJ?8(H2kk|D zSVUXj_v)aP&Q|7jw`fJ-MIfD{tsvUdXv;>Bx|IljHsj3jggR(NIqIf6G|Z}O{13w% z~pX3jN9IVX0f$W|fuhMo^anv$qI!5E7LLf3`Gt#|tZ+ z|77_d7i~#Z$zrKni7?)bMRe)B2M4VvkB_z$)7hj4kd}MVCc$2ugZnCx{^XF=teGL< z4fOyL-QSo>-OU9Rr>GwXgVe1MM*Xn2R|lBbajg{DgPMyowt=e>*(;ihGrj^>E3)r27iY}DclP+~7w+*3eR6TeVsNjC>`cwY z8Qd=Xb&+wSd2(^aUEtmj+1;9pGoAv6&z|5O4>}+hXB>-f=id@ps^;R1LU8Yh?0C(^ z85e+iUt||+F3wmBZXjHWH`Zw`PL8n1G5Ym8>;0OgM}2>5&Yfo*vgXWhwtYgE_V|Ln zt)Us;{y9$^syVew5c1cEKrKr?5@2^?e0-tacX;QOO;k~%j+U#Q-$NI@&0^4E#AnrYKzJ$ zSt_9K)Pfo}P8oOe)qt#GSTzAa#V zQ`0H!&2GI(si_{MYN4@2Y|qZBUH9Boix_MjQm0G>R9m$-p3>N~un~o#foF6Zwo|;_ zvRhMaTTO$z5t~QZZJJd+Ic4qh>Jd9e)>1U^Y6&fjN-var%j^y^mcJ?=RJKwWjxIxkm`YKkvh#o&umF=uOP671$-FfJ}RrI@4_AiYWt8Ijo^Z2pW!PK>W5n3I4167Hd?ehJxPB_!DqO!1ZVj$q z3%3qeb|^06eq6s7?h#yn5^giDzX-P#*WZPE1y}A+<1%)D;fY%=<3rjA_a(S}g`-=2 zg!>H~Pd0NIJZ^?(QnODf9k@xt-4AYxaF2lV2)7wrrf^%qvOddX(@CIlvJ$*vx4XD!*~ zX=_=stEH{lC%P9Qlyz}RTRd5^IU&fOk(NITO@E-3ru6IfG5rYd@%r8!DE)ob_aN!H zJ{II6Z*tP{b!bL>yBGA>-Oqr5kM-fAIM(vI!t@$ZR63#IN2pSQLNzdasOpT}ZOH@c z_QBO{g&-|l2qs%0sJ4Yb;{4figk0s*lFdDkl?ezyg0F;8+r6L<+#Y7RJvf}(S(e*P zU)<7Jnw*gOYmDI7o+}w!#Ts#C893IcB;z`8`GWf=xYNXT z6S&vKb_+PA%XUt=$APeteE?3m$Kkkgk1geS;>sW3{t#DiB$f7qhY5U!pUcR>wHyeS zQ4CJGTx!Wq2B%!E0jFF(72Lb{xr~LlUL$@i0jENG5xDC`b|pCF@15XO+#UzV_Qhpv z!L?lceF>cM_ccql6P)t*b8yPv|A0FZE+-kkgL@OdB;!!re*w;AB!ep#_eO$K?v1fz zlffzXR)C|MF5^0IDpWT^k9Ex6di1agUvpiPz4h1xW$hFD0_9U*OUBk-`E&$074r2- zV5LroPtyJ+pj`GZDeJ6H9yX)1Ejh(%`w~z$1X}|oN1Hc8#GP-j&HH!z)NrA$u|i!{ z*Juy5YVs1SBA=w2yqLBstD)$>mxiv%a(t2LIBIlqP?O?DlM?D%O}nYgny4az#=8$1 z@30YBV8ZLtO}|v*9qKeHbf46hmpyaVq3lOST$FEI&|}gu&t@#o8oe8K3CF#3#@BuX zw2yBFnw}UmKCQj2hUe69sd$#e+ma6B&2Wvm0Is`@{`DcwiGDfc#7vaR5hdkn8~Zzs4* z#FbCLsm9?~aLNx3(3A!TW6$B2WVmrH2f}3x2dDht>1;|i0i4pv0H^$z0ZzHc2Iy1# zT*eK!mWwO5gHx_>ra{Rb0H<7G^Q2s1^Q0QN7r?1T?k#XC=4`@LBge)^#p64099SjE zeu63lJkWI-eo4jvT$L?nE|l#IRp(hCtP0V4*^g~U?_Qt_C_73$1n6`v+tAj_rwXB2 z!g>H8V1Gqf4U!^luKvK~$djwTOlxl*Ml`idi$o3a;C8*K8-Kuz1 zbuCu&mAb)yG6!svt=7x4X~`MMrAcjJ9l6VLuvBQ-rbaKet6)Cg2vxX}H> za=60ga8R?5Wj3O4-0Nr-mTVpvE+%zGi43&*TWwOtmLCEz=(BuR&o+=j$G~)K|cukQ7{yOBY`*wf`ceXhF~ZJ2Sac$ z1xG-T3_*Vg`cp6jf+HX}1cE~-7!1J>2nIkffC4uJgCRH+fR4lDg>h$iLr>p2o;IH1R~KMZw;|icLR}BH_WU!z1gy;Qia-+*ZDN6k*x}a z>t2Q+K~(oL0-Wkz_`G>JN|;NYGKYanl8)vL$X(LW{EC8*WE_wCa*>^Yt7>HZmaG<> zYGgTYp&Hrqz^SJ2Y72K0IHk+k0Oj7_!71JK;FRuj;FRvi;M7?58*oZv7dYh#X9tw5 zSB&XOA~@yB0C1|AXGf!&`4Qk$Gmj%Gbu-WLvTEji;FP}=;M7>Q9$Y#6aT)F4l)tB0 zvZdfu=viTuzpO%PEXzu#MzCyp74B7VLnWQr^eWsZ;J(K%$@mf17lr%X;+_F|o5(Ik z{Z`!d;C>LZb+3Bc0;P9bf+6qy6lF2kr-?NXPO>ho-uDg zkqE}KwtFZTEGMR+J%=Txq5bpb4Jh4v!FEsk7j5^{-)6g~{Y$oc>c4Eer~USzdp^IJ zhVH#;-hdJxZ0P1v{M4-6`NHvW;sW9NuB=%uV*;+%3YUfJ zD&g{QWo=V)cDD#O3)kC(tHgD!a5cEzC0rY>tcxz0_2cjlvsAd=FWhom|0&#+xIQG@ zHMnwc=rY#ex7PIBRnDE%G7rmui(mbbs2Bq$`o@M^|d(N zi|;2|4KG;Cb=S-5irVVh3cPq}#j6JWszOcd3)b+eNq)?*yYa1Jb35MCzzI{wkdN*C z^;HY1>J^W-3E3?fts56`leL^%Luu(fXUg~j`tib zi${!^;&^v7!kspyx*b_5A7LVkMz|+T@nsk4+#2B?J#NaZS+hpCQ^!mJWC35X@l6Nc zDqKcM4M!0n@ zx`!0b9-{Hp_2u(hjm$vV(h4F+Nx)|}YWpfBw@sNMwas@>fq7J%yJHFEKs27|fU}kS zIdTw#J|u0rH*j29QTEKhO$m_9!2p;C`D7JKfm1L#hN2m`@j34t+5}69ke%zr_xz&# zQl;$W`Aj^<4M$+%cswoS0UJ1nW`^Zzu@6U_s8f){0aeQKXW+z)Or>KFUd6Ublro~0~q$Tr7W4S&l$&bdU}9Q zp26l#Kc{qliviR?-%RzSVm@T`KiR+OP++b?bM3;3DTeVf8tNqDSa7ci$49VNgzEwB z2mC7WGtE@Z^wu=m;={i^(rLw;f&oj7;dN_ciBXE{Ld?FD%+ormy zrJ=kHoo#WV@gK-i@G}klT@8;hxR4%+^6z4e4$|*I8J-_OITjd(^z3D@haeX(y%M=N zW0xi4I~pZZxzYJ8o{tYQbEd}(>-iBg%qMU96llY=?0xcQyoG~C0xn626W)#p$J|U5 zZYa3@g*(QQrGewfDoOHyxtWEZX(pJArp!%%1xw0l8M|qQy_uWLEsl-H8M%(!qMOuB z#c%3xT$Itr$naZR*@7q}&zM8nAkQR2BuDa0DJb1$j<`T4Yx#tIj1KyT)aYR8@_;6T zP64I&e*u-SfHJ50B87TMpHD8{I77?gj7KyVFMT_0E@O1%qiCvs|0ym{~zXER*^c{L+FdhN&|GcITNlII(B? zbev0qBk0sC^5Dt=uxSbs@sdwfjyA~5MG968p-^o`ixWBG6PbKcX*f=xfPp0jJ55&E zvdjaKX&9`UUaA7KFw$UP)j_%*bYIYafgT8oVO9s@@-Qg<;$uTEc|k`m-k76haq==$ z$yiOuh0UrZQ(%iA4yz&YJ&mHHj8rZWs_7iL$K1hQvalbtEAeyTL^HJ%M~zjLj8WZ< zGLR(oW*|5QP4$F`D}8!&#c40K|g4&Le`LCBraLE5|mko@p#8T&{d$LL2m%1&TXK~$|J0-B&V{H zT%565+s4bNTFG?2wT}$WqTqXEnaWfowy_EB>FnXljQ8<#$?I&D0n9uUQe+Q1B9%RE zaLRTlIAuEuOeKDJDU54yMvaHeZh|w4u1yKbC{t$~?3Ot*s=cvWS%nI#TE>v3k$y0< z>`miZBtFE(ouI5|c<|{s1auuJ>)E}a4AcFf%p|^cQuU3T$|Q1ek~K;OHw71G=tphL zm-ex`Db7Rf1j0T^x@2>2il2eFuD1jEAViX*4(aN!Qa&OEW7`&mNUB35r6H1x5J^gi zWKf7iO>67<=+q5rPPz)Aa>?R}1EgeeGN4vu$+#XUGUm)c;c~%^2j?;h!5u8Jlfdz8 z9xOKi*I#6<;Lxo>wiw(&B3lOTE&NJJmyySN`GxR1acA~Nt`VI(7mKDt9YEQza}Y_-MSw9x|&BG|C4JgQ|0R_1@dHh$hEgBbRtY@G3 zDSo!)BV0a^gwc8rDRj0u_XNkBJLWxyao&BasI#|XWeU#UDd5yA z9u`J5_m>S$&6zQCf}1%OP=?gZIA$yxP~NjhoQGd(P{vV*nB(xfHjr@@SVrT=+P=VO zgbs%>(-M(plM;W!dWe3=AamG01W@S8pyXTFt%Ex5(Xr{=Wxr(~$ubALN3<$OCxKHrng_1y9QDE0p76mrx)Ao`gL0HQjMZQ8yCyV8>&vleHMe?^ z(S_Y{;7t>fs}mC?p>aALuv}tC|Ruo0i<8yQWeCRz|{zDE;#iTybYYfods^H=(0IcZ)>jsr*s+3a{OGzUvX7WQ|!}}49^VO zY&QU**hEt+~%*A z$vi&d(RfaJ@F|XH9_&m<<+1Kdw6a4Wti=2;n&F9w93;{_4;1fP)U9>@ ztiE?t=;c~S!nm+PbK2qzE#Hi$cM$k3pd&zW0$)cu=o_HNgQC)Oa4hu#D0N;0Jr{Hv z=tZC}fnEkm{Ay5Cfer@b70~~Jz6Q#)qdgmjOq4V=MMF+a(U6NXxRgxE4%S?pafBs1 z%95p8vhkM8YsvUBO}Te7d^1WO#=Ws**Y5UFa_^i(sG$or#MRZ+RazA`b;F69%4YgF z9{7}&7&~|Fs#A^8k_~Q!>->~rydCX10U5Pq*M5D^=jd~H@-nKFnXgcLcfO%k=3qLh zbCdt16F1cbEc=95!q0)0Zm6|o73yqfZW1OR_cbHYgDy$v!MIoCCP_5SP$dL~32kNn z&fI}ZpKI$gbocH*cJIe7;fpx%zmtzKj#ug{a+RBS*&XZx*9T~jdbuBpv4Ug*b9+b# zF^JlOYq`BODA-Fl*WZj#nDjt^%2wniYh|7IjOaz_$gX`B9#FQT*zL5fS!9)mmbywa zY-ov@Z85tSa<)l#4hVBd=5hTUyi9O98m`=(Z~3#pUhe)Klnj@$C`Du7yngA9&Rw_F zY{gXj&3>aCKec8@^$Z-!sP;PtoEs%MNfv5938#`|QTBG>_$RtY&PIr#zEjz4|g~?(cU!oP;1-H4`%Ps_-&F|s3VkeW zlVrV>oXWQc!6{cZgDb%gFFbKA6>cl8vxM7*E69{pI`3d5dBO3@bnvURd`yhdLA!CFbPYXt$0X1Rpi@AxAg03uItjEG^f=H; z(8-`@g8l_`1!yPe<)9aWt^}nXN4*)Kw`+Tjb7_CSwtoN=i`zS%)b=lE`|aBP70?3M z?*yg$pMg^UYf!q+5pNObkDzF~Wc~u=^21>mnL8*5PDD_5wmVu^#&IC;d zMT^&w33>u(A?O@XKPdHUK&jsVO8rLAxu7keXdgS4fD#9c;4T9tj`gAn^m@>0(7%Ba z_aG?U<5-HgM?mX9H-Mf3`Z6eS{{|&)Cn$06fi{7DtL=Z*_8j%oem7_fE_&<^J~7~H;Ep0KF9tmu_Z6UYw;q&w><#E{3n^w&dcBk>J?&#v7wG7st{pEp9x^ zt#EPj(FNPyc%uX|a&gRkY5n7kO3lR?r-EZY5HCy2$i*4wLdG5;-Z)QlaRy5TdxUu7 zYR$#TdFXRQb~|L`@O?Kp_5<+-%L}Sk{eFR!}E#YsQNREw7x zSCxKz&hM?>rJFO;Sli#0-!575-vI3o`W7gMlm7-C2D$_ESkSjYCxE^K$}am|&^*wcpv9o?fzASbAC&R=0F>2< zRa#Bsl2g;T_;dh6yrmbz z5n6m(GP91W=LhOaZiYO#NPcY<$@z8FR*_UwnCcN3j&%J|5Z^-R?-=Y8o%n!* z>mvHm!{D~knqhQfI$}kR`mkfg$qDvl+~L0xVuAeziRLm`dQ?*>6*-17R%KP3c~wQc z+LAScQ$_qVaH@zi!`>BLj>gn1;Z@*Xhb&1ZiPbD2$6{)hkaLY{Ztxj!?~Cqh;8YX+ zF1Qy&mv4y_junEHXDNQBi3Ns+V@DcR9ychl2jTZVeysDR{lQ1FpwJfY?C{%xpWS{2 z?0f1NM>p&kBD?(^u(v;Z{0DczO9&VyH{>7ScUPFo*@`Jf?spM(mQflnD8lSzmN7vO z&$)P{S==(0lMI2ftk)!jF>k}KqNb|i6r@9ZqB#>;!$6=9nV47zdzz>9ROC78R^BDh z{%L(bYp{N|AaBY$w3LK#X2Y=`c=|^32`Vh};8V~v(9b~Gd3*`VIc(II4*K*B=-)uU z1-%#aXV51={{#9w==Y$nfc^mbHt3I_Ok3iZTxlrBYRpDXjoHY>aWpNq@y5xTi{nUF z%Ni}&X_o9POLnCtyT+2O?+x!h#Sic4F`I}H4c{>K=GQa{zCiP_E2ga%US?xLaT8mb z-fUzN9E}VrGG?3{;}}(!XQCFP0*fEeUk|Sh|B2$13#@uC$sXE+2qqa!PF0QB@~UcF z22NF?lfkJXAPt8&FGZOOFLX0oQVqhV>I;XO-3C4Rx< z9aD#6sue+{0mn$SwKOf>%Xr5*wZXh()6LRp8v4PUWH?4>;g@(UB>NTUIMA;_8HR5_ znKKiR8fq*;PK`y#sl`1?wpQa*w-a3VUW$b^j9FZRJFt6T@3Gmt5Hx!S_SYc$Y}ng7 zur)#USHs@)jj4Ssa&cVH=#pV_!|qYgD}z(JwcKCX6Y_nFRR2m1vk zuFO>jOy=DvTWV7#%yk7OoAfI(wKlRa37FP$0c_CqQFebi02*5$co>~l1;T?v-UYN- zgIdiOZ6E6J-K~4K{)jRSU#zir!yJm3d$m31Luek*_y0sP(EJnk))UqQ4Wb3pizO!+ z{0J>y8EbU7aeotN3h2$CEIGG=dO>dk^?~Ap)(#G%?f^X-^i9xs1$rN7J}BLp1&Y9ToC1okLp!bl#rItu*MU9+dK2j5 zpihBr0Nnxl1SltZHiCW(x)~Iu-*^&~--!2)83>VAE>G-KOjht%J$i>N2iVrTv8~eZ?a&fYcgu6yFx=G!W@VhEZjqAo-fLUKyvIoLB8kSt%bJS16aUAbCDx>+%Ub6F)Os)(U zOE$+IW*fW%ImocS1IixZUC>O>|3}-KfJa$f|Kslv3?YC7jT$S}5rd*40wI71W|Emn zGRe$jBm`WLAtZq$gd}ERag8DhMBK1y-BGMd>(a%wwo-AgZMD{Fi(2c_VsWbrxV8L0 zpL_0omwAKs`+J`M&67FjJ@=fu-*fLh_rCXi6OhxozXLKKZvnEV&%wXg0EmeVfLN}@ zb}h868p~Dha|w;DT=@QG^Sy1;zOZTE*fe!n#&E9d^5^xRR=9KPpq}ZNr;V0vxc)CN zp<1)M=K%L=&ulp6?but5>Shv`gPq0E{iTC(vd+i5<0g*5dWz^_D)^t6c5WTqGYW5^GeG_F3FePGw+3+)fStkA+&ZLn zq9hUsuEX%mFn4av>B+UFbL?dCrkkxC(ZlF#`Rc|0-vY~4@2|X!s?N8H;VW~>5@5eq zzENP}y9n4`O12Z&i^_Mo?YkP-pA?NtLy`C)uv{f^E3n}Ty93xOitiqq@7KVFD&J>p zzTW}+tKwq|k?`IFHbU`z4XjjQLy+<^g;76B>W=_+sG>~-HdtY%k8g&gaWmmdXGS#k zapL5q*NhB*ZfOluzG@1@?F;3MJh!xR_567Vd?si3AAc}MZQTAZNu>q6u$KaAj{)#fEeekzXKiy_!c0Q)!TraF~0*y{qrv134s3q zj03(0SPS?sz@>mY0BKWtAMk9z4*<^x{1EUmz>ffL2mBcDe!zbNJ`eZ_;9mhh1EjY3 z9PnenU4Yd8Ujpt1{0eXw^7A#|{(#>A9s;-Z3Y46vvfV3k>O7AHwXVn2PmEh&A5wt$&{`eh;L}b`Z{?ciQKT|k-C8F-Z478~ zyo@Uw!ODO=ruZs>3EzppxUrILaZC`}LSRoS+G3kVjUj!L^(ELqJ#sC4=~$X{nWOH7 zLbmG4j_R!lxYmsFt}zVUGU}-YmCarEf{q}B|F@4T7`7`uEGUYF!t8}X1owcheM|fMr*)#VB zJc|UlpP(f(&G!Hf1-uvVAi&=MvIqYR@NmGN19JNC3qbbF2La=N4+EYG_)EZcz+VHd z0DKIPbE++X7XUImrjZ(2dImA+8N_m}{g8|XMLSSqvhgK+ji3qNLqPg(=Z=*<`xI?CjpMw1E;G2bb}nqaCu(b} zy5!_VgxSv)Wa+!)nu(iE!?UV+>a6O#-7oQtj1BPg98E1yNyC&uy*mmsQR^_xdNEj~ zlg@Q|GWu~0m(vyW|89L?#-QHsU9hERpY^4I8D)Xqy;uKc(CWtrU9hG1ouVx}_Bv?G z>SqE)+tzHU8+oO?*a#!=nr$Q3`~cxfiu>Cz6N3KG*Sn}&Th`3P`iKT%U*1*mWo)zj zPe)+w`wvkV-una1bSn5>FJe{qi)5B~t2G<1*bKousWo5<9yhg|=BgCVJ~L0`bM_%- z;W}Vgk3-Wm0sB;8rvrNiZ3j2d0Ta8}HNeDd&5ZsQeEDhyDmv_G&_w%W!$+_KfJu0V z1CuyPfl0hL8lWv7+?W+3IkkB`Ldv!l0h8F;fPI7ie6=wvM)EW9e2q#UTcQ}rxos~- z@@s&Jk^Dwrk`}I5BwkwdKE{8x^;erVkjA7*osPYXjvA9an7o7!!#@aU{3|%{>N!jj z7?;ICK;wU*^3MT9ZvRYY_`jn3g*yeF(=z;L6jIXBm^<;5`SK;x%(U?c!sZN($$PP# zIZO~-#z~m!DZ}oNsVPTjD?_`8vMI%8m94bpvu@ElG2kPy``^G!|6InYluJ;b>L@CfG;fTsW=0Bb%V%eNYk znl=vD377=@Jzx#s9|2Q<0fajTa0Fl-Am=KS8xKgiX@Chp&Sx1eEe8zeF2K2f_i6fL zfR%V=y^xQE#^W2JxrvG9CYH-XG0JzCHCto3$^b8X>>0w>Zu527G#cQA?|hqfiA}r0 zrm<%T-z_%nA)EH7O{?XEXn4`KdHv08tlkFRp|+fNDN;ciMU~(G zDs)X2)Hoc*UNtsm_x^BHjM`SPs*4j8yV`l_5P;O z(%tN97~nJxi&nD+b-kQO+kT~C0c0GkX3iuyTctx+>m&ROa3tX8fcpXN1Z0=p1;{jg z0my3Np25!M|~Ap>*`4W6`r_`Ak@Ze>&qouvxN#b#6O`Nm)+x@5rng98XFQ)N4%ykinbP zW(2+hU69=DmMl#=W0pKX9&NK^p?>z5B~Q{s0;Y@ANevVy0q$q$O-$?00jX*32ZYta zdH|5E@Ik=C03QN83h-e-=IaqaCTP5>-jx~?GbL$arX)5@T}maiKiGUPX)M>G;XwG_ zwrOA3v~O(MT#h4oxChfL?0HE!+sZ;L?w9Mu{Zwa3pcePv!|Hth-OCFwYSq<3vT!@X z!vU%M{x8f3G#KO2P_r<>O2D(4=iGa%`WXQ^v5*CU$?TWyU9bvZGFZ(9Ce1BvV{JCZ zT4od6jDO?K)d;JFj!h8dW;emJ71bGd*aQQ*L6VQ_Lpme><#^}mAfTu45zhEmswTEo{~d`eIEy2hEe|J0Ea=z}0{pl-2;UpIity8So;&8G!2nQ-GHMo(y;?;Aw!D z0WJo-9IzGe3P27@8v(i3d?nx+`k7_HXO=9dCNek?lfj9Yyx_%G9fny4px+V8Ro^ub zz7%M}_fP?X*^YnL`aB=+)&!Ngetgk3b-Vxg<_6@vnQX0jFk{P$Nl>DZxpi#rAdOeP z#%vu_>;7F8sQ5t^4p`)mjJ{f{ct>xj80;L?>e<9FGnTcjc3ewZm&nkFt|YTI`>0mX z^=9Wdq1u=Ak2c8|%rjf+YXSN8inU-X(miuSMNVoijCB$!5^(N7De16Na{B*cN-(CI zNWLRcxJ0%8>2)iHKRtv+;<@0yKpl0=Tx7F9$Rc(+Fj+EJ1A7mZoo$^6OqSLwfpOC? zTg^S|@szEuACyJ$rFa(F4}nQ|w*r$z@lSxsqWEXPWKsNUV6Py&eD$KZEQ+adWl{Vp zFi}kJ1CvGZAaHZL64Mv_)`OmHY>aFcp}jU?wn00S{J43T6Y7 z6r2o9Qm_P=jLyq|Nm|YWCTY3J#s*T7x5Jl?OFcR&Nsde8Wyd}r{_HWv|6cU+p;}2& z338Bg`+o@k9IX<^z<*_if5})XS$1WKXL*MIE%0|Q%MXQr=J5-rnQ2@Hc-sI<(&$H~ z%Q%;Q%vh9vhpy!1Nz~w6qw}skb+nB{=0Tm$F=yw@@iu0=Q=QS_nE)0XDM(Z|?l4p{ zj^%i!GY8!6l1F=mjuKMtKbWO(hB8Gzn-x4>qfqXoL(K|aoq)STsOpzxMCHvn$Mu@N z5K8nA;EMo{0ECKD#?mIhlkmJ4uo18Yun!PwsgFrp3drg9D!{)1o&oqS;F*A*0k#9? zB0eaOJ|?vja3SF7fJ*@>*8@noGXN>a(&NA`%AA-eb7HyH_rTStXa{R7SJk%gZ2(R9 zeyFiw>c(`T-D%VAw)q~mX}_{*&)T%#*|c|T+IE|!6#I50*EL}9V=#sI?nzE<-P{w4 zKHvZW%Jiabb#<-Tb-O#cOFOP;r>$#SH&H%A>n}nE)fm#++uFS+tzYQU`r|XTK2G)d zz6>+3d5H-Z165EZT<;N&ykJe1x_G-F#g|E8T5ipTy6$woE^z8V>0D;QYwg){I`?dJ z#X;itrXk+GlI)(sfx_>x!|#4C3yl30gJ)S#BO@;u0-ssdW}?)Mv)GYFuK798{)(Jg zk=oixJ%`!jqn(20+wB0)c<+71JbXh3->x0~o9$VsnS3b}OmhdX**WrpcCaf74m)Zn zJ6!9^HD_}8I=trb?8pnaC4Jn2ypb2oP)PpB3wV&8hV~-?5kp?xi7E*7s=&w#_60So z4QBqid9zz_-FS50^$BZj6t|E^_gS03Ltt$*fQM0Q6Z@=B3|boHnI2mME2TfHXeqrO^jHd7_v4x1P{a3 zCWfz12JS0;2-s_*F;QF_(`C#M)L2%4%?J-mT;YB;&n+DPV74>@*PcwT)>#EjnRcIVmMk*YC}bSYInD^5mjJ46A`Q~5wm6Klt|A$wNMHw z8gLhF+cCcAgH6nJhCX=H&PA!KpW%qePHa83 zaKMSwEJXfKR0+PO1FRnZ_?ixWWqLBlrY!&_(-W4iOixY+Cest{WythoH87c;Yyc+H zlPiJA^yGG6G8K6Mn1uHjFqyz{Ad$3u2u#wl3z(#Z%T%FpA4FvHfJs^o1SV-Y1em1d zXke0-VqlUMPNXC)NnrH|6Z^oxB#!wuZ80#3V-v75P#@VA2N4PHLEHCFz;@w3UrqA< zpfDOp1%t&#V~kU1R1-7tpRZ1f z0h9F21t#fR2uxDn0&J|}>juW&k!_s;Ov>O2U?O`XFp<3jn8@M;pO*b4u(Oryd)J&sI zYX>IjTM0~Re+@91>|PD*uPWrtz+fRmIb#P{w>ls`+W_`|mCF&JroBPnBp;0btAOy? z_!o`iOiP3~g}O4szYG2W%}u#0GW@r~-x#g$1NJ(~EC^`AKb$5H*KX7?$V29-Jf@j4 zKL)&HfN5{1nfH>(xINE%^PEGl%bJ$)9PA!u!pe}@zC_v1m|n+rHf+>(eY%y0Te*E@ zF7Lt@OL=+McaZSCPjYdJd%RBYWqQinp`Xo^_w5Y-15iM8^p{O6xh@gy)i{RZK43g^+>j9&9#vDwY(811r-*tG#q_gj4z_$TePnb*fJpV;k{S5FwfIkOhfBFUBQGgEsh5#P|i~v3i z_&VS(0p9_96z~hc#{l<5o7@U`IN+0j{8-;JfTe)X0)_#f1FQsm9`F=EjNpCC0RI4Z zA>dhnmjRvwcnctOPv8B3=K=By4(9{nEUvW%5GObJ#kW43)a2)&`nChE2mAo=VnE#X z#g8xb4MRO%0muuUHv*0Yyb5qSAas6T7!Z2CuLkgXz&gM;0nY`*Nx#0;fG-1H4ESfj z%K>q+ukQzduL9l(_!q!i0RIZe{>A#|5@i<3MwTeVWQjs7SAAg=8OoaBbP5X;Y``D&^X43|ItB}XGf|yUKyUPaY zJwQx3^3s?lxL@g;+k7o@+>G3+>EL!Ev;p&5XR|i(DPy8?y#;}3kKjf~49IcoNEQX59 zx2PUu$Vmc|$;y0S_4t>=9RbBh^QF*wfQiI8z+{lR448y>D=>-UC%{DFeqa*HBR1^` zU=qsjfk`MFKxLxyIxsYPq~JYZGI)OqOeQ*C0h56mqmdpQ_W>p;7;9rFa5W@00vg95 zhb~8e8WQ&hPF}*{@XrS{{zr_#gB}t~fW3u(xBp`0FWmoz-?R9ip0N+hI2ktA`!^0W zqX4CUM*b zY?CUh9|M!J;uKDNQM10q$8+$dGjns=+zatcUTO=5NZYmXe=NuzOkepB_e~l8|AoJK z$&TUtFvGv*P)bripoH+xF~lAI&y>H!Mos-S{xdfwnP!H4FW_~1(A4%D~b@AT39aSR|6HUW@kj$;9-uO|W?1xWtm0HHdRt$i}!g?KIk zyjc5R2Uv_}8Z)K=vhFCymcT`UOl*nC#Fkht?@Us@!_;eTLR)RqF49=8#U4Q4Vb;|) z?N*z1yG?u4rfsol`laBJ8*W2VI1b3)c0BPA0jEmP?<3b<3TQm_`%ccI;!+|GCcgcZ zgV&8fo3Z*UbJmT>QAqx}5u88thYHAZE9+86H`5XCuN=N^1dFG?GH=}oHnjdw{;iZ# zyqE_cvk4EGW6!(DSTpIE5VyJ}#9LGLu_rMHV)Rog7|SfV%pqGfs)O;EZv}1IG+^0^ z#1bh&1Jm4dMR25j~_ss$PHQ>pBPXcZPd0b<>+ zw%@QGR2NY^5BMPHzXSXwAX=T;hWiKLKk@t?Ae$+yi|R7_w*Xltq_a&=L*2=VF=BFJ zj99Mv+`vLbW2+#RtG4j7CBz$O5b(Y_d16tsM+7MPr)Wy~}Q!|)1>rk8x{0$_4>ZiDU1ivCFP zaTfFs6*4QAOaFZJu|bjjqs{jgFbSEp@j3oCq`csoi2j{-QIv&sE^ZD|q zUPtD0zkW9UH|b|{F8_s$=Qmya_5mx^5VZ&MO(nuPAIqJtU@y6>;}AfWNf7XGz%hW6 z0Sf_g~YHGty)=K~%IxDap#U>o4^fTshJpGx!?!1Dkn0Imfj-{pYh zqY@$?>vJL?hlR<2+{h^cybrJ#@G-!tfUg5m{vUvpXFXD$<$LrXGtVF<^9*9LB26k9 zSER(`c0u8*1x@(U8XIOc*t8Ct#@UMSac(ZMoUI7$Qk%xviqJTF7Cz2agvLQxXq>HR zS`f)s)wKzTd65hI`tlMN7J^WGsy*)R&D-5OyqR2Pn=g;1FH$}h&sNJh0@kd;%dn}P zf{;`QtxH;$+EWNoP_pVnh@)L=!NQESAa3jOy~`9}D)>6sAg*F1FvQz4Py!a(30V67 zm;iM(nErmVKQVZf4T;Eel@f=6hp9}~Y-w%=7#aDE@=fvZ#CDb@&n*<-&C>}3CAig2 zaH%W7*j_!WXy=B;LbZR5_tADDH1)##Q$sAgnO2LBF|afWO=jO*3WkW zllAi>z+{E|5-?7nvy~2%INk+K;{6vep>g6U@%|T>#7i5P#5)3*#LLx^#CsSpiI*!T ziI;08OpFj)1%4$3^MGMP1+>$ENon)~lh~+N#MZC@SUuv-R(F+3`nbjt+HJr@g6k|v zAInqn_HSU=oPq2vU=l|jp0ObV+JX3$5x)=^Hf=!T_Komy^9qwc%m=E0N$TeVlhiK; zCS`!lCY=^+zv%K?ZPPXYlk{B;OwxA)Fe$Y=fk~+`l~QVt0FzQf6ZFkAo`El2jsP{& z;7CSZLLT4_0vi8{!|9k@0c| z)6BFH-Z0=y!}(4yryES4ajxk`hQ--8^{}tSZtQ4pQZ@<}%ATeov~s+o_fh2%JZ_u5 zsVTTeh(>B!v5ldl!C0+RI&J10;RX8HSUO(R&(G-@&0Z)HI^#c0Kc94{%y`(0=nOv_ z7@hHN)XyGENk|Kkk>$!6%~;@5G(822!x%i*0v-j3jea$QISKF-JY(eRW5Q1ba1r1vzy?63f&6S2O@Q@)ivimJF|_op1#AJl7!c!z zx^sFhAeLknjuxo9raJ(iz;hQMd)snAES)TDBlfWu^Z|}Q{w@GK4DdX_set`}GXSx@ z*cS%e09XUa^svBI0AkzNS_#ObZqVm_>|bXB{sxfg;7p1AT`V%hWTr$c*BXP^6N+}Y z#&XpLV_eaSK_ix{>@Xrrtt7Iv!w8MmNufPx(>P=a4U10AM_ng0>I0G8X4C#@({|Xj zT{i7&n>GX~64_xI%T=#&35{A#;&^B@vaSaEO+aLpRiG|JiuaW#`m z+q6{&#zQQg7m1B1UzcT7^?2%Eg8JLW*s0H8n*9l*` z906+lI}|v1_s4$?{MopT|BX<7=2D)6K#yhkzYhOw%^ie)IKzL!(a4=%w=21cEkc?Ag5OxcqFuODdq;}sw+_>7-?OqR(vZqLIXm)6Ym|1!QAE55VZHdc5} z7wOEi8N19_^|g3=t@H~uk$`#Q*fSJ3&1-bCpj(;WQoxCTWq`*6h5^d~BY-q;#sD7& ztO8`jq_d0?fYi-LqP>c4CMLR>SgyJSUug5dFSG`Y4YQWmG_F&HZ-q@;ZPPBYY1iAd zn{C=Wu_9wTb+}PBIF35-s^~+cN)$$8Yn#1}#2)8Xu5$8(qTlfA&BB-B=Sq;~)pF-B z=>oi-w>1ly7rX5UU_k`_|8nDa0_T8X+mdf}02{9`)43W!G44!_m{vzK7Rp0) zF2YqA{_gvAXbxdz(;4~9Z_u;SGq<=HC&NAi|CeTV4t~?Tv#VvfIb#PN+nF8?g6q;M zb8L>2Idbp?5=i5ASma)ePajUjCU;AESyNAQMfKkBz0J5Au0h|l?8Q^?P zKMimfp1I`v5^x#dSAfd_zXoLaP@Wy*Sk#~#I3Okm4v6Ji6H$~xqq-HE^I_CF{bk{z z4>+W5M@TTkKCA$?>(`;Bt{aEd_Z0l{0}CUg&zxwE`S5i-+*RD0z2G#A{ab726>Y0c zt(#vsT92pdnw*yz;BLH00Orvc)kovvDNF@)M3^GLPV zLBbKj4yWHSRqASoa7L!q9D^l+GAZb+@~}M{a)0?azLYp#{lC!vMbXZ>b+|`f=Ky7O z&dLqfv21mmh_Cj=s6#;JYTcO_zL6qi=zWyP|{Sa-+GP-E6 z7CehN8C+Mc;~jkb$7fw)XA-9m2KQ%i9)$a&VI5-CNwlJp_&q!+bIe>Kh>}Kiyz{fW zNC!7sW;3Tstvf~ywtmr22Lclf6$JJ=T4A=j>sd_m3qkt`Eiv0-74HS#e17SiJpeQo zk4$6k23DzjIXxMpus;B+P}m#51}lt{5-#eq)w$EZ;3->ufQ1v^e6@Ie2EO^~vn$Uj z>|p$gET`;}mTF*P%Sm1O#-?|pR67tQ!a#YAa1NJulv$>C?jR6e*6GeLg zzcP{f3owa|Q+5gYGhol+A9pDrED8AlU=s47z(hA6WBYP}BRMi!dNXorTorujg6dZ` z8>kh?I}HEF!=D;Bh=01PCQ-xESGEj}%kY00{$|2d2aILpmOq>pa6JX0*7_jBf1UCd zo&Rt6b673OFaa>lOk+9VJp*a^?(Vj9Lt9HzyS#0!b`K>;NWr;q-)#?Om*LZ?*sAPq z1FtCh&+*)Vn~K{Ng(0km8KTqv8YfltR{W?V+#E2dvu7Z6ogF>ROZbzmBfuD70BNlTq$wf}$mK^8a9_Y0z|nvyz#{>fuHyljt}x&{z#71l0Xbb<0JsEj z5nvx+1K`DgjewT{HUVA*xESynz$Jip0yYD_0@woh4j|>(|Ca%N0oVb^KHUk(j$E7el1<~%O!%m) zM3%i-XrJ1&-8L-?;R_#ADt!CeG@cj`8ci?4$2o=2ifkG+x6o)35k6z zcQj8Zj>b%21U_#{ZO=0&X8+oZZrF2PF`7n%)}dy>4vD!csElR(C^YA02GiQ!x=e;O zYPln zX3SRK>Z!+5ww1=OER7q139TJivyxp2OqRyy0h49*MZjc{yb%~%o171kMKVVLStLII zET-b6UjH2bjKMfns(8rJ1kU3R0#4rj@qYvUsSb_*gJXDX}MaB_FV>ToJj(nGwi#W3tVbra(5z~DlB#Ija$Sq9oV~C zOVScT=P{Tz3r+npt<-|KfSiBR?S-vVYQG#n+RTRn9uAlbI1z9-UPAu2TLahpIh{og|4WS)i)5hC;oYjjg>xi`-!M||} zG$QpU^8pB``Xn?tH2wo$`s4lb2E(K*S0x)WYO@Qs|NkHEBCo~>3lTLQjz(~FX8dB8 zqBG;y6nXTHUzM6jz;v+!8#>j;#WgPDCf35tbOR{fs z#LZlzGtEKJd1CI00a^o>=;=mWv%ubM5)OW)LU@72YKyKnL0p#qc8L$r!Z-e$-2)GvT2Y_vW zHv+Z;-UrwLc)xyrNI(A-uoLtT0Z#|~43P5F7`=dp04@jQG;swWXEpR+0JsXU6A*8l z_N@jy8<1wLa{!s)a{)OQ=mX?zqj_3yINzztm|yreKzeEHjP#PIsRFq#!b+OX+Z25bmV2rWT|DgOe4cadD)&? zW>dSgOz;fku%7t;r8Uxi^a&!I?uwM@Wy@lo#%p>ON}A|kKv<)#y#Se&Y+VCgz~uxX zF*!jJP2MBKHs}_8_l~j{4?LXO`~08zIV$sABr$H0A4;o&DtNIVZ_E!L1>quZ!&g^ zxkP0Cs686htub7@8U3?NEf`JfUzRrS*)sSb#1MB^Q;$+NY^=RPlKo*>MIN!A40>!> z_AYaMce83~W|LWcoW`xQ+;8ThNa)P>YC80@G0f8pLH9GQ(|DGF&U~-tBK^#f);rUFv$;Np|MTL2l}PXUhyd>U{jAgxEU0D1QM1i-HW%K*7@ z3j=bc69Fs(EC-AL;=TXAd4QFG3jq^=?SM%@_MH^qYCzly(8u=5c-eY7@GrWPnCMPo z@*ZmqIORQ7V!6utBz)Y)6F#m0gtpD5{nMuHuxYz&8uKHvv>=HrSEE7;+O$HOhUL#- z+`UoUAHb=roU@L>7f)bsJX|(hWkCfq;pqO4`71_MV_Gd(u$A_|A0Vu3HCp}=vFEFs zHvg=!V)*_^VeD9%f-PhG;cNN4;rXRchwWZood!kh)at1|S)@}92x zhHw3zuIsW&v#~~1LB&8-(blxQsZI5JRxei~i#xiO)r%@%DoLvETGEO4>t*{u-j9cm zaZDfkoqGoR540Eh<4%XZ0|0jbat-o6U=iR4fXvT_fQ7}hf=YoT%8 zA~f~+L9rIY9K2@BxkHpu7k3%YomX45dpiQe>mTqqXCgNL3oe@{ymkE_D=+(-hB#;5 zvtMn6;XnS1vtH&qZCg&o`MT3|kV6obSUrO_#vHKstZXh%MSJ>re`?dK7bFI% z>jBB%1UL$idE+zVq4h_!95K;y#B!~fh*oGJjpbVSIc$B%=l5OvtCO8yhbv(SuVT3GOe zCST{Gfau=`$TXg(3yjy&$b^oVOz4Q^s`uQ4_5%2YCc2idOZ4n-^e#GU?+E(=Z{Tmm z>-Jk2hb#~G2FBA-`N||SN@1qdBk(hhgTLElb}wYv<1!U+9egttFvDbXI}-mFJGIi( zzNDqSDcw-t*`k(-@Uz(<`7RN0UQK-a3p%Tlr9@4(@aXO)?J4^HXpZwv` zkN3Yi_rGx8~Q`#?4)? z9<*f_?wH3Xw`L&x7f@XJN~Ljt+>C$Y;u>-HihV(2fw7FMGW@Cj_EEl^^`Y}+_*4Cj z(#ni&gbJC?gzx?Y731OXO=tWw)!!QUWxg23G*gzUcY{;^m>oB!dpZ`$7bD?kJD1u+ z?Q_}B?7f1SHJHubP7t(3EppurQ^V01&zy6++Kb6A!)7|zUfcsMCUdGMRs#m%p9CBa zhzXb)XlDa5-F1MBg=c_8wGk85Mod1sDzrE%LTGFS__$mzuY=v%|A!4H4qDtF!1r1f zqqlxuTSs&D(a*J7FMf$baxH;6-UMh~V1E^x*%LP*Mk~X*y*KjROnU3Nt*6`8ZEWS@ z(@b-lSyIYZZwBjEx+V=2(!PcluS>c^LMu#fWm0f)t}97M#|+UhDlj!c=#`u7Ze@C! z3+(W`DO2G=9WhuMO5Q~IWLu@c>hYhg+N>DGYi!!dz?xC6*;WHEF^aFSX=elDlsI3# zGAE&237UlRLtsKWI(hP5bOkZd6~uBa9zhTq7qdd+@>OV)ZCa&GqfXI$^JU=do-bqP zga)g&siz0l&Y;=^333-C*wYal+l^y!+GlYaE&@};Mu*tgw5WGUP_1AF_FCN1<_if& zr-C$(7>TiMD=pkI*3vL*;!3N&rMhWVY1BRuJ*35P3&C&rq@~ z#s~3xM!4xd>wVEPsB~G?#u*=B8aEa(X!oFcw6Q}S&EZbdvVJ8xmQ@h=u`Hxps#(bzMHO2~XQnFD(6Ov@LQCV>tKPJB z@8(h?w799hXTrpZmk01=N=2E_*oD$r-UNN56n$2J3lguJpfo{YEve8?R#xCM;Isof zPV>wmg&|}G;*O`rCUmJ|lIn?rSXO}QobImOxzOqio6Zbygo7-%6h;6@(c(e3_M(s0 zI8t1R(vin2#R*+jfI|Y^?`}96+TO&aCPSc-$16q4L{=alzjU{33y*iCE)gQsccxSh zC|LnhHi!Hx-R(&IN=uQ)8yAPKtN<4vbQiaMit*f}&^zobH>k+Yfi7 z4#j{#M;@=#Fi@N_Y-%kGI#T6YiacH^4p>=%{qRfI75ih8Beg9QW)NNXdJYFg0$cgKl!QKCGq+ZlgSBkThtUwUI zbk!Th{4G!1)uSViS85a}PTM#jF~7@+i+dMzSkJO5R zJYFgCX9bWf$i^7 z0xd;fuN2#D7S91Hci>}JxTJWCEggBhQr`!~(Kc02KKzCg*RQk`dAw3wOgQ;k{Lpb{ zJ5vAFQsnVUK_x-zQ2f%J_|}!zJ5mQz>B5o6D-{GKD?rUa_rQbue&k5uTY<_2@e8R% z-O!cd7)w?_C&dso#ODc=Q#{rLXGpQefR46-<}d@;>W|*}k8tw$QZ1!;6q(Bj#vl~; zD03L7Sph9zMaMq%D<{qOX)<{b5!`PXMivb)=R$!Y4IONiD!H^ZmWDJAdp*&D2ukd{Wd8S%DYP+ok|J?}%Rj z1c1@uq^5F5`lOBmJu5J9T&HQNqeRLzyEs}&eT-lBng0ygc`AT*ZCXn4cxD$E;1Sm_ z&6oZ1*BCreG|HW&rO4xL;m3fI6=2J!yZ6P>7-WppjarI4UMbd;(=Xb;c?-!gQh(7> zw$m5lo1WHyQh+n#Qo|w|= zNS&mm$m5lo42n~RFNLRk?MU6MrO4xzVoP^4Qq!RKI~}RVwG?^0Qfx}%Mbj8vzVB9B*Ux{}h~*01w6zUD|>t;yu^N*$-9pkkDpdGVVrt$x3jB9B*! zn$ju5Eq}ZI$4*>-*HYy1N*%AHSdVlkBwyU+NGW?esO0fV%>>1X>%K#7QXKe!E78?R z9Cr?&~U?xE5$B@_40A0L2+k&s`Kn0H)-x(^BN|N|h+7{qRfo)&oy} zJ5v2xiacJa1Srlb;MB`<&?!v{ z@6}S|@k%9?l+kr-?+Rj$WTal#QsnVU)hH>G!e=f%z0Q%!)@1T{rBX_2Z~W5TJ~xD_ zH*p=MrO4xzIuR6S<@@|L-qvHJYP1x2yi&83)V}zodwgy^IE~aQEkz!$R4ph@ef7Qf zD^#hG+N`C>vs=E~OtM<=#Bas69Mk;f}FS4pv_(M=k9 z=N3omAYHWN@k-4D#VNxp85=De`!wPVz|Q?KuBvN2*Ork;f}_vXU~jynA~8 zjgHh+noJ(A)G12J)K|gh@y8sgUur4xc%{%3kS`-O@5wJQESr4&LramzD>Yw9>Beo< z=QedXQlmz~6OKF*(iBj}1#I2oT3?(7o~!^zvBCJyzxN+6$~@d{?i+};aG~PiW{3$V?F*+~@f?F+re~kQ4~+ANvqEg@fjc zaM)@}fjxNXm~4MIor>o*G>pT5(RKL3IUUrj0BfIV9(5AVWcup8OYv~K%#_dRzHqt~ z&lUJ(`TVWv`xpAd=}|l(S2*3iaC#L_7I--B4!`%_YyIJ%Ng>Vo$h#?@USBvX6b~lx zDqkOb`UwgQfqMGaO2xzT@+My^eBrE8JTvjje4Rfj?;?LVXDFW6@N2?ZCE>XG@|lV! z2cbacT5j{_t55N4M_i^opX&?fJjL@Cc)kzp{mxJS=?~|8#nXxOn7p6o3um?B;V&Ap zb^k94X86OoK=HhZxP}6wTkQ*H4X9axWAV$pfB5j{P*)J})H{j{JZ}B7#upB%89c@K zrCz=1#El2}!(r)V1yTs!)YnD6aMmdvmNv`q>_v~>>kntW;&}(*m~vj{3#VW4+zy^G zzz%tK_x=8GE>=7jyUMxW7tRL7!>>kBCmyxF>2rTLmnfd;;4$^J!57Y@isu-l=X=18 zIln8_84gr7;<_2>F|&{#_`3B0Z+R-z4F<^y((X69SLvgX4TWw!S@EnzzD&OuD?G0G;cbfN1pHEO^nY_TP$bUN4u7P0+~etOzHn|=Je*Nb zAHKaM@JoLxBJ4mQ}H0l%56C05j5@0^xUO*zQL~v=T2WZKUO?P@fZJx z9Wx0{KQo-4D4qgWdVcH+=WfLl$1kP7{_0jFFf*Kc6whU@aPIbn12u~F!-GwnCp>cC z6+iWdbD!b~y6XL2JBQ^X;i+8E8f2xrm!@&h!$l!F+rvZ3d=G_E>djnwStgv$Uc7f? zQ;4*9q)1umqpa~!uJTaQWyy4V6K6GajEn9T4-YAK`zVk2D9`vPfAUe@@KOHdqwMlg z_M*~M&ZKZZALS4qk{NBOOf@}7@k9~`h#c;G%#H~f_}pWvf3_$U|qDEIj&uh|q+ z@9+62yL^dDf`zY7?C_mDav|V57n~a_mKH-yk(MNgH zNBOspVjq^V;~Hfq6E_%^10il6llr@ zn{tGv+-6gzXv)1drBqWcw<&WpZAKS4QYi6c(NthhfTsg6%PNc~ z`Rx~rRufVn6;Dn&4%jsw%5*&4@1ab?)1N#PhWwF-G6hfL1MZL~fzs}wF!n3l6h>}6 z>ZUMq^-%&lg^b+V?dDj+^ z12nn<#7;*ZuYLY!pg3o-7Jtxmt0PsRrO4xz`ni%aiun1L|BPj&iR(NqMINuzFO<|l z_@!IbdC4kA>V7Rn9!-cuNPVoO$m5lIKuMWSQdPkBq)ZBrqUi*VJYJ~> zL2*uSJ#gdGXjn#Sk(MHlSLz`pH59*eH^2CoKR8n7YANz~r5*;w**iXG|LXCM)Fv%O z9Q98(vE}QoFSjdAw3E2|;Q!e(B0y4|h6J zhv;e~k5}qfpg8BT?>Op!5=ZJ3Ekz!$6fF|YDT~v}U&dO_l>BlnMINuzV@gVUTW`Pm z#K(@*HJVHwuhbSLB_lj;j+x)&O5sadiacJa-zX_s7wGaI32%1d`bbNW$1C+XDA;$P z2wY_Tj(<5)!*$V;$1AlJl&rw_DFU}KbOx*$rZlE$De`!wo&ZHo(^2ZPFJ64Zk?Pe_ zbUWc{mLiW= z>IG1;0-P<-T{>gb$xd8@4iPGOyizZM;_U3ND2??yQV}gh9K-jc9e0mIj?_Q36nVT-FDt3x_@#U1morfb zrk2MA711J(SL)B8IHN=O$sK=jq-wMjdAw4uC@B;A`t2Wm)KD^|M z<6Wh3nU*4tR|*M23Uwo}UY+!nt2FM^QsnVU{Z&b61z~;fzI%SPRiM;k3V?I88nLPD_!;EA=-eWlH0?hwl8oBQ<=C1V$bSsZvu&A7q`1r;?I% zIFz1P77JCCMxu%8%JNV{eS1$yaYGkgnQAI2ZpLLyCB+@;WwMgO($bJEQW=WHOUo0H zh?ZE4_X#0~H@onQclB_z+ar(+#mcHn!_j!D7Ql;dCB=Ai%)?a{4J8v5Rq<5PuyvD7 zlCiwLt+&a`UL6WE-SK2N)X=r6v!}k{^xhV{+ocmwj1@{pmsg}JRF#NSB~uBJXoCIN zevz?c0D+oNtU6I0Nkl`qx{q-T#8g%ps!mqM<7LU3ki3anQrzAFR(|8PrM|7@jHX6! zGRi~Ac(|%EQd$9l-epX&ycRiN@ZnHRG!?BxWpGPcQ8cN2Z;Yd|kl~0V7 zT5QUcMXP&kfuQ<{vs_`B;-G`)-3S{kJB7cXk-SX5HX zmxZ0aRS`-gD{Eqj%9tbB*3q%Fw-cP|dkmhK(0!vxG`~n$(&6_<;w~p7E*gziR+mL1 zjtE{z{vQ$-4Moc0m1WiCsSx6j!dl6a9kAiXL*bfuED=U~$>i2$Hb9pvW8+Fzl*Z$c zP;dLv_Kp>(M7-9ytR6bXosF{UP^_l9Iu?ypg3+nrVq6i|(S`R)m!a}ePaYYxzGPV> znLso2$mr`aJESo`cB%fDpR5IL`^cDij{}rx__~W6?gRZboL@LO4#wZ8xfRdERl@F zsxc_w+#jw!#Eoa3l%v7N5{a^kns|lqP)U%fxTG)~n^aO5Nvg{3E}2+TJeiN`)-`xm zdBTZ@DpFA>kwmGEiuVtAIH*ob6BQK|7=%=6aDxz)H~2(tXM{LCmP{qX@mNI&oj1*E z3p~L^%0p$*>dIs+6%JKXlPiv*l46zS(mCns=*iKO!j+}Til}4;by{z?{Nu_h*M#Dg@l+yO7I9Z7Zw>IUO^a4UYa*rLSg4`96U~36#~1B78c&sC6sZZ} zHiwd8$d?o^LSoge1|Ht&@o+_TBwAIbLh=n{k#MN2vbrjfOr~5xDK=CL>x$XyZ8MQz zgg^tavpc=4s-h|tt&z}ug^B(jF0D#dp-5bzE4IwgXV;ddQ?qO4rtPqy1|#LAWyy-9 z=^xG{!QB|qeWK9_+Im%mDs<{fJ)4k`+gr3rCMi)`YO1KClcS`Urvl?cq9zfkDUD0I z*+0=QG^^8wyL+LPyH=GlvkG}$}o#i^{9rE zjG@jQ*&pO{}`I8hRk)>dZ!8$h-zMVb`&perWJ; zd3mxbQmMmMcT0F$R+zKTit5T}Wi%9aG=&|wNT{BJJVcW4Sk)cUx)DvOY_2aan1)3#JVJd*#5JjCGF>~TX12Fp zk>|=-syw2U9nvS7EH*bCiH0+yjz=mglJRPtWt%ga^m1a9C{3i|HHk`znT)Sm~%{R~wB-!*kM+SZTbb!W(lWRF){MNktf7JQhu&c-T-y!o!*f)x@KzNF-Gj zniq>i({pOlrL{VBGD%}E!1}lwO4CZG(=8o~RHsmHq7j1pPWJ{ z%P@86z}!hc%EX98T3Z{(M}3;=+q*FhEUPQWHz2widpm(A)405CGVXUHij{C0H`p}d zAy&gfMQIN4t|v;sM*=2>>x0^R77KN``=PttJh5OIl-3HW?z*vBwG<{nsamQI*G@_! zrA_s##E%!(G_6#^YS0xb6A7w%KV1c(*@TeBJ(KBlMN?0_zPl&NwRvbFicnGK;dZTX zbA8vGjs!;Ama}yxJ;&gS!mK!j~`OX3x32eBR2TeVYSErCwY?@Rm&lIO!h_<5d%Ud zIjoE=OhjgmbfT4)H>g@Hfk{Rocs+RW5!0+bl06nbSLCd z8>mC-dFTsu^v-^e)=V!|4z+RNb2oo_I&4dPO`QIoCQgE8lO`UWJv)uHgDmZ=G#}Zw zyW9lWZuHX6k!j;c9MMEEcZXJ?SZ}+Z#;Dq1TGQfKLv~^I1^&6IG{+*`O-JL1i@?K& z>63~l9;frwIJreVYN9`jir14zMe$_Prs#`$Iqz}>*e$nDsp*&|b7)RCEQ5+tvg%Rk zAZQCsa~@@Vnnp1pBWkUhRz<pc*~TjiN1N zvV+;N$CJzRfqh^EZRu_v*sr0dt8HK(l{e&`-|zeuj*M@=4a}+LoSxJ=t8P;w{yKM+ zjIF#i%~S7KiKbV;uF`~Ysl(lj8k(E%J zcvR=j_%@#k0@}iT!?GlcSDdNls}gB0LepVo-hZ|SGS|emR~Kd(vT{Jv)TnO4`bk=* z#rXvCruvb~zGU&+4f@_$35eCMKKLh(`bzk;`wC1KqrOy7$E9RJO4IUdQUfcyx_r=0 zY(O0-?Wr!nb92&1KhrdgXVwTyWGYfwft>=i zU>5tiT9j(zd2vsNGAERGmrV6aV#!e!PS&L2F|L8N<(*ek!t|nL8Z%{JIZKqrlSvqB zY#C+yv8_yd6ott&5soI4v9M26nU?HGeF=?)%1R?O;bfI7Qk1&35ZQ8>i7l#0RVLy! z<>et*Q_9=CmYnG@yr&}7m~5;2GPz8i=;eSNFIG_&PGNy-Zqgip3pVgXqC8So28*p+ zvI(OQ7fZ&nNlT70u6av;Y9t&@VTDr-i*sb4a1)^v0xsvuO5NQFv+gz zf2X}#KeLx$ZzokzUQ?N@4%ru!DqCT9NznkjHK{~-Wh$;prV)Lfh9`7an1__XPCfc^ zQUOC53ZkYosqC4`^lF>m(1mH4WC41Ea&iQ{0pnmrG+GwI<)_>UTIsRhK`~20d@-j& zk&0AlRT)eooJp(QL!)f$=qRqEZ)8qXwb-$vv!tqHT$97zhq-ONy(ZJ2Kc| zd#%TlP05K@4MXP)!XKV|fe~J9m7HD6>~a(4#QaRaBy!Y|X|&5`B+qK`A)5K2SQ-Zb{rV zO2Qx;r+E`vU(|_eQu?}F^hfM#N_)mw>dhv$b*sYF@o+e)W6zvSG8w)k*s+(<=pC-W zwhPA`X&ma3U8u1=W*inUXM&}sR#xt@MN^7`E;nh)b85oBrRAtP7rvZ{*;l3Z47DUOw}z(W66%xm<3Z=WR{;+%Xk55P@&W z3Bt#dXdx@F%zbY!ed72Z79!?2;j8bdcS!2qqIn^_F@S$Mp5_c$6Sug}QIpOyc`t>C zIWCkpG337Okv^S{w~h5#p)KwkN9a)%u&iw%oS-igwp@T+TOf#S`E-xZoiG2&++z5_tN zW*|P-o57Ul>HK@ax2=Xx^4@nS5B27HW0!QcgF{oq9H-*V2#=@g3c>e<=0!1C1BJ)a zXh)rh+p6$Shhma^WP~>n>6;Ipi)Sk~i%oH$@NgW<`lIF%&Vj?5kMKSMU-cZ}+Ee-% z-r1VxyTZE`d^_vDJG^moO-KR-{&PvLzGzWB-C9v=JAIhyC& z!sENk7lQA`Q@%aC>F|C5JUOQdAKUFf>B~WQ5%9$4e|vb;C+C3Y4$a5*I8b;@-&5du z~Sw*@%wZGNydmcPBZHmp>Q~$sRWUL18+}p+KL{!v&yD_e;5I!Eh9VmU2hndAX7yop7 z%I`by+X$W&s}!4)zKn7njR5Wh&y#0nxg#&vsxTjP0?d6L8oRcW=xbWd*7C_dzgcqr?nMv@~>ebayQ7367h6WUvP3 z5tg-_fmsqhxv;Dg+hMBW8UJdGkq27CM~yxd56bBX(p@;>V;ummKwhR7%*K@YWNn&F`#UHQ+K+)4F-GcC#r+1jkqRe_$V`7 z!9cAe>8@Yi1iPJVe4%89k80La8i%K$rL!3y&BJ-OZmV#>=v*A?+60EPo^`35iHnJv zG<$bWsGag8iw9BC*<3y!2%3@|RdWQA*Hr|05$L98a3PLx*hX)?Z~mosX9 zK3=n_O-@SJC1YeLjn~d$nvgMj-CogTT>^e{koJ+F<9z}vUX!fgzamf@ z@FAU=Gus>J+*oZ4r%ZHw1rWXiy&N62zO9MoXl}9fHuT`eot#l)5K3+A6m0Q(Q;mYb z$q6Tvecef8u~tN9;|oqXN*Ta_+}@Gy!L>sJ_2BmbOq4egMl+=)Q^zS&Yos$CO0ly z)SztdOeFQ+iUw?~BazHCKZcg7t*n_n2Um#YjN+$QQ#j2xTY0jip;GagD`>l%QF9Sw z%H3vS$=W%k$#7IfI3KC4?{1%@w=Dsz!yv@QF}ta=4N9>)+|gCp*p;MZsih&(gk6ZH zZdC@9RRvQMo`VxII&=F#oCMpYL$?eTN)`)cF3zSZ=4|vgcOgWRb7Qm7=I0ivcEg_K z_BQ=WHHn*$L~Mnz`JqgiKRf3-g`SG8n^Qhr)7hZzKt-#3&pA0IWqubZs?6n`43;?q zy$5MPEL}~D8}NA}erQ)(3HOD=u~a1*Ec3+{ADIUgp_(tNetEsJp;`yScg=yO_2B?l zk_seUUY883PBskwY)ML(4?#SXojfP1qPo?j6Dp!Es=8=GHyzmR<0>|G4i)#*DJm_e zGc?ukm{>Nvbec_X>J$_d6N@Za(oPwl>GHS>DreMCJoPM7T=;I8g@Zy+3~aEhi}Zk% z!KQyGd8N6q`TPs@S{kk8K`+&O*e{&|ONZy2WcLY1fONB)+4VPP>LguN47(Sp<-r*w zo?-Jdf+|^%V%f3{c@pMoM2EwlI{iB|I&N&s8Fey-eKSyN{h`hfcyv_Voba4jLK=*2 z8EAiY<6whfJCgoaR)sTDUInN%GgMk-xbd zx>B>FwKzK#Rp}p$)OfU&E@P!|Y6gl1mybaMqUKaPWRGJHQ7YUXTHcsy_X_DrwaSZ? z%r;qx6x7A%sHU+QacB*U&Zso7^%-~`!ulrwm={=c*W(lCRDSZ*g`@MXZMgZ3m*uk% zd4boC{pRSlXO}$DIr+aU#{HoPb{DQV@&YF<-grgVySD|Wu8f^|^J|~OB=Rdof8zDS zzOK5r`IPjxD5%b{Zzk53-6^T|6qRutZG{#MJnSpuLT_Fo75^sHw;ojdLA6W_J0 z7Zv@yg0C(uf9UOJmRBAc-#fM9`!G>qsg@Ub`WK~DGZ$|B!&~Q^acy$#uJ`uq1Ed}zft7yR;!)6O6L*Y0IMv@CumCoj;wc<6p> z7RJ8!^j&pNt$OoZtcSl+^zkqMV4wU)=8qipSzYT@l{fzwCMa~^yuc+NTv<1?;idoP z|8DIYBeo|{4oemNk>R21p4)%qZ}&U&(W5?`G5-u)m8a-Cr!?%0mQ}9k^J`c9K6}f&vNO|9JlDVR_1BSKMZfb$cb?Gk`Q$gVvJPu~=jL}?VG2_8 zna!O?E&lV^>+hI)&ebC()czUyRrK@ry|ClMUH>0-Zvq!p_5P1v1OW$(L7{L-M@4f< zLqJ@UeG%CN0Znw+hD|n^VRIcrav3e#G`G|;)3mZ|G0PRrY}1csX=$lhuAeeBvz7n* zdCr|-7)FEf`}@DX-}9P#pJ(3ZIs0>#d+xdCEdKFvujub%jxIxfD)0=dv~yju<^4zA z^WC00Gxl)u!ub;sF5_)?wLO1nTlK>A348n7>s;|1U&FZDs;HsMJ%^vp+ZZ{1Y24;; zY!brwYbjg3j=bExusZ0*%1JKMS7Ry!x}~&R`e^vVg*kP{&is9HfB(!q`_V@+zR=0( zV&IQAyq7Q3y|dDzOFgFU7@zH(d7pnslIx(7P5ZMItL9=Vg7KeDXQtoOe)7Yns2-lr z_?k@RVvj47q?i*L+C67SQ&$uFM(-$7`tM|OVH0gyk=ORv^V`V%j zsc?Dgxo_&a9h>@9`}Q4tF@?eS%Zj5ksPds&heGd|+byhY20c3m{qqiW5x#6g&H zIl=hN&Oby|6{wzle$(|CFL;gq4O1&) zHx(nF(HX=4@++qbblyw0?>N5dXx6H6-{LqQ#*g*$@_ys{yjB7I3%BOi`Jx@0!uY%e z$@+)R4tQElh}3YWlWzjzHmj+qo;=UuU@t# z_|yEuYyN}BkhT==M5jH=r}T3wz4U69-}WJ4uR^aFAK)|f%|Dhzo;_DHf9rUsLOt|~ z@sDRX<~pu@?$Y>WTjsp7<@0gSE5_GUyBz!RxPEWItzK=fZ8&lbQ^t%x^K3=iinmvU z{Bb(vy85Rx9dXL~JrwS0zoDCF9qi)fw?r4v(XkNic^>1Rx$Nrp#LQ*CZJi!CXYl6B z7jW1g;{#QX&ZzlF8@_aT`if{jPw3SZ#vP^BiJhJ={dk6d+KJ#mx2@R59Bq@*Zq1Eb zI~B(}CoWy~#+yI5x30mf48~9V{>zVN4!zt?|I_;mrw{T)+x#-)H(!hzd2`K-D7UnG zzsk;k^aq?L%XpU&I}PX3epY3E>bo@Maor?r|BAj!X&1jsqglM<{A7o9>i$oqZ|WgQ z6BwWIM@g4Y9I}cBd@^Bt>WFFc(QY&T&A_>RcD=VR_T=8yb)%l>*jbXkWW1<8ulGk? z;=lg1L+#W*x+X^<-x%+5u1{|5TVr~9f3@jE$-=LP;n);(;%N6=jz%2&^<=w*o5#+) z+j=p&*cps_cHcL=)suauK04NI_v|UB{n2+azG|3e+@;Tz(SD!3{N~C7o~Rcm7~j(O zNa_%M?+>0%nzEonW*q95TRZZ9_^m_zKgm7+!%m<6PX5nKgKP}ruk3wk@sS08Z}t4O zMCQoU1{Aa@tK6yJ|+jq~(#plCw(fNMPcDf9KIRuHJe!_xQ@buZBJeJ!ia4(&1U+p>o|O0(Q(>*ubT1B z-B(um+<4%f16|Z>rv14d?ZzvNpWHw0+rPDYD#L$|*}w5IU$j?O7@uAL;S_0d>o#BR z@po61tsIKiE1nc?)b@30o@dUxoa+{OVcR{!OC%|U@%optzOuiO>{9=fKKzvf(@?(C z89&%&>e(Qt4_t>0&C2}3Q3D;{&3NqUL8lIW=X7-W6C2Wck9qJz^n)0*Debl!H1lS3 ze8TzE$>+CBnDgQRNqU&^bvYU5-FA)FE*h8QnGl_R4gNEpn6vih0RvK%w}PhEc?^FC z^>HWTrEj}<1k`of(lPO&z-?~zMd;rdUofxijrP&+{&#S}$u240%QxXH^7|;<`=6ix zcZbJ52`_l7c(AVXwdL6IpYfB!>L#w*r^{Q?XVB7%x7Kcvq-Bi1Fsm@z-8tXw*x(Z$ zMbGS81wCZ^(7Gq;0$z8U?N##Gtn%KObr`pJk^kp+ssHI&667^*nb&uY-JX6*lEyLK zW{m%LAHNf@?cH{rCQG|^jKR2t@u!bPmF<82%?+Wy&KVj~Lx*o}W<2HcUnSEYT3%E> zeCWuV%V;a1&lo@Z{@ybk0y{d@uNXQga`QLQC`ZOOk3Mv6a+Xr}NUzU+>G6wmInHnH zK=E1q!hv(u-Moiv$S97F`1|4^NgB%dlj`C7iI>qkwEJ<{z)LyO!l{GL(^-!c1{Txn&V!7at|(OP=4+ zF*=tSzq0&#$(54 zx}RxppV}>Vci^m)wgySMj;?K2SKPAiG>M&GoP|kjp5)dRrfIUUNNYfzlr=03ulIBD zVS$R4)@fC}tA+&hNy8Vx*(H@))#QAgHf_j&foX7ESe~s(D=$jJbW$Fkp6JCt-um0% zhZZwEn(Va68XVtTs4dlGY2ir=;*Q5T+e6L7=NCF{w(TAu&G4aRG0xVO*bpG{8s&h= z`!d@c<5NDJrbt&(T2fe&TWwoeArAQ^wj`Mzux*RBta~;%mK6&gAjUZvMfru*w)>*Z zo}8UMxq>qv%9*XHNUPBL`V90-tH?4{2TfI0Dd~a@)dKsY%vF0 zT2fM2sL9R9qIx9izinkstt`A~S&oRdx&_M7(kz#|g^D|7VzoAnX4YERT9?pAA#m5S z6qno5v7oUk%Br%hn9*ny7uwRVAkaLNs3=n#bOLju8k$tL%>%i~E7j(eqABpTIqi6F zYnxl+!n%yoQhN8xOMGqcsiEn%t)j~Ai}H)9`>?65%UH@5 zFa?cQPquU;O{0uY^6o12*;x6kDKierY*A<0Y~-$VS(}Yd7Vb70&;rqQ+mHlm3N*S( z>R4@XjbO{PWm&d4&dJY2?zgyqz^86PSDW2ks!O!CG#18cT3k#CyhG*4&M3=mS(J=p z85^=31(us_V~2rv(fE{`n_ru|^@cvZrIDBOGq*fn9-y?Kj~AbN*`{ao{yeJ)U(U3! zGtacOm*55!dTm=C%h@zpS7aQ3v^1m9OBa-6-c`G#tH7R1wq>_G*4Grv1FYLuQ~4V{ zv&CjvwlqSt7%aOqztqN21#+vhq%y$Y<^qEU`9(!GWR_gg@_5EyG$Gap^3 z8V2=ulSF)+SyE>EgEjRtq)@kQMzcuUg~07Krtx!-wz?<}13?=HvWOAQkJy%{<+}XB zyU9)L6hPlC;{&g|nN<=o$ii5Z>Y5GBgcw4~+0cUKSbl^;!1SQm0*6_=r;%`DUDNUS zip;r_L?PCg>TD@=V~37aPxLuu%VJ(SIZHdZWlpdr3=UdaEOIO{PUfYkEeldCLuz41 z2S?Zq=gxziN_<_5&1(ka7Z;Y=Lw!+52 zD$fGj753XAp1fnN4V6q{4aEoR{TVk9k zvLS43bukuH-c3VVT2e|=3U|tztTG)QHd|P;Q1W;3lNYPrNkE%XcqeOQ9JW#@!>*v! z{~}pQm4_?uZ9Cu!bVr;%8%ltNU|Qs$jTHnsV4PZ^zDN{h3wjmgqsXS_jvNZ}uvb&d zoZv~dWe#X{-kl1MOXLm%B2$UkP#$<2Ld)H3s}m><<9t1@UT*m#I?cPQD{|lg|&+g7Oyz^u4hWx+r z4*vVI{{ww(3_v)yHMJsfM%Sj;*qYkL-nBIA8@p~2833YaZO$uS&T3<7TN=H_uA4;f zf7m00sNfIDWuo=KVe&CP9c2+?p^-(smv*)@4;b7 z5#-LxoI(y?iZMD|nmC2j5$kKaGuB1s6w(NA z-i!swoI;uet|w!(f|odjqzBiFu{koQkX``y0AuTAPQeGb^=6C?&?ZhH{RplPW0z!3 zAvt6HR$stu2@$=#H3GnHTy|wtJ z5RY|5x&fuxnbP%ZzrgF;8f2360&XwjdI{G$TmHMbnf+sw{U*8g2!fB9a&-9sat z-JaRK=X4vt2xU)vmn991P%aABFRMA*HEB`jR(t+z&HpYt`b|>SoDHY%@DfNx?CXa7d@6iFJlBZ?Dy-=>Jq$CHhH_U!vUBY>I`;)(3e{*|r{H;xkr5CoyIga|ZGLou z;p5AdhU6jewWX;2rW~sdA%{sSo zRZ?n-NFWq&k>(5aqzQ)Dzx+PqG#h?Ev3+Sc1m6&Q!`}I^S6ueYPd-=v06Farr}gE| zEO|S}b?=eh_N22D-NN?F55HA=MEAh(I>RU12zLwl2zkCJSSdpL)UfBb<29$e7AuBC(-!f(~gxFSJqPydyW zT3>!c`2GZjqVaAbe=a%=mm zh)}=d9C0M1e1#$Q>cz821@aym9i%dZUxiBFMes=W1zlG|?5&zJe^Kn@IK*BsT%|Pa zb44_q!O1bvbw-H8Khja?b`-KPY8R)AN@hnf93o-}*6^SC$rt39-l{oGk+nlY+~&+h zrrDTdhvB7_C?{KuGUCwhc+H>6vJS)l!?A8fQ82~28nGrF-GJyo(;(x5*tSBZkQj1# z{zYTV_WoNlcV{@|AwK`dwY%df%c%y9FWj zs4!vo*3XNsA6Ya3maKKFBtBx zn7OAWiS!j2jl!brEeTN}e<|{AbFflVTC~m^cU!Z%CCZ6R);>ou;kL+s{v!#uPZ{*0 z-P~uQH7mvm~Z{O2&9anPkD~m2dSuX=sFmZPw%IYgJ= za7*3I1xW>9tqJklZ4F(_KA7FGc$5#9_2AxhKmIvNzPO9FzZHC^F_)v%9vl|jqL1hW z?rG){Ojwo)dj{MyY`X&-1?M5vffN3n1osLsN9h{4C2Z>sm07^t1KMzbU2LcuL$+es$u5IE8MoB}6&zGA{Uqb(M;eZdLahfLTL;Dpbwfm_5r?=xXH zO>z$CdxYCI;Dmqq;6%R6GI8_3VR8O&r#b1N@u#_)=A?(ls}wgCuI8qP#<%8fnv)(H594PFr#b1N@w2&`=A?(l z)s$zBe8*yKaNf9gW3D&uJ(!EaUC70N6LRCg3Ar?ILT{?W!)!asUC6mryN3Ar?I z-Qbg>lnzeF>A?xPIpBocVsPD9j@mXMN6(Hzj>g$SZXdXAEcX#OA$I|skh=m-$kFp; zHC_t~6j%AUn$ul%ZE9{gm&e(oqlVm!6G^oz42~WW zj(W?E?8>{$>lztXdvn&Y3F-r3-mVbm$7pF%9UgHe)lJ|#J#s&e%R`Dbar|IXmy){j zFT*c}-`^Vni&xz~+I04hRq9D~q`SZ3B3(2Zd=k>g&`G?luqhnL(sPIom%kL@ZZ1S_ zkQoRV-y&dsLN>;4y)(6y8Ks5z#=RX?P?K?P;2v#<=eX8JKXH77tK`TV8MKq|c{cox zcfSVdDw7L*qXIr1-&Rmw6v}v3D}LOUG@z8FIiM8pTu_Kgd7u<(K4@Fe0#JI&oeWA* zD+HxT6oFDdTntKSDg~u*p2X!OjgvVSiE1Qa3hsF~f^*^Cm^jRM$hMgAkU534a+TFg zr^uR{4WyGW#!RPxhFD~}(G6vMNz+U()9_y3lzo;NPd*Fd9O7=u+#yB~l>Da5rSKn= zaa0;TvG;?bCP|oz(Nox6<;nSXFby z0h0>z`EQ*9*gjm2*dWEoQCuvQm8Ox*jb*;+VL8Gg-;8dc*HUTIe8Vce{2XkzEpJzJ zhrEN*-qWD8+R6E)_-|C(EZ*6`sJNwOk)-e`Z(TsMWxTtbxA-8P^R_1_DQquLQdkVt zSW$a}lA`tjB}MHEN($N!lqv)oF+HVg04OQ!VqBt3h!bT(oPs9~H!wz}L!3g|jk}Pe zyccpbQ?PeYf^yL~71}o?8aj{bZZ99kBlKR;CQy;g!DTcQJQ<2M87dM|Cn`Qt8!AvT zM*Cy1Z^gEv4KcPqM*H@i$({H|{!k-F#%P}jd(jGr_GtzFSymN_6S>7_Rnp|9MP9`V zEqDhc%i^X?6o#q_wMymq+fK^DJ|)J&ZZC<#c9UFae;SE4V4*|!AmHLo(R5Lw$tf=7 znkG>@rov@36gN@_${Q+5G8m(C@zF@!iCYiiT%-?hCl0fp5EodG%qb-6MRofBZc!E9 zzNoO#)c=m6Y9|-fLQ_!@CyI(VQB(q>q7s<(qWb9nZc!E7wy0<)w*MVPrId?`o+L%B zB2E+)aiXXMMnxqs>qT|p|87wg-L|M``?mibMb%y|szs)vB2E+)aiXXMMnxsCRKxFX zFYi{HMp$8xG#X=fVf;_s5*(VkCF*U>O&xbD)SQcMr2^D)*h_wrA5OT6`{O2zaoAhM zM`$$3QQ;?vQkT-!G-BW`gZ@$vgFb~0)}`@-#9c-ZIgky7OI-%$GY}_X?nRDKTO_*_pxb~**UcqCGmQuUBTyX(1 zc%S1isg60LrSqhVWI^LX@>xuC&1Vi7F3n)BC+<_3>u16!9hHnx{?MSpy!6b+rm*5c zg?Z`G6q>n7;893J=}m;?P$`mzOeRBqk{^D!M)Wbk^3g%!pd7J-ks)!B|s_9Yp6eR z2^e2ITDC}{RN(|$i#I&Iq%$CH$0^WdQ z<5Y>#^$V^zMALErOKvE3L@P`=WoK+@Xd5%Jp&F~I3X(=caTdm|rX6BA%>6ICg18qo zv@JG2HQIqH8y;o6W8!>$hv0p!>4_YOzdyEhGyz$eS!!(_4o=T1*I5Yq4QeEqli46> z?g8O=WWss5r4}CG3_Rn=d6FmgV%Ak*!0qBrDN!Ml&`zrH4G|VGxVTdu*7NAv1bF}| z$5ot(Lm0JYE$A9E#i4v84S5oR&&W95uJJR}^Pru9zX<9Bx*jwd^gYlNP)ye7GeJK9 z%>ms3S^&Belv=Popw!Oo1)UAL0hIcuO`vN)H-oMNeHC;)=xdC+DYJ&XTCKre!ZfL;b21&T>|eJUu)O$NP+ z|3#p`fX)ED0XiG>CMZq9{RX-m^cE;hF#irpleyS*Oiz=oe}R4g`Zwqv(0b7CL0iH9 zi=g(Pe}X!IQisqQv=yi`s3)ib6upw<0y+rP6?8CYTToiu;RZSqR0$dZif1c*6eu=L z)YHVACuk-pUNPt~u_N6NIu*1F=q%8#ptC`{gVM%r-k_^NdxE|W+6#0i=mVf1g7yLZ z7}N`tHgxL%dIGc~=#QXyfuW~mApJnEferv|g{~H_GxTntKA^O@&rr}#pu<4>gANDv z1swtE4;ly>2^tKV2pR&K2^tDI1vCt_8Z-iQCTJvR4d@`yxu5}{Pk;^vT?rZux(;+S z=*yt7pwKlb4)k@fc^?v3;G8r!qhvXotO*S7IYryy`b|!X`{OZpuIpJ z2lWMA0y+c~anz3lT?QHsx*T*YDB`Ri2Z}iBCxTKvoC5k3s8;?@ZCoc@V$Oy*F=s=Z zLRyFWD~xTBIkD_(6JuL(Cr%;l!F@Ah`(;i+{hstHV_(XgLb?R*HO79DIfe8mxYrr0 zmpKK$jNHN)Ej1xdA@u|I24fG&940}*i8#~Ly@)fWk1#FHYlFnHAj9Vu;7n?~0!OTG zp!mt_8?XY$!w}=$+3+QC#sv&`3Cr`@YP^bdoK#0vc!e9OY9vW^90a}bz8uvYp&tJ( zN%f^xuoR6zl%0Gf{~s1{m`Dk!5YMin&P z--63%DBU!sXb-wh1~csC7ZRW}*vbL*0?h**3|au10E%{9KLKtl_B|uk*oA5=o$GxrS2(QPCN%poD0v; z6DO93zRB2m+=)~0_N=6dF8qu`oI?5s_qQ0MMGM3!BpQv7cDhLIWKJP<0Y`f3B6XKJ z1rNkUxO0GsaH(8=#bwMnuzYe5QKObxYH<`?o7?|vp~b-#_Wiq%v{12b;JR7ZPiK3| zAM`G`C@0An!#~CL;vdz5Rk(&()B-x~h-v|ixOCQQ0UyC@?Y)dK95{#a(-@d?#i*^u zF)?W-xo#_uiCI%CSe!i2;lejAhy+a?aEWo12Tz9LM_Ni1nlzToz0eMdvlplbXh%?L zy)lZ>0`$aSDDVEwF6J3oL2nIKxMS&^ky7t5%Nl+vB$Vw5N9R zHpokEFZk`A{b#7ASXchY>_0Nf%c9B?XaAm2UZ^dPCV|~5qiK= zXEZ^|%$2j0A|V@!Q#zEhA1D$y8Z;R+A2bED05lb}7<3$HDd>1mY6BhttpJ?>ss~L2rLs;3 zrTlpeml$ReCx)5CDR@=Ya>kb8PMkt|3HRq1+bDAi{<2^hWAEcmoPwrR*k>26X2L&t z_UU0*;VGJKT!};lpubo(n~+Bg-wLvsTp*yHa#+GkN0o63t8?vcT?Pvn5oaLrO^}D> z6~MZ7O{}`#-pYvwc$4aAo{W@@5`aT1a2M5(6ln)8EYQQ9+Ai^iT2#$m_`jPmQs6q~ zd~tu5IZ_fT5D$rRf>hN}io|^;W7K{MIVyDO^F1UD?sIWDN|SM?!t>yUK*U9l|MPG; zax5QZ+oy3CaajS5s)eJp7I!@^4{i>A1s8_PXedlF##(JTulKgFHrZRw>ru>xS~M-> zC)Hl+_j8*zEqsi3o~E!A2OizNaiK2IRqg`sM}?Iq!>_^5akz|z!b*1(y*l+pWbpi= zr|{nZg%!Ov)ei^V54sujW6(E2KLMrw=tEG7EB&XcF&~$h<0DSY@e!wxK9y}r{;998x#i+EcPSwG+2#PnO)TH3``^R+?XGM3 zBtsFslcD-Rjj5;)p3G5!llD3C%sLI39Hl_qsZn*5M&qtxE*1Cg%w^&3&0GoY)aW|$ zjCL>Ps0KX19BFrN=2qk0hq+C-_hpVWp&xTpN-LS8Qd-3vHB98nksGGxnWGW%8s<*p zPNn9^PhBrEcLDbon7e}eI_9q8{t|OHaDSP(Tez=hj_MHAFG`Ei{3SC=nNs~CL$bf% zDuyx)vZy~sH$=5f>yMb}ZTjp4X`^ZS?9_NNcc7o;oU5-TFwhe4!4T8@d26V}{~;Ft z2V4B7SzUAYEq{J%+#JySFSX3}Jus)l$A=-tVw(8G{m584N{q(Ll=C`V0HlWZY1}}_ z*+u!Bj)sD=TE~?W?*q_HlJz&B6v|0ZYFST#-Uq70n9>XM4E_%U{T_5MC}skA7(n*a z&SU0KA1dQfpoEVCy$GDTf07?76#tUV<2=qE|t&CU6cs1xv z;Im|Wj*QoW{tnzA9AMGsTZ^=0I6^_8) zm+{>)z6aC=_yJH?(1SAW3OWy$7={ohh9Sf$c$qx4BQ89&AWp%xm15_@^^rIQwenoY zUHI9P;;fMN;!btkg-_unP9Yt|omv1F=_{F2aBW}1*ah5)Q}9#KTE?hm6NmRWcA_o7 zkt;H%kUYRq&bUZkGN+Kd!L4Jgx6COde{j@hxJW}}P9cSXqc+2ZKdB^6A&mt_EsBdY zPUaNS7H}e8-jX?m>C+}x<2O$BXu5ga!b29({ky;;cU+F#&{#G~onS+T8X+>4jZ!u+ zUyDY`=%yp=@|!kF^ibQRHz&VkW3@M@&OFE{0ZL&|MQjb~FXQLXDHHnxs0Zkepq}!7 ziVOWGMVgCCC=zi(k%$x1rUKg_%Qd{1n*+pXNQR8FAe<|RjO2g|xzDfu$jWF>L!s7e zOZhBbZkyYiPnr#ZMKoE$7~MY(_vS0ts2Wla zt)SH4z6II=^leZ|<~C4o(Cwhqaen|h0CXp)59lsXUr=&Sd9?>L2y`!K9B3VABIt*p zG(i3cbQ0*tpjn`wg64pJ2AT^>?x}e^1WL*I59l;dycpn@b9hmp*USHFK=M4YHk#EC{&VC(Q-U^uE#DlX|S zlSG_omNF_>m5`AggKdmdy?bgORQ1&Mk%F>t(&>Qw>>1UkrTTh`NKlR@LpQ+3=Se$B zFA($d(n+Q4?I^m9jeG`r5}~bd+1t@+=`;>(FtW^8LdXYuyO;(`nH#{Xbj2SkM0-0D zXYT%W$7LZIp?_?{Fg3GYCdB;ATFOLwJ7XoE-R<%j5l3>?g>En;(@HWwQJsp$-ma7^ zo0t(Y!ZOUq;!bgCK&UcwmQj&kQ}IvL2zdhk5=@BsdE`z&?d@o8Pyud9#w83LDDTN^ z5CqDgLOzC+IaztiX zhWYcj`{Qar{=&b!Mu@vHP=rO=fM)|BD;vp-Y$B5aRpNl}~Ew@0-bCpWK-fk}Ll$Jj=XOXKrMj=_2 z1$FrLcBBtvUg-DC!3I}Yqsqpmi7RUA?CoegOD1%TYngCmUccJH#@_BhgiKmO2A^u+ zZXV}*@V}v+9_(fCZR(F3%OElA8ibw)a5wiyiU0O?R7)tz-|qDYYU+AL-X)pR;aKmG%py5C=Pgi@ENdru-$+T|rv6a3+t?qkCjL;@-OxsD|0fe8FU$O) z!I-_Bms$RFY~l~KIQDi!a3{?>@%~>ZHcNk~`$t%2{&a5Q50$vR9kt)ocJ=5#5QSsu zPgj;Pk53ojPd05V?ah6Gie-Ed87dVr&P~GV2Gri}2JTd6HbhU^-!!c5EaQXJkk*pv z)+DSRK<(|)A!F1ZrzT-}vrG-{5RMf9rCP-xyq((+MOGclcYa+9*3Gzl0WOoyU))on4^!aQPgz8aa8O$44Ab7iG zfee$8E{L;Wqh-X~giMr?z9wX{jPy1k(`BTW33*aR?lmDBWTc%5*(D<$Cge*Q@iHO* zm647n1gpl_++#vKX2HfRH~wh=<>Cw*Z5DK4&Y5)e$eiNP`< z`1}_LI!S&P(16fjdK9h(g#1Z1M~32$lwpog^D7mZBZCQ{l$rd&=vX|!nvg++Jc-MM z_!F|q9HA&n8_f}lGS9QfuILS)w?EGTD`A6lmD7K$;=@Iw3r?x8KN3bC=Q{(jr?k`h zQt7mvKv)LrOZg=j%ZPm5gj}T+e&mW}u(T9!v`q;9NIM`ytL}shA$a7IXkDDi71opT zsKLQS%ygl&jn_#9s*)-XB>Iie<>Yka7C-r$dF89SEMx!u3r2uWLJYL zTC+xmWE#67?X$P@Bukk4KUjcai?JaJlUV26 z6%GF|6B`()4h>TK433Hkiwq74i3*Y>1HFTTgBm1p#+4d7Wi|%NigOzPTKmj<|EkM0 zQ_AykeprK@e8@CU1)HK`2C9q8iyEZKC)3&tlepR1>PFZ=-yv%Hwy6n-rO{SEd|IP6 zJD(fPjG9lR&aY@HOyA*{3+LWec&M+HH~?%K2Lj1kV}Vez1_I=;%t7Bl0ZsiRu!)}x zTKY*~BR|cis7!$~CQoFjLq^4`wZ&q`WF$K=QJsbDZOhcW?R2Ajz@g@RT6ZD#!q??B zvC1jT$khUkiyRdfuFlAYB3S#F!w42@Dop}8Wg6(1EKOwt4K@EuTeda=5`*Ky8Ud_0 zIpxJ!y8M#jMmEORHEKGpo&3h?9NO5Mk|LSFY>gRc@dbn_-!e>#GE5N9yPE!)!ZMbq z`MXwQ6;sRKyFz<|&^B7aC}*p1j#X)tbz^D%=qYGOgSQPIq6hgjpp8GX4)SlX5xWHd zF{P@Z3Ysq+3{oREv7>Lk4qt2MX|g8co9&Xx`5JPG76JQbXQ;6?YoX${H)wvLu_4h>k)c7D3KMOa zY!NUzB04M~a#UzgaY^9NCbn^LaUlr_p~4pPXN}y3L{^J;;E62!z> z;GjV7&{4P|w1GbS2aI=Uv_&JT&8X01o4#mQo97$nn51~fFThV_W(NBE4)z&3)OYY8 zGZ5@RAD@7L0F`QxpWje_wn|sT*iDiQpSvZu--N{~cB1_^pTi@B`iFfqNnmai%0|!Q zWYsxHk`6%b`#2$(01_lAL(J#$$R-AteIjuUM#yF8G8!Q1Im9O(a_9N!Q1p~RQqXSm z9+t%ENpMH9nM1HaN}nK0IqDlfYK9y=@1JUhTsz2JZ-$&Zw z9L@cF-V8Y^w;!4zN9n!V3^|&=sc(iH=~bsx+|11F^sl!yxlFCr%qi-0Q=^xBcAL+2 zk;GHD2Eo4rvY#{#Rw)zGE#;^RwH=421zcokIBiW1i{qpPkoo=*7UT6N*5rOhyD>No zD_188xgNLikMv-U8gGelk)h_#ntyF!u?aHU(n$(+6qhx*R*2s-8JL03Vlkf4XF0Pc z0~a@)iy(p>gBR#$WeQ+t{HNajxEiQqZzo*n;}Q->BVNq zkzW4U3^{6F+;eaLdx&#-(XnlAhXF#&YFKW zAa@Ef|EajMe{aItz7jKZxX4g^t@)=z{;8`Z>8L#Y*&1@z^pCoP)_9SePcM^UXdGb8 zzgxgBL+1NwBxR;A7WF6%8Rj`1ZSPDW=Ly2$TFB7@L+C7Aj|#c=w~x<3jFs`L`VLn+6$A8pyy*z-2A} zC|_QD7GtrcEXMh4tvr50xU-+b5}xHk?t$C*M{g#6U4cI7`8)e}0seJbjeJ=v)%iEB-xL(Ma^2I`~io$&v8@O%|a!w%D^k6sSPC#baD?+Y~ zQO;sKVKU!86^ZIIXuczQ~e7rYAFUuc2skuuwiMpKO{%&)2~sN zXJQ&+0FDL2w_qdOB^A9Vr~Y;Z>Xwnl=4X|aXiIW*s@{oxRPm)at|osf&L&lbVm%Db z{Vo$>zliqze#y!GO@!V`3XM-xr-Uaajf#&`#|B5!KVMk8y2ntr&n7t}DLj-;30Cve zlNJk1T;10_+|*i}IHkpFKUeoE3ws`@Y8psh^M6_DHfE))%|u}WfhiaHCTq}>OQE67uoqaIr$njKB6cr z$|zRnYH&y&P77D(mt^S*@jk%SeaOGL$;ic=r|h7YRR<^`u)4sHB9L;PIjHaS@{;)k&ejaWOQ(ADmu@Z#dcl|Lml(3F^?`n3#~@(9!CI#8L5yqsER`$Hgbc2FKtF6Cq`9U20TZN^s1m zFf9FWcBg?yOnh7+Jp;+`}(*L~>lHdhGawa6CLXvqq!6E-q2i0$^wN z9*974qXc$F0>t|Vjv+-uoirBN2pw^DUyr|~;*8v)%q&U{R*5*f2bslkff& zh+$Y#usR7PD5pn-yrs82bjCeuC#}RJE6QX9B~hz_zZB>ehN*uu;8)5 z9QWT5(@eA_EJG=x36M*x&3-mnifi>CF~gYu{w@}v@HB$gqMC^ock zIw2`4K5;DGXgj-OKN2Y+G%7feElEM>@HxnKhGh!!C&66zM#UlX;;=fF%J(~rAf9hT-|6{|)M#YD*DmYS9Lz7dJpt+Q6vm)ZiQXwQFvgDlf6seL&BNzoZyT5|? z3q@#9ZCSG^m+UE*QsPmKNZ1h-**sUm<5ET?Vpx;nhY<-17=D>s8!Idq^J>yS5e723 zJH)3_(2Z&W^~(+2ZWqWrgL+EpPpz^VO$VZmR)T8-=j?0n1D=*?a>Uwqsz#(fncSOZ zVRI@Smo}w5EER1H=Mj~CMTWXCAGTD`A8%2;Al%ta{rl5D)8fIGw`Wc=80j@Y-P2CNjM`LVLzCB(ag&LILbAOsj*qa@>XZ}Hu$G2!amZ@?*3-Vdgn0=RXnQTcwba7DLro42tkj zfl*;LqC(kEiV_yZ9Z`f?A{$0Tq!855pt2j=2kNz`)fFdDV+3ewo~b>i?gsUw2wP;U zu{#?Tx-nD2qKsZpw8qO?nKUXkAqLe@?vOEpc6Lvc?LuS1gX5AD)RBqtxTA9q4UcJ% zq`ad6f;u?~wKq6)?5Gs#$P*I7lhDYAbL(*>pg|AECdM?>HHt#hwnB`nslGoi_vKWK zln82y98eIA8gRLwxZ+yTc+S^&YiZ$%P>O=#T1Oc~Z3%a_JX#<%9c*48RM{I1xBFN~ zSkxHv5j-_3OXVgnHas!X*wm3Ol5#{L!;)jhvJS07Y~?;2Eg<*dRGk}i2(OG{%+XZWX`2o7}HDi*aV?bh75wNr7tbK=rvZ@l?~ zduvS7VCF|s+MW3Qmmkj@dbyqcr}r05ALNTi{0|tPz4^z0W4gS;pvSt_UoYu`>B8R` z?=oVi;au9!s?1M)m!>?fn}h}3aHF)l=^uQ~xuA8@U$5G~TPgia(;|#VC6;% z{Ke7lP58BSDwer19=}VYS-j-@WQTR?{!gWELJN6>@wBAM&mDKChD=lM``GaGsZ-ec zj`10Plyv#TA**=6Clkh}j+izdOQu>;xZez%+h^B%`(jV-ZCy9&iH@DoMKj*zT%X+9 zx5o7J{%X^Sl7(Ln!|NW#qg;+g9Q*ZTyM&v^&b-@tF|_qJ#yz|58{X>4K2skZ>$ZFL zl+*tB=FXn{Uo}iK?$YPVXur>1eskpkTHJ;WO@I%-b*TR*x#xe_>C@lI{~3C0T+H|@ zdtX|7WWnECJ%8K?zRa2+-@ zEAtCS4dzB#IgpkYd4^hJy-)_*%o6+$J=Tj%2-!fs&iw7`e z#rV3MjPq{0#%mXiOY%&JPQM2K8Bfev`}2SSsmfbH)9XBjzta)QhIuHZUFq8{9szZo zwscH#OZp62dhyoUEtq;|{DoPC+3wEyZpQ|n@F;p_-zqG7aHen%t$U&_ z;B~jzUL~K+D({_Hhdn$PKfg=;PtTGduW`$~zH{vM^i%k}p7E5+f0aysXn9fj@S!7b zF3UvxKVW?I3kS|sck>>yA)`1x;_r)xutg-}k3Cv;*)?)nc-^^@^VtU<3B+PY%%>^s z%CDR%(0MP}zT^0+qgkuQeT%Ue<6f6O|NOyit?qxWKsUAa-B&kbV=~4=2F0)USroFg z@5P7PBzB#8S(0`$Ui$R|372{%ubl9EmxT47&x*h_u!8)5sz=e3&iUV5*y^JFxK7%8 z7<;!c{^PQNmwY<@{Iz;irzzuni{VE;zG zRp+JmV~%AXdcg^0_$lL^9@>yO!l{GL(^-!c1{TvI#4C)yH0!gpb~Dz$>at|(OP=4& z`Vp^B&}J#^uB^Xje~hDjLNE8|s?GZ9V_1^Fc;L!E0yFjuJhJ1)fQ>7>6fnQ()zWVK05*`(e;Cv2&h$ z>>qr+$nsBKer?BPmvxH|P9FR9=Hd>CXm2t9uC)8TP0ySMWD56??QXX_?Es$Qite!fADnDlm#6!<9xAnf$`e<{EZ{#*e_gk zPwzE|0Z3!?~UmPucr+De#{S;u4R0-*B?(rZ2SJBil}Ze_as!_4?Sc&{0oPO zqU}8=EqSbPb!5t6bdl}RHYx26ycHZhBK_$@XJ<}b9yjl|E7;?P@!rYl=Tol-yv0^n7Qf4p(g<gF)zt$El!?Xi>LZ#h<$DVEHu|3Vr{YG-ZlBhMCF#pSVo20|bo(y>6d)cKe|3Ps7rt zV(Oal&fQm5`P_KmodaFeYo`6V{$;#&L)(r1>sHU5NrlnBeOlGt@%y&#?8Tl%jL)wB zaEdg!b(=5u_`9phRt`luG9I;kU7F{a^DgJQMPAr;&+rnwN@jf2`K-L8_{4NgWqLsB z*)Fs3s*Umg&bIU3o^xby-zE8H2EH@@1@vF-DBL-%etiD-<$A}GZU3aFueg>hNg0gS zzm)Zr{f%Uo`ls~auN;_${%bDda}SR{8oBpS$%(@J(=N}QL*06p@ez5YeRIC-xpG6m z%%yDyBz=ixR*cVX|5(XSzb*dpaj)p_V~#FEe$oSv($00smiHfd&v$$3%-F-p3+GRS z{xIHlSKITKwpA}&pRl*Tz0UP7lq2JAtD=T3_Z)sYZ)4>6rE#0Xu{ks2_dh@X?+%ZB z5?=6D@nBu&Ys>MP7@d zUhfw_>$!Empr2*@N%ipk#maFj+D_cQd}O;5NY`Y>e+v5jeB1v_?_a6=_2Et-lfS?g z28=Isa=IA!;|=fS3w7_T^ypHLBODo@?VWj_e@K$+pps4dvlXk*&h*CM746CC%=DYu zPkz`G)x+}{zf-5-KjR^fZ0izqtg`>EeeN4q55(CDAk_wl%p8KY*+p(!%wQt|S z7hC%>{<7le(-YSnZ$194-v8X!(-rMZEWy&9ah5w94 z?HK-3)o#OpH=hdn>SpcEQ~0Q|1NpxoH{8x~*3ZlPjqmeX z1@tf6nqTJ|hxUZ=c?**D51k$G+L%r6yM1dlE|~?YUXbp?^LMAgE!+J&v49j zT>IRm@yoW%d1cGz^yF>3*iYeQLMd-GQ@G+8Qt}W&AUj zUEQ9Tx$L*C(*x%W-hBB2zRqWSpz6^XH6Llimo86V5$)#*J-Ln{P`x*9S;Nw>bT+pv zqezv5*HcqU>-|=j1@v=ypR-r*c%EW7_w7g3B9bU`hj=<@q zQg&&6sYay!j=>|l{CveLMQvdkwphr~l!+*3Ybw$zw7xzA{n9G3Oxdc{W#i46ZJAP8 zQW@ZnIAO*49fPRWrs=9nHCo$3$uBCh!J%B_rP{pGjI7E2Hu!*y7n6^rB_)NXRNA1n z_z0||tlBosMI=xoitm`eS(Lf9B@ljRW@v46T&~0Rjb^2P`}f$5l~S9Lqv07%+v1GZ z#dLB8UdY`|TOcByg)`WwM%z-V`Ng*9o~)hlfZuE*1}&)6oX^_Ae{G2x=X!}&Td0Pn z*pON|wwQY7ub^!30cxCItkaZXGH9|U+qQzE`iR-&sU^j7J7`0pA;Yy5S+*r05A&V) zYUpm1PHv5c*cJgqzD$#AgWJY!;XwERZM$7}KyS)y2m_@f7J%617WGhDVr%XqY;AQh zUZ>qv*_4!0PjRQr;kTN15~w5v9gtsKXiI}ay}TAtXn8NMQI}|aMZB8Z2Fq;-vYq<= z7BoJ0(Qq3-rJ^236jcktMc%h8qJ?=G+Ps!I!Mn|tIiSxgg$wJoiPhl_we4=yMO&?< zd3D=#9yLZD(TX9Cwi)GN9M~F{qh+;3Z8TYUGW4TNC=Ib_z@G*XKe7by0?mgXD%M=0Z(w zMiw;yq88iG@S}&KnIU-5vQ&$n1}VNxRj3pj0q{7j1^Lp_(k-`TrV8p;lvQP$-l7RA zF0`?N<{_I!M%z$OSXZZ^p^T}dZjxrZ#NI)`srXwrNS(eG$*j+?5wRQsjlBw$v#(9%i0k`45&}QWx9ODrUv6 z^5VNnTXtDK1`M{2h0#dy$2PV#7{=6OSE%ng8ffywz^A2IiX>2TsnJ!^6Tc0v5p0>Z z%*I|aCqEOpZ)z@YU*#K5;bq=U^I2J3ERPc6mG6Pwen{8uvhgqXSx%04j zq|h)-XlY5x%9vZ8FTVz9LBAoIPTO(}y(PX{!skvc?5i^6?xwjaLjz}ZMGifZv@~l_ zMZ~&!=&5ZbBWLbpU6JwikM~#~)qt{$By7Hvm8W`G<*mstRS`Ie|7gV@e^o#Hm0BXK z!ge|A(GXRC_U!Il!#h9rZlLe~BmWSBj|d^)|F;kjrZ0zypl!<~;oR0dZtVK*^Z4KV zLkL1C2HKj(Ef2v|t~TefPzyg>qio^aRObG+mifPWXevm5e;d`xh9FF3>u;+ziVALP zlpDJ?#pZt|GEKY#Ao9rO_DICn_wM3na&C&CpRMhqMSPliXiBopHNl1;5U8l~cUfC( z)hbcQM%RdqNQ14V_AlOLp)Y%F`k7ad!1Cr-hK!#>2=5!{Ir2jz}t42!tkJkjBwwPIfZl>+-%0akU52P6!IR%}=$tS>ptp>M%u@_|y$1#D!5;er{E1AQoJhYaOF=v@mNDqQr z#F&rFDWq}W9%n2~<`6EpCm5S8b2#}2++xOPyK3T)2jHG$>aTdrjtWpgXvYjO~{>1)b9(ALxEk<`le*@Ea_59T;&6$+5NAu-QdY$ecpDAKZH^ z*G=XW(jag<7#k{c&`EH67#kyVNE^8QjOELmI87-+^7Nc}HgC=YH(rd`IK9KV89yIB zkF!nhJl7}o(7?-&BHe(}>`dwUwO^zlEbJ$fAk(WdO_yn@O!YEdEYmeIJuTBMGTklH z!!i}VOW88j$TUZ$xiZa@X}(OUZjzZS2ycBXvsMWz)BjEb&9KFgv$nV#@hv7+p)!Z% z&k~ki1H(s9_(G02Z``pw7918-Gwvw)gX_u|79I1ZdyY~VxSou~;NF|LvAFkRE)91q zz=bb`xcf4v!+j8Q({Ufd+#KA8Gq(`;k<2}VdoXh=ai?$``B1h<<~HLV&D;mLWAQI+ zKgFGVca%=!p3K}i+_6L#7;XMl#T*@CF@ZTHxJk^>mNyh1M?NTqw8v2z0W6!jAaEJX zjRU7=j*beM!(2AF=a|a_N3lhE!L4Dg6x=%Ibl^5HM;qr*3LK^B;I=TQ2lp0pbHHt5 zZXP&FpQE%8+-~L;gWJd4GvGdAPV7(-iq9tH{a)|^XJ~wELh{&f_2}^N4In;b4o?hj zjN*IIuz32UKh7uz1Rq+DiZD8i7!@}vDN42lKUQXAd-`^J#DY7rca%d zWD)*0wUHw;gdJuSVzMf`TE)u`v+;eZ3j3Dem9r`b2U$y5y0StQ4xgg$VpYW@I#qsA zX`!YFCwODOaJ<52sq!+7RFtp9(v4gdHfJXJQY>gI#-1jDjv9<2RFH>6(Y-8spS=IxbgnC`7g9FvfmbOA*t)$CK%-1?)^nZ=d|$TC$9g)OsSiP&^bfTtspWgAx%O{YAZmMIsA zrXWYQQC_45B9DR~pC7X4b&GwkGjHS)AR#-x!=i95cocC8@GlK@{648fi2ed?!p7{PG@^dL}a1k(kmB+!*X2Ex4a3_-5- zJ_Q)JA_@t~1yYhRyP}}h0eRl0_!h|Vl?9AGCyb$pAlhR%-YUcK%f2Q*91cV{kOCcu zWFp)gul=T6k>>}GFV^8~<@tW|ry+03BQEz{OF3qt@OGvMAb(8?Uwc#6##np~sA_GD z#pS@cWK5x-_%MjrTwHO}e?J;vq0_(6` zET~fDfotK`vaA!#$~xCn*5tMEkAvZWdJ-C&x}@a#3ZclT2*3SyD7U%?1poIl;pdw9NCxcv*xk2_e+`4!UoYh7$iUy#->NkKCsr>nQ&)@3)7rw+SNu+l_I;Djbw?g%SUg*?ECDn!FN zQAw!t5sDNEPAC_(>jI-{C6p^2oKUVJa6*wD1t(N~2{=*xR)7$eDT`m3mTL5;VYzIy(Cf9woYSHq)bo@OiF@ zd)CB}MjCKA@&mf?Z#({rFm{0x*gMT=|kPMYxwKvPNS<-No20v7P>MMnUKsS^qHbbN{HN_FmvuNm}NHBJt zXo+=?ETXDLF3i!enwbug?vfF5Adiv^Y7cbOQ6emK<2rxq;e1%D9Q3o<03KEO0a^g)J%S&PC2Qxpn}QIH*RZWv?I*%%Yq z5wLAxvYNA9?f34v)p~xY16u&C^dfYk{oVuSQ0!Sh;4ec%IuNa<$ zfD?MD2B(6s2Tvt>F*na-OAn&L#VaQ4kjcdl;6!b?431nm@m^(P3 z$<*!(O{UO={sw~+u_9juM~}V>*yrisgfF$=gwG317(K`epPvUOe0~X>s3Wg{6JhK% zVIRR)qrq6DiE#izeTyTX;#JBVcD_jn9vdYkVR?E!_TAK~ba@(8DRx@IvmWyg@Wb5$ zD)CZXg$b>)jIwI+?5e_(s!HA|iXXRC*oe&nh%)|Xe`I&~E;hRo-^R+%j4Ew;X=zEB zPTuIL@t&mYj<+Xm*al5tv=~8lB6dEq*hR=0K+(4?+uCy%IC9VSfQu5;CV$)Jw-o6&WUHih;!i? zFX9wD%OtSfvYbL%3(jH$fyPy7ei;Xd9(C|VuHn=piyBTnvZ(bv!HIfJDW#&IXc|p_ znK5Pw6$KfR{RP*HxCTiPjk4P4=0VuS8~-4yu@$A54a4HGlCmZl4QZo^cE_xz3vCO@ zvxcTqzuW;j%b@t)4!csixKsYo#(}gDiUEo(jS&j53=`TJ?=Df11>rIpik4R!v5z__ zBN>ct^+cC~!ipvi_3c5Ifl^wQgHllRSSJo{Cr%vPPMm^IJQNsJ6M?M-XHir&4-+Qo zLi30u9B56147rjgCI*@QyS>Bqdro_?cme0RahApFUrLvH??haV*d>x;NSwC`qgC$xh&g|tStb>T^8fyt^+K9tM0zM<5u{x2{UyU-bU zE7ei!D~gzkR}?W-08xmf0KFmSfnAlwTU19$WwNEpFKqjQ69r3&6xc9u!e?s*8wy)< zV_C47upDVoutql_u#0P4u;s-qD_XP>T(h}qCzwTq!l1%+0u7UK4BGX?&I6^wT>wgt zA_mYtpih93;y(#WaeEq+3UerOP823_qA-cWn@`!+h2I+pEJc(bCRkieJtR$DwuTE~ z)d>CxUT`rtLXTTT_gY0aTSe(9y{W%?E2ys6QcjoF1c|-?my#jMVSZau14ESa{I<@_ zxXy1&nPdo3zDNpZAs6KQB8f4&4LKl9s>1_Eojtf2xE%Rq7rm(Wzy_Y;wYg}U9%77I zXR8C@k{0uk|(@Q4qx{3SK#L@UejF#Jg z6LF@IyWlWj;I_j z51>f9p6bR;(BD9D>FYuN26cdc|A4jy1*Z1|1*Y!^ifX1;fjWXx$w2e;ls5WLdP)OR zF~lNH46%q)@Jl;^eI&~%BvC0X2E!N&w>8#Q2hwK4hm*JgzWwl*O2o1>`vNmJmZjO- z+!DNHX{G@4wJ1&U6N!CFuW0-FtvnRc!CWI|M>F0h2(`fCvGDq5>umnjkspg*4It1r8wz zBq7b@geKxqK*4|wMMYFlR8X&C=UP#)V88Y*da+_d5xHKK|NE|)y-y8>c)#cOe3R_6 z)?Tw_O|%NWo&?wvkm=(+Ya|&$RE-c*HA2iLi>!+FnC7zvz0Pjt(6+OC z5c zc}{_E%khXw7xhmd**(aV&4TU%n4sw;C@7+(fUJNifIR`H0x}KL09lZ!Qjk+Mrur$; zY_jG}EX>%beQic-51>-S#){qHX-|m;tHNWa>B1Gb$Rgq6>3oY!J$QLP4VYorLriuT z8IN36!?^aBm~{1V9togq78(1LSWVAEkr2hKg^O`w&O?eQ#VR6Vs)&fGB2u)C;8(Ow zz%Xj}&^0_;dFUH#3p$qFw-9h@Y)AOjPqjX^6Y{jixwSCbq74KV1(qn;jiCx0srS>& zF`&`WkIuK4Ye5_1qnT!y(eNvB7c*X6Xn!$dw9LmTM$0oP`V7~nK3 zK!taJ$)Xofh@C9N6}UoV*Un_Y2H;mce#Zh+wBf+i1lw3(gHZx%e}M8Wwn9v^La-}W zA?mCUODtc;sVDI)8Z}LYxDl9&;|^dfW%qD{X)@h?8i~@-R|7YI9_OQhW|({7H^r@i zYO;yjL;m7H&3iO)jK`xs4mdLCOTD3PRm&Y4HxEH*lsl%BCvwb@r-GkwcP%c{F>TaX zhFPtNgE|>5q9+2fwZ;PW280T^5&=g7CIKb@CIg-Xm<k&3si#J^ay6AO!SZD}D&KTqlW>I?xfZPyn2G~c z=AE+FhDY?Fi+FW;rg?aZpT0 zX>=?p+Gr$DhK3lfi8K9+VmR8Muj1?C<9`MGal9jcjJddO5zH-rPYel4+J0bz5dI9G znqZok1`H7mhhI%p;n1_X#ugl`h3#N|6=J3n!O=DKFuFtnqr(IurkYhx6@&CMa8GS8 zLeYjBTV{*E9@=Q+LyIe_(E61PVe6gesKvDXF~+#a<3uFd{X`!BIWCfQL-!L(kN0M- zdEgiC-&NiQzYov*Z}q*&f6&KYiXJrbyJsvstrN?LTI6Y+E(%sd>{WoARc{4kyTdxM zi!J9;K(?970NDcW1Y{lIKt$IzK&;}*!_|#|ALD)_;J*Pk0UiJ(KlSG}z~2F}f7``6 zBAw-4fvc;G5s8J#EHp72AIpqM;0!Z<)0oZ3#=YXh@Jle8ah65HSU}TiELy!qLp#u6 zms+$-EZU_OZM{Xi(W2d9(eAcryDZxC7OgW<%G_?oWjY=OO-DaEwif1`_v{aTMriXM zx5hOmvK1+A()auLzYTx0wOj=ZBOkBuC&$vCAq|-*w)yy9BL36?HMM>W{KxyWCZ?GZ z{)FGG0IkVdYciXYicVyTdMPYGb7E6r-gHwr7PkiuA3n^cqFa+RnBzb{WYX~(y?Lga zw1lsj>qju%hLB|OS;d8e}{*^yX9~y$aE|Zwj36Htft=`tTcE# zAp4NeJ0nY`* znzrj^z^?(f0`3E(mVXQQC?NT{A!t9~vw(QB!u1K@LBL-D89()ed{hHkhpq;#7qKuI zWe~F&$AK#cSD0)YB4#t@;8*dn%__e67L9FI(Jr!RY_p2C&Z4o+D%x!pjcr!Z9r#k5s_vj|w zERCG~!f8Z?^Ww^}WgeoQJ== zwHIhAC9(Y2+D`_as_FYNn(l%7gMcj3Lx2f@{{b8i_!}U{n|}b70UBrxY}H)=?*+sL zVb^njT>;s8ZGd|Ku@l(EN!()q*=oZ9**``Aa?*An;N^g^fVTh+2Bc=61b7eN$$+~6 zPXT1>912L?9uD{p;OT%L1I7b>4v3R!TweoX2yi?gTXhg1 zoa(b&orjjdeKSQd)LR<3Al<%-4HDMQZ1I4YO%y@oK}|+c$jgl z#%#vLz!YDr#%#tl7VUbAcDqHp)1p0W(KyafaWKV7-isEEc1+PeuxL!VqA~3%EL*Ii zvBfIdCZybZf>kK)*$hnV4bx0suh;}bL=^+qRM%8_&hVLd=e9z2wL;GI4(X0`JJM{p zZ~w2bfHN_@SYWt9M7!D4Lga0U$%1jDdkRt?C2I$YHW9RZ&_ZPPcCh#sgVtNHS-=!u zH82&n-lDN3sIV6TQ(-R!rc!VNFt&{l<97UBEZDvHT`Ab3_+2F!$H$il_9}i`1!LP; zE!e;DyGF3@@Js0-TSmsY?!6@pVoV2X>pgEtvqY=Jl$(xm>_H;JL0E1QF&-fr z1lSW0PckmfMDTu~z8?$-b$8_hqUE?)TLS(R_OC=p&wz${LLgB$Le$q~kfAnBsD`a~&xbGP8G*_}{Yvuq3Rmcg z55kxC4CwnKeX;ra03`c|#pdSF72ky~=Lp2l7k=Db&3zmXwe258e-=R-;iKt4ziofK zr5L`vv~B+w`j2kgKbHQ-w(UQJ{+zjKBYi{Z|8^k%*5_F|yTg}nhcEU;tE%G$X{kdX z(I(Q*L}E-N)rDEXDPCtRy~kZ}0zR@7SO6$h7|DnUxkS8GC{ zHpf|a=9X;r9$D3=C<3L0wKdhE8OwG>1b%hxX^VAkO|{v1L~UZ+UJHMCN6p<2jNIYI z|F1BgH|E%?l~v~GhBhL^7>HkG(ND5yaln*C=e)e?KazmCaD~YHJM|~ZI1BemUO6x& zuNIh+caBB70NB;ILd58d zspZR&6(xnptfTThZ259kb*uRH1*UvC$D-m*0QL{@J;U@48>*Dkd#|h@7IjMle1Js(zKvf|m(x5-`=T76ZfbI6|BSO!eopfT{j` z4zQIHq86Cy&(8sNh0qoNQ$6v;z&KwPVq9v`HULv09s;Jc?nz*0AhsxDH!!7FuLDzh z#cz}-+NZ!&h<(7+$m3^Vs#ftFug5Rlf=ya)U@G+kfT`5uxm%~6ud=GN;2Bw$8lDMs zsZ9o^N)6+BJsPP5rb-QCd0lFYfT>bj227Q~8epmn(7F4~P_2hA9sTGy8tDzld-nLt z;UA;#0SwMi1#51O^$sAXF@R=x&QNvIGgMKa|K#J(8LA+8dQ|cJ=;QA@L$wJqeAjT9 zW~Ol+V2M~{+~ARAHokA`z+lLEbW>B_LnA)nor^@#nNNhP^?eq`s`Ov4@7;?fvgUS3 zg_2*UaSsZmAMU=@^z*TX#udq{0Xd3V2RIt=8o=>@8vthl-T*io5F-rNV!)dK&j)-8 zFalA(1lR}gWxzpzn6YtjvHxFyShqFMW?g3jz6Hn`!gl~UyMpI7R}tVxfY$+j40sD5 z+Ovy;p+5k(0it_yJr9V!$Hn^l9Pqz@nCEbHM!xX$8v;(xMdKFx)FX?od^=AVYA3gh%1sT=ogeRxa^GY10)9$!s=Jq ztu=)pbz_-Kep+Izxm|F`*%VuX_n~9>0xw@{)2YXMnk|M^EclcFf+bjf7+{UXJDuj} z2LnCl$f_w;q%}1)!m1e%bi$Mp{#xSiZ!_>_+u7!;ZA@Yasx&=_ zcAA=}tS%plBS!}9@veicd7rh21?fhl>``d-$eV?W^U%ai{}X8qG48JpFr}K%WTy$n*7nK;NAhOf%E?E#Oq&9tEEOcHkp2(y36e>6A#hOLjkCzk_@= zK`GVbCD-}YQU((!tN!B0u)M328B7*MIPS`w3uU3>cRho-$XeF;O`>u4NXwB>I&-=I zR()^INj~Foua+sKhx$>4l3(U|5AwrSvscrxUgTmqOaSZ)2rKDI1)K<&4v5EH7wZt? zG}l>xDS)#9VFg{(mo&gz0LgbNAl9#3y8vOsWV1BZyIenMf9g#x?z7Xxe!eZIwk^W6`d&Xg63ij;577&eEwk+&vQwYgDN+sW5*rtv`xc z4Ca&nDraoy_)$o#v2^4n0-qj>BiJg^Yv$F|TRqnH{m_+}Gtjf(#ddaGQLX8n?ZIiC z$7k?G?dR~KwrRBaNE#nVGKV)xa;1l4eh&z819dT@0!g{jl2Yp-Mbd{it075sC}T{M zj}B!t5^Z$>yjLXyYAX6Nb~rxFQ+@7pJnyaEX99Yk34xM$la<68Gl^E9XpfX?qE$~r zbv@w~Y`h^J{H*m7_Svg4tVes#K8YjeK0&l`G(HL&3QYAd?1_|Bp8)I>;Y+e;TnAKE zy#$!D>K6c0{R*F$RM>UER9N;uipDml!rlW+g?$p3>Q~q&t;D6iEu%twh+@|uubm$ye7)NW0#xa`0W>{DaFs3`im=8?FaXv5=FHM=ET?$Oado3^( z?@hpHSwal9EQLJ+OvUkxg~5>d^+aF6mo7$rRZm32OWrVCTn``~gNyEBRF=8ZjC>eB zd-*>jJxQqW*5G%skAH7G8<}hQPXIf?$A5wNQ?lxbV&U(*`pz_y;|svE+USWKc**+z zliuhYY#s=UWN*a2siIMCIbS2U=g68pdt2U~gJT_}^NIoC$eq_taL}2LQyjC?ji0C< zr)WLt%+BjRk9%{b`ZdKOzbqs6TzrPwrRnFx(z8x41UwaR1>gukSWVY-z?Fa;*=+%= z1Z)Ld4G7!kdI)e0;G^1~b$2=LUk8L$lbvU40lOexhVKe^BOpgpFe$DLfExjC1Kb37 z46kCp5Qh>JZ~Ad1F~-E&z{K+T=h)ERL?{V8~*XDXd5+#UFQ~Un?-xfqV2F~ zFIlwLEZSa+#`05fQ2W`&V{w^IlpHs#Xgc5Z3D&0Xim+#x>1}B(_BI}Qjl$gB)q~1c zWsRZSBPtdcbx)0`*i3lm-dfE&HKL-@dMYI|^Bxqt&cQL3wJIA2vgw!yYE>|xSsq`b zmgxTtAVpxVM{2DMxLTherq(BjVT~VUt7xGbbFcfSg2Qwr8eu}|Sjq?>_J**CL^#vG zD28`P9^8Ih&*JiZ?}suOwiwshZPh{@4*v102PGH5WM$r*5OEhgZJxW}&1z5uZ&pL# zp)AwyE_hC!u=k^@=;OK5v_KK%m-%2#bOkia>@Ac$^Y$L#v4HOba^(5};5fif0nY&Z z2$1>bJ<~ZAmwI`Nn0k4On9Vo_;uNi?#%!|tThWGEG?vXTxR&EG-IW?)-sxC-Of7kt z%FA)lnf_Y`u?M3s^Q`9Wh@1Xj!oQ22HKQE%(sZW(=o5Lz{HWT07|^%pV44{A3S85C zYv1D&9e$Os#3GbbzRw0`vrURF#93{U%8(`IpP?tAWg!N+XOhj9$LgL&xp3#0)%_E0 zs)VF|m~PfKpF3!&=`gG7VmVa<(wa8_rU5nrW&=6_`Rv{TSO&NVa5i8K;A+5yfSem8 zoe88yseQu4)IMQiHon$rWTMK#WKEZtO-AjCF9r9CZ>q-7)-Brb={_fO4KFuN$H_gX zV~kv1oWtYd@J!=Ul;IUkIR0-wyCl(^U~HN4b;IQ( zr&uuwES2D(es(-7d9i68s=ipT;Gi5Yf8GqoA#i1yN?i;N;yCMcVE-ywTBT+<9 zDfRQ4_=yEGE-5bflgB$QTB_inp7^CZ_)^ym?oewLQQDbzsBZ8H4vN(Ni`UI~+a2mL zO(lENk$m1P~=E7aeZ+!Ujr|wXkXQCsI%IkkYq3sau_0locU2qWP(+#`h z(Recq(y9xJJl?TWPu!u#?JC;u4mC=LB9C{dUJ}Y2^Ca$n*+Vli6CsW~-l1S45f|%- zuJ4!o9(2cbwGKrd?@(+t!9g79(hYoM+Qsfr|J0$#;~k2v#;s#(Bc^(^0*qo^>%@TRMLq$ude)y&9G(GercPQ)^6-OTLQ0NU1m)Uk6J1JtGJJdWK ziaaW@mxHn$cmDOxSt_@j6-)1IHp5^{uH}#ivCnRXpK=^I1P9smoi}(!hY}v~`T&&Y zf$7+tl?$D*b@lXOu7iWvgV7RQRk9^tS#jJL-)TAhj2Kwt;U1x=Il)0C_@%@ROA_vP zhY}K~C-{ZxFQKNPKn4NZa_`q4yF*1$5L|!1Py;{>4*CJ@=0srKPx}@6gBx)t>reyy zLdC#8IEd*a@8XAcU*ZlmPKS!|3pG$e^*|8n*2>3AJxXJe4mHp(6mt_C)Cu`wX`XQH z4rCM}#Fgn#gH$Mwo`|^#4vN7q0vZXIIv)biZlMk(JYH5J797Dr>?7zZ4{i9+tu3o` zDDrsg>R?cUgJ4j^r5DXVmyD3GW(C)e^RiMyfxha={LhW=@ z?gu5ti}DI6v0jw#KwmcN+MDgP3Q!z1O{p%28#C`3{7lBafmz0ZLUsIn0S$&h-19MCV}2d0xvQ zkD?s_r8b}(bf1vJF%Mnqwf|jZhQT{zS`K-XoETJbV?a5>!Q<{>>xvJ(XokU?GgJ&X z@+djEpg04{IUPK1Jv?U6x8-IStVC!z49M)@a5Nn?<{^OcrGYr=JwH)#& zIWK^+B%mBx9{0%Vw{t)K!VH78el3SQO3t64xB|)3(d^{N4%3PRD!ZHpd4zs+m5Xc?!49vgBsRy$fM+32g>Sz zaz=?9GhasM-?y4!F#o3IkVnaR9hA!h${8(kIAW)}^UNrZ^7%;1A&-*t2PjtslrsiA z!9lbjbbr28iKQ|X2IZ{9lLx(w$EbiUJUEEIFdN2ukN%Dz5Ra#}%GoV*)zjZN;bE_! z%^~apF;6+11qlvfd!cpg+4-R%{&L0(PppTWGyLSxngj>U!tXJ-ZW(wfTB2`y&J-S! z&Gbz0lQU6xQt->H_s!_`pue0%;W>a`Q_e&`Id*tI<&tFcG@DzKb$L=R5 zS$Now1mik!SbQ&kIZQ2T&_hnLpPW?TVOl6>aAo6-{&LcU2ZIbNU#Wg_(uIek0_w<{ zCqMnLznl!=c?rK}`K0^F$rK*y6?xXJExE^EPL}X^mUE_`oNVE_55G*)>|wz<{&FS> z53Q$}o@_rk2!=AOz%NJnhxi`=ocUh3znm$;gS7}tPN|=q zslxLWz+Vogdl1(H9&)BCIUe-|V+S73yvO+QFvr0`>@{`wjcvC92mL5d`BC2RqkQ5=`PPr}A3sW{IRrDz^z`wgoaRSK z^rM{ZN13ZBV=c*x{dg|&qpbC#-0VlW-;c7>kMf2eK7EQ^qC=Y8&u|?UbDTNm0Uz(C_Q9ja?Qj7AfrcAXc zhc(4+QMzm6l5A1>YD&6A8Kx5PG&8QMm`dg?Tj$NL$7ri9W(V;uV?pSfV>#4XpM$kWN#iaY(aGJK)OA)kG2HWCvZ zDRxI(jy*Ros~|UbQh{B4H;!kjCB`Nt*-eh*bbEesc7AG7zRBW!)|xkShCOpqc1~V$ z!6YpY%${ekd2^@O)ACaba?{dGX7|x--i*oi{G_zJ?5xx*4^DMtn-^oAJv(Jmc2Y`K zy5>_Sxq0#A*i$AIq~>I%=4l=t@aDylZ%@rn$xlnlPthFu+&3?#WF$TE-IC)Jya z$GUlQCfoD!Cr!%9N-^cR&x!M9OtI(XWu@n(q4-s8c$^mJ&6#1($wk~(*qv;Yy@oYLT zzT`YGW@O~%Q8*wN2>q@dmAo0A}9GG9n@F3~e;e7&Phl9!E{edYr)$2n!nvBoPIVvjW)LW`ICM_c^ z8Ad17t`Dg2D!bHVdwP0u?xftbT)TB}1xmUKMb4uuSm^pTajX=S-Aoo&bai1SC)-m} zlT-7uaZDc+$*nxS&+XmY7}8QI#p zI9QL~ya^_6u05?FFC`erijl*tUG%+5{D%uhupe#DCR4nNuopJUHS&M(MJ z&CK%+@1YUifyY>ZQ|yR&Qd&-0mfcTPyu*yO!l3KS#&{+V;~CE|mJWG`8)t?qu;*vz zrl+8;yj9DaJwDFlhY6aLo}8AHmzyskJeAHTj9Viz>;?HLlhP)^mIPEspMaK9j4MdV zNS-ta0}M+|eON6`NY1inr03)(p-We`z(ZwKW6>c~3a1qm=c|W4M{-HJ1Ea@^mPW&o z3cD?jf`YMsRW$j;Ifs`99~PT%WG#Q@qMPC~XiJ?as@#;fGF^@5u3 zE;we_^Bo4r7-2X#3M!bCQWWnfD$1!WTZHH`9r;jT+%oDU9_A}gxpHIq@N5)(2GJq? zqv7DKirIr8$0L|$UI>dmGQo?+?<&`08C8jLmhH2Jvk*QCp9}e)t;D;I6`l)0;1BD zm{6`7ljhIG7%wv?KQAl8o*0jfSBddRFUPXd^PfI)Y;2KZinY0 z9yuyH;e!E?_YLQr;7-LA6HzeBmv0p8!KJhCNzgKK;nf&if%v$j^Z0CRrY$FzS_%ln zcQ5?*gXdV0`ajvhGPOdQBPtc83FmYOp*njIlg=z+j+nun=l$R5AW$jUpy9H zNTa;v;M?>U@@R+dY==C4oZ<=aeK?oW)h3QW`Mm^wsnv$@3NE@3T*4P1AGR7{v3>&S zJ(o55w}WpW_)cyIAN4u29elKFIHcXn1xg?7%iMPG(O#X~4nEqAwe8^R3%)zr!ACvc z)eb)D%SY|x`>h>(EWhLQL^n`zfy$5hIHetY>_1Z4$v3SXe6&{$f%tsd(OB>;2j63w z*V1Q?#XPVWp=j8L$WzBVwNz`5!1%>S-Z1!$0FOiSar=R^4C&%YWKUl)Kt=}Q4U_#AvT02iGNSD^GA0{sr~+}uR2w$nEi z@xBS3p-#m&5Fn7eM)1vV!7F|96<=HFI~Cs13-A&KE;^1c1Ig%br#eZiH87Z+Vy?Tvc%Gk7Ll zrTE%P-?8Ak0z9{0t@vo?0;O*j_;#;Dom{Kbk9H}Lync}P>aBRW?smo3R(|6kFMbQgVp|noTlEnNd1u~% zj}hGEBhN<<_=;C6cpm*|@v(jb4dq@e@Dew_{xQsN%Eg*C%~Lkl%lR z=dH(m z^^ED9EN^aTX)3Q&Xmjnb_~CKGl#Onm|p2<#;PR`Js;jMy9TGVOo%jMxL1f( zb>1TNWirCt>hh+B=7u@Wm?4Fy#N;bjOX z>|f{}x$sQC(AK(SEc~6Ow_(Lkf3@H!OOQ-u04~KLlXoMLglO2lPDW~0Q9(}9w3Ph3 zbj;Tlr6lF$aP~C6Fg2|(D=)*5l~oA}y)_sBkh zJh4O>i`cdy!$C%Ifdg}MImt;WlN<$wS^0%o#nT*l`GvVjIXFFCaRmqF%E~KE%E?N_ z2CnXr{RRd~1tz8?jX436fiw<4Q0r9%L$B$X`QW54E3a(^nFeMdTzq_h=&@FgS5`a= z9>tPbUr}AL(1(t-3QcEq_psEd(b8CyX%;_0$BN`pU&?v;r=uR5S+w0FBLYh(rCnF`l(1CqbMOpcIj@+bd-i<&n78+H^}b}7{Ztry*uc=p zfzaq8^qy1DduBE?&>C3{+u_7}O`(xnV3ukd%FAjiC3fVdrQ9hIvUL_^ot5S&#?zRJ zAFGoR`O^s0>?|vv$J9i^a|4o-oR#m$O)JKtF>HHiz zU}{v_R5!bvRV3v-6-8yP&4RNJIAfqOT!mGugATr@Z^pz;?&!o!ncEPPUVu)U>PSs0 zPLgc#Y@OM#msm`ONa|pzswC_&Oi7j`AEOAYFcvF&?*--9D1(Awj(8kbK~ZLYVKH8` z3yo~#ZAxZRp?FfEF(j)5FV&+I87uG{Mr7roEb>y)MA?2tTDTZ{A~@N23M(6H%gQU8 zQyQ8wE1L3J>MEP6%Tp_{Xo+5t`oxih?EKRjNE*jD%r;BZED8!nyX5U)u*CY-wJ49< zLLsqKZ;nJ*+*&yE9>VmeluRi?^W(iojYtky=3HK8aJD35RkwXugwV)4kSSHI?#8Fv z9*ZuRMOT`SVG@}`Fv9aJs@|HpTl^i*)U=@8;64pXLN!t`Tejq zIz!lNlIoxlV`gYCp7v_nvLS*=KzSRgVKQ~#k-h^jQ-nr#!=1BEnkX$ma#luONvN^e@8Pg4A=%D8jPg^)ge5z>JHH#Veg2t>q;6^Kt1f9+pIzb|6Z(mE`6emao=a zbeER$vJhFtsoeY?8X4}FS8M!^6thZcm$>alTNC!eG|A;niyEB`*qLM5ZbrzC63v1; zOZmAf7O+`F*r=mL&`6x@8?PR*Aktp&rh&wcp$f|yvJFqux>%HzTabg6svqg_qH<_t zq4rD3!9J^!0!Kz+K7R3BnUa>{=46TU8Q4)$ga)3JQk+%FN5O)^v?BBxX=0zgb?Ym4 zz`I)?oBfS?SYsM#cF&zrMP7Y_u0rYW1L_i=Y4|*V%(6K11EpOWW+RkG+7=6u))Pezo(V4N?6M;~Y7mUl2R{xP;`Q z?xPy+e5S&7!^P^Wz7au}%q_cT;f$ZpJ^P{8f0}q_J><_rf+B*x-!psG!R8k~zccg1 z-dBzMXb+~Pgue2U64&XU4ZnNxosWjU{Nwq<Pd;mVfBRbthCR6}a_jX~B@^(r zSSQM{7uBxsa`Ao6fp0B-r&q5&BQRAf^xJK3tevs>-7eD}81m zUg&R~79D%Ub#TmLr0O$1T3^w{;nx?OnF&{%KunUHHD0(3|IU>%C%DR^R9D zD0z0#p7X;EW24YtI4@*w$fj$*nReZ_<#%j*Wh$nYh2E{`wd<}P-T!cE-|@TZ-t7-d z8ilolh@h*kp5J5sgV!hjwx{%G$M>IN{jpf+H;o*3*ZI5qhmTz69Njmh_AM;?3H{}; zCkI}(^txZ~Uy`_d%w7Aw!dK;l9v^ezdCQ(}PP=CPtn0H!_J%%$Vop9HD8%Sec>Ilx zFPxV!{k^2b@cW_SLeKAYan(z`7VYcxbmXwg)$4}hyIew#y!!IOVVzP=&HZEAghzXY zV!rM^p>I5J=n31q{R*$S?%w-8kL=soSUE~lQAf@Nu;Z@q2n#D-r+>OTKFeE;{S&UeJ?Btc64b&HnYJg}p-l-Q%IB@ofvCpZ8ls{}(%#*AIX3>}gXboV&^}9u@ir z@fV-+5)81m&KbaMPZNA5EH( zeShaO?s=~Uc1Gwe-+ol%j9vH0KgK(eLLWQyz{Qu3shZ>5w0_%$QI}qg zWmTa+eqz5BH$48`o;drV_qybqxEgxigYu)ldF7R%+dG|bZH;sBiiiJk7v_P5zP!^H zH~we6E2LrjpR;CN|5FLRq%8F0QTeyUtx3M-)UVI%RybhsKAfZ?^ow7c_D06juQt3_ zTfHaj+Px^tPldkov=g3ql^DY+cJH~8QY7@kIh%eMK72~VA^Vb@QR5$i z9l)+c$ZvcwENb-5i~lCB?+@=gvW`Dz>WF&i_kY7*A3W7AoN!^U$%4fJ>eHbH@tj)%aGY9 zw>yRY<&%y-2RGQGr(PHRNyxypS7N)F&@Z~MX+4#^kDGY#y4fhV{|f!4o1fdeXkhHvEoJrj>3@9vDz@#w z=0*giz1cav?vcSW*IiV5Q%31)jj$U+A5t>w%PBvPt{OLbW%kN*F8LONZK1EY=JM_rJH@ZWtE` z{er{Ko@31G((Uc15+Y-oHjKlT0HJ3-vUz&%PrnS?J22y`?Z=F7z!I#IUw7&5j~9Mv zJeu=X#j7`WMW1j&Z^nE0*7A3P50r!*zS5O;$8+b>jtTwv)3?l?(6vw8+VZn%6YH-< zA5|{&p>JK?GwPA);gJVQYSv|LgkD`O^jpt=d3w+DZu>{ry8CbK{mJ=XU