unbound源码修改---配置文件增加变量

unbound配置文件增加新的变量大概经过以下4个步骤即可

1
2
3
4
1. 在util/config_file.h的struct config_file中增加变量名
2. 在util/config_file.c中初始化相关变量并解析
3. 在util/configparser.y中增加对应的变量赋值语句
4. 在util/configlexer.lex 中引用上一步中的变量

util/config_file.hstruct 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 协议 ,转载请注明出处!