diff options
-rwxr-xr-x | miniircd | 13 |
1 files changed, 5 insertions, 8 deletions
@@ -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") |