diff options
author | Gabor Kovesdan <gabor@FreeBSD.org> | 2007-06-04 15:01:37 +0000 |
---|---|---|
committer | Gabor Kovesdan <gabor@FreeBSD.org> | 2007-06-04 15:01:37 +0000 |
commit | a5a79ff2eb02a4d87fb1bf524f7336eab2f9fbff (patch) | |
tree | a13a57b4e26d656ceb1da7cde0dfe17b5628920c /security/op/files | |
parent | ab1e846e494f36f2399bcd78cc94df0190a805d1 (diff) |
Notes
Diffstat (limited to 'security/op/files')
-rw-r--r-- | security/op/files/patch-defs.h | 9 | ||||
-rw-r--r-- | security/op/files/patch-lex.l | 33 | ||||
-rw-r--r-- | security/op/files/patch-main.c | 100 |
3 files changed, 0 insertions, 142 deletions
diff --git a/security/op/files/patch-defs.h b/security/op/files/patch-defs.h deleted file mode 100644 index a953a8d8c372..000000000000 --- a/security/op/files/patch-defs.h +++ /dev/null @@ -1,9 +0,0 @@ ---- defs.h.orig Sun Nov 23 01:11:52 1997 -+++ defs.h Tue Jan 30 09:45:22 2001 -@@ -19,4 +19,6 @@ - extern cmd_t *First, *Build(); - - #define MAXSTRLEN 256 -+#ifndef OP_ACCESS - #define OP_ACCESS "/usr/local/etc/op.access" -+#endif diff --git a/security/op/files/patch-lex.l b/security/op/files/patch-lex.l deleted file mode 100644 index 293eb09be96f..000000000000 --- a/security/op/files/patch-lex.l +++ /dev/null @@ -1,33 +0,0 @@ ---- lex.l.orig Thu Mar 3 20:47:59 2005 -+++ lex.l Thu Mar 3 20:49:11 2005 -@@ -10,10 +10,11 @@ - /* +-------------------------------------------------------------------+ */ - - #include <stdio.h> --#include <varargs.h> -+#include <stdarg.h> - #include <ctype.h> - #include "defs.h" - -+static int addarg(); - static cmd_t *newcmd(); - char *savestr(); - -@@ -47,15 +48,12 @@ - #include <sys/stat.h> - #include <syslog.h> - --msg(va_alist) -- va_dcl -+msg (char *s, ...) - { - #if 0 - va_list ap; -- char *s; - -- va_start(ap); -- s = va_arg(ap, char *); -+ va_start(ap,s); - fprintf(stderr,"line %d: ",yyline); - vfprintf(stderr, s, ap); - fputc('\n', stderr); diff --git a/security/op/files/patch-main.c b/security/op/files/patch-main.c deleted file mode 100644 index a7bff8d77e9e..000000000000 --- a/security/op/files/patch-main.c +++ /dev/null @@ -1,100 +0,0 @@ ---- main.c.orig Mon Dec 22 23:26:47 2003 -+++ main.c Mon Dec 22 23:27:23 2003 -@@ -9,7 +9,7 @@ - /* +-------------------------------------------------------------------+ */ - - #include <stdio.h> --#include <varargs.h> -+#include <stdarg.h> - #include <syslog.h> - #include <pwd.h> - #include <grp.h> -@@ -51,6 +51,7 @@ - extern char *getpass(), *crypt(); - - char *Progname; -+int fatal(char *s, ...); - char *format_cmd(); - char *GetCode(); - cmd_t *Find(); -@@ -170,14 +171,11 @@ - return Go(new, num, argc, argv); - } - --fatal(va_alist) -- va_dcl -+fatal(char *s,...) - { - va_list ap; -- char *s; - -- va_start(ap); -- s = va_arg(ap, char *); -+ va_start(ap,s); - vfprintf(stderr, s, ap); - fputc('\n', stderr); - va_end(ap); -@@ -448,35 +446,28 @@ - char *cp, *np; - struct passwd *pw; - struct group *gr; -- int ngroups, gidset[256]; -+ int ngroups = 0, gidset[256]; - int curenv = 0, curarg = 0; - char *new_envp[MAXENV]; - char *new_argv[MAXARG]; - char str[MAXSTRLEN], buf[4*MAXSTRLEN]; - -- if ((cp = FindOpt(cmd, "uid")) == NULL) { -- if (setuid(0) < 0) -- fatal("Unable to set uid to default", cp); -- } else { -- if ((pw = getpwnam(cp)) == NULL) { -- if (setuid(atoi(cp)) < 0) -- fatal("Unable to set uid to %s", cp); -- } -- if (setuid(pw->pw_uid) < 0) -- fatal("Unable to set uid to %s", cp); -- } -- - if ((cp = FindOpt(cmd, "gid")) == NULL) { -- ; /* don't have a default */ -+ if (setgid(0) < 0) -+ fatal("Unable to set gid to default", cp); - } else { - for (cp=GetField(cp, str); cp!=NULL; cp=GetField(cp, str)) { -- if ((gr = getgrnam(cp)) != NULL) -+ if ((gr = getgrnam(str)) != NULL) - gidset[ngroups++] = gr->gr_gid; -+ else -+ gidset[ngroups++] = atoi(str); - } - if (ngroups == 0) -- fatal("Unable to setgid to any group"); -+ fatal("Unable to set gid to any group"); - if (setgroups(ngroups, gidset) < 0) -- fatal("Set group failed"); -+ fatal("Unable to set auxiliary groups"); -+ if (setgid(gidset[0]) < 0) -+ fatal("Unable to set gid to %s", gidset[0]); - } - - if ((cp = FindOpt(cmd, "umask")) == NULL) { -@@ -533,6 +524,17 @@ - new_envp[curenv++] = environ[i]; - } - new_envp[curenv] = NULL; -+ -+ if ((cp = FindOpt(cmd, "uid")) == NULL) { -+ if (setuid(0) < 0) -+ fatal("Unable to set uid to default", cp); -+ } else { -+ if ((pw = getpwnam(cp)) == NULL) { -+ if (setuid(atoi(cp)) < 0) -+ fatal("Unable to set uid to %s", cp); -+ } else if (setuid(pw->pw_uid) < 0) -+ fatal("Unable to set uid to %s", cp); -+ } - - if (strcmp("MAGIC_SHELL", cmd->args[0]) == 0) { - for (i = 0; environ[i] != NULL; i++) |