commit 16b62b790a33022c27d408e897c0a6bf23cf2e36
Author: Thomas Woerner <twoerner@redhat.com>
Date: Mon Jul 25 19:07:30 2016 +0200
firewall[-offline]-cmd, firewallctl, firewall.command: Use sys.{stdout,stderr}
Using sys.stdout and sys.stderr instead of print to have error output to stderr
and to calm down broken pipe output.
diff --git a/src/firewall-cmd b/src/firewall-cmd
index d408c09..df0747d 100755
--- a/src/firewall-cmd
+++ b/src/firewall-cmd
@@ -44,7 +44,7 @@ from firewall.core.io.icmptype import icmptype_reader
from firewall.command import FirewallCommand
def __usage():
- print ("""
+ sys.stdout.write("""
Usage: firewall-cmd [OPTIONS...]
General Options
@@ -401,6 +401,7 @@ Panic Options
--panic-on Enable panic mode
--panic-off Disable panic mode
--query-panic Query whether panic mode is enabled
+
""")
def try_set_zone_of_interface(_zone, interface):
@@ -1811,7 +1812,7 @@ elif a.direct:
cmd.fail("usage: --direct --passthrough { ipv4 | ipv6 | eb } <args>")
msg = fw.passthrough(cmd.check_ipv(a.passthrough[0]), splitArgs(a.passthrough[1]))
if msg:
- print(msg)
+ sys.stdout.write(msg + "\n")
elif a.add_passthrough:
if len(a.add_passthrough) < 2:
diff --git a/src/firewall-offline-cmd b/src/firewall-offline-cmd
index a296441..4a9432f 100755
--- a/src/firewall-offline-cmd
+++ b/src/firewall-offline-cmd
@@ -43,13 +43,13 @@ from firewall.command import FirewallCommand
# check for root user
if os.getuid() != 0:
- print("You need to be root to run %s." % sys.argv[0])
+ sys.stderr.write("You need to be root to run %s.\n" % sys.argv[0])
sys.exit(-1)
SYSTEM_CONFIG_FIREWALL = config.SYSCONFIGDIR + '/system-config-firewall'
def __usage():
- print ("""
+ sys.stdout.write("""
Usage: firewall-offline-cmd [OPTIONS...]
If no options are given, configuration from '%s' will be migrated.
@@ -418,7 +418,7 @@ Polkit Options
--policy-server Change Polkit actions to 'server' (more restricted)
--policy-desktop Change Polkit actions to 'desktop' (less restricted)
- """ % (SYSTEM_CONFIG_FIREWALL, config.SYSCONFIGDIR))
+""" % (SYSTEM_CONFIG_FIREWALL, config.SYSCONFIGDIR))
def parse_port_lokkit(value):
try:
diff --git a/src/firewall/command.py b/src/firewall/command.py
index 58618b0..74ee8b2 100644
--- a/src/firewall/command.py
+++ b/src/firewall/command.py
@@ -55,19 +55,23 @@ class FirewallCommand(object):
def print_msg(self, msg=None):
if msg is not None and not self.quiet:
- print(msg)
+ sys.stdout.write(msg + "\n")
+
+ def print_error_msg(self, msg=None):
+ if msg is not None and not self.quiet:
+ sys.stderr.write(msg + "\n")
def print_warning(self, msg=None):
FAIL = '\033[91m'
END = '\033[00m'
- self.print_msg(FAIL + msg + END)
+ self.print_error_msg(FAIL + msg + END)
def print_and_exit(self, msg=None, exit_code=0):
#OK = '\033[92m'
FAIL = '\033[91m'
END = '\033[00m'
if exit_code > 1:
- self.print_msg(FAIL + msg + END)
+ self.print_error_msg(FAIL + msg + END)
else:
self.print_msg(msg)
#self.print_msg(OK + msg + END)
@@ -77,8 +81,8 @@ class FirewallCommand(object):
self.print_and_exit(msg, 2)
def print_if_verbose(self, msg=None):
- if msg and self.verbose:
- print(msg)
+ if msg is not None and self.verbose:
+ sys.stdout.write(msg + "\n")
def __cmd_sequence(self, cmd_type, option, action_method, query_method,
parse_method, message, start_args=None, end_args=None,
diff --git a/src/firewallctl b/src/firewallctl
index 249736c..20cccac 100755
--- a/src/firewallctl
+++ b/src/firewallctl
@@ -3365,7 +3365,7 @@ elif args.parser == "direct":
msg = fw.passthrough(cmd.check_ipv(args.passthrough[0]),
splitArgs(args.passthrough[1]))
if msg:
- print(msg)
+ sys.stdout.write(msg + "\n")
elif args.action == "get":
commit 560a0e4e9f66da97ceeb69f295a989251e86a342
Author: Thomas Woerner <twoerner@redhat.com>
Date: Thu Jul 28 13:28:22 2016 +0200
tests/firewall-[offline-]cmd_test.sh: Hide errors and warnings
This change is needed because of the use of stderr for warnings and errors in
the command line tools.
diff --git a/src/tests/firewall-cmd_test.sh b/src/tests/firewall-cmd_test.sh
index f9348ca..dd7c4f8 100755
--- a/src/tests/firewall-cmd_test.sh
+++ b/src/tests/firewall-cmd_test.sh
@@ -10,7 +10,7 @@ readonly RESTORE='\033[0m'
assert_good() {
local args="${1}"
- ${path}firewall-cmd ${args} > /dev/null
+ ${path}firewall-cmd ${args} > /dev/null 2>&1
if [[ "$?" -eq 0 ]]; then
echo "${args} ... OK"
else
@@ -23,7 +23,7 @@ assert_good_notempty() {
local args="${1}"
local ret
- ret=$(${path}firewall-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( -n "${ret}" ) ]]; then
echo "${args} ... OK"
else
@@ -36,7 +36,7 @@ assert_good_empty() {
local args="${1}"
local ret
- ret=$(${path}firewall-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( -z "${ret}" ) ]]; then
echo "${args} ... OK"
else
@@ -50,7 +50,7 @@ assert_good_equals() {
local value="${2}"
local ret
- ret=$(${path}firewall-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( "${ret}" = "${value}" ) ]]; then
echo "${args} ... OK"
else
@@ -64,7 +64,7 @@ assert_good_contains() {
local value="${2}"
local ret
- ret=$(${path}firewall-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( "${ret}" = *${value}* ) ]]; then
echo "${args} ... OK"
else
@@ -90,7 +90,7 @@ assert_bad_contains() {
local value="${2}"
local ret
- ret=$(${path}firewall-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -ne 0 ) || ( "${ret}" = *${value}* ) ]]; then
((failures++))
echo -e "${args} ... ${RED}${failures}. FAILED (non-zero exit status or '${ret}' does contain '${value}')${RESTORE}"
@@ -115,7 +115,7 @@ assert_rich_good() {
command="--query-rich-rule"
fi
- ${path}firewall-cmd ${permanent} ${command} "${args}" > /dev/null
+ ${path}firewall-cmd ${permanent} ${command} "${args}" > /dev/null 2>&1
if [[ "$?" -eq 0 ]]; then
echo ${permanent} ${command} "${args} ... OK"
else
@@ -139,7 +139,7 @@ assert_rich_bad() {
command="--query-rich-rule"
fi
- ${path}firewall-cmd ${permanent} ${command} "${args}" > /dev/null
+ ${path}firewall-cmd ${permanent} ${command} "${args}" > /dev/null 2>&1
if [[ "$?" -ne 0 ]]; then
echo ${permanent} ${command} "${args} ... OK"
else
diff --git a/src/tests/firewall-offline-cmd_test.sh b/src/tests/firewall-offline-cmd_test.sh
index 54fad3d..344b825 100755
--- a/src/tests/firewall-offline-cmd_test.sh
+++ b/src/tests/firewall-offline-cmd_test.sh
@@ -22,7 +22,7 @@ assert_cmd_good() {
assert_good() {
local args="${1}"
- ${path}firewall-offline-cmd ${args} > /dev/null
+ ${path}firewall-offline-cmd ${args} > /dev/null 2>&1
if [[ "$?" -eq 0 ]]; then
echo "${args} ... OK"
else
@@ -35,7 +35,7 @@ assert_good_notempty() {
local args="${1}"
local ret
- ret=$(${path}firewall-offline-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-offline-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( -n "${ret}" ) ]]; then
echo "${args} ... OK"
else
@@ -48,7 +48,7 @@ assert_good_empty() {
local args="${1}"
local ret
- ret=$(${path}firewall-offline-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-offline-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( -z "${ret}" ) ]]; then
echo "${args} ... OK"
else
@@ -62,7 +62,7 @@ assert_good_equals() {
local value="${2}"
local ret
- ret=$(${path}firewall-offline-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-offline-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( "${ret}" = "${value}" ) ]]; then
echo "${args} ... OK"
else
@@ -76,7 +76,7 @@ assert_good_contains() {
local value="${2}"
local ret
- ret=$(${path}firewall-offline-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-offline-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -eq 0 ) && ( "${ret}" = *${value}* ) ]]; then
echo "${args} ... OK"
else
@@ -88,7 +88,7 @@ assert_good_contains() {
assert_bad() {
local args="${1}"
- ${path}firewall-offline-cmd ${args} 1> /dev/null 2>&1
+ ${path}firewall-offline-cmd ${args} 1> /dev/null 2>&1 2>&1
if [[ "$?" -ne 0 ]]; then
echo "${args} ... OK"
else
@@ -102,7 +102,7 @@ assert_bad_contains() {
local value="${2}"
local ret
- ret=$(${path}firewall-offline-cmd ${args}) > /dev/null
+ ret=$(${path}firewall-offline-cmd ${args}) > /dev/null 2>&1
if [[ ( "$?" -ne 0 ) || ( "${ret}" = *${value}* ) ]]; then
((failures++))
echo -e "${args} ... ${RED}${failures}. FAILED (non-zero exit status or '${ret}' does contain '${value}')${RESTORE}"
@@ -125,7 +125,7 @@ assert_rich_good() {
command="--query-rich-rule"
fi
- ${path}firewall-offline-cmd ${command} "${args}" > /dev/null
+ ${path}firewall-offline-cmd ${command} "${args}" > /dev/null 2>&1
if [[ "$?" -eq 0 ]]; then
echo ${command} "${args} ... OK"
else
@@ -147,7 +147,7 @@ assert_rich_bad() {
command="--query-rich-rule"
fi
- ${path}firewall-offline-cmd ${command} "${args}" > /dev/null
+ ${path}firewall-offline-cmd ${command} "${args}" > /dev/null 2>&1
if [[ "$?" -ne 0 ]]; then
echo ${command} "${args} ... OK"
else