Commit Graph

108 Commits

Author SHA1 Message Date
luqiuwen
e40cd3ba7f 修正HTTP解析层在上层设置请求/应答后,需要等待源站消息完整后才将上层构建的请求/应答发出的问题。
* 原实现在HTTP解析过程中,只在HTTP消息的边界返回http_entry中的流程,故只能在站消息完整后才执行发出上层的请求/应答;
* 现修正,在HTTP的解析过程中,发现上层设置了请求/应答,则在HTTP头部完整后执行PAUSE动作,触发上层请求/应答的发送流程。
2019-09-04 17:20:25 +08:00
fengweihao
0b77bc0fc8 修正HTTP2构建新头部时处理多个具有相同名称头部字段的处理逻辑 2019-08-26 10:12:14 +08:00
luqiuwen
3a33de4b7c 修正重复写入Content-Length的问题 2019-08-26 10:12:14 +08:00
luqiuwen
b689485fea 修正HTTP1构建新头部时处理多个具有相同名称头部字段的处理逻辑。
* 原实现假设头部字段名称不重复,因此在构建具有同名称头部字段时,后设置的值会替换先设置的值;
* 现修正,构建具有同名称头部字段时不覆盖原来的值,而是在头部追加。
2019-08-26 10:12:14 +08:00
luqiuwen
a02fe27f17 修正当HTTP Session被Kill时没有调用HTTP Session End、Stream Close接口的问题。 2019-08-21 14:53:12 +08:00
luwenpeng
29a0121134 修复 http2_plugin_timer_gc_cb() 内存泄露的 bug, gc_cb() 目前虽未被调用,一旦使用则会产生内存泄露 2019-08-05 10:50:03 +08:00
fengweihao
aa88471f25 修复残留数据,造成select_padding函数段错误 2019-07-31 13:45:08 +08:00
fengweihao
92e8759bad 添加流处理失败后,后续流发送造成段错误问题 2019-07-30 11:04:50 +08:00
fengweihao
90269816e3 1.修复chello为空导致访问越界
2.修复twitter字符编码为charset=“utf-8”,原判断可能存在问题
3.修复http2页面替换,由于存在use_half,而无数据域,造成页面卡顿
4.修复http2替换时,由于解码失败,造成页面无法发送
2019-07-21 23:14:31 +08:00
fengweihao
c67df95633 修复火狐建联时发送priority,服务端回复reset帧后,nghttp2无法关闭流信息
修复命中规则后,请求头的flags未置位
2019-07-11 10:07:09 +08:00
fengweihao
1e5a9a537d 修复twitter页面无法显示问题,原因为注册END_STREAM时传参错误,导致获取取half值时方向错误
http2注册请求头时,不在区分post/get
2019-07-08 16:58:04 +08:00
fengweihao
c3741ed8c0 修复从服务端控制帧判断http2流字节数限制 2019-07-02 22:20:12 +08:00
fengweihao
65e0ac29d5 修复redirect命中RespBody后,修改action状态,不发送日志
修复pcre2_substitute失败后,页面无法显示
2019-06-26 20:53:45 +08:00
fengweihao
aa276e99cf 修复Bug0000452重定向+RespKeyword,业务层无处理
修复blcok+RespKeyword,kill连接后未发生那个日志,造成内存泄漏
修复0000477Firefox浏览器http2未同步s-c~-s~-c流id信息,造成页面无法访问
添加异常处理,当流信息未同步时,只有请求端数据时,未对stream进行初始化当data+flags为end_stream时,注册数据接口,使模拟发送端进行数据清除操作
2019-06-22 17:44:52 +08:00
fengweihao
251e40e588 close #146
修复命中resp bady的阻断规则,http2未关闭连接,导致网站正常访问
2019-06-20 19:05:48 +08:00
fengweihao
07d10d87b6 #146
修复HTTP2命中应答头规则后,页面无显示
修复HTTP2注册发送数据接口,发送数据时由于数据已经发送,但是注册的发送接口未销毁
2019-06-19 21:46:38 +08:00
fengweihao
39c84b0bbd close #144
修复页面编码方式为gb2312,命中替换规则后,页面无法显示
修复insert script告警
2019-06-14 13:15:49 +08:00
fengweihao
104fe5af71 1.修复规则命中后,请求端half未初始化 2019-06-11 17:38:50 +08:00
fengweihao
c8526a2a58 1.修复策略日志中host为乱码
2.修复http2请求体替换内容无效
3.修复evbuffer_pullup获取数据长度问题
2019-06-10 14:55:12 +08:00
fengweihao
e7438649d1 1.修复h2_session->frame_ctx中复制时序错误,导致使用时为空 2019-06-08 14:35:55 +08:00
fengweihao
814d5b4a30 Fix screwup, fixes #137
1.修复HTTP2压缩段错误
2.修改发送无效的9字节DATA帧
3.对manipulate_profile结构多线程调用加锁处理
2019-06-08 10:57:49 +08:00
fengweihao
a3bba9f5e2 1.修改http2无法发送策略日志
2.修改命中hjack无法处理
2019-06-05 11:44:26 +08:00
fengweihao
78d5d473ac 1.支持从pangu_pxy.conf中读取kafka_topic
2.修改http2变量名
2019-06-04 12:03:23 +08:00
fengweihao
d272087565 1.修改hjack读取profile文件方式
2.命中query替换规则后,http2适配http修改
3.添加URI测试用例
2019-06-03 15:12:59 +08:00
fengweihao
4b64e5bfe1 1.删除缓存测试无效代码
2.修改header链表结构为TQ
3,重构h2_half_ops_field_read,h2_half_ops_field_write等接口
2019-05-31 10:21:40 +08:00
fengweihao
3339ffd533 1.修改HTTP2命中block规则后,页面无法显示问题
2.上次漏提代码对ex_data释放接口
2019-05-28 17:38:19 +08:00
fengweihao
f106facd7b 1.Manipulate动作重构修改
2.修改pangu_send_log中log字段名
3.修改可信证书颁发机构表名
2019-05-28 14:59:39 +08:00
zhengchao
da010f388f 消除http2中的编译警告 2019-05-24 19:06:43 +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
f6c1ea0e28 Close #115 升级http-parser到2.9.0版本并增加对以\r\n起始的HTTP应答执行HTTP解析的单元测试用例 2019-01-29 14:45:57 +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
a3beec84f9 修正执行gzip/br压缩时,不能动态申请缓冲区导致压缩缓冲区不足的问题 2019-01-08 19:25:17 +06:00
luqiuwen
dd223d547d Close #107 不能正确处理502 Bad Gateway的问题
* 修正为当HTTP请求未完成时,认为整个HTTP Session非法,不处理。
2019-01-05 18:18:39 +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
luqiuwen
fd09f249b6 增加HTTP-Kill/TCP-Kill功能 2018-12-12 15:01:18 +06:00
luqiuwen
1d89768160 增加对BR压缩编码的支持及对应的单元测试用例 2018-12-09 18:02:43 +06:00
zhengchao
a5ca97d91e 重构key keeper创建keyring的代码。修复除 #97 外的valgrind definitely lost。 2018-11-29 19:02:07 +08:00
zhengchao
f76a8c5ca2 修复多处内存泄漏。 2018-11-29 16:24:45 +08:00
Lu Qiuwen
4d326c5c52 Close #83 去掉resume()中的gc断言,当session在gc中resume时,立即返回等待session销毁。 2018-11-26 11:29:23 +08:00
Lu Qiuwen
691e1b83a1 #93 增加GZIP解压缩失败后Passthrough整个连接的功能 2018-11-26 10:58:10 +08:00
Lu Qiuwen
86884e807a #85 连接层与HTTP解析层Warning已消除。 2018-11-22 16:27:51 +08:00
Lu Qiuwen
fbff32673f Close #76 修正HTTP Upgrade后没有正确Detach该连接的问题
* 原实现没有正确处理Upgrade标志位,导致连接再次进入HTTP解析流程从而无法解析,报#76所列之问题。
* 现修正,亦增加#76所示日志之五元组信息。
2018-11-22 13:47:17 +08:00
zhengchao
67edf968f6 #86 修正在HTTP请求在Resume()操作后设置HTTP应答,没有丢弃原始HTTP请求的问题。
* 原实现在用户调用resume()后,没有将用户设置的user_stream_action传递到原始HTTP请求,导致该原始请求没有被丢弃,现修正。@luqiuwen
2018-11-20 16:46:15 +08:00