libdir 包含具有以下前缀的模块。libfreeradius proto 和 rlm。我认为 rlm 是模块的标准命名方案,因为命令
ls -l rlm_*
在 Dirk van der Walts Freeradius 初学者指南中使用。libfreeradius 和 proto 是什么意思?
libdir 包含具有以下前缀的模块。libfreeradius proto 和 rlm。我认为 rlm 是模块的标准命名方案,因为命令
ls -l rlm_*
在 Dirk van der Walts Freeradius 初学者指南中使用。libfreeradius 和 proto 是什么意思?
libfreeradius_x
rlm_
是实现和模块共用的内部 API 的实用程序库proto_
,或者由服务器核心直接使用。它们有很多:bio
是一个我们正在将输入和输出模块迁移到的 I/O 框架。curl
是 libcurl 的包装器,以便轻松集成到我们的异步 I/O 事件循环中。eap
是EAP认证中常用的函数。eap_aka_sim
是 EAP-SIM、EAP-AKA 和 EAP-AKA 中使用的常用功能'io
是旧的 I/O 框架(其中一部分将被保留)。它具有允许线程间通信的代码。json
包装器是 json-c。kafka
是 Kafka 函数的包装器。它的主要作用是便于配置解析。ldap
用于 LDAP 的异步 io 代码和包装 libldap 的实用函数。redis
Redis 的异步 io 代码和集群管理。server
核心服务器 API 用于操作元组、管理连接、配置解析和许多其他事情。tls
围绕 OpenSSL 的包装器允许异步证书验证、以标准方式设置 TLS 会话和配置等...sim
SIM 卡特定算法,如 comp128 和 milenage。unlang
在虚拟服务器部分运行的策略语言。util
与服务器类似,但是服务器和 radclient 等实用程序都会使用的低级 API。您可能还会看到类似这样的库
libfreeradius-radius
,这些库是实现 RADIUS 编码/解码的函数。服务器实现的每个前端都有一个这样的协议库。proto_
这些是前端模块(参见 src/listen)。它们实现运行协议网络端所需的状态机。即从套接字接收数据包,并将它们发送到工作线程进行处理。然后将工作线程的响应发送回网络。process_
这些是内部状态机(请参阅 src/process)。它们实现虚拟服务器使用的状态机。这些状态机控制虚拟服务器中的哪些处理部分(recv foo {}
、authenticate bar {}
),它们还在幕后对请求进行一些操作,例如将 ID 从请求复制到响应。rlm_
这些是与数据库、API 通信或执行某种查找或处理请求的后端模块(请参阅 src/modules)。rlm_radius
例如,发送出站 radius 数据包并取代早期版本 FreeRADIUS 中内置的代理行为。