Add gss_duplicate_oid_set()
[metze/heimdal/wip.git] / lib / gssapi / Makefile.am
index 3abfec72f4350aa4f38492db8c0c5ab67f045f81..fa8c01fbf047c32e8f5947787182e3d1d1084f33 100644 (file)
@@ -12,11 +12,9 @@ AM_CPPFLAGS += \
        -I$(srcdir)/ntlm \
        -I$(srcdir)/krb5 \
        -I$(srcdir)/spnego \
-       $(INCLUDE_libintl) \
-       $(INCLUDE_hcrypto) \
-       $(INCLUDE_krb4)
+       $(INCLUDE_libintl)
 
-lib_LTLIBRARIES = libgssapi.la
+lib_LTLIBRARIES = libgssapi.la test_negoex_mech.la
 
 krb5src = \
        krb5/8003.c \
@@ -39,6 +37,7 @@ krb5src = \
        krb5/delete_sec_context.c \
        krb5/display_name.c \
        krb5/display_status.c \
+       krb5/duplicate_cred.c \
        krb5/duplicate_name.c \
        krb5/encapsulate.c \
        krb5/export_name.c \
@@ -46,7 +45,7 @@ krb5src = \
        krb5/external.c \
        krb5/get_mic.c \
        krb5/gsskrb5_locl.h \
-       krb5/gsskrb5-private.h \
+       $(srcdir)/krb5/gsskrb5-private.h \
        krb5/import_name.c \
        krb5/import_sec_context.c \
        krb5/indicate_mechs.c \
@@ -59,6 +58,7 @@ krb5src = \
        krb5/inquire_mechs_for_name.c \
        krb5/inquire_names_for_mech.c \
        krb5/inquire_sec_context_by_oid.c \
+       krb5/pname_to_uid.c \
        krb5/process_context_token.c \
        krb5/prf.c \
        krb5/release_buffer.c \
@@ -70,6 +70,7 @@ krb5src = \
        krb5/set_sec_context_option.c \
        krb5/ticket_flags.c \
        krb5/unwrap.c \
+       krb5/authorize_localname.c \
        krb5/verify_mic.c \
        krb5/wrap.c
 
@@ -77,10 +78,16 @@ mechsrc = \
        mech/context.h \
        mech/context.c \
        mech/cred.h \
+       mech/cred.c \
+       mech/compat.h \
        mech/doxygen.c \
        mech/gss_accept_sec_context.c \
        mech/gss_acquire_cred.c \
+       mech/gss_acquire_cred_from.c \
+       mech/gss_acquire_cred_with_password.c \
        mech/gss_add_cred.c \
+       mech/gss_add_cred_from.c \
+       mech/gss_add_cred_with_password.c \
        mech/gss_add_oid_set_member.c \
        mech/gss_aeap.c \
        mech/gss_buffer_set.c \
@@ -90,15 +97,23 @@ mechsrc = \
        mech/gss_create_empty_oid_set.c \
        mech/gss_cred.c \
        mech/gss_decapsulate_token.c \
+       mech/gss_delete_name_attribute.c \
        mech/gss_delete_sec_context.c \
+       mech/gss_destroy_cred.c \
        mech/gss_display_name.c \
+       mech/gss_display_name_ext.c \
        mech/gss_display_status.c \
+       mech/gss_duplicate_cred.c \
        mech/gss_duplicate_name.c \
        mech/gss_duplicate_oid.c \
+       mech/gss_duplicate_oid_set.c \
        mech/gss_encapsulate_token.c \
        mech/gss_export_name.c \
+       mech/gss_export_name_composite.c \
        mech/gss_export_sec_context.c \
        mech/gss_get_mic.c \
+       mech/gss_get_neg_mechs.c \
+       mech/gss_get_name_attribute.c \
        mech/gss_import_name.c \
        mech/gss_import_sec_context.c \
        mech/gss_indicate_mechs.c \
@@ -108,12 +123,16 @@ mechsrc = \
        mech/gss_inquire_cred_by_mech.c \
        mech/gss_inquire_cred_by_oid.c \
        mech/gss_inquire_mechs_for_name.c \
+       mech/gss_inquire_name.c \
        mech/gss_inquire_names_for_mech.c \
        mech/gss_krb5.c \
        mech/gss_mech_switch.c \
+       mech/gss_mo.c \
        mech/gss_names.c \
