diff options
Diffstat (limited to 'src/read_config_yy.y')
-rw-r--r-- | src/read_config_yy.y | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/read_config_yy.y b/src/read_config_yy.y index 73fabbf..58ad2d0 100644 --- a/src/read_config_yy.y +++ b/src/read_config_yy.y @@ -89,6 +89,7 @@ enum { %token T_OPTIONS T_TCP_WINDOW_TRACKING T_EXPECT_SYNC %token T_HELPER T_HELPER_QUEUE_NUM T_HELPER_QUEUE_LEN T_HELPER_POLICY %token T_HELPER_EXPECT_TIMEOUT T_HELPER_EXPECT_MAX +%token T_SYSTEMD %token <string> T_IP T_PATH_VAL %token <val> T_NUMBER @@ -1122,8 +1123,15 @@ general_line: hashsize | netlink_events_reliable | nice | scheduler + | systemd ; +systemd: T_SYSTEMD T_ON { /* already enabled in init_config() */ }; +systemd: T_SYSTEMD T_OFF +{ + conf.systemd = 0; +}; + netlink_buffer_size: T_BUFFER_SIZE T_NUMBER { conf.netlink_buffer_size = $2; @@ -1856,6 +1864,9 @@ init_config(char *filename) CONFIG(stats).syslog_facility = -1; CONFIG(netlink).subsys_id = -1; + /* enable systemd by default */ + CONFIG(systemd) = 1; + /* Initialize list of user-space helpers */ INIT_LIST_HEAD(&CONFIG(cthelper).list); @@ -1865,6 +1876,14 @@ init_config(char *filename) yyparse(); fclose(fp); +#ifndef BUILD_SYSTEMD + if (CONFIG(systemd) == 1) { + print_err(CTD_CFG_WARN, "systemd runtime support activated but" + " conntrackd was built without support" + " for it. Recompile conntrackd"); + } +#endif /* BUILD_SYSTEMD */ + /* set to default is not specified */ if (strcmp(CONFIG(lockfile), "") == 0) strncpy(CONFIG(lockfile), DEFAULT_LOCKFILE, FILENAME_MAXLEN); |