diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/conntrack.c | 2 | ||||
-rw-r--r-- | src/helpers/rpc.c | 5 | ||||
-rw-r--r-- | src/run.c | 23 |
3 files changed, 18 insertions, 12 deletions
diff --git a/src/conntrack.c b/src/conntrack.c index 0d71352..9fa4986 100644 --- a/src/conntrack.c +++ b/src/conntrack.c @@ -337,7 +337,7 @@ static struct option original_opts[] = { {0, 0, 0, 0} }; -static const char *getopt_str = ":L::I::U::D::G::E::F::A::hVs:d:r:q:" +static const char *getopt_str = ":LIUDGEFAhVs:d:r:q:" "p:t:u:e:a:z[:]:{:}:m:i:f:o:n::" "g::c:b:C::Sj::w:l:<:>::(:):"; diff --git a/src/helpers/rpc.c b/src/helpers/rpc.c index 732e9ba..d8e4903 100644 --- a/src/helpers/rpc.c +++ b/src/helpers/rpc.c @@ -399,6 +399,11 @@ rpc_helper_cb(struct pkt_buff *pkt, uint32_t protoff, xid, rpc_info->xid); goto out; } + /* Ignore portmap program number */ + if (rpc_info->pm_prog == PMAPPROG) { + pr_debug("RPC REPL: ignore portmap program number %lu\n", PMAPPROG); + goto out; + } if (rpc_reply(data, offset, datalen, rpc_info, &port_ptr) < 0) goto out; @@ -277,6 +277,18 @@ init(void) } register_fd(STATE(local).fd, local_cb, NULL, STATE(fds)); + /* Initialization */ + if (CONFIG(flags) & (CTD_SYNC_MODE | CTD_STATS_MODE)) + if (ctnl_init() < 0) + return -1; + +#ifdef BUILD_CTHELPER + if (CONFIG(flags) & CTD_HELPER) { + if (cthelper_init() < 0) + return -1; + } +#endif + /* Signals handling */ sigemptyset(&STATE(block)); sigaddset(&STATE(block), SIGTERM); @@ -296,17 +308,6 @@ init(void) if (signal(SIGCHLD, child) == SIG_ERR) return -1; - /* Initialization */ - if (CONFIG(flags) & (CTD_SYNC_MODE | CTD_STATS_MODE)) - if (ctnl_init() < 0) - return -1; - -#ifdef BUILD_CTHELPER - if (CONFIG(flags) & CTD_HELPER) { - if (cthelper_init() < 0) - return -1; - } -#endif time(&STATE(stats).daemon_start_time); dlog(LOG_NOTICE, "initialization completed"); |