配置文件strongswan.conf是通过STRONGSWAN_CONF读取并加载的。

  strongswan -- STRONGSWAN_CONF是如何传到代码里的

  通过source insight加载了strongswan整个工程文件(只包括.c和.h文件),发现没有地方给STRONGSWAN_CONF赋值。

  strongswan -- STRONGSWAN_CONF是如何传到代码里的

  而在charon进程加载时,STRONGSWAN_CONF是有值的,这个值是从哪里来的呢?

  搜索了strongswan所有代码,发现与STRONGSWAN_CONF有关的有如下几处:

  strongswan -- STRONGSWAN_CONF是如何传到代码里的

  图中显示Makefile.am和Makefile.in中有STRONGSWAN_CONF相关的语句。

  Makefile.in中的语句如下图:

  strongswan -- STRONGSWAN_CONF是如何传到代码里的

  

        gcc的参数“-D”含义如下:

                   -Dmacro

                       以字符串“1”定义 MACRO 宏

                     相当于C语言中的#define macro 

 

                   -Dmacro=defn

                       以字符串“defn”定义 MACRO 宏 

                     相当于C语言中的#define macro defn

  其他参数介绍可参见:

                   https://www.cnblogs.com/zhangsir6/articles/2956798.html

    

  实际make的时候执行的是Makefile。打开Makefile可以看到,其中引用了Makefile.in和Makefile.am。

   strongswan -- STRONGSWAN_CONF是如何传到代码里的

  如此一来便追踪到STRONGSWAN_CONF的源头。

注:

         打开strongswan的Makefile发现如下两句注释,可以看出Makefile.am、Makefile.in和Makefile相生相依的关系。

  strongswan -- STRONGSWAN_CONF是如何传到代码里的

 

 

         

相关文章:

  • 2022-02-08
  • 2021-11-28
  • 2021-04-03
  • 2021-12-28
  • 2021-05-25
  • 2021-09-30
猜你喜欢
  • 2022-12-23
  • 2021-09-29
  • 2021-10-05
  • 2021-07-08
  • 2021-12-07
  • 2021-12-16
  • 2021-10-27
相关资源
相似解决方案