当前位置:Linux教程 - Apache - Apache 1.3.20 主要改进

Apache 1.3.20 主要改进

Apache1.3.20主要是在在win32和os/2上纠正了一个严重的DOS(拒绝服务)漏洞。

Apache 1.3.20 主要改进主要的安全问题修正:
一个精心构建的URI可能导致win32或os/2 server上的段错误,拒绝用户存取直到错误清除,此版本解决了这些平台上的问题,不会再有因拒绝服务的使用造成的数据攻击。
普通的bug修正:
1。排除了一个在支持isnan()和isinf()的平台上如果一个无效的浮点值通过ap_snprintf()函数时造成的潜在的段错误。
2。纠正了在起动时扫描缺省ServerName或IP串时没有指定ServerName可能造成的段错误。
3。根据RFC2068的允许,修正mod_proxy模块可保留空的头标。
4。完全解决了当ndbm.h位于非标准db1/子目录下时linux上的ndbm和一些glibc2构建的定位问题。
win32平台上的bug修正:
1。win32现在可以完全处理SSI的可执行的cmd标签,因为空格和斜线的解析,cmd被解释为一个可执行文件,而不是一个长的命令行字符。
2。解决了winnt/2k服务的一个线程问题,而使模块例如mod_jserv和mod_perl能够完整干净的关闭。
3。解决了父win32服务进程的标准输入输出管道问题-解决了例如试图用管道日志时造成的""dup2(stdin) failed"" 之类的bug.
NetWare上的特定bug修正:
1。NetWare的初始化屏幕允许用-s参数来切换到系统控制台屏幕,起动时的警告信息现在可以显示。
2。NetWare增加了. 和 .. 到目录列表里使mod_autoindex现在可以显示父目录。
3。NetWare现在可以在错误的条件下干净的关闭,譬如在读httpd.conf文件时产生了错误。
主要的新特性包括:
1。增强的rotatelogs程序允许指定一个UTC偏移量,日志文件的格式可用可读的日期/时间戳来命名。
2。加NOESCAPE (NS)标记到RewriteRule指令,禁止*all* 的常规URI转义。注意不谨慎的使用可能导致的意想不到的结果和安全风险。
3。加字符到RewriteRule指令以允许一些特定字符转义,允许嵌入$ 和 % 在结果中,因此foo$1 将被翻译成foo$1 而不是foo.
4。加-V标记到suexec,可显示建立的编译时设置(只对root或HTTPD_USER用户有效)。
5。引入了EBCDIC转换配置选项,控制基于MIME类型或文件后缀的转换。
6。支持Cygwin 1.x 平台(一个Win32系统的POSIX模拟层,参见http://www.cygwin.com),注意这是一种和Win32端口本地调用完全不同的实现。
7。支持Win32下用apxs来构建模块,cygwin构建器必须用一个cygwin的perl构建以消除MSVC处理。