Date: Tue, 07 Aug 2001 11:58:05 +0100 From: Mark Murray <mark@grondar.za> To: audit@freebsd.org Subject: [patch] su(1) WARNS=2 cleanup Message-ID: <200108071058.f77Aw6Z43835@grimreaper.grondar.za>
next in thread | raw e-mail | index | archive | help
Hi
Please review.
The PAM_SET_ITEM() thing is a separate commit.
Thanks!
M
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.bin/su/Makefile,v
retrieving revision 1.32
diff -u -d -r1.32 Makefile
--- Makefile 2001/05/26 09:52:36 1.32
+++ Makefile 2001/08/06 14:04:14
@@ -5,6 +5,7 @@
DPADD+= ${LIBUTIL} ${LIBPAM}
LDADD+= -lutil ${MINUSLPAM}
+WARNS?= 2
BINMODE=4555
INSTALLFLAGS=-fschg
Index: su.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/su/su.c,v
retrieving revision 1.39
diff -u -d -r1.39 su.c
--- su.c 2001/05/26 09:52:36 1.39
+++ su.c 2001/08/06 14:07:11
@@ -67,7 +67,7 @@
#include <security/pam_appl.h>
#include <security/pam_misc.h>
-#define PAM_END do { \
+#define PAM_END() do { \
int local_ret; \
if (pamh != NULL && creds_set) { \
local_ret = pam_setcred(pamh, PAM_DELETE_CRED); \
@@ -120,9 +120,10 @@
gid_t gid;
int asme, ch, asthem, fastlogin, prio, i, setwhat, retcode,
statusp, child_pid, child_pgrp, ret_pid;
- char *p, *user, *shell, *username, *cleanenv, **nargv, **np,
- *class, *mytty, shellbuf[MAXPATHLEN],
- myhost[MAXHOSTNAMELEN + 1];
+ char *username, *cleanenv, **nargv,
+ *class, shellbuf[MAXPATHLEN],
+ myhost[MAXHOSTNAMELEN + 1], **np;
+ const char *p, *user, *shell, *mytty;
shell = class = cleanenv = NULL;
asme = asthem = fastlogin = statusp = 0;
@@ -213,6 +214,8 @@
errx(1, "pam_start: %s", pam_strerror(pamh, retcode));
}
+ PAM_SET_ITEM(PAM_RUSER, (const void *)getlogin());
+
gethostname(myhost, sizeof(myhost));
PAM_SET_ITEM(PAM_RHOST, myhost);
@@ -325,11 +328,11 @@
}
if (ret_pid == -1)
err(1, "waitpid");
- PAM_END;
+ PAM_END();
exit(statusp);
case -1:
err(1, "fork");
- PAM_END;
+ PAM_END();
exit(1);
case 0:
/*
@@ -378,18 +381,19 @@
if (iscsh == YES) {
if (fastlogin)
- *np-- = "-f";
+ (const char *)(*np--) = "-f";
if (asme)
- *np-- = "-m";
+ (const char *)(*np--) = "-m";
}
/* csh strips the first character... */
- *np = asthem ? "-su" : iscsh == YES ? "_su" : "su";
+ (const char *)(*np)
+ = asthem ? "-su" : iscsh == YES ? "_su" : "su";
if (ruid != 0)
syslog(LOG_NOTICE, "%s to %s%s", username, user,
ontty());
- execv(shell, np);
+ execv(shell, (char * const *)np);
err(1, "%s", shell);
}
}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108071058.f77Aw6Z43835>
