summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>1996-07-27 02:21:58 +0000
committerSam Hartman <hartmans@mit.edu>1996-07-27 02:21:58 +0000
commitfea030df3d04c20bebd81ff874a2d54eae9133e6 (patch)
treedb435a3800f6be2428ec5b5d0e7648cbded513af /src
parentd6da2ea761bf153021dd4e426689fae2e6d2dbd5 (diff)
downloadkrb5-fea030df3d04c20bebd81ff874a2d54eae9133e6.tar.gz
krb5-fea030df3d04c20bebd81ff874a2d54eae9133e6.tar.xz
krb5-fea030df3d04c20bebd81ff874a2d54eae9133e6.zip
Remove old 1988 version of setenv in preference to calling krb5_setenv
from lib/krb5/posix. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8849 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/kadm5/clnt/ChangeLog6
-rw-r--r--src/lib/kadm5/clnt/Makefile.in2
-rw-r--r--src/lib/kadm5/clnt/client_init.c10
-rw-r--r--src/lib/kadm5/clnt/configure.in1
-rw-r--r--src/lib/kadm5/clnt/setenv.c163
5 files changed, 10 insertions, 172 deletions
diff --git a/src/lib/kadm5/clnt/ChangeLog b/src/lib/kadm5/clnt/ChangeLog
index cc4e44b09..aafd939a6 100644
--- a/src/lib/kadm5/clnt/ChangeLog
+++ b/src/lib/kadm5/clnt/ChangeLog
@@ -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
diff --git a/src/lib/kadm5/clnt/Makefile.in b/src/lib/kadm5/clnt/Makefile.in
index 743ca39d4..38e74dc46 100644
--- a/src/lib/kadm5/clnt/Makefile.in
+++ b/src/lib/kadm5/clnt/Makefile.in
@@ -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) \
diff --git a/src/lib/kadm5/clnt/client_init.c b/src/lib/kadm5/clnt/client_init.c
index bfc1c3a3c..edb71e300 100644
--- a/src/lib/kadm5/clnt/client_init.c
+++ b/src/lib/kadm5/clnt/client_init.c
@@ -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) {
diff --git a/src/lib/kadm5/clnt/configure.in b/src/lib/kadm5/clnt/configure.in
index 6eb3627e4..a25e4e758 100644
--- a/src/lib/kadm5/clnt/configure.in
+++ b/src/lib/kadm5/clnt/configure.in
@@ -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
index 47904de1b..000000000
--- a/src/lib/kadm5/clnt/setenv.c
+++ /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);
-}