=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rdistd/server.c,v retrieving revision 1.43 retrieving revision 1.44 diff -c -r1.43 -r1.44 *** src/usr.bin/rdistd/server.c 2017/08/30 07:43:52 1.43 --- src/usr.bin/rdistd/server.c 2018/09/09 13:53:11 1.44 *************** *** 1,4 **** ! /* $OpenBSD: server.c,v 1.43 2017/08/30 07:43:52 otto Exp $ */ /* * Copyright (c) 1983 Regents of the University of California. --- 1,4 ---- ! /* $OpenBSD: server.c,v 1.44 2018/09/09 13:53:11 millert Exp $ */ /* * Copyright (c) 1983 Regents of the University of California. *************** *** 188,194 **** if (userid == 0) { /* running as root; take anything */ if (*owner == ':') { uid = (uid_t) atoi(owner + 1); ! } else if (pw == NULL || strcmp(owner, pw->pw_name) != 0) { if ((pw = getpwnam(owner)) == NULL) { if (mode != -1 && IS_ON(mode, S_ISUID)) { message(MT_NOTICE, --- 188,196 ---- if (userid == 0) { /* running as root; take anything */ if (*owner == ':') { uid = (uid_t) atoi(owner + 1); ! } else if (strcmp(owner, locuser) != 0) { ! struct passwd *pw; ! if ((pw = getpwnam(owner)) == NULL) { if (mode != -1 && IS_ON(mode, S_ISUID)) { message(MT_NOTICE, *************** *** 203,210 **** } else uid = pw->pw_uid; } else { ! uid = pw->pw_uid; ! primegid = pw->pw_gid; } if (*group == ':') { gid = (gid_t)atoi(group + 1); --- 205,212 ---- } else uid = pw->pw_uid; } else { ! uid = userid; ! primegid = groupid; } if (*group == ':') { gid = (gid_t)atoi(group + 1);