+       mech/gss_oid.c \
        mech/gss_oid_equal.c \
        mech/gss_oid_to_str.c \
+       mech/gss_pname_to_uid.c \
        mech/gss_process_context_token.c \
        mech/gss_pseudo_random.c \
        mech/gss_release_buffer.c \
@@ -121,22 +140,29 @@ mechsrc = \
        mech/gss_release_name.c \
        mech/gss_release_oid.c \
        mech/gss_release_oid_set.c \
+       mech/gss_rfc4121.c \
        mech/gss_seal.c \
        mech/gss_set_cred_option.c \
+       mech/gss_set_name_attribute.c \
+       mech/gss_set_neg_mechs.c \
        mech/gss_set_sec_context_option.c \
        mech/gss_sign.c \
        mech/gss_store_cred.c \
+       mech/gss_store_cred_into.c \
        mech/gss_test_oid_set_member.c \
        mech/gss_unseal.c \
        mech/gss_unwrap.c \
+       mech/gss_authorize_localname.c \
        mech/gss_utils.c \
        mech/gss_verify.c \
        mech/gss_verify_mic.c \
        mech/gss_wrap.c \
        mech/gss_wrap_size_limit.c \
        mech/gss_inquire_sec_context_by_oid.c \
+       mech/gssspi_exchange_meta_data.c \
+       mech/gssspi_query_mechanism_info.c \
+       mech/gssspi_query_meta_data.c \
        mech/mech_switch.h \
-       mech/mechqueue.h \
        mech/mech_locl.h \
        mech/name.h \
        mech/utils.h
@@ -148,8 +174,11 @@ spnegosrc = \
        spnego/cred_stubs.c \
        spnego/external.c \
        spnego/init_sec_context.c \
+       spnego/negoex_ctx.c \
+       spnego/negoex_util.c \
        spnego/spnego_locl.h \
-       spnego/spnego-private.h
+       spnego/negoex_locl.h \
+       $(srcdir)/spnego/spnego-private.h
 
 ntlmsrc = \
        ntlm/accept_sec_context.c \
@@ -158,6 +187,7 @@ ntlmsrc = \
        ntlm/canonicalize_name.c \
        ntlm/compare_name.c \
        ntlm/context_time.c \
+       ntlm/creds.c \
        ntlm/crypto.c \
        ntlm/delete_sec_context.c \
        ntlm/display_name.c \
@@ -167,22 +197,23 @@ ntlmsrc = \
        ntlm/export_sec_context.c \
        ntlm/external.c \
        ntlm/ntlm.h \
-       ntlm/ntlm-private.h \
        ntlm/import_name.c \
        ntlm/import_sec_context.c \
        ntlm/indicate_mechs.c \
        ntlm/init_sec_context.c \
        ntlm/inquire_context.c \
-       ntlm/inquire_cred.c \
        ntlm/inquire_cred_by_mech.c \
        ntlm/inquire_mechs_for_name.c \
        ntlm/inquire_names_for_mech.c \
+       ntlm/inquire_sec_context_by_oid.c \
+       ntlm/iter_cred.c \
        ntlm/process_context_token.c \
        ntlm/release_cred.c \
        ntlm/release_name.c \
+       ntlm/set_sec_context_option.c \
        ntlm/kdc.c
 
-$(srcdir)/ntlm/ntlm-private.h:
+$(srcdir)/ntlm/ntlm-private.h: $(ntlmsrc)
        cd $(srcdir) && perl ../../cf/make-proto.pl -q -P comment -p ntlm/ntlm-private.h $(ntlmsrc) || rm -f ntlm/ntlm-private.h
 
 dist_libgssapi_la_SOURCES  = \
@@ -194,9 +225,13 @@ dist_libgssapi_la_SOURCES  = \
 nodist_libgssapi_la_SOURCES  = \
        gkrb5_err.c \
        gkrb5_err.h \
+       negoex_err.c \
+       negoex_err.h \
        $(BUILT_SOURCES)
 
-libgssapi_la_LDFLAGS = -version-info 2:0:0
+libgssapi_la_DEPENDENCIES = version-script.map
+
+libgssapi_la_LDFLAGS = -version-info 3:0:0
 
 if versionscript
 libgssapi_la_LDFLAGS += $(LDFLAGS_VERSION_SCRIPT)$(srcdir)/version-script.map
