=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rdistd/server.c,v retrieving revision 1.6 retrieving revision 1.7 diff -c -r1.6 -r1.7 *** src/usr.bin/rdistd/server.c 1998/05/18 19:12:53 1.6 --- src/usr.bin/rdistd/server.c 1998/06/26 21:20:53 1.7 *************** *** 1,4 **** ! /* $OpenBSD: server.c,v 1.6 1998/05/18 19:12:53 deraadt Exp $ */ /* * Copyright (c) 1983 Regents of the University of California. --- 1,4 ---- ! /* $OpenBSD: server.c,v 1.7 1998/06/26 21:20:53 millert Exp $ */ /* * Copyright (c) 1983 Regents of the University of California. *************** *** 33,40 **** * SUCH DAMAGE. */ #ifndef lint static char RCSid[] = ! "$OpenBSD: server.c,v 1.6 1998/05/18 19:12:53 deraadt Exp $"; static char sccsid[] = "@(#)server.c 5.3 (Berkeley) 6/7/86"; --- 33,45 ---- * SUCH DAMAGE. */ #ifndef lint + #if 0 static char RCSid[] = ! "$From: server.c,v 6.85 1996/03/12 22:55:38 mcooper Exp $"; ! #else ! static char RCSid[] = ! "$OpenBSD: server.c,v 1.7 1998/06/26 21:20:53 millert Exp $"; ! #endif static char sccsid[] = "@(#)server.c 5.3 (Berkeley) 6/7/86"; *************** *** 246,252 **** /* * Invalid cached values so we need to do a new lookup. */ ! if (gr = mygetgroup(group)) { last_gid = gid = gr->gr_gid; strcpy(last_group, gr->gr_name); } else { --- 251,257 ---- /* * Invalid cached values so we need to do a new lookup. */ ! if ((gr = mygetgroup(group))) { last_gid = gid = gr->gr_gid; strcpy(last_group, gr->gr_name); } else { *************** *** 356,362 **** optarget = ptarget; len = ptarget - target; ! while (dp = readdir(d)) { if ((D_NAMLEN(dp) == 1 && dp->d_name[0] == '.') || (D_NAMLEN(dp) == 2 && dp->d_name[0] == '.' && dp->d_name[1] == '.')) --- 361,367 ---- optarget = ptarget; len = ptarget - target; ! while ((dp = readdir(d))) { if ((D_NAMLEN(dp) == 1 && dp->d_name[0] == '.') || (D_NAMLEN(dp) == 2 && dp->d_name[0] == '.' && dp->d_name[1] == '.')) *************** *** 370,376 **** ptarget = optarget; *ptarget++ = '/'; cp = dp->d_name;; ! while (*ptarget++ = *cp++) ; ptarget--; if (lstat(target, &stb) < 0) { --- 375,381 ---- ptarget = optarget; *ptarget++ = '/'; cp = dp->d_name;; ! while ((*ptarget++ = *cp++)) ; ptarget--; if (lstat(target, &stb) < 0) { *************** *** 430,436 **** optarget = ptarget; len = ptarget - target; ! while (dp = readdir(d)) { if ((D_NAMLEN(dp) == 1 && dp->d_name[0] == '.') || (D_NAMLEN(dp) == 2 && dp->d_name[0] == '.' && dp->d_name[1] == '.')) --- 435,441 ---- optarget = ptarget; len = ptarget - target; ! while ((dp = readdir(d))) { if ((D_NAMLEN(dp) == 1 && dp->d_name[0] == '.') || (D_NAMLEN(dp) == 2 && dp->d_name[0] == '.' && dp->d_name[1] == '.')) *************** *** 444,450 **** ptarget = optarget; *ptarget++ = '/'; cp = dp->d_name;; ! while (*ptarget++ = *cp++) ; ptarget--; if (lstat(target, &stb) < 0) { --- 449,455 ---- ptarget = optarget; *ptarget++ = '/'; cp = dp->d_name;; ! while ((*ptarget++ = *cp++)) ; ptarget--; if (lstat(target, &stb) < 0) { *************** *** 702,721 **** if (strlen(file) + sizeof(SAVE_SUFFIX) + 1 > MAXPATHLEN) { error("%s: Cannot save: Save name too long", file); ! return((char *) NULL); } (void) sprintf(savefile, "%s%s", file, SAVE_SUFFIX); if (unlink(savefile) != 0 && errno != ENOENT) { message(MT_NOTICE, "%s: remove failed: %s", savefile, SYSERR); ! return((char *) NULL); } if (rename(file, savefile) != 0 && errno != ENOENT) { error("%s -> %s: rename failed: %s", file, savefile, SYSERR); ! return((char *) NULL); } return(savefile); --- 707,726 ---- if (strlen(file) + sizeof(SAVE_SUFFIX) + 1 > MAXPATHLEN) { error("%s: Cannot save: Save name too long", file); ! return(NULL); } (void) sprintf(savefile, "%s%s", file, SAVE_SUFFIX); if (unlink(savefile) != 0 && errno != ENOENT) { message(MT_NOTICE, "%s: remove failed: %s", savefile, SYSERR); ! return(NULL); } if (rename(file, savefile) != 0 && errno != ENOENT) { error("%s -> %s: rename failed: %s", file, savefile, SYSERR); ! return(NULL); } return(savefile); *************** *** 1038,1044 **** o = (owner[0] == ':') ? opts & DO_NUMCHKOWNER : opts; ! if (cp = getusername(stb.st_uid, target, o)) if (strcmp(owner, cp)) (void) strcpy(lowner, cp); } --- 1043,1049 ---- o = (owner[0] == ':') ? opts & DO_NUMCHKOWNER : opts; ! if ((cp = getusername(stb.st_uid, target, o))) if (strcmp(owner, cp)) (void) strcpy(lowner, cp); } *************** *** 1047,1053 **** o = (group[0] == ':') ? opts & DO_NUMCHKGROUP : opts; ! if (cp = getgroupname(stb.st_gid, target, o)) if (strcmp(group, cp)) (void) strcpy(lgroup, cp); } --- 1052,1058 ---- o = (group[0] == ':') ? opts & DO_NUMCHKGROUP : opts; ! if ((cp = getgroupname(stb.st_gid, target, o))) if (strcmp(group, cp)) (void) strcpy(lgroup, cp); } *************** *** 1101,1108 **** if (s < 0) { if (errno == ENOENT) { if (mkdir(target, mode) == 0 || ! chkparent(target, opts) == 0 && ! mkdir(target, mode) == 0) { message(MT_NOTICE, "%s: mkdir", target); (void) fchog(-1, target, owner, group, mode); ack(); --- 1106,1113 ---- if (s < 0) { if (errno == ENOENT) { if (mkdir(target, mode) == 0 || ! (chkparent(target, opts) == 0 && ! mkdir(target, mode) == 0)) { message(MT_NOTICE, "%s: mkdir", target); (void) fchog(-1, target, owner, group, mode); ack(); *************** *** 1162,1169 **** if (IS_ON(opts, DO_COMPARE)) { char tbuf[MAXPATHLEN]; ! if ((i = readlink(target, tbuf, sizeof(tbuf)-1)) >= 0 && ! i == size && strncmp(buf, tbuf, (int) size) == 0) { (void) unlink(new); ack(); return; --- 1167,1175 ---- if (IS_ON(opts, DO_COMPARE)) { char tbuf[MAXPATHLEN]; ! if ((i = readlink(target, tbuf, sizeof(tbuf)-1)) != -1) ! tbuf[i] = '\0'; ! if (i != -1 && i == size && strncmp(buf, tbuf, (size_t) size) == 0) { (void) unlink(new); ack(); return; *************** *** 1245,1251 **** return; } ! newname = strtok((char *)NULL, " "); if (newname == NULL) { error("hardlink: new name not specified"); return; --- 1251,1257 ---- return; } ! newname = strtok(NULL, " "); if (newname == NULL) { error("hardlink: new name not specified"); return; *************** *** 1309,1317 **** if (!fromhost) { fromhost = strdup(cp); message(MT_SYSLOG, "startup for %s", fromhost); ! #if defined(SETARGS) setproctitle("serving %s", cp); ! #endif /* SETARGS */ } break; --- 1315,1323 ---- if (!fromhost) { fromhost = strdup(cp); message(MT_SYSLOG, "startup for %s", fromhost); ! #if defined(SETARGS) || defined(HAVE_SETPROCTITLE) setproctitle("serving %s", cp); ! #endif /* SETARGS || HAVE_SETPROCTITLE */ } break; *************** *** 1332,1338 **** break; case SC_LOGGING: /* Logging options */ ! if (estr = msgparseopts(cp, TRUE)) { fatalerr("Bad message option string (%s): %s", cp, estr); return; --- 1338,1344 ---- break; case SC_LOGGING: /* Logging options */ ! if ((estr = msgparseopts(cp, TRUE))) { fatalerr("Bad message option string (%s): %s", cp, estr); return; *************** *** 1418,1424 **** /* * Get file group name */ ! group = strtok((char *)NULL, " "); if (group == NULL) { error("recvit: group name not delimited"); return; --- 1424,1430 ---- /* * Get file group name */ ! group = strtok(NULL, " "); if (group == NULL) { error("recvit: group name not delimited"); return; *************** *** 1449,1455 **** sptarget[catname] = ptarget; if (catname++) { *ptarget++ = '/'; ! while (*ptarget++ = *file++) ; ptarget--; } --- 1455,1461 ---- sptarget[catname] = ptarget; if (catname++) { *ptarget++ = '/'; ! while ((*ptarget++ = *file++)) ; ptarget--; }