Commit Graph

719 Commits

Author SHA1 Message Date
luqiuwen
ac14a745f9 支持从原始流量中获取MAC地址并用于解密流量转发以太网头部的构建。 2019-09-18 20:00:03 +08:00
luqiuwen
4af0b21d58 Close #169 增加Watchdog连接重试机制,避免KNI退出后TFE也随之退出。
* 原实现在KNI退出后,即退出TFE进程,导致TFE重启后需要过多的时间完成初始化,影响业务的恢复速度;
* 现改为KNI退出后,不退出TFE进程并尝试重试建立与TFE的保活连接。
2019-09-18 15:30:12 +08:00
luqiuwen
af90bc78e2 #165 修正CI脚本中的INSTALL_PREFIX到/opt下。 v4.1.2-20190917 2019-09-17 17:49:34 +08:00
luqiuwen
48a5f7a7e2 #165 调整PanguFiles的淘汰时间,由于Maat会自动删除该目录文件,故不淘汰。 v4.1.1-20190917 2019-09-17 11:37:25 +08:00
luqiuwen
fb22ab1cb6 #165 增加PostInstall脚本,用于创建临时文件存储的目录。 2019-09-17 10:51:31 +08:00
luqiuwen
1d45bebe4f #156 增加tmpfiles描述文件,自动删除日志与临时文件。调整目录结构,默认安装到/opt/tsg/tfe下。 2019-09-16 19:11:39 +08:00
luqiuwen
f1fd1d0ad3 #167 增加已拦截连接数、字节数、PASSTHROUGH连接数统计并调整FieldStat状态文件的输出位置。 2019-09-16 16:47:34 +08:00
luwenpeng
8c0f135877 header 遍历跳过 map[0], 即 map[TFE_HTTP_UNKNOWN_FIELD] = NULL; 2019-09-16 14:27:11 +08:00
luwenpeng
de16d2da87 整理 http/http2 公共的 header 字段,存储到 tfe_http.cpp 文件中 2019-09-16 14:27:11 +08:00
fengweihao
4b0235d199 修改key_keeper请求为post
修改key_keeper请求连接为长连接
修改HTTP2流id设置时机
2019-09-16 14:01:14 +08:00
luqiuwen
8baa823231 #166 修正tcp_stream_destroy命中assert的问题
* 原实现在TCP连接为PASSTHROUGH的情况下,没有清空defer_upstream_fd和defer_downstream_fd,导致连接销毁时命中assert;
* 现修正,在设置连接为PASSTHROUGH时,清空defer_upstream_fd和defer_downstream_fd。
2019-09-12 11:46:08 +08:00
luqiuwen
d94c397776 修正HTTP解析层在上层设置请求/应答后,需要等待源站消息完整后才将上层构建的请求/应答发出的问题。
* 继续修正,设置请求/应答的初始化状态不为COMPLETE,待应用层设置BODY为NULL再转为COMPLETE,避免应答体提前发出。
v4.1.0-20190911
2019-09-10 11:54:24 +08:00
luqiuwen
18be5ab07f 修正HTTP解析层在上层设置请求/应答后,需要等待源站消息完整后才将上层构建的请求/应答发出的问题。
* 现修正,每次调用HTTP解析函数后,无论是否到达消息边界,都检查是否上层是否构建了请求/应答。
2019-09-10 11:54:24 +08:00
luqiuwen
f76720753c 修正连接销毁时没有关闭FD的问题。
* 原实现在连接销毁时,将关闭FD的操作放入的assert中,导致优化编译时,关闭FD的语句没有编译;
* 现修正,将关闭FD的语句从assert中移出。
2019-09-09 13:22:45 +08:00
崔一鸣
15595a8313 修改TUN模式环境适配服务 2019-09-07 21:33:02 +08:00
luqiuwen
df2efb4f69 集成TUN模式环境适配服务。 2019-09-06 16:52:23 +08:00
luqiuwen
ae2f04c33f 调整sentry收集的调试符号范围,只收集tfe可执行文件的符号。 2019-09-05 19:49:44 +08:00
luwenpeng
ff19c00dc1 Merge branch 'develop-tfe4a' of https://git.mesalab.cn/tango/tfe into develop-tfe4a 2019-09-05 18:02:41 +08:00
luwenpeng
6b4a45c005 root_cert_not_installed_is_not_pinning 日志中输出 c/s 的地址,方便调试 2019-09-05 18:02:10 +08:00
luqiuwen
1484f763f6 调整调试符号的收集位置。 2019-09-05 16:50:18 +08:00
luqiuwen
611d978b91 修正当进程句柄限制不足时,存在的随机关闭FD的问题并调整SSL关闭时的fd处理位置。
* 原实现在接收fd时,没有考虑可能只接收1个fd的情况。导致程序在接收1个fd时按2个fd处理,越界访问随机关闭fd。
* 现修正,接收2个一下fd时,关闭接收的fd。
* 同时调整SSL连接的FD关闭位置,改为在conn_private销毁时统一关闭,不在ssl部分关闭。
2019-09-05 16:50:18 +08:00
luqiuwen
c9d814e17b 修正部分TCP处理流程中FD所有权转移有误,导致的fd潜在的double-free。 2019-09-05 16:50:18 +08:00
fengweihao
021500f42a 修改hijack,当未定义文件名时,读取Content-Disposition值初始化文件名 2019-09-05 16:45:26 +08:00
luqiuwen
e40cd3ba7f 修正HTTP解析层在上层设置请求/应答后,需要等待源站消息完整后才将上层构建的请求/应答发出的问题。
* 原实现在HTTP解析过程中,只在HTTP消息的边界返回http_entry中的流程,故只能在站消息完整后才执行发出上层的请求/应答;
* 现修正,在HTTP的解析过程中,发现上层设置了请求/应答,则在HTTP头部完整后执行PAUSE动作,触发上层请求/应答的发送流程。
2019-09-04 17:20:25 +08:00
luwenpeng
cd67f0edb7 Merge branch 'feature-root-cert-not-installed-is-not-pinning' into develop-tfe4a
增加 not install root cert not pinning 功能
当开启 dynamic bypass pinning 时,未安装根证书的客户端会被 bypass
2019-09-04 13:46:51 +08:00
luwenpeng
f41c68e8a8 service_cache_succ_as_app_not_pinning_cnt 默认设置为 0 2019-09-04 13:44:09 +08:00
luwenpeng
1e3241899b Merge branch 'bufix-ssl-stream' into develop-tfe4a
修复 ssl init 造成的 core dump
2019-09-04 11:23:12 +08:00
luwenpeng
32ae3e678d root_cert_not_installed_is_not_pinning 默认开启
service_cache_succ_as_app_not_pinning_cnt 默认设置为 1
2019-09-04 10:16:05 +08:00
luqiuwen
eb6c9221a9 修正提交调试符号的判断条件 2019-09-03 21:10:40 +08:00
luqiuwen
38187063b4 #159 增加崩溃后调用工具自动向服务器上传minidump功能,增加在CI中收集编译调试符号的实现。 2019-09-03 21:10:40 +08:00
luwenpeng
8a2a866688 修改 is_app_not_pinning 的判定条件:在 ssl up stream free 之前判定 2019-09-03 19:00:54 +08:00
luwenpeng
e44791bd93 Merge branch 'bufix-ssl-stream' of https://git.mesalab.cn/tango/tfe into bufix-ssl-stream 2019-09-03 11:16:51 +08:00
luwenpeng
3faede0663 修改日志 2019-09-03 11:16:39 +08:00
luwenpeng
dc726801f0 删除无用的代码 2019-09-03 11:16:39 +08:00
luwenpeng
fe78b7e41f 增加异常处理,修复 upstream_ossl_init() 造成的 core dump 2019-09-03 11:16:39 +08:00
luwenpeng
f92b7098da 修改 is_app_not_pinning 的判定条件:原来在 client connected 之后判定,现在在 ssl stream free 之前判定 2019-09-03 11:07:09 +08:00
luwenpeng
3f2c1cd969 重置 app_st 的淘汰策略为 lru 2019-09-03 11:05:50 +08:00
luwenpeng
3e7d7ea7a3 修改日志,输出 sni 2019-09-03 11:03:03 +08:00
luwenpeng
4a8a7d95ce 修复笔误 2019-09-03 11:03:03 +08:00
luwenpeng
f687369db7 延长 app_st 表中数据的生存时间(1,延长 app_st 表的超时时间;2.并设置 lru 淘汰策略) 2019-09-03 11:03:03 +08:00
luwenpeng
73fe38b7d5 修改 ss svc 日志格式 2019-09-03 11:03:03 +08:00
luwenpeng
f9420b16bb 增加从配置文件读取 service_cache_succ_as_app_not_pinning_cnt 配置项的功能 2019-09-03 11:03:03 +08:00
luwenpeng
90e6ec4fdc ssl_svc_free_client_st() 中更新 proto_err_cli_cnt 的值 2019-09-03 11:03:03 +08:00
lwp
f589f0e433 为了便于调试, 将 ssl service cache 的 hash key 都转化成 16 进制格式,并增加 debug 日志 2019-09-03 11:03:03 +08:00
luwenpeng
1f7a32f7f5 修正 ssl_svc_client_st_mk_key() 返回的 hash_key_sz 2019-09-03 11:03:03 +08:00
zhengchao
9c8bc53d28 修正查询app_st时,使用了错误的哈希表。 2019-09-03 11:03:03 +08:00
zhengchao
5a62fcacf7 修复读取app state时的笔误。 2019-09-03 11:03:03 +08:00
zhengchao
63bcc591a7 增加app not pinning的统计信息,修复判空。 2019-09-03 11:03:03 +08:00
zhengchao
7c12f06b29 修正笔误 2019-09-03 11:03:03 +08:00
zhengchao
30fd8889a8 区分未安装证书的客户端和pinning的客户端。若开启tfe.conf中[SSL]root_cert_not_installed_is_not_pinning=1,则未安装证书的客户端不再视为pinning。 2019-09-03 11:03:03 +08:00