| 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));
中间标出的就是多出来的,第一回我把原版的这个文件拷到编译目录里了,因为没仔细看所以没发现,没问题以后以为是内核选项的问题。
我晕,这到底是哪个老爷加的?太不负责了,连个注释都没有。
|