strongswan.conf為strongswan的所有組件提供配置,靈活且擴展性好。
下面簡要分析下strongswan.conf的讀取和處理在代碼中的實現。
以charon進程的啟動為例,整個library初始化的時候,會將strongswan.conf的名字存起來。見library.c之函數bool library_init(char *settings, const char *namespace);
然后通過函數settings_t *settings_create(char *file);讀取並處理
處理細節可以從settings_create函數順藤摸瓜,一一拆解。
關於 STRONGSWAN_CONF是如何傳到代碼里的 ,可以在這里找到解釋:
https://www.cnblogs.com/collapsar/p/10577975.html