@@ -210,22 +245,25 @@ libgssapi_la_LIBADD = \
        $(LIB_hcrypto) \
        $(LIBADD_roken)
 
-man_MANS = gssapi.3 gss_acquire_cred.3 mech/mech.5
+man_MANS = gssapi.3 gss_acquire_cred.3 mech/mech.5 gss-token.1
 
 include_HEADERS = gssapi.h
 noinst_HEADERS = \
+       gssapi_asn1.h \
        gssapi_mech.h \
-       ntlm/ntlm-private.h \
-       spnego/spnego-private.h \
-       krb5/gsskrb5-private.h
+       $(srcdir)/ntlm/ntlm-private.h \
+       $(srcdir)/spnego/spnego-private.h \
+       $(srcdir)/krb5/gsskrb5-private.h
+
 nobase_include_HEADERS = \
        gssapi/gssapi.h \
        gssapi/gssapi_krb5.h \
        gssapi/gssapi_ntlm.h \
+       gssapi/gssapi_oid.h \
        gssapi/gssapi_spnego.h
 
 gssapidir = $(includedir)/gssapi
-nodist_gssapi_HEADERS = gkrb5_err.h
+nodist_gssapi_HEADERS = gkrb5_err.h negoex_err.h
 
 gssapi_files = asn1_GSSAPIContextToken.x
 
@@ -234,11 +272,12 @@ spnego_files =                                    \
        asn1_MechType.x                         \
        asn1_MechTypeList.x                     \
        asn1_NegotiationToken.x                 \
-       asn1_NegotiationTokenWin.x              \
+       asn1_NegotiationToken2.x                \
        asn1_NegHints.x                         \
        asn1_NegTokenInit.x                     \
-       asn1_NegTokenInitWin.x                  \
-       asn1_NegTokenResp.x
+       asn1_NegTokenInit2.x                    \
+       asn1_NegTokenResp.x                     \
+       asn1_NegStateEnum.x
 
 BUILTHEADERS = \
        $(srcdir)/krb5/gsskrb5-private.h \
@@ -252,19 +291,23 @@ $(libgssapi_la_OBJECTS): $(srcdir)/version-script.map
 
 BUILT_SOURCES = $(spnego_files:.x=.c) $(gssapi_files:.x=.c)
 
+$(libgssapi_la_OBJECTS): gkrb5_err.h negoex_err.h
+gkrb5_err.h: $(srcdir)/krb5/gkrb5_err.et
+negoex_err.h: $(srcdir)/spnego/negoex_err.et
+
 CLEANFILES = $(BUILT_SOURCES) \
-       gkrb5_err.h gkrb5_err.c \
-       $(spnego_files) spnego_asn1.h* spnego_asn1_files \
-       $(gssapi_files) gssapi_asn1.h* gssapi_asn1_files \
+       gkrb5_err.[ch] negoex_err.[ch] \
+       $(spnego_files) spnego_asn1*.h* spnego_asn1_files spnego_asn1-template.[cx] \
+       $(gssapi_files) gssapi_asn1*.h* gssapi_asn1_files gssapi_asn1-template.[cx] \
        gss-commands.h gss-commands.c
 
-$(spnego_files) spnego_asn1.hx: spnego_asn1_files
-$(gssapi_files) gssapi_asn1.hx: gssapi_asn1_files
+$(spnego_files) spnego_asn1.hx spnego_asn1-priv.hx: spnego_asn1_files
+$(gssapi_files) gssapi_asn1.hx gssapi_asn1-priv.hx: gssapi_asn1_files
 
-spnego_asn1_files: ../asn1/asn1_compile$(EXEEXT) $(srcdir)/spnego/spnego.asn1 $(srcdir)/spnego/spnego.opt
+spnego_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/spnego/spnego.asn1 $(srcdir)/spnego/spnego.opt
        $(ASN1_COMPILE) --option-file=$(srcdir)/spnego/spnego.opt $(srcdir)/spnego/spnego.asn1 spnego_asn1
 
-gssapi_asn1_files: ../asn1/asn1_compile$(EXEEXT) $(srcdir)/mech/gssapi.asn1
+gssapi_asn1_files: $(ASN1_COMPILE_DEP) $(srcdir)/mech/gssapi.asn1
        $(ASN1_COMPILE) $(srcdir)/mech/gssapi.asn1 gssapi_asn1
 
 $(srcdir)/krb5/gsskrb5-private.h:
