From ba1922e360028e00b0ecadd02bb51f723c22ce67 Mon Sep 17 00:00:00 2001 From: dholland Date: Sun, 3 Feb 2008 03:45:55 +0000 Subject: Since games are (now) setgid, not setuid, it is no longer necessary to manipulate the effective uid, only the effective gid. --- larn/scores.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'larn/scores.c') diff --git a/larn/scores.c b/larn/scores.c index 27b9a13f..35224fba 100644 --- a/larn/scores.c +++ b/larn/scores.c @@ -1,4 +1,4 @@ -/* $NetBSD: scores.c,v 1.15 2008/01/28 05:38:54 dholland Exp $ */ +/* $NetBSD: scores.c,v 1.16 2008/02/03 03:45:55 dholland Exp $ */ /* * scores.c Larn is copyrighted 1986 by Noah Morgan. @@ -26,7 +26,7 @@ */ #include #ifndef lint -__RCSID("$NetBSD: scores.c,v 1.15 2008/01/28 05:38:54 dholland Exp $"); +__RCSID("$NetBSD: scores.c,v 1.16 2008/02/03 03:45:55 dholland Exp $"); #endif /* not lint */ #include #include @@ -112,11 +112,11 @@ readboard() { int i; - if (uid != euid) - seteuid(euid); + if (gid != egid) + setegid(egid); i = lopen(scorefile); - if (uid != euid) - seteuid(uid); + if (gid != egid) + setegid(gid); if (i < 0) { lprcat("Can't read scoreboard\n"); lflush(); @@ -140,11 +140,11 @@ writeboard() int i; set_score_output(); - if (uid != euid) - seteuid(euid); + if (gid != egid) + setegid(egid); i = lcreat(scorefile); - if (uid != euid) - seteuid(uid); + if (gid != egid) + setegid(gid); if (i < 0) { lprcat("Can't write scoreboard\n"); lflush(); @@ -173,11 +173,11 @@ makeboard() } if (writeboard()) return (-1); - if (uid != euid) - seteuid(euid); + if (gid != egid) + setegid(egid); chmod(scorefile, 0660); - if (uid != euid) - seteuid(uid); + if (gid != egid) + setegid(gid); return (0); } @@ -652,8 +652,8 @@ invalid: set_score_output(); if ((wizard == 0) && (c[GOLD] > 0)) { /* wizards can't score */ #ifndef NOLOG - if (uid != euid) - seteuid(euid); + if (gid != egid) + setegid(egid); if (lappend(logfile) < 0) { /* append to file */ if (lcreat(logfile) < 0) { /* and can't create new * log file */ @@ -664,14 +664,14 @@ invalid: lflush(); exit(0); } - if (uid != euid) - seteuid(euid); + if (gid != egid) + setegid(egid); chmod(logfile, 0660); - if (uid != euid) - seteuid(uid); + if (gid != egid) + setegid(gid); } - if (uid != euid) - seteuid(uid); + if (gid != egid) + setegid(gid); strcpy(logg.who, loginname); logg.score = c[GOLD]; logg.diff = c[HARDGAME]; -- cgit v1.2.3-56-ge451