unbound源码修改---配置文件增加变量
unbound配置文件增加新的变量大概经过以下4个步骤即可
1 |
|
在util/config_file.h
的struct config_file
中增加变量名
在 util/config_file.c
中初始化相关变量并解析
在
config_create
函数中初始化变量- 在
config_create_forlib
函数中初始化变量
如果变量在libunbound库中使用则需要在config_create_forlib中也初始化相关变量.
- 在
在
config_get_option
函数中获取到配置文件中信息到变量中- 在
config_set_option
函数中设置配置文件中的变量内容
如果变量在 libunbound 或 remote 控制中可用的话也需要在此函数中进行进行
- 在
在
config_delete
函数中释放申请的字符串资源
在 util/configparser.y
中增加对应的变量赋值语句
%token 部分增加自动生成变量
在分组变量内增加新的变量
注意下图的分组格式
下图为在ipset模块contents中增加新的变量
- 增加自动变量判定逻辑
关联token中的VAR_IPSET_NAME_DOMAIN和 ipset_name_domain
在 util/configlexer.lex
中引用上一步中的变量
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!