diff options
author | Maximilian Hils <git@maximilianhils.com> | 2014-08-10 16:10:49 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2014-08-10 16:10:49 +0200 |
commit | 858b0af0bbcbf3c26e71c0b6e33b5de3a8f31c75 (patch) | |
tree | a35834b8488abdb4d7ed5621fe1c9c9cf9a70ef6 /libmproxy/platform/osx.py | |
parent | ecf8081ba63f15ec283979a3418951711ec30071 (diff) | |
download | mitmproxy-858b0af0bbcbf3c26e71c0b6e33b5de3a8f31c75.tar.gz mitmproxy-858b0af0bbcbf3c26e71c0b6e33b5de3a8f31c75.tar.bz2 mitmproxy-858b0af0bbcbf3c26e71c0b6e33b5de3a8f31c75.zip |
fix #270
Diffstat (limited to 'libmproxy/platform/osx.py')
-rw-r--r-- | libmproxy/platform/osx.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libmproxy/platform/osx.py b/libmproxy/platform/osx.py index 3a91ac2b..810e5e5f 100644 --- a/libmproxy/platform/osx.py +++ b/libmproxy/platform/osx.py @@ -13,15 +13,14 @@ import pf the output processing of pfctl (see pf.py). """ -class Resolver: + +class Resolver(object): STATECMD = ("sudo", "-n", "/sbin/pfctl", "-s", "state") - def __init__(self): - pass def original_addr(self, csock): peer = csock.getpeername() - try: - stxt = subprocess.check_output(self.STATECMD, stderr=subprocess.STDOUT) - except subprocess.CalledProcessError: - return None + stxt = subprocess.check_output(self.STATECMD, stderr=subprocess.STDOUT) + if "sudo: a password is required" in stxt: + raise RuntimeError("Insufficient privileges to access pfctl. " + "See http://mitmproxy.org/doc/transparent/osx.html for details.") return pf.lookup(peer[0], peer[1], stxt) |