Commit Graph

48 Commits

Author SHA1 Message Date
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
luqiuwen
de92efb380 Close #99 增加全局传输限速功能,增加passthrough状态下eventcb的错误日志
* 增加全局传输限速功能,可以限制上游、下游的传输速度;
* 增加eventcb中的错误日志,当BEV_EVENT_ERROR发生时,打印错误代码与日志信息。
2018-12-08 20:48:19 +06:00
zhengchao
cc5420d158 tfe stream destroy未释放plugin ctx;cJSON结构体错误的使用cjsonfree释放,正确做法是cjson delete。 2018-11-29 17:11:31 +08:00
zhengchao
ce9d7fa5eb #64 key keeper增加evdnsbase参数。
避免创建大量dnsbase,耗尽fd。ssl stream/tcp stream/proxy也做了相应修改。
2018-11-26 14:55:39 +08:00
Lu Qiuwen
8016ff0386 修正插件调度模块中前一个插件detach不再更新plugin_id的问题。 2018-11-23 20:47:09 +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
811e8afcd6 修正stream_write类型连接关闭处理中没有通知write_ctx的问题。
* 原实现处理stream_write连接的关闭事件时,没有将write_ctx中的引用指针置位。导致上层继续frag_write时,没有有效的底层连接。现修正。
2018-11-20 16:46:16 +08:00
Lu Qiuwen
d83348f41d 增加设置upstream, downstream的TTL或MaxHop功能,便于在捕获的报文中区分上、下行连接。 2018-11-08 19:14:47 +08:00
Lu Qiuwen
2d02343b50 Close #65 修正进入GC队列的HTTP Session写日志时触发的连接非法段错误 2018-11-04 18:30:33 +08:00
Lu Qiuwen
adcd1640bf Close #66 修正POP/IMAP等服务端首先发送数据的协议处理异常的问题
* 原实现在upstream连接成功时,立即使能了EV_READ事件。在downstream创建成功以前,无法正确转发upstream发来的数据;
* 现修正为,在upstream, downstream都创建成功时,再使能upstream, downstream的EV_READ事件。
2018-11-04 16:51:09 +08:00
Lu Qiuwen
d0ea605a5b 修正多TCP层插件同时注册时,只调用一个插件open函数的缺陷。 2018-11-04 14:17:41 +08:00
Lu Qiuwen
b3b65369d8 增加连接层的性能统计 2018-11-02 13:52:30 +08:00
Lu Qiuwen
b677d8ad0f 支持在应答侧suspend/resume功能,合并http_entry中处理request/response的流程 2018-10-28 20:13:17 +08:00
Lu Qiuwen
cf64f01f7f 修正suspend/resume语义实现的若干问题,增加自行构建request/response的header标志 2018-10-26 20:30:06 +08:00
zhengchao
a55e63f523 修正http解析层和业务层的若干bug。 2018-10-25 21:13:37 +08:00
zhengchao
96feddefb8 修改cache-client依赖hiredis(修改版)的CMakeList.txt,编译通过。 2018-10-25 20:40:10 +08:00
Lu Qiuwen
f87e21d323 改进HTTP访问日志格式 2018-10-24 20:53:29 +08:00
Lu Qiuwen
bcfe14055f 增加HTTP Session延迟回收机制,完善HTTP Session销毁流程 2018-10-22 21:22:59 +08:00
Lu Qiuwen
b40f599579 #39 增加SSL downstream, upstream的错误处理功能,修正writecb中up,downstream变量赋值颠倒的错误 2018-10-19 21:06:08 +08:00
Lu Qiuwen
213924e77e Close #48 增加从KNI读取KEYRING-ID的功能 2018-10-19 19:50:27 +08:00
zhengchao
8a0f3c8c3c http resume后应给tcp层返回当前数据的处理结果。 2018-10-19 18:01:53 +08:00
zhengchao
2f6be2c864 使用缓存上传的future参数。 2018-10-18 21:42:53 +08:00
Lu Qiuwen
529f7037ba 修正流式发送数据时,客户端异常断开后引起的段错误 2018-10-18 16:57:53 +08:00
zhengchao
aa4629ca31 todo:http 写文件的bug。 2018-10-18 16:20:44 +08:00
Lu Qiuwen
37b4f3a644 修正由于HTTP流式构建应答时,由于真实应答晚于构建应答到达触发的问题
* 原实现在真实应答晚于构建应答到达时,仍然触发流式TCP写操作;
* 现修正为该情况时,直接发送完整的构建应答而不是流式写。
2018-10-16 20:01:25 +08:00
Lu Qiuwen
e9c11824b0 STREAM挂起时记录挂起来源,在RESUME()触发对应连接方向的读事件。HTTP SUSPEND/RESUME功能初步调通 2018-10-14 20:29:52 +08:00
Lu Qiuwen
b8342e5358 #34 实现HTTP解析层的Suspend/Resume操作 2018-10-14 14:05:39 +08:00
zhengchao
5a014f796e 修复根据fd创建stream addr时源目的地址颠倒的问题。修复HTTP业务层IP扫描不命中问题。 2018-09-30 11:55:50 +08:00
zhengchao
966d36b526 tfe_stream_addr_create_by_fd放到tfe_types.h供ssl_stream调用。 2018-09-30 11:01:18 +08:00
Lu Qiuwen
d0ab629f4c 初步调通HTTP请求头部内容替换业务 2018-09-25 20:32:24 +08:00
Lu Qiuwen
2798783641 初步完成HTTP应答侧解析功能,并修正一系类错误处理类的问题。 2018-09-23 17:33:05 +08:00
Lu Qiuwen
7b6dbb06aa 增加读入USER_TIMEOUT TCP选项,修正timeout相关的setsockopt设置。 2018-09-21 19:06:44 +08:00
Lu Qiuwen
1a70d3948a 增加TCP Keepalive选项设置功能,避免部分fd因网络故障无法淘汰。 2018-09-21 16:11:54 +08:00
Lu Qiuwen
c0d1b9cf63 增加Per Stream摘要日志功能,修正TCP上、下游连接不能联动关闭的问题。
* 增加Per Stream摘要日志功能,记录连接四元组、HTTP URL等关键信息,便于调试;
* 原实现在上游连接关闭时,不能关闭下游连接(反之亦然),现修正。
2018-09-21 15:03:33 +08:00
Lu Qiuwen
0f67ba1790 修正HTTP解析层丢失部分请求的问题,修正SSL Session Reuse回调函数段错误的问题
* 修正HTTP解析层丢失部分请求的问题,原四层连接在第一次调open后,不会调data回调函数,现修正;
* 原实现只设置了SSL的user define ctx,没有设置SSL_CTX的user define ctx,现修正。
2018-09-18 19:01:12 +08:00
Lu Qiuwen
48c8d6a659 增加简单的HTTP协议插件管理层,基本联通HTTP解析层与业务层插件。 2018-09-17 15:45:50 +08:00
Lu Qiuwen
b6a2250786 完成HTTP请求侧解析调试,可以解析请求的URL。
* 增加插件管理功能(简单实现),可以调用解析层插件;
* 调整HTTP请求侧解析回调函数实现;
* 增加hexdump工具函数;
2018-09-07 17:27:58 +08:00
zhengchao
6bc0409756 修复ssl session缓存中对openssl的不正确使用。 2018-09-05 19:49:37 +08:00
zhengchao
7e94b3cb89 消除tfe_utils.之外的编译警告 2018-09-05 10:38:27 +08:00
zhengchao
af6340becf 完成和key keeper的联调。 2018-09-04 18:13:05 +08:00
Lu Qiuwen
081d79416a 增加HTTP解析层目录结构,增加插件自注册功能。
* 增加HTTP解析层目录结构,集成CMakeLists.txt编译文件;
* 调整编译顺序,先编译插件再编译平台;
* 增加TFE_PLUGIN_REGISTER宏,在TFE启动时自注册插件;
* 修改了stream_open接口,在插件流初始化接口不传入数据。
2018-09-03 16:38:05 +08:00
Lu Qiuwen
8ddb847224 变更tfe_stream.h中的部分公用结构体定义。 2018-09-03 10:30:47 +08:00
zhengchao
f43e917308 修改future-promise接口,准备增加性能调试功能。 2018-09-02 15:46:39 +08:00
zhengchao
fd216a51de 处理ssl upstream创建失败。 2018-08-31 14:32:34 +08:00
Lu Qiuwen
c15be5af0e 增加TCP Passthrough功能实现,调通明文转发流程。 2018-08-30 15:53:41 +08:00
Lu Qiuwen
8869f1888c 变更stream系列文件的名称,修正了部分编译错误
* 变更stream系列文件的名称为ssl_stream, tcp_stream等;
* 变更stream.h为platform.h,因该文件为平台整体公用;
* 修正了ssl_stream, ssl_sess_cache文件中的编译错误,部分实现的bug。
* 调整了tfe_future的路径,由平台实现改为公用组件。
2018-08-27 21:10:45 +08:00