summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian May <brian@linuxpenguins.xyz>2021-07-01 08:03:00 +1000
committerGitHub <noreply@github.com>2021-07-01 08:03:00 +1000
commit6ae0b51c61b43d7ac76b59248da0d2c127308c71 (patch)
treec47472a45757624fb395413eedcfc57922d10d07
parentbea5e1a1f4a01689791d29af805db097267295d3 (diff)
parentd7e257642e5fbae090d0a6e287888d246753b667 (diff)
Merge pull request #658 from skuhl/pfctl-error-report
Print pfctl error message when it returns non-zero.
-rw-r--r--sshuttle/methods/pf.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/sshuttle/methods/pf.py b/sshuttle/methods/pf.py
index be46be7..dd8e245 100644
--- a/sshuttle/methods/pf.py
+++ b/sshuttle/methods/pf.py
@@ -11,8 +11,8 @@ from fcntl import ioctl
from ctypes import c_char, c_uint8, c_uint16, c_uint32, Union, Structure, \
sizeof, addressof, memmove
from sshuttle.firewall import subnet_weight
-from sshuttle.helpers import debug1, debug2, debug3, Fatal, family_to_string, \
- get_env, which
+from sshuttle.helpers import log, debug1, debug2, debug3, Fatal, \
+ family_to_string, get_env, which
from sshuttle.methods import BaseMethod
@@ -393,6 +393,10 @@ def pfctl(args, stdin=None):
env=get_env())
o = p.communicate(stdin)
if p.returncode:
+ log('%r returned %d, stdout and stderr follows: ' %
+ (argv, p.returncode))
+ log("stdout:\n%s" % o[0].decode("ascii"))
+ log("stderr:\n%s" % o[1].decode("ascii"))
raise Fatal('%r returned %d' % (argv, p.returncode))
return o