Commit Graph

362 Commits

Author SHA1 Message Date
luqiuwen
98fa47ffd7 修正部分编译错误 2019-06-11 15:26:14 +08:00
luqiuwen
263685759b 重新实现解密流量转发模块,增加按策略转发功能。 2019-06-11 15:26:14 +08:00
zhengchao
c15f96401c 增加证书校验开关覆盖范围,在关闭issuer校验时,使https://untrusted-root.badssl.com/校验通过 2019-06-08 14:43:51 +08:00
zhengchao
d3afda0d4c 为了减少pinning, protocol error误判带来的影响,将service cache的淘汰方式改为FIFO,独立service_cache_expire_seconds参数,默认5分钟。 2019-06-05 20:43:45 +08:00
zhengchao
ace31ae24a tfe.conf中系统参数的section改为system,兼容kniv1测试完毕。 2019-06-02 18:17:53 +08:00
luqiuwen
306dcc6ce0 增加在流结束时调用cmsg发送接口的实现 2019-06-02 17:52:48 +08:00
luqiuwen
5679dc9d11 增补acceptor_kni_v1和acceptor_kni_v2的提交 2019-06-02 17:22:41 +08:00
luqiuwen
7462a558c1 修正stream_proto从cmsg读出的方式 2019-06-02 17:18:34 +08:00
luqiuwen
57f5a4d906 增加sender_scm的初始化调用 2019-06-02 16:30:59 +08:00
崔一鸣
e4f490fcd3 添加sender_scm开关 2019-06-02 16:30:59 +08:00
崔一鸣
cc126a73a1 增加和kni通信接口 2019-06-02 16:30:59 +08:00
luqiuwen
28becac88d 移植KNIv1版本的acceptor到4a分支,兼容原kni的实现。 2019-06-02 16:30:59 +08:00
zhengchao
bc41051da2 ssl stream和ssl policy对接tfe_cmsg_xx。 2019-06-02 16:30:59 +08:00
luqiuwen
77aa3063f7 使用cmsg公共库解析cmsg信息,对业务层提供获取cmsg句柄的接口 2019-06-02 16:30:59 +08:00
luqiuwen
a4f23f73e9 在scm acceptor中增加解析应用层协议的实现 2019-06-02 16:30:59 +08:00
luqiuwen
3dfe680a76 修正当ssl在以peek方式解析clienthello并返回not_enough_buff时,没有传入ev_base导致的连接建立失败的问题。 2019-06-02 16:30:59 +08:00
luqiuwen
1a45ea858c 变更kni系列名称到scm 2019-06-02 16:30:59 +08:00
luqiuwen
c1ff35bed7 适配基于tfe-kmod的连接接收方式 2019-06-02 16:30:59 +08:00
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
7a8561ae5a #130 调试阶段暂时关闭tcmalloc 2019-05-24 19:33:36 +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
fengweihao
10c0ef7b76 *由于git rebase冲突删除原tfe-new-http2分支
*提交包括http2数据替换,转发,截断,缓存代码
*合并最新develop-tfe3a后,http2验证代码提交
*http2重构验证代码提交
*http2添加br压缩解压缩接口和测试用例
*http2定时删除session信息代码提交
*修复bug,访问二级链接时由于nghttp2库收到control ping后,自发control ping包
造成链接断开后重连现象
*修复bug, 链接建立后服务端优先发送control包,未处理此数据包,造成页面访问失败
2019-05-24 18:45:44 +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