freeswan找不到eth设备的问题终极解决

发表于:2007-05-26来源:作者:点击数: 标签:
freeswan找不到eth设备的问题终于有了解决,我想哭。今天愚人节,老天不是在耍我吧! freeswan找不到eth设备的问题终于有了解决,我想哭。第一次心得写的时候以为是内核配置时候选错了什么,这两天从新编译内核不下20回,可还是老样。没办法,还得啃源码。看
freeswan找不到eth设备的问题终于有了解决,我想哭。今天愚人节,老天不是在耍我吧!

freeswan找不到eth设备的问题终于有了解决,我想哭。第一次心得写的时候以为是内核配置时候选错了什么,这两天从新编译内核不下20回,可还是老样。没办法,还得啃源码。看了半天问题集中在freeswan/pluto/server.c中的find_raw_ifaces4函数。在这个函数中加了N个输出语句,也没个结果。我绝望之余又翻出原版freeswan 1.97比对发现我用的uclinux里带的freeswan里的这个函数竟然多出来几句。

/* ignore unconfigured interfaces */
if (rs->sin_addr.s_addr == 0)
continue;
/********************************************************************/
{
int i = 0;
int found = FALSE;

for (i = 0; i < NUM_INTERFACES; i++) {
if (((phys_interfaces[i] && !strcmp(phys_interfaces[i], ri.name))) ||
!strncmp("ipsec", ri.name, 5))
found = TRUE;
}

if (!found)
continue;
}
/**********************************************************************/
happy(initaddr((const void *)&rs->sin_addr, sizeof(struct in_addr)
, AF_INET, &ri.addr));


中间标出的就是多出来的,第一回我把原版的这个文件拷到编译目录里了,因为没仔细看所以没发现,没问题以后以为是内核选项的问题。

我晕,这到底是哪个老爷加的?太不负责了,连个注释都没有。

原文转自:http://www.ltesting.net