aboutsummaryrefslogtreecommitdiff
path: root/lib/gssapi
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gssapi')
-rw-r--r--lib/gssapi/Makefile.in1094
-rw-r--r--lib/gssapi/gss_acquire_cred.cat3611
-rw-r--r--lib/gssapi/gssapi.cat355
-rw-r--r--lib/gssapi/krb5/accept_sec_context.c1
-rw-r--r--lib/gssapi/krb5/acquire_cred.c5
-rw-r--r--lib/gssapi/krb5/arcfour.c70
-rw-r--r--lib/gssapi/krb5/cfx.c52
-rw-r--r--lib/gssapi/krb5/decapsulate.c12
-rw-r--r--lib/gssapi/krb5/delete_sec_context.c2
-rw-r--r--lib/gssapi/krb5/display_status.c3
-rw-r--r--lib/gssapi/krb5/gsskrb5-private.h3
-rw-r--r--lib/gssapi/krb5/init_sec_context.c16
-rw-r--r--lib/gssapi/krb5/unwrap.c34
-rw-r--r--lib/gssapi/mech/gss_display_status.c3
-rw-r--r--lib/gssapi/mech/gss_import_name.c2
-rw-r--r--lib/gssapi/mech/gss_mech_switch.c2
-rw-r--r--lib/gssapi/mech/gss_pname_to_uid.c4
-rw-r--r--lib/gssapi/mech/mech.cat558
-rw-r--r--lib/gssapi/mech/mech_locl.h1
-rw-r--r--lib/gssapi/ntlm/init_sec_context.c2
-rw-r--r--lib/gssapi/spnego/accept_sec_context.c14
-rw-r--r--lib/gssapi/test_context.c34
22 files changed, 1358 insertions, 720 deletions
diff --git a/lib/gssapi/Makefile.in b/lib/gssapi/Makefile.in
index 5778556cc70c..1a4b3d9c8470 100644
--- a/lib/gssapi/Makefile.in
+++ b/lib/gssapi/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -107,7 +107,6 @@ subdir = lib/gssapi
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/cf/aix.m4 \
$(top_srcdir)/cf/auth-modules.m4 \
- $(top_srcdir)/cf/broken-getaddrinfo.m4 \
$(top_srcdir)/cf/broken-glob.m4 \
$(top_srcdir)/cf/broken-realloc.m4 \
$(top_srcdir)/cf/broken-snprintf.m4 $(top_srcdir)/cf/broken.m4 \
@@ -157,6 +156,12 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \
+ "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)" \
+ "$(DESTDIR)$(gssapidir)"
+am__EXEEXT_1 = test_oid$(EXEEXT) test_names$(EXEEXT) test_cfx$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -184,10 +189,6 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
- "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \
- "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)" \
- "$(DESTDIR)$(gssapidir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
am__dirstamp = $(am__leading_dot)dirstamp
@@ -288,8 +289,6 @@ am__v_lt_1 =
libgssapi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libgssapi_la_LDFLAGS) $(LDFLAGS) -o $@
-am__EXEEXT_1 = test_oid$(EXEEXT) test_names$(EXEEXT) test_cfx$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
dist_gsstool_OBJECTS = gsstool.$(OBJEXT)
nodist_gsstool_OBJECTS = gss-commands.$(OBJEXT)
gsstool_OBJECTS = $(dist_gsstool_OBJECTS) $(nodist_gsstool_OBJECTS)
@@ -356,7 +355,154 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/asn1_ContextFlags.Plo \
+ ./$(DEPDIR)/asn1_GSSAPIContextToken.Plo \
+ ./$(DEPDIR)/asn1_MechType.Plo \
+ ./$(DEPDIR)/asn1_MechTypeList.Plo \
+ ./$(DEPDIR)/asn1_NegHints.Plo \
+ ./$(DEPDIR)/asn1_NegTokenInit.Plo \
+ ./$(DEPDIR)/asn1_NegTokenInitWin.Plo \
+ ./$(DEPDIR)/asn1_NegTokenResp.Plo \
+ ./$(DEPDIR)/asn1_NegotiationToken.Plo \
+ ./$(DEPDIR)/asn1_NegotiationTokenWin.Plo \
+ ./$(DEPDIR)/gkrb5_err.Plo ./$(DEPDIR)/gss-commands.Po \
+ ./$(DEPDIR)/gsstool.Po ./$(DEPDIR)/test_acquire_cred.Po \
+ ./$(DEPDIR)/test_add_store_cred.Po ./$(DEPDIR)/test_common.Po \
+ ./$(DEPDIR)/test_context.Po ./$(DEPDIR)/test_cred.Po \
+ ./$(DEPDIR)/test_kcred.Po ./$(DEPDIR)/test_names.Po \
+ ./$(DEPDIR)/test_ntlm.Po ./$(DEPDIR)/test_oid.Po \
+ krb5/$(DEPDIR)/8003.Plo krb5/$(DEPDIR)/accept_sec_context.Plo \
+ krb5/$(DEPDIR)/acquire_cred.Plo krb5/$(DEPDIR)/add_cred.Plo \
+ krb5/$(DEPDIR)/address_to_krb5addr.Plo krb5/$(DEPDIR)/aeap.Plo \
+ krb5/$(DEPDIR)/arcfour.Plo \
+ krb5/$(DEPDIR)/authorize_localname.Plo \
+ krb5/$(DEPDIR)/canonicalize_name.Plo \
+ krb5/$(DEPDIR)/ccache_name.Plo krb5/$(DEPDIR)/cfx.Plo \
+ krb5/$(DEPDIR)/compare_name.Plo krb5/$(DEPDIR)/compat.Plo \
+ krb5/$(DEPDIR)/context_time.Plo krb5/$(DEPDIR)/copy_ccache.Plo \
+ krb5/$(DEPDIR)/creds.Plo krb5/$(DEPDIR)/decapsulate.Plo \
+ krb5/$(DEPDIR)/delete_sec_context.Plo \
+ krb5/$(DEPDIR)/display_name.Plo \
+ krb5/$(DEPDIR)/display_status.Plo \
+ krb5/$(DEPDIR)/duplicate_name.Plo \
+ krb5/$(DEPDIR)/encapsulate.Plo krb5/$(DEPDIR)/export_name.Plo \
+ krb5/$(DEPDIR)/export_sec_context.Plo \
+ krb5/$(DEPDIR)/external.Plo krb5/$(DEPDIR)/get_mic.Plo \
+ krb5/$(DEPDIR)/import_name.Plo \
+ krb5/$(DEPDIR)/import_sec_context.Plo \
+ krb5/$(DEPDIR)/indicate_mechs.Plo krb5/$(DEPDIR)/init.Plo \
+ krb5/$(DEPDIR)/init_sec_context.Plo \
+ krb5/$(DEPDIR)/inquire_context.Plo \
+ krb5/$(DEPDIR)/inquire_cred.Plo \
+ krb5/$(DEPDIR)/inquire_cred_by_mech.Plo \
+ krb5/$(DEPDIR)/inquire_cred_by_oid.Plo \
+ krb5/$(DEPDIR)/inquire_mechs_for_name.Plo \
+ krb5/$(DEPDIR)/inquire_names_for_mech.Plo \
+ krb5/$(DEPDIR)/inquire_sec_context_by_oid.Plo \
+ krb5/$(DEPDIR)/pname_to_uid.Plo krb5/$(DEPDIR)/prf.Plo \
+ krb5/$(DEPDIR)/process_context_token.Plo \
+ krb5/$(DEPDIR)/release_buffer.Plo \
+ krb5/$(DEPDIR)/release_cred.Plo \
+ krb5/$(DEPDIR)/release_name.Plo krb5/$(DEPDIR)/sequence.Plo \
+ krb5/$(DEPDIR)/set_cred_option.Plo \
+ krb5/$(DEPDIR)/set_sec_context_option.Plo \
+ krb5/$(DEPDIR)/store_cred.Plo krb5/$(DEPDIR)/test_cfx.Po \
+ krb5/$(DEPDIR)/ticket_flags.Plo krb5/$(DEPDIR)/unwrap.Plo \
+ krb5/$(DEPDIR)/verify_mic.Plo krb5/$(DEPDIR)/wrap.Plo \
+ mech/$(DEPDIR)/context.Plo mech/$(DEPDIR)/doxygen.Plo \
+ mech/$(DEPDIR)/gss_accept_sec_context.Plo \
+ mech/$(DEPDIR)/gss_acquire_cred.Plo \
+ mech/$(DEPDIR)/gss_acquire_cred_ext.Plo \
+ mech/$(DEPDIR)/gss_acquire_cred_with_password.Plo \
+ mech/$(DEPDIR)/gss_add_cred.Plo \
+ mech/$(DEPDIR)/gss_add_cred_with_password.Plo \
+ mech/$(DEPDIR)/gss_add_oid_set_member.Plo \
+ mech/$(DEPDIR)/gss_aeap.Plo \
+ mech/$(DEPDIR)/gss_authorize_localname.Plo \
+ mech/$(DEPDIR)/gss_buffer_set.Plo \
+ mech/$(DEPDIR)/gss_canonicalize_name.Plo \
+ mech/$(DEPDIR)/gss_compare_name.Plo \
+ mech/$(DEPDIR)/gss_context_time.Plo \
+ mech/$(DEPDIR)/gss_create_empty_oid_set.Plo \
+ mech/$(DEPDIR)/gss_cred.Plo \
+ mech/$(DEPDIR)/gss_decapsulate_token.Plo \
+ mech/$(DEPDIR)/gss_delete_name_attribute.Plo \
+ mech/$(DEPDIR)/gss_delete_sec_context.Plo \
+ mech/$(DEPDIR)/gss_display_name.Plo \
+ mech/$(DEPDIR)/gss_display_name_ext.Plo \
+ mech/$(DEPDIR)/gss_display_status.Plo \
+ mech/$(DEPDIR)/gss_duplicate_name.Plo \
+ mech/$(DEPDIR)/gss_duplicate_oid.Plo \
+ mech/$(DEPDIR)/gss_encapsulate_token.Plo \
+ mech/$(DEPDIR)/gss_export_name.Plo \
+ mech/$(DEPDIR)/gss_export_name_composite.Plo \
+ mech/$(DEPDIR)/gss_export_sec_context.Plo \
+ mech/$(DEPDIR)/gss_get_mic.Plo \
+ mech/$(DEPDIR)/gss_get_name_attribute.Plo \
+ mech/$(DEPDIR)/gss_import_name.Plo \
+ mech/$(DEPDIR)/gss_import_sec_context.Plo \
+ mech/$(DEPDIR)/gss_indicate_mechs.Plo \
+ mech/$(DEPDIR)/gss_init_sec_context.Plo \
+ mech/$(DEPDIR)/gss_inquire_context.Plo \
+ mech/$(DEPDIR)/gss_inquire_cred.Plo \
+ mech/$(DEPDIR)/gss_inquire_cred_by_mech.Plo \
+ mech/$(DEPDIR)/gss_inquire_cred_by_oid.Plo \
+ mech/$(DEPDIR)/gss_inquire_mechs_for_name.Plo \
+ mech/$(DEPDIR)/gss_inquire_name.Plo \
+ mech/$(DEPDIR)/gss_inquire_names_for_mech.Plo \
+ mech/$(DEPDIR)/gss_inquire_sec_context_by_oid.Plo \
+ mech/$(DEPDIR)/gss_krb5.Plo mech/$(DEPDIR)/gss_mech_switch.Plo \
+ mech/$(DEPDIR)/gss_mo.Plo mech/$(DEPDIR)/gss_names.Plo \
+ mech/$(DEPDIR)/gss_oid.Plo mech/$(DEPDIR)/gss_oid_equal.Plo \
+ mech/$(DEPDIR)/gss_oid_to_str.Plo \
+ mech/$(DEPDIR)/gss_pname_to_uid.Plo \
+ mech/$(DEPDIR)/gss_process_context_token.Plo \
+ mech/$(DEPDIR)/gss_pseudo_random.Plo \
+ mech/$(DEPDIR)/gss_release_buffer.Plo \
+ mech/$(DEPDIR)/gss_release_cred.Plo \
+ mech/$(DEPDIR)/gss_release_name.Plo \
+ mech/$(DEPDIR)/gss_release_oid.Plo \
+ mech/$(DEPDIR)/gss_release_oid_set.Plo \
+ mech/$(DEPDIR)/gss_seal.Plo \
+ mech/$(DEPDIR)/gss_set_cred_option.Plo \
+ mech/$(DEPDIR)/gss_set_name_attribute.Plo \
+ mech/$(DEPDIR)/gss_set_sec_context_option.Plo \
+ mech/$(DEPDIR)/gss_sign.Plo mech/$(DEPDIR)/gss_store_cred.Plo \
+ mech/$(DEPDIR)/gss_test_oid_set_member.Plo \
+ mech/$(DEPDIR)/gss_unseal.Plo mech/$(DEPDIR)/gss_unwrap.Plo \
+ mech/$(DEPDIR)/gss_utils.Plo mech/$(DEPDIR)/gss_verify.Plo \
+ mech/$(DEPDIR)/gss_verify_mic.Plo mech/$(DEPDIR)/gss_wrap.Plo \
+ mech/$(DEPDIR)/gss_wrap_size_limit.Plo \
+ ntlm/$(DEPDIR)/accept_sec_context.Plo \
+ ntlm/$(DEPDIR)/acquire_cred.Plo ntlm/$(DEPDIR)/add_cred.Plo \
+ ntlm/$(DEPDIR)/canonicalize_name.Plo \
+ ntlm/$(DEPDIR)/compare_name.Plo \
+ ntlm/$(DEPDIR)/context_time.Plo ntlm/$(DEPDIR)/creds.Plo \
+ ntlm/$(DEPDIR)/crypto.Plo \
+ ntlm/$(DEPDIR)/delete_sec_context.Plo \
+ ntlm/$(DEPDIR)/display_name.Plo \
+ ntlm/$(DEPDIR)/display_status.Plo \
+ ntlm/$(DEPDIR)/duplicate_name.Plo \
+ ntlm/$(DEPDIR)/export_name.Plo \
+ ntlm/$(DEPDIR)/export_sec_context.Plo \
+ ntlm/$(DEPDIR)/external.Plo ntlm/$(DEPDIR)/import_name.Plo \
+ ntlm/$(DEPDIR)/import_sec_context.Plo \
+ ntlm/$(DEPDIR)/indicate_mechs.Plo \
+ ntlm/$(DEPDIR)/init_sec_context.Plo \
+ ntlm/$(DEPDIR)/inquire_context.Plo \
+ ntlm/$(DEPDIR)/inquire_cred_by_mech.Plo \
+ ntlm/$(DEPDIR)/inquire_mechs_for_name.Plo \
+ ntlm/$(DEPDIR)/inquire_names_for_mech.Plo \
+ ntlm/$(DEPDIR)/inquire_sec_context_by_oid.Plo \
+ ntlm/$(DEPDIR)/iter_cred.Plo ntlm/$(DEPDIR)/kdc.Plo \
+ ntlm/$(DEPDIR)/process_context_token.Plo \
+ ntlm/$(DEPDIR)/release_cred.Plo \
+ ntlm/$(DEPDIR)/release_name.Plo \
+ spnego/$(DEPDIR)/accept_sec_context.Plo \
+ spnego/$(DEPDIR)/compat.Plo spnego/$(DEPDIR)/context_stubs.Plo \
+ spnego/$(DEPDIR)/cred_stubs.Plo spnego/$(DEPDIR)/external.Plo \
+ spnego/$(DEPDIR)/init_sec_context.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -412,8 +558,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
@@ -569,6 +713,7 @@ am__set_TESTS_bases = \
bases='$(TEST_LOGS)'; \
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
bases=`echo $$bases`
+AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check recheck
TEST_SUITE_LOG = test-suite.log
@@ -616,9 +761,12 @@ CATMANEXT = @CATMANEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CLANG_FORMAT = @CLANG_FORMAT@
COMPILE_ET = @COMPILE_ET@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DB1LIB = @DB1LIB@
DB3LIB = @DB3LIB@
@@ -636,8 +784,10 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_AFS_STRING_TO_KEY = @ENABLE_AFS_STRING_TO_KEY@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+FILECMD = @FILECMD@
GCD_MIG = @GCD_MIG@
GREP = @GREP@
GROFF = @GROFF@
@@ -746,6 +896,11 @@ PKG_CONFIG = @PKG_CONFIG@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LDADD = @PTHREAD_LDADD@
PTHREAD_LIBADD = @PTHREAD_LIBADD@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
@@ -805,9 +960,14 @@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1160,8 +1320,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_srcdir)/Makefile.am.common $(top_srcdir)/cf/Makefile.am.common $(am__empty):
@@ -1173,6 +1333,73 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@@ -1521,73 +1748,6 @@ spnego/init_sec_context.lo: spnego/$(am__dirstamp) \
libgssapi.la: $(libgssapi_la_OBJECTS) $(libgssapi_la_DEPENDENCIES) $(EXTRA_libgssapi_la_DEPENDENCIES)
$(AM_V_CCLD)$(libgssapi_la_LINK) -rpath $(libdir) $(libgssapi_la_OBJECTS) $(libgssapi_la_LIBADD) $(LIBS)
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p \
- || test -f $$p1 \
- ; then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' \
- -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' \
- `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
gsstool$(EXEEXT): $(gsstool_OBJECTS) $(gsstool_DEPENDENCIES) $(EXTRA_gsstool_DEPENDENCIES)
@rm -f gsstool$(EXEEXT)
@@ -1645,188 +1805,194 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_ContextFlags.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_GSSAPIContextToken.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_MechType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_MechTypeList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegHints.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegTokenInit.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegTokenInitWin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegTokenResp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegotiationToken.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegotiationTokenWin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkrb5_err.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gss-commands.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsstool.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_acquire_cred.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_add_store_cred.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_common.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_context.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cred.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_kcred.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_names.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ntlm.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_oid.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/8003.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/accept_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/acquire_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/add_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/address_to_krb5addr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/aeap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/arcfour.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/authorize_localname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/canonicalize_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/ccache_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/cfx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/compare_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/compat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/context_time.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/copy_ccache.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/creds.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/decapsulate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/delete_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/display_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/display_status.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/duplicate_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/encapsulate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/export_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/export_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/external.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/get_mic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/import_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/import_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/indicate_mechs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/init.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/init_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_cred_by_mech.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_cred_by_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_mechs_for_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_names_for_mech.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_sec_context_by_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/pname_to_uid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/prf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/process_context_token.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/release_buffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/release_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/release_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/sequence.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/set_cred_option.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/set_sec_context_option.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/store_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/test_cfx.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/ticket_flags.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/unwrap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/verify_mic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/wrap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/doxygen.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_accept_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_acquire_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_acquire_cred_ext.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_acquire_cred_with_password.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_add_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_add_cred_with_password.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_add_oid_set_member.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_aeap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_authorize_localname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_buffer_set.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_canonicalize_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_compare_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_context_time.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_create_empty_oid_set.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_decapsulate_token.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_delete_name_attribute.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_delete_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_display_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_display_name_ext.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_display_status.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_duplicate_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_duplicate_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_encapsulate_token.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_export_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_export_name_composite.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_export_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_get_mic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_get_name_attribute.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_import_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_import_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_indicate_mechs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_init_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_cred_by_mech.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_cred_by_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_mechs_for_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_names_for_mech.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_sec_context_by_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_krb5.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_mech_switch.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_mo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_names.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid_equal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid_to_str.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_pname_to_uid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_process_context_token.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_pseudo_random.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_buffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_oid_set.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_seal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_set_cred_option.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_set_name_attribute.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_set_sec_context_option.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_sign.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_store_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_test_oid_set_member.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_unseal.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_unwrap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_utils.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_verify.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_verify_mic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_wrap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_wrap_size_limit.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/accept_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/acquire_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/add_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/canonicalize_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/compare_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/context_time.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/creds.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/crypto.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/delete_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/display_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/display_status.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/duplicate_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/export_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/export_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/external.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/import_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/import_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/indicate_mechs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/init_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_cred_by_mech.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_mechs_for_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_names_for_mech.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_sec_context_by_oid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/iter_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/kdc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/process_context_token.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/release_cred.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/release_name.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/accept_sec_context.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/compat.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/context_stubs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/cred_stubs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/external.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/init_sec_context.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_ContextFlags.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_GSSAPIContextToken.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_MechType.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_MechTypeList.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegHints.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegTokenInit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegTokenInitWin.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegTokenResp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegotiationToken.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1_NegotiationTokenWin.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkrb5_err.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gss-commands.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsstool.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_acquire_cred.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_add_store_cred.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_common.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_context.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cred.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_kcred.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_names.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ntlm.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_oid.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/8003.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/accept_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/acquire_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/add_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/address_to_krb5addr.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/aeap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/arcfour.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/authorize_localname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/canonicalize_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/ccache_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/cfx.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/compare_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/compat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/context_time.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/copy_ccache.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/creds.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/decapsulate.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/delete_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/display_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/display_status.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/duplicate_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/encapsulate.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/export_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/export_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/external.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/get_mic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/import_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/import_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/indicate_mechs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/init.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/init_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_cred_by_mech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_cred_by_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_mechs_for_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_names_for_mech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/inquire_sec_context_by_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/pname_to_uid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/prf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/process_context_token.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/release_buffer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/release_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/release_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/sequence.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/set_cred_option.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/set_sec_context_option.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/store_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/test_cfx.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/ticket_flags.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/unwrap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/verify_mic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@krb5/$(DEPDIR)/wrap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/doxygen.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_accept_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_acquire_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_acquire_cred_ext.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_acquire_cred_with_password.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_add_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_add_cred_with_password.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_add_oid_set_member.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_aeap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_authorize_localname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_buffer_set.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_canonicalize_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_compare_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_context_time.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_create_empty_oid_set.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_decapsulate_token.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_delete_name_attribute.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_delete_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_display_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_display_name_ext.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_display_status.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_duplicate_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_duplicate_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_encapsulate_token.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_export_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_export_name_composite.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_export_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_get_mic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_get_name_attribute.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_import_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_import_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_indicate_mechs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_init_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_cred_by_mech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_cred_by_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_mechs_for_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_names_for_mech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_inquire_sec_context_by_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_krb5.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_mech_switch.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_mo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_names.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid_equal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid_to_str.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_pname_to_uid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_process_context_token.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_pseudo_random.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_buffer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_oid_set.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_seal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_set_cred_option.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_set_name_attribute.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_set_sec_context_option.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_sign.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_store_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_test_oid_set_member.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_unseal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_unwrap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_utils.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_verify.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_verify_mic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_wrap.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_wrap_size_limit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/accept_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/acquire_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/add_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/canonicalize_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/compare_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/context_time.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/creds.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/crypto.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/delete_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/display_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/display_status.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/duplicate_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/export_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/export_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/external.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/import_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/import_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/indicate_mechs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/init_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_cred_by_mech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_mechs_for_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_names_for_mech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/inquire_sec_context_by_oid.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/iter_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/kdc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/process_context_token.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/release_cred.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/release_name.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/accept_sec_context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/compat.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/context_stubs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/cred_stubs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/external.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@spnego/$(DEPDIR)/init_sec_context.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -2173,7 +2339,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
fi; \
echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
echo "$${col}$$br$${std}"; \
create_testsuite_report --maybe-color; \
echo "$$col$$br$$std"; \
@@ -2186,7 +2352,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
$$success || exit 1
-check-TESTS:
+check-TESTS: $(check_PROGRAMS)
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@@ -2242,8 +2408,10 @@ test_cfx.log: test_cfx$(EXEEXT)
@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
-distdir: $(DISTFILES)
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -2281,17 +2449,20 @@ check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(MANS) $(HEADERS) \
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(MANS) $(HEADERS) \
all-local
install-binPROGRAMS: install-libLTLIBRARIES
+install-checkPROGRAMS: install-libLTLIBRARIES
+
installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(gssapidir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(gssapidir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
+install-exec: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -2340,7 +2511,188 @@ clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR) krb5/$(DEPDIR) mech/$(DEPDIR) ntlm/$(DEPDIR) spnego/$(DEPDIR)
+ -rm -f ./$(DEPDIR)/asn1_ContextFlags.Plo
+ -rm -f ./$(DEPDIR)/asn1_GSSAPIContextToken.Plo
+ -rm -f ./$(DEPDIR)/asn1_MechType.Plo
+ -rm -f ./$(DEPDIR)/asn1_MechTypeList.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegHints.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegTokenInit.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegTokenInitWin.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegTokenResp.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegotiationToken.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegotiationTokenWin.Plo
+ -rm -f ./$(DEPDIR)/gkrb5_err.Plo
+ -rm -f ./$(DEPDIR)/gss-commands.Po
+ -rm -f ./$(DEPDIR)/gsstool.Po
+ -rm -f ./$(DEPDIR)/test_acquire_cred.Po
+ -rm -f ./$(DEPDIR)/test_add_store_cred.Po
+ -rm -f ./$(DEPDIR)/test_common.Po
+ -rm -f ./$(DEPDIR)/test_context.Po
+ -rm -f ./$(DEPDIR)/test_cred.Po
+ -rm -f ./$(DEPDIR)/test_kcred.Po
+ -rm -f ./$(DEPDIR)/test_names.Po
+ -rm -f ./$(DEPDIR)/test_ntlm.Po
+ -rm -f ./$(DEPDIR)/test_oid.Po
+ -rm -f krb5/$(DEPDIR)/8003.Plo
+ -rm -f krb5/$(DEPDIR)/accept_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/acquire_cred.Plo
+ -rm -f krb5/$(DEPDIR)/add_cred.Plo
+ -rm -f krb5/$(DEPDIR)/address_to_krb5addr.Plo
+ -rm -f krb5/$(DEPDIR)/aeap.Plo
+ -rm -f krb5/$(DEPDIR)/arcfour.Plo
+ -rm -f krb5/$(DEPDIR)/authorize_localname.Plo
+ -rm -f krb5/$(DEPDIR)/canonicalize_name.Plo
+ -rm -f krb5/$(DEPDIR)/ccache_name.Plo
+ -rm -f krb5/$(DEPDIR)/cfx.Plo
+ -rm -f krb5/$(DEPDIR)/compare_name.Plo
+ -rm -f krb5/$(DEPDIR)/compat.Plo
+ -rm -f krb5/$(DEPDIR)/context_time.Plo
+ -rm -f krb5/$(DEPDIR)/copy_ccache.Plo
+ -rm -f krb5/$(DEPDIR)/creds.Plo
+ -rm -f krb5/$(DEPDIR)/decapsulate.Plo
+ -rm -f krb5/$(DEPDIR)/delete_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/display_name.Plo
+ -rm -f krb5/$(DEPDIR)/display_status.Plo
+ -rm -f krb5/$(DEPDIR)/duplicate_name.Plo
+ -rm -f krb5/$(DEPDIR)/encapsulate.Plo
+ -rm -f krb5/$(DEPDIR)/export_name.Plo
+ -rm -f krb5/$(DEPDIR)/export_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/external.Plo
+ -rm -f krb5/$(DEPDIR)/get_mic.Plo
+ -rm -f krb5/$(DEPDIR)/import_name.Plo
+ -rm -f krb5/$(DEPDIR)/import_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/indicate_mechs.Plo
+ -rm -f krb5/$(DEPDIR)/init.Plo
+ -rm -f krb5/$(DEPDIR)/init_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_context.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_cred.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_cred_by_mech.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_cred_by_oid.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_mechs_for_name.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_names_for_mech.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_sec_context_by_oid.Plo
+ -rm -f krb5/$(DEPDIR)/pname_to_uid.Plo
+ -rm -f krb5/$(DEPDIR)/prf.Plo
+ -rm -f krb5/$(DEPDIR)/process_context_token.Plo
+ -rm -f krb5/$(DEPDIR)/release_buffer.Plo
+ -rm -f krb5/$(DEPDIR)/release_cred.Plo
+ -rm -f krb5/$(DEPDIR)/release_name.Plo
+ -rm -f krb5/$(DEPDIR)/sequence.Plo
+ -rm -f krb5/$(DEPDIR)/set_cred_option.Plo
+ -rm -f krb5/$(DEPDIR)/set_sec_context_option.Plo
+ -rm -f krb5/$(DEPDIR)/store_cred.Plo
+ -rm -f krb5/$(DEPDIR)/test_cfx.Po
+ -rm -f krb5/$(DEPDIR)/ticket_flags.Plo
+ -rm -f krb5/$(DEPDIR)/unwrap.Plo
+ -rm -f krb5/$(DEPDIR)/verify_mic.Plo
+ -rm -f krb5/$(DEPDIR)/wrap.Plo
+ -rm -f mech/$(DEPDIR)/context.Plo
+ -rm -f mech/$(DEPDIR)/doxygen.Plo
+ -rm -f mech/$(DEPDIR)/gss_accept_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_acquire_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_acquire_cred_ext.Plo
+ -rm -f mech/$(DEPDIR)/gss_acquire_cred_with_password.Plo
+ -rm -f mech/$(DEPDIR)/gss_add_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_add_cred_with_password.Plo
+ -rm -f mech/$(DEPDIR)/gss_add_oid_set_member.Plo
+ -rm -f mech/$(DEPDIR)/gss_aeap.Plo
+ -rm -f mech/$(DEPDIR)/gss_authorize_localname.Plo
+ -rm -f mech/$(DEPDIR)/gss_buffer_set.Plo
+ -rm -f mech/$(DEPDIR)/gss_canonicalize_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_compare_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_context_time.Plo
+ -rm -f mech/$(DEPDIR)/gss_create_empty_oid_set.Plo
+ -rm -f mech/$(DEPDIR)/gss_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_decapsulate_token.Plo
+ -rm -f mech/$(DEPDIR)/gss_delete_name_attribute.Plo
+ -rm -f mech/$(DEPDIR)/gss_delete_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_display_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_display_name_ext.Plo
+ -rm -f mech/$(DEPDIR)/gss_display_status.Plo
+ -rm -f mech/$(DEPDIR)/gss_duplicate_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_duplicate_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_encapsulate_token.Plo
+ -rm -f mech/$(DEPDIR)/gss_export_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_export_name_composite.Plo
+ -rm -f mech/$(DEPDIR)/gss_export_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_get_mic.Plo
+ -rm -f mech/$(DEPDIR)/gss_get_name_attribute.Plo
+ -rm -f mech/$(DEPDIR)/gss_import_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_import_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_indicate_mechs.Plo
+ -rm -f mech/$(DEPDIR)/gss_init_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_cred_by_mech.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_cred_by_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_mechs_for_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_names_for_mech.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_sec_context_by_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_krb5.Plo
+ -rm -f mech/$(DEPDIR)/gss_mech_switch.Plo
+ -rm -f mech/$(DEPDIR)/gss_mo.Plo
+ -rm -f mech/$(DEPDIR)/gss_names.Plo
+ -rm -f mech/$(DEPDIR)/gss_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_oid_equal.Plo
+ -rm -f mech/$(DEPDIR)/gss_oid_to_str.Plo
+ -rm -f mech/$(DEPDIR)/gss_pname_to_uid.Plo
+ -rm -f mech/$(DEPDIR)/gss_process_context_token.Plo
+ -rm -f mech/$(DEPDIR)/gss_pseudo_random.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_buffer.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_oid_set.Plo
+ -rm -f mech/$(DEPDIR)/gss_seal.Plo
+ -rm -f mech/$(DEPDIR)/gss_set_cred_option.Plo
+ -rm -f mech/$(DEPDIR)/gss_set_name_attribute.Plo
+ -rm -f mech/$(DEPDIR)/gss_set_sec_context_option.Plo
+ -rm -f mech/$(DEPDIR)/gss_sign.Plo
+ -rm -f mech/$(DEPDIR)/gss_store_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_test_oid_set_member.Plo
+ -rm -f mech/$(DEPDIR)/gss_unseal.Plo
+ -rm -f mech/$(DEPDIR)/gss_unwrap.Plo
+ -rm -f mech/$(DEPDIR)/gss_utils.Plo
+ -rm -f mech/$(DEPDIR)/gss_verify.Plo
+ -rm -f mech/$(DEPDIR)/gss_verify_mic.Plo
+ -rm -f mech/$(DEPDIR)/gss_wrap.Plo
+ -rm -f mech/$(DEPDIR)/gss_wrap_size_limit.Plo
+ -rm -f ntlm/$(DEPDIR)/accept_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/acquire_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/add_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/canonicalize_name.Plo
+ -rm -f ntlm/$(DEPDIR)/compare_name.Plo
+ -rm -f ntlm/$(DEPDIR)/context_time.Plo
+ -rm -f ntlm/$(DEPDIR)/creds.Plo
+ -rm -f ntlm/$(DEPDIR)/crypto.Plo
+ -rm -f ntlm/$(DEPDIR)/delete_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/display_name.Plo
+ -rm -f ntlm/$(DEPDIR)/display_status.Plo
+ -rm -f ntlm/$(DEPDIR)/duplicate_name.Plo
+ -rm -f ntlm/$(DEPDIR)/export_name.Plo
+ -rm -f ntlm/$(DEPDIR)/export_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/external.Plo
+ -rm -f ntlm/$(DEPDIR)/import_name.Plo
+ -rm -f ntlm/$(DEPDIR)/import_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/indicate_mechs.Plo
+ -rm -f ntlm/$(DEPDIR)/init_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_context.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_cred_by_mech.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_mechs_for_name.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_names_for_mech.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_sec_context_by_oid.Plo
+ -rm -f ntlm/$(DEPDIR)/iter_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/kdc.Plo
+ -rm -f ntlm/$(DEPDIR)/process_context_token.Plo
+ -rm -f ntlm/$(DEPDIR)/release_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/release_name.Plo
+ -rm -f spnego/$(DEPDIR)/accept_sec_context.Plo
+ -rm -f spnego/$(DEPDIR)/compat.Plo
+ -rm -f spnego/$(DEPDIR)/context_stubs.Plo
+ -rm -f spnego/$(DEPDIR)/cred_stubs.Plo
+ -rm -f spnego/$(DEPDIR)/external.Plo
+ -rm -f spnego/$(DEPDIR)/init_sec_context.Plo
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -2389,7 +2741,188 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR) krb5/$(DEPDIR) mech/$(DEPDIR) ntlm/$(DEPDIR) spnego/$(DEPDIR)
+ -rm -f ./$(DEPDIR)/asn1_ContextFlags.Plo
+ -rm -f ./$(DEPDIR)/asn1_GSSAPIContextToken.Plo
+ -rm -f ./$(DEPDIR)/asn1_MechType.Plo
+ -rm -f ./$(DEPDIR)/asn1_MechTypeList.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegHints.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegTokenInit.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegTokenInitWin.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegTokenResp.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegotiationToken.Plo
+ -rm -f ./$(DEPDIR)/asn1_NegotiationTokenWin.Plo
+ -rm -f ./$(DEPDIR)/gkrb5_err.Plo
+ -rm -f ./$(DEPDIR)/gss-commands.Po
+ -rm -f ./$(DEPDIR)/gsstool.Po
+ -rm -f ./$(DEPDIR)/test_acquire_cred.Po
+ -rm -f ./$(DEPDIR)/test_add_store_cred.Po
+ -rm -f ./$(DEPDIR)/test_common.Po
+ -rm -f ./$(DEPDIR)/test_context.Po
+ -rm -f ./$(DEPDIR)/test_cred.Po
+ -rm -f ./$(DEPDIR)/test_kcred.Po
+ -rm -f ./$(DEPDIR)/test_names.Po
+ -rm -f ./$(DEPDIR)/test_ntlm.Po
+ -rm -f ./$(DEPDIR)/test_oid.Po
+ -rm -f krb5/$(DEPDIR)/8003.Plo
+ -rm -f krb5/$(DEPDIR)/accept_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/acquire_cred.Plo
+ -rm -f krb5/$(DEPDIR)/add_cred.Plo
+ -rm -f krb5/$(DEPDIR)/address_to_krb5addr.Plo
+ -rm -f krb5/$(DEPDIR)/aeap.Plo
+ -rm -f krb5/$(DEPDIR)/arcfour.Plo
+ -rm -f krb5/$(DEPDIR)/authorize_localname.Plo
+ -rm -f krb5/$(DEPDIR)/canonicalize_name.Plo
+ -rm -f krb5/$(DEPDIR)/ccache_name.Plo
+ -rm -f krb5/$(DEPDIR)/cfx.Plo
+ -rm -f krb5/$(DEPDIR)/compare_name.Plo
+ -rm -f krb5/$(DEPDIR)/compat.Plo
+ -rm -f krb5/$(DEPDIR)/context_time.Plo
+ -rm -f krb5/$(DEPDIR)/copy_ccache.Plo
+ -rm -f krb5/$(DEPDIR)/creds.Plo
+ -rm -f krb5/$(DEPDIR)/decapsulate.Plo
+ -rm -f krb5/$(DEPDIR)/delete_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/display_name.Plo
+ -rm -f krb5/$(DEPDIR)/display_status.Plo
+ -rm -f krb5/$(DEPDIR)/duplicate_name.Plo
+ -rm -f krb5/$(DEPDIR)/encapsulate.Plo
+ -rm -f krb5/$(DEPDIR)/export_name.Plo
+ -rm -f krb5/$(DEPDIR)/export_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/external.Plo
+ -rm -f krb5/$(DEPDIR)/get_mic.Plo
+ -rm -f krb5/$(DEPDIR)/import_name.Plo
+ -rm -f krb5/$(DEPDIR)/import_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/indicate_mechs.Plo
+ -rm -f krb5/$(DEPDIR)/init.Plo
+ -rm -f krb5/$(DEPDIR)/init_sec_context.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_context.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_cred.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_cred_by_mech.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_cred_by_oid.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_mechs_for_name.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_names_for_mech.Plo
+ -rm -f krb5/$(DEPDIR)/inquire_sec_context_by_oid.Plo
+ -rm -f krb5/$(DEPDIR)/pname_to_uid.Plo
+ -rm -f krb5/$(DEPDIR)/prf.Plo
+ -rm -f krb5/$(DEPDIR)/process_context_token.Plo
+ -rm -f krb5/$(DEPDIR)/release_buffer.Plo
+ -rm -f krb5/$(DEPDIR)/release_cred.Plo
+ -rm -f krb5/$(DEPDIR)/release_name.Plo
+ -rm -f krb5/$(DEPDIR)/sequence.Plo
+ -rm -f krb5/$(DEPDIR)/set_cred_option.Plo
+ -rm -f krb5/$(DEPDIR)/set_sec_context_option.Plo
+ -rm -f krb5/$(DEPDIR)/store_cred.Plo
+ -rm -f krb5/$(DEPDIR)/test_cfx.Po
+ -rm -f krb5/$(DEPDIR)/ticket_flags.Plo
+ -rm -f krb5/$(DEPDIR)/unwrap.Plo
+ -rm -f krb5/$(DEPDIR)/verify_mic.Plo
+ -rm -f krb5/$(DEPDIR)/wrap.Plo
+ -rm -f mech/$(DEPDIR)/context.Plo
+ -rm -f mech/$(DEPDIR)/doxygen.Plo
+ -rm -f mech/$(DEPDIR)/gss_accept_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_acquire_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_acquire_cred_ext.Plo
+ -rm -f mech/$(DEPDIR)/gss_acquire_cred_with_password.Plo
+ -rm -f mech/$(DEPDIR)/gss_add_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_add_cred_with_password.Plo
+ -rm -f mech/$(DEPDIR)/gss_add_oid_set_member.Plo
+ -rm -f mech/$(DEPDIR)/gss_aeap.Plo
+ -rm -f mech/$(DEPDIR)/gss_authorize_localname.Plo
+ -rm -f mech/$(DEPDIR)/gss_buffer_set.Plo
+ -rm -f mech/$(DEPDIR)/gss_canonicalize_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_compare_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_context_time.Plo
+ -rm -f mech/$(DEPDIR)/gss_create_empty_oid_set.Plo
+ -rm -f mech/$(DEPDIR)/gss_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_decapsulate_token.Plo
+ -rm -f mech/$(DEPDIR)/gss_delete_name_attribute.Plo
+ -rm -f mech/$(DEPDIR)/gss_delete_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_display_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_display_name_ext.Plo
+ -rm -f mech/$(DEPDIR)/gss_display_status.Plo
+ -rm -f mech/$(DEPDIR)/gss_duplicate_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_duplicate_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_encapsulate_token.Plo
+ -rm -f mech/$(DEPDIR)/gss_export_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_export_name_composite.Plo
+ -rm -f mech/$(DEPDIR)/gss_export_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_get_mic.Plo
+ -rm -f mech/$(DEPDIR)/gss_get_name_attribute.Plo
+ -rm -f mech/$(DEPDIR)/gss_import_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_import_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_indicate_mechs.Plo
+ -rm -f mech/$(DEPDIR)/gss_init_sec_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_context.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_cred_by_mech.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_cred_by_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_mechs_for_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_names_for_mech.Plo
+ -rm -f mech/$(DEPDIR)/gss_inquire_sec_context_by_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_krb5.Plo
+ -rm -f mech/$(DEPDIR)/gss_mech_switch.Plo
+ -rm -f mech/$(DEPDIR)/gss_mo.Plo
+ -rm -f mech/$(DEPDIR)/gss_names.Plo
+ -rm -f mech/$(DEPDIR)/gss_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_oid_equal.Plo
+ -rm -f mech/$(DEPDIR)/gss_oid_to_str.Plo
+ -rm -f mech/$(DEPDIR)/gss_pname_to_uid.Plo
+ -rm -f mech/$(DEPDIR)/gss_process_context_token.Plo
+ -rm -f mech/$(DEPDIR)/gss_pseudo_random.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_buffer.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_name.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_oid.Plo
+ -rm -f mech/$(DEPDIR)/gss_release_oid_set.Plo
+ -rm -f mech/$(DEPDIR)/gss_seal.Plo
+ -rm -f mech/$(DEPDIR)/gss_set_cred_option.Plo
+ -rm -f mech/$(DEPDIR)/gss_set_name_attribute.Plo
+ -rm -f mech/$(DEPDIR)/gss_set_sec_context_option.Plo
+ -rm -f mech/$(DEPDIR)/gss_sign.Plo
+ -rm -f mech/$(DEPDIR)/gss_store_cred.Plo
+ -rm -f mech/$(DEPDIR)/gss_test_oid_set_member.Plo
+ -rm -f mech/$(DEPDIR)/gss_unseal.Plo
+ -rm -f mech/$(DEPDIR)/gss_unwrap.Plo
+ -rm -f mech/$(DEPDIR)/gss_utils.Plo
+ -rm -f mech/$(DEPDIR)/gss_verify.Plo
+ -rm -f mech/$(DEPDIR)/gss_verify_mic.Plo
+ -rm -f mech/$(DEPDIR)/gss_wrap.Plo
+ -rm -f mech/$(DEPDIR)/gss_wrap_size_limit.Plo
+ -rm -f ntlm/$(DEPDIR)/accept_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/acquire_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/add_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/canonicalize_name.Plo
+ -rm -f ntlm/$(DEPDIR)/compare_name.Plo
+ -rm -f ntlm/$(DEPDIR)/context_time.Plo
+ -rm -f ntlm/$(DEPDIR)/creds.Plo
+ -rm -f ntlm/$(DEPDIR)/crypto.Plo
+ -rm -f ntlm/$(DEPDIR)/delete_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/display_name.Plo
+ -rm -f ntlm/$(DEPDIR)/display_status.Plo
+ -rm -f ntlm/$(DEPDIR)/duplicate_name.Plo
+ -rm -f ntlm/$(DEPDIR)/export_name.Plo
+ -rm -f ntlm/$(DEPDIR)/export_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/external.Plo
+ -rm -f ntlm/$(DEPDIR)/import_name.Plo
+ -rm -f ntlm/$(DEPDIR)/import_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/indicate_mechs.Plo
+ -rm -f ntlm/$(DEPDIR)/init_sec_context.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_context.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_cred_by_mech.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_mechs_for_name.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_names_for_mech.Plo
+ -rm -f ntlm/$(DEPDIR)/inquire_sec_context_by_oid.Plo
+ -rm -f ntlm/$(DEPDIR)/iter_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/kdc.Plo
+ -rm -f ntlm/$(DEPDIR)/process_context_token.Plo
+ -rm -f ntlm/$(DEPDIR)/release_cred.Plo
+ -rm -f ntlm/$(DEPDIR)/release_name.Plo
+ -rm -f spnego/$(DEPDIR)/accept_sec_context.Plo
+ -rm -f spnego/$(DEPDIR)/compat.Plo
+ -rm -f spnego/$(DEPDIR)/context_stubs.Plo
+ -rm -f spnego/$(DEPDIR)/cred_stubs.Plo
+ -rm -f spnego/$(DEPDIR)/external.Plo
+ -rm -f spnego/$(DEPDIR)/init_sec_context.Plo
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -2414,10 +2947,10 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
uninstall-man: uninstall-man3 uninstall-man5
.MAKE: all check check-am install install-am install-data-am \
- install-strip uninstall-am
+ install-exec install-strip uninstall-am
-.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \
- check-am check-local clean clean-binPROGRAMS \
+.PHONY: CTAGS GTAGS TAGS all all-am all-local am--depfiles check \
+ check-TESTS check-am check-local clean clean-binPROGRAMS \
clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
ctags-am dist-hook distclean distclean-compile \
@@ -2521,11 +3054,20 @@ check-local::
test "$$failed" -eq 0 || exit 1; \
fi
+# It's useful for debugging to format generated sources. The default for all
+# clang-format styles is to sort includes, but in many cases in-tree we really
+# don't want to do that.
.x.c:
- @cmp -s $< $@ 2> /dev/null || cp $< $@
+ @if [ -z "$(CLANG_FORMAT)" ]; then \
+ cmp -s $< $@ 2> /dev/null || cp $< $@; \
+ else \
+ cp $< $@.tmp.c; \
+ $(CLANG_FORMAT) -style='{BasedOnStyle: Chromium, SortIncludes: false}' -i $@.tmp.c; \
+ cmp -s $@.tmp.c $@ 2> /dev/null || mv $@.tmp.c $@; \
+ fi
.hx.h:
- @cmp -s $< $@ 2> /dev/null || cp $< $@
+ @cmp -s $< $@ 2> /dev/null || cp $< $@;
#NROFF_MAN = nroff -man
.1.cat1:
$(NROFF_MAN) $< > $@
diff --git a/lib/gssapi/gss_acquire_cred.cat3 b/lib/gssapi/gss_acquire_cred.cat3
index bf95976ad1c3..256a904a3028 100644
--- a/lib/gssapi/gss_acquire_cred.cat3
+++ b/lib/gssapi/gss_acquire_cred.cat3
@@ -1,292 +1,291 @@
-
GSS_ACQUIRE_CRED(3) BSD Library Functions Manual GSS_ACQUIRE_CRED(3)
-NNAAMMEE
- ggssss__aacccceepptt__sseecc__ccoonntteexxtt, ggssss__aaccqquuiirree__ccrreedd, ggssss__aadddd__ccrreedd,
- ggssss__aadddd__ooiidd__sseett__mmeemmbbeerr, ggssss__ccaannoonniiccaalliizzee__nnaammee, ggssss__ccoommppaarree__nnaammee,
- ggssss__ccoonntteexxtt__ttiimmee, ggssss__ccrreeaattee__eemmppttyy__ooiidd__sseett, ggssss__ddeelleettee__sseecc__ccoonntteexxtt,
- ggssss__ddiissppllaayy__nnaammee, ggssss__ddiissppllaayy__ssttaattuuss, ggssss__dduupplliiccaattee__nnaammee,
- ggssss__eexxppoorrtt__nnaammee, ggssss__eexxppoorrtt__sseecc__ccoonntteexxtt, ggssss__ggeett__mmiicc, ggssss__iimmppoorrtt__nnaammee,
- ggssss__iimmppoorrtt__sseecc__ccoonntteexxtt, ggssss__iinnddiiccaattee__mmeecchhss, ggssss__iinniitt__sseecc__ccoonntteexxtt,
- ggssss__iinnqquuiirree__ccoonntteexxtt, ggssss__iinnqquuiirree__ccrreedd, ggssss__iinnqquuiirree__ccrreedd__bbyy__mmeecchh,
- ggssss__iinnqquuiirree__mmeecchhss__ffoorr__nnaammee, ggssss__iinnqquuiirree__nnaammeess__ffoorr__mmeecchh,
- ggssss__kkrrbb55__ccccaacchhee__nnaammee, ggssss__kkrrbb55__ccoommppaatt__ddeess33__mmiicc, ggssss__kkrrbb55__ccooppyy__ccccaacchhee,
- ggssss__kkrrbb55__iimmppoorrtt__ccrreedd ggsssskkrrbb55__eexxttrraacctt__aauutthhzz__ddaattaa__ffrroomm__sseecc__ccoonntteexxtt,
- ggsssskkrrbb55__rreeggiisstteerr__aacccceeppttoorr__iiddeennttiittyy, ggssss__kkrrbb55__iimmppoorrtt__ccccaacchhee,
- ggssss__kkrrbb55__ggeett__ttkktt__ffllaaggss, ggssss__pprroocceessss__ccoonntteexxtt__ttookkeenn, ggssss__rreelleeaassee__bbuuffffeerr,
- ggssss__rreelleeaassee__ccrreedd, ggssss__rreelleeaassee__nnaammee, ggssss__rreelleeaassee__ooiidd__sseett, ggssss__sseeaall,
- ggssss__ssiiggnn, ggssss__tteesstt__ooiidd__sseett__mmeemmbbeerr, ggssss__uunnsseeaall, ggssss__uunnwwrraapp, ggssss__vveerriiffyy,
- ggssss__vveerriiffyy__mmiicc, ggssss__wwrraapp, ggssss__wwrraapp__ssiizzee__lliimmiitt -- Generic Security Service
+NAME
+ gss_accept_sec_context, gss_acquire_cred, gss_add_cred,
+ gss_add_oid_set_member, gss_canonicalize_name, gss_compare_name,
+ gss_context_time, gss_create_empty_oid_set, gss_delete_sec_context,
+ gss_display_name, gss_display_status, gss_duplicate_name,
+ gss_export_name, gss_export_sec_context, gss_get_mic, gss_import_name,
+ gss_import_sec_context, gss_indicate_mechs, gss_init_sec_context,
+ gss_inquire_context, gss_inquire_cred, gss_inquire_cred_by_mech,
+ gss_inquire_mechs_for_name, gss_inquire_names_for_mech,
+ gss_krb5_ccache_name, gss_krb5_compat_des3_mic, gss_krb5_copy_ccache,
+ gss_krb5_import_cred gsskrb5_extract_authz_data_from_sec_context,
+ gsskrb5_register_acceptor_identity, gss_krb5_import_ccache,
+ gss_krb5_get_tkt_flags, gss_process_context_token, gss_release_buffer,
+ gss_release_cred, gss_release_name, gss_release_oid_set, gss_seal,
+ gss_sign, gss_test_oid_set_member, gss_unseal, gss_unwrap, gss_verify,
+ gss_verify_mic, gss_wrap, gss_wrap_size_limit -- Generic Security Service
Application Program Interface library
-LLIIBBRRAARRYY
+LIBRARY
GSS-API library (libgssapi, -lgssapi)
-SSYYNNOOPPSSIISS
- ##iinncclluuddee <<ggssssaappii..hh>>
-
- _O_M___u_i_n_t_3_2
- ggssss__aacccceepptt__sseecc__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_t_x___i_d___t _* _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _g_s_s___c_o_n_s_t___c_r_e_d___i_d___t _a_c_c_e_p_t_o_r___c_r_e_d___h_a_n_d_l_e,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___t_o_k_e_n___b_u_f_f_e_r,
- _c_o_n_s_t _g_s_s___c_h_a_n_n_e_l___b_i_n_d_i_n_g_s___t _i_n_p_u_t___c_h_a_n___b_i_n_d_i_n_g_s,
- _g_s_s___n_a_m_e___t _* _s_r_c___n_a_m_e, _g_s_s___O_I_D _* _m_e_c_h___t_y_p_e,
- _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___t_o_k_e_n, _O_M___u_i_n_t_3_2 _* _r_e_t___f_l_a_g_s,
- _O_M___u_i_n_t_3_2 _* _t_i_m_e___r_e_c, _g_s_s___c_r_e_d___i_d___t _* _d_e_l_e_g_a_t_e_d___c_r_e_d___h_a_n_d_l_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__aaccqquuiirree__ccrreedd(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___n_a_m_e___t _d_e_s_i_r_e_d___n_a_m_e,
- _O_M___u_i_n_t_3_2 _t_i_m_e___r_e_q, _c_o_n_s_t _g_s_s___O_I_D___s_e_t _d_e_s_i_r_e_d___m_e_c_h_s,
- _g_s_s___c_r_e_d___u_s_a_g_e___t _c_r_e_d___u_s_a_g_e, _g_s_s___c_r_e_d___i_d___t _* _o_u_t_p_u_t___c_r_e_d___h_a_n_d_l_e,
- _g_s_s___O_I_D___s_e_t _* _a_c_t_u_a_l___m_e_c_h_s, _O_M___u_i_n_t_3_2 _* _t_i_m_e___r_e_c);
-
- _O_M___u_i_n_t_3_2
- ggssss__aadddd__ccrreedd(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_r_e_d___i_d___t _i_n_p_u_t___c_r_e_d___h_a_n_d_l_e, _g_s_s___c_o_n_s_t___n_a_m_e___t _d_e_s_i_r_e_d___n_a_m_e,
- _c_o_n_s_t _g_s_s___O_I_D _d_e_s_i_r_e_d___m_e_c_h, _g_s_s___c_r_e_d___u_s_a_g_e___t _c_r_e_d___u_s_a_g_e,
- _O_M___u_i_n_t_3_2 _i_n_i_t_i_a_t_o_r___t_i_m_e___r_e_q, _O_M___u_i_n_t_3_2 _a_c_c_e_p_t_o_r___t_i_m_e___r_e_q,
- _g_s_s___c_r_e_d___i_d___t _*_o_u_t_p_u_t___c_r_e_d___h_a_n_d_l_e, _g_s_s___O_I_D___s_e_t _*_a_c_t_u_a_l___m_e_c_h_s,
- _O_M___u_i_n_t_3_2 _*_i_n_i_t_i_a_t_o_r___t_i_m_e___r_e_c, _O_M___u_i_n_t_3_2 _*_a_c_c_e_p_t_o_r___t_i_m_e___r_e_c);
-
- _O_M___u_i_n_t_3_2
- ggssss__aadddd__ooiidd__sseett__mmeemmbbeerr(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _c_o_n_s_t _g_s_s___O_I_D _m_e_m_b_e_r___o_i_d, _g_s_s___O_I_D___s_e_t _* _o_i_d___s_e_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__ccaannoonniiccaalliizzee__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___n_a_m_e___t _i_n_p_u_t___n_a_m_e, _c_o_n_s_t _g_s_s___O_I_D _m_e_c_h___t_y_p_e,
- _g_s_s___n_a_m_e___t _* _o_u_t_p_u_t___n_a_m_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__ccoommppaarree__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___n_a_m_e___t _n_a_m_e_1,
- _g_s_s___c_o_n_s_t___n_a_m_e___t _n_a_m_e_2, _i_n_t _* _n_a_m_e___e_q_u_a_l);
-
- _O_M___u_i_n_t_3_2
- ggssss__ccoonntteexxtt__ttiimmee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _O_M___u_i_n_t_3_2 _* _t_i_m_e___r_e_c);
-
- _O_M___u_i_n_t_3_2
- ggssss__ccrreeaattee__eemmppttyy__ooiidd__sseett(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___O_I_D___s_e_t _* _o_i_d___s_e_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__ddeelleettee__sseecc__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_t_x___i_d___t _* _c_o_n_t_e_x_t___h_a_n_d_l_e, _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___t_o_k_e_n);
-
- _O_M___u_i_n_t_3_2
- ggssss__ddiissppllaayy__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___n_a_m_e___t _i_n_p_u_t___n_a_m_e,
- _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___n_a_m_e___b_u_f_f_e_r, _g_s_s___O_I_D _* _o_u_t_p_u_t___n_a_m_e___t_y_p_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__ddiissppllaayy__ssttaattuuss(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r___s_t_a_t_u_s, _O_M___u_i_n_t_3_2 _s_t_a_t_u_s___v_a_l_u_e,
- _i_n_t _s_t_a_t_u_s___t_y_p_e, _c_o_n_s_t _g_s_s___O_I_D _m_e_c_h___t_y_p_e, _O_M___u_i_n_t_3_2 _*_m_e_s_s_a_g_e___c_o_n_t_e_x_t,
- _g_s_s___b_u_f_f_e_r___t _s_t_a_t_u_s___s_t_r_i_n_g);
-
- _O_M___u_i_n_t_3_2
- ggssss__dduupplliiccaattee__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___n_a_m_e___t _s_r_c___n_a_m_e,
- _g_s_s___n_a_m_e___t _* _d_e_s_t___n_a_m_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__eexxppoorrtt__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___n_a_m_e___t _i_n_p_u_t___n_a_m_e,
- _g_s_s___b_u_f_f_e_r___t _e_x_p_o_r_t_e_d___n_a_m_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__eexxppoorrtt__sseecc__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_t_x___i_d___t _* _c_o_n_t_e_x_t___h_a_n_d_l_e, _g_s_s___b_u_f_f_e_r___t _i_n_t_e_r_p_r_o_c_e_s_s___t_o_k_e_n);
-
- _O_M___u_i_n_t_3_2
- ggssss__ggeett__mmiicc(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _g_s_s___q_o_p___t _q_o_p___r_e_q, _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _m_e_s_s_a_g_e___b_u_f_f_e_r,
- _g_s_s___b_u_f_f_e_r___t _m_e_s_s_a_g_e___t_o_k_e_n);
-
- _O_M___u_i_n_t_3_2
- ggssss__iimmppoorrtt__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___n_a_m_e___b_u_f_f_e_r, _c_o_n_s_t _g_s_s___O_I_D _i_n_p_u_t___n_a_m_e___t_y_p_e,
- _g_s_s___n_a_m_e___t _* _o_u_t_p_u_t___n_a_m_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__iimmppoorrtt__sseecc__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _i_n_t_e_r_p_r_o_c_e_s_s___t_o_k_e_n,
- _g_s_s___c_t_x___i_d___t _* _c_o_n_t_e_x_t___h_a_n_d_l_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinnddiiccaattee__mmeecchhss(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___O_I_D___s_e_t _* _m_e_c_h___s_e_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinniitt__sseecc__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_r_e_d___i_d___t _i_n_i_t_i_a_t_o_r___c_r_e_d___h_a_n_d_l_e,
- _g_s_s___c_t_x___i_d___t _* _c_o_n_t_e_x_t___h_a_n_d_l_e, _g_s_s___c_o_n_s_t___n_a_m_e___t _t_a_r_g_e_t___n_a_m_e,
- _c_o_n_s_t _g_s_s___O_I_D _m_e_c_h___t_y_p_e, _O_M___u_i_n_t_3_2 _r_e_q___f_l_a_g_s, _O_M___u_i_n_t_3_2 _t_i_m_e___r_e_q,
- _c_o_n_s_t _g_s_s___c_h_a_n_n_e_l___b_i_n_d_i_n_g_s___t _i_n_p_u_t___c_h_a_n___b_i_n_d_i_n_g_s,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___t_o_k_e_n, _g_s_s___O_I_D _* _a_c_t_u_a_l___m_e_c_h___t_y_p_e,
- _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___t_o_k_e_n, _O_M___u_i_n_t_3_2 _* _r_e_t___f_l_a_g_s,
- _O_M___u_i_n_t_3_2 _* _t_i_m_e___r_e_c);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinnqquuiirree__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _g_s_s___n_a_m_e___t _* _s_r_c___n_a_m_e,
- _g_s_s___n_a_m_e___t _* _t_a_r_g___n_a_m_e, _O_M___u_i_n_t_3_2 _* _l_i_f_e_t_i_m_e___r_e_c,
- _g_s_s___O_I_D _* _m_e_c_h___t_y_p_e, _O_M___u_i_n_t_3_2 _* _c_t_x___f_l_a_g_s, _i_n_t _* _l_o_c_a_l_l_y___i_n_i_t_i_a_t_e_d,
- _i_n_t _* _o_p_e_n___c_o_n_t_e_x_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinnqquuiirree__ccrreedd(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_r_e_d___i_d___t _c_r_e_d___h_a_n_d_l_e, _g_s_s___n_a_m_e___t _* _n_a_m_e,
- _O_M___u_i_n_t_3_2 _* _l_i_f_e_t_i_m_e, _g_s_s___c_r_e_d___u_s_a_g_e___t _* _c_r_e_d___u_s_a_g_e,
- _g_s_s___O_I_D___s_e_t _* _m_e_c_h_a_n_i_s_m_s);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinnqquuiirree__ccrreedd__bbyy__mmeecchh(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_r_e_d___i_d___t _c_r_e_d___h_a_n_d_l_e, _c_o_n_s_t _g_s_s___O_I_D _m_e_c_h___t_y_p_e,
- _g_s_s___n_a_m_e___t _* _n_a_m_e, _O_M___u_i_n_t_3_2 _* _i_n_i_t_i_a_t_o_r___l_i_f_e_t_i_m_e,
- _O_M___u_i_n_t_3_2 _* _a_c_c_e_p_t_o_r___l_i_f_e_t_i_m_e, _g_s_s___c_r_e_d___u_s_a_g_e___t _* _c_r_e_d___u_s_a_g_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinnqquuiirree__mmeecchhss__ffoorr__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___n_a_m_e___t _i_n_p_u_t___n_a_m_e, _g_s_s___O_I_D___s_e_t _* _m_e_c_h___t_y_p_e_s);
-
- _O_M___u_i_n_t_3_2
- ggssss__iinnqquuiirree__nnaammeess__ffoorr__mmeecchh(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _c_o_n_s_t _g_s_s___O_I_D _m_e_c_h_a_n_i_s_m, _g_s_s___O_I_D___s_e_t _* _n_a_m_e___t_y_p_e_s);
-
- _O_M___u_i_n_t_3_2
- ggssss__kkrrbb55__ccccaacchhee__nnaammee(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r, _c_o_n_s_t _c_h_a_r _*_n_a_m_e,
- _c_o_n_s_t _c_h_a_r _*_*_o_l_d___n_a_m_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__kkrrbb55__ccooppyy__ccccaacchhee(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r, _g_s_s___c_r_e_d___i_d___t _c_r_e_d,
- _k_r_b_5___c_c_a_c_h_e _o_u_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__kkrrbb55__iimmppoorrtt__ccrreedd(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r___s_t_a_t_u_s, _k_r_b_5___c_c_a_c_h_e _i_d,
- _k_r_b_5___p_r_i_n_c_i_p_a_l _k_e_y_t_a_b___p_r_i_n_c_i_p_a_l, _k_r_b_5___k_e_y_t_a_b _k_e_y_t_a_b,
- _g_s_s___c_r_e_d___i_d___t _*_c_r_e_d);
-
- _O_M___u_i_n_t_3_2
- ggssss__kkrrbb55__ccoommppaatt__ddeess33__mmiicc(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _i_n_t _o_n_o_f_f);
-
- _O_M___u_i_n_t_3_2
- ggsssskkrrbb55__eexxttrraacctt__aauutthhzz__ddaattaa__ffrroomm__sseecc__ccoonntteexxtt(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _i_n_t _a_d___t_y_p_e, _g_s_s___b_u_f_f_e_r___t _a_d___d_a_t_a);
-
- _O_M___u_i_n_t_3_2
- ggsssskkrrbb55__rreeggiisstteerr__aacccceeppttoorr__iiddeennttiittyy(_c_o_n_s_t _c_h_a_r _*_i_d_e_n_t_i_t_y);
-
- _O_M___u_i_n_t_3_2
- ggssss__kkrrbb55__iimmppoorrtt__ccaacchhee(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r, _k_r_b_5___c_c_a_c_h_e _i_d,
- _k_r_b_5___k_e_y_t_a_b _k_e_y_t_a_b, _g_s_s___c_r_e_d___i_d___t _*_c_r_e_d);
-
- _O_M___u_i_n_t_3_2
- ggssss__kkrrbb55__ggeett__ttkktt__ffllaaggss(_O_M___u_i_n_t_3_2 _*_m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _O_M___u_i_n_t_3_2 _*_t_k_t___f_l_a_g_s);
-
- _O_M___u_i_n_t_3_2
- ggssss__pprroocceessss__ccoonntteexxtt__ttookkeenn(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _t_o_k_e_n___b_u_f_f_e_r);
-
- _O_M___u_i_n_t_3_2
- ggssss__rreelleeaassee__bbuuffffeerr(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___b_u_f_f_e_r___t _b_u_f_f_e_r);
-
- _O_M___u_i_n_t_3_2
- ggssss__rreelleeaassee__ccrreedd(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_r_e_d___i_d___t _* _c_r_e_d___h_a_n_d_l_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__rreelleeaassee__nnaammee(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___n_a_m_e___t _* _i_n_p_u_t___n_a_m_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__rreelleeaassee__ooiidd__sseett(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___O_I_D___s_e_t _* _s_e_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__sseeaall(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _i_n_t _c_o_n_f___r_e_q___f_l_a_g, _i_n_t _q_o_p___r_e_q, _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r,
- _i_n_t _* _c_o_n_f___s_t_a_t_e, _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r);
-
- _O_M___u_i_n_t_3_2
- ggssss__ssiiggnn(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _i_n_t _q_o_p___r_e_q, _g_s_s___b_u_f_f_e_r___t _m_e_s_s_a_g_e___b_u_f_f_e_r,
- _g_s_s___b_u_f_f_e_r___t _m_e_s_s_a_g_e___t_o_k_e_n);
-
- _O_M___u_i_n_t_3_2
- ggssss__tteesstt__ooiidd__sseett__mmeemmbbeerr(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _c_o_n_s_t _g_s_s___O_I_D _m_e_m_b_e_r,
- _c_o_n_s_t _g_s_s___O_I_D___s_e_t _s_e_t, _i_n_t _* _p_r_e_s_e_n_t);
-
- _O_M___u_i_n_t_3_2
- ggssss__uunnsseeaall(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r,
- _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r, _i_n_t _* _c_o_n_f___s_t_a_t_e,
- _i_n_t _* _q_o_p___s_t_a_t_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__uunnwwrraapp(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r,
- _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r, _i_n_t _* _c_o_n_f___s_t_a_t_e,
- _g_s_s___q_o_p___t _* _q_o_p___s_t_a_t_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__vveerriiffyy(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _g_s_s___b_u_f_f_e_r___t _m_e_s_s_a_g_e___b_u_f_f_e_r, _g_s_s___b_u_f_f_e_r___t _t_o_k_e_n___b_u_f_f_e_r,
- _i_n_t _* _q_o_p___s_t_a_t_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__vveerriiffyy__mmiicc(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _m_e_s_s_a_g_e___b_u_f_f_e_r,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _t_o_k_e_n___b_u_f_f_e_r, _g_s_s___q_o_p___t _* _q_o_p___s_t_a_t_e);
-
- _O_M___u_i_n_t_3_2
- ggssss__wwrraapp(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s, _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e,
- _i_n_t _c_o_n_f___r_e_q___f_l_a_g, _g_s_s___q_o_p___t _q_o_p___r_e_q,
- _c_o_n_s_t _g_s_s___b_u_f_f_e_r___t _i_n_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r, _i_n_t _* _c_o_n_f___s_t_a_t_e,
- _g_s_s___b_u_f_f_e_r___t _o_u_t_p_u_t___m_e_s_s_a_g_e___b_u_f_f_e_r);
-
- _O_M___u_i_n_t_3_2
- ggssss__wwrraapp__ssiizzee__lliimmiitt(_O_M___u_i_n_t_3_2 _* _m_i_n_o_r___s_t_a_t_u_s,
- _g_s_s___c_o_n_s_t___c_t_x___i_d___t _c_o_n_t_e_x_t___h_a_n_d_l_e, _i_n_t _c_o_n_f___r_e_q___f_l_a_g,
- _g_s_s___q_o_p___t _q_o_p___r_e_q, _O_M___u_i_n_t_3_2 _r_e_q___o_u_t_p_u_t___s_i_z_e,
- _O_M___u_i_n_t_3_2 _* _m_a_x___i_n_p_u_t___s_i_z_e);
-
-DDEESSCCRRIIPPTTIIOONN
+SYNOPSIS
+ #include <gssapi.h>
+
+ OM_uint32
+ gss_accept_sec_context(OM_uint32 * minor_status,
+ gss_ctx_id_t * context_handle,
+ gss_const_cred_id_t acceptor_cred_handle,
+ const gss_buffer_t input_token_buffer,
+ const gss_channel_bindings_t input_chan_bindings,
+ gss_name_t * src_name, gss_OID * mech_type,
+ gss_buffer_t output_token, OM_uint32 * ret_flags,
+ OM_uint32 * time_rec, gss_cred_id_t * delegated_cred_handle);
+
+ OM_uint32
+ gss_acquire_cred(OM_uint32 * minor_status, gss_const_name_t desired_name,
+ OM_uint32 time_req, const gss_OID_set desired_mechs,
+ gss_cred_usage_t cred_usage, gss_cred_id_t * output_cred_handle,
+ gss_OID_set * actual_mechs, OM_uint32 * time_rec);
+
+ OM_uint32
+ gss_add_cred(OM_uint32 *minor_status,
+ gss_const_cred_id_t input_cred_handle, gss_const_name_t desired_name,
+ const gss_OID desired_mech, gss_cred_usage_t cred_usage,
+ OM_uint32 initiator_time_req, OM_uint32 acceptor_time_req,
+ gss_cred_id_t *output_cred_handle, gss_OID_set *actual_mechs,
+ OM_uint32 *initiator_time_rec, OM_uint32 *acceptor_time_rec);
+
+ OM_uint32
+ gss_add_oid_set_member(OM_uint32 * minor_status,
+ const gss_OID member_oid, gss_OID_set * oid_set);
+
+ OM_uint32
+ gss_canonicalize_name(OM_uint32 * minor_status,
+ gss_const_name_t input_name, const gss_OID mech_type,
+ gss_name_t * output_name);
+
+ OM_uint32
+ gss_compare_name(OM_uint32 * minor_status, gss_const_name_t name1,
+ gss_const_name_t name2, int * name_equal);
+
+ OM_uint32
+ gss_context_time(OM_uint32 * minor_status,
+ gss_const_ctx_id_t context_handle, OM_uint32 * time_rec);
+
+ OM_uint32
+ gss_create_empty_oid_set(OM_uint32 * minor_status,
+ gss_OID_set * oid_set);
+
+ OM_uint32
+ gss_delete_sec_context(OM_uint32 * minor_status,
+ gss_ctx_id_t * context_handle, gss_buffer_t output_token);
+
+ OM_uint32
+ gss_display_name(OM_uint32 * minor_status, gss_const_name_t input_name,
+ gss_buffer_t output_name_buffer, gss_OID * output_name_type);
+
+ OM_uint32
+ gss_display_status(OM_uint32 *minor_status, OM_uint32 status_value,
+ int status_type, const gss_OID mech_type, OM_uint32 *message_context,
+ gss_buffer_t status_string);
+
+ OM_uint32
+ gss_duplicate_name(OM_uint32 * minor_status, gss_const_name_t src_name,
+ gss_name_t * dest_name);
+
+ OM_uint32
+ gss_export_name(OM_uint32 * minor_status, gss_const_name_t input_name,
+ gss_buffer_t exported_name);
+
+ OM_uint32
+ gss_export_sec_context(OM_uint32 * minor_status,
+ gss_ctx_id_t * context_handle, gss_buffer_t interprocess_token);
+
+ OM_uint32
+ gss_get_mic(OM_uint32 * minor_status, gss_const_ctx_id_t context_handle,
+ gss_qop_t qop_req, const gss_buffer_t message_buffer,
+ gss_buffer_t message_token);
+
+ OM_uint32
+ gss_import_name(OM_uint32 * minor_status,
+ const gss_buffer_t input_name_buffer, const gss_OID input_name_type,
+ gss_name_t * output_name);
+
+ OM_uint32
+ gss_import_sec_context(OM_uint32 * minor_status,
+ const gss_buffer_t interprocess_token,
+ gss_ctx_id_t * context_handle);
+
+ OM_uint32
+ gss_indicate_mechs(OM_uint32 * minor_status, gss_OID_set * mech_set);
+
+ OM_uint32
+ gss_init_sec_context(OM_uint32 * minor_status,
+ gss_const_cred_id_t initiator_cred_handle,
+ gss_ctx_id_t * context_handle, gss_const_name_t target_name,
+ const gss_OID mech_type, OM_uint32 req_flags, OM_uint32 time_req,
+ const gss_channel_bindings_t input_chan_bindings,
+ const gss_buffer_t input_token, gss_OID * actual_mech_type,
+ gss_buffer_t output_token, OM_uint32 * ret_flags,
+ OM_uint32 * time_rec);
+
+ OM_uint32
+ gss_inquire_context(OM_uint32 * minor_status,
+ gss_const_ctx_id_t context_handle, gss_name_t * src_name,
+ gss_name_t * targ_name, OM_uint32 * lifetime_rec,
+ gss_OID * mech_type, OM_uint32 * ctx_flags, int * locally_initiated,
+ int * open_context);
+
+ OM_uint32
+ gss_inquire_cred(OM_uint32 * minor_status,
+ gss_const_cred_id_t cred_handle, gss_name_t * name,
+ OM_uint32 * lifetime, gss_cred_usage_t * cred_usage,
+ gss_OID_set * mechanisms);
+
+ OM_uint32
+ gss_inquire_cred_by_mech(OM_uint32 * minor_status,
+ gss_const_cred_id_t cred_handle, const gss_OID mech_type,
+ gss_name_t * name, OM_uint32 * initiator_lifetime,
+ OM_uint32 * acceptor_lifetime, gss_cred_usage_t * cred_usage);
+
+ OM_uint32
+ gss_inquire_mechs_for_name(OM_uint32 * minor_status,
+ gss_const_name_t input_name, gss_OID_set * mech_types);
+
+ OM_uint32
+ gss_inquire_names_for_mech(OM_uint32 * minor_status,
+ const gss_OID mechanism, gss_OID_set * name_types);
+
+ OM_uint32
+ gss_krb5_ccache_name(OM_uint32 *minor, const char *name,
+ const char **old_name);
+
+ OM_uint32
+ gss_krb5_copy_ccache(OM_uint32 *minor, gss_cred_id_t cred,
+ krb5_ccache out);
+
+ OM_uint32
+ gss_krb5_import_cred(OM_uint32 *minor_status, krb5_ccache id,
+ krb5_principal keytab_principal, krb5_keytab keytab,
+ gss_cred_id_t *cred);
+
+ OM_uint32
+ gss_krb5_compat_des3_mic(OM_uint32 * minor_status,
+ gss_ctx_id_t context_handle, int onoff);
+
+ OM_uint32
+ gsskrb5_extract_authz_data_from_sec_context(OM_uint32 *minor_status,
+ gss_ctx_id_t context_handle, int ad_type, gss_buffer_t ad_data);
+
+ OM_uint32
+ gsskrb5_register_acceptor_identity(const char *identity);
+
+ OM_uint32
+ gss_krb5_import_cache(OM_uint32 *minor, krb5_ccache id,
+ krb5_keytab keytab, gss_cred_id_t *cred);
+
+ OM_uint32
+ gss_krb5_get_tkt_flags(OM_uint32 *minor_status,
+ gss_ctx_id_t context_handle, OM_uint32 *tkt_flags);
+
+ OM_uint32
+ gss_process_context_token(OM_uint32 * minor_status,
+ gss_const_ctx_id_t context_handle, const gss_buffer_t token_buffer);
+
+ OM_uint32
+ gss_release_buffer(OM_uint32 * minor_status, gss_buffer_t buffer);
+
+ OM_uint32
+ gss_release_cred(OM_uint32 * minor_status, gss_cred_id_t * cred_handle);
+
+ OM_uint32
+ gss_release_name(OM_uint32 * minor_status, gss_name_t * input_name);
+
+ OM_uint32
+ gss_release_oid_set(OM_uint32 * minor_status, gss_OID_set * set);
+
+ OM_uint32
+ gss_seal(OM_uint32 * minor_status, gss_ctx_id_t context_handle,
+ int conf_req_flag, int qop_req, gss_buffer_t input_message_buffer,
+ int * conf_state, gss_buffer_t output_message_buffer);
+
+ OM_uint32
+ gss_sign(OM_uint32 * minor_status, gss_ctx_id_t context_handle,
+ int qop_req, gss_buffer_t message_buffer,
+ gss_buffer_t message_token);
+
+ OM_uint32
+ gss_test_oid_set_member(OM_uint32 * minor_status, const gss_OID member,
+ const gss_OID_set set, int * present);
+
+ OM_uint32
+ gss_unseal(OM_uint32 * minor_status, gss_ctx_id_t context_handle,
+ gss_buffer_t input_message_buffer,
+ gss_buffer_t output_message_buffer, int * conf_state,
+ int * qop_state);
+
+ OM_uint32
+ gss_unwrap(OM_uint32 * minor_status, gss_const_ctx_id_t context_handle,
+ const gss_buffer_t input_message_buffer,
+ gss_buffer_t output_message_buffer, int * conf_state,
+ gss_qop_t * qop_state);
+
+ OM_uint32
+ gss_verify(OM_uint32 * minor_status, gss_ctx_id_t context_handle,
+ gss_buffer_t message_buffer, gss_buffer_t token_buffer,
+ int * qop_state);
+
+ OM_uint32
+ gss_verify_mic(OM_uint32 * minor_status,
+ gss_const_ctx_id_t context_handle, const gss_buffer_t message_buffer,
+ const gss_buffer_t token_buffer, gss_qop_t * qop_state);
+
+ OM_uint32
+ gss_wrap(OM_uint32 * minor_status, gss_const_ctx_id_t context_handle,
+ int conf_req_flag, gss_qop_t qop_req,
+ const gss_buffer_t input_message_buffer, int * conf_state,
+ gss_buffer_t output_message_buffer);
+
+ OM_uint32
+ gss_wrap_size_limit(OM_uint32 * minor_status,
+ gss_const_ctx_id_t context_handle, int conf_req_flag,
+ gss_qop_t qop_req, OM_uint32 req_output_size,
+ OM_uint32 * max_input_size);
+
+DESCRIPTION
Generic Security Service API (GSS-API) version 2, and its C binding, is
described in RFC2743 and RFC2744. Version 1 (deprecated) of the C bind-
ing is described in RFC1509.
Heimdals GSS-API implementation supports the following mechanisms
- ++oo GSS_KRB5_MECHANISM
+ +o GSS_KRB5_MECHANISM
- ++oo GSS_SPNEGO_MECHANISM
+ +o GSS_SPNEGO_MECHANISM
GSS-API have generic name types that all mechanism are supposed to imple-
ment (if possible):
- ++oo GSS_C_NT_USER_NAME
+ +o GSS_C_NT_USER_NAME
- ++oo GSS_C_NT_MACHINE_UID_NAME
+ +o GSS_C_NT_MACHINE_UID_NAME
- ++oo GSS_C_NT_STRING_UID_NAME
+ +o GSS_C_NT_STRING_UID_NAME
- ++oo GSS_C_NT_HOSTBASED_SERVICE
+ +o GSS_C_NT_HOSTBASED_SERVICE
- ++oo GSS_C_NT_ANONYMOUS
+ +o GSS_C_NT_ANONYMOUS
- ++oo GSS_C_NT_EXPORT_NAME
+ +o GSS_C_NT_EXPORT_NAME
GSS-API implementations that supports Kerberos 5 have some additional
name types:
- ++oo GSS_KRB5_NT_PRINCIPAL_NAME
+ +o GSS_KRB5_NT_PRINCIPAL_NAME
- ++oo GSS_KRB5_NT_USER_NAME
+ +o GSS_KRB5_NT_USER_NAME
- ++oo GSS_KRB5_NT_MACHINE_UID_NAME
+ +o GSS_KRB5_NT_MACHINE_UID_NAME
- ++oo GSS_KRB5_NT_STRING_UID_NAME
+ +o GSS_KRB5_NT_STRING_UID_NAME
In GSS-API, names have two forms, internal names and contiguous string
names.
- ++oo Internal name and mechanism name
+ +o Internal name and mechanism name
Internal names are implementation specific representation of a GSS-
API name. Mechanism names special form of internal names corresponds
@@ -294,13 +293,13 @@ DDEESSCCRRIIPPTTIIOONN
In GSS-API an internal name is stored in a gss_name_t.
- ++oo Contiguous string name and exported name
+ +o Contiguous string name and exported name
Contiguous string names are gssapi names stored in a OCTET STRING
that together with a name type identifier (OID) uniquely specifies a
- gss-name. A special form of the contiguous string name is the
- exported name that have a OID embedded in the string to make it
- unique. Exported name have the nametype GSS_C_NT_EXPORT_NAME.
+ gss-name. A special form of the contiguous string name is the ex-
+ ported name that have a OID embedded in the string to make it unique.
+ Exported name have the nametype GSS_C_NT_EXPORT_NAME.
In GSS-API an contiguous string name is stored in a gss_buffer_t.
@@ -308,99 +307,99 @@ DDEESSCCRRIIPPTTIIOONN
mechanism itself and compatible between different GSS-API implementa-
tions.
-AACCCCEESSSS CCOONNTTRROOLL
- There are two ways of comparing GSS-API names, either comparing two
- internal names with each other or two contiguous string names with either
+ACCESS CONTROL
+ There are two ways of comparing GSS-API names, either comparing two in-
+ ternal names with each other or two contiguous string names with either
other.
To compare two internal names with each other, import (if needed) the
- names with ggssss__iimmppoorrtt__nnaammee() into the GSS-API implementation and the com-
- pare the imported name with ggssss__ccoommppaarree__nnaammee().
+ names with gss_import_name() into the GSS-API implementation and the com-
+ pare the imported name with gss_compare_name().
Importing names can be slow, so when its possible to store exported names
in the access control list, comparing contiguous string name might be
better.
when comparing contiguous string name, first export them into a
- GSS_C_NT_EXPORT_NAME name with ggssss__eexxppoorrtt__nnaammee() and then compare with
+ GSS_C_NT_EXPORT_NAME name with gss_export_name() and then compare with
memcmp(3).
Note that there are might be a difference between the two methods of com-
- paring names. The first (using ggssss__ccoommppaarree__nnaammee()) will compare to
+ paring names. The first (using gss_compare_name()) will compare to
(unauthenticated) names are the same. The second will compare if a mech-
anism will authenticate them as the same principal.
- For example, if ggssss__iimmppoorrtt__nnaammee() name was used with GSS_C_NO_OID the
- default syntax is used for all mechanism the GSS-API implementation sup-
+ For example, if gss_import_name() name was used with GSS_C_NO_OID the de-
+ fault syntax is used for all mechanism the GSS-API implementation sup-
ports. When compare the imported name of GSS_C_NO_OID it may match sev-
eral mechanism names (MN).
- The resulting name from ggssss__ddiissppllaayy__nnaammee() must not be used for acccess
+ The resulting name from gss_display_name() must not be used for acccess
control.
-FFUUNNCCTTIIOONNSS
- ggssss__ddiissppllaayy__nnaammee() takes the gss name in _i_n_p_u_t___n_a_m_e and puts a printable
- form in _o_u_t_p_u_t___n_a_m_e___b_u_f_f_e_r. _o_u_t_p_u_t___n_a_m_e___b_u_f_f_e_r should be freed when done
- using ggssss__rreelleeaassee__bbuuffffeerr(). _o_u_t_p_u_t___n_a_m_e___t_y_p_e can either be NULL or a
+FUNCTIONS
+ gss_display_name() takes the gss name in input_name and puts a printable
+ form in output_name_buffer. output_name_buffer should be freed when done
+ using gss_release_buffer(). output_name_type can either be NULL or a
pointer to a gss_OID and will in the latter case contain the OID type of
the name. The name must only be used for printing. If access control is
- needed, see section _A_C_C_E_S_S _C_O_N_T_R_O_L.
+ needed, see section ACCESS CONTROL.
- ggssss__iinnqquuiirree__ccoonntteexxtt() returns information about the context. Information
- is available even after the context have expired. _l_i_f_e_t_i_m_e___r_e_c argument
+ gss_inquire_context() returns information about the context. Information
+ is available even after the context have expired. lifetime_rec argument
is set to GSS_C_INDEFINITE (don't expire) or the number of seconds that
- the context is still valid. A value of 0 means that the context is
- expired. _m_e_c_h___t_y_p_e argument should be considered readonly and must not
- be released. _s_r_c___n_a_m_e and ddeesstt__nnaammee() are both mechanims names and must
- be released with ggssss__rreelleeaassee__nnaammee() when no longer used.
+ the context is still valid. A value of 0 means that the context is ex-
+ pired. mech_type argument should be considered readonly and must not be
+ released. src_name and dest_name() are both mechanims names and must be
+ released with gss_release_name() when no longer used.
- ggssss__ccoonntteexxtt__ttiimmee will return the amount of time (in seconds) of the con-
- text is still valid. If its expired _t_i_m_e___r_e_c will be set to 0 and
+ gss_context_time will return the amount of time (in seconds) of the con-
+ text is still valid. If its expired time_rec will be set to 0 and
GSS_S_CONTEXT_EXPIRED returned.
- ggssss__ssiiggnn(), ggssss__vveerriiffyy(), ggssss__sseeaall(), and ggssss__uunnsseeaall() are part of the
+ gss_sign(), gss_verify(), gss_seal(), and gss_unseal() are part of the
GSS-API V1 interface and are obsolete. The functions should not be used
for new applications. They are provided so that version 1 applications
can link against the library.
-EEXXTTEENNSSIIOONNSS
- ggssss__kkrrbb55__ccccaacchhee__nnaammee() sets the internal kerberos 5 credential cache name
- to _n_a_m_e. The old name is returned in _o_l_d___n_a_m_e, and must not be freed.
- The data allocated for _o_l_d___n_a_m_e is free upon next call to
- ggssss__kkrrbb55__ccccaacchhee__nnaammee(). This function is not threadsafe if _o_l_d___n_a_m_e
- argument is used.
+EXTENSIONS
+ gss_krb5_ccache_name() sets the internal kerberos 5 credential cache name
+ to name. The old name is returned in old_name, and must not be freed.
+ The data allocated for old_name is free upon next call to
+ gss_krb5_ccache_name(). This function is not threadsafe if old_name ar-
+ gument is used.
- ggssss__kkrrbb55__ccooppyy__ccccaacchhee() will extract the krb5 credentials that are trans-
+ gss_krb5_copy_ccache() will extract the krb5 credentials that are trans-
ferred from the initiator to the acceptor when using token delegation in
the Kerberos mechanism. The acceptor receives the delegated token in the
- last argument to ggssss__aacccceepptt__sseecc__ccoonntteexxtt().
+ last argument to gss_accept_sec_context().
- ggssss__kkrrbb55__iimmppoorrtt__ccrreedd() will import the krb5 credentials (both keytab
+ gss_krb5_import_cred() will import the krb5 credentials (both keytab
and/or credential cache) into gss credential so it can be used withing
- GSS-API. The _c_c_a_c_h_e is copied by reference and thus shared, so if the
- credential is destroyed with _k_r_b_5___c_c___d_e_s_t_r_o_y, all users of thep
- _g_s_s___c_r_e_d___i_d___t returned by ggssss__kkrrbb55__iimmppoorrtt__ccccaacchhee() will fail.
+ GSS-API. The ccache is copied by reference and thus shared, so if the
+ credential is destroyed with krb5_cc_destroy, all users of thep
+ gss_cred_id_t returned by gss_krb5_import_ccache() will fail.
- ggsssskkrrbb55__rreeggiisstteerr__aacccceeppttoorr__iiddeennttiittyy() sets the Kerberos 5 filebased keytab
- that the acceptor will use. The _i_d_e_n_t_i_f_i_e_r is the file name.
+ gsskrb5_register_acceptor_identity() sets the Kerberos 5 filebased keytab
+ that the acceptor will use. The identifier is the file name.
- ggsssskkrrbb55__eexxttrraacctt__aauutthhzz__ddaattaa__ffrroomm__sseecc__ccoonntteexxtt() extracts the Kerberos
- authorizationdata that may be stored within the context. Tha caller must
- free the returned buffer _a_d___d_a_t_a with ggssss__rreelleeaassee__bbuuffffeerr() upon success.
+ gsskrb5_extract_authz_data_from_sec_context() extracts the Kerberos au-
+ thorizationdata that may be stored within the context. Tha caller must
+ free the returned buffer ad_data with gss_release_buffer() upon success.
- ggssss__kkrrbb55__ggeett__ttkktt__ffllaaggss() return the ticket flags for the kerberos ticket
+ gss_krb5_get_tkt_flags() return the ticket flags for the kerberos ticket
receive when authenticating the initiator. Only valid on the acceptor
context.
- ggssss__kkrrbb55__ccoommppaatt__ddeess33__mmiicc() turns on or off the compatibility with older
+ gss_krb5_compat_des3_mic() turns on or off the compatibility with older
version of Heimdal using des3 get and verify mic, this is way to program-
matically set the [gssapi]broken_des3_mic and [gssapi]correct_des3_mic
flags (see COMPATIBILITY section in gssapi(3)). If the CPP symbol
- GSS_C_KRB5_COMPAT_DES3_MIC is present, ggssss__kkrrbb55__ccoommppaatt__ddeess33__mmiicc() exists.
- ggssss__kkrrbb55__ccoommppaatt__ddeess33__mmiicc() will be removed in a later version of the GSS-
+ GSS_C_KRB5_COMPAT_DES3_MIC is present, gss_krb5_compat_des3_mic() exists.
+ gss_krb5_compat_des3_mic() will be removed in a later version of the GSS-
API library.
-SSEEEE AALLSSOO
+SEE ALSO
gssapi(3), krb5(3), krb5_ccache(3), kerberos(8)
HEIMDAL October 26, 2005 HEIMDAL
diff --git a/lib/gssapi/gssapi.cat3 b/lib/gssapi/gssapi.cat3
index 82901ad0efbd..701dd4264c0a 100644
--- a/lib/gssapi/gssapi.cat3
+++ b/lib/gssapi/gssapi.cat3
@@ -1,13 +1,12 @@
-
GSSAPI(3) BSD Library Functions Manual GSSAPI(3)
-NNAAMMEE
- ggssssaappii -- Generic Security Service Application Program Interface library
+NAME
+ gssapi -- Generic Security Service Application Program Interface library
-LLIIBBRRAARRYY
+LIBRARY
GSS-API Library (libgssapi, -lgssapi)
-DDEESSCCRRIIPPTTIIOONN
+DESCRIPTION
The Generic Security Service Application Program Interface (GSS-API) pro-
vides security services to callers in a generic fashion, supportable with
a range of underlying mechanisms and technologies and hence allowing
@@ -16,10 +15,10 @@ DDEESSCCRRIIPPTTIIOONN
The GSS-API implementation in Heimdal implements the Kerberos 5 and the
SPNEGO GSS-API security mechanisms.
-LLIISSTT OOFF FFUUNNCCTTIIOONNSS
- These functions constitute the gssapi library, _l_i_b_g_s_s_a_p_i. Declarations
- for these functions may be obtained from the include file _g_s_s_a_p_i_._h.
- NNaammee//PPaaggee
+LIST OF FUNCTIONS
+ These functions constitute the gssapi library, libgssapi. Declarations
+ for these functions may be obtained from the include file gssapi.h.
+ Name/Page
gss_accept_sec_context(3)
gss_acquire_cred(3)
gss_add_cred(3)
@@ -64,52 +63,52 @@ LLIISSTT OOFF FFUUNNCCTTIIOONNSS
gss_wrap(3)
gss_wrap_size_limit(3)
-CCOOMMPPAATTIIBBIILLIITTYY
- The HHeeiimmddaall GSS-API implementation had a bug in releases before 0.6 that
+COMPATIBILITY
+ The Heimdal GSS-API implementation had a bug in releases before 0.6 that
made it fail to inter-operate when using DES3 with other GSS-API imple-
- mentations when using ggssss__ggeett__mmiicc() / ggssss__vveerriiffyy__mmiicc(). It is possible
- to modify the behavior of the generator of the MIC with the _k_r_b_5_._c_o_n_f
+ mentations when using gss_get_mic() / gss_verify_mic(). It is possible
+ to modify the behavior of the generator of the MIC with the krb5.conf
configuration file so that old clients/servers will still work.
New clients/servers will try both the old and new MIC in Heimdal 0.6. In
- 0.7 it will check only if configured - the compatibility code will be
- removed in 0.8.
+ 0.7 it will check only if configured - the compatibility code will be re-
+ moved in 0.8.
Heimdal 0.6 still generates by default the broken GSS-API DES3 mic, this
will change in 0.7 to generate correct des3 mic.
To turn on compatibility with older clients and servers, change the
- [[ggssssaappii]] _b_r_o_k_e_n___d_e_s_3___m_i_c in _k_r_b_5_._c_o_n_f that contains a list of globbing
+ [gssapi] broken_des3_mic in krb5.conf that contains a list of globbing
expressions that will be matched against the server name. To turn off
- generation of the old (incompatible) mic of the MIC use [[ggssssaappii]]
- _c_o_r_r_e_c_t___d_e_s_3___m_i_c.
+ generation of the old (incompatible) mic of the MIC use [gssapi]
+ correct_des3_mic.
- If a match for a entry is in both [[ggssssaappii]] _c_o_r_r_e_c_t___d_e_s_3___m_i_c and [[ggssssaappii]]
- _b_r_o_k_e_n___d_e_s_3___m_i_c, the later will override.
+ If a match for a entry is in both [gssapi] correct_des3_mic and [gssapi]
+ broken_des3_mic, the later will override.
This config option modifies behaviour for both clients and servers.
Microsoft implemented SPNEGO to Windows2000, however, they managed to get
- it wrong, their implementation didn't fill in the MechListMIC in the
- reply token with the right content. There is a work around for this
- problem, but not all implementation support it.
+ it wrong, their implementation didn't fill in the MechListMIC in the re-
+ ply token with the right content. There is a work around for this prob-
+ lem, but not all implementation support it.
Heimdal defaults to correct SPNEGO when the the kerberos implementation
uses CFX, or when it is configured by the user. To turn on compatibility
- with peers, use option [[ggssssaappii]] _r_e_q_u_i_r_e___m_e_c_h_l_i_s_t___m_i_c.
+ with peers, use option [gssapi] require_mechlist_mic.
-EEXXAAMMPPLLEESS
+EXAMPLES
[gssapi]
broken_des3_mic = cvs/*@SU.SE
broken_des3_mic = host/*@E.KTH.SE
correct_des3_mic = host/*@SU.SE
require_mechlist_mic = host/*@SU.SE
-BBUUGGSS
- All of 0.5.x versions of hheeiimmddaall had broken token delegations in the
+BUGS
+ All of 0.5.x versions of heimdal had broken token delegations in the
client side, the server side was correct.
-SSEEEE AALLSSOO
+SEE ALSO
krb5(3), krb5.conf(5), kerberos(8)
BSD April 20, 2005 BSD
diff --git a/lib/gssapi/krb5/accept_sec_context.c b/lib/gssapi/krb5/accept_sec_context.c
index d4680e9e8fb6..e35cc10e560c 100644
--- a/lib/gssapi/krb5/accept_sec_context.c
+++ b/lib/gssapi/krb5/accept_sec_context.c
@@ -443,6 +443,7 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
* lets only send the error token on clock skew, that
* limit when send error token for non-MUTUAL.
*/
+ free_Authenticator(ctx->auth_context->authenticator);
return send_error_token(minor_status, context, kret,
server, &indata, output_token);
} else if (kret) {
diff --git a/lib/gssapi/krb5/acquire_cred.c b/lib/gssapi/krb5/acquire_cred.c
index 9c880b334fd6..431700070e53 100644
--- a/lib/gssapi/krb5/acquire_cred.c
+++ b/lib/gssapi/krb5/acquire_cred.c
@@ -100,6 +100,7 @@ acquire_cred_with_password(OM_uint32 *minor_status,
krb5_error_code kret;
time_t now;
OM_uint32 left;
+ const char *realm;
if (cred_usage == GSS_C_ACCEPT) {
/*
@@ -126,6 +127,10 @@ acquire_cred_with_password(OM_uint32 *minor_status,
if (kret)
goto end;
+ realm = krb5_principal_get_realm(context, handle->principal);
+
+ krb5_get_init_creds_opt_set_default_flags(context, "gss_krb5", realm, opt);
+
/*
* Get the current time before the AS exchange so we don't
* accidentally end up returning a value that puts advertised
diff --git a/lib/gssapi/krb5/arcfour.c b/lib/gssapi/krb5/arcfour.c
index d88ec4cddc53..aa03cbe41acb 100644
--- a/lib/gssapi/krb5/arcfour.c
+++ b/lib/gssapi/krb5/arcfour.c
@@ -177,7 +177,7 @@ arcfour_mic_cksum_iov(krb5_context context,
memcpy(ptr + ofs,
padding->buffer.value,
padding->buffer.length);
- ofs += padding->buffer.length;
+ /* ofs += padding->buffer.length; */
}
ret = krb5_crypto_init(context, key, 0, &crypto);
@@ -365,7 +365,7 @@ _gssapi_verify_mic_arcfour(OM_uint32 * minor_status,
return GSS_S_FAILURE;
}
- cmp = ct_memcmp(cksum_data, p + 8, 8);
+ cmp = (ct_memcmp(cksum_data, p + 8, 8) == 0);
if (cmp) {
*minor_status = 0;
return GSS_S_BAD_MIC;
@@ -385,9 +385,9 @@ _gssapi_verify_mic_arcfour(OM_uint32 * minor_status,
_gsskrb5_decode_be_om_uint32(SND_SEQ, &seq_number);
if (context_handle->more_flags & LOCAL)
- cmp = memcmp(&SND_SEQ[4], "\xff\xff\xff\xff", 4);
+ cmp = (ct_memcmp(&SND_SEQ[4], "\xff\xff\xff\xff", 4) != 0);
else
- cmp = memcmp(&SND_SEQ[4], "\x00\x00\x00\x00", 4);
+ cmp = (ct_memcmp(&SND_SEQ[4], "\x00\x00\x00\x00", 4) != 0);
memset_s(SND_SEQ, sizeof(SND_SEQ), 0, sizeof(SND_SEQ));
if (cmp != 0) {
@@ -656,9 +656,9 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status,
_gsskrb5_decode_be_om_uint32(SND_SEQ, &seq_number);
if (context_handle->more_flags & LOCAL)
- cmp = memcmp(&SND_SEQ[4], "\xff\xff\xff\xff", 4);
+ cmp = (ct_memcmp(&SND_SEQ[4], "\xff\xff\xff\xff", 4) != 0);
else
- cmp = memcmp(&SND_SEQ[4], "\x00\x00\x00\x00", 4);
+ cmp = (ct_memcmp(&SND_SEQ[4], "\x00\x00\x00\x00", 4) != 0);
if (cmp != 0) {
*minor_status = 0;
@@ -730,7 +730,7 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status,
return GSS_S_FAILURE;
}
- cmp = ct_memcmp(cksum_data, p0 + 16, 8); /* SGN_CKSUM */
+ cmp = (ct_memcmp(cksum_data, p0 + 16, 8) == 0); /* SGN_CKSUM */
if (cmp) {
_gsskrb5_release_buffer(minor_status, output_message_buffer);
*minor_status = 0;
@@ -880,7 +880,13 @@ _gssapi_wrap_iov_length_arcfour(OM_uint32 *minor_status,
}
}
- major_status = _gk_verify_buffers(minor_status, ctx, header, padding, trailer);
+ if (header == NULL) {
+ *minor_status = EINVAL;
+ return GSS_S_FAILURE;
+ }
+
+ major_status = _gk_verify_buffers(minor_status, ctx, header,
+ padding, trailer, FALSE);
if (major_status != GSS_S_COMPLETE) {
return major_status;
}
@@ -937,7 +943,8 @@ _gssapi_wrap_iov_arcfour(OM_uint32 *minor_status,
padding = _gk_find_buffer(iov, iov_count, GSS_IOV_BUFFER_TYPE_PADDING);
trailer = _gk_find_buffer(iov, iov_count, GSS_IOV_BUFFER_TYPE_TRAILER);
- major_status = _gk_verify_buffers(minor_status, ctx, header, padding, trailer);
+ major_status = _gk_verify_buffers(minor_status, ctx, header,
+ padding, trailer, FALSE);
if (major_status != GSS_S_COMPLETE) {
return major_status;
}
@@ -974,7 +981,7 @@ _gssapi_wrap_iov_arcfour(OM_uint32 *minor_status,
header_len -= data_len;
}
- if (GSS_IOV_BUFFER_FLAGS(header->type) & GSS_IOV_BUFFER_TYPE_FLAG_ALLOCATE) {
+ if (GSS_IOV_BUFFER_FLAGS(header->type) & GSS_IOV_BUFFER_FLAG_ALLOCATE) {
major_status = _gk_allocate_buffer(minor_status, header,
header_len);
if (major_status != GSS_S_COMPLETE)
@@ -988,7 +995,7 @@ _gssapi_wrap_iov_arcfour(OM_uint32 *minor_status,
}
if (padding) {
- if (GSS_IOV_BUFFER_FLAGS(padding->type) & GSS_IOV_BUFFER_TYPE_FLAG_ALLOCATE) {
+ if (GSS_IOV_BUFFER_FLAGS(padding->type) & GSS_IOV_BUFFER_FLAG_ALLOCATE) {
major_status = _gk_allocate_buffer(minor_status, padding, 1);
if (major_status != GSS_S_COMPLETE)
goto failure;
@@ -1181,10 +1188,11 @@ _gssapi_unwrap_iov_arcfour(OM_uint32 *minor_status,
/* Check if the packet is correct */
major_status = _gk_verify_buffers(minor_status,
- ctx,
- header,
- padding,
- trailer);
+ ctx,
+ header,
+ padding,
+ trailer,
+ FALSE); /* behaves as stream cipher */
if (major_status != GSS_S_COMPLETE) {
return major_status;
}
@@ -1194,15 +1202,19 @@ _gssapi_unwrap_iov_arcfour(OM_uint32 *minor_status,
return GSS_S_FAILURE;
}
- if (IS_DCE_STYLE(context)) {
- verify_len = GSS_ARCFOUR_WRAP_TOKEN_SIZE +
- GSS_ARCFOUR_WRAP_TOKEN_DCE_DER_HEADER_SIZE;
- if (header->buffer.length > verify_len) {
- return GSS_S_BAD_MECH;
+ verify_len = header->buffer.length;
+
+ if (!IS_DCE_STYLE(context)) {
+ for (i = 0; i < iov_count; i++) {
+ /* length in header also includes data and padding */
+ if (GSS_IOV_BUFFER_TYPE(iov[i].type) == GSS_IOV_BUFFER_TYPE_DATA)
+ verify_len += iov[i].buffer.length;
}
- } else {
- verify_len = header->buffer.length;
+
+ if (padding)
+ verify_len += padding->buffer.length;
}
+
_p = header->buffer.value;
ret = _gssapi_verify_mech_header(&_p,
@@ -1267,19 +1279,9 @@ _gssapi_unwrap_iov_arcfour(OM_uint32 *minor_status,
_gsskrb5_decode_be_om_uint32(snd_seq, &seq_number);
if (ctx->more_flags & LOCAL) {
- cmp = memcmp(&snd_seq[4], "\xff\xff\xff\xff", 4);
- } else {
- cmp = memcmp(&snd_seq[4], "\x00\x00\x00\x00", 4);
- }
- if (cmp != 0) {
- *minor_status = 0;
- return GSS_S_BAD_MIC;
- }
-
- if (ctx->more_flags & LOCAL) {
- cmp = memcmp(&snd_seq[4], "\xff\xff\xff\xff", 4);
+ cmp = (ct_memcmp(&snd_seq[4], "\xff\xff\xff\xff", 4) != 0);
} else {
- cmp = memcmp(&snd_seq[4], "\x00\x00\x00\x00", 4);
+ cmp = (ct_memcmp(&snd_seq[4], "\x00\x00\x00\x00", 4) != 0);
}
if (cmp != 0) {
*minor_status = 0;
diff --git a/lib/gssapi/krb5/cfx.c b/lib/gssapi/krb5/cfx.c
index 29fecca861ce..8d806f9fbf1c 100644
--- a/lib/gssapi/krb5/cfx.c
+++ b/lib/gssapi/krb5/cfx.c
@@ -206,11 +206,36 @@ gss_iov_buffer_desc *
_gk_find_buffer(gss_iov_buffer_desc *iov, int iov_count, OM_uint32 type)
{
int i;
+ gss_iov_buffer_t iovp = GSS_C_NO_IOV_BUFFER;
- for (i = 0; i < iov_count; i++)
- if (type == GSS_IOV_BUFFER_TYPE(iov[i].type))
- return &iov[i];
- return NULL;
+ if (iov == GSS_C_NO_IOV_BUFFER)
+ return GSS_C_NO_IOV_BUFFER;
+
+ /*
+ * This function is used to find header, padding or trailer buffers
+ * which are singletons; return NULL if multiple instances are found.
+ */
+ for (i = 0; i < iov_count; i++) {
+ if (type == GSS_IOV_BUFFER_TYPE(iov[i].type)) {
+ if (iovp == GSS_C_NO_IOV_BUFFER)
+ iovp = &iov[i];
+ else
+ return GSS_C_NO_IOV_BUFFER;
+ }
+ }
+
+ /*
+ * For compatibility with SSPI, an empty padding buffer is treated
+ * equivalent to an absent padding buffer (unless the caller is
+ * requesting that a padding buffer be allocated).
+ */
+ if (iovp &&
+ iovp->buffer.length == 0 &&
+ type == GSS_IOV_BUFFER_TYPE_PADDING &&
+ (GSS_IOV_BUFFER_FLAGS(iovp->type) & GSS_IOV_BUFFER_FLAG_ALLOCATE) == 0)
+ iovp = NULL;
+
+ return iovp;
}
OM_uint32
@@ -239,7 +264,8 @@ _gk_verify_buffers(OM_uint32 *minor_status,
const gsskrb5_ctx ctx,
const gss_iov_buffer_desc *header,
const gss_iov_buffer_desc *padding,
- const gss_iov_buffer_desc *trailer)
+ const gss_iov_buffer_desc *trailer,
+ int block_cipher)
{
if (header == NULL) {
*minor_status = EINVAL;
@@ -260,9 +286,12 @@ _gk_verify_buffers(OM_uint32 *minor_status,
}
} else {
/*
- * In non-DCE style mode we require having a padding buffer
+ * In non-DCE style mode we require having a padding buffer for
+ * encryption types that do not behave as stream ciphers. This
+ * check is superfluous for now, as only RC4 and RFC4121 enctypes
+ * are presently implemented for the IOV APIs; be defensive.
*/
- if (padding == NULL) {
+ if (block_cipher && padding == NULL) {
*minor_status = EINVAL;
return GSS_S_FAILURE;
}
@@ -306,7 +335,8 @@ _gssapi_wrap_cfx_iov(OM_uint32 *minor_status,
trailer = _gk_find_buffer(iov, iov_count, GSS_IOV_BUFFER_TYPE_TRAILER);
- major_status = _gk_verify_buffers(minor_status, ctx, header, padding, trailer);
+ major_status = _gk_verify_buffers(minor_status, ctx, header,
+ padding, trailer, FALSE);
if (major_status != GSS_S_COMPLETE) {
return major_status;
}
@@ -747,7 +777,8 @@ _gssapi_unwrap_cfx_iov(OM_uint32 *minor_status,
trailer = _gk_find_buffer(iov, iov_count, GSS_IOV_BUFFER_TYPE_TRAILER);
- major_status = _gk_verify_buffers(minor_status, ctx, header, padding, trailer);
+ major_status = _gk_verify_buffers(minor_status, ctx, header,
+ padding, trailer, FALSE);
if (major_status != GSS_S_COMPLETE) {
return major_status;
}
@@ -1069,7 +1100,8 @@ _gssapi_wrap_iov_length_cfx(OM_uint32 *minor_status,
}
}
- major_status = _gk_verify_buffers(minor_status, ctx, header, padding, trailer);
+ major_status = _gk_verify_buffers(minor_status, ctx, header,
+ padding, trailer, FALSE);
if (major_status != GSS_S_COMPLETE) {
return major_status;
}
diff --git a/lib/gssapi/krb5/decapsulate.c b/lib/gssapi/krb5/decapsulate.c
index 86085f569501..d7b75a642224 100644
--- a/lib/gssapi/krb5/decapsulate.c
+++ b/lib/gssapi/krb5/decapsulate.c
@@ -54,6 +54,8 @@ _gsskrb5_get_mech (const u_char *ptr,
e = der_get_length (p, total_len - 1, &len, &len_len);
if (e || 1 + len_len + len != total_len)
return -1;
+ if (total_len < 1 + len_len + 1)
+ return -1;
p += len_len;
if (*p++ != 0x06)
return -1;
@@ -80,6 +82,10 @@ _gssapi_verify_mech_header(u_char **str,
if (mech_len != mech->length)
return GSS_S_BAD_MECH;
+ if (mech_len > total_len)
+ return GSS_S_BAD_MECH;
+ if (p - *str > total_len - mech_len)
+ return GSS_S_BAD_MECH;
if (ct_memcmp(p,
mech->elements,
mech->length) != 0)
@@ -193,13 +199,13 @@ _gssapi_verify_pad(gss_buffer_t wrapped_token,
if (wrapped_token->length < 1)
return GSS_S_BAD_MECH;
- pad = (u_char *)wrapped_token->value + wrapped_token->length - 1;
- padlength = *pad;
+ pad = (u_char *)wrapped_token->value + wrapped_token->length;
+ padlength = pad[-1];
if (padlength > datalen)
return GSS_S_BAD_MECH;
- for (i = padlength; i > 0 && *pad == padlength; i--, pad--)
+ for (i = padlength; i > 0 && *--pad == padlength; i--)
;
if (i != 0)
return GSS_S_BAD_MIC;
diff --git a/lib/gssapi/krb5/delete_sec_context.c b/lib/gssapi/krb5/delete_sec_context.c
index 83a66cc0ca01..a4800791ec4e 100644
--- a/lib/gssapi/krb5/delete_sec_context.c
+++ b/lib/gssapi/krb5/delete_sec_context.c
@@ -75,6 +75,8 @@ _gsskrb5_delete_sec_context(OM_uint32 * minor_status,
krb5_data_free(&ctx->fwd_data);
if (ctx->crypto)
krb5_crypto_destroy(context, ctx->crypto);
+ if (ctx->ccache && (ctx->more_flags & CLOSE_CCACHE))
+ krb5_cc_close(context, ctx->ccache);
HEIMDAL_MUTEX_unlock(&ctx->ctx_id_mutex);
HEIMDAL_MUTEX_destroy(&ctx->ctx_id_mutex);
diff --git a/lib/gssapi/krb5/display_status.c b/lib/gssapi/krb5/display_status.c
index c50200672aaf..2587b966cfb8 100644
--- a/lib/gssapi/krb5/display_status.c
+++ b/lib/gssapi/krb5/display_status.c
@@ -64,8 +64,7 @@ routine_error(OM_uint32 v)
"Incorrect channel bindings were supplied",
"An invalid status code was supplied",
"A token had an invalid MIC",
- "No credentials were supplied, "
- "or the credentials were unavailable or inaccessible.",
+ "No credentials were supplied, or the credentials were unavailable or inaccessible.",
"No context has been established",
"A token was invalid",
"A credential was invalid",
diff --git a/lib/gssapi/krb5/gsskrb5-private.h b/lib/gssapi/krb5/gsskrb5-private.h
index e05d4a6b6da6..29eea8adf0a8 100644
--- a/lib/gssapi/krb5/gsskrb5-private.h
+++ b/lib/gssapi/krb5/gsskrb5-private.h
@@ -42,7 +42,8 @@ _gk_verify_buffers (
const gsskrb5_ctx /*ctx*/,
const gss_iov_buffer_desc */*header*/,
const gss_iov_buffer_desc */*padding*/,
- const gss_iov_buffer_desc */*trailer*/);
+ const gss_iov_buffer_desc */*trailer*/,
+ int /*block_cipher*/);
OM_uint32 GSSAPI_CALLCONV
_gk_wrap_iov (
diff --git a/lib/gssapi/krb5/init_sec_context.c b/lib/gssapi/krb5/init_sec_context.c
index 4ef5c9c7123a..21ac554efd4f 100644
--- a/lib/gssapi/krb5/init_sec_context.c
+++ b/lib/gssapi/krb5/init_sec_context.c
@@ -600,7 +600,19 @@ init_auth_restart
if (ret == 0) {
if (timedata.length == 4) {
const u_char *p = timedata.data;
- offset = (p[0] <<24) | (p[1] << 16) | (p[2] << 8) | (p[3] << 0);
+ if (p[0] < 128) {
+ offset = (p[0] <<24) | (p[1] << 16) | (p[2] << 8) | (p[3] << 0);
+ } else {
+ /*
+ * (p[0] << 24), if p[0] > 127 -> offset is negative, but *p is
+ * positive, so this is overflow -- overflow we want, but UBSAN
+ * flags it.
+ *
+ * NOTE: We assume the platform is a twos-complement platform.
+ */
+ offset = INT32_MIN;
+ offset |= ((p[0] & 0x7f) <<24) | (p[1] << 16) | (p[2] << 8) | (p[3] << 0);
+ }
}
krb5_data_free(&timedata);
}
@@ -921,7 +933,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_init_sec_context
time_rec);
if (ret != GSS_S_COMPLETE)
break;
- /* FALL THOUGH */
+ /* FALLTHROUGH */
case INITIATOR_RESTART:
ret = init_auth_restart(minor_status,
cred,
diff --git a/lib/gssapi/krb5/unwrap.c b/lib/gssapi/krb5/unwrap.c
index da939c052930..bab30f45016b 100644
--- a/lib/gssapi/krb5/unwrap.c
+++ b/lib/gssapi/krb5/unwrap.c
@@ -64,6 +64,8 @@ unwrap_des
if (IS_DCE_STYLE(context_handle)) {
token_len = 22 + 8 + 15; /* 45 */
+ if (input_message_buffer->length < token_len)
+ return GSS_S_BAD_MECH;
} else {
token_len = input_message_buffer->length;
}
@@ -76,6 +78,11 @@ unwrap_des
if (ret)
return ret;
+ len = (p - (u_char *)input_message_buffer->value)
+ + 22 + 8;
+ if (input_message_buffer->length < len)
+ return GSS_S_BAD_MECH;
+
if (memcmp (p, "\x00\x00", 2) != 0)
return GSS_S_BAD_SIG;
p += 2;
@@ -117,7 +124,7 @@ unwrap_des
} else {
/* check pad */
ret = _gssapi_verify_pad(input_message_buffer,
- input_message_buffer->length - len,
+ input_message_buffer->length - len - 8,
&padlength);
if (ret)
return ret;
@@ -180,9 +187,10 @@ unwrap_des
output_message_buffer->value = malloc(output_message_buffer->length);
if(output_message_buffer->length != 0 && output_message_buffer->value == NULL)
return GSS_S_FAILURE;
- memcpy (output_message_buffer->value,
- p + 24,
- output_message_buffer->length);
+ if (output_message_buffer->value != NULL)
+ memcpy (output_message_buffer->value,
+ p + 24,
+ output_message_buffer->length);
return GSS_S_COMPLETE;
}
#endif
@@ -215,6 +223,8 @@ unwrap_des3
if (IS_DCE_STYLE(context_handle)) {
token_len = 34 + 8 + 15; /* 57 */
+ if (input_message_buffer->length < token_len)
+ return GSS_S_BAD_MECH;
} else {
token_len = input_message_buffer->length;
}
@@ -227,7 +237,12 @@ unwrap_des3
if (ret)
return ret;
- if (memcmp (p, "\x04\x00", 2) != 0) /* HMAC SHA1 DES3_KD */
+ len = (p - (u_char *)input_message_buffer->value)
+ + 34 + 8;
+ if (input_message_buffer->length < len)
+ return GSS_S_BAD_MECH;
+
+ if (ct_memcmp (p, "\x04\x00", 2) != 0) /* HMAC SHA1 DES3_KD */
return GSS_S_BAD_SIG;
p += 2;
if (ct_memcmp (p, "\x02\x00", 2) == 0) {
@@ -274,7 +289,7 @@ unwrap_des3
} else {
/* check pad */
ret = _gssapi_verify_pad(input_message_buffer,
- input_message_buffer->length - len,
+ input_message_buffer->length - len - 8,
&padlength);
if (ret)
return ret;
@@ -374,9 +389,10 @@ unwrap_des3
output_message_buffer->value = malloc(output_message_buffer->length);
if(output_message_buffer->length != 0 && output_message_buffer->value == NULL)
return GSS_S_FAILURE;
- memcpy (output_message_buffer->value,
- p + 36,
- output_message_buffer->length);
+ if (output_message_buffer->value != NULL)
+ memcpy (output_message_buffer->value,
+ p + 36,
+ output_message_buffer->length);
return GSS_S_COMPLETE;
}
diff --git a/lib/gssapi/mech/gss_display_status.c b/lib/gssapi/mech/gss_display_status.c
index a79ef350dc93..848e8a320b3d 100644
--- a/lib/gssapi/mech/gss_display_status.c
+++ b/lib/gssapi/mech/gss_display_status.c
@@ -91,8 +91,7 @@ routine_error(OM_uint32 v)
"Incorrect channel bindings were supplied",
"An invalid status code was supplied",
"A token had an invalid MIC",
- "No credentials were supplied, "
- "or the credentials were unavailable or inaccessible.",
+ "No credentials were supplied, or the credentials were unavailable or inaccessible.",
"No context has been established",
"A token was invalid",
"A credential was invalid",
diff --git a/lib/gssapi/mech/gss_import_name.c b/lib/gssapi/mech/gss_import_name.c
index 4c1d940d9af8..fab57597c90e 100644
--- a/lib/gssapi/mech/gss_import_name.c
+++ b/lib/gssapi/mech/gss_import_name.c
@@ -113,7 +113,7 @@ _gss_import_export_name(OM_uint32 *minor_status,
len -= t;
t = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
- p += 4;
+ /* p += 4; */
len -= 4;
if (!composite && len != t)
diff --git a/lib/gssapi/mech/gss_mech_switch.c b/lib/gssapi/mech/gss_mech_switch.c
index 58b187eda296..4d7f298d1961 100644
--- a/lib/gssapi/mech/gss_mech_switch.c
+++ b/lib/gssapi/mech/gss_mech_switch.c
@@ -137,6 +137,8 @@ _gss_string_to_oid(const char* s, gss_OID oid)
}
}
}
+ if (byte_count == 0)
+ return EINVAL;
if (!res) {
res = malloc(byte_count);
if (!res)
diff --git a/lib/gssapi/mech/gss_pname_to_uid.c b/lib/gssapi/mech/gss_pname_to_uid.c
index 315f0e0d8147..9223a918b858 100644
--- a/lib/gssapi/mech/gss_pname_to_uid.c
+++ b/lib/gssapi/mech/gss_pname_to_uid.c
@@ -158,6 +158,10 @@ gss_pname_to_uid(OM_uint32 *minor_status,
major = gss_localname(minor_status, pname, mech_type, &localname);
if (GSS_ERROR(major))
return major;
+ if (localname.length == 0) {
+ *minor_status = KRB5_NO_LOCALNAME;
+ return GSS_S_FAILURE;
+ }
szLocalname = malloc(localname.length + 1);
if (szLocalname == NULL) {
diff --git a/lib/gssapi/mech/mech.cat5 b/lib/gssapi/mech/mech.cat5
index 998079f2959c..d4a38d579eb3 100644
--- a/lib/gssapi/mech/mech.cat5
+++ b/lib/gssapi/mech/mech.cat5
@@ -1,61 +1,61 @@
-
MECH(5) BSD File Formats Manual MECH(5)
-NNAAMMEE
- mmeecchh, qqoopp -- GSS-API Mechanism and QOP files
+NAME
+ mech, qop -- GSS-API Mechanism and QOP files
-SSYYNNOOPPSSIISS
- _/_e_t_c_/_g_s_s_/_m_e_c_h _/_e_t_c_/_g_s_s_/_q_o_p
+SYNOPSIS
+ /etc/gss/mech /etc/gss/qop
-DDEESSCCRRIIPPTTIIOONN
- The _/_e_t_c_/_g_s_s_/_m_e_c_h file contains a list of installed GSS-API security
+DESCRIPTION
+ The /etc/gss/mech file contains a list of installed GSS-API security
mechanisms. Each line of the file either contains a comment if the first
character is '#' or it contains five fields with the following meanings:
- Name The name of this GSS-API mechanism.
+ Name The name of this GSS-API mechanism.
Object identifier
- The OID for this mechanism.
+ The OID for this mechanism.
- Library A shared library containing the implementation of this
- mechanism.
+ Library
+ A shared library containing the implementation of this mechanism.
Kernel module (optional)
- A kernel module containing the implementation of this mech-
- anism (not yet supported in FreeBSD).
+ A kernel module containing the implementation of this mechanism
+ (not yet supported in FreeBSD).
Library options (optional)
- Optionsal parameters interpreted by the mechanism. Library
- options must be enclosed in brackets ([ ]) to differentiate
- them from the optional kernel module entry.
+ Optionsal parameters interpreted by the mechanism. Library op-
+ tions must be enclosed in brackets ([ ]) to differentiate them
+ from the optional kernel module entry.
- The _/_e_t_c_/_g_s_s_/_q_o_p file contains a list of Quality of Protection values for
+ The /etc/gss/qop file contains a list of Quality of Protection values for
use with GSS-API. Each line of the file either contains a comment if the
first character is '#' or it contains three fields with the following
meanings:
- QOP string The name of this Quality of Protection algorithm.
+ QOP string
+ The name of this Quality of Protection algorithm.
- QOP value The numeric value used to select this algorithm for use
- with GSS-API functions such as gss_get_mic(3).
+ QOP value
+ The numeric value used to select this algorithm for use with GSS-
+ API functions such as gss_get_mic(3).
Mechanism name
- The GSS-API mechanism name that corresponds to this algo-
- rithm.
+ The GSS-API mechanism name that corresponds to this algorithm.
-EEXXAAMMPPLLEESS
- This is a typical entry from _/_e_t_c_/_g_s_s_/_m_e_c_h:
+EXAMPLES
+ This is a typical entry from /etc/gss/mech:
kerberosv5 1.2.840.113554.1.2.2 /usr/lib/libgssapi_krb5.so.8 -
- This is a typical entry from _/_e_t_c_/_g_s_s_/_q_o_p:
+ This is a typical entry from /etc/gss/qop:
GSS_KRB5_CONF_C_QOP_DES 0x0100 kerberosv5
-HHIISSTTOORRYY
- The mmeecchh manual page example first appeared in FreeBSD 7.0.
+HISTORY
+ The mech manual page example first appeared in FreeBSD 7.0.
-AAUUTTHHOORRSS
- This manual page was written by Doug Rabson <_d_f_r_@_F_r_e_e_B_S_D_._o_r_g>.
+AUTHORS
+ This manual page was written by Doug Rabson <dfr@FreeBSD.org>.
BSD November 14, 2005 BSD
diff --git a/lib/gssapi/mech/mech_locl.h b/lib/gssapi/mech/mech_locl.h
index 6c23ac5256b1..0f4d8e51b2c3 100644
--- a/lib/gssapi/mech/mech_locl.h
+++ b/lib/gssapi/mech/mech_locl.h
@@ -51,6 +51,7 @@
#include <roken.h>
+#include <krb5.h>
#include <gssapi.h>
#include <gssapi_mech.h>
#include <gssapi_krb5.h>
diff --git a/lib/gssapi/ntlm/init_sec_context.c b/lib/gssapi/ntlm/init_sec_context.c
index f3198d8a274d..cf72ae8f77d6 100644
--- a/lib/gssapi/ntlm/init_sec_context.c
+++ b/lib/gssapi/ntlm/init_sec_context.c
@@ -56,6 +56,8 @@ from_file(const char *fn, const char *target_domain,
d = strtok_r(buf, ":", &str);
free(*domainp);
*domainp = NULL;
+ if (!d)
+ continue;
if (d && target_domain != NULL && strcasecmp(target_domain, d) != 0)
continue;
*domainp = strdup(d);
diff --git a/lib/gssapi/spnego/accept_sec_context.c b/lib/gssapi/spnego/accept_sec_context.c
index 48b786c29ed1..5fe1a1a649a4 100644
--- a/lib/gssapi/spnego/accept_sec_context.c
+++ b/lib/gssapi/spnego/accept_sec_context.c
@@ -619,13 +619,15 @@ acceptor_start
if (ret == 0)
break;
}
- if (preferred_mech_type == GSS_C_NO_OID) {
- HEIMDAL_MUTEX_unlock(&ctx->ctx_id_mutex);
- free_NegotiationToken(&nt);
- return ret;
- }
+ }
+
+ ctx->preferred_mech_type = preferred_mech_type;
- ctx->preferred_mech_type = preferred_mech_type;
+ if (preferred_mech_type == GSS_C_NO_OID) {
+ send_reject(minor_status, output_token);
+ HEIMDAL_MUTEX_unlock(&ctx->ctx_id_mutex);
+ free_NegotiationToken(&nt);
+ return ret;
}
/*
diff --git a/lib/gssapi/test_context.c b/lib/gssapi/test_context.c
index 36a7389aba2f..f5aa27aaf19d 100644
--- a/lib/gssapi/test_context.c
+++ b/lib/gssapi/test_context.c
@@ -349,7 +349,7 @@ wrapunwrap_iov(gss_ctx_id_t cctx, gss_ctx_id_t sctx, int flags, gss_OID mechoid)
memset(iov, 0, sizeof(iov));
- iov[0].type = GSS_IOV_BUFFER_TYPE_HEADER | GSS_IOV_BUFFER_TYPE_FLAG_ALLOCATE;
+ iov[0].type = GSS_IOV_BUFFER_TYPE_HEADER | GSS_IOV_BUFFER_FLAG_ALLOCATE;
if (header.length != 0) {
iov[1].type = GSS_IOV_BUFFER_TYPE_SIGN_ONLY;
@@ -375,7 +375,7 @@ wrapunwrap_iov(gss_ctx_id_t cctx, gss_ctx_id_t sctx, int flags, gss_OID mechoid)
if (dce_style_flag) {
iov[4].type = GSS_IOV_BUFFER_TYPE_EMPTY;
} else {
- iov[4].type = GSS_IOV_BUFFER_TYPE_PADDING | GSS_IOV_BUFFER_TYPE_FLAG_ALLOCATE;
+ iov[4].type = GSS_IOV_BUFFER_TYPE_PADDING | GSS_IOV_BUFFER_FLAG_ALLOCATE;
}
iov[4].buffer.length = 0;
iov[4].buffer.value = 0;
@@ -384,7 +384,7 @@ wrapunwrap_iov(gss_ctx_id_t cctx, gss_ctx_id_t sctx, int flags, gss_OID mechoid)
} else if (flags & USE_HEADER_ONLY) {
iov[5].type = GSS_IOV_BUFFER_TYPE_EMPTY;
} else {
- iov[5].type = GSS_IOV_BUFFER_TYPE_TRAILER | GSS_IOV_BUFFER_TYPE_FLAG_ALLOCATE;
+ iov[5].type = GSS_IOV_BUFFER_TYPE_TRAILER | GSS_IOV_BUFFER_FLAG_ALLOCATE;
}
iov[5].buffer.length = 0;
iov[5].buffer.value = 0;
@@ -404,17 +404,29 @@ wrapunwrap_iov(gss_ctx_id_t cctx, gss_ctx_id_t sctx, int flags, gss_OID mechoid)
token.data = emalloc(token.length);
p = token.data;
- memcpy(p, iov[0].buffer.value, iov[0].buffer.length);
+
+ if (iov[0].buffer.length)
+ memcpy(p, iov[0].buffer.value, iov[0].buffer.length);
p += iov[0].buffer.length;
- memcpy(p, iov[1].buffer.value, iov[1].buffer.length);
+
+ if (iov[1].buffer.length)
+ memcpy(p, iov[1].buffer.value, iov[1].buffer.length);
p += iov[1].buffer.length;
- memcpy(p, iov[2].buffer.value, iov[2].buffer.length);
+
+ if (iov[2].buffer.length)
+ memcpy(p, iov[2].buffer.value, iov[2].buffer.length);
p += iov[2].buffer.length;
- memcpy(p, iov[3].buffer.value, iov[3].buffer.length);
+
+ if (iov[3].buffer.length)
+ memcpy(p, iov[3].buffer.value, iov[3].buffer.length);
p += iov[3].buffer.length;
- memcpy(p, iov[4].buffer.value, iov[4].buffer.length);
+
+ if (iov[4].buffer.length)
+ memcpy(p, iov[4].buffer.value, iov[4].buffer.length);
p += iov[4].buffer.length;
- memcpy(p, iov[5].buffer.value, iov[5].buffer.length);
+
+ if (iov[5].buffer.length)
+ memcpy(p, iov[5].buffer.value, iov[5].buffer.length);
p += iov[5].buffer.length;
assert(p - ((unsigned char *)token.data) == token.length);
@@ -931,7 +943,7 @@ main(int argc, char **argv)
if (out1.length != out2.length)
errx(1, "prf len mismatch");
- if (memcmp(out1.value, out2.value, out1.length) != 0)
+ if (out1.length && memcmp(out1.value, out2.value, out1.length) != 0)
errx(1, "prf data mismatch");
gss_release_buffer(&min_stat, &out1);
@@ -941,7 +953,7 @@ main(int argc, char **argv)
if (out1.length != out2.length)
errx(1, "prf len mismatch");
- if (memcmp(out1.value, out2.value, out1.length) != 0)
+ if (out1.length && memcmp(out1.value, out2.value, out1.length) != 0)
errx(1, "prf data mismatch");
gss_release_buffer(&min_stat, &out1);