提交 ddd8c3b9 编写于 作者: E Eric Blake

nwfilter: drop use of awk

Commit 2a41bc95 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.
上级 f20b7dbe
...@@ -84,7 +84,6 @@ static char *ebtables_cmd_path; ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册