summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/kuser
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2002-02-19 15:46:56 +0000
committernectar <nectar@FreeBSD.org>2002-02-19 15:46:56 +0000
commit69a91bec14ec3ad49d1c8a82c40a796755f9e4a3 (patch)
tree85ecf91fd00875cec4b93111d3a8ed9eec9cddfe /crypto/heimdal/kuser
parent8db4cdb3da4228a5d93635e43825e2e8a2f66db7 (diff)
downloadFreeBSD-src-69a91bec14ec3ad49d1c8a82c40a796755f9e4a3.zip
FreeBSD-src-69a91bec14ec3ad49d1c8a82c40a796755f9e4a3.tar.gz
Import of Heimdal Kerberos from KTH repository circa 2002/02/17.
Diffstat (limited to 'crypto/heimdal/kuser')
-rw-r--r--crypto/heimdal/kuser/Makefile.am22
-rw-r--r--crypto/heimdal/kuser/Makefile.in502
-rw-r--r--crypto/heimdal/kuser/generate-requests.c13
-rw-r--r--crypto/heimdal/kuser/kinit.143
-rw-r--r--crypto/heimdal/kuser/kinit.c511
-rw-r--r--crypto/heimdal/kuser/klist.16
-rw-r--r--crypto/heimdal/kuser/kverify.c36
7 files changed, 602 insertions, 531 deletions
diff --git a/crypto/heimdal/kuser/Makefile.am b/crypto/heimdal/kuser/Makefile.am
index f3900ff..b77ec28 100644
--- a/crypto/heimdal/kuser/Makefile.am
+++ b/crypto/heimdal/kuser/Makefile.am
@@ -1,4 +1,4 @@
-# $Id: Makefile.am,v 1.27 2000/11/15 22:51:13 assar Exp $
+# $Id: Makefile.am,v 1.30 2001/09/02 17:12:23 joda Exp $
include $(top_srcdir)/Makefile.am.common
@@ -6,17 +6,11 @@ INCLUDES += $(INCLUDE_krb4)
man_MANS = kinit.1 klist.1 kdestroy.1 kgetcred.1
-bin_PROGRAMS = kinit kauth klist kdestroy kgetcred
-
-kinit_SOURCES = kinit.c kinit_options.c
-
-kauth_SOURCES = kinit.c kauth_options.c
+bin_PROGRAMS = kinit klist kdestroy kgetcred
noinst_PROGRAMS = kverify kdecode_ticket generate-requests
-CHECK_LOCAL = $(bin_PROGRAMS)
-
-kauth_LDADD = \
+kinit_LDADD = \
$(LIB_kafs) \
$(top_builddir)/lib/krb5/libkrb5.la \
$(LIB_krb4) \
@@ -24,14 +18,16 @@ kauth_LDADD = \
$(top_builddir)/lib/asn1/libasn1.la \
$(LIB_roken)
-kinit_LDADD = $(kauth_LDADD)
+kdestroy_LDADD = $(kinit_LDADD)
-kdestroy_LDADD = $(kauth_LDADD)
-
-klist_LDADD = $(kauth_LDADD)
+klist_LDADD = $(kinit_LDADD)
LDADD = \
$(top_builddir)/lib/krb5/libkrb5.la \
$(LIB_des) \
$(top_builddir)/lib/asn1/libasn1.la \
$(LIB_roken)
+
+# make sure install-exec-hook doesn't have any commands in Makefile.am.common
+install-exec-hook:
+ (cd $(DESTDIR)$(bindir) && rm -f kauth && $(LN_S) kinit kauth)
diff --git a/crypto/heimdal/kuser/Makefile.in b/crypto/heimdal/kuser/Makefile.in
index 45dd3d2..66fa0f4 100644
--- a/crypto/heimdal/kuser/Makefile.in
+++ b/crypto/heimdal/kuser/Makefile.in
@@ -1,6 +1,6 @@
-# Makefile.in generated automatically by automake 1.4b from Makefile.am
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11,6 +11,16 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+@SET_MAKE@
+
+# $Id: Makefile.am,v 1.30 2001/09/02 17:12:23 joda Exp $
+
+
+# $Id: Makefile.am.common,v 1.3 1999/04/01 14:58:43 joda Exp $
+
+
+# $Id: Makefile.am.common,v 1.31 2001/09/01 11:12:18 assar Exp $
+
SHELL = @SHELL@
srcdir = @srcdir@
@@ -31,11 +41,9 @@ infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
-
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-
top_builddir = ..
ACLOCAL = @ACLOCAL@
@@ -47,21 +55,17 @@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_FLAG =
+INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
-
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-
-@SET_MAKE@
host_alias = @host_alias@
host_triplet = @host@
AIX_EXTRA_KAFS = @AIX_EXTRA_KAFS@
-AMDEP = @AMDEP@
AMTAR = @AMTAR@
AS = @AS@
AWK = @AWK@
@@ -69,11 +73,11 @@ CANONICAL_HOST = @CANONICAL_HOST@
CATMAN = @CATMAN@
CATMANEXT = @CATMANEXT@
CC = @CC@
+COMPILE_ET = @COMPILE_ET@
CPP = @CPP@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
DBLIB = @DBLIB@
DEPDIR = @DEPDIR@
+DIR_com_err = @DIR_com_err@
DIR_des = @DIR_des@
DIR_roken = @DIR_roken@
DLLTOOL = @DLLTOOL@
@@ -82,20 +86,27 @@ EXTRA_LIB45 = @EXTRA_LIB45@
GROFF = @GROFF@
INCLUDES_roken = @INCLUDES_roken@
INCLUDE_ = @INCLUDE_@
+INCLUDE_des = @INCLUDE_des@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LEX = @LEX@
LIBOBJS = @LIBOBJS@
LIBTOOL = @LIBTOOL@
LIB_ = @LIB_@
LIB_AUTH_SUBDIRS = @LIB_AUTH_SUBDIRS@
+LIB_NDBM = @LIB_NDBM@
+LIB_com_err = @LIB_com_err@
+LIB_com_err_a = @LIB_com_err_a@
+LIB_com_err_so = @LIB_com_err_so@
LIB_des = @LIB_des@
+LIB_des_a = @LIB_des_a@
LIB_des_appl = @LIB_des_appl@
+LIB_des_so = @LIB_des_so@
LIB_kdb = @LIB_kdb@
LIB_otp = @LIB_otp@
LIB_roken = @LIB_roken@
LIB_security = @LIB_security@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
NEED_WRITEAUTH_FALSE = @NEED_WRITEAUTH_FALSE@
NEED_WRITEAUTH_TRUE = @NEED_WRITEAUTH_TRUE@
NROFF = @NROFF@
@@ -103,38 +114,32 @@ OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
-STRIP = @STRIP@
VERSION = @VERSION@
VOID_RETSIGTYPE = @VOID_RETSIGTYPE@
WFLAGS = @WFLAGS@
WFLAGS_NOIMPLICITINT = @WFLAGS_NOIMPLICITINT@
WFLAGS_NOUNUSED = @WFLAGS_NOUNUSED@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
YACC = @YACC@
+am__include = @am__include@
+am__quote = @am__quote@
dpagaix_CFLAGS = @dpagaix_CFLAGS@
dpagaix_LDADD = @dpagaix_LDADD@
install_sh = @install_sh@
-# $Id: Makefile.am,v 1.27 2000/11/15 22:51:13 assar Exp $
-
-
-# $Id: Makefile.am.common,v 1.3 1999/04/01 14:58:43 joda Exp $
-
-
-# $Id: Makefile.am.common,v 1.26 2001/05/21 13:27:48 joda Exp $
-
-
-AUTOMAKE_OPTIONS = foreign no-dependencies
+AUTOMAKE_OPTIONS = foreign no-dependencies 1.4b
SUFFIXES = .et .h .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8 .x
INCLUDES = -I$(top_builddir)/include $(INCLUDES_roken) $(INCLUDE_krb4)
-AM_CFLAGS = $(WFLAGS)
+AM_CFLAGS = $(WFLAGS)
CP = cp
-COMPILE_ET = $(top_builddir)/lib/com_err/compile_et
-
buildinclude = $(top_builddir)/include
LIB_XauReadAuth = @LIB_XauReadAuth@
@@ -152,8 +157,8 @@ LIB_getsockopt = @LIB_getsockopt@
LIB_logout = @LIB_logout@
LIB_logwtmp = @LIB_logwtmp@
LIB_odm_initialize = @LIB_odm_initialize@
+LIB_openpty = @LIB_openpty@
LIB_pidfile = @LIB_pidfile@
-LIB_readline = @LIB_readline@
LIB_res_search = @LIB_res_search@
LIB_setpcred = @LIB_setpcred@
LIB_setsockopt = @LIB_setsockopt@
@@ -175,32 +180,30 @@ INCLUDE_openldap = @INCLUDE_openldap@
LIB_openldap = @LIB_openldap@
INCLUDE_readline = @INCLUDE_readline@
+LIB_readline = @LIB_readline@
LEXLIB = @LEXLIB@
NROFF_MAN = groff -mandoc -Tascii
-@KRB4_TRUE@LIB_kafs = @KRB4_TRUE@$(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS)
+@KRB4_TRUE@LIB_kafs = $(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS)
-@KRB5_TRUE@LIB_krb5 = @KRB5_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
+@KRB5_TRUE@LIB_krb5 = $(top_builddir)/lib/krb5/libkrb5.la \
@KRB5_TRUE@ $(top_builddir)/lib/asn1/libasn1.la
-@KRB5_TRUE@LIB_gssapi = @KRB5_TRUE@$(top_builddir)/lib/gssapi/libgssapi.la
-@DCE_TRUE@LIB_kdfs = @DCE_TRUE@$(top_builddir)/lib/kdfs/libkdfs.la
+@KRB5_TRUE@LIB_gssapi = $(top_builddir)/lib/gssapi/libgssapi.la
-CHECK_LOCAL = $(bin_PROGRAMS)
+@DCE_TRUE@LIB_kdfs = $(top_builddir)/lib/kdfs/libkdfs.la
-man_MANS = kinit.1 klist.1 kdestroy.1 kgetcred.1
+CHECK_LOCAL = $(PROGRAMS)
-bin_PROGRAMS = kinit kauth klist kdestroy kgetcred
-
-kinit_SOURCES = kinit.c kinit_options.c
+man_MANS = kinit.1 klist.1 kdestroy.1 kgetcred.1
-kauth_SOURCES = kinit.c kauth_options.c
+bin_PROGRAMS = kinit klist kdestroy kgetcred
noinst_PROGRAMS = kverify kdecode_ticket generate-requests
-kauth_LDADD = \
+kinit_LDADD = \
$(LIB_kafs) \
$(top_builddir)/lib/krb5/libkrb5.la \
$(LIB_krb4) \
@@ -209,11 +212,9 @@ kauth_LDADD = \
$(LIB_roken)
-kinit_LDADD = $(kauth_LDADD)
+kdestroy_LDADD = $(kinit_LDADD)
-kdestroy_LDADD = $(kauth_LDADD)
-
-klist_LDADD = $(kauth_LDADD)
+klist_LDADD = $(kinit_LDADD)
LDADD = \
$(top_builddir)/lib/krb5/libkrb5.la \
@@ -223,208 +224,176 @@ LDADD = \
subdir = kuser
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../include/config.h
-CONFIG_CLEAN_FILES =
-bin_PROGRAMS = kinit$(EXEEXT) kauth$(EXEEXT) klist$(EXEEXT) \
-kdestroy$(EXEEXT) kgetcred$(EXEEXT)
-noinst_PROGRAMS = kverify$(EXEEXT) kdecode_ticket$(EXEEXT) \
-generate-requests$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+bin_PROGRAMS = kinit$(EXEEXT) klist$(EXEEXT) kdestroy$(EXEEXT) \
+ kgetcred$(EXEEXT)
+noinst_PROGRAMS = kverify$(EXEEXT) kdecode_ticket$(EXEEXT) \
+ generate-requests$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-DEFS = @DEFS@ -I. -I$(srcdir) -I../include
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
generate_requests_SOURCES = generate-requests.c
-generate_requests_OBJECTS = generate-requests.$(OBJEXT)
+generate_requests_OBJECTS = generate-requests.$(OBJEXT)
generate_requests_LDADD = $(LDADD)
-generate_requests_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-$(top_builddir)/lib/asn1/libasn1.la
-generate_requests_LDFLAGS =
-am_kauth_OBJECTS = kinit.$(OBJEXT) kauth_options.$(OBJEXT)
-kauth_OBJECTS = $(am_kauth_OBJECTS)
-@KRB4_FALSE@kauth_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_FALSE@$(top_builddir)/lib/asn1/libasn1.la
-@KRB4_TRUE@kauth_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
-@KRB4_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_TRUE@$(top_builddir)/lib/asn1/libasn1.la
-kauth_LDFLAGS =
+generate_requests_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+ $(top_builddir)/lib/asn1/libasn1.la
+generate_requests_LDFLAGS =
kdecode_ticket_SOURCES = kdecode_ticket.c
-kdecode_ticket_OBJECTS = kdecode_ticket.$(OBJEXT)
+kdecode_ticket_OBJECTS = kdecode_ticket.$(OBJEXT)
kdecode_ticket_LDADD = $(LDADD)
-kdecode_ticket_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-$(top_builddir)/lib/asn1/libasn1.la
-kdecode_ticket_LDFLAGS =
+kdecode_ticket_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+ $(top_builddir)/lib/asn1/libasn1.la
+kdecode_ticket_LDFLAGS =
kdestroy_SOURCES = kdestroy.c
-kdestroy_OBJECTS = kdestroy.$(OBJEXT)
-@KRB4_FALSE@kdestroy_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_FALSE@$(top_builddir)/lib/asn1/libasn1.la
-@KRB4_TRUE@kdestroy_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
-@KRB4_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_TRUE@$(top_builddir)/lib/asn1/libasn1.la
-kdestroy_LDFLAGS =
+kdestroy_OBJECTS = kdestroy.$(OBJEXT)
+@KRB4_TRUE@kdestroy_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
+@KRB4_TRUE@ $(top_builddir)/lib/krb5/libkrb5.la \
+@KRB4_TRUE@ $(top_builddir)/lib/asn1/libasn1.la
+@KRB4_FALSE@kdestroy_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+@KRB4_FALSE@ $(top_builddir)/lib/asn1/libasn1.la
+kdestroy_LDFLAGS =
kgetcred_SOURCES = kgetcred.c
-kgetcred_OBJECTS = kgetcred.$(OBJEXT)
+kgetcred_OBJECTS = kgetcred.$(OBJEXT)
kgetcred_LDADD = $(LDADD)
-kgetcred_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-$(top_builddir)/lib/asn1/libasn1.la
-kgetcred_LDFLAGS =
-am_kinit_OBJECTS = kinit.$(OBJEXT) kinit_options.$(OBJEXT)
-kinit_OBJECTS = $(am_kinit_OBJECTS)
-@KRB4_FALSE@kinit_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_FALSE@$(top_builddir)/lib/asn1/libasn1.la
-@KRB4_TRUE@kinit_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
-@KRB4_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_TRUE@$(top_builddir)/lib/asn1/libasn1.la
-kinit_LDFLAGS =
+kgetcred_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+ $(top_builddir)/lib/asn1/libasn1.la
+kgetcred_LDFLAGS =
+kinit_SOURCES = kinit.c
+kinit_OBJECTS = kinit.$(OBJEXT)
+@KRB4_TRUE@kinit_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
+@KRB4_TRUE@ $(top_builddir)/lib/krb5/libkrb5.la \
+@KRB4_TRUE@ $(top_builddir)/lib/asn1/libasn1.la
+@KRB4_FALSE@kinit_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+@KRB4_FALSE@ $(top_builddir)/lib/asn1/libasn1.la
+kinit_LDFLAGS =
klist_SOURCES = klist.c
-klist_OBJECTS = klist.$(OBJEXT)
-@KRB4_FALSE@klist_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_FALSE@$(top_builddir)/lib/asn1/libasn1.la
-@KRB4_TRUE@klist_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
-@KRB4_TRUE@$(top_builddir)/lib/krb5/libkrb5.la \
-@KRB4_TRUE@$(top_builddir)/lib/asn1/libasn1.la
-klist_LDFLAGS =
+klist_OBJECTS = klist.$(OBJEXT)
+@KRB4_TRUE@klist_DEPENDENCIES = $(top_builddir)/lib/kafs/libkafs.la \
+@KRB4_TRUE@ $(top_builddir)/lib/krb5/libkrb5.la \
+@KRB4_TRUE@ $(top_builddir)/lib/asn1/libasn1.la
+@KRB4_FALSE@klist_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+@KRB4_FALSE@ $(top_builddir)/lib/asn1/libasn1.la
+klist_LDFLAGS =
kverify_SOURCES = kverify.c
-kverify_OBJECTS = kverify.$(OBJEXT)
+kverify_OBJECTS = kverify.$(OBJEXT)
kverify_LDADD = $(LDADD)
-kverify_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
-$(top_builddir)/lib/asn1/libasn1.la
-kverify_LDFLAGS =
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CFLAGS = @CFLAGS@
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DIST_SOURCES = generate-requests.c $(kauth_SOURCES) kdecode_ticket.c \
-kdestroy.c kgetcred.c $(kinit_SOURCES) klist.c kverify.c
-man1dir = $(mandir)/man1
-MANS = $(man_MANS)
-depcomp =
-DIST_COMMON = Makefile.am Makefile.in
+kverify_DEPENDENCIES = $(top_builddir)/lib/krb5/libkrb5.la \
+ $(top_builddir)/lib/asn1/libasn1.la
+kverify_LDFLAGS =
+DEFS = @DEFS@
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+depcomp =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CFLAGS = @CFLAGS@
+DIST_SOURCES = generate-requests.c kdecode_ticket.c kdestroy.c \
+ kgetcred.c kinit.c klist.c kverify.c
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+NROFF = nroff
+MANS = $(man_MANS)
+DIST_COMMON = Makefile.am Makefile.in
+SOURCES = generate-requests.c kdecode_ticket.c kdestroy.c kgetcred.c kinit.c klist.c kverify.c
-GZIP_ENV = --best
-SOURCES = generate-requests.c $(kauth_SOURCES) kdecode_ticket.c kdestroy.c kgetcred.c $(kinit_SOURCES) klist.c kverify.c
-OBJECTS = generate-requests.$(OBJEXT) $(am_kauth_OBJECTS) kdecode_ticket.$(OBJEXT) kdestroy.$(OBJEXT) kgetcred.$(OBJEXT) $(am_kinit_OBJECTS) klist.$(OBJEXT) kverify.$(OBJEXT)
+all: all-am
-all: all-redirect
.SUFFIXES:
.SUFFIXES: .et .h .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8 .x .c .lo .o .obj
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/Makefile.am.common $(top_srcdir)/cf/Makefile.am.common
- cd $(top_srcdir) && $(AUTOMAKE) --foreign kuser/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
+mostlyclean-libtool:
+ -rm -f *.lo
-maintainer-clean-binPROGRAMS:
+clean-libtool:
+ -rm -rf .libs _libs
+distclean-libtool:
+ -rm -f libtool
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/Makefile.am.common $(top_srcdir)/cf/Makefile.am.common $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign kuser/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && \
+ CONFIG_HEADERS= CONFIG_LINKS= \
+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
- if test -f $$p; then \
- f="`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 's/$$/$(EXEEXT)/'`"; \
- echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/$$f"; \
- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/$$f; \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
- f="`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 's/$$/$(EXEEXT)/'`"; \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
-mostlyclean-noinstPROGRAMS:
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-
-distclean-noinstPROGRAMS:
-
-maintainer-clean-noinstPROGRAMS:
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-generate-requests$(EXEEXT): $(generate_requests_OBJECTS) $(generate_requests_DEPENDENCIES)
+generate-requests$(EXEEXT): $(generate_requests_OBJECTS) $(generate_requests_DEPENDENCIES)
@rm -f generate-requests$(EXEEXT)
$(LINK) $(generate_requests_LDFLAGS) $(generate_requests_OBJECTS) $(generate_requests_LDADD) $(LIBS)
-
-kauth$(EXEEXT): $(kauth_OBJECTS) $(kauth_DEPENDENCIES)
- @rm -f kauth$(EXEEXT)
- $(LINK) $(kauth_LDFLAGS) $(kauth_OBJECTS) $(kauth_LDADD) $(LIBS)
-
-kdecode_ticket$(EXEEXT): $(kdecode_ticket_OBJECTS) $(kdecode_ticket_DEPENDENCIES)
+kdecode_ticket$(EXEEXT): $(kdecode_ticket_OBJECTS) $(kdecode_ticket_DEPENDENCIES)
@rm -f kdecode_ticket$(EXEEXT)
$(LINK) $(kdecode_ticket_LDFLAGS) $(kdecode_ticket_OBJECTS) $(kdecode_ticket_LDADD) $(LIBS)
-
-kdestroy$(EXEEXT): $(kdestroy_OBJECTS) $(kdestroy_DEPENDENCIES)
+kdestroy$(EXEEXT): $(kdestroy_OBJECTS) $(kdestroy_DEPENDENCIES)
@rm -f kdestroy$(EXEEXT)
$(LINK) $(kdestroy_LDFLAGS) $(kdestroy_OBJECTS) $(kdestroy_LDADD) $(LIBS)
-
-kgetcred$(EXEEXT): $(kgetcred_OBJECTS) $(kgetcred_DEPENDENCIES)
+kgetcred$(EXEEXT): $(kgetcred_OBJECTS) $(kgetcred_DEPENDENCIES)
@rm -f kgetcred$(EXEEXT)
$(LINK) $(kgetcred_LDFLAGS) $(kgetcred_OBJECTS) $(kgetcred_LDADD) $(LIBS)
-
-kinit$(EXEEXT): $(kinit_OBJECTS) $(kinit_DEPENDENCIES)
+kinit$(EXEEXT): $(kinit_OBJECTS) $(kinit_DEPENDENCIES)
@rm -f kinit$(EXEEXT)
$(LINK) $(kinit_LDFLAGS) $(kinit_OBJECTS) $(kinit_LDADD) $(LIBS)
-
-klist$(EXEEXT): $(klist_OBJECTS) $(klist_DEPENDENCIES)
+klist$(EXEEXT): $(klist_OBJECTS) $(klist_DEPENDENCIES)
@rm -f klist$(EXEEXT)
$(LINK) $(klist_LDFLAGS) $(klist_OBJECTS) $(klist_LDADD) $(LIBS)
-
-kverify$(EXEEXT): $(kverify_OBJECTS) $(kverify_DEPENDENCIES)
+kverify$(EXEEXT): $(kverify_OBJECTS) $(kverify_DEPENDENCIES)
@rm -f kverify$(EXEEXT)
$(LINK) $(kverify_LDFLAGS) $(kverify_OBJECTS) $(kverify_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
.c.o:
- $(COMPILE) -c $<
+ $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+
.c.obj:
$(COMPILE) -c `cygpath -w $<`
+
.c.lo:
- $(LTCOMPILE) -c -o $@ $<
+ $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
+uninstall-info-am:
-install-man1:
+man1dir = $(mandir)/man1
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir)
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
@@ -439,10 +408,11 @@ install-man1:
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
-
uninstall-man1:
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
@@ -455,12 +425,6 @@ uninstall-man1:
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
-install-man: $(MANS)
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-man1
-uninstall-man:
- @$(NORMAL_UNINSTALL)
- $(MAKE) $(AM_MAKEFLAGS) uninstall-man1
tags: TAGS
@@ -489,22 +453,23 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
- && gtags -i $$here
-
-mostlyclean-tags:
-
-clean-tags:
+ && gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
- -rm -f TAGS ID
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-maintainer-clean-tags:
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
- d=$(srcdir); \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ $(mkinstalldirs) "$(distdir)/$$dir"; \
+ fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
@@ -514,90 +479,96 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
- $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="${top_distdir}" distdir="$(distdir)" \
+ dist-hook
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am: install-binPROGRAMS
- @$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-exec: install-exec-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
-install-data-am: install-man install-data-local
-install-data: install-data-am
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
-uninstall-am: uninstall-binPROGRAMS uninstall-man
+install-exec: install-exec-am
+install-data: install-data-am
uninstall: uninstall-am
-all-am: Makefile $(PROGRAMS) $(MANS) all-local
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
- -rm -f Makefile.in
-mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
- mostlyclean-compile mostlyclean-libtool \
- mostlyclean-tags mostlyclean-generic
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
-mostlyclean: mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-libtool \
+ clean-noinstPROGRAMS mostlyclean-am
-clean-am: clean-binPROGRAMS clean-noinstPROGRAMS clean-compile \
- clean-libtool clean-tags clean-generic mostlyclean-am
+distclean: distclean-am
-clean: clean-am
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
-distclean-am: distclean-binPROGRAMS distclean-noinstPROGRAMS \
- distclean-compile distclean-libtool distclean-tags \
- distclean-generic clean-am
- -rm -f libtool
+dvi: dvi-am
-distclean: distclean-am
+dvi-am:
-maintainer-clean-am: maintainer-clean-binPROGRAMS \
- maintainer-clean-noinstPROGRAMS \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-man
+
+install-exec-am: install-binPROGRAMS
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
maintainer-clean: maintainer-clean-am
-.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
-mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
-clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool install-man1 uninstall-man1 \
-install-man uninstall-man tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi \
-check-local check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-local install-data-am install-data install-am \
-install uninstall-am uninstall all-local all-redirect all-am all \
-install-strip installdirs mostlyclean-generic distclean-generic \
-clean-generic maintainer-clean-generic clean mostlyclean distclean \
-maintainer-clean
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: GTAGS all all-am all-local check check-am check-local clean \
+ clean-binPROGRAMS clean-generic clean-libtool \
+ clean-noinstPROGRAMS distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-data-local install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-man1 install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool tags uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-info-am uninstall-man \
+ uninstall-man1
install-suid-programs:
@@ -728,6 +699,9 @@ check-local::
test "$$failed" -eq 0; \
fi
+# make sure install-exec-hook doesn't have any commands in Makefile.am.common
+install-exec-hook:
+ (cd $(DESTDIR)$(bindir) && rm -f kauth && $(LN_S) kinit kauth)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/crypto/heimdal/kuser/generate-requests.c b/crypto/heimdal/kuser/generate-requests.c
index 74371a7..993a8b0 100644
--- a/crypto/heimdal/kuser/generate-requests.c
+++ b/crypto/heimdal/kuser/generate-requests.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000 Kungliga Tekniska Högskolan
+ * Copyright (c) 2000 - 2001 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -33,7 +33,7 @@
#include "kuser_locl.h"
-RCSID("$Id: generate-requests.c,v 1.3 2001/02/20 01:44:51 assar Exp $");
+RCSID("$Id: generate-requests.c,v 1.4 2001/08/24 01:07:22 assar Exp $");
static krb5_error_code
null_key_proc (krb5_context context,
@@ -137,6 +137,15 @@ main(int argc, char **argv)
setprogname(argv[0]);
if(getarg(args, sizeof(args) / sizeof(args[0]), argc, argv, &optind))
usage(1);
+
+ if (help_flag)
+ usage (0);
+
+ if(version_flag) {
+ print_version(NULL);
+ exit(0);
+ }
+
argc -= optind;
argv += optind;
diff --git a/crypto/heimdal/kuser/kinit.1 b/crypto/heimdal/kuser/kinit.1
index 8c2fc81..4799e33 100644
--- a/crypto/heimdal/kuser/kinit.1
+++ b/crypto/heimdal/kuser/kinit.1
@@ -1,15 +1,16 @@
-.\" $Id: kinit.1,v 1.11 2001/06/08 21:35:32 joda Exp $
+.\" $Id: kinit.1,v 1.16 2002/01/24 15:30:45 assar Exp $
.\"
.Dd May 29, 1998
.Dt KINIT 1
.Os HEIMDAL
.Sh NAME
-.Nm kinit ,
+.Nm kinit
.Nm kauth
.Nd acquire initial tickets
.Sh SYNOPSIS
.Nm kinit
.Op Fl 4 | Fl -524init
+.Op Fl 9 | Fl -524convert
.Op Fl -afslog
.Oo Fl c Ar cachename \*(Ba Xo
.Fl -cache= Ns Ar cachename
@@ -41,8 +42,8 @@
.Oc
.Op Fl k | Fl -use-keytab
.Op Fl v | Fl -validate
-.Oo Fl e Ar enctype \*(Ba Xo
-.Fl -enctypes= Ns Ar enctype
+.Oo Fl e Ar enctypes \*(Ba Xo
+.Fl -enctypes= Ns Ar enctypes
.Xc
.Oc
.Op Fl -fcache-version= Ns Ar integer
@@ -59,7 +60,9 @@ or if none is given, a system generated default (typically your login
name at the default realm), and acquire a ticket granting ticket that
can later be used to obtain tickets for other services.
.Pp
-If you have compiled kinit with Kerberos 4 support and you have a
+If you have compiled
+.Nm kinit
+with Kerberos 4 support and you have a
Kerberos 4 server,
.Nm
will detect this and get you Kerberos 4 tickets.
@@ -162,20 +165,20 @@ issued to an anonymous principal, typically
.Pp
The following options are only available if
.Nm
-has been compiled with support for Kerberos 4. The
-.Nm kauth
-program is identical to
-.Nm kinit ,
-but has these options enabled by
-default.
+has been compiled with support for Kerberos 4.
.Bl -tag -width Ds
.It Xo
.Fl 4 Ns ,
.Fl -524init
.Xc
-Try to convert the obtained Kerberos 5 krbtgt to a version 4 compatible
-ticket. It will store this ticket in the default Kerberos 4 ticket
-file.
+Try to convert the obtained Kerberos 5 krbtgt to a version 4
+compatible ticket. It will store this ticket in the default Kerberos 4
+ticket file.
+.It Xo
+.Fl 9 Ns ,
+.Fl -524convert
+.Xc
+only convert ticket to version 4
.It Fl -afslog
Gets AFS tickets, converts them to version 4 format, and stores them
in the kernel. Only useful if you have AFS.
@@ -201,12 +204,12 @@ command. When it finishes the credentials will be removed.
.Sh ENVIRONMENT
.Bl -tag -width Ds
.It Ev KRB5CCNAME
-Specifies the default cache file.
+Specifies the default credentials cache.
.It Ev KRB5_CONFIG
-The directory where the
+The file name of
.Pa krb5.conf
-can be found, default is
-.Pa /etc .
+, the default being
+.Pa /etc/krb5.conf .
.It Ev KRBTKFILE
Specifies the Kerberos 4 ticket file to store version 4 tickets in.
.El
@@ -216,8 +219,8 @@ Specifies the Kerberos 4 ticket file to store version 4 tickets in.
.Sh SEE ALSO
.Xr kdestroy 1 ,
.Xr klist 1 ,
-.Xr krb5.conf 5 ,
-.Xr krb5_appdefault 3
+.Xr krb5_appdefault 3 ,
+.Xr krb5.conf 5
.\".Sh STANDARDS
.\".Sh HISTORY
.\".Sh AUTHORS
diff --git a/crypto/heimdal/kuser/kinit.c b/crypto/heimdal/kuser/kinit.c
index 560e0e2..18cab20 100644
--- a/crypto/heimdal/kuser/kinit.c
+++ b/crypto/heimdal/kuser/kinit.c
@@ -32,7 +32,104 @@
*/
#include "kuser_locl.h"
-RCSID("$Id: kinit.c,v 1.75 2001/05/07 21:08:15 assar Exp $");
+RCSID("$Id: kinit.c,v 1.86 2001/09/29 15:59:08 assar Exp $");
+
+int forwardable_flag = -1;
+int proxiable_flag = -1;
+int renewable_flag = -1;
+int renew_flag = 0;
+int validate_flag = 0;
+int version_flag = 0;
+int help_flag = 0;
+int addrs_flag = 1;
+int anonymous_flag = 0;
+char *lifetime = NULL;
+char *renew_life = NULL;
+char *server = NULL;
+char *cred_cache = NULL;
+char *start_str = NULL;
+struct getarg_strings etype_str;
+int use_keytab = 0;
+char *keytab_str = NULL;
+#ifdef KRB4
+int get_v4_tgt = -1;
+int do_afslog = -1;
+int convert_524;
+#endif
+int fcache_version;
+
+static struct getargs args[] = {
+#ifdef KRB4
+ { "524init", '4', arg_flag, &get_v4_tgt,
+ "obtain version 4 TGT" },
+
+ { "524convert", '9', arg_flag, &convert_524,
+ "only convert ticket to version 4" },
+
+ { "afslog", 0 , arg_flag, &do_afslog,
+ "obtain afs tokens" },
+#endif
+ { "cache", 'c', arg_string, &cred_cache,
+ "credentials cache", "cachename" },
+
+ { "forwardable", 'f', arg_flag, &forwardable_flag,
+ "get forwardable tickets"},
+
+ { "keytab", 't', arg_string, &keytab_str,
+ "keytab to use", "keytabname" },
+
+ { "lifetime", 'l', arg_string, &lifetime,
+ "lifetime of tickets", "time"},
+
+ { "proxiable", 'p', arg_flag, &proxiable_flag,
+ "get proxiable tickets" },
+
+ { "renew", 'R', arg_flag, &renew_flag,
+ "renew TGT" },
+
+ { "renewable", 0, arg_flag, &renewable_flag,
+ "get renewable tickets" },
+
+ { "renewable-life", 'r', arg_string, &renew_life,
+ "renewable lifetime of tickets", "time" },
+
+ { "server", 'S', arg_string, &server,
+ "server to get ticket for", "principal" },
+
+ { "start-time", 's', arg_string, &start_str,
+ "when ticket gets valid", "time" },
+
+ { "use-keytab", 'k', arg_flag, &use_keytab,
+ "get key from keytab" },
+
+ { "validate", 'v', arg_flag, &validate_flag,
+ "validate TGT" },
+
+ { "enctypes", 'e', arg_strings, &etype_str,
+ "encryption types to use", "enctypes" },
+
+ { "fcache-version", 0, arg_integer, &fcache_version,
+ "file cache version to create" },
+
+ { "addresses", 0, arg_negative_flag, &addrs_flag,
+ "request a ticket with no addresses" },
+
+ { "anonymous", 0, arg_flag, &anonymous_flag,
+ "request an anonymous ticket" },
+
+ { "version", 0, arg_flag, &version_flag },
+ { "help", 0, arg_flag, &help_flag }
+};
+
+static void
+usage (int ret)
+{
+ arg_printusage (args,
+ sizeof(args)/sizeof(*args),
+ NULL,
+ "[principal [command]]");
+ exit (ret);
+}
#ifdef KRB4
/* for when the KDC tells us it's a v4 one, we try to talk that */
@@ -53,7 +150,7 @@ do_v4_fallback (krb5_context context,
const krb5_principal principal,
int lifetime,
int use_srvtab, const char *srvtab_str,
- char *passwd, size_t passwd_size)
+ const char *passwd)
{
int ret;
krb_principal princ;
@@ -93,13 +190,12 @@ do_v4_fallback (krb5_context context,
KRB_TICKET_GRANTING_TICKET, princ.realm,
lifetime, passwd, &key);
}
- memset (passwd, 0, passwd_size);
memset (key, 0, sizeof(key));
if (ret) {
warnx ("%s", krb_get_err_text(ret));
return 1;
}
- if (k_hasafs()) {
+ if (do_afslog && k_hasafs()) {
if ((ret = krb_afslog(NULL, NULL)) != 0 && ret != KDC_PR_UNKNOWN) {
if(ret > 0)
warnx ("%s", krb_get_err_text(ret));
@@ -159,98 +255,59 @@ kinit_get_default_principal (krb5_context context,
#endif /* !KRB4 */
-int forwardable_flag = -1;
-int proxiable_flag = -1;
-int renewable_flag = -1;
-int renew_flag = 0;
-int validate_flag = 0;
-int version_flag = 0;
-int help_flag = 0;
-int addrs_flag = 1;
-int anonymous_flag = 0;
-char *lifetime = NULL;
-char *renew_life = NULL;
-char *server = NULL;
-char *cred_cache = NULL;
-char *start_str = NULL;
-struct getarg_strings etype_str;
-int use_keytab = 0;
-char *keytab_str = NULL;
-#ifdef KRB4
-extern int do_afslog;
-extern int get_v4_tgt;
-#endif
-int fcache_version;
-
-static struct getargs args[] = {
-#ifdef KRB4
- { "524init", '4', arg_flag, &get_v4_tgt,
- "obtain version 4 TGT" },
-
- { "afslog", 0 , arg_flag, &do_afslog,
- "obtain afs tokens" },
-#endif
- { "cache", 'c', arg_string, &cred_cache,
- "credentials cache", "cachename" },
-
- { "forwardable", 'f', arg_flag, &forwardable_flag,
- "get forwardable tickets"},
-
- { "keytab", 't', arg_string, &keytab_str,
- "keytab to use", "keytabname" },
-
- { "lifetime", 'l', arg_string, &lifetime,
- "lifetime of tickets", "time"},
-
- { "proxiable", 'p', arg_flag, &proxiable_flag,
- "get proxiable tickets" },
-
- { "renew", 'R', arg_flag, &renew_flag,
- "renew TGT" },
-
- { "renewable", 0, arg_flag, &renewable_flag,
- "get renewable tickets" },
-
- { "renewable-life", 'r', arg_string, &renew_life,
- "renewable lifetime of tickets", "time" },
-
- { "server", 'S', arg_string, &server,
- "server to get ticket for", "principal" },
-
- { "start-time", 's', arg_string, &start_str,
- "when ticket gets valid", "time" },
-
- { "use-keytab", 'k', arg_flag, &use_keytab,
- "get key from keytab" },
-
- { "validate", 'v', arg_flag, &validate_flag,
- "validate TGT" },
-
- { "enctypes", 'e', arg_strings, &etype_str,
- "encryption types to use", "enctypes" },
+static krb5_error_code
+get_server(krb5_context context,
+ krb5_principal client,
+ const char *server,
+ krb5_principal *princ)
+{
+ krb5_realm *client_realm;
+ if(server)
+ return krb5_parse_name(context, server, princ);
- { "fcache-version", 0, arg_integer, &fcache_version,
- "file cache version to create" },
+ client_realm = krb5_princ_realm (context, client);
+ return krb5_make_principal(context, princ, *client_realm,
+ KRB5_TGS_NAME, *client_realm, NULL);
+}
- { "addresses", 0, arg_negative_flag, &addrs_flag,
- "request a ticket with no addresses" },
+#ifdef KRB4
+static krb5_error_code
+do_524init(krb5_context context, krb5_ccache ccache,
+ krb5_creds *creds, const char *server)
+{
+ krb5_error_code ret;
+ CREDENTIALS c;
+ krb5_creds in_creds, *real_creds;
- { "anonymous", 0, arg_flag, &anonymous_flag,
- "request an anonymous ticket" },
+ if(creds != NULL)
+ real_creds = creds;
+ else {
+ krb5_principal client;
+ krb5_cc_get_principal(context, ccache, &client);
+ memset(&in_creds, 0, sizeof(in_creds));
+ ret = get_server(context, client, server, &in_creds.server);
+ if(ret)
+ return ret;
+ ret = krb5_get_credentials(context, 0, ccache, &in_creds, &real_creds);
+ if(ret)
+ return ret;
+ }
+ ret = krb524_convert_creds_kdc_ccache(context, ccache, real_creds, &c);
+ if(ret)
+ krb5_warn(context, ret, "converting creds");
+ else {
+ int tret = tf_setup(&c, c.pname, c.pinst);
+ if(tret)
+ krb5_warnx(context, "saving v4 creds: %s", krb_get_err_text(tret));
+ }
- { "version", 0, arg_flag, &version_flag },
- { "help", 0, arg_flag, &help_flag }
-};
+ if(creds == NULL)
+ krb5_free_creds(context, real_creds);
+ memset(&c, 0, sizeof(c));
-static void
-usage (int ret)
-{
- arg_printusage (args,
- sizeof(args)/sizeof(*args),
- NULL,
- "[principal [command]]");
- exit (ret);
+ return ret;
}
+#endif
static int
renew_validate(krb5_context context,
@@ -271,21 +328,10 @@ renew_validate(krb5_context context,
krb5_warn(context, ret, "krb5_cc_get_principal");
return ret;
}
- if(server) {
- ret = krb5_parse_name(context, server, &in.server);
- if(ret) {
- krb5_warn(context, ret, "krb5_parse_name");
- goto out;
- }
- } else {
- krb5_realm *client_realm = krb5_princ_realm (context, in.client);
-
- ret = krb5_make_principal(context, &in.server, *client_realm,
- KRB5_TGS_NAME, *client_realm, NULL);
- if(ret) {
- krb5_warn(context, ret, "krb5_make_principal");
- goto out;
- }
+ ret = get_server(context, in.client, server, &in.server);
+ if(ret) {
+ krb5_warn(context, ret, "get_server");
+ goto out;
}
flags.i = 0;
flags.b.renewable = flags.b.renew = renew;
@@ -317,6 +363,18 @@ renew_validate(krb5_context context,
goto out;
}
ret = krb5_cc_store_cred(context, cache, out);
+
+#ifdef KRB4
+ if(ret == 0 && server == NULL) {
+ /* only do this if it's a general renew-my-tgt request */
+ if(get_v4_tgt)
+ do_524init(context, cache, out, NULL);
+
+ if(do_afslog && k_hasafs())
+ krb5_afslog(context, cache, NULL, NULL);
+ }
+#endif
+
krb5_free_creds (context, out);
if(ret) {
krb5_warn(context, ret, "krb5_cc_store_cred");
@@ -327,108 +385,20 @@ out:
return ret;
}
-int
-main (int argc, char **argv)
+static krb5_error_code
+get_new_tickets(krb5_context context,
+ krb5_principal principal,
+ krb5_ccache ccache,
+ krb5_deltat ticket_life)
{
krb5_error_code ret;
- krb5_context context;
- krb5_ccache ccache;
- krb5_principal principal;
- krb5_creds cred;
- int optind = 0;
krb5_get_init_creds_opt opt;
- krb5_deltat start_time = 0;
- krb5_deltat ticket_life = 0;
krb5_addresses no_addrs;
+ krb5_creds cred;
char passwd[256];
+ krb5_deltat start_time = 0;
- setprogname (argv[0]);
memset(&cred, 0, sizeof(cred));
-
- ret = krb5_init_context (&context);
- if (ret)
- errx(1, "krb5_init_context failed: %d", ret);
-
- /* XXX no way to figure out if set without explict test */
- if(krb5_config_get_string(context, NULL, "libdefaults",
- "forwardable", NULL))
- forwardable_flag = krb5_config_get_bool (context, NULL,
- "libdefaults",
- "forwardable",
- NULL);
-
-#ifdef KRB4
- get_v4_tgt = krb5_config_get_bool_default (context, NULL,
- get_v4_tgt,
- "libdefaults",
- "krb4_get_tickets",
- NULL);
-#endif
-
- if(getarg(args, sizeof(args) / sizeof(args[0]), argc, argv, &optind))
- usage(1);
-
- if (help_flag)
- usage (0);
-
- if(version_flag) {
- print_version(NULL);
- exit(0);
- }
-
- argc -= optind;
- argv += optind;
-
- if (argv[0]) {
- ret = krb5_parse_name (context, argv[0], &principal);
- if (ret)
- krb5_err (context, 1, ret, "krb5_parse_name");
- } else {
- ret = kinit_get_default_principal (context, &principal);
- if (ret)
- krb5_err (context, 1, ret, "krb5_get_default_principal");
- }
-
- if(fcache_version)
- krb5_set_fcache_version(context, fcache_version);
-
- if(cred_cache)
- ret = krb5_cc_resolve(context, cred_cache, &ccache);
- else {
- if(argc > 1) {
- char s[1024];
- ret = krb5_cc_gen_new(context, &krb5_fcc_ops, &ccache);
- if(ret)
- krb5_err(context, 1, ret, "creating cred cache");
- snprintf(s, sizeof(s), "%s:%s",
- krb5_cc_get_type(context, ccache),
- krb5_cc_get_name(context, ccache));
- setenv("KRB5CCNAME", s, 1);
-#ifdef KRB4
- snprintf(s, sizeof(s), "%s_XXXXXX", TKT_ROOT);
- close(mkstemp(s));
- setenv("KRBTKFILE", s, 1);
- if (k_hasafs ())
- k_setpag();
-#endif
- } else
- ret = krb5_cc_default (context, &ccache);
- }
- if (ret)
- krb5_err (context, 1, ret, "resolving credentials cache");
-
- if (lifetime) {
- int tmp = parse_time (lifetime, "s");
- if (tmp < 0)
- errx (1, "unparsable time: %s", lifetime);
-
- ticket_life = tmp;
- }
- if(renew_flag || validate_flag) {
- ret = renew_validate(context, renew_flag, validate_flag,
- ccache, server, ticket_life);
- exit(ret != 0);
- }
krb5_get_init_creds_opt_init (&opt);
@@ -486,17 +456,6 @@ main (int argc, char **argv)
etype_str.num_strings);
}
-#ifdef KRB4
- get_v4_tgt = krb5_config_get_bool_default (context,
- NULL,
- get_v4_tgt,
- "realms",
- krb5_princ_realm(context,
- principal),
- "krb4_get_tickets",
- NULL);
-#endif
-
if(use_keytab || keytab_str) {
krb5_keytab kt;
if(keytab_str)
@@ -542,13 +501,12 @@ main (int argc, char **argv)
int exit_val;
exit_val = do_v4_fallback (context, principal, ticket_life,
- use_keytab, keytab_str,
- passwd, sizeof(passwd));
+ use_keytab, keytab_str, passwd);
+ get_v4_tgt = 0;
+ do_afslog = 0;
memset(passwd, 0, sizeof(passwd));
- if (exit_val == 0 || ret == KRB5KRB_AP_ERR_V4_REPLY) {
- krb5_free_context (context);
+ if (exit_val == 0 || ret == KRB5KRB_AP_ERR_V4_REPLY)
return exit_val;
- }
}
#endif
memset(passwd, 0, sizeof(passwd));
@@ -557,11 +515,9 @@ main (int argc, char **argv)
case 0:
break;
case KRB5_LIBOS_PWDINTR: /* don't print anything if it was just C-c:ed */
- memset(passwd, 0, sizeof(passwd));
exit(1);
case KRB5KRB_AP_ERR_BAD_INTEGRITY:
case KRB5KRB_AP_ERR_MODIFIED:
- memset(passwd, 0, sizeof(passwd));
krb5_errx(context, 1, "Password incorrect");
break;
default:
@@ -576,19 +532,119 @@ main (int argc, char **argv)
if (ret)
krb5_err (context, 1, ret, "krb5_cc_store_cred");
+ krb5_free_creds_contents (context, &cred);
+
+ return 0;
+}
+
+int
+main (int argc, char **argv)
+{
+ krb5_error_code ret;
+ krb5_context context;
+ krb5_ccache ccache;
+ krb5_principal principal;
+ int optind = 0;
+ krb5_deltat ticket_life = 0;
+
+ setprogname (argv[0]);
+
+ ret = krb5_init_context (&context);
+ if (ret)
+ errx(1, "krb5_init_context failed: %d", ret);
+
+ if(getarg(args, sizeof(args) / sizeof(args[0]), argc, argv, &optind))
+ usage(1);
+
+ if (help_flag)
+ usage (0);
+
+ if(version_flag) {
+ print_version(NULL);
+ exit(0);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (argv[0]) {
+ ret = krb5_parse_name (context, argv[0], &principal);
+ if (ret)
+ krb5_err (context, 1, ret, "krb5_parse_name");
+ } else {
+ ret = kinit_get_default_principal (context, &principal);
+ if (ret)
+ krb5_err (context, 1, ret, "krb5_get_default_principal");
+ }
+
+ if(fcache_version)
+ krb5_set_fcache_version(context, fcache_version);
+
+ if(cred_cache)
+ ret = krb5_cc_resolve(context, cred_cache, &ccache);
+ else {
+ if(argc > 1) {
+ char s[1024];
+ ret = krb5_cc_gen_new(context, &krb5_fcc_ops, &ccache);
+ if(ret)
+ krb5_err(context, 1, ret, "creating cred cache");
+ snprintf(s, sizeof(s), "%s:%s",
+ krb5_cc_get_type(context, ccache),
+ krb5_cc_get_name(context, ccache));
+ setenv("KRB5CCNAME", s, 1);
#ifdef KRB4
- if(get_v4_tgt) {
- CREDENTIALS c;
- ret = krb524_convert_creds_kdc(context, ccache, &cred, &c);
- if(ret)
- krb5_warn(context, ret, "converting creds");
- else
- tf_setup(&c, c.pname, c.pinst);
- memset(&c, 0, sizeof(c));
+ {
+ int fd;
+ snprintf(s, sizeof(s), "%s_XXXXXX", TKT_ROOT);
+ if((fd = mkstemp(s)) >= 0) {
+ close(fd);
+ setenv("KRBTKFILE", s, 1);
+ if (k_hasafs ())
+ k_setpag();
+ }
+ }
+#endif
+ } else
+ ret = krb5_cc_default (context, &ccache);
}
+ if (ret)
+ krb5_err (context, 1, ret, "resolving credentials cache");
+
+ if (lifetime) {
+ int tmp = parse_time (lifetime, "s");
+ if (tmp < 0)
+ errx (1, "unparsable time: %s", lifetime);
+
+ ticket_life = tmp;
+ }
+#ifdef KRB4
+ if(get_v4_tgt == -1)
+ krb5_appdefault_boolean(context, "kinit",
+ krb5_principal_get_realm(context, principal),
+ "krb4_get_tickets", TRUE, &get_v4_tgt);
+ if(do_afslog == -1)
+ krb5_appdefault_boolean(context, "kinit",
+ krb5_principal_get_realm(context, principal),
+ "afslog", TRUE, &do_afslog);
+#endif
+
+
+ if(renew_flag || validate_flag) {
+ ret = renew_validate(context, renew_flag, validate_flag,
+ ccache, server, ticket_life);
+ exit(ret != 0);
+ }
+
+#ifdef KRB4
+ if(!convert_524)
+#endif
+ get_new_tickets(context, principal, ccache, ticket_life);
+
+#ifdef KRB4
+ if(get_v4_tgt)
+ do_524init(context, ccache, NULL, server);
if(do_afslog && k_hasafs())
krb5_afslog(context, ccache, NULL, NULL);
- krb5_free_creds_contents (context, &cred);
#endif
if(argc > 1) {
simple_execvp(argv[1], argv+1);
@@ -600,6 +656,7 @@ main (int argc, char **argv)
#endif
} else
krb5_cc_close (context, ccache);
+ krb5_free_principal(context, principal);
krb5_free_context (context);
return 0;
}
diff --git a/crypto/heimdal/kuser/klist.1 b/crypto/heimdal/kuser/klist.1
index 296e4fa..e3c709b 100644
--- a/crypto/heimdal/kuser/klist.1
+++ b/crypto/heimdal/kuser/klist.1
@@ -1,4 +1,4 @@
-.\" $Id: klist.1,v 1.8 2001/06/08 21:35:32 joda Exp $
+.\" $Id: klist.1,v 1.9 2001/07/12 08:42:27 assar Exp $
.\"
.Dd July 8, 2000
.Dt KLIST 1
@@ -115,5 +115,5 @@ the set of addresses from which this ticket is valid
.El
.El
.Sh SEE ALSO
-.Xr kinit 1 ,
-.Xr kdestroy 1
+.Xr kdestroy 1 ,
+.Xr kinit 1
diff --git a/crypto/heimdal/kuser/kverify.c b/crypto/heimdal/kuser/kverify.c
index 72b15f9..3501f00 100644
--- a/crypto/heimdal/kuser/kverify.c
+++ b/crypto/heimdal/kuser/kverify.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997 - 2000 Kungliga Tekniska Högskolan
+ * Copyright (c) 1997 - 2001 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -33,7 +33,25 @@
#include "kuser_locl.h"
-RCSID("$Id: kverify.c,v 1.4 2000/12/31 07:55:54 assar Exp $");
+RCSID("$Id: kverify.c,v 1.6 2001/08/24 01:08:13 assar Exp $");
+
+static int help_flag = 0;
+static int version_flag = 0;
+
+static struct getargs args[] = {
+ { "version", 0, arg_flag, &version_flag },
+ { "help", 0, arg_flag, &help_flag }
+};
+
+static void
+usage (int ret)
+{
+ arg_printusage (args,
+ sizeof(args)/sizeof(*args),
+ NULL,
+ "[principal]");
+ exit (ret);
+}
int
main(int argc, char **argv)
@@ -44,6 +62,20 @@ main(int argc, char **argv)
krb5_preauthtype pre_auth_types[] = {KRB5_PADATA_ENC_TIMESTAMP};
krb5_get_init_creds_opt get_options;
krb5_verify_init_creds_opt verify_options;
+ int optind = 0;
+
+ setprogname (argv[0]);
+
+ if(getarg(args, sizeof(args) / sizeof(args[0]), argc, argv, &optind))
+ usage(1);
+
+ if (help_flag)
+ usage (0);
+
+ if(version_flag) {
+ print_version(NULL);
+ exit(0);
+ }
ret = krb5_init_context(&context);
if (ret)
OpenPOWER on IntegriCloud