Remove old 1988 version of setenv in preference to calling krb5_setenv
authorSam Hartman <hartmans@mit.edu>
Sat, 27 Jul 1996 02:21:58 +0000 (02:21 +0000)
committerSam Hartman <hartmans@mit.edu>
Sat, 27 Jul 1996 02:21:58 +0000 (02:21 +0000)
from lib/krb5/posix.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8849 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/kadm5/clnt/ChangeLog
src/lib/kadm5/clnt/Makefile.in
src/lib/kadm5/clnt/client_init.c
src/lib/kadm5/clnt/configure.in
src/lib/kadm5/clnt/setenv.c [deleted file]

index cc4e44b09a0a4bde4263538eefbcc6e8e861a1a6..aafd939a67c6cff0421ddf25819c6375c83131d1 100644 (file)
@@ -1,3 +1,9 @@
+Wed Jul 24 20:59:35 1996  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * configure.in: Don't replace setenv
+
+       * client_init.c (_kadm5_init_any): Use krb5_setenv and krb5_unsetenv
+
 Wed Jul 24 18:20:47 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>
 
        * Makefile.in, configure.in: break out client lib into a
index 743ca39d4c620e9b9020b710bdc7446ea766a49e..38e74dc468bb26d86e3fd50a5883581b3a4d04aa 100644 (file)
@@ -14,7 +14,7 @@ SRCS =        $(srcdir)/clnt_policy.c \
        $(srcdir)/clnt_privs.c \
        $(srcdir)/clnt_chpass_util.c
 
-OBJS = @LIBOBJS@ \
+OBJS = \
        clnt_policy.$(OBJEXT) \
        client_rpc.$(OBJEXT) \
        client_principal.$(OBJEXT) \
index bfc1c3a3c6f2ba49a4852a440ef7e2af8d8090f4..edb71e3005070f39e86da479034804d91dab6d3e 100644 (file)
@@ -33,10 +33,6 @@ static char *rcsid = "$Header$";
 
 #define        ADM_CCACHE  "/tmp/ovsec_adm.XXXXXX"
 
-#ifndef _POSIX_SOURCE /* Perhaps this should actually say __STDC__ */
-int    setenv(const char *var, const char *val, int flag);
-void   unsetenv(const char *var);
-#endif
 
 enum init_type { INIT_PASS, INIT_SKEY, INIT_CREDS };
 
@@ -412,7 +408,7 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
      if (ccname_orig)
          ccname_orig = strdup(ccname_orig);
      
-     (void) setenv("KRB5CCNAME", handle->cache_name, 1);
+     (void) krb5_setenv("KRB5CCNAME", handle->cache_name, 1);
 
 #ifndef INIT_TEST
      input_name.value = full_service_name;
