Commit Graph

452 Commits

Author SHA1 Message Date
zhengchao
ea1f876eb7 拦截策略支持allow_http2的开关;恢复cmakelist漏掉的HTTP2的编译开关。 2019-05-27 14:17:52 +08:00
zhengchao
da010f388f 消除http2中的编译警告 2019-05-24 19:06:43 +08:00
zhengchao
f66658117a 支持通过拦截策略指定ssl最大和最小版本号。 2019-05-24 18:55:32 +08:00
zhengchao
6b197e3347 证书校验选项及校验失败动作自测通过。 2019-05-24 18:55:32 +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
61bc647d1f 编写连接业务层的代码。 2019-05-24 18:52:33 +08:00
liuyang
4a67a6b3be mirror_stream.cpp:212行增加变量struct sockaddr_ll addr的memset。 2019-05-24 18:52:30 +08:00
fengweihao
e02c5d5939 1.修改js注入页面显示无效字符问题 2019-05-24 18:49:12 +08:00
fengweihao
913313bd86 1.修改原数据流动作定义,增加操作定义
2.重构原操作重定向、替换
3.新增接口http_block、http_hijack、http_insert
4.注册处理策略表接口policy_table_new_cb等
5.注册处理用户自定域json处理接口policy_param_new等
6.添加对添加对注入脚本的测试用例
2019-05-24 18:49:12 +08:00
fengweihao
6ac97cce6b 1.修改nghttp2库中关于ping包处理流程
2.修改调试log信息等级为debug
3.增加http2关于缓存代码控制宏变量
4.测试存在的几个bug修复
2019-05-24 18:45:46 +08:00
fengweihao
77d2e3fb53 #126
在nghttp2_callback_array函数中对流结束信息进行处理
在close函数中对命中规则且只有head头数据进行注册
2019-05-24 18:45:45 +08:00
fengweihao
a22e0ed630 *删除nghttp2中收到ping ack字符会ping
*由于命中匹配规则且返回数据中只有 header,造成数据丢失,在当前流close时添加header注册接口
2019-05-24 18:45:45 +08:00
fengweihao
ad004b29a6 *.修改帧处理方式
*.删除同一流中多ID遍历模式
*.添加函数指针数组管理不同帧回调
*.添加流处理打印
2019-05-24 18:45:45 +08:00
fengweihao
fcde7bfbf3 *修改nghttp2对于控制帧(set ping等)自动回复数据,造成原服务数据冗余发送goaway帧
*修改下发替换规则后,csdn页面数据图片无法显示问题
(原因:由于数据Header,在不同流中,且不同流中存在多个流id)
*修改模拟C对推送承诺帧drop处理,造成当前流中数据丢失
*修改页面访问新浪sinaere.js失败
*修改流id数据未及时释放造成页面刷新延缓
2019-05-24 18:45:44 +08:00
fengweihao
67d8523de0 *修改vendor/CMakeLists.txt关于nghttp2设置,解决在线编译出错问题 2019-05-24 18:45:44 +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
luqiuwen
39ac1dede9 增加HTTP业务发送日志的调试日志,统一HTTP头部标志的形式。 2019-01-29 14:46:46 +06:00
luqiuwen
f6c1ea0e28 Close #115 升级http-parser到2.9.0版本并增加对以\r\n起始的HTTP应答执行HTTP解析的单元测试用例 2019-01-29 14:45:57 +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
f01fd2adc7 Close #109 修正302重定向在Firefox浏览器下跳转缓慢的问题
* Firefox要求302应答体必须包含Content-Length,否则无法正确处理消息体
* 增加302应答的Content-Length字段,填为0.
2019-01-10 15:48:22 +06:00
luqiuwen
d986d8a8cc 修正执行替换动作时,连接未结束释放pangu_http上下文double-free替换应答上下文的问题 2019-01-08 19:26:14 +06:00
luqiuwen
a3beec84f9 修正执行gzip/br压缩时,不能动态申请缓冲区导致压缩缓冲区不足的问题 2019-01-08 19:25:17 +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
dd223d547d Close #107 不能正确处理502 Bad Gateway的问题
* 修正为当HTTP请求未完成时,认为整个HTTP Session非法,不处理。
2019-01-05 18:18:39 +06:00
luqiuwen
a91feaf7ed Close #106 修正当命中关键字阻断时,在发送现场文件处Coredump的问题
* 原实现在命中应答关键字时,认为BODY_BEGIN时已经创建过evbuffer,直接使用
* 现修正,当evbuf为空时,创建evbuffer.
2019-01-05 18:17:47 +06:00
zhengchao
6cbe6e7b9c 输出非结构化日志。 2018-12-24 22:47:26 +06:00
zhengchao
67c488bcc1 初始化maat时设置accept tags,以便支持配置分区域生效。 2018-12-23 18:19:11 +06:00
zhengchao
bba7a4d9b1 修正cache_cookied_content开关未生效的bug;在http结束时增加cache日志; 2018-12-22 19:52:49 +06:00
zhengchao
5666787f67 在线联调通过。修正force caching的优先级判断。 2018-12-21 14:31:27 +06:00
zhengchao
4a1b4adf35 缓存业务层适配redis cluster读取文件的接口。 2018-12-21 13:16:36 +06:00
zhengchao
2e5c2764ee subscribe ID加载测试通过。 2018-12-17 16:40:28 +06:00
zhengchao
3d710accd3 HTTP业务层增加subscribe ID扫描功能。 2018-12-16 22:47:03 +06:00
luqiuwen
8713da2d81 修正Http-kill位置过完的问题,增加TCP链接摘要日志功能 2018-12-14 03:06:34 +06:00
luqiuwen
8c93f7203d 增加HTTP日志等级配置功能 2018-12-13 23:40:36 +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
5ebceac0c0 http response body位置命中阻断规则时,不调用tfe_http_session_allow_write。 2018-12-12 15:01:18 +06:00
liuyang
0e23a077dd 1、thread_num通过tfe_proxy_get_work_thread_count()函数获得;2、每个数据包TCP负载最大长度有MTU更改为mtu-sizeof(struct mesa_tcp_hdr) - sizeof(struct mesa_ip4_hdr); 2018-12-12 16:40:04 +08:00
luqiuwen
1d89768160 增加对BR压缩编码的支持及对应的单元测试用例 2018-12-09 18:02:43 +06:00
zhengchao
0916cb4ad1 kafka仍使用标准头文件目录结构 2018-12-04 11:58:58 +08:00
zhengchao
73842e7809 http业务层链接redis时,从端口范围内随机选一个。 2018-12-02 19:33:02 +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
bcfed2bab1 #88 缓存应答消息体构建过程中,连接中断,http session被强制回收,http业务层和http解析层两次对cached_response调用了释放(double free)。
目前业务层在tfe_http_session_response_set后,不再负责释放,解决方案比较dirty。
2018-11-29 15:18:12 +08:00
zhengchao
ef7e2831a4 #96 修复缓存查询promise_allow_many_successes,但未调用promise_finish。 2018-11-29 10:46:46 +08:00