From 9c14fbe90499b72202db944bc8c8a6f6a747f458 Mon Sep 17 00:00:00 2001 From: Rezrov Frotz Date: Fri, 18 Jul 2014 12:23:40 -0400 Subject: Use split to parse user/group ID --- miniircd | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/miniircd b/miniircd index d8d0017..ac9357e 100755 --- a/miniircd +++ b/miniircd @@ -883,14 +883,11 @@ def main(argv): from grp import getgrnam if os.getuid() != 0: op.error("Must be root to use --setuid") - match = re.findall(r"([a-z_][a-z0-9_-]*\$?)", options.setuid, - flags=re.IGNORECASE) - if len(match) > 1: - options.setuid = (int(getpwnam(match[0]).pw_uid), - int(getgrnam(match[1]).gr_gid)) - elif len(match) == 1: - options.setuid = (int(getpwnam(match[0]).pw_uid), - int(getpwnam(match[0]).pw_gid)) + matches = options.setuid.split(":") + if len(matches) > 1: + options.setuid = (int(getpwnam(matches[0]).pw_uid),int(getgrnam(matches[1]).gr_gid)) + elif len(matches) == 1: + options.setuid = (int(getpwnam(matches[0]).pw_uid),int(getpwnam(matches[0]).pw_gid)) else: op.error("Specify a user, or user and group separated by a colon," " e.g. --setuid daemon, --setuid nobody:nobody") -- cgit v1.2.3