更换Freeradius库

我有一个freeradius 2.0.4服务器,我想update.it已经运行了2年没有中断。
我的更新只包括更新chap模块而不创build新模块。
为了避免不连续的服务,并确保所有的configuration保持不变,我试图find一个顺利的方式做到这一点在testing机器上。
我认为可以用我的修改版本简单地replacerlm_chap-2.0.4.so 。 但是这会产生段错误(很可能是由于图书馆冲突造成的)。

其他信息:
– 当第一个请求调用chap模块时,Freeradius启动并产生segfault。
– 当我的库与freeradius的源代码一起使用时,它的工作正常
– 我正在使用通过apt-get安装和apt-get源代码编译版本安装的Freeradius 2.0.4版本
– 库冲突是由修改后的库引起的,没有别的。 如果我恢复原始版本的rlm_chap-2.0.4.so(并不做别的),它再次正常工作。
– 我仍然是编译/库操作/ freeradius noobot,所以我可能做了很多错误的事情。

有任何想法吗?

谢谢!

我不确定“图书馆冲突”是什么意思。

但无论如何,你不应该这样做。 如果您正在修改rlm_chap,则必须针对与libfreeradius和radiusd相同的源版本进行构build。

如果您试图使用FreeRADIUS(比如2.2.0)的更新版本中的rlm_chap的打包版本,则可能无法正常工作,因为FreeRADIUS的内部API可能会发生变化。

对于FreeRADIUS 3.0.0,这是明确禁止的。 如果加载与不同版本的库链接的模块,服务器将拒绝启动。

如果它是用不同版本的OpenSSL构build的,那么它也将拒绝启动它在运行时链接到的版本。

如果您正在更新rlm_chap,则需要下载2.0.4正式版本,将src / modules / rlm_chap中的rlm_chap代码换出,尝试构build模块,修复所有生成错误,然后使用该版本代替目前的.so。