upgrade - 自由半径升级问题
问题描述
我最近将我的 Free Radius 代码从 2.0 升级到了 3.x 版本。我正在寻找旧 Free Radius 版本支持的一些 API。我正在寻找 API ldap_pairget()。您能否告诉我应该使用哪些 API 来代替 ldap_pairget。这些函数还包括 pairmake()、pairadd()、pairdelete() API,这些 API 在 newe Free Radius Code 中不可用。谢谢
解决方案
在 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_pairget
是fr_ldap_map_do
,但它不是为外部调用者使用而设计的。它会起作用,但是要为它提供预期的结构需要付出很多努力。
一般来说,如果你有用户可配置的映射,你应该调用map_to_request
,并将它传递给它需要的回调来获取正在创建的对的值。
推荐阅读
- tcp-rst - FIN 之前的加密警报 (21) 和 TCP RST
- javascript - 为什么值没有正确分配给我的数组?
- python - 按日期时间对数据帧进行排序,但从 06:00 开始?
- html - 设置集成到表格中的选择的位置
- mapbox - 批量设置图层可见性 Mapbox
- java - Oracle IAM weblogic 服务器问题
- python - Jupyter 内核无法连接到 virtualenv
- html - 表单字段边界半径不仅适用于最后一个元素
- jsp - 如何使用jsp从数据库中检索复选框值?
- html - HTML 不会读取我的 JavaScript scipt 标签