首页 > 解决方案 > 自由半径升级问题

问题描述

我最近将我的 Free Radius 代码从 2.0 升级到了 3.x 版本。我正在寻找旧 Free Radius 版本支持的一些 API。我正在寻找 API ldap_pairget()。您能否告诉我应该使用哪些 API 来代替 ldap_pairget。这些函数还包括 pairmake()、pairadd()、pairdelete() API,这些 API 在 newe Free Radius Code 中不可用。谢谢

标签: upgradefreeradius

解决方案


在 v3.0.x 中有一个“tmpls”(模板)和映射的概念。模板描述了一个数据源或接收器,而映射描述了如何将数据从一个 tmpl 移动到另一个。仍然存在低级对移动功能。

  • 对分配fr_pair_alloc
  • 从字符串赋值fr_pair_value_from_str
  • 将一对添加到列表中fr_pair_add
  • 替换列表中的现有对fr_pair_replace
  • 按其协议号删除一对fr_pair_delete_by_num

v3.0.x 中的等效函数ldap_pairgetfr_ldap_map_do,但它不是为外部调用者使用而设计的。它会起作用,但是要为它提供预期的结构需要付出很多努力。

一般来说,如果你有用户可配置的映射,你应该调用map_to_request,并将它传递给它需要的回调来获取正在创建的对的值。


推荐阅读