@@ -281,13 +324,15 @@ test_cfx_SOURCES = krb5/test_cfx.c
 
 check_PROGRAMS = test_acquire_cred $(TESTS)
 
-bin_PROGRAMS = gss
-noinst_PROGRAMS = test_cred test_kcred test_context test_ntlm
+bin_PROGRAMS = gsstool gss-token
+noinst_PROGRAMS = test_cred test_kcred test_context test_ntlm test_add_store_cred
 
 test_context_SOURCES = test_context.c test_common.c test_common.h
 test_ntlm_SOURCES = test_ntlm.c test_common.c test_common.h
 test_acquire_cred_SOURCES = test_acquire_cred.c test_common.c test_common.h
 
+test_add_store_cred_SOURCES = test_add_store_cred.c
+
 test_ntlm_LDADD = \
        $(top_builddir)/lib/ntlm/libheimntlm.la \
        $(LDADD)
@@ -298,32 +343,67 @@ LDADD = libgssapi.la \
 
 # gss
 
-dist_gss_SOURCES = gss.c
-nodist_gss_SOURCES = gss-commands.c gss-commands.h
+dist_gsstool_SOURCES = gsstool.c
+nodist_gsstool_SOURCES = gss-commands.c gss-commands.h
+dist_gss_token_SOURCES = gss-token.c
 
-gss_LDADD = libgssapi.la \
+gsstool_LDADD = libgssapi.la \
        $(top_builddir)/lib/sl/libsl.la \
        $(top_builddir)/lib/krb5/libkrb5.la \
        $(LIB_readline) \
        $(LIB_roken)
 
+gss_token_LDADD = libgssapi.la \
+       $(top_builddir)/lib/krb5/libkrb5.la \
+       $(LIB_roken)
+
 gss-commands.c gss-commands.h: gss-commands.in
        $(SLC) $(srcdir)/gss-commands.in
 
-$(gss_OBJECTS): gss-commands.h
+$(gsstool_OBJECTS): gss-commands.h
 
 EXTRA_DIST = \
+       NTMakefile \
+       libgssapi-version.rc \
+       libgssapi-exports.def \
        $(man_MANS) \
+       gen-oid.pl \
+       gssapi/gssapi_netlogon.h \
+       krb5/test_acquire_cred.c \
+       krb5/test_cred.c \
+       krb5/test_kcred.c \
+       krb5/test_oid.c \
+       oid.txt \
        krb5/gkrb5_err.et \
        mech/gssapi.asn1 \
        spnego/spnego.asn1 \
        spnego/spnego.opt \
+       spnego/negoex_err.et \
+       test_negoex_mech.c \
        version-script.map \
        gss-commands.in
 
-# to help stupid solaris make
-
-$(libgssapi_la_OBJECTS): gkrb5_err.h gssapi_asn1.h spnego_asn1.h
+$(libgssapi_la_OBJECTS): gkrb5_err.h gssapi_asn1.h gssapi_asn1-priv.h
+$(libgssapi_la_OBJECTS): spnego_asn1.h spnego_asn1-priv.h
+$(libgssapi_la_OBJECTS): $(srcdir)/gssapi/gssapi_oid.h
 
 gkrb5_err.h gkrb5_err.c: $(srcdir)/krb5/gkrb5_err.et
        $(COMPILE_ET) $(srcdir)/krb5/gkrb5_err.et
+
+negoex_err.h negoex_err.c: $(srcdir)/spnego/negoex_err.et
+       $(COMPILE_ET) $(srcdir)/spnego/negoex_err.et
+
+$(srcdir)/gssapi/gssapi_oid.h $(srcdir)/mech/gss_oid.c:
+       perl $(srcdir)/gen-oid.pl -b base -h $(srcdir)/oid.txt > $(srcdir)/gssapi/gssapi_oid.h
+       perl $(srcdir)/gen-oid.pl -b base $(srcdir)/oid.txt > $(srcdir)/mech/gss_oid.c
+
+#
+# NegoEx test mechanism, uses decode_GSSAPIContextToken
+#
+
+test_negoex_mech_la_SOURCES = test_negoex_mech.c $(gssapi_files:.x=.c)
+test_negoex_mech_la_LDFLAGS = -module
+test_negoex_mech_la_LIBADD = \
+       $(top_builddir)/lib/asn1/libasn1.la \
+       libgssapi.la
+