1)随意看了看ipt.ables的extensions的代码,看到 libipt_ttl.c 的时候,发现这份代码.的一个问题 乙肝
我的配置: iptables-1.3.4,.已经pom.和patch了 健康
2)在 1.3.4 版本的 parse 函数中.,竟然把下述代码.放到了 option 解析之后: 建材
if( * flags. ).
{
exit_error(PARAMETER_PROBLEM, "Can't specify TTL option tw.ice.");
}
即原来的代码是这样的.: 电子
. switch( c ) 婚庆
{
. . ....................电影
}
if.( * flags ).
{
. exit_error(PARAMETER_PROBL.EM, "Can't specify TTL option twice");投资
}
. 看到之后,感觉这.段代码一定会导致 Segmentation fault,于是试了一试:.
iptables -A INPUT -m ttl --ttl.-.eq 123 -J DROP 杀毒
果然,Segmentation fault,注.意,这里.我使用的是 -J 而不是 -j电影
3)如何解决:
if( * flags ).健康
{
.. exit_error(PARAMETER_PROBLEM, "Can't specify TTL option twice"); 杀毒
}
代码放到 check_inverse.(optarg, &inv.ert, &optind, 0); 之前即可,把该检查的逻辑放到头里去做.
4)也.许有别人也遇到这个问题,希望对你们有帮助--- 印刷