mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-25 15:15:25 +00:00
nwfilter: drop use of awk
Commit 2a41bc9
dropped a dependency on gawk, but we can go one step
further and avoid awk altogether.
* src/nwfilter/nwfilter_ebiptables_driver.c
(iptablesLinkIPTablesBaseChain): Simplify command.
(ebiptablesDriverInit, ebiptablesDriverShutdown): Drop awk probe.
This commit is contained in:
parent
f20b7dbe63
commit
ddd8c3b995
@ -84,7 +84,6 @@ static char *ebtables_cmd_path;
|
|||||||
static char *iptables_cmd_path;
|
static char *iptables_cmd_path;
|
||||||
static char *ip6tables_cmd_path;
|
static char *ip6tables_cmd_path;
|
||||||
static char *grep_cmd_path;
|
static char *grep_cmd_path;
|
||||||
static char *awk_cmd_path;
|
|
||||||
|
|
||||||
#define PRINT_ROOT_CHAIN(buf, prefix, ifname) \
|
#define PRINT_ROOT_CHAIN(buf, prefix, ifname) \
|
||||||
snprintf(buf, sizeof(buf), "libvirt-%c-%s", prefix, ifname)
|
snprintf(buf, sizeof(buf), "libvirt-%c-%s", prefix, ifname)
|
||||||
@ -565,12 +564,11 @@ static int iptablesLinkIPTablesBaseChain(virBufferPtr buf,
|
|||||||
int stopOnError)
|
int stopOnError)
|
||||||
{
|
{
|
||||||
virBufferAsprintf(buf,
|
virBufferAsprintf(buf,
|
||||||
"res=$($IPT -L %s -n --line-number | "
|
"res=$($IPT -L %s -n --line-number | %s '%s')\n"
|
||||||
"%s \" %s \")\n"
|
|
||||||
"if [ $? -ne 0 ]; then\n"
|
"if [ $? -ne 0 ]; then\n"
|
||||||
" $IPT -I %s %d -j %s\n"
|
" $IPT -I %s %d -j %s\n"
|
||||||
"else\n"
|
"else\n"
|
||||||
" r=$(echo $res | %s '{print $1}')\n"
|
" set dummy $res; r=$2\n"
|
||||||
" if [ \"${r}\" != \"%d\" ]; then\n"
|
" if [ \"${r}\" != \"%d\" ]; then\n"
|
||||||
" " CMD_DEF("$IPT -I %s %d -j %s") CMD_SEPARATOR
|
" " CMD_DEF("$IPT -I %s %d -j %s") CMD_SEPARATOR
|
||||||
" " CMD_EXEC
|
" " CMD_EXEC
|
||||||
@ -582,11 +580,9 @@ static int iptablesLinkIPTablesBaseChain(virBufferPtr buf,
|
|||||||
" fi\n"
|
" fi\n"
|
||||||
"fi\n",
|
"fi\n",
|
||||||
|
|
||||||
syschain,
|
syschain, grep_cmd_path, udchain,
|
||||||
grep_cmd_path, udchain,
|
|
||||||
|
|
||||||
syschain, pos, udchain,
|
syschain, pos, udchain,
|
||||||
awk_cmd_path,
|
|
||||||
|
|
||||||
pos,
|
pos,
|
||||||
|
|
||||||
@ -4295,7 +4291,6 @@ ebiptablesDriverInit(bool privileged)
|
|||||||
if (virMutexInit(&execCLIMutex) < 0)
|
if (virMutexInit(&execCLIMutex) < 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
awk_cmd_path = virFindFileInPath("awk");
|
|
||||||
grep_cmd_path = virFindFileInPath("grep");
|
grep_cmd_path = virFindFileInPath("grep");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -4311,7 +4306,7 @@ ebiptablesDriverInit(bool privileged)
|
|||||||
|
|
||||||
/* ip(6)tables support needs awk & grep, ebtables doesn't */
|
/* ip(6)tables support needs awk & grep, ebtables doesn't */
|
||||||
if ((iptables_cmd_path != NULL || ip6tables_cmd_path != NULL) &&
|
if ((iptables_cmd_path != NULL || ip6tables_cmd_path != NULL) &&
|
||||||
(!grep_cmd_path || !awk_cmd_path)) {
|
!grep_cmd_path) {
|
||||||
VIR_ERROR(_("essential tools to support ip(6)tables "
|
VIR_ERROR(_("essential tools to support ip(6)tables "
|
||||||
"firewalls could not be located"));
|
"firewalls could not be located"));
|
||||||
VIR_FREE(iptables_cmd_path);
|
VIR_FREE(iptables_cmd_path);
|
||||||
@ -4333,7 +4328,6 @@ ebiptablesDriverInit(bool privileged)
|
|||||||
static void
|
static void
|
||||||
ebiptablesDriverShutdown(void)
|
ebiptablesDriverShutdown(void)
|
||||||
{
|
{
|
||||||
VIR_FREE(awk_cmd_path);
|
|
||||||
VIR_FREE(grep_cmd_path);
|
VIR_FREE(grep_cmd_path);
|
||||||
VIR_FREE(ebtables_cmd_path);
|
VIR_FREE(ebtables_cmd_path);
|
||||||
VIR_FREE(iptables_cmd_path);
|
VIR_FREE(iptables_cmd_path);
|
||||||
|
Loading…
Reference in New Issue
Block a user