config file paranoia
authorbitblt <bitblt@openbsd.org>
Tue, 25 Mar 1997 21:51:43 +0000 (21:51 +0000)
committerbitblt <bitblt@openbsd.org>
Tue, 25 Mar 1997 21:51:43 +0000 (21:51 +0000)
kerberosIV/krb/get_admhst.c
kerberosIV/krb/get_krbhst.c
kerberosIV/krb/get_krbrlm.c
kerberosIV/krb/getrealm.c

index a1ea02d..c5605db 100644 (file)
@@ -63,7 +63,9 @@ krb_get_admhst(h, r, n)
 
     if ((cnffile = fopen(KRB_CONF,"r")) == NULL) {
         char tbuf[128];
-        char *tdir = (char *) getenv("KRBCONFDIR");
+        char *tdir = NULL;
+        if (issetugid() == 0)
+          tdir = (char *) getenv("KRBCONFDIR");
         strncpy(tbuf, tdir ? tdir : "/etc", sizeof(tbuf)-1);
         tbuf[sizeof(tbuf)-1] = 0;
         strncat(tbuf, "/krb.conf", sizeof(tbuf)-strlen(tbuf));
index 3afd9bc..56c9bce 100644 (file)
@@ -71,7 +71,9 @@ krb_get_krbhst(h, r, n)
 
     if ((cnffile = fopen(KRB_CONF,"r")) == NULL) {
         char tbuf[128];
-        char *tdir = (char *) getenv("KRBCONFDIR");
+        char *tdir = NULL;
+       if (issetugid() == 0)
+          tdir = (char *) getenv("KRBCONFDIR");
         strncpy(tbuf, tdir ? tdir : "/etc", sizeof(tbuf)-1);
         tbuf[sizeof(tbuf)-1] = 0;
         strncat(tbuf, "/krb.conf", sizeof(tbuf)-strlen(tbuf));
index 8d6d259..a7963c3 100644 (file)
@@ -54,7 +54,9 @@ krb_get_lrealm(r, n)
 
     if ((cnffile = fopen(KRB_CONF, "r")) == NULL) {
         char tbuf[128];
-        char *tdir = (char *) getenv("KRBCONFDIR");
+        char *tdir = NULL;
+       if (issetugid() == 0) 
+          tdir = (char *) getenv("KRBCONFDIR");
         strncpy(tbuf, tdir ? tdir : "/etc", sizeof(tbuf)-1);
         tbuf[sizeof(tbuf)-1] = 0;
         strncat(tbuf, "/krb.conf", sizeof(tbuf)-strlen(tbuf));
index 52d3427..0664b1f 100644 (file)
@@ -82,7 +82,9 @@ krb_realmofhost(host)
 
        if ((trans_file = fopen(KRB_RLM_TRANS, "r")) == (FILE *) 0) {
                char tbuf[128];
-               char *tdir = (char *) getenv("KRBCONFDIR");
+               char *tdir = NULL;
+               if (issetugid() == 0) 
+                       tdir = (char *) getenv("KRBCONFDIR");
                strncpy(tbuf, tdir ? tdir : "/etc", sizeof(tbuf)-1);
                tbuf[sizeof(tbuf)-1] = '\0';
                strncat(tbuf, "/krb.realms", sizeof(tbuf) - strlen(tbuf));