diff options
author | Kali Kaneko <kali@leap.se> | 2015-01-08 14:34:13 -0400 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2015-01-08 14:34:13 -0400 |
commit | fdbfe431c52b2bc5a88a2328fe79de3035201099 (patch) | |
tree | 60d6af48f468f0dcd1922998e663f2273a55c41e /pkg/linux/bitmask-root | |
parent | 77b576b58f7f533ff4f6a31594bb53d4ffad9d49 (diff) | |
parent | 54521d35d239c2e62d42e9c77690b9d1bc94f7db (diff) |
Merge branch 'release/0.8.x' into debian/experimental
Diffstat (limited to 'pkg/linux/bitmask-root')
-rw-r--r-- | pkg/linux/bitmask-root | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/pkg/linux/bitmask-root b/pkg/linux/bitmask-root index 622a0b8a..6fb1f0b3 100644 --- a/pkg/linux/bitmask-root +++ b/pkg/linux/bitmask-root @@ -51,7 +51,29 @@ cmdcheck = subprocess.check_output # CONSTANTS # -VERSION = "4" + +def get_no_group_name(): + """ + Return the right group name to use for the current OS. + Examples: + - Ubuntu: nogroup + - Arch: nobody + + :rtype: str or None + """ + import grp + try: + grp.getgrnam('nobody') + return 'nobody' + except KeyError: + try: + grp.getgrnam('nogroup') + return 'nogroup' + except KeyError: + return None + + +VERSION = "5" SCRIPT = "bitmask-root" NAMESERVER = "10.42.0.1" BITMASK_CHAIN = "bitmask" @@ -68,7 +90,7 @@ IPTABLES = "/sbin/iptables" IP6TABLES = "/sbin/ip6tables" OPENVPN_USER = "nobody" -OPENVPN_GROUP = "nogroup" +OPENVPN_GROUP = get_no_group_name() LEAPOPENVPN = "LEAPOPENVPN" OPENVPN_SYSTEM_BIN = "/usr/sbin/openvpn" # Debian location OPENVPN_LEAP_BIN = "/usr/local/sbin/leap-openvpn" # installed by bundle @@ -83,10 +105,12 @@ FIXED_FLAGS = [ "--management-signal", "--script-security", "1", "--user", "nobody", - "--group", "nogroup", "--remap-usr1", "SIGTERM", ] +if OPENVPN_GROUP is not None: + FIXED_FLAGS.extend(["--group", OPENVPN_GROUP]) + ALLOWED_FLAGS = { "--remote": ["IP", "NUMBER", "PROTO"], "--tls-cipher": ["CIPHER"], |