acl 3.0.8 版本发布了

       acl(https://sourceforge.net/projects/acl/) 开源项目新版本 3.0.8 版发布了,有关 acl 的介绍参见:acl 框架库简介主要是修复了一些存在的 BUG,同时伴随一些模块的性能提升,以及针对 master 服务器框架的功能扩展。下面是本次修改的主要内容:

acl 3.0.8 (2013.6.25)

一、lib_acl

1) feature: acl_master 框架支持在一个配置文件中监听多个地址(可以为 TCP

套接口与域套接口混用)

2) feature: acl_master 框架支持在 reload 时的 prefork,修改的相关文件有:

master_avail.c, master_service.c, master_spawn.c, master.h

3) acl_master_log.c: 将日志输出信息当调试状态对待

4) bugfix: acl_array.c->acl_array_prepend,其中调用的 acl_array_succ_insert,

应该调用 acl_array_pred_insert,该 BUG 会影响到所有调用 acl_dlink, acl_iplink,

acl_access 函数的地方,包括 acl_aio_app_main.c/acl_ioctl_app_main.c 中有关访问

权限的地方

5) 将 acl_iplink.c 中的函数调用映射为直接调用 acl_dlink.c 中的方法

6) samples/iplink: 该例子用于测试 acl_iplink.c 中的相关函数

7) bugfix: acl_mylog.c->reopen_log 函数中的 RETURN 宏定义中应该是

thread_mutex_unlock,原来的 thread_mutex_lock 会造成死锁

8) bugfix: acl_json_parse.c: 有些汉字,如“誠”的后半个字节的值正好与转义字符

相同,即为 92,所以需要兼容此情况,当判断 last_ch < 0 且当前 char 为 92

时,则认为

汉字情况; acl_xml_parse.c 也存在类似问题,已修复

9) acl_json.c/acl_xml.c: 当启用结点对象缓存策略时,acl_json_node_reset 和

acl_xml_node_reset 中调用 ACL_VSTRING_RESET 后还应该调用 ACL_VSTRING_TERMINATE

10) bugfix: acl_basename.c -> acl_safe_basename 在 3 月份修改的有误

二、lib_protocol

1) performance: http 协议库提高了 HTTP 头的解析速度,由原来的每秒 5 万

多次提升至每秒 17 万多次

2) bugfix: http 协议库中 http_hdr_reset 函数判断 hh 参数是否合法时有误

三、lib_acl_cpp

1) feature: 添加了 server_socket 类

2) socket_stream: 对 get_ip 类的函数做了一定调整

3) samples/benchmark: 增加了 client/server 两个用于测试 IO 压力的程序

 4) feature: HttpServletRequest/http_client 添加调试输出 HTTP 请求头的函数

猜你喜欢

转载自zsxxsz.iteye.com/blog/1893062
ACL