Compare commits

..

4 Commits

Author SHA1 Message Date
Lorekin
3444bf978c
Merge 92ba6b439e6aed8557a315ebfcd350016159be52 into 1175b171bac49a9de90abbced23d5ee75f43ff3e 2024-12-08 12:38:24 +04:00
bol-van
1175b171ba nfqws: NETLINK_NO_ENOBUFS 2024-12-08 09:58:30 +03:00
bol-van
bea643c967 nfqws: more error checking fixing 2024-12-08 09:40:45 +03:00
bol-van
addc813956 tpws: fix dangling else 2024-12-08 08:38:17 +03:00
2 changed files with 9 additions and 5 deletions

View File

@ -217,10 +217,12 @@ static bool nfq_init(struct nfq_handle **h,struct nfq_q_handle **qh)
if (!rawsend_preinit(params.bind_fix4,params.bind_fix6))
goto exiterr;
// increase socket buffer size. on slow systems reloading hostlist can take a while.
// if too many unhandled packets are received its possible to get "no buffer space available" error
if (!set_socket_buffers(nfq_fd(*h),Q_RCVBUF/2,Q_SNDBUF/2))
goto exiterr;
int yes=1, fd = nfq_fd(*h);
#if defined SOL_NETLINK && defined NETLINK_NO_ENOBUFS
if (setsockopt(fd, SOL_NETLINK, NETLINK_NO_ENOBUFS, &yes, sizeof(yes)) == -1)
DLOG_PERROR("setsockopt(NETLINK_NO_ENOBUFS)");
#endif
return true;
exiterr:
@ -267,7 +269,7 @@ static int nfq_main(void)
errno=e;
DLOG_PERROR("recv");
// do not fail on ENOBUFS
} while(errno==ENOBUFS);
} while(e==ENOBUFS);
nfq_deinit(&h,&qh);

View File

@ -711,10 +711,12 @@ void parse_params(int argc, char *argv[])
while ((v = getopt_long_only(argc, argv, "", long_options, &option_index)) != -1)
{
if (v)
{
if (bDry)
exit_clean(1);
else
exithelp_clean();
}
switch (option_index)
{
case 0: