Commit Graph

333 Commits

Author SHA1 Message Date
zhengchao
5cdad62fc7 未开启session cache时,关闭upstream ssl的cahce,避免buffer event 报告999:invalid session id:20:SSL routines:369:tls_process_server_hello。 2019-05-30 12:34:42 +08:00
zhengchao
ea1f876eb7 拦截策略支持allow_http2的开关;恢复cmakelist漏掉的HTTP2的编译开关。 2019-05-27 14:17:52 +08:00
zhengchao
e53f5ebcf2 处理Client Hello中的GREASE close #134 2019-05-25 19:12:55 +08:00
zhengchao
7431a0e50a 修改ssl_chello_parse相关函数,处理TLS Grease导致的客户端标识不准确,详见 https://security.stackexchange.com/questions/176951/google-chrome-weird-random-cipher-suite 2019-05-25 15:54:28 +08:00
崔一鸣
72d170aec2 添加ssl_cipher_suites_convert函数 2019-05-24 23:15:58 +08:00
zhengchao
4bac00157b 修复笔误导致的段错误。 2019-05-24 20:51:26 +08:00
zhengchao
eba9031b86 将client hello中的签名算法、EC算法增加到客户端标志。 2019-05-24 20:42:19 +08:00
崔一鸣
75208aad0f 修改chello_parse函数,支持解析supported_versions, supported_groups,signature_algorithms,修改cipher_suites解析结果为原始报文 2019-05-24 20:25:35 +08:00
zhengchao
c85b200f69 手工合并李杰stek-roation分支,支持session ticket rotation,详见 #123 2019-05-24 18:55:33 +08:00
zhengchao
f66658117a 支持通过拦截策略指定ssl最大和最小版本号。 2019-05-24 18:55:32 +08:00
zhengchao
6b197e3347 证书校验选项及校验失败动作自测通过。 2019-05-24 18:55:32 +08:00
zhengchao
d553c0f5f6 Close #132 获取downstream session cache时,错误传参。 2019-05-24 18:55:32 +08:00
zhengchao
dc7b969d74 上次提交遗留笔误。 2019-05-24 18:55:31 +08:00
zhengchao
4cd42b9f95 1. 客户端报SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN错误时,不作为maybe pinning; 2. ssl policy中增加protocol_errors的bypass开关。 2019-05-24 18:55:31 +08:00
zhengchao
1f73b4832d 在ssl policy中处理keyring。 2019-05-24 18:55:31 +08:00
zhengchao
e4291c0fda 1. 暴露ssl_stream.h给业务层;2. 将ssl policy功能放到业务层插件目录。 2019-05-24 18:55:30 +08:00
zhengchao
7cbd432a25 业务层拦截策略(ssl policy)对接ssl stream。 2019-05-24 18:52:34 +08:00
zhengchao
61bc647d1f 编写连接业务层的代码。 2019-05-24 18:52:33 +08:00
zhengchao
3f305a9e88 Pinning,Mutual authentication,EV等passthrough功能在windows10测试通过。 2019-05-24 18:52:33 +08:00
zhengchao
dda60c674c up session cache校验ssl version,增加ssl状态读写的接口。 2019-05-24 18:52:32 +08:00
zhengchao
630a3dba60 可以检测certificate pinning和mutual authentication。 2019-05-24 18:52:32 +08:00
zhengchao
ace7dd4379 增加ssl_service_cache模块,用以记录历史的证书和pinning状态。 2019-05-24 18:52:32 +08:00
zhengchao
ea0292f1b4 1. 可以获取x509证书的ct和ev状态。2. hostname不匹配,不认为是非法证书。 2019-05-24 18:52:31 +08:00
zhengchao
ae678d5128 证书校验选项调试通过。 2019-05-24 18:52:31 +08:00
zhengchao
f4f7a623a5 允许设置证书校验选项。 2019-05-24 18:52:31 +08:00
zhengchao
fcb1581a1c keykeeper的本地缓存,使用keyring_id:证书指纹作为key,在导入可信证书后,非法证书变为合法证书,但缓存查询到的仍是非法证书,导致 #119 。变更key为keyring_id:is_cert_valid:证书指纹。 2019-02-28 15:54:27 +08:00
zhengchao
f349d1254f tcp stream使用ssl stream提供的函数输出ssl错误日志。 2019-02-26 19:47:16 +06:00
luqiuwen
df025b3d9f Close #116 去除根据ClientHello镜像上游SSL版本的功能,增加在连接摘要日志记录SSL版本和SNI的功能 2019-02-19 15:11:15 +06:00
zhengchao
71f7452413 增加ssl_stream_dump_info函数,输出ssl版本号、sni,以进一步定位 #116 2019-02-18 18:25:19 +06:00
zhengchao
2d34aafa48 增加session cache的开关:no_session_cache,默认为0,即启用session cache。 2019-02-18 15:48:36 +06:00
luqiuwen
9666280834 修正cJSON.h的包含问题 2019-01-16 16:59:49 +06:00
luqiuwen
dd5bc45edc 排查部分网站打不开的原因,增加get_keyring_from_response的日志信息 2019-01-16 15:36:28 +06:00
zhengchao
124b7f083f 增加no_mirror_client_cipher_suite开关;ssl_utils.cpp改名后cmakelist未响应修改; 2019-01-14 20:35:29 +06:00
zhengchao
f21d51de3d 1. ssl增加no_verify_cert开关,可以关闭证书校验;
2. ssl_utils.cc改名为ssl_utils.cpp;
3. 暂时使用tcmalloc接管内存分配;
4. 原work thread选择算法存在bug,暂时改为轮询;
5. FieldStat状态输出暂时改为Field格式,便于观察实时性能,Future的状态输出暂时改为累计值;
2019-01-14 18:23:46 +06:00
luqiuwen
41eca75fa3 修正certstore_rpc_on_succ()中添加字符串结尾0导致内存越界的问题 2019-01-08 15:09:38 +06:00
zhengchao
c303326c40 控制外部指针在future中的传递层数。
修复future-promise 回调函数中的use after free,包括web cache pend, web cache write和key keeper。
修复decrypt mirror中的写越界。
2019-01-07 19:42:23 +06:00
luqiuwen
8713da2d81 修正Http-kill位置过完的问题,增加TCP链接摘要日志功能 2018-12-14 03:06:34 +06:00
zhengchao
94242de81c 在http block中,http response body事件调用tfe_http_session_kill关闭会话。 2018-12-12 15:01:18 +06:00
luqiuwen
fd09f249b6 增加HTTP-Kill/TCP-Kill功能 2018-12-12 15:01:18 +06:00
zhengchao
76f0efe3cb 对新签发或请求certstore的证书计数。 2018-12-12 15:01:18 +06:00
zhengchao
6339d74779 #100 修复错误的将实体证书加入到证书链的bug。 2018-12-09 19:03:20 +06:00
luqiuwen
de92efb380 Close #99 增加全局传输限速功能,增加passthrough状态下eventcb的错误日志
* 增加全局传输限速功能,可以限制上游、下游的传输速度;
* 增加eventcb中的错误日志,当BEV_EVENT_ERROR发生时,打印错误代码与日志信息。
2018-12-08 20:48:19 +06:00
zhengchao
0b76bdf5e5 测试通过。 2018-12-05 22:56:11 +08:00
zhengchao
4da52a4907 增加常见ssl error的计数。 2018-12-05 19:58:34 +08:00
zhengchao
a5ca97d91e 重构key keeper创建keyring的代码。修复除 #97 外的valgrind definitely lost。 2018-11-29 19:02:07 +08:00
zhengchao
cc5420d158 tfe stream destroy未释放plugin ctx;cJSON结构体错误的使用cjsonfree释放,正确做法是cjson delete。 2018-11-29 17:11:31 +08:00
zhengchao
0e47b8d715 处理goto导致的编译不通过。 2018-11-29 16:39:25 +08:00
zhengchao
f76a8c5ca2 修复多处内存泄漏。 2018-11-29 16:24:45 +08:00
zhengchao
ae6f0cda87 #85 消除ssl stream中的unused variable warning 2018-11-26 16:30:51 +08:00
zhengchao
c31f7cbaa7 #85 消除部分警告 2018-11-26 16:28:23 +08:00