@@ -459,10 +455,10 @@ static kadm5_ret_t _kadm5_init_any(char *client_name,
 #endif /* ! INIT_TEST */
 
      if (ccname_orig) {
-         (void) setenv("KRB5CCNAME", ccname_orig, 1);
+         (void) krb5_setenv("KRB5CCNAME", ccname_orig, 1);
          free(ccname_orig);
      } else
-         (void) unsetenv("KRB5CCNAME");
+         (void) krb5_unsetenv("KRB5CCNAME");
 
      
      if (handle->clnt->cl_auth == NULL) {
index 6eb3627e413bfea6b509f2325884ffee30ad5bcd..a25e4e758f6abb3785cd585afdd91dd8909fdd2c 100644 (file)
@@ -4,7 +4,6 @@ AC_PROG_ARCHIVE
 AC_PROG_ARCHIVE_ADD
 AC_PROG_RANLIB
 AC_PROG_INSTALL
-AC_REPLACE_FUNCS(setenv)
 V5_SHARED_LIB_OBJS
 V5_MAKE_SHARED_LIB(libkadm5clnt, 1.0, ../.., ./kadm5/clnt)
 
diff --git a/src/lib/kadm5/clnt/setenv.c b/src/lib/kadm5/clnt/setenv.c
deleted file mode 100644 (file)
index 47904de..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 1987 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley.  The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/* based on @(#)setenv.c       5.2 (Berkeley) 6/27/88 */
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/*
- * setenv --
- *     Set the value of the environmental variable "name" to be
- *     "value".  If rewrite is set, replace any current value.
- */
-setenv(name, value, rewrite)
-       register char *name, *value;
-       int rewrite;
-{
-       extern char **environ;
-       static int alloced;                     /* if allocated space before */
-       register char *C;
-       int l_value, offset;
-#if !defined(sun) && !defined(hpux)
-       char *malloc(), *realloc();
-#endif
-       char *_findenv();
-
-       if (*value == '=')                      /* no `=' in value */
-               ++value;
-       l_value = strlen(value);
-       if ((C = _findenv(name, &offset))) {    /* find if already exists */
-               if (!rewrite)
-                       return(0);
-               if (strlen(C) >= l_value) {     /* old larger; copy over */
-                       while (*C++ = *value++);
-                       return(0);
-               }
-       }
-       else {                                  /* create new slot */
-               register int    cnt;
-               register char   **P;
-
-               for (P = environ, cnt = 0; *P; ++P, ++cnt);
-               if (alloced) {                  /* just increase size */
-                       environ = (char **)realloc((char *)environ,
-                           (u_int)(sizeof(char *) * (cnt + 2)));
-                       if (!environ)
-                               return(-1);
-               }
-               else {                          /* get new space */
-                       alloced = 1;            /* copy old entries into it */
-                       P = (char **)malloc((u_int)(sizeof(char *) *
-                           (cnt + 2)));
-                       if (!P)
-                               return(-1);
-                       memcpy(P, environ, cnt * sizeof(char *));
-                       environ = P;
-               }
-               environ[cnt + 1] = NULL;
-               offset = cnt;
-       }
-       for (C = name; *C && *C != '='; ++C);   /* no `=' in name */
-       if (!(environ[offset] =                 /* name + `=' + value */
-           malloc((u_int)((int)(C - name) + l_value + 2))))
-               return(-1);
-       for (C = environ[offset]; (*C = *name++) && *C != '='; ++C);
-       for (*C++ = '='; *C++ = *value++;);
-       return(0);
-}
-
-/*
- * unsetenv(name) --
- *     Delete environmental variable "name".
- */
-void
-unsetenv(name)
-       char    *name;
-{
-       extern  char    **environ;
-       register char   **P;
-       int     offset;
-       char    *_findenv();
-
-       while (_findenv(name, &offset))         /* if set multiple times */
-               for (P = &environ[offset];; ++P)
-                       if (!(*P = *(P + 1)))
-                               break;
-}
-/*
- * Copyright (c) 1987 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley.  The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/* based on @(#)getenv.c       5.5 (Berkeley) 6/27/88 */
-
-/*
- * getenv --
- *     Returns ptr to value associated with name, if any, else NULL.
- */
-char *
-getenv(name)
-       const char *name;
-{
-       int offset;
-       char *_findenv();
-
-       return(_findenv(name, &offset));
-}
-
-/*
- * _findenv --
- *     Returns pointer to value associated with name, if any, else NULL.
- *     Sets offset to be the offset of the name/value combination in the
- *     environmental array, for use by setenv(3) and unsetenv(3).
- *     Explicitly removes '=' in argument name.
- *
- *     This routine *should* be a static; don't use it.
- */
-char *
-_findenv(name, offset)
-       register char *name;
-       int *offset;
-{
-       extern char **environ;
-       register int len;
-       register char **P, *C;
-
-       for (C = name, len = 0; *C && *C != '='; ++C, ++len);
-       for (P = environ; *P; ++P)
-               if (!strncmp(*P, name, len))
-                       if (*(C = *P + len) == '=') {
-                               *offset = P - environ;
-                               return(++C);
-                       }
-       return(NULL);
-}